@powerhousedao/design-system 5.1.0-dev.2 → 5.1.0-dev.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (94) hide show
  1. package/dist/src/connect/components/db-explorer/components/index.d.ts +3 -0
  2. package/dist/src/connect/components/db-explorer/components/index.d.ts.map +1 -0
  3. package/dist/src/connect/components/db-explorer/components/index.js +3 -0
  4. package/dist/src/connect/components/db-explorer/components/index.js.map +1 -0
  5. package/dist/src/connect/components/db-explorer/components/schema-tree-sidebar.d.ts +15 -0
  6. package/dist/src/connect/components/db-explorer/components/schema-tree-sidebar.d.ts.map +1 -0
  7. package/dist/src/connect/components/db-explorer/components/schema-tree-sidebar.js +47 -0
  8. package/dist/src/connect/components/db-explorer/components/schema-tree-sidebar.js.map +1 -0
  9. package/dist/src/connect/components/db-explorer/components/schema-tree-sidebar.stories.d.ts +12 -0
  10. package/dist/src/connect/components/db-explorer/components/schema-tree-sidebar.stories.d.ts.map +1 -0
  11. package/dist/src/connect/components/db-explorer/components/schema-tree-sidebar.stories.js +119 -0
  12. package/dist/src/connect/components/db-explorer/components/schema-tree-sidebar.stories.js.map +1 -0
  13. package/dist/src/connect/components/db-explorer/components/table-view.d.ts +26 -0
  14. package/dist/src/connect/components/db-explorer/components/table-view.d.ts.map +1 -0
  15. package/dist/src/connect/components/db-explorer/components/table-view.js +67 -0
  16. package/dist/src/connect/components/db-explorer/components/table-view.js.map +1 -0
  17. package/dist/src/connect/components/db-explorer/components/table-view.stories.d.ts +14 -0
  18. package/dist/src/connect/components/db-explorer/components/table-view.stories.d.ts.map +1 -0
  19. package/dist/src/connect/components/db-explorer/components/table-view.stories.js +203 -0
  20. package/dist/src/connect/components/db-explorer/components/table-view.stories.js.map +1 -0
  21. package/dist/src/connect/components/db-explorer/db-explorer.d.ts +32 -0
  22. package/dist/src/connect/components/db-explorer/db-explorer.d.ts.map +1 -0
  23. package/dist/src/connect/components/db-explorer/db-explorer.js +119 -0
  24. package/dist/src/connect/components/db-explorer/db-explorer.js.map +1 -0
  25. package/dist/src/connect/components/db-explorer/db-explorer.stories.d.ts +11 -0
  26. package/dist/src/connect/components/db-explorer/db-explorer.stories.d.ts.map +1 -0
  27. package/dist/src/connect/components/db-explorer/db-explorer.stories.js +182 -0
  28. package/dist/src/connect/components/db-explorer/db-explorer.stories.js.map +1 -0
  29. package/dist/src/connect/components/db-explorer/index.d.ts +2 -0
  30. package/dist/src/connect/components/db-explorer/index.d.ts.map +1 -0
  31. package/dist/src/connect/components/db-explorer/index.js +2 -0
  32. package/dist/src/connect/components/db-explorer/index.js.map +1 -0
  33. package/dist/src/connect/components/index.d.ts +2 -0
  34. package/dist/src/connect/components/index.d.ts.map +1 -1
  35. package/dist/src/connect/components/index.js +2 -0
  36. package/dist/src/connect/components/index.js.map +1 -1
  37. package/dist/src/connect/components/modal/index.d.ts +1 -0
  38. package/dist/src/connect/components/modal/index.d.ts.map +1 -1
  39. package/dist/src/connect/components/modal/index.js +1 -0
  40. package/dist/src/connect/components/modal/index.js.map +1 -1
  41. package/dist/src/connect/components/modal/inspector-modal/index.d.ts +2 -0
  42. package/dist/src/connect/components/modal/inspector-modal/index.d.ts.map +1 -0
  43. package/dist/src/connect/components/modal/inspector-modal/index.js +2 -0
  44. package/dist/src/connect/components/modal/inspector-modal/index.js.map +1 -0
  45. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.d.ts +18 -0
  46. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.d.ts.map +1 -0
  47. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.js +13 -0
  48. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.js.map +1 -0
  49. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.stories.d.ts +10 -0
  50. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.stories.d.ts.map +1 -0
  51. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.stories.js +226 -0
  52. package/dist/src/connect/components/modal/inspector-modal/inspector-modal.stories.js.map +1 -0
  53. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.d.ts +9 -0
  54. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.d.ts.map +1 -0
  55. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.js +38 -0
  56. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.js.map +1 -0
  57. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.stories.d.ts +12 -0
  58. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.stories.d.ts.map +1 -0
  59. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.stories.js +113 -0
  60. package/dist/src/connect/components/remotes-inspector/components/channel-inspector.stories.js.map +1 -0
  61. package/dist/src/connect/components/remotes-inspector/components/mailbox-table.d.ts +14 -0
  62. package/dist/src/connect/components/remotes-inspector/components/mailbox-table.d.ts.map +1 -0
  63. package/dist/src/connect/components/remotes-inspector/components/mailbox-table.js +97 -0
  64. package/dist/src/connect/components/remotes-inspector/components/mailbox-table.js.map +1 -0
  65. package/dist/src/connect/components/remotes-inspector/components/sort-icon.d.ts +7 -0
  66. package/dist/src/connect/components/remotes-inspector/components/sort-icon.d.ts.map +1 -0
  67. package/dist/src/connect/components/remotes-inspector/components/sort-icon.js +10 -0
  68. package/dist/src/connect/components/remotes-inspector/components/sort-icon.js.map +1 -0
  69. package/dist/src/connect/components/remotes-inspector/index.d.ts +3 -0
  70. package/dist/src/connect/components/remotes-inspector/index.d.ts.map +1 -0
  71. package/dist/src/connect/components/remotes-inspector/index.js +3 -0
  72. package/dist/src/connect/components/remotes-inspector/index.js.map +1 -0
  73. package/dist/src/connect/components/remotes-inspector/remotes-inspector.d.ts +6 -0
  74. package/dist/src/connect/components/remotes-inspector/remotes-inspector.d.ts.map +1 -0
  75. package/dist/src/connect/components/remotes-inspector/remotes-inspector.js +104 -0
  76. package/dist/src/connect/components/remotes-inspector/remotes-inspector.js.map +1 -0
  77. package/dist/src/connect/components/remotes-inspector/remotes-inspector.stories.d.ts +10 -0
  78. package/dist/src/connect/components/remotes-inspector/remotes-inspector.stories.d.ts.map +1 -0
  79. package/dist/src/connect/components/remotes-inspector/remotes-inspector.stories.js +128 -0
  80. package/dist/src/connect/components/remotes-inspector/remotes-inspector.stories.js.map +1 -0
  81. package/dist/src/connect/components/remotes-inspector/utils.d.ts +12 -0
  82. package/dist/src/connect/components/remotes-inspector/utils.d.ts.map +1 -0
  83. package/dist/src/connect/components/remotes-inspector/utils.js +6 -0
  84. package/dist/src/connect/components/remotes-inspector/utils.js.map +1 -0
  85. package/dist/src/connect/components/sidebar/sidebar-footer.d.ts +1 -0
  86. package/dist/src/connect/components/sidebar/sidebar-footer.d.ts.map +1 -1
  87. package/dist/src/connect/components/sidebar/sidebar-footer.js +2 -2
  88. package/dist/src/connect/components/sidebar/sidebar-footer.js.map +1 -1
  89. package/dist/src/connect/components/sidebar/sidebar.d.ts.map +1 -1
  90. package/dist/src/connect/components/sidebar/sidebar.js +2 -2
  91. package/dist/src/connect/components/sidebar/sidebar.js.map +1 -1
  92. package/dist/style.css +90 -0
  93. package/dist/tsconfig.tsbuildinfo +1 -1
  94. package/package.json +6 -5
@@ -0,0 +1,104 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Icon } from "@powerhousedao/design-system";
3
+ import {} from "@powerhousedao/reactor";
4
+ import { useCallback, useEffect, useState } from "react";
5
+ import { twMerge } from "tailwind-merge";
6
+ import { ChannelInspector } from "./components/channel-inspector.js";
7
+ import { SortIcon } from "./components/sort-icon.js";
8
+ import { truncateId, } from "./utils.js";
9
+ const COLUMNS = [
10
+ { key: "id", label: "ID", width: "120px" },
11
+ { key: "name", label: "Name", width: "150px" },
12
+ { key: "collectionId", label: "Collection ID", width: "200px" },
13
+ { key: "filter", label: "Filter", width: "200px" },
14
+ { key: "channel", label: "Channel", width: "100px" },
15
+ ];
16
+ function formatFilter(filter) {
17
+ const parts = [];
18
+ if (filter.branch) {
19
+ parts.push(`branch:${filter.branch}`);
20
+ }
21
+ if (filter.documentId.length > 0) {
22
+ parts.push(`${filter.documentId.length} doc(s)`);
23
+ }
24
+ if (filter.scope.length > 0) {
25
+ parts.push(`${filter.scope.length} scope(s)`);
26
+ }
27
+ return parts.length > 0 ? parts.join(", ") : "-";
28
+ }
29
+ function sortRemotes(remotes, sort) {
30
+ if (!sort)
31
+ return remotes;
32
+ return [...remotes].sort((a, b) => {
33
+ let aValue;
34
+ let bValue;
35
+ switch (sort.column) {
36
+ case "id":
37
+ aValue = a.id;
38
+ bValue = b.id;
39
+ break;
40
+ case "name":
41
+ aValue = a.name;
42
+ bValue = b.name;
43
+ break;
44
+ case "collectionId":
45
+ aValue = a.collectionId;
46
+ bValue = b.collectionId;
47
+ break;
48
+ case "filter":
49
+ aValue = formatFilter(a.filter);
50
+ bValue = formatFilter(b.filter);
51
+ break;
52
+ default:
53
+ return 0;
54
+ }
55
+ const comparison = aValue.localeCompare(bValue);
56
+ return sort.direction === "asc" ? comparison : -comparison;
57
+ });
58
+ }
59
+ export function RemotesInspector({ getRemotes }) {
60
+ const [remotes, setRemotes] = useState([]);
61
+ const [loading, setLoading] = useState(true);
62
+ const [sort, setSort] = useState();
63
+ const [selectedRemote, setSelectedRemote] = useState();
64
+ const loadRemotes = useCallback(async () => {
65
+ setLoading(true);
66
+ const data = await getRemotes();
67
+ setRemotes(data);
68
+ setLoading(false);
69
+ }, [getRemotes]);
70
+ useEffect(() => {
71
+ void loadRemotes();
72
+ }, [loadRemotes]);
73
+ const handleRefresh = useCallback(async () => {
74
+ await loadRemotes();
75
+ if (selectedRemote) {
76
+ const updated = remotes.find((r) => r.id === selectedRemote.id);
77
+ setSelectedRemote(updated);
78
+ }
79
+ }, [loadRemotes, selectedRemote, remotes]);
80
+ const handleSort = (columnKey) => {
81
+ if (columnKey === "channel")
82
+ return;
83
+ const newDirection = sort?.column === columnKey && sort.direction === "asc" ? "desc" : "asc";
84
+ setSort({ column: columnKey, direction: newDirection });
85
+ };
86
+ const handleViewChannel = (remote) => {
87
+ setSelectedRemote(remote);
88
+ };
89
+ const handleBack = () => {
90
+ setSelectedRemote(undefined);
91
+ };
92
+ if (selectedRemote) {
93
+ return (_jsx(ChannelInspector, { channel: selectedRemote.channel, onBack: handleBack, onRefresh: () => void handleRefresh(), remoteName: selectedRemote.name }));
94
+ }
95
+ const sortedRemotes = sortRemotes(remotes, sort);
96
+ return (_jsxs("div", { className: "flex h-full flex-col gap-2 p-4", children: [_jsxs("div", { className: "flex shrink-0 items-center justify-between", children: [_jsx("h2", { className: "text-lg font-semibold text-gray-900", children: "Remotes Inspector" }), _jsxs("button", { className: "flex items-center gap-1 rounded border border-gray-300 bg-white px-3 py-1.5 text-sm text-gray-700 hover:bg-gray-100 disabled:opacity-50", disabled: loading, onClick: () => void handleRefresh(), type: "button", children: [_jsx(Icon, { name: "Reload", size: 14 }), "Refresh"] })] }), _jsx("div", { className: "max-h-full overflow-auto rounded-lg border border-gray-300", children: _jsxs("table", { className: "w-full border-collapse", children: [_jsx("thead", { className: "sticky top-0 bg-gray-100", children: _jsx("tr", { children: COLUMNS.map((column, index) => {
97
+ const isActive = sort?.column === column.key;
98
+ const sortDirection = isActive ? sort.direction : "asc";
99
+ const isSortable = column.key !== "channel";
100
+ return (_jsx("th", { className: twMerge("group px-3 py-2 text-left text-xs font-medium text-gray-600", index > 0 && "border-l border-gray-300", isSortable &&
101
+ "cursor-pointer hover:bg-gray-200 hover:text-gray-900"), onClick: () => isSortable && handleSort(column.key), style: { width: column.width }, children: _jsxs("div", { className: "flex items-center gap-1", children: [_jsx("span", { className: "truncate", children: column.label }), isSortable && (_jsx(SortIcon, { active: isActive, direction: sortDirection }))] }) }, column.key));
102
+ }) }) }), _jsx("tbody", { children: loading && sortedRemotes.length === 0 ? (_jsx("tr", { children: _jsx("td", { className: "px-3 py-8 text-center text-sm text-gray-500", colSpan: COLUMNS.length, children: "Loading..." }) })) : sortedRemotes.length === 0 ? (_jsx("tr", { children: _jsx("td", { className: "px-3 py-8 text-center text-sm text-gray-500", colSpan: COLUMNS.length, children: "No remotes configured" }) })) : (sortedRemotes.map((remote) => (_jsxs("tr", { className: "odd:bg-white even:bg-gray-50 hover:bg-blue-50", children: [_jsx("td", { className: "px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: remote.id, children: truncateId(remote.id) }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: remote.name, children: remote.name }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: remote.collectionId, children: remote.collectionId }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2 text-xs text-gray-900", children: _jsx("span", { className: "block truncate", title: formatFilter(remote.filter), children: formatFilter(remote.filter) }) }), _jsx("td", { className: "border-l border-gray-300 px-3 py-2", children: _jsxs("button", { className: "flex items-center gap-1 rounded bg-blue-50 px-2 py-1 text-xs text-blue-700 hover:bg-blue-100", onClick: () => handleViewChannel(remote), type: "button", children: ["View", _jsx(Icon, { name: "CaretRight", size: 12 })] }) })] }, remote.id)))) })] }) }), _jsxs("div", { className: "shrink-0 text-sm text-gray-600", children: ["Showing ", sortedRemotes.length, " remote(s)"] })] }));
103
+ }
104
+ //# sourceMappingURL=remotes-inspector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remotes-inspector.js","sourceRoot":"","sources":["../../../../../src/connect/components/remotes-inspector/remotes-inspector.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Meta, StoryObj } from "@storybook/react";
2
+ import { RemotesInspector } from "./remotes-inspector.js";
3
+ declare const meta: Meta<typeof RemotesInspector>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof RemotesInspector>;
6
+ export declare const Default: Story;
7
+ export declare const EmptyRemotes: Story;
8
+ export declare const SingleRemote: Story;
9
+ export declare const ManyRemotes: Story;
10
+ //# sourceMappingURL=remotes-inspector.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remotes-inspector.stories.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/remotes-inspector/remotes-inspector.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAOvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE1D,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,gBAAgB,CAavC,CAAC;AAEF,eAAe,IAAI,CAAC;AACpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAiJ/C,eAAO,MAAM,OAAO,EAAE,KAIrB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAI1B,CAAC;AA8CF,eAAO,MAAM,WAAW,EAAE,KAIzB,CAAC"}
@@ -0,0 +1,128 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { SyncOperationStatus, } from "@powerhousedao/reactor";
3
+ import { RemotesInspector } from "./remotes-inspector.js";
4
+ const meta = {
5
+ title: "Connect/Components/RemotesInspector/RemotesInspector",
6
+ component: RemotesInspector,
7
+ parameters: {
8
+ layout: "fullscreen",
9
+ },
10
+ decorators: [
11
+ (Story) => (_jsx("div", { className: "h-[600px] w-full", children: _jsx(Story, {}) })),
12
+ ],
13
+ };
14
+ export default meta;
15
+ function createMockMailbox(items) {
16
+ return {
17
+ get items() {
18
+ return items;
19
+ },
20
+ };
21
+ }
22
+ function createMockSyncOperation(id, documentId, branch, status, opsCount, errorMessage) {
23
+ return {
24
+ id,
25
+ remoteName: "mock-remote",
26
+ documentId,
27
+ scopes: ["global"],
28
+ branch,
29
+ operations: Array(opsCount).fill({ type: "mock" }),
30
+ status,
31
+ error: errorMessage
32
+ ? { source: "channel", error: new Error(errorMessage) }
33
+ : undefined,
34
+ };
35
+ }
36
+ function createMockChannel(inboxOps, outboxOps, deadLetterOps) {
37
+ return {
38
+ inbox: createMockMailbox(inboxOps),
39
+ outbox: createMockMailbox(outboxOps),
40
+ deadLetter: createMockMailbox(deadLetterOps),
41
+ };
42
+ }
43
+ const mockRemotes = [
44
+ {
45
+ id: "abc-123-def-456",
46
+ name: "remote-main",
47
+ collectionId: "drive:main/documents",
48
+ filter: {
49
+ documentId: [],
50
+ scope: [],
51
+ branch: "main",
52
+ },
53
+ options: {},
54
+ channel: createMockChannel([
55
+ createMockSyncOperation("op-001", "doc-abc", "main", SyncOperationStatus.TransportPending, 5),
56
+ createMockSyncOperation("op-002", "doc-def", "main", SyncOperationStatus.ExecutionPending, 3),
57
+ createMockSyncOperation("op-003", "doc-ghi", "dev", SyncOperationStatus.Applied, 2),
58
+ ], [
59
+ createMockSyncOperation("op-101", "doc-xyz", "main", SyncOperationStatus.TransportPending, 7),
60
+ createMockSyncOperation("op-102", "doc-uvw", "feat", SyncOperationStatus.TransportPending, 1),
61
+ ], [
62
+ createMockSyncOperation("op-050", "doc-err", "main", SyncOperationStatus.Error, 4, "SIGNATURE_INVALID"),
63
+ ]),
64
+ },
65
+ {
66
+ id: "ghi-789-jkl-012",
67
+ name: "remote-dev",
68
+ collectionId: "drive:dev/experiments",
69
+ filter: {
70
+ documentId: ["doc-1", "doc-2"],
71
+ scope: ["scope-a"],
72
+ branch: "dev",
73
+ },
74
+ options: {},
75
+ channel: createMockChannel([
76
+ createMockSyncOperation("op-201", "doc-test", "dev", SyncOperationStatus.Applied, 10),
77
+ ], [], []),
78
+ },
79
+ {
80
+ id: "mno-345-pqr-678",
81
+ name: "remote-feature",
82
+ collectionId: "drive:feature/new-ui",
83
+ filter: {
84
+ documentId: [],
85
+ scope: ["ui", "components"],
86
+ branch: "feature/new-ui",
87
+ },
88
+ options: {},
89
+ channel: createMockChannel([], [], []),
90
+ },
91
+ ];
92
+ export const Default = {
93
+ args: {
94
+ getRemotes: () => Promise.resolve(mockRemotes),
95
+ },
96
+ };
97
+ export const EmptyRemotes = {
98
+ args: {
99
+ getRemotes: () => Promise.resolve([]),
100
+ },
101
+ };
102
+ export const SingleRemote = {
103
+ args: {
104
+ getRemotes: () => Promise.resolve([mockRemotes[0]]),
105
+ },
106
+ };
107
+ const manyRemotes = Array.from({ length: 20 }, (_, i) => ({
108
+ id: `remote-id-${i + 1}-${Math.random().toString(36).slice(2, 8)}`,
109
+ name: `remote-${i + 1}`,
110
+ collectionId: `drive:collection-${i + 1}/path`,
111
+ filter: {
112
+ documentId: i % 3 === 0 ? [`doc-${i}`] : [],
113
+ scope: i % 2 === 0 ? ["scope-a"] : [],
114
+ branch: i % 4 === 0 ? "main" : i % 4 === 1 ? "dev" : `feature-${i}`,
115
+ },
116
+ options: {},
117
+ channel: createMockChannel(Array.from({ length: i % 5 }, (_, j) => createMockSyncOperation(`op-${i}-${j}`, `doc-${i}-${j}`, "main", SyncOperationStatus.TransportPending, j + 1)), Array.from({ length: (i + 1) % 3 }, (_, j) => createMockSyncOperation(`op-out-${i}-${j}`, `doc-out-${i}-${j}`, "main", SyncOperationStatus.ExecutionPending, j + 2)), i % 7 === 0
118
+ ? [
119
+ createMockSyncOperation(`op-dead-${i}`, `doc-dead-${i}`, "main", SyncOperationStatus.Error, 1, "HASH_MISMATCH"),
120
+ ]
121
+ : []),
122
+ }));
123
+ export const ManyRemotes = {
124
+ args: {
125
+ getRemotes: () => Promise.resolve(manyRemotes),
126
+ },
127
+ };
128
+ //# sourceMappingURL=remotes-inspector.stories.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remotes-inspector.stories.js","sourceRoot":"","sources":["../../../../../src/connect/components/remotes-inspector/remotes-inspector.stories.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type SortDirection = "asc" | "desc";
2
+ export type SortOptions = {
3
+ readonly column: string;
4
+ readonly direction: SortDirection;
5
+ };
6
+ export type ColumnDef = {
7
+ readonly key: string;
8
+ readonly label: string;
9
+ readonly width?: string;
10
+ };
11
+ export declare function truncateId(id: string, maxLength?: number): string;
12
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/remotes-inspector/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,MAAM,CAAC;AAE3C,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,GAAE,MAAW,GAAG,MAAM,CAGrE"}
@@ -0,0 +1,6 @@
1
+ export function truncateId(id, maxLength = 12) {
2
+ if (id.length <= maxLength)
3
+ return id;
4
+ return id.slice(0, maxLength) + "...";
5
+ }
6
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../../src/connect/components/remotes-inspector/utils.ts"],"names":[],"mappings":"AAaA,MAAM,UAAU,UAAU,CAAC,EAAU,EAAE,YAAoB,EAAE;IAC3D,IAAI,EAAE,CAAC,MAAM,IAAI,SAAS;QAAE,OAAO,EAAE,CAAC;IACtC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC;AACxC,CAAC"}
@@ -3,6 +3,7 @@ import type { ComponentProps } from "react";
3
3
  export interface ConnectSidebarFooterProps extends ComponentProps<typeof SidebarFooter> {
4
4
  address: `0x${string}` | undefined;
5
5
  onClickSettings: (() => void) | undefined;
6
+ onInspectorClick?: () => void;
6
7
  onLogin: (() => void) | undefined;
7
8
  etherscanUrl?: string;
8
9
  onDisconnect: (() => void) | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-footer.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/sidebar/sidebar-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,WAAW,yBACf,SAAQ,cAAc,CAAC,OAAO,aAAa,CAAC;IAC5C,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC,eAAe,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1C,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA4CpE,CAAC"}
1
+ {"version":3,"file":"sidebar-footer.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/sidebar/sidebar-footer.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAQ,aAAa,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAK5C,MAAM,WAAW,yBACf,SAAQ,cAAc,CAAC,OAAO,aAAa,CAAC;IAC5C,OAAO,EAAE,KAAK,MAAM,EAAE,GAAG,SAAS,CAAC;IACnC,eAAe,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAC1C,gBAAgB,CAAC,EAAE,MAAM,IAAI,CAAC;IAC9B,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACxC;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAuDpE,CAAC"}
@@ -3,7 +3,7 @@ import { Icon, SidebarFooter } from "@powerhousedao/design-system";
3
3
  import { twMerge } from "tailwind-merge";
4
4
  import { SidebarLogin } from "./sidebar-login.js";
5
5
  import { SidebarUser } from "./sidebar-user.js";
6
- export const ConnectSidebarFooter = ({ address, className, onLogin, onClickSettings, onDisconnect, etherscanUrl = "", ...props }) => {
7
- return (_jsxs(SidebarFooter, { ...props, className: twMerge("flex flex-col gap-2 border-t border-gray-300 px-2 py-4", className), children: [_jsx("div", { children: address ? (_jsx(SidebarUser, { address: address, onDisconnect: onDisconnect, etherscanUrl: etherscanUrl })) : (_jsx(SidebarLogin, { onLogin: onLogin })) }), _jsxs("button", { "aria-label": "Settings", type: "button", className: twMerge("mt-3 flex w-full items-center justify-center outline-none", onClickSettings ? "cursor-pointer" : "cursor-wait"), onClick: onClickSettings, children: [_jsx(Icon, { className: "text-gray-600", name: "Settings" }), _jsx("span", { className: "hidden text-sm font-semibold leading-6 text-gray-800", children: "Settings" })] })] }));
6
+ export const ConnectSidebarFooter = ({ address, className, onLogin, onClickSettings, onInspectorClick, onDisconnect, etherscanUrl = "", ...props }) => {
7
+ return (_jsxs(SidebarFooter, { ...props, className: twMerge("flex flex-col gap-2 border-t border-gray-300 px-2 py-4", className), children: [_jsx("div", { children: address ? (_jsx(SidebarUser, { address: address, onDisconnect: onDisconnect, etherscanUrl: etherscanUrl })) : (_jsx(SidebarLogin, { onLogin: onLogin })) }), onInspectorClick && (_jsx("button", { "aria-label": "Inspector", type: "button", className: "mt-3 flex w-full cursor-pointer items-center justify-center outline-none", onClick: onInspectorClick, children: _jsx(Icon, { className: "text-gray-600", name: "CircleInfo" }) })), _jsxs("button", { "aria-label": "Settings", type: "button", className: twMerge("mt-3 flex w-full items-center justify-center outline-none", onClickSettings ? "cursor-pointer" : "cursor-wait"), onClick: onClickSettings, children: [_jsx(Icon, { className: "text-gray-600", name: "Settings" }), _jsx("span", { className: "hidden text-sm font-semibold leading-6 text-gray-800", children: "Settings" })] })] }));
8
8
  };
9
9
  //# sourceMappingURL=sidebar-footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar-footer.js","sourceRoot":"","sources":["../../../../../src/connect/components/sidebar/sidebar-footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWhD,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EACxE,OAAO,EACP,SAAS,EACT,OAAO,EACP,eAAe,EACf,YAAY,EACZ,YAAY,GAAG,EAAE,EACjB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,MAAC,aAAa,OACR,KAAK,EACT,SAAS,EAAE,OAAO,CAChB,wDAAwD,EACxD,SAAS,CACV,aAED,wBACG,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,WAAW,IACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,GAAI,CACnC,GACG,EACN,gCACa,UAAU,EACrB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,OAAO,CAChB,2DAA2D,EAC3D,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CACnD,EACD,OAAO,EAAE,eAAe,aAExB,KAAC,IAAI,IAAC,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,UAAU,GAAG,EAClD,eAAM,SAAS,EAAC,sDAAsD,yBAE/D,IACA,IACK,CACjB,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"sidebar-footer.js","sourceRoot":"","sources":["../../../../../src/connect/components/sidebar/sidebar-footer.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAYhD,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,EACxE,OAAO,EACP,SAAS,EACT,OAAO,EACP,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,YAAY,GAAG,EAAE,EACjB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,MAAC,aAAa,OACR,KAAK,EACT,SAAS,EAAE,OAAO,CAChB,wDAAwD,EACxD,SAAS,CACV,aAED,wBACG,OAAO,CAAC,CAAC,CAAC,CACT,KAAC,WAAW,IACV,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAC1B,CACH,CAAC,CAAC,CAAC,CACF,KAAC,YAAY,IAAC,OAAO,EAAE,OAAO,GAAI,CACnC,GACG,EACL,gBAAgB,IAAI,CACnB,+BACa,WAAW,EACtB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAC,0EAA0E,EACpF,OAAO,EAAE,gBAAgB,YAEzB,KAAC,IAAI,IAAC,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,YAAY,GAAG,GAC7C,CACV,EACD,gCACa,UAAU,EACrB,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,OAAO,CAChB,2DAA2D,EAC3D,eAAe,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,CACnD,EACD,OAAO,EAAE,eAAe,aAExB,KAAC,IAAI,IAAC,SAAS,EAAC,eAAe,EAAC,IAAI,EAAC,UAAU,GAAG,EAClD,eAAM,SAAS,EAAC,sDAAsD,yBAE/D,IACA,IACK,CACjB,CAAC;AACJ,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/sidebar/sidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGrE,MAAM,WAAW,mBACf,SAAQ,cAAc,CAAC,WAAW,CAAC,EACjC,yBAAyB,EACzB,yBAAyB;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAChE;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA6BxD,CAAC"}
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../../../src/connect/components/sidebar/sidebar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAErE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAGrE,MAAM,WAAW,mBACf,SAAQ,cAAc,CAAC,WAAW,CAAC,EACjC,yBAAyB,EACzB,yBAAyB;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IAClC,YAAY,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACvC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC;CAChE;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA+BxD,CAAC"}
@@ -2,7 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { Sidebar, SidebarPanel } from "@powerhousedao/design-system";
3
3
  import { ConnectSidebarFooter } from "./sidebar-footer.js";
4
4
  import { ConnectSidebarHeader } from "./sidebar-header.js";
5
- export const ConnectSidebar = ({ onClick, address, headerContent, onClickSettings, maxWidth = "304px", minWidth = "58px", onLogin, onDisconnect, etherscanUrl, ...props }) => {
6
- return (_jsxs(Sidebar, { ...props, maxWidth: maxWidth, minWidth: minWidth, children: [_jsxs(SidebarPanel, { children: [_jsx(ConnectSidebarHeader, { onClick: onClick, children: headerContent }), _jsx("div", { className: "flex flex-col", children: props.children })] }), _jsx(ConnectSidebarFooter, { address: address, onClickSettings: onClickSettings, onLogin: onLogin, onDisconnect: onDisconnect, etherscanUrl: etherscanUrl })] }));
5
+ export const ConnectSidebar = ({ onClick, address, headerContent, onClickSettings, onInspectorClick, maxWidth = "304px", minWidth = "58px", onLogin, onDisconnect, etherscanUrl, ...props }) => {
6
+ return (_jsxs(Sidebar, { ...props, maxWidth: maxWidth, minWidth: minWidth, children: [_jsxs(SidebarPanel, { children: [_jsx(ConnectSidebarHeader, { onClick: onClick, children: headerContent }), _jsx("div", { className: "flex flex-col", children: props.children })] }), _jsx(ConnectSidebarFooter, { address: address, onClickSettings: onClickSettings, onInspectorClick: onInspectorClick, onLogin: onLogin, onDisconnect: onDisconnect, etherscanUrl: etherscanUrl })] }));
7
7
  };
8
8
  //# sourceMappingURL=sidebar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../src/connect/components/sidebar/sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAgB3D,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,QAAQ,GAAG,OAAO,EAClB,QAAQ,GAAG,MAAM,EACjB,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,MAAC,OAAO,OAAK,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,aACxD,MAAC,YAAY,eACX,KAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,YACnC,aAAa,GACO,EACvB,cAAK,SAAS,EAAC,eAAe,YAAE,KAAK,CAAC,QAAQ,GAAO,IACxC,EACf,KAAC,oBAAoB,IACnB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAC1B,IACM,CACX,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"sidebar.js","sourceRoot":"","sources":["../../../../../src/connect/components/sidebar/sidebar.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAGrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAgB3D,MAAM,CAAC,MAAM,cAAc,GAAkC,CAAC,EAC5D,OAAO,EACP,OAAO,EACP,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,QAAQ,GAAG,OAAO,EAClB,QAAQ,GAAG,MAAM,EACjB,OAAO,EACP,YAAY,EACZ,YAAY,EACZ,GAAG,KAAK,EACT,EAAE,EAAE;IACH,OAAO,CACL,MAAC,OAAO,OAAK,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,aACxD,MAAC,YAAY,eACX,KAAC,oBAAoB,IAAC,OAAO,EAAE,OAAO,YACnC,aAAa,GACO,EACvB,cAAK,SAAS,EAAC,eAAe,YAAE,KAAK,CAAC,QAAQ,GAAO,IACxC,EACf,KAAC,oBAAoB,IACnB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,eAAe,EAChC,gBAAgB,EAAE,gBAAgB,EAClC,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,YAAY,EAAE,YAAY,GAC1B,IACM,CACX,CAAC;AACJ,CAAC,CAAC"}
package/dist/style.css CHANGED
@@ -707,12 +707,14 @@
707
707
  --color-green-700: hsl(136 52% 55%);
708
708
  --color-green-800: hsl(136 53% 49%);
709
709
  --color-green-900: hsl(136 53% 43%);
710
+ --color-blue-50: oklch(97% 0.014 254.604);
710
711
  --color-blue-100: hsl(209 100% 90%);
711
712
  --color-blue-200: hsl(209 97% 85%);
712
713
  --color-blue-300: hsl(209 100% 80%);
713
714
  --color-blue-400: hsl(209 100% 75%);
714
715
  --color-blue-500: hsl(209 100% 70%);
715
716
  --color-blue-600: hsl(209 100% 65%);
717
+ --color-blue-700: hsl(209 100% 60%);
716
718
  --color-blue-800: hsl(209 100% 55%);
717
719
  --color-blue-900: hsl(209 100% 50%);
718
720
  --color-purple-900: hsl(263 78% 63%);
@@ -1429,6 +1431,15 @@
1429
1431
  .h-\[420px\] {
1430
1432
  height: 420px;
1431
1433
  }
1434
+ .h-\[480px\] {
1435
+ height: 480px;
1436
+ }
1437
+ .h-\[600px\] {
1438
+ height: 600px;
1439
+ }
1440
+ .h-\[700px\] {
1441
+ height: 700px;
1442
+ }
1432
1443
  .h-auto {
1433
1444
  height: auto;
1434
1445
  }
@@ -1453,6 +1464,9 @@
1453
1464
  .max-h-6 {
1454
1465
  max-height: calc(var(--spacing) * 6);
1455
1466
  }
1467
+ .max-h-64 {
1468
+ max-height: calc(var(--spacing) * 64);
1469
+ }
1456
1470
  .max-h-\[245px\] {
1457
1471
  max-height: 245px;
1458
1472
  }
@@ -1465,6 +1479,9 @@
1465
1479
  .max-h-\[404px\] {
1466
1480
  max-height: 404px;
1467
1481
  }
1482
+ .max-h-full {
1483
+ max-height: 100%;
1484
+ }
1468
1485
  .max-h-screen {
1469
1486
  max-height: 100vh;
1470
1487
  }
@@ -1579,6 +1596,9 @@
1579
1596
  .w-\[500px\] {
1580
1597
  width: 500px;
1581
1598
  }
1599
+ .w-\[900px\] {
1600
+ width: 900px;
1601
+ }
1582
1602
  .w-fit {
1583
1603
  width: fit-content;
1584
1604
  }
@@ -1657,6 +1677,9 @@
1657
1677
  .grow {
1658
1678
  flex-grow: 1;
1659
1679
  }
1680
+ .border-collapse {
1681
+ border-collapse: collapse;
1682
+ }
1660
1683
  .border-separate {
1661
1684
  border-collapse: separate;
1662
1685
  }
@@ -1780,6 +1803,9 @@
1780
1803
  .gap-4 {
1781
1804
  gap: calc(var(--spacing) * 4);
1782
1805
  }
1806
+ .gap-6 {
1807
+ gap: calc(var(--spacing) * 6);
1808
+ }
1783
1809
  .gap-32 {
1784
1810
  gap: calc(var(--spacing) * 32);
1785
1811
  }
@@ -1951,6 +1977,10 @@
1951
1977
  border-top-style: var(--tw-border-style);
1952
1978
  border-top-width: 1px;
1953
1979
  }
1980
+ .border-r {
1981
+ border-right-style: var(--tw-border-style);
1982
+ border-right-width: 1px;
1983
+ }
1954
1984
  .border-b {
1955
1985
  border-bottom-style: var(--tw-border-style);
1956
1986
  border-bottom-width: 1px;
@@ -1974,6 +2004,9 @@
1974
2004
  .border-black {
1975
2005
  border-color: var(--color-black);
1976
2006
  }
2007
+ .border-blue-500 {
2008
+ border-color: var(--color-blue-500);
2009
+ }
1977
2010
  .border-blue-600 {
1978
2011
  border-color: var(--color-blue-600);
1979
2012
  }
@@ -2037,6 +2070,9 @@
2037
2070
  background-color: color-mix(in oklab, var(--color-black) 50%, transparent);
2038
2071
  }
2039
2072
  }
2073
+ .bg-blue-50 {
2074
+ background-color: var(--color-blue-50);
2075
+ }
2040
2076
  .bg-blue-100 {
2041
2077
  background-color: var(--color-blue-100);
2042
2078
  }
@@ -2139,6 +2175,9 @@
2139
2175
  .p-0 {
2140
2176
  padding: calc(var(--spacing) * 0);
2141
2177
  }
2178
+ .p-0\.5 {
2179
+ padding: calc(var(--spacing) * 0.5);
2180
+ }
2142
2181
  .p-1 {
2143
2182
  padding: calc(var(--spacing) * 1);
2144
2183
  }
@@ -2184,6 +2223,9 @@
2184
2223
  .py-0 {
2185
2224
  padding-block: calc(var(--spacing) * 0);
2186
2225
  }
2226
+ .py-0\.5 {
2227
+ padding-block: calc(var(--spacing) * 0.5);
2228
+ }
2187
2229
  .py-1 {
2188
2230
  padding-block: calc(var(--spacing) * 1);
2189
2231
  }
@@ -2202,6 +2244,9 @@
2202
2244
  .py-6 {
2203
2245
  padding-block: calc(var(--spacing) * 6);
2204
2246
  }
2247
+ .py-8 {
2248
+ padding-block: calc(var(--spacing) * 8);
2249
+ }
2205
2250
  .py-28 {
2206
2251
  padding-block: calc(var(--spacing) * 28);
2207
2252
  }
@@ -2217,6 +2262,9 @@
2217
2262
  .pt-3 {
2218
2263
  padding-top: calc(var(--spacing) * 3);
2219
2264
  }
2265
+ .pt-4 {
2266
+ padding-top: calc(var(--spacing) * 4);
2267
+ }
2220
2268
  .pt-6 {
2221
2269
  padding-top: calc(var(--spacing) * 6);
2222
2270
  }
@@ -2386,6 +2434,9 @@
2386
2434
  .text-blue-600 {
2387
2435
  color: var(--color-blue-600);
2388
2436
  }
2437
+ .text-blue-700 {
2438
+ color: var(--color-blue-700);
2439
+ }
2389
2440
  .text-blue-900 {
2390
2441
  color: var(--color-blue-900);
2391
2442
  }
@@ -2446,6 +2497,9 @@
2446
2497
  .text-red-500 {
2447
2498
  color: var(--color-red-500);
2448
2499
  }
2500
+ .text-red-600 {
2501
+ color: var(--color-red-600);
2502
+ }
2449
2503
  .text-red-700 {
2450
2504
  color: var(--color-red-700);
2451
2505
  }
@@ -2500,6 +2554,9 @@
2500
2554
  .uppercase {
2501
2555
  text-transform: uppercase;
2502
2556
  }
2557
+ .italic {
2558
+ font-style: italic;
2559
+ }
2503
2560
  .underline {
2504
2561
  text-decoration-line: underline;
2505
2562
  }
@@ -2720,6 +2777,13 @@
2720
2777
  }
2721
2778
  }
2722
2779
  }
2780
+ .group-hover\:opacity-50 {
2781
+ &:is(:where(.group):hover *) {
2782
+ @media (hover: hover) {
2783
+ opacity: 50%;
2784
+ }
2785
+ }
2786
+ }
2723
2787
  .group-hover\:opacity-100 {
2724
2788
  &:is(:where(.group):hover *) {
2725
2789
  @media (hover: hover) {
@@ -3099,6 +3163,20 @@
3099
3163
  }
3100
3164
  }
3101
3165
  }
3166
+ .hover\:bg-blue-50 {
3167
+ &:hover {
3168
+ @media (hover: hover) {
3169
+ background-color: var(--color-blue-50);
3170
+ }
3171
+ }
3172
+ }
3173
+ .hover\:bg-blue-100 {
3174
+ &:hover {
3175
+ @media (hover: hover) {
3176
+ background-color: var(--color-blue-100);
3177
+ }
3178
+ }
3179
+ }
3102
3180
  .hover\:bg-blue-300 {
3103
3181
  &:hover {
3104
3182
  @media (hover: hover) {
@@ -3141,6 +3219,13 @@
3141
3219
  }
3142
3220
  }
3143
3221
  }
3222
+ .hover\:bg-red-800 {
3223
+ &:hover {
3224
+ @media (hover: hover) {
3225
+ background-color: var(--color-red-800);
3226
+ }
3227
+ }
3228
+ }
3144
3229
  .hover\:bg-slate-50 {
3145
3230
  &:hover {
3146
3231
  @media (hover: hover) {
@@ -3454,6 +3539,11 @@
3454
3539
  color: var(--color-slate-100);
3455
3540
  }
3456
3541
  }
3542
+ .disabled\:opacity-50 {
3543
+ &:disabled {
3544
+ opacity: 50%;
3545
+ }
3546
+ }
3457
3547
  .disabled\:opacity-100 {
3458
3548
  &:disabled {
3459
3549
  opacity: 100%;