@busiverse/ui 0.2.9 → 0.2.10
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 +5 -0
- package/dist/styles.css +200 -23
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -272,3 +272,8 @@ npm install @busiverse/ui@0.2.9 --save-exact
|
|
|
272
272
|
```
|
|
273
273
|
|
|
274
274
|
The frontend should not duplicate BUSIVERSE brand assets in `public/`; brand assets remain owned by `@busiverse/ui`.
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
## Theme contract
|
|
278
|
+
|
|
279
|
+
`@busiverse/ui@0.2.10` owns the shared BUSIVERSE light/dark CSS contract. Apps should place `light` or `dark` on `document.documentElement`; `system` mode should resolve to one of those classes. Do not hard-code `className="dark ..."` on page wrappers, because it prevents light mode from working.
|
package/dist/styles.css
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/* Font loading is intentionally app-owned. Self-host or load Space Grotesk, Inter, and JetBrains Mono in each frontend. */
|
|
2
|
-
:root
|
|
2
|
+
:root,
|
|
3
|
+
.light {
|
|
3
4
|
--color-brand-blue: #3B82F6;
|
|
4
5
|
--color-brand-violet: #8B5CF6;
|
|
5
6
|
--color-brand-cyan: #06B6D4;
|
|
@@ -9,23 +10,54 @@
|
|
|
9
10
|
--color-action-violet-hover: #6D28D9;
|
|
10
11
|
--color-action-cyan: #0E7490;
|
|
11
12
|
--color-action-cyan-hover: #155E75;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
--color-bg-
|
|
15
|
-
--color-bg-
|
|
13
|
+
|
|
14
|
+
/* BUSIVERSE light theme defaults */
|
|
15
|
+
--color-bg-primary: #F8FAFC;
|
|
16
|
+
--color-bg-secondary: #FFFFFF;
|
|
17
|
+
--color-bg-tertiary: #F1F5F9;
|
|
18
|
+
--color-bg-brand-dark: #DBEAFE;
|
|
16
19
|
--color-bg-light-primary: #FFFFFF;
|
|
17
20
|
--color-bg-light-secondary: #F8FAFC;
|
|
18
21
|
--color-bg-light-tertiary: #F1F5F9;
|
|
19
|
-
--color-text-primary-dark: #
|
|
20
|
-
--color-text-secondary-dark: #
|
|
21
|
-
--color-text-muted-dark: #
|
|
22
|
-
--color-text-disabled-dark: #
|
|
22
|
+
--color-text-primary-dark: #020617;
|
|
23
|
+
--color-text-secondary-dark: #334155;
|
|
24
|
+
--color-text-muted-dark: #64748B;
|
|
25
|
+
--color-text-disabled-dark: #94A3B8;
|
|
23
26
|
--color-text-primary-light: #020617;
|
|
24
27
|
--color-text-secondary-light: #334155;
|
|
25
28
|
--color-text-muted-light: #64748B;
|
|
26
|
-
--color-border-dark-subtle: rgba(
|
|
27
|
-
--color-border-dark-medium: rgba(
|
|
28
|
-
--color-border-dark-strong: rgba(
|
|
29
|
+
--color-border-dark-subtle: rgba(15,23,42,.12);
|
|
30
|
+
--color-border-dark-medium: rgba(15,23,42,.20);
|
|
31
|
+
--color-border-dark-strong: rgba(15,23,42,.32);
|
|
32
|
+
|
|
33
|
+
/* shadcn/Tailwind token bridge used by separately deployed frontends */
|
|
34
|
+
--background: 210 40% 98%;
|
|
35
|
+
--foreground: 222 47% 11%;
|
|
36
|
+
--card: 0 0% 100%;
|
|
37
|
+
--card-foreground: 222 47% 11%;
|
|
38
|
+
--popover: 0 0% 100%;
|
|
39
|
+
--popover-foreground: 222 47% 11%;
|
|
40
|
+
--primary: 217 91% 60%;
|
|
41
|
+
--primary-foreground: 0 0% 100%;
|
|
42
|
+
--secondary: 210 33% 96%;
|
|
43
|
+
--secondary-foreground: 222 47% 11%;
|
|
44
|
+
--muted: 210 33% 96%;
|
|
45
|
+
--muted-foreground: 215 14% 42%;
|
|
46
|
+
--accent: 217 91% 60%;
|
|
47
|
+
--accent-foreground: 0 0% 100%;
|
|
48
|
+
--destructive: 0 84% 60%;
|
|
49
|
+
--destructive-foreground: 0 0% 100%;
|
|
50
|
+
--border: 214 32% 91%;
|
|
51
|
+
--input: 214 32% 91%;
|
|
52
|
+
--ring: 217 91% 60%;
|
|
53
|
+
--base-bg: 210 40% 98%;
|
|
54
|
+
--surface-bg: 0 0% 100%;
|
|
55
|
+
--surface-elevated: 210 33% 96%;
|
|
56
|
+
--text-heading: 222 47% 11%;
|
|
57
|
+
--text-body: 215 16% 28%;
|
|
58
|
+
--text-muted: 215 14% 42%;
|
|
59
|
+
--text-disabled: 215 10% 60%;
|
|
60
|
+
|
|
29
61
|
--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;
|
|
30
62
|
--font-body: "Inter", system-ui, sans-serif;
|
|
31
63
|
--font-code: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
|
|
@@ -39,6 +71,41 @@
|
|
|
39
71
|
--motion-default: 200ms;
|
|
40
72
|
--motion-slow: 300ms;
|
|
41
73
|
--ease-standard: cubic-bezier(0.16,1,0.3,1);
|
|
74
|
+
color-scheme: light;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
.dark {
|
|
78
|
+
--color-bg-primary: #020617;
|
|
79
|
+
--color-bg-secondary: #0F172A;
|
|
80
|
+
--color-bg-tertiary: #1E293B;
|
|
81
|
+
--color-bg-brand-dark: #172554;
|
|
82
|
+
--color-text-primary-dark: #FFFFFF;
|
|
83
|
+
--color-text-secondary-dark: #CBD5E1;
|
|
84
|
+
--color-text-muted-dark: #94A3B8;
|
|
85
|
+
--color-text-disabled-dark: #64748B;
|
|
86
|
+
--color-border-dark-subtle: rgba(255,255,255,.10);
|
|
87
|
+
--color-border-dark-medium: rgba(255,255,255,.20);
|
|
88
|
+
--color-border-dark-strong: rgba(255,255,255,.32);
|
|
89
|
+
|
|
90
|
+
--background: 222 47% 4%;
|
|
91
|
+
--foreground: 0 0% 100%;
|
|
92
|
+
--card: 222 47% 7%;
|
|
93
|
+
--card-foreground: 0 0% 100%;
|
|
94
|
+
--popover: 222 47% 11%;
|
|
95
|
+
--popover-foreground: 0 0% 100%;
|
|
96
|
+
--secondary: 215 25% 17%;
|
|
97
|
+
--secondary-foreground: 0 0% 100%;
|
|
98
|
+
--muted: 215 25% 17%;
|
|
99
|
+
--muted-foreground: 214 16% 65%;
|
|
100
|
+
--border: 0 0% 100% / 0.1;
|
|
101
|
+
--input: 0 0% 100% / 0.1;
|
|
102
|
+
--base-bg: 222 83% 4%;
|
|
103
|
+
--surface-bg: 222 47% 11%;
|
|
104
|
+
--surface-elevated: 217 33% 17%;
|
|
105
|
+
--text-heading: 0 0% 100%;
|
|
106
|
+
--text-body: 214 32% 91%;
|
|
107
|
+
--text-muted: 215 20% 65%;
|
|
108
|
+
--text-disabled: 215 16% 47%;
|
|
42
109
|
color-scheme: dark;
|
|
43
110
|
}
|
|
44
111
|
|
|
@@ -47,12 +114,15 @@ html { scroll-behavior: smooth; }
|
|
|
47
114
|
body {
|
|
48
115
|
margin: 0;
|
|
49
116
|
font-family: var(--font-body);
|
|
50
|
-
background: var(--
|
|
51
|
-
color: var(--
|
|
117
|
+
background: hsl(var(--background));
|
|
118
|
+
color: hsl(var(--foreground));
|
|
52
119
|
text-rendering: optimizeLegibility;
|
|
53
120
|
-webkit-font-smoothing: antialiased;
|
|
54
121
|
}
|
|
55
122
|
|
|
123
|
+
html.dark body {
|
|
124
|
+
background: linear-gradient(135deg,#020617 0%,#172554 45%,#0F172A 100%);
|
|
125
|
+
}
|
|
56
126
|
button, input, textarea, select { font: inherit; }
|
|
57
127
|
a { color: inherit; text-decoration: none; }
|
|
58
128
|
img, svg { max-width: 100%; display: block; }
|
|
@@ -254,18 +324,12 @@ img, svg { max-width: 100%; display: block; }
|
|
|
254
324
|
.busiverse-pricing-controls > input { max-width: none; }
|
|
255
325
|
}
|
|
256
326
|
|
|
257
|
-
/* Legacy-compatible BUSIVERSE design
|
|
258
|
-
:root
|
|
259
|
-
|
|
260
|
-
--surface-bg: 222 47% 11%;
|
|
261
|
-
--surface-elevated: 217 33% 17%;
|
|
327
|
+
/* Legacy-compatible BUSIVERSE design aliases for separately deployed frontends. */
|
|
328
|
+
:root,
|
|
329
|
+
.light {
|
|
262
330
|
--primary-blue: 217 91% 60%;
|
|
263
331
|
--primary-violet: 258 90% 66%;
|
|
264
332
|
--primary-cyan: 188 94% 43%;
|
|
265
|
-
--text-heading: 0 0% 100%;
|
|
266
|
-
--text-body: 214 32% 91%;
|
|
267
|
-
--text-muted: 215 20% 65%;
|
|
268
|
-
--text-disabled: 215 16% 47%;
|
|
269
333
|
}
|
|
270
334
|
.font-heading { font-family: var(--font-display); }
|
|
271
335
|
.bg-gradient-primary { background: linear-gradient(90deg, #2563EB 0%, #7C3AED 100%); }
|
|
@@ -310,3 +374,116 @@ img, svg { max-width: 100%; display: block; }
|
|
|
310
374
|
.busiverse-marketing-price-action { margin-top: auto; }
|
|
311
375
|
@media (max-width: 980px) { .busiverse-marketing-grid, .busiverse-marketing-grid.two { grid-template-columns: 1fr; } }
|
|
312
376
|
@media (max-width: 760px) { .busiverse-marketing-section { padding: 72px 20px; } }
|
|
377
|
+
|
|
378
|
+
|
|
379
|
+
/* Theme-aware compatibility overrides for legacy dark-first BUSIVERSE frontends. */
|
|
380
|
+
.light .busiverse-glass,
|
|
381
|
+
.light .glass-card,
|
|
382
|
+
.light .registry-glass,
|
|
383
|
+
.light .registry-card,
|
|
384
|
+
.light .busiverse-card,
|
|
385
|
+
.light .busiverse-marketing-card,
|
|
386
|
+
.light .busiverse-marketing-pricing-card,
|
|
387
|
+
.light .busiverse-table-wrap,
|
|
388
|
+
.light .busiverse-table-state {
|
|
389
|
+
background: rgba(255, 255, 255, 0.86);
|
|
390
|
+
border-color: rgba(15, 23, 42, 0.12);
|
|
391
|
+
color: hsl(var(--foreground));
|
|
392
|
+
box-shadow: 0 18px 60px rgba(15, 23, 42, 0.08);
|
|
393
|
+
}
|
|
394
|
+
|
|
395
|
+
.light .busiverse-card-description,
|
|
396
|
+
.light .busiverse-card-content,
|
|
397
|
+
.light .busiverse-state p,
|
|
398
|
+
.light .busiverse-page-header p,
|
|
399
|
+
.light .busiverse-hero p,
|
|
400
|
+
.light .busiverse-marketing-section-header p:not(.busiverse-eyebrow),
|
|
401
|
+
.light .busiverse-marketing-card p,
|
|
402
|
+
.light .busiverse-marketing-pricing-card p,
|
|
403
|
+
.light .busiverse-marketing-pricing-card ul,
|
|
404
|
+
.light .busiverse-pricing-header p,
|
|
405
|
+
.light .busiverse-pricing-table-heading p,
|
|
406
|
+
.light .busiverse-pricing-card p,
|
|
407
|
+
.light .busiverse-table th,
|
|
408
|
+
.light .busiverse-table td,
|
|
409
|
+
.light .busiverse-topbar,
|
|
410
|
+
.light .busiverse-sidebar-link,
|
|
411
|
+
.light .busiverse-sidebar-service-link {
|
|
412
|
+
color: hsl(var(--text-body));
|
|
413
|
+
}
|
|
414
|
+
|
|
415
|
+
.light .busiverse-card-title,
|
|
416
|
+
.light .busiverse-page-header h1,
|
|
417
|
+
.light .busiverse-hero h1,
|
|
418
|
+
.light .busiverse-marketing-section-header h2,
|
|
419
|
+
.light .busiverse-marketing-card h3,
|
|
420
|
+
.light .busiverse-marketing-pricing-card h3,
|
|
421
|
+
.light .busiverse-marketing-price-line strong,
|
|
422
|
+
.light .busiverse-stat-card strong,
|
|
423
|
+
.light .busiverse-pricing-card h3,
|
|
424
|
+
.light .busiverse-pricing-card-price strong,
|
|
425
|
+
.light .busiverse-pricing-table-heading h3 {
|
|
426
|
+
color: hsl(var(--foreground));
|
|
427
|
+
}
|
|
428
|
+
|
|
429
|
+
.light .busiverse-app-shell,
|
|
430
|
+
.light .busiverse-hero,
|
|
431
|
+
.light .busiverse-marketing-section,
|
|
432
|
+
.light .busiverse-pricing-explorer,
|
|
433
|
+
.light .bg-gradient-hero,
|
|
434
|
+
.light .bg-gradient-section {
|
|
435
|
+
background: radial-gradient(circle at 12% 0%, rgba(59,130,246,.13), transparent 34rem), linear-gradient(135deg, #F8FAFC 0%, #EFF6FF 48%, #FFFFFF 100%);
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
.light .busiverse-sidebar,
|
|
439
|
+
.light .busiverse-topbar {
|
|
440
|
+
background: rgba(255, 255, 255, 0.78);
|
|
441
|
+
border-color: rgba(15, 23, 42, 0.10);
|
|
442
|
+
color: hsl(var(--foreground));
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
.light .busiverse-btn-secondary,
|
|
446
|
+
.light .busiverse-btn-ghost {
|
|
447
|
+
color: hsl(var(--foreground));
|
|
448
|
+
background: rgba(15,23,42,.04);
|
|
449
|
+
border-color: rgba(15,23,42,.12);
|
|
450
|
+
}
|
|
451
|
+
.light .busiverse-btn-secondary:hover:not(:disabled),
|
|
452
|
+
.light .busiverse-btn-ghost:hover:not(:disabled) {
|
|
453
|
+
background: rgba(15,23,42,.08);
|
|
454
|
+
color: hsl(var(--foreground));
|
|
455
|
+
}
|
|
456
|
+
|
|
457
|
+
.light .busiverse-input,
|
|
458
|
+
.light .busiverse-region-selector select {
|
|
459
|
+
background: rgba(255,255,255,.88);
|
|
460
|
+
color: hsl(var(--foreground));
|
|
461
|
+
border-color: rgba(15,23,42,.14);
|
|
462
|
+
}
|
|
463
|
+
.light .busiverse-field label { color: hsl(var(--foreground)); }
|
|
464
|
+
.light .busiverse-field-hint,
|
|
465
|
+
.light .busiverse-pricing-card-footer,
|
|
466
|
+
.light .busiverse-pricing-code,
|
|
467
|
+
.light .busiverse-stat-card span,
|
|
468
|
+
.light .busiverse-marketing-price-line span { color: hsl(var(--text-muted)); }
|
|
469
|
+
.light .busiverse-table th { background: rgba(15,23,42,.04); }
|
|
470
|
+
.light .busiverse-table th,
|
|
471
|
+
.light .busiverse-table td { border-color: rgba(15,23,42,.08); }
|
|
472
|
+
|
|
473
|
+
/* Common dark-first Tailwind utility compatibility. Keep this narrow and BUSIVERSE-scoped. */
|
|
474
|
+
.light .text-white { color: hsl(var(--foreground)) !important; }
|
|
475
|
+
.light .text-slate-100,
|
|
476
|
+
.light .text-slate-200,
|
|
477
|
+
.light .text-slate-300,
|
|
478
|
+
.light .text-gray-100,
|
|
479
|
+
.light .text-gray-200,
|
|
480
|
+
.light .text-gray-300 { color: hsl(var(--text-body)) !important; }
|
|
481
|
+
.light .text-slate-400,
|
|
482
|
+
.light .text-gray-400 { color: hsl(var(--text-muted)) !important; }
|
|
483
|
+
.light .border-white\/10 { border-color: rgba(15,23,42,.10) !important; }
|
|
484
|
+
.light .border-white\/20 { border-color: rgba(15,23,42,.20) !important; }
|
|
485
|
+
.light .bg-white\/5 { background-color: rgba(15,23,42,.04) !important; }
|
|
486
|
+
.light .bg-white\/10 { background-color: rgba(15,23,42,.08) !important; }
|
|
487
|
+
.light .bg-slate-950,
|
|
488
|
+
.light .bg-slate-900,
|
|
489
|
+
.light .bg-\[hsl\(var\(--base-bg\)\)\] { background-color: hsl(var(--background)) !important; }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@busiverse/ui",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.10",
|
|
4
4
|
"author": "Joel Julius Okoromi <okmarq@gmail.com> (https://busiversehq.com)",
|
|
5
5
|
"description": "BUSIVERSE shared React UI, design tokens, pricing, i18n, auth helpers, and product shell. Network-neutral core; Gateway transport is app-injected.",
|
|
6
6
|
"type": "module",
|