@hexclave/dashboard-ui-components 1.0.5 → 1.0.8

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 (72) hide show
  1. package/dist/components/alert.js +4 -4
  2. package/dist/components/alert.js.map +1 -1
  3. package/dist/components/analytics-chart/analytics-chart.js +2 -2
  4. package/dist/components/analytics-chart/index.js +2 -2
  5. package/dist/components/badge.js +1 -1
  6. package/dist/components/badge.js.map +1 -1
  7. package/dist/components/button.js +3 -3
  8. package/dist/components/button.js.map +1 -1
  9. package/dist/components/data-grid/data-grid-toolbar.js +5 -5
  10. package/dist/components/data-grid/data-grid-toolbar.js.map +1 -1
  11. package/dist/components/data-grid/data-grid.d.ts.map +1 -1
  12. package/dist/components/data-grid/data-grid.js +13 -7
  13. package/dist/components/data-grid/data-grid.js.map +1 -1
  14. package/dist/components/data-grid/data-grid.test.js +34 -1
  15. package/dist/components/data-grid/data-grid.test.js.map +1 -1
  16. package/dist/components/data-grid/index.js +2 -2
  17. package/dist/components/data-grid/use-url-state.js +1 -1
  18. package/dist/components/dialog.d.ts +6 -2
  19. package/dist/components/dialog.d.ts.map +1 -1
  20. package/dist/components/dialog.js +14 -10
  21. package/dist/components/dialog.js.map +1 -1
  22. package/dist/components/input.js +12 -9
  23. package/dist/components/input.js.map +1 -1
  24. package/dist/components/pill-toggle.js +1 -1
  25. package/dist/components/pill-toggle.js.map +1 -1
  26. package/dist/components/tabs.js +2 -2
  27. package/dist/components/tabs.js.map +1 -1
  28. package/dist/dashboard-ui-components.global.js +85 -51
  29. package/dist/dashboard-ui-components.global.js.map +4 -4
  30. package/dist/esm/components/alert.js +4 -4
  31. package/dist/esm/components/alert.js.map +1 -1
  32. package/dist/esm/components/analytics-chart/analytics-chart.js +2 -2
  33. package/dist/esm/components/analytics-chart/index.js +2 -2
  34. package/dist/esm/components/badge.js +1 -1
  35. package/dist/esm/components/badge.js.map +1 -1
  36. package/dist/esm/components/button.js +3 -3
  37. package/dist/esm/components/button.js.map +1 -1
  38. package/dist/esm/components/data-grid/data-grid-toolbar.js +5 -5
  39. package/dist/esm/components/data-grid/data-grid-toolbar.js.map +1 -1
  40. package/dist/esm/components/data-grid/data-grid.d.ts.map +1 -1
  41. package/dist/esm/components/data-grid/data-grid.js +13 -7
  42. package/dist/esm/components/data-grid/data-grid.js.map +1 -1
  43. package/dist/esm/components/data-grid/data-grid.test.js +34 -1
  44. package/dist/esm/components/data-grid/data-grid.test.js.map +1 -1
  45. package/dist/esm/components/data-grid/index.js +2 -2
  46. package/dist/esm/components/data-grid/use-url-state.js +1 -1
  47. package/dist/esm/components/dialog.d.ts +6 -2
  48. package/dist/esm/components/dialog.d.ts.map +1 -1
  49. package/dist/esm/components/dialog.js +13 -11
  50. package/dist/esm/components/dialog.js.map +1 -1
  51. package/dist/esm/components/input.js +12 -9
  52. package/dist/esm/components/input.js.map +1 -1
  53. package/dist/esm/components/pill-toggle.js +1 -1
  54. package/dist/esm/components/pill-toggle.js.map +1 -1
  55. package/dist/esm/components/tabs.js +2 -2
  56. package/dist/esm/components/tabs.js.map +1 -1
  57. package/dist/esm/index.d.ts +2 -2
  58. package/dist/esm/index.js +2 -2
  59. package/dist/index.d.ts +2 -2
  60. package/dist/index.js +12 -0
  61. package/package.json +3 -3
  62. package/src/components/alert.tsx +4 -4
  63. package/src/components/badge.tsx +1 -1
  64. package/src/components/button.tsx +3 -3
  65. package/src/components/data-grid/data-grid-toolbar.tsx +12 -12
  66. package/src/components/data-grid/data-grid.test.tsx +42 -1
  67. package/src/components/data-grid/data-grid.tsx +17 -6
  68. package/src/components/dialog.tsx +24 -13
  69. package/src/components/input.tsx +24 -12
  70. package/src/components/pill-toggle.tsx +1 -1
  71. package/src/components/tabs.tsx +6 -3
  72. package/src/index.ts +2 -0
@@ -333,6 +333,8 @@ var DashboardUI = (() => {
333
333
  defaultFormatRelative: () => defaultFormatRelative,
334
334
  defaultMatchRow: () => defaultMatchRow,
335
335
  defaultParseDate: () => defaultParseDate,
336
+ designDialogGlassmorphicOverlayClass: () => designDialogGlassmorphicOverlayClass,
337
+ designDialogGlassmorphicSurfaceClass: () => designDialogGlassmorphicSurfaceClass,
336
338
  exportToCsv: () => exportToCsv,
337
339
  findAnnotationsLayer: () => findAnnotationsLayer,
338
340
  findCompareLayer: () => findCompareLayer,
@@ -4750,7 +4752,11 @@ This is likely an error in Hexclave. Please make sure you are running the newest
4750
4752
  var AnonymousAccountsNotEnabled = createKnownErrorConstructor(KnownError, "ANONYMOUS_ACCOUNTS_NOT_ENABLED", () => [400, "Anonymous accounts are not enabled for this project."], () => []);
4751
4753
  var AnonymousAuthenticationNotAllowed = createKnownErrorConstructor(KnownError, "ANONYMOUS_AUTHENTICATION_NOT_ALLOWED", () => [401, "X-Stack-Access-Token is for an anonymous user, but anonymous users are not enabled. Set the X-Stack-Allow-Anonymous-User header of this request to 'true' to allow anonymous users."], () => []);
4752
4754
  var EmailPasswordMismatch = createKnownErrorConstructor(KnownError, "EMAIL_PASSWORD_MISMATCH", () => [400, "Wrong e-mail or password."], () => []);
4753
- var RedirectUrlNotWhitelisted = createKnownErrorConstructor(KnownError, "REDIRECT_URL_NOT_WHITELISTED", () => [400, "Redirect URL not whitelisted. Did you forget to add this domain to the trusted domains list on the Hexclave dashboard?"], () => []);
4755
+ var RedirectUrlNotWhitelisted = createKnownErrorConstructor(KnownError, "REDIRECT_URL_NOT_WHITELISTED", (redirectUrl) => [
4756
+ 400,
4757
+ "Redirect URL not whitelisted. Did you forget to add this domain to the trusted domains list on the Hexclave dashboard?",
4758
+ redirectUrl === void 0 ? void 0 : { redirect_url: redirectUrl }
4759
+ ], (json) => [json?.redirect_url]);
4754
4760
  var PasswordRequirementsNotMet = createKnownErrorConstructor(KnownError, "PASSWORD_REQUIREMENTS_NOT_MET", "inherit", "inherit");
4755
4761
  var PasswordTooShort = createKnownErrorConstructor(PasswordRequirementsNotMet, "PASSWORD_TOO_SHORT", (minLength) => [
4756
4762
  400,
@@ -17573,7 +17579,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17573
17579
  [
17574
17580
  "default",
17575
17581
  {
17576
- container: "bg-background border-border",
17582
+ container: "border-black/[0.08] bg-white/90 ring-1 ring-black/[0.06] dark:border-border dark:bg-background dark:ring-0",
17577
17583
  icon: "text-foreground",
17578
17584
  title: "text-foreground"
17579
17585
  }
@@ -17605,9 +17611,9 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17605
17611
  [
17606
17612
  "info",
17607
17613
  {
17608
- container: "bg-blue-500/[0.06] border-blue-500/30",
17609
- icon: "text-blue-500",
17610
- title: "text-blue-600 dark:text-blue-400"
17614
+ container: "border-blue-500/20 bg-blue-50/90 ring-1 ring-blue-500/10 dark:border-blue-500/30 dark:bg-blue-500/[0.06] dark:ring-0",
17615
+ icon: "text-blue-600 dark:text-blue-400",
17616
+ title: "text-blue-700 dark:text-blue-400"
17611
17617
  }
17612
17618
  ]
17613
17619
  ]);
@@ -17707,7 +17713,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17707
17713
  "div",
17708
17714
  {
17709
17715
  className: cn(
17710
- "inline-flex items-center gap-1.5 rounded-full font-medium",
17716
+ "inline-flex max-w-full items-center gap-1.5 whitespace-nowrap rounded-full font-medium leading-none",
17711
17717
  colorClasses,
17712
17718
  sizeClasses2
17713
17719
  ),
@@ -17729,9 +17735,9 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
17729
17735
  variant: {
17730
17736
  default: "bg-primary text-primary-foreground hover:bg-primary/90",
17731
17737
  destructive: "bg-destructive text-destructive-foreground hover:bg-destructive/90",
17732
- outline: "border border-input bg-white/85 dark:bg-background hover:bg-white dark:hover:bg-accent hover:text-accent-foreground",
17733
- secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80",
17734
- ghost: "hover:bg-accent hover:text-accent-foreground",
17738
+ outline: "border border-input bg-white/85 dark:bg-background hover:bg-zinc-50 dark:hover:bg-accent dark:hover:text-accent-foreground",
17739
+ secondary: "bg-white dark:bg-secondary text-secondary-foreground hover:bg-zinc-50 dark:hover:bg-secondary/80",
17740
+ ghost: "hover:bg-zinc-100 dark:hover:bg-accent dark:hover:text-accent-foreground",
17735
17741
  link: "text-primary underline-offset-4 hover:underline",
17736
17742
  plain: ""
17737
17743
  },
@@ -18216,13 +18222,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18216
18222
  ["full", "max-w-[calc(100vw-2rem)]"]
18217
18223
  ]);
18218
18224
  var dialogSurfaceClasses = /* @__PURE__ */ new Map([
18219
- ["glassmorphic", "border-0 sm:rounded-2xl bg-background/85 backdrop-blur-2xl ring-1 ring-foreground/[0.06] shadow-[0_24px_48px_-12px_rgba(0,0,0,0.25),0_4px_24px_-8px_rgba(0,0,0,0.12)] dark:bg-background/80 dark:ring-white/[0.06]"],
18220
- ["plain", "border bg-background shadow-lg sm:rounded-lg"]
18221
- ]);
18222
- var dialogOverlayClasses = /* @__PURE__ */ new Map([
18223
- ["glassmorphic", "bg-black/50 backdrop-blur-sm"],
18224
- ["plain", void 0]
18225
+ ["glassmorphic", "border-0 sm:rounded-2xl bg-white/95 backdrop-blur-2xl ring-1 ring-black/[0.08] shadow-[0_24px_48px_-12px_rgba(0,0,0,0.25),0_4px_24px_-8px_rgba(0,0,0,0.12)] dark:bg-background/80 dark:ring-white/[0.06]"],
18226
+ ["plain", "border border-black/[0.08] bg-white shadow-lg sm:rounded-lg dark:border-white/[0.06] dark:bg-background"]
18225
18227
  ]);
18228
+ var designDialogGlassmorphicSurfaceClass = dialogSurfaceClasses.get("glassmorphic") ?? "";
18229
+ var designDialogGlassmorphicOverlayClass = "bg-black/50 backdrop-blur-sm";
18226
18230
  function DesignDialog({
18227
18231
  trigger,
18228
18232
  size: size4 = "lg",
@@ -18240,12 +18244,16 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18240
18244
  headerClassName,
18241
18245
  bodyClassName,
18242
18246
  footerClassName,
18247
+ contentProps,
18243
18248
  children,
18244
18249
  ...dialogRootProps
18245
18250
  }) {
18246
18251
  const resolvedSizeClass = dialogSizeClasses.get(size4) ?? "max-w-lg";
18247
18252
  const resolvedSurfaceClass = dialogSurfaceClasses.get(variant) ?? dialogSurfaceClasses.get("glassmorphic");
18248
- const resolvedOverlayClass = cn(dialogOverlayClasses.get(variant), overlayClassName);
18253
+ const resolvedOverlayClass = cn(
18254
+ variant === "glassmorphic" ? designDialogGlassmorphicOverlayClass : void 0,
18255
+ overlayClassName
18256
+ );
18249
18257
  const shouldRenderTopHeaderRow = Icon != null || title != null || description != null;
18250
18258
  const shouldRenderHeader = customHeader != null || shouldRenderTopHeaderRow || headerContent != null;
18251
18259
  const shouldRenderBody = import_react19.default.Children.toArray(children).filter(Boolean).length > 0;
@@ -18262,20 +18270,25 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18262
18270
  DialogContent2,
18263
18271
  {
18264
18272
  className: cn(
18265
- "gap-0 p-0 overflow-hidden",
18273
+ "gap-0 h-auto max-h-[min(100dvh-2rem,36rem)] overflow-hidden p-0",
18266
18274
  resolvedSizeClass,
18267
18275
  resolvedSurfaceClass,
18268
18276
  className
18269
18277
  ),
18270
18278
  overlayProps: resolvedOverlayClass ? { className: resolvedOverlayClass } : void 0,
18271
18279
  noCloseButton: hideTopCloseButton,
18280
+ ...contentProps,
18272
18281
  children: [
18273
18282
  needsAccessibleTitleFallback && /* @__PURE__ */ jsx(DialogTitle2, { className: "sr-only", children: "Dialog" }),
18274
- shouldRenderHeader && /* @__PURE__ */ jsx(DialogHeader, { className: cn("px-6 pt-6 pb-4 border-b border-foreground/[0.06]", headerClassName), children: customHeader ?? /* @__PURE__ */ jsxs(Fragment24, { children: [
18275
- shouldRenderTopHeaderRow && /* @__PURE__ */ jsxs("div", { className: cn("flex items-start gap-3", Icon == null && "gap-0"), children: [
18283
+ shouldRenderHeader && /* @__PURE__ */ jsx(DialogHeader, { className: cn("shrink-0 px-6 pt-6 pb-4 border-b border-foreground/[0.06]", headerClassName), children: customHeader ?? /* @__PURE__ */ jsxs(Fragment24, { children: [
18284
+ shouldRenderTopHeaderRow && /* @__PURE__ */ jsxs("div", { className: cn(
18285
+ "flex gap-3",
18286
+ description != null ? "items-start" : "items-center",
18287
+ Icon == null && "gap-0"
18288
+ ), children: [
18276
18289
  Icon != null && /* @__PURE__ */ jsx("div", { className: "h-9 w-9 rounded-xl bg-primary/10 ring-1 ring-primary/15 flex items-center justify-center shrink-0", children: /* @__PURE__ */ jsx(Icon, { className: "h-4 w-4 text-primary" }) }),
18277
18290
  (title != null || description != null) && /* @__PURE__ */ jsxs("div", { className: "flex-1 min-w-0 space-y-1", children: [
18278
- title != null ? /* @__PURE__ */ jsx(DialogTitle2, { className: "text-base", children: title }) : null,
18291
+ title != null ? /* @__PURE__ */ jsx(DialogTitle2, { className: "text-base font-semibold leading-snug", children: title }) : null,
18279
18292
  description != null ? /* @__PURE__ */ jsx(DialogDescription2, { className: "text-xs", children: description }) : null
18280
18293
  ] })
18281
18294
  ] }),
@@ -18285,14 +18298,14 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18285
18298
  DialogBody,
18286
18299
  {
18287
18300
  className: cn(
18288
- "mx-0 my-0 w-auto",
18301
+ "mx-0 my-0 w-auto min-h-0 overflow-y-auto",
18289
18302
  noBodyPadding ? "px-0 py-0" : "px-6 py-4",
18290
18303
  bodyClassName
18291
18304
  ),
18292
18305
  children
18293
18306
  }
18294
18307
  ),
18295
- footer != null ? /* @__PURE__ */ jsx(DialogFooter, { className: cn("px-6 py-3 border-t border-foreground/[0.06] bg-foreground/[0.02]", footerClassName), children: footer }) : null
18308
+ footer != null ? /* @__PURE__ */ jsx(DialogFooter, { className: cn("shrink-0 px-6 py-3 border-t border-foreground/[0.06] bg-foreground/[0.02]", footerClassName), children: footer }) : null
18296
18309
  ]
18297
18310
  }
18298
18311
  )
@@ -18317,17 +18330,20 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18317
18330
  // src/components/input.tsx
18318
18331
  var DesignInput = forwardRefIfNeeded(
18319
18332
  ({ className, type, prefixItem, leadingIcon, size: size4 = "md", ...props }, ref) => {
18320
- const sizeClasses2 = size4 === "sm" ? "h-7 px-2 text-xs" : size4 === "lg" ? "h-10 px-4 text-sm" : "h-9 px-3 text-sm";
18333
+ const heightTextClasses = size4 === "sm" ? "h-7 text-xs" : size4 === "lg" ? "h-10 text-sm" : "h-9 text-sm";
18334
+ const horizontalPaddingClasses = size4 === "sm" ? "px-2" : size4 === "lg" ? "px-4" : "px-3";
18321
18335
  const baseClasses = cn(
18322
18336
  "stack-scope flex w-full rounded-xl border border-black/[0.08] dark:border-white/[0.06] bg-white/80 dark:bg-foreground/[0.03] shadow-sm ring-1 ring-black/[0.08] dark:ring-white/[0.06]",
18323
18337
  "file:border-0 file:bg-transparent file:text-sm file:font-medium",
18324
18338
  "placeholder:text-muted-foreground/50 focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-foreground/[0.1]",
18325
18339
  "disabled:cursor-not-allowed disabled:opacity-50",
18326
18340
  "transition-all duration-150 hover:transition-none hover:bg-white dark:hover:bg-foreground/[0.06]",
18327
- sizeClasses2
18341
+ heightTextClasses
18328
18342
  );
18343
+ const leadingIconClasses = size4 === "sm" ? "left-2.5 [&_svg]:size-3" : size4 === "lg" ? "left-3.5 [&_svg]:size-4" : "left-3 [&_svg]:size-3.5";
18344
+ const leadingIconPadding = size4 === "sm" ? "pl-8" : size4 === "lg" ? "pl-10" : "pl-9";
18329
18345
  if (prefixItem) {
18330
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-row items-center flex-1 rounded-xl border border-black/[0.08] dark:border-white/[0.06] bg-white/80 dark:bg-foreground/[0.03] shadow-sm ring-1 ring-black/[0.08] dark:ring-white/[0.06] overflow-hidden transition-all duration-150 hover:transition-none hover:bg-white dark:hover:bg-foreground/[0.06] focus-within:ring-1 focus-within:ring-foreground/[0.1]", children: [
18346
+ return /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-row items-center overflow-hidden rounded-xl border border-black/[0.08] bg-white/80 shadow-sm ring-1 ring-black/[0.08] transition-all duration-150 hover:bg-white hover:transition-none dark:border-white/[0.06] dark:bg-foreground/[0.03] dark:ring-white/[0.06] focus-within:ring-1 focus-within:ring-foreground/[0.1] dark:hover:bg-foreground/[0.06]", children: [
18331
18347
  /* @__PURE__ */ jsx("div", { className: cn(
18332
18348
  "flex self-stretch items-center justify-center select-none text-muted-foreground/70 border-r border-black/[0.06] dark:border-white/[0.06] bg-black/[0.03] dark:bg-white/[0.02]",
18333
18349
  size4 === "sm" ? "px-2.5 text-xs" : size4 === "lg" ? "px-3.5 text-sm" : "px-3 text-sm"
@@ -18341,7 +18357,8 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18341
18357
  "file:border-0 file:bg-transparent file:text-sm file:font-medium",
18342
18358
  "placeholder:text-muted-foreground/50 focus-visible:outline-none",
18343
18359
  "disabled:cursor-not-allowed disabled:opacity-50",
18344
- sizeClasses2,
18360
+ heightTextClasses,
18361
+ horizontalPaddingClasses,
18345
18362
  "rounded-none border-0 shadow-none ring-0 focus-visible:ring-0",
18346
18363
  className
18347
18364
  ),
@@ -18352,24 +18369,27 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18352
18369
  ] });
18353
18370
  }
18354
18371
  if (leadingIcon) {
18355
- return /* @__PURE__ */ jsxs("div", { className: "relative flex flex-row items-center flex-1", children: [
18356
- /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute left-2.5 flex items-center text-muted-foreground", children: leadingIcon }),
18372
+ return /* @__PURE__ */ jsxs("div", { className: cn("relative w-full", className), children: [
18373
+ /* @__PURE__ */ jsx("div", { className: cn(
18374
+ "pointer-events-none absolute top-1/2 -translate-y-1/2 text-muted-foreground [&_svg]:block",
18375
+ leadingIconClasses
18376
+ ), children: leadingIcon }),
18357
18377
  /* @__PURE__ */ jsx(
18358
18378
  "input",
18359
18379
  {
18360
18380
  type,
18361
- className: cn(baseClasses, "pl-8", className),
18381
+ className: cn(baseClasses, leadingIconPadding),
18362
18382
  ref,
18363
18383
  ...props
18364
18384
  }
18365
18385
  )
18366
18386
  ] });
18367
18387
  }
18368
- return /* @__PURE__ */ jsx("div", { className: "flex flex-row items-center flex-1", children: /* @__PURE__ */ jsx(
18388
+ return /* @__PURE__ */ jsx("div", { className: "w-full", children: /* @__PURE__ */ jsx(
18369
18389
  "input",
18370
18390
  {
18371
18391
  type,
18372
- className: cn(baseClasses, className),
18392
+ className: cn(baseClasses, horizontalPaddingClasses, className),
18373
18393
  ref,
18374
18394
  ...props
18375
18395
  }
@@ -18444,7 +18464,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18444
18464
  "relative flex items-center gap-2 font-medium rounded-lg transition-all duration-150 hover:transition-none",
18445
18465
  sizeClass.button,
18446
18466
  isActive ? cn(
18447
- "bg-background text-foreground shadow-sm ring-1",
18467
+ "bg-white dark:bg-background text-foreground shadow-sm ring-1",
18448
18468
  glassmorphic ? "ring-foreground/[0.06] dark:bg-[hsl(240,71%,70%)]/10 dark:text-[hsl(240,71%,90%)] dark:ring-[hsl(240,71%,70%)]/20" : activeRingClass
18449
18469
  ) : cn(
18450
18470
  "text-muted-foreground hover:text-foreground",
@@ -18674,7 +18694,7 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18674
18694
  {
18675
18695
  className: cn(
18676
18696
  "flex w-full min-w-0 items-center gap-2",
18677
- glassmorphic ? "rounded-xl bg-black/[0.08] dark:bg-white/[0.04] p-1 backdrop-blur-sm" : "border-b border-gray-300 dark:border-gray-800",
18697
+ glassmorphic ? "rounded-xl bg-zinc-100/90 p-1 ring-1 ring-black/[0.06] backdrop-blur-sm dark:bg-white/[0.04] dark:ring-white/[0.06]" : "border-b border-gray-300 dark:border-gray-800",
18678
18698
  className
18679
18699
  ),
18680
18700
  ...props,
@@ -18701,8 +18721,11 @@ For more information, see https://radix-ui.com/primitives/docs/components/${titl
18701
18721
  glassmorphic ? "rounded-lg" : "",
18702
18722
  isActive ? cn(
18703
18723
  gradientClass.activeText,
18704
- glassmorphic && "bg-background shadow-sm ring-1 ring-black/[0.12] dark:ring-white/[0.06]"
18705
- ) : "text-gray-700 dark:text-gray-400"
18724
+ glassmorphic && "bg-white shadow-sm ring-1 ring-black/[0.12] dark:bg-background dark:ring-white/[0.06]"
18725
+ ) : cn(
18726
+ "text-gray-700 dark:text-gray-400",
18727
+ glassmorphic && "rounded-lg hover:bg-white/50 dark:hover:bg-white/[0.06]"
18728
+ )
18706
18729
  ),
18707
18730
  children: [
18708
18731
  loadingCategoryId === category.id && /* @__PURE__ */ jsx(
@@ -22045,18 +22068,18 @@ ${colorConfig.map(([key, itemConfig]) => {
22045
22068
  placeholder
22046
22069
  }) {
22047
22070
  return /* @__PURE__ */ jsxs("div", { className: "relative flex min-w-0 flex-1 items-center sm:flex-initial", children: [
22048
- /* @__PURE__ */ jsx(f, { className: "absolute left-2.5 h-3.5 w-3.5 text-muted-foreground/50 pointer-events-none" }),
22071
+ /* @__PURE__ */ jsx(f, { className: "absolute left-2.5 h-3.5 w-3.5 text-muted-foreground/60 pointer-events-none" }),
22049
22072
  /* @__PURE__ */ jsx(
22050
22073
  "input",
22051
22074
  {
22052
22075
  type: "text",
22053
22076
  className: cn(
22054
22077
  "h-8 w-full sm:w-52 pl-8 pr-7 rounded-xl text-xs",
22055
- "bg-background",
22056
- "border border-black/[0.08] dark:border-white/[0.08]",
22057
- "placeholder:text-muted-foreground/40",
22078
+ "border border-black/[0.08] dark:border-white/[0.06]",
22079
+ "bg-white dark:bg-background shadow-sm ring-1 ring-black/[0.08] dark:ring-white/[0.06]",
22080
+ "placeholder:text-muted-foreground/50",
22058
22081
  "focus:outline-none focus:ring-1 focus:ring-foreground/[0.1]",
22059
- "transition-all duration-150"
22082
+ "transition-all duration-150 hover:transition-none hover:ring-black/[0.12] dark:hover:ring-white/[0.1]"
22060
22083
  ),
22061
22084
  placeholder,
22062
22085
  value,
@@ -22152,13 +22175,13 @@ ${colorConfig.map(([key, itemConfig]) => {
22152
22175
  ] }),
22153
22176
  hasDateColumns && /* @__PURE__ */ jsx("div", { className: "mt-2 pt-2 border-t border-foreground/[0.06]", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2 px-1", children: [
22154
22177
  /* @__PURE__ */ jsx("span", { className: "text-[10px] font-medium uppercase tracking-wider text-muted-foreground", children: strings.dateFormat }),
22155
- /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center gap-0.5 rounded-lg bg-foreground/[0.04] p-0.5", children: [
22178
+ /* @__PURE__ */ jsxs("div", { className: "inline-flex items-center gap-0.5 rounded-lg bg-zinc-100/90 p-0.5 ring-1 ring-black/[0.06] dark:bg-foreground/[0.04] dark:ring-white/[0.06]", children: [
22156
22179
  /* @__PURE__ */ jsx(
22157
22180
  "button",
22158
22181
  {
22159
22182
  className: cn(
22160
- "px-2 py-0.5 rounded-md text-[11px] font-medium transition-colors duration-75",
22161
- dateDisplay === "relative" ? "bg-background text-foreground shadow-sm ring-1 ring-foreground/[0.06]" : "text-muted-foreground hover:text-foreground"
22183
+ "px-2 py-0.5 rounded-md text-[11px] font-medium transition-colors duration-150 hover:transition-none",
22184
+ dateDisplay === "relative" ? "bg-white text-foreground shadow-sm ring-1 ring-black/[0.12] dark:bg-background dark:ring-white/[0.06]" : "text-muted-foreground hover:text-foreground hover:bg-white/50 dark:hover:bg-white/[0.06]"
22162
22185
  ),
22163
22186
  onClick: () => onDateDisplayChange("relative"),
22164
22187
  children: strings.dateFormatRelative
@@ -22168,8 +22191,8 @@ ${colorConfig.map(([key, itemConfig]) => {
22168
22191
  "button",
22169
22192
  {
22170
22193
  className: cn(
22171
- "px-2 py-0.5 rounded-md text-[11px] font-medium transition-colors duration-75",
22172
- dateDisplay === "absolute" ? "bg-background text-foreground shadow-sm ring-1 ring-foreground/[0.06]" : "text-muted-foreground hover:text-foreground"
22194
+ "px-2 py-0.5 rounded-md text-[11px] font-medium transition-colors duration-150 hover:transition-none",
22195
+ dateDisplay === "absolute" ? "bg-white text-foreground shadow-sm ring-1 ring-black/[0.12] dark:bg-background dark:ring-white/[0.06]" : "text-muted-foreground hover:text-foreground hover:bg-white/50 dark:hover:bg-white/[0.06]"
22173
22196
  ),
22174
22197
  onClick: () => onDateDisplayChange("absolute"),
22175
22198
  children: strings.dateFormatAbsolute
@@ -22772,9 +22795,10 @@ ${colorConfig.map(([key, itemConfig]) => {
22772
22795
  "select",
22773
22796
  {
22774
22797
  className: cn(
22775
- "h-7 rounded-lg border border-black/[0.08] dark:border-white/[0.08] bg-background px-1.5",
22798
+ "h-7 rounded-lg border border-black/[0.08] dark:border-white/[0.06] px-1.5",
22799
+ "bg-white dark:bg-background shadow-sm ring-1 ring-black/[0.08] dark:ring-white/[0.06]",
22776
22800
  "text-xs text-foreground focus:outline-none focus:ring-1 focus:ring-foreground/[0.1]",
22777
- "cursor-pointer"
22801
+ "cursor-pointer transition-all duration-150 hover:transition-none hover:ring-black/[0.12] dark:hover:ring-white/[0.1]"
22778
22802
  ),
22779
22803
  value: state.pagination.pageSize,
22780
22804
  onChange: (e40) => setPageSize(Number(e40.target.value)),
@@ -22984,12 +23008,22 @@ ${colorConfig.map(([key, itemConfig]) => {
22984
23008
  const grid = gridRef.current;
22985
23009
  const scroller = scrollContainerRef.current;
22986
23010
  if (!grid) return;
22987
- const update = () => {
22988
- const w = scroller?.clientWidth ?? grid.clientWidth;
22989
- if (w > 0) setContainerWidth(w);
23011
+ const update = (entries) => {
23012
+ let measured = 0;
23013
+ if (entries != null) {
23014
+ for (const entry of entries) {
23015
+ measured = Math.max(measured, entry.contentRect.width);
23016
+ }
23017
+ }
23018
+ if (measured <= 0) {
23019
+ const scrollerWidth = scroller?.clientWidth ?? 0;
23020
+ const gridWidth = grid.clientWidth;
23021
+ measured = scrollerWidth > 0 ? scrollerWidth : gridWidth;
23022
+ }
23023
+ if (measured > 0) setContainerWidth(measured);
22990
23024
  };
22991
23025
  update();
22992
- const observer = new ResizeObserver(update);
23026
+ const observer = new ResizeObserver((entries) => update(entries));
22993
23027
  observer.observe(grid);
22994
23028
  if (scroller) observer.observe(scroller);
22995
23029
  return () => observer.disconnect();