@crab-dev/rc-select 0.0.5 → 0.1.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.
- package/CHANGELOG.md +57 -0
- package/cjs/_wake/src/select.cjs +45 -29
- package/cjs/_wake/src/selectInput.cjs +44 -60
- package/cjs/_wake/src/selectInput.styles.cjs +73 -0
- package/cjs/_wake/src/selectOverlay.cjs +44 -48
- package/cjs/_wake/src/selectOverlay.styles.cjs +68 -0
- package/cjs/_wake/src/token.cjs +2 -2
- package/css/index.css +5 -8
- package/declarations/_wake/src/select.d.ts +43 -3
- package/declarations/_wake/src/token.d.ts +2 -2
- package/declarations/_wake/src/types.d.ts +18 -20
- package/declarations/index.d.ts +1 -1
- package/esm/_wake/src/select.mjs +35 -19
- package/esm/_wake/src/selectInput.mjs +35 -51
- package/esm/_wake/src/selectInput.styles.mjs +21 -0
- package/esm/_wake/src/selectOverlay.mjs +29 -33
- package/esm/_wake/src/selectOverlay.styles.mjs +19 -0
- package/esm/_wake/src/token.mjs +2 -2
- package/package.json +30 -22
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,62 @@
|
|
|
1
1
|
# @crab-dev/rc-select
|
|
2
2
|
|
|
3
|
+
## 0.1.1
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#22](https://github.com/hotlif/crab-dev/pull/22) [`20064d5`](https://github.com/hotlif/crab-dev/commit/20064d52b3442bda7eef16ca9045d9746cb28fce) Thanks [@hotlif](https://github.com/hotlif)! - 精修三体系控件反馈:浮动标签、分段标记及文字位置连续过渡,分离开关各部件与滑块光晕的空间和颜色反馈,将零散时序集中到组件令牌。保留开关 root.transition 覆盖,减少动画时保留必要的焦点、选中与加载反馈。
|
|
8
|
+
|
|
9
|
+
- [#22](https://github.com/hotlif/crab-dev/pull/22) [`8f0ac0d`](https://github.com/hotlif/crab-dev/commit/8f0ac0dada263e35783626524c69509c64e39d96) Thanks [@hotlif](https://github.com/hotlif)! - Keep the popup indicator out of the page Tab sequence so keyboard users move directly between fields. Preserve the independent clear action's keyboard access.
|
|
10
|
+
- Updated dependencies [[`8f0ac0d`](https://github.com/hotlif/crab-dev/commit/8f0ac0dada263e35783626524c69509c64e39d96), [`ab93160`](https://github.com/hotlif/crab-dev/commit/ab93160f53925f875c66bfabf871766e9e919af3), [`8f0ac0d`](https://github.com/hotlif/crab-dev/commit/8f0ac0dada263e35783626524c69509c64e39d96), [`8f0ac0d`](https://github.com/hotlif/crab-dev/commit/8f0ac0dada263e35783626524c69509c64e39d96), [`cb1361d`](https://github.com/hotlif/crab-dev/commit/cb1361d1e5fec7f6f73a10b48883d698aad729bd), [`8f0ac0d`](https://github.com/hotlif/crab-dev/commit/8f0ac0dada263e35783626524c69509c64e39d96), [`20064d5`](https://github.com/hotlif/crab-dev/commit/20064d52b3442bda7eef16ca9045d9746cb28fce), [`8f0ac0d`](https://github.com/hotlif/crab-dev/commit/8f0ac0dada263e35783626524c69509c64e39d96), [`8f0ac0d`](https://github.com/hotlif/crab-dev/commit/8f0ac0dada263e35783626524c69509c64e39d96)]:
|
|
11
|
+
- @crab-dev/rc-token-semantic@1.0.1
|
|
12
|
+
- @crab-dev/rc-dropdown-container@0.1.1
|
|
13
|
+
- @crab-dev/rc-config-provider@0.1.1
|
|
14
|
+
- @crab-dev/rc-line-edit@0.1.1
|
|
15
|
+
- @crab-dev/rc-hooks@0.1.1
|
|
16
|
+
- @crab-dev/rc-button@1.0.1
|
|
17
|
+
- @crab-dev/rc-spin@0.1.1
|
|
18
|
+
|
|
19
|
+
## 0.1.0
|
|
20
|
+
|
|
21
|
+
### Minor Changes
|
|
22
|
+
|
|
23
|
+
- [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903) Thanks [@hotlif](https://github.com/hotlif)! - Rebuild the component library around a single package inventory, independent architecture and usage classifications, and three design systems: MD3 Expressive (md3), Apple (apple), and shadcn/ui (shadcn).
|
|
24
|
+
|
|
25
|
+
This is a breaking pre-1.0 migration: unify controlled/uncontrolled values, selection callbacks, component APIs, sizes, and density contracts; replace legacy theme identifiers and remove old API aliases. Only stored browser appearance preferences are migrated automatically.
|
|
26
|
+
|
|
27
|
+
Declare required React/ReactDOM ^19.2.0 peers through runtime dependency chains while retaining development dependencies. Correct runtime token dependencies, public/internal exports, strict declaration consumption, and independent offline PnP package verification.
|
|
28
|
+
|
|
29
|
+
Correct RTL layout and overlay placement, field validation placement, embedded editor composition and focus, native virtual-scroll synchronization, and composed button feedback. Define independent multiline field geometry and preserve all eight configuration axes across controlled previews and PDF Web Components. Built-in error messages follow locale without replacing application-owned error data.
|
|
30
|
+
|
|
31
|
+
Restore compiled focus and disabled styles by using valid CSS template comments, keep Tree focus indicators inside measured containers and above selected row backgrounds, accommodate localized color-channel labels, preserve physical Table column geometry with RTL content, and accept PDF byte sources from iframe realms without treating them as URLs. Respect reduced motion in the property-driven Canvas animation example and let the pill Tabs example inherit the configured size.
|
|
32
|
+
|
|
33
|
+
Follow .website/docs/guides/migration.mdx before upgrading. All affected packages remain experimental; minor bumps represent the coordinated pre-1.0 breaking release and do not declare a stable 1.0 contract.
|
|
34
|
+
|
|
35
|
+
### Patch Changes
|
|
36
|
+
|
|
37
|
+
- [`ec1f759`](https://github.com/hotlif/crab-dev/commit/ec1f759d51a83a456b4eb7f608f2e4908d4d46da) Thanks [@hotlif](https://github.com/hotlif)! - 补齐选择、导航和浮层的三体系规格、公开示例与包内 Playwright 状态矩阵,覆盖真实键盘、Portal 配置与草稿保留。颜色面板的轨道、宽度与操作间距归入组件令牌,窄屏操作区支持换行,强制颜色下保留清晰的触发器焦点边界。
|
|
38
|
+
|
|
39
|
+
恢复颜色选择器公开的 showEyeDropper 屏幕取色入口,按所属浏览器能力显示,取消或拒绝不改值,卸载中止原生取色会话。
|
|
40
|
+
|
|
41
|
+
补充水平与折叠菜单真实展开、Dialog 确认/取消 pending 动态场景,以及 Drawer 包公开的 iframe/Shadow DOM 组合示例;分别记录共享底层回归与真实浏览器验收范围,保留未运行、未复审部分。
|
|
42
|
+
|
|
43
|
+
- [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903) Thanks [@hotlif](https://github.com/hotlif)! - Restore focus after an accepted keyboard tab close, position Select popups outside their own supporting text, preserve design-specific disabled placeholders, and keep menu focus and color trigger feedback visible. Fix the appointment dialog example to retain Form's grid layout.
|
|
44
|
+
|
|
45
|
+
Register dropdown Escape layers when delayed Portal elements actually mount, and preserve explicit close reasons and native events through consumer dispatch.
|
|
46
|
+
|
|
47
|
+
Use the date placeholder for the appointment form's empty state instead of presenting a fake selected value.
|
|
48
|
+
- Updated dependencies [[`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`ec1f759`](https://github.com/hotlif/crab-dev/commit/ec1f759d51a83a456b4eb7f608f2e4908d4d46da), [`ec1f759`](https://github.com/hotlif/crab-dev/commit/ec1f759d51a83a456b4eb7f608f2e4908d4d46da), [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`ec1f759`](https://github.com/hotlif/crab-dev/commit/ec1f759d51a83a456b4eb7f608f2e4908d4d46da), [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`ec1f759`](https://github.com/hotlif/crab-dev/commit/ec1f759d51a83a456b4eb7f608f2e4908d4d46da), [`ec1f759`](https://github.com/hotlif/crab-dev/commit/ec1f759d51a83a456b4eb7f608f2e4908d4d46da), [`ec1f759`](https://github.com/hotlif/crab-dev/commit/ec1f759d51a83a456b4eb7f608f2e4908d4d46da), [`ec1f759`](https://github.com/hotlif/crab-dev/commit/ec1f759d51a83a456b4eb7f608f2e4908d4d46da), [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`d11001f`](https://github.com/hotlif/crab-dev/commit/d11001fa35d4af4f53d0571c074de4b3e9806903), [`ec1f759`](https://github.com/hotlif/crab-dev/commit/ec1f759d51a83a456b4eb7f608f2e4908d4d46da)]:
|
|
49
|
+
- @crab-dev/rc-dropdown-container@0.1.0
|
|
50
|
+
- @crab-dev/rc-hooks@0.1.0
|
|
51
|
+
- @crab-dev/rc-tag@0.1.0
|
|
52
|
+
- @crab-dev/rc-button@1.0.0
|
|
53
|
+
- @crab-dev/rc-checkbox@0.1.0
|
|
54
|
+
- @crab-dev/rc-config-provider@0.1.0
|
|
55
|
+
- @crab-dev/rc-line-edit@0.1.0
|
|
56
|
+
- @crab-dev/rc-spin@0.1.0
|
|
57
|
+
- @crab-dev/rc-token-semantic@1.0.0
|
|
58
|
+
- @crab-dev/rc-virtual@0.2.0
|
|
59
|
+
|
|
3
60
|
## 0.0.5
|
|
4
61
|
|
|
5
62
|
### Patch Changes
|
package/cjs/_wake/src/select.cjs
CHANGED
|
@@ -2,11 +2,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
2
2
|
const __wake_namespace_0 = require("react/jsx-runtime");
|
|
3
3
|
const __wake_namespace_1 = require("@crab-dev/rc-config-provider");
|
|
4
4
|
const __wake_namespace_2 = require("@crab-dev/rc-dropdown-container");
|
|
5
|
-
const __wake_namespace_3 = require("
|
|
6
|
-
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
const
|
|
5
|
+
const __wake_namespace_3 = require("@crab-dev/rc-dropdown-container/internal");
|
|
6
|
+
require("@crab-dev/rc-token-semantic");
|
|
7
|
+
const __wake_namespace_4 = require("react");
|
|
8
|
+
;
|
|
9
|
+
const __wake_namespace_5 = require("@crab-dev/rc-hooks");
|
|
10
|
+
const __wake_namespace_6 = require("./hooks/useKeyboardNavigation.cjs");
|
|
11
|
+
const __wake_namespace_7 = require("./selectInput.cjs");
|
|
12
|
+
const __wake_namespace_8 = require("./selectOverlay.cjs");
|
|
10
13
|
require("./token.cjs");
|
|
11
14
|
;
|
|
12
15
|
const isGroup = (item) => "options" in item && Array.isArray(item.options);
|
|
@@ -61,26 +64,30 @@ const filterOptions = (flatOptions, searchable, searchText) => {
|
|
|
61
64
|
const firstEnabledIndex = (flatOptions) => flatOptions.findIndex((opt) => !opt.disabled && !opt.isGroupLabel);
|
|
62
65
|
const fieldStyle = "rc-select-0f3ecf945b98";
|
|
63
66
|
const supportingStyle = "rc-select-3bd2a27273ad";
|
|
64
|
-
|
|
67
|
+
function SelectField({ children }) {
|
|
68
|
+
const setPositionReference = (0, __wake_namespace_3["useDropdownPositionReference"])();
|
|
69
|
+
return (0, __wake_namespace_0["jsx"])("div", { className: fieldStyle, ref: setPositionReference, children: children });
|
|
70
|
+
}
|
|
71
|
+
function Select({ ref, id, options, placeholder, disabled = false, searchable = false, multiple = false, size: sizeProp, status, appearance = "outlined", label, supportingText, errorText, required, allowClear = false, loading = false, maxTagCount, autoFocus = false, notFoundContent, popupClassName, popupMatchSelectWidth = true, optionRender, tagRender, dropdownRender, value, defaultValue, onValueChange, open, defaultOpen, onOpenChange, onFocus, onBlur, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...restProps }) {
|
|
65
72
|
const size = (0, __wake_namespace_1["useComponentSize"])(sizeProp);
|
|
66
|
-
const
|
|
67
|
-
const
|
|
73
|
+
const { messages } = (0, __wake_namespace_1["useLocale"])();
|
|
74
|
+
const listboxId = (0, __wake_namespace_4["useId"])();
|
|
75
|
+
const generatedId = (0, __wake_namespace_4["useId"])();
|
|
68
76
|
const inputId = id ?? generatedId;
|
|
69
77
|
const labelId = `${generatedId}-label`;
|
|
70
78
|
const descriptionId = `${generatedId}-description`;
|
|
71
79
|
const fieldStatus = errorText ? "error" : status;
|
|
72
80
|
const description = errorText || supportingText;
|
|
73
|
-
const [searchText, setSearchText] = (0,
|
|
74
|
-
const [selectedValues, setSelectedValues] = (0,
|
|
75
|
-
const [triggerWidth, setTriggerWidth] = (0,
|
|
76
|
-
const
|
|
77
|
-
onOpenChangeRef.current = onOpenChange;
|
|
81
|
+
const [searchText, setSearchText] = (0, __wake_namespace_4["useState"])("");
|
|
82
|
+
const [selectedValues, setSelectedValues] = (0, __wake_namespace_5["useControllableValue"])({ value: value !== undefined ? asArray(value) : undefined, defaultValue: asArray(defaultValue) });
|
|
83
|
+
const [triggerWidth, setTriggerWidth] = (0, __wake_namespace_4["useState"])(0);
|
|
84
|
+
const controlRef = (0, __wake_namespace_4["useRef"])(null);
|
|
78
85
|
const allPlainOptions = flattenPlainOptions(options);
|
|
79
86
|
const selectedOptions = allPlainOptions.filter((opt) => selectedValues.includes(opt.value));
|
|
80
87
|
const flatOptions = flattenOptions(options);
|
|
81
88
|
const filteredOptions = filterOptions(flatOptions, searchable, searchText);
|
|
82
|
-
const { highlightIndex, highlightedOption, moveHighlight, resetHighlight, setHighlightIndex } = (0,
|
|
83
|
-
const
|
|
89
|
+
const { highlightIndex, highlightedOption, moveHighlight, resetHighlight, setHighlightIndex } = (0, __wake_namespace_6 && __wake_namespace_6.__esModule ? __wake_namespace_6.default : __wake_namespace_6)({ filteredOptions, open: true });
|
|
90
|
+
const syncOpenState = (nextOpen) => {
|
|
84
91
|
if (nextOpen) {
|
|
85
92
|
if (!multiple && selectedValues.length > 0) {
|
|
86
93
|
const selectedIndex = filteredOptions.findIndex((opt) => opt.value === selectedValues[0]);
|
|
@@ -90,49 +97,58 @@ const Select = ({ ref, id, options, placeholder = "请选择", disabled = false,
|
|
|
90
97
|
setSearchText("");
|
|
91
98
|
resetHighlight();
|
|
92
99
|
}
|
|
93
|
-
onOpenChangeRef.current?.(nextOpen);
|
|
94
100
|
};
|
|
95
|
-
const
|
|
101
|
+
const emitOpenChange = (nextOpen, details) => {
|
|
102
|
+
onOpenChange?.(nextOpen, details);
|
|
103
|
+
};
|
|
104
|
+
const openProps = open === undefined ? { defaultOpen } : { open };
|
|
105
|
+
const updateValue = (nextValues, reason, event) => {
|
|
106
|
+
if (disabled) return;
|
|
107
|
+
if (nextValues.length === selectedValues.length && nextValues.every((item, index) => item === selectedValues[index])) return;
|
|
96
108
|
setSelectedValues(nextValues);
|
|
97
109
|
if (multiple) {
|
|
98
110
|
const nextOptions = allPlainOptions.filter((opt) => nextValues.includes(opt.value));
|
|
99
|
-
|
|
111
|
+
onValueChange?.(nextValues, { reason, options: nextOptions, event });
|
|
100
112
|
return;
|
|
101
113
|
}
|
|
102
114
|
const nextValue = nextValues[0] ?? null;
|
|
103
115
|
const nextOption = allPlainOptions.find((opt) => opt.value === nextValue);
|
|
104
|
-
|
|
116
|
+
onValueChange?.(nextValue, { reason, option: nextOption, options: nextOption ? [nextOption] : [], event });
|
|
105
117
|
};
|
|
106
|
-
const handleOptionSelect = (option) => {
|
|
107
|
-
if (option.disabled || option.isGroupLabel) {
|
|
118
|
+
const handleOptionSelect = (option, event) => {
|
|
119
|
+
if (disabled || option.disabled || option.isGroupLabel) {
|
|
108
120
|
return;
|
|
109
121
|
}
|
|
110
122
|
if (multiple) {
|
|
111
123
|
const exists = selectedValues.includes(option.value);
|
|
112
124
|
const nextValues = exists ? selectedValues.filter((v) => v !== option.value) : [...selectedValues, option.value];
|
|
113
|
-
updateValue(nextValues);
|
|
125
|
+
updateValue(nextValues, exists ? "deselect" : "select", event);
|
|
114
126
|
return;
|
|
115
127
|
}
|
|
116
|
-
|
|
128
|
+
controlRef.current?.focus();
|
|
129
|
+
updateValue([option.value], "select", event);
|
|
117
130
|
};
|
|
118
|
-
const handleClear = () => {
|
|
119
|
-
|
|
131
|
+
const handleClear = (event) => {
|
|
132
|
+
if (disabled) return;
|
|
133
|
+
updateValue([], "clear", event);
|
|
120
134
|
setSearchText("");
|
|
121
135
|
};
|
|
122
|
-
const handleRemoveTag = (val) => {
|
|
123
|
-
updateValue(selectedValues.filter((v) => v !== val));
|
|
136
|
+
const handleRemoveTag = (val, event) => {
|
|
137
|
+
updateValue(selectedValues.filter((v) => v !== val), "remove", event);
|
|
124
138
|
};
|
|
125
139
|
const handleTriggerWidthChange = (width) => {
|
|
126
140
|
setTriggerWidth(width);
|
|
127
141
|
};
|
|
128
142
|
const handleSearchTextChange = (text) => {
|
|
143
|
+
if (disabled) return;
|
|
129
144
|
setSearchText(text);
|
|
130
145
|
const nextFiltered = filterOptions(flatOptions, searchable, text);
|
|
131
146
|
setHighlightIndex(firstEnabledIndex(nextFiltered));
|
|
132
147
|
};
|
|
133
148
|
const floatingStyle = popupMatchSelectWidth ? { width: triggerWidth } : { minWidth: triggerWidth };
|
|
134
|
-
return (0, __wake_namespace_0["jsx"])(__wake_namespace_2 && __wake_namespace_2.__esModule ? __wake_namespace_2.default : __wake_namespace_2, { size: size, ...restProps, className: className, overlay: (0, __wake_namespace_0["jsx"])(
|
|
135
|
-
}
|
|
149
|
+
return (0, __wake_namespace_0["jsx"])(__wake_namespace_2 && __wake_namespace_2.__esModule ? __wake_namespace_2.default : __wake_namespace_2, { ...openProps, onOpenChange: emitOpenChange, size: size, ...restProps, className: className, overlay: (0, __wake_namespace_0["jsx"])(__wake_namespace_8 && __wake_namespace_8.__esModule ? __wake_namespace_8.default : __wake_namespace_8, { size: size, multiple: multiple, disabled: disabled, loading: loading, filteredOptions: filteredOptions, selectedValues: selectedValues, triggerWidth: triggerWidth, highlightIndex: highlightIndex, listboxId: listboxId, notFoundContent: notFoundContent, popupClassName: popupClassName, optionRender: optionRender, dropdownRender: dropdownRender, onOptionSelect: handleOptionSelect, onHighlightChange: setHighlightIndex }), floatingContainerProps: { style: floatingStyle }, children: (0, __wake_namespace_0["jsxs"])(SelectField, { children: [(0, __wake_namespace_0["jsx"])(__wake_namespace_7 && __wake_namespace_7.__esModule ? __wake_namespace_7.default : __wake_namespace_7, { ref: ref, controlRef: controlRef, id: inputId, ariaLabel: ariaLabel, ariaLabelledBy: ariaLabelledBy ?? (label ? labelId : undefined), ariaDescribedBy: [ariaDescribedBy, description ? descriptionId : undefined].filter(Boolean).join(" ") || undefined, disabled: disabled, searchable: searchable, multiple: multiple, size: size, status: fieldStatus, appearance: appearance, label: label, labelId: labelId, required: required, allowClear: allowClear, loading: loading, maxTagCount: maxTagCount, autoFocus: autoFocus, placeholder: placeholder ?? messages.select.placeholder, selectedOptions: selectedOptions, searchText: searchText, highlightIndex: highlightIndex, highlightedOption: highlightedOption, listboxId: listboxId, tagRender: tagRender, onSearchTextChange: handleSearchTextChange, onOpenStateChange: syncOpenState, onWidthChange: handleTriggerWidthChange, onMoveHighlight: moveHighlight, onSelectHighlighted: handleOptionSelect, onClear: handleClear, onRemoveTag: handleRemoveTag, onFocus: onFocus, onBlur: onBlur }), description && (0, __wake_namespace_0["jsx"])("div", { id: descriptionId, className: supportingStyle, "data-status": fieldStatus, role: errorText ? "alert" : undefined, children: description })] }) });
|
|
150
|
+
}
|
|
151
|
+
;
|
|
136
152
|
const __wake_default_export = Select;
|
|
137
153
|
Object.defineProperty(exports, "default", { enumerable: true, get: function() {
|
|
138
154
|
return __wake_default_export;
|
|
@@ -6,9 +6,11 @@ const __wake_namespace_3 = require("@crab-dev/rc-button");
|
|
|
6
6
|
const __wake_namespace_4 = require("@crab-dev/rc-spin");
|
|
7
7
|
const __wake_namespace_5 = require("@crab-dev/rc-tag");
|
|
8
8
|
const __wake_namespace_6 = require("@crab-dev/css");
|
|
9
|
-
const __wake_namespace_7 = require("
|
|
9
|
+
const __wake_namespace_7 = require("@crab-dev/rc-config-provider");
|
|
10
|
+
const __wake_namespace_8 = require("react");
|
|
10
11
|
require("./token.cjs");
|
|
11
12
|
;
|
|
13
|
+
const __wake_namespace_9 = require("./selectInput.styles.cjs");
|
|
12
14
|
const setRef = (ref, node) => {
|
|
13
15
|
if (typeof ref === "function") {
|
|
14
16
|
ref(node);
|
|
@@ -16,37 +18,22 @@ const setRef = (ref, node) => {
|
|
|
16
18
|
ref.current = node;
|
|
17
19
|
}
|
|
18
20
|
};
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
const
|
|
22
|
-
const controlDisabledStyle = "rc-select-238e884e6a17";
|
|
23
|
-
const controlErrorStyle = "rc-select-e0726e9ad481";
|
|
24
|
-
const controlWarningStyle = "rc-select-79b739b32fcb";
|
|
25
|
-
const valueWrapStyle = "rc-select-1356dfc74a7f";
|
|
26
|
-
const singleValueStyle = "rc-select-52cbc5cc4f0f";
|
|
27
|
-
const placeholderStyle = "rc-select-37ce25dfcd13";
|
|
28
|
-
const searchInputStyle = "rc-select-50dd3c70bcdc";
|
|
29
|
-
const caretStyle = "rc-select-d7edabfe7361";
|
|
30
|
-
const caretOpenStyle = "rc-select-30173f5e3d41";
|
|
31
|
-
const tagLabelStyle = "rc-select-2e4337f305d8";
|
|
32
|
-
const suffixWrapStyle = "rc-select-ee9f2054c459";
|
|
33
|
-
const actionStyle = "rc-select-8504d95b52bc";
|
|
34
|
-
const loadingIconStyle = "rc-select-3ab2c2f8c427";
|
|
35
|
-
const sizeMetricsMap = { large: "rc-select-df4a743b55e1", middle: "rc-select-de4a743b542e", small: "rc-select-dd4a743b527b" };
|
|
36
|
-
const sizeHeightFixedMap = { large: "rc-select-b8fc5925a597", middle: "rc-select-b7fc5925a3e4", small: "rc-select-bafc5925a8fd" };
|
|
37
|
-
const sizeHeightFlexibleMap = { large: "rc-select-5d07f79a2f4a", middle: "rc-select-5e07f79a30fd", small: "rc-select-5b07f79a2be4" };
|
|
21
|
+
const sizeMetricsMap = { large: "rc-select-df4a743b55e1", medium: "rc-select-de4a743b542e", small: "rc-select-dd4a743b527b" };
|
|
22
|
+
const sizeHeightFixedMap = { large: "rc-select-b8fc5925a597", medium: "rc-select-b7fc5925a3e4", small: "rc-select-bafc5925a8fd" };
|
|
23
|
+
const sizeHeightFlexibleMap = { large: "rc-select-5d07f79a2f4a", medium: "rc-select-5e07f79a30fd", small: "rc-select-5b07f79a2be4" };
|
|
38
24
|
const CaretIcon = () => (0, __wake_namespace_0["jsx"])("svg", { "aria-hidden": "true", focusable: "false", viewBox: "0 0 24 24", fill: "currentColor", children: (0, __wake_namespace_0["jsx"])("path", { d: "m7 10 5 5 5-5z" }) });
|
|
39
25
|
const ClearIcon = () => (0, __wake_namespace_0["jsx"])("svg", { "aria-hidden": "true", focusable: "false", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: (0, __wake_namespace_0["jsx"])("path", { d: "m18 6-12 12M6 6l12 12" }) });
|
|
40
26
|
;
|
|
41
|
-
const SelectInput = ({ ref, id, ariaLabel, ariaLabelledBy, ariaDescribedBy, disabled, searchable, multiple, size, status, appearance, label, labelId, required, allowClear, loading, maxTagCount, autoFocus, placeholder, selectedOptions, searchText, highlightIndex, highlightedOption, listboxId, tagRender, onSearchTextChange,
|
|
27
|
+
const SelectInput = ({ ref, controlRef, id, ariaLabel, ariaLabelledBy, ariaDescribedBy, disabled, searchable, multiple, size, status, appearance, label, labelId, required, allowClear, loading, maxTagCount, autoFocus, placeholder, selectedOptions, searchText, highlightIndex, highlightedOption, listboxId, tagRender, onSearchTextChange, onOpenStateChange, onWidthChange, onMoveHighlight, onSelectHighlighted, onClear, onRemoveTag, onFocus, onBlur }) => {
|
|
42
28
|
const { state, refs, dispatch } = (0, __wake_namespace_1["useDropdownContext"])();
|
|
43
|
-
const
|
|
44
|
-
const
|
|
29
|
+
const { messages } = (0, __wake_namespace_7["useLocale"])();
|
|
30
|
+
const { designSystem } = (0, __wake_namespace_7["useConfig"])();
|
|
31
|
+
const inputRef = (0, __wake_namespace_8["useRef"])(null);
|
|
45
32
|
const open = state.open;
|
|
46
|
-
const [hovered, setHovered] = (0,
|
|
47
|
-
const [actionFocused, setActionFocused] = (0,
|
|
48
|
-
const [withoutHover, setWithoutHover] = (0,
|
|
49
|
-
(0,
|
|
33
|
+
const [hovered, setHovered] = (0, __wake_namespace_8["useState"])(false);
|
|
34
|
+
const [actionFocused, setActionFocused] = (0, __wake_namespace_8["useState"])(false);
|
|
35
|
+
const [withoutHover, setWithoutHover] = (0, __wake_namespace_8["useState"])(false);
|
|
36
|
+
(0, __wake_namespace_8["useEffect"])(() => {
|
|
50
37
|
const media = window.matchMedia?.("(hover: none)");
|
|
51
38
|
if (!media) return;
|
|
52
39
|
const update = () => setWithoutHover(media.matches);
|
|
@@ -54,16 +41,15 @@ const SelectInput = ({ ref, id, ariaLabel, ariaLabelledBy, ariaDescribedBy, disa
|
|
|
54
41
|
media.addEventListener("change", update);
|
|
55
42
|
return () => media.removeEventListener("change", update);
|
|
56
43
|
}, []);
|
|
57
|
-
const
|
|
58
|
-
|
|
59
|
-
const mergeRef = (0, __wake_namespace_7["useCallback"])((node) => {
|
|
44
|
+
const syncOpen = (0, __wake_namespace_8["useEffectEvent"])(onOpenStateChange);
|
|
45
|
+
const mergeRef = (0, __wake_namespace_8["useCallback"])((node) => {
|
|
60
46
|
controlRef.current = node;
|
|
61
47
|
if (typeof refs.setReference === "function") {
|
|
62
48
|
refs.setReference(node);
|
|
63
49
|
}
|
|
64
50
|
setRef(ref, node);
|
|
65
|
-
}, [refs.setReference, ref]);
|
|
66
|
-
(0,
|
|
51
|
+
}, [refs.setReference, ref, controlRef]);
|
|
52
|
+
(0, __wake_namespace_8["useEffect"])(() => {
|
|
67
53
|
const el = controlRef.current;
|
|
68
54
|
if (!el) {
|
|
69
55
|
return;
|
|
@@ -76,23 +62,18 @@ const SelectInput = ({ ref, id, ariaLabel, ariaLabelledBy, ariaDescribedBy, disa
|
|
|
76
62
|
observer.observe(el);
|
|
77
63
|
return () => observer.disconnect();
|
|
78
64
|
}, [onWidthChange]);
|
|
79
|
-
(0,
|
|
80
|
-
if (open && searchable) {
|
|
65
|
+
(0, __wake_namespace_8["useEffect"])(() => {
|
|
66
|
+
if (open && searchable && !disabled) {
|
|
81
67
|
queueMicrotask(() => inputRef.current?.focus());
|
|
82
68
|
}
|
|
83
|
-
}, [open, searchable]);
|
|
84
|
-
(0,
|
|
85
|
-
if (autoFocus && controlRef.current) {
|
|
69
|
+
}, [disabled, open, searchable]);
|
|
70
|
+
(0, __wake_namespace_8["useEffect"])(() => {
|
|
71
|
+
if (autoFocus && !disabled && controlRef.current) {
|
|
86
72
|
controlRef.current.focus();
|
|
87
73
|
}
|
|
88
|
-
}, [autoFocus]);
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if (isFirstOpenRender.current) {
|
|
92
|
-
isFirstOpenRender.current = false;
|
|
93
|
-
return;
|
|
94
|
-
}
|
|
95
|
-
onOpenChangeRef.current(open);
|
|
74
|
+
}, [autoFocus, disabled]);
|
|
75
|
+
(0, __wake_namespace_8["useEffect"])(() => {
|
|
76
|
+
syncOpen(open);
|
|
96
77
|
}, [open]);
|
|
97
78
|
const handleClick = () => {
|
|
98
79
|
if (disabled) {
|
|
@@ -122,7 +103,7 @@ const SelectInput = ({ ref, id, ariaLabel, ariaLabelledBy, ariaDescribedBy, disa
|
|
|
122
103
|
case "Enter":
|
|
123
104
|
e.preventDefault();
|
|
124
105
|
if (open && highlightedOption) {
|
|
125
|
-
onSelectHighlighted(highlightedOption);
|
|
106
|
+
onSelectHighlighted(highlightedOption, e);
|
|
126
107
|
if (!multiple) {
|
|
127
108
|
dispatch({ type: "setOpen", payload: false });
|
|
128
109
|
}
|
|
@@ -141,29 +122,30 @@ const SelectInput = ({ ref, id, ariaLabel, ariaLabelledBy, ariaDescribedBy, disa
|
|
|
141
122
|
case "Escape":
|
|
142
123
|
if (open) {
|
|
143
124
|
e.preventDefault();
|
|
144
|
-
|
|
125
|
+
controlRef.current?.focus();
|
|
126
|
+
dispatch({ type: "setOpen", payload: false, details: { reason: "escape", event: e.nativeEvent } });
|
|
145
127
|
}
|
|
146
128
|
break;
|
|
147
129
|
case "Backspace":
|
|
148
130
|
if (multiple && searchText === "" && selectedOptions.length > 0) {
|
|
149
131
|
const lastOption = selectedOptions[selectedOptions.length - 1];
|
|
150
|
-
onRemoveTag(lastOption.value);
|
|
132
|
+
onRemoveTag(lastOption.value, e);
|
|
151
133
|
}
|
|
152
134
|
break;
|
|
153
135
|
default:
|
|
154
136
|
break;
|
|
155
137
|
}
|
|
156
138
|
};
|
|
157
|
-
const triggerClear = () => {
|
|
139
|
+
const triggerClear = (event) => {
|
|
158
140
|
controlRef.current?.focus();
|
|
159
|
-
onClear();
|
|
141
|
+
onClear(event);
|
|
160
142
|
if (open) {
|
|
161
143
|
dispatch({ type: "setOpen", payload: false });
|
|
162
144
|
}
|
|
163
145
|
};
|
|
164
146
|
const handleClearClick = (e) => {
|
|
165
147
|
e.stopPropagation();
|
|
166
|
-
triggerClear();
|
|
148
|
+
triggerClear(e);
|
|
167
149
|
};
|
|
168
150
|
const handleClearKeyDown = (e) => {
|
|
169
151
|
if (e.key === "Enter" || e.key === " ") {
|
|
@@ -173,11 +155,13 @@ const SelectInput = ({ ref, id, ariaLabel, ariaLabelledBy, ariaDescribedBy, disa
|
|
|
173
155
|
const canClear = allowClear && !disabled && selectedOptions.length > 0;
|
|
174
156
|
const showClear = canClear && (hovered || actionFocused || withoutHover);
|
|
175
157
|
const renderTag = (opt) => {
|
|
176
|
-
const handleClose = () =>
|
|
158
|
+
const handleClose = (event) => {
|
|
159
|
+
if (!disabled) onRemoveTag(opt.value, event);
|
|
160
|
+
};
|
|
177
161
|
if (tagRender) {
|
|
178
162
|
return (0, __wake_namespace_0["jsx"])("span", { children: tagRender(opt, handleClose) }, opt.value);
|
|
179
163
|
}
|
|
180
|
-
return (0, __wake_namespace_0["jsx"])(__wake_namespace_5 && __wake_namespace_5.__esModule ? __wake_namespace_5.default : __wake_namespace_5, { size: "small", closable:
|
|
164
|
+
return (0, __wake_namespace_0["jsx"])(__wake_namespace_5 && __wake_namespace_5.__esModule ? __wake_namespace_5.default : __wake_namespace_5, { size: "small", closable: !disabled, closeAriaLabel: messages.select.removeTag(typeof opt.label === "string" ? opt.label : opt.value), onClose: handleClose, children: (0, __wake_namespace_0["jsx"])("span", { className: __wake_namespace_9["tagLabelStyle"], children: opt.label }) }, opt.value);
|
|
181
165
|
};
|
|
182
166
|
const renderTags = () => {
|
|
183
167
|
if (maxTagCount !== undefined && selectedOptions.length > maxTagCount) {
|
|
@@ -189,32 +173,32 @@ const SelectInput = ({ ref, id, ariaLabel, ariaLabelledBy, ariaDescribedBy, disa
|
|
|
189
173
|
};
|
|
190
174
|
const renderContent = () => {
|
|
191
175
|
if (searchable && open) {
|
|
192
|
-
return (0, __wake_namespace_0["jsxs"])(__wake_namespace_0["Fragment"], { children: [multiple && renderTags(), (0, __wake_namespace_0["jsx"])(__wake_namespace_2 && __wake_namespace_2.__esModule ? __wake_namespace_2.default : __wake_namespace_2, { ref: inputRef, bordered: false, value: searchText, placeholder: multiple && selectedOptions.length > 0 ? "" : placeholder, onChange: (e) => onSearchTextChange(e.target.value), onClick: (e) => e.stopPropagation(), className: searchInputStyle })] });
|
|
176
|
+
return (0, __wake_namespace_0["jsxs"])(__wake_namespace_0["Fragment"], { children: [multiple && renderTags(), (0, __wake_namespace_0["jsx"])(__wake_namespace_2 && __wake_namespace_2.__esModule ? __wake_namespace_2.default : __wake_namespace_2, { ref: inputRef, "aria-label": ariaLabel ?? label ?? placeholder, bordered: false, disabled: disabled, value: searchText, placeholder: multiple && selectedOptions.length > 0 ? "" : placeholder, onChange: (e) => onSearchTextChange(e.target.value), onClick: (e) => e.stopPropagation(), className: __wake_namespace_9["searchInputStyle"] })] });
|
|
193
177
|
}
|
|
194
178
|
if (multiple) {
|
|
195
179
|
if (selectedOptions.length === 0) {
|
|
196
|
-
return (0, __wake_namespace_0["jsx"])("span", { className: placeholderStyle, children: placeholder });
|
|
180
|
+
return (0, __wake_namespace_0["jsx"])("span", { "data-role": "select-placeholder", className: __wake_namespace_9["placeholderStyle"], children: placeholder });
|
|
197
181
|
}
|
|
198
182
|
return renderTags();
|
|
199
183
|
}
|
|
200
184
|
if (selectedOptions.length === 0) {
|
|
201
|
-
return (0, __wake_namespace_0["jsx"])("span", { className: placeholderStyle, children: placeholder });
|
|
185
|
+
return (0, __wake_namespace_0["jsx"])("span", { "data-role": "select-placeholder", className: __wake_namespace_9["placeholderStyle"], children: placeholder });
|
|
202
186
|
}
|
|
203
|
-
return (0, __wake_namespace_0["jsx"])("span", { className: singleValueStyle, children: selectedOptions[0]?.label });
|
|
187
|
+
return (0, __wake_namespace_0["jsx"])("span", { className: __wake_namespace_9["singleValueStyle"], children: selectedOptions[0]?.label });
|
|
204
188
|
};
|
|
205
189
|
const activeDescendantId = open && highlightIndex >= 0 ? `${listboxId}-option-${highlightIndex}` : undefined;
|
|
206
|
-
return (0, __wake_namespace_0["jsxs"])("div", { id: id, role: "combobox", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-required": required || undefined, "aria-expanded": open, "aria-disabled": disabled, "aria-busy": loading || undefined, "aria-haspopup": "listbox", "aria-controls": open ? listboxId : undefined, "aria-activedescendant": activeDescendantId, "aria-invalid": status === "error" ? true : undefined, "data-appearance": appearance, "data-clearable": canClear, "data-labeled": Boolean(label), "data-floating": Boolean(open || selectedOptions.length > 0 || searchText), "data-status": status, tabIndex: disabled ? -1 : 0, ref: mergeRef, className: __wake_namespace_6["cx"].call(undefined, controlStyle, sizeMetricsMap[size], multiple ? sizeHeightFlexibleMap[size] : sizeHeightFixedMap[size], disabled && controlDisabledStyle, status === "error" && controlErrorStyle, status === "warning" && controlWarningStyle,
|
|
190
|
+
return (0, __wake_namespace_0["jsxs"])("div", { className: __wake_namespace_6["cx"].call(undefined, __wake_namespace_9["fieldLayoutStyle"], designSystem === "md3" && __wake_namespace_9["md3LabelMotionStyle"]), "data-labeled": Boolean(label), "data-appearance": appearance, "data-floating": Boolean(open || selectedOptions.length > 0 || searchText), "data-open": open, "data-status": status, "data-disabled": disabled || undefined, children: [label && (0, __wake_namespace_0["jsxs"])("span", { "data-role": "select-label", children: [(0, __wake_namespace_0["jsx"])("span", { id: labelId, children: label }), required && (0, __wake_namespace_0["jsx"])("span", { "data-required-marker": "", "aria-hidden": "true", children: "*" })] }), (0, __wake_namespace_0["jsxs"])("div", { id: id, role: "combobox", "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, "aria-required": required || undefined, "aria-expanded": open, "aria-disabled": disabled, "aria-busy": loading || undefined, "aria-haspopup": "listbox", "aria-controls": open ? listboxId : undefined, "aria-activedescendant": activeDescendantId, "aria-invalid": status === "error" ? true : undefined, "data-appearance": appearance, "data-clearable": canClear, "data-labeled": Boolean(label), "data-floating": Boolean(open || selectedOptions.length > 0 || searchText), "data-status": status, tabIndex: disabled ? -1 : 0, ref: mergeRef, className: __wake_namespace_6["cx"].call(undefined, __wake_namespace_9["controlStyle"], sizeMetricsMap[size], multiple ? sizeHeightFlexibleMap[size] : sizeHeightFixedMap[size], disabled && __wake_namespace_9["controlDisabledStyle"], status === "error" && __wake_namespace_9["controlErrorStyle"], status === "warning" && __wake_namespace_9["controlWarningStyle"], __wake_namespace_9["fieldControlStyle"]), onClick: handleClick, onKeyDown: handleKeyDown, onFocus: onFocus, onBlur: onBlur, onPointerOver: (event) => {
|
|
207
191
|
if (event.pointerType !== "touch") setHovered(true);
|
|
208
192
|
}, onPointerOut: (event) => {
|
|
209
193
|
if (!(event.relatedTarget instanceof Node) || !event.currentTarget.contains(event.relatedTarget)) {
|
|
210
194
|
setHovered(false);
|
|
211
195
|
}
|
|
212
|
-
}, children: [label && (0, __wake_namespace_0["
|
|
196
|
+
}, children: [label && appearance === "outlined" && (0, __wake_namespace_0["jsx"])("fieldset", { "aria-hidden": "true", children: (0, __wake_namespace_0["jsxs"])("legend", { children: [label, required ? " *" : ""] }) }), (0, __wake_namespace_0["jsx"])("div", { "data-role": "select-value", className: __wake_namespace_9["valueWrapStyle"], children: renderContent() }), (0, __wake_namespace_0["jsxs"])("span", { "data-role": "select-suffix", className: __wake_namespace_9["suffixWrapStyle"], children: [loading ? (0, __wake_namespace_0["jsx"])("span", { "aria-hidden": "true", className: __wake_namespace_9["loadingIconStyle"], children: (0, __wake_namespace_0["jsx"])(__wake_namespace_4["SpinIndicator"], {}) }) : null, (0, __wake_namespace_0["jsx"])(__wake_namespace_3 && __wake_namespace_3.__esModule ? __wake_namespace_3.default : __wake_namespace_3, { "data-role": showClear ? "select-clear" : "select-caret", className: __wake_namespace_9["actionStyle"], type: "button", tabIndex: canClear ? 0 : -1, appearance: "text", shape: "circle", size: size === "small" ? "xs" : size === "large" ? "m" : "s", disabled: disabled, "aria-label": showClear ? messages.common.clear : open ? messages.select.closeOptions : messages.select.openOptions, "aria-expanded": showClear ? undefined : open, icon: showClear ? (0, __wake_namespace_0["jsx"])(ClearIcon, {}) : (0, __wake_namespace_0["jsx"])("span", { "aria-hidden": "true", className: __wake_namespace_6["cx"].call(undefined, __wake_namespace_9["caretStyle"], open && __wake_namespace_9["caretOpenStyle"]), children: (0, __wake_namespace_0["jsx"])(CaretIcon, {}) }), onFocus: () => setActionFocused(true), onBlur: () => setActionFocused(false), onClick: (event) => {
|
|
213
197
|
if (showClear) handleClearClick(event); else {
|
|
214
198
|
event.stopPropagation();
|
|
215
199
|
handleClick();
|
|
216
200
|
}
|
|
217
|
-
}, onKeyDown: handleClearKeyDown })] })] });
|
|
201
|
+
}, onKeyDown: handleClearKeyDown })] })] })] });
|
|
218
202
|
};
|
|
219
203
|
const __wake_default_export = SelectInput;
|
|
220
204
|
Object.defineProperty(exports, "default", { enumerable: true, get: function() {
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
2
|
+
require("@crab-dev/rc-button");
|
|
3
|
+
require("@crab-dev/rc-spin");
|
|
4
|
+
require("@crab-dev/rc-token-semantic");
|
|
5
|
+
require("./token.cjs");
|
|
6
|
+
const controlStyle = "rc-select-5e896678dc89";
|
|
7
|
+
Object.defineProperty(exports, "controlStyle", { enumerable: true, get: function() {
|
|
8
|
+
return controlStyle;
|
|
9
|
+
} });
|
|
10
|
+
const fieldControlStyle = "rc-select-29edc097b42b";
|
|
11
|
+
Object.defineProperty(exports, "fieldControlStyle", { enumerable: true, get: function() {
|
|
12
|
+
return fieldControlStyle;
|
|
13
|
+
} });
|
|
14
|
+
const fieldLayoutStyle = "rc-select-910e459fbbe0";
|
|
15
|
+
Object.defineProperty(exports, "fieldLayoutStyle", { enumerable: true, get: function() {
|
|
16
|
+
return fieldLayoutStyle;
|
|
17
|
+
} });
|
|
18
|
+
const md3LabelMotionStyle = "rc-select-1dddd2d985da";
|
|
19
|
+
Object.defineProperty(exports, "md3LabelMotionStyle", { enumerable: true, get: function() {
|
|
20
|
+
return md3LabelMotionStyle;
|
|
21
|
+
} });
|
|
22
|
+
const controlDisabledStyle = "rc-select-82fbf3807561";
|
|
23
|
+
Object.defineProperty(exports, "controlDisabledStyle", { enumerable: true, get: function() {
|
|
24
|
+
return controlDisabledStyle;
|
|
25
|
+
} });
|
|
26
|
+
const controlErrorStyle = "rc-select-6d2a034155e7";
|
|
27
|
+
Object.defineProperty(exports, "controlErrorStyle", { enumerable: true, get: function() {
|
|
28
|
+
return controlErrorStyle;
|
|
29
|
+
} });
|
|
30
|
+
const controlWarningStyle = "rc-select-36466465840d";
|
|
31
|
+
Object.defineProperty(exports, "controlWarningStyle", { enumerable: true, get: function() {
|
|
32
|
+
return controlWarningStyle;
|
|
33
|
+
} });
|
|
34
|
+
const valueWrapStyle = "rc-select-f0b8a9c0c369";
|
|
35
|
+
Object.defineProperty(exports, "valueWrapStyle", { enumerable: true, get: function() {
|
|
36
|
+
return valueWrapStyle;
|
|
37
|
+
} });
|
|
38
|
+
const singleValueStyle = "rc-select-bcd33343d38d";
|
|
39
|
+
Object.defineProperty(exports, "singleValueStyle", { enumerable: true, get: function() {
|
|
40
|
+
return singleValueStyle;
|
|
41
|
+
} });
|
|
42
|
+
const placeholderStyle = "rc-select-30719d992205";
|
|
43
|
+
Object.defineProperty(exports, "placeholderStyle", { enumerable: true, get: function() {
|
|
44
|
+
return placeholderStyle;
|
|
45
|
+
} });
|
|
46
|
+
const searchInputStyle = "rc-select-c91210473c12";
|
|
47
|
+
Object.defineProperty(exports, "searchInputStyle", { enumerable: true, get: function() {
|
|
48
|
+
return searchInputStyle;
|
|
49
|
+
} });
|
|
50
|
+
const caretStyle = "rc-select-8ca15a371517";
|
|
51
|
+
Object.defineProperty(exports, "caretStyle", { enumerable: true, get: function() {
|
|
52
|
+
return caretStyle;
|
|
53
|
+
} });
|
|
54
|
+
const caretOpenStyle = "rc-select-72a72768a0ef";
|
|
55
|
+
Object.defineProperty(exports, "caretOpenStyle", { enumerable: true, get: function() {
|
|
56
|
+
return caretOpenStyle;
|
|
57
|
+
} });
|
|
58
|
+
const tagLabelStyle = "rc-select-113a9493f812";
|
|
59
|
+
Object.defineProperty(exports, "tagLabelStyle", { enumerable: true, get: function() {
|
|
60
|
+
return tagLabelStyle;
|
|
61
|
+
} });
|
|
62
|
+
const suffixWrapStyle = "rc-select-5032f5885db7";
|
|
63
|
+
Object.defineProperty(exports, "suffixWrapStyle", { enumerable: true, get: function() {
|
|
64
|
+
return suffixWrapStyle;
|
|
65
|
+
} });
|
|
66
|
+
const actionStyle = "rc-select-aa51540f6a1a";
|
|
67
|
+
Object.defineProperty(exports, "actionStyle", { enumerable: true, get: function() {
|
|
68
|
+
return actionStyle;
|
|
69
|
+
} });
|
|
70
|
+
const loadingIconStyle = "rc-select-14f1c2e4ccd5";
|
|
71
|
+
Object.defineProperty(exports, "loadingIconStyle", { enumerable: true, get: function() {
|
|
72
|
+
return loadingIconStyle;
|
|
73
|
+
} });
|