@activecollab/components 1.0.45 → 1.0.48

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.
Files changed (33) hide show
  1. package/dist/cjs/components/Autocomplete/Autocomplete.js +1 -4
  2. package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -1
  3. package/dist/cjs/components/ComboBox/ComboBox.js +3 -3
  4. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  5. package/dist/cjs/components/ComboBox/Styles.js +6 -6
  6. package/dist/cjs/components/ComboBox/Styles.js.map +1 -1
  7. package/dist/cjs/components/Icons/collection/ProjectTemplateAdd.js +31 -0
  8. package/dist/cjs/components/Icons/collection/ProjectTemplateAdd.js.map +1 -0
  9. package/dist/cjs/components/Icons/collection/index.js +8 -0
  10. package/dist/cjs/components/Icons/collection/index.js.map +1 -1
  11. package/dist/esm/components/Autocomplete/Autocomplete.d.ts.map +1 -1
  12. package/dist/esm/components/Autocomplete/Autocomplete.js +1 -4
  13. package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -1
  14. package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
  15. package/dist/esm/components/ComboBox/ComboBox.js +3 -3
  16. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  17. package/dist/esm/components/ComboBox/Styles.d.ts +2 -3
  18. package/dist/esm/components/ComboBox/Styles.d.ts.map +1 -1
  19. package/dist/esm/components/ComboBox/Styles.js +6 -6
  20. package/dist/esm/components/ComboBox/Styles.js.map +1 -1
  21. package/dist/esm/components/Icons/collection/ProjectTemplateAdd.d.ts +4 -0
  22. package/dist/esm/components/Icons/collection/ProjectTemplateAdd.d.ts.map +1 -0
  23. package/dist/esm/components/Icons/collection/ProjectTemplateAdd.js +18 -0
  24. package/dist/esm/components/Icons/collection/ProjectTemplateAdd.js.map +1 -0
  25. package/dist/esm/components/Icons/collection/index.d.ts +1 -0
  26. package/dist/esm/components/Icons/collection/index.d.ts.map +1 -1
  27. package/dist/esm/components/Icons/collection/index.js +1 -0
  28. package/dist/esm/components/Icons/collection/index.js.map +1 -1
  29. package/dist/index.js +27 -13
  30. package/dist/index.js.map +1 -1
  31. package/dist/index.min.js +1 -1
  32. package/dist/index.min.js.map +1 -1
  33. package/package.json +1 -1
@@ -361,11 +361,8 @@ var Autocomplete = function Autocomplete(_ref) {
361
361
  handleChange(hover === null || hover === void 0 ? void 0 : hover.item);
362
362
  }
363
363
 
364
- setTimeout(function () {
365
- return inputEl === null || inputEl === void 0 ? void 0 : inputEl.focus();
366
- }, 0);
367
364
  setFilter("");
368
- }, [handleChange, handleDefaultOptionChange, hover, inputEl]);
365
+ }, [handleChange, handleDefaultOptionChange, hover]);
369
366
  (0, _react.useEffect)(function () {
370
367
  if (inputEl) {
371
368
  inputEl.onkeydown = handleOnKeyDown;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":["Autocomplete","type","options","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","itemRef","listRef","selectedOptions","Array","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","item","undefined","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","isGroup","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleMouseEnter","handleHoverCallback","handleRenderOption","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","preventDefault","handleClick","setTimeout","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\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?: HTMLInputElement | null;\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}\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}) => {\n const itemRef = useRef<HTMLLabelElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\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 // 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 return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\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?.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 function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isGroup(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] && isGroup(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 (!isGroup(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 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 handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps) => {\n if (isGroup(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={item.id}\n onMouseEnter={handleMouseEnter}\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 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: HTMLLabelElement | 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 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 if (handleChange) {\n handleChange(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 handleChange,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n const handleClick = useCallback(() => {\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n }\n if (handleChange) {\n handleChange(hover?.item);\n }\n setTimeout(() => inputEl?.focus(), 0);\n setFilter(\"\");\n }, [handleChange, handleDefaultOptionChange, hover, inputEl]);\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\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 () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody\n key=\"body\"\n onChange={handleClick}\n onMouseLeave={handleOnMouseLeave}\n >\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 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) => handleRenderOption(item))}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"file":"Autocomplete.js"}
1
+ {"version":3,"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":["Autocomplete","type","options","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","itemRef","listRef","selectedOptions","Array","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","item","undefined","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","isGroup","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleMouseEnter","handleHoverCallback","handleRenderOption","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","preventDefault","handleClick","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\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?: HTMLInputElement | null;\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}\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}) => {\n const itemRef = useRef<HTMLLabelElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\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 // 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 return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\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?.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 function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isGroup(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] && isGroup(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 (!isGroup(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 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 handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps) => {\n if (isGroup(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={item.id}\n onMouseEnter={handleMouseEnter}\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 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: HTMLLabelElement | 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 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 if (handleChange) {\n handleChange(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 handleChange,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n const handleClick = useCallback(() => {\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n }\n if (handleChange) {\n handleChange(hover?.item);\n }\n setFilter(\"\");\n }, [handleChange, handleDefaultOptionChange, hover]);\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\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 () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody\n key=\"body\"\n onChange={handleClick}\n onMouseLeave={handleOnMouseLeave}\n >\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 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) => handleRenderOption(item))}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"file":"Autocomplete.js"}
@@ -172,7 +172,8 @@ var ComboBox = function ComboBox(_ref) {
172
172
  return /*#__PURE__*/_react.default.createElement(_Styles.StyledComboBox, {
173
173
  className: "c-combo-box",
174
174
  $open: open,
175
- $loading: loading
175
+ $loading: loading,
176
+ $size: size
176
177
  }, /*#__PURE__*/_react.default.createElement(_Styles.StyledComboBoxWrapper, {
177
178
  onClick: onOpen,
178
179
  onFocus: onOpen,
@@ -185,8 +186,7 @@ var ComboBox = function ComboBox(_ref) {
185
186
  onKeyDown: handleOnKeyDown,
186
187
  onChange: handleOnChange,
187
188
  placeholder: placeholder,
188
- disabled: disabled,
189
- $size: size
189
+ disabled: disabled
190
190
  }), !disabled ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, loading ? /*#__PURE__*/_react.default.createElement(_SpinnerLoader.SpinnerLoader, null) : selected ? /*#__PURE__*/_react.default.createElement(_Button.Button, {
191
191
  onMouseDown: handleMouseDown,
192
192
  onClick: handleDeselect,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":["ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","open","setOpen","handleOnKeyDown","key","stopPropagation","formRef","focus","blur","emptyAction","handleChange","selectedValue","onClose","setTimeout","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","current","zIndex","clientWidth","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Button } from \"../Button/Button\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBox,\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledComboBoxWrapper,\n} from \"./Styles\";\n\ninterface IComboBoxProps {\n /** Set selected items */\n selected?: string | number;\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (e: string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Button size can be big, medium or small */\n size?: \"big\" | \"small\";\n}\n\nexport const ComboBox: FC<IComboBoxProps & IAutocompleteProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const [open, setOpen] = useState(false);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n },\n [open, selectedName]\n );\n\n const formRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue) {\n onChange?.(selectedValue);\n setOpen(false);\n }\n },\n [onChange]\n );\n\n const onClose = useCallback(() => {\n setTimeout(() => {\n setOpen(false);\n }, 200);\n setValue(selectedName);\n }, [selectedName]);\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback((option, props) => {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n }, []);\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n onChange?.(\"\");\n setOpen(false);\n },\n [onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n return (\n <StyledComboBox className=\"c-combo-box\" $open={open} $loading={loading}>\n <StyledComboBoxWrapper\n onClick={onOpen}\n onFocus={onOpen}\n onBlur={onClose}\n ref={formRef}\n $loading={loading}\n >\n <StyledComboBoxInput\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n $size={size}\n />\n {!disabled ? (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size={size}\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n ) : null}\n </StyledComboBoxWrapper>\n {!disabled ? (\n <Popper\n anchorEl={formRef.current}\n open={open}\n placement=\"bottom\"\n style={{ zIndex: 10 }}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={formRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type=\"single\"\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n ) : null}\n </StyledComboBox>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"file":"ComboBox.js"}
1
+ {"version":3,"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":["ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","open","setOpen","handleOnKeyDown","key","stopPropagation","formRef","focus","blur","emptyAction","handleChange","selectedValue","onClose","setTimeout","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","current","zIndex","clientWidth","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useEffect,\n useRef,\n useMemo,\n} from \"react\";\nimport { RadioButton } from \"../RadioButton\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Button } from \"../Button/Button\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport { Popper } from \"../Popper\";\nimport { IOptionGroupProps } from \"../Select\";\nimport { RemoveScroll } from \"react-remove-scroll\";\nimport { SpinnerLoader } from \"../Loaders/Spinner/SpinnerLoader\";\nimport { OptionContent } from \"../Select/OptionContent/OptionContent\";\nimport {\n StyledComboBox,\n StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n StyledComboBoxWrapper,\n} from \"./Styles\";\n\ninterface IComboBoxProps {\n /** Set selected items */\n selected?: string | number;\n /** Set combobox in to loading state */\n loading?: boolean;\n /** Text to display while in loading state */\n loadingText?: string;\n /** onChange callback */\n onChange?: (e: string | number) => void;\n /** Placeholder for Select input */\n placeholder?: string;\n /** disable Input element */\n disabled?: boolean;\n /** Button size can be big, medium or small */\n size?: \"big\" | \"small\";\n}\n\nexport const ComboBox: FC<IComboBoxProps & IAutocompleteProps> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size,\n ...prop\n}) => {\n const selectedName = useMemo(() => {\n let value = \"\";\n if (!selected) {\n return value;\n }\n options.map((v) => {\n if ((v as IOptionGroupProps)?.options) {\n return (v as IOptionGroupProps).options.find((q) => {\n if (q.id === selected) {\n value = q.name;\n return;\n }\n });\n } else {\n if (v.id === selected) {\n value = v.name;\n return;\n }\n }\n });\n return value;\n }, [options, selected]);\n const [value, setValue] = useState(selectedName);\n const handleOnChange = useCallback((e) => setValue(e.target.value), []);\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const [open, setOpen] = useState(false);\n\n const handleOnKeyDown = useCallback(\n (e) => {\n if (e.key === \"Escape\" && open) {\n setOpen(false);\n setValue(selectedName);\n e.stopPropagation();\n }\n },\n [open, selectedName]\n );\n\n const formRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n open && childNode?.focus();\n !open && childNode?.blur();\n }, [childNode, open]);\n\n useEffect(() => {\n setValue(selectedName);\n }, [selectedName]);\n\n const emptyAction = useCallback(\n (v) => {\n handleEmptyAction?.(v);\n setOpen(false);\n },\n [handleEmptyAction]\n );\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue) {\n onChange?.(selectedValue);\n setOpen(false);\n }\n },\n [onChange]\n );\n\n const onClose = useCallback(() => {\n setTimeout(() => {\n setOpen(false);\n }, 200);\n setValue(selectedName);\n }, [selectedName]);\n\n const onOpen = useCallback(() => {\n if (!disabled) {\n setOpen(true);\n }\n }, [disabled]);\n\n const handleRenderOption = useCallback((option, props) => {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n />\n <RadioButton {...props} />\n </>\n );\n }, []);\n\n const handleDeselect = useCallback(\n (e) => {\n e.stopPropagation();\n onChange?.(\"\");\n setOpen(false);\n },\n [onChange]\n );\n\n const handleMouseDown = useCallback((e) => {\n e.preventDefault();\n }, []);\n\n return (\n <StyledComboBox\n className=\"c-combo-box\"\n $open={open}\n $loading={loading}\n $size={size}\n >\n <StyledComboBoxWrapper\n onClick={onOpen}\n onFocus={onOpen}\n onBlur={onClose}\n ref={formRef}\n $loading={loading}\n >\n <StyledComboBoxInput\n ref={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n />\n {!disabled ? (\n <>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size={size}\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </>\n ) : null}\n </StyledComboBoxWrapper>\n {!disabled ? (\n <Popper\n anchorEl={formRef.current}\n open={open}\n placement=\"bottom\"\n style={{ zIndex: 10 }}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={formRef.current?.clientWidth}>\n <Autocomplete\n {...prop}\n inputEl={childNode}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n type=\"single\"\n handleEmptyAction={emptyAction}\n />\n </StyledComboBoxList>\n </RemoveScroll>\n </Popper>\n ) : null}\n </StyledComboBox>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"file":"ComboBox.js"}
@@ -24,10 +24,14 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
24
24
  var StyledComboBox = _styledComponents.default.div.withConfig({
25
25
  displayName: "Styles__StyledComboBox",
26
26
  componentId: "sc-5qvkpb-0"
27
- })(["border:1px solid var(--border-primary);border-radius:10px;color:var(--color-theme-900);font-size:14px;background-color:var(--input-background-color);cursor:text;", " ", " ", " ", ""], _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle, function (props) {
27
+ })(["height:34px;border:1px solid var(--border-primary);border-radius:10px;color:var(--color-theme-900);font-size:14px;background-color:var(--input-background-color);cursor:text;", " ", " ", " ", " ", " ", ""], _FontStyle.FontStyle, _BoxSizingStyle.BoxSizingStyle, function (props) {
28
28
  return props.$open && (0, _styledComponents.css)(["border-color:var(--color-primary);"]);
29
29
  }, function (props) {
30
30
  return props.$loading && (0, _styledComponents.css)(["cursor:progress;"]);
31
+ }, function (props) {
32
+ return props.$size == "small" && (0, _styledComponents.css)(["height:26px;"]);
33
+ }, function (props) {
34
+ return props.$size == "big" && (0, _styledComponents.css)(["height:42px;"]);
31
35
  });
32
36
 
33
37
  exports.StyledComboBox = StyledComboBox;
@@ -60,11 +64,7 @@ StyledComboBoxCollapseExpandSingleIcon.displayName = "StyledComboBoxCollapseExpa
60
64
  var StyledComboBoxInput = (0, _styledComponents.default)(_Input.Input).withConfig({
61
65
  displayName: "Styles__StyledComboBoxInput",
62
66
  componentId: "sc-5qvkpb-4"
63
- })(["overflow:hidden;text-overflow:ellipsis;background-color:transparent;border:none;width:100%;", " ", ""], function (props) {
64
- return props.$size == "small" && (0, _styledComponents.css)(["height:24px;"]);
65
- }, function (props) {
66
- return props.$size == "big" && (0, _styledComponents.css)(["height:40px;"]);
67
- });
67
+ })(["overflow:hidden;text-overflow:ellipsis;background-color:transparent;border:none;width:100%;"]);
68
68
  exports.StyledComboBoxInput = StyledComboBoxInput;
69
69
  StyledComboBoxInput.displayName = "StyledComboBoxInput";
70
70
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ComboBox/Styles.ts"],"names":["StyledComboBox","styled","div","FontStyle","BoxSizingStyle","props","$open","css","$loading","displayName","StyledComboBoxWrapper","StyledIconDefaults","StyledComboBoxCloseSmallIcon","CloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","CollapseExpandSingleIcon","StyledComboBoxInput","Input","$size","StyledComboBoxList","$width"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAOO,IAAMA,cAAc,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,6LAOvBC,oBAPuB,EAQvBC,8BARuB,EAUvB,UAACC,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,QACAC,qBADA,yCADA;AAAA,CAVuB,EAgBvB,UAACF,KAAD;AAAA,SACAA,KAAK,CAACG,QAAN,QACAD,qBADA,uBADA;AAAA,CAhBuB,CAApB;;;AAuBPP,cAAc,CAACS,WAAf,GAA6B,gBAA7B;;AAEO,IAAMC,qBAAqB,GAAGT,0BAAOC,GAAV;AAAA;AAAA;AAAA,oEAM9B,UAACG,KAAD;AAAA,SACAA,KAAK,CAACG,QAAN,QACAD,qBADA,2BADA;AAAA,CAN8B,CAA3B;;;AAaPG,qBAAqB,CAACD,WAAtB,GAAoC,uBAApC;AAEA,IAAME,kBAAkB,OAAGJ,qBAAH,oCAAxB;AAKO,IAAMK,4BAA4B,GAAG,+BAAOC,0BAAP,CAAH;AAAA;AAAA;AAAA,2IACrCF,kBADqC,EAOrCD,qBAPqC,CAAlC;;AAaPE,4BAA4B,CAACH,WAA7B,GAA2C,8BAA3C;AAEO,IAAMK,sCAAsC,GAAG,+BACpDC,oCADoD,CAAH;AAAA;AAAA;AAAA,yFAG/CJ,kBAH+C,EAQ/C,UAACN,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,QACAC,qBADA,8BADA;AAAA,CAR+C,CAA5C;;AAePO,sCAAsC,CAACL,WAAvC,GACE,wCADF;AAGO,IAAMO,mBAAmB,GAAG,+BAAOC,YAAP,CAAH;AAAA;AAAA;AAAA,6GAM5B,UAACZ,KAAD;AAAA,SACAA,KAAK,CAACa,KAAN,IAAe,OAAf,QACAX,qBADA,mBADA;AAAA,CAN4B,EAW5B,UAACF,KAAD;AAAA,SACAA,KAAK,CAACa,KAAN,IAAe,KAAf,QACAX,qBADA,mBADA;AAAA,CAX4B,CAAzB;;AAkBPS,mBAAmB,CAACP,WAApB,GAAkC,qBAAlC;;AAEO,IAAMU,kBAAkB,GAAGlB,0BAAOC,GAAV;AAAA;AAAA;AAAA,oLAOpB,UAACG,KAAD;AAAA,mBAAcA,KAAK,CAACe,MAApB;AAAA,CAPoB,CAAxB;;;AAUPD,kBAAkB,CAACV,WAAnB,GAAiC,oBAAjC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport { CollapseExpandSingleIcon, CloseSmallIcon } from \"../Icons/collection\";\nimport { Input } from \"../Input/Input\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledComboBoxProps {\n $open?: boolean;\n $loading?: boolean;\n}\n\nexport const StyledComboBox = styled.div<StyledComboBoxProps>`\n border: 1px solid var(--border-primary);\n border-radius: 10px;\n color: var(--color-theme-900);\n font-size: 14px;\n background-color: var(--input-background-color);\n cursor: text;\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$open &&\n css`\n border-color: var(--color-primary);\n `}\n\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n`;\n\nStyledComboBox.displayName = \"StyledComboBox\";\n\nexport const StyledComboBoxWrapper = styled.div<{ $loading?: boolean }>`\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n\n ${(props) =>\n props.$loading &&\n css`\n pointer-events: none;\n `}\n`;\n\nStyledComboBoxWrapper.displayName = \"StyledComboBoxWrapper\";\n\nconst StyledIconDefaults = css`\n flex-shrink: 0;\n cursor: pointer;\n`;\n\nexport const StyledComboBoxCloseSmallIcon = styled(CloseSmallIcon)`\n ${StyledIconDefaults}\n opacity: 0;\n transition-property: all;\n transition-duration: 0.2s;\n transition-delay: 0.5s;\n\n ${StyledComboBoxWrapper}:hover & {\n opacity: 1;\n transition-delay: 0s;\n }\n`;\n\nStyledComboBoxCloseSmallIcon.displayName = \"StyledComboBoxCloseSmallIcon\";\n\nexport const StyledComboBoxCollapseExpandSingleIcon = styled(\n CollapseExpandSingleIcon\n)<{ $open?: boolean }>`\n ${StyledIconDefaults}\n margin: 0 4px 0 0;\n color: var(--color-theme-600);\n transform: rotate(180deg);\n\n ${(props) =>\n props.$open &&\n css`\n transform: rotate(0deg);\n `}\n`;\n\nStyledComboBoxCollapseExpandSingleIcon.displayName =\n \"StyledComboBoxCollapseExpandSingleIcon\";\n\nexport const StyledComboBoxInput = styled(Input)<{ $size?: string }>`\n overflow: hidden;\n text-overflow: ellipsis;\n background-color: transparent;\n border: none;\n width: 100%;\n ${(props) =>\n props.$size == \"small\" &&\n css`\n height: 24px;\n `}\n ${(props) =>\n props.$size == \"big\" &&\n css`\n height: 40px;\n `}\n`;\n\nStyledComboBoxInput.displayName = \"StyledComboBoxInput\";\n\nexport const StyledComboBoxList = styled.div<{ $width?: number }>`\n min-width: 260px;\n background-color: var(--page-paper-main);\n border-radius: 8px;\n border: 1px solid var(--border-primary);\n box-shadow: var(--shadow-tertiary);\n margin: 8px 0;\n width: ${(props) => `${props.$width}px`};\n`;\n\nStyledComboBoxList.displayName = \"StyledComboBoxList\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/ComboBox/Styles.ts"],"names":["StyledComboBox","styled","div","FontStyle","BoxSizingStyle","props","$open","css","$loading","$size","displayName","StyledComboBoxWrapper","StyledIconDefaults","StyledComboBoxCloseSmallIcon","CloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","CollapseExpandSingleIcon","StyledComboBoxInput","Input","StyledComboBoxList","$width"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAQO,IAAMA,cAAc,GAAGC,0BAAOC,GAAV;AAAA;AAAA;AAAA,mNAQvBC,oBARuB,EASvBC,8BATuB,EAWvB,UAACC,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,QACAC,qBADA,yCADA;AAAA,CAXuB,EAiBvB,UAACF,KAAD;AAAA,SACAA,KAAK,CAACG,QAAN,QACAD,qBADA,uBADA;AAAA,CAjBuB,EAuBvB,UAACF,KAAD;AAAA,SACAA,KAAK,CAACI,KAAN,IAAe,OAAf,QACAF,qBADA,mBADA;AAAA,CAvBuB,EA6BvB,UAACF,KAAD;AAAA,SACAA,KAAK,CAACI,KAAN,IAAe,KAAf,QACAF,qBADA,mBADA;AAAA,CA7BuB,CAApB;;;AAoCPP,cAAc,CAACU,WAAf,GAA6B,gBAA7B;;AAEO,IAAMC,qBAAqB,GAAGV,0BAAOC,GAAV;AAAA;AAAA;AAAA,oEAM9B,UAACG,KAAD;AAAA,SACAA,KAAK,CAACG,QAAN,QACAD,qBADA,2BADA;AAAA,CAN8B,CAA3B;;;AAaPI,qBAAqB,CAACD,WAAtB,GAAoC,uBAApC;AAEA,IAAME,kBAAkB,OAAGL,qBAAH,oCAAxB;AAKO,IAAMM,4BAA4B,GAAG,+BAAOC,0BAAP,CAAH;AAAA;AAAA;AAAA,2IACrCF,kBADqC,EAOrCD,qBAPqC,CAAlC;;AAaPE,4BAA4B,CAACH,WAA7B,GAA2C,8BAA3C;AAEO,IAAMK,sCAAsC,GAAG,+BACpDC,oCADoD,CAAH;AAAA;AAAA;AAAA,yFAG/CJ,kBAH+C,EAQ/C,UAACP,KAAD;AAAA,SACAA,KAAK,CAACC,KAAN,QACAC,qBADA,8BADA;AAAA,CAR+C,CAA5C;;AAePQ,sCAAsC,CAACL,WAAvC,GACE,wCADF;AAGO,IAAMO,mBAAmB,GAAG,+BAAOC,YAAP,CAAH;AAAA;AAAA;AAAA,mGAAzB;;AAQPD,mBAAmB,CAACP,WAApB,GAAkC,qBAAlC;;AAEO,IAAMS,kBAAkB,GAAGlB,0BAAOC,GAAV;AAAA;AAAA;AAAA,oLAOpB,UAACG,KAAD;AAAA,mBAAcA,KAAK,CAACe,MAApB;AAAA,CAPoB,CAAxB;;;AAUPD,kBAAkB,CAACT,WAAnB,GAAiC,oBAAjC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport { CollapseExpandSingleIcon, CloseSmallIcon } from \"../Icons/collection\";\nimport { Input } from \"../Input/Input\";\nimport { BoxSizingStyle } from \"../BoxSizingStyle\";\nimport { FontStyle } from \"../FontStyle\";\n\ninterface StyledComboBoxProps {\n $open?: boolean;\n $loading?: boolean;\n $size?: string;\n}\n\nexport const StyledComboBox = styled.div<StyledComboBoxProps>`\n height: 34px;\n border: 1px solid var(--border-primary);\n border-radius: 10px;\n color: var(--color-theme-900);\n font-size: 14px;\n background-color: var(--input-background-color);\n cursor: text;\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$open &&\n css`\n border-color: var(--color-primary);\n `}\n\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n\n ${(props) =>\n props.$size == \"small\" &&\n css`\n height: 26px;\n `}\n\n ${(props) =>\n props.$size == \"big\" &&\n css`\n height: 42px;\n `}\n`;\n\nStyledComboBox.displayName = \"StyledComboBox\";\n\nexport const StyledComboBoxWrapper = styled.div<{ $loading?: boolean }>`\n width: 100%;\n height: 100%;\n display: flex;\n align-items: center;\n\n ${(props) =>\n props.$loading &&\n css`\n pointer-events: none;\n `}\n`;\n\nStyledComboBoxWrapper.displayName = \"StyledComboBoxWrapper\";\n\nconst StyledIconDefaults = css`\n flex-shrink: 0;\n cursor: pointer;\n`;\n\nexport const StyledComboBoxCloseSmallIcon = styled(CloseSmallIcon)`\n ${StyledIconDefaults}\n opacity: 0;\n transition-property: all;\n transition-duration: 0.2s;\n transition-delay: 0.5s;\n\n ${StyledComboBoxWrapper}:hover & {\n opacity: 1;\n transition-delay: 0s;\n }\n`;\n\nStyledComboBoxCloseSmallIcon.displayName = \"StyledComboBoxCloseSmallIcon\";\n\nexport const StyledComboBoxCollapseExpandSingleIcon = styled(\n CollapseExpandSingleIcon\n)<{ $open?: boolean }>`\n ${StyledIconDefaults}\n margin: 0 4px 0 0;\n color: var(--color-theme-600);\n transform: rotate(180deg);\n\n ${(props) =>\n props.$open &&\n css`\n transform: rotate(0deg);\n `}\n`;\n\nStyledComboBoxCollapseExpandSingleIcon.displayName =\n \"StyledComboBoxCollapseExpandSingleIcon\";\n\nexport const StyledComboBoxInput = styled(Input)`\n overflow: hidden;\n text-overflow: ellipsis;\n background-color: transparent;\n border: none;\n width: 100%;\n`;\n\nStyledComboBoxInput.displayName = \"StyledComboBoxInput\";\n\nexport const StyledComboBoxList = styled.div<{ $width?: number }>`\n min-width: 260px;\n background-color: var(--page-paper-main);\n border-radius: 8px;\n border: 1px solid var(--border-primary);\n box-shadow: var(--shadow-tertiary);\n margin: 8px 0;\n width: ${(props) => `${props.$width}px`};\n`;\n\nStyledComboBoxList.displayName = \"StyledComboBoxList\";\n"],"file":"Styles.js"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ var _react = _interopRequireDefault(require("react"));
9
+
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+
12
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
13
+
14
+ var ProjectTemplateAddIcon = /*#__PURE__*/_react.default.forwardRef(function (props, svgRef) {
15
+ return /*#__PURE__*/_react.default.createElement("svg", _extends({
16
+ width: 24,
17
+ height: 24,
18
+ viewBox: "0 0 24 24",
19
+ xmlns: "http://www.w3.org/2000/svg",
20
+ fill: "var(--color-theme-600)",
21
+ ref: svgRef
22
+ }, props), /*#__PURE__*/_react.default.createElement("path", {
23
+ d: "M20 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm0-7a2 2 0 012 2v3h-2v-3H10v10h3v2h-3a2 2 0 01-2-2V10a2 2 0 012-2h10zM7 5h10a2 2 0 011.995 1.85L19 7H7v12a2 2 0 01-2-2V7a2 2 0 012-2zm7-3a2 2 0 011.995 1.85L16 4H4v12a2 2 0 01-2-2V4a2 2 0 012-2h10z",
24
+ fillRule: "evenodd"
25
+ }));
26
+ });
27
+
28
+ ProjectTemplateAddIcon.displayName = "ProjectTemplateAddIcon";
29
+ var _default = ProjectTemplateAddIcon;
30
+ exports.default = _default;
31
+ //# sourceMappingURL=ProjectTemplateAdd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../../src/components/Icons/collection/ProjectTemplateAdd.tsx"],"names":["ProjectTemplateAddIcon","React","forwardRef","props","svgRef","displayName"],"mappings":";;;;;;;AAAA;;;;;;AACA,IAAMA,sBAAsB,gBAAGC,eAAMC,UAAN,CAC7B,UAACC,KAAD,EAAuCC,MAAvC;AAAA,sBACE;AACE,IAAA,KAAK,EAAE,EADT;AAEE,IAAA,MAAM,EAAE,EAFV;AAGE,IAAA,OAAO,EAAC,WAHV;AAIE,IAAA,KAAK,EAAC,4BAJR;AAKE,IAAA,IAAI,EAAC,wBALP;AAME,IAAA,GAAG,EAAEA;AANP,KAOMD,KAPN,gBASE;AACE,IAAA,CAAC,EAAC,4OADJ;AAEE,IAAA,QAAQ,EAAC;AAFX,IATF,CADF;AAAA,CAD6B,CAA/B;;AAkBAH,sBAAsB,CAACK,WAAvB,GAAqC,wBAArC;eACeL,sB","sourcesContent":["import React from \"react\";\nconst ProjectTemplateAddIcon = React.forwardRef(\n (props: React.SVGProps<SVGSVGElement>, svgRef?: React.Ref<SVGSVGElement>) => (\n <svg\n width={24}\n height={24}\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill=\"var(--color-theme-600)\"\n ref={svgRef}\n {...props}\n >\n <path\n d=\"M20 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3h2zm0-7a2 2 0 012 2v3h-2v-3H10v10h3v2h-3a2 2 0 01-2-2V10a2 2 0 012-2h10zM7 5h10a2 2 0 011.995 1.85L19 7H7v12a2 2 0 01-2-2V7a2 2 0 012-2zm7-3a2 2 0 011.995 1.85L16 4H4v12a2 2 0 01-2-2V4a2 2 0 012-2h10z\"\n fillRule=\"evenodd\"\n />\n </svg>\n )\n);\nProjectTemplateAddIcon.displayName = \"ProjectTemplateAddIcon\";\nexport default ProjectTemplateAddIcon;\n"],"file":"ProjectTemplateAdd.js"}
@@ -603,6 +603,12 @@ Object.defineProperty(exports, "ProjectAddIcon", {
603
603
  return _ProjectAdd.default;
604
604
  }
605
605
  });
606
+ Object.defineProperty(exports, "ProjectTemplateAddIcon", {
607
+ enumerable: true,
608
+ get: function get() {
609
+ return _ProjectTemplateAdd.default;
610
+ }
611
+ });
606
612
  Object.defineProperty(exports, "ProjectTemplateConvertIcon", {
607
613
  enumerable: true,
608
614
  get: function get() {
@@ -1002,6 +1008,8 @@ var _PlayIcon = _interopRequireDefault(require("./PlayIcon"));
1002
1008
 
1003
1009
  var _ProjectAdd = _interopRequireDefault(require("./ProjectAdd"));
1004
1010
 
1011
+ var _ProjectTemplateAdd = _interopRequireDefault(require("./ProjectTemplateAdd"));
1012
+
1005
1013
  var _ProjectTemplateConvert = _interopRequireDefault(require("./ProjectTemplateConvert"));
1006
1014
 
1007
1015
  var _ProjectTemplate = _interopRequireDefault(require("./ProjectTemplate"));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/components/Icons/collection/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export { default as ActivityIcon } from \"./Activity\";\nexport { default as AddCrossTinyIcon } from \"./AddCrossTiny\";\nexport { default as AddCrossIcon } from \"./AddCross\";\nexport { default as ArrowBackIcon } from \"./ArrowBack\";\nexport { default as ArrowCollapseMultipleIcon } from \"./ArrowCollapseMultiple\";\nexport { default as ArrowExpandeMultipleIcon } from \"./ArrowExpandeMultiple\";\nexport { default as ArrowLeftBoxIcon } from \"./ArrowLeftBox\";\nexport { default as ArrowRefreshIcon } from \"./ArrowRefresh\";\nexport { default as AssignIcon } from \"./Assign\";\nexport { default as AttachmentIcon } from \"./Attachment\";\nexport { default as BackIcon } from \"./Back\";\nexport { default as BellOffSmallIcon } from \"./BellOffSmall\";\nexport { default as BellOffIcon } from \"./BellOff\";\nexport { default as BudgetAlertIcon } from \"./BudgetAlert\";\nexport { default as BudgetNoAlertIcon } from \"./BudgetNoAlert\";\nexport { default as CalendarAddXIcon } from \"./CalendarAddX\";\nexport { default as CalendarEmptyIcon } from \"./CalendarEmpty\";\nexport { default as CalendarIcon } from \"./Calendar\";\nexport { default as CancelCrossIcon } from \"./CancelCross\";\nexport { default as CaretLeftIcon } from \"./CaretLeft\";\nexport { default as CaretRightIcon } from \"./CaretRight\";\nexport { default as ChatIcon } from \"./Chat\";\nexport { default as CheckIcon } from \"./Check\";\nexport { default as CheckboxBlankTogglerIcon } from \"./CheckboxBlankToggler\";\nexport { default as CheckboxIcon } from \"./Checkbox\";\nexport { default as ChecklistSmallIcon } from \"./ChecklistSmall\";\nexport { default as ChecklistIcon } from \"./Checklist\";\nexport { default as CircleMultipleIcon } from \"./CircleMultiple\";\nexport { default as ClockAddIcon } from \"./ClockAdd\";\nexport { default as ClockSmallIcon } from \"./ClockSmall\";\nexport { default as ClockStopwatchSmallIcon } from \"./ClockStopwatchSmall\";\nexport { default as ClockStopwatchIcon } from \"./ClockStopwatch\";\nexport { default as ClockIcon } from \"./Clock\";\nexport { default as CloseSmallIcon } from \"./CloseSmall\";\nexport { default as CollapsIcon } from \"./CollapsIcon\";\nexport { default as CollapseAllIcon } from \"./CollapseAll\";\nexport { default as CollapseExpandSingleIcon } from \"./CollapseExpandSingle\";\nexport { default as CommentIcon } from \"./Comment\";\nexport { default as CommentsIcon } from \"./Comments\";\nexport { default as ComputerIcon } from \"./Computer\";\nexport { default as CrownBlankIcon } from \"./CrownBlank\";\nexport { default as CrownSelectedIcon } from \"./CrownSelected\";\nexport { default as DependencySmallIcon } from \"./DependencySmall\";\nexport { default as DependencyIcon } from \"./Dependency\";\nexport { default as DiscussionAddIcon } from \"./DiscussionAdd\";\nexport { default as DollarCheckmarkSmallIcon } from \"./DollarCheckmarkSmall\";\nexport { default as DollarCheckmarkIcon } from \"./DollarCheckmark\";\nexport { default as DollarClockSmallIcon } from \"./DollarClockSmall\";\nexport { default as DollarClockIcon } from \"./DollarClock\";\nexport { default as DollarOffSmallIcon } from \"./DollarOffSmall\";\nexport { default as DollarOffIcon } from \"./DollarOff\";\nexport { default as DollarSmallIcon } from \"./DollarSmall\";\nexport { default as DollarIcon } from \"./Dollar\";\nexport { default as DownloadIcon } from \"./Download\";\nexport { default as DriveIcon } from \"./Drive\";\nexport { default as DropboxIcon } from \"./Dropbox\";\nexport { default as DuplicateIcon } from \"./Duplicate\";\nexport { default as EditIcon } from \"./Edit\";\nexport { default as EmojiIcon } from \"./Emoji\";\nexport { default as EstimatesIcon } from \"./Estimates\";\nexport { default as ExpandAllIcon } from \"./ExpandAll\";\nexport { default as ExpenseAddIcon } from \"./ExpenseAdd\";\nexport { default as ExportIcon } from \"./Export\";\nexport { default as EyeOffSmallIcon } from \"./EyeOffSmall\";\nexport { default as EyeOffIcon } from \"./EyeOff\";\nexport { default as EyeSmallIcon } from \"./EyeSmall\";\nexport { default as EyeIcon } from \"./Eye\";\nexport { default as FilterIcon } from \"./Filter\";\nexport { default as HelpIcon } from \"./Help\";\nexport { default as InfoSmallIcon } from \"./InfoSmall\";\nexport { default as InfoIcon } from \"./Info\";\nexport { default as InsertLinkIcon } from \"./InsertLink\";\nexport { default as IntegrationsIcon } from \"./Integrations\";\nexport { default as InvoicesIcon } from \"./Invoices\";\nexport { default as LabelsIcon } from \"./Labels\";\nexport { default as LockSmallIcon } from \"./LockSmall\";\nexport { default as LockIcon } from \"./Lock\";\nexport { default as MarkerIcon } from \"./Marker\";\nexport { default as MenuNavIcon } from \"./MenuNavIcon\";\nexport { default as MessageAddIcon } from \"./MessageAdd\";\nexport { default as MessageSmallIcon } from \"./MessageSmall\";\nexport { default as MessageIcon } from \"./Message\";\nexport { default as MinusIcon } from \"./Minus\";\nexport { default as MoveTriggerIcon } from \"./MoveTrigger\";\nexport { default as MyWorkIcon } from \"./MyWork\";\nexport { default as NoteAddIcon } from \"./NoteAdd\";\nexport { default as NoteIcon } from \"./Note\";\nexport { default as NotificationBellIcon } from \"./NotificationBell\";\nexport { default as OpenExpandedIcon } from \"./OpenExpanded\";\nexport { default as OrderFirstIcon } from \"./OrderFirst\";\nexport { default as PaidSmallIcon } from \"./PaidSmall\";\nexport { default as PauseIcon } from \"./PauseIcon\";\nexport { default as PencilSmallIcon } from \"./PencilSmall\";\nexport { default as PencilIcon } from \"./Pencil\";\nexport { default as PendingPaymentSmallIcon } from \"./PendingPaymentSmall\";\nexport { default as PeopleIcon } from \"./People\";\nexport { default as PersonPlusIcon } from \"./PersonPlus\";\nexport { default as PersonIcon } from \"./Person\";\nexport { default as PlayIcon } from \"./PlayIcon\";\nexport { default as ProjectAddIcon } from \"./ProjectAdd\";\nexport { default as ProjectTemplateConvertIcon } from \"./ProjectTemplateConvert\";\nexport { default as ProjectTemplateIcon } from \"./ProjectTemplate\";\nexport { default as ProjectsIcon } from \"./Projects\";\nexport { default as RadioBlankIcon } from \"./RadioBlank\";\nexport { default as RadioButtonIcon } from \"./RadioButton\";\nexport { default as RearangeIcon } from \"./Rearange\";\nexport { default as RearrangeSmallIcon } from \"./RearrangeSmall\";\nexport { default as RecurringCheckmarkSmallIcon } from \"./RecurringCheckmarkSmall\";\nexport { default as RecurringCheckmarkIcon } from \"./RecurringCheckmark\";\nexport { default as ReportTimeIcon } from \"./ReportTime\";\nexport { default as ReportsIcon } from \"./Reports\";\nexport { default as SearchIcon } from \"./Search\";\nexport { default as SendBlankIcon } from \"./SendBlank\";\nexport { default as SendFilledIcon } from \"./SendFilled\";\nexport { default as SettingsIcon } from \"./Settings\";\nexport { default as SortGeneralIcon } from \"./SortGeneral\";\nexport { default as SortIcon } from \"./SortIcon\";\nexport { default as StarIcon } from \"./Star\";\nexport { default as TaskAddIcon } from \"./TaskAdd\";\nexport { default as TaskListAddIcon } from \"./TaskListAdd\";\nexport { default as TextFormatGeneralAltIcon } from \"./TextFormatGeneralAlt\";\nexport { default as ThumbUpOutlineIcon } from \"./ThumbUpOutline\";\nexport { default as TrashIcon } from \"./Trash\";\nexport { default as TreeDotsIcon } from \"./TreeDots\";\nexport { default as ViewGridIcon } from \"./ViewGrid\";\nexport { default as ViewListIcon } from \"./ViewList\";\nexport { default as ViewTimelineIcon } from \"./ViewTimeline\";\nexport { default as VolumeHighIcon } from \"./VolumeHigh\";\nexport { default as VolumeOffIcon } from \"./VolumeOff\";\nexport { default as WarningTriangleSmallIcon } from \"./WarningTriangleSmall\";\nexport { default as WarningTriangleIcon } from \"./WarningTriangle\";\nexport { default as WarningIcon } from \"./Warning\";\nexport { default as WorkloadIcon } from \"./Workload\";\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../../../src/components/Icons/collection/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA","sourcesContent":["export { default as ActivityIcon } from \"./Activity\";\nexport { default as AddCrossTinyIcon } from \"./AddCrossTiny\";\nexport { default as AddCrossIcon } from \"./AddCross\";\nexport { default as ArrowBackIcon } from \"./ArrowBack\";\nexport { default as ArrowCollapseMultipleIcon } from \"./ArrowCollapseMultiple\";\nexport { default as ArrowExpandeMultipleIcon } from \"./ArrowExpandeMultiple\";\nexport { default as ArrowLeftBoxIcon } from \"./ArrowLeftBox\";\nexport { default as ArrowRefreshIcon } from \"./ArrowRefresh\";\nexport { default as AssignIcon } from \"./Assign\";\nexport { default as AttachmentIcon } from \"./Attachment\";\nexport { default as BackIcon } from \"./Back\";\nexport { default as BellOffSmallIcon } from \"./BellOffSmall\";\nexport { default as BellOffIcon } from \"./BellOff\";\nexport { default as BudgetAlertIcon } from \"./BudgetAlert\";\nexport { default as BudgetNoAlertIcon } from \"./BudgetNoAlert\";\nexport { default as CalendarAddXIcon } from \"./CalendarAddX\";\nexport { default as CalendarEmptyIcon } from \"./CalendarEmpty\";\nexport { default as CalendarIcon } from \"./Calendar\";\nexport { default as CancelCrossIcon } from \"./CancelCross\";\nexport { default as CaretLeftIcon } from \"./CaretLeft\";\nexport { default as CaretRightIcon } from \"./CaretRight\";\nexport { default as ChatIcon } from \"./Chat\";\nexport { default as CheckIcon } from \"./Check\";\nexport { default as CheckboxBlankTogglerIcon } from \"./CheckboxBlankToggler\";\nexport { default as CheckboxIcon } from \"./Checkbox\";\nexport { default as ChecklistSmallIcon } from \"./ChecklistSmall\";\nexport { default as ChecklistIcon } from \"./Checklist\";\nexport { default as CircleMultipleIcon } from \"./CircleMultiple\";\nexport { default as ClockAddIcon } from \"./ClockAdd\";\nexport { default as ClockSmallIcon } from \"./ClockSmall\";\nexport { default as ClockStopwatchSmallIcon } from \"./ClockStopwatchSmall\";\nexport { default as ClockStopwatchIcon } from \"./ClockStopwatch\";\nexport { default as ClockIcon } from \"./Clock\";\nexport { default as CloseSmallIcon } from \"./CloseSmall\";\nexport { default as CollapsIcon } from \"./CollapsIcon\";\nexport { default as CollapseAllIcon } from \"./CollapseAll\";\nexport { default as CollapseExpandSingleIcon } from \"./CollapseExpandSingle\";\nexport { default as CommentIcon } from \"./Comment\";\nexport { default as CommentsIcon } from \"./Comments\";\nexport { default as ComputerIcon } from \"./Computer\";\nexport { default as CrownBlankIcon } from \"./CrownBlank\";\nexport { default as CrownSelectedIcon } from \"./CrownSelected\";\nexport { default as DependencySmallIcon } from \"./DependencySmall\";\nexport { default as DependencyIcon } from \"./Dependency\";\nexport { default as DiscussionAddIcon } from \"./DiscussionAdd\";\nexport { default as DollarCheckmarkSmallIcon } from \"./DollarCheckmarkSmall\";\nexport { default as DollarCheckmarkIcon } from \"./DollarCheckmark\";\nexport { default as DollarClockSmallIcon } from \"./DollarClockSmall\";\nexport { default as DollarClockIcon } from \"./DollarClock\";\nexport { default as DollarOffSmallIcon } from \"./DollarOffSmall\";\nexport { default as DollarOffIcon } from \"./DollarOff\";\nexport { default as DollarSmallIcon } from \"./DollarSmall\";\nexport { default as DollarIcon } from \"./Dollar\";\nexport { default as DownloadIcon } from \"./Download\";\nexport { default as DriveIcon } from \"./Drive\";\nexport { default as DropboxIcon } from \"./Dropbox\";\nexport { default as DuplicateIcon } from \"./Duplicate\";\nexport { default as EditIcon } from \"./Edit\";\nexport { default as EmojiIcon } from \"./Emoji\";\nexport { default as EstimatesIcon } from \"./Estimates\";\nexport { default as ExpandAllIcon } from \"./ExpandAll\";\nexport { default as ExpenseAddIcon } from \"./ExpenseAdd\";\nexport { default as ExportIcon } from \"./Export\";\nexport { default as EyeOffSmallIcon } from \"./EyeOffSmall\";\nexport { default as EyeOffIcon } from \"./EyeOff\";\nexport { default as EyeSmallIcon } from \"./EyeSmall\";\nexport { default as EyeIcon } from \"./Eye\";\nexport { default as FilterIcon } from \"./Filter\";\nexport { default as HelpIcon } from \"./Help\";\nexport { default as InfoSmallIcon } from \"./InfoSmall\";\nexport { default as InfoIcon } from \"./Info\";\nexport { default as InsertLinkIcon } from \"./InsertLink\";\nexport { default as IntegrationsIcon } from \"./Integrations\";\nexport { default as InvoicesIcon } from \"./Invoices\";\nexport { default as LabelsIcon } from \"./Labels\";\nexport { default as LockSmallIcon } from \"./LockSmall\";\nexport { default as LockIcon } from \"./Lock\";\nexport { default as MarkerIcon } from \"./Marker\";\nexport { default as MenuNavIcon } from \"./MenuNavIcon\";\nexport { default as MessageAddIcon } from \"./MessageAdd\";\nexport { default as MessageSmallIcon } from \"./MessageSmall\";\nexport { default as MessageIcon } from \"./Message\";\nexport { default as MinusIcon } from \"./Minus\";\nexport { default as MoveTriggerIcon } from \"./MoveTrigger\";\nexport { default as MyWorkIcon } from \"./MyWork\";\nexport { default as NoteAddIcon } from \"./NoteAdd\";\nexport { default as NoteIcon } from \"./Note\";\nexport { default as NotificationBellIcon } from \"./NotificationBell\";\nexport { default as OpenExpandedIcon } from \"./OpenExpanded\";\nexport { default as OrderFirstIcon } from \"./OrderFirst\";\nexport { default as PaidSmallIcon } from \"./PaidSmall\";\nexport { default as PauseIcon } from \"./PauseIcon\";\nexport { default as PencilSmallIcon } from \"./PencilSmall\";\nexport { default as PencilIcon } from \"./Pencil\";\nexport { default as PendingPaymentSmallIcon } from \"./PendingPaymentSmall\";\nexport { default as PeopleIcon } from \"./People\";\nexport { default as PersonPlusIcon } from \"./PersonPlus\";\nexport { default as PersonIcon } from \"./Person\";\nexport { default as PlayIcon } from \"./PlayIcon\";\nexport { default as ProjectAddIcon } from \"./ProjectAdd\";\nexport { default as ProjectTemplateAddIcon } from \"./ProjectTemplateAdd\";\nexport { default as ProjectTemplateConvertIcon } from \"./ProjectTemplateConvert\";\nexport { default as ProjectTemplateIcon } from \"./ProjectTemplate\";\nexport { default as ProjectsIcon } from \"./Projects\";\nexport { default as RadioBlankIcon } from \"./RadioBlank\";\nexport { default as RadioButtonIcon } from \"./RadioButton\";\nexport { default as RearangeIcon } from \"./Rearange\";\nexport { default as RearrangeSmallIcon } from \"./RearrangeSmall\";\nexport { default as RecurringCheckmarkSmallIcon } from \"./RecurringCheckmarkSmall\";\nexport { default as RecurringCheckmarkIcon } from \"./RecurringCheckmark\";\nexport { default as ReportTimeIcon } from \"./ReportTime\";\nexport { default as ReportsIcon } from \"./Reports\";\nexport { default as SearchIcon } from \"./Search\";\nexport { default as SendBlankIcon } from \"./SendBlank\";\nexport { default as SendFilledIcon } from \"./SendFilled\";\nexport { default as SettingsIcon } from \"./Settings\";\nexport { default as SortGeneralIcon } from \"./SortGeneral\";\nexport { default as SortIcon } from \"./SortIcon\";\nexport { default as StarIcon } from \"./Star\";\nexport { default as TaskAddIcon } from \"./TaskAdd\";\nexport { default as TaskListAddIcon } from \"./TaskListAdd\";\nexport { default as TextFormatGeneralAltIcon } from \"./TextFormatGeneralAlt\";\nexport { default as ThumbUpOutlineIcon } from \"./ThumbUpOutline\";\nexport { default as TrashIcon } from \"./Trash\";\nexport { default as TreeDotsIcon } from \"./TreeDots\";\nexport { default as ViewGridIcon } from \"./ViewGrid\";\nexport { default as ViewListIcon } from \"./ViewList\";\nexport { default as ViewTimelineIcon } from \"./ViewTimeline\";\nexport { default as VolumeHighIcon } from \"./VolumeHigh\";\nexport { default as VolumeOffIcon } from \"./VolumeOff\";\nexport { default as WarningTriangleSmallIcon } from \"./WarningTriangleSmall\";\nexport { default as WarningTriangleIcon } from \"./WarningTriangle\";\nexport { default as WarningIcon } from \"./Warning\";\nexport { default as WorkloadIcon } from \"./Workload\";\n"],"file":"index.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMF,SAAS,EACT,YAAY,EACb,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAQvE,MAAM,WAAW,kBAAkB;IAEjC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAE7B,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAEnD,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IAEjD,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAElC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAE3B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAE/B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IAEV,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAEjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAOD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CA6Z/C,CAAC"}
1
+ {"version":3,"file":"Autocomplete.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMF,SAAS,EACT,YAAY,EACb,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,gBAAgB,EAAU,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAe,MAAM,uBAAuB,CAAC;AAQvE,MAAM,WAAW,kBAAkB;IAEjC,IAAI,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAE7B,OAAO,CAAC,EAAE,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,EAAE,CAAC;IAEnD,QAAQ,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC;IAEjD,OAAO,CAAC,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAElC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,YAAY,CAAC,EAAE,CACb,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,EACjC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,MAAM,GAAG,YAAY,CAAC;IAE3B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,aAAa,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAE/B,YAAY,CAAC,EAAE,CACb,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,KACxD,IAAI,CAAC;IAEV,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAEjD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAE/B,yBAAyB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEvC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEhC,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAOD,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,kBAAkB,CA4Z/C,CAAC"}
@@ -312,11 +312,8 @@ export var Autocomplete = function Autocomplete(_ref) {
312
312
  handleChange(hover == null ? void 0 : hover.item);
313
313
  }
314
314
 
315
- setTimeout(function () {
316
- return inputEl == null ? void 0 : inputEl.focus();
317
- }, 0);
318
315
  setFilter("");
319
- }, [handleChange, handleDefaultOptionChange, hover, inputEl]);
316
+ }, [handleChange, handleDefaultOptionChange, hover]);
320
317
  useEffect(function () {
321
318
  if (inputEl) {
322
319
  inputEl.onkeydown = handleOnKeyDown;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":["React","useCallback","useState","useMemo","useEffect","useRef","Scrollbars","highlightText","handleKeyboardMovement","Option","OptionGroup","StyledAutocompleteBody","StyledAutocompleteNewItem","StyledAutocompleteNoResult","StyledAutocompleteScrollShadow","Autocomplete","type","options","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","itemRef","listRef","selectedOptions","Array","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","item","undefined","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","isGroup","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleMouseEnter","handleHoverCallback","handleRenderOption","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","preventDefault","handleClick","setTimeout","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\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?: HTMLInputElement | null;\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}\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}) => {\n const itemRef = useRef<HTMLLabelElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\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 // 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 return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\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?.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 function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isGroup(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] && isGroup(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 (!isGroup(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 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 handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps) => {\n if (isGroup(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={item.id}\n onMouseEnter={handleMouseEnter}\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 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: HTMLLabelElement | 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 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 if (handleChange) {\n handleChange(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 handleChange,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n const handleClick = useCallback(() => {\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n }\n if (handleChange) {\n handleChange(hover?.item);\n }\n setTimeout(() => inputEl?.focus(), 0);\n setFilter(\"\");\n }, [handleChange, handleDefaultOptionChange, hover, inputEl]);\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\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 () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody\n key=\"body\"\n onChange={handleClick}\n onMouseLeave={handleOnMouseLeave}\n >\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 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) => handleRenderOption(item))}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"file":"Autocomplete.js"}
1
+ {"version":3,"sources":["../../../../src/components/Autocomplete/Autocomplete.tsx"],"names":["React","useCallback","useState","useMemo","useEffect","useRef","Scrollbars","highlightText","handleKeyboardMovement","Option","OptionGroup","StyledAutocompleteBody","StyledAutocompleteNewItem","StyledAutocompleteNoResult","StyledAutocompleteScrollShadow","Autocomplete","type","options","inputEl","selected","emptyValue","noResultText","renderOption","option","name","defaultValue","sortDirection","handleChange","optionClassName","handleEmptyAction","disabledInternalSort","AutocompleteClassName","handleDefaultOptionChange","preselectDefaultValue","keepSameOptionsOrder","autoHeightMax","itemRef","listRef","selectedOptions","Array","handleSort","opts","sort","a","b","includes","id","sortList","localeCompare","sortedList","item","undefined","by","hover","setHover","filter","setFilter","handleEmpty","e","button","focus","onAddNewMouseEnter","isGroup","showAddNew","trim","every","v","toLowerCase","renderAddNew","filterOptions","trimmedFilter","isGrouped","hovered","reduce","acc","groupedOption","filteredOptions","length","list","showDefaultOption","flatOptions","handleInputChange","target","key","value","handleMouseEnter","handleHoverCallback","handleRenderOption","checked","onChange","handleOnMouseLeave","handleScroll","itemOffset","getClientHeight","getScrollTop","scrollTop","current","offsetTop","handleOnKeyDown","preventDefault","handleClick","onkeydown","onkeyup","isDefaultOptionSelected","showNoResult","renderNoResult","onScroll","map","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n useMemo,\n useEffect,\n useRef,\n ReactNode,\n ReactElement,\n} from \"react\";\nimport { Scrollbars } from \"react-custom-scrollbars\";\nimport highlightText from \"../../hooks/useHighlightText\";\nimport { handleKeyboardMovement } from \"./HandleKeyboard\";\nimport { IOptionItemProps, Option } from \"../Select/Option\";\nimport { IOptionGroupProps, OptionGroup } from \"../Select/OptionGroup\";\nimport {\n StyledAutocompleteBody,\n StyledAutocompleteNewItem,\n StyledAutocompleteNoResult,\n StyledAutocompleteScrollShadow,\n} from \"./Styles\";\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?: HTMLInputElement | null;\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}\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}) => {\n const itemRef = useRef<HTMLLabelElement>(null);\n const listRef = useRef<Scrollbars>(null);\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const handleSort = useCallback((opts) => {\n if (keepSameOptionsOrder) {\n return opts;\n }\n return opts.sort((a: IOptionItemProps, b: IOptionItemProps) => {\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 // 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 return handleSort(\n [...options].sort((a: IOptionItemProps, b: IOptionItemProps) =>\n sortDirection === \"asc\"\n ? a.name.localeCompare(b.name)\n : b.name.localeCompare(a.name)\n )\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?.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 function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const showAddNew = useMemo(() => {\n return !!(\n emptyValue &&\n filter.trim() &&\n options.every((option) => {\n if (isGroup(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] && isGroup(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 (!isGroup(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 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 handleHoverCallback = useCallback(\n (e: number | string | undefined): void => {\n setHover({ item: e, by: \"mouse\" });\n },\n []\n );\n\n const handleRenderOption = useCallback(\n (item: IOptionItemProps | IOptionGroupProps) => {\n if (isGroup(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={item.id}\n onMouseEnter={handleMouseEnter}\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 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: HTMLLabelElement | 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 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 if (handleChange) {\n handleChange(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 handleChange,\n handleDefaultOptionChange,\n handleEmpty,\n hover,\n showAddNew,\n showDefaultOption,\n ]\n );\n\n const handleClick = useCallback(() => {\n if (hover.item === null && handleDefaultOptionChange) {\n handleDefaultOptionChange();\n }\n if (handleChange) {\n handleChange(hover?.item);\n }\n setFilter(\"\");\n }, [handleChange, handleDefaultOptionChange, hover]);\n\n useEffect(() => {\n if (inputEl) {\n inputEl.onkeydown = handleOnKeyDown;\n inputEl.onkeyup = handleInputChange;\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 () => (\n <StyledAutocompleteNoResult>{noResultText}</StyledAutocompleteNoResult>\n ),\n [noResultText]\n );\n\n return (\n <StyledAutocompleteScrollShadow\n className={AutocompleteClassName}\n $isHidden={\n !defaultValue && !emptyValue && !noResultText && list.length < 1\n }\n >\n {({ onScroll }): JSX.Element => (\n <StyledAutocompleteBody\n key=\"body\"\n onChange={handleClick}\n onMouseLeave={handleOnMouseLeave}\n >\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 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) => handleRenderOption(item))}\n {showNoResult && renderNoResult}\n {showAddNew && renderAddNew}\n </Scrollbars>\n </StyledAutocompleteBody>\n )}\n </StyledAutocompleteScrollShadow>\n );\n};\n\nAutocomplete.displayName = \"Autocomplete\";\n"],"file":"Autocomplete.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMH,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAgBlE,UAAU,cAAc;IAEtB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAExC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,cAAc,GAAG,kBAAkB,CAuL5D,CAAC"}
1
+ {"version":3,"file":"ComboBox.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":[],"mappings":"AAAA,OAAc,EACZ,EAAE,EAMH,MAAM,OAAO,CAAC;AAIf,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAgBlE,UAAU,cAAc;IAEtB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAC;IAExC,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,cAAc,GAAG,kBAAkB,CA2L5D,CAAC"}