@vibe/core 3.44.4-alpha-9c901.0 → 3.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Dropdown/Dropdown.types.d.ts +1 -0
- package/dist/mocked_classnames/components/Dropdown/Dropdown.types.d.ts +1 -0
- package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.js +1 -1
- package/dist/mocked_classnames/src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.js.map +1 -1
- package/dist/src/components/Dropdown/Dropdown.js +1 -1
- package/dist/src/components/Dropdown/Dropdown.js.map +1 -1
- package/dist/src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.js +1 -1
- package/dist/src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.js.map +1 -1
- package/package.json +2 -2
|
@@ -313,6 +313,7 @@ export interface DropdownComponentProps extends CustomMenuBaseProps, CustomOptio
|
|
|
313
313
|
* If true, displays dividers between grouped options.
|
|
314
314
|
*/
|
|
315
315
|
withGroupDivider?: boolean;
|
|
316
|
+
multiValueDialogClassName?: string;
|
|
316
317
|
}
|
|
317
318
|
export type DropdownProps = DropdownComponentProps;
|
|
318
319
|
export type DropdownChipColors = "primary" | "negative" | "positive";
|
|
@@ -313,6 +313,7 @@ export interface DropdownComponentProps extends CustomMenuBaseProps, CustomOptio
|
|
|
313
313
|
* If true, displays dividers between grouped options.
|
|
314
314
|
*/
|
|
315
315
|
withGroupDivider?: boolean;
|
|
316
|
+
multiValueDialogClassName?: string;
|
|
316
317
|
}
|
|
317
318
|
export type DropdownProps = DropdownComponentProps;
|
|
318
319
|
export type DropdownChipColors = "primary" | "negative" | "positive";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e,defineProperty as n,toConsumableArray as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{getTestId as t,ComponentDefaultTestId as r}from"../../tests/testIds.js";import i from"classnames";import{BaseSizes as a}from"../../constants/sizes.js";import s,{forwardRef as l,useRef as u,useContext as c,useMemo as d,useState as p,useEffect as m,useCallback as f}from"react";import v,{createFilter as O,components as b}from"react-select";import g from"react-select/async";import j from"react-select/base";import{noop as C}from"lodash-es";import y from"./components/menu/menu.js";import M from"./components/DropdownIndicator/DropdownIndicator.js";import h from"./components/option/option.js";import w from"./components/singleValue/singleValue.js";import S from"./components/ClearIndicator/ClearIndicator.js";import I from"./components/MultiValueContainer/MultiValueContainer.js";import{isClient as D}from"../../utils/ssr-utils.js";import{DROPDOWN_CHIP_COLORS as
|
|
1
|
+
import{slicedToArray as e,defineProperty as n,toConsumableArray as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{getTestId as t,ComponentDefaultTestId as r}from"../../tests/testIds.js";import i from"classnames";import{BaseSizes as a}from"../../constants/sizes.js";import s,{forwardRef as l,useRef as u,useContext as c,useMemo as d,useState as p,useEffect as m,useCallback as f}from"react";import v,{createFilter as O,components as b}from"react-select";import g from"react-select/async";import j from"react-select/base";import{noop as C}from"lodash-es";import y from"./components/menu/menu.js";import M from"./components/DropdownIndicator/DropdownIndicator.js";import h from"./components/option/option.js";import w from"./components/singleValue/singleValue.js";import S from"./components/ClearIndicator/ClearIndicator.js";import I from"./components/MultiValueContainer/MultiValueContainer.js";import{isClient as D}from"../../utils/ssr-utils.js";import{DROPDOWN_CHIP_COLORS as V,DROPDOWN_MENU_PLACEMENT as P,DROPDOWN_MENU_POSITION as R,ADD_AUTO_HEIGHT_COMPONENTS as L,defaultCustomStyles as x,DROPDOWN_ID as E,DROPDOWN_MENU_ID as N,DROPDOWN_MENU_ARIA_LABEL as W,DROPDOWN_INPUT_ARIA_LABEL as A}from"./DropdownConstants.js";import T,{customTheme as z}from"./Dropdown.styles.js";import F from"./components/Control/Control.js";import B from"../Text/Text.js";import k from"./components/menu/menu.module.scss.js";import q from"./Dropdown.module.scss.js";import{withStaticProps as H}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import{ComponentVibeId as _}from"../../tests/constants.js";import G from"../LayerProvider/LayerContext.js";var K=H(l((function(a,l){var O=a.className,V=a.optionWrapperClassName,P=a.singleValueWrapperClassName,R=a.dropdownMenuWrapperClassName,H=a.placeholder,K=void 0===H?"":H,J=a.allowPlaceholderEllipsis,Q=a.disabled,U=void 0!==Q&&Q,X=a.readOnly,Y=void 0!==X&&X,Z=a.onMenuOpen,$=void 0===Z?C:Z,ee=a.onMenuClose,ne=void 0===ee?C:ee,oe=a.onFocus,te=void 0===oe?C:oe,re=a.onBlur,ie=void 0===re?C:re,ae=a.onScroll,se=void 0===ae?C:ae,le=a.onMenuScrollToBottom,ue=void 0===le?C:le,ce=a.onChange,de=void 0===ce?C:ce,pe=a.searchable,me=void 0===pe||pe,fe=a.captureMenuScroll,ve=void 0!==fe&&fe,Oe=a.options,be=void 0===Oe?[]:Oe,ge=a.defaultValue,je=a.value,Ce=a.noOptionsMessage,ye=a.openMenuOnFocus,Me=a.openMenuOnClick,he=a.clearable,we=void 0===he||he,Se=a.OptionRenderer,Ie=a.optionRenderer,De=a.ValueRenderer,Ve=a.valueRenderer,Pe=a.menuRenderer,Re=a.menuPlacement,Le=void 0===Re?"bottom":Re,xe=a.rtl,Ee=a.size,Ne=void 0===Ee?"medium":Ee,We=a.asyncOptions,Ae=a.cacheOptions,Te=a.defaultOptions,ze=a.isVirtualized,Fe=a.menuPortalTarget,Be=a.extraStyles,ke=void 0===Be?x:Be,qe=a.maxMenuHeight,He=a.menuIsOpen,_e=a.tabIndex,Ge=void 0===_e?"0":_e,Ke=a.id,Je=void 0===Ke?E:Ke,Qe=a.menuId,Ue=void 0===Qe?N:Qe,Xe=a.menuAriaLabel,Ye=void 0===Xe?W:Xe,Ze=a.inputAriaLabel,$e=void 0===Ze?A:Ze,en=a.autoFocus,nn=void 0!==en&&en,on=a.multi,tn=void 0!==on&&on,rn=a.multiline,an=void 0!==rn&&rn,sn=a.onOptionRemove,ln=a.onOptionSelect,un=a.onClear,cn=a.onInputChange,dn=void 0===cn?C:cn,pn=a.closeMenuOnSelect,mn=void 0===pn?!tn:pn,fn=a.closeMenuOnScroll,vn=void 0!==fn&&fn,On=a.withMandatoryDefaultOptions,bn=void 0!==On&&On,gn=a.isOptionSelected,jn=a.insideOverflowContainer,Cn=void 0!==jn&&jn,yn=a.insideOverflowWithTransformContainer,Mn=void 0!==yn&&yn,hn=a.insideLayerContext,wn=void 0!==hn&&hn,Sn=a.tooltipContent,In=void 0===Sn?"":Sn,Dn=a.onKeyDown,Vn=void 0===Dn?C:Dn,Pn=a.isLoading,Rn=void 0!==Pn&&Pn,Ln=a.loadingMessage,xn=a.ariaLabel,En=a.tabSelectsValue,Nn=void 0===En||En,Wn=a.popupsContainerSelector,An=a.filterOption,Tn=a.menuPosition,zn=void 0===Tn?"absolute":Tn,Fn=a["data-testid"],Bn=a.withGroupDivider,kn=void 0!==Bn&&Bn,qn=a.inputValue,Hn=a.blurInputOnSelect,_n=a.multiValueDialogClassName,Gn=u(),Kn=c(G).layerRef,Jn=wn&&(null==Kn?void 0:Kn.current)||Fe||Wn&&document.querySelector(Wn),Qn=d((function(){return ge?Array.isArray(ge)?ge.map((function(e){return Object.assign(Object.assign({},e),{isMandatory:!0})})):Object.assign(Object.assign({},ge),{isMandatory:!0}):ge}),[ge]);j.prototype.renderLiveRegion=function(){return null};var Un=p(null),Xn=e(Un,2),Yn=Xn[0],Zn=Xn[1];m((function(){D()&&(!function(){try{return"function"==typeof require&&"undefined"!=typeof module&&"undefined"!=typeof process&&"test"===process.env.NODE_ENV}catch(e){return!1}}()?import("react-windowed-select").then((function(e){Zn((function(){return e.WindowedMenuList}))})):Zn((function(){return require("react-windowed-select").WindowedMenuList})))}),[]);var $n=p(Qn||[]),eo=e($n,2),no=eo[0],oo=eo[1],to=p(""),ro=e(to,2),io=ro[0],ao=ro[1],so=Ie||Se,lo=Ve||De,uo=!!je,co=null!=je?je:no,po=d((function(){return Array.isArray(co)?co.reduce((function(e,o){return Object.assign(Object.assign({},e),n({},o.value,o))}),{}):{}}),[co]),mo=d((function(){return xn||"".concat(Y?"Readonly ":""," ").concat(In," ").concat(Array.isArray(co)?"Selected: ".concat(co.map((function(e){return e.label})).join(", ")):"Select")}),[xn,Y,co,In]),fo=tn?co:je,vo=d((function(){var o=T({size:Ne,rtl:xe,insideOverflowContainer:Cn,controlRef:Gn,insideOverflowWithTransformContainer:Mn,withGroupDivider:kn,searchable:me,allowPlaceholderEllipsis:J}),t=ke(o),r=Object.entries(t).reduce((function(t,r){var i=e(r,2),a=i[0],s=i[1];return Object.assign(Object.assign({},t),n({},a,(function(e,n){var t=o[a],r=t?t(e,n):e;return s(r,n)})))}),{});if(tn){an&&L.forEach((function(e){var n=r[e];r[e]=function(e,o){return Object.assign(Object.assign({},n(e,o)),{height:"auto"})}}));var i=r.valueContainer;r.valueContainer=function(e,n){return Object.assign(Object.assign({},i(e,n)),{paddingLeft:6})}}return r}),[Ne,xe,Cn,Mn,J,ke,tn,an]),Oo=f((function(e){return s.createElement(y,Object.assign({},e,{id:Ue,ariaLabel:Ye,Renderer:Pe,dropdownMenuWrapperClassName:R,onScroll:se}))}),[R,Pe,Ue,Ye,se]),bo=f((function(e){return s.createElement(M,Object.assign({},e,{size:Ne}))}),[Ne]),go=f((function(e){return s.createElement(h,Object.assign({setFocusedOptionId:ao},e,{Renderer:so,optionWrapperClassName:V}))}),[so,V,ao]),jo=f((function(e){var n=e.selectProps,o=n.focusedOptionId,t=n.menuIsOpen;return s.createElement(b.Input,Object.assign({},e,{"aria-activedescendant":o&&t?o:"",role:"combobox","aria-expanded":!Y&&t,"aria-label":$e,"aria-controls":Ue,readOnly:!me||void 0}))}),[Ue,Y]),Co=f((function(e){return s.createElement(w,Object.assign({},e,{readOnly:Y,Renderer:lo,selectedOption:co[0],singleValueWrapperClassName:P}))}),[lo,Y,co,P]),yo=f((function(e){return s.createElement(S,Object.assign({},e,{size:Ne}))}),[Ne]),Mo=d((function(){return function(e,n){sn&&sn(po[e]);var o=Array.isArray(co)?co.filter((function(n){return n.value!==e})):co;de&&de(o,n),oo(o)}}),[de,sn,co,po]),ho=d((function(){return{selectedOptions:co,onSelectedDelete:Mo,isMultiline:an,insideOverflowContainer:Cn,insideOverflowWithTransformContainer:Mn,controlRef:Gn,tooltipContent:In,popupsContainerSelector:wn?null==Kn?void 0:Kn.current:Wn,size:Ne,dialogClassName:_n}}),[co,Mo,an,Cn,Mn,In,Kn,Wn,wn,Ne,_n]),wo=We?g:v;wo=wo.default||wo;var So=Object.assign({},We&&Object.assign({loadOptions:We,cacheOptions:Ae},Te&&{defaultOptions:Te})),Io=Object.assign(Object.assign({},!We&&{options:be}),tn&&{isMulti:!0}),Do=f((function(e){var n,o=e.target;return!(null===(n=null==o?void 0:o.parentElement)||void 0===n?void 0:n.classList.contains(k.dropdownMenuWrapper))&&(vn||Cn||Mn)}),[Cn,Mn,vn]),Vo=d((function(){return J?s.createElement(B,{type:"text2",color:"inherit"},K):K}),[J,K]);return s.createElement(wo,Object.assign({className:i(q.dropdown,O),selectProps:ho,components:Object.assign(Object.assign({DropdownIndicator:bo,Menu:Oo,ClearIndicator:yo,Input:jo,Option:go,Control:F,SingleValue:Co},tn&&{MultiValue:C,ValueContainer:I}),ze&&Yn&&{MenuList:Yn}),closeMenuOnScroll:Do,size:Ne,noOptionsMessage:Ce,placeholder:Vo,isDisabled:U,isClearable:!Y&&we,isSearchable:!Y,readOnly:Y,"aria-readonly":Y,"aria-label":mo,"aria-details":In,"aria-haspopup":"listbox",defaultValue:ge,value:fo,onMenuOpen:$,onMenuClose:ne,onFocus:te,onBlur:ie,onMenuScrollToBottom:ue,captureMenuScroll:ve,onChange:function(e,n){switch(de&&de(e,n),n.action){case"select-option":var t=tn?n.option:e;ln&&ln(t),uo||oo([].concat(o(co),[t]));break;case"clear":un&&un(),uo||oo(bn?Qn:[])}},onKeyDown:Vn,onInputChange:dn,openMenuOnFocus:ye,openMenuOnClick:Me,focusedOptionId:io,isRtl:xe,styles:vo,theme:z,maxMenuHeight:qe,menuPortalTarget:Jn,menuPlacement:Le,menuPosition:zn,menuIsOpen:!Y&&He,tabIndex:Ge,id:Je,"data-testid":Fn||t(r.DROPDOWN,Je),"data-vibe":_.DROPDOWN,autoFocus:nn,closeMenuOnSelect:mn,ref:l,withMandatoryDefaultOptions:bn,isOptionSelected:gn,isLoading:Rn,loadingMessage:Ln,tabSelectsValue:Nn,filterOption:An,inputValue:qn,blurInputOnSelect:Hn},So,Io))})),{sizes:a,chipColors:V,menuPlacements:P,menuPositions:R,createFilter:O});export{K as default};
|
|
2
2
|
//# sourceMappingURL=Dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { BaseSizes, SIZES_VALUES } from \"../../constants\";\nimport React, { forwardRef, useCallback, useMemo, useRef, useState, useEffect, useContext } from \"react\";\nimport Select, { InputProps, components, createFilter, ActionMeta } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport BaseSelect from \"react-select/base\";\nimport { noop as NOOP } from \"lodash-es\";\nimport MenuComponent from \"./components/menu/menu\";\nimport DropdownIndicatorComponent from \"./components/DropdownIndicator/DropdownIndicator\";\nimport OptionComponent from \"./components/option/option\";\nimport SingleValueComponent from \"./components/singleValue/singleValue\";\nimport ClearIndicatorComponent from \"./components/ClearIndicator/ClearIndicator\";\nimport MultiValueContainer from \"./components/MultiValueContainer/MultiValueContainer\";\nimport { isClient } from \"../../utils/ssr-utils\";\nimport {\n ADD_AUTO_HEIGHT_COMPONENTS,\n defaultCustomStyles,\n DROPDOWN_CHIP_COLORS,\n DROPDOWN_ID,\n DROPDOWN_INPUT_ARIA_LABEL,\n DROPDOWN_MENU_ARIA_LABEL,\n DROPDOWN_MENU_ID,\n DROPDOWN_MENU_PLACEMENT,\n DROPDOWN_MENU_POSITION\n} from \"./DropdownConstants\";\nimport generateBaseStyles, { customTheme } from \"./Dropdown.styles\";\nimport Control from \"./components/Control/Control\";\nimport Text from \"../Text/Text\";\nimport menuStyles from \"./components/menu/menu.module.scss\";\nimport styles from \"./Dropdown.module.scss\";\nimport {\n DropdownOption,\n DropdownState,\n CustomMenuProps,\n CustomOptionProps,\n CustomSingleValueProps,\n DropdownComponentProps\n} from \"./Dropdown.types\";\nimport { withStaticProps } from \"../../types\";\nimport { ComponentVibeId } from \"../../tests/constants\";\nimport LayerContext from \"../LayerProvider/LayerContext\";\n\nconst Dropdown = forwardRef(\n (\n {\n className,\n optionWrapperClassName,\n singleValueWrapperClassName,\n dropdownMenuWrapperClassName,\n placeholder = \"\",\n allowPlaceholderEllipsis,\n disabled = false,\n readOnly = false,\n onMenuOpen = NOOP,\n onMenuClose = NOOP,\n onFocus = NOOP,\n onBlur = NOOP,\n onScroll = NOOP,\n onMenuScrollToBottom = NOOP,\n onChange: customOnChange = NOOP,\n searchable = true,\n captureMenuScroll = false,\n options = [],\n defaultValue,\n value: customValue,\n noOptionsMessage,\n openMenuOnFocus,\n openMenuOnClick,\n clearable = true,\n OptionRenderer,\n optionRenderer,\n ValueRenderer,\n valueRenderer,\n menuRenderer,\n menuPlacement = \"bottom\",\n rtl,\n size = \"medium\",\n asyncOptions,\n cacheOptions,\n defaultOptions,\n isVirtualized,\n menuPortalTarget,\n extraStyles = defaultCustomStyles,\n maxMenuHeight,\n menuIsOpen,\n tabIndex = \"0\",\n id = DROPDOWN_ID,\n menuId = DROPDOWN_MENU_ID,\n menuAriaLabel = DROPDOWN_MENU_ARIA_LABEL,\n inputAriaLabel = DROPDOWN_INPUT_ARIA_LABEL,\n autoFocus = false,\n multi = false,\n multiline = false,\n onOptionRemove: customOnOptionRemove,\n onOptionSelect,\n onClear,\n onInputChange = NOOP,\n closeMenuOnSelect = !multi,\n closeMenuOnScroll: customCloseMenuOnScroll = false,\n withMandatoryDefaultOptions = false,\n isOptionSelected,\n insideOverflowContainer = false,\n insideOverflowWithTransformContainer = false,\n insideLayerContext = false,\n tooltipContent = \"\",\n onKeyDown = NOOP,\n isLoading = false,\n loadingMessage,\n ariaLabel,\n tabSelectsValue = true,\n popupsContainerSelector,\n filterOption,\n menuPosition = \"absolute\",\n \"data-testid\": dataTestId,\n withGroupDivider = false,\n inputValue,\n blurInputOnSelect\n }: DropdownComponentProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const controlRef = useRef();\n const { layerRef } = useContext(LayerContext);\n const overrideMenuPortalTarget =\n (insideLayerContext && layerRef?.current) ||\n menuPortalTarget ||\n (popupsContainerSelector && document.querySelector(popupsContainerSelector));\n const overrideDefaultValue = useMemo(() => {\n if (defaultValue) {\n return Array.isArray(defaultValue)\n ? (defaultValue as DropdownOption[]).map(df => ({ ...df, isMandatory: true }))\n : { ...(defaultValue as DropdownOption), isMandatory: true };\n }\n\n return defaultValue;\n }, [defaultValue]);\n\n BaseSelect.prototype.renderLiveRegion = (): null => {\n return null;\n };\n\n // SSR support\n const [WindowedMenuList, setWindowedMenuList] = useState(null);\n useEffect(() => {\n if (isClient()) {\n if (isTestEnv()) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n setWindowedMenuList(() => require(\"react-windowed-select\").WindowedMenuList);\n } else {\n // Dynamically import the specific named export from react-windowed-select for SSR support\n import(\"react-windowed-select\").then(module => {\n setWindowedMenuList(() => module.WindowedMenuList);\n });\n }\n }\n }, []);\n\n const [selected, setSelected] = useState(overrideDefaultValue || []);\n const [focusedOptionId, setFocusedOptionId] = useState(\"\");\n const finalOptionRenderer = optionRenderer || OptionRenderer;\n const finalValueRenderer = valueRenderer || ValueRenderer;\n const isControlled = !!customValue;\n const selectedOptions = customValue ?? selected;\n const selectedOptionsMap = useMemo(() => {\n if (Array.isArray(selectedOptions)) {\n return selectedOptions.reduce((acc, option) => ({ ...acc, [option.value]: option }), {});\n }\n return {};\n }, [selectedOptions]);\n\n const overrideAriaLabel = useMemo(() => {\n return (\n ariaLabel ||\n `${readOnly ? \"Readonly \" : \"\"} ${tooltipContent} ${\n Array.isArray(selectedOptions) ? `Selected: ${selectedOptions.map(o => o.label).join(\", \")}` : \"Select\"\n }`\n );\n }, [ariaLabel, readOnly, selectedOptions, tooltipContent]);\n const value = multi ? selectedOptions : customValue;\n\n const inlineStyles = useMemo(() => {\n // We first want to get the default stylized groups (e.g. \"container\", \"menu\").\n const baseStyles = generateBaseStyles({\n size,\n rtl,\n insideOverflowContainer,\n controlRef,\n insideOverflowWithTransformContainer,\n withGroupDivider,\n searchable,\n allowPlaceholderEllipsis\n });\n\n type BaseStyles = typeof baseStyles;\n\n // Then we want to run the consumer's root-level custom styles with our \"base\" override groups.\n const customStyles = extraStyles(baseStyles);\n\n // Lastly, we create a style groups object that makes sure we run each custom group with our basic overrides.\n const mergedStyles: any = Object.entries(customStyles).reduce((accumulator, [stylesGroup, stylesFn]) => {\n return {\n ...accumulator,\n [stylesGroup]: (defaultStyles: BaseStyles, state: DropdownState) => {\n const providedFn = baseStyles[stylesGroup as keyof BaseStyles];\n const provided = providedFn ? providedFn(defaultStyles, state) : defaultStyles;\n\n return stylesFn(provided, state);\n }\n };\n }, {} as BaseStyles);\n\n if (multi) {\n if (multiline) {\n ADD_AUTO_HEIGHT_COMPONENTS.forEach((component: string) => {\n const original = mergedStyles[component];\n mergedStyles[component] = (provided: BaseStyles, state: DropdownState) => ({\n ...original(provided, state),\n height: \"auto\"\n });\n });\n }\n\n const originalValueContainer = mergedStyles.valueContainer;\n mergedStyles.valueContainer = (provided: BaseStyles, state: DropdownState) => ({\n ...originalValueContainer(provided, state),\n paddingLeft: 6\n });\n }\n\n return mergedStyles;\n }, [\n size,\n rtl,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n allowPlaceholderEllipsis,\n extraStyles,\n multi,\n multiline\n ]);\n\n const Menu = useCallback(\n (props: CustomMenuProps) => (\n <MenuComponent\n {...props}\n id={menuId}\n ariaLabel={menuAriaLabel}\n Renderer={menuRenderer}\n dropdownMenuWrapperClassName={dropdownMenuWrapperClassName}\n onScroll={onScroll}\n />\n ),\n [dropdownMenuWrapperClassName, menuRenderer, menuId, menuAriaLabel, onScroll]\n );\n\n const DropdownIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <DropdownIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const Option = useCallback(\n (props: CustomOptionProps) => (\n <OptionComponent\n setFocusedOptionId={setFocusedOptionId}\n {...props}\n Renderer={finalOptionRenderer}\n optionWrapperClassName={optionWrapperClassName}\n />\n ),\n [finalOptionRenderer, optionWrapperClassName, setFocusedOptionId]\n );\n\n const Input = useCallback(\n (props: InputProps | any) => {\n const { focusedOptionId, menuIsOpen } = props.selectProps;\n const ariaActiveDescendant = focusedOptionId && menuIsOpen ? focusedOptionId : \"\";\n return (\n <components.Input\n {...props}\n aria-activedescendant={ariaActiveDescendant}\n role=\"combobox\"\n aria-expanded={!readOnly && menuIsOpen}\n aria-label={inputAriaLabel}\n aria-controls={menuId}\n readOnly={!searchable ? true : undefined}\n />\n );\n },\n [menuId, readOnly]\n );\n\n const SingleValue = useCallback(\n (props: CustomSingleValueProps) => (\n <SingleValueComponent\n {...props}\n readOnly={readOnly}\n Renderer={finalValueRenderer}\n selectedOption={selectedOptions[0]}\n singleValueWrapperClassName={singleValueWrapperClassName}\n />\n ),\n [finalValueRenderer, readOnly, selectedOptions, singleValueWrapperClassName]\n );\n\n const ClearIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <ClearIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const onOptionRemove = useMemo(() => {\n return function (optionValue: number, e: React.MouseEvent | React.KeyboardEvent) {\n if (customOnOptionRemove) {\n customOnOptionRemove(selectedOptionsMap[optionValue]);\n }\n const newSelectedOptions = Array.isArray(selectedOptions)\n ? selectedOptions.filter(option => option.value !== optionValue)\n : selectedOptions;\n\n if (customOnChange) {\n customOnChange(newSelectedOptions, e);\n }\n setSelected(newSelectedOptions);\n };\n }, [customOnChange, customOnOptionRemove, selectedOptions, selectedOptionsMap]);\n\n const customProps = useMemo(\n () => ({\n selectedOptions,\n onSelectedDelete: onOptionRemove,\n isMultiline: multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n controlRef,\n tooltipContent,\n popupsContainerSelector: insideLayerContext ? layerRef?.current : popupsContainerSelector,\n size\n }),\n [\n selectedOptions,\n onOptionRemove,\n multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n tooltipContent,\n layerRef,\n popupsContainerSelector,\n insideLayerContext,\n size\n ]\n );\n const onChange = (option: DropdownOption | DropdownOption[], meta: ActionMeta<DropdownOption>) => {\n if (customOnChange) {\n customOnChange(option, meta);\n }\n\n switch (meta.action) {\n case \"select-option\": {\n const selectedOption = multi ? meta.option : option;\n\n if (onOptionSelect) {\n onOptionSelect(selectedOption);\n }\n\n if (!isControlled) {\n setSelected([...selectedOptions, selectedOption]);\n }\n break;\n }\n\n case \"clear\":\n if (onClear) {\n onClear();\n }\n\n if (!isControlled) {\n if (withMandatoryDefaultOptions) setSelected(overrideDefaultValue);\n else setSelected([]);\n }\n break;\n }\n };\n\n let DropDownComponent: React.ElementType = asyncOptions ? AsyncSelect : Select;\n\n // @ts-expect-error - We need to check if the default export is available\n DropDownComponent = DropDownComponent.default || DropDownComponent;\n\n const asyncAdditions = {\n ...(asyncOptions && {\n loadOptions: asyncOptions,\n cacheOptions,\n ...(defaultOptions && { defaultOptions })\n })\n };\n\n const additions = {\n ...(!asyncOptions && { options }),\n ...(multi && {\n isMulti: true\n })\n };\n\n const closeMenuOnScroll = useCallback(\n (event: React.FocusEvent) => {\n const scrolledElement = event.target;\n if (scrolledElement?.parentElement?.classList.contains(menuStyles.dropdownMenuWrapper)) {\n return false;\n }\n return customCloseMenuOnScroll || insideOverflowContainer || insideOverflowWithTransformContainer;\n },\n [insideOverflowContainer, insideOverflowWithTransformContainer, customCloseMenuOnScroll]\n );\n\n const calculatedPlaceholder = useMemo(\n () =>\n allowPlaceholderEllipsis ? (\n <Text type=\"text2\" color=\"inherit\">\n {placeholder}\n </Text>\n ) : (\n placeholder\n ),\n [allowPlaceholderEllipsis, placeholder]\n );\n\n return (\n <DropDownComponent\n className={cx(styles.dropdown, className)}\n selectProps={customProps}\n components={{\n DropdownIndicator,\n Menu,\n ClearIndicator,\n Input,\n Option,\n Control,\n SingleValue,\n ...(multi && {\n MultiValue: NOOP, // We need it for react-select to behave nice with \"multi\"\n ValueContainer: MultiValueContainer\n }),\n ...(isVirtualized && WindowedMenuList && { MenuList: WindowedMenuList })\n }}\n // When inside scroll we set the menu position by js and we can't follow the drop down location while use scrolling\n closeMenuOnScroll={closeMenuOnScroll}\n size={size}\n noOptionsMessage={noOptionsMessage}\n placeholder={calculatedPlaceholder}\n isDisabled={disabled}\n isClearable={!readOnly && clearable}\n isSearchable={!readOnly}\n readOnly={readOnly}\n aria-readonly={readOnly}\n aria-label={overrideAriaLabel}\n aria-details={tooltipContent}\n aria-haspopup=\"listbox\"\n defaultValue={defaultValue}\n value={value}\n onMenuOpen={onMenuOpen}\n onMenuClose={onMenuClose}\n onFocus={onFocus}\n onBlur={onBlur}\n onMenuScrollToBottom={onMenuScrollToBottom}\n captureMenuScroll={captureMenuScroll}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onInputChange={onInputChange}\n openMenuOnFocus={openMenuOnFocus}\n openMenuOnClick={openMenuOnClick}\n focusedOptionId={focusedOptionId}\n isRtl={rtl}\n styles={inlineStyles}\n theme={customTheme}\n maxMenuHeight={maxMenuHeight}\n menuPortalTarget={overrideMenuPortalTarget}\n menuPlacement={menuPlacement}\n menuPosition={menuPosition}\n menuIsOpen={!readOnly && menuIsOpen}\n tabIndex={tabIndex}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.DROPDOWN, id)}\n data-vibe={ComponentVibeId.DROPDOWN}\n autoFocus={autoFocus}\n closeMenuOnSelect={closeMenuOnSelect}\n ref={ref as React.Ref<any>}\n withMandatoryDefaultOptions={withMandatoryDefaultOptions}\n isOptionSelected={isOptionSelected}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n tabSelectsValue={tabSelectsValue}\n filterOption={filterOption}\n inputValue={inputValue}\n blurInputOnSelect={blurInputOnSelect}\n {...asyncAdditions}\n {...additions}\n />\n );\n }\n);\n\ninterface DropdownStaticProps {\n sizes: typeof BaseSizes;\n chipColors: typeof DROPDOWN_CHIP_COLORS;\n menuPlacements: typeof DROPDOWN_MENU_PLACEMENT;\n menuPositions: typeof DROPDOWN_MENU_POSITION;\n createFilter: typeof createFilter;\n}\n\nexport default withStaticProps<DropdownComponentProps, DropdownStaticProps>(Dropdown, {\n sizes: BaseSizes,\n chipColors: DROPDOWN_CHIP_COLORS,\n menuPlacements: DROPDOWN_MENU_PLACEMENT,\n menuPositions: DROPDOWN_MENU_POSITION,\n createFilter\n});\n\nfunction isTestEnv() {\n try {\n return (\n typeof require === \"function\" &&\n typeof module !== \"undefined\" &&\n typeof process !== \"undefined\" &&\n process.env.NODE_ENV === \"test\"\n );\n } catch (e) {\n return false;\n }\n}\n"],"names":["withStaticProps","forwardRef","_ref","ref","className","optionWrapperClassName","singleValueWrapperClassName","dropdownMenuWrapperClassName","_ref$placeholder","placeholder","allowPlaceholderEllipsis","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$onMenuOpen","onMenuOpen","NOOP","_ref$onMenuClose","onMenuClose","_ref$onFocus","onFocus","_ref$onBlur","onBlur","_ref$onScroll","onScroll","_ref$onMenuScrollToBo","onMenuScrollToBottom","_ref$onChange","onChange","customOnChange","_ref$searchable","searchable","_ref$captureMenuScrol","captureMenuScroll","_ref$options","options","defaultValue","customValue","value","noOptionsMessage","openMenuOnFocus","openMenuOnClick","_ref$clearable","clearable","OptionRenderer","optionRenderer","ValueRenderer","valueRenderer","menuRenderer","_ref$menuPlacement","menuPlacement","rtl","_ref$size","size","asyncOptions","cacheOptions","defaultOptions","isVirtualized","menuPortalTarget","_ref$extraStyles","extraStyles","defaultCustomStyles","maxMenuHeight","menuIsOpen","_ref$tabIndex","tabIndex","_ref$id","id","DROPDOWN_ID","_ref$menuId","menuId","DROPDOWN_MENU_ID","_ref$menuAriaLabel","menuAriaLabel","DROPDOWN_MENU_ARIA_LABEL","_ref$inputAriaLabel","inputAriaLabel","DROPDOWN_INPUT_ARIA_LABEL","_ref$autoFocus","autoFocus","_ref$multi","multi","_ref$multiline","multiline","customOnOptionRemove","onOptionRemove","onOptionSelect","onClear","_ref$onInputChange","onInputChange","_ref$closeMenuOnSelec","closeMenuOnSelect","_ref$closeMenuOnScrol","closeMenuOnScroll","customCloseMenuOnScroll","_ref$withMandatoryDef","withMandatoryDefaultOptions","isOptionSelected","_ref$insideOverflowCo","insideOverflowContainer","_ref$insideOverflowWi","insideOverflowWithTransformContainer","_ref$insideLayerConte","insideLayerContext","_ref$tooltipContent","tooltipContent","_ref$onKeyDown","onKeyDown","_ref$isLoading","isLoading","loadingMessage","ariaLabel","_ref$tabSelectsValue","tabSelectsValue","popupsContainerSelector","filterOption","_ref$menuPosition","menuPosition","dataTestId","_ref$withGroupDivider","withGroupDivider","inputValue","blurInputOnSelect","controlRef","useRef","layerRef","useContext","LayerContext","overrideMenuPortalTarget","current","document","querySelector","overrideDefaultValue","useMemo","Array","isArray","map","df","Object","assign","isMandatory","BaseSelect","prototype","renderLiveRegion","_useState","useState","_useState2","_slicedToArray","WindowedMenuList","setWindowedMenuList","useEffect","isClient","require","module","process","env","NODE_ENV","e","isTestEnv","import","then","_useState3","_useState4","selected","setSelected","_useState5","_useState6","focusedOptionId","setFocusedOptionId","finalOptionRenderer","finalValueRenderer","isControlled","selectedOptions","selectedOptionsMap","reduce","acc","option","_defineProperty","overrideAriaLabel","concat","o","label","join","inlineStyles","baseStyles","generateBaseStyles","customStyles","mergedStyles","entries","accumulator","_ref2","_ref3","stylesGroup","stylesFn","defaultStyles","state","providedFn","provided","ADD_AUTO_HEIGHT_COMPONENTS","forEach","component","original","height","originalValueContainer","valueContainer","paddingLeft","Menu","useCallback","props","React","createElement","MenuComponent","Renderer","DropdownIndicator","DropdownIndicatorComponent","Option","OptionComponent","Input","_props$selectProps","selectProps","components","role","undefined","SingleValue","SingleValueComponent","selectedOption","ClearIndicator","ClearIndicatorComponent","optionValue","newSelectedOptions","filter","customProps","onSelectedDelete","isMultiline","DropDownComponent","AsyncSelect","Select","default","asyncAdditions","loadOptions","additions","isMulti","event","scrolledElement","target","parentElement","_a","classList","contains","menuStyles","dropdownMenuWrapper","calculatedPlaceholder","Text","type","color","cx","styles","dropdown","Control","MultiValue","ValueContainer","MultiValueContainer","MenuList","isDisabled","isClearable","isSearchable","meta","action","_toConsumableArray","isRtl","theme","customTheme","getTestId","ComponentDefaultTestId","DROPDOWN","ComponentVibeId","sizes","BaseSizes","chipColors","DROPDOWN_CHIP_COLORS","menuPlacements","DROPDOWN_MENU_PLACEMENT","menuPositions","DROPDOWN_MENU_POSITION","createFilter"],"mappings":"yoDA2CA,IAqdeA,EAAAA,EArdEC,GACf,SAAAC,EA2EEC,GACE,IA1EAC,EAASF,EAATE,UACAC,EAAsBH,EAAtBG,uBACAC,EAA2BJ,EAA3BI,4BACAC,EAA4BL,EAA5BK,6BAA4BC,EAAAN,EAC5BO,YAAAA,OAAc,IAAHD,EAAG,GAAEA,EAChBE,EAAwBR,EAAxBQ,yBAAwBC,EAAAT,EACxBU,SAAAA,OAAW,IAAHD,GAAQA,EAAAE,EAAAX,EAChBY,SAAAA,OAAW,IAAHD,GAAQA,EAAAE,EAAAb,EAChBc,WAAAA,OAAaC,IAAHF,EAAGE,EAAIF,EAAAG,GAAAhB,EACjBiB,YAAAA,QAAcF,IAAHC,GAAGD,EAAIC,GAAAE,GAAAlB,EAClBmB,QAAAA,QAAUJ,IAAHG,GAAGH,EAAIG,GAAAE,GAAApB,EACdqB,OAAAA,QAASN,IAAHK,GAAGL,EAAIK,GAAAE,GAAAtB,EACbuB,SAAAA,QAAWR,IAAHO,GAAGP,EAAIO,GAAAE,GAAAxB,EACfyB,qBAAAA,QAAuBV,IAAHS,GAAGT,EAAIS,GAAAE,GAAA1B,EAC3B2B,SAAUC,QAAiBb,IAAHW,GAAGX,EAAIW,GAAAG,GAAA7B,EAC/B8B,WAAAA,QAAa,IAAHD,IAAOA,GAAAE,GAAA/B,EACjBgC,kBAAAA,QAAoB,IAAHD,IAAQA,GAAAE,GAAAjC,EACzBkC,QAAAA,QAAU,IAAHD,GAAG,GAAEA,GACZE,GAAYnC,EAAZmC,aACOC,GAAWpC,EAAlBqC,MACAC,GAAgBtC,EAAhBsC,iBACAC,GAAevC,EAAfuC,gBACAC,GAAexC,EAAfwC,gBAAeC,GAAAzC,EACf0C,UAAAA,QAAY,IAAHD,IAAOA,GAChBE,GAAc3C,EAAd2C,eACAC,GAAc5C,EAAd4C,eACAC,GAAa7C,EAAb6C,cACAC,GAAa9C,EAAb8C,cACAC,GAAY/C,EAAZ+C,aAAYC,GAAAhD,EACZiD,cAAAA,QAAgB,IAAHD,GAAG,SAAQA,GACxBE,GAAGlD,EAAHkD,IAAGC,GAAAnD,EACHoD,KAAAA,QAAO,IAAHD,GAAG,SAAQA,GACfE,GAAYrD,EAAZqD,aACAC,GAAYtD,EAAZsD,aACAC,GAAcvD,EAAduD,eACAC,GAAaxD,EAAbwD,cACAC,GAAgBzD,EAAhByD,iBAAgBC,GAAA1D,EAChB2D,YAAAA,QAAcC,IAAHF,GAAGE,EAAmBF,GACjCG,GAAa7D,EAAb6D,cACAC,GAAU9D,EAAV8D,WAAUC,GAAA/D,EACVgE,SAAAA,QAAW,IAAHD,GAAG,IAAGA,GAAAE,GAAAjE,EACdkE,GAAAA,QAAKC,IAAHF,GAAGE,EAAWF,GAAAG,GAAApE,EAChBqE,OAAAA,QAASC,IAAHF,GAAGE,EAAgBF,GAAAG,GAAAvE,EACzBwE,cAAAA,QAAgBC,IAAHF,GAAGE,EAAwBF,GAAAG,GAAA1E,EACxC2E,eAAAA,QAAiBC,IAAHF,GAAGE,EAAyBF,GAAAG,GAAA7E,EAC1C8E,UAAAA,QAAY,IAAHD,IAAQA,GAAAE,GAAA/E,EACjBgF,MAAAA,QAAQ,IAAHD,IAAQA,GAAAE,GAAAjF,EACbkF,UAAAA,QAAY,IAAHD,IAAQA,GACDE,GAAoBnF,EAApCoF,eACAC,GAAcrF,EAAdqF,eACAC,GAAOtF,EAAPsF,QAAOC,GAAAvF,EACPwF,cAAAA,QAAgBzE,IAAHwE,GAAGxE,EAAIwE,GAAAE,GAAAzF,EACpB0F,kBAAAA,QAAiB,IAAAD,IAAIT,GAAKS,GAAAE,GAAA3F,EAC1B4F,kBAAmBC,QAA0B,IAAHF,IAAQA,GAAAG,GAAA9F,EAClD+F,4BAAAA,QAA8B,IAAHD,IAAQA,GACnCE,GAAgBhG,EAAhBgG,iBAAgBC,GAAAjG,EAChBkG,wBAAAA,QAA0B,IAAHD,IAAQA,GAAAE,GAAAnG,EAC/BoG,qCAAAA,QAAuC,IAAHD,IAAQA,GAAAE,GAAArG,EAC5CsG,mBAAAA,QAAqB,IAAHD,IAAQA,GAAAE,GAAAvG,EAC1BwG,eAAAA,QAAiB,IAAHD,GAAG,GAAEA,GAAAE,GAAAzG,EACnB0G,UAAAA,QAAY3F,IAAH0F,GAAG1F,EAAI0F,GAAAE,GAAA3G,EAChB4G,UAAAA,QAAY,IAAHD,IAAQA,GACjBE,GAAc7G,EAAd6G,eACAC,GAAS9G,EAAT8G,UAASC,GAAA/G,EACTgH,gBAAAA,QAAkB,IAAHD,IAAOA,GACtBE,GAAuBjH,EAAvBiH,wBACAC,GAAYlH,EAAZkH,aAAYC,GAAAnH,EACZoH,aAAAA,QAAe,IAAHD,GAAG,WAAUA,GACVE,GAAUrH,EAAzB,eAAasH,GAAAtH,EACbuH,iBAAAA,QAAmB,IAAHD,IAAQA,GACxBE,GAAUxH,EAAVwH,WACAC,GAAiBzH,EAAjByH,kBAIIC,GAAaC,IACXC,GAAaC,EAAWC,GAAxBF,SACFG,GACHzB,KAAsBsB,cAAA,EAAAA,GAAUI,UACjCvE,IACCwD,IAA2BgB,SAASC,cAAcjB,IAC/CkB,GAAuBC,GAAQ,WACnC,OAAIjG,GACKkG,MAAMC,QAAQnG,IAChBA,GAAkCoG,KAAI,SAAAC,GAAE,OAAIC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAMF,GAAI,CAAAG,aAAa,sCAC9DxG,IAA+B,CAAEwG,aAAa,IAGnDxG,EACT,GAAG,CAACA,KAEJyG,EAAWC,UAAUC,iBAAmB,WACtC,OAAO,MAIT,IAAAC,GAAgDC,EAAS,MAAKC,GAAAC,EAAAH,GAAA,GAAvDI,GAAgBF,GAAA,GAAEG,GAAmBH,GAAA,GAC5CI,GAAU,WACJC,OAwXV,WACE,IACE,MACqB,mBAAZC,SACW,oBAAXC,QACY,oBAAZC,SACkB,SAAzBA,QAAQC,IAAIC,QAEf,CAAC,MAAOC,GACP,OAAO,CACR,CACH,CAlYYC,GAKFC,OAAO,yBAAyBC,MAAK,SAAAP,GACnCJ,IAAoB,WAAA,OAAMI,EAAOL,mBACnC,IALAC,IAAoB,WAAA,OAAMG,QAAQ,yBAAyBJ,oBAQhE,GAAE,IAEH,IAAAa,GAAgChB,EAASb,IAAwB,IAAG8B,GAAAf,EAAAc,GAAA,GAA7DE,GAAQD,GAAA,GAAEE,GAAWF,GAAA,GAC5BG,GAA8CpB,EAAS,IAAGqB,GAAAnB,EAAAkB,GAAA,GAAnDE,GAAeD,GAAA,GAAEE,GAAkBF,GAAA,GACpCG,GAAsB5H,IAAkBD,GACxC8H,GAAqB3H,IAAiBD,GACtC6H,KAAiBtI,GACjBuI,GAAkBvI,SAAAA,GAAe8H,GACjCU,GAAqBxC,GAAQ,WACjC,OAAIC,MAAMC,QAAQqC,IACTA,GAAgBE,QAAO,SAACC,EAAKC,GAAM,OAAKtC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAMoC,GAAKE,EAACD,CAAAA,EAAAA,EAAO1I,MAAQ0I,GAAS,GAAE,CAAE,GAElF,EACT,GAAG,CAACJ,KAEEM,GAAoB7C,GAAQ,WAChC,OACEtB,IAAS,GAAAoE,OACNtK,EAAW,YAAc,GAAE,KAAAsK,OAAI1E,GAAc0E,KAAAA,OAC9C7C,MAAMC,QAAQqC,IAAgB,aAAAO,OAAgBP,GAAgBpC,KAAI,SAAA4C,GAAC,OAAIA,EAAEC,KAAK,IAAEC,KAAK,OAAU,SAGpG,GAAE,CAACvE,GAAWlG,EAAU+J,GAAiBnE,KACpCnE,GAAQ2C,GAAQ2F,GAAkBvI,GAElCkJ,GAAelD,GAAQ,WAE3B,IAAMmD,EAAaC,EAAmB,CACpCpI,KAAAA,GACAF,IAAAA,GACAgD,wBAAAA,GACAwB,WAAAA,GACAtB,qCAAAA,GACAmB,iBAAAA,GACAzF,WAAAA,GACAtB,yBAAAA,IAMIiL,EAAe9H,GAAY4H,GAG3BG,EAAoBjD,OAAOkD,QAAQF,GAAcZ,QAAO,SAACe,EAAWC,GAA6B,IAAAC,EAAA5C,EAAA2C,EAAA,GAA1BE,EAAWD,EAAA,GAAEE,EAAQF,EAAA,GAChG,OACKrD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAkD,GACHZ,EAACe,CAAAA,EAAAA,GAAc,SAACE,EAA2BC,GACzC,IAAMC,EAAaZ,EAAWQ,GACxBK,EAAWD,EAAaA,EAAWF,EAAeC,GAASD,EAEjE,OAAOD,EAASI,EAAUF,EAC3B,IAEJ,GAAE,CAAgB,GAEnB,GAAIlH,GAAO,CACLE,IACFmH,EAA2BC,SAAQ,SAACC,GAClC,IAAMC,EAAWd,EAAaa,GAC9Bb,EAAaa,GAAa,SAACH,EAAsBF,GAAoB,sCAChEM,EAASJ,EAAUF,KACtBO,OAAQ,SAEZ,IAGF,IAAMC,EAAyBhB,EAAaiB,eAC5CjB,EAAaiB,eAAiB,SAACP,EAAsBF,GAAoB,OAAKzD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACzEgE,EAAuBN,EAAUF,KACpCU,YAAa,IAEhB,CAED,OAAOlB,CACT,GAAG,CACDtI,GACAF,GACAgD,GACAE,GACA5F,EACAmD,GACAqB,GACAE,KAGI2H,GAAOC,GACX,SAACC,GAAsB,OACrBC,EAAAC,cAACC,EACKzE,OAAAC,OAAA,CAAA,EAAAqE,GACJ7I,GAAIG,GACJyC,UAAWtC,GACX2I,SAAUpK,GACV1C,6BAA8BA,EAC9BkB,SAAUA,KACV,GAEJ,CAAClB,EAA8B0C,GAAcsB,GAAQG,GAAejD,KAGhE6L,GAAoBN,GACxB,SAACC,GAAkE,OACjEC,EAACC,cAAAI,mBAA+BN,EAAK,CAAE3J,KAAMA,KAAQ,GAEvD,CAACA,KAGGkK,GAASR,GACb,SAACC,GAAwB,OACvBC,gBAACO,EAAe9E,OAAAC,OAAA,CACd6B,mBAAoBA,IAChBwC,EACJ,CAAAI,SAAU3C,GACVrK,uBAAwBA,IAE3B,GACD,CAACqK,GAAqBrK,EAAwBoK,KAG1CiD,GAAQV,GACZ,SAACC,GACC,IAAAU,EAAwCV,EAAMW,YAAtCpD,EAAemD,EAAfnD,gBAAiBxG,EAAU2J,EAAV3J,WAEzB,OACEkJ,EAACC,cAAAU,EAAWH,uBACNT,EAAK,CAAA,wBAHgBzC,GAAmBxG,EAAawG,EAAkB,GAK3EsD,KAAK,WACU,iBAAChN,GAAYkD,EAChB,aAAAa,mBACGN,GACfzD,UAAWkB,SAAoB+L,IAGrC,GACA,CAACxJ,GAAQzD,IAGLkN,GAAchB,GAClB,SAACC,GAA6B,OAC5BC,gBAACe,EAAoBtF,OAAAC,OAAA,CAAA,EACfqE,EACJ,CAAAnM,SAAUA,EACVuM,SAAU1C,GACVuD,eAAgBrD,GAAgB,GAChCvK,4BAA6BA,IAEhC,GACD,CAACqK,GAAoB7J,EAAU+J,GAAiBvK,IAG5C6N,GAAiBnB,GACrB,SAACC,GAAkE,OACjEC,EAACC,cAAAiB,mBAA4BnB,EAAK,CAAE3J,KAAMA,KAAQ,GAEpD,CAACA,KAGGgC,GAAiBgD,GAAQ,WAC7B,OAAO,SAAU+F,EAAqBvE,GAChCzE,IACFA,GAAqByF,GAAmBuD,IAE1C,IAAMC,EAAqB/F,MAAMC,QAAQqC,IACrCA,GAAgB0D,QAAO,SAAAtD,GAAM,OAAIA,EAAO1I,QAAU8L,CAAW,IAC7DxD,GAEA/I,IACFA,GAAewM,EAAoBxE,GAErCO,GAAYiE,GAEf,GAAE,CAACxM,GAAgBuD,GAAsBwF,GAAiBC,KAErD0D,GAAclG,GAClB,WAAA,MAAO,CACLuC,gBAAAA,GACA4D,iBAAkBnJ,GAClBoJ,YAAatJ,GACbgB,wBAAAA,GACAE,qCAAAA,GACAsB,WAAAA,GACAlB,eAAAA,GACAS,wBAAyBX,GAAqBsB,cAAQ,EAARA,GAAUI,QAAUf,GAClE7D,KAAAA,GACA,GACF,CACEuH,GACAvF,GACAF,GACAgB,GACAE,GACAI,GACAoB,GACAX,GACAX,GACAlD,KAmCAqL,GAAuCpL,GAAeqL,EAAcC,EAGxEF,GAAoBA,GAAkBG,SAAWH,GAEjD,IAAMI,oBACAxL,mBACFyL,YAAazL,GACbC,aAAAA,IACIC,IAAkB,CAAEA,eAAAA,MAItBwL,GAAStG,OAAAC,OAAAD,OAAAC,OAAA,CAAA,GACRrF,IAAgB,CAAEnB,QAAAA,KACnB8C,IAAS,CACXgK,SAAS,IAIPpJ,GAAoBkH,GACxB,SAACmC,SACOC,EAAkBD,EAAME,OAC9B,QAAoC,UAAhCD,aAAe,EAAfA,EAAiBE,qBAAe,IAAAC,OAAA,EAAAA,EAAAC,UAAUC,SAASC,EAAWC,wBAG3D5J,IAA2BK,IAA2BE,GAC9D,GACD,CAACF,GAAyBE,GAAsCP,KAG5D6J,GAAwBtH,GAC5B,WAAA,OACE5H,EACEwM,EAAAC,cAAC0C,EAAK,CAAAC,KAAK,QAAQC,MAAM,WACtBtP,GAGHA,CACD,GACH,CAACC,EAA0BD,IAG7B,OACEyM,gBAACyB,GAAiBhG,OAAAC,OAAA,CAChBxI,UAAW4P,EAAGC,EAAOC,SAAU9P,GAC/BwN,YAAaY,GACbX,WAAUlF,OAAAC,OAAAD,OAAAC,OAAA,CACR0E,kBAAAA,GACAP,KAAAA,GACAoB,eAAAA,GACAT,MAAAA,GACAF,OAAAA,GACA2C,QAAAA,EACAnC,YAAAA,IACI9I,IAAS,CACXkL,WAAYnP,EACZoP,eAAgBC,IAEd5M,IAAiB2F,IAAoB,CAAEkH,SAAUlH,KAGvDvD,kBAAmBA,GACnBxC,KAAMA,GACNd,iBAAkBA,GAClB/B,YAAamP,GACbY,WAAY5P,EACZ6P,aAAc3P,GAAY8B,GAC1B8N,cAAe5P,EACfA,SAAUA,EAAQ,gBACHA,EAAQ,aACXqK,GACE,eAAAzE,mBACA,UACdrE,aAAcA,GACdE,MAAOA,GACPvB,WAAYA,EACZG,YAAaA,GACbE,QAASA,GACTE,OAAQA,GACRI,qBAAsBA,GACtBO,kBAAmBA,GACnBL,SAlHa,SAACoJ,EAA2C0F,GAK3D,OAJI7O,IACFA,GAAemJ,EAAQ0F,GAGjBA,EAAKC,QACX,IAAK,gBACH,IAAM1C,EAAiBhJ,GAAQyL,EAAK1F,OAASA,EAEzC1F,IACFA,GAAe2I,GAGZtD,IACHP,GAAW,GAAAe,OAAAyF,EAAKhG,IAAe,CAAEqD,KAEnC,MAGF,IAAK,QACC1I,IACFA,KAGGoF,IAC8BP,GAA7BpE,GAAyCoC,GAC5B,MAyFrBzB,UAAWA,GACXlB,cAAeA,GACfjD,gBAAiBA,GACjBC,gBAAiBA,GACjB8H,gBAAiBA,GACjBsG,MAAO1N,GACP6M,OAAQzE,GACRuF,MAAOC,EACPjN,cAAeA,GACfJ,iBAAkBsE,GAClB9E,cAAeA,GACfmE,aAAcA,GACdtD,YAAalD,GAAYkD,GACzBE,SAAUA,GACVE,GAAIA,GAAE,cACOmD,IAAc0J,EAAUC,EAAuBC,SAAU/M,IAAG,YAC9DgN,EAAgBD,SAC3BnM,UAAWA,GACXY,kBAAmBA,GACnBzF,IAAKA,EACL8F,4BAA6BA,GAC7BC,iBAAkBA,GAClBY,UAAWA,GACXC,eAAgBA,GAChBG,gBAAiBA,GACjBE,aAAcA,GACdM,WAAYA,GACZC,kBAAmBA,IACfoH,GACAE,IAGV,IAWoF,CACpFoC,MAAOC,EACPC,WAAYC,EACZC,eAAgBC,EAChBC,cAAeC,EACfC,aAAAA"}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { BaseSizes, SIZES_VALUES } from \"../../constants\";\nimport React, { forwardRef, useCallback, useMemo, useRef, useState, useEffect, useContext } from \"react\";\nimport Select, { InputProps, components, createFilter, ActionMeta } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport BaseSelect from \"react-select/base\";\nimport { noop as NOOP } from \"lodash-es\";\nimport MenuComponent from \"./components/menu/menu\";\nimport DropdownIndicatorComponent from \"./components/DropdownIndicator/DropdownIndicator\";\nimport OptionComponent from \"./components/option/option\";\nimport SingleValueComponent from \"./components/singleValue/singleValue\";\nimport ClearIndicatorComponent from \"./components/ClearIndicator/ClearIndicator\";\nimport MultiValueContainer from \"./components/MultiValueContainer/MultiValueContainer\";\nimport { isClient } from \"../../utils/ssr-utils\";\nimport {\n ADD_AUTO_HEIGHT_COMPONENTS,\n defaultCustomStyles,\n DROPDOWN_CHIP_COLORS,\n DROPDOWN_ID,\n DROPDOWN_INPUT_ARIA_LABEL,\n DROPDOWN_MENU_ARIA_LABEL,\n DROPDOWN_MENU_ID,\n DROPDOWN_MENU_PLACEMENT,\n DROPDOWN_MENU_POSITION\n} from \"./DropdownConstants\";\nimport generateBaseStyles, { customTheme } from \"./Dropdown.styles\";\nimport Control from \"./components/Control/Control\";\nimport Text from \"../Text/Text\";\nimport menuStyles from \"./components/menu/menu.module.scss\";\nimport styles from \"./Dropdown.module.scss\";\nimport {\n DropdownOption,\n DropdownState,\n CustomMenuProps,\n CustomOptionProps,\n CustomSingleValueProps,\n DropdownComponentProps\n} from \"./Dropdown.types\";\nimport { withStaticProps } from \"../../types\";\nimport { ComponentVibeId } from \"../../tests/constants\";\nimport LayerContext from \"../LayerProvider/LayerContext\";\n\nconst Dropdown = forwardRef(\n (\n {\n className,\n optionWrapperClassName,\n singleValueWrapperClassName,\n dropdownMenuWrapperClassName,\n placeholder = \"\",\n allowPlaceholderEllipsis,\n disabled = false,\n readOnly = false,\n onMenuOpen = NOOP,\n onMenuClose = NOOP,\n onFocus = NOOP,\n onBlur = NOOP,\n onScroll = NOOP,\n onMenuScrollToBottom = NOOP,\n onChange: customOnChange = NOOP,\n searchable = true,\n captureMenuScroll = false,\n options = [],\n defaultValue,\n value: customValue,\n noOptionsMessage,\n openMenuOnFocus,\n openMenuOnClick,\n clearable = true,\n OptionRenderer,\n optionRenderer,\n ValueRenderer,\n valueRenderer,\n menuRenderer,\n menuPlacement = \"bottom\",\n rtl,\n size = \"medium\",\n asyncOptions,\n cacheOptions,\n defaultOptions,\n isVirtualized,\n menuPortalTarget,\n extraStyles = defaultCustomStyles,\n maxMenuHeight,\n menuIsOpen,\n tabIndex = \"0\",\n id = DROPDOWN_ID,\n menuId = DROPDOWN_MENU_ID,\n menuAriaLabel = DROPDOWN_MENU_ARIA_LABEL,\n inputAriaLabel = DROPDOWN_INPUT_ARIA_LABEL,\n autoFocus = false,\n multi = false,\n multiline = false,\n onOptionRemove: customOnOptionRemove,\n onOptionSelect,\n onClear,\n onInputChange = NOOP,\n closeMenuOnSelect = !multi,\n closeMenuOnScroll: customCloseMenuOnScroll = false,\n withMandatoryDefaultOptions = false,\n isOptionSelected,\n insideOverflowContainer = false,\n insideOverflowWithTransformContainer = false,\n insideLayerContext = false,\n tooltipContent = \"\",\n onKeyDown = NOOP,\n isLoading = false,\n loadingMessage,\n ariaLabel,\n tabSelectsValue = true,\n popupsContainerSelector,\n filterOption,\n menuPosition = \"absolute\",\n \"data-testid\": dataTestId,\n withGroupDivider = false,\n inputValue,\n blurInputOnSelect,\n multiValueDialogClassName\n }: DropdownComponentProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const controlRef = useRef();\n const { layerRef } = useContext(LayerContext);\n const overrideMenuPortalTarget =\n (insideLayerContext && layerRef?.current) ||\n menuPortalTarget ||\n (popupsContainerSelector && document.querySelector(popupsContainerSelector));\n const overrideDefaultValue = useMemo(() => {\n if (defaultValue) {\n return Array.isArray(defaultValue)\n ? (defaultValue as DropdownOption[]).map(df => ({ ...df, isMandatory: true }))\n : { ...(defaultValue as DropdownOption), isMandatory: true };\n }\n\n return defaultValue;\n }, [defaultValue]);\n\n BaseSelect.prototype.renderLiveRegion = (): null => {\n return null;\n };\n\n // SSR support\n const [WindowedMenuList, setWindowedMenuList] = useState(null);\n useEffect(() => {\n if (isClient()) {\n if (isTestEnv()) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n setWindowedMenuList(() => require(\"react-windowed-select\").WindowedMenuList);\n } else {\n // Dynamically import the specific named export from react-windowed-select for SSR support\n import(\"react-windowed-select\").then(module => {\n setWindowedMenuList(() => module.WindowedMenuList);\n });\n }\n }\n }, []);\n\n const [selected, setSelected] = useState(overrideDefaultValue || []);\n const [focusedOptionId, setFocusedOptionId] = useState(\"\");\n const finalOptionRenderer = optionRenderer || OptionRenderer;\n const finalValueRenderer = valueRenderer || ValueRenderer;\n const isControlled = !!customValue;\n const selectedOptions = customValue ?? selected;\n const selectedOptionsMap = useMemo(() => {\n if (Array.isArray(selectedOptions)) {\n return selectedOptions.reduce((acc, option) => ({ ...acc, [option.value]: option }), {});\n }\n return {};\n }, [selectedOptions]);\n\n const overrideAriaLabel = useMemo(() => {\n return (\n ariaLabel ||\n `${readOnly ? \"Readonly \" : \"\"} ${tooltipContent} ${\n Array.isArray(selectedOptions) ? `Selected: ${selectedOptions.map(o => o.label).join(\", \")}` : \"Select\"\n }`\n );\n }, [ariaLabel, readOnly, selectedOptions, tooltipContent]);\n const value = multi ? selectedOptions : customValue;\n\n const inlineStyles = useMemo(() => {\n // We first want to get the default stylized groups (e.g. \"container\", \"menu\").\n const baseStyles = generateBaseStyles({\n size,\n rtl,\n insideOverflowContainer,\n controlRef,\n insideOverflowWithTransformContainer,\n withGroupDivider,\n searchable,\n allowPlaceholderEllipsis\n });\n\n type BaseStyles = typeof baseStyles;\n\n // Then we want to run the consumer's root-level custom styles with our \"base\" override groups.\n const customStyles = extraStyles(baseStyles);\n\n // Lastly, we create a style groups object that makes sure we run each custom group with our basic overrides.\n const mergedStyles: any = Object.entries(customStyles).reduce((accumulator, [stylesGroup, stylesFn]) => {\n return {\n ...accumulator,\n [stylesGroup]: (defaultStyles: BaseStyles, state: DropdownState) => {\n const providedFn = baseStyles[stylesGroup as keyof BaseStyles];\n const provided = providedFn ? providedFn(defaultStyles, state) : defaultStyles;\n\n return stylesFn(provided, state);\n }\n };\n }, {} as BaseStyles);\n\n if (multi) {\n if (multiline) {\n ADD_AUTO_HEIGHT_COMPONENTS.forEach((component: string) => {\n const original = mergedStyles[component];\n mergedStyles[component] = (provided: BaseStyles, state: DropdownState) => ({\n ...original(provided, state),\n height: \"auto\"\n });\n });\n }\n\n const originalValueContainer = mergedStyles.valueContainer;\n mergedStyles.valueContainer = (provided: BaseStyles, state: DropdownState) => ({\n ...originalValueContainer(provided, state),\n paddingLeft: 6\n });\n }\n\n return mergedStyles;\n }, [\n size,\n rtl,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n allowPlaceholderEllipsis,\n extraStyles,\n multi,\n multiline\n ]);\n\n const Menu = useCallback(\n (props: CustomMenuProps) => (\n <MenuComponent\n {...props}\n id={menuId}\n ariaLabel={menuAriaLabel}\n Renderer={menuRenderer}\n dropdownMenuWrapperClassName={dropdownMenuWrapperClassName}\n onScroll={onScroll}\n />\n ),\n [dropdownMenuWrapperClassName, menuRenderer, menuId, menuAriaLabel, onScroll]\n );\n\n const DropdownIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <DropdownIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const Option = useCallback(\n (props: CustomOptionProps) => (\n <OptionComponent\n setFocusedOptionId={setFocusedOptionId}\n {...props}\n Renderer={finalOptionRenderer}\n optionWrapperClassName={optionWrapperClassName}\n />\n ),\n [finalOptionRenderer, optionWrapperClassName, setFocusedOptionId]\n );\n\n const Input = useCallback(\n (props: InputProps | any) => {\n const { focusedOptionId, menuIsOpen } = props.selectProps;\n const ariaActiveDescendant = focusedOptionId && menuIsOpen ? focusedOptionId : \"\";\n return (\n <components.Input\n {...props}\n aria-activedescendant={ariaActiveDescendant}\n role=\"combobox\"\n aria-expanded={!readOnly && menuIsOpen}\n aria-label={inputAriaLabel}\n aria-controls={menuId}\n readOnly={!searchable ? true : undefined}\n />\n );\n },\n [menuId, readOnly]\n );\n\n const SingleValue = useCallback(\n (props: CustomSingleValueProps) => (\n <SingleValueComponent\n {...props}\n readOnly={readOnly}\n Renderer={finalValueRenderer}\n selectedOption={selectedOptions[0]}\n singleValueWrapperClassName={singleValueWrapperClassName}\n />\n ),\n [finalValueRenderer, readOnly, selectedOptions, singleValueWrapperClassName]\n );\n\n const ClearIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <ClearIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const onOptionRemove = useMemo(() => {\n return function (optionValue: number, e: React.MouseEvent | React.KeyboardEvent) {\n if (customOnOptionRemove) {\n customOnOptionRemove(selectedOptionsMap[optionValue]);\n }\n const newSelectedOptions = Array.isArray(selectedOptions)\n ? selectedOptions.filter(option => option.value !== optionValue)\n : selectedOptions;\n\n if (customOnChange) {\n customOnChange(newSelectedOptions, e);\n }\n setSelected(newSelectedOptions);\n };\n }, [customOnChange, customOnOptionRemove, selectedOptions, selectedOptionsMap]);\n\n const customProps = useMemo(\n () => ({\n selectedOptions,\n onSelectedDelete: onOptionRemove,\n isMultiline: multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n controlRef,\n tooltipContent,\n popupsContainerSelector: insideLayerContext ? layerRef?.current : popupsContainerSelector,\n size,\n dialogClassName: multiValueDialogClassName\n }),\n [\n selectedOptions,\n onOptionRemove,\n multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n tooltipContent,\n layerRef,\n popupsContainerSelector,\n insideLayerContext,\n size,\n multiValueDialogClassName\n ]\n );\n const onChange = (option: DropdownOption | DropdownOption[], meta: ActionMeta<DropdownOption>) => {\n if (customOnChange) {\n customOnChange(option, meta);\n }\n\n switch (meta.action) {\n case \"select-option\": {\n const selectedOption = multi ? meta.option : option;\n\n if (onOptionSelect) {\n onOptionSelect(selectedOption);\n }\n\n if (!isControlled) {\n setSelected([...selectedOptions, selectedOption]);\n }\n break;\n }\n\n case \"clear\":\n if (onClear) {\n onClear();\n }\n\n if (!isControlled) {\n if (withMandatoryDefaultOptions) setSelected(overrideDefaultValue);\n else setSelected([]);\n }\n break;\n }\n };\n\n let DropDownComponent: React.ElementType = asyncOptions ? AsyncSelect : Select;\n\n // @ts-expect-error - We need to check if the default export is available\n DropDownComponent = DropDownComponent.default || DropDownComponent;\n\n const asyncAdditions = {\n ...(asyncOptions && {\n loadOptions: asyncOptions,\n cacheOptions,\n ...(defaultOptions && { defaultOptions })\n })\n };\n\n const additions = {\n ...(!asyncOptions && { options }),\n ...(multi && {\n isMulti: true\n })\n };\n\n const closeMenuOnScroll = useCallback(\n (event: React.FocusEvent) => {\n const scrolledElement = event.target;\n if (scrolledElement?.parentElement?.classList.contains(menuStyles.dropdownMenuWrapper)) {\n return false;\n }\n return customCloseMenuOnScroll || insideOverflowContainer || insideOverflowWithTransformContainer;\n },\n [insideOverflowContainer, insideOverflowWithTransformContainer, customCloseMenuOnScroll]\n );\n\n const calculatedPlaceholder = useMemo(\n () =>\n allowPlaceholderEllipsis ? (\n <Text type=\"text2\" color=\"inherit\">\n {placeholder}\n </Text>\n ) : (\n placeholder\n ),\n [allowPlaceholderEllipsis, placeholder]\n );\n\n return (\n <DropDownComponent\n className={cx(styles.dropdown, className)}\n selectProps={customProps}\n components={{\n DropdownIndicator,\n Menu,\n ClearIndicator,\n Input,\n Option,\n Control,\n SingleValue,\n ...(multi && {\n MultiValue: NOOP, // We need it for react-select to behave nice with \"multi\"\n ValueContainer: MultiValueContainer\n }),\n ...(isVirtualized && WindowedMenuList && { MenuList: WindowedMenuList })\n }}\n // When inside scroll we set the menu position by js and we can't follow the drop down location while use scrolling\n closeMenuOnScroll={closeMenuOnScroll}\n size={size}\n noOptionsMessage={noOptionsMessage}\n placeholder={calculatedPlaceholder}\n isDisabled={disabled}\n isClearable={!readOnly && clearable}\n isSearchable={!readOnly}\n readOnly={readOnly}\n aria-readonly={readOnly}\n aria-label={overrideAriaLabel}\n aria-details={tooltipContent}\n aria-haspopup=\"listbox\"\n defaultValue={defaultValue}\n value={value}\n onMenuOpen={onMenuOpen}\n onMenuClose={onMenuClose}\n onFocus={onFocus}\n onBlur={onBlur}\n onMenuScrollToBottom={onMenuScrollToBottom}\n captureMenuScroll={captureMenuScroll}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onInputChange={onInputChange}\n openMenuOnFocus={openMenuOnFocus}\n openMenuOnClick={openMenuOnClick}\n focusedOptionId={focusedOptionId}\n isRtl={rtl}\n styles={inlineStyles}\n theme={customTheme}\n maxMenuHeight={maxMenuHeight}\n menuPortalTarget={overrideMenuPortalTarget}\n menuPlacement={menuPlacement}\n menuPosition={menuPosition}\n menuIsOpen={!readOnly && menuIsOpen}\n tabIndex={tabIndex}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.DROPDOWN, id)}\n data-vibe={ComponentVibeId.DROPDOWN}\n autoFocus={autoFocus}\n closeMenuOnSelect={closeMenuOnSelect}\n ref={ref as React.Ref<any>}\n withMandatoryDefaultOptions={withMandatoryDefaultOptions}\n isOptionSelected={isOptionSelected}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n tabSelectsValue={tabSelectsValue}\n filterOption={filterOption}\n inputValue={inputValue}\n blurInputOnSelect={blurInputOnSelect}\n {...asyncAdditions}\n {...additions}\n />\n );\n }\n);\n\ninterface DropdownStaticProps {\n sizes: typeof BaseSizes;\n chipColors: typeof DROPDOWN_CHIP_COLORS;\n menuPlacements: typeof DROPDOWN_MENU_PLACEMENT;\n menuPositions: typeof DROPDOWN_MENU_POSITION;\n createFilter: typeof createFilter;\n}\n\nexport default withStaticProps<DropdownComponentProps, DropdownStaticProps>(Dropdown, {\n sizes: BaseSizes,\n chipColors: DROPDOWN_CHIP_COLORS,\n menuPlacements: DROPDOWN_MENU_PLACEMENT,\n menuPositions: DROPDOWN_MENU_POSITION,\n createFilter\n});\n\nfunction isTestEnv() {\n try {\n return (\n typeof require === \"function\" &&\n typeof module !== \"undefined\" &&\n typeof process !== \"undefined\" &&\n process.env.NODE_ENV === \"test\"\n );\n } catch (e) {\n return false;\n }\n}\n"],"names":["withStaticProps","forwardRef","_ref","ref","className","optionWrapperClassName","singleValueWrapperClassName","dropdownMenuWrapperClassName","_ref$placeholder","placeholder","allowPlaceholderEllipsis","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$onMenuOpen","onMenuOpen","NOOP","_ref$onMenuClose","onMenuClose","_ref$onFocus","onFocus","_ref$onBlur","onBlur","_ref$onScroll","onScroll","_ref$onMenuScrollToBo","onMenuScrollToBottom","_ref$onChange","onChange","customOnChange","_ref$searchable","searchable","_ref$captureMenuScrol","captureMenuScroll","_ref$options","options","defaultValue","customValue","value","noOptionsMessage","openMenuOnFocus","openMenuOnClick","_ref$clearable","clearable","OptionRenderer","optionRenderer","ValueRenderer","valueRenderer","menuRenderer","_ref$menuPlacement","menuPlacement","rtl","_ref$size","size","asyncOptions","cacheOptions","defaultOptions","isVirtualized","menuPortalTarget","_ref$extraStyles","extraStyles","defaultCustomStyles","maxMenuHeight","menuIsOpen","_ref$tabIndex","tabIndex","_ref$id","id","DROPDOWN_ID","_ref$menuId","menuId","DROPDOWN_MENU_ID","_ref$menuAriaLabel","menuAriaLabel","DROPDOWN_MENU_ARIA_LABEL","_ref$inputAriaLabel","inputAriaLabel","DROPDOWN_INPUT_ARIA_LABEL","_ref$autoFocus","autoFocus","_ref$multi","multi","_ref$multiline","multiline","customOnOptionRemove","onOptionRemove","onOptionSelect","onClear","_ref$onInputChange","onInputChange","_ref$closeMenuOnSelec","closeMenuOnSelect","_ref$closeMenuOnScrol","closeMenuOnScroll","customCloseMenuOnScroll","_ref$withMandatoryDef","withMandatoryDefaultOptions","isOptionSelected","_ref$insideOverflowCo","insideOverflowContainer","_ref$insideOverflowWi","insideOverflowWithTransformContainer","_ref$insideLayerConte","insideLayerContext","_ref$tooltipContent","tooltipContent","_ref$onKeyDown","onKeyDown","_ref$isLoading","isLoading","loadingMessage","ariaLabel","_ref$tabSelectsValue","tabSelectsValue","popupsContainerSelector","filterOption","_ref$menuPosition","menuPosition","dataTestId","_ref$withGroupDivider","withGroupDivider","inputValue","blurInputOnSelect","multiValueDialogClassName","controlRef","useRef","layerRef","useContext","LayerContext","overrideMenuPortalTarget","current","document","querySelector","overrideDefaultValue","useMemo","Array","isArray","map","df","Object","assign","isMandatory","BaseSelect","prototype","renderLiveRegion","_useState","useState","_useState2","_slicedToArray","WindowedMenuList","setWindowedMenuList","useEffect","isClient","require","module","process","env","NODE_ENV","e","isTestEnv","import","then","_useState3","_useState4","selected","setSelected","_useState5","_useState6","focusedOptionId","setFocusedOptionId","finalOptionRenderer","finalValueRenderer","isControlled","selectedOptions","selectedOptionsMap","reduce","acc","option","_defineProperty","overrideAriaLabel","concat","o","label","join","inlineStyles","baseStyles","generateBaseStyles","customStyles","mergedStyles","entries","accumulator","_ref2","_ref3","stylesGroup","stylesFn","defaultStyles","state","providedFn","provided","ADD_AUTO_HEIGHT_COMPONENTS","forEach","component","original","height","originalValueContainer","valueContainer","paddingLeft","Menu","useCallback","props","React","createElement","MenuComponent","Renderer","DropdownIndicator","DropdownIndicatorComponent","Option","OptionComponent","Input","_props$selectProps","selectProps","components","role","undefined","SingleValue","SingleValueComponent","selectedOption","ClearIndicator","ClearIndicatorComponent","optionValue","newSelectedOptions","filter","customProps","onSelectedDelete","isMultiline","dialogClassName","DropDownComponent","AsyncSelect","Select","default","asyncAdditions","loadOptions","additions","isMulti","event","scrolledElement","target","parentElement","_a","classList","contains","menuStyles","dropdownMenuWrapper","calculatedPlaceholder","Text","type","color","cx","styles","dropdown","Control","MultiValue","ValueContainer","MultiValueContainer","MenuList","isDisabled","isClearable","isSearchable","meta","action","_toConsumableArray","isRtl","theme","customTheme","getTestId","ComponentDefaultTestId","DROPDOWN","ComponentVibeId","sizes","BaseSizes","chipColors","DROPDOWN_CHIP_COLORS","menuPlacements","DROPDOWN_MENU_PLACEMENT","menuPositions","DROPDOWN_MENU_POSITION","createFilter"],"mappings":"yoDA2CA,IAwdeA,EAAAA,EAxdEC,GACf,SAAAC,EA4EEC,GACE,IA3EAC,EAASF,EAATE,UACAC,EAAsBH,EAAtBG,uBACAC,EAA2BJ,EAA3BI,4BACAC,EAA4BL,EAA5BK,6BAA4BC,EAAAN,EAC5BO,YAAAA,OAAc,IAAHD,EAAG,GAAEA,EAChBE,EAAwBR,EAAxBQ,yBAAwBC,EAAAT,EACxBU,SAAAA,OAAW,IAAHD,GAAQA,EAAAE,EAAAX,EAChBY,SAAAA,OAAW,IAAHD,GAAQA,EAAAE,EAAAb,EAChBc,WAAAA,OAAaC,IAAHF,EAAGE,EAAIF,EAAAG,GAAAhB,EACjBiB,YAAAA,QAAcF,IAAHC,GAAGD,EAAIC,GAAAE,GAAAlB,EAClBmB,QAAAA,QAAUJ,IAAHG,GAAGH,EAAIG,GAAAE,GAAApB,EACdqB,OAAAA,QAASN,IAAHK,GAAGL,EAAIK,GAAAE,GAAAtB,EACbuB,SAAAA,QAAWR,IAAHO,GAAGP,EAAIO,GAAAE,GAAAxB,EACfyB,qBAAAA,QAAuBV,IAAHS,GAAGT,EAAIS,GAAAE,GAAA1B,EAC3B2B,SAAUC,QAAiBb,IAAHW,GAAGX,EAAIW,GAAAG,GAAA7B,EAC/B8B,WAAAA,QAAa,IAAHD,IAAOA,GAAAE,GAAA/B,EACjBgC,kBAAAA,QAAoB,IAAHD,IAAQA,GAAAE,GAAAjC,EACzBkC,QAAAA,QAAU,IAAHD,GAAG,GAAEA,GACZE,GAAYnC,EAAZmC,aACOC,GAAWpC,EAAlBqC,MACAC,GAAgBtC,EAAhBsC,iBACAC,GAAevC,EAAfuC,gBACAC,GAAexC,EAAfwC,gBAAeC,GAAAzC,EACf0C,UAAAA,QAAY,IAAHD,IAAOA,GAChBE,GAAc3C,EAAd2C,eACAC,GAAc5C,EAAd4C,eACAC,GAAa7C,EAAb6C,cACAC,GAAa9C,EAAb8C,cACAC,GAAY/C,EAAZ+C,aAAYC,GAAAhD,EACZiD,cAAAA,QAAgB,IAAHD,GAAG,SAAQA,GACxBE,GAAGlD,EAAHkD,IAAGC,GAAAnD,EACHoD,KAAAA,QAAO,IAAHD,GAAG,SAAQA,GACfE,GAAYrD,EAAZqD,aACAC,GAAYtD,EAAZsD,aACAC,GAAcvD,EAAduD,eACAC,GAAaxD,EAAbwD,cACAC,GAAgBzD,EAAhByD,iBAAgBC,GAAA1D,EAChB2D,YAAAA,QAAcC,IAAHF,GAAGE,EAAmBF,GACjCG,GAAa7D,EAAb6D,cACAC,GAAU9D,EAAV8D,WAAUC,GAAA/D,EACVgE,SAAAA,QAAW,IAAHD,GAAG,IAAGA,GAAAE,GAAAjE,EACdkE,GAAAA,QAAKC,IAAHF,GAAGE,EAAWF,GAAAG,GAAApE,EAChBqE,OAAAA,QAASC,IAAHF,GAAGE,EAAgBF,GAAAG,GAAAvE,EACzBwE,cAAAA,QAAgBC,IAAHF,GAAGE,EAAwBF,GAAAG,GAAA1E,EACxC2E,eAAAA,QAAiBC,IAAHF,GAAGE,EAAyBF,GAAAG,GAAA7E,EAC1C8E,UAAAA,QAAY,IAAHD,IAAQA,GAAAE,GAAA/E,EACjBgF,MAAAA,QAAQ,IAAHD,IAAQA,GAAAE,GAAAjF,EACbkF,UAAAA,QAAY,IAAHD,IAAQA,GACDE,GAAoBnF,EAApCoF,eACAC,GAAcrF,EAAdqF,eACAC,GAAOtF,EAAPsF,QAAOC,GAAAvF,EACPwF,cAAAA,QAAgBzE,IAAHwE,GAAGxE,EAAIwE,GAAAE,GAAAzF,EACpB0F,kBAAAA,QAAiB,IAAAD,IAAIT,GAAKS,GAAAE,GAAA3F,EAC1B4F,kBAAmBC,QAA0B,IAAHF,IAAQA,GAAAG,GAAA9F,EAClD+F,4BAAAA,QAA8B,IAAHD,IAAQA,GACnCE,GAAgBhG,EAAhBgG,iBAAgBC,GAAAjG,EAChBkG,wBAAAA,QAA0B,IAAHD,IAAQA,GAAAE,GAAAnG,EAC/BoG,qCAAAA,QAAuC,IAAHD,IAAQA,GAAAE,GAAArG,EAC5CsG,mBAAAA,QAAqB,IAAHD,IAAQA,GAAAE,GAAAvG,EAC1BwG,eAAAA,QAAiB,IAAHD,GAAG,GAAEA,GAAAE,GAAAzG,EACnB0G,UAAAA,QAAY3F,IAAH0F,GAAG1F,EAAI0F,GAAAE,GAAA3G,EAChB4G,UAAAA,QAAY,IAAHD,IAAQA,GACjBE,GAAc7G,EAAd6G,eACAC,GAAS9G,EAAT8G,UAASC,GAAA/G,EACTgH,gBAAAA,QAAkB,IAAHD,IAAOA,GACtBE,GAAuBjH,EAAvBiH,wBACAC,GAAYlH,EAAZkH,aAAYC,GAAAnH,EACZoH,aAAAA,QAAe,IAAHD,GAAG,WAAUA,GACVE,GAAUrH,EAAzB,eAAasH,GAAAtH,EACbuH,iBAAAA,QAAmB,IAAHD,IAAQA,GACxBE,GAAUxH,EAAVwH,WACAC,GAAiBzH,EAAjByH,kBACAC,GAAyB1H,EAAzB0H,0BAIIC,GAAaC,IACXC,GAAaC,EAAWC,GAAxBF,SACFG,GACH1B,KAAsBuB,cAAA,EAAAA,GAAUI,UACjCxE,IACCwD,IAA2BiB,SAASC,cAAclB,IAC/CmB,GAAuBC,GAAQ,WACnC,OAAIlG,GACKmG,MAAMC,QAAQpG,IAChBA,GAAkCqG,KAAI,SAAAC,GAAE,OAAIC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAMF,GAAI,CAAAG,aAAa,sCAC9DzG,IAA+B,CAAEyG,aAAa,IAGnDzG,EACT,GAAG,CAACA,KAEJ0G,EAAWC,UAAUC,iBAAmB,WACtC,OAAO,MAIT,IAAAC,GAAgDC,EAAS,MAAKC,GAAAC,EAAAH,GAAA,GAAvDI,GAAgBF,GAAA,GAAEG,GAAmBH,GAAA,GAC5CI,GAAU,WACJC,OA0XV,WACE,IACE,MACqB,mBAAZC,SACW,oBAAXC,QACY,oBAAZC,SACkB,SAAzBA,QAAQC,IAAIC,QAEf,CAAC,MAAOC,GACP,OAAO,CACR,CACH,CApYYC,GAKFC,OAAO,yBAAyBC,MAAK,SAAAP,GACnCJ,IAAoB,WAAA,OAAMI,EAAOL,mBACnC,IALAC,IAAoB,WAAA,OAAMG,QAAQ,yBAAyBJ,oBAQhE,GAAE,IAEH,IAAAa,GAAgChB,EAASb,IAAwB,IAAG8B,GAAAf,EAAAc,GAAA,GAA7DE,GAAQD,GAAA,GAAEE,GAAWF,GAAA,GAC5BG,GAA8CpB,EAAS,IAAGqB,GAAAnB,EAAAkB,GAAA,GAAnDE,GAAeD,GAAA,GAAEE,GAAkBF,GAAA,GACpCG,GAAsB7H,IAAkBD,GACxC+H,GAAqB5H,IAAiBD,GACtC8H,KAAiBvI,GACjBwI,GAAkBxI,SAAAA,GAAe+H,GACjCU,GAAqBxC,GAAQ,WACjC,OAAIC,MAAMC,QAAQqC,IACTA,GAAgBE,QAAO,SAACC,EAAKC,GAAM,OAAKtC,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAMoC,GAAKE,EAACD,CAAAA,EAAAA,EAAO3I,MAAQ2I,GAAS,GAAE,CAAE,GAElF,EACT,GAAG,CAACJ,KAEEM,GAAoB7C,GAAQ,WAChC,OACEvB,IAAS,GAAAqE,OACNvK,EAAW,YAAc,GAAE,KAAAuK,OAAI3E,GAAc2E,KAAAA,OAC9C7C,MAAMC,QAAQqC,IAAgB,aAAAO,OAAgBP,GAAgBpC,KAAI,SAAA4C,GAAC,OAAIA,EAAEC,KAAK,IAAEC,KAAK,OAAU,SAGpG,GAAE,CAACxE,GAAWlG,EAAUgK,GAAiBpE,KACpCnE,GAAQ2C,GAAQ4F,GAAkBxI,GAElCmJ,GAAelD,GAAQ,WAE3B,IAAMmD,EAAaC,EAAmB,CACpCrI,KAAAA,GACAF,IAAAA,GACAgD,wBAAAA,GACAyB,WAAAA,GACAvB,qCAAAA,GACAmB,iBAAAA,GACAzF,WAAAA,GACAtB,yBAAAA,IAMIkL,EAAe/H,GAAY6H,GAG3BG,EAAoBjD,OAAOkD,QAAQF,GAAcZ,QAAO,SAACe,EAAWC,GAA6B,IAAAC,EAAA5C,EAAA2C,EAAA,GAA1BE,EAAWD,EAAA,GAAEE,EAAQF,EAAA,GAChG,OACKrD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EAAAkD,GACHZ,EAACe,CAAAA,EAAAA,GAAc,SAACE,EAA2BC,GACzC,IAAMC,EAAaZ,EAAWQ,GACxBK,EAAWD,EAAaA,EAAWF,EAAeC,GAASD,EAEjE,OAAOD,EAASI,EAAUF,EAC3B,IAEJ,GAAE,CAAgB,GAEnB,GAAInH,GAAO,CACLE,IACFoH,EAA2BC,SAAQ,SAACC,GAClC,IAAMC,EAAWd,EAAaa,GAC9Bb,EAAaa,GAAa,SAACH,EAAsBF,GAAoB,sCAChEM,EAASJ,EAAUF,KACtBO,OAAQ,SAEZ,IAGF,IAAMC,EAAyBhB,EAAaiB,eAC5CjB,EAAaiB,eAAiB,SAACP,EAAsBF,GAAoB,OAAKzD,OAAAC,OAAAD,OAAAC,OAAA,CAAA,EACzEgE,EAAuBN,EAAUF,KACpCU,YAAa,IAEhB,CAED,OAAOlB,CACT,GAAG,CACDvI,GACAF,GACAgD,GACAE,GACA5F,EACAmD,GACAqB,GACAE,KAGI4H,GAAOC,GACX,SAACC,GAAsB,OACrBC,EAAAC,cAACC,EACKzE,OAAAC,OAAA,CAAA,EAAAqE,GACJ9I,GAAIG,GACJyC,UAAWtC,GACX4I,SAAUrK,GACV1C,6BAA8BA,EAC9BkB,SAAUA,KACV,GAEJ,CAAClB,EAA8B0C,GAAcsB,GAAQG,GAAejD,KAGhE8L,GAAoBN,GACxB,SAACC,GAAkE,OACjEC,EAACC,cAAAI,mBAA+BN,EAAK,CAAE5J,KAAMA,KAAQ,GAEvD,CAACA,KAGGmK,GAASR,GACb,SAACC,GAAwB,OACvBC,gBAACO,EAAe9E,OAAAC,OAAA,CACd6B,mBAAoBA,IAChBwC,EACJ,CAAAI,SAAU3C,GACVtK,uBAAwBA,IAE3B,GACD,CAACsK,GAAqBtK,EAAwBqK,KAG1CiD,GAAQV,GACZ,SAACC,GACC,IAAAU,EAAwCV,EAAMW,YAAtCpD,EAAemD,EAAfnD,gBAAiBzG,EAAU4J,EAAV5J,WAEzB,OACEmJ,EAACC,cAAAU,EAAWH,uBACNT,EAAK,CAAA,wBAHgBzC,GAAmBzG,EAAayG,EAAkB,GAK3EsD,KAAK,WACU,iBAACjN,GAAYkD,EAChB,aAAAa,mBACGN,GACfzD,UAAWkB,SAAoBgM,IAGrC,GACA,CAACzJ,GAAQzD,IAGLmN,GAAchB,GAClB,SAACC,GAA6B,OAC5BC,gBAACe,EAAoBtF,OAAAC,OAAA,CAAA,EACfqE,EACJ,CAAApM,SAAUA,EACVwM,SAAU1C,GACVuD,eAAgBrD,GAAgB,GAChCxK,4BAA6BA,IAEhC,GACD,CAACsK,GAAoB9J,EAAUgK,GAAiBxK,IAG5C8N,GAAiBnB,GACrB,SAACC,GAAkE,OACjEC,EAACC,cAAAiB,mBAA4BnB,EAAK,CAAE5J,KAAMA,KAAQ,GAEpD,CAACA,KAGGgC,GAAiBiD,GAAQ,WAC7B,OAAO,SAAU+F,EAAqBvE,GAChC1E,IACFA,GAAqB0F,GAAmBuD,IAE1C,IAAMC,EAAqB/F,MAAMC,QAAQqC,IACrCA,GAAgB0D,QAAO,SAAAtD,GAAM,OAAIA,EAAO3I,QAAU+L,CAAW,IAC7DxD,GAEAhJ,IACFA,GAAeyM,EAAoBxE,GAErCO,GAAYiE,GAEf,GAAE,CAACzM,GAAgBuD,GAAsByF,GAAiBC,KAErD0D,GAAclG,GAClB,WAAA,MAAO,CACLuC,gBAAAA,GACA4D,iBAAkBpJ,GAClBqJ,YAAavJ,GACbgB,wBAAAA,GACAE,qCAAAA,GACAuB,WAAAA,GACAnB,eAAAA,GACAS,wBAAyBX,GAAqBuB,cAAQ,EAARA,GAAUI,QAAUhB,GAClE7D,KAAAA,GACAsL,gBAAiBhH,GACjB,GACF,CACEkD,GACAxF,GACAF,GACAgB,GACAE,GACAI,GACAqB,GACAZ,GACAX,GACAlD,GACAsE,KAmCAiH,GAAuCtL,GAAeuL,EAAcC,EAGxEF,GAAoBA,GAAkBG,SAAWH,GAEjD,IAAMI,oBACA1L,mBACF2L,YAAa3L,GACbC,aAAAA,IACIC,IAAkB,CAAEA,eAAAA,MAItB0L,GAASvG,OAAAC,OAAAD,OAAAC,OAAA,CAAA,GACRtF,IAAgB,CAAEnB,QAAAA,KACnB8C,IAAS,CACXkK,SAAS,IAIPtJ,GAAoBmH,GACxB,SAACoC,SACOC,EAAkBD,EAAME,OAC9B,QAAoC,UAAhCD,aAAe,EAAfA,EAAiBE,qBAAe,IAAAC,OAAA,EAAAA,EAAAC,UAAUC,SAASC,EAAWC,wBAG3D9J,IAA2BK,IAA2BE,GAC9D,GACD,CAACF,GAAyBE,GAAsCP,KAG5D+J,GAAwBvH,GAC5B,WAAA,OACE7H,EACEyM,EAAAC,cAAC2C,EAAK,CAAAC,KAAK,QAAQC,MAAM,WACtBxP,GAGHA,CACD,GACH,CAACC,EAA0BD,IAG7B,OACE0M,gBAAC0B,GAAiBjG,OAAAC,OAAA,CAChBzI,UAAW8P,EAAGC,EAAOC,SAAUhQ,GAC/ByN,YAAaY,GACbX,WAAUlF,OAAAC,OAAAD,OAAAC,OAAA,CACR0E,kBAAAA,GACAP,KAAAA,GACAoB,eAAAA,GACAT,MAAAA,GACAF,OAAAA,GACA4C,QAAAA,EACApC,YAAAA,IACI/I,IAAS,CACXoL,WAAYrP,EACZsP,eAAgBC,IAEd9M,IAAiB4F,IAAoB,CAAEmH,SAAUnH,KAGvDxD,kBAAmBA,GACnBxC,KAAMA,GACNd,iBAAkBA,GAClB/B,YAAaqP,GACbY,WAAY9P,EACZ+P,aAAc7P,GAAY8B,GAC1BgO,cAAe9P,EACfA,SAAUA,EAAQ,gBACHA,EAAQ,aACXsK,GACE,eAAA1E,mBACA,UACdrE,aAAcA,GACdE,MAAOA,GACPvB,WAAYA,EACZG,YAAaA,GACbE,QAASA,GACTE,OAAQA,GACRI,qBAAsBA,GACtBO,kBAAmBA,GACnBL,SAlHa,SAACqJ,EAA2C2F,GAK3D,OAJI/O,IACFA,GAAeoJ,EAAQ2F,GAGjBA,EAAKC,QACX,IAAK,gBACH,IAAM3C,EAAiBjJ,GAAQ2L,EAAK3F,OAASA,EAEzC3F,IACFA,GAAe4I,GAGZtD,IACHP,GAAW,GAAAe,OAAA0F,EAAKjG,IAAe,CAAEqD,KAEnC,MAGF,IAAK,QACC3I,IACFA,KAGGqF,IAC8BP,GAA7BrE,GAAyCqC,GAC5B,MAyFrB1B,UAAWA,GACXlB,cAAeA,GACfjD,gBAAiBA,GACjBC,gBAAiBA,GACjB+H,gBAAiBA,GACjBuG,MAAO5N,GACP+M,OAAQ1E,GACRwF,MAAOC,EACPnN,cAAeA,GACfJ,iBAAkBuE,GAClB/E,cAAeA,GACfmE,aAAcA,GACdtD,YAAalD,GAAYkD,GACzBE,SAAUA,GACVE,GAAIA,GAAE,cACOmD,IAAc4J,EAAUC,EAAuBC,SAAUjN,IAAG,YAC9DkN,EAAgBD,SAC3BrM,UAAWA,GACXY,kBAAmBA,GACnBzF,IAAKA,EACL8F,4BAA6BA,GAC7BC,iBAAkBA,GAClBY,UAAWA,GACXC,eAAgBA,GAChBG,gBAAiBA,GACjBE,aAAcA,GACdM,WAAYA,GACZC,kBAAmBA,IACfsH,GACAE,IAGV,IAWoF,CACpFoC,MAAOC,EACPC,WAAYC,EACZC,eAAgBC,EAChBC,cAAeC,EACfC,aAAAA"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{objectWithoutProperties as e,slicedToArray as t,defineProperty as n,extends as o}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import i,{useState as a,useEffect as l,useCallback as r}from"react";import{components as
|
|
1
|
+
import{objectWithoutProperties as e,slicedToArray as t,defineProperty as n,extends as o}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import i,{useState as a,useEffect as l,useCallback as r}from"react";import{components as s}from"react-select";import c from"classnames";import{useHiddenOptionsData as p}from"../../hooks/useHiddenOptionsData.js";import u from"../../../Counter/Counter.js";import m from"../../../Dialog/Dialog.js";import d from"../../../DialogContentContainer/DialogContentContainer.js";import h from"../../../Chips/Chips.js";import f from"./MultiValueContainer.module.scss.js";var v=["children","selectProps"];function g(g){var C=g.children,E=g.selectProps,D=e(g,v),w=E.isDisabled,P=E.placeholder,N=E.inputValue,b=E.selectProps,y=void 0===b?{}:b,j=E.withMandatoryDefaultOptions,M=E.readOnly,O=y.selectedOptions,k=y.onSelectedDelete,x=y.isMultiline,A=y.popupsContainerSelector,S=y.size,T=y.dialogClassName,V=C[1],B=a(),I=t(B,2),F=I[0],H=I[1],R=a(!1),W=t(R,2),_=W[0],z=W[1],q=0===O.length&&!N,G=f["chip-with-input-wrapper"],J=c(x?f["multiselect-chip-multi-line"]:f["multiselect-chip-single-line-".concat(S)],n({},f["multiselect-chip-disabled"],w)),K=p({isMultiline:x,ref:F,chipClassName:J,chipWrapperClassName:G,selectedOptionsCount:O.length,isCounterShown:_}),L=K.overflowIndex,Q=K.hiddenOptionsCount;l((function(){z(Q>0)}),[Q]);var U=r((function(e){k(e.value,{action:"remove-value",removedValue:e})}),[k]),X=["primary","negative","positive"],Y=r((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:O.length;return O.map((function(n,o){var a=X.includes(n.chipColor)?n.chipColor:"primary";return o>=e&&t>o?i.createElement(h,{"data-testid":"value-container-chip",key:n.value,className:c(f.chips,J),noAnimation:!0,disabled:w,id:n.value,label:n.label,onDelete:function(){return U(n)},disableClickableBehavior:!0,onMouseDown:function(e){e.stopPropagation()},readOnly:M||j&&n.isMandatory,allowTextSelection:M,leftRenderer:n.leftRenderer,leftAvatar:n.leftAvatar,leftIcon:n.leftIcon,color:a}):null}))}),[O,J,w,M,j,U,S]);return i.createElement(s.ValueContainer,o({selectProps:E},D),i.createElement("div",{className:f["value-container"],onTouchEndCapture:function(e){e.stopPropagation()}},q&&i.createElement("div",{className:f["placeholder-container"]},i.createElement(s.Placeholder,D,P)),i.createElement("div",{className:c(f["value-container-chips"],n({},f["without-placeholder"],!q)),ref:function(e){return H(e)},"data-testid":"value-container-chips"},_?i.createElement(i.Fragment,null,Y(0,L-1),i.createElement("div",{className:G},Y(L-1,L),V),Y(L)):i.createElement(i.Fragment,null,Y(0,O.length-1),i.createElement("div",{className:G},Y(O.length-1),V))),i.createElement("div",null,_&&i.createElement(m,{content:function(){return i.createElement(d,{className:f.valueDialogContent,onMouseDown:function(e){e.stopPropagation()}},Y(L))},containerSelector:A,tooltip:!0,showTrigger:"click",hideTrigger:"clickoutside",position:"bottom",moveBy:{main:5},wrapperClassName:T},i.createElement(u,{kind:"line",prefix:"+",count:Q,onMouseDown:function(e){e.stopPropagation()},noAnimation:!0})))))}export{g as default};
|
|
2
2
|
//# sourceMappingURL=MultiValueContainer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiValueContainer.js","sources":["../../../../../../../src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { components } from \"react-select\";\nimport cx from \"classnames\";\nimport { useHiddenOptionsData } from \"../../hooks/useHiddenOptionsData\";\nimport Counter from \"../../../Counter/Counter\";\nimport Dialog from \"../../../Dialog/Dialog\";\nimport DialogContentContainer from \"../../../DialogContentContainer/DialogContentContainer\";\nimport Chips from \"../../../Chips/Chips\";\nimport classes from \"./MultiValueContainer.module.scss\";\n\nconst DIALOG_OFFSET_Y = 5;\n\nexport default function Container({ children, selectProps, ...otherProps }) {\n const {\n isDisabled,\n placeholder,\n inputValue,\n selectProps: customProps = {},\n withMandatoryDefaultOptions,\n readOnly\n } = selectProps;\n const { selectedOptions, onSelectedDelete, isMultiline, popupsContainerSelector, size } = customProps;\n const clickHandler = children[1];\n const [ref, setRef] = useState();\n const [isCounterShown, setIsCounterShown] = useState(false);\n const showPlaceholder = selectedOptions.length === 0 && !inputValue;\n const chipWrapperClassName = classes[\"chip-with-input-wrapper\"];\n const chipClassName = cx(\n isMultiline ? classes[\"multiselect-chip-multi-line\"] : classes[`multiselect-chip-single-line-${size}`],\n { [classes[\"multiselect-chip-disabled\"]]: isDisabled }\n );\n\n const { overflowIndex, hiddenOptionsCount } = useHiddenOptionsData({\n isMultiline,\n ref,\n chipClassName,\n chipWrapperClassName,\n selectedOptionsCount: selectedOptions.length,\n isCounterShown\n });\n\n useEffect(() => {\n setIsCounterShown(hiddenOptionsCount > 0);\n }, [hiddenOptionsCount]);\n\n const onDelete = useCallback(\n option => {\n onSelectedDelete(option.value, { action: \"remove-value\", removedValue: option });\n },\n [onSelectedDelete]\n );\n\n const DropdownChipColors = [\"primary\", \"negative\", \"positive\"];\n const renderOptions = useCallback(\n (from = 0, to = selectedOptions.length) =>\n selectedOptions.map((option, index) => {\n const overrideChipColor = DropdownChipColors.includes(option.chipColor) ? option.chipColor : \"primary\";\n return index >= from && index < to ? (\n <Chips\n data-testid=\"value-container-chip\"\n key={option.value}\n className={cx(classes.chips, chipClassName)}\n noAnimation\n disabled={isDisabled}\n id={option.value}\n label={option.label}\n onDelete={() => onDelete(option)}\n disableClickableBehavior\n onMouseDown={e => {\n e.stopPropagation();\n }}\n readOnly={readOnly || (withMandatoryDefaultOptions && option.isMandatory)}\n allowTextSelection={readOnly}\n leftRenderer={option.leftRenderer}\n leftAvatar={option.leftAvatar}\n leftIcon={option.leftIcon}\n color={overrideChipColor}\n />\n ) : null;\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedOptions, chipClassName, isDisabled, readOnly, withMandatoryDefaultOptions, onDelete, size]\n );\n\n return (\n <components.ValueContainer selectProps={selectProps} {...otherProps}>\n <div\n className={classes[\"value-container\"]}\n onTouchEndCapture={e => {\n e.stopPropagation();\n }}\n onMouseDown={e => {\n if (e.target === e.currentTarget) {\n e.stopPropagation();\n }\n }}\n >\n {showPlaceholder && (\n <div className={classes[\"placeholder-container\"]}>\n <components.Placeholder {...otherProps}>{placeholder}</components.Placeholder>\n </div>\n )}\n <div\n className={cx(classes[\"value-container-chips\"], { [classes[\"without-placeholder\"]]: !showPlaceholder })}\n ref={newRef => setRef(newRef)}\n data-testid=\"value-container-chips\"\n >\n {isCounterShown ? (\n <>\n {renderOptions(0, overflowIndex - 1)}\n <div className={chipWrapperClassName}>\n {renderOptions(overflowIndex - 1, overflowIndex)}\n {clickHandler}\n </div>\n {renderOptions(overflowIndex)}\n </>\n ) : (\n <>\n {renderOptions(0, selectedOptions.length - 1)}\n <div className={chipWrapperClassName}>\n {renderOptions(selectedOptions.length - 1)}\n {clickHandler}\n </div>\n </>\n )}\n </div>\n <div>\n {isCounterShown && (\n <Dialog\n content={() => (\n <DialogContentContainer\n className={classes.valueDialogContent}\n onMouseDown={e => {\n e.stopPropagation();\n }}\n >\n {renderOptions(overflowIndex)}\n </DialogContentContainer>\n )}\n containerSelector={popupsContainerSelector}\n tooltip\n showTrigger=\"click\"\n hideTrigger=\"clickoutside\"\n position=\"bottom\"\n moveBy={{ main: DIALOG_OFFSET_Y }}\n >\n <Counter\n kind=\"line\"\n prefix=\"+\"\n count={hiddenOptionsCount}\n onMouseDown={e => {\n e.stopPropagation();\n }}\n noAnimation\n />\n </Dialog>\n )}\n </div>\n </div>\n </components.ValueContainer>\n );\n}\n"],"names":["Container","_ref","children","selectProps","otherProps","_objectWithoutProperties","_excluded","isDisabled","placeholder","inputValue","_selectProps$selectPr","customProps","withMandatoryDefaultOptions","readOnly","selectedOptions","onSelectedDelete","isMultiline","popupsContainerSelector","size","clickHandler","_useState","useState","_useState2","_slicedToArray","ref","setRef","_useState3","_useState4","isCounterShown","setIsCounterShown","showPlaceholder","length","chipWrapperClassName","classes","chipClassName","cx","concat","_defineProperty","_useHiddenOptionsData","useHiddenOptionsData","selectedOptionsCount","overflowIndex","hiddenOptionsCount","useEffect","onDelete","useCallback","option","value","action","removedValue","DropdownChipColors","renderOptions","from","arguments","undefined","to","map","index","overrideChipColor","includes","chipColor","React","createElement","Chips","key","className","chips","noAnimation","disabled","id","label","disableClickableBehavior","onMouseDown","e","stopPropagation","isMandatory","allowTextSelection","leftRenderer","leftAvatar","leftIcon","color","components","ValueContainer","_extends","onTouchEndCapture","target","currentTarget","Placeholder","newRef","Fragment","Dialog","content","DialogContentContainer","valueDialogContent","containerSelector","tooltip","showTrigger","hideTrigger","position","moveBy","main","Counter","kind","prefix","count"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MultiValueContainer.js","sources":["../../../../../../../src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { components } from \"react-select\";\nimport cx from \"classnames\";\nimport { useHiddenOptionsData } from \"../../hooks/useHiddenOptionsData\";\nimport Counter from \"../../../Counter/Counter\";\nimport Dialog from \"../../../Dialog/Dialog\";\nimport DialogContentContainer from \"../../../DialogContentContainer/DialogContentContainer\";\nimport Chips from \"../../../Chips/Chips\";\nimport classes from \"./MultiValueContainer.module.scss\";\n\nconst DIALOG_OFFSET_Y = 5;\n\nexport default function Container({ children, selectProps, ...otherProps }) {\n const {\n isDisabled,\n placeholder,\n inputValue,\n selectProps: customProps = {},\n withMandatoryDefaultOptions,\n readOnly\n } = selectProps;\n const { selectedOptions, onSelectedDelete, isMultiline, popupsContainerSelector, size, dialogClassName } =\n customProps;\n const clickHandler = children[1];\n const [ref, setRef] = useState();\n const [isCounterShown, setIsCounterShown] = useState(false);\n const showPlaceholder = selectedOptions.length === 0 && !inputValue;\n const chipWrapperClassName = classes[\"chip-with-input-wrapper\"];\n const chipClassName = cx(\n isMultiline ? classes[\"multiselect-chip-multi-line\"] : classes[`multiselect-chip-single-line-${size}`],\n { [classes[\"multiselect-chip-disabled\"]]: isDisabled }\n );\n\n const { overflowIndex, hiddenOptionsCount } = useHiddenOptionsData({\n isMultiline,\n ref,\n chipClassName,\n chipWrapperClassName,\n selectedOptionsCount: selectedOptions.length,\n isCounterShown\n });\n\n useEffect(() => {\n setIsCounterShown(hiddenOptionsCount > 0);\n }, [hiddenOptionsCount]);\n\n const onDelete = useCallback(\n option => {\n onSelectedDelete(option.value, { action: \"remove-value\", removedValue: option });\n },\n [onSelectedDelete]\n );\n\n const DropdownChipColors = [\"primary\", \"negative\", \"positive\"];\n const renderOptions = useCallback(\n (from = 0, to = selectedOptions.length) =>\n selectedOptions.map((option, index) => {\n const overrideChipColor = DropdownChipColors.includes(option.chipColor) ? option.chipColor : \"primary\";\n return index >= from && index < to ? (\n <Chips\n data-testid=\"value-container-chip\"\n key={option.value}\n className={cx(classes.chips, chipClassName)}\n noAnimation\n disabled={isDisabled}\n id={option.value}\n label={option.label}\n onDelete={() => onDelete(option)}\n disableClickableBehavior\n onMouseDown={e => {\n e.stopPropagation();\n }}\n readOnly={readOnly || (withMandatoryDefaultOptions && option.isMandatory)}\n allowTextSelection={readOnly}\n leftRenderer={option.leftRenderer}\n leftAvatar={option.leftAvatar}\n leftIcon={option.leftIcon}\n color={overrideChipColor}\n />\n ) : null;\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedOptions, chipClassName, isDisabled, readOnly, withMandatoryDefaultOptions, onDelete, size]\n );\n\n return (\n <components.ValueContainer selectProps={selectProps} {...otherProps}>\n <div\n className={classes[\"value-container\"]}\n onTouchEndCapture={e => {\n e.stopPropagation();\n }}\n >\n {showPlaceholder && (\n <div className={classes[\"placeholder-container\"]}>\n <components.Placeholder {...otherProps}>{placeholder}</components.Placeholder>\n </div>\n )}\n <div\n className={cx(classes[\"value-container-chips\"], { [classes[\"without-placeholder\"]]: !showPlaceholder })}\n ref={newRef => setRef(newRef)}\n data-testid=\"value-container-chips\"\n >\n {isCounterShown ? (\n <>\n {renderOptions(0, overflowIndex - 1)}\n <div className={chipWrapperClassName}>\n {renderOptions(overflowIndex - 1, overflowIndex)}\n {clickHandler}\n </div>\n {renderOptions(overflowIndex)}\n </>\n ) : (\n <>\n {renderOptions(0, selectedOptions.length - 1)}\n <div className={chipWrapperClassName}>\n {renderOptions(selectedOptions.length - 1)}\n {clickHandler}\n </div>\n </>\n )}\n </div>\n <div>\n {isCounterShown && (\n <Dialog\n content={() => (\n <DialogContentContainer\n className={classes.valueDialogContent}\n onMouseDown={e => {\n e.stopPropagation();\n }}\n >\n {renderOptions(overflowIndex)}\n </DialogContentContainer>\n )}\n containerSelector={popupsContainerSelector}\n tooltip\n showTrigger=\"click\"\n hideTrigger=\"clickoutside\"\n position=\"bottom\"\n moveBy={{ main: DIALOG_OFFSET_Y }}\n wrapperClassName={dialogClassName}\n >\n <Counter\n kind=\"line\"\n prefix=\"+\"\n count={hiddenOptionsCount}\n onMouseDown={e => {\n e.stopPropagation();\n }}\n noAnimation\n />\n </Dialog>\n )}\n </div>\n </div>\n </components.ValueContainer>\n );\n}\n"],"names":["Container","_ref","children","selectProps","otherProps","_objectWithoutProperties","_excluded","isDisabled","placeholder","inputValue","_selectProps$selectPr","customProps","withMandatoryDefaultOptions","readOnly","selectedOptions","onSelectedDelete","isMultiline","popupsContainerSelector","size","dialogClassName","clickHandler","_useState","useState","_useState2","_slicedToArray","ref","setRef","_useState3","_useState4","isCounterShown","setIsCounterShown","showPlaceholder","length","chipWrapperClassName","classes","chipClassName","cx","concat","_defineProperty","_useHiddenOptionsData","useHiddenOptionsData","selectedOptionsCount","overflowIndex","hiddenOptionsCount","useEffect","onDelete","useCallback","option","value","action","removedValue","DropdownChipColors","renderOptions","from","arguments","undefined","to","map","index","overrideChipColor","includes","chipColor","React","createElement","Chips","key","className","chips","noAnimation","disabled","id","label","disableClickableBehavior","onMouseDown","e","stopPropagation","isMandatory","allowTextSelection","leftRenderer","leftAvatar","leftIcon","color","components","ValueContainer","_extends","onTouchEndCapture","Placeholder","newRef","Fragment","Dialog","content","DialogContentContainer","valueDialogContent","containerSelector","tooltip","showTrigger","hideTrigger","position","moveBy","main","wrapperClassName","Counter","kind","prefix","count"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{slicedToArray as e,defineProperty as n,toConsumableArray as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{getTestId as t,ComponentDefaultTestId as r}from"../../tests/testIds.js";import i from"classnames";import{BaseSizes as a}from"../../constants/sizes.js";import s,{forwardRef as l,useRef as u,useContext as c,useMemo as d,useState as p,useEffect as m,useCallback as f}from"react";import v,{createFilter as O,components as b}from"react-select";import g from"react-select/async";import j from"react-select/base";import{noop as C}from"lodash-es";import y from"./components/menu/menu.js";import M from"./components/DropdownIndicator/DropdownIndicator.js";import h from"./components/option/option.js";import w from"./components/singleValue/singleValue.js";import S from"./components/ClearIndicator/ClearIndicator.js";import I from"./components/MultiValueContainer/MultiValueContainer.js";import{isClient as D}from"../../utils/ssr-utils.js";import{DROPDOWN_CHIP_COLORS as
|
|
1
|
+
import{slicedToArray as e,defineProperty as n,toConsumableArray as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{getTestId as t,ComponentDefaultTestId as r}from"../../tests/testIds.js";import i from"classnames";import{BaseSizes as a}from"../../constants/sizes.js";import s,{forwardRef as l,useRef as u,useContext as c,useMemo as d,useState as p,useEffect as m,useCallback as f}from"react";import v,{createFilter as O,components as b}from"react-select";import g from"react-select/async";import j from"react-select/base";import{noop as C}from"lodash-es";import y from"./components/menu/menu.js";import M from"./components/DropdownIndicator/DropdownIndicator.js";import h from"./components/option/option.js";import w from"./components/singleValue/singleValue.js";import S from"./components/ClearIndicator/ClearIndicator.js";import I from"./components/MultiValueContainer/MultiValueContainer.js";import{isClient as D}from"../../utils/ssr-utils.js";import{DROPDOWN_CHIP_COLORS as V,DROPDOWN_MENU_PLACEMENT as P,DROPDOWN_MENU_POSITION as R,ADD_AUTO_HEIGHT_COMPONENTS as L,defaultCustomStyles as x,DROPDOWN_ID as E,DROPDOWN_MENU_ID as N,DROPDOWN_MENU_ARIA_LABEL as W,DROPDOWN_INPUT_ARIA_LABEL as A}from"./DropdownConstants.js";import T,{customTheme as z}from"./Dropdown.styles.js";import F from"./components/Control/Control.js";import B from"../Text/Text.js";import k from"./components/menu/menu.module.scss.js";import q from"./Dropdown.module.scss.js";import{withStaticProps as H}from"../../types/withStaticProps.js";import"../../utils/colors-vars-map.js";import{ComponentVibeId as _}from"../../tests/constants.js";import G from"../LayerProvider/LayerContext.js";var K=H(l((function(a,l){var O=a.className,V=a.optionWrapperClassName,P=a.singleValueWrapperClassName,R=a.dropdownMenuWrapperClassName,H=a.placeholder,K=void 0===H?"":H,J=a.allowPlaceholderEllipsis,Q=a.disabled,U=void 0!==Q&&Q,X=a.readOnly,Y=void 0!==X&&X,Z=a.onMenuOpen,$=void 0===Z?C:Z,ee=a.onMenuClose,ne=void 0===ee?C:ee,oe=a.onFocus,te=void 0===oe?C:oe,re=a.onBlur,ie=void 0===re?C:re,ae=a.onScroll,se=void 0===ae?C:ae,le=a.onMenuScrollToBottom,ue=void 0===le?C:le,ce=a.onChange,de=void 0===ce?C:ce,pe=a.searchable,me=void 0===pe||pe,fe=a.captureMenuScroll,ve=void 0!==fe&&fe,Oe=a.options,be=void 0===Oe?[]:Oe,ge=a.defaultValue,je=a.value,Ce=a.noOptionsMessage,ye=a.openMenuOnFocus,Me=a.openMenuOnClick,he=a.clearable,we=void 0===he||he,Se=a.OptionRenderer,Ie=a.optionRenderer,De=a.ValueRenderer,Ve=a.valueRenderer,Pe=a.menuRenderer,Re=a.menuPlacement,Le=void 0===Re?"bottom":Re,xe=a.rtl,Ee=a.size,Ne=void 0===Ee?"medium":Ee,We=a.asyncOptions,Ae=a.cacheOptions,Te=a.defaultOptions,ze=a.isVirtualized,Fe=a.menuPortalTarget,Be=a.extraStyles,ke=void 0===Be?x:Be,qe=a.maxMenuHeight,He=a.menuIsOpen,_e=a.tabIndex,Ge=void 0===_e?"0":_e,Ke=a.id,Je=void 0===Ke?E:Ke,Qe=a.menuId,Ue=void 0===Qe?N:Qe,Xe=a.menuAriaLabel,Ye=void 0===Xe?W:Xe,Ze=a.inputAriaLabel,$e=void 0===Ze?A:Ze,en=a.autoFocus,nn=void 0!==en&&en,on=a.multi,tn=void 0!==on&&on,rn=a.multiline,an=void 0!==rn&&rn,sn=a.onOptionRemove,ln=a.onOptionSelect,un=a.onClear,cn=a.onInputChange,dn=void 0===cn?C:cn,pn=a.closeMenuOnSelect,mn=void 0===pn?!tn:pn,fn=a.closeMenuOnScroll,vn=void 0!==fn&&fn,On=a.withMandatoryDefaultOptions,bn=void 0!==On&&On,gn=a.isOptionSelected,jn=a.insideOverflowContainer,Cn=void 0!==jn&&jn,yn=a.insideOverflowWithTransformContainer,Mn=void 0!==yn&&yn,hn=a.insideLayerContext,wn=void 0!==hn&&hn,Sn=a.tooltipContent,In=void 0===Sn?"":Sn,Dn=a.onKeyDown,Vn=void 0===Dn?C:Dn,Pn=a.isLoading,Rn=void 0!==Pn&&Pn,Ln=a.loadingMessage,xn=a.ariaLabel,En=a.tabSelectsValue,Nn=void 0===En||En,Wn=a.popupsContainerSelector,An=a.filterOption,Tn=a.menuPosition,zn=void 0===Tn?"absolute":Tn,Fn=a["data-testid"],Bn=a.withGroupDivider,kn=void 0!==Bn&&Bn,qn=a.inputValue,Hn=a.blurInputOnSelect,_n=a.multiValueDialogClassName,Gn=u(),Kn=c(G).layerRef,Jn=wn&&(null==Kn?void 0:Kn.current)||Fe||Wn&&document.querySelector(Wn),Qn=d((function(){return ge?Array.isArray(ge)?ge.map((function(e){return Object.assign(Object.assign({},e),{isMandatory:!0})})):Object.assign(Object.assign({},ge),{isMandatory:!0}):ge}),[ge]);j.prototype.renderLiveRegion=function(){return null};var Un=p(null),Xn=e(Un,2),Yn=Xn[0],Zn=Xn[1];m((function(){D()&&(!function(){try{return"function"==typeof require&&"undefined"!=typeof module&&"undefined"!=typeof process&&"test"===process.env.NODE_ENV}catch(e){return!1}}()?import("react-windowed-select").then((function(e){Zn((function(){return e.WindowedMenuList}))})):Zn((function(){return require("react-windowed-select").WindowedMenuList})))}),[]);var $n=p(Qn||[]),eo=e($n,2),no=eo[0],oo=eo[1],to=p(""),ro=e(to,2),io=ro[0],ao=ro[1],so=Ie||Se,lo=Ve||De,uo=!!je,co=null!=je?je:no,po=d((function(){return Array.isArray(co)?co.reduce((function(e,o){return Object.assign(Object.assign({},e),n({},o.value,o))}),{}):{}}),[co]),mo=d((function(){return xn||"".concat(Y?"Readonly ":""," ").concat(In," ").concat(Array.isArray(co)?"Selected: ".concat(co.map((function(e){return e.label})).join(", ")):"Select")}),[xn,Y,co,In]),fo=tn?co:je,vo=d((function(){var o=T({size:Ne,rtl:xe,insideOverflowContainer:Cn,controlRef:Gn,insideOverflowWithTransformContainer:Mn,withGroupDivider:kn,searchable:me,allowPlaceholderEllipsis:J}),t=ke(o),r=Object.entries(t).reduce((function(t,r){var i=e(r,2),a=i[0],s=i[1];return Object.assign(Object.assign({},t),n({},a,(function(e,n){var t=o[a],r=t?t(e,n):e;return s(r,n)})))}),{});if(tn){an&&L.forEach((function(e){var n=r[e];r[e]=function(e,o){return Object.assign(Object.assign({},n(e,o)),{height:"auto"})}}));var i=r.valueContainer;r.valueContainer=function(e,n){return Object.assign(Object.assign({},i(e,n)),{paddingLeft:6})}}return r}),[Ne,xe,Cn,Mn,J,ke,tn,an]),Oo=f((function(e){return s.createElement(y,Object.assign({},e,{id:Ue,ariaLabel:Ye,Renderer:Pe,dropdownMenuWrapperClassName:R,onScroll:se}))}),[R,Pe,Ue,Ye,se]),bo=f((function(e){return s.createElement(M,Object.assign({},e,{size:Ne}))}),[Ne]),go=f((function(e){return s.createElement(h,Object.assign({setFocusedOptionId:ao},e,{Renderer:so,optionWrapperClassName:V}))}),[so,V,ao]),jo=f((function(e){var n=e.selectProps,o=n.focusedOptionId,t=n.menuIsOpen;return s.createElement(b.Input,Object.assign({},e,{"aria-activedescendant":o&&t?o:"",role:"combobox","aria-expanded":!Y&&t,"aria-label":$e,"aria-controls":Ue,readOnly:!me||void 0}))}),[Ue,Y]),Co=f((function(e){return s.createElement(w,Object.assign({},e,{readOnly:Y,Renderer:lo,selectedOption:co[0],singleValueWrapperClassName:P}))}),[lo,Y,co,P]),yo=f((function(e){return s.createElement(S,Object.assign({},e,{size:Ne}))}),[Ne]),Mo=d((function(){return function(e,n){sn&&sn(po[e]);var o=Array.isArray(co)?co.filter((function(n){return n.value!==e})):co;de&&de(o,n),oo(o)}}),[de,sn,co,po]),ho=d((function(){return{selectedOptions:co,onSelectedDelete:Mo,isMultiline:an,insideOverflowContainer:Cn,insideOverflowWithTransformContainer:Mn,controlRef:Gn,tooltipContent:In,popupsContainerSelector:wn?null==Kn?void 0:Kn.current:Wn,size:Ne,dialogClassName:_n}}),[co,Mo,an,Cn,Mn,In,Kn,Wn,wn,Ne,_n]),wo=We?g:v;wo=wo.default||wo;var So=Object.assign({},We&&Object.assign({loadOptions:We,cacheOptions:Ae},Te&&{defaultOptions:Te})),Io=Object.assign(Object.assign({},!We&&{options:be}),tn&&{isMulti:!0}),Do=f((function(e){var n,o=e.target;return!(null===(n=null==o?void 0:o.parentElement)||void 0===n?void 0:n.classList.contains(k.dropdownMenuWrapper))&&(vn||Cn||Mn)}),[Cn,Mn,vn]),Vo=d((function(){return J?s.createElement(B,{type:"text2",color:"inherit"},K):K}),[J,K]);return s.createElement(wo,Object.assign({className:i(q.dropdown,O),selectProps:ho,components:Object.assign(Object.assign({DropdownIndicator:bo,Menu:Oo,ClearIndicator:yo,Input:jo,Option:go,Control:F,SingleValue:Co},tn&&{MultiValue:C,ValueContainer:I}),ze&&Yn&&{MenuList:Yn}),closeMenuOnScroll:Do,size:Ne,noOptionsMessage:Ce,placeholder:Vo,isDisabled:U,isClearable:!Y&&we,isSearchable:!Y,readOnly:Y,"aria-readonly":Y,"aria-label":mo,"aria-details":In,"aria-haspopup":"listbox",defaultValue:ge,value:fo,onMenuOpen:$,onMenuClose:ne,onFocus:te,onBlur:ie,onMenuScrollToBottom:ue,captureMenuScroll:ve,onChange:function(e,n){switch(de&&de(e,n),n.action){case"select-option":var t=tn?n.option:e;ln&&ln(t),uo||oo([].concat(o(co),[t]));break;case"clear":un&&un(),uo||oo(bn?Qn:[])}},onKeyDown:Vn,onInputChange:dn,openMenuOnFocus:ye,openMenuOnClick:Me,focusedOptionId:io,isRtl:xe,styles:vo,theme:z,maxMenuHeight:qe,menuPortalTarget:Jn,menuPlacement:Le,menuPosition:zn,menuIsOpen:!Y&&He,tabIndex:Ge,id:Je,"data-testid":Fn||t(r.DROPDOWN,Je),"data-vibe":_.DROPDOWN,autoFocus:nn,closeMenuOnSelect:mn,ref:l,withMandatoryDefaultOptions:bn,isOptionSelected:gn,isLoading:Rn,loadingMessage:Ln,tabSelectsValue:Nn,filterOption:An,inputValue:qn,blurInputOnSelect:Hn},So,Io))})),{sizes:a,chipColors:V,menuPlacements:P,menuPositions:R,createFilter:O});export{K as default};
|
|
2
2
|
//# sourceMappingURL=Dropdown.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dropdown.js","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { BaseSizes, SIZES_VALUES } from \"../../constants\";\nimport React, { forwardRef, useCallback, useMemo, useRef, useState, useEffect, useContext } from \"react\";\nimport Select, { InputProps, components, createFilter, ActionMeta } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport BaseSelect from \"react-select/base\";\nimport { noop as NOOP } from \"lodash-es\";\nimport MenuComponent from \"./components/menu/menu\";\nimport DropdownIndicatorComponent from \"./components/DropdownIndicator/DropdownIndicator\";\nimport OptionComponent from \"./components/option/option\";\nimport SingleValueComponent from \"./components/singleValue/singleValue\";\nimport ClearIndicatorComponent from \"./components/ClearIndicator/ClearIndicator\";\nimport MultiValueContainer from \"./components/MultiValueContainer/MultiValueContainer\";\nimport { isClient } from \"../../utils/ssr-utils\";\nimport {\n ADD_AUTO_HEIGHT_COMPONENTS,\n defaultCustomStyles,\n DROPDOWN_CHIP_COLORS,\n DROPDOWN_ID,\n DROPDOWN_INPUT_ARIA_LABEL,\n DROPDOWN_MENU_ARIA_LABEL,\n DROPDOWN_MENU_ID,\n DROPDOWN_MENU_PLACEMENT,\n DROPDOWN_MENU_POSITION\n} from \"./DropdownConstants\";\nimport generateBaseStyles, { customTheme } from \"./Dropdown.styles\";\nimport Control from \"./components/Control/Control\";\nimport Text from \"../Text/Text\";\nimport menuStyles from \"./components/menu/menu.module.scss\";\nimport styles from \"./Dropdown.module.scss\";\nimport {\n DropdownOption,\n DropdownState,\n CustomMenuProps,\n CustomOptionProps,\n CustomSingleValueProps,\n DropdownComponentProps\n} from \"./Dropdown.types\";\nimport { withStaticProps } from \"../../types\";\nimport { ComponentVibeId } from \"../../tests/constants\";\nimport LayerContext from \"../LayerProvider/LayerContext\";\n\nconst Dropdown = forwardRef(\n (\n {\n className,\n optionWrapperClassName,\n singleValueWrapperClassName,\n dropdownMenuWrapperClassName,\n placeholder = \"\",\n allowPlaceholderEllipsis,\n disabled = false,\n readOnly = false,\n onMenuOpen = NOOP,\n onMenuClose = NOOP,\n onFocus = NOOP,\n onBlur = NOOP,\n onScroll = NOOP,\n onMenuScrollToBottom = NOOP,\n onChange: customOnChange = NOOP,\n searchable = true,\n captureMenuScroll = false,\n options = [],\n defaultValue,\n value: customValue,\n noOptionsMessage,\n openMenuOnFocus,\n openMenuOnClick,\n clearable = true,\n OptionRenderer,\n optionRenderer,\n ValueRenderer,\n valueRenderer,\n menuRenderer,\n menuPlacement = \"bottom\",\n rtl,\n size = \"medium\",\n asyncOptions,\n cacheOptions,\n defaultOptions,\n isVirtualized,\n menuPortalTarget,\n extraStyles = defaultCustomStyles,\n maxMenuHeight,\n menuIsOpen,\n tabIndex = \"0\",\n id = DROPDOWN_ID,\n menuId = DROPDOWN_MENU_ID,\n menuAriaLabel = DROPDOWN_MENU_ARIA_LABEL,\n inputAriaLabel = DROPDOWN_INPUT_ARIA_LABEL,\n autoFocus = false,\n multi = false,\n multiline = false,\n onOptionRemove: customOnOptionRemove,\n onOptionSelect,\n onClear,\n onInputChange = NOOP,\n closeMenuOnSelect = !multi,\n closeMenuOnScroll: customCloseMenuOnScroll = false,\n withMandatoryDefaultOptions = false,\n isOptionSelected,\n insideOverflowContainer = false,\n insideOverflowWithTransformContainer = false,\n insideLayerContext = false,\n tooltipContent = \"\",\n onKeyDown = NOOP,\n isLoading = false,\n loadingMessage,\n ariaLabel,\n tabSelectsValue = true,\n popupsContainerSelector,\n filterOption,\n menuPosition = \"absolute\",\n \"data-testid\": dataTestId,\n withGroupDivider = false,\n inputValue,\n blurInputOnSelect\n }: DropdownComponentProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const controlRef = useRef();\n const { layerRef } = useContext(LayerContext);\n const overrideMenuPortalTarget =\n (insideLayerContext && layerRef?.current) ||\n menuPortalTarget ||\n (popupsContainerSelector && document.querySelector(popupsContainerSelector));\n const overrideDefaultValue = useMemo(() => {\n if (defaultValue) {\n return Array.isArray(defaultValue)\n ? (defaultValue as DropdownOption[]).map(df => ({ ...df, isMandatory: true }))\n : { ...(defaultValue as DropdownOption), isMandatory: true };\n }\n\n return defaultValue;\n }, [defaultValue]);\n\n BaseSelect.prototype.renderLiveRegion = (): null => {\n return null;\n };\n\n // SSR support\n const [WindowedMenuList, setWindowedMenuList] = useState(null);\n useEffect(() => {\n if (isClient()) {\n if (isTestEnv()) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n setWindowedMenuList(() => require(\"react-windowed-select\").WindowedMenuList);\n } else {\n // Dynamically import the specific named export from react-windowed-select for SSR support\n import(\"react-windowed-select\").then(module => {\n setWindowedMenuList(() => module.WindowedMenuList);\n });\n }\n }\n }, []);\n\n const [selected, setSelected] = useState(overrideDefaultValue || []);\n const [focusedOptionId, setFocusedOptionId] = useState(\"\");\n const finalOptionRenderer = optionRenderer || OptionRenderer;\n const finalValueRenderer = valueRenderer || ValueRenderer;\n const isControlled = !!customValue;\n const selectedOptions = customValue ?? selected;\n const selectedOptionsMap = useMemo(() => {\n if (Array.isArray(selectedOptions)) {\n return selectedOptions.reduce((acc, option) => ({ ...acc, [option.value]: option }), {});\n }\n return {};\n }, [selectedOptions]);\n\n const overrideAriaLabel = useMemo(() => {\n return (\n ariaLabel ||\n `${readOnly ? \"Readonly \" : \"\"} ${tooltipContent} ${\n Array.isArray(selectedOptions) ? `Selected: ${selectedOptions.map(o => o.label).join(\", \")}` : \"Select\"\n }`\n );\n }, [ariaLabel, readOnly, selectedOptions, tooltipContent]);\n const value = multi ? selectedOptions : customValue;\n\n const inlineStyles = useMemo(() => {\n // We first want to get the default stylized groups (e.g. \"container\", \"menu\").\n const baseStyles = generateBaseStyles({\n size,\n rtl,\n insideOverflowContainer,\n controlRef,\n insideOverflowWithTransformContainer,\n withGroupDivider,\n searchable,\n allowPlaceholderEllipsis\n });\n\n type BaseStyles = typeof baseStyles;\n\n // Then we want to run the consumer's root-level custom styles with our \"base\" override groups.\n const customStyles = extraStyles(baseStyles);\n\n // Lastly, we create a style groups object that makes sure we run each custom group with our basic overrides.\n const mergedStyles: any = Object.entries(customStyles).reduce((accumulator, [stylesGroup, stylesFn]) => {\n return {\n ...accumulator,\n [stylesGroup]: (defaultStyles: BaseStyles, state: DropdownState) => {\n const providedFn = baseStyles[stylesGroup as keyof BaseStyles];\n const provided = providedFn ? providedFn(defaultStyles, state) : defaultStyles;\n\n return stylesFn(provided, state);\n }\n };\n }, {} as BaseStyles);\n\n if (multi) {\n if (multiline) {\n ADD_AUTO_HEIGHT_COMPONENTS.forEach((component: string) => {\n const original = mergedStyles[component];\n mergedStyles[component] = (provided: BaseStyles, state: DropdownState) => ({\n ...original(provided, state),\n height: \"auto\"\n });\n });\n }\n\n const originalValueContainer = mergedStyles.valueContainer;\n mergedStyles.valueContainer = (provided: BaseStyles, state: DropdownState) => ({\n ...originalValueContainer(provided, state),\n paddingLeft: 6\n });\n }\n\n return mergedStyles;\n }, [\n size,\n rtl,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n allowPlaceholderEllipsis,\n extraStyles,\n multi,\n multiline\n ]);\n\n const Menu = useCallback(\n (props: CustomMenuProps) => (\n <MenuComponent\n {...props}\n id={menuId}\n ariaLabel={menuAriaLabel}\n Renderer={menuRenderer}\n dropdownMenuWrapperClassName={dropdownMenuWrapperClassName}\n onScroll={onScroll}\n />\n ),\n [dropdownMenuWrapperClassName, menuRenderer, menuId, menuAriaLabel, onScroll]\n );\n\n const DropdownIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <DropdownIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const Option = useCallback(\n (props: CustomOptionProps) => (\n <OptionComponent\n setFocusedOptionId={setFocusedOptionId}\n {...props}\n Renderer={finalOptionRenderer}\n optionWrapperClassName={optionWrapperClassName}\n />\n ),\n [finalOptionRenderer, optionWrapperClassName, setFocusedOptionId]\n );\n\n const Input = useCallback(\n (props: InputProps | any) => {\n const { focusedOptionId, menuIsOpen } = props.selectProps;\n const ariaActiveDescendant = focusedOptionId && menuIsOpen ? focusedOptionId : \"\";\n return (\n <components.Input\n {...props}\n aria-activedescendant={ariaActiveDescendant}\n role=\"combobox\"\n aria-expanded={!readOnly && menuIsOpen}\n aria-label={inputAriaLabel}\n aria-controls={menuId}\n readOnly={!searchable ? true : undefined}\n />\n );\n },\n [menuId, readOnly]\n );\n\n const SingleValue = useCallback(\n (props: CustomSingleValueProps) => (\n <SingleValueComponent\n {...props}\n readOnly={readOnly}\n Renderer={finalValueRenderer}\n selectedOption={selectedOptions[0]}\n singleValueWrapperClassName={singleValueWrapperClassName}\n />\n ),\n [finalValueRenderer, readOnly, selectedOptions, singleValueWrapperClassName]\n );\n\n const ClearIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <ClearIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const onOptionRemove = useMemo(() => {\n return function (optionValue: number, e: React.MouseEvent | React.KeyboardEvent) {\n if (customOnOptionRemove) {\n customOnOptionRemove(selectedOptionsMap[optionValue]);\n }\n const newSelectedOptions = Array.isArray(selectedOptions)\n ? selectedOptions.filter(option => option.value !== optionValue)\n : selectedOptions;\n\n if (customOnChange) {\n customOnChange(newSelectedOptions, e);\n }\n setSelected(newSelectedOptions);\n };\n }, [customOnChange, customOnOptionRemove, selectedOptions, selectedOptionsMap]);\n\n const customProps = useMemo(\n () => ({\n selectedOptions,\n onSelectedDelete: onOptionRemove,\n isMultiline: multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n controlRef,\n tooltipContent,\n popupsContainerSelector: insideLayerContext ? layerRef?.current : popupsContainerSelector,\n size\n }),\n [\n selectedOptions,\n onOptionRemove,\n multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n tooltipContent,\n layerRef,\n popupsContainerSelector,\n insideLayerContext,\n size\n ]\n );\n const onChange = (option: DropdownOption | DropdownOption[], meta: ActionMeta<DropdownOption>) => {\n if (customOnChange) {\n customOnChange(option, meta);\n }\n\n switch (meta.action) {\n case \"select-option\": {\n const selectedOption = multi ? meta.option : option;\n\n if (onOptionSelect) {\n onOptionSelect(selectedOption);\n }\n\n if (!isControlled) {\n setSelected([...selectedOptions, selectedOption]);\n }\n break;\n }\n\n case \"clear\":\n if (onClear) {\n onClear();\n }\n\n if (!isControlled) {\n if (withMandatoryDefaultOptions) setSelected(overrideDefaultValue);\n else setSelected([]);\n }\n break;\n }\n };\n\n let DropDownComponent: React.ElementType = asyncOptions ? AsyncSelect : Select;\n\n // @ts-expect-error - We need to check if the default export is available\n DropDownComponent = DropDownComponent.default || DropDownComponent;\n\n const asyncAdditions = {\n ...(asyncOptions && {\n loadOptions: asyncOptions,\n cacheOptions,\n ...(defaultOptions && { defaultOptions })\n })\n };\n\n const additions = {\n ...(!asyncOptions && { options }),\n ...(multi && {\n isMulti: true\n })\n };\n\n const closeMenuOnScroll = useCallback(\n (event: React.FocusEvent) => {\n const scrolledElement = event.target;\n if (scrolledElement?.parentElement?.classList.contains(menuStyles.dropdownMenuWrapper)) {\n return false;\n }\n return customCloseMenuOnScroll || insideOverflowContainer || insideOverflowWithTransformContainer;\n },\n [insideOverflowContainer, insideOverflowWithTransformContainer, customCloseMenuOnScroll]\n );\n\n const calculatedPlaceholder = useMemo(\n () =>\n allowPlaceholderEllipsis ? (\n <Text type=\"text2\" color=\"inherit\">\n {placeholder}\n </Text>\n ) : (\n placeholder\n ),\n [allowPlaceholderEllipsis, placeholder]\n );\n\n return (\n <DropDownComponent\n className={cx(styles.dropdown, className)}\n selectProps={customProps}\n components={{\n DropdownIndicator,\n Menu,\n ClearIndicator,\n Input,\n Option,\n Control,\n SingleValue,\n ...(multi && {\n MultiValue: NOOP, // We need it for react-select to behave nice with \"multi\"\n ValueContainer: MultiValueContainer\n }),\n ...(isVirtualized && WindowedMenuList && { MenuList: WindowedMenuList })\n }}\n // When inside scroll we set the menu position by js and we can't follow the drop down location while use scrolling\n closeMenuOnScroll={closeMenuOnScroll}\n size={size}\n noOptionsMessage={noOptionsMessage}\n placeholder={calculatedPlaceholder}\n isDisabled={disabled}\n isClearable={!readOnly && clearable}\n isSearchable={!readOnly}\n readOnly={readOnly}\n aria-readonly={readOnly}\n aria-label={overrideAriaLabel}\n aria-details={tooltipContent}\n aria-haspopup=\"listbox\"\n defaultValue={defaultValue}\n value={value}\n onMenuOpen={onMenuOpen}\n onMenuClose={onMenuClose}\n onFocus={onFocus}\n onBlur={onBlur}\n onMenuScrollToBottom={onMenuScrollToBottom}\n captureMenuScroll={captureMenuScroll}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onInputChange={onInputChange}\n openMenuOnFocus={openMenuOnFocus}\n openMenuOnClick={openMenuOnClick}\n focusedOptionId={focusedOptionId}\n isRtl={rtl}\n styles={inlineStyles}\n theme={customTheme}\n maxMenuHeight={maxMenuHeight}\n menuPortalTarget={overrideMenuPortalTarget}\n menuPlacement={menuPlacement}\n menuPosition={menuPosition}\n menuIsOpen={!readOnly && menuIsOpen}\n tabIndex={tabIndex}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.DROPDOWN, id)}\n data-vibe={ComponentVibeId.DROPDOWN}\n autoFocus={autoFocus}\n closeMenuOnSelect={closeMenuOnSelect}\n ref={ref as React.Ref<any>}\n withMandatoryDefaultOptions={withMandatoryDefaultOptions}\n isOptionSelected={isOptionSelected}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n tabSelectsValue={tabSelectsValue}\n filterOption={filterOption}\n inputValue={inputValue}\n blurInputOnSelect={blurInputOnSelect}\n {...asyncAdditions}\n {...additions}\n />\n );\n }\n);\n\ninterface DropdownStaticProps {\n sizes: typeof BaseSizes;\n chipColors: typeof DROPDOWN_CHIP_COLORS;\n menuPlacements: typeof DROPDOWN_MENU_PLACEMENT;\n menuPositions: typeof DROPDOWN_MENU_POSITION;\n createFilter: typeof createFilter;\n}\n\nexport default withStaticProps<DropdownComponentProps, DropdownStaticProps>(Dropdown, {\n sizes: BaseSizes,\n chipColors: DROPDOWN_CHIP_COLORS,\n menuPlacements: DROPDOWN_MENU_PLACEMENT,\n menuPositions: DROPDOWN_MENU_POSITION,\n createFilter\n});\n\nfunction isTestEnv() {\n try {\n return (\n typeof require === \"function\" &&\n typeof module !== \"undefined\" &&\n typeof process !== \"undefined\" &&\n process.env.NODE_ENV === \"test\"\n );\n } catch (e) {\n return false;\n }\n}\n"],"names":["withStaticProps","forwardRef","_ref","ref","className","optionWrapperClassName","singleValueWrapperClassName","dropdownMenuWrapperClassName","_ref$placeholder","placeholder","allowPlaceholderEllipsis","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$onMenuOpen","onMenuOpen","NOOP","_ref$onMenuClose","onMenuClose","_ref$onFocus","onFocus","_ref$onBlur","onBlur","_ref$onScroll","onScroll","_ref$onMenuScrollToBo","onMenuScrollToBottom","_ref$onChange","onChange","customOnChange","_ref$searchable","searchable","_ref$captureMenuScrol","captureMenuScroll","_ref$options","options","defaultValue","customValue","value","noOptionsMessage","openMenuOnFocus","openMenuOnClick","_ref$clearable","clearable","OptionRenderer","optionRenderer","ValueRenderer","valueRenderer","menuRenderer","_ref$menuPlacement","menuPlacement","rtl","_ref$size","size","asyncOptions","cacheOptions","defaultOptions","isVirtualized","menuPortalTarget","_ref$extraStyles","extraStyles","defaultCustomStyles","maxMenuHeight","menuIsOpen","_ref$tabIndex","tabIndex","_ref$id","id","DROPDOWN_ID","_ref$menuId","menuId","DROPDOWN_MENU_ID","_ref$menuAriaLabel","menuAriaLabel","DROPDOWN_MENU_ARIA_LABEL","_ref$inputAriaLabel","inputAriaLabel","DROPDOWN_INPUT_ARIA_LABEL","_ref$autoFocus","autoFocus","_ref$multi","multi","_ref$multiline","multiline","customOnOptionRemove","onOptionRemove","onOptionSelect","onClear","_ref$onInputChange","onInputChange","_ref$closeMenuOnSelec","closeMenuOnSelect","_ref$closeMenuOnScrol","closeMenuOnScroll","customCloseMenuOnScroll","_ref$withMandatoryDef","withMandatoryDefaultOptions","isOptionSelected","_ref$insideOverflowCo","insideOverflowContainer","_ref$insideOverflowWi","insideOverflowWithTransformContainer","_ref$insideLayerConte","insideLayerContext","_ref$tooltipContent","tooltipContent","_ref$onKeyDown","onKeyDown","_ref$isLoading","isLoading","loadingMessage","ariaLabel","_ref$tabSelectsValue","tabSelectsValue","popupsContainerSelector","filterOption","_ref$menuPosition","menuPosition","dataTestId","_ref$withGroupDivider","withGroupDivider","inputValue","blurInputOnSelect","controlRef","useRef","layerRef","useContext","LayerContext","overrideMenuPortalTarget","current","document","querySelector","overrideDefaultValue","useMemo","Array","isArray","map","df","Object","assign","isMandatory","BaseSelect","prototype","renderLiveRegion","_useState","useState","_useState2","_slicedToArray","WindowedMenuList","setWindowedMenuList","useEffect","isClient","require","module","process","env","NODE_ENV","e","isTestEnv","import","then","_useState3","_useState4","selected","setSelected","_useState5","_useState6","focusedOptionId","setFocusedOptionId","finalOptionRenderer","finalValueRenderer","isControlled","selectedOptions","selectedOptionsMap","reduce","acc","option","_defineProperty","overrideAriaLabel","concat","o","label","join","inlineStyles","baseStyles","generateBaseStyles","customStyles","mergedStyles","entries","accumulator","_ref2","_ref3","stylesGroup","stylesFn","defaultStyles","state","providedFn","provided","ADD_AUTO_HEIGHT_COMPONENTS","forEach","component","original","height","originalValueContainer","valueContainer","paddingLeft","Menu","useCallback","props","React","createElement","MenuComponent","Renderer","DropdownIndicator","DropdownIndicatorComponent","Option","OptionComponent","Input","_props$selectProps","selectProps","components","role","undefined","SingleValue","SingleValueComponent","selectedOption","ClearIndicator","ClearIndicatorComponent","optionValue","newSelectedOptions","filter","customProps","onSelectedDelete","isMultiline","DropDownComponent","AsyncSelect","Select","default","asyncAdditions","loadOptions","additions","isMulti","event","scrolledElement","target","parentElement","_a","classList","contains","menuStyles","dropdownMenuWrapper","calculatedPlaceholder","Text","type","color","cx","styles","dropdown","Control","MultiValue","ValueContainer","MultiValueContainer","MenuList","isDisabled","isClearable","isSearchable","meta","action","_toConsumableArray","isRtl","theme","customTheme","getTestId","ComponentDefaultTestId","DROPDOWN","ComponentVibeId","sizes","BaseSizes","chipColors","DROPDOWN_CHIP_COLORS","menuPlacements","DROPDOWN_MENU_PLACEMENT","menuPositions","DROPDOWN_MENU_POSITION","createFilter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Dropdown.js","sources":["../../../../src/components/Dropdown/Dropdown.tsx"],"sourcesContent":["import { ComponentDefaultTestId, getTestId } from \"../../tests/test-ids-utils\";\nimport cx from \"classnames\";\nimport { BaseSizes, SIZES_VALUES } from \"../../constants\";\nimport React, { forwardRef, useCallback, useMemo, useRef, useState, useEffect, useContext } from \"react\";\nimport Select, { InputProps, components, createFilter, ActionMeta } from \"react-select\";\nimport AsyncSelect from \"react-select/async\";\nimport BaseSelect from \"react-select/base\";\nimport { noop as NOOP } from \"lodash-es\";\nimport MenuComponent from \"./components/menu/menu\";\nimport DropdownIndicatorComponent from \"./components/DropdownIndicator/DropdownIndicator\";\nimport OptionComponent from \"./components/option/option\";\nimport SingleValueComponent from \"./components/singleValue/singleValue\";\nimport ClearIndicatorComponent from \"./components/ClearIndicator/ClearIndicator\";\nimport MultiValueContainer from \"./components/MultiValueContainer/MultiValueContainer\";\nimport { isClient } from \"../../utils/ssr-utils\";\nimport {\n ADD_AUTO_HEIGHT_COMPONENTS,\n defaultCustomStyles,\n DROPDOWN_CHIP_COLORS,\n DROPDOWN_ID,\n DROPDOWN_INPUT_ARIA_LABEL,\n DROPDOWN_MENU_ARIA_LABEL,\n DROPDOWN_MENU_ID,\n DROPDOWN_MENU_PLACEMENT,\n DROPDOWN_MENU_POSITION\n} from \"./DropdownConstants\";\nimport generateBaseStyles, { customTheme } from \"./Dropdown.styles\";\nimport Control from \"./components/Control/Control\";\nimport Text from \"../Text/Text\";\nimport menuStyles from \"./components/menu/menu.module.scss\";\nimport styles from \"./Dropdown.module.scss\";\nimport {\n DropdownOption,\n DropdownState,\n CustomMenuProps,\n CustomOptionProps,\n CustomSingleValueProps,\n DropdownComponentProps\n} from \"./Dropdown.types\";\nimport { withStaticProps } from \"../../types\";\nimport { ComponentVibeId } from \"../../tests/constants\";\nimport LayerContext from \"../LayerProvider/LayerContext\";\n\nconst Dropdown = forwardRef(\n (\n {\n className,\n optionWrapperClassName,\n singleValueWrapperClassName,\n dropdownMenuWrapperClassName,\n placeholder = \"\",\n allowPlaceholderEllipsis,\n disabled = false,\n readOnly = false,\n onMenuOpen = NOOP,\n onMenuClose = NOOP,\n onFocus = NOOP,\n onBlur = NOOP,\n onScroll = NOOP,\n onMenuScrollToBottom = NOOP,\n onChange: customOnChange = NOOP,\n searchable = true,\n captureMenuScroll = false,\n options = [],\n defaultValue,\n value: customValue,\n noOptionsMessage,\n openMenuOnFocus,\n openMenuOnClick,\n clearable = true,\n OptionRenderer,\n optionRenderer,\n ValueRenderer,\n valueRenderer,\n menuRenderer,\n menuPlacement = \"bottom\",\n rtl,\n size = \"medium\",\n asyncOptions,\n cacheOptions,\n defaultOptions,\n isVirtualized,\n menuPortalTarget,\n extraStyles = defaultCustomStyles,\n maxMenuHeight,\n menuIsOpen,\n tabIndex = \"0\",\n id = DROPDOWN_ID,\n menuId = DROPDOWN_MENU_ID,\n menuAriaLabel = DROPDOWN_MENU_ARIA_LABEL,\n inputAriaLabel = DROPDOWN_INPUT_ARIA_LABEL,\n autoFocus = false,\n multi = false,\n multiline = false,\n onOptionRemove: customOnOptionRemove,\n onOptionSelect,\n onClear,\n onInputChange = NOOP,\n closeMenuOnSelect = !multi,\n closeMenuOnScroll: customCloseMenuOnScroll = false,\n withMandatoryDefaultOptions = false,\n isOptionSelected,\n insideOverflowContainer = false,\n insideOverflowWithTransformContainer = false,\n insideLayerContext = false,\n tooltipContent = \"\",\n onKeyDown = NOOP,\n isLoading = false,\n loadingMessage,\n ariaLabel,\n tabSelectsValue = true,\n popupsContainerSelector,\n filterOption,\n menuPosition = \"absolute\",\n \"data-testid\": dataTestId,\n withGroupDivider = false,\n inputValue,\n blurInputOnSelect,\n multiValueDialogClassName\n }: DropdownComponentProps,\n ref: React.ForwardedRef<HTMLElement>\n ) => {\n const controlRef = useRef();\n const { layerRef } = useContext(LayerContext);\n const overrideMenuPortalTarget =\n (insideLayerContext && layerRef?.current) ||\n menuPortalTarget ||\n (popupsContainerSelector && document.querySelector(popupsContainerSelector));\n const overrideDefaultValue = useMemo(() => {\n if (defaultValue) {\n return Array.isArray(defaultValue)\n ? (defaultValue as DropdownOption[]).map(df => ({ ...df, isMandatory: true }))\n : { ...(defaultValue as DropdownOption), isMandatory: true };\n }\n\n return defaultValue;\n }, [defaultValue]);\n\n BaseSelect.prototype.renderLiveRegion = (): null => {\n return null;\n };\n\n // SSR support\n const [WindowedMenuList, setWindowedMenuList] = useState(null);\n useEffect(() => {\n if (isClient()) {\n if (isTestEnv()) {\n // eslint-disable-next-line @typescript-eslint/no-var-requires\n setWindowedMenuList(() => require(\"react-windowed-select\").WindowedMenuList);\n } else {\n // Dynamically import the specific named export from react-windowed-select for SSR support\n import(\"react-windowed-select\").then(module => {\n setWindowedMenuList(() => module.WindowedMenuList);\n });\n }\n }\n }, []);\n\n const [selected, setSelected] = useState(overrideDefaultValue || []);\n const [focusedOptionId, setFocusedOptionId] = useState(\"\");\n const finalOptionRenderer = optionRenderer || OptionRenderer;\n const finalValueRenderer = valueRenderer || ValueRenderer;\n const isControlled = !!customValue;\n const selectedOptions = customValue ?? selected;\n const selectedOptionsMap = useMemo(() => {\n if (Array.isArray(selectedOptions)) {\n return selectedOptions.reduce((acc, option) => ({ ...acc, [option.value]: option }), {});\n }\n return {};\n }, [selectedOptions]);\n\n const overrideAriaLabel = useMemo(() => {\n return (\n ariaLabel ||\n `${readOnly ? \"Readonly \" : \"\"} ${tooltipContent} ${\n Array.isArray(selectedOptions) ? `Selected: ${selectedOptions.map(o => o.label).join(\", \")}` : \"Select\"\n }`\n );\n }, [ariaLabel, readOnly, selectedOptions, tooltipContent]);\n const value = multi ? selectedOptions : customValue;\n\n const inlineStyles = useMemo(() => {\n // We first want to get the default stylized groups (e.g. \"container\", \"menu\").\n const baseStyles = generateBaseStyles({\n size,\n rtl,\n insideOverflowContainer,\n controlRef,\n insideOverflowWithTransformContainer,\n withGroupDivider,\n searchable,\n allowPlaceholderEllipsis\n });\n\n type BaseStyles = typeof baseStyles;\n\n // Then we want to run the consumer's root-level custom styles with our \"base\" override groups.\n const customStyles = extraStyles(baseStyles);\n\n // Lastly, we create a style groups object that makes sure we run each custom group with our basic overrides.\n const mergedStyles: any = Object.entries(customStyles).reduce((accumulator, [stylesGroup, stylesFn]) => {\n return {\n ...accumulator,\n [stylesGroup]: (defaultStyles: BaseStyles, state: DropdownState) => {\n const providedFn = baseStyles[stylesGroup as keyof BaseStyles];\n const provided = providedFn ? providedFn(defaultStyles, state) : defaultStyles;\n\n return stylesFn(provided, state);\n }\n };\n }, {} as BaseStyles);\n\n if (multi) {\n if (multiline) {\n ADD_AUTO_HEIGHT_COMPONENTS.forEach((component: string) => {\n const original = mergedStyles[component];\n mergedStyles[component] = (provided: BaseStyles, state: DropdownState) => ({\n ...original(provided, state),\n height: \"auto\"\n });\n });\n }\n\n const originalValueContainer = mergedStyles.valueContainer;\n mergedStyles.valueContainer = (provided: BaseStyles, state: DropdownState) => ({\n ...originalValueContainer(provided, state),\n paddingLeft: 6\n });\n }\n\n return mergedStyles;\n }, [\n size,\n rtl,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n allowPlaceholderEllipsis,\n extraStyles,\n multi,\n multiline\n ]);\n\n const Menu = useCallback(\n (props: CustomMenuProps) => (\n <MenuComponent\n {...props}\n id={menuId}\n ariaLabel={menuAriaLabel}\n Renderer={menuRenderer}\n dropdownMenuWrapperClassName={dropdownMenuWrapperClassName}\n onScroll={onScroll}\n />\n ),\n [dropdownMenuWrapperClassName, menuRenderer, menuId, menuAriaLabel, onScroll]\n );\n\n const DropdownIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <DropdownIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const Option = useCallback(\n (props: CustomOptionProps) => (\n <OptionComponent\n setFocusedOptionId={setFocusedOptionId}\n {...props}\n Renderer={finalOptionRenderer}\n optionWrapperClassName={optionWrapperClassName}\n />\n ),\n [finalOptionRenderer, optionWrapperClassName, setFocusedOptionId]\n );\n\n const Input = useCallback(\n (props: InputProps | any) => {\n const { focusedOptionId, menuIsOpen } = props.selectProps;\n const ariaActiveDescendant = focusedOptionId && menuIsOpen ? focusedOptionId : \"\";\n return (\n <components.Input\n {...props}\n aria-activedescendant={ariaActiveDescendant}\n role=\"combobox\"\n aria-expanded={!readOnly && menuIsOpen}\n aria-label={inputAriaLabel}\n aria-controls={menuId}\n readOnly={!searchable ? true : undefined}\n />\n );\n },\n [menuId, readOnly]\n );\n\n const SingleValue = useCallback(\n (props: CustomSingleValueProps) => (\n <SingleValueComponent\n {...props}\n readOnly={readOnly}\n Renderer={finalValueRenderer}\n selectedOption={selectedOptions[0]}\n singleValueWrapperClassName={singleValueWrapperClassName}\n />\n ),\n [finalValueRenderer, readOnly, selectedOptions, singleValueWrapperClassName]\n );\n\n const ClearIndicator = useCallback(\n (props: React.HTMLAttributes<HTMLElement> & { size?: SIZES_VALUES }) => (\n <ClearIndicatorComponent {...props} size={size} />\n ),\n [size]\n );\n\n const onOptionRemove = useMemo(() => {\n return function (optionValue: number, e: React.MouseEvent | React.KeyboardEvent) {\n if (customOnOptionRemove) {\n customOnOptionRemove(selectedOptionsMap[optionValue]);\n }\n const newSelectedOptions = Array.isArray(selectedOptions)\n ? selectedOptions.filter(option => option.value !== optionValue)\n : selectedOptions;\n\n if (customOnChange) {\n customOnChange(newSelectedOptions, e);\n }\n setSelected(newSelectedOptions);\n };\n }, [customOnChange, customOnOptionRemove, selectedOptions, selectedOptionsMap]);\n\n const customProps = useMemo(\n () => ({\n selectedOptions,\n onSelectedDelete: onOptionRemove,\n isMultiline: multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n controlRef,\n tooltipContent,\n popupsContainerSelector: insideLayerContext ? layerRef?.current : popupsContainerSelector,\n size,\n dialogClassName: multiValueDialogClassName\n }),\n [\n selectedOptions,\n onOptionRemove,\n multiline,\n insideOverflowContainer,\n insideOverflowWithTransformContainer,\n tooltipContent,\n layerRef,\n popupsContainerSelector,\n insideLayerContext,\n size,\n multiValueDialogClassName\n ]\n );\n const onChange = (option: DropdownOption | DropdownOption[], meta: ActionMeta<DropdownOption>) => {\n if (customOnChange) {\n customOnChange(option, meta);\n }\n\n switch (meta.action) {\n case \"select-option\": {\n const selectedOption = multi ? meta.option : option;\n\n if (onOptionSelect) {\n onOptionSelect(selectedOption);\n }\n\n if (!isControlled) {\n setSelected([...selectedOptions, selectedOption]);\n }\n break;\n }\n\n case \"clear\":\n if (onClear) {\n onClear();\n }\n\n if (!isControlled) {\n if (withMandatoryDefaultOptions) setSelected(overrideDefaultValue);\n else setSelected([]);\n }\n break;\n }\n };\n\n let DropDownComponent: React.ElementType = asyncOptions ? AsyncSelect : Select;\n\n // @ts-expect-error - We need to check if the default export is available\n DropDownComponent = DropDownComponent.default || DropDownComponent;\n\n const asyncAdditions = {\n ...(asyncOptions && {\n loadOptions: asyncOptions,\n cacheOptions,\n ...(defaultOptions && { defaultOptions })\n })\n };\n\n const additions = {\n ...(!asyncOptions && { options }),\n ...(multi && {\n isMulti: true\n })\n };\n\n const closeMenuOnScroll = useCallback(\n (event: React.FocusEvent) => {\n const scrolledElement = event.target;\n if (scrolledElement?.parentElement?.classList.contains(menuStyles.dropdownMenuWrapper)) {\n return false;\n }\n return customCloseMenuOnScroll || insideOverflowContainer || insideOverflowWithTransformContainer;\n },\n [insideOverflowContainer, insideOverflowWithTransformContainer, customCloseMenuOnScroll]\n );\n\n const calculatedPlaceholder = useMemo(\n () =>\n allowPlaceholderEllipsis ? (\n <Text type=\"text2\" color=\"inherit\">\n {placeholder}\n </Text>\n ) : (\n placeholder\n ),\n [allowPlaceholderEllipsis, placeholder]\n );\n\n return (\n <DropDownComponent\n className={cx(styles.dropdown, className)}\n selectProps={customProps}\n components={{\n DropdownIndicator,\n Menu,\n ClearIndicator,\n Input,\n Option,\n Control,\n SingleValue,\n ...(multi && {\n MultiValue: NOOP, // We need it for react-select to behave nice with \"multi\"\n ValueContainer: MultiValueContainer\n }),\n ...(isVirtualized && WindowedMenuList && { MenuList: WindowedMenuList })\n }}\n // When inside scroll we set the menu position by js and we can't follow the drop down location while use scrolling\n closeMenuOnScroll={closeMenuOnScroll}\n size={size}\n noOptionsMessage={noOptionsMessage}\n placeholder={calculatedPlaceholder}\n isDisabled={disabled}\n isClearable={!readOnly && clearable}\n isSearchable={!readOnly}\n readOnly={readOnly}\n aria-readonly={readOnly}\n aria-label={overrideAriaLabel}\n aria-details={tooltipContent}\n aria-haspopup=\"listbox\"\n defaultValue={defaultValue}\n value={value}\n onMenuOpen={onMenuOpen}\n onMenuClose={onMenuClose}\n onFocus={onFocus}\n onBlur={onBlur}\n onMenuScrollToBottom={onMenuScrollToBottom}\n captureMenuScroll={captureMenuScroll}\n onChange={onChange}\n onKeyDown={onKeyDown}\n onInputChange={onInputChange}\n openMenuOnFocus={openMenuOnFocus}\n openMenuOnClick={openMenuOnClick}\n focusedOptionId={focusedOptionId}\n isRtl={rtl}\n styles={inlineStyles}\n theme={customTheme}\n maxMenuHeight={maxMenuHeight}\n menuPortalTarget={overrideMenuPortalTarget}\n menuPlacement={menuPlacement}\n menuPosition={menuPosition}\n menuIsOpen={!readOnly && menuIsOpen}\n tabIndex={tabIndex}\n id={id}\n data-testid={dataTestId || getTestId(ComponentDefaultTestId.DROPDOWN, id)}\n data-vibe={ComponentVibeId.DROPDOWN}\n autoFocus={autoFocus}\n closeMenuOnSelect={closeMenuOnSelect}\n ref={ref as React.Ref<any>}\n withMandatoryDefaultOptions={withMandatoryDefaultOptions}\n isOptionSelected={isOptionSelected}\n isLoading={isLoading}\n loadingMessage={loadingMessage}\n tabSelectsValue={tabSelectsValue}\n filterOption={filterOption}\n inputValue={inputValue}\n blurInputOnSelect={blurInputOnSelect}\n {...asyncAdditions}\n {...additions}\n />\n );\n }\n);\n\ninterface DropdownStaticProps {\n sizes: typeof BaseSizes;\n chipColors: typeof DROPDOWN_CHIP_COLORS;\n menuPlacements: typeof DROPDOWN_MENU_PLACEMENT;\n menuPositions: typeof DROPDOWN_MENU_POSITION;\n createFilter: typeof createFilter;\n}\n\nexport default withStaticProps<DropdownComponentProps, DropdownStaticProps>(Dropdown, {\n sizes: BaseSizes,\n chipColors: DROPDOWN_CHIP_COLORS,\n menuPlacements: DROPDOWN_MENU_PLACEMENT,\n menuPositions: DROPDOWN_MENU_POSITION,\n createFilter\n});\n\nfunction isTestEnv() {\n try {\n return (\n typeof require === \"function\" &&\n typeof module !== \"undefined\" &&\n typeof process !== \"undefined\" &&\n process.env.NODE_ENV === \"test\"\n );\n } catch (e) {\n return false;\n }\n}\n"],"names":["withStaticProps","forwardRef","_ref","ref","className","optionWrapperClassName","singleValueWrapperClassName","dropdownMenuWrapperClassName","_ref$placeholder","placeholder","allowPlaceholderEllipsis","_ref$disabled","disabled","_ref$readOnly","readOnly","_ref$onMenuOpen","onMenuOpen","NOOP","_ref$onMenuClose","onMenuClose","_ref$onFocus","onFocus","_ref$onBlur","onBlur","_ref$onScroll","onScroll","_ref$onMenuScrollToBo","onMenuScrollToBottom","_ref$onChange","onChange","customOnChange","_ref$searchable","searchable","_ref$captureMenuScrol","captureMenuScroll","_ref$options","options","defaultValue","customValue","value","noOptionsMessage","openMenuOnFocus","openMenuOnClick","_ref$clearable","clearable","OptionRenderer","optionRenderer","ValueRenderer","valueRenderer","menuRenderer","_ref$menuPlacement","menuPlacement","rtl","_ref$size","size","asyncOptions","cacheOptions","defaultOptions","isVirtualized","menuPortalTarget","_ref$extraStyles","extraStyles","defaultCustomStyles","maxMenuHeight","menuIsOpen","_ref$tabIndex","tabIndex","_ref$id","id","DROPDOWN_ID","_ref$menuId","menuId","DROPDOWN_MENU_ID","_ref$menuAriaLabel","menuAriaLabel","DROPDOWN_MENU_ARIA_LABEL","_ref$inputAriaLabel","inputAriaLabel","DROPDOWN_INPUT_ARIA_LABEL","_ref$autoFocus","autoFocus","_ref$multi","multi","_ref$multiline","multiline","customOnOptionRemove","onOptionRemove","onOptionSelect","onClear","_ref$onInputChange","onInputChange","_ref$closeMenuOnSelec","closeMenuOnSelect","_ref$closeMenuOnScrol","closeMenuOnScroll","customCloseMenuOnScroll","_ref$withMandatoryDef","withMandatoryDefaultOptions","isOptionSelected","_ref$insideOverflowCo","insideOverflowContainer","_ref$insideOverflowWi","insideOverflowWithTransformContainer","_ref$insideLayerConte","insideLayerContext","_ref$tooltipContent","tooltipContent","_ref$onKeyDown","onKeyDown","_ref$isLoading","isLoading","loadingMessage","ariaLabel","_ref$tabSelectsValue","tabSelectsValue","popupsContainerSelector","filterOption","_ref$menuPosition","menuPosition","dataTestId","_ref$withGroupDivider","withGroupDivider","inputValue","blurInputOnSelect","multiValueDialogClassName","controlRef","useRef","layerRef","useContext","LayerContext","overrideMenuPortalTarget","current","document","querySelector","overrideDefaultValue","useMemo","Array","isArray","map","df","Object","assign","isMandatory","BaseSelect","prototype","renderLiveRegion","_useState","useState","_useState2","_slicedToArray","WindowedMenuList","setWindowedMenuList","useEffect","isClient","require","module","process","env","NODE_ENV","e","isTestEnv","import","then","_useState3","_useState4","selected","setSelected","_useState5","_useState6","focusedOptionId","setFocusedOptionId","finalOptionRenderer","finalValueRenderer","isControlled","selectedOptions","selectedOptionsMap","reduce","acc","option","_defineProperty","overrideAriaLabel","concat","o","label","join","inlineStyles","baseStyles","generateBaseStyles","customStyles","mergedStyles","entries","accumulator","_ref2","_ref3","stylesGroup","stylesFn","defaultStyles","state","providedFn","provided","ADD_AUTO_HEIGHT_COMPONENTS","forEach","component","original","height","originalValueContainer","valueContainer","paddingLeft","Menu","useCallback","props","React","createElement","MenuComponent","Renderer","DropdownIndicator","DropdownIndicatorComponent","Option","OptionComponent","Input","_props$selectProps","selectProps","components","role","undefined","SingleValue","SingleValueComponent","selectedOption","ClearIndicator","ClearIndicatorComponent","optionValue","newSelectedOptions","filter","customProps","onSelectedDelete","isMultiline","dialogClassName","DropDownComponent","AsyncSelect","Select","default","asyncAdditions","loadOptions","additions","isMulti","event","scrolledElement","target","parentElement","_a","classList","contains","menuStyles","dropdownMenuWrapper","calculatedPlaceholder","Text","type","color","cx","styles","dropdown","Control","MultiValue","ValueContainer","MultiValueContainer","MenuList","isDisabled","isClearable","isSearchable","meta","action","_toConsumableArray","isRtl","theme","customTheme","getTestId","ComponentDefaultTestId","DROPDOWN","ComponentVibeId","sizes","BaseSizes","chipColors","DROPDOWN_CHIP_COLORS","menuPlacements","DROPDOWN_MENU_PLACEMENT","menuPositions","DROPDOWN_MENU_POSITION","createFilter"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{objectWithoutProperties as e,slicedToArray as t,defineProperty as n,extends as o}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import i,{useState as a,useEffect as l,useCallback as r}from"react";import{components as
|
|
1
|
+
import{objectWithoutProperties as e,slicedToArray as t,defineProperty as n,extends as o}from"../../../../../_virtual/_rollupPluginBabelHelpers.js";import i,{useState as a,useEffect as l,useCallback as r}from"react";import{components as s}from"react-select";import c from"classnames";import{useHiddenOptionsData as p}from"../../hooks/useHiddenOptionsData.js";import u from"../../../Counter/Counter.js";import m from"../../../Dialog/Dialog.js";import d from"../../../DialogContentContainer/DialogContentContainer.js";import h from"../../../Chips/Chips.js";import f from"./MultiValueContainer.module.scss.js";var v=["children","selectProps"];function g(g){var C=g.children,E=g.selectProps,D=e(g,v),w=E.isDisabled,P=E.placeholder,N=E.inputValue,b=E.selectProps,y=void 0===b?{}:b,j=E.withMandatoryDefaultOptions,M=E.readOnly,O=y.selectedOptions,k=y.onSelectedDelete,x=y.isMultiline,A=y.popupsContainerSelector,S=y.size,T=y.dialogClassName,V=C[1],B=a(),I=t(B,2),F=I[0],H=I[1],R=a(!1),W=t(R,2),_=W[0],z=W[1],q=0===O.length&&!N,G=f["chip-with-input-wrapper"],J=c(x?f["multiselect-chip-multi-line"]:f["multiselect-chip-single-line-".concat(S)],n({},f["multiselect-chip-disabled"],w)),K=p({isMultiline:x,ref:F,chipClassName:J,chipWrapperClassName:G,selectedOptionsCount:O.length,isCounterShown:_}),L=K.overflowIndex,Q=K.hiddenOptionsCount;l((function(){z(Q>0)}),[Q]);var U=r((function(e){k(e.value,{action:"remove-value",removedValue:e})}),[k]),X=["primary","negative","positive"],Y=r((function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:O.length;return O.map((function(n,o){var a=X.includes(n.chipColor)?n.chipColor:"primary";return o>=e&&t>o?i.createElement(h,{"data-testid":"value-container-chip",key:n.value,className:c(f.chips,J),noAnimation:!0,disabled:w,id:n.value,label:n.label,onDelete:function(){return U(n)},disableClickableBehavior:!0,onMouseDown:function(e){e.stopPropagation()},readOnly:M||j&&n.isMandatory,allowTextSelection:M,leftRenderer:n.leftRenderer,leftAvatar:n.leftAvatar,leftIcon:n.leftIcon,color:a}):null}))}),[O,J,w,M,j,U,S]);return i.createElement(s.ValueContainer,o({selectProps:E},D),i.createElement("div",{className:f["value-container"],onTouchEndCapture:function(e){e.stopPropagation()}},q&&i.createElement("div",{className:f["placeholder-container"]},i.createElement(s.Placeholder,D,P)),i.createElement("div",{className:c(f["value-container-chips"],n({},f["without-placeholder"],!q)),ref:function(e){return H(e)},"data-testid":"value-container-chips"},_?i.createElement(i.Fragment,null,Y(0,L-1),i.createElement("div",{className:G},Y(L-1,L),V),Y(L)):i.createElement(i.Fragment,null,Y(0,O.length-1),i.createElement("div",{className:G},Y(O.length-1),V))),i.createElement("div",null,_&&i.createElement(m,{content:function(){return i.createElement(d,{className:f.valueDialogContent,onMouseDown:function(e){e.stopPropagation()}},Y(L))},containerSelector:A,tooltip:!0,showTrigger:"click",hideTrigger:"clickoutside",position:"bottom",moveBy:{main:5},wrapperClassName:T},i.createElement(u,{kind:"line",prefix:"+",count:Q,onMouseDown:function(e){e.stopPropagation()},noAnimation:!0})))))}export{g as default};
|
|
2
2
|
//# sourceMappingURL=MultiValueContainer.js.map
|
package/dist/src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiValueContainer.js","sources":["../../../../../../src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { components } from \"react-select\";\nimport cx from \"classnames\";\nimport { useHiddenOptionsData } from \"../../hooks/useHiddenOptionsData\";\nimport Counter from \"../../../Counter/Counter\";\nimport Dialog from \"../../../Dialog/Dialog\";\nimport DialogContentContainer from \"../../../DialogContentContainer/DialogContentContainer\";\nimport Chips from \"../../../Chips/Chips\";\nimport classes from \"./MultiValueContainer.module.scss\";\n\nconst DIALOG_OFFSET_Y = 5;\n\nexport default function Container({ children, selectProps, ...otherProps }) {\n const {\n isDisabled,\n placeholder,\n inputValue,\n selectProps: customProps = {},\n withMandatoryDefaultOptions,\n readOnly\n } = selectProps;\n const { selectedOptions, onSelectedDelete, isMultiline, popupsContainerSelector, size } = customProps;\n const clickHandler = children[1];\n const [ref, setRef] = useState();\n const [isCounterShown, setIsCounterShown] = useState(false);\n const showPlaceholder = selectedOptions.length === 0 && !inputValue;\n const chipWrapperClassName = classes[\"chip-with-input-wrapper\"];\n const chipClassName = cx(\n isMultiline ? classes[\"multiselect-chip-multi-line\"] : classes[`multiselect-chip-single-line-${size}`],\n { [classes[\"multiselect-chip-disabled\"]]: isDisabled }\n );\n\n const { overflowIndex, hiddenOptionsCount } = useHiddenOptionsData({\n isMultiline,\n ref,\n chipClassName,\n chipWrapperClassName,\n selectedOptionsCount: selectedOptions.length,\n isCounterShown\n });\n\n useEffect(() => {\n setIsCounterShown(hiddenOptionsCount > 0);\n }, [hiddenOptionsCount]);\n\n const onDelete = useCallback(\n option => {\n onSelectedDelete(option.value, { action: \"remove-value\", removedValue: option });\n },\n [onSelectedDelete]\n );\n\n const DropdownChipColors = [\"primary\", \"negative\", \"positive\"];\n const renderOptions = useCallback(\n (from = 0, to = selectedOptions.length) =>\n selectedOptions.map((option, index) => {\n const overrideChipColor = DropdownChipColors.includes(option.chipColor) ? option.chipColor : \"primary\";\n return index >= from && index < to ? (\n <Chips\n data-testid=\"value-container-chip\"\n key={option.value}\n className={cx(classes.chips, chipClassName)}\n noAnimation\n disabled={isDisabled}\n id={option.value}\n label={option.label}\n onDelete={() => onDelete(option)}\n disableClickableBehavior\n onMouseDown={e => {\n e.stopPropagation();\n }}\n readOnly={readOnly || (withMandatoryDefaultOptions && option.isMandatory)}\n allowTextSelection={readOnly}\n leftRenderer={option.leftRenderer}\n leftAvatar={option.leftAvatar}\n leftIcon={option.leftIcon}\n color={overrideChipColor}\n />\n ) : null;\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedOptions, chipClassName, isDisabled, readOnly, withMandatoryDefaultOptions, onDelete, size]\n );\n\n return (\n <components.ValueContainer selectProps={selectProps} {...otherProps}>\n <div\n className={classes[\"value-container\"]}\n onTouchEndCapture={e => {\n e.stopPropagation();\n }}\n onMouseDown={e => {\n if (e.target === e.currentTarget) {\n e.stopPropagation();\n }\n }}\n >\n {showPlaceholder && (\n <div className={classes[\"placeholder-container\"]}>\n <components.Placeholder {...otherProps}>{placeholder}</components.Placeholder>\n </div>\n )}\n <div\n className={cx(classes[\"value-container-chips\"], { [classes[\"without-placeholder\"]]: !showPlaceholder })}\n ref={newRef => setRef(newRef)}\n data-testid=\"value-container-chips\"\n >\n {isCounterShown ? (\n <>\n {renderOptions(0, overflowIndex - 1)}\n <div className={chipWrapperClassName}>\n {renderOptions(overflowIndex - 1, overflowIndex)}\n {clickHandler}\n </div>\n {renderOptions(overflowIndex)}\n </>\n ) : (\n <>\n {renderOptions(0, selectedOptions.length - 1)}\n <div className={chipWrapperClassName}>\n {renderOptions(selectedOptions.length - 1)}\n {clickHandler}\n </div>\n </>\n )}\n </div>\n <div>\n {isCounterShown && (\n <Dialog\n content={() => (\n <DialogContentContainer\n className={classes.valueDialogContent}\n onMouseDown={e => {\n e.stopPropagation();\n }}\n >\n {renderOptions(overflowIndex)}\n </DialogContentContainer>\n )}\n containerSelector={popupsContainerSelector}\n tooltip\n showTrigger=\"click\"\n hideTrigger=\"clickoutside\"\n position=\"bottom\"\n moveBy={{ main: DIALOG_OFFSET_Y }}\n >\n <Counter\n kind=\"line\"\n prefix=\"+\"\n count={hiddenOptionsCount}\n onMouseDown={e => {\n e.stopPropagation();\n }}\n noAnimation\n />\n </Dialog>\n )}\n </div>\n </div>\n </components.ValueContainer>\n );\n}\n"],"names":["Container","_ref","children","selectProps","otherProps","_objectWithoutProperties","_excluded","isDisabled","placeholder","inputValue","_selectProps$selectPr","customProps","withMandatoryDefaultOptions","readOnly","selectedOptions","onSelectedDelete","isMultiline","popupsContainerSelector","size","clickHandler","_useState","useState","_useState2","_slicedToArray","ref","setRef","_useState3","_useState4","isCounterShown","setIsCounterShown","showPlaceholder","length","chipWrapperClassName","classes","chipClassName","cx","concat","_defineProperty","_useHiddenOptionsData","useHiddenOptionsData","selectedOptionsCount","overflowIndex","hiddenOptionsCount","useEffect","onDelete","useCallback","option","value","action","removedValue","DropdownChipColors","renderOptions","from","arguments","undefined","to","map","index","overrideChipColor","includes","chipColor","React","createElement","Chips","key","className","chips","noAnimation","disabled","id","label","disableClickableBehavior","onMouseDown","e","stopPropagation","isMandatory","allowTextSelection","leftRenderer","leftAvatar","leftIcon","color","components","ValueContainer","_extends","onTouchEndCapture","target","currentTarget","Placeholder","newRef","Fragment","Dialog","content","DialogContentContainer","valueDialogContent","containerSelector","tooltip","showTrigger","hideTrigger","position","moveBy","main","Counter","kind","prefix","count"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"MultiValueContainer.js","sources":["../../../../../../src/components/Dropdown/components/MultiValueContainer/MultiValueContainer.jsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from \"react\";\nimport { components } from \"react-select\";\nimport cx from \"classnames\";\nimport { useHiddenOptionsData } from \"../../hooks/useHiddenOptionsData\";\nimport Counter from \"../../../Counter/Counter\";\nimport Dialog from \"../../../Dialog/Dialog\";\nimport DialogContentContainer from \"../../../DialogContentContainer/DialogContentContainer\";\nimport Chips from \"../../../Chips/Chips\";\nimport classes from \"./MultiValueContainer.module.scss\";\n\nconst DIALOG_OFFSET_Y = 5;\n\nexport default function Container({ children, selectProps, ...otherProps }) {\n const {\n isDisabled,\n placeholder,\n inputValue,\n selectProps: customProps = {},\n withMandatoryDefaultOptions,\n readOnly\n } = selectProps;\n const { selectedOptions, onSelectedDelete, isMultiline, popupsContainerSelector, size, dialogClassName } =\n customProps;\n const clickHandler = children[1];\n const [ref, setRef] = useState();\n const [isCounterShown, setIsCounterShown] = useState(false);\n const showPlaceholder = selectedOptions.length === 0 && !inputValue;\n const chipWrapperClassName = classes[\"chip-with-input-wrapper\"];\n const chipClassName = cx(\n isMultiline ? classes[\"multiselect-chip-multi-line\"] : classes[`multiselect-chip-single-line-${size}`],\n { [classes[\"multiselect-chip-disabled\"]]: isDisabled }\n );\n\n const { overflowIndex, hiddenOptionsCount } = useHiddenOptionsData({\n isMultiline,\n ref,\n chipClassName,\n chipWrapperClassName,\n selectedOptionsCount: selectedOptions.length,\n isCounterShown\n });\n\n useEffect(() => {\n setIsCounterShown(hiddenOptionsCount > 0);\n }, [hiddenOptionsCount]);\n\n const onDelete = useCallback(\n option => {\n onSelectedDelete(option.value, { action: \"remove-value\", removedValue: option });\n },\n [onSelectedDelete]\n );\n\n const DropdownChipColors = [\"primary\", \"negative\", \"positive\"];\n const renderOptions = useCallback(\n (from = 0, to = selectedOptions.length) =>\n selectedOptions.map((option, index) => {\n const overrideChipColor = DropdownChipColors.includes(option.chipColor) ? option.chipColor : \"primary\";\n return index >= from && index < to ? (\n <Chips\n data-testid=\"value-container-chip\"\n key={option.value}\n className={cx(classes.chips, chipClassName)}\n noAnimation\n disabled={isDisabled}\n id={option.value}\n label={option.label}\n onDelete={() => onDelete(option)}\n disableClickableBehavior\n onMouseDown={e => {\n e.stopPropagation();\n }}\n readOnly={readOnly || (withMandatoryDefaultOptions && option.isMandatory)}\n allowTextSelection={readOnly}\n leftRenderer={option.leftRenderer}\n leftAvatar={option.leftAvatar}\n leftIcon={option.leftIcon}\n color={overrideChipColor}\n />\n ) : null;\n }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [selectedOptions, chipClassName, isDisabled, readOnly, withMandatoryDefaultOptions, onDelete, size]\n );\n\n return (\n <components.ValueContainer selectProps={selectProps} {...otherProps}>\n <div\n className={classes[\"value-container\"]}\n onTouchEndCapture={e => {\n e.stopPropagation();\n }}\n >\n {showPlaceholder && (\n <div className={classes[\"placeholder-container\"]}>\n <components.Placeholder {...otherProps}>{placeholder}</components.Placeholder>\n </div>\n )}\n <div\n className={cx(classes[\"value-container-chips\"], { [classes[\"without-placeholder\"]]: !showPlaceholder })}\n ref={newRef => setRef(newRef)}\n data-testid=\"value-container-chips\"\n >\n {isCounterShown ? (\n <>\n {renderOptions(0, overflowIndex - 1)}\n <div className={chipWrapperClassName}>\n {renderOptions(overflowIndex - 1, overflowIndex)}\n {clickHandler}\n </div>\n {renderOptions(overflowIndex)}\n </>\n ) : (\n <>\n {renderOptions(0, selectedOptions.length - 1)}\n <div className={chipWrapperClassName}>\n {renderOptions(selectedOptions.length - 1)}\n {clickHandler}\n </div>\n </>\n )}\n </div>\n <div>\n {isCounterShown && (\n <Dialog\n content={() => (\n <DialogContentContainer\n className={classes.valueDialogContent}\n onMouseDown={e => {\n e.stopPropagation();\n }}\n >\n {renderOptions(overflowIndex)}\n </DialogContentContainer>\n )}\n containerSelector={popupsContainerSelector}\n tooltip\n showTrigger=\"click\"\n hideTrigger=\"clickoutside\"\n position=\"bottom\"\n moveBy={{ main: DIALOG_OFFSET_Y }}\n wrapperClassName={dialogClassName}\n >\n <Counter\n kind=\"line\"\n prefix=\"+\"\n count={hiddenOptionsCount}\n onMouseDown={e => {\n e.stopPropagation();\n }}\n noAnimation\n />\n </Dialog>\n )}\n </div>\n </div>\n </components.ValueContainer>\n );\n}\n"],"names":["Container","_ref","children","selectProps","otherProps","_objectWithoutProperties","_excluded","isDisabled","placeholder","inputValue","_selectProps$selectPr","customProps","withMandatoryDefaultOptions","readOnly","selectedOptions","onSelectedDelete","isMultiline","popupsContainerSelector","size","dialogClassName","clickHandler","_useState","useState","_useState2","_slicedToArray","ref","setRef","_useState3","_useState4","isCounterShown","setIsCounterShown","showPlaceholder","length","chipWrapperClassName","classes","chipClassName","cx","concat","_defineProperty","_useHiddenOptionsData","useHiddenOptionsData","selectedOptionsCount","overflowIndex","hiddenOptionsCount","useEffect","onDelete","useCallback","option","value","action","removedValue","DropdownChipColors","renderOptions","from","arguments","undefined","to","map","index","overrideChipColor","includes","chipColor","React","createElement","Chips","key","className","chips","noAnimation","disabled","id","label","disableClickableBehavior","onMouseDown","e","stopPropagation","isMandatory","allowTextSelection","leftRenderer","leftAvatar","leftIcon","color","components","ValueContainer","_extends","onTouchEndCapture","Placeholder","newRef","Fragment","Dialog","content","DialogContentContainer","valueDialogContent","containerSelector","tooltip","showTrigger","hideTrigger","position","moveBy","main","wrapperClassName","Counter","kind","prefix","count"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vibe/core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.45.0",
|
|
4
4
|
"description": "Official monday.com UI resources for application development in React.js",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -287,5 +287,5 @@
|
|
|
287
287
|
"gzip": true
|
|
288
288
|
}
|
|
289
289
|
],
|
|
290
|
-
"gitHead": "
|
|
290
|
+
"gitHead": "5f4b1b21ab433a3627f72fab16b45cba1be1e98e"
|
|
291
291
|
}
|