@itcase/ui 1.8.176 → 1.8.178

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.
@@ -10,7 +10,7 @@ var useDevicePropsGenerator = require('./cjs/hooks/useDevicePropsGenerator/useDe
10
10
  var useStyles = require('./cjs/hooks/useStyles/useStyles.js');
11
11
  var Button = require('./Button_cjs_CYWNdPTJ.js');
12
12
  var Icon = require('./Icon_cjs_Xsu3KUlK.js');
13
- var Input = require('./Input_cjs_CJOik_SP.js');
13
+ var Input = require('./Input_cjs_KgFCCi2U.js');
14
14
  var Label = require('./Label_cjs_RHq5CRw5.js');
15
15
  var Text = require('./Text_cjs_DaH5tVvz.js');
16
16
  var _default = require('@itcase/icons/default');
@@ -8,7 +8,7 @@ import { useDevicePropsGenerator } from './hooks/useDevicePropsGenerator/useDevi
8
8
  import { useStyles } from './hooks/useStyles/useStyles.js';
9
9
  import { B as Button } from './Button_es_Bns3_lNe.js';
10
10
  import { I as Icon } from './Icon_es_B02tKDTb.js';
11
- import { I as Input } from './Input_es_Dboktsxf.js';
11
+ import { I as Input } from './Input_es_I8GPoibb.js';
12
12
  import { L as Label } from './Label_es_CwhSc0UL.js';
13
13
  import { T as Text } from './Text_es_RDU9GLCV.js';
14
14
  import { icons14 } from '@itcase/icons/default';
@@ -129,11 +129,11 @@ const inputAppearanceSize = {
129
129
  },
130
130
  sizeXL: {
131
131
  size: 'xl',
132
- textSize: 's',
132
+ textSize: 'm',
133
133
  },
134
134
  sizeL: {
135
135
  size: 'l',
136
- textSize: 's',
136
+ textSize: 'm',
137
137
  },
138
138
  sizeM: {
139
139
  size: 'm',
@@ -127,11 +127,11 @@ const inputAppearanceSize = {
127
127
  },
128
128
  sizeXL: {
129
129
  size: 'xl',
130
- textSize: 's',
130
+ textSize: 'm',
131
131
  },
132
132
  sizeL: {
133
133
  size: 'l',
134
- textSize: 's',
134
+ textSize: 'm',
135
135
  },
136
136
  sizeM: {
137
137
  size: 'm',
@@ -0,0 +1,583 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var React = require('react');
5
+ var clsx = require('clsx');
6
+ var Select = require('react-select');
7
+ var CreatableSelect = require('react-select/creatable');
8
+ var Group = require('./Group_cjs_CFzdSMKV.js');
9
+ var Text = require('./Text_cjs_DaH5tVvz.js');
10
+ var useAppearanceConfig = require('./cjs/hooks/useAppearanceConfig/useAppearanceConfig.js');
11
+ var useDevicePropsGenerator = require('./cjs/hooks/useDevicePropsGenerator/useDevicePropsGenerator.js');
12
+ var _default = require('@itcase/icons/default');
13
+ var Icon = require('./Icon_cjs_Xsu3KUlK.js');
14
+ var Loader = require('./Loader_cjs_CRiUlTC3.js');
15
+ var Divider = require('./Divider_cjs_DrmV2ezS.js');
16
+
17
+ // interface ClearIndicatorProps<Option, IsMulti extends boolean, Group extends GroupBase<Option>>
18
+ // extends DefaultClearIndicatorProps<Option, IsMulti, Group> {}
19
+ // For use memo need to check "ClearIndicator" props
20
+ // const SelectClearIndicator = React.memo(
21
+ const SelectClearIndicator = (props) => {
22
+ const { children } = props;
23
+ const { clearIcon, clearIconFill } = props.selectProps;
24
+ return (jsxRuntime.jsx(Select.components.ClearIndicator, { ...props, children: clearIcon ? (jsxRuntime.jsx(Icon.Icon, { iconFill: clearIconFill, SvgImage: clearIcon })) : (children) }));
25
+ };
26
+
27
+ const SelectLoadingMessage = (props) => {
28
+ const { loadingMessageText, loadingMessageTextColor, loadingMessageTextSize, } = props.selectProps;
29
+ return (jsxRuntime.jsx(Group.Group, { textAlign: "center", children: jsxRuntime.jsx(Text.Text, { size: loadingMessageTextSize, textColor: loadingMessageTextColor, children: loadingMessageText }) }));
30
+ };
31
+
32
+ const selectAppearanceDefault = {
33
+ defaultPrimary: {
34
+ fill: 'surfaceSecondary',
35
+ fillHover: 'surfaceTertiary',
36
+ optionFillDisabled: 'surfaceSecondary',
37
+ optionTextColorDisabled: 'surfaceTextQuaternary',
38
+ borderColor: 'surfaceBorderTertiary',
39
+ borderColorHover: 'surfaceBorderQuaternary',
40
+ elevation: 8,
41
+ badgeAppearance: 'accent',
42
+ clearIconFill: 'surfaceItemQuaternary',
43
+ dropdownIconFill: 'surfaceItemQuaternary',
44
+ groupFill: 'surfaceSecondary',
45
+ groupTextColor: 'surfaceTextPrimary',
46
+ groupTextWeight: '600',
47
+ inputCaretColor: 'accentPrimary',
48
+ inputTextColor: 'surfaceTextPrimary',
49
+ loaderAppearance: 'accentPrimary sizeS ghost',
50
+ loadingMessageTextColor: 'surfaceTextPrimary',
51
+ menuFill: 'surfacePrimary',
52
+ multipleItemFill: 'accentPrimary',
53
+ multipleItemFillHover: 'accentSecondary',
54
+ multipleItemIconFill: 'accentItemPrimary',
55
+ multipleItemTextColor: 'accentTextPrimary',
56
+ multipleTextColor: 'accentTextPrimary',
57
+ noOptionsTextColor: 'surfaceTextPrimary',
58
+ optionBorder: 'none',
59
+ optionFill: 'surfacePrimary',
60
+ optionFillActive: 'accentPrimary',
61
+ optionFillActiveHover: 'accentSecondary',
62
+ optionFillHover: 'surfaceSecondary',
63
+ optionSelectedIconFillIcon: 'successItemPrimary',
64
+ optionTextColor: 'surfaceTextPrimary',
65
+ optionTextColorActive: 'accentTextPrimary',
66
+ placeholderTextColor: 'surfaceTextQuaternary',
67
+ requiredInputBorderColor: 'warningBorderPrimary',
68
+ },
69
+ };
70
+
71
+ const selectAppearanceDisabled = {
72
+ disabledPrimary: {
73
+ elevation: 8,
74
+ badgeAppearance: 'accent',
75
+ clearIconFill: 'surfaceItemDisabled',
76
+ dropdownIconFill: 'surfaceItemDisabled',
77
+ headingFill: 'surfaceSecondary',
78
+ headingTextColor: 'surfaceTextPrimary',
79
+ inputBorderColor: 'surfaceBorderTertiary',
80
+ inputBorderColorHover: 'surfaceBorderQuaternary',
81
+ inputCaretColor: 'secondaryItemPrimary',
82
+ inputFill: 'surfaceDisabled',
83
+ inputShape: 'rounded',
84
+ inputTextColor: 'surfaceTextPrimary',
85
+ multipleItemFill: 'accentPrimary',
86
+ multipleItemFillHover: 'surfaceHover',
87
+ multipleItemIconFill: 'accentItemPrimary',
88
+ multipleItemTextColor: 'accentTextPrimary',
89
+ multipleTextColor: 'accentTextPrimary',
90
+ noOptionsTextColor: 'surfaceTextPrimary',
91
+ optionBorder: 'none',
92
+ optionFill: 'surfacePrimary',
93
+ optionFillHover: 'surfaceSecondary',
94
+ optionShape: 'rounded',
95
+ optionTextColor: 'surfaceTextPrimary',
96
+ placeholderTextColor: 'surfaceTextQuaternary',
97
+ requiredInputBorderColor: 'warningBorderPrimary',
98
+ },
99
+ };
100
+
101
+ const selectAppearanceError = {
102
+ errorPrimary: {
103
+ fill: 'errorTertiary',
104
+ fillHover: 'errorTertiary',
105
+ optionFillDisabled: 'surfaceSecondary',
106
+ optionTextColorDisabled: 'surfaceTextQuaternary',
107
+ borderColor: 'surfaceBorderTertiary',
108
+ borderColorHover: 'surfaceBorderQuaternary',
109
+ elevation: 8,
110
+ badgeAppearance: 'accent',
111
+ clearIconFill: 'surfaceItemQuaternary',
112
+ dropdownIconFill: 'surfaceItemQuaternary',
113
+ groupFill: 'surfaceSecondary',
114
+ groupTextColor: 'surfaceTextPrimary',
115
+ groupTextWeight: '600',
116
+ inputCaretColor: 'accentPrimary',
117
+ inputTextColor: 'surfaceTextPrimary',
118
+ loaderAppearance: 'accentPrimary sizeS ghost',
119
+ loadingMessageTextColor: 'surfaceTextPrimary',
120
+ menuFill: 'surfacePrimary',
121
+ multipleItemFill: 'accentPrimary',
122
+ multipleItemFillHover: 'accentSecondary',
123
+ multipleItemIconFill: 'accentItemPrimary',
124
+ multipleItemTextColor: 'accentTextPrimary',
125
+ multipleTextColor: 'accentTextPrimary',
126
+ noOptionsTextColor: 'surfaceTextPrimary',
127
+ optionBorder: 'none',
128
+ optionFill: 'surfacePrimary',
129
+ optionFillActive: 'accentPrimary',
130
+ optionFillActiveHover: 'accentSecondary',
131
+ optionFillHover: 'surfaceSecondary',
132
+ optionSelectedIconFillIcon: 'successItemPrimary',
133
+ optionTextColor: 'surfaceTextPrimary',
134
+ optionTextColorActive: 'accentTextPrimary',
135
+ placeholderTextColor: 'surfaceTextQuaternary',
136
+ requiredInputBorderColor: 'warningBorderPrimary',
137
+ },
138
+ };
139
+
140
+ const selectAppearanceRequire = {
141
+ requirePrimary: {
142
+ fill: 'warningTertiary',
143
+ fillHover: 'warningTertiary',
144
+ optionFillDisabled: 'surfaceSecondary',
145
+ optionTextColorDisabled: 'surfaceTextQuaternary',
146
+ borderColor: 'surfaceBorderTertiary',
147
+ borderColorHover: 'surfaceBorderQuaternary',
148
+ elevation: 8,
149
+ badgeAppearance: 'accent',
150
+ clearIconFill: 'surfaceItemQuaternary',
151
+ dropdownIconFill: 'surfaceItemQuaternary',
152
+ groupFill: 'surfaceSecondary',
153
+ groupTextColor: 'surfaceTextPrimary',
154
+ groupTextWeight: '600',
155
+ inputCaretColor: 'accentPrimary',
156
+ inputTextColor: 'surfaceTextPrimary',
157
+ loaderAppearance: 'accentPrimary sizeS ghost',
158
+ loadingMessageTextColor: 'surfaceTextPrimary',
159
+ menuFill: 'surfacePrimary',
160
+ multipleItemFill: 'accentPrimary',
161
+ multipleItemFillHover: 'accentSecondary',
162
+ multipleItemIconFill: 'accentItemPrimary',
163
+ multipleItemTextColor: 'accentTextPrimary',
164
+ multipleTextColor: 'accentTextPrimary',
165
+ noOptionsTextColor: 'surfaceTextPrimary',
166
+ optionBorder: 'none',
167
+ optionFill: 'surfacePrimary',
168
+ optionFillActive: 'accentPrimary',
169
+ optionFillActiveHover: 'accentSecondary',
170
+ optionFillHover: 'surfaceSecondary',
171
+ optionSelectedIconFillIcon: 'successItemPrimary',
172
+ optionTextColor: 'surfaceTextPrimary',
173
+ optionTextColorActive: 'accentTextPrimary',
174
+ placeholderTextColor: 'surfaceTextQuaternary',
175
+ requiredInputBorderColor: 'warningBorderPrimary',
176
+ },
177
+ };
178
+
179
+ const selectAppearanceShape = {
180
+ rounded: {
181
+ multipleItemShapeRadius: '1m',
182
+ shape: 'rounded',
183
+ },
184
+ roundedXL: {
185
+ multipleItemShapeRadius: '1m',
186
+ shape: 'rounded',
187
+ shapeStrength: '2m',
188
+ },
189
+ roundedL: {
190
+ multipleItemShapeRadius: '1m',
191
+ shape: 'rounded',
192
+ shapeStrength: '1_5m',
193
+ },
194
+ roundedM: {
195
+ multipleItemShapeRadius: '1m',
196
+ shape: 'rounded',
197
+ shapeStrength: '1m',
198
+ },
199
+ roundedS: {
200
+ multipleItemShapeRadius: '1m',
201
+ shape: 'rounded',
202
+ shapeStrength: '0_5m',
203
+ },
204
+ };
205
+
206
+ const selectAppearanceSize = {
207
+ sizeXL: {
208
+ size: 'xl',
209
+ textLoadingMessageAppearance: 'sizeM',
210
+ badgeSize: 'm',
211
+ badgeTextSize: 'm',
212
+ clearIcon: _default.icons24.Action.Clear,
213
+ dividerSize: 'xxs',
214
+ dropdownIcon: _default.icons24.Arrow.ChevronDownSmall,
215
+ groupTextSize: 'm',
216
+ headingTextWeight: '600',
217
+ inputTextSize: 'm',
218
+ menuItemSize: 'l',
219
+ multipleItemIcon: _default.icons16.Action.Close,
220
+ multipleItemTextSize: 's',
221
+ noOptionsTextSize: 's',
222
+ optionSelectedIcon: _default.icons16.Form.Check,
223
+ optionTextSize: 'm',
224
+ placeholderTextSize: 'm',
225
+ },
226
+ sizeL: {
227
+ size: 'l',
228
+ textLoadingMessageAppearance: 'sizeM',
229
+ badgeSize: 'm',
230
+ badgeTextSize: 'm',
231
+ clearIcon: _default.icons24.Action.Clear,
232
+ dividerSize: 'xxs',
233
+ dropdownIcon: _default.icons24.Arrow.ChevronDownSmall,
234
+ groupTextSize: 'm',
235
+ headingTextWeight: '600',
236
+ inputTextSize: 'm',
237
+ menuItemSize: 'l',
238
+ multipleItemIcon: _default.icons16.Action.Close,
239
+ multipleItemTextSize: 's',
240
+ noOptionsTextSize: 'm',
241
+ optionSelectedIcon: _default.icons16.Form.Check,
242
+ optionTextSize: 'm',
243
+ placeholderTextSize: 'm',
244
+ },
245
+ sizeM: {
246
+ size: 'm',
247
+ textLoadingMessageAppearance: 'sizeM',
248
+ badgeSize: 'm',
249
+ badgeTextSize: 'm',
250
+ clearIcon: _default.icons24.Action.Clear,
251
+ dividerSize: 'xxs',
252
+ dropdownIcon: _default.icons24.Arrow.ChevronDownSmall,
253
+ groupTextSize: 'm',
254
+ inputTextSize: 'm',
255
+ loadingMessageTextSize: 'm',
256
+ menuItemSize: 'l',
257
+ multipleItemIcon: _default.icons14.Action.Close,
258
+ multipleItemTextSize: 'xs ',
259
+ noOptionsTextSize: 'm',
260
+ optionSelectedIcon: _default.icons14.Form.Check,
261
+ optionTextSize: 'm',
262
+ placeholderTextSize: 'm',
263
+ },
264
+ sizeS: {
265
+ size: 's',
266
+ textLoadingMessageAppearance: 'sizeS',
267
+ badgeSize: 'm',
268
+ badgeTextSize: 'm',
269
+ clearIcon: _default.icons24.Action.Clear,
270
+ dividerSize: 'xxs',
271
+ dropdownIcon: _default.icons24.Arrow.ChevronDownSmall,
272
+ groupTextSize: 'm',
273
+ headingTextWeight: '600',
274
+ inputTextSize: 's',
275
+ menuItemSize: 'l',
276
+ multipleItemIcon: _default.icons14.Action.Close,
277
+ multipleItemTextSize: 'xs ',
278
+ noOptionsTextSize: 's',
279
+ optionSelectedIcon: _default.icons14.Form.Check,
280
+ optionTextSize: 's',
281
+ placeholderTextSize: 's',
282
+ },
283
+ sizeXS: {
284
+ size: 'xs',
285
+ textLoadingMessageAppearance: 'sizeXS',
286
+ badgeSize: 'm',
287
+ badgeTextSize: 'm',
288
+ clearIcon: _default.icons16.Action.Clear,
289
+ dividerSize: 'xxs',
290
+ dropdownIcon: _default.icons16.Arrow.ChevronDownSmall,
291
+ groupTextSize: 'm',
292
+ headingTextWeight: '600',
293
+ inputTextSize: 'xs ',
294
+ menuItemSize: 'l',
295
+ multipleItemIcon: _default.icons12.Action.Close,
296
+ multipleItemTextSize: 'xxs',
297
+ noOptionsTextSize: 'xs',
298
+ // optionSelectedIcon: icons12.Form.Check,
299
+ optionTextSize: 'xs',
300
+ placeholderTextSize: 'xs',
301
+ },
302
+ sizeXXS: {
303
+ size: 'xxs',
304
+ textLoadingMessageAppearance: 'sizeXS',
305
+ badgeSize: 'm',
306
+ badgeTextSize: 'm',
307
+ clearIcon: _default.icons16.Action.Clear,
308
+ dividerSize: 'xxs',
309
+ dropdownIcon: _default.icons16.Arrow.ChevronDownSmall,
310
+ groupTextSize: 'm',
311
+ headingTextWeight: '600',
312
+ inputTextSize: 'xs',
313
+ menuItemSize: 'l',
314
+ multipleItemIcon: _default.icons12.Action.Close,
315
+ // optionSelectedIcon: icons12.Form.Check,
316
+ multipleItemTextSize: 'xxs',
317
+ noOptionsTextSize: 'xs',
318
+ optionTextSize: 'xs',
319
+ placeholderTextSize: 'xs',
320
+ },
321
+ };
322
+
323
+ const selectAppearanceStyle = {
324
+ solid: {
325
+ borderColor: 'none',
326
+ borderColorHover: 'none',
327
+ },
328
+ outlined: {
329
+ fill: 'none',
330
+ fillHover: 'none',
331
+ },
332
+ full: {},
333
+ ghost: {
334
+ fill: 'none',
335
+ borderColor: 'none',
336
+ borderColorHover: 'none',
337
+ },
338
+ };
339
+
340
+ const selectAppearanceSuccess = {
341
+ successPrimary: {
342
+ fill: 'successTertiary',
343
+ fillHover: 'successTertiary',
344
+ optionFillDisabled: 'surfaceSecondary',
345
+ optionTextColorDisabled: 'surfaceTextQuaternary',
346
+ borderColor: 'surfaceBorderTertiary',
347
+ borderColorHover: 'surfaceBorderQuaternary',
348
+ elevation: 8,
349
+ badgeAppearance: 'accent',
350
+ clearIconFill: 'surfaceItemQuaternary',
351
+ dropdownIconFill: 'surfaceItemQuaternary',
352
+ groupFill: 'surfaceSecondary',
353
+ groupTextColor: 'surfaceTextPrimary',
354
+ groupTextWeight: '600',
355
+ inputCaretColor: 'accentPrimary',
356
+ inputTextColor: 'surfaceTextPrimary',
357
+ loaderAppearance: 'accentPrimary sizeS ghost',
358
+ loadingMessageTextColor: 'surfaceTextPrimary',
359
+ menuFill: 'surfacePrimary',
360
+ multipleItemFill: 'accentPrimary',
361
+ multipleItemFillHover: 'accentSecondary',
362
+ multipleItemIconFill: 'accentItemPrimary',
363
+ multipleItemTextColor: 'accentTextPrimary',
364
+ multipleTextColor: 'accentTextPrimary',
365
+ noOptionsTextColor: 'surfaceTextPrimary',
366
+ optionBorder: 'none',
367
+ optionFill: 'surfacePrimary',
368
+ optionFillActive: 'accentPrimary',
369
+ optionFillActiveHover: 'accentSecondary',
370
+ optionFillHover: 'surfaceSecondary',
371
+ optionSelectedIconFillIcon: 'successItemPrimary',
372
+ optionTextColor: 'surfaceTextPrimary',
373
+ optionTextColorActive: 'accentTextPrimary',
374
+ placeholderTextColor: 'surfaceTextQuaternary',
375
+ requiredInputBorderColor: 'warningBorderPrimary',
376
+ },
377
+ };
378
+
379
+ const selectAppearance = {
380
+ ...selectAppearanceRequire,
381
+ ...selectAppearanceDefault,
382
+ ...selectAppearanceDisabled,
383
+ ...selectAppearanceSuccess,
384
+ ...selectAppearanceSize,
385
+ ...selectAppearanceError,
386
+ ...selectAppearanceShape,
387
+ ...selectAppearanceStyle,
388
+ };
389
+
390
+ const SelectControl = (props) => {
391
+ const { before, after } = props.selectProps;
392
+ return (jsxRuntime.jsxs(React.Fragment, { children: [before, jsxRuntime.jsx(Select.components.Control, { ...props, className: clsx('select__control') }), after] }));
393
+ };
394
+
395
+ // For use memo need to check "DropdownIndicator" props
396
+ // const SelectDropdownIndicator = React.memo(
397
+ const SelectDropdownIndicator = (props) => {
398
+ const { children } = props;
399
+ const { dropdownFillHover, dropdownIcon, dropdownIconFill, dropdownIconShape, } = props.selectProps;
400
+ return (jsxRuntime.jsx(Select.components.DropdownIndicator, { ...props, children: dropdownIcon ? (jsxRuntime.jsx(Icon.Icon, { fillHover: dropdownFillHover, iconFill: dropdownIconFill, shape: dropdownIconShape, SvgImage: dropdownIcon })) : (children) }));
401
+ };
402
+
403
+ const SelectGroupHeading = (props) => {
404
+ const { groupFill, groupTextColor, groupTextSize, groupTextWeight } = props.selectProps;
405
+ return (jsxRuntime.jsx(Select.components.GroupHeading, { ...props, className: clsx('select__menu-group-heading', groupFill && `fill_${groupFill}`), children: jsxRuntime.jsx(Text.Text, { size: groupTextSize, textColor: groupTextColor, textWeight: groupTextWeight, children: props.data.label }) }));
406
+ };
407
+
408
+ const SelectIndicatorsContainer = (props) => {
409
+ const { badgeAppearance, badgeSize, badgeTextSize, showBadge, value } = props.selectProps;
410
+ return (jsxRuntime.jsxs(Select.components.IndicatorsContainer, { ...props, children: [showBadge &&
411
+ value &&
412
+ // @ts-expect-error
413
+ value?.length > 0 ? (jsxRuntime.jsx(Icon.Badge, { appearance: badgeAppearance, size: badgeSize, textSize: badgeTextSize,
414
+ // @ts-expect-error
415
+ value: value.length.toString() })) : null, props.children] }));
416
+ };
417
+
418
+ const SelectInput = (props) => {
419
+ const { inputCaretColor, inputTextColor, inputTextSize } = props.selectProps;
420
+ return (jsxRuntime.jsx(Select.components.Input, { ...props, className: clsx(inputTextSize && `text_size_${inputTextSize}`, inputTextColor && `text-color_${inputTextColor}`, inputCaretColor && `caret-color_${inputCaretColor}`) }));
421
+ };
422
+
423
+ const SelectLoadingIndicator = (props) => {
424
+ const { loaderAppearance, isLoading } = props.selectProps;
425
+ return isLoading && jsxRuntime.jsx(Loader.Loader, { appearance: loaderAppearance });
426
+ };
427
+
428
+ const SelectMenu = (props) => {
429
+ const { elevation, menuAfter, menuBefore, menuFill, menuShape, menuShapeStrength, } = props.selectProps;
430
+ return (jsxRuntime.jsxs(Select.components.Menu, { ...props, className: clsx(menuFill && `fill_${menuFill}`, menuShape && `shape_${menuShape}`, menuShapeStrength && `shape-strength_${menuShapeStrength}`, elevation && `elevation_${elevation}`), children: [menuBefore, props.selectProps.fetchingData ? (jsxRuntime.jsx("span", { className: "fetching", children: "Fetching data..." })) : (jsxRuntime.jsx(React.Fragment, { children: props.children })), menuAfter] }));
431
+ };
432
+
433
+ const SelectMultiValueContainer = (props) => {
434
+ const { multipleItemFill, multipleItemFillHover, multipleItemShapeRadius } = props.selectProps;
435
+ return (jsxRuntime.jsx(Select.components.MultiValueContainer, { ...props, children: jsxRuntime.jsx(Group.Group, { className: clsx('select__multi-value-item'), direction: "horizontal", alignItems: "center", fill: multipleItemFill, fillHover: multipleItemFillHover, borderRadius: multipleItemShapeRadius, gap: "0.5m", children: props.children }) }));
436
+ };
437
+
438
+ const SelectMultiValueLabel = (props) => {
439
+ const { multipleItemTextColor, multipleItemTextSize } = props.selectProps;
440
+ return (jsxRuntime.jsx(Select.components.MultiValueLabel, { ...props, children: props.data && (jsxRuntime.jsx(Text.Text, { size: multipleItemTextSize, textColor: multipleItemTextColor, children: props.data.label })) }));
441
+ };
442
+
443
+ const SelectMultiValueRemove = (props) => {
444
+ const { multipleItemIcon, multipleItemIconFill } = props.selectProps;
445
+ return (jsxRuntime.jsx(Select.components.MultiValueRemove, { ...props, children: jsxRuntime.jsx(Icon.Icon, { iconFill: multipleItemIconFill, SvgImage: multipleItemIcon }) }));
446
+ };
447
+
448
+ const SelectNoOptions = (props) => {
449
+ const { inputValue, noOptionsSearchText, noOptionsText, noOptionsTextColor, noOptionsTextSize, optionFill, } = props.selectProps;
450
+ return (jsxRuntime.jsx(Select.components.NoOptionsMessage, { ...props, className: clsx(optionFill && `fill_${optionFill}`), children: jsxRuntime.jsx(Group.Group, { textAlign: "center", children: jsxRuntime.jsx(Text.Text, { size: noOptionsTextSize, textColor: noOptionsTextColor, children: inputValue && noOptionsSearchText
451
+ ? noOptionsSearchText
452
+ : noOptionsText }) }) }));
453
+ };
454
+
455
+ const SelectOption = (props) => {
456
+ const { label, isSelected } = props;
457
+ const { optionFillActiveDisabled, optionFillDisabled, optionTextColorDisabled, dividerDirection, dividerFill, dividerSize, menuItemSize, optionAfter, optionBefore, optionBorder, optionBorderType, optionFill, optionFillActive, optionFillActiveHover, optionFillHover, optionSelectedIcon, optionSelectedIconFillIcon, optionSelectedIconSize, optionSelectedIconSrc, optionShape, optionShapeStrength, optionTextColor, optionTextColorActive, optionTextSize, showDivider, } = props.selectProps;
458
+ return (jsxRuntime.jsxs(Select.components.Option, { ...props, className: clsx('select__menu-list-item', isSelected || props.isSelected
459
+ ? !props.isDisabled
460
+ ? optionFillActive && `fill_active_${optionFillActive}`
461
+ : optionFillActiveDisabled &&
462
+ `fill_active_disabled_${optionFillActiveDisabled}`
463
+ : !props.isDisabled
464
+ ? optionFill && `fill_${optionFill}`
465
+ : optionFillDisabled && `fill_${optionFillDisabled}`, (isSelected || props.isSelected) &&
466
+ !props.isDisabled &&
467
+ optionFillActiveHover &&
468
+ `fill_active_hover_${optionFillActiveHover}`, !isSelected &&
469
+ !props.isSelected &&
470
+ !props.isDisabled &&
471
+ optionFillHover &&
472
+ `fill_hover_${optionFillHover}`, isSelected && 'select__menu-list-item_state_selected', menuItemSize && `select__menu-list-item_size_${menuItemSize}`, optionBorder && `border-color_${optionBorder}`, optionBorderType && `border_type_${optionBorderType}`, optionShape && `shape_${optionShape}`, optionShapeStrength && `shape-strength_${optionShapeStrength}`), children: [optionBefore, jsxRuntime.jsx(Text.Text, { className: "select__menu-list-item_option", size: optionTextSize, textColor: optionTextColor, textColorActive: optionTextColorActive, textColorDisabled: optionTextColorDisabled, isDisabled: props.isDisabled, isActive: props.isSelected || isSelected, children: label }), (isSelected || props.isSelected) && (jsxRuntime.jsx("div", { className: "select__menu-list-item_selected", children: jsxRuntime.jsx(Icon.Icon, { iconFill: optionSelectedIconFillIcon, iconSize: optionSelectedIconSize, imageSrc: optionSelectedIconSrc, SvgImage: optionSelectedIcon }) })), optionAfter, showDivider && (jsxRuntime.jsx(Divider.Divider, { width: "fill", direction: dividerDirection, size: dividerSize, fill: dividerFill }))] }));
473
+ };
474
+
475
+ const SelectPlaceholder = (props) => {
476
+ const { placeholderTextColor, placeholderTextSize } = props.selectProps;
477
+ return (jsxRuntime.jsx(Select.components.Placeholder, { ...props, children: jsxRuntime.jsx(Text.Text, { size: placeholderTextSize, textColor: placeholderTextColor, children: props.children }) }));
478
+ };
479
+
480
+ const SelectSingleValue = (props) => {
481
+ const { data } = props;
482
+ const { inputTextColor, inputTextSize } = props.selectProps;
483
+ return (jsxRuntime.jsxs(Select.components.SingleValue, { ...props, children: [data && data.optionBefore, jsxRuntime.jsx(Text.Text, { size: inputTextSize, textColor: inputTextColor, children: props.children }), data && data.optionAfter] }));
484
+ };
485
+
486
+ const SelectValueContainer = (props) => {
487
+ const { inputAfter, inputBefore } = props.selectProps;
488
+ return (jsxRuntime.jsxs(Select.components.ValueContainer, { ...props, children: [inputBefore, props.children, inputAfter] }));
489
+ };
490
+
491
+ const selectConfig = {
492
+ appearance: selectAppearance,
493
+ setAppearance: (appearanceConfig) => {
494
+ selectConfig.appearance = appearanceConfig;
495
+ },
496
+ };
497
+ const SelectContainer = React.forwardRef(function SelectContainer(props, ref) {
498
+ const { appearance = '', className, width, minWidth, initialValue, badgeAppearance, badgeSize, defaultValue, dividerDirection, filterOption, hideSelectedOptions, hideValueContainer, inputAfter, inputBefore, instanceId, loaderAppearance, loadingMessageText, menuAfter, menuBefore, menuIsOpen, menuItemSize, noOptionsSearchText, noOptionsText, optionAfter, optionBefore, options, placeholder, showBadge, showDivider, value, before, after, openMenuOnClick, closeMenuOnSelect, isDisabled, isClearable, isCreatable, isLoading, isMulti, isSearchable, set, onChange, onInputChange, } = props;
499
+ const defaultRef = React.useRef(null);
500
+ const selectRef = ref || defaultRef;
501
+ const SelectComponent = isCreatable
502
+ ? CreatableSelect
503
+ : Select;
504
+ React.useEffect(() => {
505
+ // @ts-expect-error
506
+ const onClickOutside = (event) => {
507
+ const isTargetSelectContainer =
508
+ // maybe here ".contains()"?
509
+ event.target.hasClass &&
510
+ event.target.hasClass('select_state_hide-value-container');
511
+ if ('current' in selectRef &&
512
+ selectRef.current &&
513
+ selectRef.current.controlRef) {
514
+ const isTargetInsideController = selectRef.current.controlRef.contains(event.target);
515
+ if (!isTargetSelectContainer && !isTargetInsideController) {
516
+ // @ts-expect-error
517
+ selectRef.current?.onInputBlur();
518
+ }
519
+ }
520
+ };
521
+ if (hideValueContainer) {
522
+ document.addEventListener('click', onClickOutside);
523
+ }
524
+ return () => {
525
+ if (hideValueContainer) {
526
+ document.removeEventListener('click', onClickOutside);
527
+ }
528
+ };
529
+ }, [hideValueContainer, selectRef]);
530
+ const clearStyle = React.useMemo(() => new Proxy({
531
+ container: {
532
+ width: width,
533
+ minWidth: minWidth,
534
+ },
535
+ }, {
536
+ get: (target, prop) => {
537
+ if (prop in target) {
538
+ return () => target[prop];
539
+ }
540
+ return () => { };
541
+ },
542
+ }), [minWidth, width]);
543
+ const appearanceConfig = useAppearanceConfig.useAppearanceConfig(appearance, selectConfig, isDisabled);
544
+ const propsGenerator = useDevicePropsGenerator.useDevicePropsGenerator(props, appearanceConfig);
545
+ const { fillClass, fillHoverClass, borderColorClass, borderColorHoverClass, elevation, badgeTextSize, clearIcon, clearIconFill, dividerFill, dividerSize, dropdownFillHover, dropdownIcon, dropdownIconFill, dropdownIconShape, groupFillClass, groupTextColorClass, groupTextSizeClass, groupTextWeightClass, inputCaretColorClass, inputTextColorClass, inputTextSizeClass, loadingMessageTextColor, loadingMessageTextSize, menuFillClass, multipleItemFill, multipleItemFillHover, multipleItemIcon, multipleItemIconFill, multipleItemShapeRadius, multipleItemTextColorClass, multipleItemTextSizeClass, noOptionsTextColorClass, noOptionsTextSizeClass, optionBorderClass, optionBorderTypeClass, optionFillActiveClass, optionFillActiveDisabledClass, optionFillActiveHoverClass, optionFillClass, optionFillDisabledClass, optionFillHoverClass, optionSelectedIcon, optionSelectedIconFillIcon, optionSelectedIconSize, optionSelectedIconSrc, optionTextColorActiveClass, optionTextColorClass, optionTextColorDisabled, optionTextSizeClass, placeholderTextColor, placeholderTextSize, shapeClass, shapeStrengthClass, sizeClass, widthClass, } = propsGenerator;
546
+ return (jsxRuntime.jsx(SelectComponent, { className: clsx(className, 'select', shapeClass && `shape_${shapeClass}`, shapeStrengthClass && `shape-strength_${shapeStrengthClass}`, fillClass && `fill_${fillClass}`, fillHoverClass && `fill_hover_${fillHoverClass}`, borderColorClass && `border-color_${borderColorClass}`, borderColorHoverClass && `border-color_hover_${borderColorHoverClass}`, sizeClass && `select_size_${sizeClass}`, hideValueContainer && 'select_state_hide-value-container', set && `select_set_${set}`, widthClass && `select_width_${widthClass}`), ref: selectRef, elevation: elevation, badgeAppearance: badgeAppearance, badgeSize: badgeSize, badgeTextSize: badgeTextSize, classNamePrefix: "select", clearIcon: clearIcon, clearIconFill: clearIconFill, components: {
547
+ IndicatorSeparator: () => null,
548
+ ClearIndicator: SelectClearIndicator,
549
+ Control: SelectControl,
550
+ DropdownIndicator: SelectDropdownIndicator,
551
+ GroupHeading: SelectGroupHeading,
552
+ IndicatorsContainer: SelectIndicatorsContainer,
553
+ Input: SelectInput,
554
+ LoadingIndicator: SelectLoadingIndicator,
555
+ LoadingMessage: SelectLoadingMessage,
556
+ Menu: SelectMenu,
557
+ MultiValueContainer: SelectMultiValueContainer,
558
+ MultiValueLabel: SelectMultiValueLabel,
559
+ MultiValueRemove: SelectMultiValueRemove,
560
+ NoOptionsMessage: SelectNoOptions,
561
+ Option: SelectOption,
562
+ Placeholder: SelectPlaceholder,
563
+ SingleValue: SelectSingleValue,
564
+ ValueContainer: SelectValueContainer,
565
+ }, defaultValue: defaultValue || initialValue, dividerDirection: dividerDirection, dividerFill: dividerFill, dividerSize: dividerSize, dropdownFillHover: dropdownFillHover, dropdownIcon: dropdownIcon, dropdownIconFill: dropdownIconFill, dropdownIconShape: dropdownIconShape, filterOption: filterOption, groupFill: groupFillClass, groupTextColor: groupTextColorClass, groupTextSize: groupTextSizeClass, groupTextWeight: groupTextWeightClass, hideSelectedOptions: hideSelectedOptions ?? false, inputAfter: inputAfter, inputBefore: inputBefore, inputCaretColor: inputCaretColorClass, inputShape: shapeClass, inputShapeStrength: shapeStrengthClass, inputTextColor: inputTextColorClass, inputTextSize: inputTextSizeClass, instanceId: instanceId, loaderAppearance: loaderAppearance, loadingMessageText: loadingMessageText, loadingMessageTextColor: loadingMessageTextColor, loadingMessageTextSize: loadingMessageTextSize, menuAfter: menuAfter, menuBefore: menuBefore, menuFill: menuFillClass, menuIsOpen: menuIsOpen, menuItemSize: menuItemSize, menuShape: shapeClass, menuShapeStrength: shapeStrengthClass, multipleItemFill: multipleItemFill, multipleItemFillHover: multipleItemFillHover, multipleItemIcon: multipleItemIcon, multipleItemIconFill: multipleItemIconFill, multipleItemShapeRadius: multipleItemShapeRadius, multipleItemSize: sizeClass, multipleItemTextColor: multipleItemTextColorClass, multipleItemTextSize: multipleItemTextSizeClass, noOptionBorder: optionBorderClass && `border-color_${optionBorderClass}`, noOptionBorderType: optionBorderTypeClass && `border_type_${optionBorderTypeClass}`, noOptionsFill: optionFillClass && `fill_${optionFillClass}`, noOptionsSearchText: noOptionsSearchText, noOptionsText: noOptionsText, noOptionsTextColor: noOptionsTextColorClass, noOptionsTextSize: noOptionsTextSizeClass, optionAfter: optionAfter, optionBefore: optionBefore, optionBorder: optionBorderClass, optionBorderType: optionBorderTypeClass, optionFill: optionFillClass, optionFillActive: optionFillActiveClass, optionFillActiveDisabledClass: optionFillActiveDisabledClass, optionFillActiveHover: optionFillActiveHoverClass, optionFillDisabled: optionFillDisabledClass, optionFillHover: optionFillHoverClass, options: options, optionSelectedIcon: optionSelectedIcon, optionSelectedIconFillIcon: optionSelectedIconFillIcon, optionSelectedIconSize: optionSelectedIconSize, optionSelectedIconSrc: optionSelectedIconSrc, optionShape: shapeClass, optionShapeStrength: shapeStrengthClass, optionTextColor: optionTextColorClass, optionTextColorActive: optionTextColorActiveClass, optionTextColorDisabled: optionTextColorDisabled, optionTextSize: optionTextSizeClass, placeholder: placeholder, placeholderTextColor: placeholderTextColor, placeholderTextSize: placeholderTextSize, showBadge: showBadge, showDivider: showDivider, styles: clearStyle, value: value, before: before, after: after, openMenuOnClick: openMenuOnClick, closeMenuOnSelect: closeMenuOnSelect ?? true, isDisabled: isDisabled, isClearable: isClearable ?? false, isLoading: isLoading, isMulti: isMulti ?? false, isSearchable: isSearchable ?? false, set: set, onChange: onChange, onInputChange: onInputChange }));
566
+ });
567
+
568
+ exports.SelectClearIndicator = SelectClearIndicator;
569
+ exports.SelectContainer = SelectContainer;
570
+ exports.SelectControl = SelectControl;
571
+ exports.SelectDropdownIndicator = SelectDropdownIndicator;
572
+ exports.SelectGroupHeading = SelectGroupHeading;
573
+ exports.SelectIndicatorsContainer = SelectIndicatorsContainer;
574
+ exports.SelectInput = SelectInput;
575
+ exports.SelectMenu = SelectMenu;
576
+ exports.SelectMultiValueContainer = SelectMultiValueContainer;
577
+ exports.SelectMultiValueLabel = SelectMultiValueLabel;
578
+ exports.SelectMultiValueRemove = SelectMultiValueRemove;
579
+ exports.SelectOption = SelectOption;
580
+ exports.SelectPlaceholder = SelectPlaceholder;
581
+ exports.SelectSingleValue = SelectSingleValue;
582
+ exports.SelectValueContainer = SelectValueContainer;
583
+ exports.selectConfig = selectConfig;