@eightshift/ui-components 5.0.0 → 5.0.2

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-BpwTmkAe.js +185 -0
  2. package/dist/Collection-n5d0zIgb.js +2398 -0
  3. package/dist/Color-lVhk8V_G.js +2452 -0
  4. package/dist/ColorSwatch-DntWEAC3.js +64 -0
  5. package/dist/ComboBox-BJpTEATT.js +1915 -0
  6. package/dist/Dialog-O9uw63D7.js +2317 -0
  7. package/dist/FieldError-DHrSdE_Q.js +42 -0
  8. package/dist/FocusScope-BEPI2m7u.js +831 -0
  9. package/dist/Form-Cq3fu75_.js +5 -0
  10. package/dist/Group-DDPhPPTQ.js +48 -0
  11. package/dist/Heading-ba38ScjJ.js +16 -0
  12. package/dist/Hidden-rE6uR-lr.js +41 -0
  13. package/dist/Input-BmDS8Juy.js +133 -0
  14. package/dist/Label-JS_ob-kh.js +17 -0
  15. package/dist/List-CZMUbkFU.js +593 -0
  16. package/dist/ListBox-BTxlCGcc.js +664 -0
  17. package/dist/NumberFormatter-DA8u1Ot7.js +140 -0
  18. package/dist/OverlayArrow-5aDgmImj.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-CaTBkETC.js +332 -0
  22. package/dist/Slider-C-S1oEH9.js +853 -0
  23. package/dist/Text-BuJgePCv.js +16 -0
  24. package/dist/VisuallyHidden-BYi0pekx.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 +5908 -0
  28. package/dist/assets/style-editor.css +5908 -0
  29. package/dist/assets/style.css +5914 -0
  30. package/dist/assets/wp-font-enhancements.css +8 -0
  31. package/dist/assets/wp-ui-enhancements.css +396 -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 +323 -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 +7320 -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 +284 -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 +582 -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 +1004 -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 +703 -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-BbYZoHvX.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 +30495 -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-BljRBEr_.js +44 -0
  107. package/dist/index-CFozsmNS.js +28321 -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-8DpK8fJl.js +46 -0
  120. package/dist/useButton-Bt3BffJm.js +50 -0
  121. package/dist/useEvent-ICdlokG-.js +23 -0
  122. package/dist/useFocusRing-Bv0UJQl8.js +107 -0
  123. package/dist/useFormReset-D2YaWRIA.js +22 -0
  124. package/dist/useFormValidation-Dy0PXJg5.js +224 -0
  125. package/dist/useHover-C2SkI1Fn.js +895 -0
  126. package/dist/useLabel-BPCd5c7-.js +27 -0
  127. package/dist/useLabels-B7-lUnAF.js +23 -0
  128. package/dist/useListState-DkyH7elT.js +168 -0
  129. package/dist/useLocalizedStringFormatter-C9GO0IDB.js +121 -0
  130. package/dist/useNumberField-CU1_u8ze.js +1215 -0
  131. package/dist/useNumberFormatter-CZ9QUnRt.js +13 -0
  132. package/dist/usePress-BrJylgPR.js +688 -0
  133. package/dist/useSingleSelectListState-C4sorv2p.js +38 -0
  134. package/dist/useToggle-CDa3YAZI.js +59 -0
  135. package/dist/useToggleState-ibcBUHnB.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-CZt7LCbO.js +403 -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 +24 -24
@@ -0,0 +1,1004 @@
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-BpwTmkAe.js";
5
+ import { a as $01b77f81d0f07f68$export$75b6ee27786ba447, $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../../Label-JS_ob-kh.js";
6
+ import { b as $eed445e0843c11d0$export$7ff8f37d2d81a48d, c as $eed445e0843c11d0$export$7c5906fe4f1f2af2, $ as $eed445e0843c11d0$export$41f133550aa26f48 } from "../../../ListBox-BTxlCGcc.js";
7
+ import { o as $168583247155ddda$export$dc9c12ed27dd1b49, l as $de32f1b87079253c$export$d2f961adcb0afbe, p as $07b14b47974efb58$export$9b9a0cd73afb7ca4, $ as $07b14b47974efb58$export$5b6b19405a83ff9d } from "../../../Dialog-O9uw63D7.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-CZt7LCbO.js";
9
+ import { a as $2baaea4c71418dea$export$294aa081a6c6f55d, $ as $ee014567cb39d3f0$export$ff05c3ac10437e03 } from "../../../FieldError-DHrSdE_Q.js";
10
+ import { $ as $d3e0e05bdfcf66bd$export$c24727297075ec6a } from "../../../Form-Cq3fu75_.js";
11
+ import { a as $514c0188e459b4c0$export$9afb8bc826b033ea } from "../../../Text-BuJgePCv.js";
12
+ import { o as $fb3050f43d946246$export$e32c88dfddc6e1d8, e as $e1995378a142960e$export$bf788dd355e3a401 } from "../../../Collection-n5d0zIgb.js";
13
+ import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../../filterDOMProps-EDDcM64A.js";
14
+ import { $ as $fc909762b330b746$export$61c6a8c84e605fb6, g as $9daab02d461809db$export$683480f191c0e3ea } from "../../../OverlayArrow-5aDgmImj.js";
15
+ import React__default, { useMemo, useRef, useState, forwardRef, createContext, useContext, useCallback, cloneElement } from "react";
16
+ import { $ as $fca6afa0e843324b$export$f12b703ca79dfbb1 } from "../../../useLocalizedStringFormatter-C9GO0IDB.js";
17
+ import { a as $e93e671b31057976$export$b8473d3665f3a75a, $ as $e5be200c675c3b3a$export$fc1a364ae1f3ff10 } from "../../../useFormValidation-Dy0PXJg5.js";
18
+ import { $ as $a0d645289fe9b86b$export$e7f05e985daf4b5f } from "../../../useSingleSelectListState-C4sorv2p.js";
19
+ import { $ as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../../useFocusRing-Bv0UJQl8.js";
20
+ import { f as $325a3faab7a68acd$export$a16aca283550c30d, g as $2a25aae57d74318e$export$a05409b8bb224a5a } from "../../../Separator-CaTBkETC.js";
21
+ import { q as $507fabe10e71c6fb$export$8397ddfc504fdb9a } from "../../../useHover-C2SkI1Fn.js";
22
+ import { $ as $99facab73266f662$export$5add1d006293d136 } from "../../../useFormReset-D2YaWRIA.js";
23
+ import { a as $5c3e21d68f1c4674$export$a966af930f325cab } from "../../../VisuallyHidden-BYi0pekx.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
+ let isEmpty = useMemo(() => {
241
+ var _listState_collection_getItem;
242
+ return listState.collection.size === 0 || listState.collection.size === 1 && ((_listState_collection_getItem = listState.collection.getItem(listState.collection.getFirstKey())) === null || _listState_collection_getItem === void 0 ? void 0 : _listState_collection_getItem.type) === "loader";
243
+ }, [
244
+ listState.collection
245
+ ]);
246
+ return {
247
+ ...validationState,
248
+ ...listState,
249
+ ...triggerState,
250
+ focusStrategy,
251
+ open(focusStrategy2 = null) {
252
+ if (!isEmpty) {
253
+ setFocusStrategy(focusStrategy2);
254
+ triggerState.open();
255
+ }
256
+ },
257
+ toggle(focusStrategy2 = null) {
258
+ if (!isEmpty) {
259
+ setFocusStrategy(focusStrategy2);
260
+ triggerState.toggle();
261
+ }
262
+ },
263
+ isFocused,
264
+ setFocused
265
+ };
266
+ }
267
+ var $e038a7e7a6d81989$exports = {};
268
+ $e038a7e7a6d81989$exports = {
269
+ "colorSwatchPicker": `تغييرات الألوان`,
270
+ "dropzoneLabel": `DropZone`,
271
+ "selectPlaceholder": `حدد عنصرًا`,
272
+ "tableResizer": `أداة تغيير الحجم`
273
+ };
274
+ var $0ec14741b0133644$exports = {};
275
+ $0ec14741b0133644$exports = {
276
+ "colorSwatchPicker": `Цветови мостри`,
277
+ "dropzoneLabel": `DropZone`,
278
+ "selectPlaceholder": `Изберете предмет`,
279
+ "tableResizer": `Преоразмерител`
280
+ };
281
+ var $642f7badf2405784$exports = {};
282
+ $642f7badf2405784$exports = {
283
+ "colorSwatchPicker": `Vzorky barev`,
284
+ "dropzoneLabel": `Místo pro přetažení`,
285
+ "selectPlaceholder": `Vyberte položku`,
286
+ "tableResizer": `Změna velikosti`
287
+ };
288
+ var $30cee8d2535734ec$exports = {};
289
+ $30cee8d2535734ec$exports = {
290
+ "colorSwatchPicker": `Farveprøver`,
291
+ "dropzoneLabel": `DropZone`,
292
+ "selectPlaceholder": `Vælg et element`,
293
+ "tableResizer": `Størrelsesændring`
294
+ };
295
+ var $c302d0504fca332a$exports = {};
296
+ $c302d0504fca332a$exports = {
297
+ "colorSwatchPicker": `Farbfelder`,
298
+ "dropzoneLabel": `Ablegebereich`,
299
+ "selectPlaceholder": `Element wählen`,
300
+ "tableResizer": `Größenanpassung`
301
+ };
302
+ var $0d0703f2bd7e421c$exports = {};
303
+ $0d0703f2bd7e421c$exports = {
304
+ "colorSwatchPicker": `Χρωματικά δείγματα`,
305
+ "dropzoneLabel": `DropZone`,
306
+ "selectPlaceholder": `Επιλέξτε ένα αντικείμενο`,
307
+ "tableResizer": `Αλλαγή μεγέθους`
308
+ };
309
+ var $cafa55beb2fc5ef3$exports = {};
310
+ $cafa55beb2fc5ef3$exports = {
311
+ "selectPlaceholder": `Select an item`,
312
+ "tableResizer": `Resizer`,
313
+ "dropzoneLabel": `DropZone`,
314
+ "colorSwatchPicker": `Color swatches`
315
+ };
316
+ var $18ac2ceede598103$exports = {};
317
+ $18ac2ceede598103$exports = {
318
+ "colorSwatchPicker": `Muestras de colores`,
319
+ "dropzoneLabel": `DropZone`,
320
+ "selectPlaceholder": `Seleccionar un artículo`,
321
+ "tableResizer": `Cambiador de tamaño`
322
+ };
323
+ var $718705a15b8a633a$exports = {};
324
+ $718705a15b8a633a$exports = {
325
+ "colorSwatchPicker": `Värvinäidised`,
326
+ "dropzoneLabel": `DropZone`,
327
+ "selectPlaceholder": `Valige üksus`,
328
+ "tableResizer": `Suuruse muutja`
329
+ };
330
+ var $bf36dae9ecc81ce0$exports = {};
331
+ $bf36dae9ecc81ce0$exports = {
332
+ "colorSwatchPicker": `Värimallit`,
333
+ "dropzoneLabel": `DropZone`,
334
+ "selectPlaceholder": `Valitse kohde`,
335
+ "tableResizer": `Koon muuttaja`
336
+ };
337
+ var $0b4828edb010b855$exports = {};
338
+ $0b4828edb010b855$exports = {
339
+ "colorSwatchPicker": `Échantillons de couleurs`,
340
+ "dropzoneLabel": `DropZone`,
341
+ "selectPlaceholder": `Sélectionner un élément`,
342
+ "tableResizer": `Redimensionneur`
343
+ };
344
+ var $0030f210b040e540$exports = {};
345
+ $0030f210b040e540$exports = {
346
+ "colorSwatchPicker": `דוגמיות צבע`,
347
+ "dropzoneLabel": `DropZone`,
348
+ "selectPlaceholder": `בחר פריט`,
349
+ "tableResizer": `שינוי גודל`
350
+ };
351
+ var $1f0ebacf5a0c0fa1$exports = {};
352
+ $1f0ebacf5a0c0fa1$exports = {
353
+ "colorSwatchPicker": `Uzorci boja`,
354
+ "dropzoneLabel": `Zona spuštanja`,
355
+ "selectPlaceholder": `Odaberite stavku`,
356
+ "tableResizer": `Promjena veličine`
357
+ };
358
+ var $3a706ba61f3d6bba$exports = {};
359
+ $3a706ba61f3d6bba$exports = {
360
+ "colorSwatchPicker": `Színtárak`,
361
+ "dropzoneLabel": `DropZone`,
362
+ "selectPlaceholder": `Válasszon ki egy elemet`,
363
+ "tableResizer": `Átméretező`
364
+ };
365
+ var $0d17809e74607796$exports = {};
366
+ $0d17809e74607796$exports = {
367
+ "colorSwatchPicker": `Campioni di colore`,
368
+ "dropzoneLabel": `Zona di rilascio`,
369
+ "selectPlaceholder": `Seleziona un elemento`,
370
+ "tableResizer": `Ridimensionamento`
371
+ };
372
+ var $65a71f9a56f1398f$exports = {};
373
+ $65a71f9a56f1398f$exports = {
374
+ "colorSwatchPicker": `カラースウォッチ`,
375
+ "dropzoneLabel": `ドロップゾーン`,
376
+ "selectPlaceholder": `項目を選択`,
377
+ "tableResizer": `サイズ変更ツール`
378
+ };
379
+ var $e5efad074a74abef$exports = {};
380
+ $e5efad074a74abef$exports = {
381
+ "colorSwatchPicker": `색상 견본`,
382
+ "dropzoneLabel": `드롭 영역`,
383
+ "selectPlaceholder": `항목 선택`,
384
+ "tableResizer": `크기 조정기`
385
+ };
386
+ var $d70c2a849e55c607$exports = {};
387
+ $d70c2a849e55c607$exports = {
388
+ "colorSwatchPicker": `Spalvų pavyzdžiai`,
389
+ "dropzoneLabel": `„DropZone“`,
390
+ "selectPlaceholder": `Pasirinkite elementą`,
391
+ "tableResizer": `Dydžio keitiklis`
392
+ };
393
+ var $009bbbb440d0e907$exports = {};
394
+ $009bbbb440d0e907$exports = {
395
+ "colorSwatchPicker": `Krāsu paraugi`,
396
+ "dropzoneLabel": `DropZone`,
397
+ "selectPlaceholder": `Izvēlēties vienumu`,
398
+ "tableResizer": `Izmēra mainītājs`
399
+ };
400
+ var $9366fe642464ee83$exports = {};
401
+ $9366fe642464ee83$exports = {
402
+ "colorSwatchPicker": `Fargekart`,
403
+ "dropzoneLabel": `Droppsone`,
404
+ "selectPlaceholder": `Velg et element`,
405
+ "tableResizer": `Størrelsesendrer`
406
+ };
407
+ var $62f9bc1f98ea21de$exports = {};
408
+ $62f9bc1f98ea21de$exports = {
409
+ "colorSwatchPicker": `kleurstalen`,
410
+ "dropzoneLabel": `DropZone`,
411
+ "selectPlaceholder": `Selecteer een item`,
412
+ "tableResizer": `Resizer`
413
+ };
414
+ var $4ec2e5b6623b1b76$exports = {};
415
+ $4ec2e5b6623b1b76$exports = {
416
+ "colorSwatchPicker": `Próbki kolorów`,
417
+ "dropzoneLabel": `Strefa upuszczania`,
418
+ "selectPlaceholder": `Wybierz element`,
419
+ "tableResizer": `Zmiana rozmiaru`
420
+ };
421
+ var $e25098e26647cc04$exports = {};
422
+ $e25098e26647cc04$exports = {
423
+ "colorSwatchPicker": `Amostras de cores`,
424
+ "dropzoneLabel": `DropZone`,
425
+ "selectPlaceholder": `Selecione um item`,
426
+ "tableResizer": `Redimensionador`
427
+ };
428
+ var $dd39c57d242c8156$exports = {};
429
+ $dd39c57d242c8156$exports = {
430
+ "colorSwatchPicker": `Amostras de cores`,
431
+ "dropzoneLabel": `DropZone`,
432
+ "selectPlaceholder": `Selecione um item`,
433
+ "tableResizer": `Redimensionador`
434
+ };
435
+ var $3b4c1ba5afd57b35$exports = {};
436
+ $3b4c1ba5afd57b35$exports = {
437
+ "colorSwatchPicker": `Specimene de culoare`,
438
+ "dropzoneLabel": `Zonă de plasare`,
439
+ "selectPlaceholder": `Selectați un element`,
440
+ "tableResizer": `Instrument de redimensionare`
441
+ };
442
+ var $a455b2cda79eb746$exports = {};
443
+ $a455b2cda79eb746$exports = {
444
+ "colorSwatchPicker": `Цветовые образцы`,
445
+ "dropzoneLabel": `DropZone`,
446
+ "selectPlaceholder": `Выберите элемент`,
447
+ "tableResizer": `Средство изменения размера`
448
+ };
449
+ var $b983ca1383d5b960$exports = {};
450
+ $b983ca1383d5b960$exports = {
451
+ "colorSwatchPicker": `Vzorkovníky farieb`,
452
+ "dropzoneLabel": `DropZone`,
453
+ "selectPlaceholder": `Vyberte položku`,
454
+ "tableResizer": `Nástroj na zmenu veľkosti`
455
+ };
456
+ var $32a515ef673b0655$exports = {};
457
+ $32a515ef673b0655$exports = {
458
+ "colorSwatchPicker": `Barvne palete`,
459
+ "dropzoneLabel": `DropZone`,
460
+ "selectPlaceholder": `Izberite element`,
461
+ "tableResizer": `Spreminjanje velikosti`
462
+ };
463
+ var $89434176ab35446b$exports = {};
464
+ $89434176ab35446b$exports = {
465
+ "colorSwatchPicker": `Uzorci boje`,
466
+ "dropzoneLabel": `DropZone`,
467
+ "selectPlaceholder": `Izaberite stavku`,
468
+ "tableResizer": `Promena veličine`
469
+ };
470
+ var $727da781aca847f9$exports = {};
471
+ $727da781aca847f9$exports = {
472
+ "colorSwatchPicker": `Färgrutor`,
473
+ "dropzoneLabel": `DropZone`,
474
+ "selectPlaceholder": `Välj en artikel`,
475
+ "tableResizer": `Storleksändrare`
476
+ };
477
+ var $fcd2d84b9a2d489c$exports = {};
478
+ $fcd2d84b9a2d489c$exports = {
479
+ "colorSwatchPicker": `Renk örnekleri`,
480
+ "dropzoneLabel": `Bırakma Bölgesi`,
481
+ "selectPlaceholder": `Bir öğe seçin`,
482
+ "tableResizer": `Yeniden boyutlandırıcı`
483
+ };
484
+ var $2422ac328687ee23$exports = {};
485
+ $2422ac328687ee23$exports = {
486
+ "colorSwatchPicker": `Зразки кольорів`,
487
+ "dropzoneLabel": `DropZone`,
488
+ "selectPlaceholder": `Виберіть елемент`,
489
+ "tableResizer": `Засіб змінення розміру`
490
+ };
491
+ var $c9a532d1c973af61$exports = {};
492
+ $c9a532d1c973af61$exports = {
493
+ "colorSwatchPicker": `颜色色板`,
494
+ "dropzoneLabel": `放置区域`,
495
+ "selectPlaceholder": `选择一个项目`,
496
+ "tableResizer": `尺寸调整器`
497
+ };
498
+ var $34de119f14549a4b$exports = {};
499
+ $34de119f14549a4b$exports = {
500
+ "colorSwatchPicker": `色票`,
501
+ "dropzoneLabel": `放置區`,
502
+ "selectPlaceholder": `選取項目`,
503
+ "tableResizer": `大小調整器`
504
+ };
505
+ var $df39c1238ae2b5f3$exports = {};
506
+ $df39c1238ae2b5f3$exports = {
507
+ "ar-AE": $e038a7e7a6d81989$exports,
508
+ "bg-BG": $0ec14741b0133644$exports,
509
+ "cs-CZ": $642f7badf2405784$exports,
510
+ "da-DK": $30cee8d2535734ec$exports,
511
+ "de-DE": $c302d0504fca332a$exports,
512
+ "el-GR": $0d0703f2bd7e421c$exports,
513
+ "en-US": $cafa55beb2fc5ef3$exports,
514
+ "es-ES": $18ac2ceede598103$exports,
515
+ "et-EE": $718705a15b8a633a$exports,
516
+ "fi-FI": $bf36dae9ecc81ce0$exports,
517
+ "fr-FR": $0b4828edb010b855$exports,
518
+ "he-IL": $0030f210b040e540$exports,
519
+ "hr-HR": $1f0ebacf5a0c0fa1$exports,
520
+ "hu-HU": $3a706ba61f3d6bba$exports,
521
+ "it-IT": $0d17809e74607796$exports,
522
+ "ja-JP": $65a71f9a56f1398f$exports,
523
+ "ko-KR": $e5efad074a74abef$exports,
524
+ "lt-LT": $d70c2a849e55c607$exports,
525
+ "lv-LV": $009bbbb440d0e907$exports,
526
+ "nb-NO": $9366fe642464ee83$exports,
527
+ "nl-NL": $62f9bc1f98ea21de$exports,
528
+ "pl-PL": $4ec2e5b6623b1b76$exports,
529
+ "pt-BR": $e25098e26647cc04$exports,
530
+ "pt-PT": $dd39c57d242c8156$exports,
531
+ "ro-RO": $3b4c1ba5afd57b35$exports,
532
+ "ru-RU": $a455b2cda79eb746$exports,
533
+ "sk-SK": $b983ca1383d5b960$exports,
534
+ "sl-SI": $32a515ef673b0655$exports,
535
+ "sr-SP": $89434176ab35446b$exports,
536
+ "sv-SE": $727da781aca847f9$exports,
537
+ "tr-TR": $fcd2d84b9a2d489c$exports,
538
+ "uk-UA": $2422ac328687ee23$exports,
539
+ "zh-CN": $c9a532d1c973af61$exports,
540
+ "zh-TW": $34de119f14549a4b$exports
541
+ };
542
+ function $parcel$interopDefault(a) {
543
+ return a && a.__esModule ? a.default : a;
544
+ }
545
+ const $82d7e5349645de74$export$7540cee5be7dc19b = /* @__PURE__ */ createContext(null);
546
+ const $82d7e5349645de74$export$ef445b55be0601bd = /* @__PURE__ */ createContext(null);
547
+ const $82d7e5349645de74$export$ef9b1a59e592288f = /* @__PURE__ */ forwardRef(function Select(props, ref) {
548
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $82d7e5349645de74$export$7540cee5be7dc19b);
549
+ let { children, isDisabled = false, isInvalid = false, isRequired = false } = props;
550
+ let content = useMemo(() => typeof children === "function" ? children({
551
+ isOpen: false,
552
+ isDisabled,
553
+ isInvalid,
554
+ isRequired,
555
+ isFocused: false,
556
+ isFocusVisible: false,
557
+ defaultChildren: null
558
+ }) : children, [
559
+ children,
560
+ isDisabled,
561
+ isInvalid,
562
+ isRequired
563
+ ]);
564
+ return /* @__PURE__ */ React__default.createElement($e1995378a142960e$export$bf788dd355e3a401, {
565
+ content
566
+ }, (collection) => /* @__PURE__ */ React__default.createElement($82d7e5349645de74$var$SelectInner, {
567
+ props,
568
+ collection,
569
+ selectRef: ref
570
+ }));
571
+ });
572
+ const $82d7e5349645de74$var$CLEAR_CONTEXTS = [
573
+ $01b77f81d0f07f68$export$75b6ee27786ba447,
574
+ $d2b4bc8c273e7be6$export$24d547caef80ccd1,
575
+ $514c0188e459b4c0$export$9afb8bc826b033ea
576
+ ];
577
+ function $82d7e5349645de74$var$SelectInner({ props, selectRef: ref, collection }) {
578
+ let { validationBehavior: formValidationBehavior } = $64fa3d84918910a7$export$fabf2dc03a41866e($d3e0e05bdfcf66bd$export$c24727297075ec6a) || {};
579
+ var _props_validationBehavior, _ref;
580
+ let validationBehavior = (_ref = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : formValidationBehavior) !== null && _ref !== void 0 ? _ref : "native";
581
+ let state = $2bc3a590c5373a4e$export$5159ec8b34d4ec12({
582
+ ...props,
583
+ collection,
584
+ children: void 0,
585
+ validationBehavior
586
+ });
587
+ let { isFocusVisible, focusProps } = $f7dceffc5ad7768b$export$4e328f61c538687f({
588
+ within: true
589
+ });
590
+ let buttonRef = useRef(null);
591
+ let [labelRef, label] = $64fa3d84918910a7$export$9d4c57ee4c6ffdd8(!props["aria-label"] && !props["aria-labelledby"]);
592
+ let { labelProps, triggerProps, valueProps, menuProps, descriptionProps, errorMessageProps, ...validation } = $58aed456727eb0f3$export$e64b2f635402ca43({
593
+ ...$64fa3d84918910a7$export$ef03459518577ad4(props),
594
+ label,
595
+ validationBehavior
596
+ }, state, buttonRef);
597
+ let [buttonWidth, setButtonWidth] = useState(null);
598
+ let onResize = useCallback(() => {
599
+ if (buttonRef.current) setButtonWidth(buttonRef.current.offsetWidth + "px");
600
+ }, [
601
+ buttonRef
602
+ ]);
603
+ $9daab02d461809db$export$683480f191c0e3ea({
604
+ ref: buttonRef,
605
+ onResize
606
+ });
607
+ let renderPropsState = useMemo(() => ({
608
+ isOpen: state.isOpen,
609
+ isFocused: state.isFocused,
610
+ isFocusVisible,
611
+ isDisabled: props.isDisabled || false,
612
+ isInvalid: validation.isInvalid || false,
613
+ isRequired: props.isRequired || false
614
+ }), [
615
+ state.isOpen,
616
+ state.isFocused,
617
+ isFocusVisible,
618
+ props.isDisabled,
619
+ validation.isInvalid,
620
+ props.isRequired
621
+ ]);
622
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
623
+ ...props,
624
+ values: renderPropsState,
625
+ defaultClassName: "react-aria-Select"
626
+ });
627
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props);
628
+ delete DOMProps.id;
629
+ let scrollRef = useRef(null);
630
+ return /* @__PURE__ */ React__default.createElement($64fa3d84918910a7$export$2881499e37b75b9a, {
631
+ values: [
632
+ [
633
+ $82d7e5349645de74$export$7540cee5be7dc19b,
634
+ props
635
+ ],
636
+ [
637
+ $82d7e5349645de74$export$ef445b55be0601bd,
638
+ state
639
+ ],
640
+ [
641
+ $82d7e5349645de74$export$f8f745c04421623f,
642
+ valueProps
643
+ ],
644
+ [
645
+ $01b77f81d0f07f68$export$75b6ee27786ba447,
646
+ {
647
+ ...labelProps,
648
+ ref: labelRef,
649
+ elementType: "span"
650
+ }
651
+ ],
652
+ [
653
+ $d2b4bc8c273e7be6$export$24d547caef80ccd1,
654
+ {
655
+ ...triggerProps,
656
+ ref: buttonRef,
657
+ isPressed: state.isOpen,
658
+ autoFocus: props.autoFocus
659
+ }
660
+ ],
661
+ [
662
+ $de32f1b87079253c$export$d2f961adcb0afbe,
663
+ state
664
+ ],
665
+ [
666
+ $07b14b47974efb58$export$9b9a0cd73afb7ca4,
667
+ {
668
+ trigger: "Select",
669
+ triggerRef: buttonRef,
670
+ scrollRef,
671
+ placement: "bottom start",
672
+ style: {
673
+ "--trigger-width": buttonWidth
674
+ },
675
+ "aria-labelledby": menuProps["aria-labelledby"],
676
+ clearContexts: $82d7e5349645de74$var$CLEAR_CONTEXTS
677
+ }
678
+ ],
679
+ [
680
+ $eed445e0843c11d0$export$7ff8f37d2d81a48d,
681
+ {
682
+ ...menuProps,
683
+ ref: scrollRef
684
+ }
685
+ ],
686
+ [
687
+ $eed445e0843c11d0$export$7c5906fe4f1f2af2,
688
+ state
689
+ ],
690
+ [
691
+ $514c0188e459b4c0$export$9afb8bc826b033ea,
692
+ {
693
+ slots: {
694
+ description: descriptionProps,
695
+ errorMessage: errorMessageProps
696
+ }
697
+ }
698
+ ],
699
+ [
700
+ $ee014567cb39d3f0$export$ff05c3ac10437e03,
701
+ validation
702
+ ]
703
+ ]
704
+ }, /* @__PURE__ */ React__default.createElement("div", {
705
+ ...DOMProps,
706
+ ...renderProps,
707
+ ...focusProps,
708
+ ref,
709
+ slot: props.slot || void 0,
710
+ "data-focused": state.isFocused || void 0,
711
+ "data-focus-visible": isFocusVisible || void 0,
712
+ "data-open": state.isOpen || void 0,
713
+ "data-disabled": props.isDisabled || void 0,
714
+ "data-invalid": validation.isInvalid || void 0,
715
+ "data-required": props.isRequired || void 0
716
+ }), /* @__PURE__ */ React__default.createElement($bdd25dc72710631f$export$cbd84cdb2e668835, {
717
+ autoComplete: props.autoComplete,
718
+ state,
719
+ triggerRef: buttonRef,
720
+ label,
721
+ name: props.name,
722
+ isDisabled: props.isDisabled
723
+ }));
724
+ }
725
+ const $82d7e5349645de74$export$f8f745c04421623f = /* @__PURE__ */ createContext(null);
726
+ const $82d7e5349645de74$export$e288731fd71264f0 = /* @__PURE__ */ forwardRef(function SelectValue(props, ref) {
727
+ var _state_selectedItem, _state_selectedItem1;
728
+ [props, ref] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, ref, $82d7e5349645de74$export$f8f745c04421623f);
729
+ let state = useContext($82d7e5349645de74$export$ef445b55be0601bd);
730
+ let { placeholder } = $64fa3d84918910a7$export$fabf2dc03a41866e($82d7e5349645de74$export$7540cee5be7dc19b);
731
+ let selectedItem = state.selectedKey != null ? state.collection.getItem(state.selectedKey) : null;
732
+ let rendered = selectedItem === null || selectedItem === void 0 ? void 0 : selectedItem.props.children;
733
+ if (typeof rendered === "function") {
734
+ let fn = rendered;
735
+ rendered = fn({
736
+ isHovered: false,
737
+ isPressed: false,
738
+ isSelected: false,
739
+ isFocused: false,
740
+ isFocusVisible: false,
741
+ isDisabled: false,
742
+ selectionMode: "single",
743
+ selectionBehavior: "toggle"
744
+ });
745
+ }
746
+ let stringFormatter = $fca6afa0e843324b$export$f12b703ca79dfbb1($parcel$interopDefault($df39c1238ae2b5f3$exports), "react-aria-components");
747
+ var _ref, _state_selectedItem_value, _state_selectedItem_textValue;
748
+ let renderProps = $64fa3d84918910a7$export$4d86445c2cf5e3({
749
+ ...props,
750
+ defaultChildren: (_ref = rendered !== null && rendered !== void 0 ? rendered : placeholder) !== null && _ref !== void 0 ? _ref : stringFormatter.format("selectPlaceholder"),
751
+ defaultClassName: "react-aria-SelectValue",
752
+ values: {
753
+ 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,
754
+ 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,
755
+ isPlaceholder: !selectedItem
756
+ }
757
+ });
758
+ let DOMProps = $65484d02dcb7eb3e$export$457c3d6518dd4c6f(props);
759
+ return /* @__PURE__ */ React__default.createElement("span", {
760
+ ref,
761
+ ...DOMProps,
762
+ ...renderProps,
763
+ "data-placeholder": !selectedItem || void 0
764
+ }, /* @__PURE__ */ React__default.createElement($514c0188e459b4c0$export$9afb8bc826b033ea.Provider, {
765
+ value: void 0
766
+ }, renderProps.children));
767
+ });
768
+ /**
769
+ * Select menu.
770
+ *
771
+ * @component
772
+ * @param {Object} props - Component props.
773
+ * @param {string} [props.icon] - Icon of the component.
774
+ * @param {string} [props.help] - Help text of the component.
775
+ * @param {string} [props.label] - Label of the component.
776
+ * @param {boolean} [props.inline] - Whether the Select menu is displayed inline with the label, to the right.
777
+ * @param {JSX.Element|JSX.Element[]} [props.actions] - Actions to show to the right of the label.
778
+ * @param {string} [props.subtitle] - Subtitle of the component.
779
+ * @param {{label: string, value: string, metadata: Object<string, any>?}[]} props.options - Options to display in the select. `[{ label: string, value: string }]`.
780
+ * @param {string|{label: string, value: string, metadata: Object<string, any>?}} props.value - Current value of the select.
781
+ * @param {Function} props.onChange - Function to call when the value changes.
782
+ * @param {boolean} [props.simpleValue=false] - If `true`, instead of using a `{label: '', value: ''}` value type, a string is used (just the value).
783
+ * @param {boolean} [props.clearable] - Whether the select is clearable.
784
+ * @param {boolean} [props.disabled] - Whether the select is disabled.
785
+ * @param {string} [props.placeholder] - Placeholder text to show when no value is selected.
786
+ * @param {JSX.Element} [props.customMenuOption] - If provided, replaces the default item in the dropdown menu (react-select's `components.Option`).
787
+ * @param {JSX.Element} [props.customValueDisplay] - If provided, replaces the default current value display of each selected item (react-select's `components.MultiValue`).
788
+ * @param {string} [props.className] - Classes to pass to the select menu.
789
+ * @param {boolean} [props.hidden] - If `true`, the component is not rendered.
790
+ *
791
+ * @returns {JSX.Element} The __ExperimentalSelect component.
792
+ *
793
+ * @example
794
+ * const [value, setValue] = useState(null);
795
+ *
796
+ * const options = [
797
+ * { label: 'Option 1', value: 'option-1' },
798
+ * { label: 'Option 2', value: 'option-2' },
799
+ * { label: 'Option 3', value: 'option-3' },
800
+ * ];
801
+ *
802
+ * <__ExperimentalSelect
803
+ * label='Select items'
804
+ * options={loadOptions}
805
+ * value={value}
806
+ * onChange={setValue}
807
+ * />
808
+ *
809
+ * @preserve
810
+ */
811
+ const __ExperimentalSelect = (props) => {
812
+ const {
813
+ icon,
814
+ help,
815
+ label,
816
+ inline,
817
+ actions,
818
+ subtitle,
819
+ value,
820
+ onChange,
821
+ options,
822
+ simpleValue = false,
823
+ disabled = false,
824
+ clearable = false,
825
+ placeholder,
826
+ customMenuOption,
827
+ customValueDisplay,
828
+ className,
829
+ hidden
830
+ } = props;
831
+ const ref = useRef();
832
+ if (hidden) {
833
+ return null;
834
+ }
835
+ const currentValue = (value == null ? void 0 : value.value) ?? value ?? null;
836
+ return /* @__PURE__ */ jsx(
837
+ $82d7e5349645de74$export$ef9b1a59e592288f,
838
+ {
839
+ selectedKey: currentValue,
840
+ onSelectionChange: (selected) => {
841
+ if (selected === null || selected === void 0) {
842
+ onChange(null);
843
+ return;
844
+ }
845
+ if (simpleValue) {
846
+ onChange(selected);
847
+ return;
848
+ }
849
+ const item = options.find((item2) => item2.value === selected);
850
+ if (!item) {
851
+ onChange(null);
852
+ return;
853
+ }
854
+ if (item && "id" in item) {
855
+ delete item.id;
856
+ }
857
+ onChange(item);
858
+ },
859
+ placeholder,
860
+ children: /* @__PURE__ */ jsxs(
861
+ BaseControl,
862
+ {
863
+ label,
864
+ icon,
865
+ subtitle,
866
+ actions,
867
+ help,
868
+ inline,
869
+ labelAs: $01b77f81d0f07f68$export$b04be29aa201d4f5,
870
+ children: [
871
+ /* @__PURE__ */ jsxs(
872
+ "div",
873
+ {
874
+ className: clsx(
875
+ "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",
876
+ "es:h-9 es:rounded-lg es:border es:border-secondary-300 es:bg-white es:text-sm es:shadow-xs es:transition",
877
+ "es:any-focus:outline-hidden",
878
+ !inline && "es:w-full",
879
+ disabled && "es:select-none",
880
+ "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"
881
+ ),
882
+ ref,
883
+ children: [
884
+ /* @__PURE__ */ jsxs(
885
+ $d2b4bc8c273e7be6$export$353f5b6fc5456de1,
886
+ {
887
+ className: clsx(
888
+ "es:group es:h-6 es:w-full es:rounded-sm es:p-1 es:text-sm es:transition",
889
+ "es:flex es:grow es:items-center",
890
+ "es:any-focus:outline-hidden",
891
+ disabled && "es:bg-transparent es:text-secondary-400 es:selection:bg-transparent es:selection:text-transparent",
892
+ currentValue && !clearable && "es:pr-6",
893
+ !currentValue && "es:text-secondary-400"
894
+ ),
895
+ children: [
896
+ /* @__PURE__ */ jsx($82d7e5349645de74$export$e288731fd71264f0, { children: ({ defaultChildren, isPlaceholder, selectedItem }) => {
897
+ var _a;
898
+ if (!isPlaceholder && currentValue && customValueDisplay) {
899
+ return customValueDisplay(selectedItem);
900
+ }
901
+ if (!isPlaceholder && currentValue && customMenuOption) {
902
+ let icon2 = (selectedItem == null ? void 0 : selectedItem.icon) ?? null;
903
+ if (typeof (selectedItem == null ? void 0 : selectedItem.icon) === "string") {
904
+ icon2 = ((_a = icons) == null ? void 0 : _a[selectedItem.icon]) ?? null;
905
+ }
906
+ return /* @__PURE__ */ jsx(
907
+ RichLabel,
908
+ {
909
+ icon: icon2,
910
+ label: selectedItem == null ? void 0 : selectedItem.label,
911
+ subtitle: selectedItem.subtitle
912
+ }
913
+ );
914
+ }
915
+ return defaultChildren;
916
+ } }),
917
+ /* @__PURE__ */ jsx(
918
+ "div",
919
+ {
920
+ 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"),
921
+ "aria-hidden": "true",
922
+ children: cloneElement(icons.dropdownCaretAlt, {
923
+ className: "es:w-5.5 es:group-aria-expanded:-scale-y-100 es:transition-transform es:duration-200"
924
+ })
925
+ }
926
+ )
927
+ ]
928
+ }
929
+ ),
930
+ clearable && /* @__PURE__ */ jsx(SelectClearButton, {})
931
+ ]
932
+ }
933
+ ),
934
+ /* @__PURE__ */ jsx(
935
+ $07b14b47974efb58$export$5b6b19405a83ff9d,
936
+ {
937
+ className: ({ isEntering, isExiting }) => clsx(
938
+ "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",
939
+ "es:any-focus:outline-hidden",
940
+ isEntering && "es:motion-safe:motion-preset-slide-down-sm es:motion-safe:motion-duration-300 es:motion-reduce:motion-preset-fade-md",
941
+ isExiting && "es:not-motion-reduce:motion-translate-y-out-[-2.5%] es:motion-opacity-out-0 es:motion-duration-200"
942
+ ),
943
+ placement: "bottom left",
944
+ triggerRef: ref,
945
+ children: /* @__PURE__ */ jsx(
946
+ $eed445e0843c11d0$export$41f133550aa26f48,
947
+ {
948
+ className: "es:space-y-0.5 es:p-1 es:any-focus:outline-hidden",
949
+ items: options,
950
+ children: (item) => {
951
+ var _a;
952
+ let icon2 = (item == null ? void 0 : item.icon) ?? null;
953
+ if (typeof (item == null ? void 0 : item.icon) === "string") {
954
+ icon2 = ((_a = icons) == null ? void 0 : _a[item.icon]) ?? null;
955
+ }
956
+ return /* @__PURE__ */ jsxs(
957
+ OptionItemBase,
958
+ {
959
+ id: item.value,
960
+ className: item == null ? void 0 : item.className,
961
+ children: [
962
+ customMenuOption && customMenuOption(item),
963
+ !customMenuOption && /* @__PURE__ */ jsx(
964
+ RichLabel,
965
+ {
966
+ icon: icon2,
967
+ label: item == null ? void 0 : item.label,
968
+ subtitle: item.subtitle
969
+ }
970
+ )
971
+ ]
972
+ }
973
+ );
974
+ }
975
+ }
976
+ )
977
+ }
978
+ )
979
+ ]
980
+ }
981
+ )
982
+ }
983
+ );
984
+ };
985
+ const SelectClearButton = () => {
986
+ const state = useContext($82d7e5349645de74$export$ef445b55be0601bd);
987
+ const isEmpty = (state == null ? void 0 : state.selectedKey) === null;
988
+ return /* @__PURE__ */ jsx(
989
+ $d2b4bc8c273e7be6$export$353f5b6fc5456de1,
990
+ {
991
+ "aria-label": __("Clear value", "eightshift-ui-components"),
992
+ className: clsx(
993
+ "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",
994
+ isEmpty ? "es:hidden" : "es:flex"
995
+ ),
996
+ onPress: () => state == null ? void 0 : state.setSelectedKey(null),
997
+ slot: null,
998
+ children: icons.clearAlt
999
+ }
1000
+ );
1001
+ };
1002
+ export {
1003
+ __ExperimentalSelect
1004
+ };