@powerhousedao/design-system 6.2.0-dev.4 → 6.2.0-dev.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{command-DK7bdu7x.d.ts → command-B5BuEBfZ.d.ts} +8 -8
- package/dist/{command-DK7bdu7x.d.ts.map → command-B5BuEBfZ.d.ts.map} +1 -1
- package/dist/connect/components/toast/toast.d.ts.map +1 -1
- package/dist/connect/components/toast/toast.js +5 -5
- package/dist/connect/components/toast/toast.js.map +1 -1
- package/dist/connect/index.d.ts +49 -4
- package/dist/connect/index.d.ts.map +1 -1
- package/dist/connect/index.js +810 -612
- package/dist/connect/index.js.map +1 -1
- package/dist/id-autocomplete-list-option-CB5B07Hi.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/json-viewer-DaTgmzkS.d.ts.map +1 -1
- package/dist/{src-BrrPQVce.js → src-CfIIbIOi.js} +11 -11
- package/dist/src-CfIIbIOi.js.map +1 -0
- package/dist/style.css +79 -16
- package/dist/ui/components/button/button.js +1 -1
- package/dist/ui/components/button/button.js.map +1 -1
- package/dist/ui/components/character-counter/character-counter.js +6 -6
- package/dist/ui/components/character-counter/character-counter.js.map +1 -1
- package/dist/ui/components/checkbox/checkbox-base.js +1 -1
- package/dist/ui/components/checkbox/checkbox-base.js.map +1 -1
- package/dist/ui/components/checkbox/checkbox.js +1 -1
- package/dist/ui/components/checkbox/checkbox.js.map +1 -1
- package/dist/ui/components/command/command.d.ts +1 -1
- package/dist/ui/components/command/command.js +5 -5
- package/dist/ui/components/command/command.js.map +1 -1
- package/dist/ui/components/form-description/form-description.js +1 -1
- package/dist/ui/components/form-description/form-description.js.map +1 -1
- package/dist/ui/components/form-label/form-label.js +3 -3
- package/dist/ui/components/form-label/form-label.js.map +1 -1
- package/dist/ui/components/form-message/form-message.js +3 -3
- package/dist/ui/components/form-message/form-message.js.map +1 -1
- package/dist/ui/components/form-message/message-list.js +3 -3
- package/dist/ui/components/form-message/message-list.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js +3 -3
- package/dist/ui/components/id-autocomplete/id-autocomplete-input-container.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js +10 -10
- package/dist/ui/components/id-autocomplete/id-autocomplete-list-option.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete-list.js.map +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.js +1 -1
- package/dist/ui/components/id-autocomplete/id-autocomplete.js.map +1 -1
- package/dist/ui/components/index.d.ts +1 -1
- package/dist/ui/components/input/input.js +1 -1
- package/dist/ui/components/input/input.js.map +1 -1
- package/dist/ui/components/input/splitted-input-diff.js +2 -2
- package/dist/ui/components/input/splitted-input-diff.js.map +1 -1
- package/dist/ui/components/input/subcomponent/input-diff.js +1 -1
- package/dist/ui/components/input/subcomponent/input-diff.js.map +1 -1
- package/dist/ui/components/input/subcomponent/text-diff.js +3 -3
- package/dist/ui/components/input/subcomponent/text-diff.js.map +1 -1
- package/dist/ui/components/json-viewer/json-viewer.js +6 -5
- package/dist/ui/components/json-viewer/json-viewer.js.map +1 -1
- package/dist/ui/components/popover/popover.js +1 -1
- package/dist/ui/components/popover/popover.js.map +1 -1
- package/dist/ui/components/radio-group-field/radio.js +3 -3
- package/dist/ui/components/radio-group-field/radio.js.map +1 -1
- package/dist/ui/components/search-autocomplete/search-autocomplete.js +13 -13
- package/dist/ui/components/search-autocomplete/search-autocomplete.js.map +1 -1
- package/dist/ui/components/select-field/content.js +8 -8
- package/dist/ui/components/select-field/content.js.map +1 -1
- package/dist/ui/components/select-field/select-field.js +1 -1
- package/dist/ui/components/select-field/select-field.js.map +1 -1
- package/dist/ui/components/select-field/selected-content.js +7 -7
- package/dist/ui/components/select-field/selected-content.js.map +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.d.ts.map +1 -1
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js +9 -9
- package/dist/ui/components/select-field/subcomponents/CommandItemList.js.map +1 -1
- package/dist/ui/components/sidebar/sidebar.js +5 -5
- package/dist/ui/components/sidebar/sidebar.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-content-area.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.js +3 -3
- package/dist/ui/components/sidebar/subcomponents/sidebar-header.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js +7 -7
- package/dist/ui/components/sidebar/subcomponents/sidebar-item.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-pinning-area.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-navigation-arrow.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js +4 -4
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/search-result-counter.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js +5 -5
- package/dist/ui/components/sidebar/subcomponents/sidebar-search/sidebar-search.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js +2 -2
- package/dist/ui/components/sidebar/subcomponents/sidebar-skeleton-item.js.map +1 -1
- package/dist/ui/components/sidebar/subcomponents/status-icon.js +6 -6
- package/dist/ui/components/sidebar/subcomponents/status-icon.js.map +1 -1
- package/dist/ui/components/tooltip/tooltip.js +1 -1
- package/dist/ui/components/tooltip/tooltip.js.map +1 -1
- package/dist/ui/index.d.ts +1 -1
- package/package.json +23 -8
- package/theme.css +145 -17
- package/dist/src-BrrPQVce.js.map +0 -1
package/dist/connect/index.js
CHANGED
|
@@ -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-
|
|
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";
|
|
@@ -18,6 +18,7 @@ import Select, { components } from "react-select";
|
|
|
18
18
|
import { Content as Content$2, List, Root as Root$2, Trigger as Trigger$2 } from "@radix-ui/react-tabs";
|
|
19
19
|
import { addProp, defaultTo, entries, filter, funnel, hasAtLeast, isArray, isDefined, isIncludedIn, isStrictEqual, isString, isTruthy, keys, map, pipe, prop, values } from "remeda";
|
|
20
20
|
import { garbageCollect, redo, sortOperations, undo } from "@powerhousedao/shared/document-model";
|
|
21
|
+
import { RenownLogo } from "@powerhousedao/reactor-browser/renown";
|
|
21
22
|
import { JsonView } from "@uiw/react-json-view";
|
|
22
23
|
import { darkTheme } from "@uiw/react-json-view/dark";
|
|
23
24
|
import { lightTheme } from "@uiw/react-json-view/light";
|
|
@@ -132,14 +133,14 @@ function Breadcrumbs() {
|
|
|
132
133
|
const hasSelectedDrive = !!selectedDrive;
|
|
133
134
|
const hasNodePath = !!selectedNodePath.length;
|
|
134
135
|
return /* @__PURE__ */ jsxs("div", {
|
|
135
|
-
className: "flex h-9 flex-row items-center gap-2 p-6 text-
|
|
136
|
+
className: "flex h-9 flex-row items-center gap-2 p-6 text-muted-foreground",
|
|
136
137
|
children: [
|
|
137
138
|
hasSelectedDrive && /* @__PURE__ */ jsxs(Fragment$1, { children: [
|
|
138
139
|
/* @__PURE__ */ jsx("button", {
|
|
139
140
|
type: "button",
|
|
140
141
|
"aria-label": "Back to home",
|
|
141
142
|
title: "Back to home",
|
|
142
|
-
className: "flex items-center justify-center rounded-md p-1 text-
|
|
143
|
+
className: "flex items-center justify-center rounded-md p-1 text-foreground transition-colors hover:hover-effect",
|
|
143
144
|
onClick: () => setSelectedDrive(void 0),
|
|
144
145
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
145
146
|
name: "ArrowLeft",
|
|
@@ -161,14 +162,14 @@ function Breadcrumbs() {
|
|
|
161
162
|
onClick: () => setSelectedNode(node)
|
|
162
163
|
}), /* @__PURE__ */ jsx("span", { children: "/" })] }, node.id)),
|
|
163
164
|
isAllowedToCreateDocuments && (isCreating ? /* @__PURE__ */ jsx(NodeInput, {
|
|
164
|
-
className: "text-
|
|
165
|
+
className: "text-foreground",
|
|
165
166
|
defaultValue: "New Folder",
|
|
166
167
|
onCancel,
|
|
167
168
|
onSubmit,
|
|
168
169
|
placeholder: "New Folder"
|
|
169
170
|
}) : /* @__PURE__ */ jsxs("button", {
|
|
170
171
|
type: "button",
|
|
171
|
-
className: "ml-1 flex items-center justify-center gap-2 rounded-md bg-
|
|
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",
|
|
172
173
|
onClick: onAddNew,
|
|
173
174
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
174
175
|
name: "Plus",
|
|
@@ -185,7 +186,7 @@ function Breadcrumb(props) {
|
|
|
185
186
|
parentId: parentId ?? void 0
|
|
186
187
|
});
|
|
187
188
|
const { isDropTarget, ...dropProps } = useDropNode(id);
|
|
188
|
-
const containerStyles = twMerge("cursor-pointer transition-colors last-of-type:text-
|
|
189
|
+
const containerStyles = twMerge("cursor-pointer transition-colors last-of-type:text-foreground hover:hover-effect", isDragging ? "opacity-60" : isDropTarget ? "bg-info/10" : "");
|
|
189
190
|
return /* @__PURE__ */ jsx("div", {
|
|
190
191
|
...dragProps,
|
|
191
192
|
...dropProps,
|
|
@@ -221,7 +222,7 @@ function MenuList(props) {
|
|
|
221
222
|
return /* @__PURE__ */ jsxs(components.MenuList, {
|
|
222
223
|
...rest,
|
|
223
224
|
children: [props.children, hasAddItemButton ? /* @__PURE__ */ jsx("button", {
|
|
224
|
-
className: "w-full px-2 py-3 hover:
|
|
225
|
+
className: "w-full px-2 py-3 hover:hover-effect",
|
|
225
226
|
onClick,
|
|
226
227
|
children: label
|
|
227
228
|
}) : null]
|
|
@@ -242,7 +243,7 @@ function Combobox(props) {
|
|
|
242
243
|
...addItemButtonProps
|
|
243
244
|
})
|
|
244
245
|
},
|
|
245
|
-
classNames: { menuList: () => "scrollbar-thin scrollbar-track-transparent scrollbar-thumb-rounded-md scrollbar-thumb-
|
|
246
|
+
classNames: { menuList: () => "scrollbar-thin scrollbar-track-transparent scrollbar-thumb-rounded-md scrollbar-thumb-border" },
|
|
246
247
|
styles: {
|
|
247
248
|
dropdownIndicator: () => {
|
|
248
249
|
return {
|
|
@@ -270,7 +271,7 @@ function Combobox(props) {
|
|
|
270
271
|
placeholder: (baseStyles) => {
|
|
271
272
|
return {
|
|
272
273
|
...baseStyles,
|
|
273
|
-
color: invalid ? dark ? "var(--color-red-400)" : "var(--color-red-
|
|
274
|
+
color: invalid ? dark ? "var(--color-red-400)" : "var(--color-red-900)" : dark ? "var(--color-slate-100)" : "var(--color-gray-500)"
|
|
274
275
|
};
|
|
275
276
|
},
|
|
276
277
|
control: () => {
|
|
@@ -359,12 +360,12 @@ const CookieBanner = (props) => {
|
|
|
359
360
|
className: "cursor-pointer",
|
|
360
361
|
children: [/* @__PURE__ */ jsx("input", {
|
|
361
362
|
checked: cookie.value,
|
|
362
|
-
className: "mr-1 size-3 cursor-pointer rounded-sm border-2 border-
|
|
363
|
+
className: "mr-1 size-3 cursor-pointer rounded-sm border-2 border-foreground accent-primary focus:outline-none",
|
|
363
364
|
id: cookie.id,
|
|
364
365
|
onChange: handleOnChange,
|
|
365
366
|
type: "checkbox"
|
|
366
367
|
}), /* @__PURE__ */ jsx("label", {
|
|
367
|
-
className: "cursor-pointer text-
|
|
368
|
+
className: "cursor-pointer text-foreground select-none",
|
|
368
369
|
htmlFor: cookie.id,
|
|
369
370
|
children: cookie.label
|
|
370
371
|
})]
|
|
@@ -390,11 +391,11 @@ const CookieBanner = (props) => {
|
|
|
390
391
|
};
|
|
391
392
|
//#endregion
|
|
392
393
|
//#region src/connect/components/modal/modal-button.tsx
|
|
393
|
-
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:
|
|
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";
|
|
394
395
|
function ModalButton(props) {
|
|
395
396
|
const { variant, className, ...rest } = props;
|
|
396
|
-
const confirmStyle = twMerge(defaultStyle, "bg-
|
|
397
|
-
const cancelStyle = twMerge(defaultStyle, "bg-
|
|
397
|
+
const confirmStyle = twMerge(defaultStyle, "bg-primary text-primary-foreground");
|
|
398
|
+
const cancelStyle = twMerge(defaultStyle, "bg-muted text-muted-foreground");
|
|
398
399
|
return /* @__PURE__ */ jsx("button", {
|
|
399
400
|
className: twMerge(variant === "confirm" ? confirmStyle : cancelStyle, className),
|
|
400
401
|
...rest
|
|
@@ -413,11 +414,11 @@ function ConnectConfirmationModal(props) {
|
|
|
413
414
|
className: "w-[400px] p-6",
|
|
414
415
|
children: [
|
|
415
416
|
/* @__PURE__ */ jsx("div", {
|
|
416
|
-
className: "pb-2 text-2xl font-bold text-
|
|
417
|
+
className: "pb-2 text-2xl font-bold text-foreground",
|
|
417
418
|
children: header
|
|
418
419
|
}),
|
|
419
420
|
/* @__PURE__ */ jsx("div", {
|
|
420
|
-
className: "my-6 rounded-md bg-
|
|
421
|
+
className: "my-6 rounded-md bg-background p-4 text-center text-foreground",
|
|
421
422
|
children: body
|
|
422
423
|
}),
|
|
423
424
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -446,12 +447,12 @@ function TreeItem({ label, depth, expanded, selected, hasChildren, icon, onToggl
|
|
|
446
447
|
onToggle?.();
|
|
447
448
|
};
|
|
448
449
|
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
|
|
449
|
-
className: twMerge("flex cursor-pointer items-center gap-1 py-1 pr-2 text-sm hover:
|
|
450
|
+
className: twMerge("flex cursor-pointer items-center gap-1 py-1 pr-2 text-sm hover:hover-effect", selected && "bg-info/10"),
|
|
450
451
|
style: { paddingLeft: depth * INDENT_PX + 4 },
|
|
451
452
|
onClick,
|
|
452
453
|
children: [
|
|
453
454
|
hasChildren ? /* @__PURE__ */ jsx("button", {
|
|
454
|
-
className: "flex size-4 shrink-0 items-center justify-center text-
|
|
455
|
+
className: "flex size-4 shrink-0 items-center justify-center text-muted-foreground hover:hover-effect",
|
|
455
456
|
onClick: handleChevronClick,
|
|
456
457
|
type: "button",
|
|
457
458
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
@@ -461,21 +462,21 @@ function TreeItem({ label, depth, expanded, selected, hasChildren, icon, onToggl
|
|
|
461
462
|
})
|
|
462
463
|
}) : /* @__PURE__ */ jsx("span", { className: "w-4 shrink-0" }),
|
|
463
464
|
icon && /* @__PURE__ */ jsx("span", {
|
|
464
|
-
className: "shrink-0 text-
|
|
465
|
+
className: "shrink-0 text-muted-foreground",
|
|
465
466
|
children: icon
|
|
466
467
|
}),
|
|
467
468
|
/* @__PURE__ */ jsx("span", {
|
|
468
|
-
className: "min-w-0 flex-1 truncate text-
|
|
469
|
+
className: "min-w-0 flex-1 truncate text-foreground",
|
|
469
470
|
children: label
|
|
470
471
|
}),
|
|
471
|
-
selected && /* @__PURE__ */ jsx("span", { className: "ml-auto size-2 shrink-0 rounded-full bg-
|
|
472
|
+
selected && /* @__PURE__ */ jsx("span", { className: "ml-auto size-2 shrink-0 rounded-full bg-info" })
|
|
472
473
|
]
|
|
473
474
|
}), expanded && children] });
|
|
474
475
|
}
|
|
475
476
|
function ColumnItem({ column, depth }) {
|
|
476
477
|
const typeLabel = column.dataType.length > 10 ? column.dataType.slice(0, 10) + "…" : column.dataType;
|
|
477
478
|
return /* @__PURE__ */ jsxs("div", {
|
|
478
|
-
className: "flex items-center gap-1 py-0.5 pr-2 text-xs text-
|
|
479
|
+
className: "flex items-center gap-1 py-0.5 pr-2 text-xs text-muted-foreground",
|
|
479
480
|
style: { paddingLeft: depth * INDENT_PX + 4 },
|
|
480
481
|
children: [
|
|
481
482
|
/* @__PURE__ */ jsx("span", { className: "w-4 shrink-0" }),
|
|
@@ -484,7 +485,7 @@ function ColumnItem({ column, depth }) {
|
|
|
484
485
|
children: column.name
|
|
485
486
|
}),
|
|
486
487
|
/* @__PURE__ */ jsxs("span", {
|
|
487
|
-
className: "ml-auto shrink-0 text-
|
|
488
|
+
className: "ml-auto shrink-0 text-muted-foreground",
|
|
488
489
|
children: [
|
|
489
490
|
"(",
|
|
490
491
|
typeLabel,
|
|
@@ -530,7 +531,7 @@ function SchemaTreeSidebar({ schema, tables, selectedTable, onSelectTable, onRef
|
|
|
530
531
|
className: "truncate",
|
|
531
532
|
children: schema
|
|
532
533
|
}), onRefresh && /* @__PURE__ */ jsx("button", {
|
|
533
|
-
className: "ml-auto p-0.5 text-
|
|
534
|
+
className: "ml-auto p-0.5 text-muted-foreground hover:hover-effect",
|
|
534
535
|
onClick: handleRefreshClick,
|
|
535
536
|
type: "button",
|
|
536
537
|
disabled: loading,
|
|
@@ -586,12 +587,12 @@ const ConnectSelect = /* @__PURE__ */ fixedForwardRef(function Select(props, ref
|
|
|
586
587
|
}
|
|
587
588
|
const itemsToShow = items.filter((item) => item.value !== value);
|
|
588
589
|
return /* @__PURE__ */ jsxs("div", {
|
|
589
|
-
className: twMerge("border border-
|
|
590
|
+
className: twMerge("border border-border bg-background text-foreground transition-[border-radius]", absolutePositionMenu && "relative", containerClassName),
|
|
590
591
|
"data-open": showItems,
|
|
591
592
|
ref,
|
|
592
593
|
style: { borderRadius },
|
|
593
594
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
594
|
-
className: twMerge("flex min-w-[360px] cursor-pointer items-center justify-between pr-3 text-
|
|
595
|
+
className: twMerge("flex min-w-[360px] cursor-pointer items-center justify-between pr-3 text-foreground outline-none", menuClassName),
|
|
595
596
|
id,
|
|
596
597
|
onClick: () => setShowItems(!showItems),
|
|
597
598
|
children: [/* @__PURE__ */ jsx(ItemContainer, {
|
|
@@ -615,13 +616,13 @@ const ConnectSelect = /* @__PURE__ */ fixedForwardRef(function Select(props, ref
|
|
|
615
616
|
function ItemContainer(props) {
|
|
616
617
|
const { className, disabled, onItemClick, icon, displayValue, value, description } = props;
|
|
617
618
|
return /* @__PURE__ */ jsxs("div", {
|
|
618
|
-
className: twMerge(disabled ? "cursor-not-allowed text-
|
|
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),
|
|
619
620
|
onClick: onItemClick,
|
|
620
621
|
children: [icon, /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
|
|
621
622
|
className: "text-inherit capitalize",
|
|
622
623
|
children: displayValue ?? value.toLowerCase()
|
|
623
624
|
}), /* @__PURE__ */ jsx("p", {
|
|
624
|
-
className: "text-xs text-
|
|
625
|
+
className: "text-xs text-foreground",
|
|
625
626
|
children: description
|
|
626
627
|
})] })]
|
|
627
628
|
});
|
|
@@ -714,7 +715,7 @@ function FilterClauseComponent({ clause, columns, onUpdate, onRemove, showConnec
|
|
|
714
715
|
id: `connector-${clause.id}`,
|
|
715
716
|
items: connectorItems,
|
|
716
717
|
itemClassName: "px-2 py-1 text-xs",
|
|
717
|
-
menuClassName: "px-2 py-1 text-xs
|
|
718
|
+
menuClassName: "min-w-[80px] px-2 py-1 text-xs",
|
|
718
719
|
value: connector,
|
|
719
720
|
onChange: onConnectorChange
|
|
720
721
|
}),
|
|
@@ -725,7 +726,7 @@ function FilterClauseComponent({ clause, columns, onUpdate, onRemove, showConnec
|
|
|
725
726
|
id: `column-${clause.id}`,
|
|
726
727
|
items: columnItems,
|
|
727
728
|
itemClassName: "px-2 py-1 text-xs",
|
|
728
|
-
menuClassName: "px-2 py-1 text-xs
|
|
729
|
+
menuClassName: "min-w-[150px] px-2 py-1 text-xs",
|
|
729
730
|
value: clause.column,
|
|
730
731
|
onChange: handleColumnChange
|
|
731
732
|
}),
|
|
@@ -736,18 +737,18 @@ function FilterClauseComponent({ clause, columns, onUpdate, onRemove, showConnec
|
|
|
736
737
|
id: `operator-${clause.id}`,
|
|
737
738
|
items: operatorItems,
|
|
738
739
|
itemClassName: "px-2 py-1 text-xs",
|
|
739
|
-
menuClassName: "px-2 py-1 text-xs
|
|
740
|
+
menuClassName: "min-w-[100px] px-2 py-1 text-xs",
|
|
740
741
|
value: clause.operator,
|
|
741
742
|
onChange: handleOperatorChange
|
|
742
743
|
}),
|
|
743
744
|
showValueInput && /* @__PURE__ */ jsx("input", {
|
|
744
|
-
className: "min-w-[150px] rounded-sm border border-
|
|
745
|
+
className: "min-w-[150px] rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground",
|
|
745
746
|
type: inputType,
|
|
746
747
|
value: clause.value,
|
|
747
748
|
onChange: (e) => handleValueChange(e.target.value)
|
|
748
749
|
}),
|
|
749
750
|
/* @__PURE__ */ jsx("button", {
|
|
750
|
-
className: "flex items-center justify-center rounded-sm p-1 text-
|
|
751
|
+
className: "flex items-center justify-center rounded-sm p-1 text-muted-foreground hover:hover-effect",
|
|
751
752
|
onClick: onRemove,
|
|
752
753
|
title: "Remove filter",
|
|
753
754
|
type: "button",
|
|
@@ -812,11 +813,11 @@ function FilterBar({ columns, filters, onFiltersChange }) {
|
|
|
812
813
|
}, [filters, onFiltersChange]);
|
|
813
814
|
const hasFilters = filters && filters.clauses.length > 0;
|
|
814
815
|
return /* @__PURE__ */ jsxs("div", {
|
|
815
|
-
className: "flex shrink-0 flex-col gap-2 rounded-lg border border-
|
|
816
|
+
className: "flex shrink-0 flex-col gap-2 rounded-lg border border-border bg-background p-2",
|
|
816
817
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
817
818
|
className: "flex items-center justify-between",
|
|
818
819
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
819
|
-
className: "flex items-center gap-1 text-xs text-
|
|
820
|
+
className: "flex items-center gap-1 text-xs text-foreground hover:hover-effect",
|
|
820
821
|
onClick: () => setIsExpanded(!isExpanded),
|
|
821
822
|
type: "button",
|
|
822
823
|
children: [
|
|
@@ -827,12 +828,12 @@ function FilterBar({ columns, filters, onFiltersChange }) {
|
|
|
827
828
|
}),
|
|
828
829
|
/* @__PURE__ */ jsx("span", { children: "Filters" }),
|
|
829
830
|
hasFilters && /* @__PURE__ */ jsx("span", {
|
|
830
|
-
className: "rounded-sm bg-
|
|
831
|
+
className: "rounded-sm bg-info/10 px-1.5 py-0.5 text-xs text-info",
|
|
831
832
|
children: filters.clauses.length
|
|
832
833
|
})
|
|
833
834
|
]
|
|
834
835
|
}), /* @__PURE__ */ jsxs("button", {
|
|
835
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
836
837
|
onClick: handleAddFilter,
|
|
837
838
|
type: "button",
|
|
838
839
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
@@ -954,10 +955,10 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
|
|
|
954
955
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
955
956
|
className: "flex items-center gap-2",
|
|
956
957
|
children: [/* @__PURE__ */ jsx("span", {
|
|
957
|
-
className: "text-
|
|
958
|
+
className: "text-foreground",
|
|
958
959
|
children: loading ? "Loading..." : total !== null ? `Showing ${startItem.toLocaleString()}-${endItem.toLocaleString()} of ${total.toLocaleString()}` : `Showing ${rows.length.toLocaleString()} rows`
|
|
959
960
|
}), rows.length > 0 && /* @__PURE__ */ jsxs("button", {
|
|
960
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
961
962
|
disabled: loading || copying,
|
|
962
963
|
onClick: () => void handleCopyAll(),
|
|
963
964
|
title: "Copy all rows as CSV",
|
|
@@ -971,14 +972,14 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
|
|
|
971
972
|
className: "flex gap-1",
|
|
972
973
|
children: [
|
|
973
974
|
/* @__PURE__ */ jsx("button", {
|
|
974
|
-
className: "rounded-sm border border-
|
|
975
|
+
className: "rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect disabled:disabled-effect",
|
|
975
976
|
disabled: currentPage === 0,
|
|
976
977
|
onClick: () => goToPage(0),
|
|
977
978
|
type: "button",
|
|
978
979
|
children: "First"
|
|
979
980
|
}),
|
|
980
981
|
/* @__PURE__ */ jsx("button", {
|
|
981
|
-
className: "rounded-sm border border-
|
|
982
|
+
className: "rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect disabled:disabled-effect",
|
|
982
983
|
disabled: currentPage === 0,
|
|
983
984
|
onClick: () => goToPage(currentPage - 1),
|
|
984
985
|
type: "button",
|
|
@@ -989,21 +990,21 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
|
|
|
989
990
|
})
|
|
990
991
|
}),
|
|
991
992
|
visiblePages[0] > 0 && /* @__PURE__ */ jsx("span", {
|
|
992
|
-
className: "flex items-center px-1 text-xs text-
|
|
993
|
+
className: "flex items-center px-1 text-xs text-muted-foreground",
|
|
993
994
|
children: "..."
|
|
994
995
|
}),
|
|
995
996
|
visiblePages.map((page) => /* @__PURE__ */ jsx("button", {
|
|
996
|
-
className: twMerge("min-w-8 rounded-sm border px-2 py-1 text-xs", page === currentPage ? "border-
|
|
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"),
|
|
997
998
|
onClick: () => goToPage(page),
|
|
998
999
|
type: "button",
|
|
999
1000
|
children: page + 1
|
|
1000
1001
|
}, page)),
|
|
1001
1002
|
visiblePages[visiblePages.length - 1] < totalPages - 1 && /* @__PURE__ */ jsx("span", {
|
|
1002
|
-
className: "flex items-center px-1 text-xs text-
|
|
1003
|
+
className: "flex items-center px-1 text-xs text-muted-foreground",
|
|
1003
1004
|
children: "..."
|
|
1004
1005
|
}),
|
|
1005
1006
|
/* @__PURE__ */ jsx("button", {
|
|
1006
|
-
className: "rounded-sm border border-
|
|
1007
|
+
className: "rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect disabled:disabled-effect",
|
|
1007
1008
|
disabled: currentPage >= totalPages - 1,
|
|
1008
1009
|
onClick: () => goToPage(currentPage + 1),
|
|
1009
1010
|
type: "button",
|
|
@@ -1014,7 +1015,7 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
|
|
|
1014
1015
|
})
|
|
1015
1016
|
}),
|
|
1016
1017
|
/* @__PURE__ */ jsx("button", {
|
|
1017
|
-
className: "rounded-sm border border-
|
|
1018
|
+
className: "rounded-sm border border-border bg-background px-2 py-1 text-xs text-foreground hover:hover-effect disabled:disabled-effect",
|
|
1018
1019
|
disabled: currentPage >= totalPages - 1,
|
|
1019
1020
|
onClick: () => goToPage(totalPages - 1),
|
|
1020
1021
|
type: "button",
|
|
@@ -1024,13 +1025,13 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
|
|
|
1024
1025
|
})]
|
|
1025
1026
|
}),
|
|
1026
1027
|
/* @__PURE__ */ jsx("div", {
|
|
1027
|
-
className: twMerge("max-h-full overflow-auto rounded-lg border border-
|
|
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"),
|
|
1028
1029
|
children: /* @__PURE__ */ jsxs("table", {
|
|
1029
1030
|
className: "w-full border-collapse",
|
|
1030
1031
|
children: [/* @__PURE__ */ jsx("thead", {
|
|
1031
|
-
className: "sticky top-0 bg-
|
|
1032
|
+
className: "sticky top-0 bg-muted",
|
|
1032
1033
|
children: /* @__PURE__ */ jsxs("tr", { children: [/* @__PURE__ */ jsx("th", {
|
|
1033
|
-
className: "w-12 p-2 text-center text-xs font-medium text-
|
|
1034
|
+
className: "w-12 p-2 text-center text-xs font-medium text-foreground",
|
|
1034
1035
|
children: /* @__PURE__ */ jsx("span", {
|
|
1035
1036
|
className: "sr-only",
|
|
1036
1037
|
children: "Copy"
|
|
@@ -1039,7 +1040,7 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
|
|
|
1039
1040
|
const isActive = currentSort?.column === column.name;
|
|
1040
1041
|
const sortDirection = isActive ? currentSort.direction : "asc";
|
|
1041
1042
|
return /* @__PURE__ */ jsx("th", {
|
|
1042
|
-
className: twMerge("group px-3 py-2 text-left text-xs font-medium text-
|
|
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"),
|
|
1043
1044
|
onClick: () => onSort && handleSort(column.name),
|
|
1044
1045
|
children: /* @__PURE__ */ jsxs("div", {
|
|
1045
1046
|
className: "flex items-center gap-1",
|
|
@@ -1054,15 +1055,15 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
|
|
|
1054
1055
|
}, column.name);
|
|
1055
1056
|
})] })
|
|
1056
1057
|
}), /* @__PURE__ */ jsx("tbody", { children: rows.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
1057
|
-
className: "px-3 py-8 text-center text-sm text-
|
|
1058
|
+
className: "px-3 py-8 text-center text-sm text-muted-foreground",
|
|
1058
1059
|
colSpan: columns.length + 1,
|
|
1059
1060
|
children: "No data"
|
|
1060
1061
|
}) }) : rows.map((row, rowIndex) => /* @__PURE__ */ jsxs("tr", {
|
|
1061
|
-
className: "odd:bg-
|
|
1062
|
+
className: "odd:bg-card even:bg-background hover:hover-effect",
|
|
1062
1063
|
children: [/* @__PURE__ */ jsx("td", {
|
|
1063
1064
|
className: "p-2 text-center",
|
|
1064
1065
|
children: /* @__PURE__ */ jsx("button", {
|
|
1065
|
-
className: "flex items-center justify-center rounded-sm p-1 text-
|
|
1066
|
+
className: "flex items-center justify-center rounded-sm p-1 text-muted-foreground hover:hover-effect",
|
|
1066
1067
|
onClick: () => void handleCopyRow(rowIndex),
|
|
1067
1068
|
title: "Copy row as CSV",
|
|
1068
1069
|
type: "button",
|
|
@@ -1072,9 +1073,9 @@ function TableView({ columns, rows, pagination, onPageChange, onSort, currentSor
|
|
|
1072
1073
|
})
|
|
1073
1074
|
})
|
|
1074
1075
|
}), columns.map((column, colIndex) => /* @__PURE__ */ jsx("td", {
|
|
1075
|
-
className: twMerge("px-3 py-2 text-xs text-
|
|
1076
|
+
className: twMerge("px-3 py-2 text-xs text-foreground", colIndex > 0 && "border-l border-border"),
|
|
1076
1077
|
children: /* @__PURE__ */ jsx("span", {
|
|
1077
|
-
className: twMerge("block truncate", row[column.name] === null && "text-
|
|
1078
|
+
className: twMerge("block truncate", row[column.name] === null && "text-muted-foreground italic"),
|
|
1078
1079
|
title: formatCellValue(row[column.name]),
|
|
1079
1080
|
children: formatCellValue(row[column.name])
|
|
1080
1081
|
})
|
|
@@ -1275,7 +1276,7 @@ function DBExplorer({ schema, getTables, getTableRows, getDefaultSort, pageSize
|
|
|
1275
1276
|
onContinue: () => void handleResetConfirm()
|
|
1276
1277
|
}),
|
|
1277
1278
|
/* @__PURE__ */ jsxs("div", {
|
|
1278
|
-
className: "flex w-64 shrink-0 flex-col border-r border-
|
|
1279
|
+
className: "flex w-64 shrink-0 flex-col border-r border-border",
|
|
1279
1280
|
children: [/* @__PURE__ */ jsx("div", {
|
|
1280
1281
|
className: "flex-1 overflow-auto",
|
|
1281
1282
|
children: /* @__PURE__ */ jsx(SchemaTreeSidebar, {
|
|
@@ -1287,30 +1288,30 @@ function DBExplorer({ schema, getTables, getTableRows, getDefaultSort, pageSize
|
|
|
1287
1288
|
loading: tablesLoading || loading
|
|
1288
1289
|
})
|
|
1289
1290
|
}), (onImportDb || onExportDb || pgVersionControl) && /* @__PURE__ */ jsxs("div", {
|
|
1290
|
-
className: "flex shrink-0 flex-col gap-2 border-t border-
|
|
1291
|
+
className: "flex shrink-0 flex-col gap-2 border-t border-border p-2",
|
|
1291
1292
|
children: [
|
|
1292
1293
|
onImportDb && /* @__PURE__ */ jsx("button", {
|
|
1293
|
-
className: "rounded-sm border border-
|
|
1294
|
+
className: "rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
|
|
1294
1295
|
onClick: handleImportClick,
|
|
1295
1296
|
type: "button",
|
|
1296
1297
|
children: "Import DB"
|
|
1297
1298
|
}),
|
|
1298
1299
|
onExportDb && /* @__PURE__ */ jsx("button", {
|
|
1299
|
-
className: "rounded-sm border border-
|
|
1300
|
+
className: "rounded-sm border border-border bg-background px-3 py-1.5 text-sm text-foreground hover:hover-effect",
|
|
1300
1301
|
onClick: handleExportClick,
|
|
1301
1302
|
type: "button",
|
|
1302
1303
|
children: "Export DB"
|
|
1303
1304
|
}),
|
|
1304
1305
|
pgVersionControl && /* @__PURE__ */ jsxs("div", {
|
|
1305
|
-
className: "flex flex-col gap-1 border-t border-
|
|
1306
|
+
className: "flex flex-col gap-1 border-t border-border pt-2",
|
|
1306
1307
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
1307
|
-
className: "flex items-center justify-between text-xs text-
|
|
1308
|
+
className: "flex items-center justify-between text-xs text-foreground",
|
|
1308
1309
|
children: [/* @__PURE__ */ jsx("span", { children: "Postgres version" }), /* @__PURE__ */ jsx("span", {
|
|
1309
|
-
className: "font-semibold text-
|
|
1310
|
+
className: "font-semibold text-foreground",
|
|
1310
1311
|
children: pgVersionControl.currentPgVersion === null ? "—" : `PG${pgVersionControl.currentPgVersion}`
|
|
1311
1312
|
})]
|
|
1312
1313
|
}), resetTargetMajor !== null && /* @__PURE__ */ jsx("button", {
|
|
1313
|
-
className: "rounded-sm border border-
|
|
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",
|
|
1314
1315
|
onClick: () => setPendingResetMajor(resetTargetMajor),
|
|
1315
1316
|
disabled: resetting,
|
|
1316
1317
|
type: "button",
|
|
@@ -1323,10 +1324,10 @@ function DBExplorer({ schema, getTables, getTableRows, getDefaultSort, pageSize
|
|
|
1323
1324
|
/* @__PURE__ */ jsx("div", {
|
|
1324
1325
|
className: "flex-1 overflow-auto p-4",
|
|
1325
1326
|
children: !selectedTable ? /* @__PURE__ */ jsx("div", {
|
|
1326
|
-
className: "text-sm text-
|
|
1327
|
+
className: "text-sm text-muted-foreground",
|
|
1327
1328
|
children: "Select a table to view data"
|
|
1328
1329
|
}) : !tableData && loading ? /* @__PURE__ */ jsx("div", {
|
|
1329
|
-
className: "text-sm text-
|
|
1330
|
+
className: "text-sm text-muted-foreground",
|
|
1330
1331
|
children: "Loading..."
|
|
1331
1332
|
}) : tableData ? /* @__PURE__ */ jsx(TableView, {
|
|
1332
1333
|
columns,
|
|
@@ -1376,20 +1377,20 @@ function DebugInspector({ supportedPgVersions, currentPgVersion, onResetToPgVers
|
|
|
1376
1377
|
children: [
|
|
1377
1378
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
1378
1379
|
/* @__PURE__ */ jsx("h2", {
|
|
1379
|
-
className: "text-lg font-semibold text-
|
|
1380
|
+
className: "text-lg font-semibold text-foreground",
|
|
1380
1381
|
children: "PGlite data dir"
|
|
1381
1382
|
}),
|
|
1382
1383
|
/* @__PURE__ */ jsx("p", {
|
|
1383
|
-
className: "mt-1 text-sm text-
|
|
1384
|
+
className: "mt-1 text-sm text-foreground",
|
|
1384
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."
|
|
1385
1386
|
}),
|
|
1386
1387
|
/* @__PURE__ */ jsxs("div", {
|
|
1387
|
-
className: "mt-2 inline-flex items-center gap-2 rounded-sm bg-
|
|
1388
|
+
className: "mt-2 inline-flex items-center gap-2 rounded-sm bg-muted px-3 py-1 text-sm",
|
|
1388
1389
|
children: [/* @__PURE__ */ jsx("span", {
|
|
1389
|
-
className: "text-
|
|
1390
|
+
className: "text-foreground",
|
|
1390
1391
|
children: "Current version:"
|
|
1391
1392
|
}), /* @__PURE__ */ jsx("span", {
|
|
1392
|
-
className: "font-semibold text-
|
|
1393
|
+
className: "font-semibold text-foreground",
|
|
1393
1394
|
children: currentPgVersion === null ? "None (no data dir)" : `Postgres ${currentPgVersion}`
|
|
1394
1395
|
})]
|
|
1395
1396
|
})
|
|
@@ -1401,16 +1402,16 @@ function DebugInspector({ supportedPgVersions, currentPgVersion, onResetToPgVers
|
|
|
1401
1402
|
type: "button",
|
|
1402
1403
|
disabled: running,
|
|
1403
1404
|
onClick: () => setConfirmMajor(major),
|
|
1404
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
1405
1406
|
children: pendingMajor === major && running ? `Resetting to PG${major}…` : `Reset to PG${major}`
|
|
1406
1407
|
}, major);
|
|
1407
1408
|
})
|
|
1408
1409
|
}),
|
|
1409
1410
|
confirmMajor !== null && /* @__PURE__ */ jsxs("div", {
|
|
1410
|
-
className: "flex shrink-0 items-center gap-3 rounded-sm border border-
|
|
1411
|
+
className: "flex shrink-0 items-center gap-3 rounded-sm border border-warning bg-warning/10 px-3 py-2",
|
|
1411
1412
|
children: [
|
|
1412
1413
|
/* @__PURE__ */ jsxs("span", {
|
|
1413
|
-
className: "text-sm text-
|
|
1414
|
+
className: "text-sm text-warning",
|
|
1414
1415
|
children: [
|
|
1415
1416
|
"This will permanently delete all local reactor data and recreate an empty database under Postgres ",
|
|
1416
1417
|
confirmMajor,
|
|
@@ -1420,19 +1421,19 @@ function DebugInspector({ supportedPgVersions, currentPgVersion, onResetToPgVers
|
|
|
1420
1421
|
/* @__PURE__ */ jsxs("button", {
|
|
1421
1422
|
type: "button",
|
|
1422
1423
|
onClick: () => void handleReset(confirmMajor),
|
|
1423
|
-
className: "rounded-sm bg-
|
|
1424
|
+
className: "rounded-sm bg-warning px-3 py-1 text-sm text-warning-foreground hover:hover-effect",
|
|
1424
1425
|
children: ["Confirm reset to PG", confirmMajor]
|
|
1425
1426
|
}),
|
|
1426
1427
|
/* @__PURE__ */ jsx("button", {
|
|
1427
1428
|
type: "button",
|
|
1428
1429
|
onClick: () => setConfirmMajor(null),
|
|
1429
|
-
className: "rounded-sm border border-
|
|
1430
|
+
className: "rounded-sm border border-border bg-background px-3 py-1 text-sm text-foreground hover:hover-effect",
|
|
1430
1431
|
children: "Cancel"
|
|
1431
1432
|
})
|
|
1432
1433
|
]
|
|
1433
1434
|
}),
|
|
1434
1435
|
error && /* @__PURE__ */ jsx("div", {
|
|
1435
|
-
className: "rounded-sm border border-
|
|
1436
|
+
className: "rounded-sm border border-destructive bg-destructive/10 px-3 py-2 text-sm text-destructive",
|
|
1436
1437
|
children: error
|
|
1437
1438
|
})
|
|
1438
1439
|
]
|
|
@@ -1573,7 +1574,7 @@ function LogoAnimation({ size = 48, className = "" }) {
|
|
|
1573
1574
|
viewBox: "-1 -2 50 52",
|
|
1574
1575
|
fill: "none",
|
|
1575
1576
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1576
|
-
className: twMerge("text-
|
|
1577
|
+
className: twMerge("text-foreground", className),
|
|
1577
1578
|
"aria-label": "Animated logo",
|
|
1578
1579
|
children: SEQUENCE.map(({ id }) => /* @__PURE__ */ jsx("path", {
|
|
1579
1580
|
ref: refFor(id),
|
|
@@ -1588,7 +1589,7 @@ function LogoAnimation({ size = 48, className = "" }) {
|
|
|
1588
1589
|
function DefaultEditorLoader(props) {
|
|
1589
1590
|
const { message = "Loading editor", ...divProps } = props;
|
|
1590
1591
|
return /* @__PURE__ */ jsx("div", {
|
|
1591
|
-
className: "grid h-full place-items-center text-
|
|
1592
|
+
className: "grid h-full place-items-center text-foreground",
|
|
1592
1593
|
...divProps,
|
|
1593
1594
|
children: /* @__PURE__ */ jsxs("div", {
|
|
1594
1595
|
className: "-mt-20 grid place-items-center",
|
|
@@ -1606,7 +1607,7 @@ function Disclosure(props) {
|
|
|
1606
1607
|
return /* @__PURE__ */ jsxs("div", {
|
|
1607
1608
|
className: twMerge(containerClassName),
|
|
1608
1609
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
1609
|
-
className: twMerge("flex cursor-pointer justify-between text-
|
|
1610
|
+
className: twMerge("flex cursor-pointer justify-between text-muted-foreground", toggleClassName),
|
|
1610
1611
|
onClick: onOpenChange,
|
|
1611
1612
|
children: [/* @__PURE__ */ jsx("h2", {
|
|
1612
1613
|
className: "font-semibold text-inherit",
|
|
@@ -1627,7 +1628,7 @@ function Disclosure(props) {
|
|
|
1627
1628
|
function Divider(props) {
|
|
1628
1629
|
return /* @__PURE__ */ jsx("div", {
|
|
1629
1630
|
...props,
|
|
1630
|
-
className: twMerge("h-px bg-
|
|
1631
|
+
className: twMerge("h-px bg-secondary", props.className)
|
|
1631
1632
|
});
|
|
1632
1633
|
}
|
|
1633
1634
|
//#endregion
|
|
@@ -1648,12 +1649,12 @@ function Tabs({ children, defaultValue }) {
|
|
|
1648
1649
|
children: [/* @__PURE__ */ jsx("div", {
|
|
1649
1650
|
className: "flex w-full shrink-0 justify-between",
|
|
1650
1651
|
children: /* @__PURE__ */ jsx(List, {
|
|
1651
|
-
className: "flex w-full gap-x-2 rounded-xl p-1 text-sm font-semibold text-
|
|
1652
|
+
className: "flex w-full gap-x-2 rounded-xl p-1 text-sm font-semibold text-foreground outline-none",
|
|
1652
1653
|
children: React.Children.map(children, (child, _i) => {
|
|
1653
1654
|
if (!/* @__PURE__ */ React.isValidElement(child)) return;
|
|
1654
1655
|
const { label, disabled } = child.props;
|
|
1655
1656
|
return /* @__PURE__ */ jsx(Trigger$2, {
|
|
1656
|
-
className: "flex min-h-7 flex-1 items-center justify-center rounded-lg border border-
|
|
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",
|
|
1657
1658
|
value: label,
|
|
1658
1659
|
disabled: disabled ?? false,
|
|
1659
1660
|
children: label
|
|
@@ -1661,7 +1662,7 @@ function Tabs({ children, defaultValue }) {
|
|
|
1661
1662
|
})
|
|
1662
1663
|
})
|
|
1663
1664
|
}), /* @__PURE__ */ jsx("div", {
|
|
1664
|
-
className: "mt-3 min-h-0 flex-1 rounded-md bg-
|
|
1665
|
+
className: "mt-3 min-h-0 flex-1 rounded-md bg-background",
|
|
1665
1666
|
children: React.Children.map(children, (child, i) => {
|
|
1666
1667
|
if (!/* @__PURE__ */ React.isValidElement(child)) return;
|
|
1667
1668
|
const { label } = child.props;
|
|
@@ -1684,7 +1685,7 @@ function DocumentStateViewer({ state, ignoredScopes = ["auth", "document"], defa
|
|
|
1684
1685
|
const scopes = useMemo(() => Object.keys(state).filter((scope) => !ignoredScopes.includes(scope)), [state, ignoredScopes]);
|
|
1685
1686
|
const initialScope = defaultScope || scopes.at(0) || "global";
|
|
1686
1687
|
if (scopes.length === 0) return /* @__PURE__ */ jsx("div", {
|
|
1687
|
-
className: "text-sm text-
|
|
1688
|
+
className: "text-sm text-muted-foreground",
|
|
1688
1689
|
children: "No state data"
|
|
1689
1690
|
});
|
|
1690
1691
|
return /* @__PURE__ */ jsx(Tabs, {
|
|
@@ -1693,7 +1694,7 @@ function DocumentStateViewer({ state, ignoredScopes = ["auth", "document"], defa
|
|
|
1693
1694
|
label: formatScopeLabel(scope),
|
|
1694
1695
|
description: scope,
|
|
1695
1696
|
children: /* @__PURE__ */ jsx("div", {
|
|
1696
|
-
className: twMerge("-mt-2 rounded-md border border-
|
|
1697
|
+
className: twMerge("-mt-2 rounded-md border border-border bg-background p-3 font-mono text-sm", className),
|
|
1697
1698
|
children: /* @__PURE__ */ jsx(JsonViewer, { data: state[scope] })
|
|
1698
1699
|
})
|
|
1699
1700
|
}, scope))
|
|
@@ -1715,7 +1716,7 @@ function ConnectTooltip(props) {
|
|
|
1715
1716
|
...rest,
|
|
1716
1717
|
side,
|
|
1717
1718
|
sideOffset,
|
|
1718
|
-
className: twMerge("z-50 rounded-lg border border-
|
|
1719
|
+
className: twMerge("z-50 rounded-lg border border-border bg-popover p-2 text-xs text-popover-foreground shadow-tooltip", className),
|
|
1719
1720
|
children: content
|
|
1720
1721
|
}) })]
|
|
1721
1722
|
});
|
|
@@ -1751,7 +1752,7 @@ const HDivider = (props) => {
|
|
|
1751
1752
|
children: [
|
|
1752
1753
|
!!title && /* @__PURE__ */ jsx("div", { children: title }),
|
|
1753
1754
|
!!subtitle && /* @__PURE__ */ jsx("div", {
|
|
1754
|
-
className: "text-
|
|
1755
|
+
className: "text-foreground",
|
|
1755
1756
|
children: subtitle
|
|
1756
1757
|
}),
|
|
1757
1758
|
!!timestamp && /* @__PURE__ */ jsx("div", { children: formatTimestamp(timestamp) })
|
|
@@ -1773,7 +1774,7 @@ const HDivider = (props) => {
|
|
|
1773
1774
|
size: 10,
|
|
1774
1775
|
className: "absolute top-[-11px] z-40"
|
|
1775
1776
|
}), /* @__PURE__ */ jsx(ConnectTooltip, {
|
|
1776
|
-
className: "rounded-md bg-
|
|
1777
|
+
className: "rounded-md bg-primary text-primary-foreground",
|
|
1777
1778
|
content: tooltipContent,
|
|
1778
1779
|
open: open && hasContent,
|
|
1779
1780
|
onOpenChange: setOpen,
|
|
@@ -1781,12 +1782,12 @@ const HDivider = (props) => {
|
|
|
1781
1782
|
side: "bottom",
|
|
1782
1783
|
sideOffset: 5,
|
|
1783
1784
|
children: /* @__PURE__ */ jsx("div", {
|
|
1784
|
-
className: twMerge("mx-0.5 flex h-6.25 w-1.5 cursor-pointer flex-col items-center justify-center rounded-xs hover:
|
|
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),
|
|
1785
1786
|
onClick,
|
|
1786
1787
|
"data-title": title,
|
|
1787
1788
|
"data-subtitle": subtitle,
|
|
1788
1789
|
"data-timestamp": timestamp,
|
|
1789
|
-
children: /* @__PURE__ */ jsx("div", { className: "h-0.5 w-1 rounded-full bg-
|
|
1790
|
+
children: /* @__PURE__ */ jsx("div", { className: "h-0.5 w-1 rounded-full bg-muted" })
|
|
1790
1791
|
})
|
|
1791
1792
|
})]
|
|
1792
1793
|
});
|
|
@@ -1821,11 +1822,11 @@ const TimelineBar = ({ onClick, className, timestampUtcMs: timestamp, additions,
|
|
|
1821
1822
|
children: [
|
|
1822
1823
|
/* @__PURE__ */ jsx("div", { children: formatTimestamp$1(timestamp) }),
|
|
1823
1824
|
/* @__PURE__ */ jsx("div", {
|
|
1824
|
-
className: "text-
|
|
1825
|
+
className: "text-success",
|
|
1825
1826
|
children: `${additions} additions +`
|
|
1826
1827
|
}),
|
|
1827
1828
|
/* @__PURE__ */ jsx("div", {
|
|
1828
|
-
className: "text-
|
|
1829
|
+
className: "text-destructive",
|
|
1829
1830
|
children: `${deletions} deletions -`
|
|
1830
1831
|
})
|
|
1831
1832
|
]
|
|
@@ -1846,12 +1847,12 @@ const TimelineBar = ({ onClick, className, timestampUtcMs: timestamp, additions,
|
|
|
1846
1847
|
size: 10,
|
|
1847
1848
|
className: "absolute top-[-11px] left-[-2px] z-40"
|
|
1848
1849
|
}), noChanges ? /* @__PURE__ */ jsx("div", {
|
|
1849
|
-
className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:
|
|
1850
|
+
className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:hover-effect", className),
|
|
1850
1851
|
"data-timestamp": timestamp,
|
|
1851
1852
|
onClick,
|
|
1852
|
-
children: /* @__PURE__ */ jsx("div", { className: "size-[3px] rounded-full bg-
|
|
1853
|
+
children: /* @__PURE__ */ jsx("div", { className: "size-[3px] rounded-full bg-muted-foreground" })
|
|
1853
1854
|
}) : /* @__PURE__ */ jsx(ConnectTooltip, {
|
|
1854
|
-
className: "rounded-md bg-
|
|
1855
|
+
className: "rounded-md bg-primary text-primary-foreground",
|
|
1855
1856
|
content: tooltipContent,
|
|
1856
1857
|
open,
|
|
1857
1858
|
onOpenChange: setOpen,
|
|
@@ -1859,15 +1860,15 @@ const TimelineBar = ({ onClick, className, timestampUtcMs: timestamp, additions,
|
|
|
1859
1860
|
side: "bottom",
|
|
1860
1861
|
sideOffset: 5,
|
|
1861
1862
|
children: /* @__PURE__ */ jsxs("div", {
|
|
1862
|
-
className: twMerge("flex h-[25px] w-1.5 cursor-pointer flex-col items-center justify-center rounded-[2px] hover:
|
|
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"),
|
|
1863
1864
|
"data-timestamp": timestamp,
|
|
1864
1865
|
onClick,
|
|
1865
1866
|
children: [/* @__PURE__ */ jsx("div", {
|
|
1866
1867
|
className: "flex h-3 w-0.5 items-end",
|
|
1867
|
-
children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-t-full bg-
|
|
1868
|
+
children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-t-full bg-success", addBarHeight) })
|
|
1868
1869
|
}), /* @__PURE__ */ jsx("div", {
|
|
1869
1870
|
className: "flex h-3 w-0.5 items-start",
|
|
1870
|
-
children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-b-full bg-
|
|
1871
|
+
children: /* @__PURE__ */ jsx("div", { className: twMerge("h-3 w-0.5 rounded-b-full bg-destructive", delBarHeight) })
|
|
1871
1872
|
})]
|
|
1872
1873
|
})
|
|
1873
1874
|
})]
|
|
@@ -1934,14 +1935,14 @@ const DocumentTimeline = (props) => {
|
|
|
1934
1935
|
className: "relative h-[36px] w-full",
|
|
1935
1936
|
children: [
|
|
1936
1937
|
/* @__PURE__ */ jsx("div", {
|
|
1937
|
-
className: "absolute left-0 z-20 h-[17px] w-[6px] bg-
|
|
1938
|
-
children: /* @__PURE__ */ jsx("div", { className: "mt-[11px] h-[6px] w-[6px] rounded-tl-md bg-
|
|
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" })
|
|
1939
1940
|
}),
|
|
1940
1941
|
/* @__PURE__ */ jsx("div", {
|
|
1941
|
-
className: "absolute top-[11px] right-0 z-20 h-[6px] w-[6px] bg-
|
|
1942
|
-
children: /* @__PURE__ */ jsx("div", { className: "h-[6px] w-[6px] rounded-tr-md bg-
|
|
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" })
|
|
1943
1944
|
}),
|
|
1944
|
-
/* @__PURE__ */ jsx("div", { className: "absolute inset-x-0 bottom-0 h-[25px] rounded-md bg-
|
|
1945
|
+
/* @__PURE__ */ jsx("div", { className: "absolute inset-x-0 bottom-0 h-[25px] rounded-md bg-background" }),
|
|
1945
1946
|
/* @__PURE__ */ jsx("div", {
|
|
1946
1947
|
className: "absolute inset-x-0 bottom-0 h-[36px]",
|
|
1947
1948
|
children: /* @__PURE__ */ jsx("div", {
|
|
@@ -1953,14 +1954,14 @@ const DocumentTimeline = (props) => {
|
|
|
1953
1954
|
className: "flex",
|
|
1954
1955
|
children: unselectedContent
|
|
1955
1956
|
}), /* @__PURE__ */ jsx("div", {
|
|
1956
|
-
className: "flex rounded-sm bg-
|
|
1957
|
+
className: "flex rounded-sm bg-info/10",
|
|
1957
1958
|
children: selectedContent
|
|
1958
1959
|
})]
|
|
1959
1960
|
})
|
|
1960
1961
|
})
|
|
1961
1962
|
}),
|
|
1962
|
-
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute bottom-0 left-0 z-10 h-[25px] w-2 rounded-l-md bg-
|
|
1963
|
-
/* @__PURE__ */ jsx("div", { className: "pointer-events-none absolute right-0 bottom-0 z-10 h-[25px] w-2 rounded-r-md bg-
|
|
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" })
|
|
1964
1965
|
]
|
|
1965
1966
|
})
|
|
1966
1967
|
});
|
|
@@ -1978,7 +1979,7 @@ function ToolbarContainer(props) {
|
|
|
1978
1979
|
const { children, className, ...rest } = props;
|
|
1979
1980
|
return /* @__PURE__ */ jsx("div", {
|
|
1980
1981
|
...rest,
|
|
1981
|
-
className: twMerge("flex h-12 w-full items-center justify-between rounded-xl border border-
|
|
1982
|
+
className: twMerge("flex h-12 w-full items-center justify-between rounded-xl border border-border bg-background px-4", className),
|
|
1982
1983
|
children
|
|
1983
1984
|
});
|
|
1984
1985
|
}
|
|
@@ -2048,7 +2049,7 @@ function ToolbarButton(props) {
|
|
|
2048
2049
|
return /* @__PURE__ */ jsx("button", {
|
|
2049
2050
|
...rest,
|
|
2050
2051
|
disabled,
|
|
2051
|
-
className: twMerge("grid size-fit place-items-center rounded-lg border border-
|
|
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),
|
|
2052
2053
|
children
|
|
2053
2054
|
});
|
|
2054
2055
|
}
|
|
@@ -2208,7 +2209,7 @@ function ToolbarInput(props) {
|
|
|
2208
2209
|
const { defaultValue, className, onSubmit, onCancel, "aria-label": ariaLabel } = props;
|
|
2209
2210
|
return /* @__PURE__ */ jsx(NodeInput, {
|
|
2210
2211
|
defaultValue,
|
|
2211
|
-
className: twMerge("text-center text-sm font-medium text-
|
|
2212
|
+
className: twMerge("text-center text-sm font-medium text-muted-foreground", className),
|
|
2212
2213
|
"aria-label": ariaLabel,
|
|
2213
2214
|
onCancel,
|
|
2214
2215
|
onSubmit
|
|
@@ -2246,7 +2247,7 @@ function ToolbarName(props) {
|
|
|
2246
2247
|
"aria-label": "Document name"
|
|
2247
2248
|
});
|
|
2248
2249
|
return /* @__PURE__ */ jsx("h1", {
|
|
2249
|
-
className: twMerge("cursor-pointer text-sm font-medium text-
|
|
2250
|
+
className: twMerge("cursor-pointer text-sm font-medium text-muted-foreground hover:hover-effect", titleClassName),
|
|
2250
2251
|
onClick: activateEditing,
|
|
2251
2252
|
title: "Click to edit",
|
|
2252
2253
|
children: documentName
|
|
@@ -2438,6 +2439,39 @@ function ControlsContainerSlot(props) {
|
|
|
2438
2439
|
});
|
|
2439
2440
|
}
|
|
2440
2441
|
//#endregion
|
|
2442
|
+
//#region src/connect/components/drive-auth-gate/drive-auth-gate.tsx
|
|
2443
|
+
/**
|
|
2444
|
+
* Reusable "log in to access this drive" card. Used both as the content of the
|
|
2445
|
+
* drive-add auth modal and as the full-page gate shown when the user logs out
|
|
2446
|
+
* while inside a protected drive — so the two stay visually identical.
|
|
2447
|
+
*/
|
|
2448
|
+
function DriveAuthGate(props) {
|
|
2449
|
+
const { onLogin, className } = props;
|
|
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-background p-8 text-center shadow-2xl ring-1 ring-black/5 dark:ring-white/10", className),
|
|
2452
|
+
children: [
|
|
2453
|
+
/* @__PURE__ */ jsx("h2", {
|
|
2454
|
+
className: "text-xl font-semibold text-foreground",
|
|
2455
|
+
children: "Log in to access this drive"
|
|
2456
|
+
}),
|
|
2457
|
+
/* @__PURE__ */ jsx("p", {
|
|
2458
|
+
className: "text-sm text-muted-foreground",
|
|
2459
|
+
children: "This drive requires you to sign in with Renown to view or edit it."
|
|
2460
|
+
}),
|
|
2461
|
+
/* @__PURE__ */ jsxs("button", {
|
|
2462
|
+
type: "button",
|
|
2463
|
+
onClick: onLogin,
|
|
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
|
+
children: [/* @__PURE__ */ jsx("span", { children: "Log in with" }), /* @__PURE__ */ jsx(RenownLogo, {
|
|
2466
|
+
width: 58,
|
|
2467
|
+
height: 16,
|
|
2468
|
+
className: "-translate-y-[3px]"
|
|
2469
|
+
})]
|
|
2470
|
+
})
|
|
2471
|
+
]
|
|
2472
|
+
});
|
|
2473
|
+
}
|
|
2474
|
+
//#endregion
|
|
2441
2475
|
//#region src/connect/components/modal/replace-duplicate-modal.tsx
|
|
2442
2476
|
function ConnectReplaceDuplicateModal(props) {
|
|
2443
2477
|
const { open, onOpenChange, title = "Document Already Exists", fileName, message, duplicateLabel = "Create Copy", onDuplicate, overlayProps, contentProps } = props;
|
|
@@ -2453,11 +2487,11 @@ function ConnectReplaceDuplicateModal(props) {
|
|
|
2453
2487
|
/* @__PURE__ */ jsxs("div", {
|
|
2454
2488
|
className: "flex items-center justify-between pb-2",
|
|
2455
2489
|
children: [/* @__PURE__ */ jsx("div", {
|
|
2456
|
-
className: "text-2xl font-bold text-
|
|
2490
|
+
className: "text-2xl font-bold text-foreground",
|
|
2457
2491
|
children: title
|
|
2458
2492
|
}), /* @__PURE__ */ jsx("button", {
|
|
2459
2493
|
type: "button",
|
|
2460
|
-
className: "flex size-6 items-center justify-center rounded-md outline-none hover:
|
|
2494
|
+
className: "flex size-6 items-center justify-center rounded-md outline-none hover:hover-effect",
|
|
2461
2495
|
onClick: () => onOpenChange?.(false),
|
|
2462
2496
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
2463
2497
|
name: "XmarkLight",
|
|
@@ -2466,7 +2500,7 @@ function ConnectReplaceDuplicateModal(props) {
|
|
|
2466
2500
|
})]
|
|
2467
2501
|
}),
|
|
2468
2502
|
/* @__PURE__ */ jsx("div", {
|
|
2469
|
-
className: "my-6 rounded-md bg-
|
|
2503
|
+
className: "my-6 rounded-md bg-background p-4 text-center text-foreground",
|
|
2470
2504
|
children: message || defaultMessage
|
|
2471
2505
|
}),
|
|
2472
2506
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -2487,7 +2521,7 @@ function UploadFileItemErrorDetails(props) {
|
|
|
2487
2521
|
const { status, errorDetails } = props;
|
|
2488
2522
|
if (!((status === "failed" || status === "unsupported-document-type") && errorDetails)) return null;
|
|
2489
2523
|
return /* @__PURE__ */ jsx("div", {
|
|
2490
|
-
className: "text-xs leading-[18px] wrap-break-word text-
|
|
2524
|
+
className: "text-xs leading-[18px] wrap-break-word text-muted-foreground",
|
|
2491
2525
|
children: errorDetails
|
|
2492
2526
|
});
|
|
2493
2527
|
}
|
|
@@ -2517,16 +2551,16 @@ function UploadFileItemHeader(props) {
|
|
|
2517
2551
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
2518
2552
|
name: getDocumentIcon(documentType),
|
|
2519
2553
|
size: 48,
|
|
2520
|
-
className: "text-
|
|
2554
|
+
className: "text-foreground"
|
|
2521
2555
|
})
|
|
2522
2556
|
}),
|
|
2523
2557
|
/* @__PURE__ */ jsxs("div", {
|
|
2524
2558
|
className: "flex flex-1 flex-col gap-0.5",
|
|
2525
2559
|
children: [/* @__PURE__ */ jsx("div", {
|
|
2526
|
-
className: "text-xs leading-[18px] font-medium text-
|
|
2560
|
+
className: "text-xs leading-[18px] font-medium text-foreground",
|
|
2527
2561
|
children: fileName
|
|
2528
2562
|
}), /* @__PURE__ */ jsx("div", {
|
|
2529
|
-
className: "text-xs leading-[18px] font-medium text-
|
|
2563
|
+
className: "text-xs leading-[18px] font-medium text-muted-foreground",
|
|
2530
2564
|
children: fileSize
|
|
2531
2565
|
})]
|
|
2532
2566
|
}),
|
|
@@ -2535,7 +2569,7 @@ function UploadFileItemHeader(props) {
|
|
|
2535
2569
|
children: /* @__PURE__ */ jsx("button", {
|
|
2536
2570
|
type: "button",
|
|
2537
2571
|
onClick: onClose,
|
|
2538
|
-
className: "flex h-[18px] w-[18px] items-center justify-center text-
|
|
2572
|
+
className: "flex h-[18px] w-[18px] items-center justify-center text-foreground hover:hover-effect",
|
|
2539
2573
|
"aria-label": "Close",
|
|
2540
2574
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
2541
2575
|
name: "XmarkLight",
|
|
@@ -2552,9 +2586,9 @@ function UploadFileItemProgressBar(props) {
|
|
|
2552
2586
|
const { status, progress = 0 } = props;
|
|
2553
2587
|
if (status !== "uploading") return null;
|
|
2554
2588
|
return /* @__PURE__ */ jsx("div", {
|
|
2555
|
-
className: "h-2 w-full overflow-hidden rounded-sm bg-
|
|
2589
|
+
className: "h-2 w-full overflow-hidden rounded-sm bg-secondary",
|
|
2556
2590
|
children: /* @__PURE__ */ jsx("div", {
|
|
2557
|
-
className: "h-full bg-
|
|
2591
|
+
className: "h-full bg-info transition-all duration-300 ease-out",
|
|
2558
2592
|
style: { width: `${Math.min(100, Math.max(0, progress))}%` }
|
|
2559
2593
|
})
|
|
2560
2594
|
});
|
|
@@ -2574,13 +2608,13 @@ function getStatusText(status) {
|
|
|
2574
2608
|
}
|
|
2575
2609
|
function getStatusColor(status) {
|
|
2576
2610
|
switch (status) {
|
|
2577
|
-
case "success": return "text-
|
|
2611
|
+
case "success": return "text-success";
|
|
2578
2612
|
case "failed":
|
|
2579
2613
|
case "unsupported-document-type":
|
|
2580
2614
|
case "pending":
|
|
2581
|
-
case "conflict": return "text-
|
|
2582
|
-
case "uploading": return "text-
|
|
2583
|
-
default: return "text-
|
|
2615
|
+
case "conflict": return "text-destructive";
|
|
2616
|
+
case "uploading": return "text-foreground";
|
|
2617
|
+
default: return "text-foreground";
|
|
2584
2618
|
}
|
|
2585
2619
|
}
|
|
2586
2620
|
function shouldShowCTA(status, onOpenDocument, onFindResolution) {
|
|
@@ -2606,13 +2640,13 @@ function UploadFileItemStatusRow(props) {
|
|
|
2606
2640
|
children: getStatusText(status)
|
|
2607
2641
|
}),
|
|
2608
2642
|
status === "uploading" && /* @__PURE__ */ jsxs("div", {
|
|
2609
|
-
className: "text-xs leading-[18px] font-medium text-
|
|
2643
|
+
className: "text-xs leading-[18px] font-medium text-foreground",
|
|
2610
2644
|
children: [Math.round(progress), "%"]
|
|
2611
2645
|
}),
|
|
2612
2646
|
shouldShowCTA(status, onOpenDocument, onFindResolution) && /* @__PURE__ */ jsx("button", {
|
|
2613
2647
|
type: "button",
|
|
2614
2648
|
onClick: handleCTAClick,
|
|
2615
|
-
className: "text-xs leading-[18px] text-
|
|
2649
|
+
className: "text-xs leading-[18px] text-info hover:hover-effect",
|
|
2616
2650
|
children: getCTAText(status)
|
|
2617
2651
|
})
|
|
2618
2652
|
]
|
|
@@ -2624,7 +2658,7 @@ const UploadFileItem = /* @__PURE__ */ forwardRef(function UploadFileItem(props,
|
|
|
2624
2658
|
const { fileName, fileSize, status, documentType, progress = 0, errorDetails, onClose, onOpenDocument, onFindResolution, className, ...delegatedProps } = props;
|
|
2625
2659
|
return /* @__PURE__ */ jsxs("div", {
|
|
2626
2660
|
ref,
|
|
2627
|
-
className: twMerge("flex w-full flex-col gap-0.5 rounded-md border border-
|
|
2661
|
+
className: twMerge("flex w-full flex-col gap-0.5 rounded-md border border-border bg-background p-2 shadow-sidebar", className),
|
|
2628
2662
|
...delegatedProps,
|
|
2629
2663
|
children: [/* @__PURE__ */ jsx(UploadFileItemHeader, {
|
|
2630
2664
|
fileName,
|
|
@@ -2665,7 +2699,7 @@ function UploadFileList(props) {
|
|
|
2665
2699
|
const [isCollapsed, setIsCollapsed] = useState(defaultCollapsed);
|
|
2666
2700
|
const computedTitle = useMemo(() => getUploadListTitle(items.length, title), [items.length, title]);
|
|
2667
2701
|
return /* @__PURE__ */ jsxs("div", {
|
|
2668
|
-
className: twMerge("w-89.5 rounded-md border border-
|
|
2702
|
+
className: twMerge("w-89.5 rounded-md border border-border bg-background p-4 shadow-charcoal", className),
|
|
2669
2703
|
...delegatedProps,
|
|
2670
2704
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
2671
2705
|
className: "flex items-center justify-between",
|
|
@@ -2674,7 +2708,7 @@ function UploadFileList(props) {
|
|
|
2674
2708
|
"aria-expanded": !isCollapsed,
|
|
2675
2709
|
"aria-label": isCollapsed ? "Expand list" : "Collapse list",
|
|
2676
2710
|
onClick: () => setIsCollapsed((v) => !v),
|
|
2677
|
-
className: "min-w-0 flex-1 text-left text-sm/4 font-medium text-
|
|
2711
|
+
className: "min-w-0 flex-1 text-left text-sm/4 font-medium text-foreground hover:hover-effect",
|
|
2678
2712
|
children: computedTitle
|
|
2679
2713
|
}), /* @__PURE__ */ jsxs("div", {
|
|
2680
2714
|
className: "flex shrink-0 items-center gap-4",
|
|
@@ -2682,7 +2716,7 @@ function UploadFileList(props) {
|
|
|
2682
2716
|
type: "button",
|
|
2683
2717
|
"aria-label": isCollapsed ? "Expand" : "Collapse",
|
|
2684
2718
|
onClick: () => setIsCollapsed((v) => !v),
|
|
2685
|
-
className: "text-
|
|
2719
|
+
className: "text-foreground hover:hover-effect",
|
|
2686
2720
|
children: /* @__PURE__ */ jsx("span", {
|
|
2687
2721
|
className: twMerge("inline-block size-4 transition-transform select-none", isCollapsed ? "-rotate-90" : "rotate-0"),
|
|
2688
2722
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
@@ -2695,7 +2729,7 @@ function UploadFileList(props) {
|
|
|
2695
2729
|
type: "button",
|
|
2696
2730
|
"aria-label": "Close",
|
|
2697
2731
|
onClick: onClose,
|
|
2698
|
-
className: "text-
|
|
2732
|
+
className: "text-foreground hover:hover-effect",
|
|
2699
2733
|
children: /* @__PURE__ */ jsx("span", {
|
|
2700
2734
|
className: "inline-block size-4 select-none",
|
|
2701
2735
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
@@ -3029,18 +3063,18 @@ function DropZone(props) {
|
|
|
3029
3063
|
children: [
|
|
3030
3064
|
children,
|
|
3031
3065
|
enable && isDropTarget && /* @__PURE__ */ jsx("div", {
|
|
3032
|
-
className: "pointer-events-none fixed inset-0 z-1000 flex min-h-screen w-screen items-center justify-center bg-
|
|
3066
|
+
className: "pointer-events-none fixed inset-0 z-1000 flex min-h-screen w-screen items-center justify-center bg-primary/50",
|
|
3033
3067
|
children: /* @__PURE__ */ jsx("div", {
|
|
3034
|
-
className: "rounded-3xl bg-
|
|
3068
|
+
className: "rounded-3xl bg-background p-6 shadow-charcoal",
|
|
3035
3069
|
children: /* @__PURE__ */ jsxs("div", {
|
|
3036
|
-
className: "relative flex h-32.5 w-100 flex-col items-center justify-start overflow-visible rounded-lg border border-dashed border-
|
|
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",
|
|
3037
3071
|
children: [
|
|
3038
3072
|
/* @__PURE__ */ jsx("div", {
|
|
3039
|
-
className: "text-center text-base/5 text-
|
|
3073
|
+
className: "text-center text-base/5 text-muted-foreground",
|
|
3040
3074
|
children: title
|
|
3041
3075
|
}),
|
|
3042
3076
|
/* @__PURE__ */ jsx("div", {
|
|
3043
|
-
className: "text-center text-base/5 text-
|
|
3077
|
+
className: "text-center text-base/5 text-muted-foreground",
|
|
3044
3078
|
children: subtitle
|
|
3045
3079
|
}),
|
|
3046
3080
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -3102,9 +3136,9 @@ function ConnectDropdownMenu(props) {
|
|
|
3102
3136
|
className: "outline-none",
|
|
3103
3137
|
children
|
|
3104
3138
|
}), /* @__PURE__ */ jsx(DropdownMenuContent, {
|
|
3105
|
-
className: twMerge("cursor-pointer rounded-2xl border border-
|
|
3139
|
+
className: twMerge("cursor-pointer rounded-2xl border border-border bg-popover text-sm font-medium text-muted-foreground shadow-lg", menuClassName),
|
|
3106
3140
|
children: items.map(({ id, label, icon, className }) => /* @__PURE__ */ jsxs(DropdownMenuItem, {
|
|
3107
|
-
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:
|
|
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),
|
|
3108
3142
|
onClick: (e) => e.stopPropagation(),
|
|
3109
3143
|
onSelect: () => onItemClick(id),
|
|
3110
3144
|
children: [icon ? /* @__PURE__ */ jsx("span", {
|
|
@@ -3123,7 +3157,7 @@ function EditorActionButtons(props) {
|
|
|
3123
3157
|
className: "flex items-center gap-x-2",
|
|
3124
3158
|
children: [
|
|
3125
3159
|
onSwitchboardLinkClick && /* @__PURE__ */ jsx("button", {
|
|
3126
|
-
className: "grid size-8 place-items-center rounded-lg border border-
|
|
3160
|
+
className: "grid size-8 place-items-center rounded-lg border border-border bg-background text-foreground disabled:disabled-effect",
|
|
3127
3161
|
onClick: onSwitchboardLinkClick,
|
|
3128
3162
|
disabled: !onSwitchboardLinkClick,
|
|
3129
3163
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
@@ -3132,7 +3166,7 @@ function EditorActionButtons(props) {
|
|
|
3132
3166
|
})
|
|
3133
3167
|
}),
|
|
3134
3168
|
onShowRevisionHistory && /* @__PURE__ */ jsx("button", {
|
|
3135
|
-
className: "grid size-8 place-items-center rounded-lg border border-
|
|
3169
|
+
className: "grid size-8 place-items-center rounded-lg border border-border bg-background text-foreground disabled:disabled-effect",
|
|
3136
3170
|
onClick: onShowRevisionHistory,
|
|
3137
3171
|
disabled: !onShowRevisionHistory,
|
|
3138
3172
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
@@ -3141,7 +3175,7 @@ function EditorActionButtons(props) {
|
|
|
3141
3175
|
})
|
|
3142
3176
|
}),
|
|
3143
3177
|
onShowTimeline && /* @__PURE__ */ jsx("button", {
|
|
3144
|
-
className: "grid size-8 place-items-center rounded-lg border border-
|
|
3178
|
+
className: "grid size-8 place-items-center rounded-lg border border-border bg-background text-foreground disabled:disabled-effect",
|
|
3145
3179
|
onClick: onShowTimeline,
|
|
3146
3180
|
disabled: !onShowTimeline,
|
|
3147
3181
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
@@ -3150,7 +3184,7 @@ function EditorActionButtons(props) {
|
|
|
3150
3184
|
})
|
|
3151
3185
|
}),
|
|
3152
3186
|
/* @__PURE__ */ jsx("button", {
|
|
3153
|
-
className: "grid size-8 place-items-center rounded-lg border border-
|
|
3187
|
+
className: "grid size-8 place-items-center rounded-lg border border-border bg-background text-foreground",
|
|
3154
3188
|
onClick: onClose,
|
|
3155
3189
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
3156
3190
|
name: "XmarkLight",
|
|
@@ -3164,15 +3198,15 @@ function EditorActionButtons(props) {
|
|
|
3164
3198
|
//#region src/connect/components/editor-undo-redo-buttons/editor-undo-redo-buttons.tsx
|
|
3165
3199
|
function EditorUndoRedoButtons(props) {
|
|
3166
3200
|
const { canUndo, canRedo, undo, redo } = props;
|
|
3167
|
-
const buttonStyles = "w-8 h-8 rounded-lg flex justify-center items-center rounded border border-
|
|
3201
|
+
const buttonStyles = "w-8 h-8 rounded-lg flex justify-center items-center rounded border border-border bg-background";
|
|
3168
3202
|
return /* @__PURE__ */ jsxs("div", {
|
|
3169
|
-
className: "flex gap-x-2 text-
|
|
3203
|
+
className: "flex gap-x-2 text-muted-foreground",
|
|
3170
3204
|
children: [/* @__PURE__ */ jsx("button", {
|
|
3171
3205
|
className: buttonStyles,
|
|
3172
3206
|
disabled: !canUndo,
|
|
3173
3207
|
onClick: undo,
|
|
3174
3208
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
3175
|
-
className: twMerge("-scale-x-100", canUndo ? "text-
|
|
3209
|
+
className: twMerge("-scale-x-100", canUndo ? "text-foreground active:active-effect" : "text-muted-foreground"),
|
|
3176
3210
|
name: "RedoArrow",
|
|
3177
3211
|
size: 18
|
|
3178
3212
|
})
|
|
@@ -3181,7 +3215,7 @@ function EditorUndoRedoButtons(props) {
|
|
|
3181
3215
|
disabled: !canRedo,
|
|
3182
3216
|
onClick: redo,
|
|
3183
3217
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
3184
|
-
className: twMerge(canRedo ? "text-
|
|
3218
|
+
className: twMerge(canRedo ? "text-foreground active:active-effect" : "text-muted-foreground"),
|
|
3185
3219
|
name: "RedoArrow",
|
|
3186
3220
|
size: 18
|
|
3187
3221
|
})
|
|
@@ -3286,7 +3320,7 @@ const debugNodeOptionsMap = {
|
|
|
3286
3320
|
ADD_TRIGGER: {
|
|
3287
3321
|
label: "Add Trigger",
|
|
3288
3322
|
icon: /* @__PURE__ */ jsx(Icon, {
|
|
3289
|
-
className: "text-
|
|
3323
|
+
className: "text-warning",
|
|
3290
3324
|
name: "Plus",
|
|
3291
3325
|
size: 16
|
|
3292
3326
|
})
|
|
@@ -3294,7 +3328,7 @@ const debugNodeOptionsMap = {
|
|
|
3294
3328
|
REMOVE_TRIGGER: {
|
|
3295
3329
|
label: "Remove Trigger",
|
|
3296
3330
|
icon: /* @__PURE__ */ jsx(Icon, {
|
|
3297
|
-
className: "text-
|
|
3331
|
+
className: "text-warning",
|
|
3298
3332
|
name: "Xmark",
|
|
3299
3333
|
size: 16
|
|
3300
3334
|
})
|
|
@@ -3302,7 +3336,7 @@ const debugNodeOptionsMap = {
|
|
|
3302
3336
|
ADD_INVALID_TRIGGER: {
|
|
3303
3337
|
label: "Add Trigger",
|
|
3304
3338
|
icon: /* @__PURE__ */ jsx(Icon, {
|
|
3305
|
-
className: "text-
|
|
3339
|
+
className: "text-warning",
|
|
3306
3340
|
name: "Exclamation",
|
|
3307
3341
|
size: 16
|
|
3308
3342
|
})
|
|
@@ -3329,7 +3363,7 @@ const folderNodeDropdownOptions = {
|
|
|
3329
3363
|
name: "Trash",
|
|
3330
3364
|
size: 16
|
|
3331
3365
|
}),
|
|
3332
|
-
className: "text-
|
|
3366
|
+
className: "text-destructive"
|
|
3333
3367
|
}
|
|
3334
3368
|
};
|
|
3335
3369
|
const fileNodeDropdownOptions = {
|
|
@@ -3378,37 +3412,37 @@ function SyncStatusIcon(props) {
|
|
|
3378
3412
|
[INITIAL_SYNC]: /* @__PURE__ */ jsx(Icon, {
|
|
3379
3413
|
size: 16,
|
|
3380
3414
|
...iconProps,
|
|
3381
|
-
className: twMerge("text-
|
|
3415
|
+
className: twMerge("text-info", className),
|
|
3382
3416
|
name: icons[INITIAL_SYNC]
|
|
3383
3417
|
}),
|
|
3384
3418
|
[SYNCING]: /* @__PURE__ */ jsx(Icon, {
|
|
3385
3419
|
size: 16,
|
|
3386
3420
|
...iconProps,
|
|
3387
|
-
className: twMerge("text-
|
|
3421
|
+
className: twMerge("text-info", className),
|
|
3388
3422
|
name: icons[SYNCING]
|
|
3389
3423
|
}),
|
|
3390
3424
|
[SUCCESS]: /* @__PURE__ */ jsx(Icon, {
|
|
3391
3425
|
size: 16,
|
|
3392
3426
|
...iconProps,
|
|
3393
|
-
className: twMerge("text-
|
|
3427
|
+
className: twMerge("text-success", className),
|
|
3394
3428
|
name: icons[SUCCESS]
|
|
3395
3429
|
}),
|
|
3396
3430
|
[CONFLICT]: /* @__PURE__ */ jsx(Icon, {
|
|
3397
3431
|
size: 16,
|
|
3398
3432
|
...iconProps,
|
|
3399
|
-
className: twMerge("text-
|
|
3433
|
+
className: twMerge("text-warning", className),
|
|
3400
3434
|
name: icons[CONFLICT]
|
|
3401
3435
|
}),
|
|
3402
3436
|
[MISSING]: /* @__PURE__ */ jsx(Icon, {
|
|
3403
3437
|
size: 16,
|
|
3404
3438
|
...iconProps,
|
|
3405
|
-
className: twMerge("text-
|
|
3439
|
+
className: twMerge("text-destructive", className),
|
|
3406
3440
|
name: icons[MISSING]
|
|
3407
3441
|
}),
|
|
3408
3442
|
[ERROR]: /* @__PURE__ */ jsx(Icon, {
|
|
3409
3443
|
size: 16,
|
|
3410
3444
|
...iconProps,
|
|
3411
|
-
className: twMerge("text-
|
|
3445
|
+
className: twMerge("text-destructive", className),
|
|
3412
3446
|
name: icons[ERROR]
|
|
3413
3447
|
})
|
|
3414
3448
|
}[syncStatus];
|
|
@@ -3476,7 +3510,7 @@ function FileItem(props) {
|
|
|
3476
3510
|
width: 32,
|
|
3477
3511
|
draggable: false
|
|
3478
3512
|
}) : /* @__PURE__ */ jsx(DefaultFileIcon, {}), isReadMode && syncStatus && /* @__PURE__ */ jsx("div", {
|
|
3479
|
-
className: "absolute right-0 bottom-[-2px] size-3 rounded-full bg-
|
|
3513
|
+
className: "absolute right-0 bottom-[-2px] size-3 rounded-full bg-background",
|
|
3480
3514
|
children: /* @__PURE__ */ jsx("div", {
|
|
3481
3515
|
className: "absolute top-[-2px] left-[-2px]",
|
|
3482
3516
|
children: /* @__PURE__ */ jsx(SyncStatusIcon, {
|
|
@@ -3486,16 +3520,16 @@ function FileItem(props) {
|
|
|
3486
3520
|
})
|
|
3487
3521
|
})]
|
|
3488
3522
|
});
|
|
3489
|
-
const containerStyles = twMerge("group flex h-12 cursor-pointer items-center rounded-lg bg-
|
|
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);
|
|
3490
3524
|
const content = isReadMode ? /* @__PURE__ */ jsxs("div", {
|
|
3491
3525
|
className: "flex w-52 items-center justify-between",
|
|
3492
3526
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
3493
3527
|
className: "mr-2 truncate group-hover:mr-0",
|
|
3494
3528
|
children: [/* @__PURE__ */ jsx("div", {
|
|
3495
|
-
className: "max-h-6 truncate text-sm font-medium text-
|
|
3529
|
+
className: "max-h-6 truncate text-sm font-medium text-foreground group-hover:hover-effect",
|
|
3496
3530
|
children: fileNode.name
|
|
3497
3531
|
}), /* @__PURE__ */ jsx("div", {
|
|
3498
|
-
className: "max-h-6 truncate text-xs font-medium text-
|
|
3532
|
+
className: "max-h-6 truncate text-xs font-medium text-muted-foreground group-hover:hover-effect",
|
|
3499
3533
|
children: fileNode.documentType
|
|
3500
3534
|
})]
|
|
3501
3535
|
}), isAllowedToCreateDocuments ? /* @__PURE__ */ jsx(ConnectDropdownMenu, {
|
|
@@ -3510,7 +3544,7 @@ function FileItem(props) {
|
|
|
3510
3544
|
setIsDropdownMenuOpen(true);
|
|
3511
3545
|
},
|
|
3512
3546
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
3513
|
-
className: "text-
|
|
3547
|
+
className: "text-foreground",
|
|
3514
3548
|
name: "VerticalDots"
|
|
3515
3549
|
})
|
|
3516
3550
|
})
|
|
@@ -3539,7 +3573,7 @@ function FileItem(props) {
|
|
|
3539
3573
|
}
|
|
3540
3574
|
function DefaultFileIcon() {
|
|
3541
3575
|
return /* @__PURE__ */ jsx("div", {
|
|
3542
|
-
className: "text-
|
|
3576
|
+
className: "text-primary-foreground",
|
|
3543
3577
|
children: /* @__PURE__ */ jsxs("svg", {
|
|
3544
3578
|
width: "32",
|
|
3545
3579
|
height: "40",
|
|
@@ -3685,7 +3719,7 @@ function FolderItem(props) {
|
|
|
3685
3719
|
setIsDropdownMenuOpen(false);
|
|
3686
3720
|
}
|
|
3687
3721
|
const content = isReadMode || !isAllowedToCreateDocuments ? /* @__PURE__ */ jsx("div", {
|
|
3688
|
-
className: "ml-3 max-h-6 truncate font-medium text-
|
|
3722
|
+
className: "ml-3 max-h-6 truncate font-medium text-foreground group-hover:hover-effect",
|
|
3689
3723
|
children: folderNode.name
|
|
3690
3724
|
}) : /* @__PURE__ */ jsx(NodeInput, {
|
|
3691
3725
|
className: "ml-3 font-medium",
|
|
@@ -3693,9 +3727,9 @@ function FolderItem(props) {
|
|
|
3693
3727
|
onCancel,
|
|
3694
3728
|
onSubmit
|
|
3695
3729
|
});
|
|
3696
|
-
const containerStyles = twMerge("group flex h-12 cursor-pointer items-center rounded-lg bg-
|
|
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);
|
|
3697
3731
|
return /* @__PURE__ */ jsx("div", {
|
|
3698
|
-
className: "relative w-64",
|
|
3732
|
+
className: "relative w-64 hover:hover-effect",
|
|
3699
3733
|
onClick: isReadMode ? () => setSelectedNode(folderNode) : void 0,
|
|
3700
3734
|
children: /* @__PURE__ */ jsxs("div", {
|
|
3701
3735
|
...dragProps,
|
|
@@ -3706,7 +3740,7 @@ function FolderItem(props) {
|
|
|
3706
3740
|
children: [/* @__PURE__ */ jsx("div", {
|
|
3707
3741
|
className: "p-1",
|
|
3708
3742
|
children: /* @__PURE__ */ jsx("div", {
|
|
3709
|
-
className: "relative text-
|
|
3743
|
+
className: "relative text-foreground",
|
|
3710
3744
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
3711
3745
|
name: "FolderClose",
|
|
3712
3746
|
size: 24
|
|
@@ -3725,7 +3759,7 @@ function FolderItem(props) {
|
|
|
3725
3759
|
setIsDropdownMenuOpen(true);
|
|
3726
3760
|
},
|
|
3727
3761
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
3728
|
-
className: "text-
|
|
3762
|
+
className: "text-foreground",
|
|
3729
3763
|
name: "VerticalDots"
|
|
3730
3764
|
})
|
|
3731
3765
|
})
|
|
@@ -3746,7 +3780,7 @@ function FooterLink(props) {
|
|
|
3746
3780
|
//#region src/connect/components/footer/footer.tsx
|
|
3747
3781
|
const Footer = ({ children, className, ...props }) => {
|
|
3748
3782
|
return /* @__PURE__ */ jsx("footer", {
|
|
3749
|
-
className: twMerge("flex items-center gap-x-6 text-xs font-medium text-
|
|
3783
|
+
className: twMerge("flex items-center gap-x-6 text-xs font-medium text-foreground", typeof className === "string" && className),
|
|
3750
3784
|
...props,
|
|
3751
3785
|
children
|
|
3752
3786
|
});
|
|
@@ -3758,9 +3792,9 @@ const FormInput = /* @__PURE__ */ forwardRef(function FormInput(props, ref) {
|
|
|
3758
3792
|
const type = props.type ?? "text";
|
|
3759
3793
|
const isError = !!errorMessage;
|
|
3760
3794
|
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("div", {
|
|
3761
|
-
className: twMerge("mb-1 flex gap-2 rounded-md border border-
|
|
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),
|
|
3762
3796
|
children: [icon && /* @__PURE__ */ jsx("span", {
|
|
3763
|
-
className: twJoin((!isDirty || isError) && "text-
|
|
3797
|
+
className: twJoin((!isDirty || isError) && "text-foreground"),
|
|
3764
3798
|
children: icon
|
|
3765
3799
|
}), /* @__PURE__ */ jsx("input", {
|
|
3766
3800
|
...delegatedProps,
|
|
@@ -3769,7 +3803,7 @@ const FormInput = /* @__PURE__ */ forwardRef(function FormInput(props, ref) {
|
|
|
3769
3803
|
type
|
|
3770
3804
|
})]
|
|
3771
3805
|
}), /* @__PURE__ */ jsx("p", {
|
|
3772
|
-
className: twMerge("hidden min-h-4 text-xs text-
|
|
3806
|
+
className: twMerge("hidden min-h-4 text-xs text-destructive", isError && "block", hideErrors && "hidden", errorMessageClassName),
|
|
3773
3807
|
children: errorMessage
|
|
3774
3808
|
})] });
|
|
3775
3809
|
});
|
|
@@ -3809,22 +3843,22 @@ const Toggle = /* @__PURE__ */ forwardRef(function Toggle(props, ref) {
|
|
|
3809
3843
|
type: "checkbox",
|
|
3810
3844
|
value: "",
|
|
3811
3845
|
...props
|
|
3812
|
-
}), /* @__PURE__ */ jsx("div", { className: "peer h-6 w-11 rounded-full bg-
|
|
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" })]
|
|
3813
3847
|
});
|
|
3814
3848
|
});
|
|
3815
3849
|
//#endregion
|
|
3816
3850
|
//#region src/connect/components/form/inputs/available-offline-toggle.tsx
|
|
3817
3851
|
const AvailableOfflineToggle = /* @__PURE__ */ forwardRef(function AvailableOfflineToggle(props, ref) {
|
|
3818
3852
|
return /* @__PURE__ */ jsxs("div", {
|
|
3819
|
-
className: "flex items-center rounded-md border border-
|
|
3853
|
+
className: "flex items-center rounded-md border border-border bg-background p-3 text-foreground",
|
|
3820
3854
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
3821
3855
|
className: "flex-1",
|
|
3822
3856
|
children: [/* @__PURE__ */ jsx("label", {
|
|
3823
|
-
className: "font-medium text-
|
|
3857
|
+
className: "font-medium text-foreground",
|
|
3824
3858
|
htmlFor: "availableOffline",
|
|
3825
3859
|
children: "Make available offline"
|
|
3826
3860
|
}), /* @__PURE__ */ jsxs("p", {
|
|
3827
|
-
className: "text-xs text-
|
|
3861
|
+
className: "text-xs text-foreground",
|
|
3828
3862
|
children: [
|
|
3829
3863
|
"Check this options if you keep a local backup",
|
|
3830
3864
|
/* @__PURE__ */ jsx("br", {}),
|
|
@@ -3844,7 +3878,7 @@ function Label(props) {
|
|
|
3844
3878
|
const { children, className, ...labelProps } = props;
|
|
3845
3879
|
return /* @__PURE__ */ jsx("label", {
|
|
3846
3880
|
...labelProps,
|
|
3847
|
-
className: twMerge("block font-semibold text-
|
|
3881
|
+
className: twMerge("block font-semibold text-muted-foreground", className),
|
|
3848
3882
|
children
|
|
3849
3883
|
});
|
|
3850
3884
|
}
|
|
@@ -3881,7 +3915,7 @@ function AddLocalDriveForm(props) {
|
|
|
3881
3915
|
children: [
|
|
3882
3916
|
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Label, {
|
|
3883
3917
|
htmlFor: "name",
|
|
3884
|
-
className: "text-sm font-medium text-
|
|
3918
|
+
className: "text-sm font-medium text-foreground",
|
|
3885
3919
|
children: "Drive Name"
|
|
3886
3920
|
}), /* @__PURE__ */ jsx(FormInput, {
|
|
3887
3921
|
...register("name", { required: "Drive name is required" }),
|
|
@@ -3890,7 +3924,7 @@ function AddLocalDriveForm(props) {
|
|
|
3890
3924
|
})] }),
|
|
3891
3925
|
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Label, {
|
|
3892
3926
|
htmlFor: "driveApp",
|
|
3893
|
-
className: "text-sm font-medium text-
|
|
3927
|
+
className: "text-sm font-medium text-foreground",
|
|
3894
3928
|
children: "Drive App"
|
|
3895
3929
|
}), /* @__PURE__ */ jsx(AppFormInput, {
|
|
3896
3930
|
control,
|
|
@@ -3898,7 +3932,7 @@ function AddLocalDriveForm(props) {
|
|
|
3898
3932
|
})] }),
|
|
3899
3933
|
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx(Label, {
|
|
3900
3934
|
htmlFor: "sharingType",
|
|
3901
|
-
className: "text-sm font-medium text-
|
|
3935
|
+
className: "text-sm font-medium text-foreground",
|
|
3902
3936
|
children: "Location"
|
|
3903
3937
|
}), /* @__PURE__ */ jsx(SharingTypeFormInput, { control })] }),
|
|
3904
3938
|
/* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(AvailableOfflineToggle, { ...register("availableOffline") }) }),
|
|
@@ -3915,9 +3949,9 @@ function AddLocalDriveForm(props) {
|
|
|
3915
3949
|
//#region src/connect/components/form/inputs/drive-name.tsx
|
|
3916
3950
|
function DriveName(props) {
|
|
3917
3951
|
return /* @__PURE__ */ jsxs("div", {
|
|
3918
|
-
className: "flex gap-2 rounded-xl bg-
|
|
3952
|
+
className: "flex gap-2 rounded-xl bg-muted p-3 font-semibold text-muted-foreground",
|
|
3919
3953
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
3920
|
-
className: "text-
|
|
3954
|
+
className: "text-foreground",
|
|
3921
3955
|
name: "Drive"
|
|
3922
3956
|
}), props.driveName]
|
|
3923
3957
|
});
|
|
@@ -3929,9 +3963,9 @@ function LocationInfo(props) {
|
|
|
3929
3963
|
const locationInfo = locationInfoByLocation[location];
|
|
3930
3964
|
return /* @__PURE__ */ jsxs("div", {
|
|
3931
3965
|
...divProps,
|
|
3932
|
-
className: twMerge("my-3 flex items-center gap-2 rounded-xl border border-
|
|
3966
|
+
className: twMerge("my-3 flex items-center gap-2 rounded-xl border border-border bg-background p-3 text-foreground shadow-sm", className),
|
|
3933
3967
|
children: [locationInfo.icon, /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", { children: locationInfo.title }), /* @__PURE__ */ jsx("p", {
|
|
3934
|
-
className: "text-xs text-
|
|
3968
|
+
className: "text-xs text-foreground",
|
|
3935
3969
|
children: locationInfo.description
|
|
3936
3970
|
})] })]
|
|
3937
3971
|
});
|
|
@@ -4040,14 +4074,14 @@ function FormattedJsonViewer(props) {
|
|
|
4040
4074
|
children: [/* @__PURE__ */ jsx(JsonView.Copied, { render: ({ onClick, ...props }) => {
|
|
4041
4075
|
if (props["data-copied"]) return /* @__PURE__ */ jsx(Icon, {
|
|
4042
4076
|
...props,
|
|
4043
|
-
className: "inline-block text-
|
|
4077
|
+
className: "inline-block text-success",
|
|
4044
4078
|
name: "FilesEarmark",
|
|
4045
4079
|
size: 16
|
|
4046
4080
|
});
|
|
4047
4081
|
return /* @__PURE__ */ jsx(Icon, {
|
|
4048
4082
|
...props,
|
|
4049
4083
|
onClick,
|
|
4050
|
-
className: "inline-block cursor-pointer text-
|
|
4084
|
+
className: "inline-block cursor-pointer text-foreground",
|
|
4051
4085
|
name: "FilesEarmark",
|
|
4052
4086
|
size: 16
|
|
4053
4087
|
});
|
|
@@ -4088,7 +4122,7 @@ const HomeBackgroundImage = ({ src } = {}) => {
|
|
|
4088
4122
|
})
|
|
4089
4123
|
});
|
|
4090
4124
|
return /* @__PURE__ */ jsx("div", {
|
|
4091
|
-
className: "pointer-events-none fixed top-0 z-0 size-full bg-
|
|
4125
|
+
className: "pointer-events-none fixed top-0 z-0 size-full bg-background",
|
|
4092
4126
|
children: /* @__PURE__ */ jsxs("svg", {
|
|
4093
4127
|
width: "1858",
|
|
4094
4128
|
height: "1256",
|
|
@@ -4175,15 +4209,15 @@ const HomeBackgroundImage = ({ src } = {}) => {
|
|
|
4175
4209
|
const HomeScreenItem = function HomeScreenItem(props) {
|
|
4176
4210
|
const { icon, title, description, containerClassName, shareable, onClick } = props;
|
|
4177
4211
|
return /* @__PURE__ */ jsxs("div", {
|
|
4178
|
-
className: twMerge("
|
|
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"),
|
|
4179
4213
|
onClick,
|
|
4180
4214
|
children: [
|
|
4181
4215
|
/* @__PURE__ */ jsx("div", {
|
|
4182
4216
|
className: "mx-auto pb-2",
|
|
4183
4217
|
children: icon || /* @__PURE__ */ jsx("div", {
|
|
4184
|
-
className: "size-8 items-center justify-center rounded-lg bg-
|
|
4218
|
+
className: "size-8 items-center justify-center rounded-lg bg-primary pt-1",
|
|
4185
4219
|
children: /* @__PURE__ */ jsx("span", {
|
|
4186
|
-
className: "w-6 text-
|
|
4220
|
+
className: "w-6 text-primary-foreground",
|
|
4187
4221
|
children: title.slice(0, 1).toUpperCase()
|
|
4188
4222
|
})
|
|
4189
4223
|
})
|
|
@@ -4191,10 +4225,10 @@ const HomeScreenItem = function HomeScreenItem(props) {
|
|
|
4191
4225
|
/* @__PURE__ */ jsxs("div", {
|
|
4192
4226
|
className: "w-full max-w-full",
|
|
4193
4227
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
4194
|
-
className: "w-full max-w-full truncate px-2 text-
|
|
4228
|
+
className: "w-full max-w-full truncate px-2 text-foreground",
|
|
4195
4229
|
children: title
|
|
4196
4230
|
}), description && /* @__PURE__ */ jsx("p", {
|
|
4197
|
-
className: "text-
|
|
4231
|
+
className: "text-muted-foreground",
|
|
4198
4232
|
children: description
|
|
4199
4233
|
})]
|
|
4200
4234
|
}),
|
|
@@ -4230,7 +4264,7 @@ const HomeScreen = function HomeScreen(props) {
|
|
|
4230
4264
|
return /* @__PURE__ */ jsx("div", {
|
|
4231
4265
|
className: twMerge("relative container mx-auto flex h-full flex-col", containerClassName),
|
|
4232
4266
|
children: /* @__PURE__ */ jsxs("div", {
|
|
4233
|
-
className: "m-8 flex flex-wrap justify-center gap-4 bg-
|
|
4267
|
+
className: "m-8 flex flex-wrap justify-center gap-4 bg-background pt-12",
|
|
4234
4268
|
children: [/* @__PURE__ */ jsx(HomeBackgroundImage, { src: homeBackground ?? void 0 }), children]
|
|
4235
4269
|
})
|
|
4236
4270
|
});
|
|
@@ -4308,7 +4342,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
|
|
|
4308
4342
|
/* @__PURE__ */ jsx("div", {
|
|
4309
4343
|
className: "flex shrink-0 items-center justify-between",
|
|
4310
4344
|
children: /* @__PURE__ */ jsx("h2", {
|
|
4311
|
-
className: "text-lg font-semibold text-
|
|
4345
|
+
className: "text-lg font-semibold text-foreground",
|
|
4312
4346
|
children: "Integrity Inspector"
|
|
4313
4347
|
})
|
|
4314
4348
|
}),
|
|
@@ -4318,10 +4352,10 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
|
|
|
4318
4352
|
/* @__PURE__ */ jsxs("div", {
|
|
4319
4353
|
className: "flex flex-1 flex-col gap-1",
|
|
4320
4354
|
children: [/* @__PURE__ */ jsx("label", {
|
|
4321
|
-
className: "text-xs font-medium text-
|
|
4355
|
+
className: "text-xs font-medium text-foreground",
|
|
4322
4356
|
children: "Document ID"
|
|
4323
4357
|
}), /* @__PURE__ */ jsx("input", {
|
|
4324
|
-
className: "rounded-sm border border-
|
|
4358
|
+
className: "rounded-sm border border-border px-3 py-1.5 text-sm outline-none focus:border-info",
|
|
4325
4359
|
onChange: (e) => setDocumentId(e.target.value),
|
|
4326
4360
|
placeholder: "Enter document ID",
|
|
4327
4361
|
type: "text",
|
|
@@ -4331,10 +4365,10 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
|
|
|
4331
4365
|
/* @__PURE__ */ jsxs("div", {
|
|
4332
4366
|
className: "flex w-40 flex-col gap-1",
|
|
4333
4367
|
children: [/* @__PURE__ */ jsx("label", {
|
|
4334
|
-
className: "text-xs font-medium text-
|
|
4368
|
+
className: "text-xs font-medium text-foreground",
|
|
4335
4369
|
children: "Branch (optional)"
|
|
4336
4370
|
}), /* @__PURE__ */ jsx("input", {
|
|
4337
|
-
className: "rounded-sm border border-
|
|
4371
|
+
className: "rounded-sm border border-border px-3 py-1.5 text-sm outline-none focus:border-info",
|
|
4338
4372
|
onChange: (e) => setBranch(e.target.value),
|
|
4339
4373
|
placeholder: "main",
|
|
4340
4374
|
type: "text",
|
|
@@ -4345,7 +4379,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
|
|
|
4345
4379
|
className: "flex gap-2",
|
|
4346
4380
|
children: [
|
|
4347
4381
|
/* @__PURE__ */ jsxs("button", {
|
|
4348
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
4349
4383
|
disabled: !documentId.trim() || status === "running" || confirmAction !== null,
|
|
4350
4384
|
onClick: () => void handleValidate(),
|
|
4351
4385
|
type: "button",
|
|
@@ -4355,7 +4389,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
|
|
|
4355
4389
|
}), "Validate"]
|
|
4356
4390
|
}),
|
|
4357
4391
|
/* @__PURE__ */ jsxs("button", {
|
|
4358
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
4359
4393
|
disabled: !documentId.trim() || status === "running" || confirmAction !== null,
|
|
4360
4394
|
onClick: () => setConfirmAction("keyframes"),
|
|
4361
4395
|
type: "button",
|
|
@@ -4365,7 +4399,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
|
|
|
4365
4399
|
}), "Rebuild Keyframes"]
|
|
4366
4400
|
}),
|
|
4367
4401
|
/* @__PURE__ */ jsxs("button", {
|
|
4368
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
4369
4403
|
disabled: !documentId.trim() || status === "running" || confirmAction !== null,
|
|
4370
4404
|
onClick: () => setConfirmAction("snapshots"),
|
|
4371
4405
|
type: "button",
|
|
@@ -4379,14 +4413,14 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
|
|
|
4379
4413
|
]
|
|
4380
4414
|
}),
|
|
4381
4415
|
confirmAction && /* @__PURE__ */ jsxs("div", {
|
|
4382
|
-
className: "flex shrink-0 items-center gap-3 rounded-sm border border-
|
|
4416
|
+
className: "flex shrink-0 items-center gap-3 rounded-sm border border-warning bg-warning/10 px-3 py-2",
|
|
4383
4417
|
children: [
|
|
4384
4418
|
/* @__PURE__ */ jsx("span", {
|
|
4385
|
-
className: "text-sm text-
|
|
4419
|
+
className: "text-sm text-warning",
|
|
4386
4420
|
children: confirmAction === "keyframes" ? "This will delete all keyframes for this document. Continue?" : "This will invalidate all cached snapshots for this document. Continue?"
|
|
4387
4421
|
}),
|
|
4388
4422
|
/* @__PURE__ */ jsx("button", {
|
|
4389
|
-
className: "rounded-sm bg-
|
|
4423
|
+
className: "rounded-sm bg-warning px-3 py-1 text-sm text-warning-foreground hover:hover-effect",
|
|
4390
4424
|
onClick: () => {
|
|
4391
4425
|
if (confirmAction === "keyframes") handleRebuildKeyframes();
|
|
4392
4426
|
else handleRebuildSnapshots();
|
|
@@ -4395,7 +4429,7 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
|
|
|
4395
4429
|
children: "Confirm"
|
|
4396
4430
|
}),
|
|
4397
4431
|
/* @__PURE__ */ jsx("button", {
|
|
4398
|
-
className: "rounded-sm border border-
|
|
4432
|
+
className: "rounded-sm border border-border bg-background px-3 py-1 text-sm text-foreground hover:hover-effect",
|
|
4399
4433
|
onClick: () => setConfirmAction(null),
|
|
4400
4434
|
type: "button",
|
|
4401
4435
|
children: "Cancel"
|
|
@@ -4403,18 +4437,18 @@ function IntegrityInspector({ onValidate, onRebuildKeyframes, onRebuildSnapshots
|
|
|
4403
4437
|
]
|
|
4404
4438
|
}),
|
|
4405
4439
|
/* @__PURE__ */ jsxs("div", {
|
|
4406
|
-
className: "min-h-0 flex-1 overflow-auto rounded-lg border border-
|
|
4440
|
+
className: "min-h-0 flex-1 overflow-auto rounded-lg border border-border p-4",
|
|
4407
4441
|
children: [
|
|
4408
4442
|
status === "idle" && /* @__PURE__ */ jsx("div", {
|
|
4409
|
-
className: "flex h-full items-center justify-center text-sm text-
|
|
4443
|
+
className: "flex h-full items-center justify-center text-sm text-muted-foreground",
|
|
4410
4444
|
children: "Enter a document ID and run an action"
|
|
4411
4445
|
}),
|
|
4412
4446
|
status === "running" && /* @__PURE__ */ jsx("div", {
|
|
4413
|
-
className: "flex h-full items-center justify-center text-sm text-
|
|
4447
|
+
className: "flex h-full items-center justify-center text-sm text-muted-foreground",
|
|
4414
4448
|
children: "Running..."
|
|
4415
4449
|
}),
|
|
4416
4450
|
status === "error" && error && /* @__PURE__ */ jsx("div", {
|
|
4417
|
-
className: "rounded-sm bg-
|
|
4451
|
+
className: "rounded-sm bg-destructive/10 p-3 text-sm text-destructive",
|
|
4418
4452
|
children: error
|
|
4419
4453
|
}),
|
|
4420
4454
|
status === "done" && validationResult && /* @__PURE__ */ jsx(ValidationResultView, { result: validationResult }),
|
|
@@ -4431,67 +4465,67 @@ function ValidationResultView({ result }) {
|
|
|
4431
4465
|
children: [
|
|
4432
4466
|
/* @__PURE__ */ jsxs("div", {
|
|
4433
4467
|
className: "flex items-center gap-2",
|
|
4434
|
-
children: [/* @__PURE__ */ jsx("span", { className: twMerge("size-3 rounded-full", result.isConsistent ? "bg-
|
|
4468
|
+
children: [/* @__PURE__ */ jsx("span", { className: twMerge("size-3 rounded-full", result.isConsistent ? "bg-success" : "bg-destructive") }), /* @__PURE__ */ jsx("span", {
|
|
4435
4469
|
className: "text-sm font-medium",
|
|
4436
4470
|
children: result.isConsistent ? "Document is consistent" : `Found ${totalIssues} issue(s)`
|
|
4437
4471
|
})]
|
|
4438
4472
|
}),
|
|
4439
4473
|
/* @__PURE__ */ jsxs("div", {
|
|
4440
|
-
className: "text-xs text-
|
|
4474
|
+
className: "text-xs text-muted-foreground",
|
|
4441
4475
|
children: ["Document: ", result.documentId]
|
|
4442
4476
|
}),
|
|
4443
4477
|
result.keyframeIssues.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
4444
4478
|
className: "flex flex-col gap-1",
|
|
4445
4479
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
4446
|
-
className: "text-sm font-medium text-
|
|
4480
|
+
className: "text-sm font-medium text-foreground",
|
|
4447
4481
|
children: "Keyframe Issues"
|
|
4448
4482
|
}), /* @__PURE__ */ jsxs("table", {
|
|
4449
4483
|
className: "w-full border-collapse text-xs",
|
|
4450
4484
|
children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", {
|
|
4451
|
-
className: "bg-
|
|
4485
|
+
className: "bg-muted",
|
|
4452
4486
|
children: [
|
|
4453
4487
|
/* @__PURE__ */ jsx("th", {
|
|
4454
|
-
className: "px-2 py-1 text-left font-medium text-
|
|
4488
|
+
className: "px-2 py-1 text-left font-medium text-foreground",
|
|
4455
4489
|
children: "Scope"
|
|
4456
4490
|
}),
|
|
4457
4491
|
/* @__PURE__ */ jsx("th", {
|
|
4458
|
-
className: "border-l border-
|
|
4492
|
+
className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
|
|
4459
4493
|
children: "Branch"
|
|
4460
4494
|
}),
|
|
4461
4495
|
/* @__PURE__ */ jsx("th", {
|
|
4462
|
-
className: "border-l border-
|
|
4496
|
+
className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
|
|
4463
4497
|
children: "Revision"
|
|
4464
4498
|
}),
|
|
4465
4499
|
/* @__PURE__ */ jsx("th", {
|
|
4466
|
-
className: "border-l border-
|
|
4500
|
+
className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
|
|
4467
4501
|
children: "Keyframe Hash"
|
|
4468
4502
|
}),
|
|
4469
4503
|
/* @__PURE__ */ jsx("th", {
|
|
4470
|
-
className: "border-l border-
|
|
4504
|
+
className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
|
|
4471
4505
|
children: "Replayed Hash"
|
|
4472
4506
|
})
|
|
4473
4507
|
]
|
|
4474
4508
|
}) }), /* @__PURE__ */ jsx("tbody", { children: result.keyframeIssues.map((issue, i) => /* @__PURE__ */ jsxs("tr", {
|
|
4475
|
-
className: "odd:bg-
|
|
4509
|
+
className: "odd:bg-card even:bg-background",
|
|
4476
4510
|
children: [
|
|
4477
4511
|
/* @__PURE__ */ jsx("td", {
|
|
4478
4512
|
className: "px-2 py-1",
|
|
4479
4513
|
children: issue.scope
|
|
4480
4514
|
}),
|
|
4481
4515
|
/* @__PURE__ */ jsx("td", {
|
|
4482
|
-
className: "border-l border-
|
|
4516
|
+
className: "border-l border-border px-2 py-1",
|
|
4483
4517
|
children: issue.branch
|
|
4484
4518
|
}),
|
|
4485
4519
|
/* @__PURE__ */ jsx("td", {
|
|
4486
|
-
className: "border-l border-
|
|
4520
|
+
className: "border-l border-border px-2 py-1",
|
|
4487
4521
|
children: issue.revision
|
|
4488
4522
|
}),
|
|
4489
4523
|
/* @__PURE__ */ jsx("td", {
|
|
4490
|
-
className: "border-l border-
|
|
4524
|
+
className: "border-l border-border px-2 py-1 font-mono",
|
|
4491
4525
|
children: issue.keyframeHash
|
|
4492
4526
|
}),
|
|
4493
4527
|
/* @__PURE__ */ jsx("td", {
|
|
4494
|
-
className: "border-l border-
|
|
4528
|
+
className: "border-l border-border px-2 py-1 font-mono",
|
|
4495
4529
|
children: issue.replayedHash
|
|
4496
4530
|
})
|
|
4497
4531
|
]
|
|
@@ -4501,47 +4535,47 @@ function ValidationResultView({ result }) {
|
|
|
4501
4535
|
result.snapshotIssues.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
4502
4536
|
className: "flex flex-col gap-1",
|
|
4503
4537
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
4504
|
-
className: "text-sm font-medium text-
|
|
4538
|
+
className: "text-sm font-medium text-foreground",
|
|
4505
4539
|
children: "Snapshot Issues"
|
|
4506
4540
|
}), /* @__PURE__ */ jsxs("table", {
|
|
4507
4541
|
className: "w-full border-collapse text-xs",
|
|
4508
4542
|
children: [/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", {
|
|
4509
|
-
className: "bg-
|
|
4543
|
+
className: "bg-muted",
|
|
4510
4544
|
children: [
|
|
4511
4545
|
/* @__PURE__ */ jsx("th", {
|
|
4512
|
-
className: "px-2 py-1 text-left font-medium text-
|
|
4546
|
+
className: "px-2 py-1 text-left font-medium text-foreground",
|
|
4513
4547
|
children: "Scope"
|
|
4514
4548
|
}),
|
|
4515
4549
|
/* @__PURE__ */ jsx("th", {
|
|
4516
|
-
className: "border-l border-
|
|
4550
|
+
className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
|
|
4517
4551
|
children: "Branch"
|
|
4518
4552
|
}),
|
|
4519
4553
|
/* @__PURE__ */ jsx("th", {
|
|
4520
|
-
className: "border-l border-
|
|
4554
|
+
className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
|
|
4521
4555
|
children: "Snapshot Hash"
|
|
4522
4556
|
}),
|
|
4523
4557
|
/* @__PURE__ */ jsx("th", {
|
|
4524
|
-
className: "border-l border-
|
|
4558
|
+
className: "border-l border-border px-2 py-1 text-left font-medium text-foreground",
|
|
4525
4559
|
children: "Replayed Hash"
|
|
4526
4560
|
})
|
|
4527
4561
|
]
|
|
4528
4562
|
}) }), /* @__PURE__ */ jsx("tbody", { children: result.snapshotIssues.map((issue, i) => /* @__PURE__ */ jsxs("tr", {
|
|
4529
|
-
className: "odd:bg-
|
|
4563
|
+
className: "odd:bg-card even:bg-background",
|
|
4530
4564
|
children: [
|
|
4531
4565
|
/* @__PURE__ */ jsx("td", {
|
|
4532
4566
|
className: "px-2 py-1",
|
|
4533
4567
|
children: issue.scope
|
|
4534
4568
|
}),
|
|
4535
4569
|
/* @__PURE__ */ jsx("td", {
|
|
4536
|
-
className: "border-l border-
|
|
4570
|
+
className: "border-l border-border px-2 py-1",
|
|
4537
4571
|
children: issue.branch
|
|
4538
4572
|
}),
|
|
4539
4573
|
/* @__PURE__ */ jsx("td", {
|
|
4540
|
-
className: "border-l border-
|
|
4574
|
+
className: "border-l border-border px-2 py-1 font-mono",
|
|
4541
4575
|
children: issue.snapshotHash
|
|
4542
4576
|
}),
|
|
4543
4577
|
/* @__PURE__ */ jsx("td", {
|
|
4544
|
-
className: "border-l border-
|
|
4578
|
+
className: "border-l border-border px-2 py-1 font-mono",
|
|
4545
4579
|
children: issue.replayedHash
|
|
4546
4580
|
})
|
|
4547
4581
|
]
|
|
@@ -4557,21 +4591,21 @@ function RebuildResultView({ result }) {
|
|
|
4557
4591
|
children: [
|
|
4558
4592
|
/* @__PURE__ */ jsxs("div", {
|
|
4559
4593
|
className: "flex items-center gap-2",
|
|
4560
|
-
children: [/* @__PURE__ */ jsx("span", { className: "size-3 rounded-full bg-
|
|
4594
|
+
children: [/* @__PURE__ */ jsx("span", { className: "size-3 rounded-full bg-success" }), /* @__PURE__ */ jsx("span", {
|
|
4561
4595
|
className: "text-sm font-medium",
|
|
4562
4596
|
children: "Rebuild complete"
|
|
4563
4597
|
})]
|
|
4564
4598
|
}),
|
|
4565
4599
|
/* @__PURE__ */ jsxs("div", {
|
|
4566
|
-
className: "text-xs text-
|
|
4600
|
+
className: "text-xs text-muted-foreground",
|
|
4567
4601
|
children: ["Document: ", result.documentId]
|
|
4568
4602
|
}),
|
|
4569
4603
|
result.keyframesDeleted > 0 && /* @__PURE__ */ jsxs("div", {
|
|
4570
|
-
className: "text-sm text-
|
|
4604
|
+
className: "text-sm text-foreground",
|
|
4571
4605
|
children: ["Keyframes deleted: ", result.keyframesDeleted]
|
|
4572
4606
|
}),
|
|
4573
4607
|
result.scopesInvalidated > 0 && /* @__PURE__ */ jsxs("div", {
|
|
4574
|
-
className: "text-sm text-
|
|
4608
|
+
className: "text-sm text-foreground",
|
|
4575
4609
|
children: ["Scopes invalidated: ", result.scopesInvalidated]
|
|
4576
4610
|
})
|
|
4577
4611
|
]
|
|
@@ -4583,7 +4617,7 @@ const LoadingScreen = (props) => {
|
|
|
4583
4617
|
const { showLoadingScreen, loadingComponent, size, className } = props;
|
|
4584
4618
|
if (loadingComponent && showLoadingScreen) return loadingComponent;
|
|
4585
4619
|
return /* @__PURE__ */ jsx("div", {
|
|
4586
|
-
className: twMerge("absolute inset-0 z-10 flex items-center justify-center bg-
|
|
4620
|
+
className: twMerge("absolute inset-0 z-10 flex items-center justify-center bg-background", !showLoadingScreen && "hidden", className),
|
|
4587
4621
|
children: /* @__PURE__ */ jsx(LogoAnimation, { size })
|
|
4588
4622
|
});
|
|
4589
4623
|
};
|
|
@@ -4601,7 +4635,7 @@ function AddDriveModal(props) {
|
|
|
4601
4635
|
open,
|
|
4602
4636
|
children: /* @__PURE__ */ jsx("div", {
|
|
4603
4637
|
...containerProps,
|
|
4604
|
-
className: twMerge("w-102 rounded-2xl bg-
|
|
4638
|
+
className: twMerge("w-102 rounded-2xl bg-background p-6", containerProps?.className),
|
|
4605
4639
|
children: /* @__PURE__ */ jsxs(Tabs, {
|
|
4606
4640
|
defaultValue: "Create Drive",
|
|
4607
4641
|
children: [/* @__PURE__ */ jsx(TabContent, {
|
|
@@ -4660,17 +4694,17 @@ function CreateDocumentModal(props) {
|
|
|
4660
4694
|
...restProps,
|
|
4661
4695
|
children: /* @__PURE__ */ jsxs("form", {
|
|
4662
4696
|
name: "create-document",
|
|
4663
|
-
className: "w-100 rounded-xl bg-
|
|
4697
|
+
className: "w-100 rounded-xl bg-background p-6 text-foreground",
|
|
4664
4698
|
onSubmit: handleSubmit,
|
|
4665
4699
|
children: [
|
|
4666
4700
|
/* @__PURE__ */ jsx("div", {
|
|
4667
|
-
className: "pb-2 text-2xl font-bold text-
|
|
4701
|
+
className: "pb-2 text-2xl font-bold text-foreground",
|
|
4668
4702
|
children: "Create a new document"
|
|
4669
4703
|
}),
|
|
4670
4704
|
/* @__PURE__ */ jsxs("div", {
|
|
4671
4705
|
className: "my-6",
|
|
4672
4706
|
children: [!isValid && nodeName && /* @__PURE__ */ jsx("div", {
|
|
4673
|
-
className: "mb-2 text-
|
|
4707
|
+
className: "mb-2 text-destructive",
|
|
4674
4708
|
children: "Document name must not be empty or contain control characters."
|
|
4675
4709
|
}), /* @__PURE__ */ jsx(FormInput, {
|
|
4676
4710
|
icon: /* @__PURE__ */ jsx(Icon, { name: "BrickGlobe" }),
|
|
@@ -4711,7 +4745,7 @@ const ConnectDeleteDriveModal = (props) => {
|
|
|
4711
4745
|
...confirmationModalProps,
|
|
4712
4746
|
continueDisabled: inputName !== driveName,
|
|
4713
4747
|
body: /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
|
|
4714
|
-
className: "my-6 rounded-md bg-
|
|
4748
|
+
className: "my-6 rounded-md bg-background p-4 text-center",
|
|
4715
4749
|
children: body
|
|
4716
4750
|
}), /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(FormInput, {
|
|
4717
4751
|
hideErrors: true,
|
|
@@ -4754,7 +4788,7 @@ function DeleteDrive(props) {
|
|
|
4754
4788
|
}
|
|
4755
4789
|
return /* @__PURE__ */ jsxs("div", { children: [
|
|
4756
4790
|
/* @__PURE__ */ jsx("p", {
|
|
4757
|
-
className: "mb-2 rounded-md bg-
|
|
4791
|
+
className: "mb-2 rounded-md bg-background p-4 text-center text-foreground",
|
|
4758
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?"
|
|
4759
4793
|
}),
|
|
4760
4794
|
/* @__PURE__ */ jsx(DriveNameInput, {
|
|
@@ -4822,19 +4856,19 @@ function DriveSettingsForm(props) {
|
|
|
4822
4856
|
title: "About this drive",
|
|
4823
4857
|
children: [
|
|
4824
4858
|
systemInfo.status === "local" && /* @__PURE__ */ jsx("p", {
|
|
4825
|
-
className: "py-2 text-sm text-
|
|
4859
|
+
className: "py-2 text-sm text-muted-foreground",
|
|
4826
4860
|
children: "Local drive — N/A"
|
|
4827
4861
|
}),
|
|
4828
4862
|
systemInfo.status === "loading" && /* @__PURE__ */ jsx("p", {
|
|
4829
|
-
className: "py-2 text-sm text-
|
|
4863
|
+
className: "py-2 text-sm text-muted-foreground",
|
|
4830
4864
|
children: "Loading…"
|
|
4831
4865
|
}),
|
|
4832
4866
|
systemInfo.status === "error" && /* @__PURE__ */ jsx("p", {
|
|
4833
|
-
className: "py-2 text-sm text-
|
|
4867
|
+
className: "py-2 text-sm text-destructive",
|
|
4834
4868
|
children: "Could not load system info"
|
|
4835
4869
|
}),
|
|
4836
4870
|
systemInfo.status === "ready" && /* @__PURE__ */ jsxs("div", {
|
|
4837
|
-
className: "py-2 text-sm text-
|
|
4871
|
+
className: "py-2 text-sm text-foreground",
|
|
4838
4872
|
children: [/* @__PURE__ */ jsxs("div", { children: [
|
|
4839
4873
|
/* @__PURE__ */ jsx("span", {
|
|
4840
4874
|
className: "font-medium",
|
|
@@ -4859,7 +4893,7 @@ function DriveSettingsForm(props) {
|
|
|
4859
4893
|
onOpenChange: () => setShowDangerZone(!showDangerZone),
|
|
4860
4894
|
title: "Danger zone",
|
|
4861
4895
|
children: /* @__PURE__ */ jsxs("button", {
|
|
4862
|
-
className: "flex gap-2 py-3 font-semibold text-
|
|
4896
|
+
className: "flex gap-2 py-3 font-semibold text-destructive transition hover:hover-effect",
|
|
4863
4897
|
onClick: () => setShowDeleteDrive(true),
|
|
4864
4898
|
type: "button",
|
|
4865
4899
|
children: [/* @__PURE__ */ jsx(Icon, { name: "Trash" }), "Delete drive"]
|
|
@@ -4901,15 +4935,15 @@ function DriveSettingsModal(props) {
|
|
|
4901
4935
|
open,
|
|
4902
4936
|
children: /* @__PURE__ */ jsxs("div", {
|
|
4903
4937
|
...containerProps,
|
|
4904
|
-
className: twMerge("max-w-[408px] rounded-2xl bg-
|
|
4938
|
+
className: twMerge("max-w-[408px] rounded-2xl bg-background p-6", containerProps?.className),
|
|
4905
4939
|
children: [
|
|
4906
4940
|
/* @__PURE__ */ jsxs("div", {
|
|
4907
4941
|
className: "flex justify-between",
|
|
4908
4942
|
children: [/* @__PURE__ */ jsx("h1", {
|
|
4909
|
-
className: "text-xl font-bold text-
|
|
4943
|
+
className: "text-xl font-bold text-foreground",
|
|
4910
4944
|
children: "Drive settings"
|
|
4911
4945
|
}), /* @__PURE__ */ jsx("button", {
|
|
4912
|
-
className: "flex size-8 items-center justify-center rounded-md bg-
|
|
4946
|
+
className: "flex size-8 items-center justify-center rounded-md bg-muted text-muted-foreground outline-none hover:hover-effect",
|
|
4913
4947
|
onClick: handleCancel,
|
|
4914
4948
|
tabIndex: -1,
|
|
4915
4949
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
@@ -4964,14 +4998,14 @@ function ObjectInspectorModal({ open, onOpenChange, title, object }) {
|
|
|
4964
4998
|
open,
|
|
4965
4999
|
title,
|
|
4966
5000
|
children: /* @__PURE__ */ jsxs("div", {
|
|
4967
|
-
className: "flex size-full flex-col bg-
|
|
5001
|
+
className: "flex size-full flex-col bg-background",
|
|
4968
5002
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
4969
|
-
className: "flex shrink-0 items-center justify-between border-b border-
|
|
5003
|
+
className: "flex shrink-0 items-center justify-between border-b border-border px-4 py-3",
|
|
4970
5004
|
children: [/* @__PURE__ */ jsx("h2", {
|
|
4971
|
-
className: "text-lg font-semibold text-
|
|
5005
|
+
className: "text-lg font-semibold text-foreground",
|
|
4972
5006
|
children: title
|
|
4973
5007
|
}), /* @__PURE__ */ jsx("button", {
|
|
4974
|
-
className: "flex size-6 cursor-pointer items-center justify-center rounded-md text-
|
|
5008
|
+
className: "flex size-6 cursor-pointer items-center justify-center rounded-md text-muted-foreground outline-none hover:hover-effect",
|
|
4975
5009
|
onClick: () => onOpenChange(false),
|
|
4976
5010
|
type: "button",
|
|
4977
5011
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
@@ -4982,7 +5016,7 @@ function ObjectInspectorModal({ open, onOpenChange, title, object }) {
|
|
|
4982
5016
|
}), /* @__PURE__ */ jsx("div", {
|
|
4983
5017
|
className: "flex-1 overflow-auto p-4",
|
|
4984
5018
|
children: serializableObject ? /* @__PURE__ */ jsx(JsonViewer, { data: serializableObject }) : /* @__PURE__ */ jsx("p", {
|
|
4985
|
-
className: "text-
|
|
5019
|
+
className: "text-muted-foreground",
|
|
4986
5020
|
children: "No data to display"
|
|
4987
5021
|
})
|
|
4988
5022
|
})]
|
|
@@ -5146,12 +5180,12 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
|
|
|
5146
5180
|
/* @__PURE__ */ jsxs("div", {
|
|
5147
5181
|
className: "flex shrink-0 items-center justify-between",
|
|
5148
5182
|
children: [/* @__PURE__ */ jsx("h2", {
|
|
5149
|
-
className: "text-lg font-semibold text-
|
|
5183
|
+
className: "text-lg font-semibold text-foreground",
|
|
5150
5184
|
children: "Processors Inspector"
|
|
5151
5185
|
}), /* @__PURE__ */ jsx("div", {
|
|
5152
5186
|
className: "flex items-center gap-2",
|
|
5153
5187
|
children: /* @__PURE__ */ jsxs("button", {
|
|
5154
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
5155
5189
|
disabled: loading,
|
|
5156
5190
|
onClick: () => void handleRefresh(),
|
|
5157
5191
|
type: "button",
|
|
@@ -5163,19 +5197,19 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
|
|
|
5163
5197
|
})]
|
|
5164
5198
|
}),
|
|
5165
5199
|
/* @__PURE__ */ jsxs("div", {
|
|
5166
|
-
className: "flex shrink-0 items-center gap-4 rounded-lg bg-
|
|
5200
|
+
className: "flex shrink-0 items-center gap-4 rounded-lg bg-muted px-4 py-2 text-sm",
|
|
5167
5201
|
children: [
|
|
5168
5202
|
/* @__PURE__ */ jsxs("div", {
|
|
5169
|
-
className: "text-
|
|
5203
|
+
className: "text-foreground",
|
|
5170
5204
|
children: ["Total: ", /* @__PURE__ */ jsx("span", {
|
|
5171
5205
|
className: "font-medium",
|
|
5172
5206
|
children: processors.length
|
|
5173
5207
|
})]
|
|
5174
5208
|
}),
|
|
5175
5209
|
/* @__PURE__ */ jsxs("div", {
|
|
5176
|
-
className: "flex items-center gap-2 text-
|
|
5210
|
+
className: "flex items-center gap-2 text-foreground",
|
|
5177
5211
|
children: [
|
|
5178
|
-
/* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-
|
|
5212
|
+
/* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-success" }),
|
|
5179
5213
|
"Active: ",
|
|
5180
5214
|
/* @__PURE__ */ jsx("span", {
|
|
5181
5215
|
className: "font-medium",
|
|
@@ -5184,9 +5218,9 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
|
|
|
5184
5218
|
]
|
|
5185
5219
|
}),
|
|
5186
5220
|
/* @__PURE__ */ jsxs("div", {
|
|
5187
|
-
className: "flex items-center gap-2 text-
|
|
5221
|
+
className: "flex items-center gap-2 text-foreground",
|
|
5188
5222
|
children: [
|
|
5189
|
-
/* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-
|
|
5223
|
+
/* @__PURE__ */ jsx("span", { className: "size-2 rounded-full bg-destructive" }),
|
|
5190
5224
|
"Errored: ",
|
|
5191
5225
|
/* @__PURE__ */ jsx("span", {
|
|
5192
5226
|
className: "font-medium",
|
|
@@ -5197,20 +5231,20 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
|
|
|
5197
5231
|
]
|
|
5198
5232
|
}),
|
|
5199
5233
|
error && /* @__PURE__ */ jsxs("div", {
|
|
5200
|
-
className: "shrink-0 rounded-lg border border-
|
|
5234
|
+
className: "shrink-0 rounded-lg border border-destructive bg-destructive/10 px-4 py-2 text-sm text-destructive",
|
|
5201
5235
|
children: ["Failed to load processors: ", error]
|
|
5202
5236
|
}),
|
|
5203
5237
|
/* @__PURE__ */ jsx("div", {
|
|
5204
|
-
className: "max-h-full overflow-auto rounded-lg border border-
|
|
5238
|
+
className: "max-h-full overflow-auto rounded-lg border border-border",
|
|
5205
5239
|
children: /* @__PURE__ */ jsxs("table", {
|
|
5206
5240
|
className: "w-full border-collapse",
|
|
5207
5241
|
children: [/* @__PURE__ */ jsx("thead", {
|
|
5208
|
-
className: "sticky top-0 bg-
|
|
5242
|
+
className: "sticky top-0 bg-muted",
|
|
5209
5243
|
children: /* @__PURE__ */ jsx("tr", { children: COLUMNS$2.map((column, index) => {
|
|
5210
5244
|
const isActive = sort?.column === column.key;
|
|
5211
5245
|
const sortDirection = isActive ? sort.direction : "asc";
|
|
5212
5246
|
return /* @__PURE__ */ jsx("th", {
|
|
5213
|
-
className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-
|
|
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"),
|
|
5214
5248
|
onClick: () => handleSort(column.key),
|
|
5215
5249
|
style: { width: column.width },
|
|
5216
5250
|
children: /* @__PURE__ */ jsxs("div", {
|
|
@@ -5226,38 +5260,38 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
|
|
|
5226
5260
|
}, column.key);
|
|
5227
5261
|
}) })
|
|
5228
5262
|
}), /* @__PURE__ */ jsx("tbody", { children: loading && sortedProcessors.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
5229
|
-
className: "px-3 py-8 text-center text-sm text-
|
|
5263
|
+
className: "px-3 py-8 text-center text-sm text-muted-foreground",
|
|
5230
5264
|
colSpan: COLUMNS$2.length,
|
|
5231
5265
|
children: "Loading..."
|
|
5232
5266
|
}) }) : sortedProcessors.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
5233
|
-
className: "px-3 py-8 text-center text-sm text-
|
|
5267
|
+
className: "px-3 py-8 text-center text-sm text-muted-foreground",
|
|
5234
5268
|
colSpan: COLUMNS$2.length,
|
|
5235
5269
|
children: "No processors registered"
|
|
5236
5270
|
}) }) : sortedProcessors.map((processor) => /* @__PURE__ */ jsxs("tr", {
|
|
5237
|
-
className: twMerge("hover:
|
|
5271
|
+
className: twMerge("hover:hover-effect", processor.status === "errored" ? "bg-destructive/10" : "odd:bg-card even:bg-background"),
|
|
5238
5272
|
children: [
|
|
5239
5273
|
/* @__PURE__ */ jsx("td", {
|
|
5240
5274
|
className: "px-3 py-2 text-xs",
|
|
5241
5275
|
children: /* @__PURE__ */ jsx("button", {
|
|
5242
|
-
className: "flex items-center gap-1 rounded-sm bg-
|
|
5276
|
+
className: "flex items-center gap-1 rounded-sm bg-info/10 px-2 py-1 text-xs text-info hover:hover-effect",
|
|
5243
5277
|
onClick: () => setSelectedProcessor(processor),
|
|
5244
5278
|
type: "button",
|
|
5245
5279
|
children: "View"
|
|
5246
5280
|
})
|
|
5247
5281
|
}),
|
|
5248
5282
|
/* @__PURE__ */ jsx("td", {
|
|
5249
|
-
className: "border-l border-
|
|
5283
|
+
className: "border-l border-border px-3 py-2 text-xs",
|
|
5250
5284
|
children: /* @__PURE__ */ jsxs("span", {
|
|
5251
|
-
className: twMerge("inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5", processor.status === "active" ? "bg-
|
|
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"),
|
|
5252
5286
|
children: [
|
|
5253
|
-
processor.status === "active" && /* @__PURE__ */ jsx("span", { className: "inline-block size-1.5 rounded-full bg-
|
|
5254
|
-
processor.status === "errored" && /* @__PURE__ */ jsx("span", { className: "inline-block size-1.5 rounded-full bg-
|
|
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" }),
|
|
5255
5289
|
processor.status
|
|
5256
5290
|
]
|
|
5257
5291
|
})
|
|
5258
5292
|
}),
|
|
5259
5293
|
/* @__PURE__ */ jsx("td", {
|
|
5260
|
-
className: "border-l border-
|
|
5294
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5261
5295
|
children: /* @__PURE__ */ jsx("span", {
|
|
5262
5296
|
className: "block truncate",
|
|
5263
5297
|
title: processor.processorId,
|
|
@@ -5265,7 +5299,7 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
|
|
|
5265
5299
|
})
|
|
5266
5300
|
}),
|
|
5267
5301
|
/* @__PURE__ */ jsx("td", {
|
|
5268
|
-
className: "border-l border-
|
|
5302
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5269
5303
|
children: /* @__PURE__ */ jsx("span", {
|
|
5270
5304
|
className: "block truncate",
|
|
5271
5305
|
title: processor.factoryId,
|
|
@@ -5273,7 +5307,7 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
|
|
|
5273
5307
|
})
|
|
5274
5308
|
}),
|
|
5275
5309
|
/* @__PURE__ */ jsx("td", {
|
|
5276
|
-
className: "border-l border-
|
|
5310
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5277
5311
|
children: /* @__PURE__ */ jsx("span", {
|
|
5278
5312
|
className: "block truncate",
|
|
5279
5313
|
title: processor.driveId,
|
|
@@ -5281,39 +5315,39 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
|
|
|
5281
5315
|
})
|
|
5282
5316
|
}),
|
|
5283
5317
|
/* @__PURE__ */ jsx("td", {
|
|
5284
|
-
className: "border-l border-
|
|
5318
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5285
5319
|
children: processor.processorIndex
|
|
5286
5320
|
}),
|
|
5287
5321
|
/* @__PURE__ */ jsx("td", {
|
|
5288
|
-
className: "border-l border-
|
|
5322
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5289
5323
|
children: processor.lastOrdinal
|
|
5290
5324
|
}),
|
|
5291
5325
|
/* @__PURE__ */ jsx("td", {
|
|
5292
|
-
className: "border-l border-
|
|
5326
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5293
5327
|
children: processor.lastError ? /* @__PURE__ */ jsx("span", {
|
|
5294
|
-
className: "block truncate text-
|
|
5328
|
+
className: "block truncate text-destructive",
|
|
5295
5329
|
title: processor.lastError,
|
|
5296
5330
|
children: processor.lastError
|
|
5297
5331
|
}) : /* @__PURE__ */ jsx("span", {
|
|
5298
|
-
className: "text-
|
|
5332
|
+
className: "text-muted-foreground",
|
|
5299
5333
|
children: "-"
|
|
5300
5334
|
})
|
|
5301
5335
|
}),
|
|
5302
5336
|
/* @__PURE__ */ jsx("td", {
|
|
5303
|
-
className: "border-l border-
|
|
5337
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5304
5338
|
children: processor.lastErrorTimestamp ? /* @__PURE__ */ jsx("span", {
|
|
5305
5339
|
className: "block truncate",
|
|
5306
5340
|
title: processor.lastErrorTimestamp.toISOString(),
|
|
5307
5341
|
children: processor.lastErrorTimestamp.toLocaleString()
|
|
5308
5342
|
}) : /* @__PURE__ */ jsx("span", {
|
|
5309
|
-
className: "text-
|
|
5343
|
+
className: "text-muted-foreground",
|
|
5310
5344
|
children: "-"
|
|
5311
5345
|
})
|
|
5312
5346
|
}),
|
|
5313
5347
|
/* @__PURE__ */ jsx("td", {
|
|
5314
|
-
className: "border-l border-
|
|
5348
|
+
className: "border-l border-border px-3 py-2 text-xs",
|
|
5315
5349
|
children: processor.status === "errored" && onRetry && /* @__PURE__ */ jsx("button", {
|
|
5316
|
-
className: "flex items-center gap-1 rounded-sm bg-
|
|
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",
|
|
5317
5351
|
disabled: retryingId === processor.processorId,
|
|
5318
5352
|
onClick: () => void handleRetry(processor.processorId),
|
|
5319
5353
|
type: "button",
|
|
@@ -5325,7 +5359,7 @@ function ProcessorsInspector({ getProcessors, onRetry }) {
|
|
|
5325
5359
|
})
|
|
5326
5360
|
}),
|
|
5327
5361
|
/* @__PURE__ */ jsxs("div", {
|
|
5328
|
-
className: "shrink-0 text-sm text-
|
|
5362
|
+
className: "shrink-0 text-sm text-foreground",
|
|
5329
5363
|
children: [
|
|
5330
5364
|
"Showing ",
|
|
5331
5365
|
sortedProcessors.length,
|
|
@@ -5501,12 +5535,12 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5501
5535
|
/* @__PURE__ */ jsxs("div", {
|
|
5502
5536
|
className: "flex shrink-0 items-center justify-between",
|
|
5503
5537
|
children: [/* @__PURE__ */ jsx("h2", {
|
|
5504
|
-
className: "text-lg font-semibold text-
|
|
5538
|
+
className: "text-lg font-semibold text-foreground",
|
|
5505
5539
|
children: "Queue Inspector"
|
|
5506
5540
|
}), /* @__PURE__ */ jsxs("div", {
|
|
5507
5541
|
className: "flex items-center gap-2",
|
|
5508
5542
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
5509
|
-
className: twMerge("flex items-center gap-1 rounded-sm border px-3 py-1.5 text-sm disabled:
|
|
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"),
|
|
5510
5544
|
disabled: actionInProgress,
|
|
5511
5545
|
onClick: () => void handlePauseResume(),
|
|
5512
5546
|
type: "button",
|
|
@@ -5515,7 +5549,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5515
5549
|
size: 14
|
|
5516
5550
|
}), state.isPaused ? "Resume" : "Pause"]
|
|
5517
5551
|
}), /* @__PURE__ */ jsxs("button", {
|
|
5518
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
5519
5553
|
disabled: loading,
|
|
5520
5554
|
onClick: () => void handleRefresh(),
|
|
5521
5555
|
type: "button",
|
|
@@ -5527,24 +5561,24 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5527
5561
|
})]
|
|
5528
5562
|
}),
|
|
5529
5563
|
/* @__PURE__ */ jsxs("div", {
|
|
5530
|
-
className: "flex shrink-0 items-center gap-4 rounded-lg bg-
|
|
5564
|
+
className: "flex shrink-0 items-center gap-4 rounded-lg bg-muted px-4 py-2 text-sm",
|
|
5531
5565
|
children: [
|
|
5532
5566
|
/* @__PURE__ */ jsxs("div", {
|
|
5533
5567
|
className: "flex items-center gap-2",
|
|
5534
|
-
children: [/* @__PURE__ */ jsx("span", { className: twMerge("size-2 rounded-full", state.isPaused ? "bg-
|
|
5535
|
-
className: "font-medium text-
|
|
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",
|
|
5536
5570
|
children: state.isPaused ? "Paused" : "Running"
|
|
5537
5571
|
})]
|
|
5538
5572
|
}),
|
|
5539
5573
|
/* @__PURE__ */ jsxs("div", {
|
|
5540
|
-
className: "text-
|
|
5574
|
+
className: "text-foreground",
|
|
5541
5575
|
children: ["Pending: ", /* @__PURE__ */ jsx("span", {
|
|
5542
5576
|
className: "font-medium",
|
|
5543
5577
|
children: state.totalPending
|
|
5544
5578
|
})]
|
|
5545
5579
|
}),
|
|
5546
5580
|
/* @__PURE__ */ jsxs("div", {
|
|
5547
|
-
className: "text-
|
|
5581
|
+
className: "text-foreground",
|
|
5548
5582
|
children: ["Executing: ", /* @__PURE__ */ jsx("span", {
|
|
5549
5583
|
className: "font-medium",
|
|
5550
5584
|
children: state.totalExecuting
|
|
@@ -5553,16 +5587,16 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5553
5587
|
]
|
|
5554
5588
|
}),
|
|
5555
5589
|
/* @__PURE__ */ jsx("div", {
|
|
5556
|
-
className: "max-h-full overflow-auto rounded-lg border border-
|
|
5590
|
+
className: "max-h-full overflow-auto rounded-lg border border-border",
|
|
5557
5591
|
children: /* @__PURE__ */ jsxs("table", {
|
|
5558
5592
|
className: "w-full border-collapse",
|
|
5559
5593
|
children: [/* @__PURE__ */ jsx("thead", {
|
|
5560
|
-
className: "sticky top-0 bg-
|
|
5594
|
+
className: "sticky top-0 bg-muted",
|
|
5561
5595
|
children: /* @__PURE__ */ jsx("tr", { children: COLUMNS$1.map((column, index) => {
|
|
5562
5596
|
const isActive = sort?.column === column.key;
|
|
5563
5597
|
const sortDirection = isActive ? sort.direction : "asc";
|
|
5564
5598
|
return /* @__PURE__ */ jsx("th", {
|
|
5565
|
-
className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-
|
|
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"),
|
|
5566
5600
|
onClick: () => handleSort(column.key),
|
|
5567
5601
|
style: { width: column.width },
|
|
5568
5602
|
children: /* @__PURE__ */ jsxs("div", {
|
|
@@ -5578,27 +5612,27 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5578
5612
|
}, column.key);
|
|
5579
5613
|
}) })
|
|
5580
5614
|
}), /* @__PURE__ */ jsx("tbody", { children: loading && sortedJobs.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
5581
|
-
className: "px-3 py-8 text-center text-sm text-
|
|
5615
|
+
className: "px-3 py-8 text-center text-sm text-muted-foreground",
|
|
5582
5616
|
colSpan: COLUMNS$1.length,
|
|
5583
5617
|
children: "Loading..."
|
|
5584
5618
|
}) }) : sortedJobs.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
5585
|
-
className: "px-3 py-8 text-center text-sm text-
|
|
5619
|
+
className: "px-3 py-8 text-center text-sm text-muted-foreground",
|
|
5586
5620
|
colSpan: COLUMNS$1.length,
|
|
5587
5621
|
children: "No jobs in queue"
|
|
5588
5622
|
}) }) : sortedJobs.map((job) => /* @__PURE__ */ jsxs("tr", {
|
|
5589
|
-
className: "odd:bg-
|
|
5623
|
+
className: "odd:bg-card even:bg-background hover:hover-effect",
|
|
5590
5624
|
children: [
|
|
5591
5625
|
/* @__PURE__ */ jsx("td", {
|
|
5592
5626
|
className: "px-3 py-2 text-xs",
|
|
5593
5627
|
children: /* @__PURE__ */ jsx("button", {
|
|
5594
|
-
className: "flex items-center gap-1 rounded-sm bg-
|
|
5628
|
+
className: "flex items-center gap-1 rounded-sm bg-info/10 px-2 py-1 text-xs text-info hover:hover-effect",
|
|
5595
5629
|
onClick: () => setSelectedJob(job),
|
|
5596
5630
|
type: "button",
|
|
5597
5631
|
children: "View"
|
|
5598
5632
|
})
|
|
5599
5633
|
}),
|
|
5600
5634
|
/* @__PURE__ */ jsx("td", {
|
|
5601
|
-
className: "border-l border-
|
|
5635
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5602
5636
|
children: /* @__PURE__ */ jsx("span", {
|
|
5603
5637
|
className: "block truncate",
|
|
5604
5638
|
title: job.id,
|
|
@@ -5606,14 +5640,14 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5606
5640
|
})
|
|
5607
5641
|
}),
|
|
5608
5642
|
/* @__PURE__ */ jsx("td", {
|
|
5609
|
-
className: "border-l border-
|
|
5643
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5610
5644
|
children: /* @__PURE__ */ jsx("span", {
|
|
5611
|
-
className: twMerge("inline-block rounded-sm px-1.5 py-0.5", job.kind === "mutation" ? "bg-
|
|
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"),
|
|
5612
5646
|
children: job.kind
|
|
5613
5647
|
})
|
|
5614
5648
|
}),
|
|
5615
5649
|
/* @__PURE__ */ jsx("td", {
|
|
5616
|
-
className: "border-l border-
|
|
5650
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5617
5651
|
children: /* @__PURE__ */ jsx("span", {
|
|
5618
5652
|
className: "block truncate",
|
|
5619
5653
|
title: job.documentId,
|
|
@@ -5621,7 +5655,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5621
5655
|
})
|
|
5622
5656
|
}),
|
|
5623
5657
|
/* @__PURE__ */ jsx("td", {
|
|
5624
|
-
className: "border-l border-
|
|
5658
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5625
5659
|
children: /* @__PURE__ */ jsx("span", {
|
|
5626
5660
|
className: "block truncate",
|
|
5627
5661
|
title: job.scope,
|
|
@@ -5629,7 +5663,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5629
5663
|
})
|
|
5630
5664
|
}),
|
|
5631
5665
|
/* @__PURE__ */ jsx("td", {
|
|
5632
|
-
className: "border-l border-
|
|
5666
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5633
5667
|
children: /* @__PURE__ */ jsx("span", {
|
|
5634
5668
|
className: "block truncate",
|
|
5635
5669
|
title: job.branch,
|
|
@@ -5637,7 +5671,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5637
5671
|
})
|
|
5638
5672
|
}),
|
|
5639
5673
|
/* @__PURE__ */ jsx("td", {
|
|
5640
|
-
className: "border-l border-
|
|
5674
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5641
5675
|
children: /* @__PURE__ */ jsx("span", {
|
|
5642
5676
|
className: "block truncate",
|
|
5643
5677
|
title: job.createdAt,
|
|
@@ -5645,14 +5679,14 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5645
5679
|
})
|
|
5646
5680
|
}),
|
|
5647
5681
|
/* @__PURE__ */ jsx("td", {
|
|
5648
|
-
className: "border-l border-
|
|
5682
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5649
5683
|
children: job.retryCount ?? 0
|
|
5650
5684
|
}),
|
|
5651
5685
|
/* @__PURE__ */ jsx("td", {
|
|
5652
|
-
className: "border-l border-
|
|
5686
|
+
className: "border-l border-border px-3 py-2 text-xs",
|
|
5653
5687
|
children: /* @__PURE__ */ jsxs("span", {
|
|
5654
|
-
className: twMerge("inline-flex items-center gap-1 rounded-sm px-1.5 py-0.5", job.status === "executing" ? "bg-
|
|
5655
|
-
children: [job.status === "executing" && /* @__PURE__ */ jsx("span", { className: "inline-block size-1.5 animate-pulse rounded-full bg-
|
|
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]
|
|
5656
5690
|
})
|
|
5657
5691
|
})
|
|
5658
5692
|
]
|
|
@@ -5660,7 +5694,7 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5660
5694
|
})
|
|
5661
5695
|
}),
|
|
5662
5696
|
/* @__PURE__ */ jsxs("div", {
|
|
5663
|
-
className: "shrink-0 text-sm text-
|
|
5697
|
+
className: "shrink-0 text-sm text-foreground",
|
|
5664
5698
|
children: [
|
|
5665
5699
|
"Showing ",
|
|
5666
5700
|
sortedJobs.length,
|
|
@@ -5679,15 +5713,15 @@ function QueueInspector({ getQueueState, onPause, onResume }) {
|
|
|
5679
5713
|
//#endregion
|
|
5680
5714
|
//#region src/connect/components/remotes-inspector/components/connection-state-badge.tsx
|
|
5681
5715
|
const stateStyles = {
|
|
5682
|
-
connected: "bg-
|
|
5683
|
-
connecting: "bg-
|
|
5684
|
-
reconnecting: "bg-
|
|
5685
|
-
error: "bg-
|
|
5686
|
-
disconnected: "bg-
|
|
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"
|
|
5687
5721
|
};
|
|
5688
5722
|
function ConnectionStateBadge({ state, failureCount }) {
|
|
5689
5723
|
return /* @__PURE__ */ jsxs("span", {
|
|
5690
|
-
className: twMerge("inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-medium", stateStyles[state] ?? "bg-
|
|
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"),
|
|
5691
5725
|
children: [state, failureCount > 0 && /* @__PURE__ */ jsxs("span", {
|
|
5692
5726
|
className: "text-xs opacity-75",
|
|
5693
5727
|
children: [
|
|
@@ -5857,7 +5891,7 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
|
|
|
5857
5891
|
/* @__PURE__ */ jsxs("div", {
|
|
5858
5892
|
className: "flex items-center justify-between",
|
|
5859
5893
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
5860
|
-
className: "flex items-center gap-2 text-left text-sm font-medium text-
|
|
5894
|
+
className: "flex items-center gap-2 text-left text-sm font-medium text-foreground hover:hover-effect",
|
|
5861
5895
|
onClick: onToggleCollapse,
|
|
5862
5896
|
type: "button",
|
|
5863
5897
|
children: [
|
|
@@ -5874,7 +5908,7 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
|
|
|
5874
5908
|
")"
|
|
5875
5909
|
]
|
|
5876
5910
|
}), operations.length > 0 && /* @__PURE__ */ jsxs("button", {
|
|
5877
|
-
className: "flex items-center gap-1 rounded-sm bg-
|
|
5911
|
+
className: "flex items-center gap-1 rounded-sm bg-muted px-2 py-1 text-xs text-foreground hover:hover-effect",
|
|
5878
5912
|
onClick: () => void handleCopyAll(),
|
|
5879
5913
|
type: "button",
|
|
5880
5914
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
@@ -5884,16 +5918,16 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
|
|
|
5884
5918
|
})]
|
|
5885
5919
|
}),
|
|
5886
5920
|
!collapsed && /* @__PURE__ */ jsx("div", {
|
|
5887
|
-
className: "scrollbar-thin overflow-auto rounded-lg border border-
|
|
5921
|
+
className: "scrollbar-thin overflow-auto rounded-lg border border-border scrollbar-thumb-border scrollbar-thumb-rounded-md scrollbar-track-transparent",
|
|
5888
5922
|
children: /* @__PURE__ */ jsxs("table", {
|
|
5889
5923
|
className: "w-full border-collapse",
|
|
5890
5924
|
children: [/* @__PURE__ */ jsx("thead", {
|
|
5891
|
-
className: "sticky top-0 bg-
|
|
5925
|
+
className: "sticky top-0 bg-muted",
|
|
5892
5926
|
children: /* @__PURE__ */ jsx("tr", { children: columns.map((column, index) => {
|
|
5893
5927
|
const isActive = sort?.column === column.key;
|
|
5894
5928
|
const sortDirection = isActive ? sort.direction : "asc";
|
|
5895
5929
|
return /* @__PURE__ */ jsx("th", {
|
|
5896
|
-
className: twMerge("group cursor-pointer px-3 py-2 text-left text-xs font-medium text-
|
|
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"),
|
|
5897
5931
|
onClick: () => handleSort(column.key),
|
|
5898
5932
|
style: { width: column.width },
|
|
5899
5933
|
children: /* @__PURE__ */ jsxs("div", {
|
|
@@ -5909,23 +5943,23 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
|
|
|
5909
5943
|
}, column.key);
|
|
5910
5944
|
}) })
|
|
5911
5945
|
}), /* @__PURE__ */ jsx("tbody", { children: sortedOps.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
5912
|
-
className: "px-3 py-4 text-center text-sm text-
|
|
5946
|
+
className: "px-3 py-4 text-center text-sm text-muted-foreground",
|
|
5913
5947
|
colSpan: columns.length,
|
|
5914
5948
|
children: "No operations"
|
|
5915
5949
|
}) }) : sortedOps.map((op) => /* @__PURE__ */ jsxs("tr", {
|
|
5916
|
-
className: "odd:bg-
|
|
5950
|
+
className: "odd:bg-card even:bg-background hover:hover-effect",
|
|
5917
5951
|
children: [
|
|
5918
5952
|
/* @__PURE__ */ jsx("td", {
|
|
5919
5953
|
className: "px-3 py-2 text-xs",
|
|
5920
5954
|
children: /* @__PURE__ */ jsx("button", {
|
|
5921
|
-
className: "flex items-center gap-1 rounded-sm bg-
|
|
5955
|
+
className: "flex items-center gap-1 rounded-sm bg-info/10 px-2 py-1 text-xs text-info hover:hover-effect",
|
|
5922
5956
|
onClick: () => setSelectedOperation(op),
|
|
5923
5957
|
type: "button",
|
|
5924
5958
|
children: "View"
|
|
5925
5959
|
})
|
|
5926
5960
|
}),
|
|
5927
5961
|
/* @__PURE__ */ jsx("td", {
|
|
5928
|
-
className: "border-l border-
|
|
5962
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5929
5963
|
children: /* @__PURE__ */ jsx("span", {
|
|
5930
5964
|
className: "block truncate",
|
|
5931
5965
|
title: op.documentId,
|
|
@@ -5933,7 +5967,7 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
|
|
|
5933
5967
|
})
|
|
5934
5968
|
}),
|
|
5935
5969
|
/* @__PURE__ */ jsx("td", {
|
|
5936
|
-
className: "border-l border-
|
|
5970
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5937
5971
|
children: /* @__PURE__ */ jsx("span", {
|
|
5938
5972
|
className: "block truncate",
|
|
5939
5973
|
title: op.branch,
|
|
@@ -5941,7 +5975,7 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
|
|
|
5941
5975
|
})
|
|
5942
5976
|
}),
|
|
5943
5977
|
/* @__PURE__ */ jsx("td", {
|
|
5944
|
-
className: "border-l border-
|
|
5978
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5945
5979
|
children: /* @__PURE__ */ jsx("span", {
|
|
5946
5980
|
className: "block truncate",
|
|
5947
5981
|
title: op.scopes.join(", "),
|
|
@@ -5949,20 +5983,20 @@ function MailboxTable({ title, mailboxType, operations, sort, onSort, collapsed,
|
|
|
5949
5983
|
})
|
|
5950
5984
|
}),
|
|
5951
5985
|
mailboxType === "deadLetter" ? /* @__PURE__ */ jsx("td", {
|
|
5952
|
-
className: "border-l border-
|
|
5986
|
+
className: "border-l border-border px-3 py-2 text-xs",
|
|
5953
5987
|
children: /* @__PURE__ */ jsx("span", {
|
|
5954
|
-
className: "block truncate text-
|
|
5988
|
+
className: "block truncate text-destructive",
|
|
5955
5989
|
title: getErrorMessage(op.error),
|
|
5956
5990
|
children: getErrorMessage(op.error) || "Unknown error"
|
|
5957
5991
|
})
|
|
5958
5992
|
}) : /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("td", {
|
|
5959
|
-
className: "border-l border-
|
|
5993
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5960
5994
|
children: /* @__PURE__ */ jsxs("span", {
|
|
5961
5995
|
className: "flex items-center gap-1",
|
|
5962
5996
|
children: [getStatusIcon(op.status), getStatusLabel(op.status)]
|
|
5963
5997
|
})
|
|
5964
5998
|
}), /* @__PURE__ */ jsx("td", {
|
|
5965
|
-
className: "border-l border-
|
|
5999
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
5966
6000
|
children: op.operations.length
|
|
5967
6001
|
})] })
|
|
5968
6002
|
]
|
|
@@ -6078,7 +6112,7 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6078
6112
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
6079
6113
|
className: "flex items-center gap-2",
|
|
6080
6114
|
children: [/* @__PURE__ */ jsxs("button", {
|
|
6081
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6082
6116
|
onClick: onBack,
|
|
6083
6117
|
type: "button",
|
|
6084
6118
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
@@ -6087,11 +6121,11 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6087
6121
|
size: 14
|
|
6088
6122
|
}), "Back"]
|
|
6089
6123
|
}), /* @__PURE__ */ jsxs("h2", {
|
|
6090
|
-
className: "text-lg font-semibold text-
|
|
6124
|
+
className: "text-lg font-semibold text-foreground",
|
|
6091
6125
|
children: ["Channel: ", remoteName]
|
|
6092
6126
|
})]
|
|
6093
6127
|
}), onRefresh && /* @__PURE__ */ jsxs("button", {
|
|
6094
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6095
6129
|
onClick: onRefresh,
|
|
6096
6130
|
type: "button",
|
|
6097
6131
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
@@ -6101,12 +6135,12 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6101
6135
|
})]
|
|
6102
6136
|
}),
|
|
6103
6137
|
connectionState && /* @__PURE__ */ jsxs("div", {
|
|
6104
|
-
className: "rounded-sm border border-
|
|
6138
|
+
className: "rounded-sm border border-border bg-background p-4",
|
|
6105
6139
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
6106
|
-
className: "mb-3 text-sm font-semibold text-
|
|
6140
|
+
className: "mb-3 text-sm font-semibold text-foreground",
|
|
6107
6141
|
children: "Connection State"
|
|
6108
6142
|
}), /* @__PURE__ */ jsxs("div", {
|
|
6109
|
-
className: "flex flex-wrap items-center gap-4 text-sm text-
|
|
6143
|
+
className: "flex flex-wrap items-center gap-4 text-sm text-foreground",
|
|
6110
6144
|
children: [
|
|
6111
6145
|
/* @__PURE__ */ jsxs("div", {
|
|
6112
6146
|
className: "flex items-center gap-2",
|
|
@@ -6122,11 +6156,11 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6122
6156
|
"Push:",
|
|
6123
6157
|
" ",
|
|
6124
6158
|
/* @__PURE__ */ jsx("span", {
|
|
6125
|
-
className: connectionState.pushBlocked ? "text-
|
|
6159
|
+
className: connectionState.pushBlocked ? "text-destructive" : "text-success",
|
|
6126
6160
|
children: connectionState.pushBlocked ? "Blocked" : "OK"
|
|
6127
6161
|
}),
|
|
6128
6162
|
connectionState.pushFailureCount > 0 && /* @__PURE__ */ jsxs("span", {
|
|
6129
|
-
className: "ml-1 text-
|
|
6163
|
+
className: "ml-1 text-destructive",
|
|
6130
6164
|
children: [
|
|
6131
6165
|
"(",
|
|
6132
6166
|
connectionState.pushFailureCount,
|
|
@@ -6138,21 +6172,21 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6138
6172
|
})]
|
|
6139
6173
|
}),
|
|
6140
6174
|
pollerControls && /* @__PURE__ */ jsxs("div", {
|
|
6141
|
-
className: "rounded-sm border border-
|
|
6175
|
+
className: "rounded-sm border border-border bg-background p-4",
|
|
6142
6176
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
6143
|
-
className: "mb-3 text-sm font-semibold text-
|
|
6177
|
+
className: "mb-3 text-sm font-semibold text-foreground",
|
|
6144
6178
|
children: "Poller"
|
|
6145
6179
|
}), /* @__PURE__ */ jsxs("div", {
|
|
6146
6180
|
className: "flex items-center justify-between",
|
|
6147
6181
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
6148
6182
|
className: "flex items-center gap-4",
|
|
6149
6183
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
6150
|
-
className: "text-sm text-
|
|
6184
|
+
className: "text-sm text-foreground",
|
|
6151
6185
|
children: [
|
|
6152
6186
|
"Status:",
|
|
6153
6187
|
" ",
|
|
6154
6188
|
/* @__PURE__ */ jsx("span", {
|
|
6155
|
-
className: pollerState.isPaused ? "text-
|
|
6189
|
+
className: pollerState.isPaused ? "text-warning" : "text-success",
|
|
6156
6190
|
children: pollerState.isPaused ? "Paused" : "Running"
|
|
6157
6191
|
})
|
|
6158
6192
|
]
|
|
@@ -6160,12 +6194,12 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6160
6194
|
className: "flex items-center gap-1",
|
|
6161
6195
|
children: [
|
|
6162
6196
|
/* @__PURE__ */ jsx("label", {
|
|
6163
|
-
className: "text-sm text-
|
|
6197
|
+
className: "text-sm text-foreground",
|
|
6164
6198
|
htmlFor: "poll-interval",
|
|
6165
6199
|
children: "Interval:"
|
|
6166
6200
|
}),
|
|
6167
6201
|
/* @__PURE__ */ jsx("input", {
|
|
6168
|
-
className: "w-20 rounded-sm border border-
|
|
6202
|
+
className: "w-20 rounded-sm border border-border px-2 py-1 text-sm",
|
|
6169
6203
|
id: "poll-interval",
|
|
6170
6204
|
min: 100,
|
|
6171
6205
|
onChange: (e) => setIntervalMs(Number(e.target.value)),
|
|
@@ -6176,11 +6210,11 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6176
6210
|
value: intervalMs
|
|
6177
6211
|
}),
|
|
6178
6212
|
/* @__PURE__ */ jsx("span", {
|
|
6179
|
-
className: "text-sm text-
|
|
6213
|
+
className: "text-sm text-muted-foreground",
|
|
6180
6214
|
children: "ms"
|
|
6181
6215
|
}),
|
|
6182
6216
|
/* @__PURE__ */ jsx("button", {
|
|
6183
|
-
className: "ml-1 rounded-sm border border-
|
|
6217
|
+
className: "ml-1 rounded-sm border border-border bg-background px-2 py-1 text-sm text-foreground hover:hover-effect",
|
|
6184
6218
|
onClick: handleApplyInterval,
|
|
6185
6219
|
type: "button",
|
|
6186
6220
|
children: "Apply"
|
|
@@ -6190,17 +6224,17 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6190
6224
|
}), /* @__PURE__ */ jsxs("div", {
|
|
6191
6225
|
className: "flex gap-2",
|
|
6192
6226
|
children: [pollerState.isPaused ? /* @__PURE__ */ jsx("button", {
|
|
6193
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6194
6228
|
onClick: handleResume,
|
|
6195
6229
|
type: "button",
|
|
6196
6230
|
children: "Resume"
|
|
6197
6231
|
}) : /* @__PURE__ */ jsx("button", {
|
|
6198
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6199
6233
|
onClick: handlePause,
|
|
6200
6234
|
type: "button",
|
|
6201
6235
|
children: "Pause"
|
|
6202
6236
|
}), /* @__PURE__ */ jsx("button", {
|
|
6203
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6204
6238
|
disabled: !pollerState.isPaused,
|
|
6205
6239
|
onClick: handlePollNow,
|
|
6206
6240
|
type: "button",
|
|
@@ -6210,25 +6244,25 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6210
6244
|
})]
|
|
6211
6245
|
}),
|
|
6212
6246
|
/* @__PURE__ */ jsxs("div", {
|
|
6213
|
-
className: "rounded-sm border border-
|
|
6247
|
+
className: "rounded-sm border border-border bg-background p-4",
|
|
6214
6248
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
6215
|
-
className: "mb-3 text-sm font-semibold text-
|
|
6249
|
+
className: "mb-3 text-sm font-semibold text-foreground",
|
|
6216
6250
|
children: "Mailbox Processing"
|
|
6217
6251
|
}), /* @__PURE__ */ jsxs("div", {
|
|
6218
6252
|
className: "flex flex-col gap-3",
|
|
6219
6253
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
6220
6254
|
className: "flex items-center justify-between",
|
|
6221
6255
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
6222
|
-
className: "flex items-center gap-3 text-sm text-
|
|
6256
|
+
className: "flex items-center gap-3 text-sm text-foreground",
|
|
6223
6257
|
children: [/* @__PURE__ */ jsxs("span", { children: [
|
|
6224
6258
|
"Inbox:",
|
|
6225
6259
|
" ",
|
|
6226
6260
|
/* @__PURE__ */ jsx("span", {
|
|
6227
|
-
className: mailboxStates.inbox.isPaused ? "text-
|
|
6261
|
+
className: mailboxStates.inbox.isPaused ? "text-warning" : "text-success",
|
|
6228
6262
|
children: mailboxStates.inbox.isPaused ? "Paused" : "Active"
|
|
6229
6263
|
})
|
|
6230
6264
|
] }), /* @__PURE__ */ jsxs("span", {
|
|
6231
|
-
className: "font-mono text-sm text-
|
|
6265
|
+
className: "font-mono text-sm text-muted-foreground",
|
|
6232
6266
|
children: [
|
|
6233
6267
|
"We ack'd (theirs): ",
|
|
6234
6268
|
channel.inbox.ackOrdinal,
|
|
@@ -6240,17 +6274,17 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6240
6274
|
}), /* @__PURE__ */ jsxs("div", {
|
|
6241
6275
|
className: "flex gap-2",
|
|
6242
6276
|
children: [mailboxStates.inbox.isPaused ? /* @__PURE__ */ jsx("button", {
|
|
6243
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6244
6278
|
onClick: () => handleMailboxResume("inbox"),
|
|
6245
6279
|
type: "button",
|
|
6246
6280
|
children: "Resume"
|
|
6247
6281
|
}) : /* @__PURE__ */ jsx("button", {
|
|
6248
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6249
6283
|
onClick: () => handleMailboxPause("inbox"),
|
|
6250
6284
|
type: "button",
|
|
6251
6285
|
children: "Pause"
|
|
6252
6286
|
}), /* @__PURE__ */ jsx("button", {
|
|
6253
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6254
6288
|
disabled: !mailboxStates.inbox.isPaused,
|
|
6255
6289
|
onClick: () => handleMailboxFlush("inbox"),
|
|
6256
6290
|
type: "button",
|
|
@@ -6260,16 +6294,16 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6260
6294
|
}), /* @__PURE__ */ jsxs("div", {
|
|
6261
6295
|
className: "flex items-center justify-between",
|
|
6262
6296
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
6263
|
-
className: "flex items-center gap-3 text-sm text-
|
|
6297
|
+
className: "flex items-center gap-3 text-sm text-foreground",
|
|
6264
6298
|
children: [/* @__PURE__ */ jsxs("span", { children: [
|
|
6265
6299
|
"Outbox:",
|
|
6266
6300
|
" ",
|
|
6267
6301
|
/* @__PURE__ */ jsx("span", {
|
|
6268
|
-
className: mailboxStates.outbox.isPaused ? "text-
|
|
6302
|
+
className: mailboxStates.outbox.isPaused ? "text-warning" : "text-success",
|
|
6269
6303
|
children: mailboxStates.outbox.isPaused ? "Paused" : "Active"
|
|
6270
6304
|
})
|
|
6271
6305
|
] }), /* @__PURE__ */ jsxs("span", {
|
|
6272
|
-
className: "font-mono text-sm text-
|
|
6306
|
+
className: "font-mono text-sm text-muted-foreground",
|
|
6273
6307
|
children: [
|
|
6274
6308
|
"They ack'd (ours): ",
|
|
6275
6309
|
channel.outbox.ackOrdinal,
|
|
@@ -6281,17 +6315,17 @@ function ChannelInspector({ remoteName, channel, onBack, onRefresh, connectionSt
|
|
|
6281
6315
|
}), /* @__PURE__ */ jsxs("div", {
|
|
6282
6316
|
className: "flex gap-2",
|
|
6283
6317
|
children: [mailboxStates.outbox.isPaused ? /* @__PURE__ */ jsx("button", {
|
|
6284
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6285
6319
|
onClick: () => handleMailboxResume("outbox"),
|
|
6286
6320
|
type: "button",
|
|
6287
6321
|
children: "Resume"
|
|
6288
6322
|
}) : /* @__PURE__ */ jsx("button", {
|
|
6289
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6290
6324
|
onClick: () => handleMailboxPause("outbox"),
|
|
6291
6325
|
type: "button",
|
|
6292
6326
|
children: "Pause"
|
|
6293
6327
|
}), /* @__PURE__ */ jsx("button", {
|
|
6294
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6295
6329
|
disabled: !mailboxStates.outbox.isPaused,
|
|
6296
6330
|
onClick: () => handleMailboxFlush("outbox"),
|
|
6297
6331
|
type: "button",
|
|
@@ -6389,20 +6423,20 @@ function sortRemotes(remotes, sort) {
|
|
|
6389
6423
|
let bValue;
|
|
6390
6424
|
switch (sort.column) {
|
|
6391
6425
|
case "id":
|
|
6392
|
-
aValue = a.id;
|
|
6393
|
-
bValue = b.id;
|
|
6426
|
+
aValue = a.meta.id;
|
|
6427
|
+
bValue = b.meta.id;
|
|
6394
6428
|
break;
|
|
6395
6429
|
case "name":
|
|
6396
|
-
aValue = a.name;
|
|
6397
|
-
bValue = b.name;
|
|
6430
|
+
aValue = a.meta.name;
|
|
6431
|
+
bValue = b.meta.name;
|
|
6398
6432
|
break;
|
|
6399
6433
|
case "collectionId":
|
|
6400
|
-
aValue = a.collectionId;
|
|
6401
|
-
bValue = b.collectionId;
|
|
6434
|
+
aValue = a.meta.collectionId.key;
|
|
6435
|
+
bValue = b.meta.collectionId.key;
|
|
6402
6436
|
break;
|
|
6403
6437
|
case "filter":
|
|
6404
|
-
aValue = formatFilter(a.filter);
|
|
6405
|
-
bValue = formatFilter(b.filter);
|
|
6438
|
+
aValue = formatFilter(a.meta.filter);
|
|
6439
|
+
bValue = formatFilter(b.meta.filter);
|
|
6406
6440
|
break;
|
|
6407
6441
|
default: return 0;
|
|
6408
6442
|
}
|
|
@@ -6430,7 +6464,7 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6430
6464
|
}, [loadRemotes]);
|
|
6431
6465
|
const handleRefresh = useCallback(async () => {
|
|
6432
6466
|
await loadRemotes();
|
|
6433
|
-
if (selectedRemote) setSelectedRemote(remotes.find((r) => r.id === selectedRemote.id));
|
|
6467
|
+
if (selectedRemote) setSelectedRemote(remotes.find((r) => r.meta.id === selectedRemote.meta.id));
|
|
6434
6468
|
}, [
|
|
6435
6469
|
loadRemotes,
|
|
6436
6470
|
selectedRemote,
|
|
@@ -6448,9 +6482,9 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6448
6482
|
};
|
|
6449
6483
|
const handleRemove = useCallback(async (remote) => {
|
|
6450
6484
|
if (!removeRemote) return;
|
|
6451
|
-
await removeRemote(remote.name);
|
|
6485
|
+
await removeRemote(remote.meta.name);
|
|
6452
6486
|
await loadRemotes();
|
|
6453
|
-
if (selectedRemote?.id === remote.id) setSelectedRemote(void 0);
|
|
6487
|
+
if (selectedRemote?.meta.id === remote.meta.id) setSelectedRemote(void 0);
|
|
6454
6488
|
}, [
|
|
6455
6489
|
removeRemote,
|
|
6456
6490
|
loadRemotes,
|
|
@@ -6480,14 +6514,14 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6480
6514
|
loadRemotes
|
|
6481
6515
|
]);
|
|
6482
6516
|
const handlePull = useCallback((remote) => {
|
|
6483
|
-
triggerPull?.(remote.name);
|
|
6517
|
+
triggerPull?.(remote.meta.name);
|
|
6484
6518
|
}, [triggerPull]);
|
|
6485
6519
|
if (selectedRemote) return /* @__PURE__ */ jsx(ChannelInspector, {
|
|
6486
6520
|
channel: selectedRemote.channel,
|
|
6487
|
-
connectionState: connectionStates?.get(selectedRemote.name),
|
|
6521
|
+
connectionState: connectionStates?.get(selectedRemote.meta.name),
|
|
6488
6522
|
onBack: handleBack,
|
|
6489
6523
|
onRefresh: () => void handleRefresh(),
|
|
6490
|
-
remoteName: selectedRemote.name
|
|
6524
|
+
remoteName: selectedRemote.meta.name
|
|
6491
6525
|
});
|
|
6492
6526
|
const sortedRemotes = sortRemotes(remotes, sort);
|
|
6493
6527
|
return /* @__PURE__ */ jsxs("div", {
|
|
@@ -6496,14 +6530,14 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6496
6530
|
/* @__PURE__ */ jsxs("div", {
|
|
6497
6531
|
className: "flex shrink-0 items-center justify-between gap-2",
|
|
6498
6532
|
children: [/* @__PURE__ */ jsx("h2", {
|
|
6499
|
-
className: "text-lg font-semibold text-
|
|
6533
|
+
className: "text-lg font-semibold text-foreground",
|
|
6500
6534
|
children: "Remotes Inspector"
|
|
6501
6535
|
}), /* @__PURE__ */ jsxs("div", {
|
|
6502
6536
|
className: "flex items-center gap-2",
|
|
6503
6537
|
children: [addRemoteManual && /* @__PURE__ */ jsxs("div", {
|
|
6504
6538
|
className: "flex items-center gap-1",
|
|
6505
6539
|
children: [/* @__PURE__ */ jsx("input", {
|
|
6506
|
-
className: "w-[260px] rounded-sm border border-
|
|
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",
|
|
6507
6541
|
disabled: adding,
|
|
6508
6542
|
onChange: (e) => setManualUrl(e.target.value),
|
|
6509
6543
|
onKeyDown: (e) => {
|
|
@@ -6513,7 +6547,7 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6513
6547
|
type: "text",
|
|
6514
6548
|
value: manualUrl
|
|
6515
6549
|
}), /* @__PURE__ */ jsx("button", {
|
|
6516
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6517
6551
|
disabled: adding || !manualUrl.trim(),
|
|
6518
6552
|
onClick: () => void handleAddManual(),
|
|
6519
6553
|
title: "Register a remote drive in manual poll mode (no background polling)",
|
|
@@ -6521,7 +6555,7 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6521
6555
|
children: "Add (manual)"
|
|
6522
6556
|
})]
|
|
6523
6557
|
}), /* @__PURE__ */ jsxs("button", {
|
|
6524
|
-
className: "flex items-center gap-1 rounded-sm border border-
|
|
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",
|
|
6525
6559
|
disabled: loading,
|
|
6526
6560
|
onClick: () => void handleRefresh(),
|
|
6527
6561
|
type: "button",
|
|
@@ -6533,21 +6567,21 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6533
6567
|
})]
|
|
6534
6568
|
}),
|
|
6535
6569
|
addError && /* @__PURE__ */ jsx("div", {
|
|
6536
|
-
className: "shrink-0 rounded-sm border border-
|
|
6570
|
+
className: "shrink-0 rounded-sm border border-destructive bg-destructive/10 px-3 py-1.5 text-xs text-destructive",
|
|
6537
6571
|
children: addError
|
|
6538
6572
|
}),
|
|
6539
6573
|
/* @__PURE__ */ jsx("div", {
|
|
6540
|
-
className: "scrollbar-thin max-h-full overflow-auto rounded-lg border border-
|
|
6574
|
+
className: "scrollbar-thin max-h-full overflow-auto rounded-lg border border-border scrollbar-thumb-border scrollbar-thumb-rounded-md scrollbar-track-transparent",
|
|
6541
6575
|
children: /* @__PURE__ */ jsxs("table", {
|
|
6542
6576
|
className: "w-full border-collapse",
|
|
6543
6577
|
children: [/* @__PURE__ */ jsx("thead", {
|
|
6544
|
-
className: "sticky top-0 bg-
|
|
6578
|
+
className: "sticky top-0 bg-muted",
|
|
6545
6579
|
children: /* @__PURE__ */ jsx("tr", { children: columns.map((column, index) => {
|
|
6546
6580
|
const isActive = sort?.column === column.key;
|
|
6547
6581
|
const sortDirection = isActive ? sort.direction : "asc";
|
|
6548
6582
|
const isSortable = column.key !== "channel" && column.key !== "actions" && column.key !== "status";
|
|
6549
6583
|
return /* @__PURE__ */ jsx("th", {
|
|
6550
|
-
className: twMerge("group px-3 py-2 text-left text-xs font-medium text-
|
|
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"),
|
|
6551
6585
|
onClick: () => isSortable && handleSort(column.key),
|
|
6552
6586
|
style: { width: column.width },
|
|
6553
6587
|
children: /* @__PURE__ */ jsxs("div", {
|
|
@@ -6563,62 +6597,62 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6563
6597
|
}, column.key);
|
|
6564
6598
|
}) })
|
|
6565
6599
|
}), /* @__PURE__ */ jsx("tbody", { children: loading && sortedRemotes.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
6566
|
-
className: "px-3 py-8 text-center text-sm text-
|
|
6600
|
+
className: "px-3 py-8 text-center text-sm text-muted-foreground",
|
|
6567
6601
|
colSpan: columns.length,
|
|
6568
6602
|
children: "Loading..."
|
|
6569
6603
|
}) }) : sortedRemotes.length === 0 ? /* @__PURE__ */ jsx("tr", { children: /* @__PURE__ */ jsx("td", {
|
|
6570
|
-
className: "px-3 py-8 text-center text-sm text-
|
|
6604
|
+
className: "px-3 py-8 text-center text-sm text-muted-foreground",
|
|
6571
6605
|
colSpan: columns.length,
|
|
6572
6606
|
children: "No remotes configured"
|
|
6573
6607
|
}) }) : sortedRemotes.map((remote) => /* @__PURE__ */ jsxs("tr", {
|
|
6574
|
-
className: "odd:bg-
|
|
6608
|
+
className: "odd:bg-card even:bg-background hover:hover-effect",
|
|
6575
6609
|
children: [
|
|
6576
6610
|
/* @__PURE__ */ jsx("td", {
|
|
6577
|
-
className: "px-3 py-2 text-xs text-
|
|
6611
|
+
className: "px-3 py-2 text-xs text-foreground",
|
|
6578
6612
|
children: /* @__PURE__ */ jsx("span", {
|
|
6579
6613
|
className: "block truncate",
|
|
6580
|
-
title: remote.id,
|
|
6581
|
-
children: truncateId(remote.id)
|
|
6614
|
+
title: remote.meta.id,
|
|
6615
|
+
children: truncateId(remote.meta.id)
|
|
6582
6616
|
})
|
|
6583
6617
|
}),
|
|
6584
6618
|
/* @__PURE__ */ jsx("td", {
|
|
6585
|
-
className: "border-l border-
|
|
6619
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
6586
6620
|
children: /* @__PURE__ */ jsx("span", {
|
|
6587
6621
|
className: "block truncate",
|
|
6588
|
-
title: remote.name,
|
|
6589
|
-
children: remote.name
|
|
6622
|
+
title: remote.meta.name,
|
|
6623
|
+
children: remote.meta.name
|
|
6590
6624
|
})
|
|
6591
6625
|
}),
|
|
6592
6626
|
/* @__PURE__ */ jsx("td", {
|
|
6593
|
-
className: "border-l border-
|
|
6594
|
-
children: connectionStates?.get(remote.name) ? /* @__PURE__ */ jsx(ConnectionStateBadge, {
|
|
6595
|
-
failureCount: connectionStates.get(remote.name).failureCount,
|
|
6596
|
-
state: connectionStates.get(remote.name).state
|
|
6627
|
+
className: "border-l border-border px-3 py-2",
|
|
6628
|
+
children: connectionStates?.get(remote.meta.name) ? /* @__PURE__ */ jsx(ConnectionStateBadge, {
|
|
6629
|
+
failureCount: connectionStates.get(remote.meta.name).failureCount,
|
|
6630
|
+
state: connectionStates.get(remote.meta.name).state
|
|
6597
6631
|
}) : /* @__PURE__ */ jsx("span", {
|
|
6598
|
-
className: "text-xs text-
|
|
6632
|
+
className: "text-xs text-muted-foreground",
|
|
6599
6633
|
children: "-"
|
|
6600
6634
|
})
|
|
6601
6635
|
}),
|
|
6602
6636
|
/* @__PURE__ */ jsx("td", {
|
|
6603
|
-
className: "border-l border-
|
|
6637
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
6604
6638
|
children: /* @__PURE__ */ jsx("span", {
|
|
6605
6639
|
className: "block truncate",
|
|
6606
|
-
title: remote.collectionId,
|
|
6607
|
-
children: remote.collectionId
|
|
6640
|
+
title: remote.meta.collectionId.key,
|
|
6641
|
+
children: remote.meta.collectionId.key
|
|
6608
6642
|
})
|
|
6609
6643
|
}),
|
|
6610
6644
|
/* @__PURE__ */ jsx("td", {
|
|
6611
|
-
className: "border-l border-
|
|
6645
|
+
className: "border-l border-border px-3 py-2 text-xs text-foreground",
|
|
6612
6646
|
children: /* @__PURE__ */ jsx("span", {
|
|
6613
6647
|
className: "block truncate",
|
|
6614
|
-
title: formatFilter(remote.filter),
|
|
6615
|
-
children: formatFilter(remote.filter)
|
|
6648
|
+
title: formatFilter(remote.meta.filter),
|
|
6649
|
+
children: formatFilter(remote.meta.filter)
|
|
6616
6650
|
})
|
|
6617
6651
|
}),
|
|
6618
6652
|
/* @__PURE__ */ jsx("td", {
|
|
6619
|
-
className: "border-l border-
|
|
6653
|
+
className: "border-l border-border px-3 py-2",
|
|
6620
6654
|
children: /* @__PURE__ */ jsxs("button", {
|
|
6621
|
-
className: "flex items-center gap-1 rounded-sm bg-
|
|
6655
|
+
className: "flex items-center gap-1 rounded-sm bg-info/10 px-2 py-1 text-xs text-info hover:hover-effect",
|
|
6622
6656
|
onClick: () => handleViewChannel(remote),
|
|
6623
6657
|
type: "button",
|
|
6624
6658
|
children: ["View", /* @__PURE__ */ jsx(Icon, {
|
|
@@ -6628,17 +6662,17 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6628
6662
|
})
|
|
6629
6663
|
}),
|
|
6630
6664
|
hasRowActions && /* @__PURE__ */ jsx("td", {
|
|
6631
|
-
className: "border-l border-
|
|
6665
|
+
className: "border-l border-border px-3 py-2",
|
|
6632
6666
|
children: /* @__PURE__ */ jsxs("div", {
|
|
6633
6667
|
className: "flex items-center gap-1",
|
|
6634
6668
|
children: [triggerPull && /* @__PURE__ */ jsx("button", {
|
|
6635
|
-
className: "rounded-sm bg-
|
|
6669
|
+
className: "rounded-sm bg-muted px-2 py-1 text-xs text-foreground hover:hover-effect",
|
|
6636
6670
|
onClick: () => handlePull(remote),
|
|
6637
6671
|
title: "Trigger a single pull cycle for this remote",
|
|
6638
6672
|
type: "button",
|
|
6639
6673
|
children: "Pull"
|
|
6640
6674
|
}), removeRemote && /* @__PURE__ */ jsx("button", {
|
|
6641
|
-
className: "rounded-sm bg-
|
|
6675
|
+
className: "rounded-sm bg-destructive/10 px-2 py-1 text-xs text-destructive hover:hover-effect",
|
|
6642
6676
|
onClick: () => void handleRemove(remote),
|
|
6643
6677
|
type: "button",
|
|
6644
6678
|
children: "Remove"
|
|
@@ -6646,11 +6680,11 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6646
6680
|
})
|
|
6647
6681
|
})
|
|
6648
6682
|
]
|
|
6649
|
-
}, remote.id)) })]
|
|
6683
|
+
}, remote.meta.id)) })]
|
|
6650
6684
|
})
|
|
6651
6685
|
}),
|
|
6652
6686
|
/* @__PURE__ */ jsxs("div", {
|
|
6653
|
-
className: "shrink-0 text-sm text-
|
|
6687
|
+
className: "shrink-0 text-sm text-foreground",
|
|
6654
6688
|
children: [
|
|
6655
6689
|
"Showing ",
|
|
6656
6690
|
sortedRemotes.length,
|
|
@@ -6661,8 +6695,129 @@ function RemotesInspector({ getRemotes, removeRemote, addRemoteManual, triggerPu
|
|
|
6661
6695
|
});
|
|
6662
6696
|
}
|
|
6663
6697
|
//#endregion
|
|
6698
|
+
//#region src/connect/components/worker-inspector/worker-inspector.tsx
|
|
6699
|
+
function formatUptime(ms) {
|
|
6700
|
+
const totalSeconds = Math.max(0, Math.floor(ms / 1e3));
|
|
6701
|
+
const hours = Math.floor(totalSeconds / 3600);
|
|
6702
|
+
const minutes = Math.floor(totalSeconds % 3600 / 60);
|
|
6703
|
+
const seconds = totalSeconds % 60;
|
|
6704
|
+
const parts = [];
|
|
6705
|
+
if (hours > 0) parts.push(`${hours}h`);
|
|
6706
|
+
if (hours > 0 || minutes > 0) parts.push(`${minutes}m`);
|
|
6707
|
+
parts.push(`${seconds}s`);
|
|
6708
|
+
return parts.join(" ");
|
|
6709
|
+
}
|
|
6710
|
+
function Field({ label, value }) {
|
|
6711
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
6712
|
+
className: "flex flex-col gap-0.5",
|
|
6713
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
6714
|
+
className: "text-xs font-medium text-muted-foreground",
|
|
6715
|
+
children: label
|
|
6716
|
+
}), /* @__PURE__ */ jsx("span", {
|
|
6717
|
+
className: "font-mono text-sm break-all text-foreground",
|
|
6718
|
+
children: value
|
|
6719
|
+
})]
|
|
6720
|
+
});
|
|
6721
|
+
}
|
|
6722
|
+
function WorkerInspector({ getInfo, onRestart }) {
|
|
6723
|
+
const [info, setInfo] = useState(null);
|
|
6724
|
+
const [error, setError] = useState(null);
|
|
6725
|
+
const [now, setNow] = useState(() => Date.now());
|
|
6726
|
+
const [restarting, setRestarting] = useState(false);
|
|
6727
|
+
const loadInfo = useCallback(async () => {
|
|
6728
|
+
try {
|
|
6729
|
+
setInfo(await getInfo());
|
|
6730
|
+
setError(null);
|
|
6731
|
+
} catch (e) {
|
|
6732
|
+
setError(e instanceof Error ? e.message : String(e));
|
|
6733
|
+
}
|
|
6734
|
+
}, [getInfo]);
|
|
6735
|
+
useEffect(() => {
|
|
6736
|
+
loadInfo();
|
|
6737
|
+
const interval = setInterval(() => {
|
|
6738
|
+
loadInfo();
|
|
6739
|
+
setNow(Date.now());
|
|
6740
|
+
}, 1e3);
|
|
6741
|
+
return () => clearInterval(interval);
|
|
6742
|
+
}, [loadInfo]);
|
|
6743
|
+
const handleRestart = useCallback(async () => {
|
|
6744
|
+
if (!window.confirm("Restart the reactor worker? All tabs sharing it will reload.")) return;
|
|
6745
|
+
setRestarting(true);
|
|
6746
|
+
try {
|
|
6747
|
+
await onRestart();
|
|
6748
|
+
} finally {
|
|
6749
|
+
setRestarting(false);
|
|
6750
|
+
}
|
|
6751
|
+
}, [onRestart]);
|
|
6752
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
6753
|
+
className: "flex h-full flex-col gap-3",
|
|
6754
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
6755
|
+
className: "flex shrink-0 items-center justify-between",
|
|
6756
|
+
children: [/* @__PURE__ */ jsx("h2", {
|
|
6757
|
+
className: "text-lg font-semibold text-foreground",
|
|
6758
|
+
children: "Worker Inspector"
|
|
6759
|
+
}), /* @__PURE__ */ jsxs("button", {
|
|
6760
|
+
className: twMerge("flex items-center gap-1 rounded-sm border px-3 py-1.5 text-sm", "border-warning bg-warning/10 text-warning hover:hover-effect disabled:disabled-effect"),
|
|
6761
|
+
disabled: restarting || !info,
|
|
6762
|
+
onClick: () => void handleRestart(),
|
|
6763
|
+
type: "button",
|
|
6764
|
+
children: [/* @__PURE__ */ jsx(Icon, {
|
|
6765
|
+
name: "Reload",
|
|
6766
|
+
size: 14
|
|
6767
|
+
}), restarting ? "Restarting..." : "Restart Worker"]
|
|
6768
|
+
})]
|
|
6769
|
+
}), error ? /* @__PURE__ */ jsx("div", {
|
|
6770
|
+
className: "rounded-lg bg-destructive/10 px-4 py-3 text-sm text-destructive",
|
|
6771
|
+
children: error
|
|
6772
|
+
}) : !info ? /* @__PURE__ */ jsx("div", {
|
|
6773
|
+
className: "rounded-lg bg-muted px-4 py-8 text-center text-sm text-muted-foreground",
|
|
6774
|
+
children: "Loading worker info..."
|
|
6775
|
+
}) : /* @__PURE__ */ jsxs("div", {
|
|
6776
|
+
className: "grid grid-cols-2 gap-4 rounded-lg border border-border p-4",
|
|
6777
|
+
children: [
|
|
6778
|
+
/* @__PURE__ */ jsx(Field, {
|
|
6779
|
+
label: "Worker name",
|
|
6780
|
+
value: info.namespace
|
|
6781
|
+
}),
|
|
6782
|
+
/* @__PURE__ */ jsx(Field, {
|
|
6783
|
+
label: "Owner ID (boot)",
|
|
6784
|
+
value: info.ownerId
|
|
6785
|
+
}),
|
|
6786
|
+
/* @__PURE__ */ jsx(Field, {
|
|
6787
|
+
label: "Uptime",
|
|
6788
|
+
value: formatUptime(now - info.bootedAtMs)
|
|
6789
|
+
}),
|
|
6790
|
+
/* @__PURE__ */ jsx(Field, {
|
|
6791
|
+
label: "Connected tabs",
|
|
6792
|
+
value: String(info.connectedClients)
|
|
6793
|
+
}),
|
|
6794
|
+
/* @__PURE__ */ jsx(Field, {
|
|
6795
|
+
label: "App build",
|
|
6796
|
+
value: info.appBuildId
|
|
6797
|
+
}),
|
|
6798
|
+
/* @__PURE__ */ jsx(Field, {
|
|
6799
|
+
label: "RPC protocol",
|
|
6800
|
+
value: String(info.rpcProtocolVersion)
|
|
6801
|
+
})
|
|
6802
|
+
]
|
|
6803
|
+
})]
|
|
6804
|
+
});
|
|
6805
|
+
}
|
|
6806
|
+
//#endregion
|
|
6664
6807
|
//#region src/connect/components/modal/inspector-modal/inspector-modal.tsx
|
|
6665
|
-
function
|
|
6808
|
+
function InspectorUnavailable({ message }) {
|
|
6809
|
+
return /* @__PURE__ */ jsxs("div", {
|
|
6810
|
+
className: "flex h-full flex-col items-center justify-center gap-2 p-6 text-center",
|
|
6811
|
+
children: [/* @__PURE__ */ jsx("span", {
|
|
6812
|
+
className: "text-sm font-semibold text-muted-foreground",
|
|
6813
|
+
children: "Not available here"
|
|
6814
|
+
}), /* @__PURE__ */ jsx("p", {
|
|
6815
|
+
className: "max-w-md text-sm text-muted-foreground",
|
|
6816
|
+
children: message
|
|
6817
|
+
})]
|
|
6818
|
+
});
|
|
6819
|
+
}
|
|
6820
|
+
function InspectorModal({ open, onOpenChange, modalProps, containerProps, dbExplorerProps, remotesInspectorProps, queueInspectorProps, processorsInspectorProps, integrityInspectorProps, workerInspectorProps, unavailableTabs, defaultTab = "Database" }) {
|
|
6666
6821
|
return /* @__PURE__ */ jsx(Modal, {
|
|
6667
6822
|
...modalProps,
|
|
6668
6823
|
contentProps: {
|
|
@@ -6681,7 +6836,7 @@ function InspectorModal({ open, onOpenChange, modalProps, containerProps, dbExpl
|
|
|
6681
6836
|
children: [/* @__PURE__ */ jsx("div", {
|
|
6682
6837
|
className: "flex shrink-0 items-center justify-end px-3 pt-3",
|
|
6683
6838
|
children: /* @__PURE__ */ jsx("button", {
|
|
6684
|
-
className: "flex size-6 cursor-pointer items-center justify-center rounded-md text-
|
|
6839
|
+
className: "flex size-6 cursor-pointer items-center justify-center rounded-md text-muted-foreground outline-none hover:hover-effect",
|
|
6685
6840
|
onClick: () => onOpenChange(false),
|
|
6686
6841
|
type: "button",
|
|
6687
6842
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
@@ -6710,29 +6865,49 @@ function InspectorModal({ open, onOpenChange, modalProps, containerProps, dbExpl
|
|
|
6710
6865
|
children: /* @__PURE__ */ jsx(RemotesInspector, { ...remotesInspectorProps })
|
|
6711
6866
|
})
|
|
6712
6867
|
}),
|
|
6713
|
-
queueInspectorProps
|
|
6868
|
+
queueInspectorProps ? /* @__PURE__ */ jsx(TabContent, {
|
|
6714
6869
|
description: "Queue inspector",
|
|
6715
6870
|
label: "Queue",
|
|
6716
6871
|
children: /* @__PURE__ */ jsx("div", {
|
|
6717
6872
|
className: "h-full",
|
|
6718
6873
|
children: /* @__PURE__ */ jsx(QueueInspector, { ...queueInspectorProps })
|
|
6719
6874
|
})
|
|
6720
|
-
}),
|
|
6721
|
-
|
|
6875
|
+
}) : unavailableTabs?.Queue ? /* @__PURE__ */ jsx(TabContent, {
|
|
6876
|
+
description: "Queue inspector",
|
|
6877
|
+
label: "Queue",
|
|
6878
|
+
children: /* @__PURE__ */ jsx(InspectorUnavailable, { message: unavailableTabs.Queue })
|
|
6879
|
+
}) : null,
|
|
6880
|
+
processorsInspectorProps ? /* @__PURE__ */ jsx(TabContent, {
|
|
6722
6881
|
description: "Processors inspector",
|
|
6723
6882
|
label: "Processors",
|
|
6724
6883
|
children: /* @__PURE__ */ jsx("div", {
|
|
6725
6884
|
className: "h-full",
|
|
6726
6885
|
children: /* @__PURE__ */ jsx(ProcessorsInspector, { ...processorsInspectorProps })
|
|
6727
6886
|
})
|
|
6728
|
-
}),
|
|
6729
|
-
|
|
6887
|
+
}) : unavailableTabs?.Processors ? /* @__PURE__ */ jsx(TabContent, {
|
|
6888
|
+
description: "Processors inspector",
|
|
6889
|
+
label: "Processors",
|
|
6890
|
+
children: /* @__PURE__ */ jsx(InspectorUnavailable, { message: unavailableTabs.Processors })
|
|
6891
|
+
}) : null,
|
|
6892
|
+
integrityInspectorProps ? /* @__PURE__ */ jsx(TabContent, {
|
|
6730
6893
|
description: "Integrity inspector",
|
|
6731
6894
|
label: "Integrity",
|
|
6732
6895
|
children: /* @__PURE__ */ jsx("div", {
|
|
6733
6896
|
className: "h-full",
|
|
6734
6897
|
children: /* @__PURE__ */ jsx(IntegrityInspector, { ...integrityInspectorProps })
|
|
6735
6898
|
})
|
|
6899
|
+
}) : unavailableTabs?.Integrity ? /* @__PURE__ */ jsx(TabContent, {
|
|
6900
|
+
description: "Integrity inspector",
|
|
6901
|
+
label: "Integrity",
|
|
6902
|
+
children: /* @__PURE__ */ jsx(InspectorUnavailable, { message: unavailableTabs.Integrity })
|
|
6903
|
+
}) : null,
|
|
6904
|
+
workerInspectorProps && /* @__PURE__ */ jsx(TabContent, {
|
|
6905
|
+
description: "Worker inspector",
|
|
6906
|
+
label: "Worker",
|
|
6907
|
+
children: /* @__PURE__ */ jsx("div", {
|
|
6908
|
+
className: "h-full",
|
|
6909
|
+
children: /* @__PURE__ */ jsx(WorkerInspector, { ...workerInspectorProps })
|
|
6910
|
+
})
|
|
6736
6911
|
})
|
|
6737
6912
|
]
|
|
6738
6913
|
})
|
|
@@ -6742,7 +6917,7 @@ function InspectorModal({ open, onOpenChange, modalProps, containerProps, dbExpl
|
|
|
6742
6917
|
}
|
|
6743
6918
|
//#endregion
|
|
6744
6919
|
//#region src/connect/components/modal/missing-package-modal.tsx
|
|
6745
|
-
const buttonStyles = "min-h-[36px] text-sm font-semibold py-2 px-4 rounded-xl outline-none active:
|
|
6920
|
+
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";
|
|
6746
6921
|
function groupByPackage(installations) {
|
|
6747
6922
|
const groups = /* @__PURE__ */ new Map();
|
|
6748
6923
|
for (const item of installations) {
|
|
@@ -6785,14 +6960,14 @@ function PackageInstallModal(props) {
|
|
|
6785
6960
|
},
|
|
6786
6961
|
...restProps,
|
|
6787
6962
|
children: /* @__PURE__ */ jsxs("div", {
|
|
6788
|
-
className: "w-[460px] rounded-xl bg-
|
|
6963
|
+
className: "w-[460px] rounded-xl bg-background p-6 text-foreground",
|
|
6789
6964
|
children: [
|
|
6790
6965
|
/* @__PURE__ */ jsx("div", {
|
|
6791
|
-
className: "border-b border-
|
|
6966
|
+
className: "border-b border-border pb-2 text-2xl font-bold text-foreground",
|
|
6792
6967
|
children: grouped.length === 1 ? "Package Required" : "Packages Required"
|
|
6793
6968
|
}),
|
|
6794
6969
|
/* @__PURE__ */ jsx("div", {
|
|
6795
|
-
className: "my-4 text-sm text-
|
|
6970
|
+
className: "my-4 text-sm text-foreground",
|
|
6796
6971
|
children: grouped.length === 1 ? "A document requires a package that is not installed." : "Documents require packages that are not installed."
|
|
6797
6972
|
}),
|
|
6798
6973
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -6800,14 +6975,14 @@ function PackageInstallModal(props) {
|
|
|
6800
6975
|
children: grouped.map(({ packageName, documentTypes }) => {
|
|
6801
6976
|
const installing = installingPackages.has(packageName);
|
|
6802
6977
|
return /* @__PURE__ */ jsxs("div", {
|
|
6803
|
-
className: "rounded-xl bg-
|
|
6978
|
+
className: "rounded-xl bg-background p-4",
|
|
6804
6979
|
children: [
|
|
6805
6980
|
/* @__PURE__ */ jsx("div", {
|
|
6806
|
-
className: "mb-1 text-sm font-semibold text-
|
|
6981
|
+
className: "mb-1 text-sm font-semibold text-foreground",
|
|
6807
6982
|
children: packageName
|
|
6808
6983
|
}),
|
|
6809
6984
|
/* @__PURE__ */ jsxs("div", {
|
|
6810
|
-
className: "mb-3 text-xs text-
|
|
6985
|
+
className: "mb-3 text-xs text-muted-foreground",
|
|
6811
6986
|
children: [
|
|
6812
6987
|
"Required for document type",
|
|
6813
6988
|
documentTypes.length > 1 ? "s" : "",
|
|
@@ -6822,13 +6997,13 @@ function PackageInstallModal(props) {
|
|
|
6822
6997
|
type: "button",
|
|
6823
6998
|
onClick: () => onDismiss(packageName),
|
|
6824
6999
|
disabled: installing,
|
|
6825
|
-
className: twMerge(buttonStyles, "border border-
|
|
7000
|
+
className: twMerge(buttonStyles, "border border-border bg-background text-foreground", installing && "cursor-not-allowed opacity-50"),
|
|
6826
7001
|
children: "Dismiss"
|
|
6827
7002
|
}), /* @__PURE__ */ jsx("button", {
|
|
6828
7003
|
type: "button",
|
|
6829
7004
|
onClick: () => void handleInstall(packageName),
|
|
6830
7005
|
disabled: installing,
|
|
6831
|
-
className: twMerge(buttonStyles, "bg-
|
|
7006
|
+
className: twMerge(buttonStyles, "bg-primary text-primary-foreground", installing && "cursor-not-allowed opacity-50"),
|
|
6832
7007
|
children: installing ? "Installing..." : "Install"
|
|
6833
7008
|
})]
|
|
6834
7009
|
})
|
|
@@ -6873,12 +7048,12 @@ function ReadRequiredModal(props) {
|
|
|
6873
7048
|
className: "w-[500px] p-6",
|
|
6874
7049
|
children: [
|
|
6875
7050
|
/* @__PURE__ */ jsx("div", {
|
|
6876
|
-
className: "border-b border-
|
|
7051
|
+
className: "border-b border-border pb-2 text-2xl font-bold text-foreground",
|
|
6877
7052
|
children: header
|
|
6878
7053
|
}),
|
|
6879
7054
|
/* @__PURE__ */ jsx("div", {
|
|
6880
7055
|
ref: contentRef,
|
|
6881
|
-
className: twMerge("my-6 max-h-[245px] overflow-scroll rounded-md bg-
|
|
7056
|
+
className: twMerge("my-6 max-h-[245px] overflow-scroll rounded-md bg-background p-4 text-center", bodyClassName),
|
|
6882
7057
|
children: body
|
|
6883
7058
|
}),
|
|
6884
7059
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -6886,7 +7061,7 @@ function ReadRequiredModal(props) {
|
|
|
6886
7061
|
children: /* @__PURE__ */ jsx("button", {
|
|
6887
7062
|
disabled: disableClose,
|
|
6888
7063
|
onClick: onContinue,
|
|
6889
|
-
className: twMerge("min-h-12 flex-1 transform rounded-xl px-6 py-3 text-base font-semibold transition-all outline-none hover:
|
|
7064
|
+
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"),
|
|
6890
7065
|
children: closeLabel
|
|
6891
7066
|
})
|
|
6892
7067
|
})
|
|
@@ -6929,9 +7104,9 @@ function DependencyVersions(props) {
|
|
|
6929
7104
|
isOpen,
|
|
6930
7105
|
onOpenChange: () => setIsOpen(!isOpen),
|
|
6931
7106
|
title: `App version: ${validatedData.version}`,
|
|
6932
|
-
toggleClassName: "text-
|
|
7107
|
+
toggleClassName: "text-sm text-foreground",
|
|
6933
7108
|
children: /* @__PURE__ */ jsxs("ul", {
|
|
6934
|
-
className: "text-sm text-
|
|
7109
|
+
className: "text-sm text-foreground",
|
|
6935
7110
|
children: [Object.entries(validatedData.dependencies).map(([dep, version]) => /* @__PURE__ */ jsxs("li", {
|
|
6936
7111
|
className: "my-1 flex justify-between pr-1",
|
|
6937
7112
|
children: [/* @__PURE__ */ jsxs("span", { children: [dep.replace("@powerhousedao/", ""), ":"] }), /* @__PURE__ */ jsx("span", {
|
|
@@ -6953,14 +7128,14 @@ function DependencyVersions(props) {
|
|
|
6953
7128
|
function About(props) {
|
|
6954
7129
|
const { packageJson, phCliVersion } = props;
|
|
6955
7130
|
return /* @__PURE__ */ jsxs("div", {
|
|
6956
|
-
className: "bg-
|
|
7131
|
+
className: "bg-background p-3",
|
|
6957
7132
|
children: [
|
|
6958
7133
|
/* @__PURE__ */ jsx("h2", {
|
|
6959
|
-
className: "font-semibold text-
|
|
7134
|
+
className: "font-semibold text-foreground",
|
|
6960
7135
|
children: "About"
|
|
6961
7136
|
}),
|
|
6962
7137
|
/* @__PURE__ */ jsx("p", {
|
|
6963
|
-
className: "text-sm font-normal text-
|
|
7138
|
+
className: "text-sm font-normal text-foreground",
|
|
6964
7139
|
children: "Connect is the hub for your most important documents and processes translated into software. Easily capture data in a structured way with Connect."
|
|
6965
7140
|
}),
|
|
6966
7141
|
/* @__PURE__ */ jsx("div", {
|
|
@@ -6988,15 +7163,15 @@ function getDriveSharingType(drive) {
|
|
|
6988
7163
|
function DangerZone(props) {
|
|
6989
7164
|
const { className, ...rest } = props;
|
|
6990
7165
|
return /* @__PURE__ */ jsxs("div", {
|
|
6991
|
-
className: twMerge("h-full rounded-lg bg-
|
|
7166
|
+
className: twMerge("h-full rounded-lg bg-background p-3", className),
|
|
6992
7167
|
children: [
|
|
6993
7168
|
/* @__PURE__ */ jsx("h2", {
|
|
6994
|
-
className: "mb-4 font-semibold text-
|
|
7169
|
+
className: "mb-4 font-semibold text-foreground",
|
|
6995
7170
|
children: "Modify Drives"
|
|
6996
7171
|
}),
|
|
6997
7172
|
/* @__PURE__ */ jsx(ModifyDrives, { ...rest }),
|
|
6998
7173
|
/* @__PURE__ */ jsx("h2", {
|
|
6999
|
-
className: "my-4 font-semibold text-
|
|
7174
|
+
className: "my-4 font-semibold text-foreground",
|
|
7000
7175
|
children: "Local Storage"
|
|
7001
7176
|
}),
|
|
7002
7177
|
/* @__PURE__ */ jsx(LocalStorage, { ...rest })
|
|
@@ -7050,7 +7225,7 @@ function Drive(props) {
|
|
|
7050
7225
|
}
|
|
7051
7226
|
const icon = getNodeIcon();
|
|
7052
7227
|
return /* @__PURE__ */ jsxs("div", {
|
|
7053
|
-
className: twMerge("mb-4 flex w-96 items-center gap-2 rounded-md border border-
|
|
7228
|
+
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),
|
|
7054
7229
|
children: [
|
|
7055
7230
|
icon,
|
|
7056
7231
|
/* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("span", {
|
|
@@ -7059,17 +7234,17 @@ function Drive(props) {
|
|
|
7059
7234
|
}), /* @__PURE__ */ jsxs("div", {
|
|
7060
7235
|
className: "flex items-baseline gap-x-2 leading-4.5",
|
|
7061
7236
|
children: [/* @__PURE__ */ jsxs("span", {
|
|
7062
|
-
className: "text-sm text-
|
|
7237
|
+
className: "text-sm text-foreground",
|
|
7063
7238
|
children: [capitalCase(getDriveSharingType(drive)), " App"]
|
|
7064
7239
|
}), /* @__PURE__ */ jsxs("a", {
|
|
7065
7240
|
href: "https://www.powerhouse.inc/",
|
|
7066
7241
|
target: "_blank",
|
|
7067
7242
|
rel: "noopener noreferrer",
|
|
7068
|
-
className: "group flex items-center gap-x-2 text-sm text-
|
|
7243
|
+
className: "group flex items-center gap-x-2 text-sm text-muted-foreground transition-colors hover:hover-effect",
|
|
7069
7244
|
children: ["By Powerhouse", /* @__PURE__ */ jsx("svg", {
|
|
7070
7245
|
xmlns: "http://www.w3.org/2000/svg",
|
|
7071
7246
|
viewBox: "0 0 12 12",
|
|
7072
|
-
className: "size-4 text-
|
|
7247
|
+
className: "size-4 text-muted-foreground transition-colors group-hover:hover-effect",
|
|
7073
7248
|
children: /* @__PURE__ */ jsx("path", {
|
|
7074
7249
|
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",
|
|
7075
7250
|
fill: "currentColor"
|
|
@@ -7082,7 +7257,7 @@ function Drive(props) {
|
|
|
7082
7257
|
id: "delete-drive",
|
|
7083
7258
|
label: "Delete",
|
|
7084
7259
|
icon: /* @__PURE__ */ jsx(Icon, { name: "Trash" }),
|
|
7085
|
-
className: "text-
|
|
7260
|
+
className: "text-destructive"
|
|
7086
7261
|
}],
|
|
7087
7262
|
onItemClick: (id) => {
|
|
7088
7263
|
if (id === "delete-drive") onDeleteDrive(drive);
|
|
@@ -7096,7 +7271,7 @@ function Drive(props) {
|
|
|
7096
7271
|
setIsDropdownMenuOpen(true);
|
|
7097
7272
|
},
|
|
7098
7273
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
7099
|
-
className: "text-
|
|
7274
|
+
className: "text-foreground group-hover:hover-effect",
|
|
7100
7275
|
name: "VerticalDots",
|
|
7101
7276
|
size: 16
|
|
7102
7277
|
})
|
|
@@ -7108,7 +7283,7 @@ function Drive(props) {
|
|
|
7108
7283
|
function LocalStorage(props) {
|
|
7109
7284
|
const { onClearStorage } = props;
|
|
7110
7285
|
return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("button", {
|
|
7111
|
-
className: "flex items-center gap-x-2 rounded-md border border-
|
|
7286
|
+
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",
|
|
7112
7287
|
onClick: () => void onClearStorage(),
|
|
7113
7288
|
children: ["Clear Storage ", /* @__PURE__ */ jsx(Icon, {
|
|
7114
7289
|
name: "Trash",
|
|
@@ -7121,14 +7296,14 @@ function LocalStorage(props) {
|
|
|
7121
7296
|
function DefaultEditor(props) {
|
|
7122
7297
|
const { className, ...rest } = props;
|
|
7123
7298
|
return /* @__PURE__ */ jsx("div", {
|
|
7124
|
-
className: twMerge("rounded-lg bg-
|
|
7299
|
+
className: twMerge("rounded-lg bg-background p-3", className),
|
|
7125
7300
|
children: /* @__PURE__ */ jsx(DefaultEditorSelect, { ...rest })
|
|
7126
7301
|
});
|
|
7127
7302
|
}
|
|
7128
7303
|
function DefaultEditorSelect(props) {
|
|
7129
7304
|
const { documentModelEditor, setDocumentModelEditor, documentModelEditorOptions, className } = props;
|
|
7130
7305
|
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("h3", {
|
|
7131
|
-
className: "mb-4 font-semibold text-
|
|
7306
|
+
className: "mb-4 font-semibold text-foreground",
|
|
7132
7307
|
children: "Default Editor Selection"
|
|
7133
7308
|
}), /* @__PURE__ */ jsx(SelectFieldRaw, {
|
|
7134
7309
|
className: twMerge("max-w-fit min-w-36", className),
|
|
@@ -7232,7 +7407,7 @@ const VersionPicker = (props) => {
|
|
|
7232
7407
|
},
|
|
7233
7408
|
children: [/* @__PURE__ */ jsxs(PopoverTrigger, {
|
|
7234
7409
|
disabled: disabled || !hasAnyPickable,
|
|
7235
|
-
className: twMerge("flex items-center justify-between gap-2 rounded-md border border-
|
|
7410
|
+
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),
|
|
7236
7411
|
"data-version-picker-trigger": true,
|
|
7237
7412
|
children: [/* @__PURE__ */ jsx("span", {
|
|
7238
7413
|
className: "truncate",
|
|
@@ -7240,7 +7415,7 @@ const VersionPicker = (props) => {
|
|
|
7240
7415
|
}), /* @__PURE__ */ jsx(Icon, {
|
|
7241
7416
|
name: "ChevronDown",
|
|
7242
7417
|
size: 12,
|
|
7243
|
-
className: "shrink-0 text-
|
|
7418
|
+
className: "shrink-0 text-muted-foreground"
|
|
7244
7419
|
})]
|
|
7245
7420
|
}), /* @__PURE__ */ jsxs(PopoverContent, {
|
|
7246
7421
|
"data-version-picker": true,
|
|
@@ -7249,13 +7424,13 @@ const VersionPicker = (props) => {
|
|
|
7249
7424
|
className: "w-56 p-0",
|
|
7250
7425
|
onOpenAutoFocus: (e) => e.preventDefault(),
|
|
7251
7426
|
children: [/* @__PURE__ */ jsx("div", {
|
|
7252
|
-
className: "border-b border-
|
|
7427
|
+
className: "border-b border-border p-2",
|
|
7253
7428
|
children: /* @__PURE__ */ jsxs("div", {
|
|
7254
7429
|
className: "relative",
|
|
7255
7430
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
7256
7431
|
name: "Search",
|
|
7257
7432
|
size: 14,
|
|
7258
|
-
className: "absolute top-1/2 left-2 -translate-y-1/2 text-
|
|
7433
|
+
className: "absolute top-1/2 left-2 -translate-y-1/2 text-muted-foreground"
|
|
7259
7434
|
}), /* @__PURE__ */ jsx(Input, {
|
|
7260
7435
|
value: query,
|
|
7261
7436
|
onChange: (e) => setQuery(e.target.value),
|
|
@@ -7267,13 +7442,13 @@ const VersionPicker = (props) => {
|
|
|
7267
7442
|
className: "max-h-60 overflow-y-auto py-1",
|
|
7268
7443
|
children: [
|
|
7269
7444
|
filteredTags.length === 0 && filteredVersions.length === 0 && /* @__PURE__ */ jsx("p", {
|
|
7270
|
-
className: "px-3 py-4 text-center text-xs text-
|
|
7445
|
+
className: "px-3 py-4 text-center text-xs text-muted-foreground",
|
|
7271
7446
|
children: "No matches."
|
|
7272
7447
|
}),
|
|
7273
7448
|
filteredTags.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
7274
7449
|
className: "pb-1",
|
|
7275
7450
|
children: [/* @__PURE__ */ jsx("p", {
|
|
7276
|
-
className: "px-3 py-1 text-xs font-semibold tracking-wide text-
|
|
7451
|
+
className: "px-3 py-1 text-xs font-semibold tracking-wide text-muted-foreground uppercase",
|
|
7277
7452
|
children: "Tags"
|
|
7278
7453
|
}), filteredTags.map(([tag, ver]) => {
|
|
7279
7454
|
return /* @__PURE__ */ jsxs("button", {
|
|
@@ -7286,19 +7461,19 @@ const VersionPicker = (props) => {
|
|
|
7286
7461
|
setOpen(false);
|
|
7287
7462
|
setQuery("");
|
|
7288
7463
|
},
|
|
7289
|
-
className: twMerge("flex w-full items-center justify-between gap-2 px-3 py-1.5 text-left text-xs transition-colors", "hover:
|
|
7464
|
+
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"),
|
|
7290
7465
|
children: [/* @__PURE__ */ jsx("span", {
|
|
7291
|
-
className: "truncate text-
|
|
7466
|
+
className: "truncate text-foreground",
|
|
7292
7467
|
children: tag
|
|
7293
7468
|
}), /* @__PURE__ */ jsx("span", {
|
|
7294
|
-
className: "truncate text-
|
|
7469
|
+
className: "truncate text-muted-foreground",
|
|
7295
7470
|
children: ver
|
|
7296
7471
|
})]
|
|
7297
7472
|
}, `tag:${tag}`);
|
|
7298
7473
|
})]
|
|
7299
7474
|
}),
|
|
7300
7475
|
filteredVersions.length > 0 && /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("p", {
|
|
7301
|
-
className: "px-3 py-1 text-xs font-semibold tracking-wide text-
|
|
7476
|
+
className: "px-3 py-1 text-xs font-semibold tracking-wide text-muted-foreground uppercase",
|
|
7302
7477
|
children: "Versions"
|
|
7303
7478
|
}), filteredVersions.map((ver) => {
|
|
7304
7479
|
return /* @__PURE__ */ jsx("button", {
|
|
@@ -7311,9 +7486,9 @@ const VersionPicker = (props) => {
|
|
|
7311
7486
|
setOpen(false);
|
|
7312
7487
|
setQuery("");
|
|
7313
7488
|
},
|
|
7314
|
-
className: twMerge("flex w-full items-center px-3 py-1.5 text-left text-xs transition-colors", "hover:
|
|
7489
|
+
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"),
|
|
7315
7490
|
children: /* @__PURE__ */ jsx("span", {
|
|
7316
|
-
className: "truncate text-
|
|
7491
|
+
className: "truncate text-foreground",
|
|
7317
7492
|
children: ver
|
|
7318
7493
|
})
|
|
7319
7494
|
}, `ver:${ver}`);
|
|
@@ -7359,20 +7534,20 @@ function PackageResultCard(props) {
|
|
|
7359
7534
|
const isSelecting = selectingValue === installSpec;
|
|
7360
7535
|
const isDisabled = option.disabled === true;
|
|
7361
7536
|
return /* @__PURE__ */ jsxs("div", {
|
|
7362
|
-
className: "flex items-start justify-between gap-3 rounded-md p-2 hover:
|
|
7537
|
+
className: "flex items-start justify-between gap-3 rounded-md p-2 hover:hover-effect",
|
|
7363
7538
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
7364
7539
|
className: "min-w-0 flex-1",
|
|
7365
7540
|
children: [
|
|
7366
7541
|
/* @__PURE__ */ jsx("p", {
|
|
7367
|
-
className: "truncate text-sm font-medium text-
|
|
7542
|
+
className: "truncate text-sm font-medium text-foreground",
|
|
7368
7543
|
children: baseName
|
|
7369
7544
|
}),
|
|
7370
7545
|
option.description && /* @__PURE__ */ jsx("p", {
|
|
7371
|
-
className: "truncate text-xs text-
|
|
7546
|
+
className: "truncate text-xs text-foreground",
|
|
7372
7547
|
children: option.description
|
|
7373
7548
|
}),
|
|
7374
7549
|
option.meta && /* @__PURE__ */ jsx("p", {
|
|
7375
|
-
className: "truncate text-xs text-
|
|
7550
|
+
className: "truncate text-xs text-foreground",
|
|
7376
7551
|
children: option.meta
|
|
7377
7552
|
}),
|
|
7378
7553
|
hasVersionMetadata && /* @__PURE__ */ jsx("div", {
|
|
@@ -7392,12 +7567,12 @@ function PackageResultCard(props) {
|
|
|
7392
7567
|
className: "flex items-center justify-center",
|
|
7393
7568
|
children: selectingContent
|
|
7394
7569
|
}) : isDisabled ? /* @__PURE__ */ jsx("span", {
|
|
7395
|
-
className: "rounded-md bg-
|
|
7570
|
+
className: "rounded-md bg-muted px-3 py-1 text-xs font-medium text-muted-foreground",
|
|
7396
7571
|
children: option.disabledLabel ?? "Unavailable"
|
|
7397
7572
|
}) : /* @__PURE__ */ jsx("button", {
|
|
7398
7573
|
onClick: () => handleSelect(installSpec),
|
|
7399
7574
|
disabled: isSelecting,
|
|
7400
|
-
className: "rounded-md bg-
|
|
7575
|
+
className: "rounded-md bg-primary px-3 py-1 text-xs font-medium text-primary-foreground transition-colors hover:hover-effect disabled:disabled-effect",
|
|
7401
7576
|
children: isSelecting ? "..." : selectLabel
|
|
7402
7577
|
})
|
|
7403
7578
|
})]
|
|
@@ -7445,7 +7620,7 @@ const PackageManagerInput = (props) => {
|
|
|
7445
7620
|
return /* @__PURE__ */ jsxs("div", {
|
|
7446
7621
|
className,
|
|
7447
7622
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
7448
|
-
className: "mb-4 font-semibold text-
|
|
7623
|
+
className: "mb-4 font-semibold text-foreground",
|
|
7449
7624
|
children: "Install Package"
|
|
7450
7625
|
}), /* @__PURE__ */ jsx(SearchAutocomplete, {
|
|
7451
7626
|
fetchOptions,
|
|
@@ -7470,10 +7645,10 @@ const PackageDetail = ({ label, value }) => {
|
|
|
7470
7645
|
return /* @__PURE__ */ jsxs("div", {
|
|
7471
7646
|
className: "flex items-start gap-2 text-sm",
|
|
7472
7647
|
children: [/* @__PURE__ */ jsxs("p", {
|
|
7473
|
-
className: "text-
|
|
7648
|
+
className: "text-foreground",
|
|
7474
7649
|
children: [label, ":"]
|
|
7475
7650
|
}), /* @__PURE__ */ jsx("p", {
|
|
7476
|
-
className: "text-
|
|
7651
|
+
className: "text-foreground",
|
|
7477
7652
|
children: value
|
|
7478
7653
|
})]
|
|
7479
7654
|
});
|
|
@@ -7492,25 +7667,25 @@ const PackageManagerListItem = (props) => {
|
|
|
7492
7667
|
id: "install",
|
|
7493
7668
|
label: "Install",
|
|
7494
7669
|
icon: /* @__PURE__ */ jsx(Icon, { name: "DownloadFile" }),
|
|
7495
|
-
className: "text-
|
|
7670
|
+
className: "text-foreground"
|
|
7496
7671
|
};
|
|
7497
7672
|
const uninstallDropdownItem = {
|
|
7498
7673
|
id: "uninstall",
|
|
7499
7674
|
label: "Uninstall",
|
|
7500
7675
|
icon: /* @__PURE__ */ jsx(Icon, { name: "Trash" }),
|
|
7501
|
-
className: "text-
|
|
7676
|
+
className: "text-destructive"
|
|
7502
7677
|
};
|
|
7503
7678
|
function getDropdownItems() {
|
|
7504
7679
|
return [canPickVersion ? installDropdownItem : void 0, registryPackage.status === "registry-install" ? uninstallDropdownItem : void 0].filter((item) => item !== void 0);
|
|
7505
7680
|
}
|
|
7506
7681
|
const dropdownItems = getDropdownItems();
|
|
7507
7682
|
return /* @__PURE__ */ jsxs("li", {
|
|
7508
|
-
className: twMerge("relative flex flex-col items-start rounded-md border border-
|
|
7683
|
+
className: twMerge("relative flex flex-col items-start rounded-md border border-border bg-background p-3 text-sm/5 shadow-sm", className),
|
|
7509
7684
|
children: [
|
|
7510
7685
|
/* @__PURE__ */ jsxs("div", {
|
|
7511
7686
|
className: "flex flex-wrap items-center gap-2 pr-8",
|
|
7512
7687
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
7513
|
-
className: "font-semibold text-
|
|
7688
|
+
className: "font-semibold text-foreground",
|
|
7514
7689
|
children: registryPackage.name
|
|
7515
7690
|
}), canPickVersion && hasVersionMetadata ? /* @__PURE__ */ jsx(VersionPicker, {
|
|
7516
7691
|
distTags: registryPackage.distTags,
|
|
@@ -7518,7 +7693,7 @@ const PackageManagerListItem = (props) => {
|
|
|
7518
7693
|
selected,
|
|
7519
7694
|
onChange: setSelected
|
|
7520
7695
|
}) : registryPackage.version ? /* @__PURE__ */ jsxs("span", {
|
|
7521
|
-
className: "text-xs font-normal text-
|
|
7696
|
+
className: "text-xs font-normal text-muted-foreground",
|
|
7522
7697
|
children: ["v", registryPackage.version]
|
|
7523
7698
|
}) : null]
|
|
7524
7699
|
}),
|
|
@@ -7566,7 +7741,7 @@ const PackageManagerListItem = (props) => {
|
|
|
7566
7741
|
setIsDropdownMenuOpen(true);
|
|
7567
7742
|
},
|
|
7568
7743
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
7569
|
-
className: "text-
|
|
7744
|
+
className: "text-foreground group-hover:hover-effect",
|
|
7570
7745
|
name: "VerticalDots"
|
|
7571
7746
|
})
|
|
7572
7747
|
})
|
|
@@ -7680,22 +7855,22 @@ const PackageSection = ({ sectionId, title, count, isEmpty, emptyText, children
|
|
|
7680
7855
|
return /* @__PURE__ */ jsxs("section", {
|
|
7681
7856
|
className: "mb-6",
|
|
7682
7857
|
children: [/* @__PURE__ */ jsx("h3", {
|
|
7683
|
-
className: "sticky top-0 z-10 mb-3 border-b border-
|
|
7858
|
+
className: "sticky top-0 z-10 mb-3 border-b border-border bg-background text-foreground",
|
|
7684
7859
|
children: /* @__PURE__ */ jsxs("button", {
|
|
7685
7860
|
type: "button",
|
|
7686
7861
|
onClick: toggle,
|
|
7687
7862
|
"aria-expanded": !collapsed,
|
|
7688
7863
|
"aria-controls": contentId,
|
|
7689
|
-
className: "flex w-full items-center gap-2 pb-2 text-left text-base font-semibold text-
|
|
7864
|
+
className: "flex w-full items-center gap-2 pb-2 text-left text-base font-semibold text-foreground hover:hover-effect",
|
|
7690
7865
|
children: [
|
|
7691
7866
|
/* @__PURE__ */ jsx(Icon, {
|
|
7692
7867
|
name: "ChevronDown",
|
|
7693
7868
|
size: 16,
|
|
7694
|
-
className: twMerge("shrink-0 text-
|
|
7869
|
+
className: twMerge("shrink-0 text-foreground transition-transform", collapsed && "-rotate-90")
|
|
7695
7870
|
}),
|
|
7696
7871
|
/* @__PURE__ */ jsx("span", { children: title }),
|
|
7697
7872
|
/* @__PURE__ */ jsx("span", {
|
|
7698
|
-
className: "text-xs font-medium text-
|
|
7873
|
+
className: "text-xs font-medium text-foreground",
|
|
7699
7874
|
children: count
|
|
7700
7875
|
})
|
|
7701
7876
|
]
|
|
@@ -7703,7 +7878,7 @@ const PackageSection = ({ sectionId, title, count, isEmpty, emptyText, children
|
|
|
7703
7878
|
}), !collapsed && /* @__PURE__ */ jsx("div", {
|
|
7704
7879
|
id: contentId,
|
|
7705
7880
|
children: isEmpty ? /* @__PURE__ */ jsx("p", {
|
|
7706
|
-
className: "text-sm text-
|
|
7881
|
+
className: "text-sm text-foreground",
|
|
7707
7882
|
children: emptyText
|
|
7708
7883
|
}) : /* @__PURE__ */ jsx("div", {
|
|
7709
7884
|
className: "flex flex-col gap-4",
|
|
@@ -7714,9 +7889,9 @@ const PackageSection = ({ sectionId, title, count, isEmpty, emptyText, children
|
|
|
7714
7889
|
};
|
|
7715
7890
|
const PackageSubSection = ({ title, count, children }) => {
|
|
7716
7891
|
return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsxs("h4", {
|
|
7717
|
-
className: "mb-2 flex items-baseline gap-2 text-xs font-semibold tracking-wide text-
|
|
7892
|
+
className: "mb-2 flex items-baseline gap-2 text-xs font-semibold tracking-wide text-foreground uppercase",
|
|
7718
7893
|
children: [/* @__PURE__ */ jsx("span", { children: title }), /* @__PURE__ */ jsxs("span", {
|
|
7719
|
-
className: "font-medium tracking-normal text-
|
|
7894
|
+
className: "font-medium tracking-normal text-muted-foreground normal-case",
|
|
7720
7895
|
children: [
|
|
7721
7896
|
"(",
|
|
7722
7897
|
count,
|
|
@@ -7740,7 +7915,7 @@ const PackageList = ({ packages, onInstall, onUninstall }) => {
|
|
|
7740
7915
|
const PackageManager = (props) => {
|
|
7741
7916
|
const { registryPackageList, onInstall, onUninstall, mutable, disabled, className } = props;
|
|
7742
7917
|
return /* @__PURE__ */ jsxs("div", {
|
|
7743
|
-
className: twMerge("flex h-full flex-1 flex-col rounded-lg bg-
|
|
7918
|
+
className: twMerge("flex h-full flex-1 flex-col rounded-lg bg-background p-3 text-foreground", className),
|
|
7744
7919
|
children: [mutable && /* @__PURE__ */ jsx(PackageManagerInput, {
|
|
7745
7920
|
className: "mb-4",
|
|
7746
7921
|
registryPackageList,
|
|
@@ -7756,13 +7931,13 @@ const PackageManager = (props) => {
|
|
|
7756
7931
|
//#endregion
|
|
7757
7932
|
//#region src/connect/components/modal/settings-modal-v2/settings-modal.tsx
|
|
7758
7933
|
function SettingsModal(props) {
|
|
7759
|
-
const { title, overlayProps, contentProps, onOpenChange, tabs, defaultTab, ...restProps } = props;
|
|
7934
|
+
const { title, overlayProps, contentProps, onOpenChange, tabs, defaultTab, navFooter, ...restProps } = props;
|
|
7760
7935
|
const [selectedTab, setSelectedTab] = useState(defaultTab ?? tabs.at(0)?.id);
|
|
7761
7936
|
const tabsContent = tabs.map((tab) => /* @__PURE__ */ jsx("button", {
|
|
7762
7937
|
type: "button",
|
|
7763
7938
|
onClick: () => setSelectedTab(tab.id),
|
|
7764
7939
|
children: /* @__PURE__ */ jsxs("div", {
|
|
7765
|
-
className: twMerge("flex h-9 w-48 cursor-pointer items-center gap-x-2 rounded-md pl-3 text-
|
|
7940
|
+
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"),
|
|
7766
7941
|
children: [tab.icon, /* @__PURE__ */ jsx("span", { children: tab.label })]
|
|
7767
7942
|
})
|
|
7768
7943
|
}, tab.id));
|
|
@@ -7783,13 +7958,13 @@ function SettingsModal(props) {
|
|
|
7783
7958
|
},
|
|
7784
7959
|
...restProps,
|
|
7785
7960
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
7786
|
-
className: "flex justify-between rounded-t-xl border-b border-
|
|
7961
|
+
className: "flex justify-between rounded-t-xl border-b border-border p-4",
|
|
7787
7962
|
children: [/* @__PURE__ */ jsx("h1", {
|
|
7788
|
-
className: "text-center text-xl font-semibold text-
|
|
7963
|
+
className: "text-center text-xl font-semibold text-foreground",
|
|
7789
7964
|
children: title
|
|
7790
7965
|
}), /* @__PURE__ */ jsx("button", {
|
|
7791
7966
|
type: "button",
|
|
7792
|
-
className: "flex size-6 items-center justify-center rounded-md text-
|
|
7967
|
+
className: "flex size-6 items-center justify-center rounded-md text-foreground outline-none",
|
|
7793
7968
|
onClick: () => onOpenChange?.(false),
|
|
7794
7969
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
7795
7970
|
name: "XmarkLight",
|
|
@@ -7798,11 +7973,17 @@ function SettingsModal(props) {
|
|
|
7798
7973
|
})]
|
|
7799
7974
|
}), /* @__PURE__ */ jsxs("div", {
|
|
7800
7975
|
className: "flex flex-1",
|
|
7801
|
-
children: [/* @__PURE__ */
|
|
7802
|
-
className: "flex flex-col
|
|
7803
|
-
children:
|
|
7976
|
+
children: [/* @__PURE__ */ jsxs("div", {
|
|
7977
|
+
className: "flex flex-col p-3 pt-6",
|
|
7978
|
+
children: [/* @__PURE__ */ jsx("div", {
|
|
7979
|
+
className: "flex flex-col gap-y-1",
|
|
7980
|
+
children: tabsContent
|
|
7981
|
+
}), navFooter && /* @__PURE__ */ jsx("div", {
|
|
7982
|
+
className: "mt-auto border-t border-border pt-2",
|
|
7983
|
+
children: navFooter
|
|
7984
|
+
})]
|
|
7804
7985
|
}), /* @__PURE__ */ jsx("div", {
|
|
7805
|
-
className: "m-6 flex h-full flex-1 flex-col overflow-hidden rounded-lg border border-
|
|
7986
|
+
className: "m-6 flex h-full flex-1 flex-col overflow-hidden rounded-lg border border-border bg-background",
|
|
7806
7987
|
children: typeof SelectedTabComponent === "function" ? /* @__PURE__ */ jsx(SelectedTabComponent, {}) : SelectedTabComponent
|
|
7807
7988
|
})]
|
|
7808
7989
|
})]
|
|
@@ -7821,14 +8002,14 @@ function ConnectUpgradeDriveModal(props) {
|
|
|
7821
8002
|
},
|
|
7822
8003
|
...restProps,
|
|
7823
8004
|
children: /* @__PURE__ */ jsxs("div", {
|
|
7824
|
-
className: "w-100 bg-
|
|
8005
|
+
className: "w-100 bg-background p-6 text-foreground",
|
|
7825
8006
|
children: [
|
|
7826
8007
|
/* @__PURE__ */ jsx("div", {
|
|
7827
|
-
className: "pb-2 text-2xl font-bold text-
|
|
8008
|
+
className: "pb-2 text-2xl font-bold text-foreground",
|
|
7828
8009
|
children: header
|
|
7829
8010
|
}),
|
|
7830
8011
|
/* @__PURE__ */ jsx("div", {
|
|
7831
|
-
className: "my-6 rounded-md bg-
|
|
8012
|
+
className: "my-6 rounded-md bg-background p-4 text-center text-foreground",
|
|
7832
8013
|
children: body
|
|
7833
8014
|
}),
|
|
7834
8015
|
/* @__PURE__ */ jsxs("div", {
|
|
@@ -7852,12 +8033,12 @@ function ConnectUpgradeDriveModal(props) {
|
|
|
7852
8033
|
function Branch(props) {
|
|
7853
8034
|
const { branch = "main" } = props;
|
|
7854
8035
|
return /* @__PURE__ */ jsxs("button", {
|
|
7855
|
-
className: "flex h-8 w-fit items-center gap-1 rounded-lg bg-
|
|
8036
|
+
className: "flex h-8 w-fit items-center gap-1 rounded-lg bg-background pr-2 pl-1 text-xs text-foreground",
|
|
7856
8037
|
children: [
|
|
7857
8038
|
/* @__PURE__ */ jsx(Icon, { name: "Branch" }),
|
|
7858
8039
|
/* @__PURE__ */ jsx("span", { children: "BRANCH" }),
|
|
7859
8040
|
/* @__PURE__ */ jsx("span", {
|
|
7860
|
-
className: "text-
|
|
8041
|
+
className: "text-foreground",
|
|
7861
8042
|
children: branch
|
|
7862
8043
|
})
|
|
7863
8044
|
]
|
|
@@ -7878,13 +8059,13 @@ function DocId(props) {
|
|
|
7878
8059
|
};
|
|
7879
8060
|
}
|
|
7880
8061
|
return /* @__PURE__ */ jsxs("button", {
|
|
7881
|
-
className: "flex h-8 w-fit items-center gap-1 rounded-lg bg-
|
|
8062
|
+
className: "flex h-8 w-fit items-center gap-1 rounded-lg bg-background pr-2 pl-1 text-xs text-foreground",
|
|
7882
8063
|
onClick: handleCopy(docId),
|
|
7883
8064
|
children: [
|
|
7884
8065
|
/* @__PURE__ */ jsx(Icon, { name: "Link" }),
|
|
7885
8066
|
"DOC ID",
|
|
7886
8067
|
/* @__PURE__ */ jsx("span", {
|
|
7887
|
-
className: "text-
|
|
8068
|
+
className: "text-foreground",
|
|
7888
8069
|
children: docId
|
|
7889
8070
|
})
|
|
7890
8071
|
]
|
|
@@ -7903,7 +8084,7 @@ const DocumentState = (props) => {
|
|
|
7903
8084
|
});
|
|
7904
8085
|
}
|
|
7905
8086
|
return /* @__PURE__ */ jsx("button", {
|
|
7906
|
-
className: "rounded-lg bg-
|
|
8087
|
+
className: "rounded-lg bg-background p-1 text-foreground",
|
|
7907
8088
|
onClick: handleCopy,
|
|
7908
8089
|
children: /* @__PURE__ */ jsx(Icon, { name: "CurlyBrackets" })
|
|
7909
8090
|
});
|
|
@@ -7914,9 +8095,9 @@ function Scope(props) {
|
|
|
7914
8095
|
const { value, onChange } = props;
|
|
7915
8096
|
return /* @__PURE__ */ jsx(ConnectSelect, {
|
|
7916
8097
|
absolutePositionMenu: true,
|
|
7917
|
-
containerClassName: "
|
|
8098
|
+
containerClassName: "z-10 w-fit rounded-lg bg-background text-xs text-muted-foreground",
|
|
7918
8099
|
id: "scope select",
|
|
7919
|
-
itemClassName: "
|
|
8100
|
+
itemClassName: "grid grid-cols-[auto,auto] gap-1 py-2 text-muted-foreground",
|
|
7920
8101
|
items: [{
|
|
7921
8102
|
displayValue: "Global scope",
|
|
7922
8103
|
value: "global"
|
|
@@ -7924,7 +8105,7 @@ function Scope(props) {
|
|
|
7924
8105
|
displayValue: "Local scope",
|
|
7925
8106
|
value: "local"
|
|
7926
8107
|
}],
|
|
7927
|
-
menuClassName: "min-w-0 text-
|
|
8108
|
+
menuClassName: "min-w-0 text-muted-foreground",
|
|
7928
8109
|
onChange,
|
|
7929
8110
|
value
|
|
7930
8111
|
});
|
|
@@ -7940,11 +8121,11 @@ function Header(props) {
|
|
|
7940
8121
|
className: "flex items-center gap-3",
|
|
7941
8122
|
children: [/* @__PURE__ */ jsx("button", {
|
|
7942
8123
|
name: "close-revision-history",
|
|
7943
|
-
className: "rounded-lg bg-
|
|
8124
|
+
className: "rounded-lg bg-background p-1 text-foreground shadow-button",
|
|
7944
8125
|
onClick: onClose,
|
|
7945
8126
|
children: /* @__PURE__ */ jsx(Icon, { name: "VariantArrowLeft" })
|
|
7946
8127
|
}), /* @__PURE__ */ jsx("h1", {
|
|
7947
|
-
className: "text-xs text-
|
|
8128
|
+
className: "text-xs text-foreground",
|
|
7948
8129
|
children: title
|
|
7949
8130
|
})]
|
|
7950
8131
|
}), /* @__PURE__ */ jsxs("div", {
|
|
@@ -8065,7 +8246,7 @@ function CodePopover(props) {
|
|
|
8065
8246
|
bottom: -1e4,
|
|
8066
8247
|
left: 24
|
|
8067
8248
|
},
|
|
8068
|
-
className: "z-50 rounded-lg border border-
|
|
8249
|
+
className: "z-50 rounded-lg border border-border bg-popover p-2 text-xs text-popover-foreground shadow-tooltip outline-none",
|
|
8069
8250
|
children: content
|
|
8070
8251
|
}) })
|
|
8071
8252
|
]
|
|
@@ -8081,7 +8262,7 @@ function Address(props) {
|
|
|
8081
8262
|
return /* @__PURE__ */ jsx(CodePopover, {
|
|
8082
8263
|
content: /* @__PURE__ */ jsx(FormattedJsonViewer, { value: { address } }),
|
|
8083
8264
|
trigger: /* @__PURE__ */ jsxs("span", {
|
|
8084
|
-
className: "flex w-fit cursor-pointer items-center gap-1 rounded-lg bg-
|
|
8265
|
+
className: "flex w-fit cursor-pointer items-center gap-1 rounded-lg bg-muted p-1 text-xs text-muted-foreground",
|
|
8085
8266
|
children: [/* @__PURE__ */ jsx(ENSAvatar, {
|
|
8086
8267
|
address,
|
|
8087
8268
|
chainId,
|
|
@@ -8095,7 +8276,7 @@ function Address(props) {
|
|
|
8095
8276
|
function Errors(props) {
|
|
8096
8277
|
const { errors } = props;
|
|
8097
8278
|
const hasErrors = !!errors?.length;
|
|
8098
|
-
const color = hasErrors ? "text-
|
|
8279
|
+
const color = hasErrors ? "text-destructive" : "text-success";
|
|
8099
8280
|
const icon = hasErrors ? /* @__PURE__ */ jsx(Icon, {
|
|
8100
8281
|
name: "Exclamation",
|
|
8101
8282
|
size: 16
|
|
@@ -8105,7 +8286,7 @@ function Errors(props) {
|
|
|
8105
8286
|
});
|
|
8106
8287
|
const text = hasErrors ? `Error: ${errors[0]}` : "No errors";
|
|
8107
8288
|
const content = /* @__PURE__ */ jsxs("span", {
|
|
8108
|
-
className: twMerge("flex w-fit items-center rounded-lg border border-
|
|
8289
|
+
className: twMerge("flex w-fit items-center rounded-lg border border-border bg-background px-2 py-1 text-xs", color, hasErrors && "cursor-pointer"),
|
|
8109
8290
|
children: [icon, /* @__PURE__ */ jsx("span", {
|
|
8110
8291
|
className: twMerge("inline-block max-w-36 truncate"),
|
|
8111
8292
|
children: text
|
|
@@ -8124,9 +8305,9 @@ function Operation$1(props) {
|
|
|
8124
8305
|
return /* @__PURE__ */ jsx(CodePopover, {
|
|
8125
8306
|
content: /* @__PURE__ */ jsx(FormattedJsonViewer, { value: operationInput }),
|
|
8126
8307
|
trigger: /* @__PURE__ */ jsxs("span", {
|
|
8127
|
-
className: "flex cursor-pointer items-center gap-2 text-xs text-
|
|
8308
|
+
className: "flex cursor-pointer items-center gap-2 text-xs text-foreground",
|
|
8128
8309
|
children: [operationType, /* @__PURE__ */ jsx(Icon, {
|
|
8129
|
-
className: "text-
|
|
8310
|
+
className: "text-foreground",
|
|
8130
8311
|
name: "Braces",
|
|
8131
8312
|
size: 16
|
|
8132
8313
|
})]
|
|
@@ -8145,13 +8326,13 @@ function RevisionNumber(props) {
|
|
|
8145
8326
|
stateHash
|
|
8146
8327
|
} }),
|
|
8147
8328
|
trigger: /* @__PURE__ */ jsxs("span", {
|
|
8148
|
-
className: "flex cursor-pointer items-center gap-2 text-xs text-
|
|
8329
|
+
className: "flex cursor-pointer items-center gap-2 text-xs text-foreground",
|
|
8149
8330
|
children: [
|
|
8150
8331
|
"Revision ",
|
|
8151
8332
|
revisionNumber,
|
|
8152
8333
|
".",
|
|
8153
8334
|
/* @__PURE__ */ jsx("a", { children: /* @__PURE__ */ jsx(Icon, {
|
|
8154
|
-
className: "cursor-pointer text-
|
|
8335
|
+
className: "cursor-pointer text-foreground",
|
|
8155
8336
|
name: "Ellipsis",
|
|
8156
8337
|
size: 14
|
|
8157
8338
|
}) })
|
|
@@ -8166,12 +8347,12 @@ function Signature(props) {
|
|
|
8166
8347
|
if (!signatures?.length) return null;
|
|
8167
8348
|
return /* @__PURE__ */ jsx(CodePopover, {
|
|
8168
8349
|
trigger: /* @__PURE__ */ jsxs("span", {
|
|
8169
|
-
className: "flex w-fit cursor-pointer items-center gap-1 rounded-lg border border-
|
|
8350
|
+
className: "flex w-fit cursor-pointer items-center gap-1 rounded-lg border border-border bg-background px-2 py-1",
|
|
8170
8351
|
children: [
|
|
8171
8352
|
/* @__PURE__ */ jsx(VerificationStatus, { signatures }),
|
|
8172
8353
|
" ",
|
|
8173
8354
|
/* @__PURE__ */ jsx(Icon, {
|
|
8174
|
-
className: "text-
|
|
8355
|
+
className: "text-foreground",
|
|
8175
8356
|
name: "InfoSquare",
|
|
8176
8357
|
size: 16
|
|
8177
8358
|
})
|
|
@@ -8190,7 +8371,7 @@ function VerificationStatus(props) {
|
|
|
8190
8371
|
const verifiedSignaturesCount = signatures.filter((signature) => signature.isVerified).length;
|
|
8191
8372
|
const verificationStatusText = `${verifiedSignaturesCount}/${signatureCount} ${signatureCount === 1 ? "signature" : "signatures"} verified`;
|
|
8192
8373
|
return /* @__PURE__ */ jsx("span", {
|
|
8193
|
-
className: `text-xs
|
|
8374
|
+
className: twMerge(`text-xs`, verifiedSignaturesCount === 0 ? "text-destructive" : verifiedSignaturesCount === signatureCount ? "text-success" : "text-warning"),
|
|
8194
8375
|
children: verificationStatusText
|
|
8195
8376
|
});
|
|
8196
8377
|
}
|
|
@@ -8207,7 +8388,7 @@ function Timestamp(props) {
|
|
|
8207
8388
|
timestampUtcMs: timestamp
|
|
8208
8389
|
} }),
|
|
8209
8390
|
trigger: /* @__PURE__ */ jsxs("span", {
|
|
8210
|
-
className: "cursor-pointer text-xs text-
|
|
8391
|
+
className: "cursor-pointer text-xs text-foreground",
|
|
8211
8392
|
children: ["committed at ", shortDate]
|
|
8212
8393
|
})
|
|
8213
8394
|
});
|
|
@@ -8216,7 +8397,7 @@ function Timestamp(props) {
|
|
|
8216
8397
|
//#region src/connect/components/revision-history/revision/revision.tsx
|
|
8217
8398
|
function _Revision(props) {
|
|
8218
8399
|
return /* @__PURE__ */ jsxs("article", {
|
|
8219
|
-
className: "flex items-center justify-between rounded-xl border border-
|
|
8400
|
+
className: "flex items-center justify-between rounded-xl border border-border bg-background px-4 py-2",
|
|
8220
8401
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
8221
8402
|
className: "flex items-center gap-2",
|
|
8222
8403
|
children: [
|
|
@@ -8241,16 +8422,16 @@ function Skip(props) {
|
|
|
8241
8422
|
return /* @__PURE__ */ jsxs("article", {
|
|
8242
8423
|
className: "grid grid-cols-[1fr,auto,1fr] items-center py-2",
|
|
8243
8424
|
children: [
|
|
8244
|
-
/* @__PURE__ */ jsx("div", { className: "h-px rounded-full bg-
|
|
8425
|
+
/* @__PURE__ */ jsx("div", { className: "h-px rounded-full bg-muted" }),
|
|
8245
8426
|
/* @__PURE__ */ jsxs("div", {
|
|
8246
|
-
className: "mx-3 text-xs text-
|
|
8427
|
+
className: "mx-3 text-xs text-foreground",
|
|
8247
8428
|
children: [
|
|
8248
8429
|
"[Skipped Revision ",
|
|
8249
8430
|
skippedRevisions,
|
|
8250
8431
|
"]"
|
|
8251
8432
|
]
|
|
8252
8433
|
}),
|
|
8253
|
-
/* @__PURE__ */ jsx("div", { className: "h-px rounded-full bg-
|
|
8434
|
+
/* @__PURE__ */ jsx("div", { className: "h-px rounded-full bg-muted" })
|
|
8254
8435
|
]
|
|
8255
8436
|
});
|
|
8256
8437
|
}
|
|
@@ -8313,7 +8494,7 @@ function Day(props) {
|
|
|
8313
8494
|
const { timestampUtcMs: timestamp } = props;
|
|
8314
8495
|
const formattedDate = format(timestamp, "MMM dd, yyyy");
|
|
8315
8496
|
return /* @__PURE__ */ jsxs("h2", {
|
|
8316
|
-
className: "-ml-6 flex items-center gap-1 bg-
|
|
8497
|
+
className: "-ml-6 flex items-center gap-1 bg-background py-2 text-xs text-foreground",
|
|
8317
8498
|
children: [
|
|
8318
8499
|
/* @__PURE__ */ jsx(Icon, {
|
|
8319
8500
|
name: "Ring",
|
|
@@ -8364,7 +8545,7 @@ function Timeline(props) {
|
|
|
8364
8545
|
};
|
|
8365
8546
|
}, []);
|
|
8366
8547
|
return /* @__PURE__ */ jsx("div", {
|
|
8367
|
-
className: "border-l border-
|
|
8548
|
+
className: "border-l border-border dark:border-none",
|
|
8368
8549
|
ref: parentRef,
|
|
8369
8550
|
style: {
|
|
8370
8551
|
height: `${rowVirtualizer.getTotalSize()}px`,
|
|
@@ -8430,7 +8611,7 @@ function RevisionHistory(props) {
|
|
|
8430
8611
|
})
|
|
8431
8612
|
}) : /* @__PURE__ */ jsx("hr", { className: "h-12 border-none" });
|
|
8432
8613
|
return /* @__PURE__ */ jsx(ConnectTooltipProvider, { children: /* @__PURE__ */ jsxs("div", {
|
|
8433
|
-
className: "p-6
|
|
8614
|
+
className: "p-6",
|
|
8434
8615
|
children: [
|
|
8435
8616
|
/* @__PURE__ */ jsx(Header, {
|
|
8436
8617
|
docId: documentId,
|
|
@@ -8444,7 +8625,7 @@ function RevisionHistory(props) {
|
|
|
8444
8625
|
}),
|
|
8445
8626
|
PaginationComponent,
|
|
8446
8627
|
/* @__PURE__ */ jsx("div", {
|
|
8447
|
-
className: "mt-4 flex justify-center rounded-md bg-
|
|
8628
|
+
className: "mt-4 flex justify-center rounded-md bg-background p-4",
|
|
8448
8629
|
children: visibleOperations.length > 0 ? /* @__PURE__ */ jsx("div", {
|
|
8449
8630
|
className: "grid grid-cols-[minmax(min-content,1018px)]",
|
|
8450
8631
|
children: /* @__PURE__ */ jsx(Timeline, {
|
|
@@ -8453,7 +8634,7 @@ function RevisionHistory(props) {
|
|
|
8453
8634
|
scope
|
|
8454
8635
|
})
|
|
8455
8636
|
}) : /* @__PURE__ */ jsx("h3", {
|
|
8456
|
-
className: "my-40 text-
|
|
8637
|
+
className: "my-40 text-foreground",
|
|
8457
8638
|
children: "This document has no recorded operations yet."
|
|
8458
8639
|
})
|
|
8459
8640
|
}),
|
|
@@ -8469,7 +8650,7 @@ const FilterItem = (props) => {
|
|
|
8469
8650
|
className: twMerge("flex h-full flex-row items-center justify-between gap-x-4 px-2", typeof className === "string" && className),
|
|
8470
8651
|
...containerProps,
|
|
8471
8652
|
children: [item.icon, /* @__PURE__ */ jsx("div", {
|
|
8472
|
-
className: "text-sm font-semibold text-
|
|
8653
|
+
className: "text-sm font-semibold text-foreground",
|
|
8473
8654
|
children: item.label
|
|
8474
8655
|
})]
|
|
8475
8656
|
});
|
|
@@ -8487,7 +8668,7 @@ const ConnectSearchBar = (props) => {
|
|
|
8487
8668
|
className: "gap-x-1",
|
|
8488
8669
|
item: selectedItemFilter
|
|
8489
8670
|
}) : filterLabel && /* @__PURE__ */ jsx("div", {
|
|
8490
|
-
className: "mr-2 text-sm font-semibold text-
|
|
8671
|
+
className: "mr-2 text-sm font-semibold text-foreground",
|
|
8491
8672
|
children: filterLabel
|
|
8492
8673
|
});
|
|
8493
8674
|
function handleChange(event) {
|
|
@@ -8497,11 +8678,11 @@ const ConnectSearchBar = (props) => {
|
|
|
8497
8678
|
className: twMerge("flex items-center", className),
|
|
8498
8679
|
children: [
|
|
8499
8680
|
/* @__PURE__ */ jsx(Icon, {
|
|
8500
|
-
className: "mr-3 text-
|
|
8681
|
+
className: "mr-3 text-foreground",
|
|
8501
8682
|
name: "Search"
|
|
8502
8683
|
}),
|
|
8503
8684
|
/* @__PURE__ */ jsx("input", {
|
|
8504
|
-
className: twMerge("flex h-[52px] min-w-0 flex-1 items-center rounded-xl border border-
|
|
8685
|
+
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"),
|
|
8505
8686
|
onChange: handleChange,
|
|
8506
8687
|
placeholder,
|
|
8507
8688
|
value
|
|
@@ -8514,9 +8695,9 @@ const ConnectSearchBar = (props) => {
|
|
|
8514
8695
|
/* @__PURE__ */ jsx(Icon, { name: "ChevronDown" })
|
|
8515
8696
|
]
|
|
8516
8697
|
}), /* @__PURE__ */ jsx(DropdownMenuContent, {
|
|
8517
|
-
className: "rounded-xl border border-
|
|
8698
|
+
className: "rounded-xl border border-border bg-background p-2",
|
|
8518
8699
|
children: items.map((item) => /* @__PURE__ */ jsx(DropdownMenuItem, {
|
|
8519
|
-
className: "h-10 cursor-pointer overflow-hidden rounded-lg hover:
|
|
8700
|
+
className: "h-10 cursor-pointer overflow-hidden rounded-lg hover:hover-effect",
|
|
8520
8701
|
id: item.id,
|
|
8521
8702
|
onSelect: () => onFilterSelect(item.id),
|
|
8522
8703
|
children: item.content
|
|
@@ -8533,16 +8714,16 @@ const SidebarItem = function SidebarItem(props) {
|
|
|
8533
8714
|
content: title,
|
|
8534
8715
|
side: "right",
|
|
8535
8716
|
sideOffset: 12,
|
|
8536
|
-
className: "border-none bg-
|
|
8717
|
+
className: "border-none bg-primary px-3 py-2 text-sm text-primary-foreground",
|
|
8537
8718
|
children: /* @__PURE__ */ jsxs("div", {
|
|
8538
|
-
className: twMerge("group/sidebar-item relative flex cursor-pointer flex-col items-center justify-center text-center text-sm text-
|
|
8719
|
+
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"),
|
|
8539
8720
|
onClick,
|
|
8540
|
-
children: [active ? /* @__PURE__ */ jsx("div", { className: "absolute top-1/2 left-0 h-10 w-1 -translate-y-1/2 rounded-r-sm bg-
|
|
8721
|
+
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", {
|
|
8541
8722
|
className: "mx-auto py-4",
|
|
8542
8723
|
children: icon || /* @__PURE__ */ jsx("div", {
|
|
8543
|
-
className: "flex size-8 items-center justify-center rounded-lg bg-
|
|
8724
|
+
className: "flex size-8 items-center justify-center rounded-lg bg-primary",
|
|
8544
8725
|
children: /* @__PURE__ */ jsx("span", {
|
|
8545
|
-
className: "text-sm font-medium text-
|
|
8726
|
+
className: "text-sm font-medium text-primary-foreground",
|
|
8546
8727
|
children: title.slice(0, 1).toUpperCase()
|
|
8547
8728
|
})
|
|
8548
8729
|
})
|
|
@@ -8565,56 +8746,6 @@ const SidebarAddDriveItem = function SidebarAddDriveItem(props) {
|
|
|
8565
8746
|
});
|
|
8566
8747
|
};
|
|
8567
8748
|
//#endregion
|
|
8568
|
-
//#region src/connect/components/theme-switch.tsx
|
|
8569
|
-
const OPTIONS = [
|
|
8570
|
-
{
|
|
8571
|
-
value: "light",
|
|
8572
|
-
Icon: Sun,
|
|
8573
|
-
label: "Light"
|
|
8574
|
-
},
|
|
8575
|
-
{
|
|
8576
|
-
value: "dark",
|
|
8577
|
-
Icon: Moon,
|
|
8578
|
-
label: "Dark"
|
|
8579
|
-
},
|
|
8580
|
-
{
|
|
8581
|
-
value: "system",
|
|
8582
|
-
Icon: Monitor,
|
|
8583
|
-
label: "System"
|
|
8584
|
-
}
|
|
8585
|
-
];
|
|
8586
|
-
function ThemeSwitch() {
|
|
8587
|
-
const { theme, isSystem, setTheme } = useTheme();
|
|
8588
|
-
function select(val) {
|
|
8589
|
-
setTheme(val);
|
|
8590
|
-
}
|
|
8591
|
-
function isActive(value) {
|
|
8592
|
-
if (value === "system" && isSystem) return true;
|
|
8593
|
-
if (!isSystem && value === "dark" && theme === "dark") return true;
|
|
8594
|
-
if (!isSystem && value === "light" && theme === "light") return true;
|
|
8595
|
-
return false;
|
|
8596
|
-
}
|
|
8597
|
-
return /* @__PURE__ */ jsx("div", {
|
|
8598
|
-
role: "radiogroup",
|
|
8599
|
-
"aria-label": "Theme",
|
|
8600
|
-
className: "flex w-fit flex-col items-center gap-4 rounded-xl",
|
|
8601
|
-
children: OPTIONS.map(({ value, Icon, label }) => /* @__PURE__ */ jsx("div", {
|
|
8602
|
-
role: "radio",
|
|
8603
|
-
"aria-checked": isActive(value),
|
|
8604
|
-
"aria-label": label,
|
|
8605
|
-
tabIndex: 0,
|
|
8606
|
-
onClick: () => select(value),
|
|
8607
|
-
onKeyDown: (e) => (e.key === "Enter" || e.key === " ") && select(value),
|
|
8608
|
-
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"),
|
|
8609
|
-
children: /* @__PURE__ */ jsx(Icon, {
|
|
8610
|
-
size: 24,
|
|
8611
|
-
strokeWidth: 2,
|
|
8612
|
-
"aria-hidden": "true"
|
|
8613
|
-
})
|
|
8614
|
-
}, value))
|
|
8615
|
-
});
|
|
8616
|
-
}
|
|
8617
|
-
//#endregion
|
|
8618
8749
|
//#region assets/renown-short-dark.png
|
|
8619
8750
|
var renown_short_dark_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAOdEVYdFNvZnR3YXJlAEZpZ21hnrGWYwAABnhJREFUeAHtnU1MXFUUx888WMCwGUDozk7d1WpKlNpuRKILpyVVAmkjRiN+1FZrRBY1sXXBwpqaJloWbaxiCikGI7GhbUrBREC6obUkGGtZMrjkc7qA0ZDMeP4DQ4ZhBu7AvHfvfXN/zYQ376OL87/nnnPPvW+uhwTwMfn5+RWRSOTVaDRazaf8OE2GREL8GfN4PPj8Pjs72yPykGejizC8ZVlNbPRPyBg8U4IsRDs32o5QKBRMd1Neugts+yb+D6BigD8FZMgUNNhqtmFtUVHRo3A4PJbqppQClJSUfMN/WsgYPhv4uAep9Xq9PhahP/niOgHY+Ff4gRNkyDYHWAQ/i3A98eQaAdDyjfFtpSLZE1YFKC0tbWTjnyOD3cATEBNG8CWWBXHA9XOwGKTl9NJgPyFu7Ls4OwpZKyfeImN8J0F6j9R+2QOKi4snyAjgNDEvsLjvryVjfBnEqgvWSmnBIAEeJddCgL1kkALb/gUE4QoyyMIPAUyRTR4+iwxSMQJIxgggmZwSoPnT0/R5y1lSiXzKEcrKy6ly3/7YMU+Q0MLCAqlAznhAVfVLq8eBmldIFXJGgOerX1w9Dhw6HPMCFcgJAarY+GVl5avfvWx8VbzA9QKg76872rDuvCpe4HoB6o40rGn9ceAFxz9sItm4WoB6Nn5VQt+fzLPP7aeDh+R2Ra4VAFlP3dHXNr3vjbffXZMhOU1eYWFhC7kMGPT4yY+F769kT5iZnqbJ4AQ5jesEQHbzzvsfUKZABA//G3/4gJzENQIgo/mo+RQdrDlMW2X3nqc4a9pB/0xO0KJDI2UPT8hHSWNg+AAH0pdrspdWTk9P0bWff6Lhod/IbrQVwA7DJxMXYvzhXzQ9NUV2oKUAqGiiu3CS0Xt36evzX1K20TINXVh0vpLptcnLtO2CMLqFF6DMkGqkmw1Qsu7rvUH9t27aVr7WPggDjHazKYQTho/jCgEAjA8RNio9iHD/j7v03cVWxyZsXDMOWOS4MMrGw2rXJ/c8TVvhansbdbb/QEtLS+QUrhsJj//9gMsKUzyyPZDRc99eaqWBX/vJaVxZC0JNJxMRYPw7gwMkA1cKACACuqW9Fc9seN8v3V2xYCsLV88H9LFhEVTTMTw0EBvpysSWZSk/dl+n7TLDQ3+UAlAUgxG3Wg64zBnN7ovfrytXLJcZukg2yq4LeozncvEBmLkCCLCdnKkEM6jbQ8D+3ps8Nbl2cgYtHyLIRqsuCCPfs+cv0JuN72VUgLt968aavB6Gd6LSKYKWMSDAFdAzXJATFSHuBXHuDMnJeFKhbRDe6d9FzadOC98PL4gzPKhG6wdaZ0HokkRXNcALEENQVlah749jSy1IJAuaSZPRxAOvKDDsscbXSVekZUFNJ4+lvYaWjTU9IpMuqNPjPrRuHVGyC4Ixv2g5Q7d7xUaolfsyq/uohNIxoPNKm1B/7fT0ZDZRPgiLpIxeRZaabwXlBRAZ9do1JekEygsQVuRVIrtQXoDHecC1GTLWdGYL5QUICCw1XNTYS5QWoP6I2EqH0Q1q/qqjZDl6p/+JWMsXXeFw/94I6Yo0AVp5kiQVhZxSZlJqxqyWSrWdTJEmQKY1n1Sgxq/CrNZ20LoaigVUOrd+oOVPFaDlX+1o23DCXRe0EwCFOqxg0zn3T0Q7AS5farXtZQkZSBMAy0USKSvbIfRaKV68Tn5WZ6QJMJyiyomy8malZYwNrnV3ucYLlMqCsExQBHiBW1BKAARYkalFeIHOkzCJKDcOEPWCepd4gXICiHqBSLzQASVHwrnkBcquisgVL1C2FpQrXqCsAPAA0SUpZlmKTYiWmnX2AqUFEJ1s0dkLlJ8P6BN8gU5XL3DNm/K6Yn49XTJGAMkYASQDAUJkkEVsK8MgGWQxZmH/czJIgW3/pxWJRIQ2nzdkH7b9ELog7HVu4oDzBEOhUI+FPW2j0ah7lhloAnc/HfgbT0MvkPECJwly99OOg9iW5v8yBQUF/7EqATLYDvc4zdzxDOF4dU951mDE6/UW86G+L91qADfy1vn5+XPx73mJF8PhcB+LgJeyzA6rNoB+f25u7kTiubzkm1iEHuMJ2QctP9n4IC/VzfAEjgmT/BA8wWx3uz2QZX7G3U5Lqot56Z7imDDGIuBnTx6xEH4yQmQKDP8V/22IB9xUeEgQn89Xa1lW9coW6MYz1oM0PojSzkp1YQxjrM0e+h9BFWjTbagO6AAAAABJRU5ErkJggg==";
|
|
8620
8751
|
//#endregion
|
|
@@ -8647,7 +8778,7 @@ const AccountPopoverLogin = ({ onLogin }) => {
|
|
|
8647
8778
|
children: [/* @__PURE__ */ jsx("div", {
|
|
8648
8779
|
className: "mb-4 flex justify-center",
|
|
8649
8780
|
children: /* @__PURE__ */ jsx("div", {
|
|
8650
|
-
className: "flex h-5.5 w-20.75 items-center justify-center overflow-hidden text-
|
|
8781
|
+
className: "flex h-5.5 w-20.75 items-center justify-center overflow-hidden text-foreground",
|
|
8651
8782
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
8652
8783
|
name: "RenownLight",
|
|
8653
8784
|
size: 83
|
|
@@ -8655,7 +8786,7 @@ const AccountPopoverLogin = ({ onLogin }) => {
|
|
|
8655
8786
|
})
|
|
8656
8787
|
}), /* @__PURE__ */ jsx("button", {
|
|
8657
8788
|
onClick: allowLogin ? handleLogin : void 0,
|
|
8658
|
-
className: twMerge("mt-4 flex h-7 w-full cursor-pointer items-center justify-center rounded-lg border border-
|
|
8789
|
+
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"),
|
|
8659
8790
|
type: "button",
|
|
8660
8791
|
children: content
|
|
8661
8792
|
})]
|
|
@@ -8672,7 +8803,7 @@ const SidebarLogin = ({ onLogin }) => {
|
|
|
8672
8803
|
return /* @__PURE__ */ jsx(AccountPopover, {
|
|
8673
8804
|
content,
|
|
8674
8805
|
children: /* @__PURE__ */ jsxs("div", {
|
|
8675
|
-
className: twMerge("group/sidebar-footer flex w-full items-baseline justify-start text-sm/10 font-semibold text-
|
|
8806
|
+
className: twMerge("group/sidebar-footer flex w-full items-baseline justify-start text-sm/10 font-semibold text-foreground", onLogin ? "cursor-pointer" : "cursor-wait"),
|
|
8676
8807
|
children: [/* @__PURE__ */ jsx("img", {
|
|
8677
8808
|
width: 42,
|
|
8678
8809
|
height: 42,
|
|
@@ -8706,7 +8837,7 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
|
|
|
8706
8837
|
}
|
|
8707
8838
|
}, []);
|
|
8708
8839
|
return /* @__PURE__ */ jsxs("div", {
|
|
8709
|
-
className: "flex flex-col divide-y divide-
|
|
8840
|
+
className: "flex flex-col divide-y divide-border text-foreground",
|
|
8710
8841
|
children: [
|
|
8711
8842
|
/* @__PURE__ */ jsxs("div", {
|
|
8712
8843
|
className: "px-3 py-2",
|
|
@@ -8719,12 +8850,12 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
|
|
|
8719
8850
|
size: "small",
|
|
8720
8851
|
color: "light",
|
|
8721
8852
|
onClick: () => void copyToClipboard(address),
|
|
8722
|
-
className: "w-full cursor-pointer bg-transparent p-0 active:
|
|
8853
|
+
className: "w-full cursor-pointer bg-transparent p-0 active:active-effect",
|
|
8723
8854
|
type: "button",
|
|
8724
8855
|
children: /* @__PURE__ */ jsxs("div", {
|
|
8725
8856
|
className: "relative flex w-full items-center gap-1",
|
|
8726
8857
|
children: [/* @__PURE__ */ jsxs("div", {
|
|
8727
|
-
className: `flex items-center gap-1 transition-opacity duration-150
|
|
8858
|
+
className: twMerge(`flex items-center gap-1 transition-opacity duration-150`, isCopied ? "opacity-0" : "opacity-100"),
|
|
8728
8859
|
children: [/* @__PURE__ */ jsx("span", {
|
|
8729
8860
|
className: "text-xs",
|
|
8730
8861
|
children: shortAddress(address)
|
|
@@ -8734,7 +8865,7 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
|
|
|
8734
8865
|
size: 14
|
|
8735
8866
|
})]
|
|
8736
8867
|
}), /* @__PURE__ */ jsx("div", {
|
|
8737
|
-
className: `absolute left-0 text-xs transition-opacity duration-150
|
|
8868
|
+
className: twMerge(`absolute left-0 text-xs transition-opacity duration-150`, isCopied ? "opacity-100" : "opacity-0"),
|
|
8738
8869
|
children: "Copied to clipboard!"
|
|
8739
8870
|
})]
|
|
8740
8871
|
})
|
|
@@ -8747,7 +8878,7 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
|
|
|
8747
8878
|
href: etherscanUrl,
|
|
8748
8879
|
target: "_blank",
|
|
8749
8880
|
rel: "noopener noreferrer",
|
|
8750
|
-
className: "flex items-center gap-2 text-sm text-
|
|
8881
|
+
className: "flex items-center gap-2 text-sm text-foreground hover:hover-effect",
|
|
8751
8882
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
8752
8883
|
name: "Ethscan",
|
|
8753
8884
|
size: 14
|
|
@@ -8758,7 +8889,7 @@ const AccountPopoverUser = ({ address, onDisconnect, etherscanUrl, username = ""
|
|
|
8758
8889
|
className: "px-3 py-2",
|
|
8759
8890
|
children: /* @__PURE__ */ jsxs("button", {
|
|
8760
8891
|
onClick: onDisconnect,
|
|
8761
|
-
className: twMerge("flex w-full items-center gap-2 text-sm text-
|
|
8892
|
+
className: twMerge("flex w-full items-center gap-2 text-sm text-destructive", onDisconnect ? "cursor-pointer hover:hover-effect" : "pointer-events-none cursor-wait"),
|
|
8762
8893
|
type: "button",
|
|
8763
8894
|
children: [/* @__PURE__ */ jsx(Icon, {
|
|
8764
8895
|
name: "Disconnect",
|
|
@@ -8794,7 +8925,7 @@ const SidebarUser = ({ address, ensName, avatarUrl, etherscanUrl, onDisconnect }
|
|
|
8794
8925
|
const ConnectSidebarFooter = ({ address, ensName, avatarUrl, className, onLogin, onClickSettings, onDisconnect, onHomeClick, showDebug, onDebugClick, etherscanUrl = "", ...props }) => {
|
|
8795
8926
|
return /* @__PURE__ */ jsxs(SidebarFooter, {
|
|
8796
8927
|
...props,
|
|
8797
|
-
className: twMerge("flex flex-col items-center gap-3 border-t border-
|
|
8928
|
+
className: twMerge("flex flex-col items-center gap-3 border-t border-sidebar-border px-2 py-4 dark:border-none", className),
|
|
8798
8929
|
children: [
|
|
8799
8930
|
onHomeClick && /* @__PURE__ */ jsx("button", {
|
|
8800
8931
|
"aria-label": "Home",
|
|
@@ -8802,7 +8933,7 @@ const ConnectSidebarFooter = ({ address, ensName, avatarUrl, className, onLogin,
|
|
|
8802
8933
|
className: "cursor-pointer",
|
|
8803
8934
|
onClick: onHomeClick,
|
|
8804
8935
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
8805
|
-
className: "text-
|
|
8936
|
+
className: "text-muted-foreground",
|
|
8806
8937
|
name: "ConnectSmall",
|
|
8807
8938
|
size: 24
|
|
8808
8939
|
})
|
|
@@ -8814,7 +8945,7 @@ const ConnectSidebarFooter = ({ address, ensName, avatarUrl, className, onLogin,
|
|
|
8814
8945
|
className: "cursor-pointer",
|
|
8815
8946
|
onClick: onDebugClick,
|
|
8816
8947
|
children: /* @__PURE__ */ jsx(Icon, {
|
|
8817
|
-
className: "text-
|
|
8948
|
+
className: "text-foreground",
|
|
8818
8949
|
name: "Tube"
|
|
8819
8950
|
})
|
|
8820
8951
|
}),
|
|
@@ -8834,15 +8965,14 @@ const ConnectSidebarFooter = ({ address, ensName, avatarUrl, className, onLogin,
|
|
|
8834
8965
|
className: twMerge(onClickSettings ? "cursor-pointer" : "cursor-wait"),
|
|
8835
8966
|
onClick: onClickSettings,
|
|
8836
8967
|
children: [/* @__PURE__ */ jsx(Settings, {
|
|
8837
|
-
className: "text-
|
|
8968
|
+
className: "text-foreground",
|
|
8838
8969
|
size: 24,
|
|
8839
8970
|
strokeWidth: 2
|
|
8840
8971
|
}), /* @__PURE__ */ jsx("span", {
|
|
8841
|
-
className: "hidden text-sm/6 font-semibold text-
|
|
8972
|
+
className: "hidden text-sm/6 font-semibold text-foreground",
|
|
8842
8973
|
children: "Settings"
|
|
8843
8974
|
})]
|
|
8844
|
-
})
|
|
8845
|
-
/* @__PURE__ */ jsx(ThemeSwitch, {})
|
|
8975
|
+
})
|
|
8846
8976
|
]
|
|
8847
8977
|
});
|
|
8848
8978
|
};
|
|
@@ -8852,7 +8982,7 @@ const ConnectSidebarHeader = ({ className, children, ...props }) => {
|
|
|
8852
8982
|
if (!children) return null;
|
|
8853
8983
|
return /* @__PURE__ */ jsx(SidebarHeader, {
|
|
8854
8984
|
...props,
|
|
8855
|
-
className: twMerge("flex justify-center gap-4 border-b border-
|
|
8985
|
+
className: twMerge("flex justify-center gap-4 border-b border-sidebar-border py-4 text-muted-foreground", className),
|
|
8856
8986
|
children
|
|
8857
8987
|
});
|
|
8858
8988
|
};
|
|
@@ -8881,6 +9011,74 @@ const ConnectSidebar = ({ onClick, address, ensName, avatarUrl, headerContent, o
|
|
|
8881
9011
|
});
|
|
8882
9012
|
};
|
|
8883
9013
|
//#endregion
|
|
9014
|
+
//#region src/connect/components/theme-switch.tsx
|
|
9015
|
+
const OPTIONS = [
|
|
9016
|
+
{
|
|
9017
|
+
value: "light",
|
|
9018
|
+
Icon: Sun,
|
|
9019
|
+
label: "Light"
|
|
9020
|
+
},
|
|
9021
|
+
{
|
|
9022
|
+
value: "dark",
|
|
9023
|
+
Icon: Moon,
|
|
9024
|
+
label: "Dark"
|
|
9025
|
+
},
|
|
9026
|
+
{
|
|
9027
|
+
value: "system",
|
|
9028
|
+
Icon: Monitor,
|
|
9029
|
+
label: "System"
|
|
9030
|
+
}
|
|
9031
|
+
];
|
|
9032
|
+
function ThemeSwitch({ horizontal = false }) {
|
|
9033
|
+
const { theme, isSystem, setTheme } = useTheme();
|
|
9034
|
+
function select(val) {
|
|
9035
|
+
setTheme(val);
|
|
9036
|
+
}
|
|
9037
|
+
function isActive(value) {
|
|
9038
|
+
if (value === "system" && isSystem) return true;
|
|
9039
|
+
if (!isSystem && value === "dark" && theme === "dark") return true;
|
|
9040
|
+
if (!isSystem && value === "light" && theme === "light") return true;
|
|
9041
|
+
return false;
|
|
9042
|
+
}
|
|
9043
|
+
if (horizontal) return /* @__PURE__ */ jsx("div", {
|
|
9044
|
+
role: "radiogroup",
|
|
9045
|
+
"aria-label": "Theme",
|
|
9046
|
+
className: "flex h-9 items-center gap-x-0.5 pl-3",
|
|
9047
|
+
children: OPTIONS.map(({ value, Icon, label }) => /* @__PURE__ */ jsx("div", {
|
|
9048
|
+
role: "radio",
|
|
9049
|
+
"aria-checked": isActive(value),
|
|
9050
|
+
"aria-label": label,
|
|
9051
|
+
tabIndex: 0,
|
|
9052
|
+
onClick: () => select(value),
|
|
9053
|
+
onKeyDown: (e) => (e.key === "Enter" || e.key === " ") && select(value),
|
|
9054
|
+
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"),
|
|
9055
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
9056
|
+
size: 16,
|
|
9057
|
+
"aria-hidden": "true"
|
|
9058
|
+
})
|
|
9059
|
+
}, value))
|
|
9060
|
+
});
|
|
9061
|
+
return /* @__PURE__ */ jsx("div", {
|
|
9062
|
+
role: "radiogroup",
|
|
9063
|
+
"aria-label": "Theme",
|
|
9064
|
+
className: "flex w-fit flex-col items-center gap-4 rounded-xl",
|
|
9065
|
+
children: OPTIONS.map(({ value, Icon, label }) => /* @__PURE__ */ jsx("div", {
|
|
9066
|
+
role: "radio",
|
|
9067
|
+
"aria-checked": isActive(value),
|
|
9068
|
+
"aria-label": label,
|
|
9069
|
+
tabIndex: 0,
|
|
9070
|
+
onClick: () => select(value),
|
|
9071
|
+
onKeyDown: (e) => (e.key === "Enter" || e.key === " ") && select(value),
|
|
9072
|
+
className: twMerge("flex size-fit cursor-pointer content-center items-center transition-colors", isActive(value) ? "text-foreground" : "text-muted-foreground"),
|
|
9073
|
+
children: /* @__PURE__ */ jsx(Icon, {
|
|
9074
|
+
size: 24,
|
|
9075
|
+
strokeWidth: 2,
|
|
9076
|
+
"aria-hidden": "true"
|
|
9077
|
+
})
|
|
9078
|
+
}, value))
|
|
9079
|
+
});
|
|
9080
|
+
}
|
|
9081
|
+
//#endregion
|
|
8884
9082
|
//#region src/connect/utils/get-folder-status.ts
|
|
8885
9083
|
/**
|
|
8886
9084
|
* Retrieves the sync status of a folder based on its path and their children files.
|
|
@@ -8927,6 +9125,6 @@ const removeSuccessFiles = (files) => {
|
|
|
8927
9125
|
return files.filter((file) => file.status !== "SUCCESS");
|
|
8928
9126
|
};
|
|
8929
9127
|
//#endregion
|
|
8930
|
-
export { About, AccountPopover, AddDriveModal, AddLocalDriveForm, AddRemoteDriveForm, AnimatedLoader, Breadcrumb, Breadcrumbs, CONFLICT, ChannelInspector, Combobox, ConnectConfirmationModal, ConnectDeleteDriveModal, ConnectDeleteItemModal, ConnectDropdownMenu, ConnectReplaceDuplicateModal, ConnectSearchBar, ConnectSelect, ConnectSidebar, ConnectSidebarFooter, ConnectSidebarHeader, ConnectTooltip, ConnectTooltipProvider, ConnectUpgradeDriveModal, ConnectionStateBadge, CookieBanner, CreateDocumentModal, DBExplorer, DangerZone, DebugInspector, DefaultEditor, DefaultEditorLoader, DefaultEditorSelect, DependencyVersions, Disclosure, Divider, DocumentStateViewer, DocumentTimeline, DocumentToolbar, DriveSettingsModal, DropZone, DropZoneWrapper, ENSAvatar, ERROR, EditorActionButtons, EditorUndoRedoButtons, FileItem, FolderItem, Footer, FooterLink, FormInput, FormattedJsonViewer, HomeBackgroundImage, HomeScreen, HomeScreenAddDriveItem, HomeScreenItem, INITIAL_SYNC, InspectorModal, IntegrityInspector, LoadingScreen, LogoAnimation, MISSING, NodeInput, ObjectInspectorModal, PackageInstallModal, PackageManager, PackageManagerInput, PackageManagerList, PackageManagerListItem, ProcessorsInspector, QueueInspector, ReadRequiredModal, RemotesInspector, RevisionHistory, SUCCESS, SYNCING, SettingsModal, SidebarAddDriveItem, SidebarItem, SidebarLogin, SidebarUser, SyncStatusIcon, TabContent, Tabs, Toggle, ToolbarButton, ToolbarCloseButton, ToolbarContainer, ToolbarControlsContainer, ToolbarDownloadButton, ToolbarHistoryButton, ToolbarInput, ToolbarName, ToolbarRedoButton, ToolbarSwitchboardButton, ToolbarUndoButton, UploadFileItem, UploadFileList, UploadFileListContainer, debugNodeOptions, debugNodeOptionsMap, defaultDriveOptions, defaultNodeOptions, fileNodeDropdownOptions, folderNodeDropdownOptions, formatEthAddress, getFolderStatus, locationInfoByLocation, nodeOptions, normalNodeOptions, removeSuccessFiles, sharingTypeOptions, sortFilesByStatus, syncStatuses, useEns, verifyPackageJsonFields };
|
|
9128
|
+
export { About, AccountPopover, AddDriveModal, AddLocalDriveForm, AddRemoteDriveForm, AnimatedLoader, Breadcrumb, Breadcrumbs, CONFLICT, ChannelInspector, Combobox, ConnectConfirmationModal, ConnectDeleteDriveModal, ConnectDeleteItemModal, ConnectDropdownMenu, ConnectReplaceDuplicateModal, ConnectSearchBar, ConnectSelect, ConnectSidebar, ConnectSidebarFooter, ConnectSidebarHeader, ConnectTooltip, ConnectTooltipProvider, ConnectUpgradeDriveModal, ConnectionStateBadge, CookieBanner, CreateDocumentModal, DBExplorer, DangerZone, DebugInspector, DefaultEditor, DefaultEditorLoader, DefaultEditorSelect, DependencyVersions, Disclosure, Divider, DocumentStateViewer, DocumentTimeline, DocumentToolbar, DriveAuthGate, DriveSettingsModal, DropZone, DropZoneWrapper, ENSAvatar, ERROR, EditorActionButtons, EditorUndoRedoButtons, FileItem, FolderItem, Footer, FooterLink, FormInput, FormattedJsonViewer, HomeBackgroundImage, HomeScreen, HomeScreenAddDriveItem, HomeScreenItem, INITIAL_SYNC, InspectorModal, IntegrityInspector, LoadingScreen, LogoAnimation, MISSING, NodeInput, ObjectInspectorModal, PackageInstallModal, PackageManager, PackageManagerInput, PackageManagerList, PackageManagerListItem, ProcessorsInspector, QueueInspector, ReadRequiredModal, RemotesInspector, RevisionHistory, SUCCESS, SYNCING, SettingsModal, SidebarAddDriveItem, SidebarItem, SidebarLogin, SidebarUser, SyncStatusIcon, TabContent, Tabs, ThemeSwitch, Toggle, ToolbarButton, ToolbarCloseButton, ToolbarContainer, ToolbarControlsContainer, ToolbarDownloadButton, ToolbarHistoryButton, ToolbarInput, ToolbarName, ToolbarRedoButton, ToolbarSwitchboardButton, ToolbarUndoButton, UploadFileItem, UploadFileList, UploadFileListContainer, WorkerInspector, debugNodeOptions, debugNodeOptionsMap, defaultDriveOptions, defaultNodeOptions, fileNodeDropdownOptions, folderNodeDropdownOptions, formatEthAddress, getFolderStatus, locationInfoByLocation, nodeOptions, normalNodeOptions, removeSuccessFiles, sharingTypeOptions, sortFilesByStatus, syncStatuses, useEns, verifyPackageJsonFields };
|
|
8931
9129
|
|
|
8932
9130
|
//# sourceMappingURL=index.js.map
|