@firecms/ui 3.0.1 → 3.1.0-canary.02232f4

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 (77) hide show
  1. package/README.md +9 -7
  2. package/dist/components/BooleanSwitchWithLabel.d.ts +2 -1
  3. package/dist/components/Card.d.ts +1 -1
  4. package/dist/components/Chip.d.ts +1 -1
  5. package/dist/components/ColorPicker.d.ts +30 -0
  6. package/dist/components/DateTimeField.d.ts +7 -0
  7. package/dist/components/Dialog.d.ts +2 -1
  8. package/dist/components/FileUpload.d.ts +1 -1
  9. package/dist/components/Menu.d.ts +2 -1
  10. package/dist/components/Menubar.d.ts +2 -1
  11. package/dist/components/MultiSelect.d.ts +2 -1
  12. package/dist/components/ResizablePanels.d.ts +16 -0
  13. package/dist/components/SearchBar.d.ts +11 -1
  14. package/dist/components/SearchableSelect.d.ts +48 -0
  15. package/dist/components/Select.d.ts +2 -1
  16. package/dist/components/Sheet.d.ts +1 -0
  17. package/dist/components/Tabs.d.ts +8 -1
  18. package/dist/components/ToggleButtonGroup.d.ts +30 -0
  19. package/dist/components/Tooltip.d.ts +18 -2
  20. package/dist/components/index.d.ts +4 -0
  21. package/dist/hooks/PortalContainerContext.d.ts +31 -0
  22. package/dist/hooks/index.d.ts +1 -0
  23. package/dist/hooks/useOutsideAlerter.d.ts +1 -1
  24. package/dist/icons/FirestoreIcon.d.ts +6 -0
  25. package/dist/icons/components/DatabaseIcon.d.ts +6 -0
  26. package/dist/icons/index.d.ts +2 -0
  27. package/dist/index.css +57 -6
  28. package/dist/index.es.js +2846 -1165
  29. package/dist/index.es.js.map +1 -1
  30. package/dist/index.umd.js +2846 -1165
  31. package/dist/index.umd.js.map +1 -1
  32. package/dist/styles.d.ts +11 -11
  33. package/package.json +7 -7
  34. package/src/components/BooleanSwitch.tsx +3 -3
  35. package/src/components/BooleanSwitchWithLabel.tsx +4 -0
  36. package/src/components/Button.tsx +6 -5
  37. package/src/components/Card.tsx +7 -7
  38. package/src/components/Checkbox.tsx +1 -1
  39. package/src/components/Chip.tsx +4 -3
  40. package/src/components/ColorPicker.tsx +134 -0
  41. package/src/components/DateTimeField.tsx +129 -35
  42. package/src/components/DebouncedTextField.tsx +3 -3
  43. package/src/components/Dialog.tsx +25 -16
  44. package/src/components/DialogActions.tsx +1 -1
  45. package/src/components/ExpandablePanel.tsx +1 -1
  46. package/src/components/FileUpload.tsx +25 -24
  47. package/src/components/IconButton.tsx +3 -2
  48. package/src/components/Menu.tsx +44 -30
  49. package/src/components/Menubar.tsx +14 -3
  50. package/src/components/MultiSelect.tsx +113 -77
  51. package/src/components/Popover.tsx +11 -3
  52. package/src/components/ResizablePanels.tsx +181 -0
  53. package/src/components/SearchBar.tsx +37 -19
  54. package/src/components/SearchableSelect.tsx +335 -0
  55. package/src/components/Select.tsx +86 -73
  56. package/src/components/Separator.tsx +2 -2
  57. package/src/components/Sheet.tsx +12 -3
  58. package/src/components/Skeleton.tsx +4 -2
  59. package/src/components/Slider.tsx +4 -4
  60. package/src/components/Table.tsx +1 -1
  61. package/src/components/Tabs.tsx +150 -37
  62. package/src/components/TextField.tsx +19 -8
  63. package/src/components/TextareaAutosize.tsx +77 -212
  64. package/src/components/ToggleButtonGroup.tsx +67 -0
  65. package/src/components/Tooltip.tsx +16 -8
  66. package/src/components/index.tsx +4 -0
  67. package/src/hooks/PortalContainerContext.tsx +48 -0
  68. package/src/hooks/index.ts +1 -0
  69. package/src/hooks/useInjectStyles.tsx +12 -3
  70. package/src/hooks/useOutsideAlerter.tsx +1 -1
  71. package/src/icons/FirestoreIcon.tsx +47 -0
  72. package/src/icons/components/DatabaseIcon.tsx +10 -0
  73. package/src/icons/index.ts +2 -0
  74. package/src/index.css +57 -6
  75. package/src/styles.ts +11 -11
  76. package/src/util/cls.ts +1 -1
  77. package/tailwind.config.js +2 -3
package/dist/index.es.js CHANGED
@@ -2,12 +2,13 @@
2
2
  import { jsx, jsxs, Fragment } from "react/jsx-runtime";
3
3
  import { c } from "react-compiler-runtime";
4
4
  import * as React from "react";
5
- import React__default, { useEffect, useState, useRef, Children, forwardRef, useCallback, useLayoutEffect, useDeferredValue } from "react";
5
+ import React__default, { createContext, useContext, useEffect, useState, useRef, Children, forwardRef, useLayoutEffect, useDeferredValue } from "react";
6
6
  import * as Collapsible from "@radix-ui/react-collapsible";
7
7
  import { clsx } from "clsx";
8
8
  import { twMerge } from "tailwind-merge";
9
9
  import * as CheckboxPrimitive from "@radix-ui/react-checkbox";
10
10
  import "@material-design-icons/font/filled.css";
11
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
11
12
  import * as DialogPrimitive from "@radix-ui/react-dialog";
12
13
  import * as VisuallyHidden from "@radix-ui/react-visually-hidden";
13
14
  import { useDropzone } from "react-dropzone";
@@ -22,21 +23,19 @@ import * as SeparatorPrimitive from "@radix-ui/react-separator";
22
23
  import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
23
24
  import * as SelectPrimitive from "@radix-ui/react-select";
24
25
  import * as SliderPrimitive from "@radix-ui/react-slider";
25
- import * as TooltipPrimitive from "@radix-ui/react-tooltip";
26
- import * as ReactDOM from "react-dom";
27
26
  import * as TabsPrimitive from "@radix-ui/react-tabs";
28
27
  const focusedDisabled = "focus-visible:ring-0 focus-visible:ring-offset-0";
29
- const focusedInvisibleMixin = "focus:bg-opacity-70 focus:bg-surface-accent-100 focus:dark:bg-surface-800 focus:dark:bg-opacity-60";
30
- const focusedClasses = "z-30 outline-none ring-2 ring-primary ring-opacity-75 ring-offset-2 ring-offset-transparent ";
31
- const fieldBackgroundMixin = "bg-opacity-50 bg-surface-accent-200 dark:bg-surface-800 dark:bg-opacity-60";
32
- const fieldBackgroundInvisibleMixin = "bg-opacity-0 bg-surface-accent-100 dark:bg-surface-800 dark:bg-opacity-0";
33
- const fieldBackgroundDisabledMixin = "dark:bg-surface-800 bg-opacity-50 dark:bg-opacity-90";
34
- const fieldBackgroundHoverMixin = "hover:bg-opacity-70 dark:hover:bg-surface-700 dark:hover:bg-opacity-40";
35
- const defaultBorderMixin = "border-surface-200 border-opacity-40 dark:border-surface-700 dark:border-opacity-40";
36
- const paperMixin = "bg-white rounded-md dark:bg-surface-950 border border-surface-200 border-opacity-40 dark:border-surface-700 dark:border-opacity-40";
37
- const cardMixin = "bg-white border border-surface-200 border-opacity-40 dark:border-transparent rounded-md dark:bg-surface-950 dark:border-surface-700 dark:border-opacity-40";
38
- const cardClickableMixin = "hover:bg-surface-accent-100 dark:hover:bg-surface-accent-800 hover:ring-2 hover:ring-primary cursor-pointer";
39
- const cardSelectedMixin = "bg-primary-bg dark:bg-primary-bg bg-opacity-30 dark:bg-opacity-10 ring-1 ring-primary ring-opacity-75";
28
+ const focusedInvisibleMixin = "focus:bg-opacity-70 focus:bg-surface-accent-100 focus:dark:bg-surface-800 focus:dark:bg-opacity-60 focus:bg-surface-accent-100/70 dark:focus:bg-surface-800/60";
29
+ const focusedClasses = "z-30 outline-hidden outline-none ring-2 ring-primary ring-opacity-75 ring-primary/75 ring-offset-2 ring-offset-transparent ";
30
+ const fieldBackgroundMixin = "bg-opacity-50 bg-surface-accent-200 bg-surface-accent-200/50 dark:bg-surface-800 dark:bg-opacity-60 dark:bg-surface-800/60";
31
+ const fieldBackgroundInvisibleMixin = "bg-opacity-0 bg-surface-accent-100 dark:bg-surface-800 dark:bg-opacity-0 bg-surface-accent-200/0 dark:bg-surface-800/0";
32
+ const fieldBackgroundDisabledMixin = "dark:bg-surface-800 bg-opacity-50 dark:bg-opacity-90 bg-surface-accent-200/50 dark:bg-surface-800/90";
33
+ const fieldBackgroundHoverMixin = "hover:bg-opacity-70 dark:hover:bg-surface-700 dark:hover:bg-opacity-40 hover:bg-surface-accent-200/70 hover:dark:bg-surface-700/40";
34
+ const defaultBorderMixin = "border-surface-200 border-opacity-40 dark:border-surface-700 dark:border-opacity-40 border-surface-200/40 dark:border-surface-700/40 ";
35
+ const paperMixin = "bg-white rounded-md dark:bg-surface-950 border border-surface-200 border-opacity-40 dark:border-surface-700 dark:border-opacity-40 border-surface-200/40 dark:border-surface-700/40";
36
+ const cardMixin = "bg-white dark:bg-surface-950 rounded-md border border-surface-200/40 dark:border-surface-700/40 m-1 -p-1";
37
+ const cardClickableMixin = "hover:bg-surface-accent-100 dark:hover:bg-surface-accent-800 hover:ring-2 hover:ring-primary cursor-pointer hover:bg-primary/20 dark:hover:bg-primary/10 ";
38
+ const cardSelectedMixin = "bg-primary-bg dark:bg-primary-bg bg-opacity-30 bg-primary-bg/30 dark:bg-opacity-10 dark:bg-primary-bg/10 ring-1 ring-primary ring-opacity-75 ring-primary/75 bg-primary/10 dark:bg-primary/10 ring-1 ring-primary/75";
40
39
  function cls(...classes) {
41
40
  return twMerge(clsx(classes));
42
41
  }
@@ -247,31 +246,69 @@ function keyToIconComponent(key) {
247
246
  }).join("") + "Icon";
248
247
  return componentName;
249
248
  }
249
+ const PortalContainerContext = createContext(void 0);
250
+ function PortalContainerProvider(t0) {
251
+ const $ = c(5);
252
+ const {
253
+ container,
254
+ children
255
+ } = t0;
256
+ let t1;
257
+ if ($[0] !== container) {
258
+ t1 = {
259
+ container
260
+ };
261
+ $[0] = container;
262
+ $[1] = t1;
263
+ } else {
264
+ t1 = $[1];
265
+ }
266
+ let t2;
267
+ if ($[2] !== children || $[3] !== t1) {
268
+ t2 = /* @__PURE__ */ jsx(PortalContainerContext.Provider, { value: t1, children });
269
+ $[2] = children;
270
+ $[3] = t1;
271
+ $[4] = t2;
272
+ } else {
273
+ t2 = $[4];
274
+ }
275
+ return t2;
276
+ }
277
+ function usePortalContainer() {
278
+ const context = useContext(PortalContainerContext);
279
+ return context?.container ?? null;
280
+ }
250
281
  function useInjectStyles(key, styles2) {
251
- const $ = c(4);
282
+ const $ = c(5);
283
+ const portalContainer = usePortalContainer();
252
284
  let t0;
253
- if ($[0] !== key || $[1] !== styles2) {
285
+ if ($[0] !== key || $[1] !== portalContainer || $[2] !== styles2) {
254
286
  t0 = () => {
255
- const styleElement = document.getElementById(key);
256
- if (!styleElement) {
287
+ if (typeof document === "undefined") {
288
+ return;
289
+ }
290
+ const targetContainer = portalContainer ?? document.head;
291
+ const existingStyle = targetContainer.querySelector?.(`#${key}`);
292
+ if (!existingStyle) {
257
293
  const style = document.createElement("style");
258
294
  style.id = key;
259
295
  style.innerHTML = styles2;
260
- document.head.appendChild(style);
296
+ (targetContainer || document.head).appendChild(style);
261
297
  }
262
298
  };
263
299
  $[0] = key;
264
- $[1] = styles2;
265
- $[2] = t0;
300
+ $[1] = portalContainer;
301
+ $[2] = styles2;
302
+ $[3] = t0;
266
303
  } else {
267
- t0 = $[2];
304
+ t0 = $[3];
268
305
  }
269
306
  let t1;
270
- if ($[3] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
307
+ if ($[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
271
308
  t1 = [];
272
- $[3] = t1;
309
+ $[4] = t1;
273
310
  } else {
274
- t1 = $[3];
311
+ t1 = $[4];
275
312
  }
276
313
  useEffect(t0, t1);
277
314
  }
@@ -742,7 +779,7 @@ const BooleanSwitch = React__default.forwardRef(function BooleanSwitch2({
742
779
  } else {
743
780
  onValueChange?.(!value);
744
781
  }
745
- }, className: cls(size === "smallest" ? "w-[34px] h-[18px] min-w-[34px] min-h-[18px]" : size === "small" ? "w-[38px] h-[22px] min-w-[38px] min-h-[22px]" : "w-[44px] h-[26px] min-w-[44px] min-h-[26px]", "outline-none rounded-full relative shadow-sm", value ? disabled ? "bg-white bg-opacity-54 dark:bg-surface-accent-950 border-surface-accent-100 dark:border-surface-accent-700 ring-1 ring-surface-accent-200 dark:ring-surface-accent-700" : "ring-secondary ring-1 bg-secondary dark:bg-secondary" : "bg-white bg-opacity-54 dark:bg-surface-accent-900 ring-1 ring-surface-accent-200 dark:ring-surface-accent-700", className), ...props, children: [
782
+ }, className: cls(size === "smallest" ? "w-[34px] h-[18px] min-w-[34px] min-h-[18px]" : size === "small" ? "w-[38px] h-[22px] min-w-[38px] min-h-[22px]" : "w-[44px] h-[26px] min-w-[44px] min-h-[26px]", "outline-none outline-hidden rounded-full relative shadow-sm", value ? disabled ? "bg-white bg-opacity-54 bg-white/54 dark:bg-surface-accent-950 border-surface-accent-100 dark:border-surface-accent-700 ring-1 ring-surface-accent-200 dark:ring-surface-accent-700" : "ring-secondary ring-1 bg-secondary dark:bg-secondary" : "bg-white bg-opacity-54 bg-white/54 dark:bg-surface-accent-900 ring-1 ring-surface-accent-200 dark:ring-surface-accent-700", className), ...props, children: [
746
783
  allowIndeterminate && (value === null || value === void 0) && /* @__PURE__ */ jsx("div", { className: cls("block rounded-full transition-transform duration-100 transform will-change-auto", disabled ? "bg-surface-accent-400 dark:bg-surface-accent-600" : "bg-surface-accent-400 dark:bg-surface-accent-600", {
747
784
  "w-[21px] h-[10px]": size === "medium" || size === "large",
748
785
  "w-[19px] h-[8px]": size === "small",
@@ -774,6 +811,7 @@ const BooleanSwitchWithLabel = function BooleanSwitchWithLabel2({
774
811
  className,
775
812
  fullWidth = true,
776
813
  inputClassName,
814
+ switchAdornment,
777
815
  ...props
778
816
  }) {
779
817
  const ref = React__default.useRef(null);
@@ -799,6 +837,7 @@ const BooleanSwitchWithLabel = function BooleanSwitchWithLabel2({
799
837
  }
800
838
  }, children: [
801
839
  /* @__PURE__ */ jsx(BooleanSwitch, { value, ref: refInput, size, className: cls(invisible && focus ? focusedClasses : "", inputClassName), disabled, ...props }),
840
+ switchAdornment,
802
841
  /* @__PURE__ */ jsx("div", { className: cls("flex-grow", position === "end" ? "mr-4" : "ml-4", size === "small" || size === "smallest" ? "text-sm" : "text-base"), children: label })
803
842
  ] });
804
843
  };
@@ -815,18 +854,29 @@ const ButtonInner = React__default.memo(React__default.forwardRef((t0, ref) => {
815
854
  let t5;
816
855
  let t6;
817
856
  if ($[0] !== t0) {
818
- ({
819
- children,
820
- className,
821
- variant: t1,
822
- disabled: t2,
823
- size: t3,
824
- startIcon: t4,
825
- fullWidth: t5,
826
- component: Component,
827
- color: t6,
828
- ...props
829
- } = t0);
857
+ const {
858
+ children: t72,
859
+ className: t82,
860
+ variant: t92,
861
+ disabled: t102,
862
+ size: t112,
863
+ startIcon: t122,
864
+ fullWidth: t132,
865
+ component: t142,
866
+ color: t152,
867
+ loading,
868
+ ...t162
869
+ } = t0;
870
+ children = t72;
871
+ className = t82;
872
+ t1 = t92;
873
+ t2 = t102;
874
+ t3 = t112;
875
+ t4 = t122;
876
+ t5 = t132;
877
+ Component = t142;
878
+ t6 = t152;
879
+ props = t162;
830
880
  $[0] = t0;
831
881
  $[1] = Component;
832
882
  $[2] = children;
@@ -891,12 +941,12 @@ const ButtonInner = React__default.memo(React__default.forwardRef((t0, ref) => {
891
941
  "border border-red-500 bg-red-500 hover:bg-red-500 focus:ring-red-500 shadow hover:ring-1 hover:ring-red-600 text-white hover:text-white": t10,
892
942
  "border border-surface-accent-200 bg-surface-accent-200 hover:bg-surface-accent-300 focus:ring-surface-accent-400 shadow hover:ring-1 hover:ring-surface-accent-400 text-text-primary hover:text-text-primary dark:text-text-primary-dark hover:dark:text-text-primary-dark": t11,
893
943
  "border border-transparent bg-surface-100 hover:bg-surface-accent-200 text-text-primary dark:bg-surface-800 dark:hover:bg-surface-accent-700 dark:text-text-primary-dark hover:text-text-primary dark:text-text-primary-dark hover:dark:text-text-primary-dark": t12,
894
- "border border-transparent text-primary hover:text-primary hover:bg-surface-accent-200 hover:bg-opacity-75 dark:hover:bg-surface-accent-800": t13,
895
- "border border-transparent text-secondary hover:text-secondary hover:bg-surface-accent-200 hover:bg-opacity-75 dark:hover:bg-surface-accent-800": t14,
896
- "border border-transparent text-red-500 hover:text-red-500 hover:bg-red-500 hover:bg-opacity-10": t15,
944
+ "border border-transparent text-primary hover:text-primary hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800": t13,
945
+ "border border-transparent text-secondary hover:text-secondary hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800": t14,
946
+ "border border-transparent text-red-500 hover:text-red-500 hover:bg-red-500 hover:bg-opacity-10 hover:bg-red-500/10": t15,
897
947
  "border border-transparent text-text-primary hover:text-text-primary dark:text-text-primary-dark hover:dark:text-text-primary-dark hover:bg-surface-accent-200 hover:dark:bg-surface-700": t16,
898
948
  "border border-transparent text-text-primary hover:text-text-primary hover:bg-surface-accent-200 dark:text-text-primary-dark dark:hover:text-text-primary-dark dark:hover:bg-surface-accent-700": t17,
899
- "border border-primary text-primary hover:text-primary hover:bg-primary-bg": t18,
949
+ "border border-primary text-primary hover:text-primary hover:bg-primary-bg hover:bg-primary/10": t18,
900
950
  "border border-secondary text-secondary hover:text-secondary hover:bg-secondary-bg": t19,
901
951
  "border border-red-500 text-red-500 hover:text-red-500 hover:bg-red-500 hover:text-white": t20,
902
952
  "border border-surface-accent-400 text-text-primary hover:text-text-primary dark:text-text-primary-dark hover:bg-surface-accent-200": t21,
@@ -904,7 +954,7 @@ const ButtonInner = React__default.memo(React__default.forwardRef((t0, ref) => {
904
954
  "text-text-disabled dark:text-text-disabled-dark": disabled,
905
955
  "border border-transparent opacity-50": t23,
906
956
  "border border-surface-500 opacity-50": t24,
907
- "border border-transparent bg-surface-300 dark:bg-surface-500 opacity-40": t25
957
+ "border border-transparent bg-surface-300 dark:bg-surface-500 opacity-70 bg-surface-300/70 dark:bg-surface-500/70": t25
908
958
  });
909
959
  const sizeClasses2 = cls({
910
960
  "py-1 px-2": size === "small",
@@ -1370,6 +1420,50 @@ function HandleIcon() {
1370
1420
  }
1371
1421
  return t0;
1372
1422
  }
1423
+ const sizeMap = {
1424
+ smallest: 16,
1425
+ small: 20,
1426
+ medium: 24,
1427
+ large: 28
1428
+ };
1429
+ function FirestoreIcon(props) {
1430
+ const $ = c(7);
1431
+ const s = typeof props.size === "number" ? props.size : sizeMap[props.size ?? "medium"] ?? 24;
1432
+ let t0;
1433
+ let t1;
1434
+ let t2;
1435
+ let t3;
1436
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
1437
+ t0 = /* @__PURE__ */ jsx("path", { d: "M22.575 87.933A52.16 52.16 0 0034.787 90.513c5.84.204 11.395-1.004 16.359-3.298a70.68 70.68 0 01-15.948-10.013c-2.98 4.778-7.393 8.548-12.623 10.731z", opacity: ".7" });
1438
+ t1 = /* @__PURE__ */ jsx("path", { d: "M35.2 77.205c-10.505-9.714-16.878-23.776-16.339-39.2.018-.499.045-1.001.075-1.5a39.51 39.51 0 00-5.866-.855 38.77 38.77 0 00-8.34.997A53.07 53.07 0 00.022 53.236c-.544 15.58 8.884 29.191 22.553 34.697 5.23-2.18 9.642-5.948 12.625-10.728z", opacity: ".6" });
1439
+ t2 = /* @__PURE__ */ jsx("path", { d: "M35.2 77.205a31.63 31.63 0 004.096-13.428c.452-12.985-8.278-24.155-20.36-27.273-.03.5-.058 1.002-.076 1.502-.536 15.421 5.835 29.483 16.34 39.199z", opacity: ".7" });
1440
+ t3 = /* @__PURE__ */ jsx("path", { d: "M37.944 0a73.99 73.99 0 00-15.603 21.156 72.82 72.82 0 00-3.41 15.349c12.082 3.117 20.812 14.288 20.36 27.275a31.58 31.58 0 01-4.098 13.425 70.76 70.76 0 0015.948 10.013c11.951-5.523 20.43-17.41 20.919-31.467.318-9.11-3.181-17.228-8.126-24.081C58.711 24.424 37.944 0 37.944 0z" });
1441
+ $[0] = t0;
1442
+ $[1] = t1;
1443
+ $[2] = t2;
1444
+ $[3] = t3;
1445
+ } else {
1446
+ t0 = $[0];
1447
+ t1 = $[1];
1448
+ t2 = $[2];
1449
+ t3 = $[3];
1450
+ }
1451
+ let t4;
1452
+ if ($[4] !== props.className || $[5] !== s) {
1453
+ t4 = /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", className: props.className, fill: "currentColor", width: s, height: s, viewBox: "0 0 73 91", children: [
1454
+ t0,
1455
+ t1,
1456
+ t2,
1457
+ t3
1458
+ ] });
1459
+ $[4] = props.className;
1460
+ $[5] = s;
1461
+ $[6] = t4;
1462
+ } else {
1463
+ t4 = $[6];
1464
+ }
1465
+ return t4;
1466
+ }
1373
1467
  const _10kIcon = React__default.forwardRef((props, ref) => {
1374
1468
  const $ = c(3);
1375
1469
  let t0;
@@ -8636,6 +8730,20 @@ const DatasetLinkedIcon = React__default.forwardRef((props, ref) => {
8636
8730
  return t0;
8637
8731
  });
8638
8732
  DatasetLinkedIcon.displayName = "DatasetLinkedIcon";
8733
+ const DatabaseIcon = React__default.forwardRef((props, ref) => {
8734
+ const $ = c(3);
8735
+ let t0;
8736
+ if ($[0] !== props || $[1] !== ref) {
8737
+ t0 = /* @__PURE__ */ jsx(Icon, { ...props, iconKey: "database", ref });
8738
+ $[0] = props;
8739
+ $[1] = ref;
8740
+ $[2] = t0;
8741
+ } else {
8742
+ t0 = $[2];
8743
+ }
8744
+ return t0;
8745
+ });
8746
+ DatabaseIcon.displayName = "DatabaseIcon";
8639
8747
  const DateRangeIcon = React__default.forwardRef((props, ref) => {
8640
8748
  const $ = c(3);
8641
8749
  let t0;
@@ -32172,7 +32280,7 @@ const Checkbox = React__default.memo((t0) => {
32172
32280
  const t6 = disabled ? void 0 : onCheckedChange;
32173
32281
  const t7 = padding ? paddingClasses[size] : "";
32174
32282
  const t8 = outerSizeClasses[size];
32175
- const t9 = onCheckedChange ? "rounded-full hover:bg-surface-accent-200 hover:bg-opacity-75 dark:hover:bg-surface-accent-700 dark:hover:bg-opacity-75" : "";
32283
+ const t9 = onCheckedChange ? "rounded-full hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-700 dark:hover:bg-opacity-75 dark:hover:bg-surface-accent-700/75" : "";
32176
32284
  const t10 = onCheckedChange ? "cursor-pointer" : "cursor-default";
32177
32285
  let t11;
32178
32286
  if ($[0] !== t10 || $[1] !== t7 || $[2] !== t8 || $[3] !== t9) {
@@ -32246,8 +32354,8 @@ const sizeClassNames = {
32246
32354
  medium: "px-3 py-1 text-sm",
32247
32355
  large: "px-4 py-1.5 text-sm"
32248
32356
  };
32249
- function Chip(t0) {
32250
- const $ = c(18);
32357
+ const Chip = React__default.forwardRef(function Chip2(t0, ref) {
32358
+ const $ = c(19);
32251
32359
  const {
32252
32360
  children,
32253
32361
  colorScheme,
@@ -32302,23 +32410,330 @@ function Chip(t0) {
32302
32410
  t10 = $[11];
32303
32411
  }
32304
32412
  let t11;
32305
- if ($[12] !== children || $[13] !== icon || $[14] !== onClick || $[15] !== t10 || $[16] !== t7) {
32306
- t11 = /* @__PURE__ */ jsxs("div", { className: t7, onClick, style: t10, children: [
32413
+ if ($[12] !== children || $[13] !== icon || $[14] !== onClick || $[15] !== ref || $[16] !== t10 || $[17] !== t7) {
32414
+ t11 = /* @__PURE__ */ jsxs("div", { ref, className: t7, onClick, style: t10, children: [
32307
32415
  children,
32308
32416
  icon
32309
32417
  ] });
32310
32418
  $[12] = children;
32311
32419
  $[13] = icon;
32312
32420
  $[14] = onClick;
32313
- $[15] = t10;
32314
- $[16] = t7;
32315
- $[17] = t11;
32421
+ $[15] = ref;
32422
+ $[16] = t10;
32423
+ $[17] = t7;
32424
+ $[18] = t11;
32316
32425
  } else {
32317
- t11 = $[17];
32426
+ t11 = $[18];
32318
32427
  }
32319
32428
  return t11;
32429
+ });
32430
+ const Tooltip = React__default.forwardRef((t0, ref) => {
32431
+ const $ = c(47);
32432
+ let align;
32433
+ let children;
32434
+ let className;
32435
+ let container;
32436
+ let defaultOpen;
32437
+ let onOpenChange;
32438
+ let open;
32439
+ let props;
32440
+ let sideOffset;
32441
+ let style;
32442
+ let t1;
32443
+ let t2;
32444
+ let t3;
32445
+ let title;
32446
+ let tooltipClassName;
32447
+ let tooltipStyle;
32448
+ if ($[0] !== t0) {
32449
+ ({
32450
+ open,
32451
+ defaultOpen,
32452
+ side: t1,
32453
+ delayDuration: t2,
32454
+ sideOffset,
32455
+ align,
32456
+ onOpenChange,
32457
+ title,
32458
+ tooltipClassName,
32459
+ tooltipStyle,
32460
+ children,
32461
+ asChild: t3,
32462
+ container,
32463
+ className,
32464
+ style,
32465
+ ...props
32466
+ } = t0);
32467
+ $[0] = t0;
32468
+ $[1] = align;
32469
+ $[2] = children;
32470
+ $[3] = className;
32471
+ $[4] = container;
32472
+ $[5] = defaultOpen;
32473
+ $[6] = onOpenChange;
32474
+ $[7] = open;
32475
+ $[8] = props;
32476
+ $[9] = sideOffset;
32477
+ $[10] = style;
32478
+ $[11] = t1;
32479
+ $[12] = t2;
32480
+ $[13] = t3;
32481
+ $[14] = title;
32482
+ $[15] = tooltipClassName;
32483
+ $[16] = tooltipStyle;
32484
+ } else {
32485
+ align = $[1];
32486
+ children = $[2];
32487
+ className = $[3];
32488
+ container = $[4];
32489
+ defaultOpen = $[5];
32490
+ onOpenChange = $[6];
32491
+ open = $[7];
32492
+ props = $[8];
32493
+ sideOffset = $[9];
32494
+ style = $[10];
32495
+ t1 = $[11];
32496
+ t2 = $[12];
32497
+ t3 = $[13];
32498
+ title = $[14];
32499
+ tooltipClassName = $[15];
32500
+ tooltipStyle = $[16];
32501
+ }
32502
+ const side = t1 === void 0 ? "bottom" : t1;
32503
+ const delayDuration = t2 === void 0 ? 200 : t2;
32504
+ const asChild = t3 === void 0 ? false : t3;
32505
+ useInjectStyles("Tooltip", styles);
32506
+ const contextContainer = usePortalContainer();
32507
+ const finalContainer = container ?? contextContainer ?? void 0;
32508
+ if (!title) {
32509
+ let t42;
32510
+ if ($[17] !== children) {
32511
+ t42 = /* @__PURE__ */ jsx(Fragment, { children });
32512
+ $[17] = children;
32513
+ $[18] = t42;
32514
+ } else {
32515
+ t42 = $[18];
32516
+ }
32517
+ return t42;
32518
+ }
32519
+ let t4;
32520
+ if ($[19] !== asChild || $[20] !== children || $[21] !== className || $[22] !== props || $[23] !== ref || $[24] !== style) {
32521
+ t4 = asChild ? /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { asChild: true, children }) : /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsx("div", { style, className, ref, ...props, children }) });
32522
+ $[19] = asChild;
32523
+ $[20] = children;
32524
+ $[21] = className;
32525
+ $[22] = props;
32526
+ $[23] = ref;
32527
+ $[24] = style;
32528
+ $[25] = t4;
32529
+ } else {
32530
+ t4 = $[25];
32531
+ }
32532
+ const trigger = t4;
32533
+ let t5;
32534
+ if ($[26] !== tooltipClassName) {
32535
+ t5 = cls("TooltipContent", "max-w-lg leading-relaxed", "z-50 rounded px-3 py-2 text-xs leading-none bg-surface-accent-700 dark:bg-surface-accent-800 bg-opacity-90 bg-surface-accent-700/90 dark:bg-surface-accent-800/90 font-medium text-surface-accent-50 shadow-2xl select-none duration-400 ease-in transform opacity-100", tooltipClassName);
32536
+ $[26] = tooltipClassName;
32537
+ $[27] = t5;
32538
+ } else {
32539
+ t5 = $[27];
32540
+ }
32541
+ const t6 = sideOffset === void 0 ? 4 : sideOffset;
32542
+ let t7;
32543
+ if ($[28] !== align || $[29] !== side || $[30] !== t5 || $[31] !== t6 || $[32] !== title || $[33] !== tooltipStyle) {
32544
+ t7 = /* @__PURE__ */ jsx(TooltipPrimitive.Content, { className: t5, style: tooltipStyle, sideOffset: t6, align, side, children: title });
32545
+ $[28] = align;
32546
+ $[29] = side;
32547
+ $[30] = t5;
32548
+ $[31] = t6;
32549
+ $[32] = title;
32550
+ $[33] = tooltipStyle;
32551
+ $[34] = t7;
32552
+ } else {
32553
+ t7 = $[34];
32554
+ }
32555
+ let t8;
32556
+ if ($[35] !== finalContainer || $[36] !== t7) {
32557
+ t8 = /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { container: finalContainer, children: t7 });
32558
+ $[35] = finalContainer;
32559
+ $[36] = t7;
32560
+ $[37] = t8;
32561
+ } else {
32562
+ t8 = $[37];
32563
+ }
32564
+ let t9;
32565
+ if ($[38] !== defaultOpen || $[39] !== onOpenChange || $[40] !== open || $[41] !== t8 || $[42] !== trigger) {
32566
+ t9 = /* @__PURE__ */ jsxs(TooltipPrimitive.Root, { open, onOpenChange, defaultOpen, children: [
32567
+ trigger,
32568
+ t8
32569
+ ] });
32570
+ $[38] = defaultOpen;
32571
+ $[39] = onOpenChange;
32572
+ $[40] = open;
32573
+ $[41] = t8;
32574
+ $[42] = trigger;
32575
+ $[43] = t9;
32576
+ } else {
32577
+ t9 = $[43];
32578
+ }
32579
+ let t10;
32580
+ if ($[44] !== delayDuration || $[45] !== t9) {
32581
+ t10 = /* @__PURE__ */ jsx(TooltipPrimitive.Provider, { delayDuration, children: t9 });
32582
+ $[44] = delayDuration;
32583
+ $[45] = t9;
32584
+ $[46] = t10;
32585
+ } else {
32586
+ t10 = $[46];
32587
+ }
32588
+ return t10;
32589
+ });
32590
+ const styles = `
32591
+
32592
+ .TooltipContent {
32593
+ animation-duration: 220ms;
32594
+ animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
32595
+ will-change: transform, opacity;
32596
+ }
32597
+
32598
+ .TooltipContent[data-state='delayed-open'][data-side='top'] {
32599
+ animation-name: slideDownAndFade;
32600
+ }
32601
+ .TooltipContent[data-state='delayed-open'][data-side='right'] {
32602
+ animation-name: slideLeftAndFade;
32603
+ }
32604
+ .TooltipContent[data-state='delayed-open'][data-side='bottom'] {
32605
+ animation-name: slideUpAndFade;
32606
+ }
32607
+ .TooltipContent[data-state='delayed-open'][data-side='left'] {
32608
+ animation-name: slideRightAndFade;
32609
+ }
32610
+
32611
+
32612
+ @keyframes slideUpAndFade {
32613
+ from {
32614
+ opacity: 0;
32615
+ transform: translateY(4px);
32616
+ }
32617
+ to {
32618
+ opacity: 1;
32619
+ transform: translateY(0);
32620
+ }
32621
+ }
32622
+
32623
+ @keyframes slideRightAndFade {
32624
+ from {
32625
+ opacity: 0;
32626
+ transform: translateX(-4px);
32627
+ }
32628
+ to {
32629
+ opacity: 1;
32630
+ transform: translateX(0);
32631
+ }
32632
+ }
32633
+
32634
+ @keyframes slideDownAndFade {
32635
+ from {
32636
+ opacity: 0;
32637
+ transform: translateY(-4px);
32638
+ }
32639
+ to {
32640
+ opacity: 1;
32641
+ transform: translateY(0);
32642
+ }
32643
+ }
32644
+
32645
+ @keyframes slideLeftAndFade {
32646
+ from {
32647
+ opacity: 0;
32648
+ transform: translateX(4px);
32649
+ }
32650
+ to {
32651
+ opacity: 1;
32652
+ transform: translateX(0);
32653
+ }
32654
+ }`;
32655
+ const BASE_COLORS = ["blue", "cyan", "teal", "green", "yellow", "orange", "red", "pink", "purple", "gray"];
32656
+ const VARIANTS = ["Darker", "Dark", "Light", "Lighter"];
32657
+ function getColorDisplayName(colorKey) {
32658
+ const base = colorKey.replace(/(Lighter|Light|Dark|Darker)$/, "");
32659
+ const variant = colorKey.replace(base, "");
32660
+ return `${base.charAt(0).toUpperCase()}${base.slice(1)} ${variant}`;
32661
+ }
32662
+ function ColorPicker(t0) {
32663
+ const $ = c(18);
32664
+ const {
32665
+ value,
32666
+ onChange,
32667
+ size: t1,
32668
+ allowClear: t2,
32669
+ disabled: t3
32670
+ } = t0;
32671
+ const size = t1 === void 0 ? "medium" : t1;
32672
+ const allowClear = t2 === void 0 ? true : t2;
32673
+ const disabled = t3 === void 0 ? false : t3;
32674
+ const swatchSize = size === "small" ? "w-5 h-5" : "w-6 h-6";
32675
+ const checkSize = size === "small" ? 12 : 14;
32676
+ let t4;
32677
+ if ($[0] !== allowClear || $[1] !== checkSize || $[2] !== disabled || $[3] !== onChange || $[4] !== swatchSize || $[5] !== value) {
32678
+ t4 = allowClear && /* @__PURE__ */ jsxs("button", { type: "button", disabled, onClick: () => onChange(void 0), className: cls("flex items-center gap-2 px-2 py-1 rounded text-sm transition-colors", "hover:bg-surface-accent-100 dark:hover:bg-surface-accent-800", disabled && "opacity-50 cursor-not-allowed", !value && "bg-surface-accent-100 dark:bg-surface-accent-800 font-medium"), children: [
32679
+ /* @__PURE__ */ jsx("div", { className: cls(swatchSize, "rounded-full border-2 border-dashed border-surface-accent-400 dark:border-surface-accent-600", "flex items-center justify-center"), children: !value && /* @__PURE__ */ jsx(CheckIcon, { size: checkSize }) }),
32680
+ /* @__PURE__ */ jsx("span", { className: "text-surface-accent-700 dark:text-surface-accent-300", children: "Auto (based on ID)" })
32681
+ ] });
32682
+ $[0] = allowClear;
32683
+ $[1] = checkSize;
32684
+ $[2] = disabled;
32685
+ $[3] = onChange;
32686
+ $[4] = swatchSize;
32687
+ $[5] = value;
32688
+ $[6] = t4;
32689
+ } else {
32690
+ t4 = $[6];
32691
+ }
32692
+ let t5;
32693
+ if ($[7] !== checkSize || $[8] !== disabled || $[9] !== onChange || $[10] !== swatchSize || $[11] !== value) {
32694
+ t5 = VARIANTS.map((variant) => BASE_COLORS.map((base) => {
32695
+ const colorKey = `${base}${variant}`;
32696
+ const colorScheme = CHIP_COLORS[colorKey];
32697
+ const isSelected = value === colorKey;
32698
+ const displayName = getColorDisplayName(colorKey);
32699
+ return /* @__PURE__ */ jsx(Tooltip, { title: displayName, delayDuration: 300, children: /* @__PURE__ */ jsx("button", { type: "button", disabled, onClick: () => onChange(colorKey), className: cls(swatchSize, "rounded-full transition-all flex items-center justify-center", "hover:scale-110 hover:shadow-md", "focus:outline-none focus:ring-2 focus:ring-primary focus:ring-offset-1", disabled && "opacity-50 cursor-not-allowed hover:scale-100", isSelected && "ring-2 ring-primary ring-offset-1"), style: {
32700
+ backgroundColor: colorScheme.color
32701
+ }, "aria-label": displayName, "aria-pressed": isSelected, children: isSelected && /* @__PURE__ */ jsx(CheckIcon, { size: checkSize, style: {
32702
+ color: colorScheme.text
32703
+ } }) }) }, colorKey);
32704
+ }));
32705
+ $[7] = checkSize;
32706
+ $[8] = disabled;
32707
+ $[9] = onChange;
32708
+ $[10] = swatchSize;
32709
+ $[11] = value;
32710
+ $[12] = t5;
32711
+ } else {
32712
+ t5 = $[12];
32713
+ }
32714
+ let t6;
32715
+ if ($[13] !== t5) {
32716
+ t6 = /* @__PURE__ */ jsx("div", { className: "grid grid-cols-10 gap-1", children: t5 });
32717
+ $[13] = t5;
32718
+ $[14] = t6;
32719
+ } else {
32720
+ t6 = $[14];
32721
+ }
32722
+ let t7;
32723
+ if ($[15] !== t4 || $[16] !== t6) {
32724
+ t7 = /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-2", children: [
32725
+ t4,
32726
+ t6
32727
+ ] });
32728
+ $[15] = t4;
32729
+ $[16] = t6;
32730
+ $[17] = t7;
32731
+ } else {
32732
+ t7 = $[17];
32733
+ }
32734
+ return t7;
32320
32735
  }
32321
- const buttonClasses = "hover:bg-surface-accent-200 hover:bg-opacity-75 dark:hover:bg-surface-accent-800 hover:scale-105 transition-transform";
32736
+ const buttonClasses = "hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800 hover:scale-105 transition-transform";
32322
32737
  const baseClasses = "inline-flex items-center justify-center p-2 text-sm font-medium focus:outline-none transition-colors ease-in-out duration-150";
32323
32738
  const colorClasses$1 = "text-surface-accent-600 visited:text-surface-accent-600 dark:text-surface-accent-300 dark:visited:text-surface-300";
32324
32739
  const sizeClasses = {
@@ -32378,7 +32793,7 @@ const IconButtonInner = (t0, ref) => {
32378
32793
  const size = t1 === void 0 ? "medium" : t1;
32379
32794
  const variant = t2 === void 0 ? "ghost" : t2;
32380
32795
  const shape = t3 === void 0 ? "circular" : t3;
32381
- const bgClasses = variant === "ghost" ? "bg-transparent" : "bg-surface-accent-200 bg-opacity-50 dark:bg-surface-950 dark:bg-opacity-50";
32796
+ const bgClasses = variant === "ghost" ? "bg-transparent" : "bg-surface-accent-200 bg-opacity-50 bg-surface-accent-200/50 dark:bg-surface-950 dark:bg-opacity-50 dark:bg-surface-950/50";
32382
32797
  const Component = component || "button";
32383
32798
  const t4 = disabled ? "opacity-50 pointer-events-none" : "cursor-pointer";
32384
32799
  const t5 = toggled ? "outline outline-2 outline-primary" : "";
@@ -32386,7 +32801,7 @@ const IconButtonInner = (t0, ref) => {
32386
32801
  const t7 = sizeClasses[size];
32387
32802
  let t8;
32388
32803
  if ($[10] !== bgClasses || $[11] !== className || $[12] !== t4 || $[13] !== t5 || $[14] !== t6 || $[15] !== t7) {
32389
- t8 = cls(t4, t5, colorClasses$1, bgClasses, baseClasses, buttonClasses, t6, t7, className);
32804
+ t8 = cls(t4, t5, "text-inherit dark:text-inherit", colorClasses$1, bgClasses, baseClasses, buttonClasses, t6, t7, className);
32390
32805
  $[10] = bgClasses;
32391
32806
  $[11] = className;
32392
32807
  $[12] = t4;
@@ -32637,13 +33052,14 @@ const DateTimeField = ({
32637
33052
  className,
32638
33053
  style,
32639
33054
  inputClassName,
32640
- invisible
33055
+ invisible,
33056
+ timezone
32641
33057
  }) => {
32642
33058
  const inputRef = useRef(null);
32643
33059
  const [focused, setFocused] = useState(false);
32644
33060
  const [internalValue, setInternalValue] = useState("");
32645
33061
  const [isTyping, setIsTyping] = useState(false);
32646
- const invalidValue = value !== void 0 && value !== null && !(value instanceof Date);
33062
+ const invalidValue = value !== void 0 && value !== null && (!(value instanceof Date) || isNaN(value.getTime()));
32647
33063
  useInjectStyles("DateTimeField", inputStyles);
32648
33064
  const handleClear = (e) => {
32649
33065
  e.preventDefault();
@@ -32655,18 +33071,64 @@ const DateTimeField = ({
32655
33071
  if (!dateValue) {
32656
33072
  return "";
32657
33073
  }
32658
- const pad = (n) => n.toString().padStart(2, "0");
32659
- const year = dateValue.getFullYear();
32660
- const month = pad(dateValue.getMonth() + 1);
32661
- const day = pad(dateValue.getDate());
33074
+ const options = {
33075
+ year: "numeric",
33076
+ month: "2-digit",
33077
+ day: "2-digit",
33078
+ hour: "2-digit",
33079
+ minute: "2-digit",
33080
+ hour12: false,
33081
+ timeZone: timezone
33082
+ // undefined = local timezone
33083
+ };
33084
+ const formatter = new Intl.DateTimeFormat("en-CA", options);
33085
+ let parts;
33086
+ try {
33087
+ parts = formatter.formatToParts(dateValue);
33088
+ } catch {
33089
+ return "";
33090
+ }
33091
+ const getPart = (type) => parts.find((p) => p.type === type)?.value ?? "";
33092
+ const year = getPart("year");
33093
+ const month = getPart("month");
33094
+ const day = getPart("day");
32662
33095
  if (mode_0 === "date") {
32663
33096
  return `${year}-${month}-${day}`;
32664
33097
  } else {
32665
- const hours = pad(dateValue.getHours());
32666
- const minutes = pad(dateValue.getMinutes());
33098
+ const hours = getPart("hour");
33099
+ const minutes = getPart("minute");
32667
33100
  return `${year}-${month}-${day}T${hours}:${minutes}`;
32668
33101
  }
32669
33102
  };
33103
+ const getTimezoneOffsetMinutes = (date, tz) => {
33104
+ if (!tz) {
33105
+ return -date.getTimezoneOffset();
33106
+ }
33107
+ const utcFormatter = new Intl.DateTimeFormat("en-CA", {
33108
+ year: "numeric",
33109
+ month: "2-digit",
33110
+ day: "2-digit",
33111
+ hour: "2-digit",
33112
+ minute: "2-digit",
33113
+ hour12: false,
33114
+ timeZone: "UTC"
33115
+ });
33116
+ const tzFormatter = new Intl.DateTimeFormat("en-CA", {
33117
+ year: "numeric",
33118
+ month: "2-digit",
33119
+ day: "2-digit",
33120
+ hour: "2-digit",
33121
+ minute: "2-digit",
33122
+ hour12: false,
33123
+ timeZone: tz
33124
+ });
33125
+ const utcParts = utcFormatter.formatToParts(date);
33126
+ const tzParts = tzFormatter.formatToParts(date);
33127
+ const getPart_0 = (parts_0, type_0) => parseInt(parts_0.find((p_0) => p_0.type === type_0)?.value ?? "0", 10);
33128
+ const utcDate = new Date(Date.UTC(getPart_0(utcParts, "year"), getPart_0(utcParts, "month") - 1, getPart_0(utcParts, "day"), getPart_0(utcParts, "hour"), getPart_0(utcParts, "minute")));
33129
+ const tzDate = new Date(Date.UTC(getPart_0(tzParts, "year"), getPart_0(tzParts, "month") - 1, getPart_0(tzParts, "day"), getPart_0(tzParts, "hour"), getPart_0(tzParts, "minute")));
33130
+ return (tzDate.getTime() - utcDate.getTime()) / 6e4;
33131
+ };
32670
33132
  const handleInputChange = (e_0) => {
32671
33133
  const inputValue = e_0.target.value;
32672
33134
  setInternalValue(inputValue);
@@ -32676,18 +33138,26 @@ const DateTimeField = ({
32676
33138
  return;
32677
33139
  }
32678
33140
  try {
32679
- const parsed = new Date(inputValue);
32680
- if (isNaN(parsed.getTime())) {
32681
- throw new Error("Invalid date");
32682
- }
32683
- let newDate;
33141
+ let year_0, month_0, day_0, hours_0 = 0, minutes_0 = 0;
32684
33142
  if (mode === "date") {
32685
- const userTimezoneOffset = parsed.getTimezoneOffset() * 6e4;
32686
- newDate = new Date(parsed.getTime() + userTimezoneOffset);
33143
+ [year_0, month_0, day_0] = inputValue.split("-").map(Number);
33144
+ } else {
33145
+ const [datePart, timePart] = inputValue.split("T");
33146
+ [year_0, month_0, day_0] = datePart.split("-").map(Number);
33147
+ [hours_0, minutes_0] = timePart.split(":").map(Number);
33148
+ }
33149
+ let resultDate;
33150
+ if (!timezone) {
33151
+ resultDate = new Date(year_0, month_0 - 1, day_0, hours_0, minutes_0);
32687
33152
  } else {
32688
- newDate = parsed;
33153
+ const refUtcDate = new Date(Date.UTC(year_0, month_0 - 1, day_0, hours_0, minutes_0));
33154
+ const offsetMinutes = getTimezoneOffsetMinutes(refUtcDate, timezone);
33155
+ resultDate = new Date(Date.UTC(year_0, month_0 - 1, day_0, hours_0, minutes_0) - offsetMinutes * 6e4);
32689
33156
  }
32690
- onChange?.(newDate);
33157
+ if (isNaN(resultDate.getTime())) {
33158
+ throw new Error("Invalid date");
33159
+ }
33160
+ onChange?.(resultDate);
32691
33161
  } catch (e_1) {
32692
33162
  return;
32693
33163
  }
@@ -32756,21 +33226,21 @@ const inputStyles = `
32756
33226
  }
32757
33227
  `;
32758
33228
  const widthClasses = {
32759
- xs: "max-w-xs min-w-xs w-xs",
32760
- sm: "max-w-sm min-w-sm w-sm",
32761
- md: "max-w-md min-w-md w-md",
32762
- lg: "max-w-lg min-w-lg w-lg",
32763
- xl: "max-w-xl min-w-xl w-xl",
32764
- "2xl": "max-w-2xl min-w-2xl w-2xl",
32765
- "3xl": "max-w-3xl min-w-3xl w-3xl",
32766
- "4xl": "max-w-4xl min-w-4xl w-4xl",
32767
- "5xl": "max-w-5xl min-w-5xl w-5xl",
32768
- "6xl": "max-w-6xl min-w-6xl w-6xl",
32769
- "7xl": "max-w-7xl min-w-7xl w-7xl",
32770
- full: "max-w-full min-w-full w-full"
33229
+ xs: "max-w-xs w-xs",
33230
+ sm: "max-w-sm w-sm",
33231
+ md: "max-w-md w-md",
33232
+ lg: "max-w-lg w-lg",
33233
+ xl: "max-w-xl w-xl",
33234
+ "2xl": "max-w-2xl w-2xl",
33235
+ "3xl": "max-w-3xl w-3xl",
33236
+ "4xl": "max-w-4xl w-4xl",
33237
+ "5xl": "max-w-5xl w-5xl",
33238
+ "6xl": "max-w-6xl w-6xl",
33239
+ "7xl": "max-w-7xl w-7xl",
33240
+ full: "max-w-full w-full"
32771
33241
  };
32772
33242
  const Dialog = (t0) => {
32773
- const $ = c(42);
33243
+ const $ = c(45);
32774
33244
  const {
32775
33245
  open,
32776
33246
  onOpenChange,
@@ -32787,7 +33257,8 @@ const Dialog = (t0) => {
32787
33257
  onEscapeKeyDown,
32788
33258
  onPointerDownOutside,
32789
33259
  onInteractOutside,
32790
- disableInitialFocus: t5
33260
+ disableInitialFocus: t5,
33261
+ portalContainer
32791
33262
  } = t0;
32792
33263
  const fullWidth = t1 === void 0 ? true : t1;
32793
33264
  const scrollable = t2 === void 0 ? true : t2;
@@ -32795,6 +33266,8 @@ const Dialog = (t0) => {
32795
33266
  const modal = t4 === void 0 ? true : t4;
32796
33267
  const disableInitialFocus = t5 === void 0 ? true : t5;
32797
33268
  const [displayed, setDisplayed] = useState(false);
33269
+ const contextContainer = usePortalContainer();
33270
+ const finalContainer = portalContainer ?? contextContainer ?? void 0;
32798
33271
  let t6;
32799
33272
  let t7;
32800
33273
  if ($[0] !== open) {
@@ -32802,11 +33275,11 @@ const Dialog = (t0) => {
32802
33275
  if (!open) {
32803
33276
  const timeout = setTimeout(() => {
32804
33277
  setDisplayed(false);
32805
- }, 150);
33278
+ }, 100);
32806
33279
  return () => clearTimeout(timeout);
32807
33280
  } else {
32808
33281
  setDisplayed(true);
32809
- return _temp$2;
33282
+ return _temp$4;
32810
33283
  }
32811
33284
  };
32812
33285
  t7 = [open];
@@ -32830,7 +33303,7 @@ const Dialog = (t0) => {
32830
33303
  const t10 = displayed && open ? "opacity-100" : "opacity-0";
32831
33304
  let t11;
32832
33305
  if ($[5] !== t10) {
32833
- t11 = cls("fixed inset-0 transition-opacity z-20 ease-in-out duration-200 bg-black bg-opacity-50 dark:bg-opacity-60 backdrop-blur-sm ", t10, "z-20 fixed top-0 left-0 w-full h-full flex justify-center items-center");
33306
+ t11 = cls("fixed inset-0 transition-opacity z-20 ease-in-out duration-200 bg-black dark:bg-opacity-60 dark:bg-black/60 bg-opacity-50 bg-black/50 dark: bg-black/60 backdrop-blur-sm ", t10, "z-20 fixed top-0 left-0 w-full h-full flex justify-center items-center");
32834
33307
  $[5] = t10;
32835
33308
  $[6] = t11;
32836
33309
  } else {
@@ -32920,10 +33393,10 @@ const Dialog = (t0) => {
32920
33393
  }
32921
33394
  let t26;
32922
33395
  if ($[33] !== t14 || $[34] !== t25 || $[35] !== t9) {
32923
- t26 = /* @__PURE__ */ jsx(DialogPrimitive.Portal, { children: /* @__PURE__ */ jsxs("div", { className: t9, children: [
33396
+ t26 = /* @__PURE__ */ jsxs("div", { className: t9, children: [
32924
33397
  t14,
32925
33398
  t25
32926
- ] }) });
33399
+ ] });
32927
33400
  $[33] = t14;
32928
33401
  $[34] = t25;
32929
33402
  $[35] = t9;
@@ -32932,19 +33405,28 @@ const Dialog = (t0) => {
32932
33405
  t26 = $[36];
32933
33406
  }
32934
33407
  let t27;
32935
- if ($[37] !== modal || $[38] !== onOpenChange || $[39] !== t26 || $[40] !== t8) {
32936
- t27 = /* @__PURE__ */ jsx(DialogPrimitive.Root, { open: t8, modal, onOpenChange, children: t26 });
32937
- $[37] = modal;
32938
- $[38] = onOpenChange;
32939
- $[39] = t26;
32940
- $[40] = t8;
32941
- $[41] = t27;
33408
+ if ($[37] !== finalContainer || $[38] !== t26) {
33409
+ t27 = /* @__PURE__ */ jsx(DialogPrimitive.Portal, { container: finalContainer, children: t26 });
33410
+ $[37] = finalContainer;
33411
+ $[38] = t26;
33412
+ $[39] = t27;
33413
+ } else {
33414
+ t27 = $[39];
33415
+ }
33416
+ let t28;
33417
+ if ($[40] !== modal || $[41] !== onOpenChange || $[42] !== t27 || $[43] !== t8) {
33418
+ t28 = /* @__PURE__ */ jsx(DialogPrimitive.Root, { open: t8, modal, onOpenChange, children: t27 });
33419
+ $[40] = modal;
33420
+ $[41] = onOpenChange;
33421
+ $[42] = t27;
33422
+ $[43] = t8;
33423
+ $[44] = t28;
32942
33424
  } else {
32943
- t27 = $[41];
33425
+ t28 = $[44];
32944
33426
  }
32945
- return t27;
33427
+ return t28;
32946
33428
  };
32947
- function _temp$2() {
33429
+ function _temp$4() {
32948
33430
  }
32949
33431
  function DialogActions(t0) {
32950
33432
  const $ = c(7);
@@ -32959,7 +33441,7 @@ function DialogActions(t0) {
32959
33441
  const t3 = translucent ? "backdrop-blur-sm" : "";
32960
33442
  let t4;
32961
33443
  if ($[0] !== className || $[1] !== position || $[2] !== t3) {
32962
- t4 = cls(defaultBorderMixin, "pt-2 pb-4 px-4 border-t flex flex-row items-center justify-end bottom-0 right-0 left-0 text-right z-2 gap-2", position, "bg-white bg-opacity-60 dark:bg-surface-900 dark:bg-opacity-60", t3, className);
33444
+ t4 = cls(defaultBorderMixin, "pt-2 pb-4 px-4 border-t flex flex-row items-center justify-end bottom-0 right-0 left-0 text-right z-2 gap-2", position, "bg-white bg-opacity-60 bg-white/60 dark:bg-surface-900 dark:bg-opacity-60 dark:bg-surface-900/60", t3, className);
32963
33445
  $[0] = className;
32964
33446
  $[1] = position;
32965
33447
  $[2] = t3;
@@ -33207,7 +33689,7 @@ function ExpandablePanel(t0) {
33207
33689
  const t13 = asField && fieldBackgroundMixin;
33208
33690
  let t14;
33209
33691
  if ($[11] !== t10 || $[12] !== t11 || $[13] !== t12 || $[14] !== t13 || $[15] !== titleClassName) {
33210
- t14 = cls("rounded-t flex items-center justify-between w-full min-h-[52px]", "hover:bg-surface-accent-200 hover:bg-opacity-40 dark:hover:bg-surface-800 dark:hover:bg-opacity-40", t10, t11, "transition-all duration-200", t12, t13, titleClassName, "cursor-pointer");
33692
+ t14 = cls("rounded-t flex items-center justify-between w-full min-h-[52px]", "hover:bg-surface-accent-200 hover:bg-opacity-40 hover:bg-surface-accent-200/40 dark:hover:bg-surface-800 dark:hover:bg-opacity-40 dark:hover:bg-surface-800/40", t10, t11, "transition-all duration-200", t12, t13, titleClassName, "cursor-pointer");
33211
33693
  $[11] = t10;
33212
33694
  $[12] = t11;
33213
33695
  $[13] = t12;
@@ -33301,7 +33783,7 @@ function ExpandablePanel(t0) {
33301
33783
  return t24;
33302
33784
  }
33303
33785
  function FileUpload(t0) {
33304
- const $ = c(32);
33786
+ const $ = c(33);
33305
33787
  const {
33306
33788
  accept,
33307
33789
  onFilesAdded,
@@ -33356,15 +33838,17 @@ function FileUpload(t0) {
33356
33838
  }
33357
33839
  const t4 = size === "large";
33358
33840
  const t5 = size === "medium";
33359
- const t6 = !disabled;
33360
- const t7 = !isDragActive;
33361
- let t8;
33362
- if ($[10] !== isDragAccept || $[11] !== isDragReject || $[12] !== t4 || $[13] !== t5 || $[14] !== t6 || $[15] !== t7) {
33363
- t8 = cls(fieldBackgroundMixin, "flex gap-2", "p-4 box-border relative items-center border-2 border-solid border-transparent outline-none rounded-md duration-200 ease-[cubic-bezier(0.4,0,0.2,1)] focus:border-primary-solid", {
33841
+ const t6 = size === "small";
33842
+ const t7 = !disabled;
33843
+ const t8 = !isDragActive;
33844
+ let t9;
33845
+ if ($[10] !== isDragAccept || $[11] !== isDragReject || $[12] !== t4 || $[13] !== t5 || $[14] !== t6 || $[15] !== t7 || $[16] !== t8) {
33846
+ t9 = cls(fieldBackgroundMixin, "flex gap-2", "p-4 box-border relative items-center border-2 border-solid border-transparent outline-none rounded-md duration-200 ease-[cubic-bezier(0.4,0,0.2,1)] focus:border-primary-solid", {
33364
33847
  "h-44": t4,
33365
33848
  "h-28": t5,
33366
- "cursor-pointer": t6,
33367
- [fieldBackgroundHoverMixin]: t7,
33849
+ "h-16": t6,
33850
+ "cursor-pointer": t7,
33851
+ [fieldBackgroundHoverMixin]: t8,
33368
33852
  "transition-colors duration-200 ease-[cubic-bezier(0,0,0.2,1)] border-red-500": isDragReject,
33369
33853
  "transition-colors duration-200 ease-[cubic-bezier(0,0,0.2,1)] border-green-500": isDragAccept
33370
33854
  });
@@ -33375,60 +33859,61 @@ function FileUpload(t0) {
33375
33859
  $[14] = t6;
33376
33860
  $[15] = t7;
33377
33861
  $[16] = t8;
33862
+ $[17] = t9;
33378
33863
  } else {
33379
- t8 = $[16];
33380
- }
33381
- let t9;
33382
- if ($[17] !== title) {
33383
- t9 = /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", className: "absolute top-2 left-3.5 cursor-inherit", children: title });
33384
- $[17] = title;
33385
- $[18] = t9;
33386
- } else {
33387
- t9 = $[18];
33864
+ t9 = $[17];
33388
33865
  }
33389
33866
  let t10;
33390
- if ($[19] !== getInputProps) {
33391
- t10 = getInputProps();
33392
- $[19] = getInputProps;
33393
- $[20] = t10;
33867
+ if ($[18] !== title) {
33868
+ t10 = /* @__PURE__ */ jsx(Typography, { variant: "caption", color: "secondary", className: "absolute top-2 left-3.5 cursor-inherit", children: title });
33869
+ $[18] = title;
33870
+ $[19] = t10;
33394
33871
  } else {
33395
- t10 = $[20];
33872
+ t10 = $[19];
33396
33873
  }
33397
33874
  let t11;
33398
- if ($[21] !== t10) {
33399
- t11 = /* @__PURE__ */ jsx("input", { ...t10 });
33400
- $[21] = t10;
33401
- $[22] = t11;
33875
+ if ($[20] !== getInputProps) {
33876
+ t11 = getInputProps();
33877
+ $[20] = getInputProps;
33878
+ $[21] = t11;
33402
33879
  } else {
33403
- t11 = $[22];
33880
+ t11 = $[21];
33404
33881
  }
33405
33882
  let t12;
33406
- if ($[23] !== uploadDescription) {
33407
- t12 = /* @__PURE__ */ jsx("div", { className: "flex-grow h-28 box-border flex flex-col items-center justify-center text-center", children: /* @__PURE__ */ jsx(Typography, { align: "center", variant: "label", className: "flex flex-row gap-2 justify-center", children: uploadDescription }) });
33408
- $[23] = uploadDescription;
33409
- $[24] = t12;
33883
+ if ($[22] !== t11) {
33884
+ t12 = /* @__PURE__ */ jsx("input", { ...t11 });
33885
+ $[22] = t11;
33886
+ $[23] = t12;
33410
33887
  } else {
33411
- t12 = $[24];
33888
+ t12 = $[23];
33412
33889
  }
33413
33890
  let t13;
33414
- if ($[25] !== children || $[26] !== t11 || $[27] !== t12 || $[28] !== t3 || $[29] !== t8 || $[30] !== t9) {
33415
- t13 = /* @__PURE__ */ jsxs("div", { ...t3, className: t8, children: [
33416
- t9,
33417
- t11,
33891
+ if ($[24] !== uploadDescription) {
33892
+ t13 = /* @__PURE__ */ jsx("div", { className: "flex-grow h-28 box-border flex flex-col items-center justify-center text-center", children: /* @__PURE__ */ jsx(Typography, { align: "center", variant: "label", className: "flex flex-row gap-2 justify-center", children: uploadDescription }) });
33893
+ $[24] = uploadDescription;
33894
+ $[25] = t13;
33895
+ } else {
33896
+ t13 = $[25];
33897
+ }
33898
+ let t14;
33899
+ if ($[26] !== children || $[27] !== t10 || $[28] !== t12 || $[29] !== t13 || $[30] !== t3 || $[31] !== t9) {
33900
+ t14 = /* @__PURE__ */ jsxs("div", { ...t3, className: t9, children: [
33901
+ t10,
33902
+ t12,
33418
33903
  children,
33419
- t12
33904
+ t13
33420
33905
  ] });
33421
- $[25] = children;
33422
- $[26] = t11;
33423
- $[27] = t12;
33424
- $[28] = t3;
33425
- $[29] = t8;
33426
- $[30] = t9;
33427
- $[31] = t13;
33906
+ $[26] = children;
33907
+ $[27] = t10;
33908
+ $[28] = t12;
33909
+ $[29] = t13;
33910
+ $[30] = t3;
33911
+ $[31] = t9;
33912
+ $[32] = t14;
33428
33913
  } else {
33429
- t13 = $[31];
33914
+ t14 = $[32];
33430
33915
  }
33431
- return t13;
33916
+ return t14;
33432
33917
  }
33433
33918
  const colorClasses = {
33434
33919
  info: "bg-sky-200 dark:bg-teal-900",
@@ -33649,6 +34134,8 @@ const Menu = React__default.forwardRef((t0, ref) => {
33649
34134
  className
33650
34135
  } = t0;
33651
34136
  const sideOffset = t1 === void 0 ? 4 : t1;
34137
+ const contextContainer = usePortalContainer();
34138
+ const finalContainer = portalContainer ?? contextContainer ?? void 0;
33652
34139
  let t2;
33653
34140
  if ($[0] !== ref || $[1] !== trigger) {
33654
34141
  t2 = /* @__PURE__ */ jsx(DropdownMenu.Trigger, { ref, asChild: true, children: trigger });
@@ -33679,9 +34166,9 @@ const Menu = React__default.forwardRef((t0, ref) => {
33679
34166
  t4 = $[10];
33680
34167
  }
33681
34168
  let t5;
33682
- if ($[11] !== portalContainer || $[12] !== t4) {
33683
- t5 = /* @__PURE__ */ jsx(DropdownMenu.Portal, { container: portalContainer, children: t4 });
33684
- $[11] = portalContainer;
34169
+ if ($[11] !== finalContainer || $[12] !== t4) {
34170
+ t5 = /* @__PURE__ */ jsx(DropdownMenu.Portal, { container: finalContainer, children: t4 });
34171
+ $[11] = finalContainer;
33685
34172
  $[12] = t4;
33686
34173
  $[13] = t5;
33687
34174
  } else {
@@ -33706,38 +34193,46 @@ const Menu = React__default.forwardRef((t0, ref) => {
33706
34193
  });
33707
34194
  Menu.displayName = "Menu";
33708
34195
  const MenuItem = React__default.memo((t0) => {
33709
- const $ = c(8);
34196
+ const $ = c(11);
33710
34197
  const {
33711
34198
  children,
33712
34199
  dense: t1,
34200
+ disabled: t2,
33713
34201
  onClick,
33714
34202
  className
33715
34203
  } = t0;
33716
34204
  const dense = t1 === void 0 ? false : t1;
33717
- const t2 = onClick && "cursor-pointer";
33718
- const t3 = dense ? "px-4 py-1.5" : "px-4 py-2";
33719
- let t4;
33720
- if ($[0] !== className || $[1] !== t2 || $[2] !== t3) {
33721
- t4 = cls(t2, "rounded-md text-sm font-medium text-surface-accent-700 dark:text-surface-accent-300 hover:bg-surface-accent-100 dark:hover:bg-surface-accent-900 flex items-center gap-4", t3, className);
34205
+ const disabled = t2 === void 0 ? false : t2;
34206
+ const t3 = onClick && !disabled && "cursor-pointer";
34207
+ const t4 = disabled && "opacity-50 cursor-not-allowed";
34208
+ const t5 = !disabled && "hover:bg-surface-accent-100 dark:hover:bg-surface-accent-900";
34209
+ const t6 = dense ? "px-4 py-1.5" : "px-4 py-2";
34210
+ let t7;
34211
+ if ($[0] !== className || $[1] !== t3 || $[2] !== t4 || $[3] !== t5 || $[4] !== t6) {
34212
+ t7 = cls(t3, t4, "rounded-md text-sm font-medium text-surface-accent-700 dark:text-surface-accent-300 flex items-center gap-4", t5, t6, className);
33722
34213
  $[0] = className;
33723
- $[1] = t2;
33724
- $[2] = t3;
33725
- $[3] = t4;
34214
+ $[1] = t3;
34215
+ $[2] = t4;
34216
+ $[3] = t5;
34217
+ $[4] = t6;
34218
+ $[5] = t7;
33726
34219
  } else {
33727
- t4 = $[3];
34220
+ t7 = $[5];
33728
34221
  }
33729
- const classNames = t4;
33730
- let t5;
33731
- if ($[4] !== children || $[5] !== classNames || $[6] !== onClick) {
33732
- t5 = /* @__PURE__ */ jsx(DropdownMenu.Item, { className: classNames, onClick, children });
33733
- $[4] = children;
33734
- $[5] = classNames;
33735
- $[6] = onClick;
33736
- $[7] = t5;
34222
+ const classNames = t7;
34223
+ const t8 = disabled ? void 0 : onClick;
34224
+ let t9;
34225
+ if ($[6] !== children || $[7] !== classNames || $[8] !== disabled || $[9] !== t8) {
34226
+ t9 = /* @__PURE__ */ jsx(DropdownMenu.Item, { className: classNames, disabled, onClick: t8, children });
34227
+ $[6] = children;
34228
+ $[7] = classNames;
34229
+ $[8] = disabled;
34230
+ $[9] = t8;
34231
+ $[10] = t9;
33737
34232
  } else {
33738
- t5 = $[7];
34233
+ t9 = $[10];
33739
34234
  }
33740
- return t5;
34235
+ return t9;
33741
34236
  });
33742
34237
  function Menubar(t0) {
33743
34238
  const $ = c(6);
@@ -33790,7 +34285,7 @@ function MenubarTrigger(t0) {
33790
34285
  } = t0;
33791
34286
  let t1;
33792
34287
  if ($[0] !== className) {
33793
- t1 = cls("py-2 px-3 outline-none select-none font-medium leading-none rounded text-text-primary dark:text-text-primary-dark text-[13px] flex items-center justify-between gap-[2px] data-[highlighted]:bg-surface-accent-100 data-[highlighted]:dark:bg-surface-800 data-[state=open]:bg-surface-accent-100 data-[state=open]:dark:bg-surface-800 hover:bg-surface-accent-200 hover:bg-opacity-75 dark:hover:bg-surface-accent-800", className);
34288
+ t1 = cls("py-2 px-3 outline-none select-none font-medium leading-none rounded text-text-primary dark:text-text-primary-dark text-[13px] flex items-center justify-between gap-[2px] data-[highlighted]:bg-surface-accent-100 data-[highlighted]:dark:bg-surface-800 data-[state=open]:bg-surface-accent-100 data-[state=open]:dark:bg-surface-800 hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800", className);
33794
34289
  $[0] = className;
33795
34290
  $[1] = t1;
33796
34291
  } else {
@@ -33809,17 +34304,21 @@ function MenubarTrigger(t0) {
33809
34304
  return t2;
33810
34305
  }
33811
34306
  function MenubarPortal(t0) {
33812
- const $ = c(2);
34307
+ const $ = c(3);
33813
34308
  const {
33814
- children
34309
+ children,
34310
+ portalContainer
33815
34311
  } = t0;
34312
+ const contextContainer = usePortalContainer();
34313
+ const finalContainer = portalContainer ?? contextContainer ?? void 0;
33816
34314
  let t1;
33817
- if ($[0] !== children) {
33818
- t1 = /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { children });
34315
+ if ($[0] !== children || $[1] !== finalContainer) {
34316
+ t1 = /* @__PURE__ */ jsx(MenubarPrimitive.Portal, { container: finalContainer, children });
33819
34317
  $[0] = children;
33820
- $[1] = t1;
34318
+ $[1] = finalContainer;
34319
+ $[2] = t1;
33821
34320
  } else {
33822
- t1 = $[1];
34321
+ t1 = $[2];
33823
34322
  }
33824
34323
  return t1;
33825
34324
  }
@@ -34392,7 +34891,7 @@ function Separator(t0) {
34392
34891
  if (orientation === "horizontal") {
34393
34892
  let t1;
34394
34893
  if ($[0] !== className) {
34395
- t1 = cls("dark:bg-opacity-80 dark:bg-surface-800 bg-surface-100 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px my-4", className);
34894
+ t1 = cls("dark:bg-opacity-80 dark:bg-surface-800 dark:bg-surface-800/80 bg-surface-100 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px my-4", className);
34396
34895
  $[0] = className;
34397
34896
  $[1] = t1;
34398
34897
  } else {
@@ -34411,7 +34910,7 @@ function Separator(t0) {
34411
34910
  } else {
34412
34911
  let t1;
34413
34912
  if ($[5] !== className) {
34414
- t1 = cls("dark:bg-opacity-80 dark:bg-surface-800 bg-surface-100 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px mx-4", className);
34913
+ t1 = cls("dark:bg-opacity-80 dark:bg-surface-800 dark:bg-surface-800/80 bg-surface-100 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px mx-4", className);
34415
34914
  $[5] = className;
34416
34915
  $[6] = t1;
34417
34916
  } else {
@@ -34457,7 +34956,7 @@ function SelectInputLabel(t0) {
34457
34956
  }
34458
34957
  const MultiSelectContext = React.createContext({});
34459
34958
  const MultiSelect = React.forwardRef((t0, ref) => {
34460
- const $ = c(105);
34959
+ const $ = c(112);
34461
34960
  const {
34462
34961
  value,
34463
34962
  size: t1,
@@ -34472,17 +34971,22 @@ const MultiSelect = React.forwardRef((t0, ref) => {
34472
34971
  includeSelectAll: t4,
34473
34972
  useChips: t5,
34474
34973
  className,
34974
+ inputClassName,
34975
+ inputRef,
34475
34976
  children,
34476
34977
  renderValues,
34477
34978
  open,
34478
- onOpenChange
34979
+ onOpenChange,
34980
+ portalContainer,
34981
+ endAdornment
34479
34982
  } = t0;
34480
34983
  const size = t1 === void 0 ? "large" : t1;
34481
34984
  const modalPopover = t2 === void 0 ? true : t2;
34482
34985
  const includeClear = t3 === void 0 ? true : t3;
34483
34986
  const includeSelectAll = t4 === void 0 ? true : t4;
34484
34987
  const useChips = t5 === void 0 ? true : t5;
34485
- const [isPopoverOpen, setIsPopoverOpen] = React.useState(open ?? false);
34988
+ const [isMounted, setIsMounted] = useState(false);
34989
+ const [isPopoverOpen, setIsPopoverOpen] = useState(open ?? false);
34486
34990
  let t6;
34487
34991
  if ($[0] !== value) {
34488
34992
  t6 = value ?? [];
@@ -34491,79 +34995,95 @@ const MultiSelect = React.forwardRef((t0, ref) => {
34491
34995
  } else {
34492
34996
  t6 = $[1];
34493
34997
  }
34494
- const [selectedValues, setSelectedValues] = React.useState(t6);
34998
+ const [selectedValues, setSelectedValues] = useState(t6);
34999
+ const contextContainer = usePortalContainer();
35000
+ const finalContainer = portalContainer ?? contextContainer ?? void 0;
34495
35001
  let t7;
34496
- if ($[2] !== onOpenChange) {
34497
- t7 = (open_0) => {
34498
- setIsPopoverOpen(open_0);
34499
- onOpenChange?.(open_0);
35002
+ let t8;
35003
+ if ($[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35004
+ t7 = () => {
35005
+ setIsMounted(true);
34500
35006
  };
34501
- $[2] = onOpenChange;
34502
- $[3] = t7;
35007
+ t8 = [];
35008
+ $[2] = t7;
35009
+ $[3] = t8;
34503
35010
  } else {
34504
- t7 = $[3];
35011
+ t7 = $[2];
35012
+ t8 = $[3];
34505
35013
  }
34506
- const onPopoverOpenChange = t7;
34507
- let t8;
35014
+ useEffect(t7, t8);
34508
35015
  let t9;
34509
- if ($[4] !== open) {
34510
- t8 = () => {
34511
- setIsPopoverOpen(open ?? false);
35016
+ if ($[4] !== onOpenChange) {
35017
+ t9 = (open_0) => {
35018
+ setIsPopoverOpen(open_0);
35019
+ onOpenChange?.(open_0);
34512
35020
  };
34513
- t9 = [open];
34514
- $[4] = open;
34515
- $[5] = t8;
34516
- $[6] = t9;
35021
+ $[4] = onOpenChange;
35022
+ $[5] = t9;
34517
35023
  } else {
34518
- t8 = $[5];
34519
- t9 = $[6];
35024
+ t9 = $[5];
34520
35025
  }
34521
- useEffect(t8, t9);
35026
+ const onPopoverOpenChange = t9;
34522
35027
  let t10;
34523
35028
  let t11;
34524
- if ($[7] !== children) {
34525
- t11 = children ? Children.map(children, _temp$1).filter(Boolean) : [];
34526
- $[7] = children;
35029
+ if ($[6] !== open) {
35030
+ t10 = () => {
35031
+ setIsPopoverOpen(open ?? false);
35032
+ };
35033
+ t11 = [open];
35034
+ $[6] = open;
35035
+ $[7] = t10;
34527
35036
  $[8] = t11;
34528
35037
  } else {
35038
+ t10 = $[7];
34529
35039
  t11 = $[8];
34530
35040
  }
34531
- t10 = t11;
34532
- const allValues = t10;
35041
+ useEffect(t10, t11);
34533
35042
  let t12;
34534
- let map;
35043
+ let t13;
34535
35044
  if ($[9] !== children) {
35045
+ t13 = children ? Children.map(children, _temp$3)?.filter(Boolean) ?? [] : [];
35046
+ $[9] = children;
35047
+ $[10] = t13;
35048
+ } else {
35049
+ t13 = $[10];
35050
+ }
35051
+ t12 = t13;
35052
+ const allValues = t12;
35053
+ let t14;
35054
+ let map;
35055
+ if ($[11] !== children) {
34536
35056
  map = /* @__PURE__ */ new Map();
34537
35057
  Children.forEach(children, (child_0) => {
34538
35058
  if (React.isValidElement(child_0)) {
34539
35059
  map.set(String(child_0.props.value), child_0.props.children);
34540
35060
  }
34541
35061
  });
34542
- $[9] = children;
34543
- $[10] = map;
35062
+ $[11] = children;
35063
+ $[12] = map;
34544
35064
  } else {
34545
- map = $[10];
35065
+ map = $[12];
34546
35066
  }
34547
- t12 = map;
34548
- const optionsMap = t12;
34549
- let t13;
34550
- let t14;
34551
- if ($[11] !== value) {
34552
- t13 = () => {
35067
+ t14 = map;
35068
+ const optionsMap = t14;
35069
+ let t15;
35070
+ let t16;
35071
+ if ($[13] !== value) {
35072
+ t15 = () => {
34553
35073
  setSelectedValues(value ?? []);
34554
35074
  };
34555
- t14 = [value];
34556
- $[11] = value;
34557
- $[12] = t13;
34558
- $[13] = t14;
35075
+ t16 = [value];
35076
+ $[13] = value;
35077
+ $[14] = t15;
35078
+ $[15] = t16;
34559
35079
  } else {
34560
- t13 = $[12];
34561
- t14 = $[13];
35080
+ t15 = $[14];
35081
+ t16 = $[15];
34562
35082
  }
34563
- React.useEffect(t13, t14);
35083
+ React.useEffect(t15, t16);
34564
35084
  let onItemClick;
34565
35085
  let updateValues;
34566
- if ($[14] !== onValueChange || $[15] !== selectedValues) {
35086
+ if ($[16] !== onValueChange || $[17] !== selectedValues) {
34567
35087
  onItemClick = function onItemClick2(newValue) {
34568
35088
  let newSelectedValues;
34569
35089
  if (selectedValues.some((v_0) => String(v_0) === String(newValue))) {
@@ -34577,17 +35097,17 @@ const MultiSelect = React.forwardRef((t0, ref) => {
34577
35097
  setSelectedValues(values);
34578
35098
  onValueChange?.(values);
34579
35099
  };
34580
- $[14] = onValueChange;
34581
- $[15] = selectedValues;
34582
- $[16] = onItemClick;
34583
- $[17] = updateValues;
35100
+ $[16] = onValueChange;
35101
+ $[17] = selectedValues;
35102
+ $[18] = onItemClick;
35103
+ $[19] = updateValues;
34584
35104
  } else {
34585
- onItemClick = $[16];
34586
- updateValues = $[17];
35105
+ onItemClick = $[18];
35106
+ updateValues = $[19];
34587
35107
  }
34588
- let t15;
34589
- if ($[18] !== onPopoverOpenChange || $[19] !== selectedValues || $[20] !== updateValues) {
34590
- t15 = (event) => {
35108
+ let t17;
35109
+ if ($[20] !== onPopoverOpenChange || $[21] !== selectedValues || $[22] !== updateValues) {
35110
+ t17 = (event) => {
34591
35111
  if (event.key === "Enter") {
34592
35112
  onPopoverOpenChange(true);
34593
35113
  } else {
@@ -34598,53 +35118,53 @@ const MultiSelect = React.forwardRef((t0, ref) => {
34598
35118
  }
34599
35119
  }
34600
35120
  };
34601
- $[18] = onPopoverOpenChange;
34602
- $[19] = selectedValues;
34603
- $[20] = updateValues;
34604
- $[21] = t15;
35121
+ $[20] = onPopoverOpenChange;
35122
+ $[21] = selectedValues;
35123
+ $[22] = updateValues;
35124
+ $[23] = t17;
34605
35125
  } else {
34606
- t15 = $[21];
35126
+ t17 = $[23];
34607
35127
  }
34608
- const handleInputKeyDown = t15;
34609
- let t16;
34610
- if ($[22] !== selectedValues || $[23] !== updateValues) {
34611
- t16 = (value_0) => {
35128
+ const handleInputKeyDown = t17;
35129
+ let t18;
35130
+ if ($[24] !== selectedValues || $[25] !== updateValues) {
35131
+ t18 = (value_0) => {
34612
35132
  const newSelectedValues_1 = selectedValues.some((v_2) => String(v_2) === String(value_0)) ? selectedValues.filter((v_1) => String(v_1) !== String(value_0)) : [...selectedValues, value_0];
34613
35133
  updateValues(newSelectedValues_1);
34614
35134
  };
34615
- $[22] = selectedValues;
34616
- $[23] = updateValues;
34617
- $[24] = t16;
35135
+ $[24] = selectedValues;
35136
+ $[25] = updateValues;
35137
+ $[26] = t18;
34618
35138
  } else {
34619
- t16 = $[24];
35139
+ t18 = $[26];
34620
35140
  }
34621
- const toggleOption = t16;
34622
- let t17;
34623
- if ($[25] !== updateValues) {
34624
- t17 = () => {
35141
+ const toggleOption = t18;
35142
+ let t19;
35143
+ if ($[27] !== updateValues) {
35144
+ t19 = () => {
34625
35145
  updateValues([]);
34626
35146
  };
34627
- $[25] = updateValues;
34628
- $[26] = t17;
35147
+ $[27] = updateValues;
35148
+ $[28] = t19;
34629
35149
  } else {
34630
- t17 = $[26];
35150
+ t19 = $[28];
34631
35151
  }
34632
- const handleClear = t17;
34633
- let t18;
34634
- if ($[27] !== isPopoverOpen || $[28] !== onPopoverOpenChange) {
34635
- t18 = () => {
35152
+ const handleClear = t19;
35153
+ let t20;
35154
+ if ($[29] !== isPopoverOpen || $[30] !== onPopoverOpenChange) {
35155
+ t20 = () => {
34636
35156
  onPopoverOpenChange(!isPopoverOpen);
34637
35157
  };
34638
- $[27] = isPopoverOpen;
34639
- $[28] = onPopoverOpenChange;
34640
- $[29] = t18;
35158
+ $[29] = isPopoverOpen;
35159
+ $[30] = onPopoverOpenChange;
35160
+ $[31] = t20;
34641
35161
  } else {
34642
- t18 = $[29];
35162
+ t20 = $[31];
34643
35163
  }
34644
- const handleTogglePopover = t18;
34645
- let t19;
34646
- if ($[30] !== allValues || $[31] !== handleClear || $[32] !== onPopoverOpenChange || $[33] !== selectedValues.length || $[34] !== updateValues) {
34647
- t19 = () => {
35164
+ const handleTogglePopover = t20;
35165
+ let t21;
35166
+ if ($[32] !== allValues || $[33] !== handleClear || $[34] !== onPopoverOpenChange || $[35] !== selectedValues.length || $[36] !== updateValues) {
35167
+ t21 = () => {
34648
35168
  if (selectedValues.length === allValues.length) {
34649
35169
  handleClear();
34650
35170
  } else {
@@ -34652,76 +35172,79 @@ const MultiSelect = React.forwardRef((t0, ref) => {
34652
35172
  }
34653
35173
  onPopoverOpenChange(false);
34654
35174
  };
34655
- $[30] = allValues;
34656
- $[31] = handleClear;
34657
- $[32] = onPopoverOpenChange;
34658
- $[33] = selectedValues.length;
34659
- $[34] = updateValues;
34660
- $[35] = t19;
35175
+ $[32] = allValues;
35176
+ $[33] = handleClear;
35177
+ $[34] = onPopoverOpenChange;
35178
+ $[35] = selectedValues.length;
35179
+ $[36] = updateValues;
35180
+ $[37] = t21;
34661
35181
  } else {
34662
- t19 = $[35];
35182
+ t21 = $[37];
34663
35183
  }
34664
- const toggleAll = t19;
35184
+ const toggleAll = t21;
34665
35185
  useInjectStyles("MultiSelect", `
34666
35186
  [cmdk-group] {
34667
35187
  max-height: 45vh;
34668
35188
  overflow-y: auto;
34669
35189
  // width: 400px;
34670
35190
  } `);
34671
- let t20;
34672
- if ($[36] !== onItemClick || $[37] !== selectedValues) {
34673
- t20 = {
35191
+ let t22;
35192
+ if ($[38] !== onItemClick || $[39] !== selectedValues) {
35193
+ t22 = {
34674
35194
  fieldValue: selectedValues,
34675
35195
  onItemClick
34676
35196
  };
34677
- $[36] = onItemClick;
34678
- $[37] = selectedValues;
34679
- $[38] = t20;
35197
+ $[38] = onItemClick;
35198
+ $[39] = selectedValues;
35199
+ $[40] = t22;
34680
35200
  } else {
34681
- t20 = $[38];
35201
+ t22 = $[40];
34682
35202
  }
34683
- let t21;
34684
- if ($[39] !== error || $[40] !== label) {
34685
- t21 = typeof label === "string" ? /* @__PURE__ */ jsx(SelectInputLabel, { error, children: label }) : label;
34686
- $[39] = error;
34687
- $[40] = label;
34688
- $[41] = t21;
34689
- } else {
34690
- t21 = $[41];
34691
- }
34692
- const t22 = size === "smallest";
34693
- const t23 = size === "small";
34694
- const t24 = size === "medium";
34695
- const t25 = size === "large";
34696
- let t26;
34697
- if ($[42] !== className || $[43] !== disabled || $[44] !== invisible || $[45] !== size || $[46] !== t22 || $[47] !== t23 || $[48] !== t24 || $[49] !== t25) {
34698
- t26 = cls({
34699
- "min-h-[28px]": t22,
34700
- "min-h-[32px]": t23,
34701
- "min-h-[44px]": t24,
34702
- "min-h-[64px]": t25
35203
+ let t23;
35204
+ if ($[41] !== error || $[42] !== label) {
35205
+ t23 = typeof label === "string" ? /* @__PURE__ */ jsx(SelectInputLabel, { error, children: label }) : label;
35206
+ $[41] = error;
35207
+ $[42] = label;
35208
+ $[43] = t23;
35209
+ } else {
35210
+ t23 = $[43];
35211
+ }
35212
+ const t24 = isMounted && isPopoverOpen;
35213
+ const t25 = inputRef ?? ref;
35214
+ const t26 = size === "smallest";
35215
+ const t27 = size === "small";
35216
+ const t28 = size === "medium";
35217
+ const t29 = size === "large";
35218
+ let t30;
35219
+ if ($[44] !== className || $[45] !== disabled || $[46] !== inputClassName || $[47] !== invisible || $[48] !== size || $[49] !== t26 || $[50] !== t27 || $[51] !== t28 || $[52] !== t29) {
35220
+ t30 = cls({
35221
+ "min-h-[28px]": t26,
35222
+ "min-h-[32px]": t27,
35223
+ "min-h-[44px]": t28,
35224
+ "min-h-[64px]": t29
34703
35225
  }, {
34704
35226
  "py-1": size === "small" || size === "smallest",
34705
35227
  "py-2": size === "medium" || size === "large"
34706
35228
  }, {
34707
35229
  "px-2": size === "small" || size === "smallest",
34708
35230
  "px-4": size === "medium" || size === "large"
34709
- }, "select-none rounded-md text-sm", invisible ? fieldBackgroundInvisibleMixin : fieldBackgroundMixin, disabled ? fieldBackgroundDisabledMixin : fieldBackgroundHoverMixin, "relative flex items-center", className);
34710
- $[42] = className;
34711
- $[43] = disabled;
34712
- $[44] = invisible;
34713
- $[45] = size;
34714
- $[46] = t22;
34715
- $[47] = t23;
34716
- $[48] = t24;
34717
- $[49] = t25;
34718
- $[50] = t26;
35231
+ }, "select-none rounded-md text-sm", "focus:ring-0 focus-visible:ring-0 outline-none focus:outline-none focus-visible:outline-none", invisible ? fieldBackgroundInvisibleMixin : fieldBackgroundMixin, disabled ? fieldBackgroundDisabledMixin : fieldBackgroundHoverMixin, "relative flex items-center", className, inputClassName);
35232
+ $[44] = className;
35233
+ $[45] = disabled;
35234
+ $[46] = inputClassName;
35235
+ $[47] = invisible;
35236
+ $[48] = size;
35237
+ $[49] = t26;
35238
+ $[50] = t27;
35239
+ $[51] = t28;
35240
+ $[52] = t29;
35241
+ $[53] = t30;
34719
35242
  } else {
34720
- t26 = $[50];
35243
+ t30 = $[53];
34721
35244
  }
34722
- let t27;
34723
- if ($[51] !== handleClear || $[52] !== includeClear || $[53] !== isPopoverOpen || $[54] !== optionsMap || $[55] !== placeholder || $[56] !== renderValues || $[57] !== selectedValues || $[58] !== size || $[59] !== toggleOption || $[60] !== useChips) {
34724
- t27 = selectedValues.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center w-full", children: [
35245
+ let t31;
35246
+ if ($[54] !== endAdornment || $[55] !== handleClear || $[56] !== includeClear || $[57] !== isPopoverOpen || $[58] !== optionsMap || $[59] !== placeholder || $[60] !== renderValues || $[61] !== selectedValues || $[62] !== size || $[63] !== toggleOption || $[64] !== useChips) {
35247
+ t31 = selectedValues.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "flex justify-between items-center w-full", children: [
34725
35248
  /* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-1.5 text-start", children: [
34726
35249
  renderValues && renderValues(selectedValues),
34727
35250
  !renderValues && selectedValues.map((value_1) => {
@@ -34739,186 +35262,200 @@ const MultiSelect = React.forwardRef((t0, ref) => {
34739
35262
  })
34740
35263
  ] }),
34741
35264
  /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
34742
- includeClear && /* @__PURE__ */ jsx(CloseIcon, { className: "ml-4", size: "small", onClick: (event_1) => {
35265
+ includeClear && !endAdornment && /* @__PURE__ */ jsx(CloseIcon, { className: "ml-4", size: "small", onClick: (event_1) => {
34743
35266
  event_1.stopPropagation();
34744
35267
  handleClear();
34745
35268
  } }),
35269
+ endAdornment && /* @__PURE__ */ jsx("div", { className: "ml-4 flex items-center", onClick: _temp2$1, children: endAdornment }),
34746
35270
  /* @__PURE__ */ jsx("div", { className: cls("px-2 h-full flex items-center"), children: /* @__PURE__ */ jsx(KeyboardArrowDownIcon, { size: size === "large" ? "medium" : "small", className: cls("transition", isPopoverOpen ? "rotate-180" : "") }) })
34747
35271
  ] })
34748
35272
  ] }) : /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between w-full mx-auto", children: [
34749
35273
  /* @__PURE__ */ jsx("span", { className: "text-sm", children: placeholder }),
34750
- /* @__PURE__ */ jsx("div", { className: cls("px-2 h-full flex items-center"), children: /* @__PURE__ */ jsx(KeyboardArrowDownIcon, { size: size === "large" ? "medium" : "small", className: cls("transition", isPopoverOpen ? "rotate-180" : "") }) })
35274
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
35275
+ endAdornment && /* @__PURE__ */ jsx("div", { className: "ml-4 flex items-center", onClick: _temp3, children: endAdornment }),
35276
+ /* @__PURE__ */ jsx("div", { className: cls("px-2 h-full flex items-center"), children: /* @__PURE__ */ jsx(KeyboardArrowDownIcon, { size: size === "large" ? "medium" : "small", className: cls("transition", isPopoverOpen ? "rotate-180" : "") }) })
35277
+ ] })
34751
35278
  ] });
34752
- $[51] = handleClear;
34753
- $[52] = includeClear;
34754
- $[53] = isPopoverOpen;
34755
- $[54] = optionsMap;
34756
- $[55] = placeholder;
34757
- $[56] = renderValues;
34758
- $[57] = selectedValues;
34759
- $[58] = size;
34760
- $[59] = toggleOption;
34761
- $[60] = useChips;
34762
- $[61] = t27;
34763
- } else {
34764
- t27 = $[61];
35279
+ $[54] = endAdornment;
35280
+ $[55] = handleClear;
35281
+ $[56] = includeClear;
35282
+ $[57] = isPopoverOpen;
35283
+ $[58] = optionsMap;
35284
+ $[59] = placeholder;
35285
+ $[60] = renderValues;
35286
+ $[61] = selectedValues;
35287
+ $[62] = size;
35288
+ $[63] = toggleOption;
35289
+ $[64] = useChips;
35290
+ $[65] = t31;
35291
+ } else {
35292
+ t31 = $[65];
34765
35293
  }
34766
- let t28;
34767
- if ($[62] !== handleTogglePopover || $[63] !== ref || $[64] !== t26 || $[65] !== t27) {
34768
- t28 = /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsx("button", { ref, onClick: handleTogglePopover, className: t26, children: t27 }) });
34769
- $[62] = handleTogglePopover;
34770
- $[63] = ref;
34771
- $[64] = t26;
34772
- $[65] = t27;
34773
- $[66] = t28;
35294
+ let t32;
35295
+ if ($[66] !== handleTogglePopover || $[67] !== t25 || $[68] !== t30 || $[69] !== t31) {
35296
+ t32 = /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsx("button", { ref: t25, onClick: handleTogglePopover, className: t30, children: t31 }) });
35297
+ $[66] = handleTogglePopover;
35298
+ $[67] = t25;
35299
+ $[68] = t30;
35300
+ $[69] = t31;
35301
+ $[70] = t32;
34774
35302
  } else {
34775
- t28 = $[66];
35303
+ t32 = $[70];
34776
35304
  }
34777
- let t29;
34778
- if ($[67] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
34779
- t29 = cls("z-50 relative overflow-hidden border bg-white dark:bg-surface-900 rounded-lg w-[400px]", defaultBorderMixin);
34780
- $[67] = t29;
35305
+ let t33;
35306
+ if ($[71] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35307
+ t33 = cls("z-50 overflow-hidden border bg-white dark:bg-surface-900 rounded-lg w-[400px]", defaultBorderMixin);
35308
+ $[71] = t33;
34781
35309
  } else {
34782
- t29 = $[67];
35310
+ t33 = $[71];
34783
35311
  }
34784
- let t30;
34785
- if ($[68] !== onPopoverOpenChange) {
34786
- t30 = () => onPopoverOpenChange(false);
34787
- $[68] = onPopoverOpenChange;
34788
- $[69] = t30;
35312
+ let t34;
35313
+ if ($[72] !== onPopoverOpenChange) {
35314
+ t34 = () => onPopoverOpenChange(false);
35315
+ $[72] = onPopoverOpenChange;
35316
+ $[73] = t34;
34789
35317
  } else {
34790
- t30 = $[69];
35318
+ t34 = $[73];
34791
35319
  }
34792
- let t31;
34793
- if ($[70] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
34794
- t31 = cls(focusedDisabled, "bg-transparent outline-none flex-1 h-full w-full m-4 flex-grow ");
34795
- $[70] = t31;
35320
+ let t35;
35321
+ if ($[74] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35322
+ t35 = cls(focusedDisabled, "bg-transparent outline-none flex-1 h-full w-full m-4 flex-grow text-surface-accent-900 dark:text-white");
35323
+ $[74] = t35;
34796
35324
  } else {
34797
- t31 = $[70];
35325
+ t35 = $[74];
34798
35326
  }
34799
- let t32;
34800
- if ($[71] !== handleInputKeyDown) {
34801
- t32 = /* @__PURE__ */ jsx(Command.Input, { className: t31, placeholder: "Search...", onKeyDown: handleInputKeyDown });
34802
- $[71] = handleInputKeyDown;
34803
- $[72] = t32;
35327
+ let t36;
35328
+ if ($[75] !== handleInputKeyDown) {
35329
+ t36 = /* @__PURE__ */ jsx(Command.Input, { className: t35, placeholder: "Search...", onKeyDown: handleInputKeyDown });
35330
+ $[75] = handleInputKeyDown;
35331
+ $[76] = t36;
34804
35332
  } else {
34805
- t32 = $[72];
35333
+ t36 = $[76];
34806
35334
  }
34807
- let t33;
34808
- if ($[73] !== handleClear || $[74] !== selectedValues.length) {
34809
- t33 = selectedValues.length > 0 && /* @__PURE__ */ jsx("div", { onClick: handleClear, className: "text-sm justify-center cursor-pointer py-3 px-4 text-text-secondary dark:text-text-secondary-dark", children: "Clear" });
34810
- $[73] = handleClear;
34811
- $[74] = selectedValues.length;
34812
- $[75] = t33;
35335
+ let t37;
35336
+ if ($[77] !== handleClear || $[78] !== selectedValues.length) {
35337
+ t37 = selectedValues.length > 0 && /* @__PURE__ */ jsx("div", { onClick: handleClear, className: "text-sm justify-center cursor-pointer py-3 px-4 text-text-secondary dark:text-text-secondary-dark", children: "Clear" });
35338
+ $[77] = handleClear;
35339
+ $[78] = selectedValues.length;
35340
+ $[79] = t37;
34813
35341
  } else {
34814
- t33 = $[75];
35342
+ t37 = $[79];
34815
35343
  }
34816
- let t34;
34817
- if ($[76] !== t32 || $[77] !== t33) {
34818
- t34 = /* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center", children: [
34819
- t32,
34820
- t33
35344
+ let t38;
35345
+ if ($[80] !== t36 || $[81] !== t37) {
35346
+ t38 = /* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center", children: [
35347
+ t36,
35348
+ t37
34821
35349
  ] });
34822
- $[76] = t32;
34823
- $[77] = t33;
34824
- $[78] = t34;
35350
+ $[80] = t36;
35351
+ $[81] = t37;
35352
+ $[82] = t38;
34825
35353
  } else {
34826
- t34 = $[78];
35354
+ t38 = $[82];
34827
35355
  }
34828
- let t35;
34829
- if ($[79] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
34830
- t35 = /* @__PURE__ */ jsx(Separator, { orientation: "horizontal", className: "my-0" });
34831
- $[79] = t35;
35356
+ let t39;
35357
+ if ($[83] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35358
+ t39 = /* @__PURE__ */ jsx(Separator, { orientation: "horizontal", className: "my-0" });
35359
+ $[83] = t39;
34832
35360
  } else {
34833
- t35 = $[79];
35361
+ t39 = $[83];
34834
35362
  }
34835
- let t36;
34836
- if ($[80] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
34837
- t36 = /* @__PURE__ */ jsx(Command.Empty, { className: "px-4 py-2", children: "No results found." });
34838
- $[80] = t36;
35363
+ let t40;
35364
+ if ($[84] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35365
+ t40 = /* @__PURE__ */ jsx(Command.Empty, { className: "px-4 py-2 text-sm text-text-secondary dark:text-text-secondary-dark", children: "No results found." });
35366
+ $[84] = t40;
34839
35367
  } else {
34840
- t36 = $[80];
35368
+ t40 = $[84];
34841
35369
  }
34842
- let t37;
34843
- if ($[81] !== allValues.length || $[82] !== includeSelectAll || $[83] !== selectedValues.length || $[84] !== toggleAll) {
34844
- t37 = includeSelectAll && /* @__PURE__ */ jsxs(Command.Item, { onSelect: toggleAll, className: cls("flex flex-row items-center gap-1.5", "cursor-pointer", "m-1", "ring-offset-transparent", "p-1 rounded aria-[selected=true]:outline-none aria-[selected=true]:ring-2 aria-[selected=true]:ring-primary aria-[selected=true]:ring-opacity-75 aria-[selected=true]:ring-offset-2", "aria-[selected=true]:bg-surface-accent-100 aria-[selected=true]:dark:bg-surface-accent-900", "cursor-pointer p-2 rounded aria-[selected=true]:bg-surface-accent-100 aria-[selected=true]:dark:bg-surface-accent-900"), children: [
35370
+ let t41;
35371
+ if ($[85] !== allValues.length || $[86] !== includeSelectAll || $[87] !== selectedValues.length || $[88] !== toggleAll) {
35372
+ t41 = includeSelectAll && /* @__PURE__ */ jsxs(Command.Item, { onSelect: toggleAll, className: cls("flex flex-row items-center gap-1.5", "cursor-pointer", "m-1", "ring-offset-transparent", "p-1 rounded aria-[selected=true]:outline-none aria-[selected=true]:ring-2 aria-[selected=true]:ring-primary aria-[selected=true]:ring-opacity-75 aria-[selected=true]:ring-primary/75 aria-[selected=true]:ring-offset-2", "aria-[selected=true]:bg-surface-accent-100 aria-[selected=true]:dark:bg-surface-accent-900", "cursor-pointer p-2 rounded aria-[selected=true]:bg-surface-accent-100 aria-[selected=true]:dark:bg-surface-accent-900"), children: [
34845
35373
  /* @__PURE__ */ jsx(InnerCheckBox, { checked: selectedValues.length === allValues.length }),
34846
35374
  /* @__PURE__ */ jsx("span", { className: "text-sm text-text-secondary dark:text-text-secondary-dark", children: "(Select All)" })
34847
35375
  ] }, "all");
34848
- $[81] = allValues.length;
34849
- $[82] = includeSelectAll;
34850
- $[83] = selectedValues.length;
34851
- $[84] = toggleAll;
34852
- $[85] = t37;
35376
+ $[85] = allValues.length;
35377
+ $[86] = includeSelectAll;
35378
+ $[87] = selectedValues.length;
35379
+ $[88] = toggleAll;
35380
+ $[89] = t41;
34853
35381
  } else {
34854
- t37 = $[85];
35382
+ t41 = $[89];
34855
35383
  }
34856
- let t38;
34857
- if ($[86] !== children || $[87] !== t37) {
34858
- t38 = /* @__PURE__ */ jsxs(Command.List, { children: [
34859
- t36,
35384
+ let t42;
35385
+ if ($[90] !== children || $[91] !== t41) {
35386
+ t42 = /* @__PURE__ */ jsxs(Command.List, { children: [
35387
+ t40,
34860
35388
  /* @__PURE__ */ jsxs(Command.Group, { children: [
34861
- t37,
35389
+ t41,
34862
35390
  children
34863
35391
  ] })
34864
35392
  ] });
34865
- $[86] = children;
34866
- $[87] = t37;
34867
- $[88] = t38;
34868
- } else {
34869
- t38 = $[88];
34870
- }
34871
- let t39;
34872
- if ($[89] !== t34 || $[90] !== t38) {
34873
- t39 = /* @__PURE__ */ jsxs(Command, { children: [
34874
- t34,
34875
- t35,
34876
- t38
35393
+ $[90] = children;
35394
+ $[91] = t41;
35395
+ $[92] = t42;
35396
+ } else {
35397
+ t42 = $[92];
35398
+ }
35399
+ let t43;
35400
+ if ($[93] !== t38 || $[94] !== t42) {
35401
+ t43 = /* @__PURE__ */ jsxs(Command, { children: [
35402
+ t38,
35403
+ t39,
35404
+ t42
34877
35405
  ] });
34878
- $[89] = t34;
34879
- $[90] = t38;
34880
- $[91] = t39;
35406
+ $[93] = t38;
35407
+ $[94] = t42;
35408
+ $[95] = t43;
34881
35409
  } else {
34882
- t39 = $[91];
35410
+ t43 = $[95];
34883
35411
  }
34884
- let t40;
34885
- if ($[92] !== t30 || $[93] !== t39) {
34886
- t40 = /* @__PURE__ */ jsx(PopoverPrimitive.Content, { className: t29, align: "start", sideOffset: 8, onEscapeKeyDown: t30, children: t39 });
34887
- $[92] = t30;
34888
- $[93] = t39;
34889
- $[94] = t40;
35412
+ let t44;
35413
+ if ($[96] !== t34 || $[97] !== t43) {
35414
+ t44 = /* @__PURE__ */ jsx(PopoverPrimitive.Content, { className: t33, align: "start", sideOffset: 8, onEscapeKeyDown: t34, children: t43 });
35415
+ $[96] = t34;
35416
+ $[97] = t43;
35417
+ $[98] = t44;
34890
35418
  } else {
34891
- t40 = $[94];
35419
+ t44 = $[98];
34892
35420
  }
34893
- let t41;
34894
- if ($[95] !== isPopoverOpen || $[96] !== modalPopover || $[97] !== onPopoverOpenChange || $[98] !== t28 || $[99] !== t40) {
34895
- t41 = /* @__PURE__ */ jsxs(PopoverPrimitive.Root, { open: isPopoverOpen, onOpenChange: onPopoverOpenChange, modal: modalPopover, children: [
34896
- t28,
34897
- t40
34898
- ] });
34899
- $[95] = isPopoverOpen;
34900
- $[96] = modalPopover;
34901
- $[97] = onPopoverOpenChange;
34902
- $[98] = t28;
34903
- $[99] = t40;
34904
- $[100] = t41;
35421
+ let t45;
35422
+ if ($[99] !== finalContainer || $[100] !== t44) {
35423
+ t45 = /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { container: finalContainer, children: t44 });
35424
+ $[99] = finalContainer;
35425
+ $[100] = t44;
35426
+ $[101] = t45;
34905
35427
  } else {
34906
- t41 = $[100];
35428
+ t45 = $[101];
34907
35429
  }
34908
- let t42;
34909
- if ($[101] !== t20 || $[102] !== t21 || $[103] !== t41) {
34910
- t42 = /* @__PURE__ */ jsxs(MultiSelectContext.Provider, { value: t20, children: [
34911
- t21,
34912
- t41
35430
+ let t46;
35431
+ if ($[102] !== modalPopover || $[103] !== onPopoverOpenChange || $[104] !== t24 || $[105] !== t32 || $[106] !== t45) {
35432
+ t46 = /* @__PURE__ */ jsxs(PopoverPrimitive.Root, { open: t24, onOpenChange: onPopoverOpenChange, modal: modalPopover, children: [
35433
+ t32,
35434
+ t45
34913
35435
  ] });
34914
- $[101] = t20;
34915
- $[102] = t21;
34916
- $[103] = t41;
34917
- $[104] = t42;
35436
+ $[102] = modalPopover;
35437
+ $[103] = onPopoverOpenChange;
35438
+ $[104] = t24;
35439
+ $[105] = t32;
35440
+ $[106] = t45;
35441
+ $[107] = t46;
35442
+ } else {
35443
+ t46 = $[107];
35444
+ }
35445
+ let t47;
35446
+ if ($[108] !== t22 || $[109] !== t23 || $[110] !== t46) {
35447
+ t47 = /* @__PURE__ */ jsxs(MultiSelectContext.Provider, { value: t22, children: [
35448
+ t23,
35449
+ t46
35450
+ ] });
35451
+ $[108] = t22;
35452
+ $[109] = t23;
35453
+ $[110] = t46;
35454
+ $[111] = t47;
34918
35455
  } else {
34919
- t42 = $[104];
35456
+ t47 = $[111];
34920
35457
  }
34921
- return t42;
35458
+ return t47;
34922
35459
  });
34923
35460
  MultiSelect.displayName = "MultiSelect";
34924
35461
  const MultiSelectItem = React.memo(function MultiSelectItem2(t0) {
@@ -34976,7 +35513,7 @@ const MultiSelectItem = React.memo(function MultiSelectItem2(t0) {
34976
35513
  const t4 = isSelected ? "bg-surface-accent-200 dark:bg-surface-accent-950" : "";
34977
35514
  let t5;
34978
35515
  if ($[10] !== className || $[11] !== t4) {
34979
- t5 = cls("flex flex-row items-center gap-1.5", t4, "cursor-pointer", "m-1", "ring-offset-transparent", "p-1 rounded aria-[selected=true]:outline-none aria-[selected=true]:ring-2 aria-[selected=true]:ring-primary aria-[selected=true]:ring-opacity-75 aria-[selected=true]:ring-offset-2", "aria-[selected=true]:bg-surface-accent-100 aria-[selected=true]:dark:bg-surface-accent-900", "cursor-pointer p-2 rounded aria-[selected=true]:bg-surface-accent-100 aria-[selected=true]:dark:bg-surface-accent-900", className);
35516
+ t5 = cls("flex flex-row items-center gap-1.5", t4, "cursor-pointer", "m-1", "ring-offset-transparent", "p-1 rounded aria-[selected=true]:outline-none aria-[selected=true]:ring-2 aria-[selected=true]:ring-primary aria-[selected=true]:ring-opacity-75 aria-[selected=true]:ring-primary/75 aria-[selected=true]:ring-offset-2", "aria-[selected=true]:bg-surface-accent-100 aria-[selected=true]:dark:bg-surface-accent-900", "cursor-pointer p-2 rounded aria-[selected=true]:bg-surface-accent-100 aria-[selected=true]:dark:bg-surface-accent-900", "text-surface-accent-700 dark:text-surface-accent-300", className);
34980
35517
  $[10] = className;
34981
35518
  $[11] = t4;
34982
35519
  $[12] = t5;
@@ -34993,7 +35530,7 @@ const MultiSelectItem = React.memo(function MultiSelectItem2(t0) {
34993
35530
  }
34994
35531
  let t7;
34995
35532
  if ($[15] !== children || $[16] !== t3 || $[17] !== t5 || $[18] !== t6) {
34996
- t7 = /* @__PURE__ */ jsxs(Command.Item, { onMouseDown: _temp2, onSelect: t3, className: t5, children: [
35533
+ t7 = /* @__PURE__ */ jsxs(Command.Item, { onMouseDown: _temp4, onSelect: t3, className: t5, children: [
34997
35534
  t6,
34998
35535
  children
34999
35536
  ] });
@@ -35051,13 +35588,21 @@ const InnerCheckBox = React.memo(function InnerCheckBox2(t0) {
35051
35588
  }
35052
35589
  return t7;
35053
35590
  });
35054
- function _temp$1(child) {
35591
+ function _temp$3(child) {
35055
35592
  if (React.isValidElement(child)) {
35056
35593
  return child.props.value;
35057
35594
  }
35058
35595
  return null;
35059
35596
  }
35060
- function _temp2(e) {
35597
+ function _temp2$1(e) {
35598
+ e.preventDefault();
35599
+ e.stopPropagation();
35600
+ }
35601
+ function _temp3(e_0) {
35602
+ e_0.preventDefault();
35603
+ e_0.stopPropagation();
35604
+ }
35605
+ function _temp4(e) {
35061
35606
  e.preventDefault();
35062
35607
  e.stopPropagation();
35063
35608
  }
@@ -35169,14 +35714,222 @@ const RadioGroupItem = React.forwardRef((t0, ref) => {
35169
35714
  return t3;
35170
35715
  });
35171
35716
  RadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName;
35717
+ function ResizablePanels(t0) {
35718
+ const $ = c(40);
35719
+ const {
35720
+ firstPanel,
35721
+ secondPanel,
35722
+ showFirstPanel: t1,
35723
+ showSecondPanel: t2,
35724
+ panelSizePercent,
35725
+ onPanelSizeChange,
35726
+ minPanelSizePx: t3,
35727
+ orientation: t4,
35728
+ className
35729
+ } = t0;
35730
+ const showFirstPanel = t1 === void 0 ? true : t1;
35731
+ const showSecondPanel = t2 === void 0 ? true : t2;
35732
+ const minPanelSizePx = t3 === void 0 ? 200 : t3;
35733
+ const orientation = t4 === void 0 ? "horizontal" : t4;
35734
+ const containerRef = useRef(null);
35735
+ const isResizingRef = useRef(false);
35736
+ const firstPanelRef = useRef(null);
35737
+ const startPosRef = useRef(0);
35738
+ const startSizeRef = useRef(0);
35739
+ const [, setIsResizing] = useState(false);
35740
+ const isHorizontal = orientation === "horizontal";
35741
+ let t5;
35742
+ if ($[0] !== isHorizontal || $[1] !== showFirstPanel || $[2] !== showSecondPanel) {
35743
+ t5 = (e) => {
35744
+ if (!showFirstPanel || !showSecondPanel) {
35745
+ return;
35746
+ }
35747
+ e.preventDefault();
35748
+ isResizingRef.current = true;
35749
+ setIsResizing(true);
35750
+ startPosRef.current = isHorizontal ? e.clientX : e.clientY;
35751
+ if (firstPanelRef.current) {
35752
+ const rect = firstPanelRef.current.getBoundingClientRect();
35753
+ startSizeRef.current = isHorizontal ? rect.width : rect.height;
35754
+ }
35755
+ document.body.style.cursor = isHorizontal ? "col-resize" : "row-resize";
35756
+ document.body.style.userSelect = "none";
35757
+ };
35758
+ $[0] = isHorizontal;
35759
+ $[1] = showFirstPanel;
35760
+ $[2] = showSecondPanel;
35761
+ $[3] = t5;
35762
+ } else {
35763
+ t5 = $[3];
35764
+ }
35765
+ const handleResizeStart = t5;
35766
+ let t6;
35767
+ let t7;
35768
+ if ($[4] !== isHorizontal || $[5] !== minPanelSizePx || $[6] !== onPanelSizeChange) {
35769
+ t6 = () => {
35770
+ const handleMouseMove = (e_0) => {
35771
+ if (!isResizingRef.current || !containerRef.current) {
35772
+ return;
35773
+ }
35774
+ const currentPos = isHorizontal ? e_0.clientX : e_0.clientY;
35775
+ const delta = currentPos - startPosRef.current;
35776
+ let newSize = startSizeRef.current + delta;
35777
+ const containerRect = containerRef.current.getBoundingClientRect();
35778
+ const containerTotal = isHorizontal ? containerRect.width : containerRect.height;
35779
+ const maxSize = containerTotal - minPanelSizePx;
35780
+ newSize = Math.max(minPanelSizePx, Math.min(newSize, maxSize));
35781
+ if (firstPanelRef.current) {
35782
+ if (isHorizontal) {
35783
+ firstPanelRef.current.style.width = `${newSize}px`;
35784
+ } else {
35785
+ firstPanelRef.current.style.height = `${newSize}px`;
35786
+ }
35787
+ }
35788
+ };
35789
+ const handleMouseUp = () => {
35790
+ if (isResizingRef.current && containerRef.current && firstPanelRef.current) {
35791
+ isResizingRef.current = false;
35792
+ setIsResizing(false);
35793
+ document.body.style.cursor = "";
35794
+ document.body.style.userSelect = "";
35795
+ const containerRect_0 = containerRef.current.getBoundingClientRect();
35796
+ const firstPanelRect = firstPanelRef.current.getBoundingClientRect();
35797
+ const containerSize = isHorizontal ? containerRect_0.width : containerRect_0.height;
35798
+ const finalSize = isHorizontal ? firstPanelRect.width : firstPanelRect.height;
35799
+ if (containerSize > 0) {
35800
+ const newPercent = finalSize / containerSize * 100;
35801
+ onPanelSizeChange(Math.max(0, Math.min(100, newPercent)));
35802
+ }
35803
+ }
35804
+ };
35805
+ window.addEventListener("mousemove", handleMouseMove);
35806
+ window.addEventListener("mouseup", handleMouseUp);
35807
+ return () => {
35808
+ window.removeEventListener("mousemove", handleMouseMove);
35809
+ window.removeEventListener("mouseup", handleMouseUp);
35810
+ };
35811
+ };
35812
+ t7 = [onPanelSizeChange, isHorizontal, minPanelSizePx];
35813
+ $[4] = isHorizontal;
35814
+ $[5] = minPanelSizePx;
35815
+ $[6] = onPanelSizeChange;
35816
+ $[7] = t6;
35817
+ $[8] = t7;
35818
+ } else {
35819
+ t6 = $[7];
35820
+ t7 = $[8];
35821
+ }
35822
+ useEffect(t6, t7);
35823
+ const appliedBasis = !showFirstPanel ? "0%" : showSecondPanel ? `${panelSizePercent}%` : "100%";
35824
+ const t8 = isHorizontal ? "flex-row" : "flex-col";
35825
+ let t9;
35826
+ if ($[9] !== className || $[10] !== t8) {
35827
+ t9 = cls("relative w-full h-full flex overflow-hidden", t8, className);
35828
+ $[9] = className;
35829
+ $[10] = t8;
35830
+ $[11] = t9;
35831
+ } else {
35832
+ t9 = $[11];
35833
+ }
35834
+ const t10 = !showFirstPanel && "hidden";
35835
+ let t11;
35836
+ if ($[12] !== t10) {
35837
+ t11 = cls("relative flex-shrink-0 flex flex-col overflow-hidden", t10);
35838
+ $[12] = t10;
35839
+ $[13] = t11;
35840
+ } else {
35841
+ t11 = $[13];
35842
+ }
35843
+ const t12 = isHorizontal ? appliedBasis : "100%";
35844
+ const t13 = !isHorizontal ? appliedBasis : "100%";
35845
+ const t14 = isHorizontal && showFirstPanel && showSecondPanel ? `${minPanelSizePx}px` : void 0;
35846
+ const t15 = !isHorizontal && showFirstPanel && showSecondPanel ? `${minPanelSizePx}px` : void 0;
35847
+ const t16 = showSecondPanel ? void 0 : "100%";
35848
+ const t17 = showSecondPanel ? void 0 : "100%";
35849
+ let t18;
35850
+ if ($[14] !== t12 || $[15] !== t13 || $[16] !== t14 || $[17] !== t15 || $[18] !== t16 || $[19] !== t17) {
35851
+ t18 = {
35852
+ width: t12,
35853
+ height: t13,
35854
+ minWidth: t14,
35855
+ minHeight: t15,
35856
+ maxWidth: t16,
35857
+ maxHeight: t17
35858
+ };
35859
+ $[14] = t12;
35860
+ $[15] = t13;
35861
+ $[16] = t14;
35862
+ $[17] = t15;
35863
+ $[18] = t16;
35864
+ $[19] = t17;
35865
+ $[20] = t18;
35866
+ } else {
35867
+ t18 = $[20];
35868
+ }
35869
+ let t19;
35870
+ if ($[21] !== firstPanel || $[22] !== t11 || $[23] !== t18) {
35871
+ t19 = /* @__PURE__ */ jsx("div", { ref: firstPanelRef, className: t11, style: t18, children: firstPanel });
35872
+ $[21] = firstPanel;
35873
+ $[22] = t11;
35874
+ $[23] = t18;
35875
+ $[24] = t19;
35876
+ } else {
35877
+ t19 = $[24];
35878
+ }
35879
+ let t20;
35880
+ if ($[25] !== handleResizeStart || $[26] !== isHorizontal || $[27] !== showFirstPanel || $[28] !== showSecondPanel) {
35881
+ t20 = showFirstPanel && showSecondPanel && /* @__PURE__ */ jsx("div", { className: cls("relative z-10 flex flex-shrink-0 items-center justify-center", isHorizontal ? "w-px h-full cursor-col-resize" : "h-px w-full cursor-row-resize"), onMouseDown: handleResizeStart, children: /* @__PURE__ */ jsx("div", { className: cls("absolute flex items-center justify-center group", isHorizontal ? "w-4 h-full cursor-col-resize top-0" : "h-4 w-full cursor-row-resize left-0"), children: /* @__PURE__ */ jsx("div", { className: cls("bg-primary/60 dark:bg-primary rounded-full opacity-0 group-hover:opacity-100 transition-all duration-200", isHorizontal ? "w-1 h-8" : "h-1 w-8") }) }) });
35882
+ $[25] = handleResizeStart;
35883
+ $[26] = isHorizontal;
35884
+ $[27] = showFirstPanel;
35885
+ $[28] = showSecondPanel;
35886
+ $[29] = t20;
35887
+ } else {
35888
+ t20 = $[29];
35889
+ }
35890
+ const t21 = !showSecondPanel && "hidden";
35891
+ let t22;
35892
+ if ($[30] !== t21) {
35893
+ t22 = cls("flex-grow relative flex flex-col overflow-hidden min-w-0 min-h-0", t21);
35894
+ $[30] = t21;
35895
+ $[31] = t22;
35896
+ } else {
35897
+ t22 = $[31];
35898
+ }
35899
+ let t23;
35900
+ if ($[32] !== secondPanel || $[33] !== t22) {
35901
+ t23 = /* @__PURE__ */ jsx("div", { className: t22, children: secondPanel });
35902
+ $[32] = secondPanel;
35903
+ $[33] = t22;
35904
+ $[34] = t23;
35905
+ } else {
35906
+ t23 = $[34];
35907
+ }
35908
+ let t24;
35909
+ if ($[35] !== t19 || $[36] !== t20 || $[37] !== t23 || $[38] !== t9) {
35910
+ t24 = /* @__PURE__ */ jsxs("div", { ref: containerRef, className: t9, children: [
35911
+ t19,
35912
+ t20,
35913
+ t23
35914
+ ] });
35915
+ $[35] = t19;
35916
+ $[36] = t20;
35917
+ $[37] = t23;
35918
+ $[38] = t9;
35919
+ $[39] = t24;
35920
+ } else {
35921
+ t24 = $[39];
35922
+ }
35923
+ return t24;
35924
+ }
35172
35925
  function SearchBar(t0) {
35173
- const $ = c(39);
35926
+ const $ = c(47);
35174
35927
  const {
35175
35928
  onClick,
35176
35929
  onTextSearch,
35177
35930
  placeholder: t1,
35178
35931
  expandable: t2,
35179
- large: t3,
35932
+ size: t3,
35180
35933
  innerClassName,
35181
35934
  className,
35182
35935
  autoFocus,
@@ -35186,7 +35939,7 @@ function SearchBar(t0) {
35186
35939
  } = t0;
35187
35940
  const placeholder = t1 === void 0 ? "Search" : t1;
35188
35941
  const expandable = t2 === void 0 ? false : t2;
35189
- const large = t3 === void 0 ? false : t3;
35942
+ const size = t3 === void 0 ? "medium" : t3;
35190
35943
  const [searchText, setSearchText] = useState("");
35191
35944
  const [active, setActive] = useState(false);
35192
35945
  const deferredValues = useDebounceValue(searchText, 200);
@@ -35232,217 +35985,1063 @@ function SearchBar(t0) {
35232
35985
  t6 = $[6];
35233
35986
  }
35234
35987
  const clearText = t6;
35235
- const t7 = large ? "h-14" : "h-[44px]";
35236
- let t8;
35237
- if ($[7] !== className || $[8] !== t7) {
35238
- t8 = cls("relative", t7, "bg-surface-accent-50 dark:bg-surface-800 border", defaultBorderMixin, "rounded-lg", className);
35988
+ const heightClass = size === "small" ? "h-[36px]" : "h-[44px]";
35989
+ const iconPaddingClass = size === "small" ? "px-2" : "px-4";
35990
+ const inputPaddingClass = size === "small" ? "pl-8" : "pl-12";
35991
+ let t7;
35992
+ if ($[7] !== className || $[8] !== heightClass) {
35993
+ t7 = cls("relative", heightClass, "bg-surface-accent-50 dark:bg-surface-800 border", defaultBorderMixin, "rounded-lg", className);
35239
35994
  $[7] = className;
35240
- $[8] = t7;
35241
- $[9] = t8;
35995
+ $[8] = heightClass;
35996
+ $[9] = t7;
35997
+ } else {
35998
+ t7 = $[9];
35999
+ }
36000
+ let t8;
36001
+ if ($[10] !== iconPaddingClass) {
36002
+ t8 = cls("absolute p-0 h-full pointer-events-none flex items-center justify-center top-0", iconPaddingClass);
36003
+ $[10] = iconPaddingClass;
36004
+ $[11] = t8;
35242
36005
  } else {
35243
- t8 = $[9];
36006
+ t8 = $[11];
35244
36007
  }
35245
36008
  let t9;
35246
- if ($[10] !== loading) {
35247
- t9 = /* @__PURE__ */ jsx("div", { className: "absolute p-0 px-4 h-full pointer-events-none flex items-center justify-center top-0", children: loading ? /* @__PURE__ */ jsx(CircularProgress, { size: "smallest" }) : /* @__PURE__ */ jsx(SearchIcon, { className: "text-text-disabled dark:text-text-disabled-dark" }) });
35248
- $[10] = loading;
35249
- $[11] = t9;
36009
+ if ($[12] !== loading || $[13] !== size) {
36010
+ t9 = loading ? /* @__PURE__ */ jsx(CircularProgress, { size: "smallest" }) : /* @__PURE__ */ jsx(SearchIcon, { className: "text-text-disabled dark:text-text-disabled-dark", size: size === "small" ? "small" : "medium" });
36011
+ $[12] = loading;
36012
+ $[13] = size;
36013
+ $[14] = t9;
35250
36014
  } else {
35251
- t9 = $[11];
36015
+ t9 = $[14];
35252
36016
  }
35253
- const t10 = searchText ?? "";
35254
- const t11 = !onTextSearch;
35255
- let t12;
35256
- if ($[12] !== onTextSearch) {
35257
- t12 = onTextSearch ? (event) => {
36017
+ let t10;
36018
+ if ($[15] !== t8 || $[16] !== t9) {
36019
+ t10 = /* @__PURE__ */ jsx("div", { className: t8, children: t9 });
36020
+ $[15] = t8;
36021
+ $[16] = t9;
36022
+ $[17] = t10;
36023
+ } else {
36024
+ t10 = $[17];
36025
+ }
36026
+ const t11 = searchText ?? "";
36027
+ const t12 = !onTextSearch;
36028
+ let t13;
36029
+ if ($[18] !== onTextSearch) {
36030
+ t13 = onTextSearch ? (event) => {
35258
36031
  setSearchText(event.target.value);
35259
36032
  } : void 0;
35260
- $[12] = onTextSearch;
35261
- $[13] = t12;
36033
+ $[18] = onTextSearch;
36034
+ $[19] = t13;
35262
36035
  } else {
35263
- t12 = $[13];
36036
+ t13 = $[19];
35264
36037
  }
35265
- let t13;
35266
36038
  let t14;
35267
- if ($[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35268
- t13 = () => setActive(true);
35269
- t14 = () => setActive(false);
35270
- $[14] = t13;
35271
- $[15] = t14;
36039
+ let t15;
36040
+ if ($[20] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36041
+ t14 = () => setActive(true);
36042
+ t15 = () => setActive(false);
36043
+ $[20] = t14;
36044
+ $[21] = t15;
35272
36045
  } else {
35273
- t13 = $[14];
35274
- t14 = $[15];
36046
+ t14 = $[20];
36047
+ t15 = $[21];
35275
36048
  }
35276
- const t15 = (disabled || loading) && "pointer-events-none";
35277
- const t16 = expandable ? active ? "w-[220px]" : "w-[180px]" : "";
35278
- let t17;
35279
- if ($[16] !== innerClassName || $[17] !== t15 || $[18] !== t16) {
35280
- t17 = cls(t15, "placeholder-text-disabled dark:placeholder-text-disabled-dark", "relative flex items-center rounded-lg transition-all bg-transparent outline-none appearance-none border-none", "pl-12 h-full text-current ", t16, innerClassName);
35281
- $[16] = innerClassName;
35282
- $[17] = t15;
35283
- $[18] = t16;
35284
- $[19] = t17;
36049
+ const t16 = (disabled || loading) && "pointer-events-none";
36050
+ const t17 = size === "small" ? "text-sm" : "";
36051
+ const t18 = expandable ? active ? "w-[220px]" : "w-[180px]" : "";
36052
+ let t19;
36053
+ if ($[22] !== innerClassName || $[23] !== inputPaddingClass || $[24] !== t16 || $[25] !== t17 || $[26] !== t18) {
36054
+ t19 = cls(t16, "placeholder-text-disabled dark:placeholder-text-disabled-dark", "relative flex items-center rounded-lg transition-all bg-transparent outline-none appearance-none border-none", inputPaddingClass, "h-full text-current", t17, t18, innerClassName);
36055
+ $[22] = innerClassName;
36056
+ $[23] = inputPaddingClass;
36057
+ $[24] = t16;
36058
+ $[25] = t17;
36059
+ $[26] = t18;
36060
+ $[27] = t19;
35285
36061
  } else {
35286
- t17 = $[19];
36062
+ t19 = $[27];
35287
36063
  }
35288
- let t18;
35289
- if ($[20] !== autoFocus || $[21] !== inputRef || $[22] !== onClick || $[23] !== placeholder || $[24] !== t10 || $[25] !== t11 || $[26] !== t12 || $[27] !== t17) {
35290
- t18 = /* @__PURE__ */ jsx("input", { value: t10, ref: inputRef, onClick, placeholder, readOnly: t11, onChange: t12, autoFocus, onFocus: t13, onBlur: t14, className: t17 });
35291
- $[20] = autoFocus;
35292
- $[21] = inputRef;
35293
- $[22] = onClick;
35294
- $[23] = placeholder;
35295
- $[24] = t10;
35296
- $[25] = t11;
35297
- $[26] = t12;
35298
- $[27] = t17;
35299
- $[28] = t18;
36064
+ let t20;
36065
+ if ($[28] !== autoFocus || $[29] !== inputRef || $[30] !== onClick || $[31] !== placeholder || $[32] !== t11 || $[33] !== t12 || $[34] !== t13 || $[35] !== t19) {
36066
+ t20 = /* @__PURE__ */ jsx("input", { value: t11, ref: inputRef, onClick, placeholder, readOnly: t12, onChange: t13, autoFocus, onFocus: t14, onBlur: t15, className: t19 });
36067
+ $[28] = autoFocus;
36068
+ $[29] = inputRef;
36069
+ $[30] = onClick;
36070
+ $[31] = placeholder;
36071
+ $[32] = t11;
36072
+ $[33] = t12;
36073
+ $[34] = t13;
36074
+ $[35] = t19;
36075
+ $[36] = t20;
35300
36076
  } else {
35301
- t18 = $[28];
36077
+ t20 = $[36];
35302
36078
  }
35303
- let t19;
35304
- if ($[29] !== clearText || $[30] !== large || $[31] !== searchText) {
35305
- t19 = searchText ? /* @__PURE__ */ jsx(IconButton, { className: `${large ? "mr-2 top-1" : "mr-1 top-0"} absolute right-0 z-10`, onClick: clearText, children: /* @__PURE__ */ jsx(CloseIcon, { size: "small" }) }) : /* @__PURE__ */ jsx("div", { style: {
36079
+ let t21;
36080
+ if ($[37] !== clearText || $[38] !== searchText || $[39] !== size) {
36081
+ t21 = searchText ? /* @__PURE__ */ jsx(IconButton, { className: `${size === "small" ? "mr-0 top-0" : "mr-1 top-0"} absolute right-0 z-10`, size: "small", onClick: clearText, children: /* @__PURE__ */ jsx(CloseIcon, { size: "smallest" }) }) : /* @__PURE__ */ jsx("div", { style: {
35306
36082
  width: 26
35307
36083
  } });
35308
- $[29] = clearText;
35309
- $[30] = large;
35310
- $[31] = searchText;
35311
- $[32] = t19;
36084
+ $[37] = clearText;
36085
+ $[38] = searchText;
36086
+ $[39] = size;
36087
+ $[40] = t21;
35312
36088
  } else {
35313
- t19 = $[32];
36089
+ t21 = $[40];
35314
36090
  }
35315
- let t20;
35316
- if ($[33] !== onClick || $[34] !== t18 || $[35] !== t19 || $[36] !== t8 || $[37] !== t9) {
35317
- t20 = /* @__PURE__ */ jsxs("div", { onClick, className: t8, children: [
35318
- t9,
35319
- t18,
35320
- t19
36091
+ let t22;
36092
+ if ($[41] !== onClick || $[42] !== t10 || $[43] !== t20 || $[44] !== t21 || $[45] !== t7) {
36093
+ t22 = /* @__PURE__ */ jsxs("div", { onClick, className: t7, children: [
36094
+ t10,
36095
+ t20,
36096
+ t21
35321
36097
  ] });
35322
- $[33] = onClick;
35323
- $[34] = t18;
35324
- $[35] = t19;
35325
- $[36] = t8;
35326
- $[37] = t9;
35327
- $[38] = t20;
36098
+ $[41] = onClick;
36099
+ $[42] = t10;
36100
+ $[43] = t20;
36101
+ $[44] = t21;
36102
+ $[45] = t7;
36103
+ $[46] = t22;
35328
36104
  } else {
35329
- t20 = $[38];
36105
+ t22 = $[46];
35330
36106
  }
35331
- return t20;
36107
+ return t22;
35332
36108
  }
35333
- const Select = forwardRef(({
35334
- inputRef,
35335
- open,
35336
- name,
35337
- fullWidth = false,
35338
- id,
35339
- onOpenChange,
35340
- value,
35341
- onChange,
35342
- onValueChange,
35343
- className,
35344
- inputClassName,
35345
- viewportClassName,
35346
- placeholder,
35347
- renderValue,
35348
- label,
35349
- size = "large",
35350
- error,
35351
- disabled,
35352
- padding = true,
35353
- position = "item-aligned",
35354
- endAdornment,
35355
- invisible,
35356
- children,
35357
- dataType = "string",
35358
- ...props
35359
- }, ref) => {
35360
- const [openInternal, setOpenInternal] = useState(open ?? false);
36109
+ const SearchableSelect = React.forwardRef((t0, ref) => {
36110
+ const $ = c(106);
36111
+ const {
36112
+ value,
36113
+ onValueChange,
36114
+ placeholder: t1,
36115
+ label,
36116
+ size: t2,
36117
+ disabled,
36118
+ error,
36119
+ invisible,
36120
+ className,
36121
+ inputClassName,
36122
+ renderValue,
36123
+ modalPopover: t3,
36124
+ allowCustomValues: t4,
36125
+ portalContainer,
36126
+ autoFocus,
36127
+ children
36128
+ } = t0;
36129
+ const placeholder = t1 === void 0 ? "Select..." : t1;
36130
+ const size = t2 === void 0 ? "large" : t2;
36131
+ const modalPopover = t3 === void 0 ? false : t3;
36132
+ const allowCustomValues = t4 === void 0 ? true : t4;
36133
+ const [isMounted, setIsMounted] = useState(false);
36134
+ const [isPopoverOpen, setIsPopoverOpen] = useState(false);
36135
+ const [search, setSearch] = useState("");
36136
+ const inputRef = useRef(null);
36137
+ const contextContainer = usePortalContainer();
36138
+ const finalContainer = portalContainer ?? contextContainer ?? void 0;
36139
+ let t5;
36140
+ let t6;
36141
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36142
+ t5 = () => {
36143
+ setIsMounted(true);
36144
+ };
36145
+ t6 = [];
36146
+ $[0] = t5;
36147
+ $[1] = t6;
36148
+ } else {
36149
+ t5 = $[0];
36150
+ t6 = $[1];
36151
+ }
36152
+ useEffect(t5, t6);
36153
+ let t7;
36154
+ if ($[2] !== autoFocus || $[3] !== isMounted) {
36155
+ t7 = [autoFocus, isMounted];
36156
+ $[2] = autoFocus;
36157
+ $[3] = isMounted;
36158
+ $[4] = t7;
36159
+ } else {
36160
+ t7 = $[4];
36161
+ }
35361
36162
  useEffect(() => {
35362
- setOpenInternal(open ?? false);
35363
- }, [open]);
35364
- const onValueChangeInternal = useCallback((newValue) => {
35365
- let typedValue = newValue;
35366
- if (dataType === "boolean") {
35367
- if (newValue === "true") typedValue = true;
35368
- else if (newValue === "false") typedValue = false;
35369
- } else if (dataType === "number") {
35370
- if (!isNaN(Number(newValue)) && newValue.trim() !== "") typedValue = Number(newValue);
36163
+ if (autoFocus && isMounted) {
36164
+ onPopoverOpenChange(true);
35371
36165
  }
35372
- onValueChange?.(typedValue);
35373
- if (onChange) {
35374
- const event = {
35375
- target: {
35376
- name,
35377
- value: typedValue
36166
+ }, t7);
36167
+ let t8;
36168
+ let map;
36169
+ if ($[5] !== children) {
36170
+ map = /* @__PURE__ */ new Map();
36171
+ React.Children.forEach(children, (child) => {
36172
+ if (React.isValidElement(child) && child.props.value != null) {
36173
+ map.set(String(child.props.value), child.props.children ?? child.props.value);
36174
+ }
36175
+ });
36176
+ $[5] = children;
36177
+ $[6] = map;
36178
+ } else {
36179
+ map = $[6];
36180
+ }
36181
+ t8 = map;
36182
+ const itemsMap = t8;
36183
+ const onPopoverOpenChange = (open) => {
36184
+ setIsPopoverOpen(open);
36185
+ if (open) {
36186
+ setSearch(value ?? "");
36187
+ setTimeout(() => inputRef.current?.focus(), 0);
36188
+ }
36189
+ };
36190
+ let t9;
36191
+ if ($[7] !== onValueChange) {
36192
+ t9 = (selectedValue) => {
36193
+ onValueChange?.(selectedValue);
36194
+ setIsPopoverOpen(false);
36195
+ setSearch("");
36196
+ };
36197
+ $[7] = onValueChange;
36198
+ $[8] = t9;
36199
+ } else {
36200
+ t9 = $[8];
36201
+ }
36202
+ const handleSelect = t9;
36203
+ let t10;
36204
+ if ($[9] !== allowCustomValues || $[10] !== handleSelect || $[11] !== itemsMap || $[12] !== search) {
36205
+ t10 = (e) => {
36206
+ if (e.key === "Enter" && allowCustomValues) {
36207
+ const trimmed = search.trim();
36208
+ if (trimmed) {
36209
+ const isExistingItem = itemsMap.has(trimmed);
36210
+ if (!isExistingItem) {
36211
+ e.preventDefault();
36212
+ handleSelect(trimmed);
36213
+ }
36214
+ }
36215
+ } else {
36216
+ if (e.key === "Escape") {
36217
+ setIsPopoverOpen(false);
35378
36218
  }
36219
+ }
36220
+ };
36221
+ $[9] = allowCustomValues;
36222
+ $[10] = handleSelect;
36223
+ $[11] = itemsMap;
36224
+ $[12] = search;
36225
+ $[13] = t10;
36226
+ } else {
36227
+ t10 = $[13];
36228
+ }
36229
+ const handleInputKeyDown = t10;
36230
+ let t11;
36231
+ bb0: {
36232
+ if (!value) {
36233
+ t11 = null;
36234
+ break bb0;
36235
+ }
36236
+ if (renderValue) {
36237
+ let t123;
36238
+ if ($[14] !== renderValue || $[15] !== value) {
36239
+ t123 = renderValue(value);
36240
+ $[14] = renderValue;
36241
+ $[15] = value;
36242
+ $[16] = t123;
36243
+ } else {
36244
+ t123 = $[16];
36245
+ }
36246
+ t11 = t123;
36247
+ break bb0;
36248
+ }
36249
+ let t122;
36250
+ if ($[17] !== itemsMap || $[18] !== value) {
36251
+ t122 = itemsMap.get(value);
36252
+ $[17] = itemsMap;
36253
+ $[18] = value;
36254
+ $[19] = t122;
36255
+ } else {
36256
+ t122 = $[19];
36257
+ }
36258
+ const itemLabel = t122;
36259
+ if (itemLabel) {
36260
+ t11 = itemLabel;
36261
+ break bb0;
36262
+ }
36263
+ let t132;
36264
+ if ($[20] !== value) {
36265
+ t132 = /* @__PURE__ */ jsx("span", { className: "text-sm", children: value });
36266
+ $[20] = value;
36267
+ $[21] = t132;
36268
+ } else {
36269
+ t132 = $[21];
36270
+ }
36271
+ t11 = t132;
36272
+ }
36273
+ const displayLabel = t11;
36274
+ useInjectStyles("SearchableSelect", `
36275
+ [cmdk-group] {
36276
+ max-height: 45vh;
36277
+ overflow-y: auto;
36278
+ }`);
36279
+ let t12;
36280
+ if ($[22] !== error || $[23] !== label) {
36281
+ t12 = label && (typeof label === "string" ? /* @__PURE__ */ jsx("div", { className: cls("text-sm font-medium ml-3.5 mb-1", error ? "text-red-500 dark:text-red-600" : "text-surface-accent-500 dark:text-surface-accent-300"), children: label }) : label);
36282
+ $[22] = error;
36283
+ $[23] = label;
36284
+ $[24] = t12;
36285
+ } else {
36286
+ t12 = $[24];
36287
+ }
36288
+ const t13 = isMounted && isPopoverOpen;
36289
+ let t14;
36290
+ if ($[25] !== disabled || $[26] !== isPopoverOpen || $[27] !== onPopoverOpenChange) {
36291
+ t14 = () => !disabled && onPopoverOpenChange(!isPopoverOpen);
36292
+ $[25] = disabled;
36293
+ $[26] = isPopoverOpen;
36294
+ $[27] = onPopoverOpenChange;
36295
+ $[28] = t14;
36296
+ } else {
36297
+ t14 = $[28];
36298
+ }
36299
+ const t15 = size === "smallest";
36300
+ const t16 = size === "small";
36301
+ const t17 = size === "medium";
36302
+ const t18 = size === "large";
36303
+ let t19;
36304
+ if ($[29] !== className || $[30] !== disabled || $[31] !== inputClassName || $[32] !== invisible || $[33] !== size || $[34] !== t15 || $[35] !== t16 || $[36] !== t17 || $[37] !== t18) {
36305
+ t19 = cls({
36306
+ "min-h-[28px]": t15,
36307
+ "min-h-[32px]": t16,
36308
+ "min-h-[44px]": t17,
36309
+ "min-h-[64px]": t18
36310
+ }, {
36311
+ "py-0.5": size === "smallest",
36312
+ "py-1": size === "small",
36313
+ "py-2": size === "medium" || size === "large"
36314
+ }, {
36315
+ "px-2": size === "small" || size === "smallest",
36316
+ "px-4": size === "medium" || size === "large"
36317
+ }, "select-none rounded-md text-sm w-full text-start", "focus:ring-0 focus-visible:ring-0 outline-none focus:outline-none focus-visible:outline-none", invisible ? fieldBackgroundInvisibleMixin : fieldBackgroundMixin, disabled ? fieldBackgroundDisabledMixin : fieldBackgroundHoverMixin, "relative flex items-center", className, inputClassName);
36318
+ $[29] = className;
36319
+ $[30] = disabled;
36320
+ $[31] = inputClassName;
36321
+ $[32] = invisible;
36322
+ $[33] = size;
36323
+ $[34] = t15;
36324
+ $[35] = t16;
36325
+ $[36] = t17;
36326
+ $[37] = t18;
36327
+ $[38] = t19;
36328
+ } else {
36329
+ t19 = $[38];
36330
+ }
36331
+ let t20;
36332
+ if ($[39] !== displayLabel || $[40] !== placeholder) {
36333
+ t20 = displayLabel ?? /* @__PURE__ */ jsx("span", { className: "text-sm text-surface-accent-500 dark:text-surface-accent-400", children: placeholder });
36334
+ $[39] = displayLabel;
36335
+ $[40] = placeholder;
36336
+ $[41] = t20;
36337
+ } else {
36338
+ t20 = $[41];
36339
+ }
36340
+ let t21;
36341
+ if ($[42] !== t20) {
36342
+ t21 = /* @__PURE__ */ jsx("div", { className: "flex-grow min-w-0 truncate", children: t20 });
36343
+ $[42] = t20;
36344
+ $[43] = t21;
36345
+ } else {
36346
+ t21 = $[43];
36347
+ }
36348
+ let t22;
36349
+ if ($[44] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36350
+ t22 = cls("flex-shrink-0 flex items-center");
36351
+ $[44] = t22;
36352
+ } else {
36353
+ t22 = $[44];
36354
+ }
36355
+ const t23 = size === "large" ? "medium" : "small";
36356
+ const t24 = isPopoverOpen ? "rotate-180" : "";
36357
+ let t25;
36358
+ if ($[45] !== t24) {
36359
+ t25 = cls("transition", t24);
36360
+ $[45] = t24;
36361
+ $[46] = t25;
36362
+ } else {
36363
+ t25 = $[46];
36364
+ }
36365
+ let t26;
36366
+ if ($[47] !== t23 || $[48] !== t25) {
36367
+ t26 = /* @__PURE__ */ jsx("div", { className: t22, children: /* @__PURE__ */ jsx(KeyboardArrowDownIcon, { size: t23, className: t25 }) });
36368
+ $[47] = t23;
36369
+ $[48] = t25;
36370
+ $[49] = t26;
36371
+ } else {
36372
+ t26 = $[49];
36373
+ }
36374
+ let t27;
36375
+ if ($[50] !== t21 || $[51] !== t26) {
36376
+ t27 = /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between w-full gap-1", children: [
36377
+ t21,
36378
+ t26
36379
+ ] });
36380
+ $[50] = t21;
36381
+ $[51] = t26;
36382
+ $[52] = t27;
36383
+ } else {
36384
+ t27 = $[52];
36385
+ }
36386
+ let t28;
36387
+ if ($[53] !== disabled || $[54] !== ref || $[55] !== t14 || $[56] !== t19 || $[57] !== t27) {
36388
+ t28 = /* @__PURE__ */ jsx(PopoverPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsx("button", { ref, disabled, onClick: t14, className: t19, children: t27 }) });
36389
+ $[53] = disabled;
36390
+ $[54] = ref;
36391
+ $[55] = t14;
36392
+ $[56] = t19;
36393
+ $[57] = t27;
36394
+ $[58] = t28;
36395
+ } else {
36396
+ t28 = $[58];
36397
+ }
36398
+ let t29;
36399
+ if ($[59] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36400
+ t29 = cls("z-50 overflow-hidden border bg-white dark:bg-surface-900 rounded-lg", defaultBorderMixin);
36401
+ $[59] = t29;
36402
+ } else {
36403
+ t29 = $[59];
36404
+ }
36405
+ let t30;
36406
+ if ($[60] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36407
+ t30 = {
36408
+ width: "var(--radix-popover-trigger-width)",
36409
+ minWidth: 180
36410
+ };
36411
+ $[60] = t30;
36412
+ } else {
36413
+ t30 = $[60];
36414
+ }
36415
+ let t31;
36416
+ if ($[61] !== onPopoverOpenChange) {
36417
+ t31 = () => onPopoverOpenChange(false);
36418
+ $[61] = onPopoverOpenChange;
36419
+ $[62] = t31;
36420
+ } else {
36421
+ t31 = $[62];
36422
+ }
36423
+ const t32 = size === "smallest" || size === "small";
36424
+ const t33 = size === "medium" || size === "large";
36425
+ let t34;
36426
+ if ($[63] !== t32 || $[64] !== t33) {
36427
+ t34 = cls(focusedDisabled, "bg-transparent outline-none flex-1 h-full w-full text-surface-accent-900 dark:text-white", {
36428
+ "m-2 text-xs": t32,
36429
+ "m-3 text-sm": t33
36430
+ });
36431
+ $[63] = t32;
36432
+ $[64] = t33;
36433
+ $[65] = t34;
36434
+ } else {
36435
+ t34 = $[65];
36436
+ }
36437
+ let t35;
36438
+ if ($[66] !== handleInputKeyDown || $[67] !== search || $[68] !== t34) {
36439
+ t35 = /* @__PURE__ */ jsx("div", { className: "flex flex-row items-center", children: /* @__PURE__ */ jsx(Command.Input, { ref: inputRef, value: search, onValueChange: setSearch, className: t34, placeholder: "Search...", onKeyDown: handleInputKeyDown }) });
36440
+ $[66] = handleInputKeyDown;
36441
+ $[67] = search;
36442
+ $[68] = t34;
36443
+ $[69] = t35;
36444
+ } else {
36445
+ t35 = $[69];
36446
+ }
36447
+ let t36;
36448
+ if ($[70] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36449
+ t36 = /* @__PURE__ */ jsx(Separator, { orientation: "horizontal", className: "my-0" });
36450
+ $[70] = t36;
36451
+ } else {
36452
+ t36 = $[70];
36453
+ }
36454
+ let t37;
36455
+ if ($[71] !== allowCustomValues || $[72] !== handleSelect || $[73] !== itemsMap || $[74] !== search) {
36456
+ t37 = allowCustomValues && search.trim() && !itemsMap.has(search.trim()) ? /* @__PURE__ */ jsxs(Command.Empty, { className: "px-3 py-2 text-xs cursor-pointer text-primary hover:bg-surface-accent-100 dark:hover:bg-surface-accent-800", onClick: () => handleSelect(search.trim()), children: [
36457
+ "Use “",
36458
+ search.trim(),
36459
+ "”"
36460
+ ] }) : /* @__PURE__ */ jsx(Command.Empty, { className: "px-3 py-2 text-xs text-text-secondary dark:text-text-secondary-dark", children: "No results found." });
36461
+ $[71] = allowCustomValues;
36462
+ $[72] = handleSelect;
36463
+ $[73] = itemsMap;
36464
+ $[74] = search;
36465
+ $[75] = t37;
36466
+ } else {
36467
+ t37 = $[75];
36468
+ }
36469
+ let t38;
36470
+ if ($[76] !== children || $[77] !== handleSelect || $[78] !== value) {
36471
+ let t392;
36472
+ if ($[80] !== handleSelect || $[81] !== value) {
36473
+ t392 = (child_0) => {
36474
+ if (!React.isValidElement(child_0)) {
36475
+ return child_0;
36476
+ }
36477
+ const itemValue = child_0.props.value;
36478
+ const isSelected = String(value) === String(itemValue);
36479
+ return /* @__PURE__ */ jsxs(Command.Item, { value: String(itemValue), onMouseDown: _temp$2, onSelect: () => handleSelect(String(itemValue)), className: cls("flex flex-row items-center gap-1.5", isSelected ? "bg-surface-accent-200 dark:bg-surface-accent-950" : "", "cursor-pointer", "m-0.5", "ring-offset-transparent", "p-1.5 rounded", "aria-[selected=true]:outline-none", "aria-[selected=true]:bg-surface-accent-100 aria-[selected=true]:dark:bg-surface-accent-900", "text-surface-accent-700 dark:text-surface-accent-300", child_0.props.className), children: [
36480
+ /* @__PURE__ */ jsx("div", { className: cls("w-4 h-4 flex items-center justify-center flex-shrink-0", isSelected ? "text-primary" : "text-transparent"), children: isSelected && /* @__PURE__ */ jsx(CheckIcon, { size: 14 }) }),
36481
+ child_0.props.children ?? child_0.props.value
36482
+ ] }, String(itemValue));
35379
36483
  };
35380
- onChange(event);
36484
+ $[80] = handleSelect;
36485
+ $[81] = value;
36486
+ $[82] = t392;
36487
+ } else {
36488
+ t392 = $[82];
35381
36489
  }
35382
- }, [onChange, onValueChange, name]);
36490
+ t38 = React.Children.map(children, t392);
36491
+ $[76] = children;
36492
+ $[77] = handleSelect;
36493
+ $[78] = value;
36494
+ $[79] = t38;
36495
+ } else {
36496
+ t38 = $[79];
36497
+ }
36498
+ let t39;
36499
+ if ($[83] !== t38) {
36500
+ t39 = /* @__PURE__ */ jsx(Command.Group, { children: t38 });
36501
+ $[83] = t38;
36502
+ $[84] = t39;
36503
+ } else {
36504
+ t39 = $[84];
36505
+ }
36506
+ let t40;
36507
+ if ($[85] !== t37 || $[86] !== t39) {
36508
+ t40 = /* @__PURE__ */ jsxs(Command.List, { children: [
36509
+ t37,
36510
+ t39
36511
+ ] });
36512
+ $[85] = t37;
36513
+ $[86] = t39;
36514
+ $[87] = t40;
36515
+ } else {
36516
+ t40 = $[87];
36517
+ }
36518
+ let t41;
36519
+ if ($[88] !== t35 || $[89] !== t40) {
36520
+ t41 = /* @__PURE__ */ jsxs(Command, { shouldFilter: true, children: [
36521
+ t35,
36522
+ t36,
36523
+ t40
36524
+ ] });
36525
+ $[88] = t35;
36526
+ $[89] = t40;
36527
+ $[90] = t41;
36528
+ } else {
36529
+ t41 = $[90];
36530
+ }
36531
+ let t42;
36532
+ if ($[91] !== t31 || $[92] !== t41) {
36533
+ t42 = /* @__PURE__ */ jsx(PopoverPrimitive.Content, { className: t29, align: "start", sideOffset: 4, style: t30, onEscapeKeyDown: t31, children: t41 });
36534
+ $[91] = t31;
36535
+ $[92] = t41;
36536
+ $[93] = t42;
36537
+ } else {
36538
+ t42 = $[93];
36539
+ }
36540
+ let t43;
36541
+ if ($[94] !== finalContainer || $[95] !== t42) {
36542
+ t43 = /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { container: finalContainer, children: t42 });
36543
+ $[94] = finalContainer;
36544
+ $[95] = t42;
36545
+ $[96] = t43;
36546
+ } else {
36547
+ t43 = $[96];
36548
+ }
36549
+ let t44;
36550
+ if ($[97] !== modalPopover || $[98] !== onPopoverOpenChange || $[99] !== t13 || $[100] !== t28 || $[101] !== t43) {
36551
+ t44 = /* @__PURE__ */ jsxs(PopoverPrimitive.Root, { open: t13, onOpenChange: onPopoverOpenChange, modal: modalPopover, children: [
36552
+ t28,
36553
+ t43
36554
+ ] });
36555
+ $[97] = modalPopover;
36556
+ $[98] = onPopoverOpenChange;
36557
+ $[99] = t13;
36558
+ $[100] = t28;
36559
+ $[101] = t43;
36560
+ $[102] = t44;
36561
+ } else {
36562
+ t44 = $[102];
36563
+ }
36564
+ let t45;
36565
+ if ($[103] !== t12 || $[104] !== t44) {
36566
+ t45 = /* @__PURE__ */ jsxs("div", { children: [
36567
+ t12,
36568
+ t44
36569
+ ] });
36570
+ $[103] = t12;
36571
+ $[104] = t44;
36572
+ $[105] = t45;
36573
+ } else {
36574
+ t45 = $[105];
36575
+ }
36576
+ return t45;
36577
+ });
36578
+ SearchableSelect.displayName = "SearchableSelect";
36579
+ function SearchableSelectItem(_props) {
36580
+ return null;
36581
+ }
36582
+ function _temp$2(e_0) {
36583
+ e_0.preventDefault();
36584
+ e_0.stopPropagation();
36585
+ }
36586
+ const Select = forwardRef((t0, ref) => {
36587
+ const $ = c(121);
36588
+ let children;
36589
+ let className;
36590
+ let disabled;
36591
+ let endAdornment;
36592
+ let error;
36593
+ let id;
36594
+ let inputClassName;
36595
+ let inputRef;
36596
+ let invisible;
36597
+ let label;
36598
+ let manualContainer;
36599
+ let name;
36600
+ let onChange;
36601
+ let onOpenChange;
36602
+ let onValueChange;
36603
+ let open;
36604
+ let placeholder;
36605
+ let props;
36606
+ let renderValue;
36607
+ let t1;
36608
+ let t2;
36609
+ let t3;
36610
+ let t4;
36611
+ let t5;
36612
+ let value;
36613
+ let viewportClassName;
36614
+ if ($[0] !== t0) {
36615
+ ({
36616
+ inputRef,
36617
+ open,
36618
+ name,
36619
+ fullWidth: t1,
36620
+ id,
36621
+ onOpenChange,
36622
+ value,
36623
+ onChange,
36624
+ onValueChange,
36625
+ className,
36626
+ inputClassName,
36627
+ viewportClassName,
36628
+ placeholder,
36629
+ renderValue,
36630
+ label,
36631
+ size: t2,
36632
+ error,
36633
+ disabled,
36634
+ padding: t3,
36635
+ position: t4,
36636
+ endAdornment,
36637
+ invisible,
36638
+ children,
36639
+ dataType: t5,
36640
+ portalContainer: manualContainer,
36641
+ ...props
36642
+ } = t0);
36643
+ $[0] = t0;
36644
+ $[1] = children;
36645
+ $[2] = className;
36646
+ $[3] = disabled;
36647
+ $[4] = endAdornment;
36648
+ $[5] = error;
36649
+ $[6] = id;
36650
+ $[7] = inputClassName;
36651
+ $[8] = inputRef;
36652
+ $[9] = invisible;
36653
+ $[10] = label;
36654
+ $[11] = manualContainer;
36655
+ $[12] = name;
36656
+ $[13] = onChange;
36657
+ $[14] = onOpenChange;
36658
+ $[15] = onValueChange;
36659
+ $[16] = open;
36660
+ $[17] = placeholder;
36661
+ $[18] = props;
36662
+ $[19] = renderValue;
36663
+ $[20] = t1;
36664
+ $[21] = t2;
36665
+ $[22] = t3;
36666
+ $[23] = t4;
36667
+ $[24] = t5;
36668
+ $[25] = value;
36669
+ $[26] = viewportClassName;
36670
+ } else {
36671
+ children = $[1];
36672
+ className = $[2];
36673
+ disabled = $[3];
36674
+ endAdornment = $[4];
36675
+ error = $[5];
36676
+ id = $[6];
36677
+ inputClassName = $[7];
36678
+ inputRef = $[8];
36679
+ invisible = $[9];
36680
+ label = $[10];
36681
+ manualContainer = $[11];
36682
+ name = $[12];
36683
+ onChange = $[13];
36684
+ onOpenChange = $[14];
36685
+ onValueChange = $[15];
36686
+ open = $[16];
36687
+ placeholder = $[17];
36688
+ props = $[18];
36689
+ renderValue = $[19];
36690
+ t1 = $[20];
36691
+ t2 = $[21];
36692
+ t3 = $[22];
36693
+ t4 = $[23];
36694
+ t5 = $[24];
36695
+ value = $[25];
36696
+ viewportClassName = $[26];
36697
+ }
36698
+ const fullWidth = t1 === void 0 ? false : t1;
36699
+ const size = t2 === void 0 ? "large" : t2;
36700
+ const padding = t3 === void 0 ? true : t3;
36701
+ const position = t4 === void 0 ? "item-aligned" : t4;
36702
+ const dataType = t5 === void 0 ? "string" : t5;
36703
+ const [openInternal, setOpenInternal] = useState(open ?? false);
36704
+ let t6;
36705
+ let t7;
36706
+ if ($[27] !== open) {
36707
+ t6 = () => {
36708
+ setOpenInternal(open ?? false);
36709
+ };
36710
+ t7 = [open];
36711
+ $[27] = open;
36712
+ $[28] = t6;
36713
+ $[29] = t7;
36714
+ } else {
36715
+ t6 = $[28];
36716
+ t7 = $[29];
36717
+ }
36718
+ useEffect(t6, t7);
36719
+ const contextContainer = usePortalContainer();
36720
+ const finalContainer = manualContainer ?? contextContainer ?? void 0;
36721
+ let t8;
36722
+ if ($[30] !== dataType || $[31] !== name || $[32] !== onChange || $[33] !== onValueChange) {
36723
+ t8 = (newValue) => {
36724
+ let typedValue = newValue;
36725
+ if (dataType === "boolean") {
36726
+ if (newValue === "true") {
36727
+ typedValue = true;
36728
+ } else {
36729
+ if (newValue === "false") {
36730
+ typedValue = false;
36731
+ }
36732
+ }
36733
+ } else {
36734
+ if (dataType === "number") {
36735
+ if (!isNaN(Number(newValue)) && newValue.trim() !== "") {
36736
+ typedValue = Number(newValue);
36737
+ }
36738
+ }
36739
+ }
36740
+ onValueChange?.(typedValue);
36741
+ if (onChange) {
36742
+ const event = {
36743
+ target: {
36744
+ name,
36745
+ value: typedValue
36746
+ }
36747
+ };
36748
+ onChange(event);
36749
+ }
36750
+ };
36751
+ $[30] = dataType;
36752
+ $[31] = name;
36753
+ $[32] = onChange;
36754
+ $[33] = onValueChange;
36755
+ $[34] = t8;
36756
+ } else {
36757
+ t8 = $[34];
36758
+ }
36759
+ const onValueChangeInternal = t8;
35383
36760
  const hasValue = Array.isArray(value) ? value.length > 0 : value != null && value !== "" && value !== void 0;
35384
36761
  const stringValue = value !== void 0 ? String(value) : void 0;
35385
- const selectedChild = React__default.useMemo(() => {
35386
- if (!hasValue || renderValue) return null;
35387
- const childrenProps = Children.map(children, (child) => {
35388
- if (React__default.isValidElement(child)) {
35389
- return child.props;
35390
- }
35391
- }).filter(Boolean);
35392
- const option = childrenProps.find((o) => String(o.value) === String(value));
35393
- return option?.children;
35394
- }, [children, hasValue, renderValue, value]);
35395
- return /* @__PURE__ */ jsxs(SelectPrimitive.Root, { name, value: stringValue, open: openInternal, disabled, onValueChange: onValueChangeInternal, onOpenChange: (open_0) => {
35396
- onOpenChange?.(open_0);
35397
- setOpenInternal(open_0);
35398
- }, ...props, children: [
35399
- typeof label === "string" ? /* @__PURE__ */ jsx(SelectInputLabel, { error, children: label }) : label,
35400
- /* @__PURE__ */ jsxs("div", { className: cls("select-none rounded-md text-sm", invisible ? fieldBackgroundInvisibleMixin : fieldBackgroundMixin, disabled ? fieldBackgroundDisabledMixin : fieldBackgroundHoverMixin, "relative flex items-center", className, {
36762
+ let t9;
36763
+ bb0: {
36764
+ if (!hasValue || renderValue) {
36765
+ t9 = null;
36766
+ break bb0;
36767
+ }
36768
+ let found;
36769
+ if ($[35] !== children || $[36] !== value) {
36770
+ found = null;
36771
+ Children.forEach(children, (child) => {
36772
+ if (React__default.isValidElement(child) && String(child.props.value) === String(value)) {
36773
+ found = child.props.children;
36774
+ }
36775
+ });
36776
+ $[35] = children;
36777
+ $[36] = value;
36778
+ $[37] = found;
36779
+ } else {
36780
+ found = $[37];
36781
+ }
36782
+ t9 = found;
36783
+ }
36784
+ const displayChildren = t9;
36785
+ let t10;
36786
+ if ($[38] !== onOpenChange) {
36787
+ t10 = (open_0) => {
36788
+ onOpenChange?.(open_0);
36789
+ setOpenInternal(open_0);
36790
+ };
36791
+ $[38] = onOpenChange;
36792
+ $[39] = t10;
36793
+ } else {
36794
+ t10 = $[39];
36795
+ }
36796
+ let t11;
36797
+ if ($[40] !== error || $[41] !== label) {
36798
+ t11 = typeof label === "string" ? /* @__PURE__ */ jsx(SelectInputLabel, { error, children: label }) : label;
36799
+ $[40] = error;
36800
+ $[41] = label;
36801
+ $[42] = t11;
36802
+ } else {
36803
+ t11 = $[42];
36804
+ }
36805
+ const t12 = invisible ? fieldBackgroundInvisibleMixin : fieldBackgroundMixin;
36806
+ const t13 = disabled ? fieldBackgroundDisabledMixin : fieldBackgroundHoverMixin;
36807
+ const t14 = size === "smallest";
36808
+ const t15 = size === "small";
36809
+ const t16 = size === "medium";
36810
+ const t17 = size === "large";
36811
+ const t18 = !fullWidth;
36812
+ let t19;
36813
+ if ($[43] !== className || $[44] !== fullWidth || $[45] !== t12 || $[46] !== t13 || $[47] !== t14 || $[48] !== t15 || $[49] !== t16 || $[50] !== t17 || $[51] !== t18) {
36814
+ t19 = cls("select-none rounded-md text-sm", t12, t13, "relative flex items-center", className, {
36815
+ "min-h-[28px]": t14,
36816
+ "min-h-[32px]": t15,
36817
+ "min-h-[44px]": t16,
36818
+ "min-h-[64px]": t17,
36819
+ "w-fit": t18,
36820
+ "w-full": fullWidth
36821
+ });
36822
+ $[43] = className;
36823
+ $[44] = fullWidth;
36824
+ $[45] = t12;
36825
+ $[46] = t13;
36826
+ $[47] = t14;
36827
+ $[48] = t15;
36828
+ $[49] = t16;
36829
+ $[50] = t17;
36830
+ $[51] = t18;
36831
+ $[52] = t19;
36832
+ } else {
36833
+ t19 = $[52];
36834
+ }
36835
+ let t20;
36836
+ if ($[53] !== disabled || $[54] !== error || $[55] !== fullWidth || $[56] !== inputClassName || $[57] !== padding || $[58] !== size) {
36837
+ t20 = cls("h-full", padding ? {
36838
+ "px-4": size === "large",
36839
+ "px-3": size === "medium",
36840
+ "px-2": size === "small" || size === "smallest"
36841
+ } : "", "outline-hidden focus:outline-hidden", "outline-none focus:outline-none", "select-none rounded-md text-sm", error ? "text-red-500 dark:text-red-600" : "focus:text-text-primary dark:focus:text-text-primary-dark", error ? "border border-red-500 dark:border-red-600" : "", disabled ? "text-surface-accent-600 dark:text-surface-accent-400" : "text-surface-accent-800 dark:text-white", "relative flex flex-row items-center", {
35401
36842
  "min-h-[28px]": size === "smallest",
35402
36843
  "min-h-[32px]": size === "small",
35403
36844
  "min-h-[44px]": size === "medium",
35404
36845
  "min-h-[64px]": size === "large",
35405
- "w-fit": !fullWidth,
35406
- "w-full": fullWidth
35407
- }), children: [
35408
- /* @__PURE__ */ jsxs(SelectPrimitive.Trigger, { ref: inputRef, id, asChild: false, type: "button", className: cls("h-full", padding ? {
35409
- "px-4": size === "large",
35410
- "px-3": size === "medium",
35411
- "px-2": size === "small" || size === "smallest"
35412
- } : "", "outline-none focus:outline-none", "select-none rounded-md text-sm", error ? "text-red-500 dark:text-red-600" : "focus:text-text-primary dark:focus:text-text-primary-dark", error ? "border border-red-500 dark:border-red-600" : "", disabled ? "text-surface-accent-600 dark:text-surface-accent-400" : "text-surface-accent-800 dark:text-white", "relative flex flex-row items-center", {
35413
- "min-h-[28px]": size === "smallest",
35414
- "min-h-[32px]": size === "small",
35415
- "min-h-[44px]": size === "medium",
35416
- "min-h-[64px]": size === "large",
35417
- "w-full": fullWidth,
35418
- "w-fit": !fullWidth
35419
- }, inputClassName), children: [
35420
- /* @__PURE__ */ jsx("div", { ref, className: cls("flex-grow max-w-full flex flex-row gap-2 items-center", "overflow-visible", {
35421
- "min-h-[28px]": size === "smallest",
35422
- "min-h-[32px]": size === "small",
35423
- "min-h-[44px]": size === "medium",
35424
- "min-h-[64px]": size === "large"
35425
- }), children: /* @__PURE__ */ jsxs(SelectPrimitive.Value, { onClick: (e) => {
35426
- e.preventDefault();
35427
- e.stopPropagation();
35428
- }, placeholder, className: "w-full", children: [
35429
- hasValue && value !== void 0 && renderValue ? renderValue(value) : placeholder,
35430
- hasValue && !renderValue && selectedChild
35431
- ] }) }),
35432
- /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(KeyboardArrowDownIcon, { size: size === "large" ? "medium" : "small", className: cls("transition", open ? "rotate-180" : "", {
35433
- "px-2": size === "large",
35434
- "px-1": size === "medium" || size === "small"
35435
- }) }) })
35436
- ] }),
35437
- endAdornment && /* @__PURE__ */ jsx("div", { className: cls("h-full flex items-center absolute right-0 pr-12"), onClick: (e_0) => {
35438
- e_0.preventDefault();
35439
- e_0.stopPropagation();
35440
- }, children: endAdornment })
35441
- ] }),
35442
- /* @__PURE__ */ jsx(SelectPrimitive.Portal, { children: /* @__PURE__ */ jsx(SelectPrimitive.Content, { position, className: cls(focusedDisabled, "z-50 relative overflow-hidden border bg-white dark:bg-surface-900 p-2 rounded-lg", defaultBorderMixin), children: /* @__PURE__ */ jsx(SelectPrimitive.Viewport, { className: cls("p-1", viewportClassName), style: {
36846
+ "w-full": fullWidth,
36847
+ "w-fit": !fullWidth
36848
+ }, inputClassName);
36849
+ $[53] = disabled;
36850
+ $[54] = error;
36851
+ $[55] = fullWidth;
36852
+ $[56] = inputClassName;
36853
+ $[57] = padding;
36854
+ $[58] = size;
36855
+ $[59] = t20;
36856
+ } else {
36857
+ t20 = $[59];
36858
+ }
36859
+ const t21 = size === "smallest";
36860
+ const t22 = size === "small";
36861
+ const t23 = size === "medium";
36862
+ const t24 = size === "large";
36863
+ let t25;
36864
+ if ($[60] !== t21 || $[61] !== t22 || $[62] !== t23 || $[63] !== t24) {
36865
+ t25 = cls("flex-grow max-w-full flex flex-row gap-2 items-center", "overflow-visible", {
36866
+ "min-h-[28px]": t21,
36867
+ "min-h-[32px]": t22,
36868
+ "min-h-[44px]": t23,
36869
+ "min-h-[64px]": t24
36870
+ });
36871
+ $[60] = t21;
36872
+ $[61] = t22;
36873
+ $[62] = t23;
36874
+ $[63] = t24;
36875
+ $[64] = t25;
36876
+ } else {
36877
+ t25 = $[64];
36878
+ }
36879
+ let t26;
36880
+ if ($[65] !== displayChildren || $[66] !== hasValue || $[67] !== placeholder || $[68] !== renderValue || $[69] !== value) {
36881
+ t26 = hasValue && value !== void 0 && renderValue ? renderValue(value) : displayChildren || placeholder;
36882
+ $[65] = displayChildren;
36883
+ $[66] = hasValue;
36884
+ $[67] = placeholder;
36885
+ $[68] = renderValue;
36886
+ $[69] = value;
36887
+ $[70] = t26;
36888
+ } else {
36889
+ t26 = $[70];
36890
+ }
36891
+ let t27;
36892
+ if ($[71] !== placeholder || $[72] !== t26) {
36893
+ t27 = /* @__PURE__ */ jsx(SelectPrimitive.Value, { onClick: _temp$1, placeholder, className: "w-full", children: t26 });
36894
+ $[71] = placeholder;
36895
+ $[72] = t26;
36896
+ $[73] = t27;
36897
+ } else {
36898
+ t27 = $[73];
36899
+ }
36900
+ let t28;
36901
+ if ($[74] !== ref || $[75] !== t25 || $[76] !== t27) {
36902
+ t28 = /* @__PURE__ */ jsx("div", { ref, className: t25, children: t27 });
36903
+ $[74] = ref;
36904
+ $[75] = t25;
36905
+ $[76] = t27;
36906
+ $[77] = t28;
36907
+ } else {
36908
+ t28 = $[77];
36909
+ }
36910
+ const t29 = size === "large" ? "medium" : "small";
36911
+ const t30 = open ? "rotate-180" : "";
36912
+ const t31 = size === "large";
36913
+ const t32 = size === "medium" || size === "small";
36914
+ let t33;
36915
+ if ($[78] !== t30 || $[79] !== t31 || $[80] !== t32) {
36916
+ t33 = cls("transition", t30, {
36917
+ "px-2": t31,
36918
+ "px-1": t32
36919
+ });
36920
+ $[78] = t30;
36921
+ $[79] = t31;
36922
+ $[80] = t32;
36923
+ $[81] = t33;
36924
+ } else {
36925
+ t33 = $[81];
36926
+ }
36927
+ let t34;
36928
+ if ($[82] !== t29 || $[83] !== t33) {
36929
+ t34 = /* @__PURE__ */ jsx(SelectPrimitive.Icon, { asChild: true, children: /* @__PURE__ */ jsx(KeyboardArrowDownIcon, { size: t29, className: t33 }) });
36930
+ $[82] = t29;
36931
+ $[83] = t33;
36932
+ $[84] = t34;
36933
+ } else {
36934
+ t34 = $[84];
36935
+ }
36936
+ let t35;
36937
+ if ($[85] !== id || $[86] !== inputRef || $[87] !== t20 || $[88] !== t28 || $[89] !== t34) {
36938
+ t35 = /* @__PURE__ */ jsxs(SelectPrimitive.Trigger, { ref: inputRef, id, asChild: false, type: "button", className: t20, children: [
36939
+ t28,
36940
+ t34
36941
+ ] });
36942
+ $[85] = id;
36943
+ $[86] = inputRef;
36944
+ $[87] = t20;
36945
+ $[88] = t28;
36946
+ $[89] = t34;
36947
+ $[90] = t35;
36948
+ } else {
36949
+ t35 = $[90];
36950
+ }
36951
+ let t36;
36952
+ if ($[91] !== endAdornment) {
36953
+ t36 = endAdornment && /* @__PURE__ */ jsx("div", { className: cls("h-full flex items-center absolute right-0 pr-12"), onClick: _temp2, children: endAdornment });
36954
+ $[91] = endAdornment;
36955
+ $[92] = t36;
36956
+ } else {
36957
+ t36 = $[92];
36958
+ }
36959
+ let t37;
36960
+ if ($[93] !== t19 || $[94] !== t35 || $[95] !== t36) {
36961
+ t37 = /* @__PURE__ */ jsxs("div", { className: t19, children: [
36962
+ t35,
36963
+ t36
36964
+ ] });
36965
+ $[93] = t19;
36966
+ $[94] = t35;
36967
+ $[95] = t36;
36968
+ $[96] = t37;
36969
+ } else {
36970
+ t37 = $[96];
36971
+ }
36972
+ let t38;
36973
+ if ($[97] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36974
+ t38 = cls(focusedDisabled, "z-50 relative overflow-hidden border bg-white dark:bg-surface-900 p-2 rounded-lg", defaultBorderMixin);
36975
+ $[97] = t38;
36976
+ } else {
36977
+ t38 = $[97];
36978
+ }
36979
+ let t39;
36980
+ if ($[98] !== viewportClassName) {
36981
+ t39 = cls("p-1", viewportClassName);
36982
+ $[98] = viewportClassName;
36983
+ $[99] = t39;
36984
+ } else {
36985
+ t39 = $[99];
36986
+ }
36987
+ let t40;
36988
+ if ($[100] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36989
+ t40 = {
35443
36990
  maxHeight: "var(--radix-select-content-available-height)"
35444
- }, children }) }) })
35445
- ] });
36991
+ };
36992
+ $[100] = t40;
36993
+ } else {
36994
+ t40 = $[100];
36995
+ }
36996
+ let t41;
36997
+ if ($[101] !== children || $[102] !== t39) {
36998
+ t41 = /* @__PURE__ */ jsx(SelectPrimitive.Viewport, { className: t39, style: t40, children });
36999
+ $[101] = children;
37000
+ $[102] = t39;
37001
+ $[103] = t41;
37002
+ } else {
37003
+ t41 = $[103];
37004
+ }
37005
+ let t42;
37006
+ if ($[104] !== position || $[105] !== t41) {
37007
+ t42 = /* @__PURE__ */ jsx(SelectPrimitive.Content, { position, className: t38, children: t41 });
37008
+ $[104] = position;
37009
+ $[105] = t41;
37010
+ $[106] = t42;
37011
+ } else {
37012
+ t42 = $[106];
37013
+ }
37014
+ let t43;
37015
+ if ($[107] !== finalContainer || $[108] !== t42) {
37016
+ t43 = /* @__PURE__ */ jsx(SelectPrimitive.Portal, { container: finalContainer, children: t42 });
37017
+ $[107] = finalContainer;
37018
+ $[108] = t42;
37019
+ $[109] = t43;
37020
+ } else {
37021
+ t43 = $[109];
37022
+ }
37023
+ let t44;
37024
+ if ($[110] !== disabled || $[111] !== name || $[112] !== onValueChangeInternal || $[113] !== openInternal || $[114] !== props || $[115] !== stringValue || $[116] !== t10 || $[117] !== t11 || $[118] !== t37 || $[119] !== t43) {
37025
+ t44 = /* @__PURE__ */ jsxs(SelectPrimitive.Root, { name, value: stringValue, open: openInternal, disabled, onValueChange: onValueChangeInternal, onOpenChange: t10, ...props, children: [
37026
+ t11,
37027
+ t37,
37028
+ t43
37029
+ ] });
37030
+ $[110] = disabled;
37031
+ $[111] = name;
37032
+ $[112] = onValueChangeInternal;
37033
+ $[113] = openInternal;
37034
+ $[114] = props;
37035
+ $[115] = stringValue;
37036
+ $[116] = t10;
37037
+ $[117] = t11;
37038
+ $[118] = t37;
37039
+ $[119] = t43;
37040
+ $[120] = t44;
37041
+ } else {
37042
+ t44 = $[120];
37043
+ }
37044
+ return t44;
35446
37045
  });
35447
37046
  Select.displayName = "Select";
35448
37047
  const SelectItem = React__default.memo(function SelectItem2(t0) {
@@ -35533,6 +37132,14 @@ const SelectGroup = React__default.memo(function SelectGroup2(t0) {
35533
37132
  }
35534
37133
  return t3;
35535
37134
  });
37135
+ function _temp$1(e) {
37136
+ e.preventDefault();
37137
+ e.stopPropagation();
37138
+ }
37139
+ function _temp2(e_0) {
37140
+ e_0.preventDefault();
37141
+ e_0.stopPropagation();
37142
+ }
35536
37143
  function SliderThumb(props) {
35537
37144
  const $ = c(13);
35538
37145
  const t0 = props.hovered;
@@ -35542,7 +37149,7 @@ function SliderThumb(props) {
35542
37149
  t2 = cls({
35543
37150
  "border-primary bg-primary outline-none": t1,
35544
37151
  "border-surface-accent-300 bg-surface-accent-300 dark:border-surface-700 dark:bg-surface-700": props.props.disabled
35545
- }, props.classes, "focus-visible:ring-4 focus-visible:ring-primary focus-visible:ring-opacity-50", "hover:ring-4 hover:ring-primary hover:ring-opacity-25", "block rounded-full transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50");
37152
+ }, props.classes, "focus-visible:ring-4 focus-visible:ring-primary focus-visible:ring-opacity-50 focus-visible:ring-primary/50", "hover:ring-4 hover:ring-primary hover:ring-opacity-25 hover:ring-primary/25", "block rounded-full transition-colors focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50");
35546
37153
  $[0] = props.classes;
35547
37154
  $[1] = props.props.disabled;
35548
37155
  $[2] = t1;
@@ -35560,7 +37167,7 @@ function SliderThumb(props) {
35560
37167
  }
35561
37168
  let t4;
35562
37169
  if ($[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35563
- t4 = cls("TooltipContent", "max-w-lg leading-relaxed", "z-50 rounded px-3 py-2 text-xs leading-none bg-surface-accent-700 dark:bg-surface-accent-800 bg-opacity-90 font-medium text-surface-accent-50 shadow-2xl select-none duration-400 ease-in transform opacity-100");
37170
+ t4 = cls("TooltipContent", "max-w-lg leading-relaxed", "z-50 rounded px-3 py-2 text-xs leading-none bg-surface-accent-700 dark:bg-surface-accent-800 bg-opacity-90 bg-surface-accent-700/90 dark:bg-surface-accent-800/90 font-medium text-surface-accent-50 shadow-2xl select-none duration-400 ease-in transform opacity-100");
35564
37171
  $[6] = t4;
35565
37172
  } else {
35566
37173
  t4 = $[6];
@@ -35665,7 +37272,7 @@ const Slider = React.forwardRef((t0, ref) => {
35665
37272
  }
35666
37273
  let t10;
35667
37274
  if ($[15] !== t6 || $[16] !== t9) {
35668
- t10 = /* @__PURE__ */ jsx(SliderPrimitive.Track, { style: t6, className: "relative w-full grow overflow-hidden rounded-full bg-surface-accent-300 bg-opacity-40 dark:bg-surface-700 dark:bg-opacity-40", children: t9 });
37275
+ t10 = /* @__PURE__ */ jsx(SliderPrimitive.Track, { style: t6, className: "relative w-full grow overflow-hidden rounded-full bg-surface-accent-300 bg-opacity-40 bg-surface-accent-300/40 dark:bg-surface-700 dark:bg-opacity-40 dark:bg-surface-700/40", children: t9 });
35669
37276
  $[15] = t6;
35670
37277
  $[16] = t9;
35671
37278
  $[17] = t10;
@@ -35720,13 +37327,14 @@ const Slider = React.forwardRef((t0, ref) => {
35720
37327
  });
35721
37328
  Slider.displayName = "Slider";
35722
37329
  const Sheet = (t0) => {
35723
- const $ = c(66);
37330
+ const $ = c(70);
35724
37331
  let children;
35725
37332
  let className;
35726
37333
  let onOpenChange;
35727
37334
  let open;
35728
37335
  let overlayClassName;
35729
37336
  let overlayStyle;
37337
+ let portalContainer;
35730
37338
  let props;
35731
37339
  let style;
35732
37340
  let t1;
@@ -35748,6 +37356,7 @@ const Sheet = (t0) => {
35748
37356
  style,
35749
37357
  overlayClassName,
35750
37358
  overlayStyle,
37359
+ portalContainer,
35751
37360
  ...props
35752
37361
  } = t0);
35753
37362
  $[0] = t0;
@@ -35757,13 +37366,14 @@ const Sheet = (t0) => {
35757
37366
  $[4] = open;
35758
37367
  $[5] = overlayClassName;
35759
37368
  $[6] = overlayStyle;
35760
- $[7] = props;
35761
- $[8] = style;
35762
- $[9] = t1;
35763
- $[10] = t2;
35764
- $[11] = t3;
35765
- $[12] = title;
35766
- $[13] = transparent;
37369
+ $[7] = portalContainer;
37370
+ $[8] = props;
37371
+ $[9] = style;
37372
+ $[10] = t1;
37373
+ $[11] = t2;
37374
+ $[12] = t3;
37375
+ $[13] = title;
37376
+ $[14] = transparent;
35767
37377
  } else {
35768
37378
  children = $[1];
35769
37379
  className = $[2];
@@ -35771,21 +37381,24 @@ const Sheet = (t0) => {
35771
37381
  open = $[4];
35772
37382
  overlayClassName = $[5];
35773
37383
  overlayStyle = $[6];
35774
- props = $[7];
35775
- style = $[8];
35776
- t1 = $[9];
35777
- t2 = $[10];
35778
- t3 = $[11];
35779
- title = $[12];
35780
- transparent = $[13];
37384
+ portalContainer = $[7];
37385
+ props = $[8];
37386
+ style = $[9];
37387
+ t1 = $[10];
37388
+ t2 = $[11];
37389
+ t3 = $[12];
37390
+ title = $[13];
37391
+ transparent = $[14];
35781
37392
  }
35782
37393
  const side = t1 === void 0 ? "right" : t1;
35783
37394
  const modal = t2 === void 0 ? true : t2;
35784
37395
  const includeBackgroundOverlay = t3 === void 0 ? true : t3;
35785
37396
  const [displayed, setDisplayed] = useState(false);
37397
+ const contextContainer = usePortalContainer();
37398
+ const finalContainer = portalContainer ?? contextContainer ?? void 0;
35786
37399
  let t4;
35787
37400
  let t5;
35788
- if ($[14] !== open) {
37401
+ if ($[15] !== open) {
35789
37402
  t4 = () => {
35790
37403
  const timeout = setTimeout(() => {
35791
37404
  setDisplayed(open);
@@ -35793,12 +37406,12 @@ const Sheet = (t0) => {
35793
37406
  return () => clearTimeout(timeout);
35794
37407
  };
35795
37408
  t5 = [open];
35796
- $[14] = open;
35797
- $[15] = t4;
35798
- $[16] = t5;
37409
+ $[15] = open;
37410
+ $[16] = t4;
37411
+ $[17] = t5;
35799
37412
  } else {
35800
- t4 = $[15];
35801
- t5 = $[16];
37413
+ t4 = $[16];
37414
+ t5 = $[17];
35802
37415
  }
35803
37416
  useEffect(t4, t5);
35804
37417
  let T0;
@@ -35808,11 +37421,12 @@ const Sheet = (t0) => {
35808
37421
  let t11;
35809
37422
  let t12;
35810
37423
  let t13;
37424
+ let t14;
35811
37425
  let t6;
35812
37426
  let t7;
35813
37427
  let t8;
35814
37428
  let t9;
35815
- if ($[17] !== className || $[18] !== displayed || $[19] !== includeBackgroundOverlay || $[20] !== modal || $[21] !== onOpenChange || $[22] !== open || $[23] !== overlayClassName || $[24] !== overlayStyle || $[25] !== props || $[26] !== side || $[27] !== title || $[28] !== transparent) {
37429
+ if ($[18] !== className || $[19] !== displayed || $[20] !== finalContainer || $[21] !== includeBackgroundOverlay || $[22] !== modal || $[23] !== onOpenChange || $[24] !== open || $[25] !== overlayClassName || $[26] !== overlayStyle || $[27] !== props || $[28] !== side || $[29] !== title || $[30] !== transparent) {
35816
37430
  const transformValue = {
35817
37431
  top: "-translate-y-full",
35818
37432
  bottom: "translate-y-full",
@@ -35826,113 +37440,118 @@ const Sheet = (t0) => {
35826
37440
  right: "border-l"
35827
37441
  };
35828
37442
  T2 = DialogPrimitive.Root;
35829
- t11 = displayed || open;
35830
- t12 = modal;
35831
- t13 = onOpenChange;
37443
+ t12 = displayed || open;
37444
+ t13 = modal;
37445
+ t14 = onOpenChange;
35832
37446
  T1 = DialogPrimitive.Portal;
35833
- const t142 = title ?? "Sheet";
35834
- if ($[40] !== t142) {
35835
- t9 = /* @__PURE__ */ jsx(DialogPrimitive.Title, { autoFocus: true, tabIndex: 0, children: t142 });
35836
- $[40] = t142;
35837
- $[41] = t9;
37447
+ t9 = finalContainer;
37448
+ const t152 = title ?? "Sheet";
37449
+ if ($[43] !== t152) {
37450
+ t10 = /* @__PURE__ */ jsx(DialogPrimitive.Title, { autoFocus: true, tabIndex: 0, children: t152 });
37451
+ $[43] = t152;
37452
+ $[44] = t10;
35838
37453
  } else {
35839
- t9 = $[41];
37454
+ t10 = $[44];
35840
37455
  }
35841
- if ($[42] !== displayed || $[43] !== includeBackgroundOverlay || $[44] !== open || $[45] !== overlayClassName || $[46] !== overlayStyle) {
35842
- t10 = includeBackgroundOverlay && /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { className: cls("outline-none", "fixed inset-0 transition-opacity z-20 ease-in-out duration-100 backdrop-blur-sm", "bg-black bg-opacity-50", "dark:bg-surface-900 dark:bg-opacity-60", displayed && open ? "opacity-100" : "opacity-0", overlayClassName), style: {
37456
+ if ($[45] !== displayed || $[46] !== includeBackgroundOverlay || $[47] !== open || $[48] !== overlayClassName || $[49] !== overlayStyle) {
37457
+ t11 = includeBackgroundOverlay && /* @__PURE__ */ jsx(DialogPrimitive.Overlay, { className: cls("outline-none", "fixed inset-0 transition-opacity z-20 ease-in-out duration-100 backdrop-blur-sm", "bg-black bg-opacity-50 bg-black/50", "dark:bg-surface-900 dark:bg-opacity-60 dark:bg-surface-900/60", displayed && open ? "opacity-100" : "opacity-0", overlayClassName), style: {
35843
37458
  pointerEvents: displayed ? "auto" : "none",
35844
37459
  ...overlayStyle
35845
37460
  } });
35846
- $[42] = displayed;
35847
- $[43] = includeBackgroundOverlay;
35848
- $[44] = open;
35849
- $[45] = overlayClassName;
35850
- $[46] = overlayStyle;
35851
- $[47] = t10;
37461
+ $[45] = displayed;
37462
+ $[46] = includeBackgroundOverlay;
37463
+ $[47] = open;
37464
+ $[48] = overlayClassName;
37465
+ $[49] = overlayStyle;
37466
+ $[50] = t11;
35852
37467
  } else {
35853
- t10 = $[47];
37468
+ t11 = $[50];
35854
37469
  }
35855
37470
  T0 = DialogPrimitive.Content;
35856
37471
  t6 = props;
35857
37472
  t7 = _temp;
35858
37473
  t8 = cls("outline-none", borderClass[side], defaultBorderMixin, "transform-gpu", "will-change-transform", "text-surface-accent-900 dark:text-white", "fixed transform z-20 transition-all ease-in-out", !displayed ? "duration-150" : "duration-100", "outline-none focus:outline-none", transparent ? "" : "shadow-md bg-white dark:bg-surface-950", side === "top" || side === "bottom" ? "w-full" : "h-full", side === "left" || side === "top" ? "left-0 top-0" : "right-0 bottom-0", displayed && open ? "opacity-100" : "opacity-50", !displayed || !open ? transformValue[side] : "", className);
35859
- $[17] = className;
35860
- $[18] = displayed;
35861
- $[19] = includeBackgroundOverlay;
35862
- $[20] = modal;
35863
- $[21] = onOpenChange;
35864
- $[22] = open;
35865
- $[23] = overlayClassName;
35866
- $[24] = overlayStyle;
35867
- $[25] = props;
35868
- $[26] = side;
35869
- $[27] = title;
35870
- $[28] = transparent;
35871
- $[29] = T0;
35872
- $[30] = T1;
35873
- $[31] = T2;
35874
- $[32] = t10;
35875
- $[33] = t11;
35876
- $[34] = t12;
35877
- $[35] = t13;
35878
- $[36] = t6;
35879
- $[37] = t7;
35880
- $[38] = t8;
35881
- $[39] = t9;
35882
- } else {
35883
- T0 = $[29];
35884
- T1 = $[30];
35885
- T2 = $[31];
35886
- t10 = $[32];
35887
- t11 = $[33];
35888
- t12 = $[34];
35889
- t13 = $[35];
35890
- t6 = $[36];
35891
- t7 = $[37];
35892
- t8 = $[38];
35893
- t9 = $[39];
35894
- }
35895
- let t14;
35896
- if ($[48] !== T0 || $[49] !== children || $[50] !== style || $[51] !== t6 || $[52] !== t7 || $[53] !== t8) {
35897
- t14 = /* @__PURE__ */ jsx(T0, { ...t6, onFocusCapture: t7, className: t8, style, children });
35898
- $[48] = T0;
35899
- $[49] = children;
35900
- $[50] = style;
35901
- $[51] = t6;
35902
- $[52] = t7;
35903
- $[53] = t8;
35904
- $[54] = t14;
35905
- } else {
35906
- t14 = $[54];
37474
+ $[18] = className;
37475
+ $[19] = displayed;
37476
+ $[20] = finalContainer;
37477
+ $[21] = includeBackgroundOverlay;
37478
+ $[22] = modal;
37479
+ $[23] = onOpenChange;
37480
+ $[24] = open;
37481
+ $[25] = overlayClassName;
37482
+ $[26] = overlayStyle;
37483
+ $[27] = props;
37484
+ $[28] = side;
37485
+ $[29] = title;
37486
+ $[30] = transparent;
37487
+ $[31] = T0;
37488
+ $[32] = T1;
37489
+ $[33] = T2;
37490
+ $[34] = t10;
37491
+ $[35] = t11;
37492
+ $[36] = t12;
37493
+ $[37] = t13;
37494
+ $[38] = t14;
37495
+ $[39] = t6;
37496
+ $[40] = t7;
37497
+ $[41] = t8;
37498
+ $[42] = t9;
37499
+ } else {
37500
+ T0 = $[31];
37501
+ T1 = $[32];
37502
+ T2 = $[33];
37503
+ t10 = $[34];
37504
+ t11 = $[35];
37505
+ t12 = $[36];
37506
+ t13 = $[37];
37507
+ t14 = $[38];
37508
+ t6 = $[39];
37509
+ t7 = $[40];
37510
+ t8 = $[41];
37511
+ t9 = $[42];
35907
37512
  }
35908
37513
  let t15;
35909
- if ($[55] !== T1 || $[56] !== t10 || $[57] !== t14 || $[58] !== t9) {
35910
- t15 = /* @__PURE__ */ jsxs(T1, { children: [
35911
- t9,
37514
+ if ($[51] !== T0 || $[52] !== children || $[53] !== style || $[54] !== t6 || $[55] !== t7 || $[56] !== t8) {
37515
+ t15 = /* @__PURE__ */ jsx(T0, { ...t6, onFocusCapture: t7, className: t8, style, children });
37516
+ $[51] = T0;
37517
+ $[52] = children;
37518
+ $[53] = style;
37519
+ $[54] = t6;
37520
+ $[55] = t7;
37521
+ $[56] = t8;
37522
+ $[57] = t15;
37523
+ } else {
37524
+ t15 = $[57];
37525
+ }
37526
+ let t16;
37527
+ if ($[58] !== T1 || $[59] !== t10 || $[60] !== t11 || $[61] !== t15 || $[62] !== t9) {
37528
+ t16 = /* @__PURE__ */ jsxs(T1, { container: t9, children: [
35912
37529
  t10,
35913
- t14
37530
+ t11,
37531
+ t15
35914
37532
  ] });
35915
- $[55] = T1;
35916
- $[56] = t10;
35917
- $[57] = t14;
35918
- $[58] = t9;
35919
- $[59] = t15;
37533
+ $[58] = T1;
37534
+ $[59] = t10;
37535
+ $[60] = t11;
37536
+ $[61] = t15;
37537
+ $[62] = t9;
37538
+ $[63] = t16;
35920
37539
  } else {
35921
- t15 = $[59];
37540
+ t16 = $[63];
35922
37541
  }
35923
- let t16;
35924
- if ($[60] !== T2 || $[61] !== t11 || $[62] !== t12 || $[63] !== t13 || $[64] !== t15) {
35925
- t16 = /* @__PURE__ */ jsx(T2, { open: t11, modal: t12, onOpenChange: t13, children: t15 });
35926
- $[60] = T2;
35927
- $[61] = t11;
35928
- $[62] = t12;
35929
- $[63] = t13;
35930
- $[64] = t15;
35931
- $[65] = t16;
35932
- } else {
35933
- t16 = $[65];
35934
- }
35935
- return t16;
37542
+ let t17;
37543
+ if ($[64] !== T2 || $[65] !== t12 || $[66] !== t13 || $[67] !== t14 || $[68] !== t16) {
37544
+ t17 = /* @__PURE__ */ jsx(T2, { open: t12, modal: t13, onOpenChange: t14, children: t16 });
37545
+ $[64] = T2;
37546
+ $[65] = t12;
37547
+ $[66] = t13;
37548
+ $[67] = t14;
37549
+ $[68] = t16;
37550
+ $[69] = t17;
37551
+ } else {
37552
+ t17 = $[69];
37553
+ }
37554
+ return t17;
35936
37555
  };
35937
37556
  function _temp(event) {
35938
37557
  return event.preventDefault();
@@ -35940,203 +37559,222 @@ function _temp(event) {
35940
37559
  function getStyleValue(value) {
35941
37560
  return parseInt(value, 10) || 0;
35942
37561
  }
35943
- const styles$1 = {
35944
- shadow: {
35945
- // Visibility needed to hide the extra text area on iPads
35946
- visibility: "hidden",
35947
- // Remove from the content flow
35948
- position: "absolute",
35949
- // Ignore the scrollbar width
35950
- overflow: "hidden",
35951
- height: 0,
35952
- top: 0,
35953
- left: 0,
35954
- // Create a new layer, increase the isolation of the computed values
35955
- transform: "translateZ(0)"
35956
- }
35957
- };
35958
- function isEmpty(obj) {
35959
- return obj === void 0 || obj === null || Object.keys(obj).length === 0 || obj.outerHeightStyle === 0 && !obj.overflow;
35960
- }
35961
37562
  const TextareaAutosize = React.forwardRef(function TextareaAutosize2(props, ref) {
35962
- const {
35963
- onChange,
35964
- onScroll,
35965
- onResize,
35966
- maxRows,
35967
- minRows = 1,
35968
- style,
35969
- value,
35970
- onFocus,
35971
- onBlur,
35972
- sizeRef,
35973
- ignoreBoxSizing,
35974
- ...other
35975
- } = props;
37563
+ const $ = c(38);
37564
+ let ignoreBoxSizing;
37565
+ let maxRows;
37566
+ let onBlur;
37567
+ let onChange;
37568
+ let onFocus;
37569
+ let onResize;
37570
+ let onScroll;
37571
+ let other;
37572
+ let style;
37573
+ let t0;
37574
+ let value;
37575
+ if ($[0] !== props) {
37576
+ const {
37577
+ onChange: t12,
37578
+ onScroll: t22,
37579
+ onResize: t32,
37580
+ maxRows: t42,
37581
+ minRows: t52,
37582
+ style: t62,
37583
+ value: t72,
37584
+ onFocus: t82,
37585
+ onBlur: t9,
37586
+ sizeRef,
37587
+ ignoreBoxSizing: t10,
37588
+ ...t11
37589
+ } = props;
37590
+ onChange = t12;
37591
+ onScroll = t22;
37592
+ onResize = t32;
37593
+ maxRows = t42;
37594
+ t0 = t52;
37595
+ style = t62;
37596
+ value = t72;
37597
+ onFocus = t82;
37598
+ onBlur = t9;
37599
+ ignoreBoxSizing = t10;
37600
+ other = t11;
37601
+ $[0] = props;
37602
+ $[1] = ignoreBoxSizing;
37603
+ $[2] = maxRows;
37604
+ $[3] = onBlur;
37605
+ $[4] = onChange;
37606
+ $[5] = onFocus;
37607
+ $[6] = onResize;
37608
+ $[7] = onScroll;
37609
+ $[8] = other;
37610
+ $[9] = style;
37611
+ $[10] = t0;
37612
+ $[11] = value;
37613
+ } else {
37614
+ ignoreBoxSizing = $[1];
37615
+ maxRows = $[2];
37616
+ onBlur = $[3];
37617
+ onChange = $[4];
37618
+ onFocus = $[5];
37619
+ onResize = $[6];
37620
+ onScroll = $[7];
37621
+ other = $[8];
37622
+ style = $[9];
37623
+ t0 = $[10];
37624
+ value = $[11];
37625
+ }
37626
+ const minRows = t0 === void 0 ? 1 : t0;
35976
37627
  const {
35977
37628
  current: isControlled
35978
37629
  } = React.useRef(value != null);
35979
37630
  const inputRef = React.useRef(null);
35980
37631
  const handleRef = useForkRef(ref, inputRef);
35981
- const shadowRef = React.useRef(null);
35982
- const renders = React.useRef(0);
35983
- const [state, setState] = React.useState({
35984
- outerHeightStyle: 0
35985
- });
35986
- const getUpdatedState = React.useCallback(() => {
35987
- const input = inputRef.current;
35988
- if (typeof window === "undefined") {
35989
- return {
35990
- outerHeightStyle: 0
35991
- };
35992
- }
35993
- const containerWindow = window;
35994
- const computedStyle = containerWindow.getComputedStyle(input);
35995
- if (computedStyle.width === "0px") {
35996
- return {
35997
- outerHeightStyle: 0
35998
- };
35999
- }
36000
- const sizeReferenceElement = sizeRef?.current ?? shadowRef.current;
36001
- const inputShallow = shadowRef.current;
36002
- sizeReferenceElement.style.width = computedStyle.width;
36003
- inputShallow.value = input.value || props.placeholder || "x";
36004
- if (inputShallow.value.slice(-1) === "\n") {
36005
- inputShallow.value += " ";
36006
- }
36007
- const boxSizing = computedStyle.boxSizing;
36008
- const padding = getStyleValue(computedStyle.paddingBottom) + getStyleValue(computedStyle.paddingTop);
36009
- const border = getStyleValue(computedStyle.borderBottomWidth) + getStyleValue(computedStyle.borderTopWidth);
36010
- const minHeight = getStyleValue(computedStyle.minHeight);
36011
- const innerHeight = sizeReferenceElement.scrollHeight;
36012
- inputShallow.value = "x";
36013
- const singleRowHeight = sizeReferenceElement.scrollHeight;
36014
- let outerHeight = innerHeight;
36015
- if (minRows) {
36016
- outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);
36017
- }
36018
- if (maxRows) {
36019
- outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);
36020
- }
36021
- outerHeight = Math.max(outerHeight, singleRowHeight, minHeight);
36022
- const outerHeightStyle = outerHeight + (!ignoreBoxSizing && boxSizing === "border-box" ? padding + border : 0);
36023
- const overflow = Math.abs(outerHeight - innerHeight) <= 1;
36024
- return {
36025
- outerHeightStyle,
36026
- overflow
36027
- };
36028
- }, [maxRows, minRows, props.placeholder]);
36029
- const updateState = React.useCallback((prevState, newState) => {
36030
- const {
36031
- outerHeightStyle: outerHeightStyle_0,
36032
- overflow: overflow_0
36033
- } = newState;
36034
- if (renders.current < 20 && (outerHeightStyle_0 > 0 && Math.abs((prevState.outerHeightStyle || 0) - outerHeightStyle_0) > 1 || prevState.overflow !== overflow_0)) {
36035
- renders.current += 1;
36036
- return {
36037
- overflow: overflow_0,
36038
- outerHeightStyle: outerHeightStyle_0
36039
- };
36040
- }
36041
- if (process.env.NODE_ENV !== "production") {
36042
- if (renders.current === 20) {
36043
- console.error(["MUI: Too many re-renders. The layout is unstable.", "TextareaAutosize limits the number of renders to prevent an infinite loop."].join("\n"));
37632
+ let t1;
37633
+ if ($[12] !== ignoreBoxSizing || $[13] !== maxRows || $[14] !== minRows || $[15] !== onResize) {
37634
+ t1 = () => {
37635
+ const el = inputRef.current;
37636
+ if (!el || typeof window === "undefined") {
37637
+ return;
36044
37638
  }
36045
- }
36046
- return prevState;
36047
- }, []);
36048
- const syncHeight = React.useCallback(() => {
36049
- const newState_0 = getUpdatedState();
36050
- if (isEmpty(newState_0)) {
36051
- return;
36052
- }
36053
- if (onResize) {
36054
- onResize(newState_0);
36055
- }
36056
- setState((prevState_0) => {
36057
- return updateState(prevState_0, newState_0);
36058
- });
36059
- }, [getUpdatedState, onResize, updateState]);
36060
- const syncHeightWithFlushSync = React.useCallback(() => {
36061
- const newState_1 = getUpdatedState();
36062
- if (isEmpty(newState_1)) {
36063
- return;
36064
- }
36065
- ReactDOM.flushSync(() => {
36066
- setState((prevState_1) => {
36067
- return updateState(prevState_1, newState_1);
36068
- });
36069
- });
36070
- }, [getUpdatedState, updateState]);
36071
- React.useEffect(() => {
36072
- const handleResize = debounce(() => {
36073
- renders.current = 0;
36074
- if (inputRef.current) {
36075
- syncHeightWithFlushSync();
37639
+ if (el.offsetWidth === 0) {
37640
+ return;
36076
37641
  }
36077
- });
36078
- let resizeObserver;
36079
- const input_0 = inputRef.current;
36080
- const containerWindow_0 = window;
36081
- if (typeof window === "undefined") {
36082
- return;
36083
- }
36084
- containerWindow_0.addEventListener("resize", handleResize);
36085
- if (typeof ResizeObserver !== "undefined") {
36086
- resizeObserver = new ResizeObserver(handleResize);
36087
- resizeObserver.observe(input_0);
36088
- }
36089
- return () => {
36090
- handleResize.clear();
36091
- containerWindow_0.removeEventListener("resize", handleResize);
36092
- if (resizeObserver) {
36093
- resizeObserver.disconnect();
37642
+ const cs = window.getComputedStyle(el);
37643
+ const paddingY = getStyleValue(cs.paddingTop) + getStyleValue(cs.paddingBottom);
37644
+ const borderY = getStyleValue(cs.borderTopWidth) + getStyleValue(cs.borderBottomWidth);
37645
+ const boxSizing = cs.boxSizing;
37646
+ const prevHeight = el.style.height;
37647
+ const prevOverflow = el.style.overflowY;
37648
+ el.style.overflowY = "hidden";
37649
+ el.style.height = "0px";
37650
+ const scrollH = el.scrollHeight;
37651
+ const prevValue = el.value;
37652
+ el.value = "x";
37653
+ const singleRowScrollH = el.scrollHeight;
37654
+ el.value = prevValue;
37655
+ el.style.height = prevHeight;
37656
+ el.style.overflowY = prevOverflow;
37657
+ const lineHeight = singleRowScrollH - paddingY;
37658
+ let targetHeight = scrollH;
37659
+ if (minRows) {
37660
+ targetHeight = Math.max(Number(minRows) * lineHeight + paddingY, targetHeight);
37661
+ }
37662
+ const unclampedHeight = targetHeight;
37663
+ if (maxRows) {
37664
+ targetHeight = Math.min(Number(maxRows) * lineHeight + paddingY, targetHeight);
37665
+ }
37666
+ const extra = !ignoreBoxSizing && boxSizing === "border-box" ? borderY : 0;
37667
+ const finalHeight = Math.ceil(targetHeight + extra);
37668
+ const shouldScroll = Math.abs(unclampedHeight - targetHeight) > 1;
37669
+ el.style.height = `${finalHeight}px`;
37670
+ el.style.overflowY = shouldScroll ? "auto" : "hidden";
37671
+ if (onResize) {
37672
+ onResize({
37673
+ outerHeightStyle: finalHeight,
37674
+ overflow: !shouldScroll
37675
+ });
36094
37676
  }
36095
37677
  };
36096
- }, [syncHeightWithFlushSync]);
36097
- useLayoutEffect(() => {
36098
- syncHeight();
36099
- });
36100
- React.useEffect(() => {
36101
- renders.current = 0;
36102
- }, [value]);
36103
- const handleChange = (event) => {
36104
- renders.current = 0;
36105
- if (!isControlled) {
37678
+ $[12] = ignoreBoxSizing;
37679
+ $[13] = maxRows;
37680
+ $[14] = minRows;
37681
+ $[15] = onResize;
37682
+ $[16] = t1;
37683
+ } else {
37684
+ t1 = $[16];
37685
+ }
37686
+ const syncHeight = t1;
37687
+ let t2;
37688
+ if ($[17] !== syncHeight) {
37689
+ t2 = () => {
36106
37690
  syncHeight();
36107
- }
36108
- if (onChange) {
36109
- onChange(event);
36110
- }
36111
- };
36112
- return /* @__PURE__ */ jsxs(React.Fragment, { children: [
36113
- /* @__PURE__ */ jsx(
36114
- "textarea",
36115
- {
36116
- value,
36117
- onChange: handleChange,
36118
- className: props.className,
36119
- ref: handleRef,
36120
- onFocus,
36121
- onBlur,
36122
- rows: minRows,
36123
- style: {
36124
- height: state.outerHeightStyle,
36125
- // Need a large enough difference to allow scrolling.
36126
- // This prevents infinite rendering loop.
36127
- overflow: state.overflow ? "hidden" : void 0,
36128
- ...style
36129
- },
36130
- onScroll,
36131
- ...other
37691
+ };
37692
+ $[17] = syncHeight;
37693
+ $[18] = t2;
37694
+ } else {
37695
+ t2 = $[18];
37696
+ }
37697
+ useLayoutEffect(t2);
37698
+ let t3;
37699
+ let t4;
37700
+ if ($[19] !== syncHeight) {
37701
+ t3 = () => {
37702
+ const handleResize = debounce(() => {
37703
+ if (inputRef.current) {
37704
+ syncHeight();
37705
+ }
37706
+ });
37707
+ const input = inputRef.current;
37708
+ if (typeof window === "undefined") {
37709
+ return;
37710
+ }
37711
+ window.addEventListener("resize", handleResize);
37712
+ let resizeObserver;
37713
+ if (typeof ResizeObserver !== "undefined") {
37714
+ resizeObserver = new ResizeObserver(handleResize);
37715
+ resizeObserver.observe(input);
36132
37716
  }
36133
- ),
36134
- /* @__PURE__ */ jsx("textarea", { "aria-hidden": true, className: cls(props.className, props.shadowClassName), readOnly: true, ref: shadowRef, tabIndex: -1, style: {
36135
- padding: 0,
36136
- ...styles$1.shadow,
37717
+ return () => {
37718
+ handleResize.clear();
37719
+ window.removeEventListener("resize", handleResize);
37720
+ resizeObserver?.disconnect();
37721
+ };
37722
+ };
37723
+ t4 = [syncHeight];
37724
+ $[19] = syncHeight;
37725
+ $[20] = t3;
37726
+ $[21] = t4;
37727
+ } else {
37728
+ t3 = $[20];
37729
+ t4 = $[21];
37730
+ }
37731
+ React.useEffect(t3, t4);
37732
+ let t5;
37733
+ if ($[22] !== onChange || $[23] !== syncHeight) {
37734
+ t5 = (event) => {
37735
+ if (!isControlled) {
37736
+ syncHeight();
37737
+ }
37738
+ if (onChange) {
37739
+ onChange(event);
37740
+ }
37741
+ };
37742
+ $[22] = onChange;
37743
+ $[23] = syncHeight;
37744
+ $[24] = t5;
37745
+ } else {
37746
+ t5 = $[24];
37747
+ }
37748
+ const handleChange = t5;
37749
+ const t6 = minRows;
37750
+ let t7;
37751
+ if ($[25] !== style) {
37752
+ t7 = {
36137
37753
  ...style
36138
- } })
36139
- ] });
37754
+ };
37755
+ $[25] = style;
37756
+ $[26] = t7;
37757
+ } else {
37758
+ t7 = $[26];
37759
+ }
37760
+ let t8;
37761
+ if ($[27] !== handleChange || $[28] !== handleRef || $[29] !== onBlur || $[30] !== onFocus || $[31] !== onScroll || $[32] !== other || $[33] !== props.className || $[34] !== t6 || $[35] !== t7 || $[36] !== value) {
37762
+ t8 = /* @__PURE__ */ jsx("textarea", { value, onChange: handleChange, className: props.className, ref: handleRef, onFocus, onBlur, rows: t6, style: t7, onScroll, ...other });
37763
+ $[27] = handleChange;
37764
+ $[28] = handleRef;
37765
+ $[29] = onBlur;
37766
+ $[30] = onFocus;
37767
+ $[31] = onScroll;
37768
+ $[32] = other;
37769
+ $[33] = props.className;
37770
+ $[34] = t6;
37771
+ $[35] = t7;
37772
+ $[36] = value;
37773
+ $[37] = t8;
37774
+ } else {
37775
+ t8 = $[37];
37776
+ }
37777
+ return t8;
36140
37778
  });
36141
37779
  function useForkRef(...refs) {
36142
37780
  return React.useMemo(() => {
@@ -36180,8 +37818,13 @@ const TextField = forwardRef(({
36180
37818
  ...inputProps
36181
37819
  }, ref) => {
36182
37820
  const inputRef = inputRefProp ?? useRef(null);
36183
- const [focused, setFocused] = React__default.useState(document.activeElement === inputRef.current);
37821
+ const [focused, setFocused] = React__default.useState(false);
36184
37822
  const hasValue = value !== void 0 && value !== null && value !== "";
37823
+ useEffect(() => {
37824
+ if (inputRef.current && document.activeElement === inputRef.current) {
37825
+ setFocused(true);
37826
+ }
37827
+ }, []);
36185
37828
  useEffect(() => {
36186
37829
  if (type !== "number") return;
36187
37830
  const handleWheel = (event) => {
@@ -36193,12 +37836,12 @@ const TextField = forwardRef(({
36193
37836
  element?.removeEventListener("wheel", handleWheel);
36194
37837
  };
36195
37838
  }, [inputRef, type]);
36196
- const input = multiline ? /* @__PURE__ */ jsx(TextareaAutosize, { ...inputProps, ref: inputRef, placeholder: focused || hasValue || !label ? placeholder : void 0, autoFocus, minRows, maxRows, value: value ?? "", onChange, style: inputStyle, className: cls(invisible ? focusedInvisibleMixin : "", "rounded-md resize-none w-full outline-none p-[32px] text-base bg-transparent min-h-[64px] px-3 pt-8", disabled && "outline-none opacity-50 text-surface-accent-600 dark:text-surface-accent-500", inputClassName) }) : /* @__PURE__ */ jsx("input", { ...inputProps, ref: inputRef, disabled, style: inputStyle, className: cls("w-full outline-none bg-transparent leading-normal px-3", "rounded-md", "focused:text-text-primary focused:dark:text-text-primary-dark", invisible ? focusedInvisibleMixin : "", disabled ? fieldBackgroundDisabledMixin : fieldBackgroundHoverMixin, {
37839
+ const input = multiline ? /* @__PURE__ */ jsx("textarea", { ...inputProps, ref: inputRef, placeholder: focused || hasValue || !label ? placeholder : void 0, autoFocus, rows: typeof minRows === "string" ? parseInt(minRows) : minRows ?? 3, value: value ?? "", onChange, onFocus: () => setFocused(true), onBlur: () => setFocused(false), style: inputStyle, className: cls(invisible ? focusedInvisibleMixin : "", "rounded-md resize-none w-full outline-none text-base bg-transparent min-h-[64px] px-3", label ? "pt-8 pb-2" : "py-2", disabled && "outline-none opacity-50 text-surface-accent-600 dark:text-surface-accent-500", inputClassName) }) : /* @__PURE__ */ jsx("input", { ...inputProps, ref: inputRef, disabled, style: inputStyle, className: cls("w-full outline-none bg-transparent leading-normal px-3", "rounded-md", "focused:text-text-primary focused:dark:text-text-primary-dark", invisible ? focusedInvisibleMixin : "", disabled ? fieldBackgroundDisabledMixin : fieldBackgroundHoverMixin, {
36197
37840
  "min-h-[28px]": size === "smallest",
36198
37841
  "min-h-[32px]": size === "small",
36199
37842
  "min-h-[44px]": size === "medium",
36200
37843
  "min-h-[64px]": size === "large"
36201
- }, label ? size === "large" ? "pt-8 pb-2" : "pt-4 pb-2" : "py-2", endAdornment ? "pr-12" : "pr-3", disabled && "outline-none opacity-65 dark:opacity-60 text-surface-accent-800 dark:text-white", inputClassName), placeholder: focused || hasValue || !label ? placeholder : void 0, autoFocus, onFocus: () => setFocused(true), onBlur: () => setFocused(false), type, value: type === "number" && Number.isNaN(value) ? "" : value ?? "", onChange });
37844
+ }, label ? size === "large" ? "pt-8 pb-2" : "pt-4 pb-2" : size === "smallest" ? "py-0.5" : size === "small" ? "py-1" : "py-2", endAdornment ? "pr-12" : "pr-3", disabled && "outline-none opacity-65 dark:opacity-60 text-surface-accent-800 dark:text-white", inputClassName), placeholder: focused || hasValue || !label ? placeholder : void 0, autoFocus, onFocus: () => setFocused(true), onBlur: () => setFocused(false), type, value: type === "number" && Number.isNaN(value) ? "" : value ?? "", onChange });
36202
37845
  return /* @__PURE__ */ jsxs("div", { ref, className: cls("rounded-md relative max-w-full", invisible ? fieldBackgroundInvisibleMixin : fieldBackgroundMixin, disabled ? fieldBackgroundDisabledMixin : fieldBackgroundHoverMixin, error ? "border border-red-500 dark:border-red-600" : "", {
36203
37846
  "min-h-[28px]": size === "smallest",
36204
37847
  "min-h-[32px]": size === "small",
@@ -36215,215 +37858,183 @@ const TextField = forwardRef(({
36215
37858
  ] });
36216
37859
  });
36217
37860
  TextField.displayName = "TextField";
36218
- const Tooltip = (t0) => {
36219
- const $ = c(28);
37861
+ const TabsModeContext = createContext("primary");
37862
+ function Tabs(t0) {
37863
+ const $ = c(35);
36220
37864
  const {
36221
- open,
36222
- defaultOpen,
36223
- side: t1,
36224
- delayDuration: t2,
36225
- sideOffset,
36226
- align,
36227
- onOpenChange,
36228
- title,
36229
- tooltipClassName,
36230
- tooltipStyle,
36231
- children,
36232
- asChild: t3,
36233
- container,
37865
+ value,
37866
+ onValueChange,
36234
37867
  className,
36235
- style
37868
+ innerClassName,
37869
+ children,
37870
+ mode: t1
36236
37871
  } = t0;
36237
- const side = t1 === void 0 ? "bottom" : t1;
36238
- const delayDuration = t2 === void 0 ? 200 : t2;
36239
- const asChild = t3 === void 0 ? false : t3;
36240
- useInjectStyles("Tooltip", styles);
36241
- if (!title) {
36242
- let t42;
36243
- if ($[0] !== children) {
36244
- t42 = /* @__PURE__ */ jsx(Fragment, { children });
36245
- $[0] = children;
36246
- $[1] = t42;
36247
- } else {
36248
- t42 = $[1];
36249
- }
36250
- return t42;
37872
+ const mode = t1 === void 0 ? "primary" : t1;
37873
+ const scrollContainerRef = useRef(null);
37874
+ const [showLeftScroll, setShowLeftScroll] = useState(false);
37875
+ const [showRightScroll, setShowRightScroll] = useState(false);
37876
+ const [isScrollable, setIsScrollable] = useState(false);
37877
+ let t2;
37878
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
37879
+ t2 = () => {
37880
+ if (scrollContainerRef.current) {
37881
+ const {
37882
+ scrollLeft,
37883
+ scrollWidth,
37884
+ clientWidth
37885
+ } = scrollContainerRef.current;
37886
+ setShowLeftScroll(scrollLeft > 0);
37887
+ setShowRightScroll(Math.ceil(scrollLeft + clientWidth) < scrollWidth);
37888
+ setIsScrollable(scrollWidth > clientWidth);
37889
+ }
37890
+ };
37891
+ $[0] = t2;
37892
+ } else {
37893
+ t2 = $[0];
37894
+ }
37895
+ const checkScroll = t2;
37896
+ let t3;
37897
+ if ($[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
37898
+ t3 = () => {
37899
+ checkScroll();
37900
+ window.addEventListener("resize", checkScroll);
37901
+ let observer;
37902
+ if (scrollContainerRef.current) {
37903
+ observer = new ResizeObserver(checkScroll);
37904
+ observer.observe(scrollContainerRef.current);
37905
+ if (scrollContainerRef.current.firstElementChild) {
37906
+ observer.observe(scrollContainerRef.current.firstElementChild);
37907
+ }
37908
+ }
37909
+ return () => {
37910
+ window.removeEventListener("resize", checkScroll);
37911
+ observer?.disconnect();
37912
+ };
37913
+ };
37914
+ $[1] = t3;
37915
+ } else {
37916
+ t3 = $[1];
36251
37917
  }
36252
37918
  let t4;
36253
- if ($[2] !== asChild || $[3] !== children || $[4] !== className || $[5] !== style) {
36254
- t4 = asChild ? /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { asChild: true, children }) : /* @__PURE__ */ jsx(TooltipPrimitive.Trigger, { asChild: true, children: /* @__PURE__ */ jsx("div", { style, className, children }) });
36255
- $[2] = asChild;
36256
- $[3] = children;
36257
- $[4] = className;
36258
- $[5] = style;
36259
- $[6] = t4;
37919
+ if ($[2] !== children) {
37920
+ t4 = [children];
37921
+ $[2] = children;
37922
+ $[3] = t4;
36260
37923
  } else {
36261
- t4 = $[6];
37924
+ t4 = $[3];
36262
37925
  }
36263
- const trigger = t4;
37926
+ useEffect(t3, t4);
36264
37927
  let t5;
36265
- if ($[7] !== tooltipClassName) {
36266
- t5 = cls("TooltipContent", "max-w-lg leading-relaxed", "z-50 rounded px-3 py-2 text-xs leading-none bg-surface-accent-700 dark:bg-surface-accent-800 bg-opacity-90 font-medium text-surface-accent-50 shadow-2xl select-none duration-400 ease-in transform opacity-100", tooltipClassName);
36267
- $[7] = tooltipClassName;
36268
- $[8] = t5;
37928
+ if ($[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
37929
+ t5 = (direction) => {
37930
+ if (scrollContainerRef.current) {
37931
+ const container = scrollContainerRef.current;
37932
+ const scrollAmount = Math.max(container.clientWidth / 2, 200);
37933
+ const targetScroll = container.scrollLeft + (direction === "left" ? -scrollAmount : scrollAmount);
37934
+ container.scrollTo({
37935
+ left: targetScroll,
37936
+ behavior: "smooth"
37937
+ });
37938
+ }
37939
+ };
37940
+ $[4] = t5;
36269
37941
  } else {
36270
- t5 = $[8];
37942
+ t5 = $[4];
37943
+ }
37944
+ const scroll = t5;
37945
+ let t6;
37946
+ if ($[5] !== className) {
37947
+ t6 = cls("flex flex-row items-center min-w-0", className);
37948
+ $[5] = className;
37949
+ $[6] = t6;
37950
+ } else {
37951
+ t6 = $[6];
36271
37952
  }
36272
- const t6 = sideOffset === void 0 ? 4 : sideOffset;
36273
37953
  let t7;
36274
- if ($[9] !== align || $[10] !== side || $[11] !== t5 || $[12] !== t6 || $[13] !== title || $[14] !== tooltipStyle) {
36275
- t7 = /* @__PURE__ */ jsx(TooltipPrimitive.Content, { className: t5, style: tooltipStyle, sideOffset: t6, align, side, children: title });
36276
- $[9] = align;
36277
- $[10] = side;
36278
- $[11] = t5;
36279
- $[12] = t6;
36280
- $[13] = title;
36281
- $[14] = tooltipStyle;
36282
- $[15] = t7;
37954
+ if ($[7] !== isScrollable || $[8] !== mode || $[9] !== showLeftScroll) {
37955
+ t7 = isScrollable && /* @__PURE__ */ jsx("button", { type: "button", disabled: !showLeftScroll, onClick: () => scroll("left"), className: cls("flex-shrink-0 z-10 flex items-center justify-center rounded-md px-0.5 py-1.5 transition-all h-10 w-6", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-surface-400", "disabled:pointer-events-none disabled:opacity-0", "text-surface-600 dark:text-surface-400 hover:bg-surface-200 dark:hover:bg-surface-800", mode === "primary" && "mr-1 bg-surface-50 dark:bg-surface-900 border", mode === "primary" && defaultBorderMixin, mode === "secondary" && "mr-1"), children: /* @__PURE__ */ jsx(ChevronLeftIcon, { size: "small" }) });
37956
+ $[7] = isScrollable;
37957
+ $[8] = mode;
37958
+ $[9] = showLeftScroll;
37959
+ $[10] = t7;
36283
37960
  } else {
36284
- t7 = $[15];
37961
+ t7 = $[10];
36285
37962
  }
36286
37963
  let t8;
36287
- if ($[16] !== container || $[17] !== t7) {
36288
- t8 = /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { container, children: t7 });
36289
- $[16] = container;
36290
- $[17] = t7;
36291
- $[18] = t8;
37964
+ if ($[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
37965
+ t8 = {
37966
+ scrollbarWidth: "none",
37967
+ msOverflowStyle: "none"
37968
+ };
37969
+ $[11] = t8;
36292
37970
  } else {
36293
- t8 = $[18];
37971
+ t8 = $[11];
36294
37972
  }
36295
- let t9;
36296
- if ($[19] !== defaultOpen || $[20] !== onOpenChange || $[21] !== open || $[22] !== t8 || $[23] !== trigger) {
36297
- t9 = /* @__PURE__ */ jsxs(TooltipPrimitive.Root, { open, onOpenChange, defaultOpen, children: [
36298
- trigger,
36299
- t8
36300
- ] });
36301
- $[19] = defaultOpen;
36302
- $[20] = onOpenChange;
36303
- $[21] = open;
36304
- $[22] = t8;
36305
- $[23] = trigger;
36306
- $[24] = t9;
37973
+ const t9 = mode === "primary" && "border";
37974
+ const t10 = mode === "primary" && defaultBorderMixin;
37975
+ const t11 = mode === "primary" && "gap-2 inline-flex h-10 items-center justify-center rounded-md bg-surface-50 p-1 text-surface-600 dark:bg-surface-900 dark:text-surface-400";
37976
+ const t12 = mode === "secondary" && "gap-1 inline-flex h-9 items-center text-surface-500 dark:text-surface-400";
37977
+ let t13;
37978
+ if ($[12] !== innerClassName || $[13] !== t10 || $[14] !== t11 || $[15] !== t12 || $[16] !== t9) {
37979
+ t13 = cls(t9, t10, t11, t12, innerClassName);
37980
+ $[12] = innerClassName;
37981
+ $[13] = t10;
37982
+ $[14] = t11;
37983
+ $[15] = t12;
37984
+ $[16] = t9;
37985
+ $[17] = t13;
36307
37986
  } else {
36308
- t9 = $[24];
37987
+ t13 = $[17];
36309
37988
  }
36310
- let t10;
36311
- if ($[25] !== delayDuration || $[26] !== t9) {
36312
- t10 = /* @__PURE__ */ jsx(TooltipPrimitive.Provider, { delayDuration, children: t9 });
36313
- $[25] = delayDuration;
36314
- $[26] = t9;
36315
- $[27] = t10;
37989
+ let t14;
37990
+ if ($[18] !== children || $[19] !== t13) {
37991
+ t14 = /* @__PURE__ */ jsx("div", { ref: scrollContainerRef, className: "flex-1 overflow-x-auto no-scrollbar min-w-0", onScroll: checkScroll, style: t8, children: /* @__PURE__ */ jsx(TabsPrimitive.List, { className: t13, children }) });
37992
+ $[18] = children;
37993
+ $[19] = t13;
37994
+ $[20] = t14;
36316
37995
  } else {
36317
- t10 = $[27];
36318
- }
36319
- return t10;
36320
- };
36321
- const styles = `
36322
-
36323
- .TooltipContent {
36324
- animation-duration: 220ms;
36325
- animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
36326
- will-change: transform, opacity;
36327
- }
36328
-
36329
- .TooltipContent[data-state='delayed-open'][data-side='top'] {
36330
- animation-name: slideDownAndFade;
36331
- }
36332
- .TooltipContent[data-state='delayed-open'][data-side='right'] {
36333
- animation-name: slideLeftAndFade;
36334
- }
36335
- .TooltipContent[data-state='delayed-open'][data-side='bottom'] {
36336
- animation-name: slideUpAndFade;
36337
- }
36338
- .TooltipContent[data-state='delayed-open'][data-side='left'] {
36339
- animation-name: slideRightAndFade;
36340
- }
36341
-
36342
-
36343
- @keyframes slideUpAndFade {
36344
- from {
36345
- opacity: 0;
36346
- transform: translateY(4px);
36347
- }
36348
- to {
36349
- opacity: 1;
36350
- transform: translateY(0);
36351
- }
36352
- }
36353
-
36354
- @keyframes slideRightAndFade {
36355
- from {
36356
- opacity: 0;
36357
- transform: translateX(-4px);
36358
- }
36359
- to {
36360
- opacity: 1;
36361
- transform: translateX(0);
36362
- }
36363
- }
36364
-
36365
- @keyframes slideDownAndFade {
36366
- from {
36367
- opacity: 0;
36368
- transform: translateY(-4px);
36369
- }
36370
- to {
36371
- opacity: 1;
36372
- transform: translateY(0);
36373
- }
36374
- }
36375
-
36376
- @keyframes slideLeftAndFade {
36377
- from {
36378
- opacity: 0;
36379
- transform: translateX(4px);
36380
- }
36381
- to {
36382
- opacity: 1;
36383
- transform: translateX(0);
37996
+ t14 = $[20];
36384
37997
  }
36385
- }`;
36386
- function Tabs(t0) {
36387
- const $ = c(10);
36388
- const {
36389
- value,
36390
- onValueChange,
36391
- className,
36392
- innerClassName,
36393
- children
36394
- } = t0;
36395
- let t1;
36396
- if ($[0] !== innerClassName) {
36397
- t1 = cls("w-max", "flex text-sm font-medium text-center text-surface-accent-800 dark:text-white max-w-full overflow-auto no-scrollbar items-end", innerClassName);
36398
- $[0] = innerClassName;
36399
- $[1] = t1;
37998
+ let t15;
37999
+ if ($[21] !== isScrollable || $[22] !== mode || $[23] !== showRightScroll) {
38000
+ t15 = isScrollable && /* @__PURE__ */ jsx("button", { type: "button", disabled: !showRightScroll, onClick: () => scroll("right"), className: cls("flex-shrink-0 z-10 flex items-center justify-center rounded-md px-0.5 py-1.5 transition-all h-10 w-6", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-surface-400", "disabled:pointer-events-none disabled:opacity-0", "text-surface-600 dark:text-surface-400 hover:bg-surface-200 dark:hover:bg-surface-800", mode === "primary" && "ml-1 bg-surface-50 dark:bg-surface-900 border", mode === "primary" && defaultBorderMixin, mode === "secondary" && "ml-1"), children: /* @__PURE__ */ jsx(ChevronRightIcon, { size: "small" }) });
38001
+ $[21] = isScrollable;
38002
+ $[22] = mode;
38003
+ $[23] = showRightScroll;
38004
+ $[24] = t15;
36400
38005
  } else {
36401
- t1 = $[1];
38006
+ t15 = $[24];
36402
38007
  }
36403
- let t2;
36404
- if ($[2] !== children || $[3] !== t1) {
36405
- t2 = /* @__PURE__ */ jsx(TabsPrimitive.List, { className: t1, children });
36406
- $[2] = children;
36407
- $[3] = t1;
36408
- $[4] = t2;
38008
+ let t16;
38009
+ if ($[25] !== onValueChange || $[26] !== t14 || $[27] !== t15 || $[28] !== t6 || $[29] !== t7 || $[30] !== value) {
38010
+ t16 = /* @__PURE__ */ jsxs(TabsPrimitive.Root, { value, onValueChange, className: t6, children: [
38011
+ t7,
38012
+ t14,
38013
+ t15
38014
+ ] });
38015
+ $[25] = onValueChange;
38016
+ $[26] = t14;
38017
+ $[27] = t15;
38018
+ $[28] = t6;
38019
+ $[29] = t7;
38020
+ $[30] = value;
38021
+ $[31] = t16;
36409
38022
  } else {
36410
- t2 = $[4];
38023
+ t16 = $[31];
36411
38024
  }
36412
- let t3;
36413
- if ($[5] !== className || $[6] !== onValueChange || $[7] !== t2 || $[8] !== value) {
36414
- t3 = /* @__PURE__ */ jsx(TabsPrimitive.Root, { value, onValueChange, className, children: t2 });
36415
- $[5] = className;
36416
- $[6] = onValueChange;
36417
- $[7] = t2;
36418
- $[8] = value;
36419
- $[9] = t3;
38025
+ let t17;
38026
+ if ($[32] !== mode || $[33] !== t16) {
38027
+ t17 = /* @__PURE__ */ jsx(TabsModeContext.Provider, { value: mode, children: t16 });
38028
+ $[32] = mode;
38029
+ $[33] = t16;
38030
+ $[34] = t17;
36420
38031
  } else {
36421
- t3 = $[9];
38032
+ t17 = $[34];
36422
38033
  }
36423
- return t3;
38034
+ return t17;
36424
38035
  }
36425
38036
  function Tab(t0) {
36426
- const $ = c(13);
38037
+ const $ = c(15);
36427
38038
  const {
36428
38039
  value,
36429
38040
  className,
@@ -36431,42 +38042,44 @@ function Tab(t0) {
36431
38042
  children,
36432
38043
  disabled
36433
38044
  } = t0;
38045
+ const mode = useContext(TabsModeContext);
38046
+ let T0;
36434
38047
  let t1;
36435
- if ($[0] !== className || $[1] !== disabled) {
36436
- t1 = cls("border-b-2 border-transparent", "data-[state=active]:border-secondary", disabled ? "text-surface-accent-400 dark:text-surface-accent-500" : cls("text-surface-accent-700 dark:text-surface-accent-300", "data-[state=active]:text-surface-accent-900 data-[state=active]:dark:text-white", "hover:text-surface-accent-800 dark:hover:text-surface-accent-200"), className);
36437
- $[0] = className;
36438
- $[1] = disabled;
36439
- $[2] = t1;
36440
- } else {
36441
- t1 = $[2];
36442
- }
36443
38048
  let t2;
36444
- if ($[3] !== innerClassName) {
36445
- t2 = cls("line-clamp-1", "uppercase inline-block p-2 px-4 rounded", "hover:bg-surface-accent-200 hover:bg-opacity-75 dark:hover:bg-surface-accent-800", innerClassName);
36446
- $[3] = innerClassName;
36447
- $[4] = t2;
36448
- } else {
36449
- t2 = $[4];
36450
- }
36451
38049
  let t3;
36452
- if ($[5] !== children || $[6] !== t2) {
36453
- t3 = /* @__PURE__ */ jsx("div", { className: t2, children });
36454
- $[5] = children;
36455
- $[6] = t2;
36456
- $[7] = t3;
38050
+ if ($[0] !== className || $[1] !== disabled || $[2] !== innerClassName || $[3] !== mode || $[4] !== value) {
38051
+ const primaryClasses = cls("inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-white transition-all", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-surface-400 focus-visible:ring-offset-2", "disabled:pointer-events-none disabled:opacity-50", "data-[state=active]:bg-white data-[state=active]:text-surface-900 dark:data-[state=active]:bg-surface-950 dark:data-[state=active]:text-surface-50");
38052
+ const secondaryClasses = cls("inline-flex items-center justify-center whitespace-nowrap px-3 py-1.5 text-sm font-medium transition-all", "border-b-2 border-transparent -mb-px", "focus-visible:outline-none", "disabled:pointer-events-none disabled:opacity-50", "hover:text-surface-700 dark:hover:text-surface-300", "data-[state=active]:border-b-primary data-[state=active]:text-primary dark:data-[state=active]:border-b-primary dark:data-[state=active]:text-primary-dark");
38053
+ T0 = TabsPrimitive.Trigger;
38054
+ t1 = value;
38055
+ t2 = disabled;
38056
+ t3 = cls(mode === "secondary" ? secondaryClasses : primaryClasses, className, innerClassName);
38057
+ $[0] = className;
38058
+ $[1] = disabled;
38059
+ $[2] = innerClassName;
38060
+ $[3] = mode;
38061
+ $[4] = value;
38062
+ $[5] = T0;
38063
+ $[6] = t1;
38064
+ $[7] = t2;
38065
+ $[8] = t3;
36457
38066
  } else {
36458
- t3 = $[7];
38067
+ T0 = $[5];
38068
+ t1 = $[6];
38069
+ t2 = $[7];
38070
+ t3 = $[8];
36459
38071
  }
36460
38072
  let t4;
36461
- if ($[8] !== disabled || $[9] !== t1 || $[10] !== t3 || $[11] !== value) {
36462
- t4 = /* @__PURE__ */ jsx(TabsPrimitive.Trigger, { value, disabled, className: t1, children: t3 });
36463
- $[8] = disabled;
36464
- $[9] = t1;
36465
- $[10] = t3;
36466
- $[11] = value;
36467
- $[12] = t4;
38073
+ if ($[9] !== T0 || $[10] !== children || $[11] !== t1 || $[12] !== t2 || $[13] !== t3) {
38074
+ t4 = /* @__PURE__ */ jsx(T0, { value: t1, disabled: t2, className: t3, children });
38075
+ $[9] = T0;
38076
+ $[10] = children;
38077
+ $[11] = t1;
38078
+ $[12] = t2;
38079
+ $[13] = t3;
38080
+ $[14] = t4;
36468
38081
  } else {
36469
- t4 = $[12];
38082
+ t4 = $[14];
36470
38083
  }
36471
38084
  return t4;
36472
38085
  }
@@ -36537,7 +38150,7 @@ const TableBody = React__default.memo((t0) => {
36537
38150
  }
36538
38151
  let t1;
36539
38152
  if ($[4] !== className) {
36540
- t1 = cls("bg-white dark:bg-surface-950 text-sm divide-y divide-surface-100 dark:divide-surface-700 dark:divide-opacity-70", className);
38153
+ t1 = cls("bg-white dark:bg-surface-950 text-sm divide-y divide-surface-100 dark:divide-surface-700 dark:divide-opacity-70 dark:divide-surface-700/70", className);
36541
38154
  $[4] = className;
36542
38155
  $[5] = t1;
36543
38156
  } else {
@@ -36712,6 +38325,8 @@ function Popover(t0) {
36712
38325
  const enabled = t2 === void 0 ? true : t2;
36713
38326
  const modal = t3 === void 0 ? false : t3;
36714
38327
  useInjectStyles("Popover", popoverStyles);
38328
+ const contextContainer = usePortalContainer();
38329
+ const finalContainer = portalContainer ?? contextContainer ?? void 0;
36715
38330
  if (!enabled) {
36716
38331
  let t42;
36717
38332
  if ($[0] !== trigger) {
@@ -36767,9 +38382,9 @@ function Popover(t0) {
36767
38382
  t7 = $[17];
36768
38383
  }
36769
38384
  let t8;
36770
- if ($[18] !== portalContainer || $[19] !== t7) {
36771
- t8 = /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { container: portalContainer, children: t7 });
36772
- $[18] = portalContainer;
38385
+ if ($[18] !== finalContainer || $[19] !== t7) {
38386
+ t8 = /* @__PURE__ */ jsx(PopoverPrimitive.Portal, { container: finalContainer, children: t7 });
38387
+ $[18] = finalContainer;
36773
38388
  $[19] = t7;
36774
38389
  $[20] = t8;
36775
38390
  } else {
@@ -36793,7 +38408,7 @@ function Popover(t0) {
36793
38408
  return t9;
36794
38409
  }
36795
38410
  const popoverStyles = `
36796
-
38411
+ /* ... (styles remain unchanged) ... */
36797
38412
  .PopoverContent {
36798
38413
  animation-duration: 400ms;
36799
38414
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
@@ -36812,7 +38427,6 @@ const popoverStyles = `
36812
38427
  animation-name: slideRightAndFade;
36813
38428
  }
36814
38429
 
36815
-
36816
38430
  @keyframes slideUpAndFade {
36817
38431
  from {
36818
38432
  opacity: 0;
@@ -36910,7 +38524,7 @@ const Badge = React__default.forwardRef((t0, ref) => {
36910
38524
  Badge.displayName = "Badge";
36911
38525
  function DebouncedTextField(props) {
36912
38526
  const $ = c(13);
36913
- const previousEventRef = React__default.useRef();
38527
+ const previousEventRef = React__default.useRef(void 0);
36914
38528
  const [internalValue, setInternalValue] = React__default.useState(props.value);
36915
38529
  const deferredValue = useDeferredValue(internalValue);
36916
38530
  let t0;
@@ -36978,14 +38592,14 @@ function DebouncedTextField(props) {
36978
38592
  return t5;
36979
38593
  }
36980
38594
  function Skeleton(t0) {
36981
- const $ = c(8);
38595
+ const $ = c(10);
36982
38596
  const {
36983
38597
  width,
36984
38598
  height,
36985
38599
  className
36986
38600
  } = t0;
36987
- const t1 = width ? `${width}px` : "100%";
36988
- const t2 = height ? `${height}px` : "12px";
38601
+ const t1 = width !== void 0 ? `${width}px` : void 0;
38602
+ const t2 = height !== void 0 ? `${height}px` : void 0;
36989
38603
  let t3;
36990
38604
  if ($[0] !== t1 || $[1] !== t2) {
36991
38605
  t3 = {
@@ -36998,24 +38612,82 @@ function Skeleton(t0) {
36998
38612
  } else {
36999
38613
  t3 = $[2];
37000
38614
  }
37001
- let t4;
37002
- if ($[3] !== className) {
37003
- t4 = cls("block", "bg-surface-accent-200 dark:bg-surface-accent-800 rounded-md", "animate-pulse", "max-w-full max-h-full", className);
38615
+ const t4 = width === void 0 ? "w-full" : "";
38616
+ const t5 = height === void 0 ? "h-3" : "";
38617
+ let t6;
38618
+ if ($[3] !== className || $[4] !== t4 || $[5] !== t5) {
38619
+ t6 = cls("block", "bg-surface-accent-200 dark:bg-surface-accent-800 rounded-md", "animate-pulse", "max-w-full max-h-full", t4, t5, className);
37004
38620
  $[3] = className;
37005
38621
  $[4] = t4;
38622
+ $[5] = t5;
38623
+ $[6] = t6;
37006
38624
  } else {
37007
- t4 = $[4];
38625
+ t6 = $[6];
37008
38626
  }
37009
- let t5;
37010
- if ($[5] !== t3 || $[6] !== t4) {
37011
- t5 = /* @__PURE__ */ jsx("span", { style: t3, className: t4 });
37012
- $[5] = t3;
37013
- $[6] = t4;
37014
- $[7] = t5;
38627
+ let t7;
38628
+ if ($[7] !== t3 || $[8] !== t6) {
38629
+ t7 = /* @__PURE__ */ jsx("span", { style: t3, className: t6 });
38630
+ $[7] = t3;
38631
+ $[8] = t6;
38632
+ $[9] = t7;
37015
38633
  } else {
37016
- t5 = $[7];
38634
+ t7 = $[9];
37017
38635
  }
37018
- return t5;
38636
+ return t7;
38637
+ }
38638
+ function ToggleButtonGroup(t0) {
38639
+ const $ = c(12);
38640
+ const {
38641
+ value,
38642
+ onValueChange,
38643
+ options,
38644
+ className
38645
+ } = t0;
38646
+ let t1;
38647
+ if ($[0] !== className) {
38648
+ t1 = cls("inline-flex flex-row bg-surface-100 dark:bg-surface-800 rounded-lg p-1 gap-1", className);
38649
+ $[0] = className;
38650
+ $[1] = t1;
38651
+ } else {
38652
+ t1 = $[1];
38653
+ }
38654
+ let t2;
38655
+ if ($[2] !== onValueChange || $[3] !== options || $[4] !== value) {
38656
+ let t32;
38657
+ if ($[6] !== onValueChange || $[7] !== value) {
38658
+ t32 = (option) => /* @__PURE__ */ jsxs("button", { type: "button", onClick: (e) => {
38659
+ e.stopPropagation();
38660
+ if (!option.disabled) {
38661
+ onValueChange(option.value);
38662
+ }
38663
+ }, disabled: option.disabled, className: cls("flex flex-row items-center justify-center gap-2 py-3 px-4 rounded-md transition-colors", value === option.value ? "bg-white dark:bg-surface-950 text-primary dark:text-primary-300" : "text-surface-500 dark:text-surface-400 hover:bg-surface-100 dark:hover:bg-surface-700", option.disabled && "opacity-50 cursor-not-allowed"), children: [
38664
+ option.icon,
38665
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: option.label })
38666
+ ] }, option.value);
38667
+ $[6] = onValueChange;
38668
+ $[7] = value;
38669
+ $[8] = t32;
38670
+ } else {
38671
+ t32 = $[8];
38672
+ }
38673
+ t2 = options.map(t32);
38674
+ $[2] = onValueChange;
38675
+ $[3] = options;
38676
+ $[4] = value;
38677
+ $[5] = t2;
38678
+ } else {
38679
+ t2 = $[5];
38680
+ }
38681
+ let t3;
38682
+ if ($[9] !== t1 || $[10] !== t2) {
38683
+ t3 = /* @__PURE__ */ jsx("div", { className: t1, children: t2 });
38684
+ $[9] = t1;
38685
+ $[10] = t2;
38686
+ $[11] = t3;
38687
+ } else {
38688
+ t3 = $[11];
38689
+ }
38690
+ return t3;
37019
38691
  }
37020
38692
  export {
37021
38693
  AbcIcon,
@@ -37405,6 +39077,7 @@ export {
37405
39077
  CollectionsBookmarkIcon,
37406
39078
  CollectionsIcon,
37407
39079
  ColorLensIcon,
39080
+ ColorPicker,
37408
39081
  ColorizeIcon,
37409
39082
  CommentBankIcon,
37410
39083
  CommentIcon,
@@ -37494,6 +39167,7 @@ export {
37494
39167
  DataSaverOnIcon,
37495
39168
  DataThresholdingIcon,
37496
39169
  DataUsageIcon,
39170
+ DatabaseIcon,
37497
39171
  DatasetIcon,
37498
39172
  DatasetLinkedIcon,
37499
39173
  DateRangeIcon,
@@ -37766,6 +39440,7 @@ export {
37766
39440
  FireHydrantAltIcon,
37767
39441
  FireTruckIcon,
37768
39442
  FireplaceIcon,
39443
+ FirestoreIcon,
37769
39444
  FirstPageIcon,
37770
39445
  FitScreenIcon,
37771
39446
  FitbitIcon,
@@ -38521,6 +40196,7 @@ export {
38521
40196
  PoolIcon,
38522
40197
  Popover,
38523
40198
  PortableWifiOffIcon,
40199
+ PortalContainerProvider,
38524
40200
  PortraitIcon,
38525
40201
  PostAddIcon,
38526
40202
  PowerIcon,
@@ -38624,6 +40300,7 @@ export {
38624
40300
  RequestPageIcon,
38625
40301
  RequestQuoteIcon,
38626
40302
  ResetTvIcon,
40303
+ ResizablePanels,
38627
40304
  RestartAltIcon,
38628
40305
  RestaurantIcon,
38629
40306
  RestaurantMenuIcon,
@@ -38698,6 +40375,8 @@ export {
38698
40375
  SearchBar,
38699
40376
  SearchIcon,
38700
40377
  SearchOffIcon,
40378
+ SearchableSelect,
40379
+ SearchableSelectItem,
38701
40380
  SecurityIcon,
38702
40381
  SecurityUpdateGoodIcon,
38703
40382
  SecurityUpdateIcon,
@@ -39027,6 +40706,7 @@ export {
39027
40706
  TitleIcon,
39028
40707
  TocIcon,
39029
40708
  TodayIcon,
40709
+ ToggleButtonGroup,
39030
40710
  ToggleOffIcon,
39031
40711
  ToggleOnIcon,
39032
40712
  TokenIcon,
@@ -39316,6 +40996,7 @@ export {
39316
40996
  useDebounceValue,
39317
40997
  useIconStyles,
39318
40998
  useInjectStyles,
39319
- useOutsideAlerter
40999
+ useOutsideAlerter,
41000
+ usePortalContainer
39320
41001
  };
39321
41002
  //# sourceMappingURL=index.es.js.map