@eightshift/ui-components 5.3.3 → 5.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/dist/{Button-npzfSoYo.js → Button-CQ5ZZJ2w.js} +8 -14
  2. package/dist/{Dialog-CQ8H6Noi.js → Dialog-BMgMUQuN.js} +81 -73
  3. package/dist/{FocusScope-DJApHXhY.js → FocusScope-B5vxRkHm.js} +1 -1
  4. package/dist/{Heading-bh1HU5HH.js → Heading-B5aEynOM.js} +1 -1
  5. package/dist/{Input-ChJaTNa5.js → Input-8yja_IHC.js} +6 -5
  6. package/dist/{ListBox-D0Stb4wr.js → ListBox-DggfiuO_.js} +28 -16
  7. package/dist/{OverlayArrow-DivvkAVb.js → OverlayArrow-DraDOoRn.js} +1 -1
  8. package/dist/{RSPContexts-2lR5GG9p.js → RSPContexts-CJ-HBf0L.js} +8 -4
  9. package/dist/{SearchField-jVsbJe1O.js → SearchField-DWGdCvnn.js} +24 -18
  10. package/dist/{Select-ciHB1pub.js → Select-BvggcFOX.js} +204 -68
  11. package/dist/SelectionIndicator-D7WMzeAW.js +7 -0
  12. package/dist/{SelectionManager-CabSdgMq.js → SelectionManager-B6-b5NM2.js} +98 -59
  13. package/dist/{Separator-BPvqJny4.js → Separator-B-xeqOkC.js} +6 -6
  14. package/dist/SharedElementTransition-fML-zIv6.js +12 -0
  15. package/dist/{Slider-ChP04COa.js → Slider-DfU6bRtH.js} +4 -4
  16. package/dist/{VisuallyHidden-X6SggVVO.js → VisuallyHidden-CgnIuZJ2.js} +1 -1
  17. package/dist/assets/style-admin.css +925 -79
  18. package/dist/assets/style-editor.css +925 -79
  19. package/dist/assets/style.css +925 -79
  20. package/dist/assets/wp-font-enhancements.css +1 -1
  21. package/dist/assets/wp-ui-enhancements.css +1 -1
  22. package/dist/components/button/button.js +75 -22
  23. package/dist/components/checkbox/checkbox.js +14 -10
  24. package/dist/components/color-pickers/solid-color-picker.js +8 -8
  25. package/dist/components/expandable/expandable.js +40 -10
  26. package/dist/components/index.js +4 -0
  27. package/dist/components/input-field/input-field.js +5 -5
  28. package/dist/components/link-input/link-input.js +32 -21
  29. package/dist/components/menu/menu.js +2 -2
  30. package/dist/components/modal/modal.js +34 -6
  31. package/dist/components/number-picker/number-picker.js +5 -4
  32. package/dist/components/options-panel/options-panel.js +1 -1
  33. package/dist/components/placeholders/file-picker-shell.js +130 -0
  34. package/dist/components/popover/popover.js +1 -1
  35. package/dist/components/radio/radio.js +20 -11
  36. package/dist/components/select/v2/async-multi-select.js +6 -6
  37. package/dist/components/select/v2/async-select.js +6 -6
  38. package/dist/components/select/v2/multi-select.js +7 -7
  39. package/dist/components/select/v2/shared.js +1 -1
  40. package/dist/components/select/v2/single-select.js +7 -7
  41. package/dist/components/slider/column-config-slider.js +1 -1
  42. package/dist/components/slider/slider.js +1 -1
  43. package/dist/components/smart-image/smart-image.js +117 -0
  44. package/dist/components/tabs/tabs.js +16 -10
  45. package/dist/components/toggle/switch.js +5 -5
  46. package/dist/components/toggle-button/toggle-button.js +10 -5
  47. package/dist/components/tooltip/tooltip.js +2 -2
  48. package/dist/icons/icons.js +10 -0
  49. package/dist/index.js +4 -0
  50. package/dist/{textSelection-k0u64dDA.js → textSelection-DbCKqaw8.js} +1 -1
  51. package/dist/{useButton-Bn4ZT295.js → useButton-v9ngEj50.js} +2 -2
  52. package/dist/{useDragAndDrop-DVLrIdEn.js → useDragAndDrop-C08ZXv4F.js} +5 -5
  53. package/dist/{useFilter-C4wo8Iii.js → useFilter-BlkUH1Ma.js} +1 -1
  54. package/dist/{useFocusRing-CUxgjvAY.js → useFocusRing-Cgm0R4Cf.js} +1 -1
  55. package/dist/{useFormValidation-CUtZcedF.js → useFormValidation-CeNsUGWK.js} +1 -1
  56. package/dist/{useHover-LmGemtHE.js → useHover-BRDW3y7-.js} +3 -1
  57. package/dist/{useListState-Xsk-aOvN.js → useListState-RdLrYsMP.js} +1 -1
  58. package/dist/{useNumberField-BCjjZWaz.js → useNumberField-D16dDfYF.js} +5 -5
  59. package/dist/{usePress-CBQIDzpQ.js → usePress-DJskZBH9.js} +4 -2
  60. package/dist/{useSingleSelectListState-DattSD7d.js → useSingleSelectListState-n0AVMr3Y.js} +2 -2
  61. package/dist/{useToggle-C8CedY6Z.js → useToggle-DSBDAfdw.js} +2 -2
  62. package/dist/{useToggleState-CiAradXs.js → useToggleState-CzN79ary.js} +1 -1
  63. package/dist/utilities/general.js +4142 -0
  64. package/dist/utilities/index.js +5 -0
  65. package/package.json +19 -15
  66. package/dist/context-DCAZLyDS.js +0 -7
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */
2
2
  .edit-post-header, .components-popover, .edit-post-sidebar, .wp-block-post-title, .components-select-control__input, .components-base-control__field, .components-base-control__label, .components-combobox-control__suggestions-container, .components-input-control__label, .components-input-control__input, .components-checkbox-control__label, .components-menu-group__label, .components-menu-item__button, .components-notice .components-notice__content, .components-tooltip, .components-modal__header, .preferences-modal__section-title, .preferences-modal__section-description, .block-editor-inserter__tabs, .editor-list-view-sidebar, .edit-post-layout__footer, .components-snackbar, .components-text-control__input {
3
3
  font-family: var(--es-font-sans, "Geist Variable", ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");
4
4
  }
@@ -1,4 +1,4 @@
1
- /*! tailwindcss v4.1.13 | MIT License | https://tailwindcss.com */
1
+ /*! tailwindcss v4.1.14 | MIT License | https://tailwindcss.com */
2
2
  @layer properties {
3
3
  @supports (((-webkit-hyphens: none)) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color: rgb(from red r g b)))) {
4
4
  *, :before, :after, ::backdrop {
@@ -1,7 +1,7 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { $ as $d2b4bc8c273e7be6$export$353f5b6fc5456de1, b as $0393f8ab869a0f1a$export$c17561cb55d4db30 } from "../../Button-npzfSoYo.js";
2
+ import { $ as $d2b4bc8c273e7be6$export$353f5b6fc5456de1, b as $0393f8ab869a0f1a$export$c17561cb55d4db30 } from "../../Button-CQ5ZZJ2w.js";
3
3
  import { k as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, a as $64fa3d84918910a7$export$29f1550f4b0d4415, h as $64fa3d84918910a7$export$4d86445c2cf5e3, b as $3ef42575df84b30b$export$9d1611c77c2fe928, l as $df56164dff5785e2$export$4338b53315abf666 } from "../../utils-cvK1vxO7.js";
4
- import { $ as $9bf71ea28793e738$export$c5251b9e124bf29 } from "../../FocusScope-DJApHXhY.js";
4
+ import { $ as $9bf71ea28793e738$export$c5251b9e124bf29 } from "../../FocusScope-B5vxRkHm.js";
5
5
  import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../filterDOMProps-D2C6R0DK.js";
6
6
  import React__default, { useState, useRef, forwardRef, createContext, cloneElement } from "react";
7
7
  import { $ as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 } from "../../context-DMOmz986.js";
@@ -108,10 +108,11 @@ const $13c3c67164f4d5be$export$4c260019440d418f = /* @__PURE__ */ forwardRef(fun
108
108
  * @property {TooltipProps} [props.tooltipProps] - Props to pass to the tooltip.
109
109
  * @property {boolean} [props.pending] - If `true`, the button is in a pending state, which can be used to indicate that an action is being processed.
110
110
  * @property {string} [props.pendingAriaLabel='Loading'] - ARIA label for the pending state, used for screen readers.
111
+ * @property {boolean} [props.flat] - If `true`, the button will be render with a more flat look. (applies only to `default`, `selected`, and `danger` types)
111
112
  * @property {boolean} [props.hidden] - If `true`, the component is not rendered.
112
113
  *
113
114
  * @typedef {'small' | 'default' | 'large'} ButtonSize
114
- * @typedef {'default' | 'selected' | 'selectedGhost' | 'ghost' | 'danger' | 'dangerGhost'} ButtonType
115
+ * @typedef {'default' | 'selected' | 'selectedGhost' | 'ghost' | 'danger' | 'dangerGhost' | 'glass' | 'glassDark' | 'dangerGlass' | 'selectedGlass'} ButtonType
115
116
  *
116
117
  * @preserve
117
118
  */
@@ -136,6 +137,7 @@ const Button = (props) => {
136
137
  icon,
137
138
  size = "default",
138
139
  type = "default",
140
+ flat,
139
141
  pending,
140
142
  pendingAriaLabel = __("Loading", "eightshift-ui-components"),
141
143
  disabled,
@@ -181,23 +183,72 @@ const Button = (props) => {
181
183
  large: "es:icon:size-6 es:rounded-xl"
182
184
  },
183
185
  type: {
184
- default: "es:bg-radial-[at_50%_125%] es:inset-ring es:inset-shadow-xs",
185
- selected: "es:bg-radial-[at_50%_125%] es:inset-ring es:inset-shadow-xs",
186
- danger: "es:bg-radial-[at_50%_125%] es:inset-ring es:inset-shadow-xs",
187
- ghost: "es:border-transparent es:text-secondary-700 es:enabled:hover:bg-secondary-100 es:enabled:active:bg-accent-50 es:enabled:pressed:bg-accent-50 es:enabled:active:text-accent-950 es:enabled:pressed:text-accent-950 es:disabled:border-transparent!",
186
+ default: ["es:bg-radial-[at_50%_125%]", !flat && "es:inset-ring es:inset-shadow-xs"],
187
+ selected: ["es:bg-radial-[at_50%_125%]", !flat && "es:inset-ring es:inset-shadow-xs"],
188
+ danger: ["es:bg-radial-[at_50%_125%]", !flat && "es:inset-ring es:inset-shadow-xs"],
189
+ ghost: "es:border-transparent es:text-secondary-700 es:hover:bg-secondary-100 es:enabled:active:bg-accent-50 es:enabled:pressed:bg-accent-50 es:enabled:active:text-accent-950 es:enabled:pressed:text-accent-950 es:disabled:border-transparent!",
188
190
  dangerGhost: [
189
191
  "es:border-transparent es:text-red-700",
190
- "es:enabled:hover:bg-red-500/5 es:enabled:active:bg-red-500/10 es:enabled:pressed:bg-red-500/10",
192
+ "es:hover:bg-red-500/5 es:enabled:active:bg-red-500/10 es:enabled:pressed:bg-red-500/10",
191
193
  "es:focus-visible:text-red-700",
192
194
  "es:focus-visible:ring-red-500/30 es:focus-visible:border-red-600 es:focus-visible:inset-ring-red-100",
193
195
  "es:disabled:border-transparent!"
194
196
  ],
195
197
  selectedGhost: [
196
198
  "es:border-transparent es:text-accent-600",
197
- "es:enabled:hover:bg-accent-500/5 es:enabled:active:bg-accent-500/10 es:enabled:pressed:bg-accent-500/10",
199
+ "es:hover:bg-accent-500/5 es:enabled:active:bg-accent-500/10 es:enabled:pressed:bg-accent-500/10",
198
200
  "es:focus-visible:text-accent-700",
199
201
  "es:focus-visible:ring-accent-500/30 es:focus-visible:border-accent-500 es:focus-visible:inset-ring-accent-100",
200
202
  "es:disabled:border-transparent!"
203
+ ],
204
+ glass: [
205
+ "es:backdrop-blur-md",
206
+ "es:backdrop-saturate-120 es:hover:backdrop-saturate-130",
207
+ "es:bg-radial-[at_50%_75%] es:from-white/20 es:to-white/15",
208
+ "es:hover:from-white/30 es:hover:to-white/25",
209
+ "es:focus-visible:from-white/90 es:focus-visible:to-white/85",
210
+ "es:border-none es:text-white es:focus-visible:text-black",
211
+ "es:inset-shadow-sm es:inset-shadow-white/5 es:hover:inset-shadow-white/10",
212
+ "es:shadow-xs es:shadow-black/10",
213
+ "es:inset-ring es:inset-ring-white/2",
214
+ "es:text-shadow-2xs es:text-shadow-black/30"
215
+ ],
216
+ glassDark: [
217
+ "es:backdrop-blur-md",
218
+ "es:backdrop-saturate-115 es:hover:backdrop-saturate-125",
219
+ "es:bg-radial-[at_50%_75%] es:from-black/40 es:to-black/35",
220
+ "es:hover:from-black/50 es:hover:to-black/45",
221
+ "es:focus-visible:from-black/95 es:focus-visible:to-black/90",
222
+ "es:border-none es:text-white",
223
+ "es:inset-shadow-sm es:inset-shadow-white/5 es:hover:inset-shadow-white/10",
224
+ "es:shadow-xs es:shadow-black/10",
225
+ "es:inset-ring es:inset-ring-black/10",
226
+ "es:text-shadow-2xs es:text-shadow-black/30 es:focus-visible:text-shadow-black/0"
227
+ ],
228
+ dangerGlass: [
229
+ "es:backdrop-blur-md",
230
+ "es:backdrop-saturate-115 es:hover:backdrop-saturate-125",
231
+ "es:bg-radial-[at_50%_75%] es:from-red-700/50 es:to-red-700/45",
232
+ "es:hover:from-red-700/60 es:hover:to-red-700/55",
233
+ "es:enabled:focus-visible:from-red-700/95 es:enabled:focus-visible:to-red-700/90",
234
+ "es:border-none es:text-white",
235
+ "es:inset-shadow-sm es:inset-shadow-white/5 es:hover:inset-shadow-white/10",
236
+ "es:shadow-xs es:shadow-red-700/10",
237
+ "es:inset-ring es:inset-ring-red-700/10",
238
+ "es:text-shadow-2xs es:text-shadow-black/30",
239
+ "es:focus-visible:ring-red-500/30"
240
+ ],
241
+ selectedGlass: [
242
+ "es:backdrop-blur-md",
243
+ "es:backdrop-saturate-120 es:hover:backdrop-saturate-130",
244
+ "es:bg-radial-[at_50%_75%] es:from-accent-400/35 es:to-accent-400/30",
245
+ "es:hover:from-accent-400/45 es:hover:to-accent-400/40",
246
+ "es:focus-visible:from-accent-600/95 es:focus-visible:to-accent-600/90",
247
+ "es:border-none es:text-white",
248
+ "es:inset-shadow-sm es:inset-shadow-white/5 es:hover:inset-shadow-white/10",
249
+ "es:shadow-xs es:shadow-black/10",
250
+ "es:inset-ring es:inset-ring-white/2",
251
+ "es:text-shadow-2xs es:text-shadow-black/30"
201
252
  ]
202
253
  }
203
254
  },
@@ -210,10 +261,11 @@ const Button = (props) => {
210
261
  "es:text-black",
211
262
  "es:from-white es:to-secondary-50",
212
263
  "es:border-secondary-300",
213
- "es:inset-ring-secondary-100",
214
- "es:inset-shadow-secondary-100/50",
215
- "es:shadow-sm",
216
- "es:enabled:hover:shadow-md es:enabled:active:shadow-sm es:enabled:pressed:shadow-sm es:hover:inset-shadow-secondary-100 es:hover:to-secondary-100 es:hover:inset-ring-secondary-100",
264
+ !flat && "es:inset-ring-secondary-100",
265
+ !flat && "es:inset-shadow-secondary-100/50 es:hover:inset-shadow-secondary-100",
266
+ !flat && "es:shadow-sm",
267
+ !flat && "es:hover:shadow-md es:enabled:active:shadow-sm es:enabled:pressed:shadow-sm",
268
+ flat ? "es:hover:from-secondary-100 es:hover:to-secondary-100 es:hover:inset-ring-secondary-100" : "es:hover:to-secondary-100 es:hover:inset-ring-secondary-100",
217
269
  "es:hover:text-accent-950",
218
270
  "es:focus-visible:text-accent-950"
219
271
  ]
@@ -223,14 +275,15 @@ const Button = (props) => {
223
275
  disabled: false,
224
276
  class: [
225
277
  "es:text-white",
226
- "es:from-accent-500 es:to-accent-600",
278
+ flat ? "es:from-accent-500 es:to-accent-600 es:hover:from-accent-600 es:hover:to-accent-700" : "es:from-accent-500 es:to-accent-600",
227
279
  "es:border-accent-700",
228
- "es:inset-ring es:inset-ring-accent-600",
229
- "es:inset-shadow-xs es:inset-shadow-accent-400/75",
280
+ !flat && "es:inset-ring es:inset-ring-accent-600",
281
+ !flat && "es:inset-shadow-xs es:inset-shadow-accent-400/75",
230
282
  "es:focus-visible:border-accent-700",
231
283
  "es:focus-visible:inset-ring es:focus-visible:inset-ring-accent-600",
232
284
  "es:focus-visible:inset-shadow-xs es:focus-visible:inset-shadow-accent-400",
233
- "es:shadow es:shadow-accent-600/30 es:enabled:hover:shadow-md es:enabled:active:shadow-sm es:enabled:pressed:shadow-sm"
285
+ !flat && "es:shadow es:shadow-accent-600/30 es:hover:shadow-md es:enabled:active:shadow-sm es:enabled:pressed:shadow-sm",
286
+ "es:text-shadow-2xs es:text-shadow-black/20"
234
287
  ]
235
288
  },
236
289
  {
@@ -238,14 +291,14 @@ const Button = (props) => {
238
291
  disabled: false,
239
292
  class: [
240
293
  "es:text-red-700",
241
- "es:from-red-50/75 es:to-white",
294
+ flat ? "es:from-red-600/5 es:to-red-600/2 es:hover:from-red-600/10 es:hover:to-red-600/5" : "es:from-red-50/75 es:to-white",
242
295
  "es:border-red-700/50",
243
- "es:inset-ring-red-100",
244
- "es:inset-shadow-red-50",
245
- "es:hover:inset-shadow-red-100 es:hover:inset-ring-red-100 es:hover:text-red-800 es:hover:border-red-600",
296
+ !flat && "es:inset-ring-red-100",
297
+ !flat && "es:inset-shadow-red-50",
298
+ !flat && "es:hover:inset-shadow-red-100 es:hover:inset-ring-red-100 es:hover:text-red-800 es:hover:border-red-600",
246
299
  "es:focus-visible:text-red-900",
247
300
  "es:focus-visible:ring-red-500/30 es:focus-visible:border-red-600 es:focus-visible:inset-ring-red-100",
248
- "es:shadow es:shadow-red-700/20 es:enabled:hover:shadow-md es:enabled:active:shadow-sm es:enabled:pressed:shadow-sm"
301
+ !flat && "es:shadow es:shadow-red-700/20 es:hover:shadow-md es:enabled:active:shadow-sm es:enabled:pressed:shadow-sm"
249
302
  ]
250
303
  },
251
304
  {
@@ -1,16 +1,16 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { a as $4e85f108e88277b8$export$b085522c77523c51 } from "../../RSPContexts-2lR5GG9p.js";
2
+ import { b as $4e85f108e88277b8$export$b085522c77523c51 } from "../../RSPContexts-CJ-HBf0L.js";
3
3
  import { b as $3ef42575df84b30b$export$9d1611c77c2fe928, a as $64fa3d84918910a7$export$29f1550f4b0d4415, $ as $64fa3d84918910a7$export$fabf2dc03a41866e, l as $df56164dff5785e2$export$4338b53315abf666, m as $5dc95899b306f630$export$c9058316764c140e, g as $64fa3d84918910a7$export$ef03459518577ad4, h as $64fa3d84918910a7$export$4d86445c2cf5e3 } from "../../utils-cvK1vxO7.js";
4
4
  import { $ as $d3e0e05bdfcf66bd$export$c24727297075ec6a } from "../../Form-Cq3fu75_.js";
5
5
  import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../filterDOMProps-D2C6R0DK.js";
6
- import React__default, { useEffect, useRef, forwardRef, useContext, createContext, useMemo } from "react";
7
- import { $ as $e5be200c675c3b3a$export$fc1a364ae1f3ff10, a as $e93e671b31057976$export$b8473d3665f3a75a, b as $e5be200c675c3b3a$export$a763b9476acd3eb, c as $e5be200c675c3b3a$export$dad6ae84456c676a } from "../../useFormValidation-CUtZcedF.js";
8
- import { $ as $f6c31cce2adf654f$export$45712eceda6fad21 } from "../../usePress-CBQIDzpQ.js";
9
- import { $ as $d2c8e2b0480f3f34$export$cbe85ee05b554577 } from "../../useToggle-C8CedY6Z.js";
10
- import { $ as $3017fa7ffdddec74$export$8042c6c013fd5226 } from "../../useToggleState-CiAradXs.js";
11
- import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-CUxgjvAY.js";
12
- import { w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-LmGemtHE.js";
13
- import { $ as $5c3e21d68f1c4674$export$439d29a4e110a164 } from "../../VisuallyHidden-X6SggVVO.js";
6
+ import React__default, { useEffect, useMemo, useRef, forwardRef, useContext, createContext } from "react";
7
+ import { $ as $e5be200c675c3b3a$export$fc1a364ae1f3ff10, a as $e93e671b31057976$export$b8473d3665f3a75a, b as $e5be200c675c3b3a$export$a763b9476acd3eb, c as $e5be200c675c3b3a$export$dad6ae84456c676a } from "../../useFormValidation-CeNsUGWK.js";
8
+ import { $ as $f6c31cce2adf654f$export$45712eceda6fad21 } from "../../usePress-DJskZBH9.js";
9
+ import { $ as $d2c8e2b0480f3f34$export$cbe85ee05b554577 } from "../../useToggle-DSBDAfdw.js";
10
+ import { $ as $3017fa7ffdddec74$export$8042c6c013fd5226 } from "../../useToggleState-CzN79ary.js";
11
+ import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-Cgm0R4Cf.js";
12
+ import { w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-BRDW3y7-.js";
13
+ import { $ as $5c3e21d68f1c4674$export$439d29a4e110a164 } from "../../VisuallyHidden-CgnIuZJ2.js";
14
14
  import { $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../Label-DWVaNd2E.js";
15
15
  import { c as clsx } from "../../lite-DVmmD_-j.js";
16
16
  import { AnimatedVisibility } from "../animated-visibility/animated-visibility.js";
@@ -40,7 +40,11 @@ function $406796ff087fe49b$export$e375f10ce42261c5(props, state, inputRef) {
40
40
  }
41
41
  });
42
42
  return {
43
- labelProps: $3ef42575df84b30b$export$9d1611c77c2fe928(labelProps, pressProps),
43
+ labelProps: $3ef42575df84b30b$export$9d1611c77c2fe928(labelProps, pressProps, useMemo(() => ({
44
+ // Prevent label from being focused when mouse down on it.
45
+ // Note, this does not prevent the input from being focused in the `click` event.
46
+ onMouseDown: (e) => e.preventDefault()
47
+ }), [])),
44
48
  inputProps: {
45
49
  ...inputProps,
46
50
  checked: isSelected,
@@ -1,24 +1,24 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
2
  import React__default, { useState, useMemo, useRef, useCallback, forwardRef, createContext, useContext } from "react";
3
- import { b as $4e85f108e88277b8$export$ebe63fadcdce34ed, c as $4e85f108e88277b8$export$44644b8a16031b5b, d as $4e85f108e88277b8$export$717b2c0a523a0b53 } from "../../RSPContexts-2lR5GG9p.js";
3
+ import { d as $4e85f108e88277b8$export$ebe63fadcdce34ed, e as $4e85f108e88277b8$export$44644b8a16031b5b, f as $4e85f108e88277b8$export$717b2c0a523a0b53 } from "../../RSPContexts-CJ-HBf0L.js";
4
4
  import { b as $3ef42575df84b30b$export$9d1611c77c2fe928, d as $bdb11010cef70236$export$f680877a34711e37, h as $64fa3d84918910a7$export$4d86445c2cf5e3, a as $64fa3d84918910a7$export$29f1550f4b0d4415, i as $64fa3d84918910a7$export$2881499e37b75b9a, f as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, g as $64fa3d84918910a7$export$ef03459518577ad4 } from "../../utils-cvK1vxO7.js";
5
5
  import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../filterDOMProps-D2C6R0DK.js";
6
- import { $ as $9ab94262bd0047c7$export$420e68273165f4ec, a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-CUxgjvAY.js";
7
- import { a as $458b0a5536c1a7cf$export$40bfa8c7b0832715, e as $03deb23ff14920c4$export$4eaf04e54aa8eed6, z as $7215afc6de606d6b$export$de79e2c695e052f3, A as $46d819fcbaf35654$export$8f71654801c2f7cd, n as $a1ea59d68270f0dd$export$f8168d8dd8fd66e6, b as $c87311424ea30a05$export$fedb369cb70207f1, s as $c87311424ea30a05$export$a11b0059900ceec8, w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-LmGemtHE.js";
6
+ import { $ as $9ab94262bd0047c7$export$420e68273165f4ec, a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-Cgm0R4Cf.js";
7
+ import { a as $458b0a5536c1a7cf$export$40bfa8c7b0832715, e as $03deb23ff14920c4$export$4eaf04e54aa8eed6, z as $7215afc6de606d6b$export$de79e2c695e052f3, A as $46d819fcbaf35654$export$8f71654801c2f7cd, n as $a1ea59d68270f0dd$export$f8168d8dd8fd66e6, b as $c87311424ea30a05$export$fedb369cb70207f1, s as $c87311424ea30a05$export$a11b0059900ceec8, w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-BRDW3y7-.js";
8
8
  import { $ as $799cddbef784668f$export$6e865ea70d7724f, b as $799cddbef784668f$export$4cde5df63f53f473, a as $3493a52097159720$exports } from "../../Color-WxFE7lQB.js";
9
9
  import { a as $9446cca9a3875146$export$cb6e0bb50bc19463, $ as $9446cca9a3875146$export$7d15b64cf5a3a4c4 } from "../../number-7sOvrqo0.js";
10
10
  import { $ as $313b98861ee5dd6c$export$d6875122194c7b44 } from "../../useLabels-Cdxi6JSa.js";
11
11
  import { $ as $99facab73266f662$export$5add1d006293d136 } from "../../useFormReset-yV9VVy9R.js";
12
- import { e as $28f99e3e86e6ec45$export$e5fda3247f5d67f9, f as $e8a7022cf87cba2a$export$36da96379f79f245, g as $bcca50147b47f54d$export$56b2c08e277f365, h as $47b897dc8cdb026b$export$8d15029008292ae, d as $6f909507e6374d18$export$1e7083018727fa60, i as $6f909507e6374d18$export$f1fce0420cc6d8ee, j as $6f909507e6374d18$export$6189c2744041d8f8, a as $6f909507e6374d18$export$105594979f116971 } from "../../Slider-ChP04COa.js";
12
+ import { e as $28f99e3e86e6ec45$export$e5fda3247f5d67f9, f as $e8a7022cf87cba2a$export$36da96379f79f245, g as $bcca50147b47f54d$export$56b2c08e277f365, h as $47b897dc8cdb026b$export$8d15029008292ae, d as $6f909507e6374d18$export$1e7083018727fa60, i as $6f909507e6374d18$export$f1fce0420cc6d8ee, j as $6f909507e6374d18$export$6189c2744041d8f8, a as $6f909507e6374d18$export$105594979f116971 } from "../../Slider-DfU6bRtH.js";
13
13
  import { $ as $18f2051aff69b9bf$export$43bb16f9c6d9e3f7 } from "../../context-DMOmz986.js";
14
14
  import { $ as $fca6afa0e843324b$export$f12b703ca79dfbb1 } from "../../useLocalizedStringFormatter-eaZiN2tE.js";
15
- import { a as $5c3e21d68f1c4674$export$a966af930f325cab } from "../../VisuallyHidden-X6SggVVO.js";
15
+ import { a as $5c3e21d68f1c4674$export$a966af930f325cab } from "../../VisuallyHidden-CgnIuZJ2.js";
16
16
  import { $ as $ee014567cb39d3f0$export$ff05c3ac10437e03 } from "../../FieldError-B8BgFmIQ.js";
17
- import { b as $3985021b0ad6602f$export$37fb8590cf2c088c, a as $a049562f99e7db0e$export$f9c6924e160136d1, $ as $3985021b0ad6602f$export$f5b8910cec6cf069 } from "../../Input-ChJaTNa5.js";
17
+ import { b as $3985021b0ad6602f$export$37fb8590cf2c088c, a as $a049562f99e7db0e$export$f9c6924e160136d1, $ as $3985021b0ad6602f$export$f5b8910cec6cf069 } from "../../Input-8yja_IHC.js";
18
18
  import { a as $01b77f81d0f07f68$export$75b6ee27786ba447, $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../Label-DWVaNd2E.js";
19
19
  import { a as $514c0188e459b4c0$export$9afb8bc826b033ea } from "../../Text-AxKZjtFm.js";
20
- import { $ as $de67e98908f0c6ee$export$7f629e9dc1ecf37c, b as $d2e8511e6f209edf$export$e908e06f4b8e3402, c as $7d0a636d7a4dcefd$export$2123ff2b87c81ca, d as $d841c8010a73d545$export$4f384c9210e583c3, a as $81397a9303501bda$export$23f548e970bdf099 } from "../../useNumberField-BCjjZWaz.js";
21
- import { $ as $e5be200c675c3b3a$export$fc1a364ae1f3ff10, b as $e5be200c675c3b3a$export$a763b9476acd3eb } from "../../useFormValidation-CUtZcedF.js";
20
+ import { $ as $de67e98908f0c6ee$export$7f629e9dc1ecf37c, b as $d2e8511e6f209edf$export$e908e06f4b8e3402, c as $7d0a636d7a4dcefd$export$2123ff2b87c81ca, d as $d841c8010a73d545$export$4f384c9210e583c3, a as $81397a9303501bda$export$23f548e970bdf099 } from "../../useNumberField-D16dDfYF.js";
21
+ import { $ as $e5be200c675c3b3a$export$fc1a364ae1f3ff10, b as $e5be200c675c3b3a$export$a763b9476acd3eb } from "../../useFormValidation-CeNsUGWK.js";
22
22
  import { c as clsx } from "../../lite-DVmmD_-j.js";
23
23
  import { BaseControl } from "../base-control/base-control.js";
24
24
  import { _ as __ } from "../../default-i18n-CN_q3KUs.js";
@@ -6,20 +6,19 @@ import { Button } from "../button/button.js";
6
6
  import { icons } from "../../icons/icons.js";
7
7
  import { c as clsx } from "../../lite-DVmmD_-j.js";
8
8
  import { _ as __ } from "../../default-i18n-CN_q3KUs.js";
9
- import { a as $d2b4bc8c273e7be6$export$24d547caef80ccd1 } from "../../Button-npzfSoYo.js";
9
+ import { a as $d2b4bc8c273e7be6$export$24d547caef80ccd1 } from "../../Button-CQ5ZZJ2w.js";
10
10
  import { d as $bdb11010cef70236$export$f680877a34711e37, n as $b5e257d569688ac6$export$535bd6ca7f90a273, k as $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c, a as $64fa3d84918910a7$export$29f1550f4b0d4415, h as $64fa3d84918910a7$export$4d86445c2cf5e3, i as $64fa3d84918910a7$export$2881499e37b75b9a, o as $64fa3d84918910a7$export$c62b8e45d58ddad9, b as $3ef42575df84b30b$export$9d1611c77c2fe928, m as $5dc95899b306f630$export$c9058316764c140e } from "../../utils-cvK1vxO7.js";
11
11
  import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../filterDOMProps-D2C6R0DK.js";
12
- import { a as $458b0a5536c1a7cf$export$40bfa8c7b0832715 } from "../../useHover-LmGemtHE.js";
12
+ import { a as $458b0a5536c1a7cf$export$40bfa8c7b0832715 } from "../../useHover-BRDW3y7-.js";
13
13
  import { r as reactDomExports } from "../../index-D8-Zjpbd.js";
14
14
  import { $ as $e9faafb641e167db$export$90fc3a17d93f704c } from "../../useEvent-BifIGnVS.js";
15
- import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-CUxgjvAY.js";
15
+ import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-Cgm0R4Cf.js";
16
16
  import { $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../Label-DWVaNd2E.js";
17
17
  function $5e910fae8e128ead$export$6e3e27031a30522f(props, state, ref) {
18
18
  let { isDisabled } = props;
19
19
  let triggerId = $bdb11010cef70236$export$f680877a34711e37();
20
20
  let panelId = $bdb11010cef70236$export$f680877a34711e37();
21
21
  let isSSR = $b5e257d569688ac6$export$535bd6ca7f90a273();
22
- let supportsBeforeMatch = !isSSR && "onbeforematch" in document.body;
23
22
  let raf = useRef(null);
24
23
  let handleBeforeMatch = useCallback(() => {
25
24
  raf.current = requestAnimationFrame(() => {
@@ -32,18 +31,49 @@ function $5e910fae8e128ead$export$6e3e27031a30522f(props, state, ref) {
32
31
  ref,
33
32
  state
34
33
  ]);
35
- $e9faafb641e167db$export$90fc3a17d93f704c(ref, "beforematch", supportsBeforeMatch ? handleBeforeMatch : null);
34
+ $e9faafb641e167db$export$90fc3a17d93f704c(ref, "beforematch", handleBeforeMatch);
35
+ let isExpandedRef = useRef(null);
36
36
  $f0a04ccd8dbdd83b$export$e5c5a5f917a5871c(() => {
37
37
  if (raf.current) cancelAnimationFrame(raf.current);
38
- if (supportsBeforeMatch && ref.current && !isDisabled) {
39
- if (state.isExpanded) ref.current.removeAttribute("hidden");
40
- else ref.current.setAttribute("hidden", "until-found");
38
+ if (ref.current && !isDisabled && !isSSR) {
39
+ let panel = ref.current;
40
+ if (isExpandedRef.current == null || typeof panel.getAnimations !== "function") {
41
+ if (state.isExpanded) {
42
+ panel.removeAttribute("hidden");
43
+ panel.style.setProperty("--disclosure-panel-width", "auto");
44
+ panel.style.setProperty("--disclosure-panel-height", "auto");
45
+ } else {
46
+ panel.setAttribute("hidden", "until-found");
47
+ panel.style.setProperty("--disclosure-panel-width", "0px");
48
+ panel.style.setProperty("--disclosure-panel-height", "0px");
49
+ }
50
+ } else if (state.isExpanded !== isExpandedRef.current) {
51
+ if (state.isExpanded) {
52
+ panel.removeAttribute("hidden");
53
+ panel.style.setProperty("--disclosure-panel-width", panel.scrollWidth + "px");
54
+ panel.style.setProperty("--disclosure-panel-height", panel.scrollHeight + "px");
55
+ Promise.all(panel.getAnimations().map((a) => a.finished)).then(() => {
56
+ panel.style.setProperty("--disclosure-panel-width", "auto");
57
+ panel.style.setProperty("--disclosure-panel-height", "auto");
58
+ }).catch(() => {
59
+ });
60
+ } else {
61
+ panel.style.setProperty("--disclosure-panel-width", panel.scrollWidth + "px");
62
+ panel.style.setProperty("--disclosure-panel-height", panel.scrollHeight + "px");
63
+ window.getComputedStyle(panel).height;
64
+ panel.style.setProperty("--disclosure-panel-width", "0px");
65
+ panel.style.setProperty("--disclosure-panel-height", "0px");
66
+ Promise.all(panel.getAnimations().map((a) => a.finished)).then(() => panel.setAttribute("hidden", "until-found")).catch(() => {
67
+ });
68
+ }
69
+ }
70
+ isExpandedRef.current = state.isExpanded;
41
71
  }
42
72
  }, [
43
73
  isDisabled,
44
74
  ref,
45
75
  state.isExpanded,
46
- supportsBeforeMatch
76
+ isSSR
47
77
  ]);
48
78
  useEffect(() => {
49
79
  return () => {
@@ -69,7 +99,7 @@ function $5e910fae8e128ead$export$6e3e27031a30522f(props, state, ref) {
69
99
  role: "group",
70
100
  "aria-labelledby": triggerId,
71
101
  "aria-hidden": !state.isExpanded,
72
- hidden: supportsBeforeMatch ? true : !state.isExpanded
102
+ hidden: isSSR || isDisabled ? isDisabled || !state.isExpanded : void 0
73
103
  }
74
104
  };
75
105
  }
@@ -14,6 +14,7 @@ import { DraggableContext } from "./draggable/draggable-context.js";
14
14
  import { Draggable } from "./draggable/draggable.js";
15
15
  import { DraggableHandle } from "./draggable/draggable-handle.js";
16
16
  import { Expandable } from "./expandable/expandable.js";
17
+ import { FilePickerShell } from "./placeholders/file-picker-shell.js";
17
18
  import { FilePlaceholder } from "./placeholders/file-placeholder.js";
18
19
  import { GradientEditor } from "./color-pickers/gradient-editor.js";
19
20
  import { HStack } from "./layout/hstack.js";
@@ -49,6 +50,7 @@ import { OptionSelect } from "./option-select/option-select.js";
49
50
  import { OptionsPanel, OptionsPanelHeader, OptionsPanelIntro, OptionsPanelSection } from "./options-panel/options-panel.js";
50
51
  import { Select } from "./select/single-select.js";
51
52
  import { Slider } from "./slider/slider.js";
53
+ import { SmartImage } from "./smart-image/smart-image.js";
52
54
  import { SolidColorPicker } from "./color-pickers/solid-color-picker.js";
53
55
  import { Spacer } from "./spacer/spacer.js";
54
56
  import { Tab, TabList, TabPanel, Tabs } from "./tabs/tabs.js";
@@ -81,6 +83,7 @@ export {
81
83
  DraggableListItem,
82
84
  DraggableListItemHandle,
83
85
  Expandable,
86
+ FilePickerShell,
84
87
  FilePlaceholder,
85
88
  GradientEditor,
86
89
  HStack,
@@ -126,6 +129,7 @@ export {
126
129
  Select,
127
130
  SelectNext,
128
131
  Slider,
132
+ SmartImage,
129
133
  SolidColorPicker,
130
134
  Spacer,
131
135
  SubMenuItem,
@@ -1,12 +1,12 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { d as $2d73ec29415bd339$export$712718f7aec83d5, b as $3985021b0ad6602f$export$37fb8590cf2c088c, a as $a049562f99e7db0e$export$f9c6924e160136d1, $ as $3985021b0ad6602f$export$f5b8910cec6cf069 } from "../../Input-ChJaTNa5.js";
2
+ import { d as $2d73ec29415bd339$export$712718f7aec83d5, b as $3985021b0ad6602f$export$37fb8590cf2c088c, a as $a049562f99e7db0e$export$f9c6924e160136d1, $ as $3985021b0ad6602f$export$f5b8910cec6cf069 } from "../../Input-8yja_IHC.js";
3
3
  import { a as $01b77f81d0f07f68$export$75b6ee27786ba447, $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../Label-DWVaNd2E.js";
4
4
  import { a as $64fa3d84918910a7$export$29f1550f4b0d4415, h as $64fa3d84918910a7$export$4d86445c2cf5e3, b as $3ef42575df84b30b$export$9d1611c77c2fe928, $ as $64fa3d84918910a7$export$fabf2dc03a41866e, f as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, g as $64fa3d84918910a7$export$ef03459518577ad4, i as $64fa3d84918910a7$export$2881499e37b75b9a } from "../../utils-cvK1vxO7.js";
5
5
  import React__default, { forwardRef, createContext, useRef, useState, useCallback } from "react";
6
- import { w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-LmGemtHE.js";
7
- import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-CUxgjvAY.js";
6
+ import { w as $6179b936705e76d3$export$ae780daf29e6d456 } from "../../useHover-BRDW3y7-.js";
7
+ import { a as $f7dceffc5ad7768b$export$4e328f61c538687f } from "../../useFocusRing-Cgm0R4Cf.js";
8
8
  import { $ as $ee014567cb39d3f0$export$ff05c3ac10437e03 } from "../../FieldError-B8BgFmIQ.js";
9
- import { $ as $8e6cc465cc68f603$export$698f465ec27e93df } from "../../context-DCAZLyDS.js";
9
+ import { a as $4e85f108e88277b8$export$698f465ec27e93df } from "../../RSPContexts-CJ-HBf0L.js";
10
10
  import { $ as $d3e0e05bdfcf66bd$export$c24727297075ec6a } from "../../Form-Cq3fu75_.js";
11
11
  import { a as $514c0188e459b4c0$export$9afb8bc826b033ea } from "../../Text-AxKZjtFm.js";
12
12
  import { $ as $f39a9eba43920ace$export$86427a43e3e48ebb } from "../../Hidden-rE6uR-lr.js";
@@ -55,7 +55,7 @@ const $bcdf0525bf22703d$export$2c73285ae9390cec = /* @__PURE__ */ $f39a9eba43920
55
55
  var _props_validationBehavior, _ref;
56
56
  let validationBehavior = (_ref = (_props_validationBehavior = props.validationBehavior) !== null && _props_validationBehavior !== void 0 ? _props_validationBehavior : formValidationBehavior) !== null && _ref !== void 0 ? _ref : "native";
57
57
  let inputRef = useRef(null);
58
- [props, inputRef] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, inputRef, $8e6cc465cc68f603$export$698f465ec27e93df);
58
+ [props, inputRef] = $64fa3d84918910a7$export$29f1550f4b0d4415(props, inputRef, $4e85f108e88277b8$export$698f465ec27e93df);
59
59
  let [labelRef, label] = $64fa3d84918910a7$export$9d4c57ee4c6ffdd8(!props["aria-label"] && !props["aria-labelledby"]);
60
60
  let [inputElementType, setInputElementType] = useState("input");
61
61
  let { labelProps, inputProps, descriptionProps, errorMessageProps, ...validation } = $2d73ec29415bd339$export$712718f7aec83d5({
@@ -1,25 +1,26 @@
1
1
  import { jsxs, jsx, Fragment } from "react/jsx-runtime";
2
- import { c as $319e236875307eab$export$a9b970dcc4ae71a9, a as $d2b4bc8c273e7be6$export$24d547caef80ccd1, $ as $d2b4bc8c273e7be6$export$353f5b6fc5456de1 } from "../../Button-npzfSoYo.js";
2
+ import { c as $319e236875307eab$export$a9b970dcc4ae71a9, a as $d2b4bc8c273e7be6$export$24d547caef80ccd1, $ as $d2b4bc8c273e7be6$export$353f5b6fc5456de1 } from "../../Button-CQ5ZZJ2w.js";
3
3
  import { p as $ff5963eb1fccf552$export$e08e3b67e392101e, b as $3ef42575df84b30b$export$9d1611c77c2fe928, a as $64fa3d84918910a7$export$29f1550f4b0d4415, $ as $64fa3d84918910a7$export$fabf2dc03a41866e, f as $64fa3d84918910a7$export$9d4c57ee4c6ffdd8, g as $64fa3d84918910a7$export$ef03459518577ad4, h as $64fa3d84918910a7$export$4d86445c2cf5e3, i as $64fa3d84918910a7$export$2881499e37b75b9a } from "../../utils-cvK1vxO7.js";
4
4
  import { $ as $ee014567cb39d3f0$export$ff05c3ac10437e03 } from "../../FieldError-B8BgFmIQ.js";
5
5
  import { $ as $d3e0e05bdfcf66bd$export$c24727297075ec6a } from "../../Form-Cq3fu75_.js";
6
- import { d as $2d73ec29415bd339$export$712718f7aec83d5, b as $3985021b0ad6602f$export$37fb8590cf2c088c, a as $a049562f99e7db0e$export$f9c6924e160136d1, c as $a049562f99e7db0e$export$eb2fcfdbd7ba97d4, $ as $3985021b0ad6602f$export$f5b8910cec6cf069 } from "../../Input-ChJaTNa5.js";
6
+ import { d as $2d73ec29415bd339$export$712718f7aec83d5, b as $3985021b0ad6602f$export$37fb8590cf2c088c, a as $a049562f99e7db0e$export$f9c6924e160136d1, c as $a049562f99e7db0e$export$eb2fcfdbd7ba97d4, $ as $3985021b0ad6602f$export$f5b8910cec6cf069 } from "../../Input-8yja_IHC.js";
7
7
  import { a as $01b77f81d0f07f68$export$75b6ee27786ba447, $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../Label-DWVaNd2E.js";
8
- import { e as $b1f0cad8af73213b$export$3585ede4d035bf14, f as $b1f0cad8af73213b$export$9145995848b05025, c as $eed445e0843c11d0$export$7ff8f37d2d81a48d, d as $eed445e0843c11d0$export$7c5906fe4f1f2af2, $ as $eed445e0843c11d0$export$41f133550aa26f48, a as $eed445e0843c11d0$export$a11e76429ed99b4 } from "../../ListBox-D0Stb4wr.js";
9
- import { o as $168583247155ddda$export$dc9c12ed27dd1b49, k as $5e3802645cc19319$export$1c3ebcada18427bf, l as $de32f1b87079253c$export$d2f961adcb0afbe, p as $07b14b47974efb58$export$9b9a0cd73afb7ca4, e as $07b14b47974efb58$export$5b6b19405a83ff9d } from "../../Dialog-CQ8H6Noi.js";
8
+ import { c as $b1f0cad8af73213b$export$3585ede4d035bf14, d as $b1f0cad8af73213b$export$9145995848b05025, e as $eed445e0843c11d0$export$7ff8f37d2d81a48d, f as $eed445e0843c11d0$export$7c5906fe4f1f2af2, $ as $eed445e0843c11d0$export$41f133550aa26f48, a as $eed445e0843c11d0$export$a11e76429ed99b4 } from "../../ListBox-DggfiuO_.js";
9
+ import { o as $168583247155ddda$export$dc9c12ed27dd1b49, k as $5e3802645cc19319$export$1c3ebcada18427bf, l as $de32f1b87079253c$export$d2f961adcb0afbe, p as $07b14b47974efb58$export$9b9a0cd73afb7ca4, e as $07b14b47974efb58$export$5b6b19405a83ff9d } from "../../Dialog-BMgMUQuN.js";
10
10
  import { a as $514c0188e459b4c0$export$9afb8bc826b033ea } from "../../Text-AxKZjtFm.js";
11
- import { k as $ae20dd8cbca75726$export$d6daf82dcd84e87c, q as $c5a24bc478652b5f$export$1005530eda016c13, t as $55f9b1ae81f22853$export$2b35b76d2e30e129, e as $e1995378a142960e$export$bf788dd355e3a401 } from "../../SelectionManager-CabSdgMq.js";
11
+ import { m as $ae20dd8cbca75726$export$d6daf82dcd84e87c, r as $c5a24bc478652b5f$export$1005530eda016c13, t as $55f9b1ae81f22853$export$2b35b76d2e30e129, g as $e1995378a142960e$export$bf788dd355e3a401 } from "../../SelectionManager-B6-b5NM2.js";
12
12
  import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../filterDOMProps-D2C6R0DK.js";
13
- import { $ as $fc909762b330b746$export$61c6a8c84e605fb6, f as $9daab02d461809db$export$683480f191c0e3ea } from "../../OverlayArrow-DivvkAVb.js";
13
+ import { $ as $fc909762b330b746$export$61c6a8c84e605fb6, f as $9daab02d461809db$export$683480f191c0e3ea } from "../../OverlayArrow-DraDOoRn.js";
14
14
  import React__default, { useRef, useEffect, useMemo, useState, useCallback, forwardRef, createContext, cloneElement } from "react";
15
- import { $ as $bb77f239b46e8c72$export$3274cf84b703fff } from "../../useFilter-C4wo8Iii.js";
16
- import { b as $e5be200c675c3b3a$export$a763b9476acd3eb, $ as $e5be200c675c3b3a$export$fc1a364ae1f3ff10 } from "../../useFormValidation-CUtZcedF.js";
17
- import { $ as $a0d645289fe9b86b$export$e7f05e985daf4b5f } from "../../useSingleSelectListState-DattSD7d.js";
18
- import { c as $a02d57049d202695$export$d085fb9e920b5ca7 } from "../../useListState-Xsk-aOvN.js";
19
- import { J as $c87311424ea30a05$export$e1865c3bedcd822b, g as $d4ee10de306f2510$export$cd4e5573fbe2b576, c as $431fbd86ca7dc216$export$b204af158042fbac, a as $458b0a5536c1a7cf$export$40bfa8c7b0832715 } from "../../useHover-LmGemtHE.js";
20
- import { b as $ea8dcbcb9ea1b556$export$9a302a45f65d0572 } from "../../usePress-CBQIDzpQ.js";
15
+ import { $ as $bb77f239b46e8c72$export$3274cf84b703fff } from "../../useFilter-BlkUH1Ma.js";
16
+ import { b as $e5be200c675c3b3a$export$a763b9476acd3eb, $ as $e5be200c675c3b3a$export$fc1a364ae1f3ff10 } from "../../useFormValidation-CeNsUGWK.js";
17
+ import { $ as $a0d645289fe9b86b$export$e7f05e985daf4b5f } from "../../useSingleSelectListState-n0AVMr3Y.js";
18
+ import { c as $a02d57049d202695$export$d085fb9e920b5ca7 } from "../../useListState-RdLrYsMP.js";
19
+ import { J as $c87311424ea30a05$export$e1865c3bedcd822b, g as $d4ee10de306f2510$export$cd4e5573fbe2b576, c as $431fbd86ca7dc216$export$b204af158042fbac, a as $458b0a5536c1a7cf$export$40bfa8c7b0832715 } from "../../useHover-BRDW3y7-.js";
20
+ import { b as $ea8dcbcb9ea1b556$export$9a302a45f65d0572 } from "../../usePress-DJskZBH9.js";
21
21
  import { $ as $313b98861ee5dd6c$export$d6875122194c7b44 } from "../../useLabels-Cdxi6JSa.js";
22
- import { f as $2a25aae57d74318e$export$a05409b8bb224a5a, e as $453cc9f0df89c0a5$export$77d5aafae4e095b2 } from "../../Separator-BPvqJny4.js";
22
+ import { $ as $e9faafb641e167db$export$90fc3a17d93f704c } from "../../useEvent-BifIGnVS.js";
23
+ import { f as $2a25aae57d74318e$export$a05409b8bb224a5a, e as $453cc9f0df89c0a5$export$77d5aafae4e095b2 } from "../../Separator-B-xeqOkC.js";
23
24
  import { $ as $fca6afa0e843324b$export$f12b703ca79dfbb1 } from "../../useLocalizedStringFormatter-eaZiN2tE.js";
24
25
  import { _ as __ } from "../../default-i18n-CN_q3KUs.js";
25
26
  import { icons } from "../../icons/icons.js";
@@ -809,14 +810,20 @@ function $c350ade66beef0af$export$8c18d1b4f7232bbf(props, state) {
809
810
  case "Enter":
810
811
  case "Tab":
811
812
  if (state.isOpen && e.key === "Enter") e.preventDefault();
812
- if (state.isOpen && listBoxRef.current && state.selectionManager.focusedKey != null && state.selectionManager.isLink(state.selectionManager.focusedKey)) {
813
- let item = listBoxRef.current.querySelector(`[data-key="${CSS.escape(state.selectionManager.focusedKey.toString())}"]`);
814
- if (e.key === "Enter" && item instanceof HTMLAnchorElement) {
815
- let collectionItem = state.collection.getItem(state.selectionManager.focusedKey);
816
- if (collectionItem) router.open(item, e, collectionItem.props.href, collectionItem.props.routerOptions);
813
+ if (state.isOpen && listBoxRef.current && state.selectionManager.focusedKey != null) {
814
+ let collectionItem = state.collection.getItem(state.selectionManager.focusedKey);
815
+ if (collectionItem === null || collectionItem === void 0 ? void 0 : collectionItem.props.href) {
816
+ let item = listBoxRef.current.querySelector(`[data-key="${CSS.escape(state.selectionManager.focusedKey.toString())}"]`);
817
+ if (e.key === "Enter" && item instanceof HTMLAnchorElement) router.open(item, e, collectionItem.props.href, collectionItem.props.routerOptions);
818
+ state.close();
819
+ break;
820
+ } else if (collectionItem === null || collectionItem === void 0 ? void 0 : collectionItem.props.onAction) {
821
+ collectionItem.props.onAction();
822
+ state.close();
823
+ break;
817
824
  }
818
- state.close();
819
- } else state.commit();
825
+ }
826
+ state.commit();
820
827
  break;
821
828
  case "Escape":
822
829
  if (state.selectedKey !== null || state.inputValue === "" || props.allowsCustomValue) e.continuePropagation();
@@ -972,6 +979,9 @@ function $c350ade66beef0af$export$8c18d1b4f7232bbf(props, state) {
972
979
  }, [
973
980
  focusedItem
974
981
  ]);
982
+ $e9faafb641e167db$export$90fc3a17d93f704c(listBoxRef, "react-aria-item-action", state.isOpen ? () => {
983
+ state.close();
984
+ } : void 0);
975
985
  return {
976
986
  labelProps,
977
987
  buttonProps: {
@@ -1001,7 +1011,8 @@ function $c350ade66beef0af$export$8c18d1b4f7232bbf(props, state) {
1001
1011
  shouldUseVirtualFocus: true,
1002
1012
  shouldSelectOnPressUp: true,
1003
1013
  shouldFocusOnHover: true,
1004
- linkBehavior: "selection"
1014
+ linkBehavior: "selection",
1015
+ ["UNSTABLE_itemBehavior"]: "action"
1005
1016
  }),
1006
1017
  descriptionProps,
1007
1018
  errorMessageProps,
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx } from "react/jsx-runtime";
2
- import { $ as $72a5793c14baf454$export$8b251419efc915eb, a as $431f98aba6844401$export$1ff3c3f08ae963c0 } from "../../Separator-BPvqJny4.js";
3
- import { $ as $3674c52c6b3c5bce$export$27d2ad3c5815583e, a as $3674c52c6b3c5bce$export$d9b273488cd8ce6f, b as $3674c52c6b3c5bce$export$2ce376c2cc3355c8, c as $3674c52c6b3c5bce$export$4b1545b4f2016d26, d as $3674c52c6b3c5bce$export$ecabc99eeffab7ca } from "../../Dialog-CQ8H6Noi.js";
2
+ import { $ as $72a5793c14baf454$export$8b251419efc915eb, a as $431f98aba6844401$export$1ff3c3f08ae963c0 } from "../../Separator-B-xeqOkC.js";
3
+ import { $ as $3674c52c6b3c5bce$export$27d2ad3c5815583e, a as $3674c52c6b3c5bce$export$d9b273488cd8ce6f, b as $3674c52c6b3c5bce$export$2ce376c2cc3355c8, c as $3674c52c6b3c5bce$export$4b1545b4f2016d26, d as $3674c52c6b3c5bce$export$ecabc99eeffab7ca } from "../../Dialog-BMgMUQuN.js";
4
4
  import { RichLabel } from "../rich-label/rich-label.js";
5
5
  import { icons } from "../../icons/icons.js";
6
6
  import { Button } from "../button/button.js";
@@ -1,10 +1,11 @@
1
1
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
2
- import { h as $a11501f3d1d39e6c$export$ea8f71083e90600f, i as $49c51c25361d4cd2$export$ee0f7cc6afcd1c18, j as $337b884510726a0d$export$14c98a7594375490, k as $5e3802645cc19319$export$1c3ebcada18427bf, l as $de32f1b87079253c$export$d2f961adcb0afbe, m as $86ea4cb521eb2e37$export$2317d149ed6f78c4, n as $337b884510726a0d$export$c6fdb837b070b4ff, g as $de32f1b87079253c$export$2e1e1122cf0cba88, f as $de32f1b87079253c$export$3ddf2d174ce01153 } from "../../Dialog-CQ8H6Noi.js";
3
- import { $ as $5cb03073d3f54797$export$a8a3e93435678ff9 } from "../../Heading-bh1HU5HH.js";
2
+ import { h as $a11501f3d1d39e6c$export$ea8f71083e90600f, i as $49c51c25361d4cd2$export$ee0f7cc6afcd1c18, j as $337b884510726a0d$export$14c98a7594375490, k as $5e3802645cc19319$export$1c3ebcada18427bf, l as $de32f1b87079253c$export$d2f961adcb0afbe, m as $86ea4cb521eb2e37$export$2317d149ed6f78c4, n as $337b884510726a0d$export$c6fdb837b070b4ff, g as $de32f1b87079253c$export$2e1e1122cf0cba88, f as $de32f1b87079253c$export$3ddf2d174ce01153 } from "../../Dialog-BMgMUQuN.js";
3
+ import { $ as $5cb03073d3f54797$export$a8a3e93435678ff9 } from "../../Heading-B5aEynOM.js";
4
4
  import { n as $b5e257d569688ac6$export$535bd6ca7f90a273, b as $3ef42575df84b30b$export$9d1611c77c2fe928, a as $64fa3d84918910a7$export$29f1550f4b0d4415, l as $df56164dff5785e2$export$4338b53315abf666, m as $5dc95899b306f630$export$c9058316764c140e, h as $64fa3d84918910a7$export$4d86445c2cf5e3, i as $64fa3d84918910a7$export$2881499e37b75b9a } from "../../utils-cvK1vxO7.js";
5
5
  import { $ as $65484d02dcb7eb3e$export$457c3d6518dd4c6f } from "../../filterDOMProps-D2C6R0DK.js";
6
+ import { c as $21f1aa98acb08317$export$c57958e35f31ed73, d as $cc38e7bd3fc7b213$export$2bb74740c4e19def } from "../../SelectionManager-B6-b5NM2.js";
6
7
  import React__default, { useState, useEffect, forwardRef, useContext, createContext, useRef, useMemo } from "react";
7
- import { $ as $fc909762b330b746$export$61c6a8c84e605fb6, a as $d3f049242431219c$export$45fda7c47f93fd48, b as $d3f049242431219c$export$6d3443f2c48bfc20 } from "../../OverlayArrow-DivvkAVb.js";
8
+ import { $ as $fc909762b330b746$export$61c6a8c84e605fb6, a as $d3f049242431219c$export$45fda7c47f93fd48, b as $d3f049242431219c$export$6d3443f2c48bfc20 } from "../../OverlayArrow-DraDOoRn.js";
8
9
  import { Button } from "../button/button.js";
9
10
  import { _ as __ } from "../../default-i18n-CN_q3KUs.js";
10
11
  import { c as clsx } from "../../lite-DVmmD_-j.js";
@@ -20,15 +21,34 @@ function $5df64b3807dc15ee$export$d699905dd57c73ca() {
20
21
  } : $5df64b3807dc15ee$var$getViewportSize());
21
22
  useEffect(() => {
22
23
  let onResize = () => {
24
+ if ($5df64b3807dc15ee$var$visualViewport && $5df64b3807dc15ee$var$visualViewport.scale > 1) return;
23
25
  setSize((size2) => {
24
26
  let newSize = $5df64b3807dc15ee$var$getViewportSize();
25
27
  if (newSize.width === size2.width && newSize.height === size2.height) return size2;
26
28
  return newSize;
27
29
  });
28
30
  };
31
+ let frame;
32
+ let onBlur = (e) => {
33
+ if ($5df64b3807dc15ee$var$visualViewport && $5df64b3807dc15ee$var$visualViewport.scale > 1) return;
34
+ if ($21f1aa98acb08317$export$c57958e35f31ed73(e.target))
35
+ frame = requestAnimationFrame(() => {
36
+ if (!document.activeElement || !$21f1aa98acb08317$export$c57958e35f31ed73(document.activeElement)) setSize((size2) => {
37
+ let newSize = {
38
+ width: window.innerWidth,
39
+ height: window.innerHeight
40
+ };
41
+ if (newSize.width === size2.width && newSize.height === size2.height) return size2;
42
+ return newSize;
43
+ });
44
+ });
45
+ };
46
+ window.addEventListener("blur", onBlur, true);
29
47
  if (!$5df64b3807dc15ee$var$visualViewport) window.addEventListener("resize", onResize);
30
48
  else $5df64b3807dc15ee$var$visualViewport.addEventListener("resize", onResize);
31
49
  return () => {
50
+ cancelAnimationFrame(frame);
51
+ window.removeEventListener("blur", onBlur, true);
32
52
  if (!$5df64b3807dc15ee$var$visualViewport) window.removeEventListener("resize", onResize);
33
53
  else $5df64b3807dc15ee$var$visualViewport.removeEventListener("resize", onResize);
34
54
  };
@@ -37,8 +57,9 @@ function $5df64b3807dc15ee$export$d699905dd57c73ca() {
37
57
  }
38
58
  function $5df64b3807dc15ee$var$getViewportSize() {
39
59
  return {
40
- width: $5df64b3807dc15ee$var$visualViewport && ($5df64b3807dc15ee$var$visualViewport === null || $5df64b3807dc15ee$var$visualViewport === void 0 ? void 0 : $5df64b3807dc15ee$var$visualViewport.width) || window.innerWidth,
41
- height: $5df64b3807dc15ee$var$visualViewport && ($5df64b3807dc15ee$var$visualViewport === null || $5df64b3807dc15ee$var$visualViewport === void 0 ? void 0 : $5df64b3807dc15ee$var$visualViewport.height) || window.innerHeight
60
+ // Multiply by the visualViewport scale to get the "natural" size, unaffected by pinch zooming.
61
+ width: $5df64b3807dc15ee$var$visualViewport ? $5df64b3807dc15ee$var$visualViewport.width * $5df64b3807dc15ee$var$visualViewport.scale : window.innerWidth,
62
+ height: $5df64b3807dc15ee$var$visualViewport ? $5df64b3807dc15ee$var$visualViewport.height * $5df64b3807dc15ee$var$visualViewport.scale : window.innerHeight
42
63
  };
43
64
  }
44
65
  function $8ac8429251c45e4b$export$dbc0f175b25fb0fb(props, state, ref) {
@@ -146,9 +167,16 @@ function $f3f84453ead64de5$var$ModalOverlayInner({ UNSTABLE_portalContainer, ...
146
167
  }
147
168
  });
148
169
  let viewport = $5df64b3807dc15ee$export$d699905dd57c73ca();
170
+ let pageHeight = void 0;
171
+ if (typeof document !== "undefined") {
172
+ let scrollingElement = $cc38e7bd3fc7b213$export$2bb74740c4e19def(document.body) ? document.body : document.scrollingElement || document.documentElement;
173
+ let fractionalHeightDifference = scrollingElement.getBoundingClientRect().height % 1;
174
+ pageHeight = scrollingElement.scrollHeight - fractionalHeightDifference;
175
+ }
149
176
  let style = {
150
177
  ...renderProps.style,
151
- "--visual-viewport-height": viewport.height + "px"
178
+ "--visual-viewport-height": viewport.height + "px",
179
+ "--page-height": pageHeight !== void 0 ? pageHeight + "px" : void 0
152
180
  };
153
181
  return /* @__PURE__ */ React__default.createElement($337b884510726a0d$export$c6fdb837b070b4ff, {
154
182
  isExiting: props.isExiting,