@powerhousedao/design-system 6.2.0-dev.20 → 6.2.0-dev.21

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 (102) hide show
  1. package/dist/{command-C_iXJ_6a.d.ts → command-B5BuEBfZ.d.ts} +14 -14
  2. package/dist/{command-C_iXJ_6a.d.ts.map → command-B5BuEBfZ.d.ts.map} +1 -1
  3. package/dist/connect/components/toast/toast.d.ts.map +1 -1
  4. package/dist/connect/components/toast/toast.js +5 -5
  5. package/dist/connect/components/toast/toast.js.map +1 -1
  6. package/dist/connect/index.d.ts +2 -2
  7. package/dist/connect/index.d.ts.map +1 -1
  8. package/dist/connect/index.js +530 -530
  9. package/dist/connect/index.js.map +1 -1
  10. package/dist/{enum-field-tdsq3ox_.d.ts → enum-field-Cct-i2Uz.d.ts} +2 -2
  11. package/dist/{enum-field-tdsq3ox_.d.ts.map → enum-field-Cct-i2Uz.d.ts.map} +1 -1
  12. package/dist/id-autocomplete-list-option-CB5B07Hi.d.ts.map +1 -1
  13. package/dist/index.js +1 -1
  14. package/dist/json-viewer-DaTgmzkS.d.ts.map +1 -1
  15. package/dist/{radio-group-field-JewKPpm4.d.ts → radio-group-field-BN654-SO.d.ts} +2 -2
  16. package/dist/{radio-group-field-JewKPpm4.d.ts.map → radio-group-field-BN654-SO.d.ts.map} +1 -1
  17. package/dist/{src-BrrPQVce.js → src-CfIIbIOi.js} +11 -11
  18. package/dist/src-CfIIbIOi.js.map +1 -0
  19. package/dist/style.css +79 -16
  20. package/dist/ui/components/button/button.js +1 -1
  21. package/dist/ui/components/button/button.js.map +1 -1
  22. package/dist/ui/components/character-counter/character-counter.js +6 -6
  23. package/dist/ui/components/character-counter/character-counter.js.map +1 -1
  24. package/dist/ui/components/checkbox/checkbox-base.js +1 -1
  25. package/dist/ui/components/checkbox/checkbox-base.js.map +1 -1
  26. package/dist/ui/components/checkbox/checkbox.js +1 -1
  27. package/dist/ui/components/checkbox/checkbox.js.map +1 -1
  28. package/dist/ui/components/command/command.d.ts +1 -1
  29. package/dist/ui/components/command/command.js +5 -5
  30. package/dist/ui/components/command/command.js.map +1 -1
  31. package/dist/ui/components/enum-field/enum-field.d.ts +1 -1
  32. package/dist/ui/components/form-description/form-description.js +1 -1
  33. package/dist/ui/components/form-description/form-description.js.map +1 -1
  34. package/dist/ui/components/form-label/form-label.js +3 -3
  35. package/dist/ui/components/form-label/form-label.js.map +1 -1
  36. package/dist/ui/components/form-message/form-message.js +3 -3
  37. package/dist/ui/components/form-message/form-message.js.map +1 -1
  38. package/dist/ui/components/form-message/message-list.js +3 -3
  39. package/dist/ui/components/form-message/message-list.js.map +1 -1
  40. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +3 -3
  41. package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
  42. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +10 -10
  43. package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
  44. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js +1 -1
  45. package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
  46. package/dist/ui/components/id-autocomplete/id-autocomplete.js +1 -1
  47. package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
  48. package/dist/ui/components/index.d.ts +3 -3
  49. package/dist/ui/components/input/input.js +1 -1
  50. package/dist/ui/components/input/input.js.map +1 -1
  51. package/dist/ui/components/input/splitted-input-diff.js +2 -2
  52. package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
  53. package/dist/ui/components/input/subcomponent/input-diff.js +1 -1
  54. package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
  55. package/dist/ui/components/input/subcomponent/text-diff.js +3 -3
  56. package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
  57. package/dist/ui/components/json-viewer/json-viewer.js +6 -5
  58. package/dist/ui/components/json-viewer/json-viewer.js.map +1 -1
  59. package/dist/ui/components/popover/popover.js +1 -1
  60. package/dist/ui/components/popover/popover.js.map +1 -1
  61. package/dist/ui/components/radio-group-field/radio-group-field.d.ts +1 -1
  62. package/dist/ui/components/radio-group-field/radio.js +3 -3
  63. package/dist/ui/components/radio-group-field/radio.js.map +1 -1
  64. package/dist/ui/components/search-autocomplete/search-autocomplete.js +13 -13
  65. package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
  66. package/dist/ui/components/select-field/content.js +8 -8
  67. package/dist/ui/components/select-field/content.js.map +1 -1
  68. package/dist/ui/components/select-field/select-field.js +1 -1
  69. package/dist/ui/components/select-field/select-field.js.map +1 -1
  70. package/dist/ui/components/select-field/selected-content.js +7 -7
  71. package/dist/ui/components/select-field/selected-content.js.map +1 -1
  72. package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
  73. package/dist/ui/components/select-field/subcomponents/CommandItemList.js +9 -9
  74. package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
  75. package/dist/ui/components/sidebar/sidebar.js +5 -5
  76. package/dist/ui/components/sidebar/sidebar.js.map +1 -1
  77. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +1 -1
  78. package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -1
  79. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js +3 -3
  80. package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -1
  81. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +7 -7
  82. package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -1
  83. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js +1 -1
  84. package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -1
  85. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js +1 -1
  86. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -1
  87. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js +4 -4
  88. package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -1
  89. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +5 -5
  90. package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -1
  91. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +2 -2
  92. package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -1
  93. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts +1 -1
  94. package/dist/ui/components/sidebar/subcomponents/status-icon.d.ts.map +1 -1
  95. package/dist/ui/components/sidebar/subcomponents/status-icon.js +6 -6
  96. package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -1
  97. package/dist/ui/components/tooltip/tooltip.js +1 -1
  98. package/dist/ui/components/tooltip/tooltip.js.map +1 -1
  99. package/dist/ui/index.d.ts +3 -3
  100. package/package.json +4 -4
  101. package/theme.css +145 -17
  102. package/dist/src-BrrPQVce.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import { _ as DropdownMenuTrigger, c as SidebarHeader, d as PackageAnimation, f as Modal, h as DropdownMenuItem, l as SidebarPanel, m as DropdownMenuContent, n as usePagination, o as Sidebar, p as DropdownMenu, s as SidebarFooter, u as Pagination, v as PowerhouseButton } from "../src-BrrPQVce.js";
1
+ import { _ as DropdownMenuTrigger, c as SidebarHeader, d as PackageAnimation, f as Modal, h as DropdownMenuItem, l as SidebarPanel, m as DropdownMenuContent, n as usePagination, o as Sidebar, p as DropdownMenu, s as SidebarFooter, u as Pagination, v as PowerhouseButton } from "../src-CfIIbIOi.js";
2
2
  import { n as getDimensions, t as Icon } from "../icon-C4QOpsdI.js";
3
3
  import { Popover, PopoverContent, PopoverTrigger } from "../ui/components/popover/popover.js";
4
4
  import { SelectFieldRaw } from "../ui/components/select-field/select-field.js";
@@ -133,14 +133,14 @@ function Breadcrumbs() {
133
133
  const hasSelectedDrive = !!selectedDrive;
134
134
  const hasNodePath = !!selectedNodePath.length;
135
135
  return /* @__PURE__ */ jsxs("div", {
136
- className: "flex h-9 flex-row items-center gap-2 p-6 text-gray-500 dark:text-slate-400",
136
+ className: "flex h-9 flex-row items-center gap-2 p-6 text-muted-foreground",
137
137
  children: [
138
138
  hasSelectedDrive && /* @__PURE__ */ jsxs(Fragment$1, { children: [
139
139
  /* @__PURE__ */ jsx("button", {
140
140
  type: "button",
141
141
  "aria-label": "Back to home",
142
142
  title: "Back to home",
143
- className: "flex items-center justify-center rounded-md p-1 text-gray-700 transition-colors hover:bg-gray-100 hover:text-gray-800 dark:text-slate-200 dark:hover:bg-slate-700 dark:hover:text-slate-100",
143
+ className: "flex items-center justify-center rounded-md p-1 text-foreground transition-colors hover:hover-effect",
144
144
  onClick: () => setSelectedDrive(void 0),
145
145
  children: /* @__PURE__ */ jsx(Icon, {
146
146
  name: "ArrowLeft",
@@ -162,14 +162,14 @@ function Breadcrumbs() {
162
162
  onClick: () => setSelectedNode(node)
163
163
  }), /* @__PURE__ */ jsx("span", { children: "/" })] }, node.id)),
164
164
  isAllowedToCreateDocuments && (isCreating ? /* @__PURE__ */ jsx(NodeInput, {
165
- className: "text-gray-900 dark:text-slate-100",
165
+ className: "text-foreground",
166
166
  defaultValue: "New Folder",
167
167
  onCancel,
168
168
  onSubmit,
169
169
  placeholder: "New Folder"
170
170
  }) : /* @__PURE__ */ jsxs("button", {
171
171
  type: "button",
172
- className: "ml-1 flex items-center justify-center gap-2 rounded-md bg-gray-50 px-2 py-1.5 text-gray-700 transition-colors hover:bg-gray-200 hover:text-gray-800 dark:bg-slate-800 dark:text-slate-200 dark:hover:bg-slate-600 dark:hover:text-slate-100",
172
+ className: "ml-1 flex items-center justify-center gap-2 rounded-md bg-background px-2 py-1.5 text-foreground transition-colors hover:hover-effect",
173
173
  onClick: onAddNew,
174
174
  children: [/* @__PURE__ */ jsx(Icon, {
175
175
  name: "Plus",
@@ -186,7 +186,7 @@ function Breadcrumb(props) {
186
186
  parentId: parentId ?? void 0
187
187
  });
188
188
  const { isDropTarget, ...dropProps } = useDropNode(id);
189
- const containerStyles = twMerge("cursor-pointer transition-colors last-of-type:text-gray-800 hover:text-gray-800 dark:text-slate-200 last-of-type:dark:text-slate-100 dark:hover:text-slate-100", isDragging ? "opacity-60" : isDropTarget ? "bg-blue-100 dark:bg-blue-800" : "");
189
+ const containerStyles = twMerge("cursor-pointer transition-colors last-of-type:text-foreground hover:hover-effect", isDragging ? "opacity-60" : isDropTarget ? "bg-info/10" : "");
190
190
  return /* @__PURE__ */ jsx("div", {
191
191
  ...dragProps,
192
192
  ...dropProps,
@@ -222,7 +222,7 @@ function MenuList(props) {
222
222
  return /* @__PURE__ */ jsxs(components.MenuList, {
223
223
  ...rest,
224
224
  children: [props.children, hasAddItemButton ? /* @__PURE__ */ jsx("button", {
225
- className: "w-full px-2 py-3 hover:bg-gray-50 dark:hover:bg-slate-800",
225
+ className: "w-full px-2 py-3 hover:hover-effect",
226
226
  onClick,
227
227
  children: label
228
228
  }) : null]
@@ -243,7 +243,7 @@ function Combobox(props) {
243
243
  ...addItemButtonProps
244
244
  })
245
245
  },
246
- classNames: { menuList: () => "scrollbar-thin scrollbar-track-transparent scrollbar-thumb-rounded-md scrollbar-thumb-gray-300 dark:scrollbar-thumb-slate-600" },
246
+ classNames: { menuList: () => "scrollbar-thin scrollbar-track-transparent scrollbar-thumb-rounded-md scrollbar-thumb-border" },
247
247
  styles: {
248
248
  dropdownIndicator: () => {
249
249
  return {
@@ -271,7 +271,7 @@ function Combobox(props) {
271
271
  placeholder: (baseStyles) => {
272
272
  return {
273
273
  ...baseStyles,
274
- color: invalid ? dark ? "var(--color-red-400)" : "var(--color-red-800)" : dark ? "var(--color-slate-100)" : "var(--color-gray-500)"
274
+ color: invalid ? dark ? "var(--color-red-400)" : "var(--color-red-900)" : dark ? "var(--color-slate-100)" : "var(--color-gray-500)"
275
275
  };
276
276
  },
277
277
  control: () => {
@@ -360,12 +360,12 @@ const CookieBanner = (props) => {
360
360
  className: "cursor-pointer",
361
361
  children: [/* @__PURE__ */ jsx("input", {
362
362
  checked: cookie.value,
363
- className: "mr-1 size-3 cursor-pointer rounded-sm border-2 border-gray-900 accent-gray-900 focus:outline-none dark:border-slate-50",
363
+ className: "mr-1 size-3 cursor-pointer rounded-sm border-2 border-foreground accent-primary focus:outline-none",
364
364
  id: cookie.id,
365
365
  onChange: handleOnChange,
366
366
  type: "checkbox"
367
367
  }), /* @__PURE__ */ jsx("label", {
368
- className: "cursor-pointer text-gray-900 select-none dark:text-slate-50",
368
+ className: "cursor-pointer text-foreground select-none",
369
369
  htmlFor: cookie.id,
370
370
  children: cookie.label
371
371
  })]
@@ -391,11 +391,11 @@ const CookieBanner = (props) => {
391
391
  };
392
392
  //#endregion
393
393
  //#region src/connect/components/modal/modal-button.tsx
394
- const defaultStyle = "min-h-12 min-w-35.5 flex-1 transform place-items-center rounded-xl px-6 py-3 text-base font-semibold transition-all outline-none hover:scale-105 active:opacity-75 disabled:cursor-not-allowed disabled:hover:scale-none";
394
+ const defaultStyle = "min-h-12 min-w-35.5 flex-1 transform place-items-center rounded-xl px-6 py-3 text-base font-semibold transition-all outline-none hover:hover-effect active:active-effect disabled:disabled-effect";
395
395
  function ModalButton(props) {
396
396
  const { variant, className, ...rest } = props;
397
- const confirmStyle = twMerge(defaultStyle, "bg-gray-800 text-gray-50 dark:bg-slate-100 dark:text-slate-900");
398
- const cancelStyle = twMerge(defaultStyle, "bg-gray-400 text-gray-50 dark:bg-slate-400 dark:text-slate-900");
397
+ const confirmStyle = twMerge(defaultStyle, "bg-primary text-primary-foreground");
398
+ const cancelStyle = twMerge(defaultStyle, "bg-muted text-muted-foreground");
399
399
  return /* @__PURE__ */ jsx("button", {
400
400
  className: twMerge(variant === "confirm" ? confirmStyle : cancelStyle, className),
401
401
  ...rest
@@ -414,11 +414,11 @@ function ConnectConfirmationModal(props) {
414
414
  className: "w-[400px] p-6",
415
415
  children: [
416
416
  /* @__PURE__ */ jsx("div", {
417
- className: "pb-2 text-2xl font-bold text-gray-900 dark:text-slate-100",
417
+ className: "pb-2 text-2xl font-bold text-foreground",
418
418
  children: header
419
419
  }),
420
420
  /* @__PURE__ */ jsx("div", {
421
- className: "my-6 rounded-md bg-gray-50 p-4 text-center text-gray-900 dark:bg-slate-700 dark:text-slate-100",
421
+ className: "my-6 rounded-md bg-background p-4 text-center text-foreground",
422
422
  children: body
423
423
  }),
424
424
  /* @__PURE__ */ jsxs("div", {
@@ -447,12 +447,12 @@ function TreeItem({ label, depth, expanded, selected, hasChildren, icon, onToggl
447
447
  onToggle?.();
448
448
  };
449
449
  return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
450
- className: twMerge("flex cursor-pointer items-center gap-1 py-1 pr-2 text-sm hover:bg-gray-100 dark:hover:bg-slate-700", selected && "bg-blue-50 dark:bg-blue-900"),
450
+ className: twMerge("flex cursor-pointer items-center gap-1 py-1 pr-2 text-sm hover:hover-effect", selected && "bg-info/10"),
451
451
  style: { paddingLeft: depth * INDENT_PX + 4 },
452
452
  onClick,
453
453
  children: [
454
454
  hasChildren ? /* @__PURE__ */ jsx("button", {
455
- className: "flex size-4 shrink-0 items-center justify-center text-gray-500 hover:text-gray-700 dark:text-slate-200 dark:hover:text-slate-100",
455
+ className: "flex size-4 shrink-0 items-center justify-center text-muted-foreground hover:hover-effect",
456
456
  onClick: handleChevronClick,
457
457
  type: "button",
458
458
  children: /* @__PURE__ */ jsx(Icon, {
@@ -462,21 +462,21 @@ function TreeItem({ label, depth, expanded, selected, hasChildren, icon, onToggl
462
462
  })
463
463
  }) : /* @__PURE__ */ jsx("span", { className: "w-4 shrink-0" }),
464
464
  icon && /* @__PURE__ */ jsx("span", {
465
- className: "shrink-0 text-gray-500 dark:text-slate-400",
465
+ className: "shrink-0 text-muted-foreground",
466
466
  children: icon
467
467
  }),
468
468
  /* @__PURE__ */ jsx("span", {
469
- className: "min-w-0 flex-1 truncate text-gray-700 dark:text-slate-200",
469
+ className: "min-w-0 flex-1 truncate text-foreground",
470
470
  children: label
471
471
  }),
472
- selected && /* @__PURE__ */ jsx("span", { className: "ml-auto size-2 shrink-0 rounded-full bg-blue-500 dark:bg-blue-400" })
472
+ selected && /* @__PURE__ */ jsx("span", { className: "ml-auto size-2 shrink-0 rounded-full bg-info" })
473
473
  ]
474
474
  }), expanded && children] });
475
475
  }
476
476
  function ColumnItem({ column, depth }) {
477
477
  const typeLabel = column.dataType.length > 10 ? column.dataType.slice(0, 10) + "…" : column.dataType;
478
478
  return /* @__PURE__ */ jsxs("div", {
479
- className: "flex items-center gap-1 py-0.5 pr-2 text-xs text-gray-500 dark:text-slate-200",
479
+ className: "flex items-center gap-1 py-0.5 pr-2 text-xs text-muted-foreground",
480
480
  style: { paddingLeft: depth * INDENT_PX + 4 },
481
481
  children: [
482
482
  /* @__PURE__ */ jsx("span", { className: "w-4 shrink-0" }),
@@ -485,7 +485,7 @@ function ColumnItem({ column, depth }) {
485
485
  children: column.name
486
486
  }),
487
487
  /* @__PURE__ */ jsxs("span", {
488
- className: "ml-auto shrink-0 text-gray-400 dark:text-slate-200",
488
+ className: "ml-auto shrink-0 text-muted-foreground",
489
489
  children: [
490
490
  "(",
491
491
  typeLabel,
@@ -531,7 +531,7 @@ function SchemaTreeSidebar({ schema, tables, selectedTable, onSelectTable, onRef
531
531
  className: "truncate",
532
532
  children: schema
533
533
  }), onRefresh && /* @__PURE__ */ jsx("button", {
534
- className: "ml-auto p-0.5 text-gray-400 hover:text-gray-600 dark:text-slate-200 dark:hover:text-slate-100",
534
+ className: "ml-auto p-0.5 text-muted-foreground hover:hover-effect",
535
535
  onClick: handleRefreshClick,
536
536
  type: "button",
537
537
  disabled: loading,
@@ -587,12 +587,12 @@ const ConnectSelect = /* @__PURE__ */ fixedForwardRef(function Select(props, ref
587
587
  }
588
588
  const itemsToShow = items.filter((item) => item.value !== value);
589
589
  return /* @__PURE__ */ jsxs("div", {
590
- className: twMerge("border border-gray-200 bg-gray-50 text-gray-900 transition-[border-radius] dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", absolutePositionMenu && "relative", containerClassName),
590
+ className: twMerge("border border-border bg-background text-foreground transition-[border-radius]", absolutePositionMenu && "relative", containerClassName),
591
591
  "data-open": showItems,
592
592
  ref,
593
593
  style: { borderRadius },
594
594
  children: [/* @__PURE__ */ jsxs("div", {
595
- className: twMerge("flex min-w-[360px] cursor-pointer items-center justify-between pr-3 text-gray-900 outline-none dark:text-slate-100", menuClassName),
595
+ className: twMerge("flex min-w-[360px] cursor-pointer items-center justify-between pr-3 text-foreground outline-none", menuClassName),
596
596
  id,
597
597
  onClick: () => setShowItems(!showItems),
598
598
  children: [/* @__PURE__ */ jsx(ItemContainer, {
@@ -616,13 +616,13 @@ const ConnectSelect = /* @__PURE__ */ fixedForwardRef(function Select(props, ref
616
616
  function ItemContainer(props) {
617
617
  const { className, disabled, onItemClick, icon, displayValue, value, description } = props;
618
618
  return /* @__PURE__ */ jsxs("div", {
619
- className: twMerge(disabled ? "cursor-not-allowed text-gray-500 dark:text-slate-400" : "text-gray-900 dark:text-slate-100", "flex size-full cursor-pointer items-center gap-2 bg-inherit py-3 pl-3 text-start outline-none", className),
619
+ className: twMerge(disabled ? "cursor-not-allowed text-muted-foreground" : "text-foreground", "flex size-full cursor-pointer items-center gap-2 bg-inherit py-3 pl-3 text-start outline-none", className),
620
620
  onClick: onItemClick,
621
621
  children: [icon, /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
622
622
  className: "text-inherit capitalize",
623
623
  children: displayValue ?? value.toLowerCase()
624
624
  }), /* @__PURE__ */ jsx("p", {
625
- className: "text-xs text-gray-700 dark:text-slate-200",
625
+ className: "text-xs text-foreground",
626
626
  children: description
627
627
  })] })]
628
628
  });
@@ -715,7 +715,7 @@ function FilterClauseComponent({ clause, columns, onUpdate, onRemove, showConnec
715
715
  id: `connector-${clause.id}`,
716
716
  items: connectorItems,
717
717
  itemClassName: "px-2 py-1 text-xs",
718
- menuClassName: "px-2 py-1 text-xs min-w-[80px]",
718
+ menuClassName: "min-w-[80px] px-2 py-1 text-xs",
719
719
  value: connector,
720
720
  onChange: onConnectorChange
721
721
  }),
@@ -726,7 +726,7 @@ function FilterClauseComponent({ clause, columns, onUpdate, onRemove, showConnec
726
726
  id: `column-${clause.id}`,
727
727
  items: columnItems,
728
728
  itemClassName: "px-2 py-1 text-xs",
729
- menuClassName: "px-2 py-1 text-xs min-w-[150px]",
729
+ menuClassName: "min-w-[150px] px-2 py-1 text-xs",
730
730
  value: clause.column,
731
731
  onChange: handleColumnChange
732
732
  }),
@@ -737,18 +737,18 @@ function FilterClauseComponent({ clause, columns, onUpdate, onRemove, showConnec
737
737
  id: `operator-${clause.id}`,
738
738
  items: operatorItems,
739
739
  itemClassName: "px-2 py-1 text-xs",
740
- menuClassName: "px-2 py-1 text-xs min-w-[100px]",
740
+ menuClassName: "min-w-[100px] px-2 py-1 text-xs",
741
741
  value: clause.operator,
742
742
  onChange: handleOperatorChange
743
743
  }),
744
744
  showValueInput && /* @__PURE__ */ jsx("input", {
745
- className: "min-w-[150px] rounded-sm border border-gray-300 bg-gray-50 px-2 py-1 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
745
+ className: "min-w-[150px] rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground",
746
746
  type: inputType,
747
747
  value: clause.value,
748
748
  onChange: (e) => handleValueChange(e.target.value)
749
749
  }),
750
750
  /* @__PURE__ */ jsx("button", {
751
- className: "flex items-center justify-center rounded-sm p-1 text-gray-500 hover:bg-gray-200 hover:text-gray-700 dark:text-slate-400 dark:hover:bg-slate-600 dark:hover:text-slate-100",
751
+ className: "flex items-center justify-center rounded-sm p-1 text-muted-foreground hover:hover-effect",
752
752
  onClick: onRemove,
753
753
  title: "Remove filter",
754
754
  type: "button",
@@ -813,11 +813,11 @@ function FilterBar({ columns, filters, onFiltersChange }) {
813
813
  }, [filters, onFiltersChange]);
814
814
  const hasFilters = filters && filters.clauses.length > 0;
815
815
  return /* @__PURE__ */ jsxs("div", {
816
- className: "flex shrink-0 flex-col gap-2 rounded-lg border border-gray-300 bg-gray-50 p-2 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
816
+ className: "flex shrink-0 flex-col gap-2 rounded-lg border border-border bg-background p-2",
817
817
  children: [/* @__PURE__ */ jsxs("div", {
818
818
  className: "flex items-center justify-between",
819
819
  children: [/* @__PURE__ */ jsxs("button", {
820
- className: "flex items-center gap-1 text-xs text-gray-700 hover:text-gray-900 dark:text-slate-200 dark:hover:text-slate-50",
820
+ className: "flex items-center gap-1 text-xs text-foreground hover:hover-effect",
821
821
  onClick: () => setIsExpanded(!isExpanded),
822
822
  type: "button",
823
823
  children: [
@@ -828,12 +828,12 @@ function FilterBar({ columns, filters, onFiltersChange }) {
828
828
  }),
829
829
  /* @__PURE__ */ jsx("span", { children: "Filters" }),
830
830
  hasFilters && /* @__PURE__ */ jsx("span", {
831
- className: "rounded-sm bg-blue-100 px-1.5 py-0.5 text-xs text-blue-700 dark:bg-blue-800 dark:text-blue-100",
831
+ className: "rounded-sm bg-info/10 px-1.5 py-0.5 text-xs text-info",
832
832
  children: filters.clauses.length
833
833
  })
834
834
  ]
835
835
  }), /* @__PURE__ */ jsxs("button", {
836
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-2 py-1 text-xs text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
836
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect",
837
837
  onClick: handleAddFilter,
838
838
  type: "button",
839
839
  children: [/* @__PURE__ */ jsx(Icon, {
@@ -955,10 +955,10 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
955
955
  children: [/* @__PURE__ */ jsxs("div", {
956
956
  className: "flex items-center gap-2",
957
957
  children: [/* @__PURE__ */ jsx("span", {
958
- className: "text-gray-700 dark:text-slate-200",
958
+ className: "text-foreground",
959
959
  children: loading ? "Loading..." : total !== null ? `Showing ${startItem.toLocaleString()}-${endItem.toLocaleString()} of ${total.toLocaleString()}` : `Showing ${rows.length.toLocaleString()} rows`
960
960
  }), rows.length > 0 && /* @__PURE__ */ jsxs("button", {
961
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-2 py-1 text-xs text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
961
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect disabled:disabled-effect",
962
962
  disabled: loading || copying,
963
963
  onClick: () => void handleCopyAll(),
964
964
  title: "Copy all rows as CSV",
@@ -972,14 +972,14 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
972
972
  className: "flex gap-1",
973
973
  children: [
974
974
  /* @__PURE__ */ jsx("button", {
975
- className: "rounded-sm border border-gray-300 bg-gray-50 px-2 py-1 text-xs text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
975
+ className: "rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect disabled:disabled-effect",
976
976
  disabled: currentPage === 0,
977
977
  onClick: () => goToPage(0),
978
978
  type: "button",
979
979
  children: "First"
980
980
  }),
981
981
  /* @__PURE__ */ jsx("button", {
982
- className: "rounded-sm border border-gray-300 bg-gray-50 px-2 py-1 text-xs text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
982
+ className: "rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect disabled:disabled-effect",
983
983
  disabled: currentPage === 0,
984
984
  onClick: () => goToPage(currentPage - 1),
985
985
  type: "button",
@@ -990,21 +990,21 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
990
990
  })
991
991
  }),
992
992
  visiblePages[0] > 0 && /* @__PURE__ */ jsx("span", {
993
- className: "flex items-center px-1 text-xs text-gray-500 dark:text-slate-400",
993
+ className: "flex items-center px-1 text-xs text-muted-foreground",
994
994
  children: "..."
995
995
  }),
996
996
  visiblePages.map((page) => /* @__PURE__ */ jsx("button", {
997
- className: twMerge("min-w-8 rounded-sm border px-2 py-1 text-xs", page === currentPage ? "border-blue-500 bg-blue-50 text-blue-700 dark:border-blue-400 dark:bg-blue-900 dark:text-blue-100" : "border-gray-300 bg-gray-50 text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700"),
997
+ className: twMerge("min-w-8 rounded-sm border px-2 py-1 text-xs", page === currentPage ? "border-info bg-info/10 text-info" : "border-border bg-background text-foreground hover:hover-effect"),
998
998
  onClick: () => goToPage(page),
999
999
  type: "button",
1000
1000
  children: page + 1
1001
1001
  }, page)),
1002
1002
  visiblePages[visiblePages.length - 1] < totalPages - 1 && /* @__PURE__ */ jsx("span", {
1003
- className: "flex items-center px-1 text-xs text-gray-500 dark:text-slate-400",
1003
+ className: "flex items-center px-1 text-xs text-muted-foreground",
1004
1004
  children: "..."
1005
1005
  }),
1006
1006
  /* @__PURE__ */ jsx("button", {
1007
- className: "rounded-sm border border-gray-300 bg-gray-50 px-2 py-1 text-xs text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
1007
+ className: "rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect disabled:disabled-effect",
1008
1008
  disabled: currentPage >= totalPages - 1,
1009
1009
  onClick: () => goToPage(currentPage + 1),
1010
1010
  type: "button",
@@ -1015,7 +1015,7 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
1015
1015
  })
1016
1016
  }),
1017
1017
  /* @__PURE__ */ jsx("button", {
1018
- className: "rounded-sm border border-gray-300 bg-gray-50 px-2 py-1 text-xs text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
1018
+ className: "rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect disabled:disabled-effect",
1019
1019
  disabled: currentPage >= totalPages - 1,
1020
1020
  onClick: () => goToPage(totalPages - 1),
1021
1021
  type: "button",
@@ -1025,13 +1025,13 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
1025
1025
  })]
1026
1026
  }),
1027
1027
  /* @__PURE__ */ jsx("div", {
1028
- className: twMerge("max-h-full overflow-auto rounded-lg border border-gray-300 transition-opacity dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", "scrollbar-thin scrollbar-thumb-rounded-md scrollbar-track-transparent", "scrollbar-thumb-gray-300 dark:scrollbar-thumb-slate-600", loading && "pointer-events-none opacity-50"),
1028
+ className: twMerge("max-h-full overflow-auto rounded-lg border border-border transition-opacity", "scrollbar-thin scrollbar-thumb-rounded-md scrollbar-track-transparent", "scrollbar-thumb-border", loading && "pointer-events-none opacity-50"),
1029
1029
  children: /* @__PURE__ */ jsxs("table", {
1030
1030
  className: "w-full border-collapse",
1031
1031
  children: [/* @__PURE__ */ jsx("thead", {
1032
- className: "sticky top-0 bg-gray-100 dark:bg-slate-700",
1032
+ className: "sticky top-0 bg-muted",
1033
1033
  children: /* @__PURE__ */ jsxs("tr", { children: [/* @__PURE__ */ jsx("th", {
1034
- className: "w-12 p-2 text-center text-xs font-medium text-gray-700 dark:text-slate-200",
1034
+ className: "w-12 p-2 text-center text-xs font-medium text-foreground",
1035
1035
  children: /* @__PURE__ */ jsx("span", {
1036
1036
  className: "sr-only",
1037
1037
  children: "Copy"
@@ -1040,7 +1040,7 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
1040
1040
  const isActive = currentSort?.column === column.name;
1041
1041
  const sortDirection = isActive ? currentSort.direction : "asc";
1042
1042
  return /* @__PURE__ */ jsx("th", {
1043
- className: twMerge("group px-3 py-2 text-left text-xs font-medium text-gray-700 dark:text-slate-200", index > 0 && "border-l border-gray-300 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", onSort && "cursor-pointer hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-slate-600 dark:hover:text-slate-100"),
1043
+ className: twMerge("group px-3 py-2 text-left text-xs font-medium text-foreground", index > 0 && "border-l border-border", onSort && "cursor-pointer hover:hover-effect"),
1044
1044
  onClick: () => onSort && handleSort(column.name),
1045
1045
  children: /* @__PURE__ */ jsxs("div", {
1046
1046
  className: "flex items-center gap-1",
@@ -1055,15 +1055,15 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
1055
1055
  }, column.name);
1056
1056
  })] })
1057
1057
  }), /* @__PURE__ */ jsx("tbody", { children: rows.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
1058
- className: "px-3 py-8 text-center text-sm text-gray-500 dark:text-slate-400",
1058
+ className: "px-3 py-8 text-center text-sm text-muted-foreground",
1059
1059
  colSpan: columns.length + 1,
1060
1060
  children: "No data"
1061
1061
  }) }) : rows.map((row, rowIndex) => /* @__PURE__ */ jsxs("tr", {
1062
- className: "odd:bg-white even:bg-gray-50 hover:bg-blue-50 dark:odd:bg-slate-800 dark:even:bg-slate-800 dark:hover:bg-blue-900",
1062
+ className: "odd:bg-card even:bg-background hover:hover-effect",
1063
1063
  children: [/* @__PURE__ */ jsx("td", {
1064
1064
  className: "p-2 text-center",
1065
1065
  children: /* @__PURE__ */ jsx("button", {
1066
- className: "flex items-center justify-center rounded-sm p-1 text-gray-500 hover:bg-gray-200 hover:text-gray-700 dark:text-slate-400 dark:hover:bg-slate-600 dark:hover:text-slate-100",
1066
+ className: "flex items-center justify-center rounded-sm p-1 text-muted-foreground hover:hover-effect",
1067
1067
  onClick: () => void handleCopyRow(rowIndex),
1068
1068
  title: "Copy row as CSV",
1069
1069
  type: "button",
@@ -1073,9 +1073,9 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
1073
1073
  })
1074
1074
  })
1075
1075
  }), columns.map((column, colIndex) => /* @__PURE__ */ jsx("td", {
1076
- className: twMerge("px-3 py-2 text-xs text-gray-900 dark:text-slate-50", colIndex > 0 && "border-l border-gray-300 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100"),
1076
+ className: twMerge("px-3 py-2 text-xs text-foreground", colIndex > 0 && "border-l border-border"),
1077
1077
  children: /* @__PURE__ */ jsx("span", {
1078
- className: twMerge("block truncate", row[column.name] === null && "text-gray-400 italic dark:text-slate-500"),
1078
+ className: twMerge("block truncate", row[column.name] === null && "text-muted-foreground italic"),
1079
1079
  title: formatCellValue(row[column.name]),
1080
1080
  children: formatCellValue(row[column.name])
1081
1081
  })
@@ -1276,7 +1276,7 @@ function DBExplorer({ schema, getTables, getTableRows, getDefaultSort, pageSize
1276
1276
  onContinue: () => void handleResetConfirm()
1277
1277
  }),
1278
1278
  /* @__PURE__ */ jsxs("div", {
1279
- className: "flex w-64 shrink-0 flex-col border-r border-gray-200 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
1279
+ className: "flex w-64 shrink-0 flex-col border-r border-border",
1280
1280
  children: [/* @__PURE__ */ jsx("div", {
1281
1281
  className: "flex-1 overflow-auto",
1282
1282
  children: /* @__PURE__ */ jsx(SchemaTreeSidebar, {
@@ -1288,30 +1288,30 @@ function DBExplorer({ schema, getTables, getTableRows, getDefaultSort, pageSize
1288
1288
  loading: tablesLoading || loading
1289
1289
  })
1290
1290
  }), (onImportDb || onExportDb || pgVersionControl) && /* @__PURE__ */ jsxs("div", {
1291
- className: "flex shrink-0 flex-col gap-2 border-t border-gray-200 p-2 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
1291
+ className: "flex shrink-0 flex-col gap-2 border-t border-border p-2",
1292
1292
  children: [
1293
1293
  onImportDb && /* @__PURE__ */ jsx("button", {
1294
- className: "rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
1294
+ className: "rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
1295
1295
  onClick: handleImportClick,
1296
1296
  type: "button",
1297
1297
  children: "Import DB"
1298
1298
  }),
1299
1299
  onExportDb && /* @__PURE__ */ jsx("button", {
1300
- className: "rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
1300
+ className: "rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
1301
1301
  onClick: handleExportClick,
1302
1302
  type: "button",
1303
1303
  children: "Export DB"
1304
1304
  }),
1305
1305
  pgVersionControl && /* @__PURE__ */ jsxs("div", {
1306
- className: "flex flex-col gap-1 border-t border-gray-200 pt-2 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
1306
+ className: "flex flex-col gap-1 border-t border-border pt-2",
1307
1307
  children: [/* @__PURE__ */ jsxs("div", {
1308
- className: "flex items-center justify-between text-xs text-gray-700 dark:text-slate-200",
1308
+ className: "flex items-center justify-between text-xs text-foreground",
1309
1309
  children: [/* @__PURE__ */ jsx("span", { children: "Postgres version" }), /* @__PURE__ */ jsx("span", {
1310
- className: "font-semibold text-gray-900 dark:text-slate-50",
1310
+ className: "font-semibold text-foreground",
1311
1311
  children: pgVersionControl.currentPgVersion === null ? "—" : `PG${pgVersionControl.currentPgVersion}`
1312
1312
  })]
1313
1313
  }), resetTargetMajor !== null && /* @__PURE__ */ jsx("button", {
1314
- className: "rounded-sm border border-red-300 bg-red-50 px-3 py-1.5 text-sm text-red-700 hover:bg-red-100 disabled:opacity-50 dark:border-red-600 dark:bg-red-900 dark:text-red-100 dark:hover:bg-red-800",
1314
+ className: "rounded-sm border border-destructive bg-destructive/10 px-3 py-1.5 text-sm text-destructive hover:hover-effect disabled:disabled-effect",
1315
1315
  onClick: () => setPendingResetMajor(resetTargetMajor),
1316
1316
  disabled: resetting,
1317
1317
  type: "button",
@@ -1324,10 +1324,10 @@ function DBExplorer({ schema, getTables, getTableRows, getDefaultSort, pageSize
1324
1324
  /* @__PURE__ */ jsx("div", {
1325
1325
  className: "flex-1 overflow-auto p-4",
1326
1326
  children: !selectedTable ? /* @__PURE__ */ jsx("div", {
1327
- className: "text-sm text-gray-500 dark:text-slate-400",
1327
+ className: "text-sm text-muted-foreground",
1328
1328
  children: "Select a table to view data"
1329
1329
  }) : !tableData && loading ? /* @__PURE__ */ jsx("div", {
1330
- className: "text-sm text-gray-500 dark:text-slate-400",
1330
+ className: "text-sm text-muted-foreground",
1331
1331
  children: "Loading..."
1332
1332
  }) : tableData ? /* @__PURE__ */ jsx(TableView, {
1333
1333
  columns,
@@ -1377,20 +1377,20 @@ function DebugInspector({ supportedPgVersions, currentPgVersion, onResetToPgVers
1377
1377
  children: [
1378
1378
  /* @__PURE__ */ jsxs("div", { children: [
1379
1379
  /* @__PURE__ */ jsx("h2", {
1380
- className: "text-lg font-semibold text-gray-900 dark:text-slate-50",
1380
+ className: "text-lg font-semibold text-foreground",
1381
1381
  children: "PGlite data dir"
1382
1382
  }),
1383
1383
  /* @__PURE__ */ jsx("p", {
1384
- className: "mt-1 text-sm text-gray-700 dark:text-slate-200",
1384
+ className: "mt-1 text-sm text-foreground",
1385
1385
  children: "Kill the reactor, delete the local IndexedDB, initialize a fresh Postgres cluster at the chosen major version, then reload. Useful for testing version-detection and migration flows."
1386
1386
  }),
1387
1387
  /* @__PURE__ */ jsxs("div", {
1388
- className: "mt-2 inline-flex items-center gap-2 rounded-sm bg-gray-100 px-3 py-1 text-sm dark:bg-slate-700",
1388
+ className: "mt-2 inline-flex items-center gap-2 rounded-sm bg-muted px-3 py-1 text-sm",
1389
1389
  children: [/* @__PURE__ */ jsx("span", {
1390
- className: "text-gray-700 dark:text-slate-200",
1390
+ className: "text-foreground",
1391
1391
  children: "Current version:"
1392
1392
  }), /* @__PURE__ */ jsx("span", {
1393
- className: "font-semibold text-gray-900 dark:text-slate-50",
1393
+ className: "font-semibold text-foreground",
1394
1394
  children: currentPgVersion === null ? "None (no data dir)" : `Postgres ${currentPgVersion}`
1395
1395
  })]
1396
1396
  })
@@ -1402,16 +1402,16 @@ function DebugInspector({ supportedPgVersions, currentPgVersion, onResetToPgVers
1402
1402
  type: "button",
1403
1403
  disabled: running,
1404
1404
  onClick: () => setConfirmMajor(major),
1405
- className: "flex items-center gap-1 rounded-sm border border-red-300 bg-red-50 px-3 py-1.5 text-sm text-red-700 hover:bg-red-100 disabled:opacity-50 dark:border-red-600 dark:bg-red-900 dark:text-red-100 dark:hover:bg-red-800",
1405
+ className: "flex items-center gap-1 rounded-sm border border-destructive bg-destructive/10 px-3 py-1.5 text-sm text-destructive hover:hover-effect disabled:disabled-effect",
1406
1406
  children: pendingMajor === major && running ? `Resetting to PG${major}…` : `Reset to PG${major}`
1407
1407
  }, major);
1408
1408
  })
1409
1409
  }),
1410
1410
  confirmMajor !== null && /* @__PURE__ */ jsxs("div", {
1411
- className: "flex shrink-0 items-center gap-3 rounded-sm border border-yellow-400 bg-yellow-50 px-3 py-2 dark:border-yellow-500 dark:bg-yellow-900",
1411
+ className: "flex shrink-0 items-center gap-3 rounded-sm border border-warning bg-warning/10 px-3 py-2",
1412
1412
  children: [
1413
1413
  /* @__PURE__ */ jsxs("span", {
1414
- className: "text-sm text-yellow-900 dark:text-yellow-100",
1414
+ className: "text-sm text-warning",
1415
1415
  children: [
1416
1416
  "This will permanently delete all local reactor data and recreate an empty database under Postgres ",
1417
1417
  confirmMajor,
@@ -1421,19 +1421,19 @@ function DebugInspector({ supportedPgVersions, currentPgVersion, onResetToPgVers
1421
1421
  /* @__PURE__ */ jsxs("button", {
1422
1422
  type: "button",
1423
1423
  onClick: () => void handleReset(confirmMajor),
1424
- className: "rounded-sm bg-yellow-600 px-3 py-1 text-sm text-white hover:bg-yellow-700 dark:bg-yellow-300 dark:text-slate-900 dark:hover:bg-yellow-200",
1424
+ className: "rounded-sm bg-warning px-3 py-1 text-sm text-warning-foreground hover:hover-effect",
1425
1425
  children: ["Confirm reset to PG", confirmMajor]
1426
1426
  }),
1427
1427
  /* @__PURE__ */ jsx("button", {
1428
1428
  type: "button",
1429
1429
  onClick: () => setConfirmMajor(null),
1430
- className: "rounded-sm border border-gray-300 bg-gray-50 px-3 py-1 text-sm text-gray-700 hover:bg-gray-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-800",
1430
+ className: "rounded-sm border border-border bg-background px-3 py-1 text-sm text-foreground hover:hover-effect",
1431
1431
  children: "Cancel"
1432
1432
  })
1433
1433
  ]
1434
1434
  }),
1435
1435
  error && /* @__PURE__ */ jsx("div", {
1436
- className: "rounded-sm border border-red-300 bg-red-50 px-3 py-2 text-sm text-red-800 dark:border-red-600 dark:bg-red-900 dark:text-red-100",
1436
+ className: "rounded-sm border border-destructive bg-destructive/10 px-3 py-2 text-sm text-destructive",
1437
1437
  children: error
1438
1438
  })
1439
1439
  ]
@@ -1574,7 +1574,7 @@ function LogoAnimation({ size = 48, className = "" }) {
1574
1574
  viewBox: "-1 -2 50 52",
1575
1575
  fill: "none",
1576
1576
  xmlns: "http://www.w3.org/2000/svg",
1577
- className: twMerge("text-gray-900 dark:text-slate-50", className),
1577
+ className: twMerge("text-foreground", className),
1578
1578
  "aria-label": "Animated logo",
1579
1579
  children: SEQUENCE.map(({ id }) => /* @__PURE__ */ jsx("path", {
1580
1580
  ref: refFor(id),
@@ -1589,7 +1589,7 @@ function LogoAnimation({ size = 48, className = "" }) {
1589
1589
  function DefaultEditorLoader(props) {
1590
1590
  const { message = "Loading editor", ...divProps } = props;
1591
1591
  return /* @__PURE__ */ jsx("div", {
1592
- className: "grid h-full place-items-center text-gray-800 dark:text-slate-100",
1592
+ className: "grid h-full place-items-center text-foreground",
1593
1593
  ...divProps,
1594
1594
  children: /* @__PURE__ */ jsxs("div", {
1595
1595
  className: "-mt-20 grid place-items-center",
@@ -1607,7 +1607,7 @@ function Disclosure(props) {
1607
1607
  return /* @__PURE__ */ jsxs("div", {
1608
1608
  className: twMerge(containerClassName),
1609
1609
  children: [/* @__PURE__ */ jsxs("div", {
1610
- className: twMerge("flex cursor-pointer justify-between text-gray-500 dark:text-slate-400", toggleClassName),
1610
+ className: twMerge("flex cursor-pointer justify-between text-muted-foreground", toggleClassName),
1611
1611
  onClick: onOpenChange,
1612
1612
  children: [/* @__PURE__ */ jsx("h2", {
1613
1613
  className: "font-semibold text-inherit",
@@ -1628,7 +1628,7 @@ function Disclosure(props) {
1628
1628
  function Divider(props) {
1629
1629
  return /* @__PURE__ */ jsx("div", {
1630
1630
  ...props,
1631
- className: twMerge("h-px bg-gray-200 dark:bg-slate-600 dark:text-slate-100", props.className)
1631
+ className: twMerge("h-px bg-secondary", props.className)
1632
1632
  });
1633
1633
  }
1634
1634
  //#endregion
@@ -1649,12 +1649,12 @@ function Tabs({ children, defaultValue }) {
1649
1649
  children: [/* @__PURE__ */ jsx("div", {
1650
1650
  className: "flex w-full shrink-0 justify-between",
1651
1651
  children: /* @__PURE__ */ jsx(List, {
1652
- className: "flex w-full gap-x-2 rounded-xl p-1 text-sm font-semibold text-gray-700 outline-none dark:text-slate-200",
1652
+ className: "flex w-full gap-x-2 rounded-xl p-1 text-sm font-semibold text-foreground outline-none",
1653
1653
  children: React.Children.map(children, (child, _i) => {
1654
1654
  if (!/* @__PURE__ */ React.isValidElement(child)) return;
1655
1655
  const { label, disabled } = child.props;
1656
1656
  return /* @__PURE__ */ jsx(Trigger$2, {
1657
- className: "flex min-h-7 flex-1 items-center justify-center rounded-lg border border-gray-100 bg-gray-50 py-2 text-gray-900 transition duration-300 data-disabled:cursor-not-allowed data-disabled:text-gray-400 data-[state='active']:bg-gray-100 data-[state='active']:text-gray-900 dark:border-slate-600 dark:bg-slate-600 dark:text-slate-200 dark:data-disabled:text-slate-500 dark:data-[state='active']:bg-slate-500 dark:data-[state='active']:text-slate-100",
1657
+ className: "flex min-h-7 flex-1 items-center justify-center rounded-lg border border-border bg-background py-2 text-foreground transition duration-300 data-disabled:disabled-effect data-[state=active]:bg-accent data-[state=active]:text-foreground",
1658
1658
  value: label,
1659
1659
  disabled: disabled ?? false,
1660
1660
  children: label
@@ -1662,7 +1662,7 @@ function Tabs({ children, defaultValue }) {
1662
1662
  })
1663
1663
  })
1664
1664
  }), /* @__PURE__ */ jsx("div", {
1665
- className: "mt-3 min-h-0 flex-1 rounded-md bg-gray-50 dark:bg-slate-800",
1665
+ className: "mt-3 min-h-0 flex-1 rounded-md bg-background",
1666
1666
  children: React.Children.map(children, (child, i) => {
1667
1667
  if (!/* @__PURE__ */ React.isValidElement(child)) return;
1668
1668
  const { label } = child.props;
@@ -1685,7 +1685,7 @@ function DocumentStateViewer({ state, ignoredScopes = ["auth", "document"], defa
1685
1685
  const scopes = useMemo(() => Object.keys(state).filter((scope) => !ignoredScopes.includes(scope)), [state, ignoredScopes]);
1686
1686
  const initialScope = defaultScope || scopes.at(0) || "global";
1687
1687
  if (scopes.length === 0) return /* @__PURE__ */ jsx("div", {
1688
- className: "text-sm text-gray-500 dark:text-slate-400",
1688
+ className: "text-sm text-muted-foreground",
1689
1689
  children: "No state data"
1690
1690
  });
1691
1691
  return /* @__PURE__ */ jsx(Tabs, {
@@ -1694,7 +1694,7 @@ function DocumentStateViewer({ state, ignoredScopes = ["auth", "document"], defa
1694
1694
  label: formatScopeLabel(scope),
1695
1695
  description: scope,
1696
1696
  children: /* @__PURE__ */ jsx("div", {
1697
- className: twMerge("-mt-2 rounded-md border border-gray-300 bg-gray-50 p-3 font-mono text-sm dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", className),
1697
+ className: twMerge("-mt-2 rounded-md border border-border bg-background p-3 font-mono text-sm", className),
1698
1698
  children: /* @__PURE__ */ jsx(JsonViewer, { data: state[scope] })
1699
1699
  })
1700
1700
  }, scope))
@@ -1716,7 +1716,7 @@ function ConnectTooltip(props) {
1716
1716
  ...rest,
1717
1717
  side,
1718
1718
  sideOffset,
1719
- className: twMerge("z-50 rounded-lg border border-gray-200 bg-gray-50 p-2 text-xs shadow-tooltip dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", className),
1719
+ className: twMerge("z-50 rounded-lg border border-border bg-popover p-2 text-xs text-popover-foreground shadow-tooltip", className),
1720
1720
  children: content
1721
1721
  }) })]
1722
1722
  });
@@ -1752,7 +1752,7 @@ const HDivider = (props) => {
1752
1752
  children: [
1753
1753
  !!title && /* @__PURE__ */ jsx("div", { children: title }),
1754
1754
  !!subtitle && /* @__PURE__ */ jsx("div", {
1755
- className: "text-gray-300 dark:text-slate-600",
1755
+ className: "text-foreground",
1756
1756
  children: subtitle
1757
1757
  }),
1758
1758
  !!timestamp && /* @__PURE__ */ jsx("div", { children: formatTimestamp(timestamp) })
@@ -1774,7 +1774,7 @@ const HDivider = (props) => {
1774
1774
  size: 10,
1775
1775
  className: "absolute top-[-11px] z-40"
1776
1776
  }), /* @__PURE__ */ jsx(ConnectTooltip, {
1777
- className: "rounded-md bg-gray-900 text-white dark:bg-slate-50 dark:text-slate-900",
1777
+ className: "rounded-md bg-primary text-primary-foreground",
1778
1778
  content: tooltipContent,
1779
1779
  open: open && hasContent,
1780
1780
  onOpenChange: setOpen,
@@ -1782,12 +1782,12 @@ const HDivider = (props) => {
1782
1782
  side: "bottom",
1783
1783
  sideOffset: 5,
1784
1784
  children: /* @__PURE__ */ jsx("div", {
1785
- className: twMerge("mx-0.5 flex h-6.25 w-1.5 cursor-pointer flex-col items-center justify-center rounded-xs hover:bg-blue-300 dark:hover:bg-blue-600", isSelected && "bg-blue-300 dark:bg-blue-600", className),
1785
+ className: twMerge("mx-0.5 flex h-6.25 w-1.5 cursor-pointer flex-col items-center justify-center rounded-xs hover:hover-effect", isSelected && "bg-info/10", className),
1786
1786
  onClick,
1787
1787
  "data-title": title,
1788
1788
  "data-subtitle": subtitle,
1789
1789
  "data-timestamp": timestamp,
1790
- children: /* @__PURE__ */ jsx("div", { className: "h-0.5 w-1 rounded-full bg-gray-500 dark:bg-slate-400" })
1790
+ children: /* @__PURE__ */ jsx("div", { className: "h-0.5 w-1 rounded-full bg-muted" })
1791
1791
  })
1792
1792
  })]
1793
1793
  });
@@ -1822,11 +1822,11 @@ const TimelineBar = ({ onClick, className, timestampUtcMs: timestamp, additions,
1822
1822
  children: [
1823
1823
  /* @__PURE__ */ jsx("div", { children: formatTimestamp$1(timestamp) }),
1824
1824
  /* @__PURE__ */ jsx("div", {
1825
- className: "text-green-900 dark:text-green-100",
1825
+ className: "text-success",
1826
1826
  children: `${additions} additions +`
1827
1827
  }),
1828
1828
  /* @__PURE__ */ jsx("div", {
1829
- className: "text-red-700 dark:text-red-100",
1829
+ className: "text-destructive",
1830
1830
  children: `${deletions} deletions -`
1831
1831
  })
1832
1832
  ]
@@ -1847,12 +1847,12 @@ const TimelineBar = ({ onClick, className, timestampUtcMs: timestamp, additions,
1847
1847
  size: 10,
1848
1848
  className: "absolute top-[-11px] left-[-2px] z-40"
1849
1849
  }), noChanges ? /* @__PURE__ */ jsx("div", {
1850
- className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:bg-blue-300 dark:hover:bg-blue-600", className),
1850
+ className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:hover-effect", className),
1851
1851
  "data-timestamp": timestamp,
1852
1852
  onClick,
1853
- children: /* @__PURE__ */ jsx("div", { className: "size-[3px] rounded-full bg-gray-500 dark:bg-slate-400" })
1853
+ children: /* @__PURE__ */ jsx("div", { className: "size-[3px] rounded-full bg-muted-foreground" })
1854
1854
  }) : /* @__PURE__ */ jsx(ConnectTooltip, {
1855
- className: "rounded-md bg-gray-900 text-white dark:bg-slate-50 dark:text-slate-900",
1855
+ className: "rounded-md bg-primary text-primary-foreground",
1856
1856
  content: tooltipContent,
1857
1857
  open,
1858
1858
  onOpenChange: setOpen,
@@ -1860,15 +1860,15 @@ const TimelineBar = ({ onClick, className, timestampUtcMs: timestamp, additions,
1860
1860
  side: "bottom",
1861
1861
  sideOffset: 5,
1862
1862
  children: /* @__PURE__ */ jsxs("div", {
1863
- className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:bg-blue-300 dark:hover:bg-blue-600", className, isSelected && "bg-blue-300 dark:bg-blue-600"),
1863
+ className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:hover-effect", className, isSelected && "bg-info/10"),
1864
1864
  "data-timestamp": timestamp,
1865
1865
  onClick,
1866
1866
  children: [/* @__PURE__ */ jsx("div", {
1867
1867
  className: "flex h-3 w-0.5 items-end",
1868
- children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-t-full bg-green-600 dark:bg-green-300", addBarHeight) })
1868
+ children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-t-full bg-success", addBarHeight) })
1869
1869
  }), /* @__PURE__ */ jsx("div", {
1870
1870
  className: "flex h-3 w-0.5 items-start",
1871
- children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-b-full bg-red-600 dark:bg-red-300", delBarHeight) })
1871
+ children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-b-full bg-destructive", delBarHeight) })
1872
1872
  })]
1873
1873
  })
1874
1874
  })]
@@ -1935,14 +1935,14 @@ const DocumentTimeline = (props) => {
1935
1935
  className: "relative h-[36px] w-full",
1936
1936
  children: [
1937
1937
  /* @__PURE__ */ jsx("div", {
1938
- className: "absolute left-0 z-20 h-[17px] w-[6px] bg-gray-50 dark:bg-slate-800",
1939
- children: /* @__PURE__ */ jsx("div", { className: "mt-[11px] h-[6px] w-[6px] rounded-tl-md bg-gray-50 dark:bg-slate-800" })
1938
+ className: "absolute left-0 z-20 h-[17px] w-[6px] bg-background",
1939
+ children: /* @__PURE__ */ jsx("div", { className: "mt-[11px] h-[6px] w-[6px] rounded-tl-md bg-background" })
1940
1940
  }),
1941
1941
  /* @__PURE__ */ jsx("div", {
1942
- className: "absolute top-[11px] right-0 z-20 h-[6px] w-[6px] bg-gray-50 dark:bg-slate-800",
1943
- children: /* @__PURE__ */ jsx("div", { className: "h-[6px] w-[6px] rounded-tr-md bg-gray-50 dark:bg-slate-800" })
1942
+ className: "absolute top-[11px] right-0 z-20 h-[6px] w-[6px] bg-background",
1943
+ children: /* @__PURE__ */ jsx("div", { className: "h-[6px] w-[6px] rounded-tr-md bg-background" })
1944
1944
  }),
1945
- /* @__PURE__ */ jsx("div", { className: "absolute inset-x-0 bottom-0 h-[25px] rounded-md bg-gray-50 dark:bg-slate-800" }),
1945
+ /* @__PURE__ */ jsx("div", { className: "absolute inset-x-0 bottom-0 h-[25px] rounded-md bg-background" }),
1946
1946
  /* @__PURE__ */ jsx("div", {
1947
1947
  className: "absolute inset-x-0 bottom-0 h-[36px]",
1948
1948
  children: /* @__PURE__ */ jsx("div", {
@@ -1954,14 +1954,14 @@ const DocumentTimeline = (props) => {
1954
1954
  className: "flex",
1955
1955
  children: unselectedContent
1956
1956
  }), /* @__PURE__ */ jsx("div", {
1957
- className: "flex rounded-sm bg-blue-200 dark:bg-blue-700",
1957
+ className: "flex rounded-sm bg-info/10",
1958
1958
  children: selectedContent
1959
1959
  })]
1960
1960
  })
1961
1961
  })
1962
1962
  }),
1963
- /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute bottom-0 left-0 z-10 h-[25px] w-2 rounded-l-md bg-gray-50 dark:bg-slate-800" }),
1964
- /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute right-0 bottom-0 z-10 h-[25px] w-2 rounded-r-md bg-gray-50 dark:bg-slate-800" })
1963
+ /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute bottom-0 left-0 z-10 h-[25px] w-2 rounded-l-md bg-background" }),
1964
+ /* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute right-0 bottom-0 z-10 h-[25px] w-2 rounded-r-md bg-background" })
1965
1965
  ]
1966
1966
  })
1967
1967
  });
@@ -1979,7 +1979,7 @@ function ToolbarContainer(props) {
1979
1979
  const { children, className, ...rest } = props;
1980
1980
  return /* @__PURE__ */ jsx("div", {
1981
1981
  ...rest,
1982
- className: twMerge("flex h-12 w-full items-center justify-between rounded-xl border border-gray-200 bg-gray-50 px-4 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", className),
1982
+ className: twMerge("flex h-12 w-full items-center justify-between rounded-xl border border-border bg-background px-4", className),
1983
1983
  children
1984
1984
  });
1985
1985
  }
@@ -2049,7 +2049,7 @@ function ToolbarButton(props) {
2049
2049
  return /* @__PURE__ */ jsx("button", {
2050
2050
  ...rest,
2051
2051
  disabled,
2052
- className: twMerge("grid size-fit place-items-center rounded-lg border border-gray-200 bg-gray-50 p-1 text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", disabled ? "cursor-not-allowed text-gray-500 dark:text-slate-400" : "cursor-pointer active:opacity-70", className),
2052
+ className: twMerge("grid size-fit place-items-center rounded-lg border border-border bg-background p-1 text-foreground hover:hover-effect active:active-effect disabled:disabled-effect", className),
2053
2053
  children
2054
2054
  });
2055
2055
  }
@@ -2209,7 +2209,7 @@ function ToolbarInput(props) {
2209
2209
  const { defaultValue, className, onSubmit, onCancel, "aria-label": ariaLabel } = props;
2210
2210
  return /* @__PURE__ */ jsx(NodeInput, {
2211
2211
  defaultValue,
2212
- className: twMerge("text-center text-sm font-medium text-gray-500 dark:text-slate-400", className),
2212
+ className: twMerge("text-center text-sm font-medium text-muted-foreground", className),
2213
2213
  "aria-label": ariaLabel,
2214
2214
  onCancel,
2215
2215
  onSubmit
@@ -2247,7 +2247,7 @@ function ToolbarName(props) {
2247
2247
  "aria-label": "Document name"
2248
2248
  });
2249
2249
  return /* @__PURE__ */ jsx("h1", {
2250
- className: twMerge("cursor-pointer text-sm font-medium text-gray-500 hover:text-gray-700 dark:text-slate-400 dark:hover:text-slate-200", titleClassName),
2250
+ className: twMerge("cursor-pointer text-sm font-medium text-muted-foreground hover:hover-effect", titleClassName),
2251
2251
  onClick: activateEditing,
2252
2252
  title: "Click to edit",
2253
2253
  children: documentName
@@ -2448,20 +2448,20 @@ function ControlsContainerSlot(props) {
2448
2448
  function DriveAuthGate(props) {
2449
2449
  const { onLogin, className } = props;
2450
2450
  return /* @__PURE__ */ jsxs("div", {
2451
- className: twMerge("flex w-[28rem] max-w-[calc(100%-2rem)] flex-col items-center gap-4 rounded-3xl bg-gray-50 p-8 text-center shadow-2xl ring-1 ring-black/5 dark:bg-slate-700 dark:ring-white/10", className),
2451
+ className: twMerge("flex w-[28rem] max-w-[calc(100%-2rem)] flex-col items-center gap-4 rounded-3xl bg-background p-8 text-center shadow-2xl ring-1 ring-black/5 dark:ring-white/10", className),
2452
2452
  children: [
2453
2453
  /* @__PURE__ */ jsx("h2", {
2454
- className: "text-xl font-semibold text-gray-900 dark:text-slate-50",
2454
+ className: "text-xl font-semibold text-foreground",
2455
2455
  children: "Log in to access this drive"
2456
2456
  }),
2457
2457
  /* @__PURE__ */ jsx("p", {
2458
- className: "text-sm text-gray-600 dark:text-slate-300",
2458
+ className: "text-sm text-muted-foreground",
2459
2459
  children: "This drive requires you to sign in with Renown to view or edit it."
2460
2460
  }),
2461
2461
  /* @__PURE__ */ jsxs("button", {
2462
2462
  type: "button",
2463
2463
  onClick: onLogin,
2464
- className: "mt-2 flex items-center gap-2 rounded-lg border border-gray-300 bg-white px-6 py-2.5 text-sm font-semibold text-gray-900 shadow-sm transition-colors hover:bg-gray-100 focus:outline-none focus-visible:ring-2 focus-visible:ring-gray-400 focus-visible:ring-offset-2 dark:border-slate-600 dark:bg-slate-800 dark:text-slate-50 dark:hover:bg-slate-700",
2464
+ className: "mt-2 flex items-center gap-2 rounded-lg border border-border bg-card px-6 py-2.5 text-sm font-semibold text-foreground shadow-sm transition-colors hover:bg-muted focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2",
2465
2465
  children: [/* @__PURE__ */ jsx("span", { children: "Log in with" }), /* @__PURE__ */ jsx(RenownLogo, {
2466
2466
  width: 58,
2467
2467
  height: 16,
@@ -2487,11 +2487,11 @@ function ConnectReplaceDuplicateModal(props) {
2487
2487
  /* @__PURE__ */ jsxs("div", {
2488
2488
  className: "flex items-center justify-between pb-2",
2489
2489
  children: [/* @__PURE__ */ jsx("div", {
2490
- className: "text-2xl font-bold text-gray-900 dark:text-slate-100",
2490
+ className: "text-2xl font-bold text-foreground",
2491
2491
  children: title
2492
2492
  }), /* @__PURE__ */ jsx("button", {
2493
2493
  type: "button",
2494
- className: "flex size-6 items-center justify-center rounded-md outline-none hover:bg-gray-100 dark:hover:bg-slate-700",
2494
+ className: "flex size-6 items-center justify-center rounded-md outline-none hover:hover-effect",
2495
2495
  onClick: () => onOpenChange?.(false),
2496
2496
  children: /* @__PURE__ */ jsx(Icon, {
2497
2497
  name: "XmarkLight",
@@ -2500,7 +2500,7 @@ function ConnectReplaceDuplicateModal(props) {
2500
2500
  })]
2501
2501
  }),
2502
2502
  /* @__PURE__ */ jsx("div", {
2503
- className: "my-6 rounded-md bg-gray-50 p-4 text-center text-gray-900 dark:bg-slate-700 dark:text-slate-100",
2503
+ className: "my-6 rounded-md bg-background p-4 text-center text-foreground",
2504
2504
  children: message || defaultMessage
2505
2505
  }),
2506
2506
  /* @__PURE__ */ jsx("div", {
@@ -2521,7 +2521,7 @@ function UploadFileItemErrorDetails(props) {
2521
2521
  const { status, errorDetails } = props;
2522
2522
  if (!((status === "failed" || status === "unsupported-document-type") && errorDetails)) return null;
2523
2523
  return /* @__PURE__ */ jsx("div", {
2524
- className: "text-xs leading-[18px] wrap-break-word text-gray-500 dark:text-slate-400",
2524
+ className: "text-xs leading-[18px] wrap-break-word text-muted-foreground",
2525
2525
  children: errorDetails
2526
2526
  });
2527
2527
  }
@@ -2551,16 +2551,16 @@ function UploadFileItemHeader(props) {
2551
2551
  children: /* @__PURE__ */ jsx(Icon, {
2552
2552
  name: getDocumentIcon(documentType),
2553
2553
  size: 48,
2554
- className: "text-gray-700 dark:text-slate-200"
2554
+ className: "text-foreground"
2555
2555
  })
2556
2556
  }),
2557
2557
  /* @__PURE__ */ jsxs("div", {
2558
2558
  className: "flex flex-1 flex-col gap-0.5",
2559
2559
  children: [/* @__PURE__ */ jsx("div", {
2560
- className: "text-xs leading-[18px] font-medium text-gray-900 dark:text-slate-50",
2560
+ className: "text-xs leading-[18px] font-medium text-foreground",
2561
2561
  children: fileName
2562
2562
  }), /* @__PURE__ */ jsx("div", {
2563
- className: "text-xs leading-[18px] font-medium text-gray-500 dark:text-slate-400",
2563
+ className: "text-xs leading-[18px] font-medium text-muted-foreground",
2564
2564
  children: fileSize
2565
2565
  })]
2566
2566
  }),
@@ -2569,7 +2569,7 @@ function UploadFileItemHeader(props) {
2569
2569
  children: /* @__PURE__ */ jsx("button", {
2570
2570
  type: "button",
2571
2571
  onClick: onClose,
2572
- className: "flex h-[18px] w-[18px] items-center justify-center text-gray-700 hover:text-gray-800 dark:text-slate-200 dark:hover:text-slate-100",
2572
+ className: "flex h-[18px] w-[18px] items-center justify-center text-foreground hover:hover-effect",
2573
2573
  "aria-label": "Close",
2574
2574
  children: /* @__PURE__ */ jsx(Icon, {
2575
2575
  name: "XmarkLight",
@@ -2586,9 +2586,9 @@ function UploadFileItemProgressBar(props) {
2586
2586
  const { status, progress = 0 } = props;
2587
2587
  if (status !== "uploading") return null;
2588
2588
  return /* @__PURE__ */ jsx("div", {
2589
- className: "h-2 w-full overflow-hidden rounded-sm bg-gray-200 dark:bg-slate-600 dark:text-slate-100",
2589
+ className: "h-2 w-full overflow-hidden rounded-sm bg-secondary",
2590
2590
  children: /* @__PURE__ */ jsx("div", {
2591
- className: "h-full bg-blue-900 transition-all duration-300 ease-out dark:bg-blue-50",
2591
+ className: "h-full bg-info transition-all duration-300 ease-out",
2592
2592
  style: { width: `${Math.min(100, Math.max(0, progress))}%` }
2593
2593
  })
2594
2594
  });
@@ -2608,13 +2608,13 @@ function getStatusText(status) {
2608
2608
  }
2609
2609
  function getStatusColor(status) {
2610
2610
  switch (status) {
2611
- case "success": return "text-green-700 dark:text-green-100";
2611
+ case "success": return "text-success";
2612
2612
  case "failed":
2613
2613
  case "unsupported-document-type":
2614
2614
  case "pending":
2615
- case "conflict": return "text-red-900 dark:text-red-400";
2616
- case "uploading": return "text-gray-900 dark:text-slate-50";
2617
- default: return "text-gray-900 dark:text-slate-50";
2615
+ case "conflict": return "text-destructive";
2616
+ case "uploading": return "text-foreground";
2617
+ default: return "text-foreground";
2618
2618
  }
2619
2619
  }
2620
2620
  function shouldShowCTA(status, onOpenDocument, onFindResolution) {
@@ -2640,13 +2640,13 @@ function UploadFileItemStatusRow(props) {
2640
2640
  children: getStatusText(status)
2641
2641
  }),
2642
2642
  status === "uploading" && /* @__PURE__ */ jsxs("div", {
2643
- className: "text-xs leading-[18px] font-medium text-gray-900 dark:text-slate-50",
2643
+ className: "text-xs leading-[18px] font-medium text-foreground",
2644
2644
  children: [Math.round(progress), "%"]
2645
2645
  }),
2646
2646
  shouldShowCTA(status, onOpenDocument, onFindResolution) && /* @__PURE__ */ jsx("button", {
2647
2647
  type: "button",
2648
2648
  onClick: handleCTAClick,
2649
- className: "text-xs leading-[18px] text-blue-900 hover:opacity-80 dark:text-blue-100",
2649
+ className: "text-xs leading-[18px] text-info hover:hover-effect",
2650
2650
  children: getCTAText(status)
2651
2651
  })
2652
2652
  ]
@@ -2658,7 +2658,7 @@ const UploadFileItem = /* @__PURE__ */ forwardRef(function UploadFileItem(props,
2658
2658
  const { fileName, fileSize, status, documentType, progress = 0, errorDetails, onClose, onOpenDocument, onFindResolution, className, ...delegatedProps } = props;
2659
2659
  return /* @__PURE__ */ jsxs("div", {
2660
2660
  ref,
2661
- className: twMerge("flex w-full flex-col gap-0.5 rounded-md border border-gray-100 bg-gray-50 p-2 shadow-sidebar dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", className),
2661
+ className: twMerge("flex w-full flex-col gap-0.5 rounded-md border border-border bg-background p-2 shadow-sidebar", className),
2662
2662
  ...delegatedProps,
2663
2663
  children: [/* @__PURE__ */ jsx(UploadFileItemHeader, {
2664
2664
  fileName,
@@ -2699,7 +2699,7 @@ function UploadFileList(props) {
2699
2699
  const [isCollapsed, setIsCollapsed] = useState(defaultCollapsed);
2700
2700
  const computedTitle = useMemo(() => getUploadListTitle(items.length, title), [items.length, title]);
2701
2701
  return /* @__PURE__ */ jsxs("div", {
2702
- className: twMerge("w-89.5 rounded-md border border-gray-100 bg-gray-50 p-4 shadow-charcoal dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", className),
2702
+ className: twMerge("w-89.5 rounded-md border border-border bg-background p-4 shadow-charcoal", className),
2703
2703
  ...delegatedProps,
2704
2704
  children: [/* @__PURE__ */ jsxs("div", {
2705
2705
  className: "flex items-center justify-between",
@@ -2708,7 +2708,7 @@ function UploadFileList(props) {
2708
2708
  "aria-expanded": !isCollapsed,
2709
2709
  "aria-label": isCollapsed ? "Expand list" : "Collapse list",
2710
2710
  onClick: () => setIsCollapsed((v) => !v),
2711
- className: "min-w-0 flex-1 text-left text-sm/4 font-medium text-gray-900 hover:opacity-80 dark:text-slate-50",
2711
+ className: "min-w-0 flex-1 text-left text-sm/4 font-medium text-foreground hover:hover-effect",
2712
2712
  children: computedTitle
2713
2713
  }), /* @__PURE__ */ jsxs("div", {
2714
2714
  className: "flex shrink-0 items-center gap-4",
@@ -2716,7 +2716,7 @@ function UploadFileList(props) {
2716
2716
  type: "button",
2717
2717
  "aria-label": isCollapsed ? "Expand" : "Collapse",
2718
2718
  onClick: () => setIsCollapsed((v) => !v),
2719
- className: "text-gray-900 hover:opacity-80 dark:text-slate-50",
2719
+ className: "text-foreground hover:hover-effect",
2720
2720
  children: /* @__PURE__ */ jsx("span", {
2721
2721
  className: twMerge("inline-block size-4 transition-transform select-none", isCollapsed ? "-rotate-90" : "rotate-0"),
2722
2722
  children: /* @__PURE__ */ jsx(Icon, {
@@ -2729,7 +2729,7 @@ function UploadFileList(props) {
2729
2729
  type: "button",
2730
2730
  "aria-label": "Close",
2731
2731
  onClick: onClose,
2732
- className: "text-gray-900 hover:opacity-80 dark:text-slate-50",
2732
+ className: "text-foreground hover:hover-effect",
2733
2733
  children: /* @__PURE__ */ jsx("span", {
2734
2734
  className: "inline-block size-4 select-none",
2735
2735
  children: /* @__PURE__ */ jsx(Icon, {
@@ -3063,18 +3063,18 @@ function DropZone(props) {
3063
3063
  children: [
3064
3064
  children,
3065
3065
  enable && isDropTarget && /* @__PURE__ */ jsx("div", {
3066
- className: "pointer-events-none fixed inset-0 z-1000 flex min-h-screen w-screen items-center justify-center bg-gray-900/50 dark:bg-slate-900/50",
3066
+ className: "pointer-events-none fixed inset-0 z-1000 flex min-h-screen w-screen items-center justify-center bg-primary/50",
3067
3067
  children: /* @__PURE__ */ jsx("div", {
3068
- className: "rounded-3xl bg-gray-50 p-6 shadow-charcoal dark:bg-slate-800",
3068
+ className: "rounded-3xl bg-background p-6 shadow-charcoal",
3069
3069
  children: /* @__PURE__ */ jsxs("div", {
3070
- className: "relative flex h-32.5 w-100 flex-col items-center justify-start overflow-visible rounded-lg border border-dashed border-gray-900 px-4 py-6",
3070
+ className: "relative flex h-32.5 w-100 flex-col items-center justify-start overflow-visible rounded-lg border border-dashed border-foreground px-4 py-6",
3071
3071
  children: [
3072
3072
  /* @__PURE__ */ jsx("div", {
3073
- className: "text-center text-base/5 text-gray-500 dark:text-slate-400",
3073
+ className: "text-center text-base/5 text-muted-foreground",
3074
3074
  children: title
3075
3075
  }),
3076
3076
  /* @__PURE__ */ jsx("div", {
3077
- className: "text-center text-base/5 text-gray-500 dark:text-slate-400",
3077
+ className: "text-center text-base/5 text-muted-foreground",
3078
3078
  children: subtitle
3079
3079
  }),
3080
3080
  /* @__PURE__ */ jsx("span", {
@@ -3136,9 +3136,9 @@ function ConnectDropdownMenu(props) {
3136
3136
  className: "outline-none",
3137
3137
  children
3138
3138
  }), /* @__PURE__ */ jsx(DropdownMenuContent, {
3139
- className: twMerge("cursor-pointer rounded-2xl border border-gray-200 bg-gray-50 text-sm font-medium text-gray-500 shadow-lg dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", menuClassName),
3139
+ className: twMerge("cursor-pointer rounded-2xl border border-border bg-popover text-sm font-medium text-muted-foreground shadow-lg", menuClassName),
3140
3140
  children: items.map(({ id, label, icon, className }) => /* @__PURE__ */ jsxs(DropdownMenuItem, {
3141
- className: twMerge("flex items-center px-5 py-2 outline-none first-of-type:rounded-t-2xl first-of-type:pt-3 last-of-type:rounded-b-2xl last-of-type:pb-3 hover:bg-gray-50 dark:hover:bg-slate-800", className),
3141
+ className: twMerge("flex items-center px-5 py-2 outline-none first-of-type:rounded-t-2xl first-of-type:pt-3 last-of-type:rounded-b-2xl last-of-type:pb-3 hover:hover-effect", className),
3142
3142
  onClick: (e) => e.stopPropagation(),
3143
3143
  onSelect: () => onItemClick(id),
3144
3144
  children: [icon ? /* @__PURE__ */ jsx("span", {
@@ -3157,7 +3157,7 @@ function EditorActionButtons(props) {
3157
3157
  className: "flex items-center gap-x-2",
3158
3158
  children: [
3159
3159
  onSwitchboardLinkClick && /* @__PURE__ */ jsx("button", {
3160
- className: "grid size-8 place-items-center rounded-lg border border-gray-200 bg-gray-50 text-gray-900 disabled:cursor-not-allowed disabled:text-gray-500 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:disabled:text-slate-400",
3160
+ className: "grid size-8 place-items-center rounded-lg border border-border bg-background text-foreground disabled:disabled-effect",
3161
3161
  onClick: onSwitchboardLinkClick,
3162
3162
  disabled: !onSwitchboardLinkClick,
3163
3163
  children: /* @__PURE__ */ jsx(Icon, {
@@ -3166,7 +3166,7 @@ function EditorActionButtons(props) {
3166
3166
  })
3167
3167
  }),
3168
3168
  onShowRevisionHistory && /* @__PURE__ */ jsx("button", {
3169
- className: "grid size-8 place-items-center rounded-lg border border-gray-200 bg-gray-50 text-gray-900 disabled:cursor-not-allowed disabled:text-gray-500 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:disabled:text-slate-400",
3169
+ className: "grid size-8 place-items-center rounded-lg border border-border bg-background text-foreground disabled:disabled-effect",
3170
3170
  onClick: onShowRevisionHistory,
3171
3171
  disabled: !onShowRevisionHistory,
3172
3172
  children: /* @__PURE__ */ jsx(Icon, {
@@ -3175,7 +3175,7 @@ function EditorActionButtons(props) {
3175
3175
  })
3176
3176
  }),
3177
3177
  onShowTimeline && /* @__PURE__ */ jsx("button", {
3178
- className: "grid size-8 place-items-center rounded-lg border border-gray-200 bg-gray-50 text-gray-900 disabled:cursor-not-allowed disabled:text-gray-500 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:disabled:text-slate-400",
3178
+ className: "grid size-8 place-items-center rounded-lg border border-border bg-background text-foreground disabled:disabled-effect",
3179
3179
  onClick: onShowTimeline,
3180
3180
  disabled: !onShowTimeline,
3181
3181
  children: /* @__PURE__ */ jsx(Icon, {
@@ -3184,7 +3184,7 @@ function EditorActionButtons(props) {
3184
3184
  })
3185
3185
  }),
3186
3186
  /* @__PURE__ */ jsx("button", {
3187
- className: "grid size-8 place-items-center rounded-lg border border-gray-200 bg-gray-50 text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
3187
+ className: "grid size-8 place-items-center rounded-lg border border-border bg-background text-foreground",
3188
3188
  onClick: onClose,
3189
3189
  children: /* @__PURE__ */ jsx(Icon, {
3190
3190
  name: "XmarkLight",
@@ -3198,15 +3198,15 @@ function EditorActionButtons(props) {
3198
3198
  //#region src/connect/components/editor-undo-redo-buttons/editor-undo-redo-buttons.tsx
3199
3199
  function EditorUndoRedoButtons(props) {
3200
3200
  const { canUndo, canRedo, undo, redo } = props;
3201
- const buttonStyles = "w-8 h-8 rounded-lg flex justify-center items-center rounded border border-gray-200 bg-gray-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100";
3201
+ const buttonStyles = "w-8 h-8 rounded-lg flex justify-center items-center rounded border border-border bg-background";
3202
3202
  return /* @__PURE__ */ jsxs("div", {
3203
- className: "flex gap-x-2 text-gray-500 dark:text-slate-400",
3203
+ className: "flex gap-x-2 text-muted-foreground",
3204
3204
  children: [/* @__PURE__ */ jsx("button", {
3205
3205
  className: buttonStyles,
3206
3206
  disabled: !canUndo,
3207
3207
  onClick: undo,
3208
3208
  children: /* @__PURE__ */ jsx(Icon, {
3209
- className: twMerge("-scale-x-100", canUndo ? "text-gray-900 active:opacity-50 dark:text-slate-50" : "text-gray-500 dark:text-slate-400"),
3209
+ className: twMerge("-scale-x-100", canUndo ? "text-foreground active:active-effect" : "text-muted-foreground"),
3210
3210
  name: "RedoArrow",
3211
3211
  size: 18
3212
3212
  })
@@ -3215,7 +3215,7 @@ function EditorUndoRedoButtons(props) {
3215
3215
  disabled: !canRedo,
3216
3216
  onClick: redo,
3217
3217
  children: /* @__PURE__ */ jsx(Icon, {
3218
- className: twMerge(canRedo ? "text-gray-900 active:opacity-50 dark:text-slate-50" : "text-gray-500 dark:text-slate-400"),
3218
+ className: twMerge(canRedo ? "text-foreground active:active-effect" : "text-muted-foreground"),
3219
3219
  name: "RedoArrow",
3220
3220
  size: 18
3221
3221
  })
@@ -3320,7 +3320,7 @@ const debugNodeOptionsMap = {
3320
3320
  ADD_TRIGGER: {
3321
3321
  label: "Add Trigger",
3322
3322
  icon: /* @__PURE__ */ jsx(Icon, {
3323
- className: "text-orange-900 dark:text-orange-100",
3323
+ className: "text-warning",
3324
3324
  name: "Plus",
3325
3325
  size: 16
3326
3326
  })
@@ -3328,7 +3328,7 @@ const debugNodeOptionsMap = {
3328
3328
  REMOVE_TRIGGER: {
3329
3329
  label: "Remove Trigger",
3330
3330
  icon: /* @__PURE__ */ jsx(Icon, {
3331
- className: "text-orange-900 dark:text-orange-100",
3331
+ className: "text-warning",
3332
3332
  name: "Xmark",
3333
3333
  size: 16
3334
3334
  })
@@ -3336,7 +3336,7 @@ const debugNodeOptionsMap = {
3336
3336
  ADD_INVALID_TRIGGER: {
3337
3337
  label: "Add Trigger",
3338
3338
  icon: /* @__PURE__ */ jsx(Icon, {
3339
- className: "text-orange-900 dark:text-orange-100",
3339
+ className: "text-warning",
3340
3340
  name: "Exclamation",
3341
3341
  size: 16
3342
3342
  })
@@ -3363,7 +3363,7 @@ const folderNodeDropdownOptions = {
3363
3363
  name: "Trash",
3364
3364
  size: 16
3365
3365
  }),
3366
- className: "text-red-900 dark:text-red-400"
3366
+ className: "text-destructive"
3367
3367
  }
3368
3368
  };
3369
3369
  const fileNodeDropdownOptions = {
@@ -3412,37 +3412,37 @@ function SyncStatusIcon(props) {
3412
3412
  [INITIAL_SYNC]: /* @__PURE__ */ jsx(Icon, {
3413
3413
  size: 16,
3414
3414
  ...iconProps,
3415
- className: twMerge("text-blue-900 dark:text-blue-100", className),
3415
+ className: twMerge("text-info", className),
3416
3416
  name: icons[INITIAL_SYNC]
3417
3417
  }),
3418
3418
  [SYNCING]: /* @__PURE__ */ jsx(Icon, {
3419
3419
  size: 16,
3420
3420
  ...iconProps,
3421
- className: twMerge("text-blue-900 dark:text-blue-100", className),
3421
+ className: twMerge("text-info", className),
3422
3422
  name: icons[SYNCING]
3423
3423
  }),
3424
3424
  [SUCCESS]: /* @__PURE__ */ jsx(Icon, {
3425
3425
  size: 16,
3426
3426
  ...iconProps,
3427
- className: twMerge("text-green-900 dark:text-green-100", className),
3427
+ className: twMerge("text-success", className),
3428
3428
  name: icons[SUCCESS]
3429
3429
  }),
3430
3430
  [CONFLICT]: /* @__PURE__ */ jsx(Icon, {
3431
3431
  size: 16,
3432
3432
  ...iconProps,
3433
- className: twMerge("text-orange-900 dark:text-orange-100", className),
3433
+ className: twMerge("text-warning", className),
3434
3434
  name: icons[CONFLICT]
3435
3435
  }),
3436
3436
  [MISSING]: /* @__PURE__ */ jsx(Icon, {
3437
3437
  size: 16,
3438
3438
  ...iconProps,
3439
- className: twMerge("text-red-900 dark:text-red-400", className),
3439
+ className: twMerge("text-destructive", className),
3440
3440
  name: icons[MISSING]
3441
3441
  }),
3442
3442
  [ERROR]: /* @__PURE__ */ jsx(Icon, {
3443
3443
  size: 16,
3444
3444
  ...iconProps,
3445
- className: twMerge("text-red-900 dark:text-red-400", className),
3445
+ className: twMerge("text-destructive", className),
3446
3446
  name: icons[ERROR]
3447
3447
  })
3448
3448
  }[syncStatus];
@@ -3510,7 +3510,7 @@ function FileItem(props) {
3510
3510
  width: 32,
3511
3511
  draggable: false
3512
3512
  }) : /* @__PURE__ */ jsx(DefaultFileIcon, {}), isReadMode && syncStatus && /* @__PURE__ */ jsx("div", {
3513
- className: "absolute right-0 bottom-[-2px] size-3 rounded-full bg-gray-50 dark:bg-slate-800",
3513
+ className: "absolute right-0 bottom-[-2px] size-3 rounded-full bg-background",
3514
3514
  children: /* @__PURE__ */ jsx("div", {
3515
3515
  className: "absolute top-[-2px] left-[-2px]",
3516
3516
  children: /* @__PURE__ */ jsx(SyncStatusIcon, {
@@ -3520,16 +3520,16 @@ function FileItem(props) {
3520
3520
  })
3521
3521
  })]
3522
3522
  });
3523
- const containerStyles = twMerge("group flex h-12 cursor-pointer items-center rounded-lg bg-gray-200 px-2 text-gray-700 select-none hover:text-gray-800 dark:bg-slate-600 dark:text-slate-100 dark:hover:text-slate-100", isDragging ? "opacity-60" : "", className);
3523
+ const containerStyles = twMerge("group flex h-12 cursor-pointer items-center rounded-lg bg-muted px-2 text-foreground select-none hover:hover-effect", isDragging ? "opacity-60" : "", className);
3524
3524
  const content = isReadMode ? /* @__PURE__ */ jsxs("div", {
3525
3525
  className: "flex w-52 items-center justify-between",
3526
3526
  children: [/* @__PURE__ */ jsxs("div", {
3527
3527
  className: "mr-2 truncate group-hover:mr-0",
3528
3528
  children: [/* @__PURE__ */ jsx("div", {
3529
- className: "max-h-6 truncate text-sm font-medium text-gray-700 group-hover:text-gray-800 dark:text-slate-200 dark:group-hover:text-slate-100",
3529
+ className: "max-h-6 truncate text-sm font-medium text-foreground group-hover:hover-effect",
3530
3530
  children: fileNode.name
3531
3531
  }), /* @__PURE__ */ jsx("div", {
3532
- className: "max-h-6 truncate text-xs font-medium text-gray-700 group-hover:text-gray-800 dark:text-slate-200 dark:group-hover:text-slate-100",
3532
+ className: "max-h-6 truncate text-xs font-medium text-muted-foreground group-hover:hover-effect",
3533
3533
  children: fileNode.documentType
3534
3534
  })]
3535
3535
  }), isAllowedToCreateDocuments ? /* @__PURE__ */ jsx(ConnectDropdownMenu, {
@@ -3544,7 +3544,7 @@ function FileItem(props) {
3544
3544
  setIsDropdownMenuOpen(true);
3545
3545
  },
3546
3546
  children: /* @__PURE__ */ jsx(Icon, {
3547
- className: "text-gray-700 dark:text-slate-200",
3547
+ className: "text-foreground",
3548
3548
  name: "VerticalDots"
3549
3549
  })
3550
3550
  })
@@ -3573,7 +3573,7 @@ function FileItem(props) {
3573
3573
  }
3574
3574
  function DefaultFileIcon() {
3575
3575
  return /* @__PURE__ */ jsx("div", {
3576
- className: "text-white dark:text-slate-800",
3576
+ className: "text-primary-foreground",
3577
3577
  children: /* @__PURE__ */ jsxs("svg", {
3578
3578
  width: "32",
3579
3579
  height: "40",
@@ -3719,7 +3719,7 @@ function FolderItem(props) {
3719
3719
  setIsDropdownMenuOpen(false);
3720
3720
  }
3721
3721
  const content = isReadMode || !isAllowedToCreateDocuments ? /* @__PURE__ */ jsx("div", {
3722
- className: "ml-3 max-h-6 truncate font-medium text-gray-700 group-hover:text-gray-800 dark:text-slate-200 dark:group-hover:text-slate-100",
3722
+ className: "ml-3 max-h-6 truncate font-medium text-foreground group-hover:hover-effect",
3723
3723
  children: folderNode.name
3724
3724
  }) : /* @__PURE__ */ jsx(NodeInput, {
3725
3725
  className: "ml-3 font-medium",
@@ -3727,9 +3727,9 @@ function FolderItem(props) {
3727
3727
  onCancel,
3728
3728
  onSubmit
3729
3729
  });
3730
- const containerStyles = twMerge("group flex h-12 cursor-pointer items-center rounded-lg bg-gray-200 px-2 select-none dark:bg-slate-600 dark:text-slate-100", isDragging ? "opacity-60" : isDropTarget ? "bg-blue-100 dark:bg-blue-800" : "", className);
3730
+ const containerStyles = twMerge("group flex h-12 cursor-pointer items-center rounded-lg bg-muted px-2 select-none", isDragging ? "opacity-60" : isDropTarget ? "bg-info/10" : "", className);
3731
3731
  return /* @__PURE__ */ jsx("div", {
3732
- className: "relative w-64",
3732
+ className: "relative w-64 hover:hover-effect",
3733
3733
  onClick: isReadMode ? () => setSelectedNode(folderNode) : void 0,
3734
3734
  children: /* @__PURE__ */ jsxs("div", {
3735
3735
  ...dragProps,
@@ -3740,7 +3740,7 @@ function FolderItem(props) {
3740
3740
  children: [/* @__PURE__ */ jsx("div", {
3741
3741
  className: "p-1",
3742
3742
  children: /* @__PURE__ */ jsx("div", {
3743
- className: "relative text-gray-700 dark:text-slate-200",
3743
+ className: "relative text-foreground",
3744
3744
  children: /* @__PURE__ */ jsx(Icon, {
3745
3745
  name: "FolderClose",
3746
3746
  size: 24
@@ -3759,7 +3759,7 @@ function FolderItem(props) {
3759
3759
  setIsDropdownMenuOpen(true);
3760
3760
  },
3761
3761
  children: /* @__PURE__ */ jsx(Icon, {
3762
- className: "text-gray-700 dark:text-slate-200",
3762
+ className: "text-foreground",
3763
3763
  name: "VerticalDots"
3764
3764
  })
3765
3765
  })
@@ -3780,7 +3780,7 @@ function FooterLink(props) {
3780
3780
  //#region src/connect/components/footer/footer.tsx
3781
3781
  const Footer = ({ children, className, ...props }) => {
3782
3782
  return /* @__PURE__ */ jsx("footer", {
3783
- className: twMerge("flex items-center gap-x-6 text-xs font-medium text-gray-300 dark:text-slate-600", typeof className === "string" && className),
3783
+ className: twMerge("flex items-center gap-x-6 text-xs font-medium text-foreground", typeof className === "string" && className),
3784
3784
  ...props,
3785
3785
  children
3786
3786
  });
@@ -3792,9 +3792,9 @@ const FormInput = /* @__PURE__ */ forwardRef(function FormInput(props, ref) {
3792
3792
  const type = props.type ?? "text";
3793
3793
  const isError = !!errorMessage;
3794
3794
  return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
3795
- className: twMerge("mb-1 flex gap-2 rounded-md border border-gray-200 bg-gray-50 p-3 text-gray-900 placeholder:text-gray-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:placeholder:text-slate-900", isError && "border-red-900 dark:border-red-50", containerClassName),
3795
+ className: twMerge("mb-1 flex gap-2 rounded-md border border-border bg-background p-3 text-foreground placeholder:text-muted-foreground disabled:disabled-effect", isError && "border-destructive", containerClassName),
3796
3796
  children: [icon && /* @__PURE__ */ jsx("span", {
3797
- className: twJoin((!isDirty || isError) && "text-gray-200 dark:text-slate-200"),
3797
+ className: twJoin((!isDirty || isError) && "text-foreground"),
3798
3798
  children: icon
3799
3799
  }), /* @__PURE__ */ jsx("input", {
3800
3800
  ...delegatedProps,
@@ -3803,7 +3803,7 @@ const FormInput = /* @__PURE__ */ forwardRef(function FormInput(props, ref) {
3803
3803
  type
3804
3804
  })]
3805
3805
  }), /* @__PURE__ */ jsx("p", {
3806
- className: twMerge("hidden min-h-4 text-xs text-red-900 dark:text-red-400", isError && "block", hideErrors && "hidden", errorMessageClassName),
3806
+ className: twMerge("hidden min-h-4 text-xs text-destructive", isError && "block", hideErrors && "hidden", errorMessageClassName),
3807
3807
  children: errorMessage
3808
3808
  })] });
3809
3809
  });
@@ -3843,22 +3843,22 @@ const Toggle = /* @__PURE__ */ forwardRef(function Toggle(props, ref) {
3843
3843
  type: "checkbox",
3844
3844
  value: "",
3845
3845
  ...props
3846
- }), /* @__PURE__ */ jsx("div", { className: "peer h-6 w-11 rounded-full bg-gray-500 peer-checked:bg-blue-900 peer-focus:outline-none after:absolute after:inset-s-0.5 after:top-0.5 after:size-5 after:rounded-full after:border after:border-none after:bg-gray-50 after:transition-all peer-checked:after:translate-x-full dark:bg-slate-400 dark:after:bg-slate-800" })]
3846
+ }), /* @__PURE__ */ jsx("div", { className: "peer h-6 w-11 rounded-full bg-muted-foreground peer-checked:bg-info peer-focus:outline-none after:absolute after:inset-s-0.5 after:top-0.5 after:size-5 after:rounded-full after:border after:border-none after:bg-background after:transition-all peer-checked:after:translate-x-full" })]
3847
3847
  });
3848
3848
  });
3849
3849
  //#endregion
3850
3850
  //#region src/connect/components/form/inputs/available-offline-toggle.tsx
3851
3851
  const AvailableOfflineToggle = /* @__PURE__ */ forwardRef(function AvailableOfflineToggle(props, ref) {
3852
3852
  return /* @__PURE__ */ jsxs("div", {
3853
- className: "flex items-center rounded-md border border-gray-200 bg-gray-50 p-3 text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
3853
+ className: "flex items-center rounded-md border border-border bg-background p-3 text-foreground",
3854
3854
  children: [/* @__PURE__ */ jsxs("div", {
3855
3855
  className: "flex-1",
3856
3856
  children: [/* @__PURE__ */ jsx("label", {
3857
- className: "font-medium text-gray-900 dark:text-slate-50",
3857
+ className: "font-medium text-foreground",
3858
3858
  htmlFor: "availableOffline",
3859
3859
  children: "Make available offline"
3860
3860
  }), /* @__PURE__ */ jsxs("p", {
3861
- className: "text-xs text-gray-700 dark:text-slate-200",
3861
+ className: "text-xs text-foreground",
3862
3862
  children: [
3863
3863
  "Check this options if you keep a local backup",
3864
3864
  /* @__PURE__ */ jsx("br", {}),
@@ -3878,7 +3878,7 @@ function Label(props) {
3878
3878
  const { children, className, ...labelProps } = props;
3879
3879
  return /* @__PURE__ */ jsx("label", {
3880
3880
  ...labelProps,
3881
- className: twMerge("block font-semibold text-gray-500 dark:text-slate-400", className),
3881
+ className: twMerge("block font-semibold text-muted-foreground", className),
3882
3882
  children
3883
3883
  });
3884
3884
  }
@@ -3915,7 +3915,7 @@ function AddLocalDriveForm(props) {
3915
3915
  children: [
3916
3916
  /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Label, {
3917
3917
  htmlFor: "name",
3918
- className: "text-sm font-medium text-gray-900 dark:text-slate-100",
3918
+ className: "text-sm font-medium text-foreground",
3919
3919
  children: "Drive Name"
3920
3920
  }), /* @__PURE__ */ jsx(FormInput, {
3921
3921
  ...register("name", { required: "Drive name is required" }),
@@ -3924,7 +3924,7 @@ function AddLocalDriveForm(props) {
3924
3924
  })] }),
3925
3925
  /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Label, {
3926
3926
  htmlFor: "driveApp",
3927
- className: "text-sm font-medium text-gray-900 dark:text-slate-100",
3927
+ className: "text-sm font-medium text-foreground",
3928
3928
  children: "Drive App"
3929
3929
  }), /* @__PURE__ */ jsx(AppFormInput, {
3930
3930
  control,
@@ -3932,7 +3932,7 @@ function AddLocalDriveForm(props) {
3932
3932
  })] }),
3933
3933
  /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Label, {
3934
3934
  htmlFor: "sharingType",
3935
- className: "text-sm font-medium text-gray-900 dark:text-slate-100",
3935
+ className: "text-sm font-medium text-foreground",
3936
3936
  children: "Location"
3937
3937
  }), /* @__PURE__ */ jsx(SharingTypeFormInput, { control })] }),
3938
3938
  /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(AvailableOfflineToggle, { ...register("availableOffline") }) }),
@@ -3949,9 +3949,9 @@ function AddLocalDriveForm(props) {
3949
3949
  //#region src/connect/components/form/inputs/drive-name.tsx
3950
3950
  function DriveName(props) {
3951
3951
  return /* @__PURE__ */ jsxs("div", {
3952
- className: "flex gap-2 rounded-xl bg-gray-100 p-3 font-semibold text-gray-500 dark:bg-slate-700 dark:text-slate-400",
3952
+ className: "flex gap-2 rounded-xl bg-muted p-3 font-semibold text-muted-foreground",
3953
3953
  children: [/* @__PURE__ */ jsx(Icon, {
3954
- className: "text-gray-700 dark:text-slate-200",
3954
+ className: "text-foreground",
3955
3955
  name: "Drive"
3956
3956
  }), props.driveName]
3957
3957
  });
@@ -3963,9 +3963,9 @@ function LocationInfo(props) {
3963
3963
  const locationInfo = locationInfoByLocation[location];
3964
3964
  return /* @__PURE__ */ jsxs("div", {
3965
3965
  ...divProps,
3966
- className: twMerge("my-3 flex items-center gap-2 rounded-xl border border-gray-100 bg-gray-50 p-3 text-gray-900 shadow-sm dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", className),
3966
+ className: twMerge("my-3 flex items-center gap-2 rounded-xl border border-border bg-background p-3 text-foreground shadow-sm", className),
3967
3967
  children: [locationInfo.icon, /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: locationInfo.title }), /* @__PURE__ */ jsx("p", {
3968
- className: "text-xs text-gray-200 dark:text-slate-700",
3968
+ className: "text-xs text-foreground",
3969
3969
  children: locationInfo.description
3970
3970
  })] })]
3971
3971
  });
@@ -4074,14 +4074,14 @@ function FormattedJsonViewer(props) {
4074
4074
  children: [/* @__PURE__ */ jsx(JsonView.Copied, { render: ({ onClick, ...props }) => {
4075
4075
  if (props["data-copied"]) return /* @__PURE__ */ jsx(Icon, {
4076
4076
  ...props,
4077
- className: "inline-block text-green-800 dark:text-green-100",
4077
+ className: "inline-block text-success",
4078
4078
  name: "FilesEarmark",
4079
4079
  size: 16
4080
4080
  });
4081
4081
  return /* @__PURE__ */ jsx(Icon, {
4082
4082
  ...props,
4083
4083
  onClick,
4084
- className: "inline-block cursor-pointer text-gray-700 dark:text-slate-200",
4084
+ className: "inline-block cursor-pointer text-foreground",
4085
4085
  name: "FilesEarmark",
4086
4086
  size: 16
4087
4087
  });
@@ -4122,7 +4122,7 @@ const HomeBackgroundImage = ({ src } = {}) => {
4122
4122
  })
4123
4123
  });
4124
4124
  return /* @__PURE__ */ jsx("div", {
4125
- className: "pointer-events-none fixed top-0 z-0 size-full bg-gray-50 dark:bg-slate-800",
4125
+ className: "pointer-events-none fixed top-0 z-0 size-full bg-background",
4126
4126
  children: /* @__PURE__ */ jsxs("svg", {
4127
4127
  width: "1858",
4128
4128
  height: "1256",
@@ -4209,15 +4209,15 @@ const HomeBackgroundImage = ({ src } = {}) => {
4209
4209
  const HomeScreenItem = function HomeScreenItem(props) {
4210
4210
  const { icon, title, description, containerClassName, shareable, onClick } = props;
4211
4211
  return /* @__PURE__ */ jsxs("div", {
4212
- className: twMerge("hover-bg-transparent relative flex h-24 w-40 cursor-pointer flex-col items-center justify-center overflow-hidden rounded-md p-2 text-center text-sm text-gray-900 dark:text-slate-50", containerClassName, onClick && "cursor-pointer"),
4212
+ className: twMerge("relative flex h-24 w-40 cursor-pointer flex-col items-center justify-center overflow-hidden rounded-md p-2 text-center text-sm text-foreground hover:hover-effect", containerClassName, onClick && "cursor-pointer"),
4213
4213
  onClick,
4214
4214
  children: [
4215
4215
  /* @__PURE__ */ jsx("div", {
4216
4216
  className: "mx-auto pb-2",
4217
4217
  children: icon || /* @__PURE__ */ jsx("div", {
4218
- className: "size-8 items-center justify-center rounded-lg bg-gray-900 pt-1 dark:bg-slate-50",
4218
+ className: "size-8 items-center justify-center rounded-lg bg-primary pt-1",
4219
4219
  children: /* @__PURE__ */ jsx("span", {
4220
- className: "w-6 text-white dark:text-slate-900",
4220
+ className: "w-6 text-primary-foreground",
4221
4221
  children: title.slice(0, 1).toUpperCase()
4222
4222
  })
4223
4223
  })
@@ -4225,10 +4225,10 @@ const HomeScreenItem = function HomeScreenItem(props) {
4225
4225
  /* @__PURE__ */ jsxs("div", {
4226
4226
  className: "w-full max-w-full",
4227
4227
  children: [/* @__PURE__ */ jsx("h3", {
4228
- className: "w-full max-w-full truncate px-2 text-gray-900 dark:text-slate-50",
4228
+ className: "w-full max-w-full truncate px-2 text-foreground",
4229
4229
  children: title
4230
4230
  }), description && /* @__PURE__ */ jsx("p", {
4231
- className: "text-gray-500 dark:text-slate-400",
4231
+ className: "text-muted-foreground",
4232
4232
  children: description
4233
4233
  })]
4234
4234
  }),
@@ -4264,7 +4264,7 @@ const HomeScreen = function HomeScreen(props) {
4264
4264
  return /* @__PURE__ */ jsx("div", {
4265
4265
  className: twMerge("relative container mx-auto flex h-full flex-col", containerClassName),
4266
4266
  children: /* @__PURE__ */ jsxs("div", {
4267
- className: "m-8 flex flex-wrap justify-center gap-4 bg-gray-50 pt-12 dark:bg-slate-800",
4267
+ className: "m-8 flex flex-wrap justify-center gap-4 bg-background pt-12",
4268
4268
  children: [/* @__PURE__ */ jsx(HomeBackgroundImage, { src: homeBackground ?? void 0 }), children]
4269
4269
  })
4270
4270
  });
@@ -4342,7 +4342,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
4342
4342
  /* @__PURE__ */ jsx("div", {
4343
4343
  className: "flex shrink-0 items-center justify-between",
4344
4344
  children: /* @__PURE__ */ jsx("h2", {
4345
- className: "text-lg font-semibold text-gray-900 dark:text-slate-50",
4345
+ className: "text-lg font-semibold text-foreground",
4346
4346
  children: "Integrity Inspector"
4347
4347
  })
4348
4348
  }),
@@ -4352,10 +4352,10 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
4352
4352
  /* @__PURE__ */ jsxs("div", {
4353
4353
  className: "flex flex-1 flex-col gap-1",
4354
4354
  children: [/* @__PURE__ */ jsx("label", {
4355
- className: "text-xs font-medium text-gray-700 dark:text-slate-200",
4355
+ className: "text-xs font-medium text-foreground",
4356
4356
  children: "Document ID"
4357
4357
  }), /* @__PURE__ */ jsx("input", {
4358
- className: "rounded-sm border border-gray-300 px-3 py-1.5 text-sm outline-none focus:border-blue-400 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:focus:border-blue-500",
4358
+ className: "rounded-sm border border-border px-3 py-1.5 text-sm outline-none focus:border-info",
4359
4359
  onChange: (e) => setDocumentId(e.target.value),
4360
4360
  placeholder: "Enter document ID",
4361
4361
  type: "text",
@@ -4365,10 +4365,10 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
4365
4365
  /* @__PURE__ */ jsxs("div", {
4366
4366
  className: "flex w-40 flex-col gap-1",
4367
4367
  children: [/* @__PURE__ */ jsx("label", {
4368
- className: "text-xs font-medium text-gray-700 dark:text-slate-200",
4368
+ className: "text-xs font-medium text-foreground",
4369
4369
  children: "Branch (optional)"
4370
4370
  }), /* @__PURE__ */ jsx("input", {
4371
- className: "rounded-sm border border-gray-300 px-3 py-1.5 text-sm outline-none focus:border-blue-400 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:focus:border-blue-500",
4371
+ className: "rounded-sm border border-border px-3 py-1.5 text-sm outline-none focus:border-info",
4372
4372
  onChange: (e) => setBranch(e.target.value),
4373
4373
  placeholder: "main",
4374
4374
  type: "text",
@@ -4379,7 +4379,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
4379
4379
  className: "flex gap-2",
4380
4380
  children: [
4381
4381
  /* @__PURE__ */ jsxs("button", {
4382
- className: "flex items-center gap-1 rounded-sm border border-blue-300 bg-blue-50 px-3 py-1.5 text-sm text-blue-700 hover:bg-blue-100 disabled:opacity-50 dark:border-blue-600 dark:bg-blue-900 dark:text-blue-100 dark:hover:bg-blue-800",
4382
+ className: "flex items-center gap-1 rounded-sm border border-info bg-info/10 px-3 py-1.5 text-sm text-info hover:hover-effect disabled:disabled-effect",
4383
4383
  disabled: !documentId.trim() || status === "running" || confirmAction !== null,
4384
4384
  onClick: () => void handleValidate(),
4385
4385
  type: "button",
@@ -4389,7 +4389,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
4389
4389
  }), "Validate"]
4390
4390
  }),
4391
4391
  /* @__PURE__ */ jsxs("button", {
4392
- className: "flex items-center gap-1 rounded-sm border border-yellow-300 bg-yellow-50 px-3 py-1.5 text-sm text-yellow-700 hover:bg-yellow-100 disabled:opacity-50 dark:border-yellow-600 dark:bg-yellow-900 dark:text-yellow-100 dark:hover:bg-yellow-800",
4392
+ className: "flex items-center gap-1 rounded-sm border border-warning bg-warning/10 px-3 py-1.5 text-sm text-warning hover:hover-effect disabled:disabled-effect",
4393
4393
  disabled: !documentId.trim() || status === "running" || confirmAction !== null,
4394
4394
  onClick: () => setConfirmAction("keyframes"),
4395
4395
  type: "button",
@@ -4399,7 +4399,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
4399
4399
  }), "Rebuild Keyframes"]
4400
4400
  }),
4401
4401
  /* @__PURE__ */ jsxs("button", {
4402
- className: "flex items-center gap-1 rounded-sm border border-yellow-300 bg-yellow-50 px-3 py-1.5 text-sm text-yellow-700 hover:bg-yellow-100 disabled:opacity-50 dark:border-yellow-600 dark:bg-yellow-900 dark:text-yellow-100 dark:hover:bg-yellow-800",
4402
+ className: "flex items-center gap-1 rounded-sm border border-warning bg-warning/10 px-3 py-1.5 text-sm text-warning hover:hover-effect disabled:disabled-effect",
4403
4403
  disabled: !documentId.trim() || status === "running" || confirmAction !== null,
4404
4404
  onClick: () => setConfirmAction("snapshots"),
4405
4405
  type: "button",
@@ -4413,14 +4413,14 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
4413
4413
  ]
4414
4414
  }),
4415
4415
  confirmAction && /* @__PURE__ */ jsxs("div", {
4416
- className: "flex shrink-0 items-center gap-3 rounded-sm border border-yellow-400 bg-yellow-50 px-3 py-2 dark:border-yellow-500 dark:bg-yellow-900",
4416
+ className: "flex shrink-0 items-center gap-3 rounded-sm border border-warning bg-warning/10 px-3 py-2",
4417
4417
  children: [
4418
4418
  /* @__PURE__ */ jsx("span", {
4419
- className: "text-sm text-yellow-800 dark:text-yellow-100",
4419
+ className: "text-sm text-warning",
4420
4420
  children: confirmAction === "keyframes" ? "This will delete all keyframes for this document. Continue?" : "This will invalidate all cached snapshots for this document. Continue?"
4421
4421
  }),
4422
4422
  /* @__PURE__ */ jsx("button", {
4423
- className: "rounded-sm bg-yellow-600 px-3 py-1 text-sm text-white hover:bg-yellow-700 dark:bg-yellow-300 dark:text-slate-900 dark:hover:bg-yellow-200",
4423
+ className: "rounded-sm bg-warning px-3 py-1 text-sm text-warning-foreground hover:hover-effect",
4424
4424
  onClick: () => {
4425
4425
  if (confirmAction === "keyframes") handleRebuildKeyframes();
4426
4426
  else handleRebuildSnapshots();
@@ -4429,7 +4429,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
4429
4429
  children: "Confirm"
4430
4430
  }),
4431
4431
  /* @__PURE__ */ jsx("button", {
4432
- className: "rounded-sm border border-gray-300 bg-gray-50 px-3 py-1 text-sm text-gray-700 hover:bg-gray-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-800",
4432
+ className: "rounded-sm border border-border bg-background px-3 py-1 text-sm text-foreground hover:hover-effect",
4433
4433
  onClick: () => setConfirmAction(null),
4434
4434
  type: "button",
4435
4435
  children: "Cancel"
@@ -4437,18 +4437,18 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
4437
4437
  ]
4438
4438
  }),
4439
4439
  /* @__PURE__ */ jsxs("div", {
4440
- className: "min-h-0 flex-1 overflow-auto rounded-lg border border-gray-300 p-4 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4440
+ className: "min-h-0 flex-1 overflow-auto rounded-lg border border-border p-4",
4441
4441
  children: [
4442
4442
  status === "idle" && /* @__PURE__ */ jsx("div", {
4443
- className: "flex h-full items-center justify-center text-sm text-gray-400 dark:text-slate-500",
4443
+ className: "flex h-full items-center justify-center text-sm text-muted-foreground",
4444
4444
  children: "Enter a document ID and run an action"
4445
4445
  }),
4446
4446
  status === "running" && /* @__PURE__ */ jsx("div", {
4447
- className: "flex h-full items-center justify-center text-sm text-gray-500 dark:text-slate-400",
4447
+ className: "flex h-full items-center justify-center text-sm text-muted-foreground",
4448
4448
  children: "Running..."
4449
4449
  }),
4450
4450
  status === "error" && error && /* @__PURE__ */ jsx("div", {
4451
- className: "rounded-sm bg-red-50 p-3 text-sm text-red-700 dark:bg-red-900 dark:text-red-100",
4451
+ className: "rounded-sm bg-destructive/10 p-3 text-sm text-destructive",
4452
4452
  children: error
4453
4453
  }),
4454
4454
  status === "done" && validationResult && /* @__PURE__ */ jsx(ValidationResultView, { result: validationResult }),
@@ -4465,67 +4465,67 @@ function ValidationResultView({ result }) {
4465
4465
  children: [
4466
4466
  /* @__PURE__ */ jsxs("div", {
4467
4467
  className: "flex items-center gap-2",
4468
- children: [/* @__PURE__ */ jsx("span", { className: twMerge("size-3 rounded-full", result.isConsistent ? "bg-green-500 dark:bg-green-400" : "bg-red-500 dark:bg-red-400") }), /* @__PURE__ */ jsx("span", {
4468
+ children: [/* @__PURE__ */ jsx("span", { className: twMerge("size-3 rounded-full", result.isConsistent ? "bg-success" : "bg-destructive") }), /* @__PURE__ */ jsx("span", {
4469
4469
  className: "text-sm font-medium",
4470
4470
  children: result.isConsistent ? "Document is consistent" : `Found ${totalIssues} issue(s)`
4471
4471
  })]
4472
4472
  }),
4473
4473
  /* @__PURE__ */ jsxs("div", {
4474
- className: "text-xs text-gray-500 dark:text-slate-400",
4474
+ className: "text-xs text-muted-foreground",
4475
4475
  children: ["Document: ", result.documentId]
4476
4476
  }),
4477
4477
  result.keyframeIssues.length > 0 && /* @__PURE__ */ jsxs("div", {
4478
4478
  className: "flex flex-col gap-1",
4479
4479
  children: [/* @__PURE__ */ jsx("h3", {
4480
- className: "text-sm font-medium text-gray-700 dark:text-slate-200",
4480
+ className: "text-sm font-medium text-foreground",
4481
4481
  children: "Keyframe Issues"
4482
4482
  }), /* @__PURE__ */ jsxs("table", {
4483
4483
  className: "w-full border-collapse text-xs",
4484
4484
  children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", {
4485
- className: "bg-gray-100 dark:bg-slate-700",
4485
+ className: "bg-muted",
4486
4486
  children: [
4487
4487
  /* @__PURE__ */ jsx("th", {
4488
- className: "px-2 py-1 text-left font-medium text-gray-700 dark:text-slate-200",
4488
+ className: "px-2 py-1 text-left font-medium text-foreground",
4489
4489
  children: "Scope"
4490
4490
  }),
4491
4491
  /* @__PURE__ */ jsx("th", {
4492
- className: "border-l border-gray-300 px-2 py-1 text-left font-medium text-gray-700 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4492
+ className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
4493
4493
  children: "Branch"
4494
4494
  }),
4495
4495
  /* @__PURE__ */ jsx("th", {
4496
- className: "border-l border-gray-300 px-2 py-1 text-left font-medium text-gray-700 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4496
+ className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
4497
4497
  children: "Revision"
4498
4498
  }),
4499
4499
  /* @__PURE__ */ jsx("th", {
4500
- className: "border-l border-gray-300 px-2 py-1 text-left font-medium text-gray-700 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4500
+ className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
4501
4501
  children: "Keyframe Hash"
4502
4502
  }),
4503
4503
  /* @__PURE__ */ jsx("th", {
4504
- className: "border-l border-gray-300 px-2 py-1 text-left font-medium text-gray-700 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4504
+ className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
4505
4505
  children: "Replayed Hash"
4506
4506
  })
4507
4507
  ]
4508
4508
  }) }), /* @__PURE__ */ jsx("tbody", { children: result.keyframeIssues.map((issue, i) => /* @__PURE__ */ jsxs("tr", {
4509
- className: "odd:bg-white even:bg-gray-50 dark:odd:bg-slate-800 dark:even:bg-slate-800",
4509
+ className: "odd:bg-card even:bg-background",
4510
4510
  children: [
4511
4511
  /* @__PURE__ */ jsx("td", {
4512
4512
  className: "px-2 py-1",
4513
4513
  children: issue.scope
4514
4514
  }),
4515
4515
  /* @__PURE__ */ jsx("td", {
4516
- className: "border-l border-gray-300 px-2 py-1 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4516
+ className: "border-l border-border px-2 py-1",
4517
4517
  children: issue.branch
4518
4518
  }),
4519
4519
  /* @__PURE__ */ jsx("td", {
4520
- className: "border-l border-gray-300 px-2 py-1 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4520
+ className: "border-l border-border px-2 py-1",
4521
4521
  children: issue.revision
4522
4522
  }),
4523
4523
  /* @__PURE__ */ jsx("td", {
4524
- className: "border-l border-gray-300 px-2 py-1 font-mono dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4524
+ className: "border-l border-border px-2 py-1 font-mono",
4525
4525
  children: issue.keyframeHash
4526
4526
  }),
4527
4527
  /* @__PURE__ */ jsx("td", {
4528
- className: "border-l border-gray-300 px-2 py-1 font-mono dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4528
+ className: "border-l border-border px-2 py-1 font-mono",
4529
4529
  children: issue.replayedHash
4530
4530
  })
4531
4531
  ]
@@ -4535,47 +4535,47 @@ function ValidationResultView({ result }) {
4535
4535
  result.snapshotIssues.length > 0 && /* @__PURE__ */ jsxs("div", {
4536
4536
  className: "flex flex-col gap-1",
4537
4537
  children: [/* @__PURE__ */ jsx("h3", {
4538
- className: "text-sm font-medium text-gray-700 dark:text-slate-200",
4538
+ className: "text-sm font-medium text-foreground",
4539
4539
  children: "Snapshot Issues"
4540
4540
  }), /* @__PURE__ */ jsxs("table", {
4541
4541
  className: "w-full border-collapse text-xs",
4542
4542
  children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", {
4543
- className: "bg-gray-100 dark:bg-slate-700",
4543
+ className: "bg-muted",
4544
4544
  children: [
4545
4545
  /* @__PURE__ */ jsx("th", {
4546
- className: "px-2 py-1 text-left font-medium text-gray-700 dark:text-slate-200",
4546
+ className: "px-2 py-1 text-left font-medium text-foreground",
4547
4547
  children: "Scope"
4548
4548
  }),
4549
4549
  /* @__PURE__ */ jsx("th", {
4550
- className: "border-l border-gray-300 px-2 py-1 text-left font-medium text-gray-700 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4550
+ className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
4551
4551
  children: "Branch"
4552
4552
  }),
4553
4553
  /* @__PURE__ */ jsx("th", {
4554
- className: "border-l border-gray-300 px-2 py-1 text-left font-medium text-gray-700 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4554
+ className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
4555
4555
  children: "Snapshot Hash"
4556
4556
  }),
4557
4557
  /* @__PURE__ */ jsx("th", {
4558
- className: "border-l border-gray-300 px-2 py-1 text-left font-medium text-gray-700 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4558
+ className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
4559
4559
  children: "Replayed Hash"
4560
4560
  })
4561
4561
  ]
4562
4562
  }) }), /* @__PURE__ */ jsx("tbody", { children: result.snapshotIssues.map((issue, i) => /* @__PURE__ */ jsxs("tr", {
4563
- className: "odd:bg-white even:bg-gray-50 dark:odd:bg-slate-800 dark:even:bg-slate-800",
4563
+ className: "odd:bg-card even:bg-background",
4564
4564
  children: [
4565
4565
  /* @__PURE__ */ jsx("td", {
4566
4566
  className: "px-2 py-1",
4567
4567
  children: issue.scope
4568
4568
  }),
4569
4569
  /* @__PURE__ */ jsx("td", {
4570
- className: "border-l border-gray-300 px-2 py-1 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4570
+ className: "border-l border-border px-2 py-1",
4571
4571
  children: issue.branch
4572
4572
  }),
4573
4573
  /* @__PURE__ */ jsx("td", {
4574
- className: "border-l border-gray-300 px-2 py-1 font-mono dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4574
+ className: "border-l border-border px-2 py-1 font-mono",
4575
4575
  children: issue.snapshotHash
4576
4576
  }),
4577
4577
  /* @__PURE__ */ jsx("td", {
4578
- className: "border-l border-gray-300 px-2 py-1 font-mono dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
4578
+ className: "border-l border-border px-2 py-1 font-mono",
4579
4579
  children: issue.replayedHash
4580
4580
  })
4581
4581
  ]
@@ -4591,21 +4591,21 @@ function RebuildResultView({ result }) {
4591
4591
  children: [
4592
4592
  /* @__PURE__ */ jsxs("div", {
4593
4593
  className: "flex items-center gap-2",
4594
- children: [/* @__PURE__ */ jsx("span", { className: "size-3 rounded-full bg-green-500 dark:bg-green-400" }), /* @__PURE__ */ jsx("span", {
4594
+ children: [/* @__PURE__ */ jsx("span", { className: "size-3 rounded-full bg-success" }), /* @__PURE__ */ jsx("span", {
4595
4595
  className: "text-sm font-medium",
4596
4596
  children: "Rebuild complete"
4597
4597
  })]
4598
4598
  }),
4599
4599
  /* @__PURE__ */ jsxs("div", {
4600
- className: "text-xs text-gray-500 dark:text-slate-400",
4600
+ className: "text-xs text-muted-foreground",
4601
4601
  children: ["Document: ", result.documentId]
4602
4602
  }),
4603
4603
  result.keyframesDeleted > 0 && /* @__PURE__ */ jsxs("div", {
4604
- className: "text-sm text-gray-700 dark:text-slate-200",
4604
+ className: "text-sm text-foreground",
4605
4605
  children: ["Keyframes deleted: ", result.keyframesDeleted]
4606
4606
  }),
4607
4607
  result.scopesInvalidated > 0 && /* @__PURE__ */ jsxs("div", {
4608
- className: "text-sm text-gray-700 dark:text-slate-200",
4608
+ className: "text-sm text-foreground",
4609
4609
  children: ["Scopes invalidated: ", result.scopesInvalidated]
4610
4610
  })
4611
4611
  ]
@@ -4617,7 +4617,7 @@ const LoadingScreen = (props) => {
4617
4617
  const { showLoadingScreen, loadingComponent, size, className } = props;
4618
4618
  if (loadingComponent && showLoadingScreen) return loadingComponent;
4619
4619
  return /* @__PURE__ */ jsx("div", {
4620
- className: twMerge("absolute inset-0 z-10 flex items-center justify-center bg-gray-50 dark:bg-slate-800", !showLoadingScreen && "hidden", className),
4620
+ className: twMerge("absolute inset-0 z-10 flex items-center justify-center bg-background", !showLoadingScreen && "hidden", className),
4621
4621
  children: /* @__PURE__ */ jsx(LogoAnimation, { size })
4622
4622
  });
4623
4623
  };
@@ -4635,7 +4635,7 @@ function AddDriveModal(props) {
4635
4635
  open,
4636
4636
  children: /* @__PURE__ */ jsx("div", {
4637
4637
  ...containerProps,
4638
- className: twMerge("w-102 rounded-2xl bg-gray-50 p-6 dark:bg-slate-800", containerProps?.className),
4638
+ className: twMerge("w-102 rounded-2xl bg-background p-6", containerProps?.className),
4639
4639
  children: /* @__PURE__ */ jsxs(Tabs, {
4640
4640
  defaultValue: "Create Drive",
4641
4641
  children: [/* @__PURE__ */ jsx(TabContent, {
@@ -4694,17 +4694,17 @@ function CreateDocumentModal(props) {
4694
4694
  ...restProps,
4695
4695
  children: /* @__PURE__ */ jsxs("form", {
4696
4696
  name: "create-document",
4697
- className: "w-100 rounded-xl bg-gray-50 p-6 text-gray-300 dark:bg-slate-800 dark:text-slate-600",
4697
+ className: "w-100 rounded-xl bg-background p-6 text-foreground",
4698
4698
  onSubmit: handleSubmit,
4699
4699
  children: [
4700
4700
  /* @__PURE__ */ jsx("div", {
4701
- className: "pb-2 text-2xl font-bold text-gray-900 dark:text-slate-100",
4701
+ className: "pb-2 text-2xl font-bold text-foreground",
4702
4702
  children: "Create a new document"
4703
4703
  }),
4704
4704
  /* @__PURE__ */ jsxs("div", {
4705
4705
  className: "my-6",
4706
4706
  children: [!isValid && nodeName && /* @__PURE__ */ jsx("div", {
4707
- className: "mb-2 text-red-500 dark:text-red-100",
4707
+ className: "mb-2 text-destructive",
4708
4708
  children: "Document name must not be empty or contain control characters."
4709
4709
  }), /* @__PURE__ */ jsx(FormInput, {
4710
4710
  icon: /* @__PURE__ */ jsx(Icon, { name: "BrickGlobe" }),
@@ -4745,7 +4745,7 @@ const ConnectDeleteDriveModal = (props) => {
4745
4745
  ...confirmationModalProps,
4746
4746
  continueDisabled: inputName !== driveName,
4747
4747
  body: /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
4748
- className: "my-6 rounded-md bg-gray-50 p-4 text-center dark:bg-slate-800",
4748
+ className: "my-6 rounded-md bg-background p-4 text-center",
4749
4749
  children: body
4750
4750
  }), /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(FormInput, {
4751
4751
  hideErrors: true,
@@ -4788,7 +4788,7 @@ function DeleteDrive(props) {
4788
4788
  }
4789
4789
  return /* @__PURE__ */ jsxs("div", { children: [
4790
4790
  /* @__PURE__ */ jsx("p", {
4791
- className: "mb-2 rounded-md bg-gray-50 p-4 text-center text-gray-200 dark:bg-slate-800 dark:text-slate-200",
4791
+ className: "mb-2 rounded-md bg-background p-4 text-center text-foreground",
4792
4792
  children: "Are you sure you want to delete this drive? All files and subfolders within it will be removed. Do you want to proceed?"
4793
4793
  }),
4794
4794
  /* @__PURE__ */ jsx(DriveNameInput, {
@@ -4856,19 +4856,19 @@ function DriveSettingsForm(props) {
4856
4856
  title: "About this drive",
4857
4857
  children: [
4858
4858
  systemInfo.status === "local" && /* @__PURE__ */ jsx("p", {
4859
- className: "py-2 text-sm text-gray-500 dark:text-slate-400",
4859
+ className: "py-2 text-sm text-muted-foreground",
4860
4860
  children: "Local drive — N/A"
4861
4861
  }),
4862
4862
  systemInfo.status === "loading" && /* @__PURE__ */ jsx("p", {
4863
- className: "py-2 text-sm text-gray-400 dark:text-slate-500",
4863
+ className: "py-2 text-sm text-muted-foreground",
4864
4864
  children: "Loading…"
4865
4865
  }),
4866
4866
  systemInfo.status === "error" && /* @__PURE__ */ jsx("p", {
4867
- className: "py-2 text-sm text-red-600 dark:text-red-100",
4867
+ className: "py-2 text-sm text-destructive",
4868
4868
  children: "Could not load system info"
4869
4869
  }),
4870
4870
  systemInfo.status === "ready" && /* @__PURE__ */ jsxs("div", {
4871
- className: "py-2 text-sm text-gray-700 dark:text-slate-200",
4871
+ className: "py-2 text-sm text-foreground",
4872
4872
  children: [/* @__PURE__ */ jsxs("div", { children: [
4873
4873
  /* @__PURE__ */ jsx("span", {
4874
4874
  className: "font-medium",
@@ -4893,7 +4893,7 @@ function DriveSettingsForm(props) {
4893
4893
  onOpenChange: () => setShowDangerZone(!showDangerZone),
4894
4894
  title: "Danger zone",
4895
4895
  children: /* @__PURE__ */ jsxs("button", {
4896
- className: "flex gap-2 py-3 font-semibold text-red-900 transition hover:brightness-125 dark:text-red-400",
4896
+ className: "flex gap-2 py-3 font-semibold text-destructive transition hover:hover-effect",
4897
4897
  onClick: () => setShowDeleteDrive(true),
4898
4898
  type: "button",
4899
4899
  children: [/* @__PURE__ */ jsx(Icon, { name: "Trash" }), "Delete drive"]
@@ -4935,15 +4935,15 @@ function DriveSettingsModal(props) {
4935
4935
  open,
4936
4936
  children: /* @__PURE__ */ jsxs("div", {
4937
4937
  ...containerProps,
4938
- className: twMerge("max-w-[408px] rounded-2xl bg-gray-50 p-6 dark:bg-slate-800", containerProps?.className),
4938
+ className: twMerge("max-w-[408px] rounded-2xl bg-background p-6", containerProps?.className),
4939
4939
  children: [
4940
4940
  /* @__PURE__ */ jsxs("div", {
4941
4941
  className: "flex justify-between",
4942
4942
  children: [/* @__PURE__ */ jsx("h1", {
4943
- className: "text-xl font-bold text-gray-900 dark:text-slate-50",
4943
+ className: "text-xl font-bold text-foreground",
4944
4944
  children: "Drive settings"
4945
4945
  }), /* @__PURE__ */ jsx("button", {
4946
- className: "flex size-8 items-center justify-center rounded-md bg-gray-100 text-gray-500 outline-none hover:text-gray-900 dark:bg-slate-700 dark:text-slate-400 dark:hover:text-slate-50",
4946
+ className: "flex size-8 items-center justify-center rounded-md bg-muted text-muted-foreground outline-none hover:hover-effect",
4947
4947
  onClick: handleCancel,
4948
4948
  tabIndex: -1,
4949
4949
  children: /* @__PURE__ */ jsx(Icon, {
@@ -4998,14 +4998,14 @@ function ObjectInspectorModal({ open, onOpenChange, title, object }) {
4998
4998
  open,
4999
4999
  title,
5000
5000
  children: /* @__PURE__ */ jsxs("div", {
5001
- className: "flex size-full flex-col bg-gray-50 dark:bg-slate-800",
5001
+ className: "flex size-full flex-col bg-background",
5002
5002
  children: [/* @__PURE__ */ jsxs("div", {
5003
- className: "flex shrink-0 items-center justify-between border-b border-gray-200 px-4 py-3 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5003
+ className: "flex shrink-0 items-center justify-between border-b border-border px-4 py-3",
5004
5004
  children: [/* @__PURE__ */ jsx("h2", {
5005
- className: "text-lg font-semibold text-gray-900 dark:text-slate-50",
5005
+ className: "text-lg font-semibold text-foreground",
5006
5006
  children: title
5007
5007
  }), /* @__PURE__ */ jsx("button", {
5008
- className: "flex size-6 cursor-pointer items-center justify-center rounded-md text-gray-500 outline-none hover:text-gray-900 dark:text-slate-400 dark:hover:text-slate-50",
5008
+ className: "flex size-6 cursor-pointer items-center justify-center rounded-md text-muted-foreground outline-none hover:hover-effect",
5009
5009
  onClick: () => onOpenChange(false),
5010
5010
  type: "button",
5011
5011
  children: /* @__PURE__ */ jsx(Icon, {
@@ -5016,7 +5016,7 @@ function ObjectInspectorModal({ open, onOpenChange, title, object }) {
5016
5016
  }), /* @__PURE__ */ jsx("div", {
5017
5017
  className: "flex-1 overflow-auto p-4",
5018
5018
  children: serializableObject ? /* @__PURE__ */ jsx(JsonViewer, { data: serializableObject }) : /* @__PURE__ */ jsx("p", {
5019
- className: "text-gray-500 dark:text-slate-400",
5019
+ className: "text-muted-foreground",
5020
5020
  children: "No data to display"
5021
5021
  })
5022
5022
  })]
@@ -5180,12 +5180,12 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
5180
5180
  /* @__PURE__ */ jsxs("div", {
5181
5181
  className: "flex shrink-0 items-center justify-between",
5182
5182
  children: [/* @__PURE__ */ jsx("h2", {
5183
- className: "text-lg font-semibold text-gray-900 dark:text-slate-50",
5183
+ className: "text-lg font-semibold text-foreground",
5184
5184
  children: "Processors Inspector"
5185
5185
  }), /* @__PURE__ */ jsx("div", {
5186
5186
  className: "flex items-center gap-2",
5187
5187
  children: /* @__PURE__ */ jsxs("button", {
5188
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
5188
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect disabled:disabled-effect",
5189
5189
  disabled: loading,
5190
5190
  onClick: () => void handleRefresh(),
5191
5191
  type: "button",
@@ -5197,19 +5197,19 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
5197
5197
  })]
5198
5198
  }),
5199
5199
  /* @__PURE__ */ jsxs("div", {
5200
- className: "flex shrink-0 items-center gap-4 rounded-lg bg-gray-100 px-4 py-2 text-sm dark:bg-slate-700",
5200
+ className: "flex shrink-0 items-center gap-4 rounded-lg bg-muted px-4 py-2 text-sm",
5201
5201
  children: [
5202
5202
  /* @__PURE__ */ jsxs("div", {
5203
- className: "text-gray-700 dark:text-slate-200",
5203
+ className: "text-foreground",
5204
5204
  children: ["Total: ", /* @__PURE__ */ jsx("span", {
5205
5205
  className: "font-medium",
5206
5206
  children: processors.length
5207
5207
  })]
5208
5208
  }),
5209
5209
  /* @__PURE__ */ jsxs("div", {
5210
- className: "flex items-center gap-2 text-gray-700 dark:text-slate-200",
5210
+ className: "flex items-center gap-2 text-foreground",
5211
5211
  children: [
5212
- /* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-green-500 dark:bg-green-400" }),
5212
+ /* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-success" }),
5213
5213
  "Active: ",
5214
5214
  /* @__PURE__ */ jsx("span", {
5215
5215
  className: "font-medium",
@@ -5218,9 +5218,9 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
5218
5218
  ]
5219
5219
  }),
5220
5220
  /* @__PURE__ */ jsxs("div", {
5221
- className: "flex items-center gap-2 text-gray-700 dark:text-slate-200",
5221
+ className: "flex items-center gap-2 text-foreground",
5222
5222
  children: [
5223
- /* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-red-500 dark:bg-red-400" }),
5223
+ /* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-destructive" }),
5224
5224
  "Errored: ",
5225
5225
  /* @__PURE__ */ jsx("span", {
5226
5226
  className: "font-medium",
@@ -5231,20 +5231,20 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
5231
5231
  ]
5232
5232
  }),
5233
5233
  error && /* @__PURE__ */ jsxs("div", {
5234
- className: "shrink-0 rounded-lg border border-red-300 bg-red-50 px-4 py-2 text-sm text-red-700 dark:border-red-600 dark:bg-red-900 dark:text-red-100",
5234
+ className: "shrink-0 rounded-lg border border-destructive bg-destructive/10 px-4 py-2 text-sm text-destructive",
5235
5235
  children: ["Failed to load processors: ", error]
5236
5236
  }),
5237
5237
  /* @__PURE__ */ jsx("div", {
5238
- className: "max-h-full overflow-auto rounded-lg border border-gray-300 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5238
+ className: "max-h-full overflow-auto rounded-lg border border-border",
5239
5239
  children: /* @__PURE__ */ jsxs("table", {
5240
5240
  className: "w-full border-collapse",
5241
5241
  children: [/* @__PURE__ */ jsx("thead", {
5242
- className: "sticky top-0 bg-gray-100 dark:bg-slate-700",
5242
+ className: "sticky top-0 bg-muted",
5243
5243
  children: /* @__PURE__ */ jsx("tr", { children: COLUMNS$2.map((column, index) => {
5244
5244
  const isActive = sort?.column === column.key;
5245
5245
  const sortDirection = isActive ? sort.direction : "asc";
5246
5246
  return /* @__PURE__ */ jsx("th", {
5247
- className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-gray-700 hover:bg-gray-200 hover:text-gray-900 dark:text-slate-200 dark:hover:bg-slate-600 dark:hover:text-slate-100", index > 0 && "border-l border-gray-300 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100"),
5247
+ className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-foreground hover:hover-effect", index > 0 && "border-l border-border"),
5248
5248
  onClick: () => handleSort(column.key),
5249
5249
  style: { width: column.width },
5250
5250
  children: /* @__PURE__ */ jsxs("div", {
@@ -5260,38 +5260,38 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
5260
5260
  }, column.key);
5261
5261
  }) })
5262
5262
  }), /* @__PURE__ */ jsx("tbody", { children: loading && sortedProcessors.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
5263
- className: "px-3 py-8 text-center text-sm text-gray-500 dark:text-slate-400",
5263
+ className: "px-3 py-8 text-center text-sm text-muted-foreground",
5264
5264
  colSpan: COLUMNS$2.length,
5265
5265
  children: "Loading..."
5266
5266
  }) }) : sortedProcessors.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
5267
- className: "px-3 py-8 text-center text-sm text-gray-500 dark:text-slate-400",
5267
+ className: "px-3 py-8 text-center text-sm text-muted-foreground",
5268
5268
  colSpan: COLUMNS$2.length,
5269
5269
  children: "No processors registered"
5270
5270
  }) }) : sortedProcessors.map((processor) => /* @__PURE__ */ jsxs("tr", {
5271
- className: twMerge("hover:bg-blue-50 dark:hover:bg-blue-900", processor.status === "errored" ? "bg-red-50 dark:bg-red-900" : "odd:bg-white even:bg-gray-50 dark:odd:bg-slate-800 dark:even:bg-slate-800"),
5271
+ className: twMerge("hover:hover-effect", processor.status === "errored" ? "bg-destructive/10" : "odd:bg-card even:bg-background"),
5272
5272
  children: [
5273
5273
  /* @__PURE__ */ jsx("td", {
5274
5274
  className: "px-3 py-2 text-xs",
5275
5275
  children: /* @__PURE__ */ jsx("button", {
5276
- className: "flex items-center gap-1 rounded-sm bg-blue-50 px-2 py-1 text-xs text-blue-700 hover:bg-blue-100 dark:bg-blue-900 dark:text-blue-100 dark:hover:bg-blue-800",
5276
+ className: "flex items-center gap-1 rounded-sm bg-info/10 px-2 py-1 text-xs text-info hover:hover-effect",
5277
5277
  onClick: () => setSelectedProcessor(processor),
5278
5278
  type: "button",
5279
5279
  children: "View"
5280
5280
  })
5281
5281
  }),
5282
5282
  /* @__PURE__ */ jsx("td", {
5283
- className: "border-l border-gray-300 px-3 py-2 text-xs dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5283
+ className: "border-l border-border px-3 py-2 text-xs",
5284
5284
  children: /* @__PURE__ */ jsxs("span", {
5285
- className: twMerge("inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5", processor.status === "active" ? "bg-green-100 text-green-700 dark:bg-green-800 dark:text-green-100" : "bg-red-100 text-red-700 dark:bg-red-800 dark:text-red-100"),
5285
+ className: twMerge("inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5", processor.status === "active" ? "bg-success/10 text-success" : "bg-destructive/10 text-destructive"),
5286
5286
  children: [
5287
- processor.status === "active" && /* @__PURE__ */ jsx("span", { className: "inline-block size-1.5 rounded-full bg-green-500 dark:bg-green-400" }),
5288
- processor.status === "errored" && /* @__PURE__ */ jsx("span", { className: "inline-block size-1.5 rounded-full bg-red-500 dark:bg-red-400" }),
5287
+ processor.status === "active" && /* @__PURE__ */ jsx("span", { className: "inline-block size-1.5 rounded-full bg-success" }),
5288
+ processor.status === "errored" && /* @__PURE__ */ jsx("span", { className: "inline-block size-1.5 rounded-full bg-destructive" }),
5289
5289
  processor.status
5290
5290
  ]
5291
5291
  })
5292
5292
  }),
5293
5293
  /* @__PURE__ */ jsx("td", {
5294
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5294
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5295
5295
  children: /* @__PURE__ */ jsx("span", {
5296
5296
  className: "block truncate",
5297
5297
  title: processor.processorId,
@@ -5299,7 +5299,7 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
5299
5299
  })
5300
5300
  }),
5301
5301
  /* @__PURE__ */ jsx("td", {
5302
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5302
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5303
5303
  children: /* @__PURE__ */ jsx("span", {
5304
5304
  className: "block truncate",
5305
5305
  title: processor.factoryId,
@@ -5307,7 +5307,7 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
5307
5307
  })
5308
5308
  }),
5309
5309
  /* @__PURE__ */ jsx("td", {
5310
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5310
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5311
5311
  children: /* @__PURE__ */ jsx("span", {
5312
5312
  className: "block truncate",
5313
5313
  title: processor.driveId,
@@ -5315,39 +5315,39 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
5315
5315
  })
5316
5316
  }),
5317
5317
  /* @__PURE__ */ jsx("td", {
5318
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5318
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5319
5319
  children: processor.processorIndex
5320
5320
  }),
5321
5321
  /* @__PURE__ */ jsx("td", {
5322
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5322
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5323
5323
  children: processor.lastOrdinal
5324
5324
  }),
5325
5325
  /* @__PURE__ */ jsx("td", {
5326
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5326
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5327
5327
  children: processor.lastError ? /* @__PURE__ */ jsx("span", {
5328
- className: "block truncate text-red-600 dark:text-red-100",
5328
+ className: "block truncate text-destructive",
5329
5329
  title: processor.lastError,
5330
5330
  children: processor.lastError
5331
5331
  }) : /* @__PURE__ */ jsx("span", {
5332
- className: "text-gray-400 dark:text-slate-500",
5332
+ className: "text-muted-foreground",
5333
5333
  children: "-"
5334
5334
  })
5335
5335
  }),
5336
5336
  /* @__PURE__ */ jsx("td", {
5337
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5337
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5338
5338
  children: processor.lastErrorTimestamp ? /* @__PURE__ */ jsx("span", {
5339
5339
  className: "block truncate",
5340
5340
  title: processor.lastErrorTimestamp.toISOString(),
5341
5341
  children: processor.lastErrorTimestamp.toLocaleString()
5342
5342
  }) : /* @__PURE__ */ jsx("span", {
5343
- className: "text-gray-400 dark:text-slate-500",
5343
+ className: "text-muted-foreground",
5344
5344
  children: "-"
5345
5345
  })
5346
5346
  }),
5347
5347
  /* @__PURE__ */ jsx("td", {
5348
- className: "border-l border-gray-300 px-3 py-2 text-xs dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5348
+ className: "border-l border-border px-3 py-2 text-xs",
5349
5349
  children: processor.status === "errored" && onRetry && /* @__PURE__ */ jsx("button", {
5350
- className: "flex items-center gap-1 rounded-sm bg-yellow-50 px-2 py-1 text-xs text-yellow-700 hover:bg-yellow-100 disabled:opacity-50 dark:bg-yellow-900 dark:text-yellow-100 dark:hover:bg-yellow-800",
5350
+ className: "flex items-center gap-1 rounded-sm bg-warning/10 px-2 py-1 text-xs text-warning hover:hover-effect disabled:disabled-effect",
5351
5351
  disabled: retryingId === processor.processorId,
5352
5352
  onClick: () => void handleRetry(processor.processorId),
5353
5353
  type: "button",
@@ -5359,7 +5359,7 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
5359
5359
  })
5360
5360
  }),
5361
5361
  /* @__PURE__ */ jsxs("div", {
5362
- className: "shrink-0 text-sm text-gray-700 dark:text-slate-200",
5362
+ className: "shrink-0 text-sm text-foreground",
5363
5363
  children: [
5364
5364
  "Showing ",
5365
5365
  sortedProcessors.length,
@@ -5535,12 +5535,12 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5535
5535
  /* @__PURE__ */ jsxs("div", {
5536
5536
  className: "flex shrink-0 items-center justify-between",
5537
5537
  children: [/* @__PURE__ */ jsx("h2", {
5538
- className: "text-lg font-semibold text-gray-900 dark:text-slate-50",
5538
+ className: "text-lg font-semibold text-foreground",
5539
5539
  children: "Queue Inspector"
5540
5540
  }), /* @__PURE__ */ jsxs("div", {
5541
5541
  className: "flex items-center gap-2",
5542
5542
  children: [/* @__PURE__ */ jsxs("button", {
5543
- className: twMerge("flex items-center gap-1 rounded-sm border px-3 py-1.5 text-sm disabled:opacity-50", state.isPaused ? "border-green-300 bg-green-50 text-green-700 hover:bg-green-100 dark:border-green-600 dark:bg-green-900 dark:text-green-100 dark:hover:bg-green-800" : "border-yellow-300 bg-yellow-50 text-yellow-700 hover:bg-yellow-100 dark:border-yellow-600 dark:bg-yellow-900 dark:text-yellow-100 dark:hover:bg-yellow-800"),
5543
+ className: twMerge("flex items-center gap-1 rounded-sm border px-3 py-1.5 text-sm disabled:disabled-effect", state.isPaused ? "border-success bg-success/10 text-success hover:hover-effect" : "border-warning bg-warning/10 text-warning hover:hover-effect"),
5544
5544
  disabled: actionInProgress,
5545
5545
  onClick: () => void handlePauseResume(),
5546
5546
  type: "button",
@@ -5549,7 +5549,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5549
5549
  size: 14
5550
5550
  }), state.isPaused ? "Resume" : "Pause"]
5551
5551
  }), /* @__PURE__ */ jsxs("button", {
5552
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
5552
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect disabled:disabled-effect",
5553
5553
  disabled: loading,
5554
5554
  onClick: () => void handleRefresh(),
5555
5555
  type: "button",
@@ -5561,24 +5561,24 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5561
5561
  })]
5562
5562
  }),
5563
5563
  /* @__PURE__ */ jsxs("div", {
5564
- className: "flex shrink-0 items-center gap-4 rounded-lg bg-gray-100 px-4 py-2 text-sm dark:bg-slate-700",
5564
+ className: "flex shrink-0 items-center gap-4 rounded-lg bg-muted px-4 py-2 text-sm",
5565
5565
  children: [
5566
5566
  /* @__PURE__ */ jsxs("div", {
5567
5567
  className: "flex items-center gap-2",
5568
- children: [/* @__PURE__ */ jsx("span", { className: twMerge("size-2 rounded-full", state.isPaused ? "bg-yellow-500 dark:bg-yellow-400" : "bg-green-500 dark:bg-green-400") }), /* @__PURE__ */ jsx("span", {
5569
- className: "font-medium text-gray-700 dark:text-slate-200",
5568
+ children: [/* @__PURE__ */ jsx("span", { className: twMerge("size-2 rounded-full", state.isPaused ? "bg-warning" : "bg-success") }), /* @__PURE__ */ jsx("span", {
5569
+ className: "font-medium text-foreground",
5570
5570
  children: state.isPaused ? "Paused" : "Running"
5571
5571
  })]
5572
5572
  }),
5573
5573
  /* @__PURE__ */ jsxs("div", {
5574
- className: "text-gray-700 dark:text-slate-200",
5574
+ className: "text-foreground",
5575
5575
  children: ["Pending: ", /* @__PURE__ */ jsx("span", {
5576
5576
  className: "font-medium",
5577
5577
  children: state.totalPending
5578
5578
  })]
5579
5579
  }),
5580
5580
  /* @__PURE__ */ jsxs("div", {
5581
- className: "text-gray-700 dark:text-slate-200",
5581
+ className: "text-foreground",
5582
5582
  children: ["Executing: ", /* @__PURE__ */ jsx("span", {
5583
5583
  className: "font-medium",
5584
5584
  children: state.totalExecuting
@@ -5587,16 +5587,16 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5587
5587
  ]
5588
5588
  }),
5589
5589
  /* @__PURE__ */ jsx("div", {
5590
- className: "max-h-full overflow-auto rounded-lg border border-gray-300 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5590
+ className: "max-h-full overflow-auto rounded-lg border border-border",
5591
5591
  children: /* @__PURE__ */ jsxs("table", {
5592
5592
  className: "w-full border-collapse",
5593
5593
  children: [/* @__PURE__ */ jsx("thead", {
5594
- className: "sticky top-0 bg-gray-100 dark:bg-slate-700",
5594
+ className: "sticky top-0 bg-muted",
5595
5595
  children: /* @__PURE__ */ jsx("tr", { children: COLUMNS$1.map((column, index) => {
5596
5596
  const isActive = sort?.column === column.key;
5597
5597
  const sortDirection = isActive ? sort.direction : "asc";
5598
5598
  return /* @__PURE__ */ jsx("th", {
5599
- className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-gray-700 hover:bg-gray-200 hover:text-gray-900 dark:text-slate-200 dark:hover:bg-slate-600 dark:hover:text-slate-100", index > 0 && "border-l border-gray-300 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100"),
5599
+ className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-foreground hover:hover-effect", index > 0 && "border-l border-border"),
5600
5600
  onClick: () => handleSort(column.key),
5601
5601
  style: { width: column.width },
5602
5602
  children: /* @__PURE__ */ jsxs("div", {
@@ -5612,27 +5612,27 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5612
5612
  }, column.key);
5613
5613
  }) })
5614
5614
  }), /* @__PURE__ */ jsx("tbody", { children: loading && sortedJobs.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
5615
- className: "px-3 py-8 text-center text-sm text-gray-500 dark:text-slate-400",
5615
+ className: "px-3 py-8 text-center text-sm text-muted-foreground",
5616
5616
  colSpan: COLUMNS$1.length,
5617
5617
  children: "Loading..."
5618
5618
  }) }) : sortedJobs.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
5619
- className: "px-3 py-8 text-center text-sm text-gray-500 dark:text-slate-400",
5619
+ className: "px-3 py-8 text-center text-sm text-muted-foreground",
5620
5620
  colSpan: COLUMNS$1.length,
5621
5621
  children: "No jobs in queue"
5622
5622
  }) }) : sortedJobs.map((job) => /* @__PURE__ */ jsxs("tr", {
5623
- className: "odd:bg-white even:bg-gray-50 hover:bg-blue-50 dark:odd:bg-slate-800 dark:even:bg-slate-800 dark:hover:bg-blue-900",
5623
+ className: "odd:bg-card even:bg-background hover:hover-effect",
5624
5624
  children: [
5625
5625
  /* @__PURE__ */ jsx("td", {
5626
5626
  className: "px-3 py-2 text-xs",
5627
5627
  children: /* @__PURE__ */ jsx("button", {
5628
- className: "flex items-center gap-1 rounded-sm bg-blue-50 px-2 py-1 text-xs text-blue-700 hover:bg-blue-100 dark:bg-blue-900 dark:text-blue-100 dark:hover:bg-blue-800",
5628
+ className: "flex items-center gap-1 rounded-sm bg-info/10 px-2 py-1 text-xs text-info hover:hover-effect",
5629
5629
  onClick: () => setSelectedJob(job),
5630
5630
  type: "button",
5631
5631
  children: "View"
5632
5632
  })
5633
5633
  }),
5634
5634
  /* @__PURE__ */ jsx("td", {
5635
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5635
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5636
5636
  children: /* @__PURE__ */ jsx("span", {
5637
5637
  className: "block truncate",
5638
5638
  title: job.id,
@@ -5640,14 +5640,14 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5640
5640
  })
5641
5641
  }),
5642
5642
  /* @__PURE__ */ jsx("td", {
5643
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5643
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5644
5644
  children: /* @__PURE__ */ jsx("span", {
5645
- className: twMerge("inline-block rounded-sm px-1.5 py-0.5", job.kind === "mutation" ? "bg-purple-100 text-purple-700 dark:bg-purple-800 dark:text-purple-100" : "bg-blue-100 text-blue-700 dark:bg-blue-800 dark:text-blue-100"),
5645
+ className: twMerge("inline-block rounded-sm px-1.5 py-0.5", job.kind === "mutation" ? "bg-info/10 text-info" : "bg-info/10 text-info"),
5646
5646
  children: job.kind
5647
5647
  })
5648
5648
  }),
5649
5649
  /* @__PURE__ */ jsx("td", {
5650
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5650
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5651
5651
  children: /* @__PURE__ */ jsx("span", {
5652
5652
  className: "block truncate",
5653
5653
  title: job.documentId,
@@ -5655,7 +5655,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5655
5655
  })
5656
5656
  }),
5657
5657
  /* @__PURE__ */ jsx("td", {
5658
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5658
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5659
5659
  children: /* @__PURE__ */ jsx("span", {
5660
5660
  className: "block truncate",
5661
5661
  title: job.scope,
@@ -5663,7 +5663,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5663
5663
  })
5664
5664
  }),
5665
5665
  /* @__PURE__ */ jsx("td", {
5666
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5666
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5667
5667
  children: /* @__PURE__ */ jsx("span", {
5668
5668
  className: "block truncate",
5669
5669
  title: job.branch,
@@ -5671,7 +5671,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5671
5671
  })
5672
5672
  }),
5673
5673
  /* @__PURE__ */ jsx("td", {
5674
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5674
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5675
5675
  children: /* @__PURE__ */ jsx("span", {
5676
5676
  className: "block truncate",
5677
5677
  title: job.createdAt,
@@ -5679,14 +5679,14 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5679
5679
  })
5680
5680
  }),
5681
5681
  /* @__PURE__ */ jsx("td", {
5682
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5682
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5683
5683
  children: job.retryCount ?? 0
5684
5684
  }),
5685
5685
  /* @__PURE__ */ jsx("td", {
5686
- className: "border-l border-gray-300 px-3 py-2 text-xs dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5686
+ className: "border-l border-border px-3 py-2 text-xs",
5687
5687
  children: /* @__PURE__ */ jsxs("span", {
5688
- className: twMerge("inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5", job.status === "executing" ? "bg-green-100 text-green-700 dark:bg-green-800 dark:text-green-100" : "bg-gray-100 text-gray-700 dark:bg-slate-700 dark:text-slate-200"),
5689
- children: [job.status === "executing" && /* @__PURE__ */ jsx("span", { className: "inline-block size-1.5 animate-pulse rounded-full bg-green-500 dark:bg-green-400" }), job.status]
5688
+ className: twMerge("inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5", job.status === "executing" ? "bg-success/10 text-success" : "bg-muted text-foreground"),
5689
+ children: [job.status === "executing" && /* @__PURE__ */ jsx("span", { className: "inline-block size-1.5 animate-pulse rounded-full bg-success" }), job.status]
5690
5690
  })
5691
5691
  })
5692
5692
  ]
@@ -5694,7 +5694,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5694
5694
  })
5695
5695
  }),
5696
5696
  /* @__PURE__ */ jsxs("div", {
5697
- className: "shrink-0 text-sm text-gray-700 dark:text-slate-200",
5697
+ className: "shrink-0 text-sm text-foreground",
5698
5698
  children: [
5699
5699
  "Showing ",
5700
5700
  sortedJobs.length,
@@ -5713,15 +5713,15 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
5713
5713
  //#endregion
5714
5714
  //#region src/connect/components/remotes-inspector/components/connection-state-badge.tsx
5715
5715
  const stateStyles = {
5716
- connected: "bg-green-100 text-green-800 dark:bg-green-800 dark:text-green-100",
5717
- connecting: "bg-blue-100 text-blue-800 dark:bg-blue-800 dark:text-blue-100",
5718
- reconnecting: "bg-yellow-100 text-yellow-800 dark:bg-yellow-800 dark:text-yellow-100",
5719
- error: "bg-red-100 text-red-800 dark:bg-red-800 dark:text-red-100",
5720
- disconnected: "bg-gray-100 text-gray-700 dark:bg-slate-700 dark:text-slate-200"
5716
+ connected: "bg-success/10 text-success",
5717
+ connecting: "bg-info/10 text-info",
5718
+ reconnecting: "bg-warning/10 text-warning",
5719
+ error: "bg-destructive/10 text-destructive",
5720
+ disconnected: "bg-muted text-foreground"
5721
5721
  };
5722
5722
  function ConnectionStateBadge({ state, failureCount }) {
5723
5723
  return /* @__PURE__ */ jsxs("span", {
5724
- className: twMerge("inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-medium", stateStyles[state] ?? "bg-gray-100 text-gray-700 dark:bg-slate-700 dark:text-slate-200"),
5724
+ className: twMerge("inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-medium", stateStyles[state] ?? "bg-muted text-foreground"),
5725
5725
  children: [state, failureCount > 0 && /* @__PURE__ */ jsxs("span", {
5726
5726
  className: "text-xs opacity-75",
5727
5727
  children: [
@@ -5891,7 +5891,7 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
5891
5891
  /* @__PURE__ */ jsxs("div", {
5892
5892
  className: "flex items-center justify-between",
5893
5893
  children: [/* @__PURE__ */ jsxs("button", {
5894
- className: "flex items-center gap-2 text-left text-sm font-medium text-gray-700 hover:text-gray-900 dark:text-slate-200 dark:hover:text-slate-50",
5894
+ className: "flex items-center gap-2 text-left text-sm font-medium text-foreground hover:hover-effect",
5895
5895
  onClick: onToggleCollapse,
5896
5896
  type: "button",
5897
5897
  children: [
@@ -5908,7 +5908,7 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
5908
5908
  ")"
5909
5909
  ]
5910
5910
  }), operations.length > 0 && /* @__PURE__ */ jsxs("button", {
5911
- className: "flex items-center gap-1 rounded-sm bg-gray-100 px-2 py-1 text-xs text-gray-700 hover:bg-gray-200 dark:bg-slate-700 dark:text-slate-200 dark:hover:bg-slate-600 dark:hover:text-slate-100",
5911
+ className: "flex items-center gap-1 rounded-sm bg-muted px-2 py-1 text-xs text-foreground hover:hover-effect",
5912
5912
  onClick: () => void handleCopyAll(),
5913
5913
  type: "button",
5914
5914
  children: [/* @__PURE__ */ jsx(Icon, {
@@ -5918,16 +5918,16 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
5918
5918
  })]
5919
5919
  }),
5920
5920
  !collapsed && /* @__PURE__ */ jsx("div", {
5921
- className: "scrollbar-thin overflow-auto rounded-lg border border-gray-300 scrollbar-thumb-gray-300 scrollbar-thumb-rounded-md scrollbar-track-transparent dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:scrollbar-thumb-slate-600",
5921
+ className: "scrollbar-thin overflow-auto rounded-lg border border-border scrollbar-thumb-border scrollbar-thumb-rounded-md scrollbar-track-transparent",
5922
5922
  children: /* @__PURE__ */ jsxs("table", {
5923
5923
  className: "w-full border-collapse",
5924
5924
  children: [/* @__PURE__ */ jsx("thead", {
5925
- className: "sticky top-0 bg-gray-100 dark:bg-slate-700",
5925
+ className: "sticky top-0 bg-muted",
5926
5926
  children: /* @__PURE__ */ jsx("tr", { children: columns.map((column, index) => {
5927
5927
  const isActive = sort?.column === column.key;
5928
5928
  const sortDirection = isActive ? sort.direction : "asc";
5929
5929
  return /* @__PURE__ */ jsx("th", {
5930
- className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-gray-700 hover:bg-gray-200 hover:text-gray-900 dark:text-slate-200 dark:hover:bg-slate-600 dark:hover:text-slate-100", index > 0 && "border-l border-gray-300 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100"),
5930
+ className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-foreground hover:hover-effect", index > 0 && "border-l border-border"),
5931
5931
  onClick: () => handleSort(column.key),
5932
5932
  style: { width: column.width },
5933
5933
  children: /* @__PURE__ */ jsxs("div", {
@@ -5943,23 +5943,23 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
5943
5943
  }, column.key);
5944
5944
  }) })
5945
5945
  }), /* @__PURE__ */ jsx("tbody", { children: sortedOps.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
5946
- className: "px-3 py-4 text-center text-sm text-gray-500 dark:text-slate-400",
5946
+ className: "px-3 py-4 text-center text-sm text-muted-foreground",
5947
5947
  colSpan: columns.length,
5948
5948
  children: "No operations"
5949
5949
  }) }) : sortedOps.map((op) => /* @__PURE__ */ jsxs("tr", {
5950
- className: "odd:bg-white even:bg-gray-50 hover:bg-blue-50 dark:odd:bg-slate-800 dark:even:bg-slate-800 dark:hover:bg-blue-900",
5950
+ className: "odd:bg-card even:bg-background hover:hover-effect",
5951
5951
  children: [
5952
5952
  /* @__PURE__ */ jsx("td", {
5953
5953
  className: "px-3 py-2 text-xs",
5954
5954
  children: /* @__PURE__ */ jsx("button", {
5955
- className: "flex items-center gap-1 rounded-sm bg-blue-50 px-2 py-1 text-xs text-blue-700 hover:bg-blue-100 dark:bg-blue-900 dark:text-blue-100 dark:hover:bg-blue-800",
5955
+ className: "flex items-center gap-1 rounded-sm bg-info/10 px-2 py-1 text-xs text-info hover:hover-effect",
5956
5956
  onClick: () => setSelectedOperation(op),
5957
5957
  type: "button",
5958
5958
  children: "View"
5959
5959
  })
5960
5960
  }),
5961
5961
  /* @__PURE__ */ jsx("td", {
5962
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5962
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5963
5963
  children: /* @__PURE__ */ jsx("span", {
5964
5964
  className: "block truncate",
5965
5965
  title: op.documentId,
@@ -5967,7 +5967,7 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
5967
5967
  })
5968
5968
  }),
5969
5969
  /* @__PURE__ */ jsx("td", {
5970
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5970
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5971
5971
  children: /* @__PURE__ */ jsx("span", {
5972
5972
  className: "block truncate",
5973
5973
  title: op.branch,
@@ -5975,7 +5975,7 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
5975
5975
  })
5976
5976
  }),
5977
5977
  /* @__PURE__ */ jsx("td", {
5978
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5978
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5979
5979
  children: /* @__PURE__ */ jsx("span", {
5980
5980
  className: "block truncate",
5981
5981
  title: op.scopes.join(", "),
@@ -5983,20 +5983,20 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
5983
5983
  })
5984
5984
  }),
5985
5985
  mailboxType === "deadLetter" ? /* @__PURE__ */ jsx("td", {
5986
- className: "border-l border-gray-300 px-3 py-2 text-xs dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5986
+ className: "border-l border-border px-3 py-2 text-xs",
5987
5987
  children: /* @__PURE__ */ jsx("span", {
5988
- className: "block truncate text-red-600 dark:text-red-100",
5988
+ className: "block truncate text-destructive",
5989
5989
  title: getErrorMessage(op.error),
5990
5990
  children: getErrorMessage(op.error) || "Unknown error"
5991
5991
  })
5992
5992
  }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("td", {
5993
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5993
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
5994
5994
  children: /* @__PURE__ */ jsxs("span", {
5995
5995
  className: "flex items-center gap-1",
5996
5996
  children: [getStatusIcon(op.status), getStatusLabel(op.status)]
5997
5997
  })
5998
5998
  }), /* @__PURE__ */ jsx("td", {
5999
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
5999
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
6000
6000
  children: op.operations.length
6001
6001
  })] })
6002
6002
  ]
@@ -6112,7 +6112,7 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6112
6112
  children: [/* @__PURE__ */ jsxs("div", {
6113
6113
  className: "flex items-center gap-2",
6114
6114
  children: [/* @__PURE__ */ jsxs("button", {
6115
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-2 py-1 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6115
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-2 py-1 text-sm text-foreground hover:hover-effect",
6116
6116
  onClick: onBack,
6117
6117
  type: "button",
6118
6118
  children: [/* @__PURE__ */ jsx(Icon, {
@@ -6121,11 +6121,11 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6121
6121
  size: 14
6122
6122
  }), "Back"]
6123
6123
  }), /* @__PURE__ */ jsxs("h2", {
6124
- className: "text-lg font-semibold text-gray-900 dark:text-slate-50",
6124
+ className: "text-lg font-semibold text-foreground",
6125
6125
  children: ["Channel: ", remoteName]
6126
6126
  })]
6127
6127
  }), onRefresh && /* @__PURE__ */ jsxs("button", {
6128
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6128
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
6129
6129
  onClick: onRefresh,
6130
6130
  type: "button",
6131
6131
  children: [/* @__PURE__ */ jsx(Icon, {
@@ -6135,12 +6135,12 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6135
6135
  })]
6136
6136
  }),
6137
6137
  connectionState && /* @__PURE__ */ jsxs("div", {
6138
- className: "rounded-sm border border-gray-200 bg-gray-50 p-4 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6138
+ className: "rounded-sm border border-border bg-background p-4",
6139
6139
  children: [/* @__PURE__ */ jsx("h3", {
6140
- className: "mb-3 text-sm font-semibold text-gray-900 dark:text-slate-50",
6140
+ className: "mb-3 text-sm font-semibold text-foreground",
6141
6141
  children: "Connection State"
6142
6142
  }), /* @__PURE__ */ jsxs("div", {
6143
- className: "flex flex-wrap items-center gap-4 text-sm text-gray-700 dark:text-slate-200",
6143
+ className: "flex flex-wrap items-center gap-4 text-sm text-foreground",
6144
6144
  children: [
6145
6145
  /* @__PURE__ */ jsxs("div", {
6146
6146
  className: "flex items-center gap-2",
@@ -6156,11 +6156,11 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6156
6156
  "Push:",
6157
6157
  " ",
6158
6158
  /* @__PURE__ */ jsx("span", {
6159
- className: connectionState.pushBlocked ? "text-red-600 dark:text-red-100" : "text-green-600 dark:text-green-100",
6159
+ className: connectionState.pushBlocked ? "text-destructive" : "text-success",
6160
6160
  children: connectionState.pushBlocked ? "Blocked" : "OK"
6161
6161
  }),
6162
6162
  connectionState.pushFailureCount > 0 && /* @__PURE__ */ jsxs("span", {
6163
- className: "ml-1 text-red-600 dark:text-red-100",
6163
+ className: "ml-1 text-destructive",
6164
6164
  children: [
6165
6165
  "(",
6166
6166
  connectionState.pushFailureCount,
@@ -6172,21 +6172,21 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6172
6172
  })]
6173
6173
  }),
6174
6174
  pollerControls && /* @__PURE__ */ jsxs("div", {
6175
- className: "rounded-sm border border-gray-200 bg-gray-50 p-4 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6175
+ className: "rounded-sm border border-border bg-background p-4",
6176
6176
  children: [/* @__PURE__ */ jsx("h3", {
6177
- className: "mb-3 text-sm font-semibold text-gray-900 dark:text-slate-50",
6177
+ className: "mb-3 text-sm font-semibold text-foreground",
6178
6178
  children: "Poller"
6179
6179
  }), /* @__PURE__ */ jsxs("div", {
6180
6180
  className: "flex items-center justify-between",
6181
6181
  children: [/* @__PURE__ */ jsxs("div", {
6182
6182
  className: "flex items-center gap-4",
6183
6183
  children: [/* @__PURE__ */ jsxs("div", {
6184
- className: "text-sm text-gray-700 dark:text-slate-200",
6184
+ className: "text-sm text-foreground",
6185
6185
  children: [
6186
6186
  "Status:",
6187
6187
  " ",
6188
6188
  /* @__PURE__ */ jsx("span", {
6189
- className: pollerState.isPaused ? "text-yellow-600 dark:text-yellow-100" : "text-green-600 dark:text-green-100",
6189
+ className: pollerState.isPaused ? "text-warning" : "text-success",
6190
6190
  children: pollerState.isPaused ? "Paused" : "Running"
6191
6191
  })
6192
6192
  ]
@@ -6194,12 +6194,12 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6194
6194
  className: "flex items-center gap-1",
6195
6195
  children: [
6196
6196
  /* @__PURE__ */ jsx("label", {
6197
- className: "text-sm text-gray-700 dark:text-slate-200",
6197
+ className: "text-sm text-foreground",
6198
6198
  htmlFor: "poll-interval",
6199
6199
  children: "Interval:"
6200
6200
  }),
6201
6201
  /* @__PURE__ */ jsx("input", {
6202
- className: "w-20 rounded-sm border border-gray-300 px-2 py-1 text-sm dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6202
+ className: "w-20 rounded-sm border border-border px-2 py-1 text-sm",
6203
6203
  id: "poll-interval",
6204
6204
  min: 100,
6205
6205
  onChange: (e) => setIntervalMs(Number(e.target.value)),
@@ -6210,11 +6210,11 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6210
6210
  value: intervalMs
6211
6211
  }),
6212
6212
  /* @__PURE__ */ jsx("span", {
6213
- className: "text-sm text-gray-500 dark:text-slate-400",
6213
+ className: "text-sm text-muted-foreground",
6214
6214
  children: "ms"
6215
6215
  }),
6216
6216
  /* @__PURE__ */ jsx("button", {
6217
- className: "ml-1 rounded-sm border border-gray-300 bg-gray-50 px-2 py-1 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6217
+ className: "ml-1 rounded-sm border border-border bg-background px-2 py-1 text-sm text-foreground hover:hover-effect",
6218
6218
  onClick: handleApplyInterval,
6219
6219
  type: "button",
6220
6220
  children: "Apply"
@@ -6224,17 +6224,17 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6224
6224
  }), /* @__PURE__ */ jsxs("div", {
6225
6225
  className: "flex gap-2",
6226
6226
  children: [pollerState.isPaused ? /* @__PURE__ */ jsx("button", {
6227
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6227
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
6228
6228
  onClick: handleResume,
6229
6229
  type: "button",
6230
6230
  children: "Resume"
6231
6231
  }) : /* @__PURE__ */ jsx("button", {
6232
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6232
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
6233
6233
  onClick: handlePause,
6234
6234
  type: "button",
6235
6235
  children: "Pause"
6236
6236
  }), /* @__PURE__ */ jsx("button", {
6237
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6237
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect disabled:disabled-effect",
6238
6238
  disabled: !pollerState.isPaused,
6239
6239
  onClick: handlePollNow,
6240
6240
  type: "button",
@@ -6244,25 +6244,25 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6244
6244
  })]
6245
6245
  }),
6246
6246
  /* @__PURE__ */ jsxs("div", {
6247
- className: "rounded-sm border border-gray-200 bg-gray-50 p-4 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6247
+ className: "rounded-sm border border-border bg-background p-4",
6248
6248
  children: [/* @__PURE__ */ jsx("h3", {
6249
- className: "mb-3 text-sm font-semibold text-gray-900 dark:text-slate-50",
6249
+ className: "mb-3 text-sm font-semibold text-foreground",
6250
6250
  children: "Mailbox Processing"
6251
6251
  }), /* @__PURE__ */ jsxs("div", {
6252
6252
  className: "flex flex-col gap-3",
6253
6253
  children: [/* @__PURE__ */ jsxs("div", {
6254
6254
  className: "flex items-center justify-between",
6255
6255
  children: [/* @__PURE__ */ jsxs("div", {
6256
- className: "flex items-center gap-3 text-sm text-gray-700 dark:text-slate-200",
6256
+ className: "flex items-center gap-3 text-sm text-foreground",
6257
6257
  children: [/* @__PURE__ */ jsxs("span", { children: [
6258
6258
  "Inbox:",
6259
6259
  " ",
6260
6260
  /* @__PURE__ */ jsx("span", {
6261
- className: mailboxStates.inbox.isPaused ? "text-yellow-600 dark:text-yellow-100" : "text-green-600 dark:text-green-100",
6261
+ className: mailboxStates.inbox.isPaused ? "text-warning" : "text-success",
6262
6262
  children: mailboxStates.inbox.isPaused ? "Paused" : "Active"
6263
6263
  })
6264
6264
  ] }), /* @__PURE__ */ jsxs("span", {
6265
- className: "font-mono text-sm text-gray-500 dark:text-slate-400",
6265
+ className: "font-mono text-sm text-muted-foreground",
6266
6266
  children: [
6267
6267
  "We ack'd (theirs): ",
6268
6268
  channel.inbox.ackOrdinal,
@@ -6274,17 +6274,17 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6274
6274
  }), /* @__PURE__ */ jsxs("div", {
6275
6275
  className: "flex gap-2",
6276
6276
  children: [mailboxStates.inbox.isPaused ? /* @__PURE__ */ jsx("button", {
6277
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6277
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
6278
6278
  onClick: () => handleMailboxResume("inbox"),
6279
6279
  type: "button",
6280
6280
  children: "Resume"
6281
6281
  }) : /* @__PURE__ */ jsx("button", {
6282
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6282
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
6283
6283
  onClick: () => handleMailboxPause("inbox"),
6284
6284
  type: "button",
6285
6285
  children: "Pause"
6286
6286
  }), /* @__PURE__ */ jsx("button", {
6287
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6287
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect disabled:disabled-effect",
6288
6288
  disabled: !mailboxStates.inbox.isPaused,
6289
6289
  onClick: () => handleMailboxFlush("inbox"),
6290
6290
  type: "button",
@@ -6294,16 +6294,16 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6294
6294
  }), /* @__PURE__ */ jsxs("div", {
6295
6295
  className: "flex items-center justify-between",
6296
6296
  children: [/* @__PURE__ */ jsxs("div", {
6297
- className: "flex items-center gap-3 text-sm text-gray-700 dark:text-slate-200",
6297
+ className: "flex items-center gap-3 text-sm text-foreground",
6298
6298
  children: [/* @__PURE__ */ jsxs("span", { children: [
6299
6299
  "Outbox:",
6300
6300
  " ",
6301
6301
  /* @__PURE__ */ jsx("span", {
6302
- className: mailboxStates.outbox.isPaused ? "text-yellow-600 dark:text-yellow-100" : "text-green-600 dark:text-green-100",
6302
+ className: mailboxStates.outbox.isPaused ? "text-warning" : "text-success",
6303
6303
  children: mailboxStates.outbox.isPaused ? "Paused" : "Active"
6304
6304
  })
6305
6305
  ] }), /* @__PURE__ */ jsxs("span", {
6306
- className: "font-mono text-sm text-gray-500 dark:text-slate-400",
6306
+ className: "font-mono text-sm text-muted-foreground",
6307
6307
  children: [
6308
6308
  "They ack'd (ours): ",
6309
6309
  channel.outbox.ackOrdinal,
@@ -6315,17 +6315,17 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
6315
6315
  }), /* @__PURE__ */ jsxs("div", {
6316
6316
  className: "flex gap-2",
6317
6317
  children: [mailboxStates.outbox.isPaused ? /* @__PURE__ */ jsx("button", {
6318
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6318
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
6319
6319
  onClick: () => handleMailboxResume("outbox"),
6320
6320
  type: "button",
6321
6321
  children: "Resume"
6322
6322
  }) : /* @__PURE__ */ jsx("button", {
6323
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6323
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
6324
6324
  onClick: () => handleMailboxPause("outbox"),
6325
6325
  type: "button",
6326
6326
  children: "Pause"
6327
6327
  }), /* @__PURE__ */ jsx("button", {
6328
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:cursor-not-allowed disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6328
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect disabled:disabled-effect",
6329
6329
  disabled: !mailboxStates.outbox.isPaused,
6330
6330
  onClick: () => handleMailboxFlush("outbox"),
6331
6331
  type: "button",
@@ -6530,14 +6530,14 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6530
6530
  /* @__PURE__ */ jsxs("div", {
6531
6531
  className: "flex shrink-0 items-center justify-between gap-2",
6532
6532
  children: [/* @__PURE__ */ jsx("h2", {
6533
- className: "text-lg font-semibold text-gray-900 dark:text-slate-50",
6533
+ className: "text-lg font-semibold text-foreground",
6534
6534
  children: "Remotes Inspector"
6535
6535
  }), /* @__PURE__ */ jsxs("div", {
6536
6536
  className: "flex items-center gap-2",
6537
6537
  children: [addRemoteManual && /* @__PURE__ */ jsxs("div", {
6538
6538
  className: "flex items-center gap-1",
6539
6539
  children: [/* @__PURE__ */ jsx("input", {
6540
- className: "w-[260px] rounded-sm border border-gray-300 px-2 py-1.5 text-sm text-gray-900 placeholder:text-gray-400 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:placeholder:text-slate-500",
6540
+ className: "w-[260px] rounded-sm border border-border px-2 py-1.5 text-sm text-foreground placeholder:text-muted-foreground disabled:disabled-effect",
6541
6541
  disabled: adding,
6542
6542
  onChange: (e) => setManualUrl(e.target.value),
6543
6543
  onKeyDown: (e) => {
@@ -6547,7 +6547,7 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6547
6547
  type: "text",
6548
6548
  value: manualUrl
6549
6549
  }), /* @__PURE__ */ jsx("button", {
6550
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6550
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect disabled:disabled-effect",
6551
6551
  disabled: adding || !manualUrl.trim(),
6552
6552
  onClick: () => void handleAddManual(),
6553
6553
  title: "Register a remote drive in manual poll mode (no background polling)",
@@ -6555,7 +6555,7 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6555
6555
  children: "Add (manual)"
6556
6556
  })]
6557
6557
  }), /* @__PURE__ */ jsxs("button", {
6558
- className: "flex items-center gap-1 rounded-sm border border-gray-300 bg-gray-50 px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:opacity-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
6558
+ className: "flex items-center gap-1 rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect disabled:disabled-effect",
6559
6559
  disabled: loading,
6560
6560
  onClick: () => void handleRefresh(),
6561
6561
  type: "button",
@@ -6567,21 +6567,21 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6567
6567
  })]
6568
6568
  }),
6569
6569
  addError && /* @__PURE__ */ jsx("div", {
6570
- className: "shrink-0 rounded-sm border border-red-300 bg-red-50 px-3 py-1.5 text-xs text-red-700 dark:border-red-600 dark:bg-red-900 dark:text-red-100",
6570
+ className: "shrink-0 rounded-sm border border-destructive bg-destructive/10 px-3 py-1.5 text-xs text-destructive",
6571
6571
  children: addError
6572
6572
  }),
6573
6573
  /* @__PURE__ */ jsx("div", {
6574
- className: "scrollbar-thin max-h-full overflow-auto rounded-lg border border-gray-300 scrollbar-thumb-gray-300 scrollbar-thumb-rounded-md scrollbar-track-transparent dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:scrollbar-thumb-slate-600",
6574
+ className: "scrollbar-thin max-h-full overflow-auto rounded-lg border border-border scrollbar-thumb-border scrollbar-thumb-rounded-md scrollbar-track-transparent",
6575
6575
  children: /* @__PURE__ */ jsxs("table", {
6576
6576
  className: "w-full border-collapse",
6577
6577
  children: [/* @__PURE__ */ jsx("thead", {
6578
- className: "sticky top-0 bg-gray-100 dark:bg-slate-700",
6578
+ className: "sticky top-0 bg-muted",
6579
6579
  children: /* @__PURE__ */ jsx("tr", { children: columns.map((column, index) => {
6580
6580
  const isActive = sort?.column === column.key;
6581
6581
  const sortDirection = isActive ? sort.direction : "asc";
6582
6582
  const isSortable = column.key !== "channel" && column.key !== "actions" && column.key !== "status";
6583
6583
  return /* @__PURE__ */ jsx("th", {
6584
- className: twMerge("group px-3 py-2 text-left text-xs font-medium text-gray-700 dark:text-slate-200", index > 0 && "border-l border-gray-300 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", isSortable && "cursor-pointer hover:bg-gray-200 hover:text-gray-900 dark:hover:bg-slate-600 dark:hover:text-slate-100"),
6584
+ className: twMerge("group px-3 py-2 text-left text-xs font-medium text-foreground", index > 0 && "border-l border-border", isSortable && "cursor-pointer hover:hover-effect"),
6585
6585
  onClick: () => isSortable && handleSort(column.key),
6586
6586
  style: { width: column.width },
6587
6587
  children: /* @__PURE__ */ jsxs("div", {
@@ -6597,18 +6597,18 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6597
6597
  }, column.key);
6598
6598
  }) })
6599
6599
  }), /* @__PURE__ */ jsx("tbody", { children: loading && sortedRemotes.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
6600
- className: "px-3 py-8 text-center text-sm text-gray-500 dark:text-slate-400",
6600
+ className: "px-3 py-8 text-center text-sm text-muted-foreground",
6601
6601
  colSpan: columns.length,
6602
6602
  children: "Loading..."
6603
6603
  }) }) : sortedRemotes.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
6604
- className: "px-3 py-8 text-center text-sm text-gray-500 dark:text-slate-400",
6604
+ className: "px-3 py-8 text-center text-sm text-muted-foreground",
6605
6605
  colSpan: columns.length,
6606
6606
  children: "No remotes configured"
6607
6607
  }) }) : sortedRemotes.map((remote) => /* @__PURE__ */ jsxs("tr", {
6608
- className: "odd:bg-white even:bg-gray-50 hover:bg-blue-50 dark:odd:bg-slate-800 dark:even:bg-slate-800 dark:hover:bg-blue-900",
6608
+ className: "odd:bg-card even:bg-background hover:hover-effect",
6609
6609
  children: [
6610
6610
  /* @__PURE__ */ jsx("td", {
6611
- className: "px-3 py-2 text-xs text-gray-900 dark:text-slate-50",
6611
+ className: "px-3 py-2 text-xs text-foreground",
6612
6612
  children: /* @__PURE__ */ jsx("span", {
6613
6613
  className: "block truncate",
6614
6614
  title: remote.id,
@@ -6616,7 +6616,7 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6616
6616
  })
6617
6617
  }),
6618
6618
  /* @__PURE__ */ jsx("td", {
6619
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6619
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
6620
6620
  children: /* @__PURE__ */ jsx("span", {
6621
6621
  className: "block truncate",
6622
6622
  title: remote.name,
@@ -6624,17 +6624,17 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6624
6624
  })
6625
6625
  }),
6626
6626
  /* @__PURE__ */ jsx("td", {
6627
- className: "border-l border-gray-300 px-3 py-2 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6627
+ className: "border-l border-border px-3 py-2",
6628
6628
  children: connectionStates?.get(remote.name) ? /* @__PURE__ */ jsx(ConnectionStateBadge, {
6629
6629
  failureCount: connectionStates.get(remote.name).failureCount,
6630
6630
  state: connectionStates.get(remote.name).state
6631
6631
  }) : /* @__PURE__ */ jsx("span", {
6632
- className: "text-xs text-gray-400 dark:text-slate-500",
6632
+ className: "text-xs text-muted-foreground",
6633
6633
  children: "-"
6634
6634
  })
6635
6635
  }),
6636
6636
  /* @__PURE__ */ jsx("td", {
6637
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6637
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
6638
6638
  children: /* @__PURE__ */ jsx("span", {
6639
6639
  className: "block truncate",
6640
6640
  title: remote.collectionId.key,
@@ -6642,7 +6642,7 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6642
6642
  })
6643
6643
  }),
6644
6644
  /* @__PURE__ */ jsx("td", {
6645
- className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6645
+ className: "border-l border-border px-3 py-2 text-xs text-foreground",
6646
6646
  children: /* @__PURE__ */ jsx("span", {
6647
6647
  className: "block truncate",
6648
6648
  title: formatFilter(remote.filter),
@@ -6650,9 +6650,9 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6650
6650
  })
6651
6651
  }),
6652
6652
  /* @__PURE__ */ jsx("td", {
6653
- className: "border-l border-gray-300 px-3 py-2 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6653
+ className: "border-l border-border px-3 py-2",
6654
6654
  children: /* @__PURE__ */ jsxs("button", {
6655
- className: "flex items-center gap-1 rounded-sm bg-blue-50 px-2 py-1 text-xs text-blue-700 hover:bg-blue-100 dark:bg-blue-900 dark:text-blue-100 dark:hover:bg-blue-800",
6655
+ className: "flex items-center gap-1 rounded-sm bg-info/10 px-2 py-1 text-xs text-info hover:hover-effect",
6656
6656
  onClick: () => handleViewChannel(remote),
6657
6657
  type: "button",
6658
6658
  children: ["View", /* @__PURE__ */ jsx(Icon, {
@@ -6662,17 +6662,17 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6662
6662
  })
6663
6663
  }),
6664
6664
  hasRowActions && /* @__PURE__ */ jsx("td", {
6665
- className: "border-l border-gray-300 px-3 py-2 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6665
+ className: "border-l border-border px-3 py-2",
6666
6666
  children: /* @__PURE__ */ jsxs("div", {
6667
6667
  className: "flex items-center gap-1",
6668
6668
  children: [triggerPull && /* @__PURE__ */ jsx("button", {
6669
- className: "rounded-sm bg-gray-100 px-2 py-1 text-xs text-gray-700 hover:bg-gray-200 dark:bg-slate-700 dark:text-slate-200 dark:hover:bg-slate-600 dark:hover:text-slate-100",
6669
+ className: "rounded-sm bg-muted px-2 py-1 text-xs text-foreground hover:hover-effect",
6670
6670
  onClick: () => handlePull(remote),
6671
6671
  title: "Trigger a single pull cycle for this remote",
6672
6672
  type: "button",
6673
6673
  children: "Pull"
6674
6674
  }), removeRemote && /* @__PURE__ */ jsx("button", {
6675
- className: "rounded-sm bg-red-50 px-2 py-1 text-xs text-red-700 hover:bg-red-100 dark:bg-red-900 dark:text-red-100 dark:hover:bg-red-800",
6675
+ className: "rounded-sm bg-destructive/10 px-2 py-1 text-xs text-destructive hover:hover-effect",
6676
6676
  onClick: () => void handleRemove(remote),
6677
6677
  type: "button",
6678
6678
  children: "Remove"
@@ -6684,7 +6684,7 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
6684
6684
  })
6685
6685
  }),
6686
6686
  /* @__PURE__ */ jsxs("div", {
6687
- className: "shrink-0 text-sm text-gray-700 dark:text-slate-200",
6687
+ className: "shrink-0 text-sm text-foreground",
6688
6688
  children: [
6689
6689
  "Showing ",
6690
6690
  sortedRemotes.length,
@@ -6715,7 +6715,7 @@ function InspectorModal({ open, onOpenChange, modalProps, containerProps, dbExpl
6715
6715
  children: [/* @__PURE__ */ jsx("div", {
6716
6716
  className: "flex shrink-0 items-center justify-end px-3 pt-3",
6717
6717
  children: /* @__PURE__ */ jsx("button", {
6718
- className: "flex size-6 cursor-pointer items-center justify-center rounded-md text-gray-500 outline-none hover:text-gray-900 dark:text-slate-400 dark:hover:text-slate-50",
6718
+ className: "flex size-6 cursor-pointer items-center justify-center rounded-md text-muted-foreground outline-none hover:hover-effect",
6719
6719
  onClick: () => onOpenChange(false),
6720
6720
  type: "button",
6721
6721
  children: /* @__PURE__ */ jsx(Icon, {
@@ -6776,7 +6776,7 @@ function InspectorModal({ open, onOpenChange, modalProps, containerProps, dbExpl
6776
6776
  }
6777
6777
  //#endregion
6778
6778
  //#region src/connect/components/modal/missing-package-modal.tsx
6779
- const buttonStyles = "min-h-[36px] text-sm font-semibold py-2 px-4 rounded-xl outline-none active:opacity-75 hover:scale-105 transform transition-all";
6779
+ const buttonStyles = "min-h-[36px] text-sm font-semibold py-2 px-4 rounded-xl outline-none active:active-effect hover:hover-effect transform transition-all";
6780
6780
  function groupByPackage(installations) {
6781
6781
  const groups = /* @__PURE__ */ new Map();
6782
6782
  for (const item of installations) {
@@ -6819,14 +6819,14 @@ function PackageInstallModal(props) {
6819
6819
  },
6820
6820
  ...restProps,
6821
6821
  children: /* @__PURE__ */ jsxs("div", {
6822
- className: "w-[460px] rounded-xl bg-gray-50 p-6 text-gray-300 dark:bg-slate-800 dark:text-slate-600",
6822
+ className: "w-[460px] rounded-xl bg-background p-6 text-foreground",
6823
6823
  children: [
6824
6824
  /* @__PURE__ */ jsx("div", {
6825
- className: "border-b border-gray-50 pb-2 text-2xl font-bold text-gray-900 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
6825
+ className: "border-b border-border pb-2 text-2xl font-bold text-foreground",
6826
6826
  children: grouped.length === 1 ? "Package Required" : "Packages Required"
6827
6827
  }),
6828
6828
  /* @__PURE__ */ jsx("div", {
6829
- className: "my-4 text-sm text-gray-700 dark:text-slate-200",
6829
+ className: "my-4 text-sm text-foreground",
6830
6830
  children: grouped.length === 1 ? "A document requires a package that is not installed." : "Documents require packages that are not installed."
6831
6831
  }),
6832
6832
  /* @__PURE__ */ jsx("div", {
@@ -6834,14 +6834,14 @@ function PackageInstallModal(props) {
6834
6834
  children: grouped.map(({ packageName, documentTypes }) => {
6835
6835
  const installing = installingPackages.has(packageName);
6836
6836
  return /* @__PURE__ */ jsxs("div", {
6837
- className: "rounded-xl bg-gray-50 p-4 dark:bg-slate-800",
6837
+ className: "rounded-xl bg-background p-4",
6838
6838
  children: [
6839
6839
  /* @__PURE__ */ jsx("div", {
6840
- className: "mb-1 text-sm font-semibold text-gray-900 dark:text-slate-100",
6840
+ className: "mb-1 text-sm font-semibold text-foreground",
6841
6841
  children: packageName
6842
6842
  }),
6843
6843
  /* @__PURE__ */ jsxs("div", {
6844
- className: "mb-3 text-xs text-gray-500 dark:text-slate-400",
6844
+ className: "mb-3 text-xs text-muted-foreground",
6845
6845
  children: [
6846
6846
  "Required for document type",
6847
6847
  documentTypes.length > 1 ? "s" : "",
@@ -6856,13 +6856,13 @@ function PackageInstallModal(props) {
6856
6856
  type: "button",
6857
6857
  onClick: () => onDismiss(packageName),
6858
6858
  disabled: installing,
6859
- className: twMerge(buttonStyles, "border border-gray-200 bg-gray-50 text-gray-800 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", installing && "cursor-not-allowed opacity-50"),
6859
+ className: twMerge(buttonStyles, "border border-border bg-background text-foreground", installing && "cursor-not-allowed opacity-50"),
6860
6860
  children: "Dismiss"
6861
6861
  }), /* @__PURE__ */ jsx("button", {
6862
6862
  type: "button",
6863
6863
  onClick: () => void handleInstall(packageName),
6864
6864
  disabled: installing,
6865
- className: twMerge(buttonStyles, "bg-gray-800 text-gray-50 dark:bg-slate-100 dark:text-slate-900", installing && "cursor-not-allowed opacity-50"),
6865
+ className: twMerge(buttonStyles, "bg-primary text-primary-foreground", installing && "cursor-not-allowed opacity-50"),
6866
6866
  children: installing ? "Installing..." : "Install"
6867
6867
  })]
6868
6868
  })
@@ -6907,12 +6907,12 @@ function ReadRequiredModal(props) {
6907
6907
  className: "w-[500px] p-6",
6908
6908
  children: [
6909
6909
  /* @__PURE__ */ jsx("div", {
6910
- className: "border-b border-gray-100 pb-2 text-2xl font-bold text-gray-900 dark:border-slate-500 dark:text-slate-100",
6910
+ className: "border-b border-border pb-2 text-2xl font-bold text-foreground",
6911
6911
  children: header
6912
6912
  }),
6913
6913
  /* @__PURE__ */ jsx("div", {
6914
6914
  ref: contentRef,
6915
- className: twMerge("my-6 max-h-[245px] overflow-scroll rounded-md bg-gray-50 p-4 text-center dark:bg-slate-700", bodyClassName),
6915
+ className: twMerge("my-6 max-h-[245px] overflow-scroll rounded-md bg-background p-4 text-center", bodyClassName),
6916
6916
  children: body
6917
6917
  }),
6918
6918
  /* @__PURE__ */ jsx("div", {
@@ -6920,7 +6920,7 @@ function ReadRequiredModal(props) {
6920
6920
  children: /* @__PURE__ */ jsx("button", {
6921
6921
  disabled: disableClose,
6922
6922
  onClick: onContinue,
6923
- className: twMerge("min-h-12 flex-1 transform rounded-xl px-6 py-3 text-base font-semibold transition-all outline-none hover:scale-105 active:opacity-75", "bg-gray-800 text-gray-50 dark:bg-slate-100 dark:text-slate-900", disableClose && "cursor-not-allowed bg-gray-300 hover:scale-100 dark:bg-slate-600 dark:text-slate-100"),
6923
+ className: twMerge("min-h-12 flex-1 transform rounded-xl px-6 py-3 text-base font-semibold transition-all outline-none hover:hover-effect active:active-effect", "bg-primary text-primary-foreground", disableClose && "cursor-not-allowed bg-secondary hover:hover-effect"),
6924
6924
  children: closeLabel
6925
6925
  })
6926
6926
  })
@@ -6963,9 +6963,9 @@ function DependencyVersions(props) {
6963
6963
  isOpen,
6964
6964
  onOpenChange: () => setIsOpen(!isOpen),
6965
6965
  title: `App version: ${validatedData.version}`,
6966
- toggleClassName: "text-gray-900 text-sm dark:text-slate-50",
6966
+ toggleClassName: "text-sm text-foreground",
6967
6967
  children: /* @__PURE__ */ jsxs("ul", {
6968
- className: "text-sm text-gray-700 dark:text-slate-200",
6968
+ className: "text-sm text-foreground",
6969
6969
  children: [Object.entries(validatedData.dependencies).map(([dep, version]) => /* @__PURE__ */ jsxs("li", {
6970
6970
  className: "my-1 flex justify-between pr-1",
6971
6971
  children: [/* @__PURE__ */ jsxs("span", { children: [dep.replace("@powerhousedao/", ""), ":"] }), /* @__PURE__ */ jsx("span", {
@@ -6987,14 +6987,14 @@ function DependencyVersions(props) {
6987
6987
  function About(props) {
6988
6988
  const { packageJson, phCliVersion } = props;
6989
6989
  return /* @__PURE__ */ jsxs("div", {
6990
- className: "bg-gray-50 p-3 dark:bg-slate-800",
6990
+ className: "bg-background p-3",
6991
6991
  children: [
6992
6992
  /* @__PURE__ */ jsx("h2", {
6993
- className: "font-semibold text-gray-900 dark:text-slate-100",
6993
+ className: "font-semibold text-foreground",
6994
6994
  children: "About"
6995
6995
  }),
6996
6996
  /* @__PURE__ */ jsx("p", {
6997
- className: "text-sm font-normal text-gray-700 dark:text-slate-200",
6997
+ className: "text-sm font-normal text-foreground",
6998
6998
  children: "Connect is the hub for your most important documents and processes translated into software. Easily capture data in a structured way with Connect."
6999
6999
  }),
7000
7000
  /* @__PURE__ */ jsx("div", {
@@ -7022,15 +7022,15 @@ function getDriveSharingType(drive) {
7022
7022
  function DangerZone(props) {
7023
7023
  const { className, ...rest } = props;
7024
7024
  return /* @__PURE__ */ jsxs("div", {
7025
- className: twMerge("h-full rounded-lg bg-gray-50 p-3 dark:bg-slate-800", className),
7025
+ className: twMerge("h-full rounded-lg bg-background p-3", className),
7026
7026
  children: [
7027
7027
  /* @__PURE__ */ jsx("h2", {
7028
- className: "mb-4 font-semibold text-gray-900 dark:text-slate-100",
7028
+ className: "mb-4 font-semibold text-foreground",
7029
7029
  children: "Modify Drives"
7030
7030
  }),
7031
7031
  /* @__PURE__ */ jsx(ModifyDrives, { ...rest }),
7032
7032
  /* @__PURE__ */ jsx("h2", {
7033
- className: "my-4 font-semibold text-gray-900 dark:text-slate-100",
7033
+ className: "my-4 font-semibold text-foreground",
7034
7034
  children: "Local Storage"
7035
7035
  }),
7036
7036
  /* @__PURE__ */ jsx(LocalStorage, { ...rest })
@@ -7084,7 +7084,7 @@ function Drive(props) {
7084
7084
  }
7085
7085
  const icon = getNodeIcon();
7086
7086
  return /* @__PURE__ */ jsxs("div", {
7087
- className: twMerge("mb-4 flex w-96 items-center gap-2 rounded-md border border-gray-200 bg-gray-50 px-3 py-2 text-gray-900 shadow-sm last-of-type:mb-0 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", className),
7087
+ className: twMerge("mb-4 flex w-96 items-center gap-2 rounded-md border border-border bg-background px-3 py-2 text-foreground shadow-sm last-of-type:mb-0", className),
7088
7088
  children: [
7089
7089
  icon,
7090
7090
  /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("span", {
@@ -7093,17 +7093,17 @@ function Drive(props) {
7093
7093
  }), /* @__PURE__ */ jsxs("div", {
7094
7094
  className: "flex items-baseline gap-x-2 leading-4.5",
7095
7095
  children: [/* @__PURE__ */ jsxs("span", {
7096
- className: "text-sm text-gray-700 dark:text-slate-200",
7096
+ className: "text-sm text-foreground",
7097
7097
  children: [capitalCase(getDriveSharingType(drive)), " App"]
7098
7098
  }), /* @__PURE__ */ jsxs("a", {
7099
7099
  href: "https://www.powerhouse.inc/",
7100
7100
  target: "_blank",
7101
7101
  rel: "noopener noreferrer",
7102
- className: "group flex items-center gap-x-2 text-sm text-gray-500 transition-colors hover:text-purple-700 dark:text-slate-500 dark:hover:text-purple-100",
7102
+ className: "group flex items-center gap-x-2 text-sm text-muted-foreground transition-colors hover:hover-effect",
7103
7103
  children: ["By Powerhouse", /* @__PURE__ */ jsx("svg", {
7104
7104
  xmlns: "http://www.w3.org/2000/svg",
7105
7105
  viewBox: "0 0 12 12",
7106
- className: "size-4 text-gray-400 transition-colors group-hover:text-inherit dark:text-slate-500",
7106
+ className: "size-4 text-muted-foreground transition-colors group-hover:hover-effect",
7107
7107
  children: /* @__PURE__ */ jsx("path", {
7108
7108
  d: "M7.99365 11.9939C9.46632 11.9939 10.6603 10.7999 10.6603 9.32722V7.32722C10.6603 6.95922 10.3617 6.66056 9.99365 6.66056C9.62565 6.66056 9.32699 6.95922 9.32699 7.32722V9.32722C9.32699 10.0639 8.73032 10.6606 7.99365 10.6606H2.66032C1.92365 10.6606 1.32699 10.0639 1.32699 9.32722V3.99389C1.32699 3.25723 1.92365 2.66056 2.66032 2.66056H4.66032C5.02832 2.66056 5.32699 2.36189 5.32699 1.99389C5.32699 1.6259 5.02832 1.32723 4.66032 1.32723H2.66032C1.18765 1.32723 -0.00634766 2.52123 -0.00634766 3.99389V9.32722C-0.00634766 10.7999 1.18765 11.9939 2.66032 11.9939H7.99365ZM5.32699 7.32722C5.49765 7.32722 5.67565 7.26989 5.80632 7.13989L10.1396 2.80656L11.9937 4.66056V-0.00610352H7.32699L9.18099 1.8479L4.84766 6.18123C4.58766 6.4419 4.58766 6.87922 4.84766 7.13989C4.97832 7.26989 5.15632 7.32722 5.32699 7.32722Z",
7109
7109
  fill: "currentColor"
@@ -7116,7 +7116,7 @@ function Drive(props) {
7116
7116
  id: "delete-drive",
7117
7117
  label: "Delete",
7118
7118
  icon: /* @__PURE__ */ jsx(Icon, { name: "Trash" }),
7119
- className: "text-red-900 dark:text-red-400"
7119
+ className: "text-destructive"
7120
7120
  }],
7121
7121
  onItemClick: (id) => {
7122
7122
  if (id === "delete-drive") onDeleteDrive(drive);
@@ -7130,7 +7130,7 @@ function Drive(props) {
7130
7130
  setIsDropdownMenuOpen(true);
7131
7131
  },
7132
7132
  children: /* @__PURE__ */ jsx(Icon, {
7133
- className: "text-gray-700 group-hover:text-gray-900 dark:text-slate-200 dark:group-hover:text-slate-50",
7133
+ className: "text-foreground group-hover:hover-effect",
7134
7134
  name: "VerticalDots",
7135
7135
  size: 16
7136
7136
  })
@@ -7142,7 +7142,7 @@ function Drive(props) {
7142
7142
  function LocalStorage(props) {
7143
7143
  const { onClearStorage } = props;
7144
7144
  return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("button", {
7145
- className: "flex items-center gap-x-2 rounded-md border border-gray-300 bg-transparent px-3 py-1 text-sm font-medium text-red-900 transition-colors hover:bg-gray-100 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100 dark:hover:bg-slate-700",
7145
+ className: "flex items-center gap-x-2 rounded-md border border-border bg-transparent px-3 py-1 text-sm font-medium text-destructive transition-colors hover:hover-effect",
7146
7146
  onClick: () => void onClearStorage(),
7147
7147
  children: ["Clear Storage ", /* @__PURE__ */ jsx(Icon, {
7148
7148
  name: "Trash",
@@ -7155,14 +7155,14 @@ function LocalStorage(props) {
7155
7155
  function DefaultEditor(props) {
7156
7156
  const { className, ...rest } = props;
7157
7157
  return /* @__PURE__ */ jsx("div", {
7158
- className: twMerge("rounded-lg bg-gray-50 p-3 dark:bg-slate-800", className),
7158
+ className: twMerge("rounded-lg bg-background p-3", className),
7159
7159
  children: /* @__PURE__ */ jsx(DefaultEditorSelect, { ...rest })
7160
7160
  });
7161
7161
  }
7162
7162
  function DefaultEditorSelect(props) {
7163
7163
  const { documentModelEditor, setDocumentModelEditor, documentModelEditorOptions, className } = props;
7164
7164
  return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h3", {
7165
- className: "mb-4 font-semibold text-gray-900 dark:text-slate-50",
7165
+ className: "mb-4 font-semibold text-foreground",
7166
7166
  children: "Default Editor Selection"
7167
7167
  }), /* @__PURE__ */ jsx(SelectFieldRaw, {
7168
7168
  className: twMerge("max-w-fit min-w-36", className),
@@ -7266,7 +7266,7 @@ const VersionPicker = (props) => {
7266
7266
  },
7267
7267
  children: [/* @__PURE__ */ jsxs(PopoverTrigger, {
7268
7268
  disabled: disabled || !hasAnyPickable,
7269
- className: twMerge("flex items-center justify-between gap-2 rounded-md border border-gray-300 bg-gray-50 px-2.5 py-1 text-xs font-medium text-gray-900 transition-colors dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", "hover:bg-gray-50 focus:ring-2 focus:ring-gray-900/20 focus:outline-none dark:hover:bg-slate-800", "disabled:cursor-not-allowed disabled:opacity-60", className),
7269
+ className: twMerge("flex items-center justify-between gap-2 rounded-md border border-border bg-background px-2.5 py-1 text-xs font-medium text-foreground transition-colors", "hover:hover-effect focus:ring-2 focus:ring-ring/20 focus:outline-none", "disabled:disabled-effect", className),
7270
7270
  "data-version-picker-trigger": true,
7271
7271
  children: [/* @__PURE__ */ jsx("span", {
7272
7272
  className: "truncate",
@@ -7274,7 +7274,7 @@ const VersionPicker = (props) => {
7274
7274
  }), /* @__PURE__ */ jsx(Icon, {
7275
7275
  name: "ChevronDown",
7276
7276
  size: 12,
7277
- className: "shrink-0 text-gray-500 dark:text-slate-400"
7277
+ className: "shrink-0 text-muted-foreground"
7278
7278
  })]
7279
7279
  }), /* @__PURE__ */ jsxs(PopoverContent, {
7280
7280
  "data-version-picker": true,
@@ -7283,13 +7283,13 @@ const VersionPicker = (props) => {
7283
7283
  className: "w-56 p-0",
7284
7284
  onOpenAutoFocus: (e) => e.preventDefault(),
7285
7285
  children: [/* @__PURE__ */ jsx("div", {
7286
- className: "border-b border-gray-200 p-2 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
7286
+ className: "border-b border-border p-2",
7287
7287
  children: /* @__PURE__ */ jsxs("div", {
7288
7288
  className: "relative",
7289
7289
  children: [/* @__PURE__ */ jsx(Icon, {
7290
7290
  name: "Search",
7291
7291
  size: 14,
7292
- className: "absolute top-1/2 left-2 -translate-y-1/2 text-gray-400 dark:text-slate-500"
7292
+ className: "absolute top-1/2 left-2 -translate-y-1/2 text-muted-foreground"
7293
7293
  }), /* @__PURE__ */ jsx(Input, {
7294
7294
  value: query,
7295
7295
  onChange: (e) => setQuery(e.target.value),
@@ -7301,13 +7301,13 @@ const VersionPicker = (props) => {
7301
7301
  className: "max-h-60 overflow-y-auto py-1",
7302
7302
  children: [
7303
7303
  filteredTags.length === 0 && filteredVersions.length === 0 && /* @__PURE__ */ jsx("p", {
7304
- className: "px-3 py-4 text-center text-xs text-gray-500 dark:text-slate-400",
7304
+ className: "px-3 py-4 text-center text-xs text-muted-foreground",
7305
7305
  children: "No matches."
7306
7306
  }),
7307
7307
  filteredTags.length > 0 && /* @__PURE__ */ jsxs("div", {
7308
7308
  className: "pb-1",
7309
7309
  children: [/* @__PURE__ */ jsx("p", {
7310
- className: "px-3 py-1 text-xs font-semibold tracking-wide text-gray-500 uppercase dark:text-slate-400",
7310
+ className: "px-3 py-1 text-xs font-semibold tracking-wide text-muted-foreground uppercase",
7311
7311
  children: "Tags"
7312
7312
  }), filteredTags.map(([tag, ver]) => {
7313
7313
  return /* @__PURE__ */ jsxs("button", {
@@ -7320,19 +7320,19 @@ const VersionPicker = (props) => {
7320
7320
  setOpen(false);
7321
7321
  setQuery("");
7322
7322
  },
7323
- className: twMerge("flex w-full items-center justify-between gap-2 px-3 py-1.5 text-left text-xs transition-colors", "hover:bg-gray-100 dark:hover:bg-slate-700", selected.kind === "tag" && selected.value === tag && "bg-gray-100 font-semibold dark:bg-slate-700"),
7323
+ className: twMerge("flex w-full items-center justify-between gap-2 px-3 py-1.5 text-left text-xs transition-colors", "hover:hover-effect", selected.kind === "tag" && selected.value === tag && "bg-muted font-semibold"),
7324
7324
  children: [/* @__PURE__ */ jsx("span", {
7325
- className: "truncate text-gray-900 dark:text-slate-50",
7325
+ className: "truncate text-foreground",
7326
7326
  children: tag
7327
7327
  }), /* @__PURE__ */ jsx("span", {
7328
- className: "truncate text-gray-500 dark:text-slate-400",
7328
+ className: "truncate text-muted-foreground",
7329
7329
  children: ver
7330
7330
  })]
7331
7331
  }, `tag:${tag}`);
7332
7332
  })]
7333
7333
  }),
7334
7334
  filteredVersions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
7335
- className: "px-3 py-1 text-xs font-semibold tracking-wide text-gray-500 uppercase dark:text-slate-400",
7335
+ className: "px-3 py-1 text-xs font-semibold tracking-wide text-muted-foreground uppercase",
7336
7336
  children: "Versions"
7337
7337
  }), filteredVersions.map((ver) => {
7338
7338
  return /* @__PURE__ */ jsx("button", {
@@ -7345,9 +7345,9 @@ const VersionPicker = (props) => {
7345
7345
  setOpen(false);
7346
7346
  setQuery("");
7347
7347
  },
7348
- className: twMerge("flex w-full items-center px-3 py-1.5 text-left text-xs transition-colors", "hover:bg-gray-100 dark:hover:bg-slate-700", selected.kind === "version" && selected.value === ver && "bg-gray-100 font-semibold dark:bg-slate-700"),
7348
+ className: twMerge("flex w-full items-center px-3 py-1.5 text-left text-xs transition-colors", "hover:hover-effect", selected.kind === "version" && selected.value === ver && "bg-muted font-semibold"),
7349
7349
  children: /* @__PURE__ */ jsx("span", {
7350
- className: "truncate text-gray-900 dark:text-slate-50",
7350
+ className: "truncate text-foreground",
7351
7351
  children: ver
7352
7352
  })
7353
7353
  }, `ver:${ver}`);
@@ -7393,20 +7393,20 @@ function PackageResultCard(props) {
7393
7393
  const isSelecting = selectingValue === installSpec;
7394
7394
  const isDisabled = option.disabled === true;
7395
7395
  return /* @__PURE__ */ jsxs("div", {
7396
- className: "flex items-start justify-between gap-3 rounded-md p-2 hover:bg-gray-50 dark:hover:bg-slate-800",
7396
+ className: "flex items-start justify-between gap-3 rounded-md p-2 hover:hover-effect",
7397
7397
  children: [/* @__PURE__ */ jsxs("div", {
7398
7398
  className: "min-w-0 flex-1",
7399
7399
  children: [
7400
7400
  /* @__PURE__ */ jsx("p", {
7401
- className: "truncate text-sm font-medium text-gray-900 dark:text-slate-50",
7401
+ className: "truncate text-sm font-medium text-foreground",
7402
7402
  children: baseName
7403
7403
  }),
7404
7404
  option.description && /* @__PURE__ */ jsx("p", {
7405
- className: "truncate text-xs text-gray-700 dark:text-slate-200",
7405
+ className: "truncate text-xs text-foreground",
7406
7406
  children: option.description
7407
7407
  }),
7408
7408
  option.meta && /* @__PURE__ */ jsx("p", {
7409
- className: "truncate text-xs text-gray-700 dark:text-slate-200",
7409
+ className: "truncate text-xs text-foreground",
7410
7410
  children: option.meta
7411
7411
  }),
7412
7412
  hasVersionMetadata && /* @__PURE__ */ jsx("div", {
@@ -7426,12 +7426,12 @@ function PackageResultCard(props) {
7426
7426
  className: "flex items-center justify-center",
7427
7427
  children: selectingContent
7428
7428
  }) : isDisabled ? /* @__PURE__ */ jsx("span", {
7429
- className: "rounded-md bg-gray-100 px-3 py-1 text-xs font-medium text-gray-500 dark:bg-slate-700 dark:text-slate-400",
7429
+ className: "rounded-md bg-muted px-3 py-1 text-xs font-medium text-muted-foreground",
7430
7430
  children: option.disabledLabel ?? "Unavailable"
7431
7431
  }) : /* @__PURE__ */ jsx("button", {
7432
7432
  onClick: () => handleSelect(installSpec),
7433
7433
  disabled: isSelecting,
7434
- className: "rounded-md bg-gray-900 px-3 py-1 text-xs font-medium text-white transition-colors hover:bg-gray-800 disabled:opacity-50 dark:bg-slate-50 dark:text-slate-900 dark:hover:bg-slate-100",
7434
+ className: "rounded-md bg-primary px-3 py-1 text-xs font-medium text-primary-foreground transition-colors hover:hover-effect disabled:disabled-effect",
7435
7435
  children: isSelecting ? "..." : selectLabel
7436
7436
  })
7437
7437
  })]
@@ -7479,7 +7479,7 @@ const PackageManagerInput = (props) => {
7479
7479
  return /* @__PURE__ */ jsxs("div", {
7480
7480
  className,
7481
7481
  children: [/* @__PURE__ */ jsx("h3", {
7482
- className: "mb-4 font-semibold text-gray-900 dark:text-slate-50",
7482
+ className: "mb-4 font-semibold text-foreground",
7483
7483
  children: "Install Package"
7484
7484
  }), /* @__PURE__ */ jsx(SearchAutocomplete, {
7485
7485
  fetchOptions,
@@ -7504,10 +7504,10 @@ const PackageDetail = ({ label, value }) => {
7504
7504
  return /* @__PURE__ */ jsxs("div", {
7505
7505
  className: "flex items-start gap-2 text-sm",
7506
7506
  children: [/* @__PURE__ */ jsxs("p", {
7507
- className: "text-gray-700 dark:text-slate-200",
7507
+ className: "text-foreground",
7508
7508
  children: [label, ":"]
7509
7509
  }), /* @__PURE__ */ jsx("p", {
7510
- className: "text-gray-700 dark:text-slate-200",
7510
+ className: "text-foreground",
7511
7511
  children: value
7512
7512
  })]
7513
7513
  });
@@ -7526,25 +7526,25 @@ const PackageManagerListItem = (props) => {
7526
7526
  id: "install",
7527
7527
  label: "Install",
7528
7528
  icon: /* @__PURE__ */ jsx(Icon, { name: "DownloadFile" }),
7529
- className: "text-gray-900 dark:text-slate-100"
7529
+ className: "text-foreground"
7530
7530
  };
7531
7531
  const uninstallDropdownItem = {
7532
7532
  id: "uninstall",
7533
7533
  label: "Uninstall",
7534
7534
  icon: /* @__PURE__ */ jsx(Icon, { name: "Trash" }),
7535
- className: "text-red-900 dark:text-red-400"
7535
+ className: "text-destructive"
7536
7536
  };
7537
7537
  function getDropdownItems() {
7538
7538
  return [canPickVersion ? installDropdownItem : void 0, registryPackage.status === "registry-install" ? uninstallDropdownItem : void 0].filter((item) => item !== void 0);
7539
7539
  }
7540
7540
  const dropdownItems = getDropdownItems();
7541
7541
  return /* @__PURE__ */ jsxs("li", {
7542
- className: twMerge("relative flex flex-col items-start rounded-md border border-gray-200 bg-gray-50 p-3 text-sm/5 shadow-sm dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", className),
7542
+ className: twMerge("relative flex flex-col items-start rounded-md border border-border bg-background p-3 text-sm/5 shadow-sm", className),
7543
7543
  children: [
7544
7544
  /* @__PURE__ */ jsxs("div", {
7545
7545
  className: "flex flex-wrap items-center gap-2 pr-8",
7546
7546
  children: [/* @__PURE__ */ jsx("h3", {
7547
- className: "font-semibold text-gray-900 dark:text-slate-50",
7547
+ className: "font-semibold text-foreground",
7548
7548
  children: registryPackage.name
7549
7549
  }), canPickVersion && hasVersionMetadata ? /* @__PURE__ */ jsx(VersionPicker, {
7550
7550
  distTags: registryPackage.distTags,
@@ -7552,7 +7552,7 @@ const PackageManagerListItem = (props) => {
7552
7552
  selected,
7553
7553
  onChange: setSelected
7554
7554
  }) : registryPackage.version ? /* @__PURE__ */ jsxs("span", {
7555
- className: "text-xs font-normal text-gray-500 dark:text-slate-400",
7555
+ className: "text-xs font-normal text-muted-foreground",
7556
7556
  children: ["v", registryPackage.version]
7557
7557
  }) : null]
7558
7558
  }),
@@ -7600,7 +7600,7 @@ const PackageManagerListItem = (props) => {
7600
7600
  setIsDropdownMenuOpen(true);
7601
7601
  },
7602
7602
  children: /* @__PURE__ */ jsx(Icon, {
7603
- className: "text-gray-700 group-hover:text-gray-900 dark:text-slate-200 dark:group-hover:text-slate-50",
7603
+ className: "text-foreground group-hover:hover-effect",
7604
7604
  name: "VerticalDots"
7605
7605
  })
7606
7606
  })
@@ -7714,22 +7714,22 @@ const PackageSection = ({ sectionId, title, count, isEmpty, emptyText, children
7714
7714
  return /* @__PURE__ */ jsxs("section", {
7715
7715
  className: "mb-6",
7716
7716
  children: [/* @__PURE__ */ jsx("h3", {
7717
- className: "sticky top-0 z-10 mb-3 border-b border-gray-200 bg-gray-50 text-gray-900 dark:border-slate-600 dark:bg-slate-800 dark:text-slate-100",
7717
+ className: "sticky top-0 z-10 mb-3 border-b border-border bg-background text-foreground",
7718
7718
  children: /* @__PURE__ */ jsxs("button", {
7719
7719
  type: "button",
7720
7720
  onClick: toggle,
7721
7721
  "aria-expanded": !collapsed,
7722
7722
  "aria-controls": contentId,
7723
- className: "flex w-full items-center gap-2 pb-2 text-left text-base font-semibold text-gray-900 hover:text-gray-700 dark:text-slate-100 dark:hover:text-slate-200",
7723
+ className: "flex w-full items-center gap-2 pb-2 text-left text-base font-semibold text-foreground hover:hover-effect",
7724
7724
  children: [
7725
7725
  /* @__PURE__ */ jsx(Icon, {
7726
7726
  name: "ChevronDown",
7727
7727
  size: 16,
7728
- className: twMerge("shrink-0 text-gray-700 transition-transform dark:text-slate-200", collapsed && "-rotate-90")
7728
+ className: twMerge("shrink-0 text-foreground transition-transform", collapsed && "-rotate-90")
7729
7729
  }),
7730
7730
  /* @__PURE__ */ jsx("span", { children: title }),
7731
7731
  /* @__PURE__ */ jsx("span", {
7732
- className: "text-xs font-medium text-gray-700 dark:text-slate-200",
7732
+ className: "text-xs font-medium text-foreground",
7733
7733
  children: count
7734
7734
  })
7735
7735
  ]
@@ -7737,7 +7737,7 @@ const PackageSection = ({ sectionId, title, count, isEmpty, emptyText, children
7737
7737
  }), !collapsed && /* @__PURE__ */ jsx("div", {
7738
7738
  id: contentId,
7739
7739
  children: isEmpty ? /* @__PURE__ */ jsx("p", {
7740
- className: "text-sm text-gray-700 dark:text-slate-200",
7740
+ className: "text-sm text-foreground",
7741
7741
  children: emptyText
7742
7742
  }) : /* @__PURE__ */ jsx("div", {
7743
7743
  className: "flex flex-col gap-4",
@@ -7748,9 +7748,9 @@ const PackageSection = ({ sectionId, title, count, isEmpty, emptyText, children
7748
7748
  };
7749
7749
  const PackageSubSection = ({ title, count, children }) => {
7750
7750
  return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("h4", {
7751
- className: "mb-2 flex items-baseline gap-2 text-xs font-semibold tracking-wide text-gray-700 uppercase dark:text-slate-200",
7751
+ className: "mb-2 flex items-baseline gap-2 text-xs font-semibold tracking-wide text-foreground uppercase",
7752
7752
  children: [/* @__PURE__ */ jsx("span", { children: title }), /* @__PURE__ */ jsxs("span", {
7753
- className: "font-medium tracking-normal text-gray-500 normal-case dark:text-slate-400",
7753
+ className: "font-medium tracking-normal text-muted-foreground normal-case",
7754
7754
  children: [
7755
7755
  "(",
7756
7756
  count,
@@ -7774,7 +7774,7 @@ const PackageList = ({ packages, onInstall, onUninstall }) => {
7774
7774
  const PackageManager = (props) => {
7775
7775
  const { registryPackageList, onInstall, onUninstall, mutable, disabled, className } = props;
7776
7776
  return /* @__PURE__ */ jsxs("div", {
7777
- className: twMerge("flex h-full flex-1 flex-col rounded-lg bg-gray-50 p-3 text-gray-900 dark:bg-slate-800 dark:text-slate-100", className),
7777
+ className: twMerge("flex h-full flex-1 flex-col rounded-lg bg-background p-3 text-foreground", className),
7778
7778
  children: [mutable && /* @__PURE__ */ jsx(PackageManagerInput, {
7779
7779
  className: "mb-4",
7780
7780
  registryPackageList,
@@ -7796,7 +7796,7 @@ function SettingsModal(props) {
7796
7796
  type: "button",
7797
7797
  onClick: () => setSelectedTab(tab.id),
7798
7798
  children: /* @__PURE__ */ jsxs("div", {
7799
- className: twMerge("flex h-9 w-48 cursor-pointer items-center gap-x-2 rounded-md pl-3 text-gray-700 hover:bg-gray-50 dark:text-slate-200 dark:hover:bg-slate-800", selectedTab === tab.id ? "bg-gray-50 dark:bg-slate-800" : "bg-transparent"),
7799
+ className: twMerge("flex h-9 w-48 cursor-pointer items-center gap-x-2 rounded-md pl-3 text-foreground hover:hover-effect", selectedTab === tab.id ? "bg-background" : "bg-transparent"),
7800
7800
  children: [tab.icon, /* @__PURE__ */ jsx("span", { children: tab.label })]
7801
7801
  })
7802
7802
  }, tab.id));
@@ -7817,13 +7817,13 @@ function SettingsModal(props) {
7817
7817
  },
7818
7818
  ...restProps,
7819
7819
  children: [/* @__PURE__ */ jsxs("div", {
7820
- className: "flex justify-between rounded-t-xl border-b border-gray-50 p-4 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
7820
+ className: "flex justify-between rounded-t-xl border-b border-border p-4",
7821
7821
  children: [/* @__PURE__ */ jsx("h1", {
7822
- className: "text-center text-xl font-semibold text-gray-900 dark:text-slate-50",
7822
+ className: "text-center text-xl font-semibold text-foreground",
7823
7823
  children: title
7824
7824
  }), /* @__PURE__ */ jsx("button", {
7825
7825
  type: "button",
7826
- className: "flex size-6 items-center justify-center rounded-md text-gray-900 outline-none dark:text-slate-100",
7826
+ className: "flex size-6 items-center justify-center rounded-md text-foreground outline-none",
7827
7827
  onClick: () => onOpenChange?.(false),
7828
7828
  children: /* @__PURE__ */ jsx(Icon, {
7829
7829
  name: "XmarkLight",
@@ -7838,11 +7838,11 @@ function SettingsModal(props) {
7838
7838
  className: "flex flex-col gap-y-1",
7839
7839
  children: tabsContent
7840
7840
  }), navFooter && /* @__PURE__ */ jsx("div", {
7841
- className: "mt-auto border-t border-gray-100 pt-2 dark:border-slate-700",
7841
+ className: "mt-auto border-t border-border pt-2",
7842
7842
  children: navFooter
7843
7843
  })]
7844
7844
  }), /* @__PURE__ */ jsx("div", {
7845
- className: "m-6 flex h-full flex-1 flex-col overflow-hidden rounded-lg border border-gray-50 bg-gray-50 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
7845
+ className: "m-6 flex h-full flex-1 flex-col overflow-hidden rounded-lg border border-border bg-background",
7846
7846
  children: typeof SelectedTabComponent === "function" ? /* @__PURE__ */ jsx(SelectedTabComponent, {}) : SelectedTabComponent
7847
7847
  })]
7848
7848
  })]
@@ -7861,14 +7861,14 @@ function ConnectUpgradeDriveModal(props) {
7861
7861
  },
7862
7862
  ...restProps,
7863
7863
  children: /* @__PURE__ */ jsxs("div", {
7864
- className: "w-100 bg-gray-50 p-6 text-gray-300 dark:bg-slate-800 dark:text-slate-200",
7864
+ className: "w-100 bg-background p-6 text-foreground",
7865
7865
  children: [
7866
7866
  /* @__PURE__ */ jsx("div", {
7867
- className: "pb-2 text-2xl font-bold text-gray-900 dark:text-slate-100",
7867
+ className: "pb-2 text-2xl font-bold text-foreground",
7868
7868
  children: header
7869
7869
  }),
7870
7870
  /* @__PURE__ */ jsx("div", {
7871
- className: "my-6 rounded-md bg-gray-50 p-4 text-center text-gray-900 dark:bg-slate-800 dark:text-slate-100",
7871
+ className: "my-6 rounded-md bg-background p-4 text-center text-foreground",
7872
7872
  children: body
7873
7873
  }),
7874
7874
  /* @__PURE__ */ jsxs("div", {
@@ -7892,12 +7892,12 @@ function ConnectUpgradeDriveModal(props) {
7892
7892
  function Branch(props) {
7893
7893
  const { branch = "main" } = props;
7894
7894
  return /* @__PURE__ */ jsxs("button", {
7895
- className: "flex h-8 w-fit items-center gap-1 rounded-lg bg-gray-50 pr-2 pl-1 text-xs text-stone-300 dark:bg-slate-800",
7895
+ className: "flex h-8 w-fit items-center gap-1 rounded-lg bg-background pr-2 pl-1 text-xs text-foreground",
7896
7896
  children: [
7897
7897
  /* @__PURE__ */ jsx(Icon, { name: "Branch" }),
7898
7898
  /* @__PURE__ */ jsx("span", { children: "BRANCH" }),
7899
7899
  /* @__PURE__ */ jsx("span", {
7900
- className: "text-gray-900 dark:text-slate-50",
7900
+ className: "text-foreground",
7901
7901
  children: branch
7902
7902
  })
7903
7903
  ]
@@ -7918,13 +7918,13 @@ function DocId(props) {
7918
7918
  };
7919
7919
  }
7920
7920
  return /* @__PURE__ */ jsxs("button", {
7921
- className: "flex h-8 w-fit items-center gap-1 rounded-lg bg-gray-50 pr-2 pl-1 text-xs text-stone-300 dark:bg-slate-800",
7921
+ className: "flex h-8 w-fit items-center gap-1 rounded-lg bg-background pr-2 pl-1 text-xs text-foreground",
7922
7922
  onClick: handleCopy(docId),
7923
7923
  children: [
7924
7924
  /* @__PURE__ */ jsx(Icon, { name: "Link" }),
7925
7925
  "DOC ID",
7926
7926
  /* @__PURE__ */ jsx("span", {
7927
- className: "text-gray-900 dark:text-slate-50",
7927
+ className: "text-foreground",
7928
7928
  children: docId
7929
7929
  })
7930
7930
  ]
@@ -7943,7 +7943,7 @@ const DocumentState = (props) => {
7943
7943
  });
7944
7944
  }
7945
7945
  return /* @__PURE__ */ jsx("button", {
7946
- className: "rounded-lg bg-gray-50 p-1 text-stone-300 dark:bg-slate-800",
7946
+ className: "rounded-lg bg-background p-1 text-foreground",
7947
7947
  onClick: handleCopy,
7948
7948
  children: /* @__PURE__ */ jsx(Icon, { name: "CurlyBrackets" })
7949
7949
  });
@@ -7954,9 +7954,9 @@ function Scope(props) {
7954
7954
  const { value, onChange } = props;
7955
7955
  return /* @__PURE__ */ jsx(ConnectSelect, {
7956
7956
  absolutePositionMenu: true,
7957
- containerClassName: "bg-gray-50 text-gray-500 rounded-lg w-fit text-xs z-10 dark:bg-slate-800 dark:text-slate-400",
7957
+ containerClassName: "z-10 w-fit rounded-lg bg-background text-xs text-muted-foreground",
7958
7958
  id: "scope select",
7959
- itemClassName: "py-2 text-gray-500 grid grid-cols-[auto,auto] gap-1 dark:text-slate-400",
7959
+ itemClassName: "grid grid-cols-[auto,auto] gap-1 py-2 text-muted-foreground",
7960
7960
  items: [{
7961
7961
  displayValue: "Global scope",
7962
7962
  value: "global"
@@ -7964,7 +7964,7 @@ function Scope(props) {
7964
7964
  displayValue: "Local scope",
7965
7965
  value: "local"
7966
7966
  }],
7967
- menuClassName: "min-w-0 text-gray-500 dark:text-slate-400",
7967
+ menuClassName: "min-w-0 text-muted-foreground",
7968
7968
  onChange,
7969
7969
  value
7970
7970
  });
@@ -7980,11 +7980,11 @@ function Header(props) {
7980
7980
  className: "flex items-center gap-3",
7981
7981
  children: [/* @__PURE__ */ jsx("button", {
7982
7982
  name: "close-revision-history",
7983
- className: "rounded-lg bg-gray-50 p-1 text-stone-300 shadow-button dark:bg-slate-800",
7983
+ className: "rounded-lg bg-background p-1 text-foreground shadow-button",
7984
7984
  onClick: onClose,
7985
7985
  children: /* @__PURE__ */ jsx(Icon, { name: "VariantArrowLeft" })
7986
7986
  }), /* @__PURE__ */ jsx("h1", {
7987
- className: "text-xs text-gray-900 dark:text-slate-50",
7987
+ className: "text-xs text-foreground",
7988
7988
  children: title
7989
7989
  })]
7990
7990
  }), /* @__PURE__ */ jsxs("div", {
@@ -8105,7 +8105,7 @@ function CodePopover(props) {
8105
8105
  bottom: -1e4,
8106
8106
  left: 24
8107
8107
  },
8108
- className: "z-50 rounded-lg border border-gray-200 bg-gray-50 p-2 text-xs shadow-tooltip outline-none dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
8108
+ className: "z-50 rounded-lg border border-border bg-popover p-2 text-xs text-popover-foreground shadow-tooltip outline-none",
8109
8109
  children: content
8110
8110
  }) })
8111
8111
  ]
@@ -8121,7 +8121,7 @@ function Address(props) {
8121
8121
  return /* @__PURE__ */ jsx(CodePopover, {
8122
8122
  content: /* @__PURE__ */ jsx(FormattedJsonViewer, { value: { address } }),
8123
8123
  trigger: /* @__PURE__ */ jsxs("span", {
8124
- className: "flex w-fit cursor-pointer items-center gap-1 rounded-lg bg-gray-100 p-1 text-xs text-gray-100 dark:bg-slate-700 dark:text-slate-800",
8124
+ className: "flex w-fit cursor-pointer items-center gap-1 rounded-lg bg-muted p-1 text-xs text-muted-foreground",
8125
8125
  children: [/* @__PURE__ */ jsx(ENSAvatar, {
8126
8126
  address,
8127
8127
  chainId,
@@ -8135,7 +8135,7 @@ function Address(props) {
8135
8135
  function Errors(props) {
8136
8136
  const { errors } = props;
8137
8137
  const hasErrors = !!errors?.length;
8138
- const color = hasErrors ? "text-red-800 dark:text-red-100" : "text-green-700 dark:text-green-100";
8138
+ const color = hasErrors ? "text-destructive" : "text-success";
8139
8139
  const icon = hasErrors ? /* @__PURE__ */ jsx(Icon, {
8140
8140
  name: "Exclamation",
8141
8141
  size: 16
@@ -8145,7 +8145,7 @@ function Errors(props) {
8145
8145
  });
8146
8146
  const text = hasErrors ? `Error: ${errors[0]}` : "No errors";
8147
8147
  const content = /* @__PURE__ */ jsxs("span", {
8148
- className: twMerge("flex w-fit items-center rounded-lg border border-gray-200 bg-gray-50 px-2 py-1 text-xs dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", color, hasErrors && "cursor-pointer"),
8148
+ className: twMerge("flex w-fit items-center rounded-lg border border-border bg-background px-2 py-1 text-xs", color, hasErrors && "cursor-pointer"),
8149
8149
  children: [icon, /* @__PURE__ */ jsx("span", {
8150
8150
  className: twMerge("inline-block max-w-36 truncate"),
8151
8151
  children: text
@@ -8164,9 +8164,9 @@ function Operation$1(props) {
8164
8164
  return /* @__PURE__ */ jsx(CodePopover, {
8165
8165
  content: /* @__PURE__ */ jsx(FormattedJsonViewer, { value: operationInput }),
8166
8166
  trigger: /* @__PURE__ */ jsxs("span", {
8167
- className: "flex cursor-pointer items-center gap-2 text-xs text-gray-900 dark:text-slate-50",
8167
+ className: "flex cursor-pointer items-center gap-2 text-xs text-foreground",
8168
8168
  children: [operationType, /* @__PURE__ */ jsx(Icon, {
8169
- className: "text-gray-300 dark:text-slate-600",
8169
+ className: "text-foreground",
8170
8170
  name: "Braces",
8171
8171
  size: 16
8172
8172
  })]
@@ -8185,13 +8185,13 @@ function RevisionNumber(props) {
8185
8185
  stateHash
8186
8186
  } }),
8187
8187
  trigger: /* @__PURE__ */ jsxs("span", {
8188
- className: "flex cursor-pointer items-center gap-2 text-xs text-gray-700 dark:text-slate-200",
8188
+ className: "flex cursor-pointer items-center gap-2 text-xs text-foreground",
8189
8189
  children: [
8190
8190
  "Revision ",
8191
8191
  revisionNumber,
8192
8192
  ".",
8193
8193
  /* @__PURE__ */ jsx("a", { children: /* @__PURE__ */ jsx(Icon, {
8194
- className: "cursor-pointer text-gray-100 dark:text-slate-800",
8194
+ className: "cursor-pointer text-foreground",
8195
8195
  name: "Ellipsis",
8196
8196
  size: 14
8197
8197
  }) })
@@ -8206,12 +8206,12 @@ function Signature(props) {
8206
8206
  if (!signatures?.length) return null;
8207
8207
  return /* @__PURE__ */ jsx(CodePopover, {
8208
8208
  trigger: /* @__PURE__ */ jsxs("span", {
8209
- className: "flex w-fit cursor-pointer items-center gap-1 rounded-lg border border-gray-200 bg-gray-50 px-2 py-1 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
8209
+ className: "flex w-fit cursor-pointer items-center gap-1 rounded-lg border border-border bg-background px-2 py-1",
8210
8210
  children: [
8211
8211
  /* @__PURE__ */ jsx(VerificationStatus, { signatures }),
8212
8212
  " ",
8213
8213
  /* @__PURE__ */ jsx(Icon, {
8214
- className: "text-gray-300 dark:text-slate-600",
8214
+ className: "text-foreground",
8215
8215
  name: "InfoSquare",
8216
8216
  size: 16
8217
8217
  })
@@ -8230,7 +8230,7 @@ function VerificationStatus(props) {
8230
8230
  const verifiedSignaturesCount = signatures.filter((signature) => signature.isVerified).length;
8231
8231
  const verificationStatusText = `${verifiedSignaturesCount}/${signatureCount} ${signatureCount === 1 ? "signature" : "signatures"} verified`;
8232
8232
  return /* @__PURE__ */ jsx("span", {
8233
- className: `text-xs ${verifiedSignaturesCount === 0 ? "text-red-800 dark:text-red-100" : verifiedSignaturesCount === signatureCount ? "text-green-700 dark:text-green-100" : "text-orange-700 dark:text-orange-100"}`,
8233
+ className: twMerge(`text-xs`, verifiedSignaturesCount === 0 ? "text-destructive" : verifiedSignaturesCount === signatureCount ? "text-success" : "text-warning"),
8234
8234
  children: verificationStatusText
8235
8235
  });
8236
8236
  }
@@ -8247,7 +8247,7 @@ function Timestamp(props) {
8247
8247
  timestampUtcMs: timestamp
8248
8248
  } }),
8249
8249
  trigger: /* @__PURE__ */ jsxs("span", {
8250
- className: "cursor-pointer text-xs text-gray-900 dark:text-slate-50",
8250
+ className: "cursor-pointer text-xs text-foreground",
8251
8251
  children: ["committed at ", shortDate]
8252
8252
  })
8253
8253
  });
@@ -8256,7 +8256,7 @@ function Timestamp(props) {
8256
8256
  //#region src/connect/components/revision-history/revision/revision.tsx
8257
8257
  function _Revision(props) {
8258
8258
  return /* @__PURE__ */ jsxs("article", {
8259
- className: "flex items-center justify-between rounded-xl border border-gray-200 bg-gray-50 px-4 py-2 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
8259
+ className: "flex items-center justify-between rounded-xl border border-border bg-background px-4 py-2",
8260
8260
  children: [/* @__PURE__ */ jsxs("div", {
8261
8261
  className: "flex items-center gap-2",
8262
8262
  children: [
@@ -8281,16 +8281,16 @@ function Skip(props) {
8281
8281
  return /* @__PURE__ */ jsxs("article", {
8282
8282
  className: "grid grid-cols-[1fr,auto,1fr] items-center py-2",
8283
8283
  children: [
8284
- /* @__PURE__ */ jsx("div", { className: "h-px rounded-full bg-gray-100 dark:bg-slate-700" }),
8284
+ /* @__PURE__ */ jsx("div", { className: "h-px rounded-full bg-muted" }),
8285
8285
  /* @__PURE__ */ jsxs("div", {
8286
- className: "mx-3 text-xs text-gray-100 dark:text-slate-800",
8286
+ className: "mx-3 text-xs text-foreground",
8287
8287
  children: [
8288
8288
  "[Skipped Revision ",
8289
8289
  skippedRevisions,
8290
8290
  "]"
8291
8291
  ]
8292
8292
  }),
8293
- /* @__PURE__ */ jsx("div", { className: "h-px rounded-full bg-gray-100 dark:bg-slate-700" })
8293
+ /* @__PURE__ */ jsx("div", { className: "h-px rounded-full bg-muted" })
8294
8294
  ]
8295
8295
  });
8296
8296
  }
@@ -8353,7 +8353,7 @@ function Day(props) {
8353
8353
  const { timestampUtcMs: timestamp } = props;
8354
8354
  const formattedDate = format(timestamp, "MMM dd, yyyy");
8355
8355
  return /* @__PURE__ */ jsxs("h2", {
8356
- className: "-ml-6 flex items-center gap-1 bg-gray-50 py-2 text-xs text-gray-100 dark:bg-slate-800 dark:text-slate-800",
8356
+ className: "-ml-6 flex items-center gap-1 bg-background py-2 text-xs text-foreground",
8357
8357
  children: [
8358
8358
  /* @__PURE__ */ jsx(Icon, {
8359
8359
  name: "Ring",
@@ -8404,7 +8404,7 @@ function Timeline(props) {
8404
8404
  };
8405
8405
  }, []);
8406
8406
  return /* @__PURE__ */ jsx("div", {
8407
- className: "border-l border-gray-100 dark:border-none dark:bg-slate-800 dark:text-slate-100",
8407
+ className: "border-l border-border dark:border-none",
8408
8408
  ref: parentRef,
8409
8409
  style: {
8410
8410
  height: `${rowVirtualizer.getTotalSize()}px`,
@@ -8470,7 +8470,7 @@ function RevisionHistory(props) {
8470
8470
  })
8471
8471
  }) : /* @__PURE__ */ jsx("hr", { className: "h-12 border-none" });
8472
8472
  return /* @__PURE__ */ jsx(ConnectTooltipProvider, { children: /* @__PURE__ */ jsxs("div", {
8473
- className: "p-6 dark:bg-slate-800",
8473
+ className: "p-6",
8474
8474
  children: [
8475
8475
  /* @__PURE__ */ jsx(Header, {
8476
8476
  docId: documentId,
@@ -8484,7 +8484,7 @@ function RevisionHistory(props) {
8484
8484
  }),
8485
8485
  PaginationComponent,
8486
8486
  /* @__PURE__ */ jsx("div", {
8487
- className: "mt-4 flex justify-center rounded-md bg-gray-50 p-4 dark:bg-slate-800",
8487
+ className: "mt-4 flex justify-center rounded-md bg-background p-4",
8488
8488
  children: visibleOperations.length > 0 ? /* @__PURE__ */ jsx("div", {
8489
8489
  className: "grid grid-cols-[minmax(min-content,1018px)]",
8490
8490
  children: /* @__PURE__ */ jsx(Timeline, {
@@ -8493,7 +8493,7 @@ function RevisionHistory(props) {
8493
8493
  scope
8494
8494
  })
8495
8495
  }) : /* @__PURE__ */ jsx("h3", {
8496
- className: "my-40 text-gray-700 dark:text-slate-200",
8496
+ className: "my-40 text-foreground",
8497
8497
  children: "This document has no recorded operations yet."
8498
8498
  })
8499
8499
  }),
@@ -8509,7 +8509,7 @@ const FilterItem = (props) => {
8509
8509
  className: twMerge("flex h-full flex-row items-center justify-between gap-x-4 px-2", typeof className === "string" && className),
8510
8510
  ...containerProps,
8511
8511
  children: [item.icon, /* @__PURE__ */ jsx("div", {
8512
- className: "text-sm font-semibold text-gray-200 dark:text-slate-700",
8512
+ className: "text-sm font-semibold text-foreground",
8513
8513
  children: item.label
8514
8514
  })]
8515
8515
  });
@@ -8527,7 +8527,7 @@ const ConnectSearchBar = (props) => {
8527
8527
  className: "gap-x-1",
8528
8528
  item: selectedItemFilter
8529
8529
  }) : filterLabel && /* @__PURE__ */ jsx("div", {
8530
- className: "mr-2 text-sm font-semibold text-gray-200 dark:text-slate-700",
8530
+ className: "mr-2 text-sm font-semibold text-foreground",
8531
8531
  children: filterLabel
8532
8532
  });
8533
8533
  function handleChange(event) {
@@ -8537,11 +8537,11 @@ const ConnectSearchBar = (props) => {
8537
8537
  className: twMerge("flex items-center", className),
8538
8538
  children: [
8539
8539
  /* @__PURE__ */ jsx(Icon, {
8540
- className: "mr-3 text-gray-700 dark:text-slate-200",
8540
+ className: "mr-3 text-foreground",
8541
8541
  name: "Search"
8542
8542
  }),
8543
8543
  /* @__PURE__ */ jsx("input", {
8544
- className: twMerge("flex h-[52px] min-w-0 flex-1 items-center rounded-xl border border-gray-200 bg-gray-50 px-4 text-sm text-gray-200 outline-none dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100"),
8544
+ className: twMerge("flex h-[52px] min-w-0 flex-1 items-center rounded-xl border border-border bg-background px-4 text-sm text-foreground outline-none"),
8545
8545
  onChange: handleChange,
8546
8546
  placeholder,
8547
8547
  value
@@ -8554,9 +8554,9 @@ const ConnectSearchBar = (props) => {
8554
8554
  /* @__PURE__ */ jsx(Icon, { name: "ChevronDown" })
8555
8555
  ]
8556
8556
  }), /* @__PURE__ */ jsx(DropdownMenuContent, {
8557
- className: "rounded-xl border border-gray-100 bg-gray-50 p-2 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100",
8557
+ className: "rounded-xl border border-border bg-background p-2",
8558
8558
  children: items.map((item) => /* @__PURE__ */ jsx(DropdownMenuItem, {
8559
- className: "h-10 cursor-pointer overflow-hidden rounded-lg hover:bg-gray-100 dark:hover:bg-slate-700",
8559
+ className: "h-10 cursor-pointer overflow-hidden rounded-lg hover:hover-effect",
8560
8560
  id: item.id,
8561
8561
  onSelect: () => onFilterSelect(item.id),
8562
8562
  children: item.content
@@ -8573,16 +8573,16 @@ const SidebarItem = function SidebarItem(props) {
8573
8573
  content: title,
8574
8574
  side: "right",
8575
8575
  sideOffset: 12,
8576
- className: "border-none bg-gray-800 px-3 py-2 text-sm text-white dark:bg-slate-100 dark:text-slate-900",
8576
+ className: "border-none bg-primary px-3 py-2 text-sm text-primary-foreground",
8577
8577
  children: /* @__PURE__ */ jsxs("div", {
8578
- className: twMerge("group/sidebar-item relative flex cursor-pointer flex-col items-center justify-center text-center text-sm text-gray-900 dark:text-slate-50", containerClassName, active && "bg-gray-50 dark:bg-slate-800", onClick && "cursor-pointer"),
8578
+ className: twMerge("group/sidebar-item relative flex cursor-pointer flex-col items-center justify-center text-center text-sm text-foreground", containerClassName, active && "bg-sidebar-accent text-sidebar-accent-foreground", onClick && "cursor-pointer"),
8579
8579
  onClick,
8580
- children: [active ? /* @__PURE__ */ jsx("div", { className: "absolute top-1/2 left-0 h-10 w-1 -translate-y-1/2 rounded-r-sm bg-violet-400 dark:bg-violet-500" }) : /* @__PURE__ */ jsx("div", { className: "absolute top-1/2 left-0 h-6 w-1 -translate-y-1/2 rounded-r-sm bg-gray-300 opacity-0 transition-opacity group-hover/sidebar-item:opacity-100 dark:bg-slate-600 dark:text-slate-100" }), /* @__PURE__ */ jsx("div", {
8580
+ children: [active ? /* @__PURE__ */ jsx("div", { className: "absolute top-1/2 left-0 h-10 w-1 -translate-y-1/2 rounded-r-sm bg-info" }) : /* @__PURE__ */ jsx("div", { className: "absolute top-1/2 left-0 h-6 w-1 -translate-y-1/2 rounded-r-sm bg-secondary opacity-0 transition-opacity group-hover/sidebar-item:opacity-100" }), /* @__PURE__ */ jsx("div", {
8581
8581
  className: "mx-auto py-4",
8582
8582
  children: icon || /* @__PURE__ */ jsx("div", {
8583
- className: "flex size-8 items-center justify-center rounded-lg bg-gray-900 dark:bg-slate-50",
8583
+ className: "flex size-8 items-center justify-center rounded-lg bg-primary",
8584
8584
  children: /* @__PURE__ */ jsx("span", {
8585
- className: "text-sm font-medium text-white dark:text-slate-900",
8585
+ className: "text-sm font-medium text-primary-foreground",
8586
8586
  children: title.slice(0, 1).toUpperCase()
8587
8587
  })
8588
8588
  })
@@ -8637,7 +8637,7 @@ const AccountPopoverLogin = ({ onLogin }) => {
8637
8637
  children: [/* @__PURE__ */ jsx("div", {
8638
8638
  className: "mb-4 flex justify-center",
8639
8639
  children: /* @__PURE__ */ jsx("div", {
8640
- className: "flex h-5.5 w-20.75 items-center justify-center overflow-hidden text-gray-900 dark:text-slate-50",
8640
+ className: "flex h-5.5 w-20.75 items-center justify-center overflow-hidden text-foreground",
8641
8641
  children: /* @__PURE__ */ jsx(Icon, {
8642
8642
  name: "RenownLight",
8643
8643
  size: 83
@@ -8645,7 +8645,7 @@ const AccountPopoverLogin = ({ onLogin }) => {
8645
8645
  })
8646
8646
  }), /* @__PURE__ */ jsx("button", {
8647
8647
  onClick: allowLogin ? handleLogin : void 0,
8648
- className: twMerge("mt-4 flex h-7 w-full cursor-pointer items-center justify-center rounded-lg border border-gray-300 bg-transparent text-sm text-gray-900 active:opacity-70 dark:border-slate-500 dark:bg-slate-600 dark:text-slate-100", allowLogin ? "cursor-pointer" : "cursor-wait"),
8648
+ className: twMerge("mt-4 flex h-7 w-full cursor-pointer items-center justify-center rounded-lg border border-border bg-transparent text-sm text-foreground active:active-effect", allowLogin ? "cursor-pointer" : "cursor-wait"),
8649
8649
  type: "button",
8650
8650
  children: content
8651
8651
  })]
@@ -8662,7 +8662,7 @@ const SidebarLogin = ({ onLogin }) => {
8662
8662
  return /* @__PURE__ */ jsx(AccountPopover, {
8663
8663
  content,
8664
8664
  children: /* @__PURE__ */ jsxs("div", {
8665
- className: twMerge("group/sidebar-footer flex w-full items-baseline justify-start text-sm/10 font-semibold text-gray-700 dark:text-slate-200", onLogin ? "cursor-pointer" : "cursor-wait"),
8665
+ className: twMerge("group/sidebar-footer flex w-full items-baseline justify-start text-sm/10 font-semibold text-foreground", onLogin ? "cursor-pointer" : "cursor-wait"),
8666
8666
  children: [/* @__PURE__ */ jsx("img", {
8667
8667
  width: 42,
8668
8668
  height: 42,
@@ -8696,7 +8696,7 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
8696
8696
  }
8697
8697
  }, []);
8698
8698
  return /* @__PURE__ */ jsxs("div", {
8699
- className: "flex flex-col divide-y divide-gray-200 text-gray-900 dark:divide-slate-500 dark:text-slate-50",
8699
+ className: "flex flex-col divide-y divide-border text-foreground",
8700
8700
  children: [
8701
8701
  /* @__PURE__ */ jsxs("div", {
8702
8702
  className: "px-3 py-2",
@@ -8709,12 +8709,12 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
8709
8709
  size: "small",
8710
8710
  color: "light",
8711
8711
  onClick: () => void copyToClipboard(address),
8712
- className: "w-full cursor-pointer bg-transparent p-0 active:opacity-70",
8712
+ className: "w-full cursor-pointer bg-transparent p-0 active:active-effect",
8713
8713
  type: "button",
8714
8714
  children: /* @__PURE__ */ jsxs("div", {
8715
8715
  className: "relative flex w-full items-center gap-1",
8716
8716
  children: [/* @__PURE__ */ jsxs("div", {
8717
- className: `flex items-center gap-1 transition-opacity duration-150 ${isCopied ? "opacity-0" : "opacity-100"}`,
8717
+ className: twMerge(`flex items-center gap-1 transition-opacity duration-150`, isCopied ? "opacity-0" : "opacity-100"),
8718
8718
  children: [/* @__PURE__ */ jsx("span", {
8719
8719
  className: "text-xs",
8720
8720
  children: shortAddress(address)
@@ -8724,7 +8724,7 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
8724
8724
  size: 14
8725
8725
  })]
8726
8726
  }), /* @__PURE__ */ jsx("div", {
8727
- className: `absolute left-0 text-xs transition-opacity duration-150 ${isCopied ? "opacity-100" : "opacity-0"}`,
8727
+ className: twMerge(`absolute left-0 text-xs transition-opacity duration-150`, isCopied ? "opacity-100" : "opacity-0"),
8728
8728
  children: "Copied to clipboard!"
8729
8729
  })]
8730
8730
  })
@@ -8737,7 +8737,7 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
8737
8737
  href: etherscanUrl,
8738
8738
  target: "_blank",
8739
8739
  rel: "noopener noreferrer",
8740
- className: "flex items-center gap-2 text-sm text-gray-900 hover:text-gray-600 dark:text-slate-50 dark:hover:text-slate-300",
8740
+ className: "flex items-center gap-2 text-sm text-foreground hover:hover-effect",
8741
8741
  children: [/* @__PURE__ */ jsx(Icon, {
8742
8742
  name: "Ethscan",
8743
8743
  size: 14
@@ -8748,7 +8748,7 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
8748
8748
  className: "px-3 py-2",
8749
8749
  children: /* @__PURE__ */ jsxs("button", {
8750
8750
  onClick: onDisconnect,
8751
- className: twMerge("flex w-full items-center gap-2 text-sm text-red-900 dark:text-red-400", onDisconnect ? "cursor-pointer hover:text-red-700 dark:hover:text-red-100" : "pointer-events-none cursor-wait"),
8751
+ className: twMerge("flex w-full items-center gap-2 text-sm text-destructive", onDisconnect ? "cursor-pointer hover:hover-effect" : "pointer-events-none cursor-wait"),
8752
8752
  type: "button",
8753
8753
  children: [/* @__PURE__ */ jsx(Icon, {
8754
8754
  name: "Disconnect",
@@ -8784,7 +8784,7 @@ const SidebarUser = ({ address, ensName, avatarUrl, etherscanUrl, onDisconnect }
8784
8784
  const ConnectSidebarFooter = ({ address, ensName, avatarUrl, className, onLogin, onClickSettings, onDisconnect, onHomeClick, showDebug, onDebugClick, etherscanUrl = "", ...props }) => {
8785
8785
  return /* @__PURE__ */ jsxs(SidebarFooter, {
8786
8786
  ...props,
8787
- className: twMerge("flex flex-col items-center gap-3 border-t border-gray-300 px-2 py-4 dark:border-none dark:bg-slate-700 dark:text-slate-100", className),
8787
+ className: twMerge("flex flex-col items-center gap-3 border-t border-sidebar-border px-2 py-4 dark:border-none", className),
8788
8788
  children: [
8789
8789
  onHomeClick && /* @__PURE__ */ jsx("button", {
8790
8790
  "aria-label": "Home",
@@ -8792,7 +8792,7 @@ const ConnectSidebarFooter = ({ address, ensName, avatarUrl, className, onLogin,
8792
8792
  className: "cursor-pointer",
8793
8793
  onClick: onHomeClick,
8794
8794
  children: /* @__PURE__ */ jsx(Icon, {
8795
- className: "text-gray-700 dark:text-slate-200",
8795
+ className: "text-muted-foreground",
8796
8796
  name: "ConnectSmall",
8797
8797
  size: 24
8798
8798
  })
@@ -8804,7 +8804,7 @@ const ConnectSidebarFooter = ({ address, ensName, avatarUrl, className, onLogin,
8804
8804
  className: "cursor-pointer",
8805
8805
  onClick: onDebugClick,
8806
8806
  children: /* @__PURE__ */ jsx(Icon, {
8807
- className: "text-gray-700 dark:text-slate-200",
8807
+ className: "text-foreground",
8808
8808
  name: "Tube"
8809
8809
  })
8810
8810
  }),
@@ -8824,11 +8824,11 @@ const ConnectSidebarFooter = ({ address, ensName, avatarUrl, className, onLogin,
8824
8824
  className: twMerge(onClickSettings ? "cursor-pointer" : "cursor-wait"),
8825
8825
  onClick: onClickSettings,
8826
8826
  children: [/* @__PURE__ */ jsx(Settings, {
8827
- className: "text-gray-700 dark:text-slate-200",
8827
+ className: "text-foreground",
8828
8828
  size: 24,
8829
8829
  strokeWidth: 2
8830
8830
  }), /* @__PURE__ */ jsx("span", {
8831
- className: "hidden text-sm/6 font-semibold text-gray-900 dark:text-slate-100",
8831
+ className: "hidden text-sm/6 font-semibold text-foreground",
8832
8832
  children: "Settings"
8833
8833
  })]
8834
8834
  })
@@ -8841,7 +8841,7 @@ const ConnectSidebarHeader = ({ className, children, ...props }) => {
8841
8841
  if (!children) return null;
8842
8842
  return /* @__PURE__ */ jsx(SidebarHeader, {
8843
8843
  ...props,
8844
- className: twMerge("flex justify-center gap-4 border-b border-gray-300 py-4 text-gray-500 dark:bg-slate-700 dark:text-slate-100", className),
8844
+ className: twMerge("flex justify-center gap-4 border-b border-sidebar-border py-4 text-muted-foreground", className),
8845
8845
  children
8846
8846
  });
8847
8847
  };
@@ -8910,7 +8910,7 @@ function ThemeSwitch({ horizontal = false }) {
8910
8910
  tabIndex: 0,
8911
8911
  onClick: () => select(value),
8912
8912
  onKeyDown: (e) => (e.key === "Enter" || e.key === " ") && select(value),
8913
- className: twMerge("flex cursor-pointer items-center justify-center rounded-md p-1 transition-colors", isActive(value) ? "bg-gray-50 text-gray-700 dark:bg-slate-800 dark:text-slate-200" : "text-gray-400 hover:text-gray-600 dark:text-slate-500 dark:hover:text-slate-400"),
8913
+ className: twMerge("flex cursor-pointer items-center justify-center rounded-md p-1 transition-colors", isActive(value) ? "bg-background text-foreground" : "text-muted-foreground hover:text-muted-foreground"),
8914
8914
  children: /* @__PURE__ */ jsx(Icon, {
8915
8915
  size: 16,
8916
8916
  "aria-hidden": "true"
@@ -8928,7 +8928,7 @@ function ThemeSwitch({ horizontal = false }) {
8928
8928
  tabIndex: 0,
8929
8929
  onClick: () => select(value),
8930
8930
  onKeyDown: (e) => (e.key === "Enter" || e.key === " ") && select(value),
8931
- className: twMerge("flex size-fit cursor-pointer content-center items-center transition-colors", isActive(value) ? "text-gray-900 dark:text-slate-50" : "text-gray-500 dark:text-slate-400"),
8931
+ className: twMerge("flex size-fit cursor-pointer content-center items-center transition-colors", isActive(value) ? "text-foreground" : "text-muted-foreground"),
8932
8932
  children: /* @__PURE__ */ jsx(Icon, {
8933
8933
  size: 24,
8934
8934
  strokeWidth: 2,