@firecms/ui 3.2.0 → 3.3.0-canary.451aa49

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.
package/dist/index.umd.js CHANGED
@@ -1,6 +1,6 @@
1
1
  (function(global, factory) {
2
- typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("react/jsx-runtime"), require("react-compiler-runtime"), require("react"), require("@radix-ui/react-collapsible"), require("clsx"), require("tailwind-merge"), require("@radix-ui/react-checkbox"), require("@material-design-icons/font/filled.css"), require("@radix-ui/react-tooltip"), require("@radix-ui/react-dialog"), require("@radix-ui/react-visually-hidden"), require("react-dropzone"), require("@radix-ui/react-label"), require("react-fast-compare"), require("markdown-it"), require("@radix-ui/react-dropdown-menu"), require("@radix-ui/react-menubar"), require("@radix-ui/react-popover"), require("cmdk"), require("@radix-ui/react-separator"), require("@radix-ui/react-radio-group"), require("@radix-ui/react-select"), require("@radix-ui/react-slider"), require("react-dom"), require("@radix-ui/react-tabs")) : typeof define === "function" && define.amd ? define(["exports", "react/jsx-runtime", "react-compiler-runtime", "react", "@radix-ui/react-collapsible", "clsx", "tailwind-merge", "@radix-ui/react-checkbox", "@material-design-icons/font/filled.css", "@radix-ui/react-tooltip", "@radix-ui/react-dialog", "@radix-ui/react-visually-hidden", "react-dropzone", "@radix-ui/react-label", "react-fast-compare", "markdown-it", "@radix-ui/react-dropdown-menu", "@radix-ui/react-menubar", "@radix-ui/react-popover", "cmdk", "@radix-ui/react-separator", "@radix-ui/react-radio-group", "@radix-ui/react-select", "@radix-ui/react-slider", "react-dom", "@radix-ui/react-tabs"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global["FireCMS UI"] = {}, global.jsxRuntime, global.reactCompilerRuntime, global.React, global.Collapsible, global.clsx, global.tailwindMerge, global.CheckboxPrimitive, null, global.TooltipPrimitive, global.DialogPrimitive, global.VisuallyHidden, global.reactDropzone, global.LabelPrimitive, global.equal, global.MarkdownIt, global.DropdownMenu, global.MenubarPrimitive, global.PopoverPrimitive, global.cmdk, global.SeparatorPrimitive, global.RadioGroupPrimitive, global.SelectPrimitive, global.SliderPrimitive, global.ReactDOM, global.TabsPrimitive));
3
- })(this, (function(exports2, jsxRuntime, reactCompilerRuntime, React, Collapsible, clsx, tailwindMerge, CheckboxPrimitive, filled_css, TooltipPrimitive, DialogPrimitive, VisuallyHidden, reactDropzone, LabelPrimitive, equal, MarkdownIt, DropdownMenu, MenubarPrimitive, PopoverPrimitive, cmdk, SeparatorPrimitive, RadioGroupPrimitive, SelectPrimitive, SliderPrimitive, ReactDOM, TabsPrimitive) {
2
+ typeof exports === "object" && typeof module !== "undefined" ? factory(exports, require("react/jsx-runtime"), require("react-compiler-runtime"), require("react"), require("@radix-ui/react-collapsible"), require("clsx"), require("tailwind-merge"), require("@radix-ui/react-checkbox"), require("@material-design-icons/font/filled.css"), require("@radix-ui/react-tooltip"), require("@radix-ui/react-dialog"), require("@radix-ui/react-visually-hidden"), require("react-dropzone"), require("@radix-ui/react-label"), require("react-fast-compare"), require("markdown-it"), require("@radix-ui/react-dropdown-menu"), require("@radix-ui/react-menubar"), require("@radix-ui/react-popover"), require("cmdk"), require("@radix-ui/react-separator"), require("@radix-ui/react-radio-group"), require("@radix-ui/react-select"), require("@radix-ui/react-slider"), require("@radix-ui/react-tabs")) : typeof define === "function" && define.amd ? define(["exports", "react/jsx-runtime", "react-compiler-runtime", "react", "@radix-ui/react-collapsible", "clsx", "tailwind-merge", "@radix-ui/react-checkbox", "@material-design-icons/font/filled.css", "@radix-ui/react-tooltip", "@radix-ui/react-dialog", "@radix-ui/react-visually-hidden", "react-dropzone", "@radix-ui/react-label", "react-fast-compare", "markdown-it", "@radix-ui/react-dropdown-menu", "@radix-ui/react-menubar", "@radix-ui/react-popover", "cmdk", "@radix-ui/react-separator", "@radix-ui/react-radio-group", "@radix-ui/react-select", "@radix-ui/react-slider", "@radix-ui/react-tabs"], factory) : (global = typeof globalThis !== "undefined" ? globalThis : global || self, factory(global["FireCMS UI"] = {}, global.jsxRuntime, global.reactCompilerRuntime, global.React, global.Collapsible, global.clsx, global.tailwindMerge, global.CheckboxPrimitive, null, global.TooltipPrimitive, global.DialogPrimitive, global.VisuallyHidden, global.reactDropzone, global.LabelPrimitive, global.equal, global.MarkdownIt, global.DropdownMenu, global.MenubarPrimitive, global.PopoverPrimitive, global.cmdk, global.SeparatorPrimitive, global.RadioGroupPrimitive, global.SelectPrimitive, global.SliderPrimitive, global.TabsPrimitive));
3
+ })(this, (function(exports2, jsxRuntime, reactCompilerRuntime, React, Collapsible, clsx, tailwindMerge, CheckboxPrimitive, filled_css, TooltipPrimitive, DialogPrimitive, VisuallyHidden, reactDropzone, LabelPrimitive, equal, MarkdownIt, DropdownMenu, MenubarPrimitive, PopoverPrimitive, cmdk, SeparatorPrimitive, RadioGroupPrimitive, SelectPrimitive, SliderPrimitive, TabsPrimitive) {
4
4
  "use strict";"use client";
5
5
 
6
6
  function _interopNamespaceDefault(e) {
@@ -33,7 +33,6 @@
33
33
  const RadioGroupPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(RadioGroupPrimitive);
34
34
  const SelectPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(SelectPrimitive);
35
35
  const SliderPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(SliderPrimitive);
36
- const ReactDOM__namespace = /* @__PURE__ */ _interopNamespaceDefault(ReactDOM);
37
36
  const TabsPrimitive__namespace = /* @__PURE__ */ _interopNamespaceDefault(TabsPrimitive);
38
37
  const focusedDisabled = "focus-visible:ring-0 focus-visible:ring-offset-0";
39
38
  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";
@@ -822,6 +821,7 @@
822
821
  className,
823
822
  fullWidth = true,
824
823
  inputClassName,
824
+ switchAdornment,
825
825
  ...props
826
826
  }) {
827
827
  const ref = React.useRef(null);
@@ -847,6 +847,7 @@
847
847
  }
848
848
  }, children: [
849
849
  /* @__PURE__ */ jsxRuntime.jsx(BooleanSwitch, { value, ref: refInput, size, className: cls(invisible && focus ? focusedClasses : "", inputClassName), disabled, ...props }),
850
+ switchAdornment,
850
851
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cls("flex-grow", position === "end" ? "mr-4" : "ml-4", size === "small" || size === "smallest" ? "text-sm" : "text-base"), children: label })
851
852
  ] });
852
853
  };
@@ -863,18 +864,29 @@
863
864
  let t5;
864
865
  let t6;
865
866
  if ($[0] !== t0) {
866
- ({
867
- children,
868
- className,
869
- variant: t1,
870
- disabled: t2,
871
- size: t3,
872
- startIcon: t4,
873
- fullWidth: t5,
874
- component: Component,
875
- color: t6,
876
- ...props
877
- } = t0);
867
+ const {
868
+ children: t72,
869
+ className: t82,
870
+ variant: t92,
871
+ disabled: t102,
872
+ size: t112,
873
+ startIcon: t122,
874
+ fullWidth: t132,
875
+ component: t142,
876
+ color: t152,
877
+ loading,
878
+ ...t162
879
+ } = t0;
880
+ children = t72;
881
+ className = t82;
882
+ t1 = t92;
883
+ t2 = t102;
884
+ t3 = t112;
885
+ t4 = t122;
886
+ t5 = t132;
887
+ Component = t142;
888
+ t6 = t152;
889
+ props = t162;
878
890
  $[0] = t0;
879
891
  $[1] = Component;
880
892
  $[2] = children;
@@ -952,7 +964,7 @@
952
964
  "text-text-disabled dark:text-text-disabled-dark": disabled,
953
965
  "border border-transparent opacity-50": t23,
954
966
  "border border-surface-500 opacity-50": t24,
955
- "border border-transparent bg-surface-300 dark:bg-surface-500 opacity-40 bg-surface-300/40 dark:bg-surface-500/40": t25
967
+ "border border-transparent bg-surface-300 dark:bg-surface-500 opacity-70 bg-surface-300/70 dark:bg-surface-500/70": t25
956
968
  });
957
969
  const sizeClasses2 = cls({
958
970
  "py-1 px-2": size === "small",
@@ -1418,6 +1430,50 @@
1418
1430
  }
1419
1431
  return t0;
1420
1432
  }
1433
+ const sizeMap = {
1434
+ smallest: 16,
1435
+ small: 20,
1436
+ medium: 24,
1437
+ large: 28
1438
+ };
1439
+ function FirestoreIcon(props) {
1440
+ const $ = reactCompilerRuntime.c(7);
1441
+ const s = typeof props.size === "number" ? props.size : sizeMap[props.size ?? "medium"] ?? 24;
1442
+ let t0;
1443
+ let t1;
1444
+ let t2;
1445
+ let t3;
1446
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
1447
+ t0 = /* @__PURE__ */ jsxRuntime.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" });
1448
+ t1 = /* @__PURE__ */ jsxRuntime.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" });
1449
+ t2 = /* @__PURE__ */ jsxRuntime.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" });
1450
+ t3 = /* @__PURE__ */ jsxRuntime.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" });
1451
+ $[0] = t0;
1452
+ $[1] = t1;
1453
+ $[2] = t2;
1454
+ $[3] = t3;
1455
+ } else {
1456
+ t0 = $[0];
1457
+ t1 = $[1];
1458
+ t2 = $[2];
1459
+ t3 = $[3];
1460
+ }
1461
+ let t4;
1462
+ if ($[4] !== props.className || $[5] !== s) {
1463
+ t4 = /* @__PURE__ */ jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", className: props.className, fill: "currentColor", width: s, height: s, viewBox: "0 0 73 91", children: [
1464
+ t0,
1465
+ t1,
1466
+ t2,
1467
+ t3
1468
+ ] });
1469
+ $[4] = props.className;
1470
+ $[5] = s;
1471
+ $[6] = t4;
1472
+ } else {
1473
+ t4 = $[6];
1474
+ }
1475
+ return t4;
1476
+ }
1421
1477
  const _10kIcon = React.forwardRef((props, ref) => {
1422
1478
  const $ = reactCompilerRuntime.c(3);
1423
1479
  let t0;
@@ -8684,6 +8740,20 @@
8684
8740
  return t0;
8685
8741
  });
8686
8742
  DatasetLinkedIcon.displayName = "DatasetLinkedIcon";
8743
+ const DatabaseIcon = React.forwardRef((props, ref) => {
8744
+ const $ = reactCompilerRuntime.c(3);
8745
+ let t0;
8746
+ if ($[0] !== props || $[1] !== ref) {
8747
+ t0 = /* @__PURE__ */ jsxRuntime.jsx(Icon, { ...props, iconKey: "database", ref });
8748
+ $[0] = props;
8749
+ $[1] = ref;
8750
+ $[2] = t0;
8751
+ } else {
8752
+ t0 = $[2];
8753
+ }
8754
+ return t0;
8755
+ });
8756
+ DatabaseIcon.displayName = "DatabaseIcon";
8687
8757
  const DateRangeIcon = React.forwardRef((props, ref) => {
8688
8758
  const $ = reactCompilerRuntime.c(3);
8689
8759
  let t0;
@@ -32294,8 +32364,8 @@
32294
32364
  medium: "px-3 py-1 text-sm",
32295
32365
  large: "px-4 py-1.5 text-sm"
32296
32366
  };
32297
- function Chip(t0) {
32298
- const $ = reactCompilerRuntime.c(18);
32367
+ const Chip = React.forwardRef(function Chip2(t0, ref) {
32368
+ const $ = reactCompilerRuntime.c(19);
32299
32369
  const {
32300
32370
  children,
32301
32371
  colorScheme,
@@ -32350,128 +32420,184 @@
32350
32420
  t10 = $[11];
32351
32421
  }
32352
32422
  let t11;
32353
- if ($[12] !== children || $[13] !== icon || $[14] !== onClick || $[15] !== t10 || $[16] !== t7) {
32354
- t11 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: t7, onClick, style: t10, children: [
32423
+ if ($[12] !== children || $[13] !== icon || $[14] !== onClick || $[15] !== ref || $[16] !== t10 || $[17] !== t7) {
32424
+ t11 = /* @__PURE__ */ jsxRuntime.jsxs("div", { ref, className: t7, onClick, style: t10, children: [
32355
32425
  children,
32356
32426
  icon
32357
32427
  ] });
32358
32428
  $[12] = children;
32359
32429
  $[13] = icon;
32360
32430
  $[14] = onClick;
32361
- $[15] = t10;
32362
- $[16] = t7;
32363
- $[17] = t11;
32431
+ $[15] = ref;
32432
+ $[16] = t10;
32433
+ $[17] = t7;
32434
+ $[18] = t11;
32364
32435
  } else {
32365
- t11 = $[17];
32436
+ t11 = $[18];
32366
32437
  }
32367
32438
  return t11;
32368
- }
32369
- const Tooltip = (t0) => {
32370
- const $ = reactCompilerRuntime.c(28);
32371
- const {
32372
- open,
32373
- defaultOpen,
32374
- side: t1,
32375
- delayDuration: t2,
32376
- sideOffset,
32377
- align,
32378
- onOpenChange,
32379
- title,
32380
- tooltipClassName,
32381
- tooltipStyle,
32382
- children,
32383
- asChild: t3,
32384
- container,
32385
- className,
32386
- style
32387
- } = t0;
32439
+ });
32440
+ const Tooltip = React.forwardRef((t0, ref) => {
32441
+ const $ = reactCompilerRuntime.c(47);
32442
+ let align;
32443
+ let children;
32444
+ let className;
32445
+ let container;
32446
+ let defaultOpen;
32447
+ let onOpenChange;
32448
+ let open;
32449
+ let props;
32450
+ let sideOffset;
32451
+ let style;
32452
+ let t1;
32453
+ let t2;
32454
+ let t3;
32455
+ let title;
32456
+ let tooltipClassName;
32457
+ let tooltipStyle;
32458
+ if ($[0] !== t0) {
32459
+ ({
32460
+ open,
32461
+ defaultOpen,
32462
+ side: t1,
32463
+ delayDuration: t2,
32464
+ sideOffset,
32465
+ align,
32466
+ onOpenChange,
32467
+ title,
32468
+ tooltipClassName,
32469
+ tooltipStyle,
32470
+ children,
32471
+ asChild: t3,
32472
+ container,
32473
+ className,
32474
+ style,
32475
+ ...props
32476
+ } = t0);
32477
+ $[0] = t0;
32478
+ $[1] = align;
32479
+ $[2] = children;
32480
+ $[3] = className;
32481
+ $[4] = container;
32482
+ $[5] = defaultOpen;
32483
+ $[6] = onOpenChange;
32484
+ $[7] = open;
32485
+ $[8] = props;
32486
+ $[9] = sideOffset;
32487
+ $[10] = style;
32488
+ $[11] = t1;
32489
+ $[12] = t2;
32490
+ $[13] = t3;
32491
+ $[14] = title;
32492
+ $[15] = tooltipClassName;
32493
+ $[16] = tooltipStyle;
32494
+ } else {
32495
+ align = $[1];
32496
+ children = $[2];
32497
+ className = $[3];
32498
+ container = $[4];
32499
+ defaultOpen = $[5];
32500
+ onOpenChange = $[6];
32501
+ open = $[7];
32502
+ props = $[8];
32503
+ sideOffset = $[9];
32504
+ style = $[10];
32505
+ t1 = $[11];
32506
+ t2 = $[12];
32507
+ t3 = $[13];
32508
+ title = $[14];
32509
+ tooltipClassName = $[15];
32510
+ tooltipStyle = $[16];
32511
+ }
32388
32512
  const side = t1 === void 0 ? "bottom" : t1;
32389
32513
  const delayDuration = t2 === void 0 ? 200 : t2;
32390
32514
  const asChild = t3 === void 0 ? false : t3;
32391
- useInjectStyles("Tooltip", styles$1);
32515
+ useInjectStyles("Tooltip", styles);
32392
32516
  const contextContainer = usePortalContainer();
32393
32517
  const finalContainer = container ?? contextContainer ?? void 0;
32394
32518
  if (!title) {
32395
32519
  let t42;
32396
- if ($[0] !== children) {
32520
+ if ($[17] !== children) {
32397
32521
  t42 = /* @__PURE__ */ jsxRuntime.jsx(jsxRuntime.Fragment, { children });
32398
- $[0] = children;
32399
- $[1] = t42;
32522
+ $[17] = children;
32523
+ $[18] = t42;
32400
32524
  } else {
32401
- t42 = $[1];
32525
+ t42 = $[18];
32402
32526
  }
32403
32527
  return t42;
32404
32528
  }
32405
32529
  let t4;
32406
- if ($[2] !== asChild || $[3] !== children || $[4] !== className || $[5] !== style) {
32407
- t4 = asChild ? /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { asChild: true, children }) : /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { style, className, children }) });
32408
- $[2] = asChild;
32409
- $[3] = children;
32410
- $[4] = className;
32411
- $[5] = style;
32412
- $[6] = t4;
32413
- } else {
32414
- t4 = $[6];
32530
+ if ($[19] !== asChild || $[20] !== children || $[21] !== className || $[22] !== props || $[23] !== ref || $[24] !== style) {
32531
+ t4 = asChild ? /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { asChild: true, children }) : /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("div", { style, className, ref, ...props, children }) });
32532
+ $[19] = asChild;
32533
+ $[20] = children;
32534
+ $[21] = className;
32535
+ $[22] = props;
32536
+ $[23] = ref;
32537
+ $[24] = style;
32538
+ $[25] = t4;
32539
+ } else {
32540
+ t4 = $[25];
32415
32541
  }
32416
32542
  const trigger = t4;
32417
32543
  let t5;
32418
- if ($[7] !== tooltipClassName) {
32544
+ if ($[26] !== tooltipClassName) {
32419
32545
  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);
32420
- $[7] = tooltipClassName;
32421
- $[8] = t5;
32546
+ $[26] = tooltipClassName;
32547
+ $[27] = t5;
32422
32548
  } else {
32423
- t5 = $[8];
32549
+ t5 = $[27];
32424
32550
  }
32425
32551
  const t6 = sideOffset === void 0 ? 4 : sideOffset;
32426
32552
  let t7;
32427
- if ($[9] !== align || $[10] !== side || $[11] !== t5 || $[12] !== t6 || $[13] !== title || $[14] !== tooltipStyle) {
32553
+ if ($[28] !== align || $[29] !== side || $[30] !== t5 || $[31] !== t6 || $[32] !== title || $[33] !== tooltipStyle) {
32428
32554
  t7 = /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Content, { className: t5, style: tooltipStyle, sideOffset: t6, align, side, children: title });
32429
- $[9] = align;
32430
- $[10] = side;
32431
- $[11] = t5;
32432
- $[12] = t6;
32433
- $[13] = title;
32434
- $[14] = tooltipStyle;
32435
- $[15] = t7;
32555
+ $[28] = align;
32556
+ $[29] = side;
32557
+ $[30] = t5;
32558
+ $[31] = t6;
32559
+ $[32] = title;
32560
+ $[33] = tooltipStyle;
32561
+ $[34] = t7;
32436
32562
  } else {
32437
- t7 = $[15];
32563
+ t7 = $[34];
32438
32564
  }
32439
32565
  let t8;
32440
- if ($[16] !== finalContainer || $[17] !== t7) {
32566
+ if ($[35] !== finalContainer || $[36] !== t7) {
32441
32567
  t8 = /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Portal, { container: finalContainer, children: t7 });
32442
- $[16] = finalContainer;
32443
- $[17] = t7;
32444
- $[18] = t8;
32568
+ $[35] = finalContainer;
32569
+ $[36] = t7;
32570
+ $[37] = t8;
32445
32571
  } else {
32446
- t8 = $[18];
32572
+ t8 = $[37];
32447
32573
  }
32448
32574
  let t9;
32449
- if ($[19] !== defaultOpen || $[20] !== onOpenChange || $[21] !== open || $[22] !== t8 || $[23] !== trigger) {
32575
+ if ($[38] !== defaultOpen || $[39] !== onOpenChange || $[40] !== open || $[41] !== t8 || $[42] !== trigger) {
32450
32576
  t9 = /* @__PURE__ */ jsxRuntime.jsxs(TooltipPrimitive__namespace.Root, { open, onOpenChange, defaultOpen, children: [
32451
32577
  trigger,
32452
32578
  t8
32453
32579
  ] });
32454
- $[19] = defaultOpen;
32455
- $[20] = onOpenChange;
32456
- $[21] = open;
32457
- $[22] = t8;
32458
- $[23] = trigger;
32459
- $[24] = t9;
32580
+ $[38] = defaultOpen;
32581
+ $[39] = onOpenChange;
32582
+ $[40] = open;
32583
+ $[41] = t8;
32584
+ $[42] = trigger;
32585
+ $[43] = t9;
32460
32586
  } else {
32461
- t9 = $[24];
32587
+ t9 = $[43];
32462
32588
  }
32463
32589
  let t10;
32464
- if ($[25] !== delayDuration || $[26] !== t9) {
32590
+ if ($[44] !== delayDuration || $[45] !== t9) {
32465
32591
  t10 = /* @__PURE__ */ jsxRuntime.jsx(TooltipPrimitive__namespace.Provider, { delayDuration, children: t9 });
32466
- $[25] = delayDuration;
32467
- $[26] = t9;
32468
- $[27] = t10;
32592
+ $[44] = delayDuration;
32593
+ $[45] = t9;
32594
+ $[46] = t10;
32469
32595
  } else {
32470
- t10 = $[27];
32596
+ t10 = $[46];
32471
32597
  }
32472
32598
  return t10;
32473
- };
32474
- const styles$1 = `
32599
+ });
32600
+ const styles = `
32475
32601
 
32476
32602
  .TooltipContent {
32477
32603
  animation-duration: 220ms;
@@ -33163,7 +33289,7 @@
33163
33289
  return () => clearTimeout(timeout);
33164
33290
  } else {
33165
33291
  setDisplayed(true);
33166
- return _temp$3;
33292
+ return _temp$4;
33167
33293
  }
33168
33294
  };
33169
33295
  t7 = [open];
@@ -33310,7 +33436,7 @@
33310
33436
  }
33311
33437
  return t28;
33312
33438
  };
33313
- function _temp$3() {
33439
+ function _temp$4() {
33314
33440
  }
33315
33441
  function DialogActions(t0) {
33316
33442
  const $ = reactCompilerRuntime.c(7);
@@ -34840,7 +34966,7 @@
34840
34966
  }
34841
34967
  const MultiSelectContext = React__namespace.createContext({});
34842
34968
  const MultiSelect = React__namespace.forwardRef((t0, ref) => {
34843
- const $ = reactCompilerRuntime.c(111);
34969
+ const $ = reactCompilerRuntime.c(112);
34844
34970
  const {
34845
34971
  value,
34846
34972
  size: t1,
@@ -34861,7 +34987,8 @@
34861
34987
  renderValues,
34862
34988
  open,
34863
34989
  onOpenChange,
34864
- portalContainer
34990
+ portalContainer,
34991
+ endAdornment
34865
34992
  } = t0;
34866
34993
  const size = t1 === void 0 ? "large" : t1;
34867
34994
  const modalPopover = t2 === void 0 ? true : t2;
@@ -34925,7 +35052,7 @@
34925
35052
  let t12;
34926
35053
  let t13;
34927
35054
  if ($[9] !== children) {
34928
- t13 = children ? React.Children.map(children, _temp$2)?.filter(Boolean) ?? [] : [];
35055
+ t13 = children ? React.Children.map(children, _temp$3)?.filter(Boolean) ?? [] : [];
34929
35056
  $[9] = children;
34930
35057
  $[10] = t13;
34931
35058
  } else {
@@ -35126,7 +35253,7 @@
35126
35253
  t30 = $[53];
35127
35254
  }
35128
35255
  let t31;
35129
- if ($[54] !== handleClear || $[55] !== includeClear || $[56] !== isPopoverOpen || $[57] !== optionsMap || $[58] !== placeholder || $[59] !== renderValues || $[60] !== selectedValues || $[61] !== size || $[62] !== toggleOption || $[63] !== useChips) {
35256
+ if ($[54] !== endAdornment || $[55] !== handleClear || $[56] !== includeClear || $[57] !== isPopoverOpen || $[58] !== optionsMap || $[59] !== placeholder || $[60] !== renderValues || $[61] !== selectedValues || $[62] !== size || $[63] !== toggleOption || $[64] !== useChips) {
35130
35257
  t31 = selectedValues.length > 0 ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex justify-between items-center w-full", children: [
35131
35258
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-wrap items-center gap-1.5 text-start", children: [
35132
35259
  renderValues && renderValues(selectedValues),
@@ -35145,122 +35272,127 @@
35145
35272
  })
35146
35273
  ] }),
35147
35274
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
35148
- includeClear && /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { className: "ml-4", size: "small", onClick: (event_1) => {
35275
+ includeClear && !endAdornment && /* @__PURE__ */ jsxRuntime.jsx(CloseIcon, { className: "ml-4", size: "small", onClick: (event_1) => {
35149
35276
  event_1.stopPropagation();
35150
35277
  handleClear();
35151
35278
  } }),
35279
+ endAdornment && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-4 flex items-center", onClick: _temp2$1, children: endAdornment }),
35152
35280
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: cls("px-2 h-full flex items-center"), children: /* @__PURE__ */ jsxRuntime.jsx(KeyboardArrowDownIcon, { size: size === "large" ? "medium" : "small", className: cls("transition", isPopoverOpen ? "rotate-180" : "") }) })
35153
35281
  ] })
35154
35282
  ] }) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between w-full mx-auto", children: [
35155
35283
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: placeholder }),
35156
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cls("px-2 h-full flex items-center"), children: /* @__PURE__ */ jsxRuntime.jsx(KeyboardArrowDownIcon, { size: size === "large" ? "medium" : "small", className: cls("transition", isPopoverOpen ? "rotate-180" : "") }) })
35284
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
35285
+ endAdornment && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "ml-4 flex items-center", onClick: _temp3, children: endAdornment }),
35286
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cls("px-2 h-full flex items-center"), children: /* @__PURE__ */ jsxRuntime.jsx(KeyboardArrowDownIcon, { size: size === "large" ? "medium" : "small", className: cls("transition", isPopoverOpen ? "rotate-180" : "") }) })
35287
+ ] })
35157
35288
  ] });
35158
- $[54] = handleClear;
35159
- $[55] = includeClear;
35160
- $[56] = isPopoverOpen;
35161
- $[57] = optionsMap;
35162
- $[58] = placeholder;
35163
- $[59] = renderValues;
35164
- $[60] = selectedValues;
35165
- $[61] = size;
35166
- $[62] = toggleOption;
35167
- $[63] = useChips;
35168
- $[64] = t31;
35169
- } else {
35170
- t31 = $[64];
35289
+ $[54] = endAdornment;
35290
+ $[55] = handleClear;
35291
+ $[56] = includeClear;
35292
+ $[57] = isPopoverOpen;
35293
+ $[58] = optionsMap;
35294
+ $[59] = placeholder;
35295
+ $[60] = renderValues;
35296
+ $[61] = selectedValues;
35297
+ $[62] = size;
35298
+ $[63] = toggleOption;
35299
+ $[64] = useChips;
35300
+ $[65] = t31;
35301
+ } else {
35302
+ t31 = $[65];
35171
35303
  }
35172
35304
  let t32;
35173
- if ($[65] !== handleTogglePopover || $[66] !== t25 || $[67] !== t30 || $[68] !== t31) {
35305
+ if ($[66] !== handleTogglePopover || $[67] !== t25 || $[68] !== t30 || $[69] !== t31) {
35174
35306
  t32 = /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("button", { ref: t25, onClick: handleTogglePopover, className: t30, children: t31 }) });
35175
- $[65] = handleTogglePopover;
35176
- $[66] = t25;
35177
- $[67] = t30;
35178
- $[68] = t31;
35179
- $[69] = t32;
35307
+ $[66] = handleTogglePopover;
35308
+ $[67] = t25;
35309
+ $[68] = t30;
35310
+ $[69] = t31;
35311
+ $[70] = t32;
35180
35312
  } else {
35181
- t32 = $[69];
35313
+ t32 = $[70];
35182
35314
  }
35183
35315
  let t33;
35184
- if ($[70] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35316
+ if ($[71] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35185
35317
  t33 = cls("z-50 overflow-hidden border bg-white dark:bg-surface-900 rounded-lg w-[400px]", defaultBorderMixin);
35186
- $[70] = t33;
35318
+ $[71] = t33;
35187
35319
  } else {
35188
- t33 = $[70];
35320
+ t33 = $[71];
35189
35321
  }
35190
35322
  let t34;
35191
- if ($[71] !== onPopoverOpenChange) {
35323
+ if ($[72] !== onPopoverOpenChange) {
35192
35324
  t34 = () => onPopoverOpenChange(false);
35193
- $[71] = onPopoverOpenChange;
35194
- $[72] = t34;
35325
+ $[72] = onPopoverOpenChange;
35326
+ $[73] = t34;
35195
35327
  } else {
35196
- t34 = $[72];
35328
+ t34 = $[73];
35197
35329
  }
35198
35330
  let t35;
35199
- if ($[73] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35331
+ if ($[74] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35200
35332
  t35 = cls(focusedDisabled, "bg-transparent outline-none flex-1 h-full w-full m-4 flex-grow text-surface-accent-900 dark:text-white");
35201
- $[73] = t35;
35333
+ $[74] = t35;
35202
35334
  } else {
35203
- t35 = $[73];
35335
+ t35 = $[74];
35204
35336
  }
35205
35337
  let t36;
35206
- if ($[74] !== handleInputKeyDown) {
35338
+ if ($[75] !== handleInputKeyDown) {
35207
35339
  t36 = /* @__PURE__ */ jsxRuntime.jsx(cmdk.Command.Input, { className: t35, placeholder: "Search...", onKeyDown: handleInputKeyDown });
35208
- $[74] = handleInputKeyDown;
35209
- $[75] = t36;
35340
+ $[75] = handleInputKeyDown;
35341
+ $[76] = t36;
35210
35342
  } else {
35211
- t36 = $[75];
35343
+ t36 = $[76];
35212
35344
  }
35213
35345
  let t37;
35214
- if ($[76] !== handleClear || $[77] !== selectedValues.length) {
35346
+ if ($[77] !== handleClear || $[78] !== selectedValues.length) {
35215
35347
  t37 = selectedValues.length > 0 && /* @__PURE__ */ jsxRuntime.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" });
35216
- $[76] = handleClear;
35217
- $[77] = selectedValues.length;
35218
- $[78] = t37;
35348
+ $[77] = handleClear;
35349
+ $[78] = selectedValues.length;
35350
+ $[79] = t37;
35219
35351
  } else {
35220
- t37 = $[78];
35352
+ t37 = $[79];
35221
35353
  }
35222
35354
  let t38;
35223
- if ($[79] !== t36 || $[80] !== t37) {
35355
+ if ($[80] !== t36 || $[81] !== t37) {
35224
35356
  t38 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-row items-center", children: [
35225
35357
  t36,
35226
35358
  t37
35227
35359
  ] });
35228
- $[79] = t36;
35229
- $[80] = t37;
35230
- $[81] = t38;
35360
+ $[80] = t36;
35361
+ $[81] = t37;
35362
+ $[82] = t38;
35231
35363
  } else {
35232
- t38 = $[81];
35364
+ t38 = $[82];
35233
35365
  }
35234
35366
  let t39;
35235
- if ($[82] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35367
+ if ($[83] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35236
35368
  t39 = /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "horizontal", className: "my-0" });
35237
- $[82] = t39;
35369
+ $[83] = t39;
35238
35370
  } else {
35239
- t39 = $[82];
35371
+ t39 = $[83];
35240
35372
  }
35241
35373
  let t40;
35242
- if ($[83] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35374
+ if ($[84] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
35243
35375
  t40 = /* @__PURE__ */ jsxRuntime.jsx(cmdk.Command.Empty, { className: "px-4 py-2 text-sm text-text-secondary dark:text-text-secondary-dark", children: "No results found." });
35244
- $[83] = t40;
35376
+ $[84] = t40;
35245
35377
  } else {
35246
- t40 = $[83];
35378
+ t40 = $[84];
35247
35379
  }
35248
35380
  let t41;
35249
- if ($[84] !== allValues.length || $[85] !== includeSelectAll || $[86] !== selectedValues.length || $[87] !== toggleAll) {
35381
+ if ($[85] !== allValues.length || $[86] !== includeSelectAll || $[87] !== selectedValues.length || $[88] !== toggleAll) {
35250
35382
  t41 = includeSelectAll && /* @__PURE__ */ jsxRuntime.jsxs(cmdk.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: [
35251
35383
  /* @__PURE__ */ jsxRuntime.jsx(InnerCheckBox, { checked: selectedValues.length === allValues.length }),
35252
35384
  /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-text-secondary dark:text-text-secondary-dark", children: "(Select All)" })
35253
35385
  ] }, "all");
35254
- $[84] = allValues.length;
35255
- $[85] = includeSelectAll;
35256
- $[86] = selectedValues.length;
35257
- $[87] = toggleAll;
35258
- $[88] = t41;
35386
+ $[85] = allValues.length;
35387
+ $[86] = includeSelectAll;
35388
+ $[87] = selectedValues.length;
35389
+ $[88] = toggleAll;
35390
+ $[89] = t41;
35259
35391
  } else {
35260
- t41 = $[88];
35392
+ t41 = $[89];
35261
35393
  }
35262
35394
  let t42;
35263
- if ($[89] !== children || $[90] !== t41) {
35395
+ if ($[90] !== children || $[91] !== t41) {
35264
35396
  t42 = /* @__PURE__ */ jsxRuntime.jsxs(cmdk.Command.List, { children: [
35265
35397
  t40,
35266
35398
  /* @__PURE__ */ jsxRuntime.jsxs(cmdk.Command.Group, { children: [
@@ -35268,70 +35400,70 @@
35268
35400
  children
35269
35401
  ] })
35270
35402
  ] });
35271
- $[89] = children;
35272
- $[90] = t41;
35273
- $[91] = t42;
35403
+ $[90] = children;
35404
+ $[91] = t41;
35405
+ $[92] = t42;
35274
35406
  } else {
35275
- t42 = $[91];
35407
+ t42 = $[92];
35276
35408
  }
35277
35409
  let t43;
35278
- if ($[92] !== t38 || $[93] !== t42) {
35410
+ if ($[93] !== t38 || $[94] !== t42) {
35279
35411
  t43 = /* @__PURE__ */ jsxRuntime.jsxs(cmdk.Command, { children: [
35280
35412
  t38,
35281
35413
  t39,
35282
35414
  t42
35283
35415
  ] });
35284
- $[92] = t38;
35285
- $[93] = t42;
35286
- $[94] = t43;
35416
+ $[93] = t38;
35417
+ $[94] = t42;
35418
+ $[95] = t43;
35287
35419
  } else {
35288
- t43 = $[94];
35420
+ t43 = $[95];
35289
35421
  }
35290
35422
  let t44;
35291
- if ($[95] !== t34 || $[96] !== t43) {
35423
+ if ($[96] !== t34 || $[97] !== t43) {
35292
35424
  t44 = /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Content, { className: t33, align: "start", sideOffset: 8, onEscapeKeyDown: t34, children: t43 });
35293
- $[95] = t34;
35294
- $[96] = t43;
35295
- $[97] = t44;
35425
+ $[96] = t34;
35426
+ $[97] = t43;
35427
+ $[98] = t44;
35296
35428
  } else {
35297
- t44 = $[97];
35429
+ t44 = $[98];
35298
35430
  }
35299
35431
  let t45;
35300
- if ($[98] !== finalContainer || $[99] !== t44) {
35432
+ if ($[99] !== finalContainer || $[100] !== t44) {
35301
35433
  t45 = /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { container: finalContainer, children: t44 });
35302
- $[98] = finalContainer;
35303
- $[99] = t44;
35304
- $[100] = t45;
35434
+ $[99] = finalContainer;
35435
+ $[100] = t44;
35436
+ $[101] = t45;
35305
35437
  } else {
35306
- t45 = $[100];
35438
+ t45 = $[101];
35307
35439
  }
35308
35440
  let t46;
35309
- if ($[101] !== modalPopover || $[102] !== onPopoverOpenChange || $[103] !== t24 || $[104] !== t32 || $[105] !== t45) {
35441
+ if ($[102] !== modalPopover || $[103] !== onPopoverOpenChange || $[104] !== t24 || $[105] !== t32 || $[106] !== t45) {
35310
35442
  t46 = /* @__PURE__ */ jsxRuntime.jsxs(PopoverPrimitive__namespace.Root, { open: t24, onOpenChange: onPopoverOpenChange, modal: modalPopover, children: [
35311
35443
  t32,
35312
35444
  t45
35313
35445
  ] });
35314
- $[101] = modalPopover;
35315
- $[102] = onPopoverOpenChange;
35316
- $[103] = t24;
35317
- $[104] = t32;
35318
- $[105] = t45;
35319
- $[106] = t46;
35446
+ $[102] = modalPopover;
35447
+ $[103] = onPopoverOpenChange;
35448
+ $[104] = t24;
35449
+ $[105] = t32;
35450
+ $[106] = t45;
35451
+ $[107] = t46;
35320
35452
  } else {
35321
- t46 = $[106];
35453
+ t46 = $[107];
35322
35454
  }
35323
35455
  let t47;
35324
- if ($[107] !== t22 || $[108] !== t23 || $[109] !== t46) {
35456
+ if ($[108] !== t22 || $[109] !== t23 || $[110] !== t46) {
35325
35457
  t47 = /* @__PURE__ */ jsxRuntime.jsxs(MultiSelectContext.Provider, { value: t22, children: [
35326
35458
  t23,
35327
35459
  t46
35328
35460
  ] });
35329
- $[107] = t22;
35330
- $[108] = t23;
35331
- $[109] = t46;
35332
- $[110] = t47;
35461
+ $[108] = t22;
35462
+ $[109] = t23;
35463
+ $[110] = t46;
35464
+ $[111] = t47;
35333
35465
  } else {
35334
- t47 = $[110];
35466
+ t47 = $[111];
35335
35467
  }
35336
35468
  return t47;
35337
35469
  });
@@ -35408,7 +35540,7 @@
35408
35540
  }
35409
35541
  let t7;
35410
35542
  if ($[15] !== children || $[16] !== t3 || $[17] !== t5 || $[18] !== t6) {
35411
- t7 = /* @__PURE__ */ jsxRuntime.jsxs(cmdk.Command.Item, { onMouseDown: _temp2$1, onSelect: t3, className: t5, children: [
35543
+ t7 = /* @__PURE__ */ jsxRuntime.jsxs(cmdk.Command.Item, { onMouseDown: _temp4, onSelect: t3, className: t5, children: [
35412
35544
  t6,
35413
35545
  children
35414
35546
  ] });
@@ -35466,7 +35598,7 @@
35466
35598
  }
35467
35599
  return t7;
35468
35600
  });
35469
- function _temp$2(child) {
35601
+ function _temp$3(child) {
35470
35602
  if (React__namespace.isValidElement(child)) {
35471
35603
  return child.props.value;
35472
35604
  }
@@ -35476,6 +35608,14 @@
35476
35608
  e.preventDefault();
35477
35609
  e.stopPropagation();
35478
35610
  }
35611
+ function _temp3(e_0) {
35612
+ e_0.preventDefault();
35613
+ e_0.stopPropagation();
35614
+ }
35615
+ function _temp4(e) {
35616
+ e.preventDefault();
35617
+ e.stopPropagation();
35618
+ }
35479
35619
  function Paper(t0) {
35480
35620
  const $ = reactCompilerRuntime.c(6);
35481
35621
  const {
@@ -35584,6 +35724,214 @@
35584
35724
  return t3;
35585
35725
  });
35586
35726
  RadioGroupItem.displayName = RadioGroupPrimitive__namespace.Item.displayName;
35727
+ function ResizablePanels(t0) {
35728
+ const $ = reactCompilerRuntime.c(40);
35729
+ const {
35730
+ firstPanel,
35731
+ secondPanel,
35732
+ showFirstPanel: t1,
35733
+ showSecondPanel: t2,
35734
+ panelSizePercent,
35735
+ onPanelSizeChange,
35736
+ minPanelSizePx: t3,
35737
+ orientation: t4,
35738
+ className
35739
+ } = t0;
35740
+ const showFirstPanel = t1 === void 0 ? true : t1;
35741
+ const showSecondPanel = t2 === void 0 ? true : t2;
35742
+ const minPanelSizePx = t3 === void 0 ? 200 : t3;
35743
+ const orientation = t4 === void 0 ? "horizontal" : t4;
35744
+ const containerRef = React.useRef(null);
35745
+ const isResizingRef = React.useRef(false);
35746
+ const firstPanelRef = React.useRef(null);
35747
+ const startPosRef = React.useRef(0);
35748
+ const startSizeRef = React.useRef(0);
35749
+ const [, setIsResizing] = React.useState(false);
35750
+ const isHorizontal = orientation === "horizontal";
35751
+ let t5;
35752
+ if ($[0] !== isHorizontal || $[1] !== showFirstPanel || $[2] !== showSecondPanel) {
35753
+ t5 = (e) => {
35754
+ if (!showFirstPanel || !showSecondPanel) {
35755
+ return;
35756
+ }
35757
+ e.preventDefault();
35758
+ isResizingRef.current = true;
35759
+ setIsResizing(true);
35760
+ startPosRef.current = isHorizontal ? e.clientX : e.clientY;
35761
+ if (firstPanelRef.current) {
35762
+ const rect = firstPanelRef.current.getBoundingClientRect();
35763
+ startSizeRef.current = isHorizontal ? rect.width : rect.height;
35764
+ }
35765
+ document.body.style.cursor = isHorizontal ? "col-resize" : "row-resize";
35766
+ document.body.style.userSelect = "none";
35767
+ };
35768
+ $[0] = isHorizontal;
35769
+ $[1] = showFirstPanel;
35770
+ $[2] = showSecondPanel;
35771
+ $[3] = t5;
35772
+ } else {
35773
+ t5 = $[3];
35774
+ }
35775
+ const handleResizeStart = t5;
35776
+ let t6;
35777
+ let t7;
35778
+ if ($[4] !== isHorizontal || $[5] !== minPanelSizePx || $[6] !== onPanelSizeChange) {
35779
+ t6 = () => {
35780
+ const handleMouseMove = (e_0) => {
35781
+ if (!isResizingRef.current || !containerRef.current) {
35782
+ return;
35783
+ }
35784
+ const currentPos = isHorizontal ? e_0.clientX : e_0.clientY;
35785
+ const delta = currentPos - startPosRef.current;
35786
+ let newSize = startSizeRef.current + delta;
35787
+ const containerRect = containerRef.current.getBoundingClientRect();
35788
+ const containerTotal = isHorizontal ? containerRect.width : containerRect.height;
35789
+ const maxSize = containerTotal - minPanelSizePx;
35790
+ newSize = Math.max(minPanelSizePx, Math.min(newSize, maxSize));
35791
+ if (firstPanelRef.current) {
35792
+ if (isHorizontal) {
35793
+ firstPanelRef.current.style.width = `${newSize}px`;
35794
+ } else {
35795
+ firstPanelRef.current.style.height = `${newSize}px`;
35796
+ }
35797
+ }
35798
+ };
35799
+ const handleMouseUp = () => {
35800
+ if (isResizingRef.current && containerRef.current && firstPanelRef.current) {
35801
+ isResizingRef.current = false;
35802
+ setIsResizing(false);
35803
+ document.body.style.cursor = "";
35804
+ document.body.style.userSelect = "";
35805
+ const containerRect_0 = containerRef.current.getBoundingClientRect();
35806
+ const firstPanelRect = firstPanelRef.current.getBoundingClientRect();
35807
+ const containerSize = isHorizontal ? containerRect_0.width : containerRect_0.height;
35808
+ const finalSize = isHorizontal ? firstPanelRect.width : firstPanelRect.height;
35809
+ if (containerSize > 0) {
35810
+ const newPercent = finalSize / containerSize * 100;
35811
+ onPanelSizeChange(Math.max(0, Math.min(100, newPercent)));
35812
+ }
35813
+ }
35814
+ };
35815
+ window.addEventListener("mousemove", handleMouseMove);
35816
+ window.addEventListener("mouseup", handleMouseUp);
35817
+ return () => {
35818
+ window.removeEventListener("mousemove", handleMouseMove);
35819
+ window.removeEventListener("mouseup", handleMouseUp);
35820
+ };
35821
+ };
35822
+ t7 = [onPanelSizeChange, isHorizontal, minPanelSizePx];
35823
+ $[4] = isHorizontal;
35824
+ $[5] = minPanelSizePx;
35825
+ $[6] = onPanelSizeChange;
35826
+ $[7] = t6;
35827
+ $[8] = t7;
35828
+ } else {
35829
+ t6 = $[7];
35830
+ t7 = $[8];
35831
+ }
35832
+ React.useEffect(t6, t7);
35833
+ const appliedBasis = !showFirstPanel ? "0%" : showSecondPanel ? `${panelSizePercent}%` : "100%";
35834
+ const t8 = isHorizontal ? "flex-row" : "flex-col";
35835
+ let t9;
35836
+ if ($[9] !== className || $[10] !== t8) {
35837
+ t9 = cls("relative w-full h-full flex overflow-hidden", t8, className);
35838
+ $[9] = className;
35839
+ $[10] = t8;
35840
+ $[11] = t9;
35841
+ } else {
35842
+ t9 = $[11];
35843
+ }
35844
+ const t10 = !showFirstPanel && "hidden";
35845
+ let t11;
35846
+ if ($[12] !== t10) {
35847
+ t11 = cls("relative flex-shrink-0 flex flex-col overflow-hidden", t10);
35848
+ $[12] = t10;
35849
+ $[13] = t11;
35850
+ } else {
35851
+ t11 = $[13];
35852
+ }
35853
+ const t12 = isHorizontal ? appliedBasis : "100%";
35854
+ const t13 = !isHorizontal ? appliedBasis : "100%";
35855
+ const t14 = isHorizontal && showFirstPanel && showSecondPanel ? `${minPanelSizePx}px` : void 0;
35856
+ const t15 = !isHorizontal && showFirstPanel && showSecondPanel ? `${minPanelSizePx}px` : void 0;
35857
+ const t16 = showSecondPanel ? void 0 : "100%";
35858
+ const t17 = showSecondPanel ? void 0 : "100%";
35859
+ let t18;
35860
+ if ($[14] !== t12 || $[15] !== t13 || $[16] !== t14 || $[17] !== t15 || $[18] !== t16 || $[19] !== t17) {
35861
+ t18 = {
35862
+ width: t12,
35863
+ height: t13,
35864
+ minWidth: t14,
35865
+ minHeight: t15,
35866
+ maxWidth: t16,
35867
+ maxHeight: t17
35868
+ };
35869
+ $[14] = t12;
35870
+ $[15] = t13;
35871
+ $[16] = t14;
35872
+ $[17] = t15;
35873
+ $[18] = t16;
35874
+ $[19] = t17;
35875
+ $[20] = t18;
35876
+ } else {
35877
+ t18 = $[20];
35878
+ }
35879
+ let t19;
35880
+ if ($[21] !== firstPanel || $[22] !== t11 || $[23] !== t18) {
35881
+ t19 = /* @__PURE__ */ jsxRuntime.jsx("div", { ref: firstPanelRef, className: t11, style: t18, children: firstPanel });
35882
+ $[21] = firstPanel;
35883
+ $[22] = t11;
35884
+ $[23] = t18;
35885
+ $[24] = t19;
35886
+ } else {
35887
+ t19 = $[24];
35888
+ }
35889
+ let t20;
35890
+ if ($[25] !== handleResizeStart || $[26] !== isHorizontal || $[27] !== showFirstPanel || $[28] !== showSecondPanel) {
35891
+ t20 = showFirstPanel && showSecondPanel && /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.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__ */ jsxRuntime.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") }) }) });
35892
+ $[25] = handleResizeStart;
35893
+ $[26] = isHorizontal;
35894
+ $[27] = showFirstPanel;
35895
+ $[28] = showSecondPanel;
35896
+ $[29] = t20;
35897
+ } else {
35898
+ t20 = $[29];
35899
+ }
35900
+ const t21 = !showSecondPanel && "hidden";
35901
+ let t22;
35902
+ if ($[30] !== t21) {
35903
+ t22 = cls("flex-grow relative flex flex-col overflow-hidden min-w-0 min-h-0", t21);
35904
+ $[30] = t21;
35905
+ $[31] = t22;
35906
+ } else {
35907
+ t22 = $[31];
35908
+ }
35909
+ let t23;
35910
+ if ($[32] !== secondPanel || $[33] !== t22) {
35911
+ t23 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: t22, children: secondPanel });
35912
+ $[32] = secondPanel;
35913
+ $[33] = t22;
35914
+ $[34] = t23;
35915
+ } else {
35916
+ t23 = $[34];
35917
+ }
35918
+ let t24;
35919
+ if ($[35] !== t19 || $[36] !== t20 || $[37] !== t23 || $[38] !== t9) {
35920
+ t24 = /* @__PURE__ */ jsxRuntime.jsxs("div", { ref: containerRef, className: t9, children: [
35921
+ t19,
35922
+ t20,
35923
+ t23
35924
+ ] });
35925
+ $[35] = t19;
35926
+ $[36] = t20;
35927
+ $[37] = t23;
35928
+ $[38] = t9;
35929
+ $[39] = t24;
35930
+ } else {
35931
+ t24 = $[39];
35932
+ }
35933
+ return t24;
35934
+ }
35587
35935
  function SearchBar(t0) {
35588
35936
  const $ = reactCompilerRuntime.c(47);
35589
35937
  const {
@@ -35768,6 +36116,483 @@
35768
36116
  }
35769
36117
  return t22;
35770
36118
  }
36119
+ const SearchableSelect = React__namespace.forwardRef((t0, ref) => {
36120
+ const $ = reactCompilerRuntime.c(106);
36121
+ const {
36122
+ value,
36123
+ onValueChange,
36124
+ placeholder: t1,
36125
+ label,
36126
+ size: t2,
36127
+ disabled,
36128
+ error,
36129
+ invisible,
36130
+ className,
36131
+ inputClassName,
36132
+ renderValue,
36133
+ modalPopover: t3,
36134
+ allowCustomValues: t4,
36135
+ portalContainer,
36136
+ autoFocus,
36137
+ children
36138
+ } = t0;
36139
+ const placeholder = t1 === void 0 ? "Select..." : t1;
36140
+ const size = t2 === void 0 ? "large" : t2;
36141
+ const modalPopover = t3 === void 0 ? false : t3;
36142
+ const allowCustomValues = t4 === void 0 ? true : t4;
36143
+ const [isMounted, setIsMounted] = React.useState(false);
36144
+ const [isPopoverOpen, setIsPopoverOpen] = React.useState(false);
36145
+ const [search, setSearch] = React.useState("");
36146
+ const inputRef = React.useRef(null);
36147
+ const contextContainer = usePortalContainer();
36148
+ const finalContainer = portalContainer ?? contextContainer ?? void 0;
36149
+ let t5;
36150
+ let t6;
36151
+ if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36152
+ t5 = () => {
36153
+ setIsMounted(true);
36154
+ };
36155
+ t6 = [];
36156
+ $[0] = t5;
36157
+ $[1] = t6;
36158
+ } else {
36159
+ t5 = $[0];
36160
+ t6 = $[1];
36161
+ }
36162
+ React.useEffect(t5, t6);
36163
+ let t7;
36164
+ if ($[2] !== autoFocus || $[3] !== isMounted) {
36165
+ t7 = [autoFocus, isMounted];
36166
+ $[2] = autoFocus;
36167
+ $[3] = isMounted;
36168
+ $[4] = t7;
36169
+ } else {
36170
+ t7 = $[4];
36171
+ }
36172
+ React.useEffect(() => {
36173
+ if (autoFocus && isMounted) {
36174
+ onPopoverOpenChange(true);
36175
+ }
36176
+ }, t7);
36177
+ let t8;
36178
+ let map;
36179
+ if ($[5] !== children) {
36180
+ map = /* @__PURE__ */ new Map();
36181
+ React__namespace.Children.forEach(children, (child) => {
36182
+ if (React__namespace.isValidElement(child) && child.props.value != null) {
36183
+ map.set(String(child.props.value), child.props.children ?? child.props.value);
36184
+ }
36185
+ });
36186
+ $[5] = children;
36187
+ $[6] = map;
36188
+ } else {
36189
+ map = $[6];
36190
+ }
36191
+ t8 = map;
36192
+ const itemsMap = t8;
36193
+ const onPopoverOpenChange = (open) => {
36194
+ setIsPopoverOpen(open);
36195
+ if (open) {
36196
+ setSearch(value ?? "");
36197
+ setTimeout(() => inputRef.current?.focus(), 0);
36198
+ }
36199
+ };
36200
+ let t9;
36201
+ if ($[7] !== onValueChange) {
36202
+ t9 = (selectedValue) => {
36203
+ onValueChange?.(selectedValue);
36204
+ setIsPopoverOpen(false);
36205
+ setSearch("");
36206
+ };
36207
+ $[7] = onValueChange;
36208
+ $[8] = t9;
36209
+ } else {
36210
+ t9 = $[8];
36211
+ }
36212
+ const handleSelect = t9;
36213
+ let t10;
36214
+ if ($[9] !== allowCustomValues || $[10] !== handleSelect || $[11] !== itemsMap || $[12] !== search) {
36215
+ t10 = (e) => {
36216
+ if (e.key === "Enter" && allowCustomValues) {
36217
+ const trimmed = search.trim();
36218
+ if (trimmed) {
36219
+ const isExistingItem = itemsMap.has(trimmed);
36220
+ if (!isExistingItem) {
36221
+ e.preventDefault();
36222
+ handleSelect(trimmed);
36223
+ }
36224
+ }
36225
+ } else {
36226
+ if (e.key === "Escape") {
36227
+ setIsPopoverOpen(false);
36228
+ }
36229
+ }
36230
+ };
36231
+ $[9] = allowCustomValues;
36232
+ $[10] = handleSelect;
36233
+ $[11] = itemsMap;
36234
+ $[12] = search;
36235
+ $[13] = t10;
36236
+ } else {
36237
+ t10 = $[13];
36238
+ }
36239
+ const handleInputKeyDown = t10;
36240
+ let t11;
36241
+ bb0: {
36242
+ if (!value) {
36243
+ t11 = null;
36244
+ break bb0;
36245
+ }
36246
+ if (renderValue) {
36247
+ let t123;
36248
+ if ($[14] !== renderValue || $[15] !== value) {
36249
+ t123 = renderValue(value);
36250
+ $[14] = renderValue;
36251
+ $[15] = value;
36252
+ $[16] = t123;
36253
+ } else {
36254
+ t123 = $[16];
36255
+ }
36256
+ t11 = t123;
36257
+ break bb0;
36258
+ }
36259
+ let t122;
36260
+ if ($[17] !== itemsMap || $[18] !== value) {
36261
+ t122 = itemsMap.get(value);
36262
+ $[17] = itemsMap;
36263
+ $[18] = value;
36264
+ $[19] = t122;
36265
+ } else {
36266
+ t122 = $[19];
36267
+ }
36268
+ const itemLabel = t122;
36269
+ if (itemLabel) {
36270
+ t11 = itemLabel;
36271
+ break bb0;
36272
+ }
36273
+ let t132;
36274
+ if ($[20] !== value) {
36275
+ t132 = /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm", children: value });
36276
+ $[20] = value;
36277
+ $[21] = t132;
36278
+ } else {
36279
+ t132 = $[21];
36280
+ }
36281
+ t11 = t132;
36282
+ }
36283
+ const displayLabel = t11;
36284
+ useInjectStyles("SearchableSelect", `
36285
+ [cmdk-group] {
36286
+ max-height: 45vh;
36287
+ overflow-y: auto;
36288
+ }`);
36289
+ let t12;
36290
+ if ($[22] !== error || $[23] !== label) {
36291
+ t12 = label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.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);
36292
+ $[22] = error;
36293
+ $[23] = label;
36294
+ $[24] = t12;
36295
+ } else {
36296
+ t12 = $[24];
36297
+ }
36298
+ const t13 = isMounted && isPopoverOpen;
36299
+ let t14;
36300
+ if ($[25] !== disabled || $[26] !== isPopoverOpen || $[27] !== onPopoverOpenChange) {
36301
+ t14 = () => !disabled && onPopoverOpenChange(!isPopoverOpen);
36302
+ $[25] = disabled;
36303
+ $[26] = isPopoverOpen;
36304
+ $[27] = onPopoverOpenChange;
36305
+ $[28] = t14;
36306
+ } else {
36307
+ t14 = $[28];
36308
+ }
36309
+ const t15 = size === "smallest";
36310
+ const t16 = size === "small";
36311
+ const t17 = size === "medium";
36312
+ const t18 = size === "large";
36313
+ let t19;
36314
+ if ($[29] !== className || $[30] !== disabled || $[31] !== inputClassName || $[32] !== invisible || $[33] !== size || $[34] !== t15 || $[35] !== t16 || $[36] !== t17 || $[37] !== t18) {
36315
+ t19 = cls({
36316
+ "min-h-[28px]": t15,
36317
+ "min-h-[32px]": t16,
36318
+ "min-h-[44px]": t17,
36319
+ "min-h-[64px]": t18
36320
+ }, {
36321
+ "py-0.5": size === "smallest",
36322
+ "py-1": size === "small",
36323
+ "py-2": size === "medium" || size === "large"
36324
+ }, {
36325
+ "px-2": size === "small" || size === "smallest",
36326
+ "px-4": size === "medium" || size === "large"
36327
+ }, "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);
36328
+ $[29] = className;
36329
+ $[30] = disabled;
36330
+ $[31] = inputClassName;
36331
+ $[32] = invisible;
36332
+ $[33] = size;
36333
+ $[34] = t15;
36334
+ $[35] = t16;
36335
+ $[36] = t17;
36336
+ $[37] = t18;
36337
+ $[38] = t19;
36338
+ } else {
36339
+ t19 = $[38];
36340
+ }
36341
+ let t20;
36342
+ if ($[39] !== displayLabel || $[40] !== placeholder) {
36343
+ t20 = displayLabel ?? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-sm text-surface-accent-500 dark:text-surface-accent-400", children: placeholder });
36344
+ $[39] = displayLabel;
36345
+ $[40] = placeholder;
36346
+ $[41] = t20;
36347
+ } else {
36348
+ t20 = $[41];
36349
+ }
36350
+ let t21;
36351
+ if ($[42] !== t20) {
36352
+ t21 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-grow min-w-0 truncate", children: t20 });
36353
+ $[42] = t20;
36354
+ $[43] = t21;
36355
+ } else {
36356
+ t21 = $[43];
36357
+ }
36358
+ let t22;
36359
+ if ($[44] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36360
+ t22 = cls("flex-shrink-0 flex items-center");
36361
+ $[44] = t22;
36362
+ } else {
36363
+ t22 = $[44];
36364
+ }
36365
+ const t23 = size === "large" ? "medium" : "small";
36366
+ const t24 = isPopoverOpen ? "rotate-180" : "";
36367
+ let t25;
36368
+ if ($[45] !== t24) {
36369
+ t25 = cls("transition", t24);
36370
+ $[45] = t24;
36371
+ $[46] = t25;
36372
+ } else {
36373
+ t25 = $[46];
36374
+ }
36375
+ let t26;
36376
+ if ($[47] !== t23 || $[48] !== t25) {
36377
+ t26 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: t22, children: /* @__PURE__ */ jsxRuntime.jsx(KeyboardArrowDownIcon, { size: t23, className: t25 }) });
36378
+ $[47] = t23;
36379
+ $[48] = t25;
36380
+ $[49] = t26;
36381
+ } else {
36382
+ t26 = $[49];
36383
+ }
36384
+ let t27;
36385
+ if ($[50] !== t21 || $[51] !== t26) {
36386
+ t27 = /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between w-full gap-1", children: [
36387
+ t21,
36388
+ t26
36389
+ ] });
36390
+ $[50] = t21;
36391
+ $[51] = t26;
36392
+ $[52] = t27;
36393
+ } else {
36394
+ t27 = $[52];
36395
+ }
36396
+ let t28;
36397
+ if ($[53] !== disabled || $[54] !== ref || $[55] !== t14 || $[56] !== t19 || $[57] !== t27) {
36398
+ t28 = /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Trigger, { asChild: true, children: /* @__PURE__ */ jsxRuntime.jsx("button", { ref, disabled, onClick: t14, className: t19, children: t27 }) });
36399
+ $[53] = disabled;
36400
+ $[54] = ref;
36401
+ $[55] = t14;
36402
+ $[56] = t19;
36403
+ $[57] = t27;
36404
+ $[58] = t28;
36405
+ } else {
36406
+ t28 = $[58];
36407
+ }
36408
+ let t29;
36409
+ if ($[59] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36410
+ t29 = cls("z-50 overflow-hidden border bg-white dark:bg-surface-900 rounded-lg", defaultBorderMixin);
36411
+ $[59] = t29;
36412
+ } else {
36413
+ t29 = $[59];
36414
+ }
36415
+ let t30;
36416
+ if ($[60] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36417
+ t30 = {
36418
+ width: "var(--radix-popover-trigger-width)",
36419
+ minWidth: 180
36420
+ };
36421
+ $[60] = t30;
36422
+ } else {
36423
+ t30 = $[60];
36424
+ }
36425
+ let t31;
36426
+ if ($[61] !== onPopoverOpenChange) {
36427
+ t31 = () => onPopoverOpenChange(false);
36428
+ $[61] = onPopoverOpenChange;
36429
+ $[62] = t31;
36430
+ } else {
36431
+ t31 = $[62];
36432
+ }
36433
+ const t32 = size === "smallest" || size === "small";
36434
+ const t33 = size === "medium" || size === "large";
36435
+ let t34;
36436
+ if ($[63] !== t32 || $[64] !== t33) {
36437
+ t34 = cls(focusedDisabled, "bg-transparent outline-none flex-1 h-full w-full text-surface-accent-900 dark:text-white", {
36438
+ "m-2 text-xs": t32,
36439
+ "m-3 text-sm": t33
36440
+ });
36441
+ $[63] = t32;
36442
+ $[64] = t33;
36443
+ $[65] = t34;
36444
+ } else {
36445
+ t34 = $[65];
36446
+ }
36447
+ let t35;
36448
+ if ($[66] !== handleInputKeyDown || $[67] !== search || $[68] !== t34) {
36449
+ t35 = /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex flex-row items-center", children: /* @__PURE__ */ jsxRuntime.jsx(cmdk.Command.Input, { ref: inputRef, value: search, onValueChange: setSearch, className: t34, placeholder: "Search...", onKeyDown: handleInputKeyDown }) });
36450
+ $[66] = handleInputKeyDown;
36451
+ $[67] = search;
36452
+ $[68] = t34;
36453
+ $[69] = t35;
36454
+ } else {
36455
+ t35 = $[69];
36456
+ }
36457
+ let t36;
36458
+ if ($[70] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
36459
+ t36 = /* @__PURE__ */ jsxRuntime.jsx(Separator, { orientation: "horizontal", className: "my-0" });
36460
+ $[70] = t36;
36461
+ } else {
36462
+ t36 = $[70];
36463
+ }
36464
+ let t37;
36465
+ if ($[71] !== allowCustomValues || $[72] !== handleSelect || $[73] !== itemsMap || $[74] !== search) {
36466
+ t37 = allowCustomValues && search.trim() && !itemsMap.has(search.trim()) ? /* @__PURE__ */ jsxRuntime.jsxs(cmdk.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: [
36467
+ "Use “",
36468
+ search.trim(),
36469
+ "”"
36470
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(cmdk.Command.Empty, { className: "px-3 py-2 text-xs text-text-secondary dark:text-text-secondary-dark", children: "No results found." });
36471
+ $[71] = allowCustomValues;
36472
+ $[72] = handleSelect;
36473
+ $[73] = itemsMap;
36474
+ $[74] = search;
36475
+ $[75] = t37;
36476
+ } else {
36477
+ t37 = $[75];
36478
+ }
36479
+ let t38;
36480
+ if ($[76] !== children || $[77] !== handleSelect || $[78] !== value) {
36481
+ let t392;
36482
+ if ($[80] !== handleSelect || $[81] !== value) {
36483
+ t392 = (child_0) => {
36484
+ if (!React__namespace.isValidElement(child_0)) {
36485
+ return child_0;
36486
+ }
36487
+ const itemValue = child_0.props.value;
36488
+ const isSelected = String(value) === String(itemValue);
36489
+ return /* @__PURE__ */ jsxRuntime.jsxs(cmdk.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: [
36490
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cls("w-4 h-4 flex items-center justify-center flex-shrink-0", isSelected ? "text-primary" : "text-transparent"), children: isSelected && /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { size: 14 }) }),
36491
+ child_0.props.children ?? child_0.props.value
36492
+ ] }, String(itemValue));
36493
+ };
36494
+ $[80] = handleSelect;
36495
+ $[81] = value;
36496
+ $[82] = t392;
36497
+ } else {
36498
+ t392 = $[82];
36499
+ }
36500
+ t38 = React__namespace.Children.map(children, t392);
36501
+ $[76] = children;
36502
+ $[77] = handleSelect;
36503
+ $[78] = value;
36504
+ $[79] = t38;
36505
+ } else {
36506
+ t38 = $[79];
36507
+ }
36508
+ let t39;
36509
+ if ($[83] !== t38) {
36510
+ t39 = /* @__PURE__ */ jsxRuntime.jsx(cmdk.Command.Group, { children: t38 });
36511
+ $[83] = t38;
36512
+ $[84] = t39;
36513
+ } else {
36514
+ t39 = $[84];
36515
+ }
36516
+ let t40;
36517
+ if ($[85] !== t37 || $[86] !== t39) {
36518
+ t40 = /* @__PURE__ */ jsxRuntime.jsxs(cmdk.Command.List, { children: [
36519
+ t37,
36520
+ t39
36521
+ ] });
36522
+ $[85] = t37;
36523
+ $[86] = t39;
36524
+ $[87] = t40;
36525
+ } else {
36526
+ t40 = $[87];
36527
+ }
36528
+ let t41;
36529
+ if ($[88] !== t35 || $[89] !== t40) {
36530
+ t41 = /* @__PURE__ */ jsxRuntime.jsxs(cmdk.Command, { shouldFilter: true, children: [
36531
+ t35,
36532
+ t36,
36533
+ t40
36534
+ ] });
36535
+ $[88] = t35;
36536
+ $[89] = t40;
36537
+ $[90] = t41;
36538
+ } else {
36539
+ t41 = $[90];
36540
+ }
36541
+ let t42;
36542
+ if ($[91] !== t31 || $[92] !== t41) {
36543
+ t42 = /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Content, { className: t29, align: "start", sideOffset: 4, style: t30, onEscapeKeyDown: t31, children: t41 });
36544
+ $[91] = t31;
36545
+ $[92] = t41;
36546
+ $[93] = t42;
36547
+ } else {
36548
+ t42 = $[93];
36549
+ }
36550
+ let t43;
36551
+ if ($[94] !== finalContainer || $[95] !== t42) {
36552
+ t43 = /* @__PURE__ */ jsxRuntime.jsx(PopoverPrimitive__namespace.Portal, { container: finalContainer, children: t42 });
36553
+ $[94] = finalContainer;
36554
+ $[95] = t42;
36555
+ $[96] = t43;
36556
+ } else {
36557
+ t43 = $[96];
36558
+ }
36559
+ let t44;
36560
+ if ($[97] !== modalPopover || $[98] !== onPopoverOpenChange || $[99] !== t13 || $[100] !== t28 || $[101] !== t43) {
36561
+ t44 = /* @__PURE__ */ jsxRuntime.jsxs(PopoverPrimitive__namespace.Root, { open: t13, onOpenChange: onPopoverOpenChange, modal: modalPopover, children: [
36562
+ t28,
36563
+ t43
36564
+ ] });
36565
+ $[97] = modalPopover;
36566
+ $[98] = onPopoverOpenChange;
36567
+ $[99] = t13;
36568
+ $[100] = t28;
36569
+ $[101] = t43;
36570
+ $[102] = t44;
36571
+ } else {
36572
+ t44 = $[102];
36573
+ }
36574
+ let t45;
36575
+ if ($[103] !== t12 || $[104] !== t44) {
36576
+ t45 = /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
36577
+ t12,
36578
+ t44
36579
+ ] });
36580
+ $[103] = t12;
36581
+ $[104] = t44;
36582
+ $[105] = t45;
36583
+ } else {
36584
+ t45 = $[105];
36585
+ }
36586
+ return t45;
36587
+ });
36588
+ SearchableSelect.displayName = "SearchableSelect";
36589
+ function SearchableSelectItem(_props) {
36590
+ return null;
36591
+ }
36592
+ function _temp$2(e_0) {
36593
+ e_0.preventDefault();
36594
+ e_0.stopPropagation();
36595
+ }
35771
36596
  const Select = React.forwardRef((t0, ref) => {
35772
36597
  const $ = reactCompilerRuntime.c(121);
35773
36598
  let children;
@@ -36744,203 +37569,222 @@
36744
37569
  function getStyleValue(value) {
36745
37570
  return parseInt(value, 10) || 0;
36746
37571
  }
36747
- const styles = {
36748
- shadow: {
36749
- // Visibility needed to hide the extra text area on iPads
36750
- visibility: "hidden",
36751
- // Remove from the content flow
36752
- position: "absolute",
36753
- // Ignore the scrollbar width
36754
- overflow: "hidden",
36755
- height: 0,
36756
- top: 0,
36757
- left: 0,
36758
- // Create a new layer, increase the isolation of the computed values
36759
- transform: "translateZ(0)"
36760
- }
36761
- };
36762
- function isEmpty(obj) {
36763
- return obj === void 0 || obj === null || Object.keys(obj).length === 0 || obj.outerHeightStyle === 0 && !obj.overflow;
36764
- }
36765
37572
  const TextareaAutosize = React__namespace.forwardRef(function TextareaAutosize2(props, ref) {
36766
- const {
36767
- onChange,
36768
- onScroll,
36769
- onResize,
36770
- maxRows,
36771
- minRows = 1,
36772
- style,
36773
- value,
36774
- onFocus,
36775
- onBlur,
36776
- sizeRef,
36777
- ignoreBoxSizing,
36778
- ...other
36779
- } = props;
37573
+ const $ = reactCompilerRuntime.c(38);
37574
+ let ignoreBoxSizing;
37575
+ let maxRows;
37576
+ let onBlur;
37577
+ let onChange;
37578
+ let onFocus;
37579
+ let onResize;
37580
+ let onScroll;
37581
+ let other;
37582
+ let style;
37583
+ let t0;
37584
+ let value;
37585
+ if ($[0] !== props) {
37586
+ const {
37587
+ onChange: t12,
37588
+ onScroll: t22,
37589
+ onResize: t32,
37590
+ maxRows: t42,
37591
+ minRows: t52,
37592
+ style: t62,
37593
+ value: t72,
37594
+ onFocus: t82,
37595
+ onBlur: t9,
37596
+ sizeRef,
37597
+ ignoreBoxSizing: t10,
37598
+ ...t11
37599
+ } = props;
37600
+ onChange = t12;
37601
+ onScroll = t22;
37602
+ onResize = t32;
37603
+ maxRows = t42;
37604
+ t0 = t52;
37605
+ style = t62;
37606
+ value = t72;
37607
+ onFocus = t82;
37608
+ onBlur = t9;
37609
+ ignoreBoxSizing = t10;
37610
+ other = t11;
37611
+ $[0] = props;
37612
+ $[1] = ignoreBoxSizing;
37613
+ $[2] = maxRows;
37614
+ $[3] = onBlur;
37615
+ $[4] = onChange;
37616
+ $[5] = onFocus;
37617
+ $[6] = onResize;
37618
+ $[7] = onScroll;
37619
+ $[8] = other;
37620
+ $[9] = style;
37621
+ $[10] = t0;
37622
+ $[11] = value;
37623
+ } else {
37624
+ ignoreBoxSizing = $[1];
37625
+ maxRows = $[2];
37626
+ onBlur = $[3];
37627
+ onChange = $[4];
37628
+ onFocus = $[5];
37629
+ onResize = $[6];
37630
+ onScroll = $[7];
37631
+ other = $[8];
37632
+ style = $[9];
37633
+ t0 = $[10];
37634
+ value = $[11];
37635
+ }
37636
+ const minRows = t0 === void 0 ? 1 : t0;
36780
37637
  const {
36781
37638
  current: isControlled
36782
37639
  } = React__namespace.useRef(value != null);
36783
37640
  const inputRef = React__namespace.useRef(null);
36784
37641
  const handleRef = useForkRef(ref, inputRef);
36785
- const shadowRef = React__namespace.useRef(null);
36786
- const renders = React__namespace.useRef(0);
36787
- const [state, setState] = React__namespace.useState({
36788
- outerHeightStyle: 0
36789
- });
36790
- const getUpdatedState = React__namespace.useCallback(() => {
36791
- const input = inputRef.current;
36792
- if (typeof window === "undefined") {
36793
- return {
36794
- outerHeightStyle: 0
36795
- };
36796
- }
36797
- const containerWindow = window;
36798
- const computedStyle = containerWindow.getComputedStyle(input);
36799
- if (computedStyle.width === "0px") {
36800
- return {
36801
- outerHeightStyle: 0
36802
- };
36803
- }
36804
- const sizeReferenceElement = sizeRef?.current ?? shadowRef.current;
36805
- const inputShallow = shadowRef.current;
36806
- sizeReferenceElement.style.width = computedStyle.width;
36807
- inputShallow.value = input.value || props.placeholder || "x";
36808
- if (inputShallow.value.slice(-1) === "\n") {
36809
- inputShallow.value += " ";
36810
- }
36811
- const boxSizing = computedStyle.boxSizing;
36812
- const padding = getStyleValue(computedStyle.paddingBottom) + getStyleValue(computedStyle.paddingTop);
36813
- const border = getStyleValue(computedStyle.borderBottomWidth) + getStyleValue(computedStyle.borderTopWidth);
36814
- const minHeight = getStyleValue(computedStyle.minHeight);
36815
- const innerHeight = sizeReferenceElement.scrollHeight;
36816
- inputShallow.value = "x";
36817
- const singleRowHeight = sizeReferenceElement.scrollHeight;
36818
- let outerHeight = innerHeight;
36819
- if (minRows) {
36820
- outerHeight = Math.max(Number(minRows) * singleRowHeight, outerHeight);
36821
- }
36822
- if (maxRows) {
36823
- outerHeight = Math.min(Number(maxRows) * singleRowHeight, outerHeight);
36824
- }
36825
- outerHeight = Math.max(outerHeight, singleRowHeight, minHeight);
36826
- const outerHeightStyle = outerHeight + (!ignoreBoxSizing && boxSizing === "border-box" ? padding + border : 0);
36827
- const overflow = Math.abs(outerHeight - innerHeight) <= 1;
36828
- return {
36829
- outerHeightStyle,
36830
- overflow
36831
- };
36832
- }, [maxRows, minRows, props.placeholder]);
36833
- const updateState = React__namespace.useCallback((prevState, newState) => {
36834
- const {
36835
- outerHeightStyle: outerHeightStyle_0,
36836
- overflow: overflow_0
36837
- } = newState;
36838
- if (renders.current < 20 && (outerHeightStyle_0 > 0 && Math.abs((prevState.outerHeightStyle || 0) - outerHeightStyle_0) > 1 || prevState.overflow !== overflow_0)) {
36839
- renders.current += 1;
36840
- return {
36841
- overflow: overflow_0,
36842
- outerHeightStyle: outerHeightStyle_0
36843
- };
36844
- }
36845
- if (process.env.NODE_ENV !== "production") {
36846
- if (renders.current === 20) {
36847
- console.error(["MUI: Too many re-renders. The layout is unstable.", "TextareaAutosize limits the number of renders to prevent an infinite loop."].join("\n"));
37642
+ let t1;
37643
+ if ($[12] !== ignoreBoxSizing || $[13] !== maxRows || $[14] !== minRows || $[15] !== onResize) {
37644
+ t1 = () => {
37645
+ const el = inputRef.current;
37646
+ if (!el || typeof window === "undefined") {
37647
+ return;
36848
37648
  }
36849
- }
36850
- return prevState;
36851
- }, []);
36852
- const syncHeight = React__namespace.useCallback(() => {
36853
- const newState_0 = getUpdatedState();
36854
- if (isEmpty(newState_0)) {
36855
- return;
36856
- }
36857
- if (onResize) {
36858
- onResize(newState_0);
36859
- }
36860
- setState((prevState_0) => {
36861
- return updateState(prevState_0, newState_0);
36862
- });
36863
- }, [getUpdatedState, onResize, updateState]);
36864
- const syncHeightWithFlushSync = React__namespace.useCallback(() => {
36865
- const newState_1 = getUpdatedState();
36866
- if (isEmpty(newState_1)) {
36867
- return;
36868
- }
36869
- ReactDOM__namespace.flushSync(() => {
36870
- setState((prevState_1) => {
36871
- return updateState(prevState_1, newState_1);
36872
- });
36873
- });
36874
- }, [getUpdatedState, updateState]);
36875
- React__namespace.useEffect(() => {
36876
- const handleResize = debounce(() => {
36877
- renders.current = 0;
36878
- if (inputRef.current) {
36879
- syncHeightWithFlushSync();
37649
+ if (el.offsetWidth === 0) {
37650
+ return;
36880
37651
  }
36881
- });
36882
- let resizeObserver;
36883
- const input_0 = inputRef.current;
36884
- const containerWindow_0 = window;
36885
- if (typeof window === "undefined") {
36886
- return;
36887
- }
36888
- containerWindow_0.addEventListener("resize", handleResize);
36889
- if (typeof ResizeObserver !== "undefined") {
36890
- resizeObserver = new ResizeObserver(handleResize);
36891
- resizeObserver.observe(input_0);
36892
- }
36893
- return () => {
36894
- handleResize.clear();
36895
- containerWindow_0.removeEventListener("resize", handleResize);
36896
- if (resizeObserver) {
36897
- resizeObserver.disconnect();
37652
+ const cs = window.getComputedStyle(el);
37653
+ const paddingY = getStyleValue(cs.paddingTop) + getStyleValue(cs.paddingBottom);
37654
+ const borderY = getStyleValue(cs.borderTopWidth) + getStyleValue(cs.borderBottomWidth);
37655
+ const boxSizing = cs.boxSizing;
37656
+ const prevHeight = el.style.height;
37657
+ const prevOverflow = el.style.overflowY;
37658
+ el.style.overflowY = "hidden";
37659
+ el.style.height = "0px";
37660
+ const scrollH = el.scrollHeight;
37661
+ const prevValue = el.value;
37662
+ el.value = "x";
37663
+ const singleRowScrollH = el.scrollHeight;
37664
+ el.value = prevValue;
37665
+ el.style.height = prevHeight;
37666
+ el.style.overflowY = prevOverflow;
37667
+ const lineHeight = singleRowScrollH - paddingY;
37668
+ let targetHeight = scrollH;
37669
+ if (minRows) {
37670
+ targetHeight = Math.max(Number(minRows) * lineHeight + paddingY, targetHeight);
37671
+ }
37672
+ const unclampedHeight = targetHeight;
37673
+ if (maxRows) {
37674
+ targetHeight = Math.min(Number(maxRows) * lineHeight + paddingY, targetHeight);
37675
+ }
37676
+ const extra = !ignoreBoxSizing && boxSizing === "border-box" ? borderY : 0;
37677
+ const finalHeight = Math.ceil(targetHeight + extra);
37678
+ const shouldScroll = Math.abs(unclampedHeight - targetHeight) > 1;
37679
+ el.style.height = `${finalHeight}px`;
37680
+ el.style.overflowY = shouldScroll ? "auto" : "hidden";
37681
+ if (onResize) {
37682
+ onResize({
37683
+ outerHeightStyle: finalHeight,
37684
+ overflow: !shouldScroll
37685
+ });
36898
37686
  }
36899
37687
  };
36900
- }, [syncHeightWithFlushSync]);
36901
- React.useLayoutEffect(() => {
36902
- syncHeight();
36903
- });
36904
- React__namespace.useEffect(() => {
36905
- renders.current = 0;
36906
- }, [value]);
36907
- const handleChange = (event) => {
36908
- renders.current = 0;
36909
- if (!isControlled) {
37688
+ $[12] = ignoreBoxSizing;
37689
+ $[13] = maxRows;
37690
+ $[14] = minRows;
37691
+ $[15] = onResize;
37692
+ $[16] = t1;
37693
+ } else {
37694
+ t1 = $[16];
37695
+ }
37696
+ const syncHeight = t1;
37697
+ let t2;
37698
+ if ($[17] !== syncHeight) {
37699
+ t2 = () => {
36910
37700
  syncHeight();
36911
- }
36912
- if (onChange) {
36913
- onChange(event);
36914
- }
36915
- };
36916
- return /* @__PURE__ */ jsxRuntime.jsxs(React__namespace.Fragment, { children: [
36917
- /* @__PURE__ */ jsxRuntime.jsx(
36918
- "textarea",
36919
- {
36920
- value,
36921
- onChange: handleChange,
36922
- className: props.className,
36923
- ref: handleRef,
36924
- onFocus,
36925
- onBlur,
36926
- rows: minRows,
36927
- style: {
36928
- height: state.outerHeightStyle,
36929
- // Need a large enough difference to allow scrolling.
36930
- // This prevents infinite rendering loop.
36931
- overflow: state.overflow ? "hidden" : void 0,
36932
- ...style
36933
- },
36934
- onScroll,
36935
- ...other
37701
+ };
37702
+ $[17] = syncHeight;
37703
+ $[18] = t2;
37704
+ } else {
37705
+ t2 = $[18];
37706
+ }
37707
+ React.useLayoutEffect(t2);
37708
+ let t3;
37709
+ let t4;
37710
+ if ($[19] !== syncHeight) {
37711
+ t3 = () => {
37712
+ const handleResize = debounce(() => {
37713
+ if (inputRef.current) {
37714
+ syncHeight();
37715
+ }
37716
+ });
37717
+ const input = inputRef.current;
37718
+ if (typeof window === "undefined") {
37719
+ return;
37720
+ }
37721
+ window.addEventListener("resize", handleResize);
37722
+ let resizeObserver;
37723
+ if (typeof ResizeObserver !== "undefined") {
37724
+ resizeObserver = new ResizeObserver(handleResize);
37725
+ resizeObserver.observe(input);
36936
37726
  }
36937
- ),
36938
- /* @__PURE__ */ jsxRuntime.jsx("textarea", { "aria-hidden": true, className: cls(props.className, props.shadowClassName), readOnly: true, ref: shadowRef, tabIndex: -1, style: {
36939
- padding: 0,
36940
- ...styles.shadow,
37727
+ return () => {
37728
+ handleResize.clear();
37729
+ window.removeEventListener("resize", handleResize);
37730
+ resizeObserver?.disconnect();
37731
+ };
37732
+ };
37733
+ t4 = [syncHeight];
37734
+ $[19] = syncHeight;
37735
+ $[20] = t3;
37736
+ $[21] = t4;
37737
+ } else {
37738
+ t3 = $[20];
37739
+ t4 = $[21];
37740
+ }
37741
+ React__namespace.useEffect(t3, t4);
37742
+ let t5;
37743
+ if ($[22] !== onChange || $[23] !== syncHeight) {
37744
+ t5 = (event) => {
37745
+ if (!isControlled) {
37746
+ syncHeight();
37747
+ }
37748
+ if (onChange) {
37749
+ onChange(event);
37750
+ }
37751
+ };
37752
+ $[22] = onChange;
37753
+ $[23] = syncHeight;
37754
+ $[24] = t5;
37755
+ } else {
37756
+ t5 = $[24];
37757
+ }
37758
+ const handleChange = t5;
37759
+ const t6 = minRows;
37760
+ let t7;
37761
+ if ($[25] !== style) {
37762
+ t7 = {
36941
37763
  ...style
36942
- } })
36943
- ] });
37764
+ };
37765
+ $[25] = style;
37766
+ $[26] = t7;
37767
+ } else {
37768
+ t7 = $[26];
37769
+ }
37770
+ let t8;
37771
+ if ($[27] !== handleChange || $[28] !== handleRef || $[29] !== onBlur || $[30] !== onFocus || $[31] !== onScroll || $[32] !== other || $[33] !== props.className || $[34] !== t6 || $[35] !== t7 || $[36] !== value) {
37772
+ t8 = /* @__PURE__ */ jsxRuntime.jsx("textarea", { value, onChange: handleChange, className: props.className, ref: handleRef, onFocus, onBlur, rows: t6, style: t7, onScroll, ...other });
37773
+ $[27] = handleChange;
37774
+ $[28] = handleRef;
37775
+ $[29] = onBlur;
37776
+ $[30] = onFocus;
37777
+ $[31] = onScroll;
37778
+ $[32] = other;
37779
+ $[33] = props.className;
37780
+ $[34] = t6;
37781
+ $[35] = t7;
37782
+ $[36] = value;
37783
+ $[37] = t8;
37784
+ } else {
37785
+ t8 = $[37];
37786
+ }
37787
+ return t8;
36944
37788
  });
36945
37789
  function useForkRef(...refs) {
36946
37790
  return React__namespace.useMemo(() => {
@@ -37024,22 +37868,25 @@
37024
37868
  ] });
37025
37869
  });
37026
37870
  TextField.displayName = "TextField";
37871
+ const TabsModeContext = React.createContext("primary");
37027
37872
  function Tabs(t0) {
37028
- const $ = reactCompilerRuntime.c(26);
37873
+ const $ = reactCompilerRuntime.c(35);
37029
37874
  const {
37030
37875
  value,
37031
37876
  onValueChange,
37032
37877
  className,
37033
37878
  innerClassName,
37034
- children
37879
+ children,
37880
+ mode: t1
37035
37881
  } = t0;
37882
+ const mode = t1 === void 0 ? "primary" : t1;
37036
37883
  const scrollContainerRef = React.useRef(null);
37037
37884
  const [showLeftScroll, setShowLeftScroll] = React.useState(false);
37038
37885
  const [showRightScroll, setShowRightScroll] = React.useState(false);
37039
37886
  const [isScrollable, setIsScrollable] = React.useState(false);
37040
- let t1;
37887
+ let t2;
37041
37888
  if ($[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
37042
- t1 = () => {
37889
+ t2 = () => {
37043
37890
  if (scrollContainerRef.current) {
37044
37891
  const {
37045
37892
  scrollLeft,
@@ -37051,14 +37898,14 @@
37051
37898
  setIsScrollable(scrollWidth > clientWidth);
37052
37899
  }
37053
37900
  };
37054
- $[0] = t1;
37901
+ $[0] = t2;
37055
37902
  } else {
37056
- t1 = $[0];
37903
+ t2 = $[0];
37057
37904
  }
37058
- const checkScroll = t1;
37059
- let t2;
37905
+ const checkScroll = t2;
37906
+ let t3;
37060
37907
  if ($[1] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
37061
- t2 = () => {
37908
+ t3 = () => {
37062
37909
  checkScroll();
37063
37910
  window.addEventListener("resize", checkScroll);
37064
37911
  let observer;
@@ -37074,22 +37921,22 @@
37074
37921
  observer?.disconnect();
37075
37922
  };
37076
37923
  };
37077
- $[1] = t2;
37924
+ $[1] = t3;
37078
37925
  } else {
37079
- t2 = $[1];
37926
+ t3 = $[1];
37080
37927
  }
37081
- let t3;
37928
+ let t4;
37082
37929
  if ($[2] !== children) {
37083
- t3 = [children];
37930
+ t4 = [children];
37084
37931
  $[2] = children;
37085
- $[3] = t3;
37932
+ $[3] = t4;
37086
37933
  } else {
37087
- t3 = $[3];
37934
+ t4 = $[3];
37088
37935
  }
37089
- React.useEffect(t2, t3);
37090
- let t4;
37936
+ React.useEffect(t3, t4);
37937
+ let t5;
37091
37938
  if ($[4] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
37092
- t4 = (direction) => {
37939
+ t5 = (direction) => {
37093
37940
  if (scrollContainerRef.current) {
37094
37941
  const container = scrollContainerRef.current;
37095
37942
  const scrollAmount = Math.max(container.clientWidth / 2, 200);
@@ -37100,85 +37947,104 @@
37100
37947
  });
37101
37948
  }
37102
37949
  };
37103
- $[4] = t4;
37950
+ $[4] = t5;
37104
37951
  } else {
37105
- t4 = $[4];
37952
+ t5 = $[4];
37106
37953
  }
37107
- const scroll = t4;
37108
- let t5;
37954
+ const scroll = t5;
37955
+ let t6;
37109
37956
  if ($[5] !== className) {
37110
- t5 = cls("flex flex-row items-center min-w-0", className);
37957
+ t6 = cls("flex flex-row items-center min-w-0", className);
37111
37958
  $[5] = className;
37112
- $[6] = t5;
37959
+ $[6] = t6;
37113
37960
  } else {
37114
- t5 = $[6];
37961
+ t6 = $[6];
37115
37962
  }
37116
- let t6;
37117
- if ($[7] !== isScrollable || $[8] !== showLeftScroll) {
37118
- t6 = isScrollable && /* @__PURE__ */ jsxRuntime.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", "mr-1 bg-surface-50 dark:bg-surface-900 border", defaultBorderMixin), children: /* @__PURE__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: "small" }) });
37963
+ let t7;
37964
+ if ($[7] !== isScrollable || $[8] !== mode || $[9] !== showLeftScroll) {
37965
+ t7 = isScrollable && /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(ChevronLeftIcon, { size: "small" }) });
37119
37966
  $[7] = isScrollable;
37120
- $[8] = showLeftScroll;
37121
- $[9] = t6;
37967
+ $[8] = mode;
37968
+ $[9] = showLeftScroll;
37969
+ $[10] = t7;
37122
37970
  } else {
37123
- t6 = $[9];
37971
+ t7 = $[10];
37124
37972
  }
37125
- let t7;
37126
- if ($[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
37127
- t7 = {
37973
+ let t8;
37974
+ if ($[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
37975
+ t8 = {
37128
37976
  scrollbarWidth: "none",
37129
37977
  msOverflowStyle: "none"
37130
37978
  };
37131
- $[10] = t7;
37979
+ $[11] = t8;
37132
37980
  } else {
37133
- t7 = $[10];
37981
+ t8 = $[11];
37134
37982
  }
37135
- let t8;
37136
- if ($[11] !== innerClassName) {
37137
- t8 = cls("border", defaultBorderMixin, "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", innerClassName);
37138
- $[11] = innerClassName;
37139
- $[12] = t8;
37983
+ const t9 = mode === "primary" && "border";
37984
+ const t10 = mode === "primary" && defaultBorderMixin;
37985
+ 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";
37986
+ const t12 = mode === "secondary" && "gap-1 inline-flex h-9 items-center text-surface-500 dark:text-surface-400";
37987
+ let t13;
37988
+ if ($[12] !== innerClassName || $[13] !== t10 || $[14] !== t11 || $[15] !== t12 || $[16] !== t9) {
37989
+ t13 = cls(t9, t10, t11, t12, innerClassName);
37990
+ $[12] = innerClassName;
37991
+ $[13] = t10;
37992
+ $[14] = t11;
37993
+ $[15] = t12;
37994
+ $[16] = t9;
37995
+ $[17] = t13;
37140
37996
  } else {
37141
- t8 = $[12];
37997
+ t13 = $[17];
37142
37998
  }
37143
- let t9;
37144
- if ($[13] !== children || $[14] !== t8) {
37145
- t9 = /* @__PURE__ */ jsxRuntime.jsx("div", { ref: scrollContainerRef, className: "flex-1 overflow-x-auto no-scrollbar min-w-0", onScroll: checkScroll, style: t7, children: /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.List, { className: t8, children }) });
37146
- $[13] = children;
37147
- $[14] = t8;
37148
- $[15] = t9;
37999
+ let t14;
38000
+ if ($[18] !== children || $[19] !== t13) {
38001
+ t14 = /* @__PURE__ */ jsxRuntime.jsx("div", { ref: scrollContainerRef, className: "flex-1 overflow-x-auto no-scrollbar min-w-0", onScroll: checkScroll, style: t8, children: /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.List, { className: t13, children }) });
38002
+ $[18] = children;
38003
+ $[19] = t13;
38004
+ $[20] = t14;
37149
38005
  } else {
37150
- t9 = $[15];
38006
+ t14 = $[20];
37151
38007
  }
37152
- let t10;
37153
- if ($[16] !== isScrollable || $[17] !== showRightScroll) {
37154
- t10 = isScrollable && /* @__PURE__ */ jsxRuntime.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", "ml-1 bg-surface-50 dark:bg-surface-900 border", defaultBorderMixin), children: /* @__PURE__ */ jsxRuntime.jsx(ChevronRightIcon, { size: "small" }) });
37155
- $[16] = isScrollable;
37156
- $[17] = showRightScroll;
37157
- $[18] = t10;
38008
+ let t15;
38009
+ if ($[21] !== isScrollable || $[22] !== mode || $[23] !== showRightScroll) {
38010
+ t15 = isScrollable && /* @__PURE__ */ jsxRuntime.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__ */ jsxRuntime.jsx(ChevronRightIcon, { size: "small" }) });
38011
+ $[21] = isScrollable;
38012
+ $[22] = mode;
38013
+ $[23] = showRightScroll;
38014
+ $[24] = t15;
37158
38015
  } else {
37159
- t10 = $[18];
38016
+ t15 = $[24];
37160
38017
  }
37161
- let t11;
37162
- if ($[19] !== onValueChange || $[20] !== t10 || $[21] !== t5 || $[22] !== t6 || $[23] !== t9 || $[24] !== value) {
37163
- t11 = /* @__PURE__ */ jsxRuntime.jsxs(TabsPrimitive__namespace.Root, { value, onValueChange, className: t5, children: [
37164
- t6,
37165
- t9,
37166
- t10
38018
+ let t16;
38019
+ if ($[25] !== onValueChange || $[26] !== t14 || $[27] !== t15 || $[28] !== t6 || $[29] !== t7 || $[30] !== value) {
38020
+ t16 = /* @__PURE__ */ jsxRuntime.jsxs(TabsPrimitive__namespace.Root, { value, onValueChange, className: t6, children: [
38021
+ t7,
38022
+ t14,
38023
+ t15
37167
38024
  ] });
37168
- $[19] = onValueChange;
37169
- $[20] = t10;
37170
- $[21] = t5;
37171
- $[22] = t6;
37172
- $[23] = t9;
37173
- $[24] = value;
37174
- $[25] = t11;
38025
+ $[25] = onValueChange;
38026
+ $[26] = t14;
38027
+ $[27] = t15;
38028
+ $[28] = t6;
38029
+ $[29] = t7;
38030
+ $[30] = value;
38031
+ $[31] = t16;
37175
38032
  } else {
37176
- t11 = $[25];
38033
+ t16 = $[31];
37177
38034
  }
37178
- return t11;
38035
+ let t17;
38036
+ if ($[32] !== mode || $[33] !== t16) {
38037
+ t17 = /* @__PURE__ */ jsxRuntime.jsx(TabsModeContext.Provider, { value: mode, children: t16 });
38038
+ $[32] = mode;
38039
+ $[33] = t16;
38040
+ $[34] = t17;
38041
+ } else {
38042
+ t17 = $[34];
38043
+ }
38044
+ return t17;
37179
38045
  }
37180
38046
  function Tab(t0) {
37181
- const $ = reactCompilerRuntime.c(8);
38047
+ const $ = reactCompilerRuntime.c(15);
37182
38048
  const {
37183
38049
  value,
37184
38050
  className,
@@ -37186,27 +38052,46 @@
37186
38052
  children,
37187
38053
  disabled
37188
38054
  } = t0;
38055
+ const mode = React.useContext(TabsModeContext);
38056
+ let T0;
37189
38057
  let t1;
37190
- if ($[0] !== className || $[1] !== innerClassName) {
37191
- t1 = 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", className, innerClassName);
37192
- $[0] = className;
37193
- $[1] = innerClassName;
37194
- $[2] = t1;
37195
- } else {
37196
- t1 = $[2];
37197
- }
37198
38058
  let t2;
37199
- if ($[3] !== children || $[4] !== disabled || $[5] !== t1 || $[6] !== value) {
37200
- t2 = /* @__PURE__ */ jsxRuntime.jsx(TabsPrimitive__namespace.Trigger, { value, disabled, className: t1, children });
37201
- $[3] = children;
37202
- $[4] = disabled;
37203
- $[5] = t1;
37204
- $[6] = value;
38059
+ let t3;
38060
+ if ($[0] !== className || $[1] !== disabled || $[2] !== innerClassName || $[3] !== mode || $[4] !== value) {
38061
+ 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");
38062
+ 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");
38063
+ T0 = TabsPrimitive__namespace.Trigger;
38064
+ t1 = value;
38065
+ t2 = disabled;
38066
+ t3 = cls(mode === "secondary" ? secondaryClasses : primaryClasses, className, innerClassName);
38067
+ $[0] = className;
38068
+ $[1] = disabled;
38069
+ $[2] = innerClassName;
38070
+ $[3] = mode;
38071
+ $[4] = value;
38072
+ $[5] = T0;
38073
+ $[6] = t1;
37205
38074
  $[7] = t2;
38075
+ $[8] = t3;
37206
38076
  } else {
38077
+ T0 = $[5];
38078
+ t1 = $[6];
37207
38079
  t2 = $[7];
38080
+ t3 = $[8];
37208
38081
  }
37209
- return t2;
38082
+ let t4;
38083
+ if ($[9] !== T0 || $[10] !== children || $[11] !== t1 || $[12] !== t2 || $[13] !== t3) {
38084
+ t4 = /* @__PURE__ */ jsxRuntime.jsx(T0, { value: t1, disabled: t2, className: t3, children });
38085
+ $[9] = T0;
38086
+ $[10] = children;
38087
+ $[11] = t1;
38088
+ $[12] = t2;
38089
+ $[13] = t3;
38090
+ $[14] = t4;
38091
+ } else {
38092
+ t4 = $[14];
38093
+ }
38094
+ return t4;
37210
38095
  }
37211
38096
  const Table = React.memo((t0) => {
37212
38097
  const $ = reactCompilerRuntime.c(12);
@@ -37717,14 +38602,14 @@
37717
38602
  return t5;
37718
38603
  }
37719
38604
  function Skeleton(t0) {
37720
- const $ = reactCompilerRuntime.c(8);
38605
+ const $ = reactCompilerRuntime.c(10);
37721
38606
  const {
37722
38607
  width,
37723
38608
  height,
37724
38609
  className
37725
38610
  } = t0;
37726
- const t1 = width ? `${width}px` : "100%";
37727
- const t2 = height ? `${height}px` : "12px";
38611
+ const t1 = width !== void 0 ? `${width}px` : void 0;
38612
+ const t2 = height !== void 0 ? `${height}px` : void 0;
37728
38613
  let t3;
37729
38614
  if ($[0] !== t1 || $[1] !== t2) {
37730
38615
  t3 = {
@@ -37737,24 +38622,28 @@
37737
38622
  } else {
37738
38623
  t3 = $[2];
37739
38624
  }
37740
- let t4;
37741
- if ($[3] !== className) {
37742
- t4 = cls("block", "bg-surface-accent-200 dark:bg-surface-accent-800 rounded-md", "animate-pulse", "max-w-full max-h-full", className);
38625
+ const t4 = width === void 0 ? "w-full" : "";
38626
+ const t5 = height === void 0 ? "h-3" : "";
38627
+ let t6;
38628
+ if ($[3] !== className || $[4] !== t4 || $[5] !== t5) {
38629
+ 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);
37743
38630
  $[3] = className;
37744
38631
  $[4] = t4;
38632
+ $[5] = t5;
38633
+ $[6] = t6;
37745
38634
  } else {
37746
- t4 = $[4];
38635
+ t6 = $[6];
37747
38636
  }
37748
- let t5;
37749
- if ($[5] !== t3 || $[6] !== t4) {
37750
- t5 = /* @__PURE__ */ jsxRuntime.jsx("span", { style: t3, className: t4 });
37751
- $[5] = t3;
37752
- $[6] = t4;
37753
- $[7] = t5;
38637
+ let t7;
38638
+ if ($[7] !== t3 || $[8] !== t6) {
38639
+ t7 = /* @__PURE__ */ jsxRuntime.jsx("span", { style: t3, className: t6 });
38640
+ $[7] = t3;
38641
+ $[8] = t6;
38642
+ $[9] = t7;
37754
38643
  } else {
37755
- t5 = $[7];
38644
+ t7 = $[9];
37756
38645
  }
37757
- return t5;
38646
+ return t7;
37758
38647
  }
37759
38648
  function ToggleButtonGroup(t0) {
37760
38649
  const $ = reactCompilerRuntime.c(12);
@@ -38287,6 +39176,7 @@
38287
39176
  exports2.DataSaverOnIcon = DataSaverOnIcon;
38288
39177
  exports2.DataThresholdingIcon = DataThresholdingIcon;
38289
39178
  exports2.DataUsageIcon = DataUsageIcon;
39179
+ exports2.DatabaseIcon = DatabaseIcon;
38290
39180
  exports2.DatasetIcon = DatasetIcon;
38291
39181
  exports2.DatasetLinkedIcon = DatasetLinkedIcon;
38292
39182
  exports2.DateRangeIcon = DateRangeIcon;
@@ -38559,6 +39449,7 @@
38559
39449
  exports2.FireHydrantAltIcon = FireHydrantAltIcon;
38560
39450
  exports2.FireTruckIcon = FireTruckIcon;
38561
39451
  exports2.FireplaceIcon = FireplaceIcon;
39452
+ exports2.FirestoreIcon = FirestoreIcon;
38562
39453
  exports2.FirstPageIcon = FirstPageIcon;
38563
39454
  exports2.FitScreenIcon = FitScreenIcon;
38564
39455
  exports2.FitbitIcon = FitbitIcon;
@@ -39418,6 +40309,7 @@
39418
40309
  exports2.RequestPageIcon = RequestPageIcon;
39419
40310
  exports2.RequestQuoteIcon = RequestQuoteIcon;
39420
40311
  exports2.ResetTvIcon = ResetTvIcon;
40312
+ exports2.ResizablePanels = ResizablePanels;
39421
40313
  exports2.RestartAltIcon = RestartAltIcon;
39422
40314
  exports2.RestaurantIcon = RestaurantIcon;
39423
40315
  exports2.RestaurantMenuIcon = RestaurantMenuIcon;
@@ -39492,6 +40384,8 @@
39492
40384
  exports2.SearchBar = SearchBar;
39493
40385
  exports2.SearchIcon = SearchIcon;
39494
40386
  exports2.SearchOffIcon = SearchOffIcon;
40387
+ exports2.SearchableSelect = SearchableSelect;
40388
+ exports2.SearchableSelectItem = SearchableSelectItem;
39495
40389
  exports2.SecurityIcon = SecurityIcon;
39496
40390
  exports2.SecurityUpdateGoodIcon = SecurityUpdateGoodIcon;
39497
40391
  exports2.SecurityUpdateIcon = SecurityUpdateIcon;