@stratum-hq/react 0.4.0 → 0.5.0
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/README.md +16 -2
- package/dist/components/AuditLogViewer.d.ts +2 -1
- package/dist/components/AuditLogViewer.d.ts.map +1 -1
- package/dist/components/ConfigDriftIndicator.d.ts +2 -1
- package/dist/components/ConfigDriftIndicator.d.ts.map +1 -1
- package/dist/components/ConfigEditor.d.ts +2 -1
- package/dist/components/ConfigEditor.d.ts.map +1 -1
- package/dist/components/ConfigInheritanceVisualizer.d.ts +2 -1
- package/dist/components/ConfigInheritanceVisualizer.d.ts.map +1 -1
- package/dist/components/ConfigInheritanceVisualizer.js +42 -42
- package/dist/components/DraggableTenantTree.d.ts +2 -1
- package/dist/components/DraggableTenantTree.d.ts.map +1 -1
- package/dist/components/DraggableTenantTree.js +13 -13
- package/dist/components/DraggableTenantTree.js.map +1 -1
- package/dist/components/EmptyState.d.ts +1 -1
- package/dist/components/EmptyState.d.ts.map +1 -1
- package/dist/components/PermissionEditor.d.ts +2 -1
- package/dist/components/PermissionEditor.d.ts.map +1 -1
- package/dist/components/Skeleton.d.ts +2 -1
- package/dist/components/Skeleton.d.ts.map +1 -1
- package/dist/components/TableSkeleton.d.ts +2 -1
- package/dist/components/TableSkeleton.d.ts.map +1 -1
- package/dist/components/TenantHealthCard.d.ts +2 -1
- package/dist/components/TenantHealthCard.d.ts.map +1 -1
- package/dist/components/TenantSwitcher.d.ts +2 -1
- package/dist/components/TenantSwitcher.d.ts.map +1 -1
- package/dist/components/TenantThemeProvider.d.ts +7 -1
- package/dist/components/TenantThemeProvider.d.ts.map +1 -1
- package/dist/components/TenantThemeProvider.js +19 -1
- package/dist/components/TenantThemeProvider.js.map +1 -1
- package/dist/components/TenantTree.d.ts +2 -1
- package/dist/components/TenantTree.d.ts.map +1 -1
- package/dist/components/Toast.d.ts +2 -1
- package/dist/components/Toast.d.ts.map +1 -1
- package/dist/components/ToastContainer.d.ts +2 -1
- package/dist/components/ToastContainer.d.ts.map +1 -1
- package/dist/components/WebhookEditor.d.ts +2 -1
- package/dist/components/WebhookEditor.d.ts.map +1 -1
- package/dist/components/headless/ConfigEditor.d.ts +1 -1
- package/dist/components/headless/ConfigEditor.d.ts.map +1 -1
- package/dist/components/headless/ConfigInheritanceVisualizer.d.ts +1 -1
- package/dist/components/headless/ConfigInheritanceVisualizer.d.ts.map +1 -1
- package/dist/components/headless/PermissionEditor.d.ts +1 -1
- package/dist/components/headless/PermissionEditor.d.ts.map +1 -1
- package/dist/components/headless/TenantSwitcher.d.ts +1 -1
- package/dist/components/headless/TenantSwitcher.d.ts.map +1 -1
- package/dist/components/headless/TenantTree.d.ts +1 -1
- package/dist/components/headless/TenantTree.d.ts.map +1 -1
- package/dist/hooks/use-audit-logs.js +1 -1
- package/dist/hooks/use-audit-logs.js.map +1 -1
- package/dist/hooks/use-config-cascade.js +3 -3
- package/dist/hooks/use-config-cascade.js.map +1 -1
- package/dist/hooks/use-config.js +3 -3
- package/dist/hooks/use-config.js.map +1 -1
- package/dist/hooks/use-permissions.js +3 -3
- package/dist/hooks/use-permissions.js.map +1 -1
- package/dist/hooks/use-tenant-tree.d.ts.map +1 -1
- package/dist/hooks/use-tenant-tree.js +1 -16
- package/dist/hooks/use-tenant-tree.js.map +1 -1
- package/dist/hooks/use-tenant.d.ts +1 -1
- package/dist/hooks/use-webhooks.js +3 -3
- package/dist/hooks/use-webhooks.js.map +1 -1
- package/dist/provider.d.ts +13 -2
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +7 -6
- package/dist/provider.js.map +1 -1
- package/dist/styles/default.css +97 -96
- package/package.json +2 -2
package/dist/styles/default.css
CHANGED
|
@@ -3,49 +3,50 @@
|
|
|
3
3
|
/* ============================================================
|
|
4
4
|
Font Imports
|
|
5
5
|
============================================================ */
|
|
6
|
-
@import url('https://fonts.googleapis.com/css2?family=
|
|
6
|
+
@import url('https://fonts.googleapis.com/css2?family=Libre+Franklin:wght@600;700;800;900&family=IBM+Plex+Sans:ital,wght@0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600&display=swap');
|
|
7
7
|
|
|
8
8
|
/* ============================================================
|
|
9
9
|
Design Tokens — Dark Mode (Primary / Default)
|
|
10
|
+
Palette: Strata (earth-toned, one live mineral accent: ember).
|
|
10
11
|
============================================================ */
|
|
11
12
|
:root {
|
|
12
|
-
/* --- Surfaces —
|
|
13
|
-
--surface-0: #
|
|
14
|
-
--surface-1: #
|
|
15
|
-
--surface-2: #
|
|
16
|
-
--surface-3: #
|
|
13
|
+
/* --- Surfaces — peat and loam, not pure black --- */
|
|
14
|
+
--surface-0: #12100C;
|
|
15
|
+
--surface-1: #1C1813;
|
|
16
|
+
--surface-2: #241F19;
|
|
17
|
+
--surface-3: #2E271F;
|
|
17
18
|
|
|
18
19
|
/* --- Text --- */
|
|
19
|
-
--text-primary: #
|
|
20
|
-
--text-secondary: #
|
|
21
|
-
--text-tertiary: #
|
|
20
|
+
--text-primary: #EFE7D9;
|
|
21
|
+
--text-secondary: #A79880;
|
|
22
|
+
--text-tertiary: #7A6C58;
|
|
22
23
|
|
|
23
|
-
/* --- Accent —
|
|
24
|
-
--accent: #
|
|
25
|
-
--accent-hover: #
|
|
26
|
-
--accent-muted: #
|
|
24
|
+
/* --- Accent — ember, a copper patina (used sparingly) --- */
|
|
25
|
+
--accent: #C9793F;
|
|
26
|
+
--accent-hover: #D89060;
|
|
27
|
+
--accent-muted: #C9793F26;
|
|
27
28
|
|
|
28
|
-
/* --- Warm neutrals —
|
|
29
|
-
--sandstone: #
|
|
30
|
-
--sandstone-muted: #
|
|
29
|
+
/* --- Warm neutrals — sand --- */
|
|
30
|
+
--sandstone: #C9B08A;
|
|
31
|
+
--sandstone-muted: #C9B08A33;
|
|
31
32
|
|
|
32
33
|
/* --- Semantic --- */
|
|
33
|
-
--success: #
|
|
34
|
-
--success-bg:
|
|
35
|
-
--warning: #
|
|
36
|
-
--warning-bg:
|
|
37
|
-
--error: #
|
|
38
|
-
--error-bg:
|
|
39
|
-
--info: #
|
|
40
|
-
--info-bg:
|
|
34
|
+
--success: #C9793F;
|
|
35
|
+
--success-bg: color-mix(in srgb, var(--success) 14%, var(--surface-1));
|
|
36
|
+
--warning: #D9A03F;
|
|
37
|
+
--warning-bg: color-mix(in srgb, var(--warning) 14%, var(--surface-1));
|
|
38
|
+
--error: #C4573A;
|
|
39
|
+
--error-bg: color-mix(in srgb, var(--error) 14%, var(--surface-1));
|
|
40
|
+
--info: #C9B08A;
|
|
41
|
+
--info-bg: color-mix(in srgb, var(--info) 12%, var(--surface-1));
|
|
41
42
|
|
|
42
43
|
/* --- Borders --- */
|
|
43
|
-
--border: #
|
|
44
|
-
--border-hover: #
|
|
44
|
+
--border: #332B21;
|
|
45
|
+
--border-hover: #463B2D;
|
|
45
46
|
|
|
46
47
|
/* --- Code --- */
|
|
47
|
-
--code-bg: #
|
|
48
|
-
--code-text: #
|
|
48
|
+
--code-bg: #0F0D0A;
|
|
49
|
+
--code-text: #C9B08A;
|
|
49
50
|
|
|
50
51
|
/* --- Legacy aliases (component compatibility) --- */
|
|
51
52
|
--color-primary: var(--accent);
|
|
@@ -76,18 +77,18 @@
|
|
|
76
77
|
--color-text-secondary: var(--text-secondary);
|
|
77
78
|
--color-text-tertiary: var(--text-tertiary);
|
|
78
79
|
--color-text-disabled: var(--text-tertiary);
|
|
79
|
-
--color-text-on-primary: #
|
|
80
|
+
--color-text-on-primary: #EFE7D9;
|
|
80
81
|
--color-text-active: var(--accent-hover);
|
|
81
82
|
|
|
82
83
|
--color-border-default: var(--border);
|
|
83
84
|
--color-border-strong: var(--border-hover);
|
|
84
85
|
--color-border-input: var(--border-hover);
|
|
85
86
|
|
|
86
|
-
/* --- Badge: Inherited —
|
|
87
|
+
/* --- Badge: Inherited — sand --- */
|
|
87
88
|
--color-badge-inherited-bg: var(--sandstone-muted);
|
|
88
89
|
--color-badge-inherited-text: var(--sandstone);
|
|
89
90
|
|
|
90
|
-
/* --- Badge: Locked — warning
|
|
91
|
+
/* --- Badge: Locked — warning ochre --- */
|
|
91
92
|
--color-badge-locked-bg: var(--warning-bg);
|
|
92
93
|
--color-badge-locked-text: var(--warning);
|
|
93
94
|
|
|
@@ -100,9 +101,9 @@
|
|
|
100
101
|
--color-badge-delegated-text: var(--success);
|
|
101
102
|
|
|
102
103
|
/* --- Typography --- */
|
|
103
|
-
--font-display: "
|
|
104
|
-
--font-body: "
|
|
105
|
-
--font-code: "
|
|
104
|
+
--font-display: "Libre Franklin", system-ui, sans-serif;
|
|
105
|
+
--font-body: "IBM Plex Sans", system-ui, sans-serif;
|
|
106
|
+
--font-code: "IBM Plex Mono", ui-monospace, "SFMono-Regular", monospace;
|
|
106
107
|
|
|
107
108
|
--font-size-xs: 0.6875rem; /* 11px */
|
|
108
109
|
--font-size-sm: 0.75rem; /* 12px */
|
|
@@ -144,10 +145,10 @@
|
|
|
144
145
|
--radius-full: 9999px;
|
|
145
146
|
|
|
146
147
|
/* --- Shadows — warm-toned --- */
|
|
147
|
-
--shadow-sm: 0 1px 2px rgba(
|
|
148
|
-
--shadow-md: 0 2px 8px rgba(
|
|
149
|
-
--shadow-lg: 0 4px 16px rgba(
|
|
150
|
-
--shadow-xl: 0 8px 32px rgba(
|
|
148
|
+
--shadow-sm: 0 1px 2px rgba(18, 16, 12, 0.4);
|
|
149
|
+
--shadow-md: 0 2px 8px rgba(18, 16, 12, 0.5), 0 1px 2px rgba(18, 16, 12, 0.3);
|
|
150
|
+
--shadow-lg: 0 4px 16px rgba(18, 16, 12, 0.6), 0 2px 4px rgba(18, 16, 12, 0.3);
|
|
151
|
+
--shadow-xl: 0 8px 32px rgba(18, 16, 12, 0.7), 0 4px 8px rgba(18, 16, 12, 0.4);
|
|
151
152
|
|
|
152
153
|
/* --- Motion --- */
|
|
153
154
|
--ease-out: cubic-bezier(0.16, 1, 0.3, 1);
|
|
@@ -171,36 +172,36 @@
|
|
|
171
172
|
Light Mode — for docs only
|
|
172
173
|
============================================================ */
|
|
173
174
|
[data-theme="light"] {
|
|
174
|
-
--surface-0: #
|
|
175
|
-
--surface-1: #
|
|
176
|
-
--surface-2: #
|
|
177
|
-
--surface-3: #
|
|
175
|
+
--surface-0: #F4EFE4;
|
|
176
|
+
--surface-1: #FFFCF6;
|
|
177
|
+
--surface-2: #E9E2D4;
|
|
178
|
+
--surface-3: #DCD2BF;
|
|
178
179
|
|
|
179
|
-
--text-primary: #
|
|
180
|
-
--text-secondary: #
|
|
181
|
-
--text-tertiary: #
|
|
180
|
+
--text-primary: #1A1611;
|
|
181
|
+
--text-secondary: #4E4636;
|
|
182
|
+
--text-tertiary: #6F6553;
|
|
182
183
|
|
|
183
|
-
--accent: #
|
|
184
|
-
--accent-hover: #
|
|
185
|
-
--accent-muted: #
|
|
184
|
+
--accent: #8B4A26;
|
|
185
|
+
--accent-hover: #6E3A1D;
|
|
186
|
+
--accent-muted: #8B4A2620;
|
|
186
187
|
|
|
187
|
-
--sandstone: #
|
|
188
|
-
--sandstone-muted: #
|
|
188
|
+
--sandstone: #7A5F35;
|
|
189
|
+
--sandstone-muted: #7A5F3520;
|
|
189
190
|
|
|
190
|
-
--success: #
|
|
191
|
-
--success-bg: #
|
|
192
|
-
--warning: #
|
|
193
|
-
--warning-bg: #
|
|
194
|
-
--error: #
|
|
195
|
-
--error-bg: #
|
|
196
|
-
--info: #
|
|
197
|
-
--info-bg: #
|
|
191
|
+
--success: #8B4A26;
|
|
192
|
+
--success-bg: #F0E0D2;
|
|
193
|
+
--warning: #8A5A0F;
|
|
194
|
+
--warning-bg: #F3E4C0;
|
|
195
|
+
--error: #9C3A22;
|
|
196
|
+
--error-bg: #F5DDD2;
|
|
197
|
+
--info: #6B5A3C;
|
|
198
|
+
--info-bg: #E8E1D2;
|
|
198
199
|
|
|
199
|
-
--border: #
|
|
200
|
-
--border-hover: #
|
|
200
|
+
--border: #DBD2BF;
|
|
201
|
+
--border-hover: #C4B79F;
|
|
201
202
|
|
|
202
|
-
--code-bg: #
|
|
203
|
-
--code-text: #
|
|
203
|
+
--code-bg: #FFFCF6;
|
|
204
|
+
--code-text: #7A5F35;
|
|
204
205
|
|
|
205
206
|
/* --- Legacy aliases (light) --- */
|
|
206
207
|
--color-primary: var(--accent);
|
|
@@ -231,7 +232,7 @@
|
|
|
231
232
|
--color-text-secondary: var(--text-secondary);
|
|
232
233
|
--color-text-tertiary: var(--text-tertiary);
|
|
233
234
|
--color-text-disabled: var(--text-tertiary);
|
|
234
|
-
--color-text-on-primary: #
|
|
235
|
+
--color-text-on-primary: #FFFCF6;
|
|
235
236
|
--color-text-active: var(--accent);
|
|
236
237
|
|
|
237
238
|
--color-border-default: var(--border);
|
|
@@ -250,10 +251,10 @@
|
|
|
250
251
|
--color-badge-delegated-bg: var(--success-bg);
|
|
251
252
|
--color-badge-delegated-text: var(--success);
|
|
252
253
|
|
|
253
|
-
--shadow-sm: 0 1px 2px rgba(26,
|
|
254
|
-
--shadow-md: 0 2px 8px rgba(26,
|
|
255
|
-
--shadow-lg: 0 4px 16px rgba(26,
|
|
256
|
-
--shadow-xl: 0 8px 32px rgba(26,
|
|
254
|
+
--shadow-sm: 0 1px 2px rgba(26, 22, 17, 0.06);
|
|
255
|
+
--shadow-md: 0 2px 8px rgba(26, 22, 17, 0.09), 0 1px 2px rgba(26, 22, 17, 0.05);
|
|
256
|
+
--shadow-lg: 0 4px 16px rgba(26, 22, 17, 0.12), 0 2px 4px rgba(26, 22, 17, 0.06);
|
|
257
|
+
--shadow-xl: 0 8px 32px rgba(26, 22, 17, 0.14), 0 4px 8px rgba(26, 22, 17, 0.07);
|
|
257
258
|
}
|
|
258
259
|
|
|
259
260
|
/* ============================================================
|
|
@@ -261,36 +262,36 @@
|
|
|
261
262
|
============================================================ */
|
|
262
263
|
@media (prefers-color-scheme: light) {
|
|
263
264
|
:root:not([data-theme]) {
|
|
264
|
-
--surface-0: #
|
|
265
|
-
--surface-1: #
|
|
266
|
-
--surface-2: #
|
|
267
|
-
--surface-3: #
|
|
265
|
+
--surface-0: #F4EFE4;
|
|
266
|
+
--surface-1: #FFFCF6;
|
|
267
|
+
--surface-2: #E9E2D4;
|
|
268
|
+
--surface-3: #DCD2BF;
|
|
268
269
|
|
|
269
|
-
--text-primary: #
|
|
270
|
-
--text-secondary: #
|
|
271
|
-
--text-tertiary: #
|
|
270
|
+
--text-primary: #1A1611;
|
|
271
|
+
--text-secondary: #4E4636;
|
|
272
|
+
--text-tertiary: #6F6553;
|
|
272
273
|
|
|
273
|
-
--accent: #
|
|
274
|
-
--accent-hover: #
|
|
275
|
-
--accent-muted: #
|
|
274
|
+
--accent: #8B4A26;
|
|
275
|
+
--accent-hover: #6E3A1D;
|
|
276
|
+
--accent-muted: #8B4A2620;
|
|
276
277
|
|
|
277
|
-
--sandstone: #
|
|
278
|
-
--sandstone-muted: #
|
|
278
|
+
--sandstone: #7A5F35;
|
|
279
|
+
--sandstone-muted: #7A5F3520;
|
|
279
280
|
|
|
280
|
-
--success: #
|
|
281
|
-
--success-bg: #
|
|
282
|
-
--warning: #
|
|
283
|
-
--warning-bg: #
|
|
284
|
-
--error: #
|
|
285
|
-
--error-bg: #
|
|
286
|
-
--info: #
|
|
287
|
-
--info-bg: #
|
|
281
|
+
--success: #8B4A26;
|
|
282
|
+
--success-bg: #F0E0D2;
|
|
283
|
+
--warning: #8A5A0F;
|
|
284
|
+
--warning-bg: #F3E4C0;
|
|
285
|
+
--error: #9C3A22;
|
|
286
|
+
--error-bg: #F5DDD2;
|
|
287
|
+
--info: #6B5A3C;
|
|
288
|
+
--info-bg: #E8E1D2;
|
|
288
289
|
|
|
289
|
-
--border: #
|
|
290
|
-
--border-hover: #
|
|
290
|
+
--border: #DBD2BF;
|
|
291
|
+
--border-hover: #C4B79F;
|
|
291
292
|
|
|
292
|
-
--code-bg: #
|
|
293
|
-
--code-text: #
|
|
293
|
+
--code-bg: #FFFCF6;
|
|
294
|
+
--code-text: #7A5F35;
|
|
294
295
|
|
|
295
296
|
--color-primary: var(--accent);
|
|
296
297
|
--color-primary-hover: var(--accent-hover);
|
|
@@ -320,7 +321,7 @@
|
|
|
320
321
|
--color-text-secondary: var(--text-secondary);
|
|
321
322
|
--color-text-tertiary: var(--text-tertiary);
|
|
322
323
|
--color-text-disabled: var(--text-tertiary);
|
|
323
|
-
--color-text-on-primary: #
|
|
324
|
+
--color-text-on-primary: #FFFCF6;
|
|
324
325
|
--color-text-active: var(--accent);
|
|
325
326
|
|
|
326
327
|
--color-border-default: var(--border);
|
|
@@ -339,10 +340,10 @@
|
|
|
339
340
|
--color-badge-delegated-bg: var(--success-bg);
|
|
340
341
|
--color-badge-delegated-text: var(--success);
|
|
341
342
|
|
|
342
|
-
--shadow-sm: 0 1px 2px rgba(26,
|
|
343
|
-
--shadow-md: 0 2px 8px rgba(26,
|
|
344
|
-
--shadow-lg: 0 4px 16px rgba(26,
|
|
345
|
-
--shadow-xl: 0 8px 32px rgba(26,
|
|
343
|
+
--shadow-sm: 0 1px 2px rgba(26, 22, 17, 0.06);
|
|
344
|
+
--shadow-md: 0 2px 8px rgba(26, 22, 17, 0.09), 0 1px 2px rgba(26, 22, 17, 0.05);
|
|
345
|
+
--shadow-lg: 0 4px 16px rgba(26, 22, 17, 0.12), 0 2px 4px rgba(26, 22, 17, 0.06);
|
|
346
|
+
--shadow-xl: 0 8px 32px rgba(26, 22, 17, 0.14), 0 4px 8px rgba(26, 22, 17, 0.07);
|
|
346
347
|
}
|
|
347
348
|
}
|
|
348
349
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stratum-hq/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Stratum React UI components for multi-tenant administration",
|
|
6
6
|
"keywords": [
|
|
@@ -65,7 +65,7 @@
|
|
|
65
65
|
"react-dom": "^18.2.0",
|
|
66
66
|
"storybook": "^8.4.0",
|
|
67
67
|
"typescript": "^5.4.0",
|
|
68
|
-
"vitest": "^1.
|
|
68
|
+
"vitest": "^4.1.11"
|
|
69
69
|
},
|
|
70
70
|
"license": "MIT",
|
|
71
71
|
"author": "Christian Crank",
|