{"version":3,"file":"Multiselect_Dropdown.VT_YcxSl.mjs","names":["useState","useRef"],"sources":["https:/framerusercontent.com/modules/H4Gaiy1iFlcku1psgp4K/JZMe3kTpnfNd4nfmVULb/Multiselect_Dropdown.js"],"sourcesContent":["// Multi-Select Dropdown Component for Framer\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useEffect,useState,useRef}from\"react\";import{addPropertyControls,ControlType}from\"framer\";/**\n * @framerDisableUnlink\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight auto\n */export default function MultiSelectDropdown_v3(props){const{fieldStyling:{fieldBackgroundColor,fieldTextColor,borderRadius,borderColor,fieldHeight,fieldFocusBorderColor,fieldErrorBorderColor}={},fieldFont,dropdownStyling:{dropdownBackgroundColor,dropdownTextColor,dropdownPaddingTopBottom,dropdownPaddingLeftRight,dropdownMaxHeight,dropdownItemGap}={},dropdownFont,checkboxStyling:{checkboxBorderColor,checkboxBorderWidth,checkboxBorderRadius,checkIconColor}={},selectedItemStyling:{selectedItemBackgroundColor,selectedItemBorderRadius,selectedItemBorderColor,selectedItemBorderWidth,selectedItemFontSize,selectedItemPadding}={},otherFieldStyling:{otherFieldBackgroundColor,otherFieldTextColor,otherFieldBorderColor,otherFieldBorderRadius,otherFieldBorderWidth}={},otherFieldFont,selectedOptionTextColor,displayAsPills,name,options,placeholder,width=\"100%\",onChange,formValue,enableOtherInput,otherInputPlaceholder,required=false}=props;const[isOpen,setIsOpen]=useState(false);const[selectedItems,setSelectedItems]=useState([]);const[otherText,setOtherText]=useState(\"\");const[hasValidationError,setHasValidationError]=useState(false);const[showErrorTooltip,setShowErrorTooltip]=useState(false);const dropdownRef=useRef(null);const fieldRef=useRef(null);const optionsList=options.split(\",\").map(option=>option.trim()).filter(Boolean);// Validation function\nconst validateRequired=()=>{if(!required)return true;const hasSelection=selectedItems.length>0;const hasOtherWithText=selectedItems.includes(\"Other\")&&otherText.trim();const hasNonOtherSelection=selectedItems.some(item=>item!==\"Other\");return hasNonOtherSelection||hasOtherWithText;};// Custom validity check for HTML5 form validation\nuseEffect(()=>{if(fieldRef.current&&required){const hiddenInput=fieldRef.current.querySelector('input[type=\"hidden\"]');if(hiddenInput){const isValid=validateRequired();if(isValid){hiddenInput.setCustomValidity(\"\");setHasValidationError(false);}else{hiddenInput.setCustomValidity(\"Please select at least one option\");}// Trigger validation check\nhiddenInput.reportValidity();}}},[selectedItems,otherText,required]);// Enhanced form submission prevention\nuseEffect(()=>{if(!required||!fieldRef.current)return;const form=fieldRef.current.closest(\"form\");if(!form)return;const handleFormSubmit=e=>{const isValid=validateRequired();if(!isValid){setHasValidationError(true);setShowErrorTooltip(true);e.preventDefault();e.stopPropagation();e.stopImmediatePropagation();// Focus the field to draw attention\nif(fieldRef.current){fieldRef.current.scrollIntoView({behavior:\"smooth\",block:\"center\"});}// Hide tooltip after 3 seconds\nsetTimeout(()=>{setShowErrorTooltip(false);},3e3);// Also prevent any other submit handlers\nObject.defineProperty(e,\"defaultPrevented\",{get:()=>true,configurable:true});return false;}setHasValidationError(false);setShowErrorTooltip(false);return true;};const handleInvalid=e=>{if(e.target.name===name||e.target===fieldRef.current?.querySelector('input[type=\"hidden\"]')){setHasValidationError(true);setShowErrorTooltip(true);e.preventDefault();e.stopPropagation();// Hide tooltip after 3 seconds\nsetTimeout(()=>{setShowErrorTooltip(false);},3e3);}};// Add multiple event listeners to catch different submission methods\nform.addEventListener(\"submit\",handleFormSubmit,true)// Capture phase\n;form.addEventListener(\"submit\",handleFormSubmit,false)// Bubble phase\n;form.addEventListener(\"invalid\",handleInvalid,true);// Also listen on the document for any programmatic submissions\nconst documentSubmitHandler=e=>{if(e.target===form){handleFormSubmit(e);}};document.addEventListener(\"submit\",documentSubmitHandler,true);return()=>{form.removeEventListener(\"submit\",handleFormSubmit,true);form.removeEventListener(\"submit\",handleFormSubmit,false);form.removeEventListener(\"invalid\",handleInvalid,true);document.removeEventListener(\"submit\",documentSubmitHandler,true);};},[required,name,selectedItems,otherText]);useEffect(()=>{const value=selectedItems.includes(\"Other\")&&otherText?[...selectedItems.filter(i=>i!==\"Other\"),`Other: ${otherText}`]:selectedItems;if(onChange){onChange(value.join(\", \"));}// Clear validation error when user makes a selection\nif(hasValidationError&&validateRequired()){setHasValidationError(false);setShowErrorTooltip(false);}},[selectedItems,otherText,onChange,hasValidationError]);useEffect(()=>{if(formValue&&typeof formValue===\"string\"){const initialValues=formValue.split(\",\").map(val=>val.trim());const otherEntry=initialValues.find(val=>val.startsWith(\"Other: \"));if(otherEntry){setOtherText(otherEntry.replace(\"Other: \",\"\"));setSelectedItems([...initialValues.filter(v=>v!==otherEntry),\"Other\"]);}else{setSelectedItems(initialValues.filter(val=>optionsList.includes(val)));}}},[formValue,optionsList]);useEffect(()=>{const handleClickOutside=event=>{if(isOpen&&dropdownRef.current&&fieldRef.current&&!dropdownRef.current.contains(event.target)&&!fieldRef.current.contains(event.target)){setIsOpen(false);}};document.addEventListener(\"mousedown\",handleClickOutside);return()=>{document.removeEventListener(\"mousedown\",handleClickOutside);};},[isOpen]);const toggleDropdown=()=>setIsOpen(!isOpen);const toggleOption=(option,e)=>{e.stopPropagation();if(selectedItems.includes(option)){setSelectedItems(selectedItems.filter(item=>item!==option));}else{setSelectedItems([...selectedItems,option]);}};const renderSelectedItems=()=>{if(selectedItems.length===0){return placeholder||\"Select options...\";}if(displayAsPills){return /*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",flexWrap:\"wrap\",gap:\"4px\",alignItems:\"center\"},children:selectedItems.map((item,index)=>/*#__PURE__*/_jsx(\"span\",{style:{backgroundColor:selectedItemBackgroundColor||\"rgba(0,0,0,0.1)\",color:selectedOptionTextColor||fieldTextColor,padding:selectedItemPadding||\"2px 8px\",borderRadius:selectedItemBorderRadius||12,fontSize:selectedItemFontSize||\"12px\",border:selectedItemBorderColor&&selectedItemBorderColor!==\"transparent\"?`${selectedItemBorderWidth||1}px solid ${selectedItemBorderColor}`:\"none\",whiteSpace:\"nowrap\"},children:item},index))});}return selectedItems.join(\", \");};const fieldContainerHeight=fieldHeight||40;// Determine border color based on state\nconst getCurrentBorderColor=()=>{if(hasValidationError){return fieldErrorBorderColor||\"#ef4444\";}if(isOpen){return fieldFocusBorderColor||borderColor;}return borderColor;};return /*#__PURE__*/_jsxs(\"div\",{style:{position:\"relative\",width,height:\"auto\"},children:[showErrorTooltip&&/*#__PURE__*/_jsxs(\"div\",{style:{position:\"absolute\",top:fieldContainerHeight+8,left:0,zIndex:1e4,backgroundColor:\"#ffffff\",border:\"1px solid #e1e5e9\",borderRadius:8,boxShadow:\"0 4px 12px rgba(0, 0, 0, 0.15)\",padding:\"8px 12px\",display:\"flex\",alignItems:\"center\",gap:8,fontSize:\"14px\",color:\"#333333\",whiteSpace:\"nowrap\",animation:\"fadeInTooltip 0.2s ease-out\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:20,height:20,backgroundColor:\"#ff8a00\",borderRadius:4,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flexShrink:0},children:/*#__PURE__*/_jsx(\"svg\",{width:\"14\",height:\"14\",viewBox:\"0 0 14 14\",fill:\"none\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M7 3V8M7 11H7.01\",stroke:\"white\",strokeWidth:\"2\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),\"Please fill out this field.\",/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-6,left:16,width:0,height:0,borderLeft:\"6px solid transparent\",borderRight:\"6px solid transparent\",borderBottom:\"6px solid #ffffff\"}}),/*#__PURE__*/_jsx(\"div\",{style:{position:\"absolute\",top:-7,left:16,width:0,height:0,borderLeft:\"6px solid transparent\",borderRight:\"6px solid transparent\",borderBottom:\"6px solid #e1e5e9\"}})]}),/*#__PURE__*/_jsx(\"style\",{children:`\n                @keyframes fadeInTooltip {\n                    from {\n                        opacity: 0;\n                        transform: translateY(-4px);\n                    }\n                    to {\n                        opacity: 1;\n                        transform: translateY(0);\n                    }\n                }\n                `}),/*#__PURE__*/_jsxs(\"div\",{ref:fieldRef,style:{width:\"100%\",height:fieldContainerHeight,backgroundColor:fieldBackgroundColor,color:fieldTextColor,borderRadius,border:`1px solid ${getCurrentBorderColor()}`,display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:\"0 12px\",boxSizing:\"border-box\",cursor:\"pointer\",overflow:\"hidden\",whiteSpace:\"nowrap\",textOverflow:\"ellipsis\",...fieldFont,position:\"relative\"},onClick:toggleDropdown,children:[/*#__PURE__*/_jsx(\"div\",{style:{overflow:\"hidden\",textOverflow:\"ellipsis\",whiteSpace:\"nowrap\",flex:1,color:selectedItems.length>0?selectedOptionTextColor||fieldTextColor:fieldTextColor},children:renderSelectedItems()}),/*#__PURE__*/_jsx(\"svg\",{width:\"10\",height:\"6\",viewBox:\"0 0 10 6\",style:{marginLeft:8,transform:isOpen?\"rotate(180deg)\":\"rotate(0deg)\",transition:\"transform 0.2s ease\"},children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 1L5 5L9 1\",stroke:fieldTextColor,strokeWidth:\"1.5\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})}),/*#__PURE__*/_jsx(\"input\",{type:\"hidden\",name:name,required:required,value:selectedItems.includes(\"Other\")&&otherText?[...selectedItems.filter(i=>i!==\"Other\"),`Other: ${otherText}`].join(\",\"):selectedItems.join(\",\"),onChange:()=>{},onInvalid:e=>{if(required&&!validateRequired()){setHasValidationError(true);e.preventDefault();}}})]}),isOpen&&/*#__PURE__*/_jsxs(\"div\",{ref:dropdownRef,style:{position:\"absolute\",top:fieldContainerHeight+4,left:0,width:\"100%\",backgroundColor:dropdownBackgroundColor||fieldBackgroundColor,borderRadius,boxShadow:\"0 4px 12px rgba(0,0,0,0.15)\",maxHeight:dropdownMaxHeight||200,overflowY:\"auto\",zIndex:1e3,...dropdownFont,border:`1px solid ${borderColor}`,padding:`${dropdownPaddingTopBottom||8}px ${dropdownPaddingLeftRight||12}px`,boxSizing:\"border-box\"},children:[optionsList.map((option,index)=>/*#__PURE__*/_jsxs(\"div\",{style:{padding:\"8px\",color:dropdownTextColor,cursor:\"pointer\",backgroundColor:selectedItems.includes(option)?selectedItemBackgroundColor||\"rgba(0,0,0,0.05)\":\"transparent\",borderRadius:selectedItems.includes(option)?selectedItemBorderRadius||0:0,border:selectedItems.includes(option)&&selectedItemBorderColor?`${selectedItemBorderWidth||1}px solid ${selectedItemBorderColor}`:\"none\",display:\"flex\",alignItems:\"center\",marginBottom:dropdownItemGap||\"2px\"},onClick:e=>toggleOption(option,e),onMouseDown:e=>e.preventDefault(),children:[/*#__PURE__*/_jsx(\"div\",{style:{width:16,height:16,border:`${checkboxBorderWidth||1.5}px solid ${checkboxBorderColor||dropdownTextColor}`,borderRadius:checkboxBorderRadius||3,marginRight:8,display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:selectedItems.includes(option)&&/*#__PURE__*/_jsx(\"svg\",{width:\"10\",height:\"8\",viewBox:\"0 0 10 8\",children:/*#__PURE__*/_jsx(\"path\",{d:\"M1 4L3.5 6.5L9 1\",stroke:checkIconColor||dropdownTextColor,strokeWidth:\"1.5\",fill:\"none\",strokeLinecap:\"round\",strokeLinejoin:\"round\"})})}),option]},index)),selectedItems.includes(\"Other\")&&enableOtherInput&&/*#__PURE__*/_jsx(\"div\",{style:{marginTop:8},children:/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:otherInputPlaceholder||\"Please specify...\",value:otherText,onChange:e=>setOtherText(e.target.value),style:{width:\"100%\",padding:\"8px 12px\",backgroundColor:otherFieldBackgroundColor||\"#ffffff\",color:otherFieldTextColor||fieldTextColor,border:`${otherFieldBorderWidth||1}px solid ${otherFieldBorderColor||borderColor}`,borderRadius:otherFieldBorderRadius||borderRadius,boxSizing:\"border-box\",...otherFieldFont}})})]}),selectedItems.includes(\"Other\")&&enableOtherInput&&/*#__PURE__*/_jsx(\"input\",{type:\"text\",placeholder:\"Please specify...\",value:otherText,onChange:e=>setOtherText(e.target.value),style:{marginTop:8,width:\"100%\",padding:\"8px 12px\",backgroundColor:otherFieldBackgroundColor||\"#ffffff\",color:otherFieldTextColor||fieldTextColor,border:`${otherFieldBorderWidth||1}px solid ${otherFieldBorderColor||borderColor}`,borderRadius:otherFieldBorderRadius||borderRadius,boxSizing:\"border-box\",...otherFieldFont}})]});}addPropertyControls(MultiSelectDropdown_v3,{options:{type:ControlType.String,title:\"Options\",defaultValue:\"Option 1, Option 2, Other\",description:\"Comma-separated list of options. Add 'other' to list to enable text field for Other input\"},placeholder:{type:ControlType.String,title:\"Placeholder\",defaultValue:\"Select options...\"},displayAsPills:{type:ControlType.Boolean,title:\"Display as Pills\",defaultValue:false,enabledTitle:\"Pills\",disabledTitle:\"Text\"},name:{type:ControlType.String,title:\"Field Name\",defaultValue:\"multiselect\"},required:{type:ControlType.Boolean,title:\"Required\",defaultValue:false,enabledTitle:\"Yes\",disabledTitle:\"No\",description:\"Prevents form submission if no option is selected\"},selectedOptionTextColor:{type:ControlType.Color,title:\"Selected Text Color\",defaultValue:\"#000000\"},enableOtherInput:{type:ControlType.Boolean,title:'Enable \"Other\" Input',defaultValue:false,hidden(props){return!props.options?.includes(\"Other\");},description:\"Enables or disables text field input\"},otherInputPlaceholder:{type:ControlType.String,title:'\"Other\" Placeholder',defaultValue:\"Please specify...\",hidden(props){return!props.options?.includes(\"Other\")||!props.enableOtherInput;}},fieldStyling:{type:ControlType.Object,title:\"Field Styling\",controls:{fieldBackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#ffffff\"},fieldTextColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#333333\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:6},borderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#dddddd\"},fieldFocusBorderColor:{type:ControlType.Color,title:\"Focus Border Color\",defaultValue:\"#888888\"},fieldErrorBorderColor:{type:ControlType.Color,title:\"Error Border Color\",defaultValue:\"#ef4444\",description:\"Border color when validation fails\"},fieldHeight:{type:ControlType.Number,title:\"Field Height\",defaultValue:40,min:20,max:100}}},fieldFont:{type:ControlType.Font,title:\"Field Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},dropdownStyling:{type:ControlType.Object,title:\"Dropdown Styling\",controls:{dropdownBackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#ffffff\"},dropdownTextColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#333333\"},dropdownPaddingTopBottom:{type:ControlType.Number,title:\"Padding Top/Bottom\",defaultValue:8},dropdownPaddingLeftRight:{type:ControlType.Number,title:\"Padding Left/Right\",defaultValue:12},dropdownMaxHeight:{type:ControlType.Number,title:\"Max Height\",defaultValue:200,min:50,max:800},dropdownItemGap:{type:ControlType.Number,title:\"Item Gap\",defaultValue:2,min:0,max:20,unit:\"px\"}}},dropdownFont:{type:ControlType.Font,title:\"Dropdown Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},checkboxStyling:{type:ControlType.Object,title:\"Checkbox Styling\",controls:{checkboxBorderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#333333\"},checkboxBorderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:1.5,min:0,max:5},checkboxBorderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:3,min:0,max:10},checkIconColor:{type:ControlType.Color,title:\"Check Icon Color\",defaultValue:\"#333333\"}}},selectedItemStyling:{type:ControlType.Object,title:\"Selected Item Styling\",controls:{selectedItemBackgroundColor:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"rgba(0,0,0,0.05)\"},selectedItemBorderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:4,min:0,max:20},selectedItemBorderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"transparent\"},selectedItemBorderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:1,min:0,max:5},selectedItemFontSize:{type:ControlType.Number,title:\"Font Size\",defaultValue:12,min:8,max:24,unit:\"px\"},selectedItemPadding:{type:ControlType.String,title:\"Padding\",defaultValue:\"2px 8px\",description:\"e.g., '4px 12px' for top/bottom left/right\"}}},otherFieldStyling:{type:ControlType.Object,title:\"Other Field Styling\",controls:{otherFieldBackgroundColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#ffffff\"},otherFieldTextColor:{type:ControlType.Color,title:\"Text Color\",defaultValue:\"#333333\"},otherFieldBorderColor:{type:ControlType.Color,title:\"Border Color\",defaultValue:\"#dddddd\"},otherFieldBorderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:6},otherFieldBorderWidth:{type:ControlType.Number,title:\"Border Width\",defaultValue:1,min:0,max:5}},hidden(props){return!props.options?.includes(\"Other\")||!props.enableOtherInput;}},otherFieldFont:{type:ControlType.Font,title:\"Other Field Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"-0.01em\",lineHeight:\"1em\"},controls:\"extended\",defaultFontType:\"sans-serif\",hidden(props){return!props.options?.includes(\"Other\")||!props.enableOtherInput;}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MultiSelectDropdown_v3\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"* @framerSupportedLayoutWidth any-prefer-fixed\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Multiselect_Dropdown.map"],"mappings":"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"}