@eightshift/ui-components 5.0.0 → 5.0.1

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