@activecollab/components 2.0.83 → 2.0.85
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 +22 -18
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.js +6 -3
- package/dist/cjs/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/cjs/components/Checkbox/Styles.js +3 -1
- package/dist/cjs/components/Checkbox/Styles.js.map +1 -1
- package/dist/esm/components/Autocomplete/Autocomplete.js +22 -18
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.d.ts.map +1 -1
- package/dist/esm/components/Checkbox/Checkbox.js +5 -2
- package/dist/esm/components/Checkbox/Checkbox.js.map +1 -1
- package/dist/esm/components/Checkbox/Styles.d.ts +3 -1
- package/dist/esm/components/Checkbox/Styles.d.ts.map +1 -1
- package/dist/esm/components/Checkbox/Styles.js +1 -1
- package/dist/esm/components/Checkbox/Styles.js.map +1 -1
- package/dist/index.js +31 -22
- 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","mixedOptions","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 /** Mixed options values */\n mixedOptions?: (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 mixedOptions = [],\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 mixedOptions={mixedOptions}\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 mixedOptions,\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
|
+
{"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","mixedOptions","itemRef","useRef","listRef","selectedOptions","useMemo","Array","isArray","handleSort","useCallback","opts","isGrouped","sortOptions","b","aSelected","includes","id","bSelected","aMixed","bMixed","map","group","sortedGroupOptions","sort","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 /** Mixed options values */\n mixedOptions?: (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 mixedOptions = [],\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 const sortOptions = (a, b) => {\n const aSelected = selectedOptions.includes(a.id);\n const bSelected = selectedOptions.includes(b.id);\n const aMixed = mixedOptions.includes(a.id);\n const bMixed = mixedOptions.includes(b.id);\n\n if (aSelected && !bSelected) {\n return -1;\n }\n if (!aSelected && bSelected) {\n return 1;\n }\n if (aMixed && !bMixed) {\n return -1;\n }\n if (!aMixed && bMixed) {\n return 1;\n }\n return 0;\n };\n\n if (isGrouped) {\n return opts.map((group) => {\n const sortedGroupOptions = group.options.sort(sortOptions);\n\n return {\n ...group,\n options: sortedGroupOptions,\n };\n });\n } else {\n return opts.sort(sortOptions);\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 mixedOptions={mixedOptions}\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 mixedOptions,\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":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,mBAAmB,EAIpB,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC/D,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAGZ,mBAAmB,EAIpB,MAAM,OAAO,CAAC;AAOf,MAAM,WAAW,aACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IAC/D,kBAAkB;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,mCAAmC;IACnC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC;CAC7D;AAED;;GAEG;AACH,eAAO,MAAM,QAAQ,wFA6EpB,CAAC"}
|
|
@@ -23,6 +23,7 @@ const Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)((_ref, r
|
|
|
23
23
|
mixed = false,
|
|
24
24
|
checked,
|
|
25
25
|
onChange,
|
|
26
|
+
disabled,
|
|
26
27
|
...rest
|
|
27
28
|
} = _ref;
|
|
28
29
|
const [indeterminate, setIndeterminate] = (0, _react.useState)(mixed && !checked);
|
|
@@ -52,7 +53,8 @@ const Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)((_ref, r
|
|
|
52
53
|
}, className),
|
|
53
54
|
hover: hover,
|
|
54
55
|
tabIndex: -1,
|
|
55
|
-
mixed: indeterminate
|
|
56
|
+
mixed: indeterminate,
|
|
57
|
+
$disabled: disabled
|
|
56
58
|
}, /*#__PURE__*/_react.default.createElement(_Styles.StyledInput, (0, _extends2.default)({
|
|
57
59
|
role: "checkbox",
|
|
58
60
|
id: id,
|
|
@@ -61,7 +63,8 @@ const Checkbox = exports.Checkbox = /*#__PURE__*/(0, _react.forwardRef)((_ref, r
|
|
|
61
63
|
ref: ref
|
|
62
64
|
}, rest, {
|
|
63
65
|
checked: initialChecked,
|
|
64
|
-
onChange: handleChange
|
|
66
|
+
onChange: handleChange,
|
|
67
|
+
disabled: disabled
|
|
65
68
|
})), /*#__PURE__*/_react.default.createElement(_Styles.StyledLabel, {
|
|
66
69
|
htmlFor: id,
|
|
67
70
|
className: "c-checkbox--label"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_CheckboxIcon","_Styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Checkbox","exports","forwardRef","_ref","ref","className","hover","id","mixed","checked","onChange","rest","indeterminate","setIndeterminate","useState","initialChecked","setInitialChecked","handleChange","useCallback","prev","useEffect","createElement","StyledCheckbox","classnames","tabIndex","StyledInput","_extends2","role","type","StyledLabel","htmlFor","height","width","displayName"],"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n InputHTMLAttributes,\n useState,\n useCallback,\n useEffect,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CheckboxIcon from \"./CheckboxIcon\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface CheckBoxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\"> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n /** mixed state */\n mixed?: boolean;\n /** On change callback */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n mixed = false,\n checked,\n onChange,\n ...rest\n }: CheckBoxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n const [indeterminate, setIndeterminate] = useState(mixed && !checked);\n const [initialChecked, setInitialChecked] = useState(checked);\n const handleChange = useCallback(\n (e) => {\n typeof onChange === \"function\" && onChange(e);\n setInitialChecked((prev) => !prev);\n setIndeterminate(false);\n },\n [onChange]\n );\n\n useEffect(() => {\n if (checked !== initialChecked) {\n setInitialChecked(checked);\n setIndeterminate(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checked]);\n\n useEffect(() => {\n if (mixed !== indeterminate && !checked) {\n setIndeterminate(mixed);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mixed]);\n\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n tabIndex={-1}\n mixed={indeterminate}\n >\n <StyledInput\n role=\"checkbox\"\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n checked={initialChecked}\n onChange={handleChange}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon\n data-testid=\"checkbox-icon\"\n height={16}\n width={16}\n mixed={indeterminate}\n />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AASA,IAAAC,WAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,aAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAAoE,SAAAK,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAP,wBAAAO,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,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,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAgBpE;AACA;AACA;AACO,MAAMY,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAAG,IAAAE,iBAAU,EAChC,CAAAC,IAAA,
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":["_react","_interopRequireWildcard","require","_classnames","_interopRequireDefault","_CheckboxIcon","_Styles","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","Checkbox","exports","forwardRef","_ref","ref","className","hover","id","mixed","checked","onChange","disabled","rest","indeterminate","setIndeterminate","useState","initialChecked","setInitialChecked","handleChange","useCallback","prev","useEffect","createElement","StyledCheckbox","classnames","tabIndex","$disabled","StyledInput","_extends2","role","type","StyledLabel","htmlFor","height","width","displayName"],"sources":["../../../../src/components/Checkbox/Checkbox.tsx"],"sourcesContent":["import React, {\n forwardRef,\n Ref,\n InputHTMLAttributes,\n useState,\n useCallback,\n useEffect,\n} from \"react\";\n\nimport classnames from \"classnames\";\n\nimport CheckboxIcon from \"./CheckboxIcon\";\nimport { StyledCheckbox, StyledInput, StyledLabel } from \"./Styles\";\n\nexport interface CheckBoxProps\n extends Omit<InputHTMLAttributes<HTMLInputElement>, \"onChange\"> {\n /** CSS classes */\n className?: string;\n /** Set hover style */\n hover?: boolean;\n /** Id of input and for of label */\n id?: string;\n /** mixed state */\n mixed?: boolean;\n /** On change callback */\n onChange?: (e: React.ChangeEvent<HTMLInputElement>) => void;\n}\n\n/**\n * Checkbox component\n */\nexport const Checkbox = forwardRef(\n (\n {\n className,\n hover,\n id = \"checkbox\",\n mixed = false,\n checked,\n onChange,\n disabled,\n ...rest\n }: CheckBoxProps,\n ref: Ref<HTMLInputElement> | null | undefined\n ) => {\n const [indeterminate, setIndeterminate] = useState(mixed && !checked);\n const [initialChecked, setInitialChecked] = useState(checked);\n const handleChange = useCallback(\n (e) => {\n typeof onChange === \"function\" && onChange(e);\n setInitialChecked((prev) => !prev);\n setIndeterminate(false);\n },\n [onChange]\n );\n\n useEffect(() => {\n if (checked !== initialChecked) {\n setInitialChecked(checked);\n setIndeterminate(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [checked]);\n\n useEffect(() => {\n if (mixed !== indeterminate && !checked) {\n setIndeterminate(mixed);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mixed]);\n\n return (\n <StyledCheckbox\n className={classnames(\n \"c-checkbox\",\n {\n \"c-checkbox__hover\": hover,\n \"c-checkbox__controlled\": typeof hover === \"boolean\",\n },\n className\n )}\n hover={hover}\n tabIndex={-1}\n mixed={indeterminate}\n $disabled={disabled}\n >\n <StyledInput\n role=\"checkbox\"\n id={id}\n className=\"c-checkbox--input\"\n type=\"checkbox\"\n ref={ref}\n {...rest}\n checked={initialChecked}\n onChange={handleChange}\n disabled={disabled}\n />\n <StyledLabel htmlFor={id} className=\"c-checkbox--label\">\n <CheckboxIcon\n data-testid=\"checkbox-icon\"\n height={16}\n width={16}\n mixed={indeterminate}\n />\n </StyledLabel>\n </StyledCheckbox>\n );\n }\n);\n\nCheckbox.displayName = \"Checkbox\";\n"],"mappings":"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"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { CheckBoxProps } from "./Checkbox";
|
|
2
2
|
export declare const StyledInput: import("styled-components").StyledComponent<"input", any, {}, never>;
|
|
3
3
|
export declare const StyledLabel: import("styled-components").StyledComponent<"label", any, {}, never>;
|
|
4
|
-
export declare const StyledCheckbox: import("styled-components").StyledComponent<"div", any, Partial<CheckBoxProps
|
|
4
|
+
export declare const StyledCheckbox: import("styled-components").StyledComponent<"div", any, Partial<CheckBoxProps & {
|
|
5
|
+
$disabled: boolean;
|
|
6
|
+
}>, never>;
|
|
5
7
|
//# sourceMappingURL=Styles.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,WAAW,sEAYvB,CAAC;AAGF,eAAO,MAAM,WAAW,sEAAiB,CAAC;AAG1C,eAAO,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Checkbox/Styles.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,eAAO,MAAM,WAAW,sEAYvB,CAAC;AAGF,eAAO,MAAM,WAAW,sEAAiB,CAAC;AAG1C,eAAO,MAAM,cAAc;eACY,OAAO;UAkH7C,CAAC"}
|
|
@@ -20,6 +20,6 @@ StyledLabel.displayName = "StyledLabel";
|
|
|
20
20
|
const StyledCheckbox = exports.StyledCheckbox = _styledComponents.default.div.withConfig({
|
|
21
21
|
displayName: "Styles__StyledCheckbox",
|
|
22
22
|
componentId: "sc-y7zymm-2"
|
|
23
|
-
})(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{
|
|
23
|
+
})(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}", " rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{opacity:0.5;cursor:not-allowed;}", ":focus ~ ", "{", "}&:not(.c-checkbox__controlled) ", ":hover:not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);", " stroke-width:3px;}}", " ", ":checked ~ ", "{path{", "}rect{stroke:var(--color-secondary);stroke-width:19px;", "}}"], props => props.$disabled && (0, _styledComponents.css)(["svg{cursor:not-allowed;}"]), props => !props.mixed && (0, _styledComponents.css)(["stroke:var(--color-theme-500);"]), props => props.mixed && (0, _styledComponents.css)(["stroke:transparent;"]), StyledInput, StyledLabel, StyledInput, StyledLabel, props => !props.mixed && (0, _styledComponents.css)(["rect{stroke:var(--color-secondary);stroke-width:3px;}"]), StyledInput, StyledLabel, props => props.mixed && (0, _styledComponents.css)(["stroke:transparent;"]), props => props.hover && !props.mixed && (0, _styledComponents.css)(["", ":not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);stroke-width:3px;}}"], StyledInput, StyledLabel), StyledInput, StyledLabel, props => !props.mixed && (0, _styledComponents.css)(["stroke:var(--page-paper-main);stroke-dashoffset:24;"]), props => props.mixed && (0, _styledComponents.css)(["stroke:transparent;"]));
|
|
24
24
|
StyledCheckbox.displayName = "StyledCheckbox";
|
|
25
25
|
//# sourceMappingURL=Styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledInput","exports","styled","input","withConfig","displayName","componentId","StyledLabel","label","StyledCheckbox","div","props","
|
|
1
|
+
{"version":3,"file":"Styles.js","names":["_styledComponents","_interopRequireWildcard","require","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","prototype","hasOwnProperty","call","i","set","StyledInput","exports","styled","input","withConfig","displayName","componentId","StyledLabel","label","StyledCheckbox","div","props","$disabled","css","mixed","hover"],"sources":["../../../../src/components/Checkbox/Styles.ts"],"sourcesContent":["import styled, { css } from \"styled-components\";\n\nimport type { CheckBoxProps } from \"./Checkbox\";\n\nexport const StyledInput = styled.input`\n border: 0px;\n clip: rect(0px, 0px, 0px, 0px);\n cursor: pointer;\n height: 1px;\n margin: -1px;\n opacity: 0;\n overflow: hidden;\n padding: 0px;\n position: absolute;\n white-space: nowrap;\n width: 1px;\n`;\nStyledInput.displayName = \"StyledInput\";\n\nexport const StyledLabel = styled.label``;\nStyledLabel.displayName = \"StyledLabel\";\n\nexport const StyledCheckbox = styled.div<\n Partial<CheckBoxProps & { $disabled: boolean }>\n>`\n height: 16px;\n width: 16px;\n position: relative;\n transition-duration: 0.2s;\n border-radius: 2px;\n\n path {\n transition-duration: 0.2s;\n stroke: transparent;\n stroke-dashoffset: 12;\n stroke-dasharray: 12;\n }\n svg {\n cursor: pointer;\n border-radius: 2px;\n fill: transparent;\n }\n\n ${(props) =>\n props.$disabled &&\n css`\n svg {\n cursor: not-allowed;\n }\n `}\n\n rect {\n transition-duration: 0.2s;\n\n ${(props) =>\n !props.mixed &&\n css`\n stroke: var(--color-theme-500);\n `}\n\n ${(props) =>\n props.mixed &&\n css`\n stroke: transparent;\n `}\n }\n\n ${StyledInput}:disabled ~ ${StyledLabel} {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n ${StyledInput}:focus ~ ${StyledLabel} {\n ${(props) =>\n !props.mixed &&\n css`\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n `}\n }\n\n // prettier-ignore\n &:not(.c-checkbox__controlled) ${StyledInput}:hover:not(:checked) ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n\n ${(props) =>\n props.mixed &&\n css`\n stroke: transparent;\n `}\n stroke-width: 3px;\n }\n }\n\n ${(props) =>\n props.hover &&\n !props.mixed &&\n css`\n ${StyledInput}:not(:checked) ~ ${StyledLabel} {\n path {\n stroke: var(--color-secondary-500);\n stroke-dashoffset: 24;\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 3px;\n }\n }\n `}\n\n ${StyledInput}:checked ~ ${StyledLabel} {\n path {\n ${(props) =>\n !props.mixed &&\n css`\n stroke: var(--page-paper-main);\n stroke-dashoffset: 24;\n `}\n }\n rect {\n stroke: var(--color-secondary);\n stroke-width: 19px;\n\n ${(props) =>\n props.mixed &&\n css`\n stroke: transparent;\n `}\n }\n }\n`;\nStyledCheckbox.displayName = \"StyledCheckbox\";\n"],"mappings":";;;;;;AAAA,IAAAA,iBAAA,GAAAC,uBAAA,CAAAC,OAAA;AAAgD,SAAAC,yBAAAC,CAAA,6BAAAC,OAAA,mBAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,CAAAC,CAAA,WAAAA,CAAA,GAAAG,CAAA,GAAAD,CAAA,KAAAF,CAAA;AAAA,SAAAH,wBAAAG,CAAA,EAAAE,CAAA,SAAAA,CAAA,IAAAF,CAAA,IAAAA,CAAA,CAAAI,UAAA,SAAAJ,CAAA,eAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,WAAAK,OAAA,EAAAL,CAAA,QAAAG,CAAA,GAAAJ,wBAAA,CAAAG,CAAA,OAAAC,CAAA,IAAAA,CAAA,CAAAG,GAAA,CAAAN,CAAA,UAAAG,CAAA,CAAAI,GAAA,CAAAP,CAAA,OAAAQ,CAAA,KAAAC,SAAA,UAAAC,CAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,CAAA,IAAAd,CAAA,oBAAAc,CAAA,IAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAc,CAAA,SAAAI,CAAA,GAAAR,CAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAb,CAAA,EAAAc,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,IAAAd,CAAA,CAAAc,CAAA,YAAAN,CAAA,CAAAH,OAAA,GAAAL,CAAA,EAAAG,CAAA,IAAAA,CAAA,CAAAgB,GAAA,CAAAnB,CAAA,EAAAQ,CAAA,GAAAA,CAAA;AAIzC,MAAMY,WAAW,GAAAC,OAAA,CAAAD,WAAA,GAAGE,yBAAM,CAACC,KAAK,CAAAC,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,yKAYtC;AACDN,WAAW,CAACK,WAAW,GAAG,aAAa;AAEhC,MAAME,WAAW,GAAAN,OAAA,CAAAM,WAAA,GAAGL,yBAAM,CAACM,KAAK,CAAAJ,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,QAAE;AACzCC,WAAW,CAACF,WAAW,GAAG,aAAa;AAEhC,MAAMI,cAAc,GAAAR,OAAA,CAAAQ,cAAA,GAAGP,yBAAM,CAACQ,GAAG,CAAAN,UAAA;EAAAC,WAAA;EAAAC,WAAA;AAAA,6nBAqBnCK,KAAK,IACNA,KAAK,CAACC,SAAS,QACfC,qBAAG,+BAIF,EAKEF,KAAK,IACN,CAACA,KAAK,CAACG,KAAK,QACZD,qBAAG,qCAEF,EAEAF,KAAK,IACNA,KAAK,CAACG,KAAK,QACXD,qBAAG,0BAEF,EAGHb,WAAW,EAAeO,WAAW,EAKrCP,WAAW,EAAYO,WAAW,EAC/BI,KAAK,IACN,CAACA,KAAK,CAACG,KAAK,QACZD,qBAAG,4DAKF,EAI4Bb,WAAW,EAA0BO,WAAW,EAQ1EI,KAAK,IACVA,KAAK,CAACG,KAAK,QACXD,qBAAG,0BAEF,EAKAF,KAAK,IACNA,KAAK,CAACI,KAAK,IACX,CAACJ,KAAK,CAACG,KAAK,QACZD,qBAAG,qJACCb,WAAW,EAAoBO,WAAW,CAU7C,EAEDP,WAAW,EAAcO,WAAW,EAE/BI,KAAK,IACN,CAACA,KAAK,CAACG,KAAK,QACZD,qBAAG,0DAGF,EAMAF,KAAK,IACNA,KAAK,CAACG,KAAK,QACXD,qBAAG,0BAEF,CAGR;AACDJ,cAAc,CAACJ,WAAW,GAAG,gBAAgB"}
|
package/dist/index.js
CHANGED
|
@@ -11269,7 +11269,9 @@
|
|
|
11269
11269
|
var StyledCheckbox$1 = styled__default["default"].div.withConfig({
|
|
11270
11270
|
displayName: "Styles__StyledCheckbox",
|
|
11271
11271
|
componentId: "sc-y7zymm-2"
|
|
11272
|
-
})(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{
|
|
11272
|
+
})(["height:16px;width:16px;position:relative;transition-duration:0.2s;border-radius:2px;path{transition-duration:0.2s;stroke:transparent;stroke-dashoffset:12;stroke-dasharray:12;}svg{cursor:pointer;border-radius:2px;fill:transparent;}", " rect{transition-duration:0.2s;", " ", "}", ":disabled ~ ", "{opacity:0.5;cursor:not-allowed;}", ":focus ~ ", "{", "}&:not(.c-checkbox__controlled) ", ":hover:not(:checked) ~ ", "{path{stroke:var(--color-secondary-500);stroke-dashoffset:24;}rect{stroke:var(--color-secondary);", " stroke-width:3px;}}", " ", ":checked ~ ", "{path{", "}rect{stroke:var(--color-secondary);stroke-width:19px;", "}}"], function (props) {
|
|
11273
|
+
return props.$disabled && styled.css(["svg{cursor:not-allowed;}"]);
|
|
11274
|
+
}, function (props) {
|
|
11273
11275
|
return !props.mixed && styled.css(["stroke:var(--color-theme-500);"]);
|
|
11274
11276
|
}, function (props) {
|
|
11275
11277
|
return props.mixed && styled.css(["stroke:transparent;"]);
|
|
@@ -11286,7 +11288,7 @@
|
|
|
11286
11288
|
});
|
|
11287
11289
|
StyledCheckbox$1.displayName = "StyledCheckbox";
|
|
11288
11290
|
|
|
11289
|
-
var _excluded$R = ["className", "hover", "id", "mixed", "checked", "onChange"];
|
|
11291
|
+
var _excluded$R = ["className", "hover", "id", "mixed", "checked", "onChange", "disabled"];
|
|
11290
11292
|
/**
|
|
11291
11293
|
* Checkbox component
|
|
11292
11294
|
*/
|
|
@@ -11299,6 +11301,7 @@
|
|
|
11299
11301
|
mixed = _ref$mixed === void 0 ? false : _ref$mixed,
|
|
11300
11302
|
checked = _ref.checked,
|
|
11301
11303
|
onChange = _ref.onChange,
|
|
11304
|
+
disabled = _ref.disabled,
|
|
11302
11305
|
rest = _objectWithoutProperties(_ref, _excluded$R);
|
|
11303
11306
|
var _useState = React.useState(mixed && !checked),
|
|
11304
11307
|
_useState2 = _slicedToArray(_useState, 2),
|
|
@@ -11335,7 +11338,8 @@
|
|
|
11335
11338
|
}, className),
|
|
11336
11339
|
hover: hover,
|
|
11337
11340
|
tabIndex: -1,
|
|
11338
|
-
mixed: indeterminate
|
|
11341
|
+
mixed: indeterminate,
|
|
11342
|
+
$disabled: disabled
|
|
11339
11343
|
}, /*#__PURE__*/React__default["default"].createElement(StyledInput$3, _extends({
|
|
11340
11344
|
role: "checkbox",
|
|
11341
11345
|
id: id,
|
|
@@ -11344,7 +11348,8 @@
|
|
|
11344
11348
|
ref: ref
|
|
11345
11349
|
}, rest, {
|
|
11346
11350
|
checked: initialChecked,
|
|
11347
|
-
onChange: handleChange
|
|
11351
|
+
onChange: handleChange,
|
|
11352
|
+
disabled: disabled
|
|
11348
11353
|
})), /*#__PURE__*/React__default["default"].createElement(StyledLabel, {
|
|
11349
11354
|
htmlFor: id,
|
|
11350
11355
|
className: "c-checkbox--label"
|
|
@@ -12247,32 +12252,36 @@
|
|
|
12247
12252
|
return opts;
|
|
12248
12253
|
}
|
|
12249
12254
|
var isGrouped = Array.isArray((_opts$ = opts[0]) === null || _opts$ === void 0 ? void 0 : _opts$.options);
|
|
12255
|
+
var sortOptions = function sortOptions(a, b) {
|
|
12256
|
+
var aSelected = selectedOptions.includes(a.id);
|
|
12257
|
+
var bSelected = selectedOptions.includes(b.id);
|
|
12258
|
+
var aMixed = mixedOptions.includes(a.id);
|
|
12259
|
+
var bMixed = mixedOptions.includes(b.id);
|
|
12260
|
+
if (aSelected && !bSelected) {
|
|
12261
|
+
return -1;
|
|
12262
|
+
}
|
|
12263
|
+
if (!aSelected && bSelected) {
|
|
12264
|
+
return 1;
|
|
12265
|
+
}
|
|
12266
|
+
if (aMixed && !bMixed) {
|
|
12267
|
+
return -1;
|
|
12268
|
+
}
|
|
12269
|
+
if (!aMixed && bMixed) {
|
|
12270
|
+
return 1;
|
|
12271
|
+
}
|
|
12272
|
+
return 0;
|
|
12273
|
+
};
|
|
12250
12274
|
if (isGrouped) {
|
|
12251
12275
|
return opts.map(function (group) {
|
|
12252
|
-
var sortedGroupOptions = group.options.sort(
|
|
12253
|
-
if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {
|
|
12254
|
-
return 1;
|
|
12255
|
-
}
|
|
12256
|
-
if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {
|
|
12257
|
-
return -1;
|
|
12258
|
-
}
|
|
12259
|
-
return 0;
|
|
12260
|
-
});
|
|
12276
|
+
var sortedGroupOptions = group.options.sort(sortOptions);
|
|
12261
12277
|
return _objectSpread2(_objectSpread2({}, group), {}, {
|
|
12262
12278
|
options: sortedGroupOptions
|
|
12263
12279
|
});
|
|
12264
12280
|
});
|
|
12265
12281
|
} else {
|
|
12266
|
-
return opts.sort(
|
|
12267
|
-
if (selectedOptions.includes(b.id) && !selectedOptions.includes(a.id)) {
|
|
12268
|
-
return 1;
|
|
12269
|
-
}
|
|
12270
|
-
if (selectedOptions.includes(a.id) && !selectedOptions.includes(b.id)) {
|
|
12271
|
-
return -1;
|
|
12272
|
-
}
|
|
12273
|
-
return 0;
|
|
12274
|
-
});
|
|
12282
|
+
return opts.sort(sortOptions);
|
|
12275
12283
|
}
|
|
12284
|
+
|
|
12276
12285
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
12277
12286
|
}, []);
|
|
12278
12287
|
var sortList = React.useCallback(function (options) {
|