@activecollab/components 2.0.209 → 2.0.210
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/cjs/components/Autocomplete/Autocomplete.js +216 -79
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/ComboBox/ComboBox.js +4 -2
- package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/cjs/components/Input/InputTime.js +4 -2
- package/dist/cjs/components/Input/InputTime.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js +5 -16
- package/dist/cjs/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/cjs/components/Select/OptionGroup/Styles.js +1 -1
- package/dist/cjs/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +4 -2
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/hooks/useHighlightText.js +1 -0
- package/dist/cjs/hooks/useHighlightText.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts +6 -3
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +189 -58
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
- package/dist/esm/components/ComboBox/ComboBox.js +3 -1
- package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
- package/dist/esm/components/Input/InputTime.d.ts +1 -0
- package/dist/esm/components/Input/InputTime.d.ts.map +1 -1
- package/dist/esm/components/Input/InputTime.js +3 -1
- package/dist/esm/components/Input/InputTime.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js +5 -10
- package/dist/esm/components/Select/OptionGroup/OptionGroup.js.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.d.ts.map +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.js +1 -1
- package/dist/esm/components/Select/OptionGroup/Styles.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts +1 -0
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +3 -1
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/hooks/useHighlightText.d.ts.map +1 -1
- package/dist/esm/hooks/useHighlightText.js +1 -0
- package/dist/esm/hooks/useHighlightText.js.map +1 -1
- package/dist/index.js +238 -104
- package/dist/index.js.map +1 -1
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +1 -1
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Select","exports","_ref","_ref$type","type","mode","options","_ref$selected","selected","_ref$mixed","mixed","_ref$position","position","_ref$onChange","onChange","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","_ref$keepSameOptionsO","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","_ref$preselectDefault","preselectDefaultValue","startAdornment","endAdornment","_ref$focusInput","focusInput","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","mixedOptions","removeFromMixedOptions","useCallback","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","_elementRef$current","className","handleEmptyAction","_formRef$current","reset","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","additionalInfo","StyledCheckbox","checked","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\nexport interface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n | \"handleChange\"\n | \"inputEl\"\n | \"handleEmptyAction\"\n | \"clearInputOnSelect\"\n | \"mixedOptions\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n /** Mixed options values */\n mixed?: (string | number)[];\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n mixed = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const mixedOptions = useRef(type === \"multiple\" && mixed.length ? mixed : []);\n\n const removeFromMixedOptions = useCallback(\n (idsToRemove: (string | number)[]) => {\n mixedOptions.current = mixedOptions.current.filter(\n (mixedOption) => !idsToRemove.includes(mixedOption)\n );\n },\n []\n );\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n type === \"multiple\" &&\n mixedOptions.current.length &&\n removeFromMixedOptions(selectedValue);\n }\n },\n [\n forceCloseMenu,\n selected,\n onSelectClose,\n onChange,\n type,\n removeFromMixedOptions,\n ]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n mixed={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox\n mixed={mixedOptions.current.includes(option.id)}\n {...props}\n />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n type,\n someOptionsChecked,\n selectedOptions,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n mixedOptions={mixedOptions.current}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_excluded","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","_extends","assign","bind","target","arguments","length","source","key","apply","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","toString","slice","constructor","name","Array","from","test","len","arr2","l","Symbol","iterator","f","next","done","push","value","return","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","keys","Select","exports","_ref","_ref$type","type","mode","options","_ref$selected","selected","_ref$mixed","mixed","_ref$position","position","_ref$onChange","onChange","placeholder","_ref$emptyAction","emptyAction","_ref$disableSearch","disableSearch","forceCloseMenu","selectClassName","_ref$keepSameOptionsO","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","_ref$preselectDefault","preselectDefaultValue","startAdornment","endAdornment","_ref$focusInput","focusInput","disableVirtualization","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","_useState","useState","_useState2","open","setOpen","selectedOptions","useMemo","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","mixedOptions","removeFromMixedOptions","useCallback","idsToRemove","current","filter","mixedOption","includes","isAllOptionsChecked","every","someOptionsChecked","some","useEffect","_childNode$current","focus","handleChange","selectedValue","undefined","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","_elementRef$current","className","handleEmptyAction","_formRef$current","reset","handleDefaultOptionChangeCallback","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","additionalInfo","StyledCheckbox","checked","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","displayName"],"sources":["../../../../src/components/Select/Select.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n ReactNode,\n} from \"react\";\n\nimport { Placement } from \"@popperjs/core\";\nimport classNames from \"classnames\";\n\nimport { OptionContent } from \"./OptionContent/OptionContent\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n StyledStartAdornment,\n StyledEndAdornment,\n} from \"./Styles\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Autocomplete, isOptionGroup } from \"../Autocomplete\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\n\nexport interface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n | \"handleChange\"\n | \"inputEl\"\n | \"handleEmptyAction\"\n | \"clearInputOnSelect\"\n | \"mixedOptions\"\n > {\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n /** Node element on the left side */\n startAdornment?: ReactNode;\n /** Node element on the right side */\n endAdornment?: ReactNode;\n /** Focus search input on inline select */\n focusInput?: boolean;\n /** Mixed options values */\n mixed?: (string | number)[];\n disableVirtualization?: boolean;\n}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n mixed = [],\n position = \"bottom-start\",\n onChange = () => null,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n renderOption,\n handleDefaultOptionChange,\n preselectDefaultValue = type === \"single\",\n startAdornment,\n endAdornment,\n focusInput = false,\n disableVirtualization,\n ...prop\n}) => {\n if (disableSearch && (startAdornment || endAdornment)) {\n console.warn(\"Adornments are not visible when search bar is hidden\");\n }\n const childNode = useRef<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(childNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const mixedOptions = useRef(type === \"multiple\" && mixed.length ? mixed : []);\n\n const removeFromMixedOptions = useCallback(\n (idsToRemove: (string | number)[]) => {\n mixedOptions.current = mixedOptions.current.filter(\n (mixedOption) => !idsToRemove.includes(mixedOption)\n );\n },\n []\n );\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n const someOptionsChecked = useMemo(\n () => allOptionValues.some((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n if ((open && target) || (!target && focusInput)) {\n childNode?.current?.focus();\n }\n }, [focusInput, open, target]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (\n selectedValue !== undefined &&\n selectedValue !== selected &&\n !(selectedValue instanceof Array && selectedValue.includes(undefined))\n ) {\n onChange(selectedValue);\n type === \"multiple\" &&\n mixedOptions.current.length &&\n removeFromMixedOptions(selectedValue);\n }\n },\n [\n forceCloseMenu,\n selected,\n onSelectClose,\n onChange,\n type,\n removeFromMixedOptions,\n ]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n onPopperOpen: () => elementRef?.current?.focus(),\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChangeCallback = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange([]);\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(allOptionValues);\n }\n }\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n } else {\n onChange(\"\");\n }\n }\n if (forceCloseMenu) {\n setOpen(false);\n }\n }, [\n onChange,\n type,\n forceCloseMenu,\n selectedOptions.length,\n allOptionValues,\n handleDefaultOptionChange,\n ]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n if (typeof renderOption === \"function\") {\n return renderOption(option, props);\n }\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox\n checked={isAllOptionsChecked}\n mixed={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox\n mixed={mixedOptions.current.includes(option.id)}\n {...props}\n />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n type,\n someOptionsChecked,\n selectedOptions,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment ? (\n <StyledStartAdornment>{startAdornment}</StyledStartAdornment>\n ) : null}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment ? (\n <StyledEndAdornment>{endAdornment}</StyledEndAdornment>\n ) : null}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n clearInputOnSelect\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n mixedOptions={mixedOptions.current}\n handleDefaultOptionChange={handleDefaultOptionChangeCallback}\n type={type}\n preselectDefaultValue={preselectDefaultValue}\n keepSameOptionsOrder={keepSameOptionsOrder}\n disableVirtualization={disableVirtualization}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ var useHighlightText = function useHighlightText(text, searchBy) {
|
|
|
18
18
|
var matchCase = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
|
|
19
19
|
var textComparator = text;
|
|
20
20
|
var searchByComparator = searchBy;
|
|
21
|
+
if (!text) return;
|
|
21
22
|
if (!matchCase) {
|
|
22
23
|
textComparator = text.toLowerCase();
|
|
23
24
|
searchByComparator = searchBy.toLowerCase();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useHighlightText.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledHiglightedText","styled","span","withConfig","displayName","componentId","useHighlightText","text","searchBy","matchCase","arguments","length","undefined","textComparator","searchByComparator","toLowerCase","indexOf","beforeHighlighted","substring","highLighted","afterHighlighted","createElement","Fragment","replace","className","_default","exports"],"sources":["../../../src/hooks/useHighlightText.tsx"],"sourcesContent":["import React, { Fragment, ReactNode } from \"react\";\n\nimport styled from \"styled-components\";\n\nconst StyledHiglightedText = styled.span`\n background-color: var(--color-primary-200);\n`;\n\nStyledHiglightedText.displayName = \"StyledHiglightedText\";\n\nconst useHighlightText = (\n text: string,\n searchBy: string,\n matchCase = false\n): ReactNode => {\n let textComparator = text;\n let searchByComparator = searchBy;\n\n if (!matchCase) {\n textComparator = text.toLowerCase();\n searchByComparator = searchBy.toLowerCase();\n }\n\n if (\n searchBy &&\n textComparator &&\n textComparator.indexOf(searchByComparator) >= 0\n ) {\n const beforeHighlighted = text.substring(\n 0,\n textComparator.indexOf(searchByComparator)\n );\n const highLighted = text.substring(\n textComparator.indexOf(searchByComparator),\n textComparator.indexOf(searchByComparator) + searchBy.length\n );\n const afterHighlighted = text.substring(\n textComparator.indexOf(searchByComparator) + searchBy.length\n );\n\n return (\n <Fragment>\n {beforeHighlighted.replace(/ /g, \"\\u00a0\")}\n <StyledHiglightedText className=\"c-option--text__highlight\">\n {highLighted.replace(/ /g, \"\\u00a0\")}\n </StyledHiglightedText>\n {afterHighlighted.replace(/ /g, \"\\u00a0\")}\n </Fragment>\n );\n }\n\n return text;\n};\n\nexport default useHighlightText;\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AAEA,IAAAC,iBAAA,GAAAC,sBAAA,CAAAF,OAAA;AAAuC,SAAAE,uBAAAC,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,KAAAE,OAAA,EAAAF,GAAA;AAAA,SAAAG,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAR,wBAAAQ,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAH,UAAA,SAAAG,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAF,OAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAC,GAAA,CAAAJ,CAAA,UAAAG,CAAA,CAAAE,GAAA,CAAAL,CAAA,OAAAM,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAZ,CAAA,oBAAAY,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAY,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAX,CAAA,EAAAY,CAAA,UAAAI,CAAA,KAAAA,CAAA,CAAAX,GAAA,IAAAW,CAAA,CAAAC,GAAA,IAAAR,MAAA,CAAAC,cAAA,CAAAJ,CAAA,EAAAM,CAAA,EAAAI,CAAA,IAAAV,CAAA,CAAAM,CAAA,IAAAZ,CAAA,CAAAY,CAAA,YAAAN,CAAA,CAAAR,OAAA,GAAAE,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAc,GAAA,CAAAjB,CAAA,EAAAM,CAAA,GAAAA,CAAA;AAEvC,IAAMY,oBAAoB,GAAGC,yBAAM,CAACC,IAAI,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kDAEvC;AAEDL,oBAAoB,CAACI,WAAW,GAAG,sBAAsB;AAEzD,IAAME,gBAAgB,GAAG,SAAnBA,gBAAgBA,CACpBC,IAAY,EACZC,QAAgB,EAEF;EAAA,IADdC,SAAS,GAAAC,SAAA,CAAAC,MAAA,QAAAD,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAG,KAAK;EAEjB,IAAIG,cAAc,GAAGN,IAAI;EACzB,IAAIO,kBAAkB,GAAGN,QAAQ;
|
|
1
|
+
{"version":3,"file":"useHighlightText.js","names":["_react","_interopRequireWildcard","require","_styledComponents","_interopRequireDefault","obj","__esModule","default","_getRequireWildcardCache","e","WeakMap","r","t","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledHiglightedText","styled","span","withConfig","displayName","componentId","useHighlightText","text","searchBy","matchCase","arguments","length","undefined","textComparator","searchByComparator","toLowerCase","indexOf","beforeHighlighted","substring","highLighted","afterHighlighted","createElement","Fragment","replace","className","_default","exports"],"sources":["../../../src/hooks/useHighlightText.tsx"],"sourcesContent":["import React, { Fragment, ReactNode } from \"react\";\n\nimport styled from \"styled-components\";\n\nconst StyledHiglightedText = styled.span`\n background-color: var(--color-primary-200);\n`;\n\nStyledHiglightedText.displayName = \"StyledHiglightedText\";\n\nconst useHighlightText = (\n text: string,\n searchBy: string,\n matchCase = false\n): ReactNode => {\n let textComparator = text;\n let searchByComparator = searchBy;\n if (!text) return;\n\n if (!matchCase) {\n textComparator = text.toLowerCase();\n searchByComparator = searchBy.toLowerCase();\n }\n\n if (\n searchBy &&\n textComparator &&\n textComparator.indexOf(searchByComparator) >= 0\n ) {\n const beforeHighlighted = text.substring(\n 0,\n textComparator.indexOf(searchByComparator)\n );\n const highLighted = text.substring(\n textComparator.indexOf(searchByComparator),\n textComparator.indexOf(searchByComparator) + searchBy.length\n );\n const afterHighlighted = text.substring(\n textComparator.indexOf(searchByComparator) + searchBy.length\n );\n\n return (\n <Fragment>\n {beforeHighlighted.replace(/ /g, \"\\u00a0\")}\n <StyledHiglightedText className=\"c-option--text__highlight\">\n {highLighted.replace(/ /g, \"\\u00a0\")}\n </StyledHiglightedText>\n {afterHighlighted.replace(/ /g, \"\\u00a0\")}\n </Fragment>\n );\n }\n\n return text;\n};\n\nexport default useHighlightText;\n"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { FC, ReactNode, ReactElement, MutableRefObject } from "react";
|
|
2
|
-
import { IOptionItemProps } from "../Select/Option";
|
|
3
|
-
import { IOptionGroupProps } from "../Select/OptionGroup";
|
|
1
|
+
import { type FC, type ReactNode, type ReactElement, type MutableRefObject } from "react";
|
|
2
|
+
import { type IOptionItemProps } from "../Select/Option";
|
|
3
|
+
import { type IOptionGroupProps } from "../Select/OptionGroup";
|
|
4
4
|
export declare function isOptionGroup(item: IOptionGroupProps | IOptionItemProps): item is IOptionGroupProps;
|
|
5
5
|
export interface IAutocompleteProps {
|
|
6
6
|
/** Select type: single or multiple */
|
|
@@ -43,6 +43,9 @@ export interface IAutocompleteProps {
|
|
|
43
43
|
autoHeightMax?: number;
|
|
44
44
|
/** Clear input on select - works in single mode */
|
|
45
45
|
clearInputOnSelect?: boolean;
|
|
46
|
+
/** Custom filter function for additional filtering criteria */
|
|
47
|
+
filterCriteria?: (option: IOptionItemProps, filter: string) => boolean;
|
|
48
|
+
disableVirtualization?: boolean;
|
|
46
49
|
}
|
|
47
50
|
export declare const Autocomplete: FC<IAutocompleteProps>;
|
|
48
51
|
//# sourceMappingURL=Autocomplete.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,
|
|
1
|
+
{"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,KAAK,EAAE,EAMP,KAAK,SAAS,EACd,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACtB,MAAM,OAAO,CAAC;AAWf,OAAO,EAAE,KAAK,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAE5E,wBAAgB,aAAa,CAC3B,IAAI,EAAE,iBAAiB,GAAG,gBAAgB,GACzC,IAAI,IAAI,iBAAiB,CAE3B;AAED,MAAM,WAAW,kBAAkB;IACjC,sCAAsC;IACtC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC7B,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IACnD,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IACjD,2BAA2B;IAC3B,YAAY,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACnC,qBAAqB;IACrB,OAAO,CAAC,EAAE,gBAAgB,CAAC,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChE,2BAA2B;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB;IACpB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAC3B,gDAAgD;IAChD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gCAAgC;IAChC,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC/B,4BAA4B;IAC5B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IACV,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IACjD,8BAA8B;IAC9B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,2CAA2C;IAC3C,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IACvC,uCAAuC;IACvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,0DAA0D;IAC1D,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,6CAA6C;IAC7C,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mDAAmD;IACnD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,+DAA+D;IAC/D,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACvE,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAcD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CA4rB/C,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _styled from "styled-components";
|
|
2
2
|
import React, { useCallback, useState, useMemo, useEffect, useRef } from "react";
|
|
3
|
-
import {
|
|
3
|
+
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
4
4
|
import { handleKeyboardMovement } from "./HandleKeyboard";
|
|
5
5
|
import { StyledAutocompleteBody, StyledAutocompleteNewItem, StyledAutocompleteScrollShadow } from "./Styles";
|
|
6
6
|
import highlightText from "../../hooks/useHighlightText";
|
|
@@ -31,10 +31,12 @@ export const Autocomplete = _ref => {
|
|
|
31
31
|
keepSameOptionsOrder = false,
|
|
32
32
|
autoHeightMax = 340,
|
|
33
33
|
clearInputOnSelect,
|
|
34
|
-
mixedOptions = []
|
|
34
|
+
mixedOptions = [],
|
|
35
|
+
filterCriteria,
|
|
36
|
+
disableVirtualization
|
|
35
37
|
} = _ref;
|
|
38
|
+
const listContainerRef = useRef(null);
|
|
36
39
|
const itemRef = useRef(null);
|
|
37
|
-
const listRef = useRef(null);
|
|
38
40
|
const selectedOptions = useMemo(() => {
|
|
39
41
|
if (Array.isArray(selected)) {
|
|
40
42
|
return selected;
|
|
@@ -77,9 +79,9 @@ export const Autocomplete = _ref => {
|
|
|
77
79
|
} else {
|
|
78
80
|
return opts.sort(sortOptions);
|
|
79
81
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
82
|
+
},
|
|
83
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
84
|
+
[mixedOptions, selectedOptions]);
|
|
83
85
|
const sortList = useCallback(options => {
|
|
84
86
|
var _options$;
|
|
85
87
|
if (disabledInternalSort) {
|
|
@@ -100,7 +102,11 @@ export const Autocomplete = _ref => {
|
|
|
100
102
|
return handleSort(sortedOptions);
|
|
101
103
|
}
|
|
102
104
|
}, [sortDirection, disabledInternalSort, handleSort]);
|
|
103
|
-
const sortedList =
|
|
105
|
+
const [sortedList, setSortedList] = useState(() => sortList(options));
|
|
106
|
+
useEffect(() => {
|
|
107
|
+
setSortedList(sortList(options));
|
|
108
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
109
|
+
}, [options]);
|
|
104
110
|
const [hover, setHover] = useState({
|
|
105
111
|
item: undefined,
|
|
106
112
|
by: undefined
|
|
@@ -129,22 +135,20 @@ export const Autocomplete = _ref => {
|
|
|
129
135
|
return option.name.toLowerCase() !== filter.trim().toLowerCase();
|
|
130
136
|
}));
|
|
131
137
|
}, [emptyValue, filter, options]);
|
|
132
|
-
const renderAddNew = useMemo(() => {
|
|
133
|
-
return /*#__PURE__*/React.createElement(StyledAutocompleteNewItem, {
|
|
134
|
-
ref: hover.item === "addNew" ? itemRef : null,
|
|
135
|
-
key: "emptyValue",
|
|
136
|
-
hover: hover.item === "addNew",
|
|
137
|
-
onMouseDown: handleEmpty,
|
|
138
|
-
onMouseEnter: onAddNewMouseEnter
|
|
139
|
-
}, emptyValue);
|
|
140
|
-
}, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);
|
|
141
138
|
const filterOptions = useCallback((options, filter) => {
|
|
142
139
|
const trimmedFilter = filter.trim();
|
|
143
140
|
const isGrouped = options[0] && isOptionGroup(options[0]);
|
|
141
|
+
const matchesFilter = option => {
|
|
142
|
+
const nameMatch = option.name.toLowerCase().includes(trimmedFilter.toLowerCase());
|
|
143
|
+
if (filterCriteria && trimmedFilter) {
|
|
144
|
+
return nameMatch || filterCriteria(option, trimmedFilter);
|
|
145
|
+
}
|
|
146
|
+
return nameMatch;
|
|
147
|
+
};
|
|
144
148
|
if (isGrouped) {
|
|
145
149
|
let hovered = false;
|
|
146
150
|
return options.reduce((acc, groupedOption) => {
|
|
147
|
-
const filteredOptions = groupedOption.options.filter(
|
|
151
|
+
const filteredOptions = groupedOption.options.filter(matchesFilter);
|
|
148
152
|
if (filteredOptions.length > 0) {
|
|
149
153
|
if (!hovered && filter) {
|
|
150
154
|
setHover({
|
|
@@ -161,7 +165,7 @@ export const Autocomplete = _ref => {
|
|
|
161
165
|
return [...acc];
|
|
162
166
|
}, []);
|
|
163
167
|
} else {
|
|
164
|
-
const filteredOptions = options.filter(
|
|
168
|
+
const filteredOptions = options.filter(matchesFilter);
|
|
165
169
|
if (filter && filteredOptions.length > 0) {
|
|
166
170
|
setHover({
|
|
167
171
|
item: filteredOptions[0].id,
|
|
@@ -176,7 +180,7 @@ export const Autocomplete = _ref => {
|
|
|
176
180
|
}
|
|
177
181
|
return filteredOptions;
|
|
178
182
|
}
|
|
179
|
-
}, [emptyValue]);
|
|
183
|
+
}, [emptyValue, filterCriteria]);
|
|
180
184
|
const list = useMemo(() => filterOptions(sortedList, filter), [filter, filterOptions, sortedList]);
|
|
181
185
|
const showDefaultOption = useMemo(() => !!defaultValue && !filter, [defaultValue, filter]);
|
|
182
186
|
const flatOptions = useMemo(() => {
|
|
@@ -188,6 +192,61 @@ export const Autocomplete = _ref => {
|
|
|
188
192
|
}, []);
|
|
189
193
|
return filterOptions(options, filter);
|
|
190
194
|
}, [filter, filterOptions, list]);
|
|
195
|
+
const showNoResultCondition = useMemo(() => noResultText && !showAddNew && list.length < 1 && (defaultValue && filter || !defaultValue), [noResultText, showAddNew, list.length, defaultValue, filter]);
|
|
196
|
+
const virtualItems = useMemo(() => {
|
|
197
|
+
const items = [];
|
|
198
|
+
if (showDefaultOption) {
|
|
199
|
+
items.push({
|
|
200
|
+
type: "default",
|
|
201
|
+
id: "default"
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
list.forEach((item, index) => {
|
|
205
|
+
if (isOptionGroup(item)) {
|
|
206
|
+
items.push({
|
|
207
|
+
type: "group",
|
|
208
|
+
id: item.id,
|
|
209
|
+
item
|
|
210
|
+
});
|
|
211
|
+
item.options.forEach(option => {
|
|
212
|
+
items.push({
|
|
213
|
+
type: "option",
|
|
214
|
+
id: option.id,
|
|
215
|
+
item: option,
|
|
216
|
+
index
|
|
217
|
+
});
|
|
218
|
+
});
|
|
219
|
+
} else {
|
|
220
|
+
items.push({
|
|
221
|
+
type: "option",
|
|
222
|
+
id: item.id,
|
|
223
|
+
item,
|
|
224
|
+
index
|
|
225
|
+
});
|
|
226
|
+
}
|
|
227
|
+
});
|
|
228
|
+
if (showNoResultCondition) {
|
|
229
|
+
items.push({
|
|
230
|
+
type: "noResult",
|
|
231
|
+
id: "noResult"
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
if (showAddNew) {
|
|
235
|
+
items.push({
|
|
236
|
+
type: "addNew",
|
|
237
|
+
id: "addNew"
|
|
238
|
+
});
|
|
239
|
+
}
|
|
240
|
+
return items;
|
|
241
|
+
}, [list, showDefaultOption, showNoResultCondition, showAddNew]);
|
|
242
|
+
const shouldUseVirtualization = !disableVirtualization && virtualItems.length > 40;
|
|
243
|
+
const rowVirtualizer = useVirtualizer({
|
|
244
|
+
count: virtualItems.length,
|
|
245
|
+
getScrollElement: () => listContainerRef.current,
|
|
246
|
+
estimateSize: () => 28,
|
|
247
|
+
overscan: 5,
|
|
248
|
+
gap: 4
|
|
249
|
+
});
|
|
191
250
|
const handleInputChange = useCallback(e => {
|
|
192
251
|
if (e.target && !(e.key === "ArrowDown") && !(e.key === "ArrowUp") && !(e.key === "Enter")) {
|
|
193
252
|
setFilter(e.target.value);
|
|
@@ -264,7 +323,7 @@ export const Autocomplete = _ref => {
|
|
|
264
323
|
}
|
|
265
324
|
return /*#__PURE__*/React.createElement(Option, {
|
|
266
325
|
name: item.name,
|
|
267
|
-
ref: itemRef,
|
|
326
|
+
ref: hover.item === item.id ? itemRef : null,
|
|
268
327
|
key: index,
|
|
269
328
|
tooltip: item.tooltip,
|
|
270
329
|
onMouseEnter: handleMouseEnter,
|
|
@@ -289,23 +348,16 @@ export const Autocomplete = _ref => {
|
|
|
289
348
|
by: "mouse"
|
|
290
349
|
});
|
|
291
350
|
}, []);
|
|
292
|
-
const handleScroll = useCallback((list, itemOffset) => {
|
|
293
|
-
if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {
|
|
294
|
-
return list.scrollTop(itemOffset - list.getClientHeight() + 30);
|
|
295
|
-
}
|
|
296
|
-
if (list.getScrollTop() > itemOffset) {
|
|
297
|
-
return list.scrollTop(itemOffset);
|
|
298
|
-
}
|
|
299
|
-
}, []);
|
|
300
351
|
useEffect(() => {
|
|
301
352
|
if (hover.by === "keyboard" && hover.item !== undefined) {
|
|
302
|
-
const
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
353
|
+
const index = virtualItems.findIndex(item => item.id === hover.item);
|
|
354
|
+
if (index !== -1) {
|
|
355
|
+
rowVirtualizer.scrollToIndex(index, {
|
|
356
|
+
align: "center"
|
|
357
|
+
});
|
|
306
358
|
}
|
|
307
359
|
}
|
|
308
|
-
}, [
|
|
360
|
+
}, [hover, rowVirtualizer, virtualItems]);
|
|
309
361
|
const handleOnKeyDown = useCallback(e => {
|
|
310
362
|
if (e.key === "Enter") {
|
|
311
363
|
e.preventDefault();
|
|
@@ -348,8 +400,80 @@ export const Autocomplete = _ref => {
|
|
|
348
400
|
return selectedOptions[0] === null || selectedOptions.length === flatOptions.length;
|
|
349
401
|
}
|
|
350
402
|
}, [flatOptions.length, preselectDefaultValue, selectedOptions]);
|
|
351
|
-
const
|
|
352
|
-
|
|
403
|
+
const renderVirtualItem = useCallback((virtualItem, index) => {
|
|
404
|
+
switch (virtualItem.type) {
|
|
405
|
+
case "default":
|
|
406
|
+
return /*#__PURE__*/React.createElement(Option, {
|
|
407
|
+
name: String(defaultValue),
|
|
408
|
+
ref: hover.item === null ? itemRef : null,
|
|
409
|
+
hover: hover.item === null,
|
|
410
|
+
onMouseEnter: handleMouseEnter,
|
|
411
|
+
onClick: e => {
|
|
412
|
+
e.preventDefault();
|
|
413
|
+
toggleSelected(null);
|
|
414
|
+
},
|
|
415
|
+
renderOption: renderOption({
|
|
416
|
+
name: defaultValue,
|
|
417
|
+
id: null
|
|
418
|
+
}, {
|
|
419
|
+
checked: isDefaultOptionSelected(),
|
|
420
|
+
hover: hover.item === null,
|
|
421
|
+
onChange: () => null
|
|
422
|
+
})
|
|
423
|
+
});
|
|
424
|
+
case "group":
|
|
425
|
+
if (!virtualItem.item || !isOptionGroup(virtualItem.item)) return null;
|
|
426
|
+
return /*#__PURE__*/React.createElement(OptionGroup, {
|
|
427
|
+
checked: selectedOptions,
|
|
428
|
+
name: virtualItem.item.name,
|
|
429
|
+
tooltip: virtualItem.item.tooltip,
|
|
430
|
+
key: virtualItem.item.id,
|
|
431
|
+
setHover: handleHoverCallback,
|
|
432
|
+
id: virtualItem.item.id,
|
|
433
|
+
hover: hover.item,
|
|
434
|
+
options: virtualItem.item.options,
|
|
435
|
+
renderOptions: handleRenderOption,
|
|
436
|
+
type: type,
|
|
437
|
+
onChange: handleChange,
|
|
438
|
+
filter: filter,
|
|
439
|
+
mixedOptions: mixedOptions
|
|
440
|
+
});
|
|
441
|
+
case "option":
|
|
442
|
+
if (!virtualItem.item || isOptionGroup(virtualItem.item)) return null;
|
|
443
|
+
return /*#__PURE__*/React.createElement(Option, {
|
|
444
|
+
name: virtualItem.item.name,
|
|
445
|
+
ref: hover.item === virtualItem.id ? itemRef : null,
|
|
446
|
+
key: index,
|
|
447
|
+
tooltip: virtualItem.item.tooltip,
|
|
448
|
+
onMouseEnter: () => handleMouseEnter(virtualItem.id),
|
|
449
|
+
onClick: handleClick,
|
|
450
|
+
id: virtualItem.id,
|
|
451
|
+
hover: virtualItem.id === hover.item,
|
|
452
|
+
className: optionClassName,
|
|
453
|
+
renderOption: renderOption({
|
|
454
|
+
...virtualItem.item,
|
|
455
|
+
name: highlightText(virtualItem.item.name, filter)
|
|
456
|
+
}, {
|
|
457
|
+
id: "option_" + virtualItem.id,
|
|
458
|
+
checked: selectedOptions && selectedOptions.includes(virtualItem.id),
|
|
459
|
+
hover: hover.item === virtualItem.id,
|
|
460
|
+
onChange: () => null
|
|
461
|
+
})
|
|
462
|
+
});
|
|
463
|
+
case "noResult":
|
|
464
|
+
return /*#__PURE__*/React.createElement(_StyledStyledOption, null, noResultText);
|
|
465
|
+
case "addNew":
|
|
466
|
+
return /*#__PURE__*/React.createElement(StyledAutocompleteNewItem, {
|
|
467
|
+
ref: hover.item === "addNew" ? itemRef : null,
|
|
468
|
+
key: "emptyValue",
|
|
469
|
+
hover: hover.item === "addNew",
|
|
470
|
+
onMouseDown: handleEmpty,
|
|
471
|
+
onMouseEnter: onAddNewMouseEnter
|
|
472
|
+
}, emptyValue);
|
|
473
|
+
default:
|
|
474
|
+
return null;
|
|
475
|
+
}
|
|
476
|
+
}, [defaultValue, hover.item, handleMouseEnter, renderOption, isDefaultOptionSelected, selectedOptions, handleHoverCallback, handleRenderOption, type, handleChange, filter, mixedOptions, handleClick, optionClassName, noResultText, handleEmpty, onAddNewMouseEnter, emptyValue, toggleSelected]);
|
|
353
477
|
return /*#__PURE__*/React.createElement(StyledAutocompleteScrollShadow, {
|
|
354
478
|
className: AutocompleteClassName,
|
|
355
479
|
$isHidden: !defaultValue && !emptyValue && !noResultText && list.length < 1
|
|
@@ -360,30 +484,37 @@ export const Autocomplete = _ref => {
|
|
|
360
484
|
return /*#__PURE__*/React.createElement(StyledAutocompleteBody, {
|
|
361
485
|
key: "body",
|
|
362
486
|
onMouseLeave: handleOnMouseLeave
|
|
363
|
-
}, /*#__PURE__*/React.createElement(
|
|
364
|
-
ref:
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
onScroll: onScroll
|
|
369
|
-
}, defaultValue && !filter && /*#__PURE__*/React.createElement(Option, {
|
|
370
|
-
name: defaultValue,
|
|
371
|
-
ref: itemRef,
|
|
372
|
-
hover: hover.item === null,
|
|
373
|
-
onMouseEnter: handleMouseEnter,
|
|
374
|
-
onClick: e => {
|
|
375
|
-
e.preventDefault();
|
|
376
|
-
toggleSelected(null);
|
|
487
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
488
|
+
ref: listContainerRef,
|
|
489
|
+
style: {
|
|
490
|
+
height: Math.min(rowVirtualizer.getTotalSize() + 12, autoHeightMax) + "px",
|
|
491
|
+
overflow: "auto"
|
|
377
492
|
},
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
493
|
+
onScroll: e => {
|
|
494
|
+
if (onScroll) onScroll(e);
|
|
495
|
+
}
|
|
496
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
497
|
+
style: {
|
|
498
|
+
height: rowVirtualizer.getTotalSize() + "px",
|
|
499
|
+
width: "100%",
|
|
500
|
+
position: "relative"
|
|
501
|
+
}
|
|
502
|
+
}, shouldUseVirtualization ? rowVirtualizer.getVirtualItems().map(virtualRow => {
|
|
503
|
+
const item = virtualItems[virtualRow.index];
|
|
504
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
505
|
+
key: virtualRow.index,
|
|
506
|
+
"data-index": virtualRow.index,
|
|
507
|
+
style: {
|
|
508
|
+
position: "absolute",
|
|
509
|
+
top: 0,
|
|
510
|
+
left: 0,
|
|
511
|
+
width: "100%",
|
|
512
|
+
transform: "translateY(" + virtualRow.start + "px)"
|
|
513
|
+
}
|
|
514
|
+
}, renderVirtualItem(item, virtualRow.index));
|
|
515
|
+
}) : virtualItems.map((item, index) => /*#__PURE__*/React.createElement(React.Fragment, {
|
|
516
|
+
key: index
|
|
517
|
+
}, renderVirtualItem(item, index))))));
|
|
387
518
|
});
|
|
388
519
|
};
|
|
389
520
|
Autocomplete.displayName = "Autocomplete";
|