@eightshift/ui-components 6.1.0 → 6.2.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 (82) hide show
  1. package/dist/{Button-BTCA69Lt.js → Button-CFnNdpNZ.js} +3 -3
  2. package/dist/{Dialog-BbNWvB5_.js → Dialog-DDfABlp4.js} +38 -29
  3. package/dist/{FocusScope-BxT4xfe9.js → FocusScope-BJhC1-1e.js} +1 -1
  4. package/dist/{Input-Wrnm2nxy.js → Input-B4X6-x6r.js} +4 -4
  5. package/dist/{List-CWheI3JH.js → List-CQFXnN4w.js} +1 -1
  6. package/dist/{ListBox-yHUyUAAH.js → ListBox-ByPsaVVK.js} +15 -13
  7. package/dist/{OverlayArrow-NzRV9wsn.js → OverlayArrow-Dy0qw7WL.js} +1 -1
  8. package/dist/{PortalProvider-CHPnqDSH.js → PortalProvider-BQ1X8vGX.js} +1 -1
  9. package/dist/{RadioGroup-BFDueqHz.js → RadioGroup-CjCAbUr4.js} +8 -8
  10. package/dist/{SearchField-CmRhtrQf.js → SearchField-BME59dt-.js} +5 -5
  11. package/dist/{SelectionManager-VgpR-1Ri.js → SelectionManager-iru59gc4.js} +36 -35
  12. package/dist/{SharedElementTransition-B_vnQ1uR.js → SharedElementTransition-CtoWSaF0.js} +1 -1
  13. package/dist/{Slider-Bl5G0ZHE.js → Slider-BIbaMdUE.js} +6 -6
  14. package/dist/{VisuallyHidden-DXVaR_RC.js → VisuallyHidden-CqnizvzQ.js} +1 -1
  15. package/dist/{animation-B2sADg3I.js → animation-Dfl8uEb3.js} +1 -1
  16. package/dist/assets/style-admin.css +9 -0
  17. package/dist/assets/style-editor.css +9 -0
  18. package/dist/assets/style.css +9 -0
  19. package/dist/{color-swatch-DtaLObbd.js → color-swatch-bUFkK7ox.js} +2 -2
  20. package/dist/components/button/button.js +3 -3
  21. package/dist/components/checkbox/checkbox.js +7 -7
  22. package/dist/components/color-pickers/color-picker.js +1 -1
  23. package/dist/components/color-pickers/color-swatch.js +1 -1
  24. package/dist/components/color-pickers/gradient-editor.js +2 -2
  25. package/dist/components/color-pickers/solid-color-picker.js +11 -11
  26. package/dist/components/draggable/draggable-handle.js +1 -1
  27. package/dist/components/draggable/draggable.js +841 -633
  28. package/dist/components/draggable-list/draggable-list-item.js +1 -1
  29. package/dist/components/draggable-list/draggable-list.js +1 -1
  30. package/dist/components/expandable/expandable.js +6 -6
  31. package/dist/components/index.js +1 -1
  32. package/dist/components/input-field/input-field.js +3 -3
  33. package/dist/components/link-input/link-input.js +13 -13
  34. package/dist/components/matrix-align/matrix-align.js +1 -1
  35. package/dist/components/menu/menu.js +1 -1
  36. package/dist/components/modal/modal.js +6 -6
  37. package/dist/components/number-picker/number-picker.js +4 -4
  38. package/dist/components/placeholders/file-picker-shell.js +1 -1
  39. package/dist/components/popover/popover.js +1 -1
  40. package/dist/components/portal-provider/portal-provider.js +1 -1
  41. package/dist/components/radio/radio.js +1 -1
  42. package/dist/components/repeater/repeater.js +1 -1
  43. package/dist/components/rich-label/rich-label.js +6 -2
  44. package/dist/components/select/async-multi-select.js +126 -67
  45. package/dist/components/select/async-select.js +82 -42
  46. package/dist/components/select/multi-select.js +153 -113
  47. package/dist/components/select/shared.js +6 -5
  48. package/dist/components/select/single-select.js +154 -112
  49. package/dist/components/slider/column-config-slider.js +2 -2
  50. package/dist/components/slider/slider.js +2 -2
  51. package/dist/components/smart-image/smart-image-next.js +1 -1
  52. package/dist/components/smart-image/smart-image.js +2 -2
  53. package/dist/components/smart-image/worker-inline.js +1 -1
  54. package/dist/components/tabs/tabs.js +9 -9
  55. package/dist/components/toggle/switch.js +5 -5
  56. package/dist/components/toggle-button/toggle-button.js +4 -4
  57. package/dist/components/tooltip/tooltip.js +6 -6
  58. package/dist/{general-C8Q0dvEx.js → general-BfKmjm56.js} +3 -4
  59. package/dist/icons/jsx-svg.js +1 -1
  60. package/dist/{index-sSixe2j_.js → index-BL5gdWX4.js} +52 -52
  61. package/dist/index.js +1 -1
  62. package/dist/{proxy-CgLBbUpw.js → proxy-DFlYXk07.js} +130 -47
  63. package/dist/{react-jsx-parser.min-B_hvYYa1.js → react-jsx-parser.min-DAh4myol.js} +35 -35
  64. package/dist/{shared-DSTKnPjF.js → shared-HdRrpnhs.js} +48 -14
  65. package/dist/{textSelection-D_BSbtab.js → textSelection-CeoEP4rL.js} +1 -1
  66. package/dist/{useButton-DofKjCES.js → useButton-5YL_nmpZ.js} +2 -2
  67. package/dist/{useEvent-ADVZr4I3.js → useEvent-Zze2g7CX.js} +1 -1
  68. package/dist/{useFilter-Cqw0-KoB.js → useFilter-NhAlifsK.js} +1 -1
  69. package/dist/{useFocusRing-Ct2N5S1b.js → useFocusRing-rUOwLdTK.js} +1 -1
  70. package/dist/{useFormReset-KT27O1en.js → useFormReset-BxtOoO5Q.js} +1 -1
  71. package/dist/{useFormValidation-DwbcW-pN.js → useFormValidation-DTmPrTD8.js} +2 -2
  72. package/dist/{useHover-VPZwb-1l.js → useHover-CmyvqeWX.js} +4 -4
  73. package/dist/{useListState-jHobZH6F.js → useListState-HOvCQJFf.js} +1 -1
  74. package/dist/{useNumberField-CrLevIP3.js → useNumberField-CTkI-U9a.js} +7 -7
  75. package/dist/{usePress-BPCda-AF.js → usePress-CNefMs8d.js} +3 -3
  76. package/dist/{useSingleSelectListState-sLg_MnX8.js → useSingleSelectListState-BtrMHGeE.js} +2 -2
  77. package/dist/{useToggle-D0-c9HPm.js → useToggle-CFFOmZWi.js} +3 -3
  78. package/dist/{useToggleState-BhJn-Dz7.js → useToggleState-BWrKKisg.js} +1 -1
  79. package/dist/utilities/general.js +1 -1
  80. package/dist/utilities/index.js +1 -1
  81. package/dist/workers/image-analysis.worker.js +1 -1
  82. package/package.json +12 -12
@@ -2,16 +2,17 @@ import { jsx, jsxs } from "react/jsx-runtime";
2
2
  import { s as sprintf } from "../../sprintf-DmNrJSYG.js";
3
3
  import { _ as __, a as _n } from "../../default-i18n-CnQeC5Pl.js";
4
4
  import { BaseControl } from "../base-control/base-control.js";
5
- import { $ as $d2f53cda644affe3$export$2f2b9559550c7bbc, a as $440f4836bcb56932$export$b94867ecbd698f21 } from "../../SearchField-CmRhtrQf.js";
6
- import { $ as $d2b4bc8c273e7be6$export$353f5b6fc5456de1 } from "../../Button-BTCA69Lt.js";
7
- import { $ as $3985021b0ad6602f$export$f5b8910cec6cf069 } from "../../Input-Wrnm2nxy.js";
5
+ import { $ as $d2f53cda644affe3$export$2f2b9559550c7bbc, a as $440f4836bcb56932$export$b94867ecbd698f21 } from "../../SearchField-BME59dt-.js";
6
+ import { $ as $d2b4bc8c273e7be6$export$353f5b6fc5456de1 } from "../../Button-CFnNdpNZ.js";
7
+ import { f as $07b14b47974efb58$export$5b6b19405a83ff9d, i as $72a5793c14baf454$export$8b251419efc915eb } from "../../Dialog-DDfABlp4.js";
8
+ import { $ as $3985021b0ad6602f$export$f5b8910cec6cf069 } from "../../Input-B4X6-x6r.js";
8
9
  import { $ as $01b77f81d0f07f68$export$b04be29aa201d4f5 } from "../../Label-BDlf9vIY.js";
9
- import { $ as $eed445e0843c11d0$export$41f133550aa26f48 } from "../../ListBox-yHUyUAAH.js";
10
- import { f as $07b14b47974efb58$export$5b6b19405a83ff9d } from "../../Dialog-BbNWvB5_.js";
11
- import { g as getValue, $ as $82d7e5349645de74$export$ef9b1a59e592288f, a as $82d7e5349645de74$export$e288731fd71264f0, S as SelectClearButton, O as OptionItemBase } from "../../shared-DSTKnPjF.js";
12
- import { useRef, cloneElement, isValidElement } from "react";
10
+ import { $ as $eed445e0843c11d0$export$41f133550aa26f48, a as $eed445e0843c11d0$export$dca12b0bb56e4fc } from "../../ListBox-ByPsaVVK.js";
11
+ import { g as getGroupedOptions, b as getValue, $ as $82d7e5349645de74$export$ef9b1a59e592288f, a as $82d7e5349645de74$export$e288731fd71264f0, S as SelectClearButton, O as OptionItemBase } from "../../shared-HdRrpnhs.js";
12
+ import { $ as $e1995378a142960e$export$fb8073518f34e6ec } from "../../SelectionManager-iru59gc4.js";
13
+ import { useRef, useState, useMemo, cloneElement, isValidElement } from "react";
13
14
  import { icons } from "../../icons/icons.js";
14
- import "../../react-jsx-parser.min-B_hvYYa1.js";
15
+ import "../../react-jsx-parser.min-DAh4myol.js";
15
16
  import { c as clsx } from "../../clsx-DgYk2OaC.js";
16
17
  import { RichLabel } from "../rich-label/rich-label.js";
17
18
  import { c as cva } from "../../index-BHpUy2Ix.js";
@@ -19,7 +20,7 @@ import { TriggeredPopover } from "../popover/popover.js";
19
20
  import { DraggableList } from "../draggable-list/draggable-list.js";
20
21
  import { DraggableListItem } from "../draggable-list/draggable-list-item.js";
21
22
  import { randomId } from "../../utilities/hash.js";
22
- import { $ as $bb77f239b46e8c72$export$3274cf84b703fff } from "../../useFilter-Cqw0-KoB.js";
23
+ import { $ as $bb77f239b46e8c72$export$3274cf84b703fff } from "../../useFilter-NhAlifsK.js";
23
24
  /**
24
25
  * Multi-select menu.
25
26
  *
@@ -35,6 +36,8 @@ import { $ as $bb77f239b46e8c72$export$3274cf84b703fff } from "../../useFilter-C
35
36
  * @param {string|{label: string, value: string, metadata: Object<string, any>?}} props.value - Current value of the select.
36
37
  * @param {Function} props.onChange - Function to call when the value changes.
37
38
  * @param {boolean} [props.simpleValue=false] - If `true`, instead of using a `{label: '', value: ''}` value type, a string is used (just the value).
39
+ * @param {string} [props.groupKey] - If provided, the options will be grouped by this key.
40
+ * @param {Object} [props.groupValueMapping] - If provided, the group headers will be mapped to these labels/icons.
38
41
  * @param {boolean} [props.clearable] - Whether the select is clearable.
39
42
  * @param {boolean} [props.disabled] - Whether the select is disabled.
40
43
  * @param {string} [props.placeholder] - Placeholder text to show when no value is selected.
@@ -83,6 +86,8 @@ const MultiSelect = (props) => {
83
86
  onChange,
84
87
  options,
85
88
  simpleValue = false,
89
+ groupKey,
90
+ groupValueMapping,
86
91
  disabled = false,
87
92
  clearable = false,
88
93
  placeholder = __("Select...", "eightshift-ui-components"),
@@ -99,7 +104,43 @@ const MultiSelect = (props) => {
99
104
  ...rest
100
105
  } = props;
101
106
  const ref = useRef();
107
+ const [searchTerm, setSearchTerm] = useState("");
102
108
  const { contains } = $bb77f239b46e8c72$export$3274cf84b703fff({ sensitivity: "base" });
109
+ const filteredOptions = useMemo(() => {
110
+ if (!searchable || searchTerm.length === 0) {
111
+ return options;
112
+ }
113
+ return options?.filter((item) => {
114
+ return contains(item.label ?? "", searchTerm) || contains(item?.subtitle ?? "", searchTerm);
115
+ });
116
+ }, [options, searchable, searchTerm, contains]);
117
+ const groupedOptions = useMemo(() => getGroupedOptions(filteredOptions, groupKey, groupValueMapping), [filteredOptions, groupKey, groupValueMapping]);
118
+ const renderItem = (item) => {
119
+ let icon2 = item?.icon ?? null;
120
+ if (typeof item?.icon === "string") {
121
+ icon2 = icons?.[item.icon] ?? null;
122
+ }
123
+ return /* @__PURE__ */ jsxs(
124
+ OptionItemBase,
125
+ {
126
+ id: item?.value ?? randomId(8),
127
+ className: item?.className,
128
+ selectIndicator: true,
129
+ children: [
130
+ customMenuOption && customMenuOption(item),
131
+ !customMenuOption && /* @__PURE__ */ jsx(
132
+ RichLabel,
133
+ {
134
+ icon: icon2,
135
+ label: item?.label,
136
+ subtitle: item?.subtitle,
137
+ noColor: true
138
+ }
139
+ )
140
+ ]
141
+ }
142
+ );
143
+ };
103
144
  const currentValue = getValue(simpleValue, value, options);
104
145
  const currentValueKeys = value?.map((item) => item?.value ?? item);
105
146
  const handleSelectionChange = (selected) => {
@@ -127,14 +168,7 @@ const MultiSelect = (props) => {
127
168
  ...option
128
169
  };
129
170
  })?.filter(Boolean);
130
- onChange(
131
- selectedValues.map((item) => ({
132
- label: item?.label,
133
- value: item?.value,
134
- subtitle: item?.subtitle,
135
- meta: item?.meta
136
- }))
137
- );
171
+ onChange(selectedValues);
138
172
  };
139
173
  if (hidden) {
140
174
  return null;
@@ -215,6 +249,11 @@ const MultiSelect = (props) => {
215
249
  selectionMode: "multiple",
216
250
  isDisabled: disabled,
217
251
  value: currentValueKeys,
252
+ onOpenChange: (isOpen) => {
253
+ if (!isOpen) {
254
+ setSearchTerm("");
255
+ }
256
+ },
218
257
  onChange: (selected) => handleSelectionChange(selected),
219
258
  placeholder,
220
259
  ...rest,
@@ -375,92 +414,96 @@ const MultiSelect = (props) => {
375
414
  maxHeight: 260,
376
415
  triggerRef: ref,
377
416
  children: [
378
- searchable && /* @__PURE__ */ jsxs($d2f53cda644affe3$export$2f2b9559550c7bbc, { filter: contains, children: [
379
- /* @__PURE__ */ jsxs(
380
- $440f4836bcb56932$export$b94867ecbd698f21,
381
- {
382
- "aria-label": __("Search", "eightshift-ui-components"),
383
- className: "es:flex es:items-center es:relative",
384
- autoFocus: true,
385
- children: [
386
- /* @__PURE__ */ jsx(
387
- $3985021b0ad6602f$export$f5b8910cec6cf069,
388
- {
389
- placeholder: __("Search...", "eightshift-ui-components"),
390
- className: clsx(
391
- "es:peer es:size-full es:h-9.5 es:outline-hidden! es:pl-3.5 es:pr-9 es:shadow-none! es:text-13! es:placeholder:text-surface-500 es:[&::-webkit-search-cancel-button]:hidden",
392
- "es:bg-accent-900/8 es:m-1.5 es:rounded-3xl es:border-none!",
393
- "es:inset-ring! es:inset-ring-accent-950/7 es:focus:inset-ring-accent-950/20",
394
- "es:text-accent-950 es:placeholder:text-accent-700/50",
395
- "es:transition"
396
- )
397
- }
398
- ),
399
- /* @__PURE__ */ jsx(
400
- $d2b4bc8c273e7be6$export$353f5b6fc5456de1,
401
- {
402
- "aria-label": __("Clear", "eightshift-ui-components"),
403
- className: clsx(
404
- "es:absolute es:right-3 es:top-0 es:bottom-0 es:my-auto es:border-none es:bg-transparent",
405
- "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300",
406
- "es:peer-placeholder-shown:opacity-0"
407
- ),
408
- children: icons.clearAlt
409
- }
410
- )
411
- ]
412
- }
413
- ),
414
- /* @__PURE__ */ jsx(
415
- $eed445e0843c11d0$export$41f133550aa26f48,
416
- {
417
- className: "es:space-y-0.75 es:p-1.5 es:pt-0 es:any-focus:outline-hidden es:h-full es:overflow-y-auto es:rounded-t-xl",
418
- items: options,
419
- renderEmptyState: () => /* @__PURE__ */ jsx(
420
- RichLabel,
417
+ searchable && /* @__PURE__ */ jsxs(
418
+ $d2f53cda644affe3$export$2f2b9559550c7bbc,
419
+ {
420
+ filter: () => true,
421
+ inputValue: searchTerm,
422
+ onInputChange: setSearchTerm,
423
+ children: [
424
+ /* @__PURE__ */ jsxs(
425
+ $440f4836bcb56932$export$b94867ecbd698f21,
421
426
  {
422
- icon: icons.searchEmpty,
423
- label: __("No results", "eightshift-ui-components"),
424
- subtitle: __("Try a different search term", "eightshift-ui-components"),
425
- className: "es:min-h-14 es:p-2 es:w-fit es:mx-auto es:motion-preset-slide-up es:motion-ease-spring-bouncy es:motion-duration-200 es:shrink-0",
426
- iconClassName: "es:text-accent-700 es:icon:size-7!",
427
- noColor: true
427
+ "aria-label": __("Search", "eightshift-ui-components"),
428
+ className: "es:flex es:items-center es:relative",
429
+ autoFocus: true,
430
+ children: [
431
+ /* @__PURE__ */ jsx(
432
+ $3985021b0ad6602f$export$f5b8910cec6cf069,
433
+ {
434
+ placeholder: __("Search...", "eightshift-ui-components"),
435
+ className: clsx(
436
+ "es:peer es:size-full es:h-9.5 es:outline-hidden! es:pl-3.5 es:pr-9 es:shadow-none! es:text-13! es:placeholder:text-surface-500 es:[&::-webkit-search-cancel-button]:hidden",
437
+ "es:bg-accent-900/8 es:m-1.5 es:rounded-3xl! es:border-none!",
438
+ "es:inset-ring! es:inset-ring-accent-950/7 es:focus:inset-ring-accent-950/20",
439
+ "es:text-accent-950 es:placeholder:text-accent-700/50",
440
+ "es:transition"
441
+ )
442
+ }
443
+ ),
444
+ /* @__PURE__ */ jsx(
445
+ $d2b4bc8c273e7be6$export$353f5b6fc5456de1,
446
+ {
447
+ slot: "clear",
448
+ "aria-label": __("Clear", "eightshift-ui-components"),
449
+ className: clsx(
450
+ "es:absolute es:right-3 es:top-0 es:bottom-0 es:my-auto es:border-none es:bg-transparent",
451
+ "es:flex es:size-7 es:items-center es:justify-center es:rounded-3xl es:text-sm es:text-surface-700 es:transition es:hover:bg-accent-50 es:hover:text-accent-800 es:any-focus:outline-hidden es:focus:ring-2 es:focus:ring-accent-500/50 es:disabled:text-secondary-300",
452
+ "es:peer-placeholder-shown:opacity-0"
453
+ ),
454
+ children: icons.clearAlt
455
+ }
456
+ )
457
+ ]
428
458
  }
429
459
  ),
430
- children: (item) => {
431
- let icon2 = item?.icon ?? null;
432
- if (typeof item?.icon === "string") {
433
- icon2 = icons?.[item.icon] ?? null;
460
+ /* @__PURE__ */ jsxs(
461
+ $eed445e0843c11d0$export$41f133550aa26f48,
462
+ {
463
+ className: "es:space-y-0.75 es:p-1.5 es:pt-0 es:any-focus:outline-hidden es:h-full es:overflow-y-auto es:rounded-t-xl",
464
+ renderEmptyState: () => /* @__PURE__ */ jsx(
465
+ RichLabel,
466
+ {
467
+ icon: icons.searchEmpty,
468
+ label: __("No results", "eightshift-ui-components"),
469
+ subtitle: __("Try a different search term", "eightshift-ui-components"),
470
+ className: "es:min-h-14 es:p-2 es:w-fit es:mx-auto es:motion-preset-slide-up es:motion-ease-spring-bouncy es:motion-duration-200 es:shrink-0",
471
+ iconClassName: "es:text-accent-700 es:icon:size-7!",
472
+ noColor: true
473
+ }
474
+ ),
475
+ children: [
476
+ groupedOptions && /* @__PURE__ */ jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: groupedOptions, children: (item) => /* @__PURE__ */ jsxs(
477
+ $eed445e0843c11d0$export$dca12b0bb56e4fc,
478
+ {
479
+ id: item.key,
480
+ className: "es:flex es:flex-col es:gap-0.75",
481
+ children: [
482
+ /* @__PURE__ */ jsx($72a5793c14baf454$export$8b251419efc915eb, { className: "es:px-2.5 es:pb-1 es:pt-3 es:select-none", children: /* @__PURE__ */ jsx(
483
+ RichLabel,
484
+ {
485
+ icon: item?.icon,
486
+ label: item?.label,
487
+ subtitle: item?.subtitle,
488
+ endIcon: item?.endIcon,
489
+ fullWidth: true
490
+ }
491
+ ) }),
492
+ /* @__PURE__ */ jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: item.options, children: (subItem) => renderItem(subItem) })
493
+ ]
494
+ }
495
+ ) }),
496
+ !groupedOptions && /* @__PURE__ */ jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: searchable ? filteredOptions : options, children: (item) => renderItem(item) })
497
+ ]
434
498
  }
435
- return /* @__PURE__ */ jsxs(
436
- OptionItemBase,
437
- {
438
- id: item?.value ?? randomId(8),
439
- className: item?.className,
440
- selectIndicator: true,
441
- children: [
442
- customMenuOption && customMenuOption(item),
443
- !customMenuOption && /* @__PURE__ */ jsx(
444
- RichLabel,
445
- {
446
- icon: icon2,
447
- label: item?.label,
448
- subtitle: item?.subtitle,
449
- noColor: true
450
- }
451
- )
452
- ]
453
- }
454
- );
455
- }
456
- }
457
- )
458
- ] }),
459
- !searchable && /* @__PURE__ */ jsx(
499
+ )
500
+ ]
501
+ }
502
+ ),
503
+ !searchable && /* @__PURE__ */ jsxs(
460
504
  $eed445e0843c11d0$export$41f133550aa26f48,
461
505
  {
462
506
  className: "es:space-y-0.75 es:p-1.5 es:any-focus:outline-hidden es:h-full es:overflow-y-auto es:rounded-t-xl",
463
- items: options,
464
507
  renderEmptyState: () => /* @__PURE__ */ jsx(
465
508
  RichLabel,
466
509
  {
@@ -472,32 +515,29 @@ const MultiSelect = (props) => {
472
515
  noColor: true
473
516
  }
474
517
  ),
475
- children: (item) => {
476
- let icon2 = item?.icon ?? null;
477
- if (typeof item?.icon === "string") {
478
- icon2 = icons?.[item.icon] ?? null;
479
- }
480
- return /* @__PURE__ */ jsxs(
481
- OptionItemBase,
518
+ children: [
519
+ groupedOptions && /* @__PURE__ */ jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: groupedOptions, children: (item) => /* @__PURE__ */ jsxs(
520
+ $eed445e0843c11d0$export$dca12b0bb56e4fc,
482
521
  {
483
- id: item?.value ?? randomId(8),
484
- className: item?.className,
485
- selectIndicator: true,
522
+ id: item.key,
523
+ className: "es:flex es:flex-col es:gap-0.75",
486
524
  children: [
487
- customMenuOption && customMenuOption(item),
488
- !customMenuOption && /* @__PURE__ */ jsx(
525
+ /* @__PURE__ */ jsx($72a5793c14baf454$export$8b251419efc915eb, { className: "es:px-2.5 es:pb-1 es:pt-3 es:select-none", children: /* @__PURE__ */ jsx(
489
526
  RichLabel,
490
527
  {
491
- icon: icon2,
528
+ icon: item?.icon,
492
529
  label: item?.label,
493
530
  subtitle: item?.subtitle,
494
- noColor: true
531
+ endIcon: item?.endIcon,
532
+ fullWidth: true
495
533
  }
496
- )
534
+ ) }),
535
+ /* @__PURE__ */ jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: item.options, children: (subItem) => renderItem(subItem) })
497
536
  ]
498
537
  }
499
- );
500
- }
538
+ ) }),
539
+ !groupedOptions && /* @__PURE__ */ jsx($e1995378a142960e$export$fb8073518f34e6ec, { items: options, children: (item) => renderItem(item) })
540
+ ]
501
541
  }
502
542
  )
503
543
  ]
@@ -1,16 +1,17 @@
1
1
  import "react/jsx-runtime";
2
2
  import "../../default-i18n-CnQeC5Pl.js";
3
- import "../../Button-BTCA69Lt.js";
4
- import "../../ListBox-yHUyUAAH.js";
5
- import { O, S, g, m } from "../../shared-DSTKnPjF.js";
3
+ import "../../Button-CFnNdpNZ.js";
4
+ import "../../ListBox-ByPsaVVK.js";
5
+ import { O, S, g, b, m } from "../../shared-HdRrpnhs.js";
6
6
  import "../../icons/icons.js";
7
7
  import "react";
8
- import "../../react-jsx-parser.min-B_hvYYa1.js";
8
+ import "../../react-jsx-parser.min-DAh4myol.js";
9
9
  import "../../clsx-DgYk2OaC.js";
10
10
  import "../animated-visibility/animated-visibility.js";
11
11
  export {
12
12
  O as OptionItemBase,
13
13
  S as SelectClearButton,
14
- g as getValue,
14
+ g as getGroupedOptions,
15
+ b as getValue,
15
16
  m as moveArrayItem
16
17
  };