nextworks 0.2.0-alpha.13 → 0.2.0-alpha.14

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 (42) hide show
  1. package/README.md +3 -1
  2. package/dist/kits/blocks/.nextworks/docs/BLOCKS_QUICKSTART.md +2 -0
  3. package/dist/kits/blocks/.nextworks/docs/BLOCKS_README.md +2 -0
  4. package/dist/kits/blocks/app/templates/aiworkflow/PresetThemeVars.tsx +1 -58
  5. package/dist/kits/blocks/app/templates/aiworkflow/README.md +2 -0
  6. package/dist/kits/blocks/app/templates/aiworkflow/components/CTA.tsx +9 -9
  7. package/dist/kits/blocks/app/templates/aiworkflow/components/Contact.tsx +12 -13
  8. package/dist/kits/blocks/app/templates/aiworkflow/components/FAQ.tsx +22 -19
  9. package/dist/kits/blocks/app/templates/aiworkflow/components/FeatureMockups.tsx +562 -0
  10. package/dist/kits/blocks/app/templates/aiworkflow/components/Features.tsx +18 -16
  11. package/dist/kits/blocks/app/templates/aiworkflow/components/Footer.tsx +13 -9
  12. package/dist/kits/blocks/app/templates/aiworkflow/components/Hero.tsx +883 -636
  13. package/dist/kits/blocks/app/templates/aiworkflow/components/Navbar.tsx +14 -15
  14. package/dist/kits/blocks/app/templates/aiworkflow/components/Pricing.tsx +27 -22
  15. package/dist/kits/blocks/app/templates/aiworkflow/components/ProcessTimeline.tsx +20 -21
  16. package/dist/kits/blocks/app/templates/aiworkflow/components/Testimonials.tsx +17 -13
  17. package/dist/kits/blocks/app/templates/aiworkflow/components/TrustBadges.tsx +15 -12
  18. package/dist/kits/blocks/app/templates/aiworkflow/themes/animation.tsx +151 -0
  19. package/dist/kits/blocks/app/templates/aiworkflow/themes/default.tsx +158 -0
  20. package/dist/kits/blocks/app/templates/aiworkflow/themes/test.tsx +163 -0
  21. package/dist/kits/blocks/app/templates/gallery/PresetThemeVars.tsx +46 -0
  22. package/dist/kits/blocks/app/templates/gallery/page.tsx +550 -161
  23. package/dist/kits/blocks/components/sections/HeroProductDemo.tsx +74 -64
  24. package/dist/kits/blocks/components/sections/Navbar.tsx +2 -0
  25. package/dist/kits/blocks/components/sections/product-demo/ApprovalInboxPanel.tsx +16 -13
  26. package/dist/kits/blocks/components/sections/product-demo/DemoStage.tsx +283 -162
  27. package/dist/kits/blocks/components/sections/product-demo/DemoWindow.tsx +65 -53
  28. package/dist/kits/blocks/components/sections/product-demo/KnowledgePanel.tsx +20 -17
  29. package/dist/kits/blocks/components/sections/product-demo/RunConsolePanel.tsx +208 -127
  30. package/dist/kits/blocks/components/sections/product-demo/TaskListPanel.tsx +95 -0
  31. package/dist/kits/blocks/components/sections/product-demo/WorkflowStudioPanel.tsx +714 -161
  32. package/dist/kits/blocks/components/sections/product-demo/types.ts +69 -0
  33. package/dist/kits/blocks/components/ui/theme-selector.tsx +1 -1
  34. package/dist/kits/blocks/package-deps.json +3 -3
  35. package/dist/kits/blocks/public/placeholders/aiworkflow/live.svg +92 -0
  36. package/dist/kits/blocks/public/placeholders/aiworkflow/review.svg +80 -0
  37. package/dist/kits/blocks/public/placeholders/aiworkflow/task.svg +71 -0
  38. package/dist/kits/blocks/tsconfig.json +13 -0
  39. package/dist/utils/file-operations.d.ts.map +1 -1
  40. package/dist/utils/file-operations.js +6 -1
  41. package/dist/utils/file-operations.js.map +1 -1
  42. package/package.json +1 -1
@@ -0,0 +1,158 @@
1
+ import React from "react";
2
+
3
+ import { cn } from "@/lib/utils";
4
+
5
+ type Props = React.PropsWithChildren<{ className?: string }>;
6
+
7
+ export function PresetThemeVars({ className, children }: Props) {
8
+ return (
9
+ <div
10
+ className={cn(
11
+ "[--btn-ring:theme(colors.slate.950)] dark:[--btn-ring:theme(colors.white)]",
12
+
13
+ "[--navbar-bg:rgba(255,255,255,0.76)] dark:[--navbar-bg:rgba(0,0,0,0.72)]",
14
+ "[--navbar-fg:theme(colors.slate.900)] dark:[--navbar-fg:theme(colors.white)]",
15
+ "[--navbar-accent:theme(colors.slate.950)] dark:[--navbar-accent:theme(colors.white)]",
16
+
17
+ "[--navbar-link-fg:theme(colors.slate.700)] dark:[--navbar-link-fg:theme(colors.slate.200)]",
18
+ "[--navbar-link-hover-fg:theme(colors.slate.950)] dark:[--navbar-link-hover-fg:theme(colors.white)]",
19
+ "[--navbar-toggle-bg:theme(colors.white)] dark:[--navbar-toggle-bg:theme(colors.black)]",
20
+ "[--navbar-hover-bg:rgba(15,23,42,0.04)] dark:[--navbar-hover-bg:rgba(255,255,255,0.06)]",
21
+ "[--navbar-ring:theme(colors.slate.950)] dark:[--navbar-ring:theme(colors.pink)]",
22
+ "[--navbar-border:rgba(15,23,42,0.08)] dark:[--navbar-border:rgba(255,255,255,0.1)]",
23
+
24
+ "[--input-bg:theme(colors.white)] dark:[--input-bg:#000000]",
25
+
26
+ "[--input-fg:theme(colors.slate.900)] dark:[--input-fg:theme(colors.slate.100)]",
27
+ "[--input-placeholder:theme(colors.slate.400)] dark:[--input-placeholder:theme(colors.slate.500)]",
28
+ "[--input-border:theme(colors.slate.200)] dark:[--input-border:theme(colors.slate.800)]",
29
+ "[--input-focus-ring:theme(colors.slate.950)] dark:[--input-focus-ring:theme(colors.white)]",
30
+ "[--input-ring-offset:theme(colors.white)] dark:[--input-ring-offset:#000000]",
31
+
32
+ "[--card-bg:theme(colors.white)] dark:[--card-bg:#000000]",
33
+
34
+ "[--card-fg:theme(colors.slate.900)] dark:[--card-fg:theme(colors.slate.100)]",
35
+ "[--card-title-fg:theme(colors.slate.950)] dark:[--card-title-fg:theme(colors.white)]",
36
+ "[--card-muted-fg:theme(colors.slate.600)] dark:[--card-muted-fg:theme(colors.slate.300)]",
37
+ "[--card-border:theme(colors.slate.200)] dark:[--card-border:rgba(255,255,255,0.1)]",
38
+ "[--card-shadow:0_10px_30px_rgba(8,15,30,0.08)] dark:[--card-shadow:0_12px_32px_rgba(0,0,0,0.35)]",
39
+
40
+ "[--badge-bg:theme(colors.slate.50)] dark:[--badge-bg:#000000]",
41
+
42
+ "[--badge-fg:theme(colors.slate.700)] dark:[--badge-fg:theme(colors.slate.200)]",
43
+ "[--badge-border:theme(colors.slate.200)] dark:[--badge-border:theme(colors.slate.700)]",
44
+ "[--badge-active-bg:theme(colors.slate.950)] dark:[--badge-active-bg:theme(colors.white)]",
45
+ "[--badge-active-fg:theme(colors.white)] dark:[--badge-active-fg:theme(colors.slate.950)]",
46
+ "[--badge-active-border:theme(colors.slate.950)] dark:[--badge-active-border:theme(colors.white)]",
47
+
48
+ "[--heading-fg:theme(colors.slate.950)] dark:[--heading-fg:theme(colors.white)]",
49
+ "[--subheading-fg:theme(colors.slate.600)] dark:[--subheading-fg:theme(colors.slate.300)]",
50
+ "[--description-fg:theme(colors.slate.700)] dark:[--description-fg:theme(colors.slate.200)]",
51
+
52
+ "[--hero-cta-primary-bg:theme(colors.slate.950)] dark:[--hero-cta-primary-bg:theme(colors.white)]",
53
+ "[--hero-cta-primary-hover-bg:theme(colors.slate.800)] dark:[--hero-cta-primary-hover-bg:theme(colors.slate.100)]",
54
+ "[--hero-cta-primary-fg:theme(colors.white)] dark:[--hero-cta-primary-fg:theme(colors.slate.950)]",
55
+ "[--hero-cta-primary-hover-fg:theme(colors.white)] dark:[--hero-cta-primary-hover-fg:theme(colors.slate.950)]",
56
+ "[--hero-cta-secondary-bg:transparent]",
57
+ "[--hero-cta-secondary-fg:theme(colors.slate.800)] dark:[--hero-cta-secondary-fg:theme(colors.slate.100)]",
58
+ "[--hero-cta-secondary-border:rgba(15,23,42,0.12)] dark:[--hero-cta-secondary-border:rgba(255,255,255,0.12)]",
59
+ "[--hero-cta-secondary-hover-bg:rgba(15,23,42,0.03)] dark:[--hero-cta-secondary-hover-bg:rgba(255,255,255,0.05)]",
60
+ "[--hero-cta-secondary-hover-fg:theme(colors.slate.800)] dark:[--hero-cta-secondary-hover-fg:theme(colors.slate.100)]",
61
+
62
+ "[--demo-shell-bg:#f9fbfe] dark:[--demo-shell-bg:#050505]",
63
+ "[--demo-shell-muted-bg:#eef3f8] dark:[--demo-shell-muted-bg:#060606]",
64
+ "[--demo-shell-strong-bg:#ffffff] dark:[--demo-shell-strong-bg:rgba(255,255,255,0.06)]",
65
+ "[--demo-panel-bg:rgba(255,255,255,0.76)] dark:[--demo-panel-bg:rgba(255,255,255,0.03)]",
66
+ "[--demo-panel-muted-bg:#f4f5f1] dark:[--demo-panel-muted-bg:#090909]",
67
+ "[--demo-panel-subtle-bg:#eef0eb] dark:[--demo-panel-subtle-bg:#0b0b0b]",
68
+ "[--demo-panel-strong-bg:#f6f7f4] dark:[--demo-panel-strong-bg:#0a0a0a]",
69
+ "[--demo-code-bg:#f7f7f4] dark:[--demo-code-bg:#0b0b0b]",
70
+ "[--demo-code-gutter-bg:#eff1ec] dark:[--demo-code-gutter-bg:#0d0d0d]",
71
+ "[--demo-border:rgba(15,23,42,0.055)] dark:[--demo-border:rgba(255,255,255,0.07)]",
72
+ "[--demo-border-strong:rgba(15,23,42,0.08)] dark:[--demo-border-strong:rgba(255,255,255,0.11)]",
73
+ "[--demo-fg:theme(colors.slate.900)] dark:[--demo-fg:rgba(255,255,255,0.94)]",
74
+ "[--demo-muted-fg:theme(colors.slate.600)] dark:[--demo-muted-fg:rgba(255,255,255,0.58)]",
75
+ "[--demo-subtle-fg:theme(colors.slate.500)] dark:[--demo-subtle-fg:rgba(255,255,255,0.42)]",
76
+ "[--demo-accent:theme(colors.sky.600)] dark:[--demo-accent:theme(colors.sky.400)]",
77
+ "[--demo-accent-soft-bg:rgba(2,132,199,0.1)] dark:[--demo-accent-soft-bg:rgba(56,189,248,0.14)]",
78
+ "[--demo-info:theme(colors.sky.600)] dark:[--demo-info:theme(colors.sky.300)]",
79
+ "[--demo-info-border:rgba(2,132,199,0.24)] dark:[--demo-info-border:rgba(125,211,252,0.28)]",
80
+ "[--demo-info-soft-bg:rgba(2,132,199,0.08)] dark:[--demo-info-soft-bg:rgba(56,189,248,0.12)]",
81
+ "[--demo-success:theme(colors.emerald.600)] dark:[--demo-success:theme(colors.emerald.300)]",
82
+ "[--demo-success-border:rgba(5,150,105,0.24)] dark:[--demo-success-border:rgba(110,231,183,0.26)]",
83
+ "[--demo-success-soft-bg:rgba(16,185,129,0.08)] dark:[--demo-success-soft-bg:rgba(16,185,129,0.12)]",
84
+ "[--demo-warning:theme(colors.amber.700)] dark:[--demo-warning:theme(colors.amber.300)]",
85
+ "[--demo-warning-border:rgba(217,119,6,0.24)] dark:[--demo-warning-border:rgba(252,211,77,0.26)]",
86
+ "[--demo-warning-soft-bg:rgba(245,158,11,0.1)] dark:[--demo-warning-soft-bg:rgba(245,158,11,0.14)]",
87
+ "[--demo-danger:theme(colors.rose.600)] dark:[--demo-danger:theme(colors.rose.300)]",
88
+ "[--demo-danger-border:rgba(225,29,72,0.24)] dark:[--demo-danger-border:rgba(253,164,175,0.28)]",
89
+ "[--demo-danger-soft-bg:rgba(244,63,94,0.08)] dark:[--demo-danger-soft-bg:rgba(251,113,133,0.14)]",
90
+ "[--demo-scroll-track:rgba(15,23,42,0.045)] dark:[--demo-scroll-track:rgba(255,255,255,0.05)]",
91
+ "[--demo-scroll-thumb:linear-gradient(180deg,rgba(15,23,42,0.26),rgba(15,23,42,0.42))] dark:[--demo-scroll-thumb:linear-gradient(180deg,rgba(226,232,240,0.24),rgba(226,232,240,0.4))]",
92
+ "[--demo-shell-shadow:0_24px_80px_-44px_rgba(15,23,42,0.24)] dark:[--demo-shell-shadow:0_30px_100px_-52px_rgba(0,0,0,0.82)]",
93
+ "[--demo-shell-ring:rgba(15,23,42,0.018)] dark:[--demo-shell-ring:rgba(255,255,255,0.03)]",
94
+
95
+ "[--section-bg:linear-gradient(180deg,#eef3f8_0%,#f6f8fb_48%,#eef3f8_100%)] dark:[--section-bg:linear-gradient(180deg,#000000_0%,#030303_48%,#000000_100%)]",
96
+
97
+ "[--section-border:rgba(226,232,240,0.8)] dark:[--section-border:theme(colors.slate.800)]",
98
+
99
+ "[--contact-section-bg:linear-gradient(180deg,#eef3f8_0%,#f6f8fb_48%,#eef3f8_100%)] dark:[--contact-section-bg:linear-gradient(180deg,#000000_0%,#030303_48%,#000000_100%)]",
100
+
101
+ "[--contact-submit-bg:theme(colors.slate.950)] dark:[--contact-submit-bg:theme(colors.white)]",
102
+ "[--contact-submit-fg:theme(colors.white)] dark:[--contact-submit-fg:theme(colors.slate.950)]",
103
+ "[--contact-submit-hover-bg:theme(colors.slate.800)] dark:[--contact-submit-hover-bg:theme(colors.slate.100)]",
104
+ "[--contact-submit-hover-fg:theme(colors.white)] dark:[--contact-submit-hover-fg:theme(colors.slate.950)]",
105
+ "[--contact-submit-border:transparent]",
106
+
107
+ "[--cta-section-bg:linear-gradient(180deg,#eef3f8_0%,#f6f8fb_48%,#eef3f8_100%)] dark:[--cta-section-bg:linear-gradient(180deg,#000000_0%,#030303_48%,#000000_100%)]",
108
+
109
+ "[--cta-heading-fg:theme(colors.slate.950)] dark:[--cta-heading-fg:theme(colors.white)]",
110
+ "[--cta-subheading-fg:theme(colors.slate.600)] dark:[--cta-subheading-fg:rgba(255,255,255,0.82)]",
111
+ "[--cta-description-fg:theme(colors.slate.700)] dark:[--cta-description-fg:rgba(255,255,255,0.74)]",
112
+ "[--cta-primary-bg:theme(colors.slate.950)] dark:[--cta-primary-bg:theme(colors.white)]",
113
+ "[--cta-primary-fg:theme(colors.white)] dark:[--cta-primary-fg:theme(colors.slate.950)]",
114
+ "[--cta-primary-hover-bg:theme(colors.slate.800)] dark:[--cta-primary-hover-bg:theme(colors.slate.100)]",
115
+ "[--cta-primary-hover-fg:theme(colors.white)] dark:[--cta-primary-hover-fg:theme(colors.slate.950)]",
116
+ "[--cta-primary-border:transparent]",
117
+ "[--cta-secondary-bg:transparent]",
118
+ "[--cta-secondary-fg:theme(colors.slate.800)] dark:[--cta-secondary-fg:theme(colors.slate.100)]",
119
+ "[--cta-secondary-border:rgba(15,23,42,0.12)] dark:[--cta-secondary-border:rgba(255,255,255,0.18)]",
120
+ "[--cta-secondary-hover-bg:rgba(15,23,42,0.03)] dark:[--cta-secondary-hover-bg:rgba(255,255,255,0.08)]",
121
+ "[--cta-secondary-hover-fg:theme(colors.slate.800)] dark:[--cta-secondary-hover-fg:theme(colors.slate.100)]",
122
+
123
+ "[--process-step-bg:theme(colors.slate.950)] dark:[--process-step-bg:theme(colors.white)]",
124
+ "[--process-step-fg:theme(colors.white)] dark:[--process-step-fg:theme(colors.slate.950)]",
125
+ "[--process-connector:theme(colors.slate.300)] dark:[--process-connector:theme(colors.slate.700)]",
126
+
127
+ "[--footer-bg:linear-gradient(180deg,rgba(255,255,255,0.42)_0%,rgba(255,255,255,0.14)_100%)] dark:[--footer-bg:linear-gradient(180deg,rgba(0,0,0,0.92)_0%,rgba(0,0,0,0.78)_100%)]",
128
+
129
+ "[--footer-fg:theme(colors.slate.800)] dark:[--footer-fg:theme(colors.slate.100)]",
130
+ "[--footer-heading-fg:theme(colors.slate.950)] dark:[--footer-heading-fg:theme(colors.white)]",
131
+ "[--footer-link-fg:theme(colors.slate.700)] dark:[--footer-link-fg:theme(colors.slate.300)]",
132
+ "[--footer-link-hover-fg:theme(colors.slate.950)] dark:[--footer-link-hover-fg:theme(colors.white)]",
133
+ "[--footer-link-hover-bg:theme(colors.slate.100)] dark:[--footer-link-hover-bg:rgba(255,255,255,0.06)]",
134
+ "[--footer-muted-fg:theme(colors.slate.500)] dark:[--footer-muted-fg:theme(colors.slate.400)]",
135
+ "[--footer-border:theme(colors.slate.200)] dark:[--footer-border:theme(colors.slate.800)]",
136
+
137
+ "[--table-fg:inherit]",
138
+ "[--table-muted-fg:theme(colors.slate.500)] dark:[--table-muted-fg:theme(colors.slate.400)]",
139
+ "[--table-head-fg:theme(colors.slate.700)] dark:[--table-head-fg:theme(colors.slate.300)]",
140
+ "[--table-border:theme(colors.slate.200)] dark:[--table-border:theme(colors.slate.800)]",
141
+ "[--table-row-hover-bg:theme(colors.slate.50)] dark:[--table-row-hover-bg:rgba(255,255,255,0.03)]",
142
+
143
+ "[--faq-btn-bg:theme(colors.white)] dark:[--faq-btn-bg:#000000]",
144
+
145
+ "[--faq-btn-fg:theme(colors.slate.900)] dark:[--faq-btn-fg:theme(colors.slate.100)]",
146
+ "[--faq-btn-hover-bg:theme(colors.slate.50)] dark:[--faq-btn-hover-bg:rgba(255,255,255,0.04)]",
147
+ "[--faq-btn-hover-fg:theme(colors.slate.900)] dark:[--faq-btn-hover-fg:theme(colors.slate.100)]",
148
+ "[--faq-answer-bg:theme(colors.white)] dark:[--faq-answer-bg:#000000]",
149
+
150
+ "[--faq-answer-fg:theme(colors.slate.700)] dark:[--faq-answer-fg:theme(colors.slate.200)]",
151
+
152
+ className,
153
+ )}
154
+ >
155
+ {children}
156
+ </div>
157
+ );
158
+ }
@@ -0,0 +1,163 @@
1
+ import React from "react";
2
+
3
+ import { cn } from "@/lib/utils";
4
+
5
+ type Props = React.PropsWithChildren<{ className?: string }>;
6
+
7
+ export function PresetThemeVars({ className, children }: Props) {
8
+ return (
9
+ <div
10
+ className={cn(
11
+ "[--btn-ring:theme(colors.amber.300)] dark:[--btn-ring:theme(colors.amber.200)]",
12
+
13
+ // Navbar
14
+ "[--navbar-bg:rgba(255,255,255,0.92)] dark:[--navbar-bg:rgba(15,23,42,0.98)]",
15
+ "[--navbar-fg:theme(colors.slate.900)] dark:[--navbar-fg:theme(colors.slate.100)]",
16
+ "[--navbar-accent:theme(colors.amber.500)] dark:[--navbar-accent:theme(colors.amber.300)]",
17
+ "[--navbar-link-fg:theme(colors.slate.700)] dark:[--navbar-link-fg:theme(colors.slate.300)]",
18
+ "[--navbar-link-hover-fg:theme(colors.slate.950)] dark:[--navbar-link-hover-fg:theme(colors.white)]",
19
+ "[--navbar-toggle-bg:rgba(15,23,42,0.06)] dark:[--navbar-toggle-bg:rgba(255,255,255,0.08)]",
20
+ "[--navbar-hover-bg:rgba(59,130,246,0.08)] dark:[--navbar-hover-bg:rgba(255,255,255,0.06)]",
21
+ "[--navbar-ring:theme(colors.blue.500)] dark:[--navbar-ring:theme(colors.blue.400)]",
22
+ "[--navbar-border:rgba(148,163,184,0.2)] dark:[--navbar-border:rgba(255,255,255,0.1)]",
23
+
24
+ // Input
25
+ "[--input-bg:rgba(255,255,255,0.94)] dark:[--input-bg:rgba(15,23,42,0.98)]",
26
+ "[--input-fg:theme(colors.slate.900)] dark:[--input-fg:theme(colors.slate.100)]",
27
+ "[--input-placeholder:rgba(100,116,139,0.82)] dark:[--input-placeholder:rgba(148,163,184,0.72)]",
28
+ "[--input-border:rgba(148,163,184,0.3)] dark:[--input-border:rgba(148,163,184,0.25)]",
29
+ "[--input-focus-ring:theme(colors.amber.400)] dark:[--input-focus-ring:theme(colors.amber.300)]",
30
+ "[--input-ring-offset:theme(colors.slate.950)] dark:[--input-ring-offset:theme(colors.slate.950)]",
31
+
32
+ // Card
33
+ "[--card-bg:rgba(255,255,255,0.96)] dark:[--card-bg:rgba(15,23,42,0.98)]",
34
+ "[--card-fg:theme(colors.slate.900)] dark:[--card-fg:theme(colors.slate.100)]",
35
+ "[--card-title-fg:theme(colors.slate.900)] dark:[--card-title-fg:theme(colors.white)]",
36
+ "[--card-muted-fg:rgba(71,85,105,0.9)] dark:[--card-muted-fg:rgba(203,213,225,0.85)]",
37
+ "[--card-border:rgba(148,163,184,0.24)] dark:[--card-border:rgba(148,163,184,0.18)]",
38
+ "[--card-shadow:0_28px_90px_rgba(2,6,23,0.48)] dark:[--card-shadow:0_34px_120px_rgba(0,0,0,0.72)]",
39
+
40
+ // Badge
41
+ "[--badge-bg:rgba(255,255,255,0.9)] dark:[--badge-bg:rgba(30,41,59,0.9)]",
42
+ "[--badge-fg:theme(colors.slate.900)] dark:[--badge-fg:theme(colors.slate.100)]",
43
+ "[--badge-border:rgba(148,163,184,0.24)] dark:[--badge-border:rgba(148,163,184,0.2)]",
44
+ "[--badge-active-bg:theme(colors.blue.600)] dark:[--badge-active-bg:theme(colors.blue.500)]",
45
+ "[--badge-active-fg:theme(colors.white)] dark:[--badge-active-fg:theme(colors.white)]",
46
+ "[--badge-active-border:rgba(255,255,255,0.14)] dark:[--badge-active-border:rgba(255,255,255,0.12)]",
47
+
48
+ // Headings
49
+ "[--heading-fg:theme(colors.slate.950)] dark:[--heading-fg:theme(colors.white)]",
50
+ "[--subheading-fg:theme(colors.blue.600)] dark:[--subheading-fg:theme(colors.sky.400)]",
51
+ "[--description-fg:theme(colors.slate.600)] dark:[--description-fg:theme(colors.slate.300)]",
52
+
53
+ // Hero CTA
54
+ "[--hero-cta-primary-bg:theme(colors.blue.600)] dark:[--hero-cta-primary-bg:theme(colors.blue.500)]",
55
+ "[--hero-cta-primary-hover-bg:theme(colors.blue.700)] dark:[--hero-cta-primary-hover-bg:theme(colors.blue.400)]",
56
+ "[--hero-cta-primary-fg:theme(colors.white)] dark:[--hero-cta-primary-fg:theme(colors.white)]",
57
+ "[--hero-cta-primary-hover-fg:theme(colors.white)] dark:[--hero-cta-primary-hover-fg:theme(colors.white)]",
58
+ "[--hero-cta-secondary-bg:rgba(255,255,255,0.92)] dark:[--hero-cta-secondary-bg:rgba(30,41,59,0.9)]",
59
+ "[--hero-cta-secondary-fg:theme(colors.slate.900)] dark:[--hero-cta-secondary-fg:theme(colors.slate.100)]",
60
+ "[--hero-cta-secondary-border:rgba(148,163,184,0.3)] dark:[--hero-cta-secondary-border:rgba(148,163,184,0.2)]",
61
+ "[--hero-cta-secondary-hover-bg:rgba(255,255,255,1)] dark:[--hero-cta-secondary-hover-bg:rgba(51,65,85,0.95)]",
62
+ "[--hero-cta-secondary-hover-fg:theme(colors.slate.900)] dark:[--hero-cta-secondary-hover-fg:theme(colors.white)]",
63
+
64
+ // Demo shell (hero app)
65
+ "[--demo-shell-bg:rgba(15,23,42,1)] dark:[--demo-shell-bg:rgba(9,14,29,1)]",
66
+ "[--demo-shell-muted-bg:rgba(7,10,22,1)] dark:[--demo-shell-muted-bg:rgba(4,7,15,1)]",
67
+ "[--demo-shell-strong-bg:rgba(255,255,255,0.08)] dark:[--demo-shell-strong-bg:rgba(255,255,255,0.06)]",
68
+ "[--demo-panel-bg:rgba(15,23,42,0.98)] dark:[--demo-panel-bg:rgba(9,14,29,1)]",
69
+ "[--demo-panel-muted-bg:rgba(20,30,55,0.9)] dark:[--demo-panel-muted-bg:rgba(15,23,42,0.95)]",
70
+ "[--demo-panel-subtle-bg:rgba(30,41,59,0.95)] dark:[--demo-panel-subtle-bg:rgba(22,32,50,1)]",
71
+ "[--demo-panel-strong-bg:rgba(255,255,255,0.08)] dark:[--demo-panel-strong-bg:rgba(255,255,255,0.06)]",
72
+ "[--demo-code-bg:rgba(9,14,29,1)] dark:[--demo-code-bg:rgba(6,9,20,1)]",
73
+ "[--demo-code-gutter-bg:rgba(15,23,42,1)] dark:[--demo-code-gutter-bg:rgba(9,14,29,1)]",
74
+ "[--demo-border:rgba(148,163,184,0.18)] dark:[--demo-border:rgba(148,163,184,0.12)]",
75
+ "[--demo-border-strong:rgba(251,191,36,0.22)] dark:[--demo-border-strong:rgba(96,165,250,0.22)]",
76
+ // Demo text — strong contrast on dark shell backgrounds
77
+ "[--demo-fg:rgba(248,250,252,1)] dark:[--demo-fg:rgba(248,250,252,1)]",
78
+ "[--demo-muted-fg:rgba(203,213,225,0.95)] dark:[--demo-muted-fg:rgba(203,213,225,0.9)]",
79
+ "[--demo-subtle-fg:rgba(147,197,253,1)] dark:[--demo-subtle-fg:rgba(147,197,253,0.95)]",
80
+ "[--demo-accent:theme(colors.amber.300)] dark:[--demo-accent:theme(colors.amber.300)]",
81
+ "[--demo-accent-soft-bg:rgba(251,191,36,0.12)] dark:[--demo-accent-soft-bg:rgba(251,191,36,0.1)]",
82
+ "[--demo-info:theme(colors.sky.300)] dark:[--demo-info:theme(colors.sky.300)]",
83
+ "[--demo-info-border:rgba(125,211,252,0.3)] dark:[--demo-info-border:rgba(125,211,252,0.22)]",
84
+ "[--demo-info-soft-bg:rgba(14,165,233,0.12)] dark:[--demo-info-soft-bg:rgba(14,165,233,0.1)]",
85
+ "[--demo-success:theme(colors.emerald.300)] dark:[--demo-success:theme(colors.emerald.300)]",
86
+ "[--demo-success-border:rgba(52,211,153,0.28)] dark:[--demo-success-border:rgba(52,211,153,0.2)]",
87
+ "[--demo-success-soft-bg:rgba(16,185,129,0.12)] dark:[--demo-success-soft-bg:rgba(16,185,129,0.1)]",
88
+ "[--demo-warning:theme(colors.amber.300)] dark:[--demo-warning:theme(colors.amber.300)]",
89
+ "[--demo-warning-border:rgba(251,191,36,0.3)] dark:[--demo-warning-border:rgba(251,191,36,0.22)]",
90
+ "[--demo-warning-soft-bg:rgba(245,158,11,0.12)] dark:[--demo-warning-soft-bg:rgba(245,158,11,0.1)]",
91
+ "[--demo-danger:theme(colors.rose.300)] dark:[--demo-danger:theme(colors.rose.300)]",
92
+ "[--demo-danger-border:rgba(253,164,175,0.3)] dark:[--demo-danger-border:rgba(253,164,175,0.22)]",
93
+ "[--demo-danger-soft-bg:rgba(244,63,94,0.12)] dark:[--demo-danger-soft-bg:rgba(244,63,94,0.1)]",
94
+ "[--demo-scroll-track:rgba(148,163,184,0.14)] dark:[--demo-scroll-track:rgba(148,163,184,0.08)]",
95
+ "[--demo-scroll-thumb:rgba(96,165,250,0.7)] dark:[--demo-scroll-thumb:rgba(96,165,250,0.55)]",
96
+ "[--demo-shell-shadow:0_34px_120px_-48px_rgba(2,6,23,0.75)] dark:[--demo-shell-shadow:0_40px_140px_-56px_rgba(0,0,0,0.92)]",
97
+ "[--demo-shell-ring:rgba(251,191,36,0.2)] dark:[--demo-shell-ring:rgba(96,165,250,0.16)]",
98
+
99
+ // Section
100
+ "[--section-bg:theme(colors.slate.50)] dark:[--section-bg:theme(colors.slate.950)]",
101
+ "[--section-border:rgba(148,163,184,0.18)] dark:[--section-border:rgba(148,163,184,0.1)]",
102
+
103
+ // Contact section
104
+ "[--contact-section-bg:theme(colors.slate.50)] dark:[--contact-section-bg:theme(colors.slate.950)]",
105
+ "[--contact-submit-bg:theme(colors.blue.600)] dark:[--contact-submit-bg:theme(colors.blue.500)]",
106
+ "[--contact-submit-fg:theme(colors.white)] dark:[--contact-submit-fg:theme(colors.white)]",
107
+ "[--contact-submit-hover-bg:theme(colors.blue.700)] dark:[--contact-submit-hover-bg:theme(colors.blue.400)]",
108
+ "[--contact-submit-hover-fg:theme(colors.white)] dark:[--contact-submit-hover-fg:theme(colors.white)]",
109
+ "[--contact-submit-border:transparent]",
110
+
111
+ // CTA section
112
+ "[--cta-section-bg:theme(colors.slate.50)] dark:[--cta-section-bg:theme(colors.slate.950)]",
113
+ "[--cta-heading-fg:theme(colors.slate.950)] dark:[--cta-heading-fg:theme(colors.white)]",
114
+ "[--cta-subheading-fg:theme(colors.blue.600)] dark:[--cta-subheading-fg:theme(colors.sky.400)]",
115
+ "[--cta-description-fg:theme(colors.slate.600)] dark:[--cta-description-fg:theme(colors.slate.300)]",
116
+ "[--cta-primary-bg:theme(colors.blue.600)] dark:[--cta-primary-bg:theme(colors.blue.500)]",
117
+ "[--cta-primary-fg:theme(colors.white)] dark:[--cta-primary-fg:theme(colors.white)]",
118
+ "[--cta-primary-hover-bg:theme(colors.blue.700)] dark:[--cta-primary-hover-bg:theme(colors.blue.400)]",
119
+ "[--cta-primary-hover-fg:theme(colors.white)] dark:[--cta-primary-hover-fg:theme(colors.white)]",
120
+ "[--cta-primary-border:transparent]",
121
+ "[--cta-secondary-bg:rgba(255,255,255,0.92)]",
122
+ "[--cta-secondary-fg:theme(colors.slate.900)] dark:[--cta-secondary-fg:theme(colors.slate.100)]",
123
+ "[--cta-secondary-border:rgba(148,163,184,0.28)] dark:[--cta-secondary-border:rgba(148,163,184,0.18)]",
124
+ "[--cta-secondary-hover-bg:rgba(255,255,255,1)] dark:[--cta-secondary-hover-bg:rgba(30,41,59,0.9)]",
125
+ "[--cta-secondary-hover-fg:theme(colors.slate.900)] dark:[--cta-secondary-hover-fg:theme(colors.white)]",
126
+
127
+ // Process steps
128
+ "[--process-step-bg:theme(colors.blue.600)] dark:[--process-step-bg:theme(colors.blue.500)]",
129
+ "[--process-step-fg:theme(colors.white)] dark:[--process-step-fg:theme(colors.white)]",
130
+ "[--process-connector:rgba(148,163,184,0.24)] dark:[--process-connector:rgba(148,163,184,0.22)]",
131
+
132
+ // Footer
133
+ "[--footer-bg:theme(colors.slate.100)] dark:[--footer-bg:rgba(9,14,29,1)]",
134
+ "[--footer-fg:theme(colors.slate.600)] dark:[--footer-fg:theme(colors.slate.400)]",
135
+ "[--footer-heading-fg:theme(colors.slate.900)] dark:[--footer-heading-fg:theme(colors.white)]",
136
+ "[--footer-link-fg:theme(colors.slate.700)] dark:[--footer-link-fg:theme(colors.slate.400)]",
137
+ "[--footer-link-hover-fg:theme(colors.slate.950)] dark:[--footer-link-hover-fg:theme(colors.white)]",
138
+ "[--footer-link-hover-bg:rgba(59,130,246,0.06)] dark:[--footer-link-hover-bg:rgba(255,255,255,0.06)]",
139
+ "[--footer-muted-fg:theme(colors.blue.600)] dark:[--footer-muted-fg:theme(colors.slate.500)]",
140
+ "[--footer-border:rgba(148,163,184,0.18)] dark:[--footer-border:rgba(148,163,184,0.1)]",
141
+
142
+ // Table
143
+ "[--table-fg:theme(colors.slate.900)] dark:[--table-fg:theme(colors.slate.100)]",
144
+ "[--table-muted-fg:theme(colors.slate.600)] dark:[--table-muted-fg:theme(colors.slate.400)]",
145
+ "[--table-head-fg:theme(colors.slate.900)] dark:[--table-head-fg:theme(colors.sky.200)]",
146
+ "[--table-border:rgba(148,163,184,0.18)] dark:[--table-border:rgba(148,163,184,0.12)]",
147
+ "[--table-row-hover-bg:rgba(59,130,246,0.06)] dark:[--table-row-hover-bg:rgba(96,165,250,0.06)]",
148
+
149
+ // FAQ
150
+ "[--faq-btn-bg:rgba(255,255,255,0.9)] dark:[--faq-btn-bg:rgba(20,28,48,0.9)]",
151
+ "[--faq-btn-fg:theme(colors.slate.900)] dark:[--faq-btn-fg:theme(colors.slate.100)]",
152
+ "[--faq-btn-hover-bg:rgba(255,255,255,1)] dark:[--faq-btn-hover-bg:rgba(30,41,59,0.95)]",
153
+ "[--faq-btn-hover-fg:theme(colors.slate.900)] dark:[--faq-btn-hover-fg:theme(colors.white)]",
154
+ "[--faq-answer-bg:rgba(255,255,255,0.96)] dark:[--faq-answer-bg:rgba(15,23,42,0.98)]",
155
+ "[--faq-answer-fg:theme(colors.slate.800)] dark:[--faq-answer-fg:theme(colors.slate.200)]",
156
+
157
+ className,
158
+ )}
159
+ >
160
+ {children}
161
+ </div>
162
+ );
163
+ }
@@ -46,7 +46,53 @@ export function PresetThemeVars({ className, children }: Props) {
46
46
  "[--subheading-fg:var(--muted-foreground)]",
47
47
  "[--description-fg:var(--foreground)]",
48
48
 
49
+ // Hero product demo
50
+ "[--hero-cta-primary-bg:var(--primary)]",
51
+ "[--hero-cta-primary-fg:var(--primary-foreground)]",
52
+ "[--hero-cta-primary-hover-bg:var(--primary-foreground)]",
53
+ "[--hero-cta-primary-hover-fg:var(--primary)]]",
54
+
55
+ "[--hero-cta-secondary-bg:transparent]",
56
+ "[--hero-cta-secondary-fg:var(--primary)]",
57
+ "[--hero-cta-secondary-border:color-mix(in oklab, var(--primary) 38%, var(--border))]",
58
+ "[--hero-cta-secondary-hover-bg:color-mix(in oklab, var(--primary) 10%, var(--background))]",
59
+ "[--hero-cta-secondary-hover-fg:var(--primary)]",
60
+
61
+ "[--demo-shell-bg:var(--background)]",
62
+ "[--demo-shell-muted-bg:color-mix(in oklab, var(--background) 88%, var(--muted))]",
63
+ "[--demo-shell-strong-bg:var(--card)]",
64
+ "[--demo-panel-bg:var(--card)]",
65
+ "[--demo-panel-muted-bg:color-mix(in oklab, var(--card) 92%, var(--background))]",
66
+ "[--demo-panel-subtle-bg:color-mix(in oklab, var(--muted) 84%, var(--background))]",
67
+ "[--demo-panel-strong-bg:color-mix(in oklab, var(--card) 88%, var(--primary) 12%)]",
68
+ "[--demo-code-bg:color-mix(in oklab, var(--card) 96%, var(--background))]",
69
+ "[--demo-code-gutter-bg:color-mix(in oklab, var(--muted) 86%, var(--background))]",
70
+ "[--demo-border:var(--border)]",
71
+ "[--demo-border-strong:var(--primary)]",
72
+ "[--demo-fg:var(--foreground)]",
73
+ "[--demo-muted-fg:var(--muted-foreground)]",
74
+ "[--demo-subtle-fg:color-mix(in oklab, var(--muted-foreground) 78%, var(--foreground))]",
75
+ "[--demo-accent:var(--primary)]",
76
+ "[--demo-accent-soft-bg:color-mix(in oklab, var(--primary) 12%, var(--background))]",
77
+ "[--demo-info:var(--primary)]",
78
+ "[--demo-info-border:color-mix(in oklab, var(--primary) 30%, var(--border))]",
79
+ "[--demo-info-soft-bg:color-mix(in oklab, var(--primary) 10%, var(--background))]",
80
+ "[--demo-success:var(--chart-2)]",
81
+ "[--demo-success-border:color-mix(in oklab, var(--chart-2) 30%, var(--border))]",
82
+ "[--demo-success-soft-bg:color-mix(in oklab, var(--chart-2) 10%, var(--background))]",
83
+ "[--demo-warning:var(--chart-4)]",
84
+ "[--demo-warning-border:color-mix(in oklab, var(--chart-4) 30%, var(--border))]",
85
+ "[--demo-warning-soft-bg:color-mix(in oklab, var(--chart-4) 10%, var(--background))]",
86
+ "[--demo-danger:var(--chart-5)]",
87
+ "[--demo-danger-border:color-mix(in oklab, var(--chart-5) 30%, var(--border))]",
88
+ "[--demo-danger-soft-bg:color-mix(in oklab, var(--chart-5) 10%, var(--background))]",
89
+ "[--demo-scroll-track:color-mix(in oklab, var(--border) 70%, transparent)]",
90
+ "[--demo-scroll-thumb:linear-gradient(180deg, var(--primary), var(--accent))]",
91
+ "[--demo-shell-shadow:0_24px_80px_-44px_rgba(15,23,42,0.24)]",
92
+ "[--demo-shell-ring:color-mix(in oklab, var(--primary) 18%, transparent)]",
93
+
49
94
  // Process timeline
95
+
50
96
  "[--process-step-bg:var(--primary)]",
51
97
  "[--process-step-fg:var(--primary-foreground)]",
52
98
  "[--process-connector:var(--border)]",