@eightshift/ui-components 1.7.2 → 1.8.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 (111) hide show
  1. package/dist/{Button-VbCAu4hd.js → Button-Xa6Ny0p_.js} +7 -7
  2. package/dist/{Color-BpLubxWI.js → Color-VsesNqCf.js} +5 -17
  3. package/dist/{ColorSwatch-CinC14s3.js → ColorSwatch-xOFAZO_h.js} +4 -4
  4. package/dist/ComboBox-CP_SqnqT.js +1886 -0
  5. package/dist/Dialog-jcIYer1n.js +2177 -0
  6. package/dist/{FieldError-BttM1Nxd.js → FieldError-BPe3YgNH.js} +2 -2
  7. package/dist/{FocusScope-CtCX0OGo.js → FocusScope-uV-xoRHT.js} +8 -9
  8. package/dist/{Group-XzWUooix.js → Group-Bvmb49y7.js} +5 -5
  9. package/dist/{Heading-DZelepHV.js → Heading-Bfhyr4ZC.js} +1 -1
  10. package/dist/{Hidden-CcFqOzrp.js → Hidden-7ZhNuLM9.js} +2 -2
  11. package/dist/{Input-CV1qVS6t.js → Input-C2dTSp9z.js} +10 -10
  12. package/dist/{Label-BwqMVkuV.js → Label-DqNX_sAU.js} +2 -2
  13. package/dist/{List-Bx2anbX-.js → List-C7L49CxW.js} +1 -1
  14. package/dist/{ListBox-DuZPdnkk.js → ListBox-B9r1QoSm.js} +19 -18
  15. package/dist/{NumberFormatter-U_Gx0UDq.js → NumberFormatter-DA8u1Ot7.js} +4 -6
  16. package/dist/OverlayArrow-ClRhYjQu.js +567 -0
  17. package/dist/{Select-c7902d94.esm-DtzFQzf-.js → Select-aab027f3.esm-B8nEum75.js} +4 -4
  18. package/dist/{SelectionManager-x27KqnAT.js → SelectionManager-DP537Pbu.js} +177 -141
  19. package/dist/{Separator-BM58t3PP.js → Separator-Dmxzf3m_.js} +62 -52
  20. package/dist/{Slider-D9Cs6yKr.js → Slider-BgHBCyI7.js} +16 -14
  21. package/dist/{Text-BVIXT8qq.js → Text-DImhB4rT.js} +1 -1
  22. package/dist/{VisuallyHidden-WhC7vZaL.js → VisuallyHidden-wryJF4qQ.js} +2 -2
  23. package/dist/assets/style.css +1 -1
  24. package/dist/assets/wp-ui-enhancements.css +1 -1
  25. package/dist/components/animated-visibility/animated-visibility.js +141 -113
  26. package/dist/components/base-control/base-control.js +1 -1
  27. package/dist/components/button/button.js +10 -7
  28. package/dist/components/checkbox/checkbox.js +19 -11
  29. package/dist/components/color-pickers/color-picker.js +1 -1
  30. package/dist/components/color-pickers/color-swatch.js +3 -3
  31. package/dist/components/color-pickers/gradient-editor.js +2 -2
  32. package/dist/components/color-pickers/solid-color-picker.js +21 -21
  33. package/dist/components/component-toggle/component-toggle.js +1 -1
  34. package/dist/components/draggable/draggable-handle.js +2 -2
  35. package/dist/components/draggable/draggable.js +2 -2
  36. package/dist/components/draggable-list/draggable-list-item.js +2 -2
  37. package/dist/components/draggable-list/draggable-list.js +2 -2
  38. package/dist/components/expandable/expandable.js +3 -3
  39. package/dist/components/index.js +8 -4
  40. package/dist/components/input-field/input-field.js +7 -7
  41. package/dist/components/item-collection/item-collection.js +1 -1
  42. package/dist/components/link-input/link-input.js +10 -1872
  43. package/dist/components/list-box/list-box.js +2 -2
  44. package/dist/components/matrix-align/matrix-align.js +2 -2
  45. package/dist/components/menu/menu.js +7 -974
  46. package/dist/components/modal/modal.js +7 -7
  47. package/dist/components/number-picker/number-picker.js +10 -10
  48. package/dist/components/option-select/option-select.js +1 -1
  49. package/dist/components/options-panel/options-panel.js +1 -1
  50. package/dist/components/placeholders/file-placeholder.js +1 -1
  51. package/dist/components/popover/popover.js +2 -2
  52. package/dist/components/radio/radio.js +13 -13
  53. package/dist/components/repeater/repeater-item.js +1 -1
  54. package/dist/components/repeater/repeater.js +2 -2
  55. package/dist/components/responsive/mini-responsive.js +3 -3
  56. package/dist/components/responsive/responsive-legacy.js +2 -2
  57. package/dist/components/responsive/responsive.js +2 -2
  58. package/dist/components/responsive-preview/responsive-preview.js +1 -1
  59. package/dist/components/select/async-multi-select.js +3 -3
  60. package/dist/components/select/async-single-select.js +2 -2
  61. package/dist/components/select/custom-select-default-components.js +1 -1
  62. package/dist/components/select/multi-select-components.js +1 -1
  63. package/dist/components/select/multi-select.js +3 -3
  64. package/dist/components/select/react-select-component-wrappers.js +1 -1
  65. package/dist/components/select/single-select.js +2 -2
  66. package/dist/components/select/v2/async-select.js +307 -0
  67. package/dist/components/select/v2/shared.js +24 -0
  68. package/dist/components/select/v2/single-select.js +993 -0
  69. package/dist/components/slider/column-config-slider.js +3 -3
  70. package/dist/components/slider/slider.js +3 -3
  71. package/dist/components/slider/utils.js +1 -1
  72. package/dist/components/tabs/tabs.js +16 -16
  73. package/dist/components/toggle/switch.js +6 -6
  74. package/dist/components/toggle/toggle.js +1 -1
  75. package/dist/components/toggle-button/toggle-button.js +55 -12
  76. package/dist/components/tooltip/tooltip.js +532 -8
  77. package/dist/{context-Cs-ZD1nu.js → context-BI3VdU0Z.js} +2 -2
  78. package/dist/{default-i18n-DRnM8y4w.js → default-i18n-CM1-Xvzf.js} +183 -176
  79. package/dist/{focusSafely-CgFLw4FA.js → focusSafely-Cl9cN7Qx.js} +14 -14
  80. package/dist/icons/icons.js +19 -0
  81. package/dist/icons/jsx-svg.js +16 -3
  82. package/dist/{index-a301f526.esm-BMg114iK.js → index-641ee5b8.esm-BclOH4xf.js} +165 -29
  83. package/dist/{index-BTCzc3zb.js → index-D0mHceYg.js} +81 -17
  84. package/dist/index.js +7 -3
  85. package/dist/{multi-select-components-DTvEidE3.js → multi-select-components-BGQBvx-z.js} +55 -44
  86. package/dist/{react-jsx-parser.min-B5HVwW_W.js → react-jsx-parser.min-CVit0rZn.js} +5620 -7409
  87. package/dist/{react-select-async.esm-CxA8wpeT.js → react-select-async.esm-B8kK0aL4.js} +3 -3
  88. package/dist/{react-select.esm-CeE7o5M9.js → react-select.esm-ucYwBxq5.js} +3 -3
  89. package/dist/{textSelection-CvK0YHTZ.js → textSelection-DDDNsS-g.js} +1 -1
  90. package/dist/{useButton-Cy9eEev7.js → useButton-CRKy9xk2.js} +4 -4
  91. package/dist/{useEvent-LZebwyrb.js → useEvent-D54lIBrO.js} +1 -1
  92. package/dist/{useFocusRing-BMOTWmOx.js → useFocusRing-DKxoCzVD.js} +1 -1
  93. package/dist/{useFocusable-ByyKSVQv.js → useFocusable-CPKTGWPn.js} +4 -4
  94. package/dist/{useFormReset-B8m1uz1J.js → useFormReset-CTp--h9B.js} +1 -1
  95. package/dist/{useFormValidationState-BjMhz_VI.js → useFormValidation-BNBrliSj.js} +92 -88
  96. package/dist/{useLabel-B6uO0wVK.js → useLabel-CzGdEzIq.js} +2 -2
  97. package/dist/{useLabels-5dFkeiXx.js → useLabels-eGSmZC_Z.js} +1 -1
  98. package/dist/{useListState-eKxv7HPC.js → useListState-D7mE1Y00.js} +1 -1
  99. package/dist/{useLocalizedStringFormatter-BaKmjFNp.js → useLocalizedStringFormatter-BBeUyA9l.js} +1 -1
  100. package/dist/{useNumberField-DMMUTZ-h.js → useNumberField-BmEJmL3K.js} +27 -20
  101. package/dist/{useNumberFormatter-Cyx5Dxkf.js → useNumberFormatter-CTY_UZxq.js} +2 -2
  102. package/dist/{usePress-D8nPoIQm.js → usePress-BG9At5Lb.js} +4 -4
  103. package/dist/{useSingleSelectListState-CABciySJ.js → useSingleSelectListState-DeJEr7lC.js} +2 -2
  104. package/dist/{useToggle-BmltE9Zr.js → useToggle-QlyoyPYv.js} +4 -4
  105. package/dist/{useToggleState-DZXLEnA_.js → useToggleState-C1mnFRiI.js} +1 -1
  106. package/dist/{utils-BCJajCwh.js → utils-BSxcP7tv.js} +15 -14
  107. package/package.json +20 -20
  108. package/dist/Dialog-BN5EE7UH.js +0 -934
  109. package/dist/isScrollable-Dh9D9IOd.js +0 -9
  110. package/dist/tooltip-eKaARDoV.js +0 -1084
  111. package/dist/useMenuTrigger-4fwEmto8.js +0 -246
@@ -0,0 +1,993 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { _ as __ } from "../../../default-i18n-CM1-Xvzf.js";
3
+ import { BaseControl } from "../../base-control/base-control.js";
4
+ import { a as $d2b4bc8c273e7be6$export$24d547caef80ccd1, $ as $d2b4bc8c273e7be6$export$353f5b6fc5456de1 } from "../../../Button-Xa6Ny0p_.js";
5
+ import { a as $01b77f81d0f07f68$export$75b6ee27786ba447, $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../../Label-DqNX_sAU.js";
6
+ import { b as $eed445e0843c11d0$export$7ff8f37d2d81a48d, c as $eed445e0843c11d0$export$7c5906fe4f1f2af2, $ as $eed445e0843c11d0$export$41f133550aa26f48 } from "../../../ListBox-B9r1QoSm.js";
7
+ import { n as $168583247155ddda$export$dc9c12ed27dd1b49, k as $de32f1b87079253c$export$d2f961adcb0afbe, o as $07b14b47974efb58$export$9b9a0cd73afb7ca4, $ as $07b14b47974efb58$export$5b6b19405a83ff9d } from "../../../Dialog-jcIYer1n.js";
8
+ import { d as $3ef42575df84b30b$export$9d1611c77c2fe928, f as $bdb11010cef70236$export$f680877a34711e37, q as $ff5963eb1fccf552$export$e08e3b67e392101e, a as $64fa3d84918910a7$export$29f1550f4b0d4415, $ as $64fa3d84918910a7$export$fabf2dc03a41866e, h as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, i as $64fa3d84918910a7$export$ef03459518577ad4, b as $64fa3d84918910a7$export$4d86445c2cf5e3, j as $64fa3d84918910a7$export$2881499e37b75b9a, c as clsx } from "../../../utils-BSxcP7tv.js";
9
+ import { a as $2baaea4c71418dea$export$294aa081a6c6f55d, $ as $ee014567cb39d3f0$export$ff05c3ac10437e03 } from "../../../FieldError-BPe3YgNH.js";
10
+ import { $ as $d3e0e05bdfcf66bd$export$c24727297075ec6a } from "../../../Form-Cq3fu75_.js";
11
+ import { a as $514c0188e459b4c0$export$9afb8bc826b033ea } from "../../../Text-DImhB4rT.js";
12
+ import { n as $fb3050f43d946246$export$e32c88dfddc6e1d8, f as $e1995378a142960e$export$bf788dd355e3a401 } from "../../../SelectionManager-DP537Pbu.js";
13
+ import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../../filterDOMProps-EDDcM64A.js";
14
+ import { $ as $fc909762b330b746$export$61c6a8c84e605fb6, d as $9daab02d461809db$export$683480f191c0e3ea } from "../../../OverlayArrow-ClRhYjQu.js";
15
+ import React__default, { useMemo, useRef, useState, createContext, forwardRef, useCallback, useContext, cloneElement } from "react";
16
+ import { a as $e93e671b31057976$export$b8473d3665f3a75a, $ as $e5be200c675c3b3a$export$fc1a364ae1f3ff10 } from "../../../useFormValidation-BNBrliSj.js";
17
+ import { $ as $a0d645289fe9b86b$export$e7f05e985daf4b5f } from "../../../useSingleSelectListState-DeJEr7lC.js";
18
+ import { $ as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../../useFocusRing-DKxoCzVD.js";
19
+ import { d as $325a3faab7a68acd$export$a16aca283550c30d, e as $2a25aae57d74318e$export$a05409b8bb224a5a } from "../../../Separator-Dmxzf3m_.js";
20
+ import { i as $507fabe10e71c6fb$export$8397ddfc504fdb9a } from "../../../focusSafely-Cl9cN7Qx.js";
21
+ import { $ as $99facab73266f662$export$5add1d006293d136 } from "../../../useFormReset-CTp--h9B.js";
22
+ import { a as $5c3e21d68f1c4674$export$a966af930f325cab } from "../../../VisuallyHidden-wryJF4qQ.js";
23
+ import { $ as $fca6afa0e843324b$export$f12b703ca79dfbb1 } from "../../../useLocalizedStringFormatter-BBeUyA9l.js";
24
+ import { icons } from "../../../icons/icons.js";
25
+ import "../../../react-jsx-parser.min-CVit0rZn.js";
26
+ import { OptionItemBase } from "./shared.js";
27
+ import { RichLabel } from "../../rich-label/rich-label.js";
28
+ const $58aed456727eb0f3$export$703601b7e90536f8 = /* @__PURE__ */ new WeakMap();
29
+ function $58aed456727eb0f3$export$e64b2f635402ca43(props, state, ref) {
30
+ let { keyboardDelegate, isDisabled, isRequired, name, validationBehavior = "aria" } = props;
31
+ let collator = $325a3faab7a68acd$export$a16aca283550c30d({
32
+ usage: "search",
33
+ sensitivity: "base"
34
+ });
35
+ let delegate = useMemo(() => keyboardDelegate || new $2a25aae57d74318e$export$a05409b8bb224a5a(state.collection, state.disabledKeys, ref, collator), [
36
+ keyboardDelegate,
37
+ state.collection,
38
+ state.disabledKeys,
39
+ collator
40
+ ]);
41
+ let { menuTriggerProps, menuProps } = $168583247155ddda$export$dc9c12ed27dd1b49({
42
+ isDisabled,
43
+ type: "listbox"
44
+ }, state, ref);
45
+ let onKeyDown = (e) => {
46
+ switch (e.key) {
47
+ case "ArrowLeft": {
48
+ var _delegate_getKeyAbove, _delegate_getFirstKey;
49
+ e.preventDefault();
50
+ let key = state.selectedKey != null ? (_delegate_getKeyAbove = delegate.getKeyAbove) === null || _delegate_getKeyAbove === void 0 ? void 0 : _delegate_getKeyAbove.call(delegate, state.selectedKey) : (_delegate_getFirstKey = delegate.getFirstKey) === null || _delegate_getFirstKey === void 0 ? void 0 : _delegate_getFirstKey.call(delegate);
51
+ if (key) state.setSelectedKey(key);
52
+ break;
53
+ }
54
+ case "ArrowRight": {
55
+ var _delegate_getKeyBelow, _delegate_getFirstKey1;
56
+ e.preventDefault();
57
+ let key = state.selectedKey != null ? (_delegate_getKeyBelow = delegate.getKeyBelow) === null || _delegate_getKeyBelow === void 0 ? void 0 : _delegate_getKeyBelow.call(delegate, state.selectedKey) : (_delegate_getFirstKey1 = delegate.getFirstKey) === null || _delegate_getFirstKey1 === void 0 ? void 0 : _delegate_getFirstKey1.call(delegate);
58
+ if (key) state.setSelectedKey(key);
59
+ break;
60
+ }
61
+ }
62
+ };
63
+ let { typeSelectProps } = $fb3050f43d946246$export$e32c88dfddc6e1d8({
64
+ keyboardDelegate: delegate,
65
+ selectionManager: state.selectionManager,
66
+ onTypeSelect(key) {
67
+ state.setSelectedKey(key);
68
+ }
69
+ });
70
+ let { isInvalid, validationErrors, validationDetails } = state.displayValidation;
71
+ let { labelProps, fieldProps, descriptionProps, errorMessageProps } = $2baaea4c71418dea$export$294aa081a6c6f55d({
72
+ ...props,
73
+ labelElementType: "span",
74
+ isInvalid,
75
+ errorMessage: props.errorMessage || validationErrors
76
+ });
77
+ typeSelectProps.onKeyDown = typeSelectProps.onKeyDownCapture;
78
+ delete typeSelectProps.onKeyDownCapture;
79
+ let domProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props, {
80
+ labelable: true
81
+ });
82
+ let triggerProps = $3ef42575df84b30b$export$9d1611c77c2fe928(typeSelectProps, menuTriggerProps, fieldProps);
83
+ let valueId = $bdb11010cef70236$export$f680877a34711e37();
84
+ $58aed456727eb0f3$export$703601b7e90536f8.set(state, {
85
+ isDisabled,
86
+ isRequired,
87
+ name,
88
+ validationBehavior
89
+ });
90
+ return {
91
+ labelProps: {
92
+ ...labelProps,
93
+ onClick: () => {
94
+ if (!props.isDisabled) {
95
+ var _ref_current;
96
+ (_ref_current = ref.current) === null || _ref_current === void 0 ? void 0 : _ref_current.focus();
97
+ $507fabe10e71c6fb$export$8397ddfc504fdb9a("keyboard");
98
+ }
99
+ }
100
+ },
101
+ triggerProps: $3ef42575df84b30b$export$9d1611c77c2fe928(domProps, {
102
+ ...triggerProps,
103
+ isDisabled,
104
+ onKeyDown: $ff5963eb1fccf552$export$e08e3b67e392101e(triggerProps.onKeyDown, onKeyDown, props.onKeyDown),
105
+ onKeyUp: props.onKeyUp,
106
+ "aria-labelledby": [
107
+ valueId,
108
+ triggerProps["aria-labelledby"],
109
+ triggerProps["aria-label"] && !triggerProps["aria-labelledby"] ? triggerProps.id : null
110
+ ].filter(Boolean).join(" "),
111
+ onFocus(e) {
112
+ if (state.isFocused) return;
113
+ if (props.onFocus) props.onFocus(e);
114
+ if (props.onFocusChange) props.onFocusChange(true);
115
+ state.setFocused(true);
116
+ },
117
+ onBlur(e) {
118
+ if (state.isOpen) return;
119
+ if (props.onBlur) props.onBlur(e);
120
+ if (props.onFocusChange) props.onFocusChange(false);
121
+ state.setFocused(false);
122
+ }
123
+ }),
124
+ valueProps: {
125
+ id: valueId
126
+ },
127
+ menuProps: {
128
+ ...menuProps,
129
+ autoFocus: state.focusStrategy || true,
130
+ shouldSelectOnPressUp: true,
131
+ shouldFocusOnHover: true,
132
+ disallowEmptySelection: true,
133
+ linkBehavior: "selection",
134
+ onBlur: (e) => {
135
+ if (e.currentTarget.contains(e.relatedTarget)) return;
136
+ if (props.onBlur) props.onBlur(e);
137
+ if (props.onFocusChange) props.onFocusChange(false);
138
+ state.setFocused(false);
139
+ },
140
+ "aria-labelledby": [
141
+ fieldProps["aria-labelledby"],
142
+ triggerProps["aria-label"] && !fieldProps["aria-labelledby"] ? triggerProps.id : null
143
+ ].filter(Boolean).join(" ")
144
+ },
145
+ descriptionProps,
146
+ errorMessageProps,
147
+ isInvalid,
148
+ validationErrors,
149
+ validationDetails
150
+ };
151
+ }
152
+ function $bdd25dc72710631f$export$f809e80f58e251d1(props, state, triggerRef) {
153
+ let data = $58aed456727eb0f3$export$703601b7e90536f8.get(state) || {};
154
+ let { autoComplete, name = data.name, isDisabled = data.isDisabled } = props;
155
+ let { validationBehavior, isRequired } = data;
156
+ let { visuallyHiddenProps } = $5c3e21d68f1c4674$export$a966af930f325cab();
157
+ $99facab73266f662$export$5add1d006293d136(props.selectRef, state.selectedKey, state.setSelectedKey);
158
+ $e93e671b31057976$export$b8473d3665f3a75a({
159
+ validationBehavior,
160
+ focus: () => {
161
+ var _triggerRef_current;
162
+ return (_triggerRef_current = triggerRef.current) === null || _triggerRef_current === void 0 ? void 0 : _triggerRef_current.focus();
163
+ }
164
+ }, state, props.selectRef);
165
+ var _state_selectedKey;
166
+ return {
167
+ containerProps: {
168
+ ...visuallyHiddenProps,
169
+ "aria-hidden": true,
170
+ // @ts-ignore
171
+ ["data-react-aria-prevent-focus"]: true,
172
+ // @ts-ignore
173
+ ["data-a11y-ignore"]: "aria-hidden-focus"
174
+ },
175
+ inputProps: {
176
+ style: {
177
+ display: "none"
178
+ }
179
+ },
180
+ selectProps: {
181
+ tabIndex: -1,
182
+ autoComplete,
183
+ disabled: isDisabled,
184
+ required: validationBehavior === "native" && isRequired,
185
+ name,
186
+ value: (_state_selectedKey = state.selectedKey) !== null && _state_selectedKey !== void 0 ? _state_selectedKey : "",
187
+ onChange: (e) => state.setSelectedKey(e.target.value)
188
+ }
189
+ };
190
+ }
191
+ function $bdd25dc72710631f$export$cbd84cdb2e668835(props) {
192
+ let { state, triggerRef, label, name, isDisabled } = props;
193
+ let selectRef = useRef(null);
194
+ let { containerProps, selectProps } = $bdd25dc72710631f$export$f809e80f58e251d1({
195
+ ...props,
196
+ selectRef
197
+ }, state, triggerRef);
198
+ var _state_selectedKey;
199
+ if (state.collection.size <= 300) return /* @__PURE__ */ React__default.createElement("div", {
200
+ ...containerProps,
201
+ "data-testid": "hidden-select-container"
202
+ }, /* @__PURE__ */ React__default.createElement("label", null, label, /* @__PURE__ */ React__default.createElement("select", {
203
+ ...selectProps,
204
+ ref: selectRef
205
+ }, /* @__PURE__ */ React__default.createElement("option", null), [
206
+ ...state.collection.getKeys()
207
+ ].map((key) => {
208
+ let item = state.collection.getItem(key);
209
+ if (item && item.type === "item") return /* @__PURE__ */ React__default.createElement("option", {
210
+ key: item.key,
211
+ value: item.key
212
+ }, item.textValue);
213
+ }))));
214
+ else if (name) return /* @__PURE__ */ React__default.createElement("input", {
215
+ type: "hidden",
216
+ autoComplete: selectProps.autoComplete,
217
+ name,
218
+ disabled: isDisabled,
219
+ value: (_state_selectedKey = state.selectedKey) !== null && _state_selectedKey !== void 0 ? _state_selectedKey : ""
220
+ });
221
+ return null;
222
+ }
223
+ function $2bc3a590c5373a4e$export$5159ec8b34d4ec12(props) {
224
+ let triggerState = $fc909762b330b746$export$61c6a8c84e605fb6(props);
225
+ let [focusStrategy, setFocusStrategy] = useState(null);
226
+ let listState = $a0d645289fe9b86b$export$e7f05e985daf4b5f({
227
+ ...props,
228
+ onSelectionChange: (key) => {
229
+ if (props.onSelectionChange != null) props.onSelectionChange(key);
230
+ triggerState.close();
231
+ validationState.commitValidation();
232
+ }
233
+ });
234
+ let validationState = $e5be200c675c3b3a$export$fc1a364ae1f3ff10({
235
+ ...props,
236
+ value: listState.selectedKey
237
+ });
238
+ let [isFocused, setFocused] = useState(false);
239
+ return {
240
+ ...validationState,
241
+ ...listState,
242
+ ...triggerState,
243
+ focusStrategy,
244
+ open(focusStrategy2 = null) {
245
+ if (listState.collection.size !== 0) {
246
+ setFocusStrategy(focusStrategy2);
247
+ triggerState.open();
248
+ }
249
+ },
250
+ toggle(focusStrategy2 = null) {
251
+ if (listState.collection.size !== 0) {
252
+ setFocusStrategy(focusStrategy2);
253
+ triggerState.toggle();
254
+ }
255
+ },
256
+ isFocused,
257
+ setFocused
258
+ };
259
+ }
260
+ var $e038a7e7a6d81989$exports = {};
261
+ $e038a7e7a6d81989$exports = {
262
+ "colorSwatchPicker": `تغييرات الألوان`,
263
+ "dropzoneLabel": `DropZone`,
264
+ "selectPlaceholder": `حدد عنصرًا`,
265
+ "tableResizer": `أداة تغيير الحجم`
266
+ };
267
+ var $0ec14741b0133644$exports = {};
268
+ $0ec14741b0133644$exports = {
269
+ "colorSwatchPicker": `Цветови мостри`,
270
+ "dropzoneLabel": `DropZone`,
271
+ "selectPlaceholder": `Изберете предмет`,
272
+ "tableResizer": `Преоразмерител`
273
+ };
274
+ var $642f7badf2405784$exports = {};
275
+ $642f7badf2405784$exports = {
276
+ "colorSwatchPicker": `Vzorky barev`,
277
+ "dropzoneLabel": `Místo pro přetažení`,
278
+ "selectPlaceholder": `Vyberte položku`,
279
+ "tableResizer": `Změna velikosti`
280
+ };
281
+ var $30cee8d2535734ec$exports = {};
282
+ $30cee8d2535734ec$exports = {
283
+ "colorSwatchPicker": `Farveprøver`,
284
+ "dropzoneLabel": `DropZone`,
285
+ "selectPlaceholder": `Vælg et element`,
286
+ "tableResizer": `Størrelsesændring`
287
+ };
288
+ var $c302d0504fca332a$exports = {};
289
+ $c302d0504fca332a$exports = {
290
+ "colorSwatchPicker": `Farbfelder`,
291
+ "dropzoneLabel": `Ablegebereich`,
292
+ "selectPlaceholder": `Element wählen`,
293
+ "tableResizer": `Größenanpassung`
294
+ };
295
+ var $0d0703f2bd7e421c$exports = {};
296
+ $0d0703f2bd7e421c$exports = {
297
+ "colorSwatchPicker": `Χρωματικά δείγματα`,
298
+ "dropzoneLabel": `DropZone`,
299
+ "selectPlaceholder": `Επιλέξτε ένα αντικείμενο`,
300
+ "tableResizer": `Αλλαγή μεγέθους`
301
+ };
302
+ var $cafa55beb2fc5ef3$exports = {};
303
+ $cafa55beb2fc5ef3$exports = {
304
+ "selectPlaceholder": `Select an item`,
305
+ "tableResizer": `Resizer`,
306
+ "dropzoneLabel": `DropZone`,
307
+ "colorSwatchPicker": `Color swatches`
308
+ };
309
+ var $18ac2ceede598103$exports = {};
310
+ $18ac2ceede598103$exports = {
311
+ "colorSwatchPicker": `Muestras de colores`,
312
+ "dropzoneLabel": `DropZone`,
313
+ "selectPlaceholder": `Seleccionar un artículo`,
314
+ "tableResizer": `Cambiador de tamaño`
315
+ };
316
+ var $718705a15b8a633a$exports = {};
317
+ $718705a15b8a633a$exports = {
318
+ "colorSwatchPicker": `Värvinäidised`,
319
+ "dropzoneLabel": `DropZone`,
320
+ "selectPlaceholder": `Valige üksus`,
321
+ "tableResizer": `Suuruse muutja`
322
+ };
323
+ var $bf36dae9ecc81ce0$exports = {};
324
+ $bf36dae9ecc81ce0$exports = {
325
+ "colorSwatchPicker": `Värimallit`,
326
+ "dropzoneLabel": `DropZone`,
327
+ "selectPlaceholder": `Valitse kohde`,
328
+ "tableResizer": `Koon muuttaja`
329
+ };
330
+ var $0b4828edb010b855$exports = {};
331
+ $0b4828edb010b855$exports = {
332
+ "colorSwatchPicker": `Échantillons de couleurs`,
333
+ "dropzoneLabel": `DropZone`,
334
+ "selectPlaceholder": `Sélectionner un élément`,
335
+ "tableResizer": `Redimensionneur`
336
+ };
337
+ var $0030f210b040e540$exports = {};
338
+ $0030f210b040e540$exports = {
339
+ "colorSwatchPicker": `דוגמיות צבע`,
340
+ "dropzoneLabel": `DropZone`,
341
+ "selectPlaceholder": `בחר פריט`,
342
+ "tableResizer": `שינוי גודל`
343
+ };
344
+ var $1f0ebacf5a0c0fa1$exports = {};
345
+ $1f0ebacf5a0c0fa1$exports = {
346
+ "colorSwatchPicker": `Uzorci boja`,
347
+ "dropzoneLabel": `Zona spuštanja`,
348
+ "selectPlaceholder": `Odaberite stavku`,
349
+ "tableResizer": `Promjena veličine`
350
+ };
351
+ var $3a706ba61f3d6bba$exports = {};
352
+ $3a706ba61f3d6bba$exports = {
353
+ "colorSwatchPicker": `Színtárak`,
354
+ "dropzoneLabel": `DropZone`,
355
+ "selectPlaceholder": `Válasszon ki egy elemet`,
356
+ "tableResizer": `Átméretező`
357
+ };
358
+ var $0d17809e74607796$exports = {};
359
+ $0d17809e74607796$exports = {
360
+ "colorSwatchPicker": `Campioni di colore`,
361
+ "dropzoneLabel": `Zona di rilascio`,
362
+ "selectPlaceholder": `Seleziona un elemento`,
363
+ "tableResizer": `Ridimensionamento`
364
+ };
365
+ var $65a71f9a56f1398f$exports = {};
366
+ $65a71f9a56f1398f$exports = {
367
+ "colorSwatchPicker": `カラースウォッチ`,
368
+ "dropzoneLabel": `ドロップゾーン`,
369
+ "selectPlaceholder": `項目を選択`,
370
+ "tableResizer": `サイズ変更ツール`
371
+ };
372
+ var $e5efad074a74abef$exports = {};
373
+ $e5efad074a74abef$exports = {
374
+ "colorSwatchPicker": `색상 견본`,
375
+ "dropzoneLabel": `드롭 영역`,
376
+ "selectPlaceholder": `항목 선택`,
377
+ "tableResizer": `크기 조정기`
378
+ };
379
+ var $d70c2a849e55c607$exports = {};
380
+ $d70c2a849e55c607$exports = {
381
+ "colorSwatchPicker": `Spalvų pavyzdžiai`,
382
+ "dropzoneLabel": `„DropZone“`,
383
+ "selectPlaceholder": `Pasirinkite elementą`,
384
+ "tableResizer": `Dydžio keitiklis`
385
+ };
386
+ var $009bbbb440d0e907$exports = {};
387
+ $009bbbb440d0e907$exports = {
388
+ "colorSwatchPicker": `Krāsu paraugi`,
389
+ "dropzoneLabel": `DropZone`,
390
+ "selectPlaceholder": `Izvēlēties vienumu`,
391
+ "tableResizer": `Izmēra mainītājs`
392
+ };
393
+ var $9366fe642464ee83$exports = {};
394
+ $9366fe642464ee83$exports = {
395
+ "colorSwatchPicker": `Fargekart`,
396
+ "dropzoneLabel": `Droppsone`,
397
+ "selectPlaceholder": `Velg et element`,
398
+ "tableResizer": `Størrelsesendrer`
399
+ };
400
+ var $62f9bc1f98ea21de$exports = {};
401
+ $62f9bc1f98ea21de$exports = {
402
+ "colorSwatchPicker": `kleurstalen`,
403
+ "dropzoneLabel": `DropZone`,
404
+ "selectPlaceholder": `Selecteer een item`,
405
+ "tableResizer": `Resizer`
406
+ };
407
+ var $4ec2e5b6623b1b76$exports = {};
408
+ $4ec2e5b6623b1b76$exports = {
409
+ "colorSwatchPicker": `Próbki kolorów`,
410
+ "dropzoneLabel": `Strefa upuszczania`,
411
+ "selectPlaceholder": `Wybierz element`,
412
+ "tableResizer": `Zmiana rozmiaru`
413
+ };
414
+ var $e25098e26647cc04$exports = {};
415
+ $e25098e26647cc04$exports = {
416
+ "colorSwatchPicker": `Amostras de cores`,
417
+ "dropzoneLabel": `DropZone`,
418
+ "selectPlaceholder": `Selecione um item`,
419
+ "tableResizer": `Redimensionador`
420
+ };
421
+ var $dd39c57d242c8156$exports = {};
422
+ $dd39c57d242c8156$exports = {
423
+ "colorSwatchPicker": `Amostras de cores`,
424
+ "dropzoneLabel": `DropZone`,
425
+ "selectPlaceholder": `Selecione um item`,
426
+ "tableResizer": `Redimensionador`
427
+ };
428
+ var $3b4c1ba5afd57b35$exports = {};
429
+ $3b4c1ba5afd57b35$exports = {
430
+ "colorSwatchPicker": `Specimene de culoare`,
431
+ "dropzoneLabel": `Zonă de plasare`,
432
+ "selectPlaceholder": `Selectați un element`,
433
+ "tableResizer": `Instrument de redimensionare`
434
+ };
435
+ var $a455b2cda79eb746$exports = {};
436
+ $a455b2cda79eb746$exports = {
437
+ "colorSwatchPicker": `Цветовые образцы`,
438
+ "dropzoneLabel": `DropZone`,
439
+ "selectPlaceholder": `Выберите элемент`,
440
+ "tableResizer": `Средство изменения размера`
441
+ };
442
+ var $b983ca1383d5b960$exports = {};
443
+ $b983ca1383d5b960$exports = {
444
+ "colorSwatchPicker": `Vzorkovníky farieb`,
445
+ "dropzoneLabel": `DropZone`,
446
+ "selectPlaceholder": `Vyberte položku`,
447
+ "tableResizer": `Nástroj na zmenu veľkosti`
448
+ };
449
+ var $32a515ef673b0655$exports = {};
450
+ $32a515ef673b0655$exports = {
451
+ "colorSwatchPicker": `Barvne palete`,
452
+ "dropzoneLabel": `DropZone`,
453
+ "selectPlaceholder": `Izberite element`,
454
+ "tableResizer": `Spreminjanje velikosti`
455
+ };
456
+ var $89434176ab35446b$exports = {};
457
+ $89434176ab35446b$exports = {
458
+ "colorSwatchPicker": `Uzorci boje`,
459
+ "dropzoneLabel": `DropZone`,
460
+ "selectPlaceholder": `Izaberite stavku`,
461
+ "tableResizer": `Promena veličine`
462
+ };
463
+ var $727da781aca847f9$exports = {};
464
+ $727da781aca847f9$exports = {
465
+ "colorSwatchPicker": `Färgrutor`,
466
+ "dropzoneLabel": `DropZone`,
467
+ "selectPlaceholder": `Välj en artikel`,
468
+ "tableResizer": `Storleksändrare`
469
+ };
470
+ var $fcd2d84b9a2d489c$exports = {};
471
+ $fcd2d84b9a2d489c$exports = {
472
+ "colorSwatchPicker": `Renk örnekleri`,
473
+ "dropzoneLabel": `Bırakma Bölgesi`,
474
+ "selectPlaceholder": `Bir öğe seçin`,
475
+ "tableResizer": `Yeniden boyutlandırıcı`
476
+ };
477
+ var $2422ac328687ee23$exports = {};
478
+ $2422ac328687ee23$exports = {
479
+ "colorSwatchPicker": `Зразки кольорів`,
480
+ "dropzoneLabel": `DropZone`,
481
+ "selectPlaceholder": `Виберіть елемент`,
482
+ "tableResizer": `Засіб змінення розміру`
483
+ };
484
+ var $c9a532d1c973af61$exports = {};
485
+ $c9a532d1c973af61$exports = {
486
+ "colorSwatchPicker": `颜色色板`,
487
+ "dropzoneLabel": `放置区域`,
488
+ "selectPlaceholder": `选择一个项目`,
489
+ "tableResizer": `尺寸调整器`
490
+ };
491
+ var $34de119f14549a4b$exports = {};
492
+ $34de119f14549a4b$exports = {
493
+ "colorSwatchPicker": `色票`,
494
+ "dropzoneLabel": `放置區`,
495
+ "selectPlaceholder": `選取項目`,
496
+ "tableResizer": `大小調整器`
497
+ };
498
+ var $df39c1238ae2b5f3$exports = {};
499
+ $df39c1238ae2b5f3$exports = {
500
+ "ar-AE": $e038a7e7a6d81989$exports,
501
+ "bg-BG": $0ec14741b0133644$exports,
502
+ "cs-CZ": $642f7badf2405784$exports,
503
+ "da-DK": $30cee8d2535734ec$exports,
504
+ "de-DE": $c302d0504fca332a$exports,
505
+ "el-GR": $0d0703f2bd7e421c$exports,
506
+ "en-US": $cafa55beb2fc5ef3$exports,
507
+ "es-ES": $18ac2ceede598103$exports,
508
+ "et-EE": $718705a15b8a633a$exports,
509
+ "fi-FI": $bf36dae9ecc81ce0$exports,
510
+ "fr-FR": $0b4828edb010b855$exports,
511
+ "he-IL": $0030f210b040e540$exports,
512
+ "hr-HR": $1f0ebacf5a0c0fa1$exports,
513
+ "hu-HU": $3a706ba61f3d6bba$exports,
514
+ "it-IT": $0d17809e74607796$exports,
515
+ "ja-JP": $65a71f9a56f1398f$exports,
516
+ "ko-KR": $e5efad074a74abef$exports,
517
+ "lt-LT": $d70c2a849e55c607$exports,
518
+ "lv-LV": $009bbbb440d0e907$exports,
519
+ "nb-NO": $9366fe642464ee83$exports,
520
+ "nl-NL": $62f9bc1f98ea21de$exports,
521
+ "pl-PL": $4ec2e5b6623b1b76$exports,
522
+ "pt-BR": $e25098e26647cc04$exports,
523
+ "pt-PT": $dd39c57d242c8156$exports,
524
+ "ro-RO": $3b4c1ba5afd57b35$exports,
525
+ "ru-RU": $a455b2cda79eb746$exports,
526
+ "sk-SK": $b983ca1383d5b960$exports,
527
+ "sl-SI": $32a515ef673b0655$exports,
528
+ "sr-SP": $89434176ab35446b$exports,
529
+ "sv-SE": $727da781aca847f9$exports,
530
+ "tr-TR": $fcd2d84b9a2d489c$exports,
531
+ "uk-UA": $2422ac328687ee23$exports,
532
+ "zh-CN": $c9a532d1c973af61$exports,
533
+ "zh-TW": $34de119f14549a4b$exports
534
+ };
535
+ function $parcel$interopDefault(a) {
536
+ return a && a.__esModule ? a.default : a;
537
+ }
538
+ const $82d7e5349645de74$export$7540cee5be7dc19b = /* @__PURE__ */ createContext(null);
539
+ const $82d7e5349645de74$export$ef445b55be0601bd = /* @__PURE__ */ createContext(null);
540
+ function $82d7e5349645de74$var$Select(props, ref) {
541
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $82d7e5349645de74$export$7540cee5be7dc19b);
542
+ let { children, isDisabled = false, isInvalid = false, isRequired = false } = props;
543
+ let content = useMemo(() => typeof children === "function" ? children({
544
+ isOpen: false,
545
+ isDisabled,
546
+ isInvalid,
547
+ isRequired,
548
+ isFocused: false,
549
+ isFocusVisible: false,
550
+ defaultChildren: null
551
+ }) : children, [
552
+ children,
553
+ isDisabled,
554
+ isInvalid,
555
+ isRequired
556
+ ]);
557
+ return /* @__PURE__ */ React__default.createElement($e1995378a142960e$export$bf788dd355e3a401, {
558
+ content
559
+ }, (collection) => /* @__PURE__ */ React__default.createElement($82d7e5349645de74$var$SelectInner, {
560
+ props,
561
+ collection,
562
+ selectRef: ref
563
+ }));
564
+ }
565
+ function $82d7e5349645de74$var$SelectInner({ props, selectRef: ref, collection }) {
566
+ let { validationBehavior: formValidationBehavior } = $64fa3d84918910a7$export$fabf2dc03a41866e($d3e0e05bdfcf66bd$export$c24727297075ec6a) || {};
567
+ var _props_validationBehavior, _ref;
568
+ let validationBehavior = (_ref = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : formValidationBehavior) !== null && _ref !== void 0 ? _ref : "native";
569
+ let state = $2bc3a590c5373a4e$export$5159ec8b34d4ec12({
570
+ ...props,
571
+ collection,
572
+ children: void 0,
573
+ validationBehavior
574
+ });
575
+ let { isFocusVisible, focusProps } = $f7dceffc5ad7768b$export$4e328f61c538687f({
576
+ within: true
577
+ });
578
+ let buttonRef = useRef(null);
579
+ let [labelRef, label] = $64fa3d84918910a7$export$9d4c57ee4c6ffdd8();
580
+ let { labelProps, triggerProps, valueProps, menuProps, descriptionProps, errorMessageProps, ...validation } = $58aed456727eb0f3$export$e64b2f635402ca43({
581
+ ...$64fa3d84918910a7$export$ef03459518577ad4(props),
582
+ label,
583
+ validationBehavior
584
+ }, state, buttonRef);
585
+ let [buttonWidth, setButtonWidth] = useState(null);
586
+ let onResize = useCallback(() => {
587
+ if (buttonRef.current) setButtonWidth(buttonRef.current.offsetWidth + "px");
588
+ }, [
589
+ buttonRef
590
+ ]);
591
+ $9daab02d461809db$export$683480f191c0e3ea({
592
+ ref: buttonRef,
593
+ onResize
594
+ });
595
+ let renderPropsState = useMemo(() => ({
596
+ isOpen: state.isOpen,
597
+ isFocused: state.isFocused,
598
+ isFocusVisible,
599
+ isDisabled: props.isDisabled || false,
600
+ isInvalid: validation.isInvalid || false,
601
+ isRequired: props.isRequired || false
602
+ }), [
603
+ state.isOpen,
604
+ state.isFocused,
605
+ isFocusVisible,
606
+ props.isDisabled,
607
+ validation.isInvalid,
608
+ props.isRequired
609
+ ]);
610
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
611
+ ...props,
612
+ values: renderPropsState,
613
+ defaultClassName: "react-aria-Select"
614
+ });
615
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props);
616
+ delete DOMProps.id;
617
+ let scrollRef = useRef(null);
618
+ return /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
619
+ values: [
620
+ [
621
+ $82d7e5349645de74$export$7540cee5be7dc19b,
622
+ props
623
+ ],
624
+ [
625
+ $82d7e5349645de74$export$ef445b55be0601bd,
626
+ state
627
+ ],
628
+ [
629
+ $82d7e5349645de74$export$f8f745c04421623f,
630
+ valueProps
631
+ ],
632
+ [
633
+ $01b77f81d0f07f68$export$75b6ee27786ba447,
634
+ {
635
+ ...labelProps,
636
+ ref: labelRef,
637
+ elementType: "span"
638
+ }
639
+ ],
640
+ [
641
+ $d2b4bc8c273e7be6$export$24d547caef80ccd1,
642
+ {
643
+ ...triggerProps,
644
+ ref: buttonRef,
645
+ isPressed: state.isOpen
646
+ }
647
+ ],
648
+ [
649
+ $de32f1b87079253c$export$d2f961adcb0afbe,
650
+ state
651
+ ],
652
+ [
653
+ $07b14b47974efb58$export$9b9a0cd73afb7ca4,
654
+ {
655
+ trigger: "Select",
656
+ triggerRef: buttonRef,
657
+ scrollRef,
658
+ placement: "bottom start",
659
+ style: {
660
+ "--trigger-width": buttonWidth
661
+ }
662
+ }
663
+ ],
664
+ [
665
+ $eed445e0843c11d0$export$7ff8f37d2d81a48d,
666
+ {
667
+ ...menuProps,
668
+ ref: scrollRef
669
+ }
670
+ ],
671
+ [
672
+ $eed445e0843c11d0$export$7c5906fe4f1f2af2,
673
+ state
674
+ ],
675
+ [
676
+ $514c0188e459b4c0$export$9afb8bc826b033ea,
677
+ {
678
+ slots: {
679
+ description: descriptionProps,
680
+ errorMessage: errorMessageProps
681
+ }
682
+ }
683
+ ],
684
+ [
685
+ $ee014567cb39d3f0$export$ff05c3ac10437e03,
686
+ validation
687
+ ]
688
+ ]
689
+ }, /* @__PURE__ */ React__default.createElement("div", {
690
+ ...DOMProps,
691
+ ...renderProps,
692
+ ...focusProps,
693
+ ref,
694
+ slot: props.slot || void 0,
695
+ "data-focused": state.isFocused || void 0,
696
+ "data-focus-visible": isFocusVisible || void 0,
697
+ "data-open": state.isOpen || void 0,
698
+ "data-disabled": props.isDisabled || void 0,
699
+ "data-invalid": validation.isInvalid || void 0,
700
+ "data-required": props.isRequired || void 0
701
+ }), /* @__PURE__ */ React__default.createElement($bdd25dc72710631f$export$cbd84cdb2e668835, {
702
+ state,
703
+ triggerRef: buttonRef,
704
+ label,
705
+ name: props.name,
706
+ isDisabled: props.isDisabled
707
+ }));
708
+ }
709
+ const $82d7e5349645de74$export$ef9b1a59e592288f = /* @__PURE__ */ forwardRef($82d7e5349645de74$var$Select);
710
+ const $82d7e5349645de74$export$f8f745c04421623f = /* @__PURE__ */ createContext(null);
711
+ function $82d7e5349645de74$var$SelectValue(props, ref) {
712
+ var _state_selectedItem, _state_selectedItem1;
713
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $82d7e5349645de74$export$f8f745c04421623f);
714
+ let state = useContext($82d7e5349645de74$export$ef445b55be0601bd);
715
+ let { placeholder } = $64fa3d84918910a7$export$fabf2dc03a41866e($82d7e5349645de74$export$7540cee5be7dc19b);
716
+ let selectedItem = state.selectedKey != null ? state.collection.getItem(state.selectedKey) : null;
717
+ let rendered = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.props.children;
718
+ if (typeof rendered === "function") {
719
+ let fn = rendered;
720
+ rendered = fn({
721
+ isHovered: false,
722
+ isPressed: false,
723
+ isSelected: false,
724
+ isFocused: false,
725
+ isFocusVisible: false,
726
+ isDisabled: false,
727
+ selectionMode: "single",
728
+ selectionBehavior: "toggle"
729
+ });
730
+ }
731
+ let stringFormatter = $fca6afa0e843324b$export$f12b703ca79dfbb1($parcel$interopDefault($df39c1238ae2b5f3$exports), "react-aria-components");
732
+ var _ref, _state_selectedItem_value, _state_selectedItem_textValue;
733
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
734
+ ...props,
735
+ defaultChildren: (_ref = rendered !== null && rendered !== void 0 ? rendered : placeholder) !== null && _ref !== void 0 ? _ref : stringFormatter.format("selectPlaceholder"),
736
+ defaultClassName: "react-aria-SelectValue",
737
+ values: {
738
+ selectedItem: (_state_selectedItem_value = (_state_selectedItem = state.selectedItem) === null || _state_selectedItem === void 0 ? void 0 : _state_selectedItem.value) !== null && _state_selectedItem_value !== void 0 ? _state_selectedItem_value : null,
739
+ selectedText: (_state_selectedItem_textValue = (_state_selectedItem1 = state.selectedItem) === null || _state_selectedItem1 === void 0 ? void 0 : _state_selectedItem1.textValue) !== null && _state_selectedItem_textValue !== void 0 ? _state_selectedItem_textValue : null,
740
+ isPlaceholder: !selectedItem
741
+ }
742
+ });
743
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props);
744
+ return /* @__PURE__ */ React__default.createElement("span", {
745
+ ref,
746
+ ...DOMProps,
747
+ ...renderProps,
748
+ "data-placeholder": !selectedItem || void 0
749
+ }, /* @__PURE__ */ React__default.createElement($514c0188e459b4c0$export$9afb8bc826b033ea.Provider, {
750
+ value: void 0
751
+ }, renderProps.children));
752
+ }
753
+ const $82d7e5349645de74$export$e288731fd71264f0 = /* @__PURE__ */ forwardRef($82d7e5349645de74$var$SelectValue);
754
+ /**
755
+ * Select menu.
756
+ *
757
+ * @component
758
+ * @param {Object} props - Component props.
759
+ * @param {string} [props.icon] - Icon of the component.
760
+ * @param {string} [props.help] - Help text of the component.
761
+ * @param {string} [props.label] - Label of the component.
762
+ * @param {boolean} [props.inline] - Whether the Select menu is displayed inline with the label, to the right.
763
+ * @param {JSX.Element|JSX.Element[]} [props.actions] - Actions to show to the right of the label.
764
+ * @param {string} [props.subtitle] - Subtitle of the component.
765
+ * @param {{label: string, value: string, metadata: Object<string, any>?}[]} props.options - Options to display in the select. `[{ label: string, value: string }]`.
766
+ * @param {string|{label: string, value: string, metadata: Object<string, any>?}} props.value - Current value of the select.
767
+ * @param {Function} props.onChange - Function to call when the value changes.
768
+ * @param {boolean} [props.simpleValue=false] - If `true`, instead of using a `{label: '', value: ''}` value type, a string is used (just the value).
769
+ * @param {boolean} [props.clearable] - Whether the select is clearable.
770
+ * @param {boolean} [props.disabled] - Whether the select is disabled.
771
+ * @param {string} [props.placeholder] - Placeholder text to show when no value is selected.
772
+ * @param {JSX.Element} [props.customMenuOption] - If provided, replaces the default item in the dropdown menu (react-select's `components.Option`).
773
+ * @param {JSX.Element} [props.customValueDisplay] - If provided, replaces the default current value display of each selected item (react-select's `components.MultiValue`).
774
+ * @param {string} [props.className] - Classes to pass to the select menu.
775
+ * @param {boolean} [props.hidden] - If `true`, the component is not rendered.
776
+ *
777
+ * @returns {JSX.Element} The __ExperimentalSelect component.
778
+ *
779
+ * @example
780
+ * const [value, setValue] = useState(null);
781
+ *
782
+ * const options = [
783
+ * { label: 'Option 1', value: 'option-1' },
784
+ * { label: 'Option 2', value: 'option-2' },
785
+ * { label: 'Option 3', value: 'option-3' },
786
+ * ];
787
+ *
788
+ * <__ExperimentalSelect
789
+ * label='Select items'
790
+ * options={loadOptions}
791
+ * value={value}
792
+ * onChange={setValue}
793
+ * />
794
+ *
795
+ * @preserve
796
+ */
797
+ const __ExperimentalSelect = (props) => {
798
+ const {
799
+ icon,
800
+ help,
801
+ label,
802
+ inline,
803
+ actions,
804
+ subtitle,
805
+ value,
806
+ onChange,
807
+ options,
808
+ simpleValue = false,
809
+ disabled = false,
810
+ clearable = false,
811
+ placeholder,
812
+ customMenuOption,
813
+ customValueDisplay,
814
+ className,
815
+ hidden
816
+ } = props;
817
+ const ref = useRef();
818
+ if (hidden) {
819
+ return null;
820
+ }
821
+ const currentValue = (value == null ? void 0 : value.value) ?? value ?? null;
822
+ return /* @__PURE__ */ jsx(
823
+ $82d7e5349645de74$export$ef9b1a59e592288f,
824
+ {
825
+ selectedKey: currentValue,
826
+ onSelectionChange: (selected) => {
827
+ if (selected === null || selected === void 0) {
828
+ onChange(null);
829
+ return;
830
+ }
831
+ if (simpleValue) {
832
+ onChange(selected);
833
+ return;
834
+ }
835
+ const item = options.find((item2) => item2.value === selected);
836
+ if (!item) {
837
+ onChange(null);
838
+ return;
839
+ }
840
+ if (item && "id" in item) {
841
+ delete item.id;
842
+ }
843
+ onChange(item);
844
+ },
845
+ placeholder,
846
+ children: /* @__PURE__ */ jsxs(
847
+ BaseControl,
848
+ {
849
+ label,
850
+ icon,
851
+ subtitle,
852
+ actions,
853
+ help,
854
+ inline,
855
+ labelAs: $01b77f81d0f07f68$export$b04be29aa201d4f5,
856
+ children: [
857
+ /* @__PURE__ */ jsxs(
858
+ "div",
859
+ {
860
+ className: clsx(
861
+ "es-uic-relative es-uic-flex es-uic-max-w-80 es-uic-items-center es-uic-gap-1 es-uic-p-1 focus-visible:es-uic-outline-none focus-visible:es-uic-ring focus-visible:es-uic-ring-teal-500/50",
862
+ "es-uic-h-9 es-uic-rounded-md es-uic-border es-uic-border-gray-300 es-uic-bg-white es-uic-text-sm es-uic-shadow-sm es-uic-transition",
863
+ "focus:es-uic-outline-none",
864
+ !inline && "es-uic-w-full",
865
+ disabled && "es-uic-select-none"
866
+ ),
867
+ ref,
868
+ children: [
869
+ /* @__PURE__ */ jsxs(
870
+ $d2b4bc8c273e7be6$export$353f5b6fc5456de1,
871
+ {
872
+ className: clsx(
873
+ "es-uic-group es-uic-h-6 es-uic-w-full es-uic-rounded-sm es-uic-p-1 es-uic-text-sm es-uic-transition",
874
+ "es-uic-flex es-uic-grow es-uic-items-center",
875
+ "focus:es-uic-outline-none",
876
+ "focus-visible:es-uic-outline-none focus-visible:es-uic-ring focus-visible:es-uic-ring-teal-500/50",
877
+ disabled && "es-uic-bg-transparent es-uic-text-gray-400 selection:es-uic-bg-transparent selection:es-uic-text-transparent",
878
+ currentValue && !clearable && "es-uic-pr-6",
879
+ !currentValue && "es-uic-text-gray-400"
880
+ ),
881
+ children: [
882
+ /* @__PURE__ */ jsx($82d7e5349645de74$export$e288731fd71264f0, { children: ({ defaultChildren, isPlaceholder, selectedItem }) => {
883
+ var _a;
884
+ if (!isPlaceholder && currentValue && customValueDisplay) {
885
+ return customValueDisplay(selectedItem);
886
+ }
887
+ if (!isPlaceholder && currentValue && customMenuOption) {
888
+ let icon2 = (selectedItem == null ? void 0 : selectedItem.icon) ?? null;
889
+ if (typeof (selectedItem == null ? void 0 : selectedItem.icon) === "string") {
890
+ icon2 = ((_a = icons) == null ? void 0 : _a[selectedItem.icon]) ?? null;
891
+ }
892
+ return /* @__PURE__ */ jsx(
893
+ RichLabel,
894
+ {
895
+ icon: icon2,
896
+ label: selectedItem == null ? void 0 : selectedItem.label,
897
+ subtitle: selectedItem.subtitle
898
+ }
899
+ );
900
+ }
901
+ return defaultChildren;
902
+ } }),
903
+ /* @__PURE__ */ jsx(
904
+ "div",
905
+ {
906
+ className: clsx(
907
+ "es-uic-absolute es-uic-bottom-0 es-uic-right-1 es-uic-top-0 es-uic-my-auto es-uic-flex es-uic-items-center",
908
+ disabled ? "es-uic-text-gray-300" : "es-uic-text-gray-500"
909
+ ),
910
+ "aria-hidden": "true",
911
+ children: cloneElement(icons.dropdownCaretAlt, {
912
+ className: "es-uic-w-5.5 group-aria-expanded:-es-uic-scale-y-100 es-uic-transition-transform es-uic-duration-200"
913
+ })
914
+ }
915
+ )
916
+ ]
917
+ }
918
+ ),
919
+ clearable && /* @__PURE__ */ jsx(SelectClearButton, {})
920
+ ]
921
+ }
922
+ ),
923
+ /* @__PURE__ */ jsx(
924
+ $07b14b47974efb58$export$5b6b19405a83ff9d,
925
+ {
926
+ className: clsx(
927
+ "es-uic-flex es-uic-min-w-9 es-uic-max-w-80 es-uic-flex-col es-uic-overflow-x-hidden es-uic-rounded-md es-uic-border es-uic-border-gray-200 es-uic-bg-white es-uic-text-sm es-uic-shadow-lg",
928
+ "focus:es-uic-outline-none",
929
+ "entering:es-uic-animate-in entering:es-uic-fade-in-0 entering:es-uic-slide-in-from-top-3 entering:es-uic-fill-mode-forwards",
930
+ "exiting:es-uic-animate-out exiting:es-uic-fade-out-0 exiting:es-uic-slide-out-to-top-2 exiting:es-uic-fill-mode-forwards"
931
+ ),
932
+ placement: "bottom left",
933
+ triggerRef: ref,
934
+ children: /* @__PURE__ */ jsx(
935
+ $eed445e0843c11d0$export$41f133550aa26f48,
936
+ {
937
+ className: "es-uic-space-y-0.5 es-uic-p-1 focus:es-uic-outline-none",
938
+ items: options,
939
+ children: (item) => {
940
+ var _a;
941
+ let icon2 = (item == null ? void 0 : item.icon) ?? null;
942
+ if (typeof (item == null ? void 0 : item.icon) === "string") {
943
+ icon2 = ((_a = icons) == null ? void 0 : _a[item.icon]) ?? null;
944
+ }
945
+ return /* @__PURE__ */ jsxs(
946
+ OptionItemBase,
947
+ {
948
+ id: item.value,
949
+ className: item == null ? void 0 : item.className,
950
+ children: [
951
+ customMenuOption && customMenuOption(item),
952
+ !customMenuOption && /* @__PURE__ */ jsx(
953
+ RichLabel,
954
+ {
955
+ icon: icon2,
956
+ label: item == null ? void 0 : item.label,
957
+ subtitle: item.subtitle
958
+ }
959
+ )
960
+ ]
961
+ }
962
+ );
963
+ }
964
+ }
965
+ )
966
+ }
967
+ )
968
+ ]
969
+ }
970
+ )
971
+ }
972
+ );
973
+ };
974
+ const SelectClearButton = () => {
975
+ const state = useContext($82d7e5349645de74$export$ef445b55be0601bd);
976
+ const isEmpty = (state == null ? void 0 : state.selectedKey) === null;
977
+ return /* @__PURE__ */ jsx(
978
+ $d2b4bc8c273e7be6$export$353f5b6fc5456de1,
979
+ {
980
+ "aria-label": __("Clear value", "eightshift-ui-components"),
981
+ className: clsx(
982
+ "es-uic-mr-6 es-uic-flex es-uic-h-6 es-uic-w-8 es-uic-items-center es-uic-justify-center es-uic-rounded es-uic-text-sm es-uic-text-gray-600 es-uic-transition hover:es-uic-bg-red-50 hover:es-uic-text-red-900 focus:es-uic-outline-none focus:es-uic-ring focus:es-uic-ring-teal-500/50 disabled:es-uic-text-gray-300",
983
+ isEmpty ? "es-uic-hidden" : "es-uic-flex"
984
+ ),
985
+ onPress: () => state == null ? void 0 : state.setSelectedKey(null),
986
+ slot: null,
987
+ children: icons.clearAlt
988
+ }
989
+ );
990
+ };
991
+ export {
992
+ __ExperimentalSelect
993
+ };