@tangle-network/sandbox-ui 0.6.1 → 0.9.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 +5 -6
- package/dist/auth.d.ts +10 -6
- package/dist/auth.js +3 -3
- package/dist/{chat-container-Cg-GwyiK.d.ts → chat-container-f4yEs6KN.d.ts} +9 -1
- package/dist/chat.d.ts +12 -2
- package/dist/chat.js +10 -10
- package/dist/{chunk-WBQ7VULC.js → chunk-34A66VBG.js} +7 -7
- package/dist/{chunk-JP725R4W.js → chunk-34I7UFSX.js} +2 -2
- package/dist/{chunk-CNWVHQFY.js → chunk-54SQQMMM.js} +6 -24
- package/dist/{chunk-DLCFZDGX.js → chunk-5UM2XMEJ.js} +39 -14
- package/dist/{chunk-YYGECNZZ.js → chunk-66EZOYZR.js} +3 -3
- package/dist/{chunk-6V4XVKFY.js → chunk-7YWFOGKQ.js} +344 -338
- package/dist/{chunk-DCPYTL4W.js → chunk-D4CZWJCD.js} +72 -148
- package/dist/{chunk-XTPAWK7L.js → chunk-DI3NZ5ZX.js} +15 -51
- package/dist/{chunk-MXRQ4MJE.js → chunk-DXMIEK4K.js} +34 -23
- package/dist/{chunk-ZMWWE5RF.js → chunk-EXSOPXIY.js} +141 -123
- package/dist/{chunk-GW4GRAWJ.js → chunk-GSZA3TSY.js} +18 -12
- package/dist/{chunk-W4LM3QYZ.js → chunk-HB5Y37YU.js} +8 -8
- package/dist/{chunk-RKXIRRKQ.js → chunk-JLKYXLFN.js} +70 -66
- package/dist/{chunk-BRBTD7RH.js → chunk-MA7YKRUP.js} +28 -18
- package/dist/{chunk-TSE423UF.js → chunk-MKTSMWVD.js} +6 -6
- package/dist/{chunk-MJUDMVRU.js → chunk-MT5FJ3ZT.js} +17 -17
- package/dist/{chunk-565V6JTN.js → chunk-OHPW55EV.js} +60 -99
- package/dist/chunk-OKLQVY3Y.js +139 -0
- package/dist/{chunk-OVNLOE3Y.js → chunk-PLTZB5BC.js} +41 -41
- package/dist/{chunk-E2XT3G52.js → chunk-QC4BJEG6.js} +136 -137
- package/dist/{chunk-KH5UDAJ2.js → chunk-QDH5GEGY.js} +58 -54
- package/dist/{chunk-33W2TLUL.js → chunk-QID2OOMG.js} +12 -3
- package/dist/{chunk-FJSVPBKY.js → chunk-S7OXQTST.js} +17 -3
- package/dist/chunk-T7HMZEVO.js +216 -0
- package/dist/{chunk-FNYJFCGU.js → chunk-U6QTHMY6.js} +145 -256
- package/dist/{chunk-YS66Q3RC.js → chunk-US6JKJKH.js} +2 -2
- package/dist/chunk-VX3XOUEB.js +63 -0
- package/dist/{chunk-TDYQBLL5.js → chunk-ZMNSRDMH.js} +6 -6
- package/dist/dashboard.d.ts +156 -4
- package/dist/dashboard.js +885 -8
- package/dist/{document-editor-pane-DWWUTTTZ.js → document-editor-pane-TLPVRBBU.js} +3 -3
- package/dist/editor.d.ts +9 -8
- package/dist/editor.js +3 -3
- package/dist/files.js +3 -3
- package/dist/globals.css +4787 -69
- package/dist/hooks.d.ts +1 -1
- package/dist/hooks.js +7 -7
- package/dist/index.d.ts +4 -4
- package/dist/index.js +28 -28
- package/dist/markdown.js +1 -1
- package/dist/openui.js +5 -5
- package/dist/pages.d.ts +114 -5
- package/dist/pages.js +1978 -365
- package/dist/primitives.d.ts +5 -2
- package/dist/primitives.js +10 -10
- package/dist/run.js +4 -4
- package/dist/sdk-hooks.d.ts +2 -3
- package/dist/sdk-hooks.js +5 -5
- package/dist/styles.css +4787 -69
- package/dist/template-card-BAtvcAkU.d.ts +18 -0
- package/dist/terminal.d.ts +3 -1
- package/dist/terminal.js +66 -32
- package/dist/tokens.css +289 -237
- package/dist/{usage-chart-XCoB_7Xu.d.ts → usage-chart-SSiOgeQI.d.ts} +3 -1
- package/dist/{use-pty-session-COzVkhtc.d.ts → use-pty-session-0AOuwXgq.d.ts} +2 -0
- package/dist/{index-BT_-ecpc.d.ts → variant-list-CsS6ydgm.d.ts} +16 -7
- package/dist/workspace.d.ts +2 -2
- package/dist/workspace.js +13 -13
- package/package.json +18 -3
- package/tailwind.config.cjs +3 -2
- package/dist/chunk-3HW53XTH.js +0 -228
- package/dist/chunk-OKCIKTXQ.js +0 -63
package/dist/tokens.css
CHANGED
|
@@ -1,60 +1,70 @@
|
|
|
1
1
|
/* Tangle Sandbox UI design tokens */
|
|
2
|
-
/* Brand
|
|
2
|
+
/* Brand: warm purple palette, #5B4ED4 primary */
|
|
3
3
|
|
|
4
4
|
/* MD3 surface hierarchy */
|
|
5
5
|
:root,
|
|
6
6
|
[data-sandbox-ui] {
|
|
7
|
-
--md3-surface: #
|
|
8
|
-
--md3-surface-dim: #
|
|
9
|
-
--md3-surface-bright: #
|
|
10
|
-
--md3-surface-container-lowest: #
|
|
11
|
-
--md3-surface-container-low: #
|
|
12
|
-
--md3-surface-container: #
|
|
13
|
-
--md3-surface-container-high: #
|
|
14
|
-
--md3-surface-container-highest: #
|
|
15
|
-
--md3-surface-variant: #
|
|
16
|
-
--md3-on-surface: #
|
|
17
|
-
--md3-on-surface-variant: #
|
|
18
|
-
|
|
19
|
-
--md3-primary
|
|
20
|
-
--md3-
|
|
21
|
-
--md3-
|
|
22
|
-
--md3-primary
|
|
23
|
-
--md3-primary-
|
|
24
|
-
--md3-
|
|
25
|
-
--md3-
|
|
26
|
-
|
|
27
|
-
--md3-
|
|
28
|
-
--md3-
|
|
29
|
-
--md3-
|
|
30
|
-
--md3-
|
|
31
|
-
--md3-
|
|
32
|
-
|
|
33
|
-
--md3-
|
|
34
|
-
--md3-
|
|
35
|
-
--md3-
|
|
36
|
-
|
|
7
|
+
--md3-surface: #0a0a14;
|
|
8
|
+
--md3-surface-dim: #07070d;
|
|
9
|
+
--md3-surface-bright: #1b1a2c;
|
|
10
|
+
--md3-surface-container-lowest: #000001;
|
|
11
|
+
--md3-surface-container-low: #0d0c18;
|
|
12
|
+
--md3-surface-container: #11101e;
|
|
13
|
+
--md3-surface-container-high: #171624;
|
|
14
|
+
--md3-surface-container-highest: #1f1e30;
|
|
15
|
+
--md3-surface-variant: #1f1e30;
|
|
16
|
+
--md3-on-surface: #fdfdfd;
|
|
17
|
+
--md3-on-surface-variant: #aaa8b8;
|
|
18
|
+
|
|
19
|
+
--md3-primary: #818CF8;
|
|
20
|
+
--md3-primary-dim: #6366F1;
|
|
21
|
+
--md3-primary-container: #4F46E5;
|
|
22
|
+
--md3-on-primary: #ffffff;
|
|
23
|
+
--md3-on-primary-container: #E0E7FF;
|
|
24
|
+
--md3-primary-fixed: #A5AAFC;
|
|
25
|
+
--md3-primary-fixed-dim: #818CF8;
|
|
26
|
+
|
|
27
|
+
--md3-secondary: #C7D2FE;
|
|
28
|
+
--md3-secondary-dim: #A5B4FC;
|
|
29
|
+
--md3-secondary-container: #312E81;
|
|
30
|
+
--md3-on-secondary: #E8E5FF;
|
|
31
|
+
--md3-on-secondary-container: #E8E5FF;
|
|
32
|
+
|
|
33
|
+
--md3-tertiary: #10B981;
|
|
34
|
+
--md3-outline: #434260;
|
|
35
|
+
--md3-outline-variant: #2A293D;
|
|
36
|
+
|
|
37
|
+
--md3-error: #ff5277;
|
|
38
|
+
--md3-error-dim: #eb2855;
|
|
39
|
+
--md3-error-container: #82042b;
|
|
40
|
+
--md3-on-error: #ffffff;
|
|
41
|
+
--md3-on-error-container: #ffbdf2;
|
|
42
|
+
|
|
43
|
+
--md3-inverse-surface: #fdfdfd;
|
|
44
|
+
--md3-inverse-primary: #4F46E5;
|
|
45
|
+
--md3-inverse-on-surface: #000000;
|
|
46
|
+
--md3-surface-tint: #818CF8;
|
|
37
47
|
|
|
38
48
|
/* Semantic HSL bridge */
|
|
39
|
-
--hsl-background:
|
|
40
|
-
--hsl-foreground:
|
|
41
|
-
--hsl-card: 246
|
|
42
|
-
--hsl-card-foreground:
|
|
43
|
-
--hsl-popover: 246
|
|
44
|
-
--hsl-popover-foreground:
|
|
45
|
-
--hsl-primary:
|
|
49
|
+
--hsl-background: 244 28% 5%;
|
|
50
|
+
--hsl-foreground: 240 18% 94%;
|
|
51
|
+
--hsl-card: 246 30% 11%;
|
|
52
|
+
--hsl-card-foreground: 240 18% 94%;
|
|
53
|
+
--hsl-popover: 246 28% 14%;
|
|
54
|
+
--hsl-popover-foreground: 240 18% 94%;
|
|
55
|
+
--hsl-primary: 239 84% 67%;
|
|
46
56
|
--hsl-primary-foreground: 0 0% 100%;
|
|
47
|
-
--hsl-secondary:
|
|
57
|
+
--hsl-secondary: 248 24% 18%;
|
|
48
58
|
--hsl-secondary-foreground: 240 16% 90%;
|
|
49
|
-
--hsl-muted:
|
|
50
|
-
--hsl-muted-foreground:
|
|
51
|
-
--hsl-accent:
|
|
59
|
+
--hsl-muted: 246 22% 15%;
|
|
60
|
+
--hsl-muted-foreground: 240 14% 58%;
|
|
61
|
+
--hsl-accent: 248 26% 20%;
|
|
52
62
|
--hsl-accent-foreground: 240 16% 92%;
|
|
53
63
|
--hsl-destructive: 348 90% 60%;
|
|
54
64
|
--hsl-destructive-foreground: 0 0% 100%;
|
|
55
|
-
--hsl-border:
|
|
56
|
-
--hsl-input:
|
|
57
|
-
--hsl-ring:
|
|
65
|
+
--hsl-border: 244 14% 22%;
|
|
66
|
+
--hsl-input: 246 28% 14%;
|
|
67
|
+
--hsl-ring: 239 84% 67%;
|
|
58
68
|
--hsl-success: 160 84% 39%;
|
|
59
69
|
--hsl-warning: 40 94% 56%;
|
|
60
70
|
--hsl-info: 200 88% 56%;
|
|
@@ -85,24 +95,24 @@
|
|
|
85
95
|
--info: var(--hsl-info);
|
|
86
96
|
|
|
87
97
|
/* Sidebar tokens */
|
|
88
|
-
--sidebar-background:
|
|
89
|
-
--sidebar-foreground:
|
|
90
|
-
--sidebar-primary:
|
|
98
|
+
--sidebar-background: 244 28% 5%;
|
|
99
|
+
--sidebar-foreground: 240 18% 94%;
|
|
100
|
+
--sidebar-primary: 239 84% 67%;
|
|
91
101
|
--sidebar-primary-foreground: 0 0% 100%;
|
|
92
|
-
--sidebar-accent:
|
|
102
|
+
--sidebar-accent: 248 26% 20%;
|
|
93
103
|
--sidebar-accent-foreground: 240 16% 92%;
|
|
94
|
-
--sidebar-border:
|
|
95
|
-
--sidebar-ring:
|
|
104
|
+
--sidebar-border: 244 14% 17%;
|
|
105
|
+
--sidebar-ring: 239 84% 67%;
|
|
96
106
|
|
|
97
|
-
/* Depth scale — Tangle deep
|
|
98
|
-
--depth-1: #
|
|
99
|
-
--depth-2: #
|
|
100
|
-
--depth-3: #
|
|
101
|
-
--depth-4: #
|
|
107
|
+
/* Depth scale — Tangle deep purple surfaces */
|
|
108
|
+
--depth-1: #0C0B1D;
|
|
109
|
+
--depth-2: #141328;
|
|
110
|
+
--depth-3: #1D1B38;
|
|
111
|
+
--depth-4: #262448;
|
|
102
112
|
|
|
103
113
|
/* Status colors */
|
|
104
|
-
--status-running: #
|
|
105
|
-
--status-creating: #
|
|
114
|
+
--status-running: #10B981;
|
|
115
|
+
--status-creating: #9B93F0;
|
|
106
116
|
--status-stopped: #FFB800;
|
|
107
117
|
--status-warm: #FF8A4C;
|
|
108
118
|
--status-cold: #4AABFF;
|
|
@@ -112,7 +122,7 @@
|
|
|
112
122
|
/* Status surface tokens — bg / border / text for each semantic color */
|
|
113
123
|
--surface-success-bg: #022c22;
|
|
114
124
|
--surface-success-border: #14532d;
|
|
115
|
-
--surface-success-text: #
|
|
125
|
+
--surface-success-text: #34D399;
|
|
116
126
|
--surface-warning-bg: #451a03;
|
|
117
127
|
--surface-warning-border: #78350f;
|
|
118
128
|
--surface-warning-text: #fbbf24;
|
|
@@ -125,9 +135,9 @@
|
|
|
125
135
|
--surface-teal-bg: #042f2e;
|
|
126
136
|
--surface-teal-border: #134e4a;
|
|
127
137
|
--surface-teal-text: #2dd4bf;
|
|
128
|
-
--surface-violet-bg: #
|
|
129
|
-
--surface-violet-border: #
|
|
130
|
-
--surface-violet-text: #
|
|
138
|
+
--surface-violet-bg: #1e1b4b;
|
|
139
|
+
--surface-violet-border: #3730a3;
|
|
140
|
+
--surface-violet-text: #B8B2F5;
|
|
131
141
|
--surface-orange-bg: #431407;
|
|
132
142
|
--surface-orange-border: #7c2d12;
|
|
133
143
|
--surface-orange-text: #fb923c;
|
|
@@ -144,73 +154,77 @@
|
|
|
144
154
|
|
|
145
155
|
/* Mesh gradient — Tangle brand glows */
|
|
146
156
|
--mesh-teal: rgba(16, 185, 129, 0.05);
|
|
147
|
-
--mesh-violet: rgba(
|
|
148
|
-
--mesh-blue: rgba(
|
|
157
|
+
--mesh-violet: rgba(99, 102, 241, 0.07);
|
|
158
|
+
--mesh-blue: rgba(129, 140, 248, 0.04);
|
|
149
159
|
|
|
150
|
-
/* Brand gradients — Tangle
|
|
151
|
-
--tangle-gradient: linear-gradient(135deg, #
|
|
152
|
-
--tangle-gradient-text: linear-gradient(135deg, #
|
|
153
|
-
--accent-gradient-strong: linear-gradient(135deg, #
|
|
154
|
-
--accent-surface-soft: rgba(
|
|
155
|
-
--accent-surface-strong: rgba(
|
|
156
|
-
--accent-text: #
|
|
160
|
+
/* Brand gradients — Tangle */
|
|
161
|
+
--tangle-gradient: linear-gradient(135deg, #6366F1, #818CF8);
|
|
162
|
+
--tangle-gradient-text: linear-gradient(135deg, #A5AAFC, #818CF8);
|
|
163
|
+
--accent-gradient-strong: linear-gradient(135deg, #6366F1, #818CF8);
|
|
164
|
+
--accent-surface-soft: rgba(99, 102, 241, 0.12);
|
|
165
|
+
--accent-surface-strong: rgba(99, 102, 241, 0.20);
|
|
166
|
+
--accent-text: #A5AAFC;
|
|
157
167
|
|
|
158
168
|
/* Surfaces */
|
|
159
|
-
--bg-root: radial-gradient(ellipse 70% 50% at 20% 0%, rgba(
|
|
160
|
-
radial-gradient(ellipse 50% 40% at 80% 10%, rgba(
|
|
169
|
+
--bg-root: radial-gradient(ellipse 70% 50% at 20% 0%, rgba(99, 102, 241, 0.08), transparent),
|
|
170
|
+
radial-gradient(ellipse 50% 40% at 80% 10%, rgba(129, 140, 248, 0.06), transparent),
|
|
161
171
|
linear-gradient(180deg, var(--depth-1), #0D0C1E 100%);
|
|
162
172
|
--bg-dark: var(--depth-1);
|
|
163
173
|
--bg-card: hsl(var(--hsl-card));
|
|
164
|
-
--bg-elevated: hsl(246
|
|
165
|
-
--bg-section: hsl(246
|
|
174
|
+
--bg-elevated: hsl(246 28% 17%);
|
|
175
|
+
--bg-section: hsl(246 28% 9%);
|
|
166
176
|
--bg-input: hsl(var(--hsl-input));
|
|
167
|
-
--bg-hover: rgba(
|
|
168
|
-
--bg-selection: rgba(
|
|
177
|
+
--bg-hover: rgba(99, 102, 241, 0.08);
|
|
178
|
+
--bg-selection: rgba(99, 102, 241, 0.18);
|
|
169
179
|
|
|
170
180
|
/* Text */
|
|
171
181
|
--text-primary: hsl(var(--hsl-foreground));
|
|
172
|
-
--text-secondary: hsl(
|
|
173
|
-
--text-muted: #
|
|
174
|
-
--text-dim: #
|
|
175
|
-
|
|
176
|
-
/* Brand accents — Tangle
|
|
177
|
-
--brand-primary: #
|
|
178
|
-
--brand-strong: #
|
|
179
|
-
--brand-
|
|
180
|
-
--brand-
|
|
181
|
-
--brand-
|
|
182
|
-
--brand-
|
|
183
|
-
--brand-
|
|
182
|
+
--text-secondary: hsl(240 16% 85%);
|
|
183
|
+
--text-muted: #8688B0;
|
|
184
|
+
--text-dim: #606294;
|
|
185
|
+
|
|
186
|
+
/* Brand accents — Tangle */
|
|
187
|
+
--brand-primary: #6366F1;
|
|
188
|
+
--brand-strong: #2E2A5E;
|
|
189
|
+
--brand-strong-text: #ffffff;
|
|
190
|
+
--brand-strong-text-muted: rgba(255, 255, 255, 0.7);
|
|
191
|
+
--brand-strong-text-dim: rgba(255, 255, 255, 0.5);
|
|
192
|
+
--brand-cool: #818CF8;
|
|
193
|
+
--brand-glow: #A5AAFC;
|
|
194
|
+
--brand-purple: #C7D2FE;
|
|
195
|
+
--brand-vibrant: #6366F1;
|
|
196
|
+
--brand-emerald: #10B981;
|
|
184
197
|
|
|
185
198
|
/* Borders */
|
|
186
|
-
--border-subtle: rgba(
|
|
187
|
-
--border-default: rgba(
|
|
188
|
-
--border-hover: rgba(
|
|
189
|
-
--border-accent: rgba(
|
|
190
|
-
--border-accent-hover: rgba(
|
|
199
|
+
--border-subtle: rgba(100, 100, 148, 0.10);
|
|
200
|
+
--border-default: rgba(100, 100, 148, 0.18);
|
|
201
|
+
--border-hover: rgba(100, 100, 148, 0.28);
|
|
202
|
+
--border-accent: rgba(99, 102, 241, 0.18);
|
|
203
|
+
--border-accent-hover: rgba(99, 102, 241, 0.35);
|
|
191
204
|
|
|
192
205
|
/* Buttons */
|
|
193
|
-
--btn-primary-bg: #
|
|
194
|
-
--btn-primary-hover: #
|
|
195
|
-
--btn-
|
|
206
|
+
--btn-primary-bg: #6366F1;
|
|
207
|
+
--btn-primary-hover: #818CF8;
|
|
208
|
+
--btn-primary-text: #ffffff;
|
|
209
|
+
--btn-cta-bg: #818CF8;
|
|
196
210
|
--btn-cta-text: #FFFFFF;
|
|
197
211
|
|
|
198
212
|
/* Code / runtime syntax */
|
|
199
|
-
--code-keyword: #
|
|
200
|
-
--code-string: #
|
|
213
|
+
--code-keyword: #A5AAFC;
|
|
214
|
+
--code-string: #34D399;
|
|
201
215
|
--code-function: #6D9FFF;
|
|
202
216
|
--code-number: #FFB347;
|
|
203
|
-
--code-success: #
|
|
204
|
-
--code-comment: #
|
|
217
|
+
--code-success: #10B981;
|
|
218
|
+
--code-comment: #606294;
|
|
205
219
|
--code-error: #FF4D6D;
|
|
206
220
|
|
|
207
221
|
/* Shadows */
|
|
208
222
|
--shadow-card: 0 1px 3px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.04);
|
|
209
223
|
--shadow-dropdown: 0 8px 32px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 255, 255, 0.06);
|
|
210
|
-
--shadow-glow: 0 0 32px rgba(
|
|
211
|
-
--shadow-accent: 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(
|
|
224
|
+
--shadow-glow: 0 0 32px rgba(99, 102, 241, 0.18);
|
|
225
|
+
--shadow-accent: 0 1px 3px rgba(0, 0, 0, 0.3), 0 0 0 1px rgba(99, 102, 241, 0.2);
|
|
212
226
|
--shadow-status-running: 0 0 6px rgba(16, 185, 129, 0.5);
|
|
213
|
-
--shadow-status-creating: 0 0 6px rgba(
|
|
227
|
+
--shadow-status-creating: 0 0 6px rgba(99, 102, 241, 0.5);
|
|
214
228
|
--shadow-status-error: 0 0 6px rgba(255, 77, 109, 0.5);
|
|
215
229
|
|
|
216
230
|
/* Radii */
|
|
@@ -227,7 +241,21 @@
|
|
|
227
241
|
--panel-padding: 1rem;
|
|
228
242
|
--content-max-width: 80rem;
|
|
229
243
|
|
|
230
|
-
/*
|
|
244
|
+
/* Typography scale — override per-app for custom type hierarchy.
|
|
245
|
+
Components reference these instead of hardcoded pixel values. */
|
|
246
|
+
--font-size-xs: 0.6875rem; /* 11px — labels, timestamps */
|
|
247
|
+
--font-size-sm: 0.75rem; /* 12px — captions, meta */
|
|
248
|
+
--font-size-base: 0.9375rem; /* 15px — message body */
|
|
249
|
+
--font-size-lg: 1rem; /* 16px — emphasized text */
|
|
250
|
+
--font-size-xl: 1.25rem; /* 20px — section headers */
|
|
251
|
+
--line-height-tight: 1.3;
|
|
252
|
+
--line-height-base: 1.75; /* matches leading-7 */
|
|
253
|
+
--line-height-relaxed: 1.8;
|
|
254
|
+
|
|
255
|
+
/* Component spacing — override per-app for tighter/looser layouts */
|
|
256
|
+
--avatar-size: 2rem; /* 32px — chat avatars */
|
|
257
|
+
--timeline-dot-size: 0.625rem; /* 10px — timeline connector dots */
|
|
258
|
+
--indicator-dot-size: 0.25rem; /* 4px — thinking indicator dots */
|
|
231
259
|
--code-padding-x: 0.75rem;
|
|
232
260
|
--code-padding-y: 0.625rem;
|
|
233
261
|
--code-font-size: 0.8125rem;
|
|
@@ -240,6 +268,17 @@
|
|
|
240
268
|
--tool-card-py: 0.5rem;
|
|
241
269
|
--tool-icon-size: 1.75rem;
|
|
242
270
|
|
|
271
|
+
/* Syntax highlighting — override per-theme in vault section */
|
|
272
|
+
--syntax-comment: #6B7094;
|
|
273
|
+
--syntax-keyword: #A78FFF;
|
|
274
|
+
--syntax-string: #10b981;
|
|
275
|
+
--syntax-function: #6D9FFF;
|
|
276
|
+
--syntax-number: #FFB347;
|
|
277
|
+
--syntax-meta: #8263FF;
|
|
278
|
+
--syntax-error: #FF4D6D;
|
|
279
|
+
--syntax-variable: #C4C0D8;
|
|
280
|
+
--syntax-foreground: #E8E6F6;
|
|
281
|
+
|
|
243
282
|
/* Transitions */
|
|
244
283
|
--transition-fast: 0.1s ease;
|
|
245
284
|
--transition-default: 0.16s ease;
|
|
@@ -251,68 +290,87 @@
|
|
|
251
290
|
--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;
|
|
252
291
|
}
|
|
253
292
|
|
|
254
|
-
[data-sandbox-theme="builder"] {
|
|
255
|
-
--hsl-primary: 247 100% 61%;
|
|
256
|
-
--brand-primary: #4a3aff;
|
|
257
|
-
--brand-cool: #6D9FFF;
|
|
258
|
-
--brand-glow: #4a3aff;
|
|
259
|
-
--tangle-gradient: linear-gradient(135deg, #4a3aff, #6D9FFF);
|
|
260
|
-
--accent-gradient-strong: linear-gradient(135deg, #4a3aff, #6D9FFF);
|
|
261
|
-
--status-creating: #4a3aff;
|
|
262
|
-
}
|
|
263
|
-
|
|
264
|
-
[data-sandbox-theme="consumer"] {
|
|
265
|
-
--hsl-background: 246 44% 8%;
|
|
266
|
-
--hsl-card: 246 36% 13%;
|
|
267
|
-
--hsl-input: 246 30% 16%;
|
|
268
|
-
--hsl-primary: 160 84% 39%;
|
|
269
|
-
--hsl-ring: 160 84% 39%;
|
|
270
|
-
--brand-primary: #10b981;
|
|
271
|
-
--brand-cool: #10b981;
|
|
272
|
-
--brand-glow: #34D399;
|
|
273
|
-
--tangle-gradient: linear-gradient(135deg, #10b981, #34D399);
|
|
274
|
-
--accent-gradient-strong: linear-gradient(135deg, #10b981, #34D399);
|
|
275
|
-
--accent-text: #34D399;
|
|
276
|
-
--btn-primary-bg: #10b981;
|
|
277
|
-
--btn-primary-hover: #0EA572;
|
|
278
|
-
}
|
|
279
|
-
|
|
280
293
|
[data-sandbox-theme="vault"] {
|
|
281
|
-
/* Light theme — clean
|
|
282
|
-
|
|
283
|
-
|
|
294
|
+
/* Light theme — clean professional, warm purple accents */
|
|
295
|
+
|
|
296
|
+
/* MD3 surface hierarchy */
|
|
297
|
+
--md3-surface: #f8f9fb;
|
|
298
|
+
--md3-surface-dim: #d9dae0;
|
|
299
|
+
--md3-surface-bright: #f8f9fb;
|
|
300
|
+
--md3-surface-container-lowest: #ffffff;
|
|
301
|
+
--md3-surface-container-low: #f3f4f7;
|
|
302
|
+
--md3-surface-container: #edeef2;
|
|
303
|
+
--md3-surface-container-high: #e7e8ed;
|
|
304
|
+
--md3-surface-container-highest: #e1e2e8;
|
|
305
|
+
--md3-surface-variant: #e1e2e8;
|
|
306
|
+
--md3-on-surface: #191c24;
|
|
307
|
+
--md3-on-surface-variant: #464858;
|
|
308
|
+
|
|
309
|
+
--md3-primary: #3E349E;
|
|
310
|
+
--md3-primary-dim: #352B88;
|
|
311
|
+
--md3-primary-container: #352B88;
|
|
312
|
+
--md3-on-primary: #ffffff;
|
|
313
|
+
--md3-on-primary-container: #9B93F0;
|
|
314
|
+
--md3-primary-fixed: #E8E5FF;
|
|
315
|
+
--md3-primary-fixed-dim: #C5C0F0;
|
|
316
|
+
|
|
317
|
+
--md3-secondary: #524A78;
|
|
318
|
+
--md3-secondary-dim: #3E3660;
|
|
319
|
+
--md3-secondary-container: #E8E5FF;
|
|
320
|
+
--md3-on-secondary: #ffffff;
|
|
321
|
+
--md3-on-secondary-container: #524A78;
|
|
322
|
+
|
|
323
|
+
--md3-tertiary: #065F46;
|
|
324
|
+
--md3-tertiary-container: #D1FAE5;
|
|
325
|
+
--md3-outline: #6B6E8A;
|
|
326
|
+
--md3-outline-variant: #C7C6D6;
|
|
327
|
+
|
|
328
|
+
--md3-error: #ba1a1a;
|
|
329
|
+
--md3-error-dim: #93000a;
|
|
330
|
+
--md3-error-container: #ffdad6;
|
|
331
|
+
--md3-on-error: #ffffff;
|
|
332
|
+
--md3-on-error-container: #93000a;
|
|
333
|
+
|
|
334
|
+
--md3-inverse-surface: #2e2e3e;
|
|
335
|
+
--md3-inverse-primary: #A5AAFC;
|
|
336
|
+
--md3-inverse-on-surface: #f0f1f4;
|
|
337
|
+
--md3-surface-tint: #6366F1;
|
|
338
|
+
|
|
339
|
+
/* Semantic HSL bridge */
|
|
340
|
+
--hsl-background: 225 20% 97%;
|
|
341
|
+
--hsl-foreground: 228 20% 12%;
|
|
284
342
|
--hsl-card: 0 0% 100%;
|
|
285
|
-
--hsl-card-foreground:
|
|
343
|
+
--hsl-card-foreground: 228 20% 12%;
|
|
286
344
|
--hsl-popover: 0 0% 100%;
|
|
287
|
-
--hsl-popover-foreground:
|
|
288
|
-
--hsl-primary:
|
|
345
|
+
--hsl-popover-foreground: 228 20% 12%;
|
|
346
|
+
--hsl-primary: 239 84% 67%;
|
|
289
347
|
--hsl-primary-foreground: 0 0% 100%;
|
|
290
|
-
--hsl-secondary:
|
|
348
|
+
--hsl-secondary: 242 22% 42%;
|
|
291
349
|
--hsl-secondary-foreground: 0 0% 100%;
|
|
292
|
-
--hsl-muted:
|
|
293
|
-
--hsl-muted-foreground:
|
|
294
|
-
--hsl-accent:
|
|
295
|
-
--hsl-accent-foreground:
|
|
350
|
+
--hsl-muted: 240 14% 89%;
|
|
351
|
+
--hsl-muted-foreground: 240 10% 36%;
|
|
352
|
+
--hsl-accent: 248 22% 86%;
|
|
353
|
+
--hsl-accent-foreground: 248 38% 30%;
|
|
296
354
|
--hsl-destructive: 0 72% 41%;
|
|
297
355
|
--hsl-destructive-foreground: 0 0% 100%;
|
|
298
|
-
--hsl-border:
|
|
299
|
-
--hsl-input:
|
|
300
|
-
--hsl-ring:
|
|
301
|
-
--hsl-success:
|
|
356
|
+
--hsl-border: 244 14% 78%;
|
|
357
|
+
--hsl-input: 244 12% 80%;
|
|
358
|
+
--hsl-ring: 239 84% 67%;
|
|
359
|
+
--hsl-success: 160 84% 30%;
|
|
302
360
|
--hsl-warning: 41 96% 50%;
|
|
303
361
|
--hsl-info: 212 80% 50%;
|
|
304
362
|
|
|
305
|
-
--depth-1: #
|
|
306
|
-
--depth-2: #
|
|
307
|
-
--depth-3: #
|
|
308
|
-
--depth-4: #
|
|
363
|
+
--depth-1: #f4f4f9;
|
|
364
|
+
--depth-2: #edecf4;
|
|
365
|
+
--depth-3: #e5e4ee;
|
|
366
|
+
--depth-4: #dcdbe8;
|
|
309
367
|
|
|
310
|
-
--status-running: #
|
|
311
|
-
--status-creating: #
|
|
368
|
+
--status-running: #059669;
|
|
369
|
+
--status-creating: #3E349E;
|
|
312
370
|
--status-stopped: #B45309;
|
|
313
371
|
--status-warm: #C05621;
|
|
314
372
|
--status-cold: #1D6FA4;
|
|
315
|
-
--status-error: #
|
|
373
|
+
--status-error: #ba1a1a;
|
|
316
374
|
--status-deleted: #6B6B82;
|
|
317
375
|
|
|
318
376
|
--glass-bg: var(--depth-2);
|
|
@@ -336,9 +394,9 @@
|
|
|
336
394
|
--surface-teal-bg: #f0fdfa;
|
|
337
395
|
--surface-teal-border: #99f6e4;
|
|
338
396
|
--surface-teal-text: #0f766e;
|
|
339
|
-
--surface-violet-bg: #
|
|
340
|
-
--surface-violet-border: #
|
|
341
|
-
--surface-violet-text: #
|
|
397
|
+
--surface-violet-bg: #F0EEFF;
|
|
398
|
+
--surface-violet-border: #C5C0F0;
|
|
399
|
+
--surface-violet-text: #3E349E;
|
|
342
400
|
--surface-orange-bg: #fff7ed;
|
|
343
401
|
--surface-orange-border: #fed7aa;
|
|
344
402
|
--surface-orange-text: #c2410c;
|
|
@@ -347,94 +405,88 @@
|
|
|
347
405
|
--surface-neutral-text: var(--text-muted);
|
|
348
406
|
|
|
349
407
|
/* Sidebar — light */
|
|
350
|
-
--sidebar-background:
|
|
351
|
-
--sidebar-foreground:
|
|
352
|
-
--sidebar-primary:
|
|
408
|
+
--sidebar-background: 232 18% 96%;
|
|
409
|
+
--sidebar-foreground: 228 20% 12%;
|
|
410
|
+
--sidebar-primary: 239 84% 67%;
|
|
353
411
|
--sidebar-primary-foreground: 0 0% 100%;
|
|
354
|
-
--sidebar-accent:
|
|
355
|
-
--sidebar-accent-foreground:
|
|
356
|
-
--sidebar-border:
|
|
357
|
-
--sidebar-ring:
|
|
412
|
+
--sidebar-accent: 240 18% 90%;
|
|
413
|
+
--sidebar-accent-foreground: 240 38% 30%;
|
|
414
|
+
--sidebar-border: 244 14% 78%;
|
|
415
|
+
--sidebar-ring: 239 84% 67%;
|
|
358
416
|
|
|
359
|
-
--mesh-teal: rgba(
|
|
360
|
-
--mesh-violet: rgba(
|
|
361
|
-
--mesh-blue: rgba(
|
|
417
|
+
--mesh-teal: rgba(5, 150, 105, 0.04);
|
|
418
|
+
--mesh-violet: rgba(99, 102, 241, 0.03);
|
|
419
|
+
--mesh-blue: rgba(129, 140, 248, 0.03);
|
|
362
420
|
|
|
363
|
-
--bg-root: #
|
|
364
|
-
--bg-dark: #
|
|
421
|
+
--bg-root: #f4f4f9;
|
|
422
|
+
--bg-dark: #edecf4;
|
|
365
423
|
--bg-card: #ffffff;
|
|
366
|
-
--bg-elevated: #
|
|
367
|
-
--bg-section: #
|
|
368
|
-
--bg-input: #
|
|
369
|
-
--bg-hover: rgba(
|
|
370
|
-
--bg-selection: rgba(
|
|
371
|
-
|
|
372
|
-
--text-primary: #
|
|
373
|
-
--text-secondary: #
|
|
374
|
-
--text-muted: #
|
|
375
|
-
--text-dim: #
|
|
376
|
-
|
|
377
|
-
--brand-primary: #
|
|
378
|
-
--brand-strong: #
|
|
379
|
-
--brand-
|
|
380
|
-
--brand-
|
|
381
|
-
--brand-
|
|
382
|
-
--brand-
|
|
383
|
-
--brand-
|
|
384
|
-
|
|
385
|
-
--
|
|
386
|
-
--
|
|
387
|
-
|
|
388
|
-
--border-
|
|
389
|
-
--border-
|
|
390
|
-
|
|
391
|
-
--
|
|
392
|
-
--
|
|
393
|
-
|
|
424
|
+
--bg-elevated: #e5e4ee;
|
|
425
|
+
--bg-section: #edecf4;
|
|
426
|
+
--bg-input: #edecf4;
|
|
427
|
+
--bg-hover: rgba(99, 102, 241, 0.05);
|
|
428
|
+
--bg-selection: rgba(99, 102, 241, 0.10);
|
|
429
|
+
|
|
430
|
+
--text-primary: #191c24;
|
|
431
|
+
--text-secondary: #3a3a50;
|
|
432
|
+
--text-muted: #5E5E7A;
|
|
433
|
+
--text-dim: #A0A0B8;
|
|
434
|
+
|
|
435
|
+
--brand-primary: #6366F1;
|
|
436
|
+
--brand-strong: #2E2A5E;
|
|
437
|
+
--brand-strong-text: #ffffff;
|
|
438
|
+
--brand-strong-text-muted: rgba(255, 255, 255, 0.7);
|
|
439
|
+
--brand-strong-text-dim: rgba(255, 255, 255, 0.5);
|
|
440
|
+
--brand-cool: #818CF8;
|
|
441
|
+
--brand-glow: #A5AAFC;
|
|
442
|
+
--brand-purple: #6366F1;
|
|
443
|
+
--brand-vibrant: #6366F1;
|
|
444
|
+
--brand-emerald: #059669;
|
|
445
|
+
|
|
446
|
+
--border-subtle: rgba(110, 108, 148, 0.20);
|
|
447
|
+
--border-default: rgba(110, 108, 148, 0.35);
|
|
448
|
+
--border-hover: rgba(110, 108, 148, 0.50);
|
|
449
|
+
--border-accent: rgba(99, 102, 241, 0.15);
|
|
450
|
+
--border-accent-hover: rgba(99, 102, 241, 0.30);
|
|
451
|
+
|
|
452
|
+
--btn-primary-bg: #6366F1;
|
|
453
|
+
--btn-primary-hover: #4F46E5;
|
|
454
|
+
--btn-primary-text: #ffffff;
|
|
455
|
+
--btn-cta-bg: #6366F1;
|
|
394
456
|
--btn-cta-text: #ffffff;
|
|
395
457
|
|
|
396
|
-
--code-keyword: #
|
|
397
|
-
--code-string: #
|
|
398
|
-
--code-function: #
|
|
458
|
+
--code-keyword: #3E349E;
|
|
459
|
+
--code-string: #059669;
|
|
460
|
+
--code-function: #352B88;
|
|
399
461
|
--code-number: #B45309;
|
|
400
|
-
--code-success: #
|
|
401
|
-
--code-comment: #
|
|
402
|
-
--code-error: #
|
|
403
|
-
|
|
404
|
-
--shadow-card: 0 1px
|
|
405
|
-
--shadow-dropdown: 0 8px 32px rgba(
|
|
406
|
-
--shadow-glow:
|
|
407
|
-
--shadow-accent: 0
|
|
408
|
-
|
|
409
|
-
--tangle-gradient: linear-gradient(135deg, #
|
|
410
|
-
--tangle-gradient-text: linear-gradient(135deg, #
|
|
411
|
-
--accent-gradient-strong: linear-gradient(135deg, #
|
|
412
|
-
--accent-surface-soft: rgba(
|
|
413
|
-
--accent-surface-strong: rgba(
|
|
414
|
-
--accent-text: #
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
--font-
|
|
462
|
+
--code-success: #059669;
|
|
463
|
+
--code-comment: #6B6E8A;
|
|
464
|
+
--code-error: #ba1a1a;
|
|
465
|
+
|
|
466
|
+
--shadow-card: 0 1px 3px rgba(25, 28, 36, 0.05), 0 0 0 1px rgba(200, 198, 218, 0.22);
|
|
467
|
+
--shadow-dropdown: 0 8px 32px rgba(25, 28, 36, 0.10), 0 0 0 1px rgba(200, 198, 218, 0.28);
|
|
468
|
+
--shadow-glow: none;
|
|
469
|
+
--shadow-accent: 0 1px 3px rgba(25, 28, 36, 0.05), 0 0 0 1px rgba(99, 102, 241, 0.15);
|
|
470
|
+
|
|
471
|
+
--tangle-gradient: linear-gradient(135deg, #6366F1, #818CF8);
|
|
472
|
+
--tangle-gradient-text: linear-gradient(135deg, #4F46E5, #6366F1);
|
|
473
|
+
--accent-gradient-strong: linear-gradient(135deg, #6366F1, #818CF8);
|
|
474
|
+
--accent-surface-soft: rgba(99, 102, 241, 0.06);
|
|
475
|
+
--accent-surface-strong: rgba(99, 102, 241, 0.12);
|
|
476
|
+
--accent-text: #4F46E5;
|
|
477
|
+
|
|
478
|
+
/* Typography — Manrope (headlines) + Inter (body/labels) */
|
|
479
|
+
--font-sans: "Inter", "Geist", ui-sans-serif, system-ui, sans-serif;
|
|
480
|
+
--font-display: "Manrope", "Inter", sans-serif;
|
|
418
481
|
--font-mono: "Geist Mono", "JetBrains Mono", ui-monospace, monospace;
|
|
419
|
-
}
|
|
420
482
|
|
|
421
|
-
|
|
422
|
-
--radius
|
|
423
|
-
--radius-
|
|
424
|
-
--radius-
|
|
425
|
-
--radius-
|
|
426
|
-
--
|
|
427
|
-
--
|
|
428
|
-
|
|
429
|
-
--code-padding-x: 0.625rem;
|
|
430
|
-
--code-padding-y: 0.5rem;
|
|
431
|
-
--code-font-size: 0.75rem;
|
|
432
|
-
--code-line-height: 1.4;
|
|
433
|
-
--chat-message-px: 0.75rem;
|
|
434
|
-
--chat-message-py: 0.375rem;
|
|
435
|
-
--chat-input-py: 0.5rem;
|
|
436
|
-
--card-padding: 1rem;
|
|
437
|
-
--tool-card-px: 0.625rem;
|
|
438
|
-
--tool-card-py: 0.375rem;
|
|
439
|
-
--tool-icon-size: 1.5rem;
|
|
483
|
+
/* Tighter border radius for enterprise precision */
|
|
484
|
+
--radius: 0.375rem;
|
|
485
|
+
--radius-sm: 2px;
|
|
486
|
+
--radius-md: 4px;
|
|
487
|
+
--radius-lg: 6px;
|
|
488
|
+
--radius-xl: 8px;
|
|
489
|
+
--radius-pill: 999px;
|
|
490
|
+
--radius-full: 999px;
|
|
440
491
|
}
|
|
492
|
+
|
|
@@ -35,6 +35,8 @@ interface PricingTier {
|
|
|
35
35
|
features: string[];
|
|
36
36
|
recommended?: boolean;
|
|
37
37
|
creditsPerMonth?: number;
|
|
38
|
+
monthlyPriceId?: string;
|
|
39
|
+
yearlyPriceId?: string;
|
|
38
40
|
}
|
|
39
41
|
interface PricingPageProps {
|
|
40
42
|
tiers: PricingTier[];
|
|
@@ -47,7 +49,7 @@ interface PricingPageProps {
|
|
|
47
49
|
className?: string;
|
|
48
50
|
cardClassName?: string;
|
|
49
51
|
}
|
|
50
|
-
declare function PricingPage({ tiers, currentTierId, billingPeriod, onBillingPeriodChange, onSelectTier,
|
|
52
|
+
declare function PricingPage({ tiers, currentTierId, billingPeriod, onBillingPeriodChange, onSelectTier, loading, className, }: PricingPageProps): react_jsx_runtime.JSX.Element;
|
|
51
53
|
|
|
52
54
|
interface UsageDataPoint {
|
|
53
55
|
date: string;
|