@rescui/select 0.18.3 → 0.19.0

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 (37) hide show
  1. package/lib/_virtual/check-outline.js +294 -63
  2. package/lib/_virtual/close-outline.js +294 -63
  3. package/lib/_virtual/down-outline.js +294 -63
  4. package/lib/_virtual/index.css.js +12 -12
  5. package/lib/_virtual/loading-outline.js +310 -79
  6. package/lib/hooks/use-a11y.d.ts +2 -2
  7. package/lib/hooks/use-a11y.js +124 -36
  8. package/lib/hooks/use-actual-size-from-css.d.ts +3 -4
  9. package/lib/hooks/use-actual-size-from-css.js +47 -18
  10. package/lib/hooks/use-focus.js +54 -10
  11. package/lib/hooks/use-hover.js +54 -10
  12. package/lib/hooks/use-label-focus.js +45 -15
  13. package/lib/hooks/use-multi-handlers.js +113 -38
  14. package/lib/hooks/use-options.d.ts +2 -1
  15. package/lib/hooks/use-options.js +92 -56
  16. package/lib/hooks/use-primary-contrast-css-var-transfer.d.ts +2 -3
  17. package/lib/hooks/use-primary-contrast-css-var-transfer.js +45 -15
  18. package/lib/index.css +195 -196
  19. package/lib/multiselect.js +527 -174
  20. package/lib/native-select.js +416 -118
  21. package/lib/parts/form-trigger-wrapper.js +159 -39
  22. package/lib/parts/hidden-select.js +105 -29
  23. package/lib/parts/icons.js +191 -49
  24. package/lib/parts/list-box.js +277 -74
  25. package/lib/parts/multi-trigger.d.ts +2 -2
  26. package/lib/parts/multi-trigger.js +125 -48
  27. package/lib/parts/native-select-options-with-groups.js +154 -52
  28. package/lib/parts/popup-content.d.ts +3 -3
  29. package/lib/parts/popup-content.js +146 -46
  30. package/lib/select-basic.js +456 -147
  31. package/lib/select-searchable.js +448 -155
  32. package/lib/select.js +228 -56
  33. package/lib/styles/common.p.module.css.js +29 -29
  34. package/lib/styles/form-trigger.p.module.css.js +12 -12
  35. package/lib/styles/list-box.p.module.css.js +13 -13
  36. package/lib/utils/get-text-from-nodes.js +1 -1
  37. package/package.json +12 -11
@@ -1,4 +1,6 @@
1
- import React, { useRef } from 'react';
1
+ import _extends from '@babel/runtime-corejs3/helpers/esm/extends';
2
+ import { c } from 'react-compiler-runtime';
3
+ import React from 'react';
2
4
  import cn from 'classnames';
3
5
  import styles from '../styles/list-box.p.module.css.js';
4
6
  import { calculateMaxHeightByItems } from '../utils/calculate-max-height-by-items.js';
@@ -15,13 +17,12 @@ const MODE_STYLES = {
15
17
  rock: styles.rock
16
18
  };
17
19
 
18
- function Option(_ref) {
19
- let {
20
+ function Option(t0) {
21
+ const $ = c(9);
22
+ const {
20
23
  item,
21
24
  state
22
- } = _ref;
23
- // Get props for the option element
24
- const ref = useRef(null);
25
+ } = t0;
25
26
  const {
26
27
  selectedMap,
27
28
  getItemProps,
@@ -29,94 +30,296 @@ function Option(_ref) {
29
30
  isMulti
30
31
  } = state;
31
32
  const index = item.index;
32
- const isSelected = selectedMap.has(item.key);
33
- const isHighlighted = highlightedIndex === item.index;
34
- const isDisabled = item.disabled;
35
- const shouldRenderCheckIcon = isMulti || isSelected;
36
- return /*#__PURE__*/React.createElement("li", { ...getItemProps({
33
+ let t1;
34
+
35
+ if ($[0] !== getItemProps || $[1] !== highlightedIndex || $[2] !== index || $[3] !== isMulti || $[4] !== item || $[5] !== selectedMap) {
36
+ const isSelected = selectedMap.has(item.key);
37
+ const isHighlighted = highlightedIndex === item.index;
38
+ const isDisabled = item.disabled;
39
+ const shouldRenderCheckIcon = isMulti || isSelected;
40
+ let t2;
41
+
42
+ if ($[7] !== item.label) {
43
+ t2 = /*#__PURE__*/React.createElement("span", null, item.label);
44
+ $[7] = item.label;
45
+ $[8] = t2;
46
+ } else {
47
+ t2 = $[8];
48
+ }
49
+
50
+ t1 = /*#__PURE__*/React.createElement("li", _extends({}, getItemProps({
37
51
  item,
38
52
  index,
39
- 'aria-selected': isSelected,
40
- 'tab-index': isHighlighted ? 0 : -1,
41
- ref
42
- }),
43
- className: cn(styles.item, isSelected && styles.selected, isDisabled && styles.disabled),
44
- "data-rs-internal": "select-list-box__item",
45
- "data-focused": isHighlighted,
46
- "data-test": `select-options-list__item_${item.key}`
47
- }, /*#__PURE__*/React.createElement("span", null, item.label), shouldRenderCheckIcon && /*#__PURE__*/React.createElement(CheckOutlineIcon, {
48
- "data-rs-internal": "select-list-box__check-icon",
49
- className: cn(styles.checkIcon, isSelected && styles.visible)
50
- }));
53
+ "aria-selected": isSelected,
54
+ "tab-index": isHighlighted ? 0 : -1
55
+ }), {
56
+ className: cn(styles.item, isSelected && styles.selected, isDisabled && styles.disabled),
57
+ "data-rs-internal": "select-list-box__item",
58
+ "data-focused": isHighlighted,
59
+ "data-test": `select-options-list__item_${item.key}`
60
+ }), t2, shouldRenderCheckIcon && /*#__PURE__*/React.createElement(CheckOutlineIcon, {
61
+ "data-rs-internal": "select-list-box__check-icon",
62
+ className: cn(styles.checkIcon, isSelected && styles.visible)
63
+ }));
64
+ $[0] = getItemProps;
65
+ $[1] = highlightedIndex;
66
+ $[2] = index;
67
+ $[3] = isMulti;
68
+ $[4] = item;
69
+ $[5] = selectedMap;
70
+ $[6] = t1;
71
+ } else {
72
+ t1 = $[6];
73
+ }
74
+
75
+ return t1;
51
76
  }
52
77
 
53
- function ListBoxGroup(_ref2) {
54
- let {
78
+ function ListBoxGroup(t0) {
79
+ const $ = c(23);
80
+ const {
55
81
  item,
56
82
  isFirst,
57
83
  state
58
- } = _ref2;
84
+ } = t0;
59
85
  const hasHeading = item.label !== null && item.label !== undefined;
60
- const hasDivider = !isFirst && !hasHeading; // If the section is not the first, add a divider for visual separation
61
-
62
- return /*#__PURE__*/React.createElement(React.Fragment, null, hasDivider && /*#__PURE__*/React.createElement("hr", {
63
- className: styles.divider
64
- }), /*#__PURE__*/React.createElement("li", {
65
- role: "presentation"
66
- }, hasHeading && /*#__PURE__*/React.createElement("span", {
67
- className: styles.groupHeader,
68
- role: "presentation",
69
- "data-rs-internal": "select-list-box__group-header"
70
- }, item.label), /*#__PURE__*/React.createElement("ul", {
71
- role: "group",
72
- "aria-label": hasHeading ? getTextFromNodes(item.label) : undefined,
73
- style: {
86
+ const hasDivider = !isFirst && !hasHeading;
87
+ let t1;
88
+
89
+ if ($[0] !== hasDivider) {
90
+ t1 = hasDivider && /*#__PURE__*/React.createElement("hr", {
91
+ className: styles.divider
92
+ });
93
+ $[0] = hasDivider;
94
+ $[1] = t1;
95
+ } else {
96
+ t1 = $[1];
97
+ }
98
+
99
+ let t2;
100
+
101
+ if ($[2] !== hasHeading || $[3] !== item.label) {
102
+ t2 = hasHeading && /*#__PURE__*/React.createElement("span", {
103
+ className: styles.groupHeader,
104
+ role: "presentation",
105
+ "data-rs-internal": "select-list-box__group-header"
106
+ }, item.label);
107
+ $[2] = hasHeading;
108
+ $[3] = item.label;
109
+ $[4] = t2;
110
+ } else {
111
+ t2 = $[4];
112
+ }
113
+
114
+ let t3;
115
+
116
+ if ($[5] !== hasHeading || $[6] !== item.label) {
117
+ t3 = hasHeading ? getTextFromNodes(item.label) : undefined;
118
+ $[5] = hasHeading;
119
+ $[6] = item.label;
120
+ $[7] = t3;
121
+ } else {
122
+ t3 = $[7];
123
+ }
124
+
125
+ let t4;
126
+
127
+ if ($[8] === Symbol.for("react.memo_cache_sentinel")) {
128
+ t4 = {
74
129
  padding: 0,
75
- listStyle: 'none'
130
+ listStyle: "none"
131
+ };
132
+ $[8] = t4;
133
+ } else {
134
+ t4 = $[8];
135
+ }
136
+
137
+ let t5;
138
+
139
+ if ($[9] !== item.options || $[10] !== state) {
140
+ let t6;
141
+
142
+ if ($[12] !== state) {
143
+ t6 = option => /*#__PURE__*/React.createElement(Option, {
144
+ key: option.key,
145
+ item: option,
146
+ state: state
147
+ });
148
+
149
+ $[12] = state;
150
+ $[13] = t6;
151
+ } else {
152
+ t6 = $[13];
76
153
  }
77
- }, item.options.map(option => /*#__PURE__*/React.createElement(Option, {
78
- key: option.key,
79
- item: option,
80
- state: state
81
- })))));
154
+
155
+ t5 = item.options.map(t6);
156
+ $[9] = item.options;
157
+ $[10] = state;
158
+ $[11] = t5;
159
+ } else {
160
+ t5 = $[11];
161
+ }
162
+
163
+ let t6;
164
+
165
+ if ($[14] !== t3 || $[15] !== t5) {
166
+ t6 = /*#__PURE__*/React.createElement("ul", {
167
+ role: "group",
168
+ "aria-label": t3,
169
+ style: t4
170
+ }, t5);
171
+ $[14] = t3;
172
+ $[15] = t5;
173
+ $[16] = t6;
174
+ } else {
175
+ t6 = $[16];
176
+ }
177
+
178
+ let t7;
179
+
180
+ if ($[17] !== t2 || $[18] !== t6) {
181
+ t7 = /*#__PURE__*/React.createElement("li", {
182
+ role: "presentation"
183
+ }, t2, t6);
184
+ $[17] = t2;
185
+ $[18] = t6;
186
+ $[19] = t7;
187
+ } else {
188
+ t7 = $[19];
189
+ }
190
+
191
+ let t8;
192
+
193
+ if ($[20] !== t1 || $[21] !== t7) {
194
+ t8 = /*#__PURE__*/React.createElement(React.Fragment, null, t1, t7);
195
+ $[20] = t1;
196
+ $[21] = t7;
197
+ $[22] = t8;
198
+ } else {
199
+ t8 = $[22];
200
+ }
201
+
202
+ return t8;
82
203
  }
83
204
 
84
- function ListBox(_ref3) {
85
- let {
205
+ function ListBox(t0) {
206
+ const $ = c(26);
207
+ const {
86
208
  state,
87
209
  items,
88
210
  size,
89
211
  mode,
90
- maxVisibleItems = 5,
212
+ maxVisibleItems: t1,
91
213
  emptyListMessage,
92
- isPrimaryContrast = false
93
- } = _ref3;
214
+ isPrimaryContrast: t2
215
+ } = t0;
216
+ const maxVisibleItems = t1 === undefined ? 5 : t1;
217
+ const isPrimaryContrast = t2 === undefined ? false : t2;
94
218
  const {
95
219
  menuProps
96
220
  } = state;
97
- const firstGroupKey = items.find(item => item.type === 'group')?.key;
98
- const itemsCount = getRealItemsCnt(items);
99
- return /*#__PURE__*/React.createElement("ul", { ...menuProps,
100
- className: cn(styles.listBox, SIZE_STYLES[size], MODE_STYLES[mode]),
101
- style: {
102
- '--_rs-select-list-box-max-height-by-items': calculateMaxHeightByItems(itemsCount, maxVisibleItems),
103
- '--rs-select-contrast-primary': isPrimaryContrast ? '1' : '0'
104
- },
105
- "data-rs-internal": "select-list-box",
106
- "data-test": "select-options-list"
107
- }, itemsCount === 0 ? /*#__PURE__*/React.createElement("li", {
108
- className: cn(styles.item, styles.disabled),
109
- "data-rs-internal": "select-list-box__item"
110
- }, /*#__PURE__*/React.createElement("span", null, emptyListMessage)) : items.map(item => item.type === 'group' ? /*#__PURE__*/React.createElement(ListBoxGroup, {
111
- key: item.key,
112
- item: item,
113
- state: state,
114
- isFirst: item.key === firstGroupKey
115
- }) : /*#__PURE__*/React.createElement(Option, {
116
- key: item.key,
117
- item: item,
118
- state: state
119
- })));
221
+ const firstGroupKey = items.find(_temp)?.key;
222
+ let itemsCount;
223
+ let t3;
224
+ let t4;
225
+ let t5;
226
+
227
+ if ($[0] !== items || $[1] !== maxVisibleItems || $[2] !== menuProps || $[3] !== mode || $[4] !== size) {
228
+ itemsCount = getRealItemsCnt(items);
229
+ t4 = menuProps;
230
+ const t6 = SIZE_STYLES[size];
231
+ const t7 = MODE_STYLES[mode];
232
+
233
+ if ($[9] !== t6 || $[10] !== t7) {
234
+ t5 = cn(styles.listBox, t6, t7);
235
+ $[9] = t6;
236
+ $[10] = t7;
237
+ $[11] = t5;
238
+ } else {
239
+ t5 = $[11];
240
+ }
241
+
242
+ t3 = calculateMaxHeightByItems(itemsCount, maxVisibleItems);
243
+ $[0] = items;
244
+ $[1] = maxVisibleItems;
245
+ $[2] = menuProps;
246
+ $[3] = mode;
247
+ $[4] = size;
248
+ $[5] = itemsCount;
249
+ $[6] = t3;
250
+ $[7] = t4;
251
+ $[8] = t5;
252
+ } else {
253
+ itemsCount = $[5];
254
+ t3 = $[6];
255
+ t4 = $[7];
256
+ t5 = $[8];
257
+ }
258
+
259
+ const t6 = isPrimaryContrast ? "1" : "0";
260
+ let t7;
261
+
262
+ if ($[12] !== t3 || $[13] !== t6) {
263
+ t7 = {
264
+ "--_rs-select-list-box-max-height-by-items": t3,
265
+ "--rs-select-contrast-primary": t6
266
+ };
267
+ $[12] = t3;
268
+ $[13] = t6;
269
+ $[14] = t7;
270
+ } else {
271
+ t7 = $[14];
272
+ }
273
+
274
+ let t8;
275
+
276
+ if ($[15] !== emptyListMessage || $[16] !== firstGroupKey || $[17] !== items || $[18] !== itemsCount || $[19] !== state) {
277
+ t8 = itemsCount === 0 ? /*#__PURE__*/React.createElement("li", {
278
+ className: cn(styles.item, styles.disabled),
279
+ "data-rs-internal": "select-list-box__item"
280
+ }, /*#__PURE__*/React.createElement("span", null, emptyListMessage)) : items.map(item_0 => item_0.type === "group" ? /*#__PURE__*/React.createElement(ListBoxGroup, {
281
+ key: item_0.key,
282
+ item: item_0,
283
+ state: state,
284
+ isFirst: item_0.key === firstGroupKey
285
+ }) : /*#__PURE__*/React.createElement(Option, {
286
+ key: item_0.key,
287
+ item: item_0,
288
+ state: state
289
+ }));
290
+ $[15] = emptyListMessage;
291
+ $[16] = firstGroupKey;
292
+ $[17] = items;
293
+ $[18] = itemsCount;
294
+ $[19] = state;
295
+ $[20] = t8;
296
+ } else {
297
+ t8 = $[20];
298
+ }
299
+
300
+ let t9;
301
+
302
+ if ($[21] !== t4 || $[22] !== t5 || $[23] !== t7 || $[24] !== t8) {
303
+ t9 = /*#__PURE__*/React.createElement("ul", _extends({}, t4, {
304
+ className: t5,
305
+ style: t7,
306
+ "data-rs-internal": "select-list-box",
307
+ "data-test": "select-options-list"
308
+ }), t8);
309
+ $[21] = t4;
310
+ $[22] = t5;
311
+ $[23] = t7;
312
+ $[24] = t8;
313
+ $[25] = t9;
314
+ } else {
315
+ t9 = $[25];
316
+ }
317
+
318
+ return t9;
319
+ }
320
+
321
+ function _temp(item) {
322
+ return item.type === "group";
120
323
  }
121
324
 
122
325
  export { ListBox };
@@ -7,6 +7,6 @@ export interface MultiTriggerProps {
7
7
  isSingleLine: boolean;
8
8
  isDisabled: boolean;
9
9
  placeholder?: string;
10
- triggerRef?: React.RefObject<HTMLDivElement>;
10
+ triggerEl?: HTMLDivElement | null;
11
11
  }
12
- export declare function MultiTrigger({ selectedItems, valueProps, isSingleLine, isDisabled, placeholder, triggerRef, removeSelectedItem }: MultiTriggerProps): React.JSX.Element;
12
+ export declare function MultiTrigger({ selectedItems, valueProps, isSingleLine, isDisabled, placeholder, triggerEl, removeSelectedItem }: MultiTriggerProps): React.JSX.Element;
@@ -1,3 +1,5 @@
1
+ import _extends from '@babel/runtime-corejs3/helpers/esm/extends';
2
+ import { c } from 'react-compiler-runtime';
1
3
  import React from 'react';
2
4
  import cn from 'classnames';
3
5
  import { RemovableTag, Tag } from '@rescui/tag';
@@ -6,65 +8,140 @@ import { getTextFromNodes } from '../utils/get-text-from-nodes.js';
6
8
  import { getOptionValue } from '../utils/get-option-value.js';
7
9
  import Foldable from './foldable.js';
8
10
 
9
- function MultiTrigger(_ref) {
10
- let {
11
+ function MultiTrigger(t0) {
12
+ const $ = c(21);
13
+ const {
11
14
  selectedItems,
12
15
  valueProps,
13
16
  isSingleLine,
14
17
  isDisabled,
15
18
  placeholder,
16
- triggerRef,
19
+ triggerEl,
17
20
  removeSelectedItem
18
- } = _ref;
21
+ } = t0;
19
22
  const hasValue = selectedItems.length > 0;
20
23
 
21
24
  if (!hasValue) {
22
- return /*#__PURE__*/React.createElement("div", { ...valueProps,
23
- className: cn(styles.triggerText, styles.labelNotSelected),
24
- "data-test": 'multiselect__trigger_content'
25
- }, placeholder);
25
+ let t1;
26
+
27
+ if ($[0] === Symbol.for("react.memo_cache_sentinel")) {
28
+ t1 = cn(styles.triggerText, styles.labelNotSelected);
29
+ $[0] = t1;
30
+ } else {
31
+ t1 = $[0];
32
+ }
33
+
34
+ let t2;
35
+
36
+ if ($[1] !== placeholder || $[2] !== valueProps) {
37
+ t2 = /*#__PURE__*/React.createElement("div", _extends({}, valueProps, {
38
+ className: t1,
39
+ "data-test": "multiselect__trigger_content"
40
+ }), placeholder);
41
+ $[1] = placeholder;
42
+ $[2] = valueProps;
43
+ $[3] = t2;
44
+ } else {
45
+ t2 = $[3];
46
+ }
47
+
48
+ return t2;
49
+ }
50
+
51
+ let t1;
52
+
53
+ if ($[4] !== isDisabled || $[5] !== isSingleLine || $[6] !== removeSelectedItem || $[7] !== selectedItems || $[8] !== triggerEl) {
54
+ let t2;
55
+
56
+ if ($[10] !== isDisabled || $[11] !== isSingleLine || $[12] !== removeSelectedItem || $[13] !== triggerEl) {
57
+ t2 = option => {
58
+ const key = getOptionValue(option);
59
+ return /*#__PURE__*/React.createElement(RemovableTag, {
60
+ key: key,
61
+ tabIndex: -1,
62
+ "data-test": `selected-tag-${key}`,
63
+ className: styles.tag,
64
+ disabled: isDisabled,
65
+ onRemoveClick: () => {
66
+ removeSelectedItem(option);
67
+ triggerEl?.focus({
68
+ focusVisible: false
69
+ });
70
+ },
71
+ "data-rs-internal": "select-trigger__removable-tag",
72
+ wrap: !isSingleLine,
73
+ "aria-label": getTextFromNodes(option.label),
74
+ onFocus: e => {
75
+ if (e.target.getAttribute("tabindex") === "-1") {
76
+ triggerEl?.focus({
77
+ focusVisible: false
78
+ });
79
+ }
80
+ }
81
+ }, option.label);
82
+ };
83
+
84
+ $[10] = isDisabled;
85
+ $[11] = isSingleLine;
86
+ $[12] = removeSelectedItem;
87
+ $[13] = triggerEl;
88
+ $[14] = t2;
89
+ } else {
90
+ t2 = $[14];
91
+ }
92
+
93
+ t1 = selectedItems.map(t2);
94
+ $[4] = isDisabled;
95
+ $[5] = isSingleLine;
96
+ $[6] = removeSelectedItem;
97
+ $[7] = selectedItems;
98
+ $[8] = triggerEl;
99
+ $[9] = t1;
100
+ } else {
101
+ t1 = $[9];
26
102
  }
27
103
 
28
- const tags = selectedItems.map(option => {
29
- const key = getOptionValue(option);
30
- return /*#__PURE__*/React.createElement(RemovableTag, {
31
- key: key,
32
- tabIndex: -1,
33
- "data-test": `selected-tag-${key}`,
34
- className: styles.tag,
35
- disabled: isDisabled,
36
- onRemoveClick: () => {
37
- removeSelectedItem(option);
38
- triggerRef.current?.focus({
39
- focusVisible: false
40
- });
41
- },
42
- "data-rs-internal": "select-trigger__removable-tag",
43
- wrap: !isSingleLine,
44
- "aria-label": getTextFromNodes(option.label),
45
- onFocus: e => {
46
- if (e.target.getAttribute('tabindex') === '-1') {
47
- triggerRef.current?.focus({
48
- focusVisible: false
49
- });
50
- }
51
- }
52
- }, option.label);
53
- });
54
- return /*#__PURE__*/React.createElement("div", { ...valueProps,
55
- className: styles.multi,
56
- "data-test": "multiselect__trigger_content"
57
- }, isSingleLine ? /*#__PURE__*/React.createElement(Foldable, {
58
- className: styles.tagsContainer,
59
- renderHiddenCounter: (n, ref) => /*#__PURE__*/React.createElement(Tag, {
60
- className: cn(styles.tag, styles.filledTag),
61
- key: "+",
62
- ref: ref,
63
- "data-rs-internal": "select-trigger__tag"
64
- }, "+", n)
65
- }, tags) : /*#__PURE__*/React.createElement("div", {
66
- className: styles.tagsContainer
67
- }, tags));
104
+ const tags = t1;
105
+ let t2;
106
+
107
+ if ($[15] !== isSingleLine || $[16] !== tags) {
108
+ t2 = isSingleLine ? /*#__PURE__*/React.createElement(Foldable, {
109
+ className: styles.tagsContainer,
110
+ renderHiddenCounter: _temp
111
+ }, tags) : /*#__PURE__*/React.createElement("div", {
112
+ className: styles.tagsContainer
113
+ }, tags);
114
+ $[15] = isSingleLine;
115
+ $[16] = tags;
116
+ $[17] = t2;
117
+ } else {
118
+ t2 = $[17];
119
+ }
120
+
121
+ let t3;
122
+
123
+ if ($[18] !== t2 || $[19] !== valueProps) {
124
+ t3 = /*#__PURE__*/React.createElement("div", _extends({}, valueProps, {
125
+ className: styles.multi,
126
+ "data-test": "multiselect__trigger_content"
127
+ }), t2);
128
+ $[18] = t2;
129
+ $[19] = valueProps;
130
+ $[20] = t3;
131
+ } else {
132
+ t3 = $[20];
133
+ }
134
+
135
+ return t3;
136
+ }
137
+
138
+ function _temp(n, ref) {
139
+ return /*#__PURE__*/React.createElement(Tag, {
140
+ className: cn(styles.tag, styles.filledTag),
141
+ key: "+",
142
+ ref: ref,
143
+ "data-rs-internal": "select-trigger__tag"
144
+ }, "+", n);
68
145
  }
69
146
 
70
147
  export { MultiTrigger };