@infomaximum/ui-kit 0.12.12 → 0.13.1

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 (105) hide show
  1. package/dist/components/BaseSelect/BaseSelect.d.ts +5 -0
  2. package/dist/components/BaseSelect/BaseSelect.js +360 -0
  3. package/dist/components/{Select/Select.styles.d.ts → BaseSelect/BaseSelect.styles.d.ts} +20 -4
  4. package/dist/components/{Select/Select.styles.js → BaseSelect/BaseSelect.styles.js} +23 -10
  5. package/dist/components/BaseSelect/BaseSelect.types.d.ts +99 -0
  6. package/dist/components/BaseSelect/BaseSelect.utils.d.ts +8 -0
  7. package/dist/components/BaseSelect/BaseSelect.utils.js +39 -0
  8. package/dist/components/BaseSelect/components/BaseSelectOptionList/BaseSelectOptionList.types.d.ts +11 -0
  9. package/dist/components/BaseSelect/components/SelectOptionList/SelectOptionList.d.ts +4 -0
  10. package/dist/components/BaseSelect/components/SelectOptionList/SelectOptionList.js +120 -0
  11. package/dist/components/{Select → BaseSelect}/components/SelectOptionList/SelectOptionList.styles.d.ts +13 -4
  12. package/dist/components/{Select → BaseSelect}/components/SelectOptionList/SelectOptionList.styles.js +13 -7
  13. package/dist/components/BaseSelect/components/SelectOptionList/SelectOptionList.types.d.ts +20 -0
  14. package/dist/components/BaseSelect/components/SelectTag/SelectTag.d.ts +4 -0
  15. package/dist/components/{Select → BaseSelect}/components/SelectTag/SelectTag.js +9 -5
  16. package/dist/components/BaseSelect/components/SelectTag/SelectTag.styles.d.ts +16 -0
  17. package/dist/components/{Select → BaseSelect}/components/SelectTag/SelectTag.styles.js +13 -3
  18. package/dist/components/BaseSelect/components/SelectTag/SelectTag.types.d.ts +11 -0
  19. package/dist/components/BaseSelect/contexts/BaseSelectContext.d.ts +33 -0
  20. package/dist/components/BaseSelect/contexts/BaseSelectContext.js +8 -0
  21. package/dist/components/BaseSelect/hooks/useCurrentValue.d.ts +7 -0
  22. package/dist/components/{Select → BaseSelect}/hooks/useCurrentValue.js +15 -0
  23. package/dist/components/BaseSelect/hooks/useDefaultCurrentValue.d.ts +2 -0
  24. package/dist/components/{Select → BaseSelect}/hooks/useDefaultCurrentValue.js +1 -1
  25. package/dist/components/BaseSelect/hooks/useDefaultSelectIndex.d.ts +2 -0
  26. package/dist/components/BaseSelect/hooks/useHideElements.d.ts +6 -0
  27. package/dist/components/{Select → BaseSelect}/hooks/useHideElements.js +11 -3
  28. package/dist/components/BaseSelect/hooks/useSearch.d.ts +10 -0
  29. package/dist/components/{Select → BaseSelect}/hooks/useSearch.js +4 -16
  30. package/dist/components/Checkbox/Checkbox.js +12 -8
  31. package/dist/components/Checkbox/Checkbox.utils.d.ts +2 -0
  32. package/dist/components/Checkbox/Checkbox.utils.js +5 -0
  33. package/dist/components/Checkbox/index.d.ts +1 -0
  34. package/dist/components/Input/Input.d.ts +2 -2
  35. package/dist/components/Input/Input.js +35 -10
  36. package/dist/components/Input/Input.styles.d.ts +7 -0
  37. package/dist/components/Input/Input.styles.js +9 -5
  38. package/dist/components/Input/Input.types.d.ts +16 -6
  39. package/dist/components/Input/components/InputPassword/InputPassword.d.ts +2 -1
  40. package/dist/components/Input/components/InputTextArea/InputTextArea.d.ts +2 -2
  41. package/dist/components/Input/components/InputTextArea/InputTextArea.js +27 -5
  42. package/dist/components/Input/components/InputTextArea/InputTextArea.types.d.ts +10 -2
  43. package/dist/components/Input/index.d.ts +3 -1
  44. package/dist/components/Select/Select.d.ts +2 -2
  45. package/dist/components/Select/Select.js +39 -281
  46. package/dist/components/Select/Select.types.d.ts +6 -85
  47. package/dist/components/Select/Select.utils.d.ts +1 -9
  48. package/dist/components/Select/Select.utils.js +1 -46
  49. package/dist/components/Select/components/SelectOption/SelectOption.js +20 -23
  50. package/dist/components/Select/components/SelectOption/SelectOption.styles.js +1 -1
  51. package/dist/components/Select/components/SelectOption/SelectOption.types.d.ts +13 -15
  52. package/dist/components/Select/hooks/useKeyControl.d.ts +7 -3
  53. package/dist/components/Select/hooks/useKeyControl.js +48 -13
  54. package/dist/components/TreeSelect/TreeSelect.d.ts +3 -0
  55. package/dist/components/TreeSelect/TreeSelect.js +189 -0
  56. package/dist/components/TreeSelect/TreeSelect.tokens.d.ts +30 -0
  57. package/dist/components/TreeSelect/TreeSelect.tokens.js +31 -0
  58. package/dist/components/TreeSelect/TreeSelect.types.d.ts +69 -0
  59. package/dist/components/TreeSelect/TreeSelect.utils.d.ts +13 -0
  60. package/dist/components/TreeSelect/TreeSelect.utils.js +192 -0
  61. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.d.ts +3 -0
  62. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.js +117 -0
  63. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.styles.d.ts +83 -0
  64. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.styles.js +111 -0
  65. package/dist/components/TreeSelect/components/TreeSelectOption/TreeSelectOption.types.d.ts +27 -0
  66. package/dist/components/TreeSelect/contexts/treeSelectContext.d.ts +14 -0
  67. package/dist/components/TreeSelect/contexts/treeSelectContext.js +5 -0
  68. package/dist/components/TreeSelect/forStories/dataForExamples.d.ts +32 -0
  69. package/dist/components/TreeSelect/hooks/useAsyncLoading.d.ts +8 -0
  70. package/dist/components/TreeSelect/hooks/useAsyncLoading.js +39 -0
  71. package/dist/components/TreeSelect/hooks/useElementSizesController.d.ts +6 -0
  72. package/dist/components/TreeSelect/hooks/useElementSizesController.js +21 -0
  73. package/dist/components/TreeSelect/hooks/useExtendController.d.ts +19 -0
  74. package/dist/components/TreeSelect/hooks/useExtendController.js +65 -0
  75. package/dist/components/TreeSelect/hooks/useKeyControl.d.ts +11 -0
  76. package/dist/components/TreeSelect/hooks/useKeyControl.js +75 -0
  77. package/dist/components/TreeSelect/hooks/useTreeCheckable.d.ts +6 -0
  78. package/dist/components/TreeSelect/hooks/useTreeCheckable.js +56 -0
  79. package/dist/components/TreeSelect/hooks/useTreeData.d.ts +8 -0
  80. package/dist/components/TreeSelect/hooks/useTreeData.js +33 -0
  81. package/dist/components/TreeSelect/index.d.ts +2 -0
  82. package/dist/index.d.ts +5 -4
  83. package/dist/index.js +4 -0
  84. package/package.json +1 -1
  85. package/dist/components/Select/components/SelectOptionList/SelectOptionList.d.ts +0 -3
  86. package/dist/components/Select/components/SelectOptionList/SelectOptionList.js +0 -139
  87. package/dist/components/Select/components/SelectOptionList/SelectOptionList.types.d.ts +0 -42
  88. package/dist/components/Select/components/SelectOptionList/SelectOptionList.utils.d.ts +0 -1
  89. package/dist/components/Select/components/SelectOptionList/SelectOptionList.utils.js +0 -4
  90. package/dist/components/Select/components/SelectTag/SelectTag.d.ts +0 -3
  91. package/dist/components/Select/components/SelectTag/SelectTag.styles.d.ts +0 -8
  92. package/dist/components/Select/components/SelectTag/SelectTag.types.d.ts +0 -10
  93. package/dist/components/Select/hooks/useCurrentValue.d.ts +0 -8
  94. package/dist/components/Select/hooks/useDefaultCurrentValue.d.ts +0 -3
  95. package/dist/components/Select/hooks/useDefaultSelectIndex.d.ts +0 -2
  96. package/dist/components/Select/hooks/useDefaultSelectIndex.js +0 -17
  97. package/dist/components/Select/hooks/useHideElements.d.ts +0 -5
  98. package/dist/components/Select/hooks/useSearch.d.ts +0 -11
  99. /package/dist/components/{Select/Select.tokens.d.ts → BaseSelect/BaseSelect.tokens.d.ts} +0 -0
  100. /package/dist/components/{Select/Select.tokens.js → BaseSelect/BaseSelect.tokens.js} +0 -0
  101. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.d.ts +0 -0
  102. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.js +0 -0
  103. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.styles.d.ts +0 -0
  104. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.styles.js +0 -0
  105. /package/dist/components/{Select → BaseSelect}/components/TagPlaceholder/TagPlaceholder.types.d.ts +0 -0
@@ -1,89 +1,10 @@
1
- import { FocusEvent, KeyboardEvent, ReactNode } from 'react';
2
- import { SelectOptionInterface, SelectOptionProps, SelectOptionValue } from './components/SelectOption/SelectOption.types';
3
- import { Theme } from '../../themes';
4
- import { Interpolation } from '@emotion/react';
5
- import { DropdownMatchSelectWidthType, DropdownStyles } from './components/SelectOptionList/SelectOptionList.types';
6
- import { NarrowedElement, ReferenceType } from '@floating-ui/react';
7
- export type SelectStatus = "default" | "error";
8
- export type VariantType = "outlined" | "borderless";
9
- export type ModeType = "single" | "multiple";
10
- export type maxTagCountType = number | "responsive";
1
+ import { SelectOptionInterface, SelectOptionStyles } from './components/SelectOption/SelectOption.types';
2
+ import { BaseSelectProps, BaseSelectStyles } from '../BaseSelect/BaseSelect.types';
11
3
  export interface SelectStyles {
12
- dropdownStyle?: DropdownStyles;
13
- wrapper?: (theme: Theme) => Interpolation;
14
- body?: (theme: Theme) => Interpolation;
15
- prefixAndContent?: (theme: Theme) => Interpolation;
16
- content?: (theme: Theme) => Interpolation;
17
- placeholder?: (theme: Theme) => Interpolation;
18
- prefix?: (theme: Theme) => Interpolation;
19
- suffixIcon?: (theme: Theme) => Interpolation;
20
- cleanIcon?: (theme: Theme) => Interpolation;
21
- drawerIcon?: (theme: Theme) => Interpolation;
4
+ baseSelectStyles?: BaseSelectStyles;
5
+ optionStyles?: SelectOptionStyles;
22
6
  }
23
- export interface SelectProps {
24
- options?: SelectOptionInterface[];
25
- mode?: ModeType;
26
- variant?: VariantType;
27
- defaultValue?: SelectOptionValue | SelectOptionValue[];
28
- defaultOpen?: boolean;
29
- value?: SelectOptionValue | SelectOptionValue[];
30
- open?: boolean;
31
- defaultActiveFirstOption?: boolean;
32
- placeholder?: string;
33
- dropdownMaxHeight?: number;
34
- dropdownMinWidth?: number;
35
- allowClear?: boolean;
36
- autoFocus?: boolean;
37
- prefix?: ReactNode;
38
- suffixIcon?: ReactNode;
39
- status?: SelectStatus;
40
- disabled?: boolean;
41
- dropdownPrompt?: string;
42
- loading?: boolean;
43
- dropdownClassName?: string;
44
- dropdownMatchSelectWidth?: DropdownMatchSelectWidthType;
45
- placement?: PlacementType;
46
- virtual?: boolean;
47
- emptyContent?: ReactNode;
48
- showSearch?: boolean;
49
- optionFilterProp?: string;
50
- optionLabelProp?: string;
51
- filterOption?: boolean | ((inputValue: string, option: SelectOptionInterface) => boolean);
52
- searchValue?: string;
53
- notFoundContent?: ReactNode;
54
- drawer?: boolean;
55
- filterSort?: (optionA: SelectOptionInterface, optionB: SelectOptionInterface, searchValue: string) => number;
7
+ export type SelectOptionValue = string | number;
8
+ export interface SelectProps extends Omit<BaseSelectProps<SelectOptionInterface, SelectOptionValue>, "renderDropdownItem" | "filterOptions" | "getOptionByValue" | "virtualizerEstimateSize" | "onKeyControl" | "currentSelectingIndex" | "getCurrentSelectingValue" | "styles"> {
56
9
  styles?: SelectStyles;
57
- autoClearSearchValue?: boolean;
58
- maxTagCount?: maxTagCountType;
59
- maxTagPlaceholder?: ((omittedValues: SelectOptionInterface[]) => ReactNode) | ReactNode;
60
- maxTagTextLength?: number;
61
- dropdownRender?: (originNode: ReactNode) => ReactNode;
62
- optionRender?: (option: SelectOptionProps) => ReactNode;
63
- labelRender?: (props: LabelInValueType) => ReactNode;
64
- tagRender?: (label: string) => ReactNode;
65
- onFocus?: (event: FocusEvent) => void;
66
- onBlur?: (event: FocusEvent) => void;
67
- onChange?: (value: SelectOptionValue[], option: SelectOptionInterface[]) => void;
68
- onClear?: () => void;
69
- onDropdownVisibleChange?: () => void;
70
- onInputKeyDown?: (event: KeyboardEvent) => void;
71
- onSelect?: (value: SelectOptionValue, option: SelectOptionInterface) => void;
72
- getPopupContainer?: () => HTMLElement;
73
- onSearch?: (searchValue: string) => void;
74
- onDeselect?: (value: SelectOptionValue) => void;
75
10
  }
76
- export interface LabelInValueType {
77
- label: ReactNode;
78
- value: SelectOptionValue;
79
- }
80
- export interface Refs<RT extends ReferenceType = ReferenceType> {
81
- reference: React.MutableRefObject<RT | null>;
82
- floating: React.MutableRefObject<HTMLElement | null>;
83
- domReference: React.MutableRefObject<NarrowedElement<RT> | null>;
84
- setReference(node: RT | null): void;
85
- setFloating(node: HTMLElement | null): void;
86
- setPositionReference(node: RT | null): void;
87
- }
88
- export type PlacementType = "bottomLeft" | "bottomRight" | "topLeft" | "topRight";
89
- export type UseSearchProps = Required<Pick<SelectProps, "options" | "optionFilterProp" | "filterOption">> & Pick<SelectProps, "onSearch" | "searchValue" | "filterSort">;
@@ -1,10 +1,2 @@
1
- import { Placement } from '@floating-ui/react';
2
- import { maxTagCountType, PlacementType } from './Select.types';
3
- import { SelectOptionInterface, SelectOptionValue } from './components/SelectOption/SelectOption.types';
4
- export declare const additionalElements: string[];
5
- export declare const convertSelectPlacement: (placement: PlacementType) => Placement;
1
+ import { SelectOptionInterface } from './components/SelectOption/SelectOption.types';
6
2
  export declare const getNextOption: (currentIndex: number, options: SelectOptionInterface[], isDecrement?: boolean) => number | null;
7
- export declare const isKeyOfObject: <T extends object>(obj: T, key: string | number | symbol) => key is keyof T;
8
- export declare const getLabelByValue: (value: SelectOptionValue, optionsMap: Map<SelectOptionValue, SelectOptionInterface>, optionLabelProp: string) => string | undefined;
9
- export declare const getLabel: (values: SelectOptionValue[], optionsMap: Map<SelectOptionValue, SelectOptionInterface>, optionLabelProp: string) => string[];
10
- export declare const getVisibleLabels: (labels: string[], values: SelectOptionValue[], maxTagCount: maxTagCountType | undefined, isItemHidden: Map<string | number, boolean>) => string[];
@@ -1,14 +1,3 @@
1
- import { isUndefined, isNumber } from "lodash-es";
2
- const additionalElements = ["tag-placeholder", "search-input", "clean-button"];
3
- const placementDictionary = {
4
- bottomLeft: "bottom-start",
5
- bottomRight: "bottom-end",
6
- topLeft: "top-start",
7
- topRight: "top-end"
8
- };
9
- const convertSelectPlacement = (placement) => {
10
- return placementDictionary[placement];
11
- };
12
1
  const getNextOption = (currentIndex, options, isDecrement = false) => {
13
2
  const nextIndex = isDecrement ? currentIndex - 1 : currentIndex + 1;
14
3
  if (nextIndex < 0 || nextIndex >= options.length) {
@@ -20,40 +9,6 @@ const getNextOption = (currentIndex, options, isDecrement = false) => {
20
9
  }
21
10
  return getNextOption(nextIndex, options, isDecrement);
22
11
  };
23
- const isKeyOfObject = (obj, key) => {
24
- return key in obj;
25
- };
26
- const getLabelByValue = (value, optionsMap, optionLabelProp) => {
27
- var _a;
28
- const option = optionsMap.get(value);
29
- if (isUndefined(option)) {
30
- return void 0;
31
- }
32
- return isKeyOfObject(option, optionLabelProp) ? (_a = option[optionLabelProp]) == null ? void 0 : _a.toString() : void 0;
33
- };
34
- const getLabel = (values, optionsMap, optionLabelProp) => {
35
- return values.map((value) => getLabelByValue(value, optionsMap, optionLabelProp) ?? value.toString());
36
- };
37
- const getVisibleLabels = (labels, values, maxTagCount, isItemHidden) => {
38
- if (isUndefined(maxTagCount)) {
39
- return labels;
40
- }
41
- if (isNumber(maxTagCount)) {
42
- return labels.slice(0, maxTagCount);
43
- }
44
- return values.reduce((acc, value, index) => {
45
- if (!isItemHidden.get(value)) {
46
- return [...acc, labels[index]];
47
- }
48
- return acc;
49
- }, []);
50
- };
51
12
  export {
52
- additionalElements,
53
- convertSelectPlacement,
54
- getLabel,
55
- getLabelByValue,
56
- getNextOption,
57
- getVisibleLabels,
58
- isKeyOfObject
13
+ getNextOption
59
14
  };
@@ -2,22 +2,27 @@ import { jsxs, jsx } from "@emotion/react/jsx-runtime";
2
2
  import { memo } from "react";
3
3
  import { CheckOutlined } from "@infomaximum/icons";
4
4
  import { getSelectOptionStyle } from "./SelectOption.styles.js";
5
+ import { useBaseSelectContext } from "../../../BaseSelect/contexts/BaseSelectContext.js";
5
6
  import { useTheme } from "../../../../hooks/useTheme/useTheme.js";
6
7
  const SelectOption = memo(({
7
8
  title,
8
9
  value,
9
- selected = false,
10
10
  disabled = false,
11
11
  icon,
12
- index,
13
- isSelecting,
14
- mode,
15
- setValue,
16
- closeOptionList,
17
- returnFocusToWrapper,
18
- removeValue
12
+ styles
19
13
  }) => {
14
+ var _a, _b, _c, _d;
20
15
  const theme = useTheme();
16
+ const {
17
+ mode,
18
+ setValue,
19
+ closeOptionList,
20
+ removeValue,
21
+ currentValue,
22
+ getCurrentSelectingValue
23
+ } = useBaseSelectContext();
24
+ const isSelecting = getCurrentSelectingValue() === value;
25
+ const selected = currentValue.includes(value);
21
26
  const selectOptionStyle = getSelectOptionStyle(selected, disabled, isSelecting);
22
27
  const clickHandle = () => {
23
28
  if (disabled) {
@@ -27,27 +32,19 @@ const SelectOption = memo(({
27
32
  if (selected) {
28
33
  removeValue(value);
29
34
  } else {
30
- setValue(value, index);
35
+ setValue(value);
31
36
  }
32
- returnFocusToWrapper();
33
37
  return;
34
38
  }
35
- setValue(value, index);
39
+ setValue(value);
36
40
  closeOptionList();
37
- returnFocusToWrapper();
38
41
  };
39
- const keyDownHandler = (e) => {
40
- e.stopPropagation();
41
- if (e.key === "Enter") {
42
- clickHandle();
43
- }
44
- };
45
- return /* @__PURE__ */ jsxs("div", { css: selectOptionStyle.wrapper(theme), onClick: clickHandle, onKeyDown: keyDownHandler, title, children: [
46
- /* @__PURE__ */ jsxs("span", { css: selectOptionStyle.content(theme), children: [
47
- icon && /* @__PURE__ */ jsx("span", { css: selectOptionStyle.icon(theme), children: icon }),
48
- /* @__PURE__ */ jsx("span", { css: selectOptionStyle.text, children: title })
42
+ return /* @__PURE__ */ jsxs("div", { css: [selectOptionStyle.wrapper(theme), (_a = styles == null ? void 0 : styles.wrapper) == null ? void 0 : _a.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectOption;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUNRIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEZDLCBtZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdE9wdGlvblByb3BzIH0gZnJvbSBcIi4vU2VsZWN0T3B0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBDaGVja091dGxpbmVkIH0gZnJvbSBcIkBpbmZvbWF4aW11bS9pY29uc1wiO1xuaW1wb3J0IHsgZ2V0U2VsZWN0T3B0aW9uU3R5bGUgfSBmcm9tIFwiLi9TZWxlY3RPcHRpb24uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gXCJob29rcy91c2VUaGVtZVwiO1xuaW1wb3J0IHsgdXNlQmFzZVNlbGVjdENvbnRleHQgfSBmcm9tIFwiY29tcG9uZW50cy9CYXNlU2VsZWN0L2NvbnRleHRzL0Jhc2VTZWxlY3RDb250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdE9wdGlvblZhbHVlIH0gZnJvbSBcImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0T3B0aW9uOiBGQzxTZWxlY3RPcHRpb25Qcm9wcz4gPSBtZW1vKFxuICAoeyB0aXRsZSwgdmFsdWUsIGRpc2FibGVkID0gZmFsc2UsIGljb24sIHN0eWxlcyB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgeyBtb2RlLCBzZXRWYWx1ZSwgY2xvc2VPcHRpb25MaXN0LCByZW1vdmVWYWx1ZSwgY3VycmVudFZhbHVlLCBnZXRDdXJyZW50U2VsZWN0aW5nVmFsdWUgfSA9XG4gICAgICB1c2VCYXNlU2VsZWN0Q29udGV4dDxTZWxlY3RPcHRpb25WYWx1ZT4oKTtcblxuICAgIGNvbnN0IGlzU2VsZWN0aW5nID0gZ2V0Q3VycmVudFNlbGVjdGluZ1ZhbHVlKCkgPT09IHZhbHVlO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gY3VycmVudFZhbHVlLmluY2x1ZGVzKHZhbHVlKTtcblxuICAgIGNvbnN0IHNlbGVjdE9wdGlvblN0eWxlID0gZ2V0U2VsZWN0T3B0aW9uU3R5bGUoc2VsZWN0ZWQsIGRpc2FibGVkLCBpc1NlbGVjdGluZyk7XG5cbiAgICBjb25zdCBjbGlja0hhbmRsZSA9ICgpID0+IHtcbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlID09PSBcIm11bHRpcGxlXCIpIHtcbiAgICAgICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICAgICAgcmVtb3ZlVmFsdWUodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc2V0VmFsdWUodmFsdWUpO1xuICAgICAgY2xvc2VPcHRpb25MaXN0KCk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLndyYXBwZXIodGhlbWUpLCBzdHlsZXM/LndyYXBwZXI/Lih0aGVtZSldfVxuICAgICAgICBvbkNsaWNrPXtjbGlja0hhbmRsZX1cbiAgICAgICAgdGl0bGU9e3RpdGxlPy50b1N0cmluZygpfVxuICAgICAgPlxuICAgICAgICA8c3BhbiBjc3M9e1tzZWxlY3RPcHRpb25TdHlsZS5jb250ZW50KHRoZW1lKSwgc3R5bGVzPy5jb250ZW50Py4odGhlbWUpXX0+XG4gICAgICAgICAge2ljb24gJiYgPHNwYW4gY3NzPXtbc2VsZWN0T3B0aW9uU3R5bGUuaWNvbih0aGVtZSksIHN0eWxlcz8uaWNvbj8uKHRoZW1lKV19PntpY29ufTwvc3Bhbj59XG4gICAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0T3B0aW9uU3R5bGUudGV4dCwgc3R5bGVzPy50ZXh0XX0+e3RpdGxlfTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIHtzZWxlY3RlZCAmJiAoXG4gICAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0T3B0aW9uU3R5bGUuaWNvbih0aGVtZSksIHN0eWxlcz8uaWNvbj8uKHRoZW1lKV19PlxuICAgICAgICAgICAgPENoZWNrT3V0bGluZWQgLz5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4pO1xuIl19 */"], onClick: clickHandle, title: title == null ? void 0 : title.toString(), children: [
43
+ /* @__PURE__ */ jsxs("span", { css: [selectOptionStyle.content(theme), (_b = styles == null ? void 0 : styles.content) == null ? void 0 : _b.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectOption;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBNkNjIiwiZmlsZSI6Ii9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50c3giLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEZDLCBtZW1vIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdE9wdGlvblByb3BzIH0gZnJvbSBcIi4vU2VsZWN0T3B0aW9uLnR5cGVzXCI7XG5pbXBvcnQgeyBDaGVja091dGxpbmVkIH0gZnJvbSBcIkBpbmZvbWF4aW11bS9pY29uc1wiO1xuaW1wb3J0IHsgZ2V0U2VsZWN0T3B0aW9uU3R5bGUgfSBmcm9tIFwiLi9TZWxlY3RPcHRpb24uc3R5bGVzXCI7XG5pbXBvcnQgeyB1c2VUaGVtZSB9IGZyb20gXCJob29rcy91c2VUaGVtZVwiO1xuaW1wb3J0IHsgdXNlQmFzZVNlbGVjdENvbnRleHQgfSBmcm9tIFwiY29tcG9uZW50cy9CYXNlU2VsZWN0L2NvbnRleHRzL0Jhc2VTZWxlY3RDb250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdE9wdGlvblZhbHVlIH0gZnJvbSBcImNvbXBvbmVudHMvU2VsZWN0L1NlbGVjdC50eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgU2VsZWN0T3B0aW9uOiBGQzxTZWxlY3RPcHRpb25Qcm9wcz4gPSBtZW1vKFxuICAoeyB0aXRsZSwgdmFsdWUsIGRpc2FibGVkID0gZmFsc2UsIGljb24sIHN0eWxlcyB9KSA9PiB7XG4gICAgY29uc3QgdGhlbWUgPSB1c2VUaGVtZSgpO1xuXG4gICAgY29uc3QgeyBtb2RlLCBzZXRWYWx1ZSwgY2xvc2VPcHRpb25MaXN0LCByZW1vdmVWYWx1ZSwgY3VycmVudFZhbHVlLCBnZXRDdXJyZW50U2VsZWN0aW5nVmFsdWUgfSA9XG4gICAgICB1c2VCYXNlU2VsZWN0Q29udGV4dDxTZWxlY3RPcHRpb25WYWx1ZT4oKTtcblxuICAgIGNvbnN0IGlzU2VsZWN0aW5nID0gZ2V0Q3VycmVudFNlbGVjdGluZ1ZhbHVlKCkgPT09IHZhbHVlO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gY3VycmVudFZhbHVlLmluY2x1ZGVzKHZhbHVlKTtcblxuICAgIGNvbnN0IHNlbGVjdE9wdGlvblN0eWxlID0gZ2V0U2VsZWN0T3B0aW9uU3R5bGUoc2VsZWN0ZWQsIGRpc2FibGVkLCBpc1NlbGVjdGluZyk7XG5cbiAgICBjb25zdCBjbGlja0hhbmRsZSA9ICgpID0+IHtcbiAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmIChtb2RlID09PSBcIm11bHRpcGxlXCIpIHtcbiAgICAgICAgaWYgKHNlbGVjdGVkKSB7XG4gICAgICAgICAgcmVtb3ZlVmFsdWUodmFsdWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgc2V0VmFsdWUodmFsdWUpO1xuICAgICAgY2xvc2VPcHRpb25MaXN0KCk7XG4gICAgfTtcblxuICAgIHJldHVybiAoXG4gICAgICA8ZGl2XG4gICAgICAgIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLndyYXBwZXIodGhlbWUpLCBzdHlsZXM/LndyYXBwZXI/Lih0aGVtZSldfVxuICAgICAgICBvbkNsaWNrPXtjbGlja0hhbmRsZX1cbiAgICAgICAgdGl0bGU9e3RpdGxlPy50b1N0cmluZygpfVxuICAgICAgPlxuICAgICAgICA8c3BhbiBjc3M9e1tzZWxlY3RPcHRpb25TdHlsZS5jb250ZW50KHRoZW1lKSwgc3R5bGVzPy5jb250ZW50Py4odGhlbWUpXX0+XG4gICAgICAgICAge2ljb24gJiYgPHNwYW4gY3NzPXtbc2VsZWN0T3B0aW9uU3R5bGUuaWNvbih0aGVtZSksIHN0eWxlcz8uaWNvbj8uKHRoZW1lKV19PntpY29ufTwvc3Bhbj59XG4gICAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0T3B0aW9uU3R5bGUudGV4dCwgc3R5bGVzPy50ZXh0XX0+e3RpdGxlfTwvc3Bhbj5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIHtzZWxlY3RlZCAmJiAoXG4gICAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0T3B0aW9uU3R5bGUuaWNvbih0aGVtZSksIHN0eWxlcz8uaWNvbj8uKHRoZW1lKV19PlxuICAgICAgICAgICAgPENoZWNrT3V0bGluZWQgLz5cbiAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG4pO1xuIl19 */"], children: [
44
+ icon && /* @__PURE__ */ jsx("span", { css: [selectOptionStyle.icon(theme), (_c = styles == null ? void 0 : styles.icon) == null ? void 0 : _c.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectOption;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBOEN5QiIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1NlbGVjdC9jb21wb25lbnRzL1NlbGVjdE9wdGlvbi9TZWxlY3RPcHRpb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBGQywgbWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RPcHRpb25Qcm9wcyB9IGZyb20gXCIuL1NlbGVjdE9wdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgQ2hlY2tPdXRsaW5lZCB9IGZyb20gXCJAaW5mb21heGltdW0vaWNvbnNcIjtcbmltcG9ydCB7IGdldFNlbGVjdE9wdGlvblN0eWxlIH0gZnJvbSBcIi4vU2VsZWN0T3B0aW9uLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IHVzZUJhc2VTZWxlY3RDb250ZXh0IH0gZnJvbSBcImNvbXBvbmVudHMvQmFzZVNlbGVjdC9jb250ZXh0cy9CYXNlU2VsZWN0Q29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RPcHRpb25WYWx1ZSB9IGZyb20gXCJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFNlbGVjdE9wdGlvbjogRkM8U2VsZWN0T3B0aW9uUHJvcHM+ID0gbWVtbyhcbiAgKHsgdGl0bGUsIHZhbHVlLCBkaXNhYmxlZCA9IGZhbHNlLCBpY29uLCBzdHlsZXMgfSkgPT4ge1xuICAgIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICAgIGNvbnN0IHsgbW9kZSwgc2V0VmFsdWUsIGNsb3NlT3B0aW9uTGlzdCwgcmVtb3ZlVmFsdWUsIGN1cnJlbnRWYWx1ZSwgZ2V0Q3VycmVudFNlbGVjdGluZ1ZhbHVlIH0gPVxuICAgICAgdXNlQmFzZVNlbGVjdENvbnRleHQ8U2VsZWN0T3B0aW9uVmFsdWU+KCk7XG5cbiAgICBjb25zdCBpc1NlbGVjdGluZyA9IGdldEN1cnJlbnRTZWxlY3RpbmdWYWx1ZSgpID09PSB2YWx1ZTtcbiAgICBjb25zdCBzZWxlY3RlZCA9IGN1cnJlbnRWYWx1ZS5pbmNsdWRlcyh2YWx1ZSk7XG5cbiAgICBjb25zdCBzZWxlY3RPcHRpb25TdHlsZSA9IGdldFNlbGVjdE9wdGlvblN0eWxlKHNlbGVjdGVkLCBkaXNhYmxlZCwgaXNTZWxlY3RpbmcpO1xuXG4gICAgY29uc3QgY2xpY2tIYW5kbGUgPSAoKSA9PiB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobW9kZSA9PT0gXCJtdWx0aXBsZVwiKSB7XG4gICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgIHJlbW92ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldFZhbHVlKHZhbHVlKTtcbiAgICAgIGNsb3NlT3B0aW9uTGlzdCgpO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e1tzZWxlY3RPcHRpb25TdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgb25DbGljaz17Y2xpY2tIYW5kbGV9XG4gICAgICAgIHRpdGxlPXt0aXRsZT8udG9TdHJpbmcoKX1cbiAgICAgID5cbiAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0T3B0aW9uU3R5bGUuY29udGVudCh0aGVtZSksIHN0eWxlcz8uY29udGVudD8uKHRoZW1lKV19PlxuICAgICAgICAgIHtpY29uICYmIDxzcGFuIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLmljb24odGhlbWUpLCBzdHlsZXM/Lmljb24/Lih0aGVtZSldfT57aWNvbn08L3NwYW4+fVxuICAgICAgICAgIDxzcGFuIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLnRleHQsIHN0eWxlcz8udGV4dF19Pnt0aXRsZX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICB7c2VsZWN0ZWQgJiYgKFxuICAgICAgICAgIDxzcGFuIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLmljb24odGhlbWUpLCBzdHlsZXM/Lmljb24/Lih0aGVtZSldfT5cbiAgICAgICAgICAgIDxDaGVja091dGxpbmVkIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */"], children: icon }),
45
+ /* @__PURE__ */ jsx("span", { css: [selectOptionStyle.text, styles == null ? void 0 : styles.text, process.env.NODE_ENV === "production" ? "" : ";label:SelectOption;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBK0NnQiIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1NlbGVjdC9jb21wb25lbnRzL1NlbGVjdE9wdGlvbi9TZWxlY3RPcHRpb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBGQywgbWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RPcHRpb25Qcm9wcyB9IGZyb20gXCIuL1NlbGVjdE9wdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgQ2hlY2tPdXRsaW5lZCB9IGZyb20gXCJAaW5mb21heGltdW0vaWNvbnNcIjtcbmltcG9ydCB7IGdldFNlbGVjdE9wdGlvblN0eWxlIH0gZnJvbSBcIi4vU2VsZWN0T3B0aW9uLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IHVzZUJhc2VTZWxlY3RDb250ZXh0IH0gZnJvbSBcImNvbXBvbmVudHMvQmFzZVNlbGVjdC9jb250ZXh0cy9CYXNlU2VsZWN0Q29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RPcHRpb25WYWx1ZSB9IGZyb20gXCJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFNlbGVjdE9wdGlvbjogRkM8U2VsZWN0T3B0aW9uUHJvcHM+ID0gbWVtbyhcbiAgKHsgdGl0bGUsIHZhbHVlLCBkaXNhYmxlZCA9IGZhbHNlLCBpY29uLCBzdHlsZXMgfSkgPT4ge1xuICAgIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICAgIGNvbnN0IHsgbW9kZSwgc2V0VmFsdWUsIGNsb3NlT3B0aW9uTGlzdCwgcmVtb3ZlVmFsdWUsIGN1cnJlbnRWYWx1ZSwgZ2V0Q3VycmVudFNlbGVjdGluZ1ZhbHVlIH0gPVxuICAgICAgdXNlQmFzZVNlbGVjdENvbnRleHQ8U2VsZWN0T3B0aW9uVmFsdWU+KCk7XG5cbiAgICBjb25zdCBpc1NlbGVjdGluZyA9IGdldEN1cnJlbnRTZWxlY3RpbmdWYWx1ZSgpID09PSB2YWx1ZTtcbiAgICBjb25zdCBzZWxlY3RlZCA9IGN1cnJlbnRWYWx1ZS5pbmNsdWRlcyh2YWx1ZSk7XG5cbiAgICBjb25zdCBzZWxlY3RPcHRpb25TdHlsZSA9IGdldFNlbGVjdE9wdGlvblN0eWxlKHNlbGVjdGVkLCBkaXNhYmxlZCwgaXNTZWxlY3RpbmcpO1xuXG4gICAgY29uc3QgY2xpY2tIYW5kbGUgPSAoKSA9PiB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobW9kZSA9PT0gXCJtdWx0aXBsZVwiKSB7XG4gICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgIHJlbW92ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldFZhbHVlKHZhbHVlKTtcbiAgICAgIGNsb3NlT3B0aW9uTGlzdCgpO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e1tzZWxlY3RPcHRpb25TdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgb25DbGljaz17Y2xpY2tIYW5kbGV9XG4gICAgICAgIHRpdGxlPXt0aXRsZT8udG9TdHJpbmcoKX1cbiAgICAgID5cbiAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0T3B0aW9uU3R5bGUuY29udGVudCh0aGVtZSksIHN0eWxlcz8uY29udGVudD8uKHRoZW1lKV19PlxuICAgICAgICAgIHtpY29uICYmIDxzcGFuIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLmljb24odGhlbWUpLCBzdHlsZXM/Lmljb24/Lih0aGVtZSldfT57aWNvbn08L3NwYW4+fVxuICAgICAgICAgIDxzcGFuIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLnRleHQsIHN0eWxlcz8udGV4dF19Pnt0aXRsZX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICB7c2VsZWN0ZWQgJiYgKFxuICAgICAgICAgIDxzcGFuIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLmljb24odGhlbWUpLCBzdHlsZXM/Lmljb24/Lih0aGVtZSldfT5cbiAgICAgICAgICAgIDxDaGVja091dGxpbmVkIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */"], children: title })
49
46
  ] }),
50
- selected && /* @__PURE__ */ jsx("span", { css: selectOptionStyle.icon(theme), children: /* @__PURE__ */ jsx(CheckOutlined, {}) })
47
+ selected && /* @__PURE__ */ jsx("span", { css: [selectOptionStyle.icon(theme), (_d = styles == null ? void 0 : styles.icon) == null ? void 0 : _d.call(styles, theme), process.env.NODE_ENV === "production" ? "" : ";label:SelectOption;", process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9idWlsZHMvZnJvbnRlbmQvbGlicy91aS1raXQvc3JjL2NvbXBvbmVudHMvU2VsZWN0L2NvbXBvbmVudHMvU2VsZWN0T3B0aW9uL1NlbGVjdE9wdGlvbi50c3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbURnQiIsImZpbGUiOiIvYnVpbGRzL2Zyb250ZW5kL2xpYnMvdWkta2l0L3NyYy9jb21wb25lbnRzL1NlbGVjdC9jb21wb25lbnRzL1NlbGVjdE9wdGlvbi9TZWxlY3RPcHRpb24udHN4Iiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBGQywgbWVtbyB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RPcHRpb25Qcm9wcyB9IGZyb20gXCIuL1NlbGVjdE9wdGlvbi50eXBlc1wiO1xuaW1wb3J0IHsgQ2hlY2tPdXRsaW5lZCB9IGZyb20gXCJAaW5mb21heGltdW0vaWNvbnNcIjtcbmltcG9ydCB7IGdldFNlbGVjdE9wdGlvblN0eWxlIH0gZnJvbSBcIi4vU2VsZWN0T3B0aW9uLnN0eWxlc1wiO1xuaW1wb3J0IHsgdXNlVGhlbWUgfSBmcm9tIFwiaG9va3MvdXNlVGhlbWVcIjtcbmltcG9ydCB7IHVzZUJhc2VTZWxlY3RDb250ZXh0IH0gZnJvbSBcImNvbXBvbmVudHMvQmFzZVNlbGVjdC9jb250ZXh0cy9CYXNlU2VsZWN0Q29udGV4dFwiO1xuaW1wb3J0IHR5cGUgeyBTZWxlY3RPcHRpb25WYWx1ZSB9IGZyb20gXCJjb21wb25lbnRzL1NlbGVjdC9TZWxlY3QudHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IFNlbGVjdE9wdGlvbjogRkM8U2VsZWN0T3B0aW9uUHJvcHM+ID0gbWVtbyhcbiAgKHsgdGl0bGUsIHZhbHVlLCBkaXNhYmxlZCA9IGZhbHNlLCBpY29uLCBzdHlsZXMgfSkgPT4ge1xuICAgIGNvbnN0IHRoZW1lID0gdXNlVGhlbWUoKTtcblxuICAgIGNvbnN0IHsgbW9kZSwgc2V0VmFsdWUsIGNsb3NlT3B0aW9uTGlzdCwgcmVtb3ZlVmFsdWUsIGN1cnJlbnRWYWx1ZSwgZ2V0Q3VycmVudFNlbGVjdGluZ1ZhbHVlIH0gPVxuICAgICAgdXNlQmFzZVNlbGVjdENvbnRleHQ8U2VsZWN0T3B0aW9uVmFsdWU+KCk7XG5cbiAgICBjb25zdCBpc1NlbGVjdGluZyA9IGdldEN1cnJlbnRTZWxlY3RpbmdWYWx1ZSgpID09PSB2YWx1ZTtcbiAgICBjb25zdCBzZWxlY3RlZCA9IGN1cnJlbnRWYWx1ZS5pbmNsdWRlcyh2YWx1ZSk7XG5cbiAgICBjb25zdCBzZWxlY3RPcHRpb25TdHlsZSA9IGdldFNlbGVjdE9wdGlvblN0eWxlKHNlbGVjdGVkLCBkaXNhYmxlZCwgaXNTZWxlY3RpbmcpO1xuXG4gICAgY29uc3QgY2xpY2tIYW5kbGUgPSAoKSA9PiB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAobW9kZSA9PT0gXCJtdWx0aXBsZVwiKSB7XG4gICAgICAgIGlmIChzZWxlY3RlZCkge1xuICAgICAgICAgIHJlbW92ZVZhbHVlKHZhbHVlKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzZXRWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIHNldFZhbHVlKHZhbHVlKTtcbiAgICAgIGNsb3NlT3B0aW9uTGlzdCgpO1xuICAgIH07XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdlxuICAgICAgICBjc3M9e1tzZWxlY3RPcHRpb25TdHlsZS53cmFwcGVyKHRoZW1lKSwgc3R5bGVzPy53cmFwcGVyPy4odGhlbWUpXX1cbiAgICAgICAgb25DbGljaz17Y2xpY2tIYW5kbGV9XG4gICAgICAgIHRpdGxlPXt0aXRsZT8udG9TdHJpbmcoKX1cbiAgICAgID5cbiAgICAgICAgPHNwYW4gY3NzPXtbc2VsZWN0T3B0aW9uU3R5bGUuY29udGVudCh0aGVtZSksIHN0eWxlcz8uY29udGVudD8uKHRoZW1lKV19PlxuICAgICAgICAgIHtpY29uICYmIDxzcGFuIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLmljb24odGhlbWUpLCBzdHlsZXM/Lmljb24/Lih0aGVtZSldfT57aWNvbn08L3NwYW4+fVxuICAgICAgICAgIDxzcGFuIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLnRleHQsIHN0eWxlcz8udGV4dF19Pnt0aXRsZX08L3NwYW4+XG4gICAgICAgIDwvc3Bhbj5cblxuICAgICAgICB7c2VsZWN0ZWQgJiYgKFxuICAgICAgICAgIDxzcGFuIGNzcz17W3NlbGVjdE9wdGlvblN0eWxlLmljb24odGhlbWUpLCBzdHlsZXM/Lmljb24/Lih0aGVtZSldfT5cbiAgICAgICAgICAgIDxDaGVja091dGxpbmVkIC8+XG4gICAgICAgICAgPC9zcGFuPlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgKTtcbiAgfVxuKTtcbiJdfQ== */"], children: /* @__PURE__ */ jsx(CheckOutlined, {}) })
51
48
  ] });
52
49
  });
53
50
  export {
@@ -1,4 +1,4 @@
1
- import { getSelectTokens } from "../../Select.tokens.js";
1
+ import { getSelectTokens } from "../../../BaseSelect/BaseSelect.tokens.js";
2
2
  const getColor = (selectTokens, selected, disabled) => {
3
3
  if (disabled) {
4
4
  return selectTokens.selectOptionTextDisabled;
@@ -1,22 +1,20 @@
1
- import { ModeType } from '../../Select.types';
2
- import { ReactNode } from 'react';
3
- export type SelectOptionValue = string | number;
4
- export interface SelectOptionInterface {
5
- value: SelectOptionValue;
6
- title: string;
7
- icon?: ReactNode;
8
- disabled?: boolean;
1
+ import { Interpolation } from '@emotion/react';
2
+ import { BaseSelectOptionInterface } from '../../../BaseSelect/BaseSelect.types';
3
+ import { SelectOptionValue } from '../../../Select/Select.types';
4
+ import { Theme } from 'themes';
5
+ export interface SelectOptionStyles {
6
+ wrapper?: (theme: Theme) => Interpolation;
7
+ content?: (theme: Theme) => Interpolation;
8
+ text?: Interpolation;
9
+ icon?: (theme: Theme) => Interpolation;
10
+ }
11
+ export interface SelectOptionInterface extends BaseSelectOptionInterface<SelectOptionValue> {
9
12
  className?: string;
10
13
  }
11
14
  export interface SelectOptionCallbacks {
12
15
  setValue(value: SelectOptionValue, index: number): void;
13
16
  closeOptionList(): void;
14
17
  }
15
- export interface SelectOptionProps extends SelectOptionInterface, SelectOptionCallbacks {
16
- selected: boolean;
17
- index: number;
18
- isSelecting: boolean;
19
- mode: ModeType;
20
- returnFocusToWrapper: () => void;
21
- removeValue: (removeValue: SelectOptionValue) => void;
18
+ export interface SelectOptionProps extends SelectOptionInterface {
19
+ styles?: SelectOptionStyles;
22
20
  }
@@ -1,7 +1,11 @@
1
1
  import { KeyboardEvent } from 'react';
2
- import { SelectOptionInterface, SelectOptionValue } from '../components/SelectOption/SelectOption.types';
3
- export declare const useKeyControl: (currentValue: SelectOptionValue[], options: SelectOptionInterface[], optionsMap: Map<SelectOptionValue, SelectOptionInterface>) => {
2
+ import { SelectOptionInterface } from '../components/SelectOption/SelectOption.types';
3
+ import { SelectOptionValue } from '../Select.types';
4
+ export declare const useKeyControl: (options: SelectOptionInterface[], onDropdownVisibleChange: (() => void) | undefined, onChange: ((value: SelectOptionValue[], option: SelectOptionInterface[]) => void) | undefined, onSearch: ((searchValue: string) => void) | undefined) => {
4
5
  currentSelectingIndex: number;
5
- setCurrentSelectingIndex: import('react').Dispatch<import('react').SetStateAction<number>>;
6
6
  onKeyControl: (e: KeyboardEvent) => void;
7
+ handleDropdownVisibleChange: () => void;
8
+ handleChange: (value: SelectOptionValue[], option: SelectOptionInterface[]) => void;
9
+ handleSearch: (searchValue: string) => void;
10
+ getCurrentSelectingValue: () => SelectOptionValue | null;
7
11
  };
@@ -1,15 +1,16 @@
1
- import { useState, useEffect, useCallback } from "react";
2
- import { useDefaultSelectIndex } from "./useDefaultSelectIndex.js";
3
- import { getNextOption } from "../Select.utils.js";
1
+ import { useState, useCallback } from "react";
4
2
  import { isNull } from "lodash-es";
5
- const useKeyControl = (currentValue, options, optionsMap) => {
6
- const defaultSelectedIndex = useDefaultSelectIndex(currentValue, options, optionsMap);
7
- const [currentSelectingIndex, setCurrentSelectingIndex] = useState(defaultSelectedIndex);
8
- useEffect(() => {
9
- if (currentSelectingIndex !== defaultSelectedIndex) {
10
- setCurrentSelectingIndex(defaultSelectedIndex);
3
+ import { getNextOption } from "../Select.utils.js";
4
+ const useKeyControl = (options, onDropdownVisibleChange, onChange, onSearch) => {
5
+ const [currentStartingPosition, setCurrentStartingPosition] = useState(0);
6
+ const [currentSelectingIndex, setCurrentSelectingIndex] = useState(0);
7
+ const [isKeyControl, setIsControl] = useState(false);
8
+ const getCurrentSelectingValue = useCallback(() => {
9
+ if (!isKeyControl) {
10
+ return null;
11
11
  }
12
- }, [currentSelectingIndex, defaultSelectedIndex, options]);
12
+ return options[currentSelectingIndex].value;
13
+ }, [currentSelectingIndex, isKeyControl, options]);
13
14
  const setNextIndex = useCallback((nextItemIndex) => {
14
15
  if (isNull(nextItemIndex)) {
15
16
  return;
@@ -18,18 +19,52 @@ const useKeyControl = (currentValue, options, optionsMap) => {
18
19
  }, []);
19
20
  const onKeyControl = useCallback((e) => {
20
21
  if (e.key === "ArrowDown") {
22
+ if (!isKeyControl) {
23
+ setIsControl(true);
24
+ return;
25
+ }
21
26
  const nextItemIndex = getNextOption(currentSelectingIndex, options);
22
27
  setNextIndex(nextItemIndex);
23
28
  }
24
29
  if (e.key === "ArrowUp") {
30
+ if (!isKeyControl) {
31
+ setIsControl(true);
32
+ return;
33
+ }
25
34
  const nextItemIndex = getNextOption(currentSelectingIndex, options, true);
26
35
  setNextIndex(nextItemIndex);
27
36
  }
28
- }, [currentSelectingIndex, options, setNextIndex]);
37
+ }, [currentSelectingIndex, isKeyControl, options, setNextIndex]);
38
+ const handleSearch = useCallback((searchValue) => {
39
+ onSearch == null ? void 0 : onSearch(searchValue);
40
+ setCurrentStartingPosition(0);
41
+ setCurrentSelectingIndex(0);
42
+ }, [onSearch]);
43
+ const handleDropdownVisibleChange = useCallback(() => {
44
+ onDropdownVisibleChange == null ? void 0 : onDropdownVisibleChange();
45
+ setIsControl(false);
46
+ setCurrentSelectingIndex(currentStartingPosition);
47
+ }, [currentStartingPosition, onDropdownVisibleChange, setCurrentSelectingIndex]);
48
+ const handleChange = useCallback((value, option) => {
49
+ onChange == null ? void 0 : onChange(value, option);
50
+ const lastValueElementIndex = value.length - 1;
51
+ if (lastValueElementIndex < 0) {
52
+ setCurrentStartingPosition(0);
53
+ return;
54
+ }
55
+ const lastValue = value[lastValueElementIndex];
56
+ const lastValueOptionIndex = options.findIndex((item) => item.value === lastValue);
57
+ const newStartingIndex = lastValueOptionIndex === -1 ? 0 : lastValueOptionIndex;
58
+ setCurrentStartingPosition(newStartingIndex);
59
+ setCurrentSelectingIndex(newStartingIndex);
60
+ }, [onChange, options]);
29
61
  return {
30
62
  currentSelectingIndex,
31
- setCurrentSelectingIndex,
32
- onKeyControl
63
+ onKeyControl,
64
+ handleDropdownVisibleChange,
65
+ handleChange,
66
+ handleSearch,
67
+ getCurrentSelectingValue
33
68
  };
34
69
  };
35
70
  export {
@@ -0,0 +1,3 @@
1
+ import { FC } from 'react';
2
+ import { TreeSelectProps } from './TreeSelect.types';
3
+ export declare const TreeSelect: FC<import('react').PropsWithChildren<TreeSelectProps>>;
@@ -0,0 +1,189 @@
1
+ import { jsx } from "@emotion/react/jsx-runtime";
2
+ import { createElement } from "@emotion/react";
3
+ import { memo, useState, useCallback, useMemo } from "react";
4
+ import { withThemeProvider } from "../../hocs/withThemeProvider.js";
5
+ import { BaseSelect } from "../BaseSelect/BaseSelect.js";
6
+ import { TreeSelectOption } from "./components/TreeSelectOption/TreeSelectOption.js";
7
+ import { getDefaultKeysByDefaultValues, filterItems } from "./TreeSelect.utils.js";
8
+ import { useNodeDataMap } from "./hooks/useTreeData.js";
9
+ import { treeSelectContext } from "./contexts/treeSelectContext.js";
10
+ import { isFunction, isNumber } from "lodash-es";
11
+ import { useElementSizesController, DEFAULT_ELEMENT_SIZE } from "./hooks/useElementSizesController.js";
12
+ import { DownOutlined } from "@infomaximum/icons";
13
+ import { useExtendController } from "./hooks/useExtendController.js";
14
+ import { useAsyncLoading } from "./hooks/useAsyncLoading.js";
15
+ import { useKeyControl } from "./hooks/useKeyControl.js";
16
+ import { useTreeCheckable } from "./hooks/useTreeCheckable.js";
17
+ import { LoadingOutlined } from "../../icons/icons/LoadingOutlined.js";
18
+ const TreeSelectComponent = memo(({
19
+ allowClear = false,
20
+ autoClearSearchValue = true,
21
+ autoFocus = false,
22
+ disabled = false,
23
+ dropdownMatchSelectWidth = true,
24
+ dropdownMaxHeight = 414,
25
+ dropdownMinWidth = 120,
26
+ getPopupContainer = () => document.body,
27
+ loading = false,
28
+ mode = "single",
29
+ placement = "bottomLeft",
30
+ showSearch = mode === "single" ? false : true,
31
+ suffixIcon = /* @__PURE__ */ jsx(DownOutlined, {}),
32
+ variant = "outlined",
33
+ virtual = true,
34
+ value,
35
+ open,
36
+ placeholder,
37
+ filterTreeNode = true,
38
+ treeNodeFilterProp = "value",
39
+ treeNodeLabelProp = "title",
40
+ treeCheckable = false,
41
+ showCheckedStrategy = "child",
42
+ treeData = [],
43
+ treeDefaultExpandAll = false,
44
+ treeDefaultExpandedKeys = [],
45
+ treeExpandedKeys,
46
+ treeLoadedKeys = [],
47
+ styles,
48
+ defaultValue,
49
+ onDropdownVisibleChange,
50
+ onChange,
51
+ onSearch,
52
+ onTreeExpand,
53
+ onExpandSwitcherClick,
54
+ loadData,
55
+ onDeselect,
56
+ ...otherProps
57
+ }) => {
58
+ const isAsyncLoading = isFunction(loadData);
59
+ const [AsyncTreeData, setAsyncTreeData] = useState(treeData);
60
+ const currentTreeData = isAsyncLoading ? AsyncTreeData : treeData;
61
+ const {
62
+ nodeDataMap,
63
+ treeNodeMap,
64
+ leafChildrenKeys,
65
+ allParentKeys
66
+ } = useNodeDataMap(currentTreeData);
67
+ const {
68
+ elementSizes,
69
+ changeElementSize
70
+ } = useElementSizesController(currentTreeData);
71
+ const {
72
+ loadingKeys,
73
+ loadChildrenNodes
74
+ } = useAsyncLoading(treeLoadedKeys, nodeDataMap, setAsyncTreeData, loadData);
75
+ const {
76
+ expandedKeys,
77
+ onSwitcherClick,
78
+ handleExpandSearch
79
+ } = useExtendController({
80
+ allParentKeys,
81
+ treeDefaultExpandAll,
82
+ treeDefaultExpandedKeys,
83
+ treeExpandedKeys,
84
+ treeNodeMap,
85
+ onTreeExpand,
86
+ onExpandSwitcherClick,
87
+ loadData,
88
+ loadChildrenNodes,
89
+ onSearch
90
+ });
91
+ const {
92
+ currentSelectingIndex,
93
+ onKeyControl,
94
+ handleChange,
95
+ handleSearch,
96
+ handleDropdownVisibleChange,
97
+ getCurrentSelectingKey
98
+ } = useKeyControl(treeData, expandedKeys, treeNodeMap, onDropdownVisibleChange, onChange, handleExpandSearch);
99
+ const {
100
+ checkedKeys,
101
+ onCheckableClick
102
+ } = useTreeCheckable(nodeDataMap, treeNodeMap, showCheckedStrategy, isAsyncLoading, onDeselect);
103
+ const defaultKeys = getDefaultKeysByDefaultValues(defaultValue, treeData);
104
+ const handleKeyControl = useCallback((e) => {
105
+ onKeyControl(e);
106
+ const key = getCurrentSelectingKey();
107
+ if (!key) {
108
+ return;
109
+ }
110
+ if (e.key === "ArrowRight") {
111
+ if (!expandedKeys.includes(key)) {
112
+ onSwitcherClick(key);
113
+ }
114
+ }
115
+ if (e.key === "ArrowLeft") {
116
+ if (expandedKeys.includes(key)) {
117
+ onSwitcherClick(key);
118
+ }
119
+ }
120
+ }, [expandedKeys, getCurrentSelectingKey, onKeyControl, onSwitcherClick]);
121
+ const handleTagClose = useCallback((nodeKey) => {
122
+ onCheckableClick(nodeKey);
123
+ }, [onCheckableClick]);
124
+ const handleInputKeyDown = useCallback((e) => {
125
+ if (e.key === "Enter") {
126
+ const key = getCurrentSelectingKey();
127
+ if (!key) {
128
+ return;
129
+ }
130
+ onCheckableClick(key);
131
+ }
132
+ }, [getCurrentSelectingKey, onCheckableClick]);
133
+ const getOptionByValue = useCallback((value2) => {
134
+ if (isNumber(value2)) {
135
+ return;
136
+ }
137
+ return treeNodeMap.get(value2);
138
+ }, [treeNodeMap]);
139
+ const renderDropdownItem = useCallback((option, index) => {
140
+ return /* @__PURE__ */ createElement(TreeSelectOption, { ...option, index, itemKey: option.key, styles: styles == null ? void 0 : styles.nodeStyles, key: option.key });
141
+ }, [styles == null ? void 0 : styles.nodeStyles]);
142
+ const filterOptions = useCallback((treeNode, filterValue) => {
143
+ if (!filterTreeNode) {
144
+ return [...treeNode];
145
+ }
146
+ return filterItems(treeNode, filterValue, treeNodeFilterProp);
147
+ }, [filterTreeNode, treeNodeFilterProp]);
148
+ const valuesFilter = useCallback((activeValues) => {
149
+ if (!treeCheckable || showCheckedStrategy === "all") {
150
+ return activeValues;
151
+ }
152
+ return activeValues.filter((value2) => {
153
+ if (isNumber(value2)) {
154
+ return false;
155
+ }
156
+ const nodeData = nodeDataMap.get(value2);
157
+ if (!nodeData) {
158
+ return false;
159
+ }
160
+ if (showCheckedStrategy === "parent") {
161
+ return !activeValues.includes(nodeData.parentKey);
162
+ }
163
+ return leafChildrenKeys.includes(value2);
164
+ });
165
+ }, [leafChildrenKeys, nodeDataMap, showCheckedStrategy, treeCheckable]);
166
+ const virtualizerEstimateSize = useCallback((index) => {
167
+ return elementSizes[index] ?? DEFAULT_ELEMENT_SIZE;
168
+ }, [elementSizes]);
169
+ const contextValue = useMemo(() => ({
170
+ nodeDataMap,
171
+ treeCheckable,
172
+ showCheckedStrategy,
173
+ expandedKeys,
174
+ isAsyncLoading,
175
+ loadingKeys,
176
+ onSwitcherClick,
177
+ changeElementSize,
178
+ getCurrentSelectingKey,
179
+ onCheckableClick
180
+ }), [nodeDataMap, treeCheckable, showCheckedStrategy, expandedKeys, isAsyncLoading, loadingKeys, onSwitcherClick, changeElementSize, getCurrentSelectingKey, onCheckableClick]);
181
+ const suffix = loading ? /* @__PURE__ */ jsx(LoadingOutlined, {}) : suffixIcon;
182
+ const isOpen = loading ? false : open;
183
+ const withSearch = loading ? false : showSearch;
184
+ return /* @__PURE__ */ jsx(treeSelectContext.Provider, { value: contextValue, children: /* @__PURE__ */ jsx(BaseSelect, { ...otherProps, renderDropdownItem, filterOptions, options: currentTreeData, valuesFilter, getOptionByValue, virtualizerEstimateSize, optionLabelProp: treeNodeLabelProp, allowClear, autoClearSearchValue, autoFocus, disabled, dropdownMatchSelectWidth, dropdownMaxHeight, dropdownMinWidth, getPopupContainer, loading, mode: treeCheckable ? "multiple" : mode, placement, showSearch: withSearch, suffixIcon: suffix, variant, virtual, placeholder: placeholder == null ? void 0 : placeholder.toString(), styles: styles == null ? void 0 : styles.baseSelectStyles, currentSelectingIndex, onKeyControl: handleKeyControl, onChange: handleChange, onSearch: handleSearch, onDropdownVisibleChange: handleDropdownVisibleChange, getCurrentSelectingValue: getCurrentSelectingKey, open: isOpen, onTagClose: treeCheckable ? handleTagClose : void 0, value: treeCheckable ? checkedKeys : value, onInputKeyDown: treeCheckable ? handleInputKeyDown : void 0, defaultValue: defaultKeys }) });
185
+ });
186
+ const TreeSelect = withThemeProvider(TreeSelectComponent);
187
+ export {
188
+ TreeSelect
189
+ };
@@ -0,0 +1,30 @@
1
+ import { Theme } from 'themes';
2
+ export declare const getTreeSelectTokens: (theme: Theme) => {
3
+ treeSelectBorder: "#D9D9D9";
4
+ treeSelectBorderHover: "#50CCC4";
5
+ treeSelectBorderActive: "#0CB3B3";
6
+ treeSelectBorderDanger: "#FF4D4F";
7
+ treeSelectBorderDangerHover: "#FF7875";
8
+ treeSelectBg: "#FFFFFF";
9
+ treeSelectBgDisabled: "#F0F0F0";
10
+ treeSelectPlaceholder: "#BFBFBF";
11
+ treeSelectText: "#262626";
12
+ treeSelectTextDisabled: "#8C8C8C";
13
+ treeSelectTextDanger: "#FF4D4F";
14
+ treeSelectMultipleItemBorder: "#D9D9D9";
15
+ treeSelectMultipleItemBg: "#F5F5F5";
16
+ treeSelectMultipleItemBgDisabled: "#D9D9D9";
17
+ treeSelectOptionText: "#262626";
18
+ treeSelectOptionTextSelected: "#0CB3B3";
19
+ treeSelectOptionTextDisabled: "#8C8C8C";
20
+ treeSelectOptionBgHover: "#F5F5F5";
21
+ treeSelectPaddingVertical: 4;
22
+ treeSelectPaddingHorizontal: 12;
23
+ treeSelectPaddingHorizontalTag: 4;
24
+ treeSelectOptionPaddingVertical: 4;
25
+ treeSelectOptionPaddingHorizontal: 8;
26
+ treeSelectSwitcherPadding: 8;
27
+ treeSelectNodeGap: 2;
28
+ treeSelectNodeIndent: number;
29
+ };
30
+ export type TreeSelectTokensType = ReturnType<typeof getTreeSelectTokens>;