@activecollab/components 2.0.7 → 2.0.9
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 +2 -2
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/Select/Select.js +2 -2
- package/dist/cjs/components/Select/Select.js.map +1 -1
- package/dist/cjs/components/Select/Styles.js +13 -3
- package/dist/cjs/components/Select/Styles.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/Select/Select.d.ts.map +1 -1
- package/dist/esm/components/Select/Select.js +2 -2
- package/dist/esm/components/Select/Select.js.map +1 -1
- package/dist/esm/components/Select/Styles.d.ts +2 -0
- package/dist/esm/components/Select/Styles.d.ts.map +1 -1
- package/dist/esm/components/Select/Styles.js +13 -3
- package/dist/esm/components/Select/Styles.js.map +1 -1
- package/dist/index.js +16 -6
- 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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireWildcard","require","_reactCustomScrollbars","_HandleKeyboard","_Styles","_useHighlightText","_interopRequireDefault","_Option","_Styles2","_OptionGroup","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","isOptionGroup","item","options","undefined","Autocomplete","_ref","type","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","clearInputOnSelect","itemRef","useRef","listRef","selectedOptions","useMemo","Array","isArray","handleSort","useCallback","opts","isGrouped","map","group","sortedGroupOptions","sort","b","includes","id","sortList","sortedOptions","localeCompare","sortedList","hover","setHover","useState","by","filter","setFilter","handleEmpty","button","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","createElement","StyledAutocompleteNewItem","ref","key","onMouseDown","onMouseEnter","filterOptions","trimmedFilter","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","value","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","OptionGroup","checked","renderOptions","onChange","Option","onClick","className","highlightText","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","useEffect","offsetTop","handleOnKeyDown","handleKeyboardMovement","inputRef","addEventListener","removeEventListener","isDefaultOptionSelected","showNoResult","renderNoResult","_StyledStyledOption","StyledAutocompleteScrollShadow","$isHidden","_ref2","onScroll","StyledAutocompleteBody","onMouseLeave","Scrollbars","autoHeight","exports","displayName","_styledComponents","StyledOption","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\n\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { StyledOption } from \"../Select/Option/Styles\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n if (isGrouped) {\n return opts.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) => {\n if (\n selectedOptions.includes(b.id) &&\n !selectedOptions.includes(a.id)\n ) {\n return 1;\n }\n if (\n selectedOptions.includes(a.id) &&\n !selectedOptions.includes(b.id)\n ) {\n return -1;\n }\n return 0;\n });\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort((a, b) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return {\n ...group,\n options: handleSort(sortedGroupOptions),\n };\n });\n\n return handleSort(sortedOptions);\n } else {\n const sortedOptions = options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return handleSort(sortedOptions);\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const inputRef = inputEl?.current;\n if (inputRef) {\n inputRef.addEventListener(\"input\", handleInputChange);\n inputRef.addEventListener(\"keydown\", handleOnKeyDown);\n }\n return () => {\n if (inputRef) {\n inputRef.removeEventListener(\"input\", handleInputChange);\n inputRef.removeEventListener(\"keydown\", handleOnKeyDown);\n }\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () => noResultText && !showAddNew && list.length < 1,\n [list.length, noResultText, showAddNew]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }) => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Autocomplete.js","names":["_react","_interopRequireWildcard","require","_reactCustomScrollbars","_HandleKeyboard","_Styles","_useHighlightText","_interopRequireDefault","_Option","_Styles2","_OptionGroup","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","isOptionGroup","item","options","undefined","Autocomplete","_ref","type","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","clearInputOnSelect","itemRef","useRef","listRef","selectedOptions","useMemo","Array","isArray","handleSort","useCallback","opts","isGrouped","map","group","sortedGroupOptions","sort","b","includes","id","sortList","sortedOptions","localeCompare","sortedList","hover","setHover","useState","by","filter","setFilter","handleEmpty","button","current","focus","onAddNewMouseEnter","showAddNew","trim","every","v","toLowerCase","renderAddNew","createElement","StyledAutocompleteNewItem","ref","key","onMouseDown","onMouseEnter","filterOptions","trimmedFilter","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","value","handleHoverCallback","toggleSelected","result","_id","dispatchEvent","Event","bubbles","handleMouseEnter","handleClick","preventDefault","handleRenderOption","index","OptionGroup","checked","renderOptions","onChange","Option","onClick","className","highlightText","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","useEffect","offsetTop","handleOnKeyDown","handleKeyboardMovement","inputRef","addEventListener","removeEventListener","isDefaultOptionSelected","showNoResult","renderNoResult","_StyledStyledOption","StyledAutocompleteScrollShadow","$isHidden","_ref2","onScroll","StyledAutocompleteBody","onMouseLeave","Scrollbars","autoHeight","exports","displayName","_styledComponents","StyledOption","withConfig","componentId"],"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n MutableRefObject,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars-2\";\n\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { StyledOption } from \"../Select/Option/Styles\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\n\nexport function isOptionGroup(\n item: IOptionGroupProps | IOptionItemProps\n): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n}\n\nexport interface IAutocompleteProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** List of options or group options */\n options?: (IOptionGroupProps | IOptionItemProps)[];\n /** Selected values */\n selected?: (string | number)[] | string | number;\n /** Input Element. */\n inputEl?: MutableRefObject<HTMLInputElement | null | undefined>;\n /** Text for empty value */\n emptyValue?: string;\n /** Text for No result */\n noResultText?: string;\n /** Render option */\n renderOption?: (\n option: Record<string, ReactNode>,\n data: Record<string, unknown>\n ) => string | ReactElement;\n /** Default value that renders on top of list */\n defaultValue?: string;\n /** Sort direction for labels */\n sortDirection?: \"asc\" | \"desc\";\n /** handleChange callback */\n handleChange?: (\n e: (string | number)[] | string | number | null | undefined\n ) => void;\n /** ClassName for single option */\n optionClassName?: string;\n /** handleEmptyAction */\n handleEmptyAction?: (e: string | number) => void;\n /** Disable sorting options */\n disabledInternalSort?: boolean;\n /** ClassName for Autocomplete component */\n AutocompleteClassName?: string;\n /** handleDefaultOptionChange callback */\n handleDefaultOptionChange?: () => void;\n /** Should default value be selected */\n preselectDefaultValue?: boolean;\n /** Should order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Set max height property for scrollbars */\n autoHeightMax?: number;\n /** Clear input on select - works in single mode */\n clearInputOnSelect?: boolean;\n}\n\ninterface IHover {\n item: number | string | undefined | null;\n by: \"mouse\" | \"keyboard\" | undefined;\n}\n\nexport const Autocomplete: FC<IAutocompleteProps> = ({\n type,\n options = [],\n inputEl,\n selected = [],\n emptyValue,\n noResultText,\n renderOption = (option) => option?.name,\n defaultValue,\n sortDirection = \"asc\",\n handleChange,\n optionClassName,\n handleEmptyAction,\n disabledInternalSort,\n AutocompleteClassName,\n handleDefaultOptionChange,\n preselectDefaultValue,\n keepSameOptionsOrder = false,\n autoHeightMax = 340,\n clearInputOnSelect,\n}) => {\n const itemRef = useRef<HTMLLIElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(() => {\n if (Array.isArray(selected)) {\n return selected;\n }\n return [selected];\n }, [selected]);\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n\n const isGrouped = Array.isArray(opts[0]?.options);\n\n if (isGrouped) {\n return opts.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) => {\n if (\n selectedOptions.includes(b.id) &&\n !selectedOptions.includes(a.id)\n ) {\n return 1;\n }\n if (\n selectedOptions.includes(a.id) &&\n !selectedOptions.includes(b.id)\n ) {\n return -1;\n }\n return 0;\n });\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort((a, b) => {\n if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {\n return 1;\n }\n if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {\n return -1;\n }\n return 0;\n });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const sortList = useCallback(\n (options) => {\n if (disabledInternalSort) {\n return handleSort([...options]);\n }\n\n const isGrouped = Array.isArray(options[0]?.options);\n\n if (isGrouped) {\n const sortedOptions = options.map((group) => {\n const sortedGroupOptions = group.options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return {\n ...group,\n options: handleSort(sortedGroupOptions),\n };\n });\n\n return handleSort(sortedOptions);\n } else {\n const sortedOptions = options.sort((a, b) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n );\n\n return handleSort(sortedOptions);\n }\n },\n [sortDirection, disabledInternalSort, handleSort]\n );\n\n const sortedList = useMemo(() => sortList(options), [options, sortList]);\n\n const [hover, setHover] = useState<IHover>({\n item: undefined,\n by: undefined,\n });\n const [filter, setFilter] = useState(\"\");\n\n const handleEmpty = useCallback(\n (e) => {\n if (e && e.button !== 0) {\n return;\n }\n if (handleEmptyAction) {\n inputEl?.current?.focus();\n setFilter(\"\");\n handleEmptyAction(filter);\n }\n },\n [filter, handleEmptyAction, inputEl]\n );\n\n const onAddNewMouseEnter = useCallback(\n () => setHover({ item: \"addNew\", by: \"mouse\" }),\n []\n );\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isOptionGroup(option)) {\n return option.options.every(\n (v) => v.name.toLowerCase() !== filter.trim().toLowerCase()\n );\n }\n return option.name.toLowerCase() !== filter.trim().toLowerCase();\n })\n );\n }, [emptyValue, filter, options]);\n\n const renderAddNew = useMemo(() => {\n return (\n <StyledAutocompleteNewItem\n ref={hover.item === \"addNew\" ? itemRef : null}\n key=\"emptyValue\"\n hover={hover.item === \"addNew\"}\n onMouseDown={handleEmpty}\n onMouseEnter={onAddNewMouseEnter}\n >\n {emptyValue}\n </StyledAutocompleteNewItem>\n );\n }, [emptyValue, handleEmpty, hover, onAddNewMouseEnter]);\n\n const filterOptions = useCallback(\n (options, filter) => {\n const trimmedFilter = filter.trim();\n const isGrouped = options[0] && isOptionGroup(options[0]);\n if (isGrouped) {\n let hovered = false;\n return options.reduce((acc, groupedOption) => {\n const filteredOptions = groupedOption.options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filteredOptions.length > 0) {\n if (!hovered && filter) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n hovered = true;\n return [...acc, { ...groupedOption, options: filteredOptions }];\n }\n return [...acc];\n }, []);\n } else {\n const filteredOptions = options.filter((v) =>\n v.name.toLowerCase().includes(trimmedFilter.toLowerCase())\n );\n if (filter && filteredOptions.length > 0) {\n setHover({ item: filteredOptions[0].id, by: \"keyboard\" });\n }\n if (filteredOptions.length === 0 && emptyValue) {\n setHover({ item: \"addNew\", by: \"keyboard\" });\n }\n return filteredOptions;\n }\n },\n [emptyValue]\n );\n\n const list = useMemo(\n () => filterOptions(sortedList, filter),\n [filter, filterOptions, sortedList]\n );\n\n const showDefaultOption = useMemo(\n () => !!defaultValue && !filter,\n [defaultValue, filter]\n );\n\n const flatOptions = useMemo(() => {\n const options = list.reduce(\n (\n acc: (IOptionItemProps | IOptionGroupProps | [])[],\n option: IOptionItemProps | IOptionGroupProps\n ) => {\n if (!isOptionGroup(option)) {\n return [...acc, option];\n }\n return [...acc, ...option.options];\n },\n []\n );\n return filterOptions(options, filter);\n }, [filter, filterOptions, list]);\n\n const handleInputChange = useCallback((e) => {\n if (\n e.target &&\n !(e.key === \"ArrowDown\") &&\n !(e.key === \"ArrowUp\") &&\n !(e.key === \"Enter\")\n ) {\n setFilter(e.target.value);\n }\n }, []);\n\n const handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const toggleSelected = useCallback(\n (id) => {\n let result;\n\n if (id !== null) {\n if (type === \"multiple\") {\n if (selectedOptions.includes(id)) {\n result = selectedOptions.filter((_id) => _id !== id);\n } else {\n result = [...selectedOptions, id];\n }\n } else {\n result = id;\n }\n if (clearInputOnSelect && inputEl?.current) {\n inputEl.current.value = \"\";\n inputEl.current.dispatchEvent(new Event(\"change\", { bubbles: true }));\n }\n setFilter(\"\");\n } else {\n if (typeof handleDefaultOptionChange === \"function\") {\n handleDefaultOptionChange();\n return;\n }\n }\n\n if (typeof handleChange === \"function\") {\n handleChange(result);\n }\n },\n [\n clearInputOnSelect,\n handleChange,\n handleDefaultOptionChange,\n inputEl,\n selectedOptions,\n type,\n ]\n );\n\n const handleMouseEnter = useCallback((e) => {\n if (e === undefined || e === null) {\n return setHover({ item: null, by: \"mouse\" });\n }\n setHover({ item: e, by: \"mouse\" });\n }, []);\n\n const handleClick = useCallback(\n (e) => {\n e.preventDefault();\n toggleSelected(hover.item);\n },\n [toggleSelected, hover]\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps, index) => {\n if (isOptionGroup(item)) {\n return (\n <OptionGroup\n checked={selectedOptions}\n name={item.name}\n key={item.id}\n setHover={handleHoverCallback}\n id={item.id}\n hover={hover.item}\n options={item.options}\n renderOptions={handleRenderOption}\n type={type}\n onChange={handleChange}\n filter={filter}\n />\n );\n }\n return (\n <Option\n name={item.name}\n ref={itemRef}\n key={index}\n onMouseEnter={handleMouseEnter}\n onClick={handleClick}\n id={item.id}\n hover={item.id === hover.item}\n className={optionClassName}\n renderOption={renderOption(\n { ...item, name: highlightText(item.name, filter) },\n {\n id: `option_${item.id}`,\n checked: selectedOptions && selectedOptions.includes(item.id),\n hover: hover.item === item.id,\n onChange: () => null,\n }\n )}\n />\n );\n },\n [\n handleClick,\n handleMouseEnter,\n hover.item,\n optionClassName,\n renderOption,\n filter,\n selectedOptions,\n handleHoverCallback,\n type,\n handleChange,\n ]\n );\n\n const handleOnMouseLeave = useCallback(() => {\n setHover({ item: undefined, by: \"mouse\" });\n }, []);\n\n const handleScroll = useCallback((list: Scrollbars, itemOffset: number) => {\n if (list.getClientHeight() + list.getScrollTop() < itemOffset + 40) {\n return list.scrollTop(itemOffset - list.getClientHeight() + 30);\n }\n if (list.getScrollTop() > itemOffset) {\n return list.scrollTop(itemOffset);\n }\n }, []);\n\n useEffect(() => {\n if (hover.by === \"keyboard\" && hover.item !== undefined) {\n const item: HTMLLIElement | null = itemRef.current;\n const list = listRef.current;\n if (itemRef && item && list) {\n handleScroll(list, item.offsetTop);\n }\n }\n }, [handleScroll, hover]);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Enter\") {\n e.preventDefault();\n\n if (hover.item === undefined && filter === \"\") {\n return;\n }\n if (hover.item === \"addNew\") {\n handleEmpty(null);\n return;\n }\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n return;\n }\n\n if (typeof hover.item !== \"undefined\" || hover.item !== null) {\n toggleSelected(hover.item);\n setFilter(\"\");\n }\n return;\n }\n setHover({\n item: handleKeyboardMovement(\n e,\n hover.item,\n flatOptions,\n showAddNew,\n showDefaultOption\n ),\n by: \"keyboard\",\n });\n },\n [\n filter,\n flatOptions,\n toggleSelected,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n useEffect(() => {\n const inputRef = inputEl?.current;\n if (inputRef) {\n inputRef.addEventListener(\"input\", handleInputChange);\n inputRef.addEventListener(\"keydown\", handleOnKeyDown);\n }\n return () => {\n if (inputRef) {\n inputRef.removeEventListener(\"input\", handleInputChange);\n inputRef.removeEventListener(\"keydown\", handleOnKeyDown);\n }\n };\n }, [handleInputChange, handleOnKeyDown, inputEl]);\n\n const isDefaultOptionSelected = useCallback(() => {\n if (preselectDefaultValue) {\n return selectedOptions.length < 1 || selectedOptions[0] === \"\";\n } else {\n return (\n selectedOptions[0] === null ||\n selectedOptions.length === flatOptions.length\n );\n }\n }, [flatOptions.length, preselectDefaultValue, selectedOptions]);\n\n const showNoResult = useMemo(\n () =>\n noResultText &&\n !showAddNew &&\n list.length < 1 &&\n ((defaultValue && filter) || !defaultValue),\n [noResultText, showAddNew, list.length, defaultValue, filter]\n );\n\n const renderNoResult = useMemo(\n () => <StyledOption css=\"cursor: auto\">{noResultText}</StyledOption>,\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }) => (\n <StyledAutocompleteBody key=\"body\" onMouseLeave={handleOnMouseLeave}>\n <Scrollbars\n ref={listRef}\n key=\"scrollBar\"\n autoHeight\n autoHeightMax={autoHeightMax}\n onScroll={onScroll}\n >\n {defaultValue && !filter && (\n <Option\n name={defaultValue}\n ref={itemRef}\n hover={hover.item === null}\n onMouseEnter={handleMouseEnter}\n onClick={(e) => {\n e.preventDefault();\n toggleSelected(null);\n }}\n renderOption={renderOption(\n { name: defaultValue, id: null },\n {\n checked: isDefaultOptionSelected(),\n hover: hover.item === null,\n onChange: () => null,\n }\n )}\n />\n )}\n {list.map((item: IOptionItemProps, index) =>\n handleRenderOption(item, index)\n )}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Select.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAGF,YAAY,EAIZ,GAAG,EACH,SAAS,EACV,MAAM,OAAO,CAAC;AAEf,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAc3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAKlE,UAAU,cAAc,CAAC,CAAC,CAAE,SAAQ,YAAY;IAC9C,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;CACd;AAED,MAAM,WAAW,YACf,SAAQ,IAAI,CACV,kBAAkB,EAClB,cAAc,GAAG,SAAS,GAAG,mBAAmB,GAAG,oBAAoB,CACxE;IACD,sBAAsB;IACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,CAAC;IACnC,gCAAgC;IAChC,MAAM,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IACjC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAC9D,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mDAAmD;IACnD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC9C,gCAAgC;IAChC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,2BAA2B;IAC3B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,4BAA4B;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,oCAAoC;IACpC,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,qCAAqC;IACrC,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,MAAM,EAAE,EAAE,CAAC,YAAY,CAiPnC,CAAC"}
|
|
@@ -159,10 +159,10 @@ const Select = _ref => {
|
|
|
159
159
|
}, [isAllOptionsChecked, renderOption, selectedOptions, type, someOptionsChecked]);
|
|
160
160
|
return /*#__PURE__*/_react.default.createElement(Tag, props, /*#__PURE__*/_react.default.createElement("div", null, !disableSearch ? /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectForm, {
|
|
161
161
|
ref: formRef
|
|
162
|
-
}, startAdornment, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
|
|
162
|
+
}, startAdornment ? /*#__PURE__*/_react.default.createElement(_Styles.StyledStartAdornment, null, startAdornment) : null, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
|
|
163
163
|
ref: handleRef,
|
|
164
164
|
placeholder: placeholder
|
|
165
|
-
}), endAdornment) : null, /*#__PURE__*/_react.default.createElement(_Autocomplete.Autocomplete, (0, _extends2.default)({}, prop, {
|
|
165
|
+
}), endAdornment ? /*#__PURE__*/_react.default.createElement(_Styles.StyledEndAdornment, null, endAdornment) : null) : null, /*#__PURE__*/_react.default.createElement(_Autocomplete.Autocomplete, (0, _extends2.default)({}, prop, {
|
|
166
166
|
clearInputOnSelect: true,
|
|
167
167
|
inputEl: childNode,
|
|
168
168
|
handleEmptyAction: handleEmptyAction,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_OptionContent","_Styles","_useForkRef","_Autocomplete","_Menu","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledSelectInput","Autocomplete","clearInputOnSelect","inputEl","exports","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} 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\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\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}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\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 ...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 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 open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\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 isIndeterminate={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n selectedOptions,\n type,\n someOptionsChecked,\n ]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n {startAdornment}\n <StyledSelectInput ref={handleRef} placeholder={placeholder} />\n {endAdornment}\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 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","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Select","_ref","type","mode","target","options","selected","position","onChange","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","renderOption","handleDefaultOptionChange","preselectDefaultValue","startAdornment","endAdornment","prop","console","warn","childNode","useRef","elementRef","handleRef","useForkRef","Tag","Menu","formRef","open","setOpen","useState","selectedOptions","useMemo","Array","selectOptions","allOptionValues","reduce","acc","option","isOptionGroup","id","allGroupOptions","map","isAllOptionsChecked","every","includes","someOptionsChecked","some","useEffect","current","focus","handleChange","useCallback","selectedValue","onClose","onOpen","props","menuClassName","classNames","onPopperOpen","className","handleEmptyAction","value","reset","handleDefaultOptionChangeCallback","length","handleRenderOption","createElement","Fragment","OptionContent","imageUrl","image","color","textColor","name","additionalInfo","StyledCheckbox","_extends2","checked","isIndeterminate","StyledRadioButton","StyledSelectForm","ref","StyledStartAdornment","StyledSelectInput","StyledEndAdornment","Autocomplete","clearInputOnSelect","inputEl","exports","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\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\nexport interface ISelectProps\n extends Omit<\n IAutocompleteProps,\n \"handleChange\" | \"inputEl\" | \"handleEmptyAction\" | \"clearInputOnSelect\"\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}\n\nexport const Select: FC<ISelectProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\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 ...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 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 open && childNode?.current?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (forceCloseMenu) {\n if (typeof onSelectClose === \"function\") onSelectClose();\n setOpen(false);\n }\n if (selectedValue !== selected) {\n onChange(selectedValue);\n }\n },\n [forceCloseMenu, selected, onSelectClose, onChange]\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 isIndeterminate={someOptionsChecked && !isAllOptionsChecked}\n {...props}\n />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [\n isAllOptionsChecked,\n renderOption,\n selectedOptions,\n type,\n someOptionsChecked,\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 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,6 +1,8 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
export declare const StyledSelectInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Input/Input").InputProps & import("react").RefAttributes<HTMLInputElement>>, any, {}, never>;
|
|
3
3
|
export declare const StyledSelectForm: import("styled-components").StyledComponent<"form", any, {}, never>;
|
|
4
|
+
export declare const StyledStartAdornment: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
5
|
+
export declare const StyledEndAdornment: import("styled-components").StyledComponent<"div", any, {}, never>;
|
|
4
6
|
export declare const StyledCheckbox: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Checkbox").CheckBoxProps & import("react").RefAttributes<HTMLInputElement>>, any, {}, never>;
|
|
5
7
|
export declare const StyledRadioButton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("react").InputHTMLAttributes<HTMLInputElement> & import("../RadioButton").IRadioButtonProps & import("react").RefAttributes<HTMLInputElement>>, any, {}, never>;
|
|
6
8
|
//# sourceMappingURL=Styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Styles.ts"],"names":[],"mappings":";AAMA,eAAO,MAAM,iBAAiB,+LAAkB,CAAC;AAIjD,eAAO,MAAM,gBAAgB,qEAY5B,CAAC;AAIF,eAAO,MAAM,cAAc,+LAE1B,CAAC;AAIF,eAAO,MAAM,iBAAiB,8PAE7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Select/Styles.ts"],"names":[],"mappings":";AAMA,eAAO,MAAM,iBAAiB,+LAAkB,CAAC;AAIjD,eAAO,MAAM,gBAAgB,qEAY5B,CAAC;AAIF,eAAO,MAAM,oBAAoB,oEAGhC,CAAC;AAIF,eAAO,MAAM,kBAAkB,oEAG9B,CAAC;AAIF,eAAO,MAAM,cAAc,+LAE1B,CAAC;AAIF,eAAO,MAAM,iBAAiB,8PAE7B,CAAC"}
|
|
@@ -4,7 +4,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", {
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
|
-
exports.StyledSelectInput = exports.StyledSelectForm = exports.StyledRadioButton = exports.StyledCheckbox = void 0;
|
|
7
|
+
exports.StyledStartAdornment = exports.StyledSelectInput = exports.StyledSelectForm = exports.StyledRadioButton = exports.StyledEndAdornment = exports.StyledCheckbox = void 0;
|
|
8
8
|
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
9
9
|
var _Checkbox = require("../Checkbox");
|
|
10
10
|
var _Input = require("../Input/Input");
|
|
@@ -19,14 +19,24 @@ const StyledSelectForm = exports.StyledSelectForm = _styledComponents.default.fo
|
|
|
19
19
|
componentId: "sc-gfxqpu-1"
|
|
20
20
|
})(["margin:12px 12px 0 12px;display:flex;", "{width:100%;border-radius:4px;}*{margin:auto 0;}"], StyledSelectInput);
|
|
21
21
|
StyledSelectForm.displayName = "StyledSelectForm";
|
|
22
|
+
const StyledStartAdornment = exports.StyledStartAdornment = _styledComponents.default.div.withConfig({
|
|
23
|
+
displayName: "Styles__StyledStartAdornment",
|
|
24
|
+
componentId: "sc-gfxqpu-2"
|
|
25
|
+
})(["margin-right:8px;margin-left:-4px;"]);
|
|
26
|
+
StyledStartAdornment.displayName = "StyledStartAdornment";
|
|
27
|
+
const StyledEndAdornment = exports.StyledEndAdornment = _styledComponents.default.div.withConfig({
|
|
28
|
+
displayName: "Styles__StyledEndAdornment",
|
|
29
|
+
componentId: "sc-gfxqpu-3"
|
|
30
|
+
})(["margin-left:8px;margin-right:-4px;"]);
|
|
31
|
+
StyledEndAdornment.displayName = "StyledEndAdornment";
|
|
22
32
|
const StyledCheckbox = exports.StyledCheckbox = (0, _styledComponents.default)(_Checkbox.Checkbox).withConfig({
|
|
23
33
|
displayName: "Styles__StyledCheckbox",
|
|
24
|
-
componentId: "sc-gfxqpu-
|
|
34
|
+
componentId: "sc-gfxqpu-4"
|
|
25
35
|
})(["margin-left:12px;"]);
|
|
26
36
|
StyledCheckbox.displayName = "StyledCheckbox";
|
|
27
37
|
const StyledRadioButton = exports.StyledRadioButton = (0, _styledComponents.default)(_RadioButton.RadioButton).withConfig({
|
|
28
38
|
displayName: "Styles__StyledRadioButton",
|
|
29
|
-
componentId: "sc-gfxqpu-
|
|
39
|
+
componentId: "sc-gfxqpu-5"
|
|
30
40
|
})(["margin-left:12px;"]);
|
|
31
41
|
StyledRadioButton.displayName = "StyledRadioButton";
|
|
32
42
|
//# sourceMappingURL=Styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireDefault","require","_Checkbox","_Input","_RadioButton","StyledSelectInput","exports","styled","Input","withConfig","displayName","componentId","StyledSelectForm","form","StyledCheckbox","Checkbox","StyledRadioButton","RadioButton"],"sources":["../../../../src/components/Select/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\n\nimport { Checkbox } from \"../Checkbox\";\nimport { Input } from \"../Input/Input\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport const StyledSelectInput = styled(Input)``;\n\nStyledSelectInput.displayName = \"StyledSelectInput\";\n\nexport const StyledSelectForm = styled.form`\n margin: 12px 12px 0 12px;\n display: flex;\n\n ${StyledSelectInput} {\n width: 100%;\n border-radius: 4px;\n }\n\n * {\n margin: auto 0;\n }\n`;\n\nStyledSelectForm.displayName = \"StyledSelectForm\";\n\nexport const StyledCheckbox = styled(Checkbox)`\n margin-left: 12px;\n`;\n\nStyledCheckbox.displayName = \"StyledCheckbox\";\n\nexport const StyledRadioButton = styled(RadioButton)`\n margin-left: 12px;\n`;\n\nStyledRadioButton.displayName = \"StyledRadioButton\";\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEO,MAAMI,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,IAAAE,yBAAM,EAACC,YAAK,CAAC,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,QAAE;AAEhDN,iBAAiB,CAACK,WAAW,GAAG,mBAAmB;AAE5C,MAAME,gBAAgB,GAAAN,OAAA,CAAAM,gBAAA,GAAGL,yBAAM,CAACM,IAAI,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kGAIvCN,iBAAiB,CAQpB;AAEDO,gBAAgB,CAACF,WAAW,GAAG,kBAAkB;AAE1C,MAAMI,
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireDefault","require","_Checkbox","_Input","_RadioButton","StyledSelectInput","exports","styled","Input","withConfig","displayName","componentId","StyledSelectForm","form","StyledStartAdornment","div","StyledEndAdornment","StyledCheckbox","Checkbox","StyledRadioButton","RadioButton"],"sources":["../../../../src/components/Select/Styles.ts"],"sourcesContent":["import styled from \"styled-components\";\n\nimport { Checkbox } from \"../Checkbox\";\nimport { Input } from \"../Input/Input\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport const StyledSelectInput = styled(Input)``;\n\nStyledSelectInput.displayName = \"StyledSelectInput\";\n\nexport const StyledSelectForm = styled.form`\n margin: 12px 12px 0 12px;\n display: flex;\n\n ${StyledSelectInput} {\n width: 100%;\n border-radius: 4px;\n }\n\n * {\n margin: auto 0;\n }\n`;\n\nStyledSelectForm.displayName = \"StyledSelectForm\";\n\nexport const StyledStartAdornment = styled.div`\n margin-right: 8px;\n margin-left: -4px;\n`;\n\nStyledStartAdornment.displayName = \"StyledStartAdornment\";\n\nexport const StyledEndAdornment = styled.div`\n margin-left: 8px;\n margin-right: -4px;\n`;\n\nStyledEndAdornment.displayName = \"StyledEndAdornment\";\n\nexport const StyledCheckbox = styled(Checkbox)`\n margin-left: 12px;\n`;\n\nStyledCheckbox.displayName = \"StyledCheckbox\";\n\nexport const StyledRadioButton = styled(RadioButton)`\n margin-left: 12px;\n`;\n\nStyledRadioButton.displayName = \"StyledRadioButton\";\n"],"mappings":";;;;;;;AAAA,IAAAA,iBAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAEO,MAAMI,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,IAAAE,yBAAM,EAACC,YAAK,CAAC,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,QAAE;AAEhDN,iBAAiB,CAACK,WAAW,GAAG,mBAAmB;AAE5C,MAAME,gBAAgB,GAAAN,OAAA,CAAAM,gBAAA,GAAGL,yBAAM,CAACM,IAAI,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,kGAIvCN,iBAAiB,CAQpB;AAEDO,gBAAgB,CAACF,WAAW,GAAG,kBAAkB;AAE1C,MAAMI,oBAAoB,GAAAR,OAAA,CAAAQ,oBAAA,GAAGP,yBAAM,CAACQ,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0CAG7C;AAEDG,oBAAoB,CAACJ,WAAW,GAAG,sBAAsB;AAElD,MAAMM,kBAAkB,GAAAV,OAAA,CAAAU,kBAAA,GAAGT,yBAAM,CAACQ,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,0CAG3C;AAEDK,kBAAkB,CAACN,WAAW,GAAG,oBAAoB;AAE9C,MAAMO,cAAc,GAAAX,OAAA,CAAAW,cAAA,GAAG,IAAAV,yBAAM,EAACW,kBAAQ,CAAC,CAAAT,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yBAE7C;AAEDM,cAAc,CAACP,WAAW,GAAG,gBAAgB;AAEtC,MAAMS,iBAAiB,GAAAb,OAAA,CAAAa,iBAAA,GAAG,IAAAZ,yBAAM,EAACa,wBAAW,CAAC,CAAAX,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yBAEnD;AAEDQ,iBAAiB,CAACT,WAAW,GAAG,mBAAmB"}
|
package/dist/index.js
CHANGED
|
@@ -11168,14 +11168,24 @@
|
|
|
11168
11168
|
componentId: "sc-gfxqpu-1"
|
|
11169
11169
|
})(["margin:12px 12px 0 12px;display:flex;", "{width:100%;border-radius:4px;}*{margin:auto 0;}"], StyledSelectInput);
|
|
11170
11170
|
StyledSelectForm.displayName = "StyledSelectForm";
|
|
11171
|
+
var StyledStartAdornment = styled__default["default"].div.withConfig({
|
|
11172
|
+
displayName: "Styles__StyledStartAdornment",
|
|
11173
|
+
componentId: "sc-gfxqpu-2"
|
|
11174
|
+
})(["margin-right:8px;margin-left:-4px;"]);
|
|
11175
|
+
StyledStartAdornment.displayName = "StyledStartAdornment";
|
|
11176
|
+
var StyledEndAdornment = styled__default["default"].div.withConfig({
|
|
11177
|
+
displayName: "Styles__StyledEndAdornment",
|
|
11178
|
+
componentId: "sc-gfxqpu-3"
|
|
11179
|
+
})(["margin-left:8px;margin-right:-4px;"]);
|
|
11180
|
+
StyledEndAdornment.displayName = "StyledEndAdornment";
|
|
11171
11181
|
var StyledCheckbox = styled__default["default"](Checkbox).withConfig({
|
|
11172
11182
|
displayName: "Styles__StyledCheckbox",
|
|
11173
|
-
componentId: "sc-gfxqpu-
|
|
11183
|
+
componentId: "sc-gfxqpu-4"
|
|
11174
11184
|
})(["margin-left:12px;"]);
|
|
11175
11185
|
StyledCheckbox.displayName = "StyledCheckbox";
|
|
11176
11186
|
var StyledRadioButton = styled__default["default"](RadioButton).withConfig({
|
|
11177
11187
|
displayName: "Styles__StyledRadioButton",
|
|
11178
|
-
componentId: "sc-gfxqpu-
|
|
11188
|
+
componentId: "sc-gfxqpu-5"
|
|
11179
11189
|
})(["margin-left:12px;"]);
|
|
11180
11190
|
StyledRadioButton.displayName = "StyledRadioButton";
|
|
11181
11191
|
|
|
@@ -12130,8 +12140,8 @@
|
|
|
12130
12140
|
}
|
|
12131
12141
|
}, [flatOptions.length, preselectDefaultValue, selectedOptions]);
|
|
12132
12142
|
var showNoResult = React.useMemo(function () {
|
|
12133
|
-
return noResultText && !showAddNew && list.length < 1;
|
|
12134
|
-
}, [list.length,
|
|
12143
|
+
return noResultText && !showAddNew && list.length < 1 && (defaultValue && filter || !defaultValue);
|
|
12144
|
+
}, [noResultText, showAddNew, list.length, defaultValue, filter]);
|
|
12135
12145
|
var renderNoResult = React.useMemo(function () {
|
|
12136
12146
|
return /*#__PURE__*/React__default["default"].createElement(_StyledStyledOption, null, noResultText);
|
|
12137
12147
|
}, [noResultText]);
|
|
@@ -12354,10 +12364,10 @@
|
|
|
12354
12364
|
}, [isAllOptionsChecked, renderOption, selectedOptions, type, someOptionsChecked]);
|
|
12355
12365
|
return /*#__PURE__*/React__default["default"].createElement(Tag, props, /*#__PURE__*/React__default["default"].createElement("div", null, !disableSearch ? /*#__PURE__*/React__default["default"].createElement(StyledSelectForm, {
|
|
12356
12366
|
ref: formRef
|
|
12357
|
-
}, startAdornment, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
|
|
12367
|
+
}, startAdornment ? /*#__PURE__*/React__default["default"].createElement(StyledStartAdornment, null, startAdornment) : null, /*#__PURE__*/React__default["default"].createElement(StyledSelectInput, {
|
|
12358
12368
|
ref: handleRef,
|
|
12359
12369
|
placeholder: placeholder
|
|
12360
|
-
}), endAdornment) : null, /*#__PURE__*/React__default["default"].createElement(Autocomplete, _extends({}, prop, {
|
|
12370
|
+
}), endAdornment ? /*#__PURE__*/React__default["default"].createElement(StyledEndAdornment, null, endAdornment) : null) : null, /*#__PURE__*/React__default["default"].createElement(Autocomplete, _extends({}, prop, {
|
|
12361
12371
|
clearInputOnSelect: true,
|
|
12362
12372
|
inputEl: childNode,
|
|
12363
12373
|
handleEmptyAction: handleEmptyAction,
|