@rebasepro/ui 0.0.1-canary.94dff14 → 0.0.1-canary.a6becfb

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/components/FileUpload.d.ts +1 -1
  2. package/dist/components/FilterChip.d.ts +42 -0
  3. package/dist/components/SearchBar.d.ts +5 -1
  4. package/dist/components/index.d.ts +1 -0
  5. package/dist/index.css +3 -2
  6. package/dist/index.es.js +148 -88
  7. package/dist/index.es.js.map +1 -1
  8. package/dist/index.umd.js +148 -88
  9. package/dist/index.umd.js.map +1 -1
  10. package/dist/styles.d.ts +2 -2
  11. package/package.json +3 -4
  12. package/src/components/Alert.tsx +5 -5
  13. package/src/components/BooleanSwitch.tsx +3 -3
  14. package/src/components/Button.tsx +10 -10
  15. package/src/components/Checkbox.tsx +1 -1
  16. package/src/components/DateTimeField.tsx +1 -1
  17. package/src/components/Dialog.tsx +2 -2
  18. package/src/components/ExpandablePanel.tsx +1 -1
  19. package/src/components/FileUpload.tsx +1 -1
  20. package/src/components/FilterChip.tsx +84 -0
  21. package/src/components/IconButton.tsx +1 -1
  22. package/src/components/SearchBar.tsx +8 -3
  23. package/src/components/Select.tsx +1 -1
  24. package/src/components/Separator.tsx +2 -2
  25. package/src/components/Skeleton.tsx +2 -2
  26. package/src/components/Tabs.tsx +1 -1
  27. package/src/components/ToggleButtonGroup.tsx +1 -1
  28. package/src/components/Tooltip.tsx +1 -1
  29. package/src/components/VirtualTable/VirtualTable.tsx +8 -6
  30. package/src/components/VirtualTable/VirtualTableHeader.tsx +3 -3
  31. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +1 -1
  32. package/src/components/VirtualTable/VirtualTableRow.tsx +1 -1
  33. package/src/components/index.tsx +1 -0
  34. package/src/index.css +3 -2
  35. package/src/styles.ts +2 -2
@@ -9,7 +9,7 @@ export type OnFileUploadRejected = (fileRejections: {
9
9
  }[], event: object) => void;
10
10
  export type OnFilesUploadAdded = (files: File[]) => void;
11
11
  export type FileUploadProps = {
12
- accept: Record<string, string[]>;
12
+ accept?: Record<string, string[]>;
13
13
  onFilesAdded: OnFilesUploadAdded;
14
14
  onFilesRejected?: OnFileUploadRejected;
15
15
  maxSize?: number;
@@ -0,0 +1,42 @@
1
+ import React from "react";
2
+ export interface FilterChipProps {
3
+ /**
4
+ * The text label displayed on the chip.
5
+ */
6
+ children: React.ReactNode;
7
+ /**
8
+ * Whether the chip is currently in an active/selected state.
9
+ */
10
+ active?: boolean;
11
+ /**
12
+ * Callback when the chip is clicked.
13
+ */
14
+ onClick?: () => void;
15
+ /**
16
+ * Optional icon rendered before the label.
17
+ */
18
+ icon?: React.ReactNode;
19
+ /**
20
+ * Size variant.
21
+ * @default "medium"
22
+ */
23
+ size?: "small" | "medium";
24
+ /**
25
+ * Additional class names.
26
+ */
27
+ className?: string;
28
+ /**
29
+ * Whether the chip is disabled.
30
+ */
31
+ disabled?: boolean;
32
+ }
33
+ /**
34
+ * A toggle chip used for filter presets and similar multi-select controls.
35
+ *
36
+ * Uses an inset box-shadow for the active ring instead of `border` so the
37
+ * chip size stays stable across states and the ring cannot be clipped by
38
+ * parent `overflow-hidden` containers.
39
+ *
40
+ * @group Interactive components
41
+ */
42
+ export declare function FilterChip({ children, active, onClick, icon, size, className, disabled }: FilterChipProps): import("react/jsx-runtime").JSX.Element;
@@ -17,6 +17,10 @@ interface SearchBarProps {
17
17
  disabled?: boolean;
18
18
  loading?: boolean;
19
19
  inputRef?: React.Ref<HTMLInputElement>;
20
+ /**
21
+ * Optional initial value for the search input, e.g. from URL params.
22
+ */
23
+ initialValue?: string;
20
24
  }
21
- export declare function SearchBar({ onClick, onTextSearch, placeholder, expandable, size, innerClassName, className, autoFocus, disabled, loading, inputRef }: SearchBarProps): import("react/jsx-runtime").JSX.Element;
25
+ export declare function SearchBar({ onClick, onTextSearch, placeholder, expandable, size, innerClassName, className, autoFocus, disabled, loading, inputRef, initialValue }: SearchBarProps): import("react/jsx-runtime").JSX.Element;
22
26
  export {};
@@ -22,6 +22,7 @@ export * from "./DialogContent";
22
22
  export * from "./DialogTitle";
23
23
  export * from "./ExpandablePanel";
24
24
  export * from "./FileUpload";
25
+ export * from "./FilterChip";
25
26
  export * from "./IconButton";
26
27
  export * from "./InputLabel";
27
28
  export * from "./InfoLabel";
package/dist/index.css CHANGED
@@ -50,8 +50,8 @@
50
50
  --color-surface-accent-600: #475569;
51
51
  --color-surface-accent-700: #334155;
52
52
  --color-surface-accent-800: #1e293b;
53
- --color-surface-accent-900: #0f172a;
54
- --color-surface-accent-950: #020617;
53
+ --color-surface-accent-900: #172033;
54
+ --color-surface-accent-950: #0f172a;
55
55
  }
56
56
 
57
57
  /* Chrome, Safari and Opera */
@@ -97,6 +97,7 @@
97
97
  }
98
98
 
99
99
  .typography-body1 {
100
+ @apply text-base;
100
101
  }
101
102
 
102
103
  .typography-body2 {
package/dist/index.es.js CHANGED
@@ -200,8 +200,8 @@ const fieldBackgroundDisabledMixin = "dark:bg-surface-900 bg-opacity-50 dark:bg-
200
200
  const fieldBackgroundHoverMixin = "hover:bg-opacity-70 dark:hover:bg-surface-700 dark:hover:bg-opacity-40 hover:bg-surface-accent-200/70 hover:dark:bg-surface-700/40";
201
201
  const defaultBorderMixin = "border-surface-200/60 dark:border-surface-700/60 ";
202
202
  const paperMixin = "bg-white rounded-md dark:bg-surface-800 border border-surface-200/60 dark:border-surface-700/60";
203
- const cardMixin = "bg-white dark:bg-surface-800 rounded-md border border-surface-200/60 dark:border-surface-700/60 m-1 -p-1";
204
- const cardClickableMixin = "hover:bg-surface-accent-100 dark:hover:bg-surface-800 hover:ring-2 hover:ring-primary cursor-pointer hover:bg-primary/20 dark:hover:bg-primary/10 ";
203
+ const cardMixin = "bg-white dark:bg-surface-900 rounded-md border border-surface-200/60 dark:border-surface-700/60 m-1 -p-1";
204
+ const cardClickableMixin = "hover:bg-surface-accent-100 dark:hover:bg-surface-800 hover:ring-1 hover:ring-primary/50 hover:shadow-sm cursor-pointer hover:bg-primary/10 dark:hover:bg-primary/10 transition-all duration-150";
205
205
  const cardSelectedMixin = "bg-primary-bg/30 dark:bg-primary-bg/10 ring-1 ring-primary/75";
206
206
  const PortalContainerContext = createContext(void 0);
207
207
  function PortalContainerProvider(t0) {
@@ -624,16 +624,16 @@ const getSizeClasses = (size) => {
624
624
  const getColorClasses = (severity) => {
625
625
  switch (severity) {
626
626
  case "error":
627
- return "bg-red-50 dark:bg-red-800 dark:text-red-100 text-red-900";
627
+ return "bg-red-50 dark:bg-red-800 dark:text-red-100 text-red-900 border-l-[3px] border-l-red-500";
628
628
  case "warning":
629
- return "bg-amber-50 dark:bg-amber-800 dark:text-amber-100 text-amber-900";
629
+ return "bg-amber-50 dark:bg-amber-800 dark:text-amber-100 text-amber-900 border-l-[3px] border-l-amber-500";
630
630
  case "info":
631
- return "bg-blue-100 dark:bg-blue-800 dark:text-blue-100 text-blue-900";
631
+ return "bg-blue-100 dark:bg-blue-800 dark:text-blue-100 text-blue-900 border-l-[3px] border-l-blue-500";
632
632
  case "success":
633
- return "bg-emerald-50 dark:bg-emerald-800 dark:text-emerald-100 text-emerald-900";
633
+ return "bg-emerald-50 dark:bg-emerald-800 dark:text-emerald-100 text-emerald-900 border-l-[3px] border-l-emerald-500";
634
634
  case "base":
635
635
  default:
636
- return "bg-surface-accent-50 dark:bg-surface-accent-800 dark:text-white text-surface-accent-900";
636
+ return "bg-surface-accent-50 dark:bg-surface-accent-800 dark:text-white text-surface-accent-900 border-l-[3px] border-l-surface-accent-400";
637
637
  }
638
638
  };
639
639
  const Alert = (t0) => {
@@ -817,7 +817,7 @@ const BooleanSwitch = React__default.forwardRef(function BooleanSwitch2({
817
817
  onValueChange?.(!value);
818
818
  }
819
819
  }, className: cls(size === "smallest" ? "w-[34px] h-[18px] min-w-[34px] min-h-[18px]" : size === "small" ? "w-[38px] h-[22px] min-w-[38px] min-h-[22px]" : "w-[44px] h-[26px] min-w-[44px] min-h-[26px]", "outline-none outline-hidden rounded-full relative shadow-sm", value ? disabled ? "bg-white bg-opacity-54 bg-white/54 dark:bg-surface-accent-950 border-surface-accent-100 dark:border-surface-accent-700 ring-1 ring-surface-accent-200 dark:ring-surface-accent-700" : "ring-secondary ring-1 bg-secondary dark:bg-secondary" : "bg-white bg-opacity-54 bg-white/54 dark:bg-surface-accent-900 ring-1 ring-surface-accent-200 dark:ring-surface-accent-700", className), ...props, children: [
820
- allowIndeterminate && (value === null || value === void 0) && /* @__PURE__ */ jsx("div", { className: cls("block rounded-full transition-transform duration-100 transform will-change-auto", disabled ? "bg-surface-accent-400 dark:bg-surface-accent-600" : "bg-surface-accent-400 dark:bg-surface-accent-600", {
820
+ allowIndeterminate && (value === null || value === void 0) && /* @__PURE__ */ jsx("div", { className: cls("block rounded-full transition-transform duration-100 ease-out transform will-change-auto shadow-sm", disabled ? "bg-surface-accent-400 dark:bg-surface-accent-600" : "bg-surface-accent-400 dark:bg-surface-accent-600", {
821
821
  "w-[21px] h-[10px]": size === "medium" || size === "large",
822
822
  "w-[19px] h-[8px]": size === "small",
823
823
  "w-[16px] h-[6px]": size === "smallest",
@@ -825,7 +825,7 @@ const BooleanSwitch = React__default.forwardRef(function BooleanSwitch2({
825
825
  "translate-x-[9px]": size === "small",
826
826
  "translate-x-[8px]": size === "smallest"
827
827
  }) }, "knob"),
828
- !(allowIndeterminate && (value === null || value === void 0)) && /* @__PURE__ */ jsx("div", { className: cls("block rounded-full transition-transform duration-100 transform will-change-auto", disabled ? "bg-surface-accent-300 dark:bg-surface-accent-700" : value ? "bg-white" : "bg-surface-accent-600 dark:bg-surface-accent-400", {
828
+ !(allowIndeterminate && (value === null || value === void 0)) && /* @__PURE__ */ jsx("div", { className: cls("block rounded-full transition-transform duration-100 ease-out transform will-change-auto shadow-sm", disabled ? "bg-surface-accent-300 dark:bg-surface-700" : value ? "bg-white shadow" : "bg-surface-accent-600 dark:bg-surface-accent-400", {
829
829
  "w-[21px] h-[21px]": size === "medium" || size === "large",
830
830
  "w-[19px] h-[19px]": size === "small",
831
831
  "w-[16px] h-[16px]": size === "smallest",
@@ -961,21 +961,21 @@ const ButtonInner = React__default.memo(React__default.forwardRef((t0, ref) => {
961
961
  const buttonClasses2 = cls({
962
962
  "w-full": fullWidth,
963
963
  "w-fit": t7,
964
- "border border-primary bg-primary focus:ring-primary shadow hover:ring-1 hover:ring-primary text-white hover:text-white": t8,
965
- "border border-secondary bg-secondary focus:ring-secondary shadow hover:ring-1 hover:ring-secondary text-white hover:text-white": t9,
966
- "border border-red-500 bg-red-500 hover:bg-red-500 focus:ring-red-500 shadow hover:ring-1 hover:ring-red-600 text-white hover:text-white": t10,
967
- "border border-surface-accent-200 bg-surface-accent-200 hover:bg-surface-accent-300 focus:ring-surface-accent-400 shadow hover:ring-1 hover:ring-surface-accent-400 text-text-primary hover:text-text-primary dark:text-text-primary-dark hover:dark:text-text-primary-dark": t11,
968
- "border border-transparent bg-surface-100 hover:bg-surface-accent-200 text-text-primary dark:bg-surface-900 dark:hover:bg-surface-accent-700 dark:text-text-primary-dark hover:text-text-primary dark:text-text-primary-dark hover:dark:text-text-primary-dark": t12,
964
+ "border border-primary bg-primary focus:ring-primary shadow-sm hover:shadow-md hover:brightness-110 text-white hover:text-white": t8,
965
+ "border border-secondary bg-secondary focus:ring-secondary shadow-sm hover:shadow-md hover:brightness-110 text-white hover:text-white": t9,
966
+ "border border-red-500 bg-red-500 hover:bg-red-600 focus:ring-red-500 shadow-sm hover:shadow-md text-white hover:text-white": t10,
967
+ "border border-surface-accent-200 bg-surface-accent-200 hover:bg-surface-accent-300 focus:ring-surface-accent-400 shadow-sm hover:shadow-md text-text-primary hover:text-text-primary dark:border-surface-accent-700 dark:bg-surface-accent-700 dark:hover:bg-surface-accent-600 dark:text-text-primary-dark hover:dark:text-text-primary-dark": t11,
968
+ "border border-transparent bg-surface-100 hover:bg-surface-accent-200 text-text-primary dark:bg-surface-700 dark:hover:bg-surface-accent-700 dark:text-text-primary-dark hover:text-text-primary dark:text-text-primary-dark hover:dark:text-text-primary-dark": t12,
969
969
  "border border-transparent text-primary hover:text-primary hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800": t13,
970
970
  "border border-transparent text-secondary hover:text-secondary hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800": t14,
971
971
  "border border-transparent text-red-500 hover:text-red-500 hover:bg-red-500 hover:bg-opacity-10 hover:bg-red-500/10": t15,
972
- "border border-transparent text-text-primary hover:text-text-primary dark:text-text-primary-dark hover:dark:text-text-primary-dark hover:bg-surface-accent-200 hover:dark:bg-surface-700": t16,
973
- "border border-transparent text-text-primary hover:text-text-primary hover:bg-surface-accent-200 dark:text-text-primary-dark dark:hover:text-text-primary-dark dark:hover:bg-surface-accent-700": t17,
972
+ "border border-transparent text-text-primary hover:text-text-primary dark:text-text-primary-dark hover:dark:text-text-primary-dark hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800": t16,
973
+ "border border-transparent text-text-primary hover:text-text-primary hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:text-text-primary-dark dark:hover:text-text-primary-dark dark:hover:bg-surface-accent-800": t17,
974
974
  "border border-primary text-primary hover:text-primary hover:bg-primary-bg hover:bg-primary/10": t18,
975
975
  "border border-secondary text-secondary hover:text-secondary hover:bg-secondary-bg": t19,
976
976
  "border border-red-500 text-red-500 hover:text-red-500 hover:bg-red-500 hover:text-white": t20,
977
- "border border-surface-accent-400 text-text-primary hover:text-text-primary dark:text-text-primary-dark hover:bg-surface-accent-200": t21,
978
- "border border-surface-300 text-text-primary hover:bg-surface-accent-200 dark:border-surface-600 dark:text-text-primary-dark dark:hover:bg-surface-accent-700": t22,
977
+ "border border-surface-accent-400 text-text-primary hover:text-text-primary dark:text-text-primary-dark dark:border-surface-accent-600 hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800": t21,
978
+ "border border-surface-300 text-text-primary hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:border-surface-600 dark:text-text-primary-dark dark:hover:bg-surface-accent-800": t22,
979
979
  "text-text-disabled dark:text-text-disabled-dark": disabled,
980
980
  "border border-transparent opacity-50": t23,
981
981
  "border border-surface-500 opacity-50": t24,
@@ -990,7 +990,7 @@ const ButtonInner = React__default.memo(React__default.forwardRef((t0, ref) => {
990
990
  });
991
991
  const iconColorClass = (color === "neutral" || color === "text") && !disabled ? "[&>svg]:text-surface-accent-500 dark:[&>svg]:text-surface-accent-300" : "";
992
992
  if (Component) {
993
- t30 = /* @__PURE__ */ jsxs(Component, { ref, onClick: props.onClick, className: cls(startIcon ? "pl-3" : "", "typography-button h-fit rounded-md whitespace-nowrap inline-flex items-center justify-center p-2 px-4 focus:outline-none transition ease-in-out duration-150 gap-2", buttonClasses2, sizeClasses2, iconColorClass, className), ...props, children: [
993
+ t30 = /* @__PURE__ */ jsxs(Component, { ref, onClick: props.onClick, className: cls(startIcon ? "pl-3" : "", "typography-button h-fit rounded-md whitespace-nowrap inline-flex items-center justify-center p-2 px-4 focus:outline-none transition-all ease-in-out duration-150 gap-2 active:scale-[0.98]", buttonClasses2, sizeClasses2, iconColorClass, className), ...props, children: [
994
994
  startIcon,
995
995
  children
996
996
  ] });
@@ -999,7 +999,7 @@ const ButtonInner = React__default.memo(React__default.forwardRef((t0, ref) => {
999
999
  t26 = ref;
1000
1000
  t27 = props.type ?? "button";
1001
1001
  t28 = props.onClick;
1002
- t29 = cls(startIcon ? "pl-3" : "", "typography-button h-fit rounded-md whitespace-nowrap inline-flex items-center justify-center p-2 px-4 focus:outline-none transition ease-in-out duration-150 gap-2", buttonClasses2, sizeClasses2, iconColorClass, className);
1002
+ t29 = cls(startIcon ? "pl-3" : "", "typography-button h-fit rounded-md whitespace-nowrap inline-flex items-center justify-center p-2 px-4 focus:outline-none transition-all ease-in-out duration-150 gap-2 active:scale-[0.98]", buttonClasses2, sizeClasses2, iconColorClass, className);
1003
1003
  }
1004
1004
  $[11] = Component;
1005
1005
  $[12] = children;
@@ -1573,7 +1573,7 @@ class ErrorBoundary extends React__default.Component {
1573
1573
  return this.props.children;
1574
1574
  }
1575
1575
  }
1576
- const sizeClasses$1 = {
1576
+ const sizeClasses$2 = {
1577
1577
  large: "w-6 h-6 rounded flex items-center justify-center",
1578
1578
  medium: "w-5 h-5 rounded flex items-center justify-center",
1579
1579
  small: "w-4 h-4 rounded flex items-center justify-center",
@@ -1632,10 +1632,10 @@ const Checkbox = React__default.memo((t0) => {
1632
1632
  } else {
1633
1633
  t12 = $[4];
1634
1634
  }
1635
- const t13 = sizeClasses$1[size];
1635
+ const t13 = sizeClasses$2[size];
1636
1636
  const t14 = disabled ? indeterminate || isChecked ? "bg-surface-accent-400 dark:bg-surface-accent-600" : "bg-surface-accent-400 dark:bg-surface-accent-600" : indeterminate || isChecked ? colorClasses$2[color] : "bg-white dark:bg-surface-900";
1637
1637
  const t15 = indeterminate || isChecked ? "text-surface-accent-100 dark:text-surface-accent-900" : "";
1638
- const t16 = disabled ? "border-transparent" : indeterminate || isChecked ? "border-transparent" : "border-surface-accent-800 dark:border-surface-accent-200";
1638
+ const t16 = disabled ? "border-transparent" : indeterminate || isChecked ? "border-transparent" : "border-surface-accent-800 dark:border-surface-accent-500";
1639
1639
  let t17;
1640
1640
  if ($[5] !== t13 || $[6] !== t14 || $[7] !== t15 || $[8] !== t16) {
1641
1641
  t17 = cls("border-2 relative transition-colors ease-in-out duration-150", t13, t14, t15, t16);
@@ -1776,7 +1776,7 @@ function Chip(t0) {
1776
1776
  return t11;
1777
1777
  }
1778
1778
  const Tooltip = (t0) => {
1779
- const $ = c(28);
1779
+ const $ = c(30);
1780
1780
  const {
1781
1781
  open,
1782
1782
  defaultOpen,
@@ -1824,61 +1824,72 @@ const Tooltip = (t0) => {
1824
1824
  }
1825
1825
  const trigger = t4;
1826
1826
  let t5;
1827
- if ($[7] !== tooltipClassName) {
1828
- 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);
1829
- $[7] = tooltipClassName;
1830
- $[8] = t5;
1827
+ if ($[7] !== onOpenChange || $[8] !== open) {
1828
+ t5 = open !== void 0 ? {
1829
+ open,
1830
+ onOpenChange
1831
+ } : {};
1832
+ $[7] = onOpenChange;
1833
+ $[8] = open;
1834
+ $[9] = t5;
1831
1835
  } else {
1832
- t5 = $[8];
1836
+ t5 = $[9];
1833
1837
  }
1834
- const t6 = sideOffset === void 0 ? 4 : sideOffset;
1835
- let t7;
1836
- if ($[9] !== align || $[10] !== side || $[11] !== t5 || $[12] !== t6 || $[13] !== title || $[14] !== tooltipStyle) {
1837
- t7 = /* @__PURE__ */ jsx(TooltipPrimitive.Content, { className: t5, style: tooltipStyle, sideOffset: t6, align, side, children: title });
1838
- $[9] = align;
1839
- $[10] = side;
1840
- $[11] = t5;
1841
- $[12] = t6;
1842
- $[13] = title;
1843
- $[14] = tooltipStyle;
1844
- $[15] = t7;
1838
+ let t6;
1839
+ if ($[10] !== tooltipClassName) {
1840
+ t6 = 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);
1841
+ $[10] = tooltipClassName;
1842
+ $[11] = t6;
1845
1843
  } else {
1846
- t7 = $[15];
1844
+ t6 = $[11];
1847
1845
  }
1846
+ const t7 = sideOffset === void 0 ? 4 : sideOffset;
1848
1847
  let t8;
1849
- if ($[16] !== finalContainer || $[17] !== t7) {
1850
- t8 = /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { container: finalContainer, children: t7 });
1851
- $[16] = finalContainer;
1852
- $[17] = t7;
1848
+ if ($[12] !== align || $[13] !== side || $[14] !== t6 || $[15] !== t7 || $[16] !== title || $[17] !== tooltipStyle) {
1849
+ t8 = /* @__PURE__ */ jsx(TooltipPrimitive.Content, { className: t6, style: tooltipStyle, sideOffset: t7, align, side, children: title });
1850
+ $[12] = align;
1851
+ $[13] = side;
1852
+ $[14] = t6;
1853
+ $[15] = t7;
1854
+ $[16] = title;
1855
+ $[17] = tooltipStyle;
1853
1856
  $[18] = t8;
1854
1857
  } else {
1855
1858
  t8 = $[18];
1856
1859
  }
1857
1860
  let t9;
1858
- if ($[19] !== defaultOpen || $[20] !== onOpenChange || $[21] !== open || $[22] !== t8 || $[23] !== trigger) {
1859
- t9 = /* @__PURE__ */ jsxs(TooltipPrimitive.Root, { open, onOpenChange, defaultOpen, children: [
1861
+ if ($[19] !== finalContainer || $[20] !== t8) {
1862
+ t9 = /* @__PURE__ */ jsx(TooltipPrimitive.Portal, { container: finalContainer, children: t8 });
1863
+ $[19] = finalContainer;
1864
+ $[20] = t8;
1865
+ $[21] = t9;
1866
+ } else {
1867
+ t9 = $[21];
1868
+ }
1869
+ let t10;
1870
+ if ($[22] !== defaultOpen || $[23] !== t5 || $[24] !== t9 || $[25] !== trigger) {
1871
+ t10 = /* @__PURE__ */ jsxs(TooltipPrimitive.Root, { ...t5, defaultOpen, children: [
1860
1872
  trigger,
1861
- t8
1873
+ t9
1862
1874
  ] });
1863
- $[19] = defaultOpen;
1864
- $[20] = onOpenChange;
1865
- $[21] = open;
1866
- $[22] = t8;
1867
- $[23] = trigger;
1875
+ $[22] = defaultOpen;
1876
+ $[23] = t5;
1868
1877
  $[24] = t9;
1878
+ $[25] = trigger;
1879
+ $[26] = t10;
1869
1880
  } else {
1870
- t9 = $[24];
1881
+ t10 = $[26];
1871
1882
  }
1872
- let t10;
1873
- if ($[25] !== delayDuration || $[26] !== t9) {
1874
- t10 = /* @__PURE__ */ jsx(TooltipPrimitive.Provider, { delayDuration, children: t9 });
1875
- $[25] = delayDuration;
1876
- $[26] = t9;
1877
- $[27] = t10;
1883
+ let t11;
1884
+ if ($[27] !== delayDuration || $[28] !== t10) {
1885
+ t11 = /* @__PURE__ */ jsx(TooltipPrimitive.Provider, { delayDuration, children: t10 });
1886
+ $[27] = delayDuration;
1887
+ $[28] = t10;
1888
+ $[29] = t11;
1878
1889
  } else {
1879
- t10 = $[27];
1890
+ t11 = $[29];
1880
1891
  }
1881
- return t10;
1892
+ return t11;
1882
1893
  };
1883
1894
  const styles$2 = `
1884
1895
 
@@ -2023,10 +2034,10 @@ function ColorPicker(t0) {
2023
2034
  }
2024
2035
  return t7;
2025
2036
  }
2026
- const buttonClasses = "hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800 hover:scale-105 transition-transform";
2037
+ const buttonClasses = "hover:bg-surface-accent-200 hover:bg-opacity-75 hover:bg-surface-accent-200/75 dark:hover:bg-surface-accent-800 hover:scale-[1.04] active:scale-95 transition-transform";
2027
2038
  const baseClasses = "inline-flex items-center justify-center p-2 text-sm font-medium focus:outline-none transition-colors ease-in-out duration-150";
2028
2039
  const colorClasses$1 = "text-surface-accent-500 visited:text-surface-accent-500 dark:text-surface-accent-300 dark:visited:text-surface-300";
2029
- const sizeClasses = {
2040
+ const sizeClasses$1 = {
2030
2041
  medium: "w-10 !h-10 min-w-10 min-h-10",
2031
2042
  small: "w-8 !h-8 min-w-8 min-h-8",
2032
2043
  smallest: "w-6 !h-6 min-w-6 min-h-6",
@@ -2093,7 +2104,7 @@ const IconButtonInner = (t0, ref) => {
2093
2104
  const t8 = disabled ? "opacity-50 pointer-events-none" : "cursor-pointer";
2094
2105
  const t9 = toggled ? "outline outline-2 outline-primary" : "";
2095
2106
  const t10 = shapeClasses[shape];
2096
- const t11 = sizeClasses[size];
2107
+ const t11 = sizeClasses$1[size];
2097
2108
  let t12;
2098
2109
  if ($[10] !== bgClasses || $[11] !== className || $[12] !== t10 || $[13] !== t11 || $[14] !== t8 || $[15] !== t9) {
2099
2110
  t12 = cls(t8, t9, "text-inherit dark:text-inherit", colorClasses$1, bgClasses, baseClasses, buttonClasses, t10, t11, className);
@@ -2334,7 +2345,7 @@ const DateTimeField = ({
2334
2345
  /* @__PURE__ */ jsx(IconButton, { onClick: (e_2) => {
2335
2346
  e_2.stopPropagation();
2336
2347
  inputRef.current?.showPicker();
2337
- }, className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-surface-accent-500!", children: /* @__PURE__ */ jsx(CalendarIcon, { color: "disabled" }) }),
2348
+ }, className: "absolute right-3 top-1/2 transform -translate-y-1/2 text-surface-accent-500!", children: /* @__PURE__ */ jsx(CalendarIcon, {}) }),
2338
2349
  clearable && value && /* @__PURE__ */ jsx(IconButton, { onClick: handleClear, className: "absolute right-14 top-1/2 transform -translate-y-1/2 text-surface-accent-400 ", children: /* @__PURE__ */ jsx(XIcon, {}) })
2339
2350
  ] }),
2340
2351
  invalidValue && /* @__PURE__ */ jsxs("div", { className: "flex items-center m-2", children: [
@@ -2437,7 +2448,7 @@ const Dialog = (t0) => {
2437
2448
  const t10 = displayed && open ? "opacity-100" : "opacity-0";
2438
2449
  let t11;
2439
2450
  if ($[5] !== t10) {
2440
- t11 = cls("fixed inset-0 transition-opacity ease-in-out duration-200 bg-black dark:bg-opacity-60 dark:bg-black/60 bg-opacity-50 bg-black/50 dark: bg-black/60 backdrop-blur-sm ", t10, "z-50 fixed top-0 left-0 w-full h-full flex justify-center items-center");
2451
+ t11 = cls("fixed inset-0 transition-opacity ease-in-out duration-200 bg-black dark:bg-opacity-60 dark:bg-black/60 bg-opacity-50 bg-black/50 backdrop-blur-sm", t10, "z-50 fixed top-0 left-0 w-full h-full flex justify-center items-center");
2441
2452
  $[5] = t10;
2442
2453
  $[6] = t11;
2443
2454
  } else {
@@ -2488,7 +2499,7 @@ const Dialog = (t0) => {
2488
2499
  const t18 = fullHeight && !fullScreen ? "h-full" : void 0;
2489
2500
  const t19 = fullScreen ? "h-screen w-screen" : "max-h-[90vh] shadow-xl";
2490
2501
  const t20 = scrollable && "overflow-y-auto";
2491
- const t21 = displayed && open ? "opacity-100" : "opacity-0";
2502
+ const t21 = displayed && open ? "opacity-100 scale-100" : "opacity-0 scale-[0.97]";
2492
2503
  const t22 = maxWidth && !fullScreen ? widthClasses[maxWidth] : void 0;
2493
2504
  let t23;
2494
2505
  if ($[16] !== className || $[17] !== t17 || $[18] !== t18 || $[19] !== t19 || $[20] !== t20 || $[21] !== t21 || $[22] !== t22) {
@@ -2823,7 +2834,7 @@ function ExpandablePanel(t0) {
2823
2834
  const t13 = asField && fieldBackgroundMixin;
2824
2835
  let t14;
2825
2836
  if ($[11] !== t10 || $[12] !== t11 || $[13] !== t12 || $[14] !== t13 || $[15] !== titleClassName) {
2826
- t14 = cls("rounded-t flex items-center justify-between w-full min-h-[52px]", "hover:bg-surface-accent-200 hover:bg-opacity-40 hover:bg-surface-accent-200/40 dark:hover:bg-surface-800 dark:hover:bg-opacity-40 dark:hover:bg-surface-800/40", t10, t11, "transition-all duration-200", t12, t13, titleClassName, "cursor-pointer");
2837
+ t14 = cls("rounded-t flex items-center justify-between w-full min-h-[52px]", "hover:bg-surface-accent-200 hover:bg-opacity-40 hover:bg-surface-accent-200/40 dark:hover:bg-surface-800 dark:hover:bg-opacity-40 dark:hover:bg-surface-800/40 active:bg-surface-accent-300/50 dark:active:bg-surface-700/50", t10, t11, "transition-all duration-200", t12, t13, titleClassName, "cursor-pointer");
2827
2838
  $[11] = t10;
2828
2839
  $[12] = t11;
2829
2840
  $[13] = t12;
@@ -3054,6 +3065,53 @@ function FileUpload(t0) {
3054
3065
  }
3055
3066
  return t16;
3056
3067
  }
3068
+ const sizeClasses = {
3069
+ small: "px-2 py-0.5 text-xs",
3070
+ medium: "px-2.5 py-1 text-xs"
3071
+ };
3072
+ function FilterChip(t0) {
3073
+ const $ = c(11);
3074
+ const {
3075
+ children,
3076
+ active: t1,
3077
+ onClick,
3078
+ icon,
3079
+ size: t2,
3080
+ className,
3081
+ disabled: t3
3082
+ } = t0;
3083
+ const active = t1 === void 0 ? false : t1;
3084
+ const size = t2 === void 0 ? "medium" : t2;
3085
+ const disabled = t3 === void 0 ? false : t3;
3086
+ const t4 = sizeClasses[size];
3087
+ let t5;
3088
+ if ($[0] !== active || $[1] !== className || $[2] !== disabled || $[3] !== t4) {
3089
+ t5 = cls("inline-flex items-center gap-1 rounded-full", "font-medium whitespace-nowrap select-none shrink-0", "transition-all duration-150", "focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/50", t4, active ? "bg-primary/12 text-primary dark:bg-primary/20 dark:text-primary shadow-[inset_0_0_0_1.5px_var(--color-primary)]" : cls("bg-surface-accent-100 text-text-secondary dark:bg-surface-accent-800 dark:text-text-secondary-dark", !disabled && "cursor-pointer hover:bg-surface-accent-200 dark:hover:bg-surface-accent-700"), disabled && "opacity-50 cursor-not-allowed", className);
3090
+ $[0] = active;
3091
+ $[1] = className;
3092
+ $[2] = disabled;
3093
+ $[3] = t4;
3094
+ $[4] = t5;
3095
+ } else {
3096
+ t5 = $[4];
3097
+ }
3098
+ let t6;
3099
+ if ($[5] !== children || $[6] !== disabled || $[7] !== icon || $[8] !== onClick || $[9] !== t5) {
3100
+ t6 = /* @__PURE__ */ jsxs("button", { type: "button", onClick, disabled, className: t5, children: [
3101
+ icon,
3102
+ children
3103
+ ] });
3104
+ $[5] = children;
3105
+ $[6] = disabled;
3106
+ $[7] = icon;
3107
+ $[8] = onClick;
3108
+ $[9] = t5;
3109
+ $[10] = t6;
3110
+ } else {
3111
+ t6 = $[10];
3112
+ }
3113
+ return t6;
3114
+ }
3057
3115
  const colorClasses = {
3058
3116
  info: "bg-sky-200 dark:bg-teal-900",
3059
3117
  warn: "bg-orange-200 dark:bg-yellow-950"
@@ -4032,7 +4090,7 @@ function Separator(t0) {
4032
4090
  if (orientation === "horizontal") {
4033
4091
  let t1;
4034
4092
  if ($[0] !== className) {
4035
- t1 = cls("dark:bg-opacity-80 dark:bg-surface-900 dark:bg-surface-900/80 bg-surface-100 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px my-4", className);
4093
+ t1 = cls("dark:bg-surface-700 bg-surface-200 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px my-4", className);
4036
4094
  $[0] = className;
4037
4095
  $[1] = t1;
4038
4096
  } else {
@@ -4051,7 +4109,7 @@ function Separator(t0) {
4051
4109
  } else {
4052
4110
  let t1;
4053
4111
  if ($[5] !== className) {
4054
- t1 = cls("dark:bg-opacity-80 dark:bg-surface-900 dark:bg-surface-900/80 bg-surface-100 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px mx-4", className);
4112
+ t1 = cls("dark:bg-surface-700 bg-surface-200 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px mx-4", className);
4055
4113
  $[5] = className;
4056
4114
  $[6] = t1;
4057
4115
  } else {
@@ -5046,12 +5104,13 @@ function SearchBar(t0) {
5046
5104
  autoFocus,
5047
5105
  disabled,
5048
5106
  loading,
5049
- inputRef
5107
+ inputRef,
5108
+ initialValue
5050
5109
  } = t0;
5051
5110
  const placeholder = t1 === void 0 ? "Search" : t1;
5052
5111
  const expandable = t2 === void 0 ? false : t2;
5053
5112
  const size = t3 === void 0 ? "medium" : t3;
5054
- const [searchText, setSearchText] = useState("");
5113
+ const [searchText, setSearchText] = useState(initialValue ?? "");
5055
5114
  const [active, setActive] = useState(false);
5056
5115
  const deferredValues = useDebounceValue(searchText, 200);
5057
5116
  let t4;
@@ -5101,7 +5160,7 @@ function SearchBar(t0) {
5101
5160
  const inputPaddingClass = size === "smallest" ? "pl-8" : size === "small" ? "pl-8" : "pl-12";
5102
5161
  let t7;
5103
5162
  if ($[7] !== className || $[8] !== heightClass) {
5104
- t7 = cls("relative transition-all", heightClass, "bg-surface-accent-50 dark:bg-surface-900 border", defaultBorderMixin, "focus-within:ring-2 focus-within:ring-primary focus-within:border-primary", "rounded-lg overflow-hidden", className);
5163
+ t7 = cls("relative transition-all", heightClass, "bg-surface-accent-50 dark:bg-surface-900 border", defaultBorderMixin, "focus-within:ring-1 focus-within:ring-primary/60 focus-within:border-primary focus-within:shadow-[0_0_0_3px_rgba(0,112,244,0.1)]", "rounded-lg overflow-hidden", className);
5105
5164
  $[7] = className;
5106
5165
  $[8] = heightClass;
5107
5166
  $[9] = t7;
@@ -5609,7 +5668,7 @@ const Select = forwardRef((t0, ref) => {
5609
5668
  }
5610
5669
  let t40;
5611
5670
  if ($[99] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
5612
- t40 = cls(focusedDisabled, "z-50 relative overflow-hidden border bg-white dark:bg-surface-800 p-2 rounded-lg", defaultBorderMixin);
5671
+ t40 = cls(focusedDisabled, "z-50 relative overflow-hidden border bg-white dark:bg-surface-800 p-2 rounded-lg shadow-lg animate-in fade-in-0 zoom-in-95 duration-150", defaultBorderMixin);
5613
5672
  $[99] = t40;
5614
5673
  } else {
5615
5674
  t40 = $[99];
@@ -6701,7 +6760,7 @@ function Tab(t0) {
6701
6760
  const {
6702
6761
  variant
6703
6762
  } = useContext(TabsContext);
6704
- const t1 = variant === "standard" && "rounded-sm px-3 py-1.5 data-[state=active]:bg-white data-[state=active]:text-surface-900 dark:data-[state=active]:bg-surface-900 dark:data-[state=active]:text-surface-50";
6763
+ const t1 = variant === "standard" && "rounded-sm px-3 py-1.5 data-[state=active]:bg-white data-[state=active]:text-surface-900 data-[state=active]:shadow-sm dark:data-[state=active]:bg-surface-900 dark:data-[state=active]:text-surface-50";
6705
6764
  let t2;
6706
6765
  if ($[0] !== className || $[1] !== innerClassName || $[2] !== t1 || $[3] !== variant) {
6707
6766
  t2 = cls("inline-flex items-center justify-center whitespace-nowrap 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", t1, variant === "boxy" && cls("flex-shrink-0 flex items-center gap-1.5 px-3.5 h-9 border-r border-surface-200 dark:border-surface-800 cursor-pointer text-[12px] font-medium transition-colors group relative box-border overflow-hidden", "border-b-2 border-b-transparent", "data-[state=active]:bg-surface-50 dark:data-[state=active]:bg-surface-900", "data-[state=active]:text-text-primary dark:data-[state=active]:text-text-primary-dark", "data-[state=active]:border-b-primary", "text-text-secondary dark:text-text-secondary-dark hover:bg-surface-100 dark:hover:bg-surface-800"), variant === "pill" && cls("px-2 py-0.5 rounded text-[10px] font-medium transition-colors", "data-[state=active]:bg-primary/10 data-[state=active]:text-primary dark:data-[state=active]:bg-primary/20 dark:data-[state=active]:text-blue-400", "text-text-disabled dark:text-text-disabled-dark hover:text-text-secondary dark:hover:text-text-secondary-dark"), className, variant === "standard" && innerClassName);
@@ -7285,8 +7344,8 @@ function Skeleton(t0) {
7285
7344
  }
7286
7345
  let t5;
7287
7346
  if ($[5] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel")) {
7288
- t5 = /* @__PURE__ */ jsx("span", { className: "absolute inset-0 bg-gradient-to-r from-transparent via-white/40 dark:via-white/5 to-transparent", style: {
7289
- animation: "shimmer 1s infinite"
7347
+ t5 = /* @__PURE__ */ jsx("span", { className: "absolute inset-0 bg-gradient-to-r from-transparent via-white/50 dark:via-white/8 to-transparent", style: {
7348
+ animation: "shimmer 1.8s ease-in-out infinite"
7290
7349
  } });
7291
7350
  $[5] = t5;
7292
7351
  } else {
@@ -7328,7 +7387,7 @@ function ToggleButtonGroup(t0) {
7328
7387
  if (!option.disabled) {
7329
7388
  onValueChange(option.value);
7330
7389
  }
7331
- }, disabled: option.disabled, "aria-pressed": value === option.value, "aria-disabled": option.disabled || void 0, className: cls("flex flex-row items-center justify-center gap-2 py-3 px-4 rounded-md transition-colors", value === option.value ? "bg-white dark:bg-surface-900 text-primary dark:text-primary-300" : "text-surface-500 dark:text-surface-400 hover:bg-surface-100 dark:hover:bg-surface-700", option.disabled && "opacity-50 cursor-not-allowed"), children: [
7390
+ }, disabled: option.disabled, "aria-pressed": value === option.value, "aria-disabled": option.disabled || void 0, className: cls("flex flex-row items-center justify-center gap-2 py-3 px-4 rounded-md transition-colors", value === option.value ? "bg-white dark:bg-surface-900 text-primary dark:text-primary-300 shadow-sm" : "text-surface-500 dark:text-surface-400 hover:bg-surface-100 dark:hover:bg-surface-700", option.disabled && "opacity-50 cursor-not-allowed"), children: [
7332
7391
  option.icon,
7333
7392
  /* @__PURE__ */ jsx("span", { className: "text-sm font-medium", children: option.label })
7334
7393
  ] }, option.value);
@@ -7405,7 +7464,7 @@ const VirtualTableHeader = React__default.memo(function VirtualTableHeader2(t0)
7405
7464
  const thisColumnIsResizing = isResizingIndex === columnIndex;
7406
7465
  const anotherColumnIsResizing = isResizingIndex !== columnIndex && isResizingIndex > 0;
7407
7466
  const hovered = !anotherColumnIsResizing && (onHover || thisColumnIsResizing);
7408
- const t3 = isDragging ? "bg-primary-bg dark:bg-primary-bg-dark" : "bg-surface-50 dark:bg-surface-800";
7467
+ const t3 = isDragging ? "bg-primary-bg dark:bg-primary-bg-dark" : "bg-surface-50 dark:bg-surface-900";
7409
7468
  const t4 = !isDragging && "hover:bg-surface-100 dark:hover:bg-surface-900 hover:bg-opacity-50 hover:bg-surface-100/50 dark:hover:bg-opacity-50 dark:hover:bg-surface-900/50";
7410
7469
  const t5 = column.frozen ? "sticky left-0 z-10" : "relative z-0";
7411
7470
  const t6 = isDraggable && "cursor-grab";
@@ -7496,7 +7555,7 @@ const VirtualTableHeader = React__default.memo(function VirtualTableHeader2(t0)
7496
7555
  }
7497
7556
  let t18;
7498
7557
  if ($[28] !== column.key || $[29] !== column.sortable || $[30] !== hovered || $[31] !== onColumnSort || $[32] !== onHover || $[33] !== openFilter || $[34] !== sort) {
7499
- t18 = column.sortable && (sort || hovered || openFilter) && /* @__PURE__ */ jsx(Badge, { color: "secondary", invisible: !sort, children: /* @__PURE__ */ jsxs(IconButton, { size: "small", className: onHover || openFilter ? "bg-white dark:bg-surface-800" : void 0, onClick: () => {
7558
+ t18 = column.sortable && (sort || hovered || openFilter) && /* @__PURE__ */ jsx(Badge, { color: "secondary", invisible: !sort, children: /* @__PURE__ */ jsxs(IconButton, { size: "small", className: onHover || openFilter ? "bg-white dark:bg-surface-900" : void 0, onClick: () => {
7500
7559
  onColumnSort(column.key);
7501
7560
  }, children: [
7502
7561
  !sort && /* @__PURE__ */ jsx(ArrowUpIcon, {}),
@@ -7528,7 +7587,7 @@ const VirtualTableHeader = React__default.memo(function VirtualTableHeader2(t0)
7528
7587
  }
7529
7588
  let t20;
7530
7589
  if ($[39] !== column || $[40] !== createFilterField || $[41] !== filter || $[42] !== hidden || $[43] !== onHover || $[44] !== openFilter || $[45] !== update) {
7531
- t20 = column.filter && createFilterField && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Badge, { color: "secondary", invisible: !filter, children: /* @__PURE__ */ jsx(Popover, { open: openFilter, onOpenChange: setOpenFilter, className: hidden ? "hidden" : void 0, modal: true, trigger: /* @__PURE__ */ jsx(IconButton, { className: onHover || openFilter ? "bg-white dark:bg-surface-800" : void 0, size: "small", onClick: handleSettingsClick, children: /* @__PURE__ */ jsx(FilterIcon, { size: iconSize.small }) }), children: /* @__PURE__ */ jsx(FilterForm, { column, filter, onHover, onFilterUpdate: update, createFilterField, hidden, setHidden }) }) }) });
7590
+ t20 = column.filter && createFilterField && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Badge, { color: "secondary", invisible: !filter, children: /* @__PURE__ */ jsx(Popover, { open: openFilter, onOpenChange: setOpenFilter, className: hidden ? "hidden" : void 0, modal: true, trigger: /* @__PURE__ */ jsx(IconButton, { className: onHover || openFilter ? "bg-white dark:bg-surface-900" : void 0, size: "small", onClick: handleSettingsClick, children: /* @__PURE__ */ jsx(FilterIcon, { size: iconSize.small }) }), children: /* @__PURE__ */ jsx(FilterForm, { column, filter, onHover, onFilterUpdate: update, createFilterField, hidden, setHidden }) }) }) });
7532
7591
  $[39] = column;
7533
7592
  $[40] = createFilterField;
7534
7593
  $[41] = filter;
@@ -7957,7 +8016,7 @@ const VirtualTableHeaderRow = ({
7957
8016
  setIsResizing(index_0);
7958
8017
  setCursorDocument(true);
7959
8018
  }, [setCursorDocument]);
7960
- return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: cls(defaultBorderMixin, "z-20 sticky min-w-full flex w-fit flex-row top-0 left-0 border-b bg-surface-50 dark:bg-surface-800"), style: {
8019
+ return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs("div", { className: cls(defaultBorderMixin, "z-20 sticky min-w-full flex w-fit flex-row top-0 left-0 border-b bg-surface-50 dark:bg-surface-900"), style: {
7961
8020
  height: headerHeight
7962
8021
  }, children: [
7963
8022
  columns.map((column_0, columnIndex) => {
@@ -8002,7 +8061,7 @@ const VirtualTableRow = React__default.memo(function VirtualTableRow2(t0) {
8002
8061
  const onClick = t1;
8003
8062
  let t2;
8004
8063
  if ($[4] !== hoverRow || $[5] !== onRowClick || $[6] !== rowClassName || $[7] !== rowData) {
8005
- t2 = cls("flex min-w-full text-sm border-b border-surface-200/60 dark:border-surface-700/60 dark:bg-surface-900", rowClassName ? rowClassName(rowData) : "", {
8064
+ t2 = cls("flex min-w-full text-sm border-b border-surface-200/60 dark:border-surface-700/60 dark:bg-surface-800", rowClassName ? rowClassName(rowData) : "", {
8006
8065
  "hover:!bg-surface-50/75 dark:hover:!bg-surface-800/75": hoverRow,
8007
8066
  "cursor-pointer ": onRowClick
8008
8067
  });
@@ -8098,7 +8157,7 @@ const innerElementType = forwardRef((t0, ref) => {
8098
8157
  /* @__PURE__ */ jsx("div", { style: {
8099
8158
  position: "sticky",
8100
8159
  top: 0,
8101
- zIndex: 10
8160
+ zIndex: 20
8102
8161
  }, children: /* @__PURE__ */ jsx(VirtualTableHeaderRow, { ...virtualTableProps }) }),
8103
8162
  !customView && children
8104
8163
  ] }) }),
@@ -8291,7 +8350,7 @@ const VirtualTable = React__default.memo(function VirtualTable2({
8291
8350
  const customView = error ? /* @__PURE__ */ jsxs(CenteredView, { maxWidth: "2xl", className: "flex flex-col gap-2", children: [
8292
8351
  /* @__PURE__ */ jsx(Typography, { variant: "h6", children: "Error" }),
8293
8352
  error?.message && /* @__PURE__ */ jsx(SafeLinkRenderer, { text: error.message })
8294
- ] }) : empty ? loading ? /* @__PURE__ */ jsx(CircularProgressCenter, {}) : /* @__PURE__ */ jsx("div", { className: "flex flex-col overflow-auto items-center justify-center p-8 h-full", children: emptyComponent }) : void 0;
8353
+ ] }) : empty ? loading ? /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center py-12 px-8", children: /* @__PURE__ */ jsx(CircularProgress, { size: "small" }) }) : /* @__PURE__ */ jsx("div", { className: "flex flex-col overflow-auto items-center justify-center py-12 px-8", children: emptyComponent }) : void 0;
8295
8354
  const virtualListController = useMemo(() => ({
8296
8355
  data,
8297
8356
  rowHeight,
@@ -8386,7 +8445,7 @@ const SortableCellWrapper = (t0) => {
8386
8445
  t5 = $[8];
8387
8446
  }
8388
8447
  const style = t5;
8389
- const t6 = frozen && "sticky left-0 z-10 bg-white dark:bg-surface-800";
8448
+ const t6 = frozen && "sticky left-0 z-10 bg-white dark:bg-surface-900";
8390
8449
  let t7;
8391
8450
  if ($[9] !== t6) {
8392
8451
  t7 = cls("flex-shrink-0", t6);
@@ -8467,7 +8526,7 @@ function MemoizedList({
8467
8526
  columnIndex,
8468
8527
  extraData
8469
8528
  }
8470
- ) }, `cell_wrapper_${column.key}`) : /* @__PURE__ */ jsx("div", { className: cls("flex-shrink-0 relative", column.frozen && "sticky left-0 z-10 bg-white dark:bg-surface-800"), style: {
8529
+ ) }, `cell_wrapper_${column.key}`) : /* @__PURE__ */ jsx("div", { className: cls("flex-shrink-0 relative", column.frozen && "sticky left-0 z-10 bg-white dark:bg-surface-900"), style: {
8471
8530
  minWidth: column.width,
8472
8531
  maxWidth: column.width,
8473
8532
  width: column.width
@@ -8608,6 +8667,7 @@ export {
8608
8667
  ErrorBoundary,
8609
8668
  ExpandablePanel,
8610
8669
  FileUpload,
8670
+ FilterChip,
8611
8671
  GitHubIcon,
8612
8672
  HandleIcon,
8613
8673
  IconButton,