@activecollab/components 1.0.121 → 1.0.122

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 (62) hide show
  1. package/dist/cjs/components/Autocomplete/Styles.js +4 -2
  2. package/dist/cjs/components/Autocomplete/Styles.js.map +1 -1
  3. package/dist/cjs/components/ComboBox/ComboBox.js +28 -30
  4. package/dist/cjs/components/ComboBox/ComboBox.js.map +1 -1
  5. package/dist/cjs/components/ComboBox/Styles.js +16 -37
  6. package/dist/cjs/components/ComboBox/Styles.js.map +1 -1
  7. package/dist/cjs/components/Input/Input.js +28 -8
  8. package/dist/cjs/components/Input/Input.js.map +1 -1
  9. package/dist/cjs/components/Input/InputAdornment.js +57 -0
  10. package/dist/cjs/components/Input/InputAdornment.js.map +1 -0
  11. package/dist/cjs/components/Input/Styles.js +40 -18
  12. package/dist/cjs/components/Input/Styles.js.map +1 -1
  13. package/dist/cjs/components/Input/index.js +13 -0
  14. package/dist/cjs/components/Input/index.js.map +1 -1
  15. package/dist/cjs/components/Input/types.js +6 -0
  16. package/dist/cjs/components/Input/types.js.map +1 -0
  17. package/dist/cjs/components/Select/Select.js +1 -1
  18. package/dist/cjs/components/Select/Select.js.map +1 -1
  19. package/dist/cjs/components/Select/Styles.js +1 -1
  20. package/dist/cjs/components/Select/Styles.js.map +1 -1
  21. package/dist/esm/components/Autocomplete/Styles.d.ts.map +1 -1
  22. package/dist/esm/components/Autocomplete/Styles.js +3 -2
  23. package/dist/esm/components/Autocomplete/Styles.js.map +1 -1
  24. package/dist/esm/components/ComboBox/ComboBox.d.ts +1 -1
  25. package/dist/esm/components/ComboBox/ComboBox.d.ts.map +1 -1
  26. package/dist/esm/components/ComboBox/ComboBox.js +28 -31
  27. package/dist/esm/components/ComboBox/ComboBox.js.map +1 -1
  28. package/dist/esm/components/ComboBox/Styles.d.ts +4 -10
  29. package/dist/esm/components/ComboBox/Styles.d.ts.map +1 -1
  30. package/dist/esm/components/ComboBox/Styles.js +13 -27
  31. package/dist/esm/components/ComboBox/Styles.js.map +1 -1
  32. package/dist/esm/components/Input/Input.d.ts +6 -3
  33. package/dist/esm/components/Input/Input.d.ts.map +1 -1
  34. package/dist/esm/components/Input/Input.js +28 -10
  35. package/dist/esm/components/Input/Input.js.map +1 -1
  36. package/dist/esm/components/Input/InputAdornment.d.ts +12 -0
  37. package/dist/esm/components/Input/InputAdornment.d.ts.map +1 -0
  38. package/dist/esm/components/Input/InputAdornment.js +32 -0
  39. package/dist/esm/components/Input/InputAdornment.js.map +1 -0
  40. package/dist/esm/components/Input/Styles.d.ts +12 -5
  41. package/dist/esm/components/Input/Styles.d.ts.map +1 -1
  42. package/dist/esm/components/Input/Styles.js +36 -17
  43. package/dist/esm/components/Input/Styles.js.map +1 -1
  44. package/dist/esm/components/Input/index.d.ts +1 -0
  45. package/dist/esm/components/Input/index.d.ts.map +1 -1
  46. package/dist/esm/components/Input/index.js +1 -0
  47. package/dist/esm/components/Input/index.js.map +1 -1
  48. package/dist/esm/components/Input/types.d.ts +2 -0
  49. package/dist/esm/components/Input/types.d.ts.map +1 -0
  50. package/dist/esm/components/Input/types.js +2 -0
  51. package/dist/esm/components/Input/types.js.map +1 -0
  52. package/dist/esm/components/Select/Select.js +1 -1
  53. package/dist/esm/components/Select/Select.js.map +1 -1
  54. package/dist/esm/components/Select/Styles.d.ts +1 -1
  55. package/dist/esm/components/Select/Styles.d.ts.map +1 -1
  56. package/dist/esm/components/Select/Styles.js +1 -1
  57. package/dist/esm/components/Select/Styles.js.map +1 -1
  58. package/dist/index.js +210 -161
  59. package/dist/index.js.map +1 -1
  60. package/dist/index.min.js +1 -1
  61. package/dist/index.min.js.map +1 -1
  62. package/package.json +1 -1
@@ -246,7 +246,7 @@ var Select = function Select(_ref) {
246
246
  return /*#__PURE__*/_react.default.createElement(Tag, props, /*#__PURE__*/_react.default.createElement("div", null, !disableSearch ? /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectForm, {
247
247
  ref: formRef
248
248
  }, /*#__PURE__*/_react.default.createElement(_Styles.StyledSelectInput, {
249
- ref: handleRef,
249
+ inputRef: handleRef,
250
250
  autoFocus: true,
251
251
  placeholder: placeholder
252
252
  }), actionIcon && actionLabel && /*#__PURE__*/_react.default.createElement(_Tooltip.Tooltip, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","prop","childNode","setChildNode","elementRef","handleRef","Tag","Menu","formRef","open","setOpen","isGroup","item","undefined","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","isAllOptionsChecked","every","includes","focus","handleChange","selectedValue","value","v","filter","concat","onClose","onOpen","props","menuClassName","className","handleEmptyAction","current","reset","handleDefaultOptionChange","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\ninterface ISelectProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set selected items */\n selected?: (string | number)[] | string | number;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Should the order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps & IAutocompleteProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = (): null => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== null) {\n if (type === \"single\") {\n if (forceCloseMenu) {\n setOpen(false);\n }\n return onChange(selectedValue);\n }\n // multiple\n const value = (): (string | number)[] => {\n if (selectedValue instanceof Array) {\n if (selectedValue.every((v) => selectedOptions.includes(v))) {\n return selectedOptions.filter((v) => !selectedValue.includes(v));\n }\n return selectedValue.concat(selectedOptions);\n }\n if (selectedOptions.includes(selectedValue)) {\n return selectedOptions.filter((option) => option !== selectedValue);\n }\n return [...selectedOptions, selectedValue];\n };\n return onChange(value());\n }\n },\n [onChange, type, forceCloseMenu, selectedOptions]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChange = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n onChange([]);\n } else {\n onChange(allOptionValues);\n }\n } else {\n onChange(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n }\n }, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n ref={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChange}\n type={type}\n preselectDefaultValue={type === \"single\"}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"file":"Select.js"}
1
+ {"version":3,"sources":["../../../../src/components/Select/Select.tsx"],"names":["Select","type","mode","target","options","selected","position","onChange","actionIcon","actionLabel","placeholder","emptyAction","disableSearch","forceCloseMenu","selectClassName","keepSameOptionsOrder","onSelectOpen","onSelectClose","prop","childNode","setChildNode","elementRef","handleRef","Tag","Menu","formRef","open","setOpen","isGroup","item","undefined","selectedOptions","Array","selectOptions","allOptionValues","reduce","acc","option","id","allGroupOptions","map","isAllOptionsChecked","every","includes","focus","handleChange","selectedValue","value","v","filter","concat","onClose","onOpen","props","menuClassName","className","handleEmptyAction","current","reset","handleDefaultOptionChange","length","handleRenderOption","image","color","textColor","name","additionalInfo","zIndex","displayName"],"mappings":"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","sourcesContent":["import React, {\n FC,\n useCallback,\n useState,\n ReactElement,\n useMemo,\n useEffect,\n useRef,\n Ref,\n} from \"react\";\nimport { Autocomplete } from \"../Autocomplete\";\nimport { Tooltip } from \"../Tooltip\";\nimport { Menu } from \"../Menu/Menu\";\nimport { IOptionItemProps } from \"../Select/Option\";\nimport { IOptionGroupProps } from \"../Select/OptionGroup\";\nimport classNames from \"classnames\";\nimport { Placement } from \"@popperjs/core\";\nimport { IAutocompleteProps } from \"../Autocomplete/Autocomplete\";\nimport useForkRef from \"../../utils/useForkRef\";\nimport {\n StyledSelectForm,\n StyledSelectInput,\n StyledCheckbox,\n StyledRadioButton,\n} from \"./Styles\";\nimport { OptionContent } from \"./OptionContent/OptionContent\";\n\ninterface ElementWithRef<T> extends ReactElement {\n ref?: Ref<T>;\n}\n\ninterface ISelectProps {\n /** Select type: single or multiple */\n type?: \"single\" | \"multiple\";\n /** Menu width mode */\n mode?: \"normal\" | \"wider\" | \"tiny\";\n /** Set select target element */\n target?: ElementWithRef<Element>;\n /** Set selected items */\n selected?: (string | number)[] | string | number;\n /** Set Select position */\n position?: Placement;\n /** onChange callback */\n onChange?: (e: (string | number)[] | string | number) => void;\n /** Set action icon in select */\n actionIcon?: ReactElement;\n /** Set label for action icon */\n actionLabel?: string;\n /** Placeholder for Select input */\n placeholder?: string;\n /** Function that triggers when empty is clicked */\n emptyAction?: (e: string | undefined) => void;\n /** Removes input from Select */\n disableSearch?: boolean;\n /** Close menu on select */\n forceCloseMenu?: boolean;\n /** Set select classNames */\n selectClassName?: string;\n /** Should the order stay the same after choosing an option */\n keepSameOptionsOrder?: boolean;\n /** Callback called when the Select menu is opened */\n onSelectOpen?: () => void;\n /** Callback called when the Select menu is closed */\n onSelectClose?: () => void;\n}\n\nexport const Select: FC<ISelectProps & IAutocompleteProps> = ({\n type = \"single\",\n mode,\n target,\n options,\n selected = [],\n position = \"bottom-start\",\n onChange = (): null => null,\n actionIcon,\n actionLabel,\n placeholder,\n emptyAction = (): null => null,\n disableSearch = false,\n forceCloseMenu,\n selectClassName,\n keepSameOptionsOrder = false,\n onSelectOpen,\n onSelectClose,\n ...prop\n}) => {\n const [childNode, setChildNode] = useState<HTMLInputElement | null>();\n const elementRef = useRef<HTMLInputElement | null>(null);\n\n const handleRef = useForkRef(setChildNode, elementRef);\n\n const Tag = !target ? \"div\" : Menu;\n const formRef = useRef<HTMLFormElement | null>(null);\n\n const [open, setOpen] = useState(false);\n\n function isGroup(\n item: IOptionGroupProps | IOptionItemProps\n ): item is IOptionGroupProps {\n return (item as IOptionGroupProps).options !== undefined;\n }\n\n const selectedOptions = useMemo(\n () => (selected instanceof Array ? selected : [selected]),\n [selected]\n );\n\n const selectOptions = useMemo(() => {\n if (!options) {\n return [];\n }\n return options;\n }, [options]);\n\n const allOptionValues = useMemo(() => {\n return selectOptions.reduce(\n (\n acc: (string | number)[],\n option: IOptionGroupProps | IOptionItemProps\n ) => {\n if (!isGroup(option)) {\n return [...acc, option.id];\n }\n const allGroupOptions = option.options.map((option) => option.id);\n return [...acc, ...allGroupOptions];\n },\n []\n );\n }, [selectOptions]);\n\n const isAllOptionsChecked = useMemo(\n () => allOptionValues.every((option) => selectedOptions.includes(option)),\n [allOptionValues, selectedOptions]\n );\n\n useEffect(() => {\n open && childNode?.focus();\n }, [childNode, open]);\n\n const handleChange = useCallback(\n (selectedValue) => {\n if (selectedValue !== null) {\n if (type === \"single\") {\n if (forceCloseMenu) {\n setOpen(false);\n }\n return onChange(selectedValue);\n }\n // multiple\n const value = (): (string | number)[] => {\n if (selectedValue instanceof Array) {\n if (selectedValue.every((v) => selectedOptions.includes(v))) {\n return selectedOptions.filter((v) => !selectedValue.includes(v));\n }\n return selectedValue.concat(selectedOptions);\n }\n if (selectedOptions.includes(selectedValue)) {\n return selectedOptions.filter((option) => option !== selectedValue);\n }\n return [...selectedOptions, selectedValue];\n };\n return onChange(value());\n }\n },\n [onChange, type, forceCloseMenu, selectedOptions]\n );\n\n const onClose = useCallback(() => {\n setOpen(false);\n if (onSelectClose) {\n onSelectClose();\n }\n }, [onSelectClose]);\n\n const onOpen = useCallback(() => {\n setOpen(true);\n if (onSelectOpen) {\n onSelectOpen();\n }\n }, [onSelectOpen]);\n\n const props = useMemo(() => {\n if (target) {\n return {\n menuClassName: classNames(\"c-select\", selectClassName),\n onClose,\n onOpen,\n target,\n mode,\n open,\n position,\n };\n }\n return { className: classNames(\"c-select\", selectClassName) };\n }, [target, selectClassName, onClose, onOpen, mode, open, position]);\n\n const handleEmptyAction = useCallback(\n (value) => {\n emptyAction(value);\n if (forceCloseMenu) {\n setOpen(false);\n }\n formRef.current?.reset();\n },\n [emptyAction, forceCloseMenu]\n );\n\n const handleDefaultOptionChange = useCallback(() => {\n if (type === \"multiple\") {\n if (selectedOptions.length === allOptionValues.length) {\n onChange([]);\n } else {\n onChange(allOptionValues);\n }\n } else {\n onChange(\"\");\n if (forceCloseMenu) {\n setOpen(false);\n }\n }\n }, [onChange, type, forceCloseMenu, selectedOptions.length, allOptionValues]);\n\n const handleRenderOption = useCallback(\n (option, props) => {\n return (\n <>\n <OptionContent\n imageUrl={option.image}\n color={option.color}\n textColor={option.textColor}\n name={option.name}\n additionalInfo={option.additionalInfo}\n />\n {option.id === null ? (\n type === \"multiple\" ? (\n <StyledCheckbox checked={isAllOptionsChecked} {...props} />\n ) : (\n <StyledRadioButton\n checked={selectedOptions.length < 1 || !selectedOptions[0]}\n {...props}\n />\n )\n ) : type === \"multiple\" ? (\n <StyledCheckbox {...props} />\n ) : (\n <StyledRadioButton {...props} />\n )}\n </>\n );\n },\n [isAllOptionsChecked, selectedOptions, type]\n );\n\n return (\n <Tag {...props}>\n <div>\n {!disableSearch ? (\n <StyledSelectForm ref={formRef}>\n <StyledSelectInput\n inputRef={handleRef}\n autoFocus\n placeholder={placeholder}\n />\n {actionIcon && actionLabel && (\n <Tooltip\n popperTooltipStyle={{ zIndex: 1301 }}\n title={actionLabel}\n >\n <div>{actionIcon}</div>\n </Tooltip>\n )}\n {actionIcon && !actionLabel && actionIcon}\n </StyledSelectForm>\n ) : null}\n <Autocomplete\n {...prop}\n inputEl={childNode}\n handleEmptyAction={handleEmptyAction}\n selected={selected}\n handleChange={handleChange}\n renderOption={handleRenderOption}\n options={options}\n handleDefaultOptionChange={handleDefaultOptionChange}\n type={type}\n preselectDefaultValue={type === \"single\"}\n keepSameOptionsOrder={keepSameOptionsOrder}\n />\n </div>\n </Tag>\n );\n};\n\nSelect.displayName = \"Select\";\n"],"file":"Select.js"}
@@ -7,7 +7,7 @@ exports.StyledSelectInput = exports.StyledSelectForm = exports.StyledRadioButton
7
7
 
8
8
  var _styledComponents = _interopRequireDefault(require("styled-components"));
9
9
 
10
- var _Input = require("../Input");
10
+ var _Input = require("../Input/Input");
11
11
 
12
12
  var _Checkbox = require("../Checkbox");
13
13
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Select/Styles.ts"],"names":["StyledSelectInput","Input","displayName","StyledSelectForm","styled","form","StyledCheckbox","Checkbox","StyledRadioButton","RadioButton"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEO,IAAMA,iBAAiB,GAAG,+BAAOC,YAAP,CAAH;AAAA;AAAA;AAAA,QAAvB;;AAEPD,iBAAiB,CAACE,WAAlB,GAAgC,mBAAhC;;AAEO,IAAMC,gBAAgB,GAAGC,0BAAOC,IAAV;AAAA;AAAA;AAAA,kGAIzBL,iBAJyB,CAAtB;;;AAcPG,gBAAgB,CAACD,WAAjB,GAA+B,kBAA/B;AAEO,IAAMI,cAAc,GAAG,+BAAOC,kBAAP,CAAH;AAAA;AAAA;AAAA,yBAApB;;AAIPD,cAAc,CAACJ,WAAf,GAA6B,gBAA7B;AAEO,IAAMM,iBAAiB,GAAG,+BAAOC,wBAAP,CAAH;AAAA;AAAA;AAAA,yBAAvB;;AAIPD,iBAAiB,CAACN,WAAlB,GAAgC,mBAAhC","sourcesContent":["import styled from \"styled-components\";\nimport { Input } from \"../Input\";\nimport { Checkbox } from \"../Checkbox\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport const StyledSelectInput = styled(Input)``;\n\nStyledSelectInput.displayName = \"StyledSelectInput\";\n\nexport const StyledSelectForm = styled.form`\n margin: 12px 12px 0 12px;\n display: flex;\n\n ${StyledSelectInput} {\n width: 100%;\n border-radius: 4px;\n }\n\n * {\n margin: auto 0;\n }\n`;\n\nStyledSelectForm.displayName = \"StyledSelectForm\";\n\nexport const StyledCheckbox = styled(Checkbox)`\n margin-left: 12px;\n`;\n\nStyledCheckbox.displayName = \"StyledCheckbox\";\n\nexport const StyledRadioButton = styled(RadioButton)`\n margin-left: 12px;\n`;\n\nStyledRadioButton.displayName = \"StyledRadioButton\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Select/Styles.ts"],"names":["StyledSelectInput","Input","displayName","StyledSelectForm","styled","form","StyledCheckbox","Checkbox","StyledRadioButton","RadioButton"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AACA;;;;AAEO,IAAMA,iBAAiB,GAAG,+BAAOC,YAAP,CAAH;AAAA;AAAA;AAAA,QAAvB;;AAEPD,iBAAiB,CAACE,WAAlB,GAAgC,mBAAhC;;AAEO,IAAMC,gBAAgB,GAAGC,0BAAOC,IAAV;AAAA;AAAA;AAAA,kGAIzBL,iBAJyB,CAAtB;;;AAcPG,gBAAgB,CAACD,WAAjB,GAA+B,kBAA/B;AAEO,IAAMI,cAAc,GAAG,+BAAOC,kBAAP,CAAH;AAAA;AAAA;AAAA,yBAApB;;AAIPD,cAAc,CAACJ,WAAf,GAA6B,gBAA7B;AAEO,IAAMM,iBAAiB,GAAG,+BAAOC,wBAAP,CAAH;AAAA;AAAA;AAAA,yBAAvB;;AAIPD,iBAAiB,CAACN,WAAlB,GAAgC,mBAAhC","sourcesContent":["import styled from \"styled-components\";\nimport { Input } from \"../Input/Input\";\nimport { Checkbox } from \"../Checkbox\";\nimport { RadioButton } from \"../RadioButton\";\n\nexport const StyledSelectInput = styled(Input)``;\n\nStyledSelectInput.displayName = \"StyledSelectInput\";\n\nexport const StyledSelectForm = styled.form`\n margin: 12px 12px 0 12px;\n display: flex;\n\n ${StyledSelectInput} {\n width: 100%;\n border-radius: 4px;\n }\n\n * {\n margin: auto 0;\n }\n`;\n\nStyledSelectForm.displayName = \"StyledSelectForm\";\n\nexport const StyledCheckbox = styled(Checkbox)`\n margin-left: 12px;\n`;\n\nStyledCheckbox.displayName = \"StyledCheckbox\";\n\nexport const StyledRadioButton = styled(RadioButton)`\n margin-left: 12px;\n`;\n\nStyledRadioButton.displayName = \"StyledRadioButton\";\n"],"file":"Styles.js"}
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,8BAA8B;eAC9B,OAAO;SASnB,CAAC;AAIF,eAAO,MAAM,sBAAsB,oEAIlC,CAAC;AAIF,eAAO,MAAM,0BAA0B,oEAWtC,CAAC;AAIF,eAAO,MAAM,yBAAyB;WAAyB,OAAO;SAkBrE,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":[],"mappings":";AAKA,eAAO,MAAM,8BAA8B;eAC9B,OAAO;SASnB,CAAC;AAIF,eAAO,MAAM,sBAAsB,oEAIlC,CAAC;AAIF,eAAO,MAAM,0BAA0B,oEAWtC,CAAC;AAIF,eAAO,MAAM,yBAAyB;WAAyB,OAAO;SAoBrE,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import styled, { css } from "styled-components";
2
+ import { FontStyle } from "../FontStyle";
2
3
  import { ScrollShadow } from "../ScrollShadow";
3
4
  export var StyledAutocompleteScrollShadow = styled(ScrollShadow).withConfig({
4
5
  displayName: "Styles__StyledAutocompleteScrollShadow",
@@ -25,10 +26,10 @@ StyledAutocompleteNoResult.displayName = "StyledAutocompleteNoResult";
25
26
  export var StyledAutocompleteNewItem = styled.label.withConfig({
26
27
  displayName: "Styles__StyledAutocompleteNewItem",
27
28
  componentId: "sc-1bc1vz9-3"
28
- })(["", ";padding:6px 16px;margin:4px 0;font-weight:normal;color:var(--color-primary);&:before{content:\"+ \";}", ""], {
29
+ })(["", ";", " padding:6px 16px;margin:4px 0;font-weight:normal;color:var(--color-primary);&:before{content:\"+ \";}", ""], {
29
30
  "cursor": "pointer",
30
31
  "userSelect": "none"
31
- }, function (props) {
32
+ }, FontStyle, function (props) {
32
33
  return props.hover && css(["background-color:var(--color-theme-200);content:\"+ \";"]);
33
34
  });
34
35
  StyledAutocompleteNewItem.displayName = "StyledAutocompleteNewItem";
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":["styled","css","ScrollShadow","StyledAutocompleteScrollShadow","props","$isHidden","displayName","StyledAutocompleteBody","div","StyledAutocompleteNoResult","StyledAutocompleteNewItem","label","hover"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AAEA,SAASC,YAAT,QAA6B,iBAA7B;AAEA,OAAO,IAAMC,8BAA8B,GAAGH,MAAM,CAACE,YAAD,CAAT;AAAA;AAAA;AAAA,4BAKvC,UAACE,KAAD;AAAA,SACAA,KAAK,CAACC,SAAN,IACAJ,GADA,YAEM;AAAA;AAAA,GAFN,CADA;AAAA,CALuC,CAApC;AAYPE,8BAA8B,CAACG,WAA/B,GAA6C,gCAA7C;AAEA,OAAO,IAAMC,sBAAsB,GAAGP,MAAM,CAACQ,GAAV;AAAA;AAAA;AAAA,yDAA5B;AAMPD,sBAAsB,CAACD,WAAvB,GAAqC,wBAArC;AAEA,OAAO,IAAMG,0BAA0B,GAAGT,MAAM,CAACQ,GAAV;AAAA;AAAA;AAAA,0HACjC;AAAA;AAAA;AAAA,CADiC,CAAhC;AAaPC,0BAA0B,CAACH,WAA3B,GAAyC,4BAAzC;AAEA,OAAO,IAAMI,yBAAyB,GAAGV,MAAM,CAACW,KAAV;AAAA;AAAA;AAAA,uHAChC;AAAA;AAAA;AAAA,CADgC,EAYlC,UAACP,KAAD;AAAA,SACAA,KAAK,CAACQ,KAAN,IACAX,GADA,6DADA;AAAA,CAZkC,CAA/B;AAoBPS,yBAAyB,CAACJ,WAA1B,GAAwC,2BAAxC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { ScrollShadow } from \"../ScrollShadow\";\n\nexport const StyledAutocompleteScrollShadow = styled(ScrollShadow)<{\n $isHidden: boolean;\n}>`\n margin-top: 4px;\n\n ${(props) =>\n props.$isHidden &&\n css`\n ${tw`tw-hidden`};\n `}\n`;\n\nStyledAutocompleteScrollShadow.displayName = \"StyledAutocompleteScrollShadow\";\n\nexport const StyledAutocompleteBody = styled.div`\n max-height: 340px;\n overflow: auto;\n margin-bottom: 6px;\n`;\n\nStyledAutocompleteBody.displayName = \"StyledAutocompleteBody\";\n\nexport const StyledAutocompleteNoResult = styled.div`\n ${tw`tw-cursor-pointer tw-select-none`};\n\n padding: 6px 16px;\n margin: 4px 0;\n\n &:hover {\n background-color: var(--color-theme-200);\n }\n\n color: var(--color-theme-600);\n`;\n\nStyledAutocompleteNoResult.displayName = \"StyledAutocompleteNoResult\";\n\nexport const StyledAutocompleteNewItem = styled.label<{ hover: boolean }>`\n ${tw`tw-cursor-pointer tw-select-none`};\n\n padding: 6px 16px;\n margin: 4px 0;\n font-weight: normal;\n color: var(--color-primary);\n\n &:before {\n content: \"+ \";\n }\n\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n content: \"+ \";\n `}\n`;\n\nStyledAutocompleteNewItem.displayName = \"StyledAutocompleteNewItem\";\n"],"file":"Styles.js"}
1
+ {"version":3,"sources":["../../../../src/components/Autocomplete/Styles.ts"],"names":["styled","css","FontStyle","ScrollShadow","StyledAutocompleteScrollShadow","props","$isHidden","displayName","StyledAutocompleteBody","div","StyledAutocompleteNoResult","StyledAutocompleteNewItem","label","hover"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AAEA,SAASC,SAAT,QAA0B,cAA1B;AACA,SAASC,YAAT,QAA6B,iBAA7B;AAEA,OAAO,IAAMC,8BAA8B,GAAGJ,MAAM,CAACG,YAAD,CAAT;AAAA;AAAA;AAAA,4BAKvC,UAACE,KAAD;AAAA,SACAA,KAAK,CAACC,SAAN,IACAL,GADA,YAEM;AAAA;AAAA,GAFN,CADA;AAAA,CALuC,CAApC;AAYPG,8BAA8B,CAACG,WAA/B,GAA6C,gCAA7C;AAEA,OAAO,IAAMC,sBAAsB,GAAGR,MAAM,CAACS,GAAV;AAAA;AAAA;AAAA,yDAA5B;AAMPD,sBAAsB,CAACD,WAAvB,GAAqC,wBAArC;AAEA,OAAO,IAAMG,0BAA0B,GAAGV,MAAM,CAACS,GAAV;AAAA;AAAA;AAAA,0HACjC;AAAA;AAAA;AAAA,CADiC,CAAhC;AAaPC,0BAA0B,CAACH,WAA3B,GAAyC,4BAAzC;AAEA,OAAO,IAAMI,yBAAyB,GAAGX,MAAM,CAACY,KAAV;AAAA;AAAA;AAAA,4HAChC;AAAA;AAAA;AAAA,CADgC,EAGlCV,SAHkC,EAclC,UAACG,KAAD;AAAA,SACAA,KAAK,CAACQ,KAAN,IACAZ,GADA,6DADA;AAAA,CAdkC,CAA/B;AAsBPU,yBAAyB,CAACJ,WAA1B,GAAwC,2BAAxC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport tw from \"twin.macro\";\nimport { FontStyle } from \"../FontStyle\";\nimport { ScrollShadow } from \"../ScrollShadow\";\n\nexport const StyledAutocompleteScrollShadow = styled(ScrollShadow)<{\n $isHidden: boolean;\n}>`\n margin-top: 4px;\n\n ${(props) =>\n props.$isHidden &&\n css`\n ${tw`tw-hidden`};\n `}\n`;\n\nStyledAutocompleteScrollShadow.displayName = \"StyledAutocompleteScrollShadow\";\n\nexport const StyledAutocompleteBody = styled.div`\n max-height: 340px;\n overflow: auto;\n margin-bottom: 6px;\n`;\n\nStyledAutocompleteBody.displayName = \"StyledAutocompleteBody\";\n\nexport const StyledAutocompleteNoResult = styled.div`\n ${tw`tw-cursor-pointer tw-select-none`};\n\n padding: 6px 16px;\n margin: 4px 0;\n\n &:hover {\n background-color: var(--color-theme-200);\n }\n\n color: var(--color-theme-600);\n`;\n\nStyledAutocompleteNoResult.displayName = \"StyledAutocompleteNoResult\";\n\nexport const StyledAutocompleteNewItem = styled.label<{ hover: boolean }>`\n ${tw`tw-cursor-pointer tw-select-none`};\n\n ${FontStyle}\n\n padding: 6px 16px;\n margin: 4px 0;\n font-weight: normal;\n color: var(--color-primary);\n\n &:before {\n content: \"+ \";\n }\n\n ${(props) =>\n props.hover &&\n css`\n background-color: var(--color-theme-200);\n content: \"+ \";\n `}\n`;\n\nStyledAutocompleteNewItem.displayName = \"StyledAutocompleteNewItem\";\n"],"file":"Styles.js"}
@@ -1,6 +1,6 @@
1
1
  import { FC } from "react";
2
2
  import { IAutocompleteProps } from "../Autocomplete/Autocomplete";
3
- import { InputSize } from "../Input";
3
+ import { InputSize } from "../Input/types";
4
4
  export interface IComboBoxProps {
5
5
  selected?: string | number;
6
6
  loading?: boolean;
@@ -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;AAelE,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,cAAc;IAE7B,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,SAAS,CAAC;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CACvB,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,cAAc,CAAC,CA0MhE,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;AAalE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAG3C,MAAM,WAAW,cAAc;IAE7B,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,SAAS,CAAC;IAEjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,QAAQ,EAAE,EAAE,CACvB,cAAc,GAAG,IAAI,CAAC,kBAAkB,EAAE,MAAM,cAAc,CAAC,CAiMhE,CAAC"}
@@ -10,7 +10,8 @@ import { Popper } from "../Popper";
10
10
  import { RemoveScroll } from "react-remove-scroll";
11
11
  import { SpinnerLoader } from "../Loaders/Spinner/SpinnerLoader";
12
12
  import { OptionContent } from "../Select/OptionContent/OptionContent";
13
- import { StyledComboBox, StyledComboBoxCloseSmallIcon, StyledComboBoxCollapseExpandSingleIcon, StyledComboBoxInput, StyledComboBoxList, StyledComboBoxControls } from "./Styles";
13
+ import { StyledComboBoxCloseSmallIcon, StyledComboBoxCollapseExpandSingleIcon, StyledComboBoxInput, StyledComboBoxList } from "./Styles";
14
+ import { InputAdornment } from "../Input/InputAdornment";
14
15
  export var ComboBox = function ComboBox(_ref) {
15
16
  var _comboBoxRef$current;
16
17
 
@@ -31,6 +32,7 @@ export var ComboBox = function ComboBox(_ref) {
31
32
  invalid = _ref$invalid === void 0 ? false : _ref$invalid,
32
33
  prop = _objectWithoutPropertiesLoose(_ref, _excluded);
33
34
 
35
+ var timeoutRef = useRef();
34
36
  var selectedName = useMemo(function () {
35
37
  var value = "";
36
38
 
@@ -99,12 +101,6 @@ export var ComboBox = function ComboBox(_ref) {
99
101
  setOpen(false);
100
102
  }
101
103
  }, [onChange]);
102
- var onClose = useCallback(function () {
103
- setTimeout(function () {
104
- setOpen(false);
105
- }, 200);
106
- setValue(selectedName);
107
- }, [selectedName]);
108
104
  var onOpen = useCallback(function () {
109
105
  if (!disabled) {
110
106
  setOpen(true);
@@ -127,41 +123,42 @@ export var ComboBox = function ComboBox(_ref) {
127
123
  e.preventDefault();
128
124
  }, []);
129
125
  var comboBoxRef = useRef(null);
130
- var clickOutsideCallback = useCallback(function (event) {
131
- if (comboBoxRef.current && !comboBoxRef.current.contains(event.target)) {
132
- onClose();
133
- }
134
- }, [onClose]);
126
+ var handleBlur = useCallback(function () {
127
+ setValue(selectedName);
128
+ timeoutRef.current = setTimeout(function () {
129
+ setOpen(false);
130
+ }, 200);
131
+ }, [selectedName]);
135
132
  useEffect(function () {
136
- document.addEventListener("click", clickOutsideCallback);
137
133
  return function () {
138
- document.removeEventListener("click", clickOutsideCallback);
134
+ timeoutRef.current && clearTimeout(timeoutRef.current);
139
135
  };
140
- }, [clickOutsideCallback]);
141
- return /*#__PURE__*/React.createElement(StyledComboBox, {
136
+ }, []);
137
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(StyledComboBoxInput, {
142
138
  className: "c-combo-box",
143
- $open: open,
144
- $loading: loading,
139
+ onBlur: handleBlur,
140
+ onFocus: onOpen,
145
141
  ref: comboBoxRef,
146
- onClick: onOpen,
147
- onFocus: onOpen
148
- }, /*#__PURE__*/React.createElement(StyledComboBoxInput, {
149
- ref: handleRef,
142
+ inputRef: handleRef,
150
143
  value: loading && loadingText ? loadingText : value,
151
144
  onKeyDown: handleOnKeyDown,
152
145
  onChange: handleOnChange,
153
146
  placeholder: placeholder,
154
147
  disabled: disabled,
155
148
  size: size,
156
- invalid: invalid
157
- }), !disabled ? /*#__PURE__*/React.createElement(StyledComboBoxControls, null, loading ? /*#__PURE__*/React.createElement(SpinnerLoader, null) : selected ? /*#__PURE__*/React.createElement(Button, {
158
- onMouseDown: handleMouseDown,
159
- onClick: handleDeselect,
160
- variant: "text gray",
161
- size: "small"
162
- }, /*#__PURE__*/React.createElement(StyledComboBoxCloseSmallIcon, null)) : null, /*#__PURE__*/React.createElement(StyledComboBoxCollapseExpandSingleIcon, {
163
- $open: open
164
- })) : null, !disabled ? /*#__PURE__*/React.createElement(Popper, {
149
+ invalid: invalid,
150
+ $loading: loading,
151
+ endAdornment: !disabled ? /*#__PURE__*/React.createElement(InputAdornment, {
152
+ disablePointerEvents: disabled
153
+ }, loading ? /*#__PURE__*/React.createElement(SpinnerLoader, null) : selected ? /*#__PURE__*/React.createElement(Button, {
154
+ onMouseDown: handleMouseDown,
155
+ onClick: handleDeselect,
156
+ variant: "text gray",
157
+ size: "small"
158
+ }, /*#__PURE__*/React.createElement(StyledComboBoxCloseSmallIcon, null)) : null, /*#__PURE__*/React.createElement(StyledComboBoxCollapseExpandSingleIcon, {
159
+ $open: open
160
+ })) : null
161
+ }), !disabled ? /*#__PURE__*/React.createElement(Popper, {
165
162
  anchorEl: comboBoxRef.current,
166
163
  open: open,
167
164
  placement: "bottom",
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ComboBox/ComboBox.tsx"],"names":["React","useCallback","useState","useEffect","useRef","useMemo","RadioButton","Autocomplete","Button","useForkRef","Popper","RemoveScroll","SpinnerLoader","OptionContent","StyledComboBox","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","StyledComboBoxControls","ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","prop","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","open","setOpen","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onClose","setTimeout","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","comboBoxRef","clickOutsideCallback","event","current","contains","document","addEventListener","removeEventListener","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 StyledComboBoxControls,\n} from \"./Styles\";\nimport { InputSize } from \"../Input\";\n\nexport interface 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 /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n}\n\nexport const ComboBox: FC<\n IComboBoxProps & Omit<IAutocompleteProps, keyof IComboBoxProps>\n> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\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 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 const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const clickOutsideCallback = useCallback(\n (event) => {\n if (comboBoxRef.current && !comboBoxRef.current.contains(event.target)) {\n onClose();\n }\n },\n [onClose]\n );\n\n useEffect(() => {\n document.addEventListener(`click`, clickOutsideCallback);\n return () => {\n document.removeEventListener(`click`, clickOutsideCallback);\n };\n }, [clickOutsideCallback]);\n\n return (\n <StyledComboBox\n className=\"c-combo-box\"\n $open={open}\n $loading={loading}\n ref={comboBoxRef}\n onClick={onOpen}\n onFocus={onOpen}\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 invalid={invalid}\n />\n {!disabled ? (\n <StyledComboBoxControls>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </StyledComboBoxControls>\n ) : null}\n {!disabled ? (\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{ zIndex: 10 }}\n strategy={\"fixed\"}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.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":["React","useCallback","useState","useEffect","useRef","useMemo","RadioButton","Autocomplete","Button","useForkRef","Popper","RemoveScroll","SpinnerLoader","OptionContent","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","StyledComboBoxInput","StyledComboBoxList","InputAdornment","ComboBox","options","selected","loading","loadingText","onChange","placeholder","handleEmptyAction","disabled","size","invalid","prop","timeoutRef","selectedName","value","map","v","find","q","id","name","setValue","handleOnChange","e","target","childNode","setChildNode","elementRef","handleRef","open","setOpen","handleOnKeyDown","key","stopPropagation","focus","blur","emptyAction","handleChange","selectedValue","onOpen","handleRenderOption","option","props","image","color","textColor","handleDeselect","handleMouseDown","preventDefault","comboBoxRef","handleBlur","current","setTimeout","clearTimeout","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 StyledComboBoxCloseSmallIcon,\n StyledComboBoxCollapseExpandSingleIcon,\n StyledComboBoxInput,\n StyledComboBoxList,\n} from \"./Styles\";\nimport { InputSize } from \"../Input/types\";\nimport { InputAdornment } from \"../Input/InputAdornment\";\n\nexport interface 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 /** Combobox size */\n size?: InputSize;\n /** Invalid state */\n invalid?: boolean;\n}\n\nexport const ComboBox: FC<\n IComboBoxProps & Omit<IAutocompleteProps, keyof IComboBoxProps>\n> = ({\n options = [],\n selected,\n loading = false,\n loadingText,\n onChange,\n placeholder,\n handleEmptyAction,\n disabled = false,\n size = \"regular\",\n invalid = false,\n ...prop\n}) => {\n const timeoutRef = useRef<NodeJS.Timeout>();\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 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 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 const comboBoxRef = useRef<HTMLDivElement | null>(null);\n\n const handleBlur = useCallback(() => {\n setValue(selectedName);\n timeoutRef.current = setTimeout(() => {\n setOpen(false);\n }, 200);\n }, [selectedName]);\n\n useEffect(() => {\n return () => {\n timeoutRef.current && clearTimeout(timeoutRef.current);\n };\n }, []);\n\n return (\n <>\n <StyledComboBoxInput\n className=\"c-combo-box\"\n onBlur={handleBlur}\n onFocus={onOpen}\n ref={comboBoxRef}\n inputRef={handleRef}\n value={loading && loadingText ? loadingText : value}\n onKeyDown={handleOnKeyDown}\n onChange={handleOnChange}\n placeholder={placeholder}\n disabled={disabled}\n size={size}\n invalid={invalid}\n $loading={loading}\n endAdornment={\n !disabled ? (\n <InputAdornment disablePointerEvents={disabled}>\n {loading ? (\n <SpinnerLoader />\n ) : selected ? (\n <Button\n onMouseDown={handleMouseDown}\n onClick={handleDeselect}\n variant=\"text gray\"\n size=\"small\"\n >\n <StyledComboBoxCloseSmallIcon />\n </Button>\n ) : null}\n <StyledComboBoxCollapseExpandSingleIcon $open={open} />\n </InputAdornment>\n ) : null\n }\n />\n {!disabled ? (\n <Popper\n anchorEl={comboBoxRef.current}\n open={open}\n placement=\"bottom\"\n style={{ zIndex: 10 }}\n strategy={\"fixed\"}\n >\n <RemoveScroll noIsolation allowPinchZoom>\n <StyledComboBoxList $width={comboBoxRef.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 </>\n );\n};\n\nComboBox.displayName = \"ComboBox\";\n"],"file":"ComboBox.js"}
@@ -1,18 +1,12 @@
1
1
  /// <reference types="react" />
2
- interface StyledComboBoxProps {
3
- $open?: boolean;
4
- $loading?: boolean;
5
- $size?: string;
6
- }
7
- export declare const StyledComboBox: import("styled-components").StyledComponent<"div", any, StyledComboBoxProps, never>;
8
- export declare const StyledComboBoxControls: import("styled-components").StyledComponent<"div", any, {}, never>;
9
- export declare const StyledComboBoxCloseSmallIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "style" | "clipPath" | "filter" | "mask" | "path" | "key" | "name" | "type" | "className" | "id" | "lang" | "tabIndex" | "role" | "color" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "tw" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "height" | "max" | "media" | "method" | "min" | "target" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "fill" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "href" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & import("react").RefAttributes<SVGSVGElement>>, any, {}, never>;
2
+ export declare const StyledComboBoxInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Input").InputProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof import("react").InputHTMLAttributes<HTMLInputElement>>, keyof import("../Input").InputProps> & import("react").RefAttributes<HTMLDivElement>>, any, {
3
+ $loading?: boolean | undefined;
4
+ }, never>;
10
5
  export declare const StyledComboBoxCollapseExpandSingleIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "style" | "clipPath" | "filter" | "mask" | "path" | "key" | "name" | "type" | "className" | "id" | "lang" | "tabIndex" | "role" | "color" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "tw" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "height" | "max" | "media" | "method" | "min" | "target" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "fill" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "href" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & import("react").RefAttributes<SVGSVGElement>>, any, {
11
6
  $open?: boolean | undefined;
12
7
  }, never>;
13
- export declare const StyledComboBoxInput: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<import("../Input/Input").InputProps & Omit<Pick<import("react").DetailedHTMLProps<import("react").InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof import("react").InputHTMLAttributes<HTMLInputElement>>, keyof import("../Input/Input").InputProps> & import("react").RefAttributes<HTMLInputElement>>, any, {}, never>;
8
+ export declare const StyledComboBoxCloseSmallIcon: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Pick<import("react").SVGProps<SVGSVGElement>, "string" | "style" | "clipPath" | "filter" | "mask" | "path" | "key" | "name" | "type" | "className" | "id" | "lang" | "tabIndex" | "role" | "color" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "tw" | "ideographic" | "alphabetic" | "hanging" | "mathematical" | "height" | "max" | "media" | "method" | "min" | "target" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "fill" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "horizAdvX" | "horizOriginX" | "href" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & import("react").RefAttributes<SVGSVGElement>>, any, {}, never>;
14
9
  export declare const StyledComboBoxList: import("styled-components").StyledComponent<"div", any, {
15
10
  $width?: number | undefined;
16
11
  }, never>;
17
- export {};
18
12
  //# sourceMappingURL=Styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/Styles.ts"],"names":[],"mappings":";AAOA,UAAU,mBAAmB;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,cAAc,qFAW1B,CAAC;AAIF,eAAO,MAAM,sBAAsB,oEAQlC,CAAC;AASF,eAAO,MAAM,4BAA4B,wqPAWxC,CAAC;AAIF,eAAO,MAAM,sCAAsC;;SAalD,CAAC;AAKF,eAAO,MAAM,mBAAmB,waAS/B,CAAC;AAIF,eAAO,MAAM,kBAAkB;;SAQ9B,CAAC"}
1
+ {"version":3,"file":"Styles.d.ts","sourceRoot":"","sources":["../../../../src/components/ComboBox/Styles.ts"],"names":[],"mappings":";AAIA,eAAO,MAAM,mBAAmB;;SAU/B,CAAC;AASF,eAAO,MAAM,sCAAsC;;SAYlD,CAAC;AAKF,eAAO,MAAM,4BAA4B,wqPAWxC,CAAC;AAIF,eAAO,MAAM,kBAAkB;;SAQ9B,CAAC"}
@@ -1,43 +1,29 @@
1
1
  import styled, { css } from "styled-components";
2
2
  import { CollapseExpandSingleIcon, CloseSmallIcon } from "../Icons/collection";
3
- import { Input } from "../Input/Input";
4
- import { BoxSizingStyle } from "../BoxSizingStyle";
5
- import { FontStyle } from "../FontStyle";
6
- export var StyledComboBox = styled.div.withConfig({
7
- displayName: "Styles__StyledComboBox",
3
+ import { Input } from "../Input";
4
+ export var StyledComboBoxInput = styled(Input).withConfig({
5
+ displayName: "Styles__StyledComboBoxInput",
8
6
  componentId: "sc-5qvkpb-0"
9
- })(["position:relative;cursor:text;", " ", " ", ""], FontStyle, BoxSizingStyle, function (props) {
7
+ })(["overflow:hidden;text-overflow:ellipsis;width:100%;", ""], function (props) {
10
8
  return props.$loading && css(["cursor:progress;"]);
11
9
  });
12
- StyledComboBox.displayName = "StyledComboBox";
13
- export var StyledComboBoxControls = styled.div.withConfig({
14
- displayName: "Styles__StyledComboBoxControls",
15
- componentId: "sc-5qvkpb-1"
16
- })(["position:absolute;top:0;right:0;height:100%;display:flex;align-items:center;justify-content:center;"]);
17
- StyledComboBoxControls.displayName = "StyledComboBoxControls";
10
+ StyledComboBoxInput.displayName = "StyledComboBoxInput";
18
11
  var StyledIconDefaults = css(["flex-shrink:0;cursor:pointer;"]);
19
- export var StyledComboBoxCloseSmallIcon = styled(CloseSmallIcon).withConfig({
20
- displayName: "Styles__StyledComboBoxCloseSmallIcon",
21
- componentId: "sc-5qvkpb-2"
22
- })(["", " opacity:0;transition-property:all;transition-duration:0.2s;transition-delay:0.5s;", ":hover &{opacity:1;transition-delay:0s;}"], StyledIconDefaults, StyledComboBox);
23
- StyledComboBoxCloseSmallIcon.displayName = "StyledComboBoxCloseSmallIcon";
24
12
  export var StyledComboBoxCollapseExpandSingleIcon = styled(CollapseExpandSingleIcon).withConfig({
25
13
  displayName: "Styles__StyledComboBoxCollapseExpandSingleIcon",
26
- componentId: "sc-5qvkpb-3"
27
- })(["", " margin:0 4px 0 0;color:var(--color-theme-600);transform:rotate(180deg);", ""], StyledIconDefaults, function (props) {
14
+ componentId: "sc-5qvkpb-1"
15
+ })(["", " color:var(--color-theme-600);transform:rotate(180deg);", ""], StyledIconDefaults, function (props) {
28
16
  return props.$open && css(["transform:rotate(0deg);"]);
29
17
  });
30
18
  StyledComboBoxCollapseExpandSingleIcon.displayName = "StyledComboBoxCollapseExpandSingleIcon";
31
- export var StyledComboBoxInput = styled(Input).withConfig({
32
- displayName: "Styles__StyledComboBoxInput",
33
- componentId: "sc-5qvkpb-4"
34
- })(["overflow:hidden;text-overflow:ellipsis;width:100%;padding-right:80px;", ":hover &{", "}"], StyledComboBox, {
35
- "borderColor": "var(--color-primary)"
36
- });
37
- StyledComboBoxInput.displayName = "StyledComboBoxInput";
19
+ export var StyledComboBoxCloseSmallIcon = styled(CloseSmallIcon).withConfig({
20
+ displayName: "Styles__StyledComboBoxCloseSmallIcon",
21
+ componentId: "sc-5qvkpb-2"
22
+ })(["", " opacity:0;transition-property:all;transition-duration:0.2s;transition-delay:0.5s;", ":hover &{opacity:1;transition-delay:0s;}"], StyledIconDefaults, StyledComboBoxInput);
23
+ StyledComboBoxCloseSmallIcon.displayName = "StyledComboBoxCloseSmallIcon";
38
24
  export var StyledComboBoxList = styled.div.withConfig({
39
25
  displayName: "Styles__StyledComboBoxList",
40
- componentId: "sc-5qvkpb-5"
26
+ componentId: "sc-5qvkpb-3"
41
27
  })(["min-width:260px;background-color:var(--page-paper-main);border-radius:8px;border:1px solid var(--border-primary);box-shadow:var(--shadow-tertiary);margin:8px 0;width:", ";"], function (props) {
42
28
  return props.$width + "px";
43
29
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/ComboBox/Styles.ts"],"names":["styled","css","CollapseExpandSingleIcon","CloseSmallIcon","Input","BoxSizingStyle","FontStyle","StyledComboBox","div","props","$loading","displayName","StyledComboBoxControls","StyledIconDefaults","StyledComboBoxCloseSmallIcon","StyledComboBoxCollapseExpandSingleIcon","$open","StyledComboBoxInput","StyledComboBoxList","$width"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AACA,SAASC,wBAAT,EAAmCC,cAAnC,QAAyD,qBAAzD;AACA,SAASC,KAAT,QAAsB,gBAAtB;AACA,SAASC,cAAT,QAA+B,mBAA/B;AACA,SAASC,SAAT,QAA0B,cAA1B;AASA,OAAO,IAAMC,cAAc,GAAGP,MAAM,CAACQ,GAAV;AAAA;AAAA;AAAA,qDAGvBF,SAHuB,EAIvBD,cAJuB,EAMvB,UAACI,KAAD;AAAA,SACAA,KAAK,CAACC,QAAN,IACAT,GADA,sBADA;AAAA,CANuB,CAApB;AAaPM,cAAc,CAACI,WAAf,GAA6B,gBAA7B;AAEA,OAAO,IAAMC,sBAAsB,GAAGZ,MAAM,CAACQ,GAAV;AAAA;AAAA;AAAA,2GAA5B;AAUPI,sBAAsB,CAACD,WAAvB,GAAqC,wBAArC;AAEA,IAAME,kBAAkB,GAAGZ,GAAH,mCAAxB;AAKA,OAAO,IAAMa,4BAA4B,GAAGd,MAAM,CAACG,cAAD,CAAT;AAAA;AAAA;AAAA,2IACrCU,kBADqC,EAOrCN,cAPqC,CAAlC;AAaPO,4BAA4B,CAACH,WAA7B,GAA2C,8BAA3C;AAEA,OAAO,IAAMI,sCAAsC,GAAGf,MAAM,CAC1DE,wBAD0D,CAAT;AAAA;AAAA;AAAA,yFAG/CW,kBAH+C,EAQ/C,UAACJ,KAAD;AAAA,SACAA,KAAK,CAACO,KAAN,IACAf,GADA,6BADA;AAAA,CAR+C,CAA5C;AAePc,sCAAsC,CAACJ,WAAvC,GACE,wCADF;AAGA,OAAO,IAAMM,mBAAmB,GAAGjB,MAAM,CAACI,KAAD,CAAT;AAAA;AAAA;AAAA,gGAM5BG,cAN4B,EAOxB;AAAA;AAAA,CAPwB,CAAzB;AAWPU,mBAAmB,CAACN,WAApB,GAAkC,qBAAlC;AAEA,OAAO,IAAMO,kBAAkB,GAAGlB,MAAM,CAACQ,GAAV;AAAA;AAAA;AAAA,oLAOpB,UAACC,KAAD;AAAA,SAAcA,KAAK,CAACU,MAApB;AAAA,CAPoB,CAAxB;AAUPD,kBAAkB,CAACP,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\";\nimport tw from \"twin.macro\";\n\ninterface StyledComboBoxProps {\n $open?: boolean;\n $loading?: boolean;\n $size?: string;\n}\n\nexport const StyledComboBox = styled.div<StyledComboBoxProps>`\n position: relative;\n cursor: text;\n ${FontStyle}\n ${BoxSizingStyle}\n\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n`;\n\nStyledComboBox.displayName = \"StyledComboBox\";\n\nexport const StyledComboBoxControls = styled.div`\n position: absolute;\n top: 0;\n right: 0;\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n`;\n\nStyledComboBoxControls.displayName = \"StyledComboBoxControls\";\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 ${StyledComboBox}: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 width: 100%;\n padding-right: 80px;\n\n ${StyledComboBox}:hover & {\n ${tw`tw-border-primary`}\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":["styled","css","CollapseExpandSingleIcon","CloseSmallIcon","Input","StyledComboBoxInput","props","$loading","displayName","StyledIconDefaults","StyledComboBoxCollapseExpandSingleIcon","$open","StyledComboBoxCloseSmallIcon","StyledComboBoxList","div","$width"],"mappings":"AAAA,OAAOA,MAAP,IAAiBC,GAAjB,QAA4B,mBAA5B;AACA,SAASC,wBAAT,EAAmCC,cAAnC,QAAyD,qBAAzD;AACA,SAASC,KAAT,QAAsB,UAAtB;AAEA,OAAO,IAAMC,mBAAmB,GAAGL,MAAM,CAACI,KAAD,CAAT;AAAA;AAAA;AAAA,+DAK5B,UAACE,KAAD;AAAA,SACAA,KAAK,CAACC,QAAN,IACAN,GADA,sBADA;AAAA,CAL4B,CAAzB;AAYPI,mBAAmB,CAACG,WAApB,GAAkC,qBAAlC;AAEA,IAAMC,kBAAkB,GAAGR,GAAH,mCAAxB;AAKA,OAAO,IAAMS,sCAAsC,GAAGV,MAAM,CAC1DE,wBAD0D,CAAT;AAAA;AAAA;AAAA,wEAG/CO,kBAH+C,EAO/C,UAACH,KAAD;AAAA,SACAA,KAAK,CAACK,KAAN,IACAV,GADA,6BADA;AAAA,CAP+C,CAA5C;AAcPS,sCAAsC,CAACF,WAAvC,GACE,wCADF;AAGA,OAAO,IAAMI,4BAA4B,GAAGZ,MAAM,CAACG,cAAD,CAAT;AAAA;AAAA;AAAA,2IACrCM,kBADqC,EAOrCJ,mBAPqC,CAAlC;AAaPO,4BAA4B,CAACJ,WAA7B,GAA2C,8BAA3C;AAEA,OAAO,IAAMK,kBAAkB,GAAGb,MAAM,CAACc,GAAV;AAAA;AAAA;AAAA,oLAOpB,UAACR,KAAD;AAAA,SAAcA,KAAK,CAACS,MAApB;AAAA,CAPoB,CAAxB;AAUPF,kBAAkB,CAACL,WAAnB,GAAiC,oBAAjC","sourcesContent":["import styled, { css } from \"styled-components\";\nimport { CollapseExpandSingleIcon, CloseSmallIcon } from \"../Icons/collection\";\nimport { Input } from \"../Input\";\n\nexport const StyledComboBoxInput = styled(Input)<{ $loading?: boolean }>`\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n\n ${(props) =>\n props.$loading &&\n css`\n cursor: progress;\n `}\n`;\n\nStyledComboBoxInput.displayName = \"StyledComboBoxInput\";\n\nconst StyledIconDefaults = css`\n flex-shrink: 0;\n cursor: pointer;\n`;\n\nexport const StyledComboBoxCollapseExpandSingleIcon = styled(\n CollapseExpandSingleIcon\n)<{ $open?: boolean }>`\n ${StyledIconDefaults}\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 StyledComboBoxCloseSmallIcon = styled(CloseSmallIcon)`\n ${StyledIconDefaults}\n opacity: 0;\n transition-property: all;\n transition-duration: 0.2s;\n transition-delay: 0.5s;\n\n ${StyledComboBoxInput}:hover & {\n opacity: 1;\n transition-delay: 0s;\n }\n`;\n\nStyledComboBoxCloseSmallIcon.displayName = \"StyledComboBoxCloseSmallIcon\";\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,8 +1,11 @@
1
- import React from "react";
2
- export declare type InputSize = "small" | "regular" | "big";
1
+ import React, { ReactNode, Ref } from "react";
2
+ import { InputSize } from "./types";
3
3
  export interface InputProps {
4
4
  size?: InputSize;
5
5
  invalid?: boolean;
6
+ startAdornment?: ReactNode;
7
+ endAdornment?: ReactNode;
8
+ inputRef?: Ref<HTMLInputElement>;
6
9
  }
7
- export declare const Input: React.ForwardRefExoticComponent<InputProps & Omit<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, keyof InputProps> & React.RefAttributes<HTMLInputElement>>;
10
+ export declare const Input: React.ForwardRefExoticComponent<InputProps & Omit<Pick<React.DetailedHTMLProps<React.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "key" | keyof React.InputHTMLAttributes<HTMLInputElement>>, keyof InputProps> & React.RefAttributes<HTMLDivElement>>;
8
11
  //# sourceMappingURL=Input.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqB,MAAM,OAAO,CAAC;AAI1C,oBAAY,SAAS,GAAG,OAAO,GAAG,SAAS,GAAG,KAAK,CAAC;AACpD,MAAM,WAAW,UAAU;IAEzB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,eAAO,MAAM,KAAK,uQA2BjB,CAAC"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,GAAG,EAAuB,MAAM,OAAO,CAAC;AAInE,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,MAAM,WAAW,UAAU;IAEzB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,cAAc,CAAC,EAAE,SAAS,CAAC;IAC3B,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;CAClC;AAED,eAAO,MAAM,KAAK,qQAgDjB,CAAC"}