@jonsoc/console-app 1.1.34 → 1.1.49

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 (83) hide show
  1. package/package.json +19 -15
  2. package/public/robots.txt +5 -5
  3. package/script/generate-sitemap.ts +0 -0
  4. package/src/app.css +1 -1
  5. package/src/asset/brand/opencode-logo-dark.svg +16 -16
  6. package/src/asset/brand/opencode-logo-light.svg +16 -16
  7. package/src/asset/brand/opencode-wordmark-dark.svg +30 -30
  8. package/src/asset/brand/opencode-wordmark-light.svg +30 -30
  9. package/src/asset/brand/opencode-wordmark-simple-dark.svg +22 -22
  10. package/src/asset/brand/opencode-wordmark-simple-light.svg +22 -22
  11. package/src/asset/lander/brand-assets-dark.svg +10 -10
  12. package/src/asset/lander/brand-assets-light.svg +10 -10
  13. package/src/asset/lander/check.svg +3 -3
  14. package/src/asset/lander/copy.svg +3 -3
  15. package/src/asset/lander/logo-dark.svg +11 -11
  16. package/src/asset/lander/logo-light.svg +11 -11
  17. package/src/asset/lander/opencode-logo-dark.svg +11 -11
  18. package/src/asset/lander/opencode-logo-light.svg +11 -11
  19. package/src/asset/lander/opencode-wordmark-dark.svg +25 -25
  20. package/src/asset/lander/opencode-wordmark-light.svg +25 -25
  21. package/src/asset/lander/wordmark-dark.svg +3 -3
  22. package/src/asset/lander/wordmark-light.svg +3 -3
  23. package/src/asset/logo-ornate-dark.svg +18 -18
  24. package/src/asset/logo-ornate-light.svg +18 -18
  25. package/src/asset/logo.svg +18 -18
  26. package/src/asset/zen-ornate-dark.svg +8 -8
  27. package/src/asset/zen-ornate-light.svg +8 -8
  28. package/src/component/dropdown.css +80 -80
  29. package/src/component/header-context-menu.css +63 -63
  30. package/src/component/modal.css +66 -66
  31. package/src/component/spotlight.css +15 -15
  32. package/src/routes/[...404].css +130 -130
  33. package/src/routes/black/workspace.css +214 -214
  34. package/src/routes/black.css +828 -828
  35. package/src/routes/brand/index.css +555 -555
  36. package/src/routes/changelog/index.css +477 -477
  37. package/src/routes/download/index.css +750 -750
  38. package/src/routes/enterprise/index.css +578 -578
  39. package/src/routes/index.css +1251 -1251
  40. package/src/routes/legal/privacy-policy/index.css +343 -343
  41. package/src/routes/legal/terms-of-service/index.css +254 -254
  42. package/src/routes/user-menu.css +18 -18
  43. package/src/routes/workspace/[id]/billing/billing-section.module.css +185 -185
  44. package/src/routes/workspace/[id]/billing/black-section.module.css +142 -142
  45. package/src/routes/workspace/[id]/billing/black-waitlist-section.module.css +23 -23
  46. package/src/routes/workspace/[id]/billing/monthly-limit-section.module.css +96 -96
  47. package/src/routes/workspace/[id]/billing/payment-section.module.css +93 -93
  48. package/src/routes/workspace/[id]/billing/reload-section.module.css +261 -261
  49. package/src/routes/workspace/[id]/graph-section.module.css +145 -145
  50. package/src/routes/workspace/[id]/keys/key-section.module.css +197 -197
  51. package/src/routes/workspace/[id]/members/member-section.module.css +249 -249
  52. package/src/routes/workspace/[id]/members/role-dropdown.css +72 -72
  53. package/src/routes/workspace/[id]/model-section.module.css +173 -173
  54. package/src/routes/workspace/[id]/new-user-section.module.css +143 -143
  55. package/src/routes/workspace/[id]/provider-section.module.css +138 -138
  56. package/src/routes/workspace/[id]/settings/settings-section.module.css +94 -94
  57. package/src/routes/workspace/[id]/usage-section.module.css +185 -185
  58. package/src/routes/workspace/[id].css +308 -308
  59. package/src/routes/workspace-picker.css +74 -74
  60. package/src/routes/workspace.css +107 -107
  61. package/src/routes/zen/index.css +866 -866
  62. package/src/style/base.css +21 -21
  63. package/src/style/component/button.css +102 -102
  64. package/src/style/index.css +8 -8
  65. package/src/style/reset.css +76 -76
  66. package/src/style/token/color.css +91 -91
  67. package/src/style/token/font.css +21 -21
  68. package/src/style/token/space.css +46 -46
  69. package/public/apple-touch-icon-v3.png +0 -1
  70. package/public/apple-touch-icon.png +0 -1
  71. package/public/email +0 -1
  72. package/public/favicon-96x96-v3.png +0 -1
  73. package/public/favicon-96x96.png +0 -1
  74. package/public/favicon-v3.ico +0 -1
  75. package/public/favicon-v3.svg +0 -1
  76. package/public/favicon.ico +0 -1
  77. package/public/favicon.svg +0 -1
  78. package/public/site.webmanifest +0 -1
  79. package/public/social-share-black.png +0 -1
  80. package/public/social-share-zen.png +0 -1
  81. package/public/social-share.png +0 -1
  82. package/public/web-app-manifest-192x192.png +0 -1
  83. package/public/web-app-manifest-512x512.png +0 -1
@@ -1,308 +1,308 @@
1
- [data-page="workspace"] {
2
- line-height: 1;
3
- }
4
-
5
- /* Workspace Layout */
6
- [data-component="workspace-container"] {
7
- display: flex;
8
- height: calc(100vh - 73px);
9
- }
10
-
11
- [data-component="workspace-nav"] {
12
- width: 240px;
13
- flex-shrink: 0;
14
- padding: var(--space-6) var(--space-4);
15
- display: flex;
16
- justify-content: flex-end;
17
- }
18
-
19
- /* Desktop Navigation */
20
- [data-component="nav-desktop"] {
21
- display: block;
22
-
23
- @media (max-width: 48rem) {
24
- display: none;
25
- }
26
-
27
- [data-component="workspace-nav-items"] {
28
- display: flex;
29
- flex-direction: column;
30
- gap: var(--space-2);
31
-
32
- [data-nav-button] {
33
- padding: var(--space-3) var(--space-4);
34
- border-radius: var(--border-radius-sm);
35
- color: var(--color-text-muted);
36
- text-decoration: none;
37
- font-size: var(--font-size-sm);
38
- font-weight: 500;
39
- transition: all 0.15s ease;
40
-
41
- &:hover {
42
- color: var(--color-text);
43
- }
44
-
45
- &.active {
46
- color: var(--color-text);
47
- font-weight: 700;
48
- position: relative;
49
-
50
- &::before {
51
- content: "";
52
- position: absolute;
53
- left: calc(-1 * var(--space-0-5));
54
- top: 0;
55
- bottom: 0;
56
- width: 2px;
57
- background-color: var(--color-text);
58
- border-radius: 0 2px 2px 0;
59
- }
60
- }
61
- }
62
- }
63
- }
64
-
65
- /* Mobile Navigation */
66
- [data-component="nav-mobile"] {
67
- display: none;
68
-
69
- @media (max-width: 48rem) {
70
- display: flex;
71
- align-items: stretch;
72
- justify-content: flex-start;
73
- width: 100%;
74
- overflow-x: auto;
75
- overflow-y: hidden;
76
- scrollbar-width: none;
77
- -ms-overflow-style: none;
78
-
79
- &::-webkit-scrollbar {
80
- display: none;
81
- }
82
- }
83
-
84
- [data-component="workspace-nav-items"] {
85
- display: flex;
86
- flex-direction: row;
87
- align-items: center;
88
- gap: var(--space-1);
89
- min-width: max-content;
90
- height: 100%;
91
-
92
- [data-nav-button] {
93
- padding: var(--space-2) var(--space-3);
94
- padding-bottom: calc(var(--space-2) + 4px);
95
- border-radius: var(--border-radius-sm);
96
- color: var(--color-text-muted);
97
- text-decoration: none;
98
- font-size: var(--font-size-sm);
99
- font-weight: 500;
100
- transition: all 0.15s ease;
101
- white-space: nowrap;
102
- flex-shrink: 0;
103
- position: relative;
104
-
105
- &:hover {
106
- color: var(--color-text);
107
- }
108
-
109
- &.active {
110
- color: var(--color-text);
111
- font-weight: 700;
112
-
113
- &::after {
114
- content: "";
115
- position: absolute;
116
- bottom: 0;
117
- left: 0;
118
- right: 0;
119
- height: 2px;
120
- background-color: var(--color-text);
121
- border-radius: 2px 2px 0 0;
122
- }
123
- }
124
- }
125
- }
126
- }
127
-
128
- [data-component="workspace-content"] {
129
- flex: 1;
130
- padding: var(--space-6) var(--space-8);
131
- overflow-y: auto;
132
-
133
- @media (max-width: 48rem) {
134
- padding: var(--space-6) var(--space-4);
135
- }
136
- }
137
-
138
- [data-page="workspace-[id]"] {
139
- max-width: 64rem;
140
- padding: var(--space-2) var(--space-4);
141
- margin: 0;
142
- width: 100%;
143
- display: flex;
144
- flex-direction: column;
145
- gap: var(--space-10);
146
-
147
- @media (max-width: 30rem) {
148
- padding-top: var(--space-4);
149
- padding-bottom: var(--space-4);
150
-
151
- gap: var(--space-8);
152
- }
153
-
154
- [data-slot="sections"] {
155
- display: flex;
156
- flex-direction: column;
157
- gap: var(--space-16);
158
-
159
- @media (max-width: 30rem) {
160
- gap: var(--space-8);
161
- }
162
-
163
- section {
164
- display: flex;
165
- flex-direction: column;
166
- gap: var(--space-8);
167
-
168
- @media (max-width: 30rem) {
169
- gap: var(--space-6);
170
- }
171
-
172
- [data-slot="section-title"] {
173
- display: flex;
174
- flex-direction: column;
175
- gap: var(--space-1);
176
-
177
- h2 {
178
- font-size: var(--font-size-md);
179
- font-weight: 600;
180
- line-height: 1.2;
181
- letter-spacing: -0.03125rem;
182
- margin: 0;
183
- color: var(--color-text);
184
-
185
- @media (max-width: 30rem) {
186
- font-size: var(--font-size-md);
187
- }
188
- }
189
-
190
- p {
191
- line-height: 1.5;
192
- font-size: var(--font-size-md);
193
- color: var(--color-text-muted);
194
-
195
- a {
196
- color: var(--color-text-muted);
197
- }
198
-
199
- @media (max-width: 30rem) {
200
- font-size: var(--font-size-sm);
201
- }
202
- }
203
- }
204
-
205
- [data-slot="section-content"] {
206
- display: flex;
207
- flex-direction: column;
208
- gap: var(--space-3);
209
- margin-top: var(--space-8);
210
- }
211
- }
212
-
213
- section:not(:last-child) {
214
- border-bottom: 1px solid var(--color-border);
215
- padding-bottom: var(--space-16);
216
-
217
- @media (max-width: 30rem) {
218
- padding-bottom: var(--space-8);
219
- }
220
- }
221
- }
222
-
223
- /* Title section */
224
- [data-component="header-section"] {
225
- display: flex;
226
- flex-direction: column;
227
- gap: var(--space-2);
228
- padding-bottom: var(--space-8);
229
- border-bottom: 1px solid var(--color-border);
230
-
231
- @media (max-width: 30rem) {
232
- padding-bottom: var(--space-6);
233
- }
234
-
235
- h1 {
236
- font-size: var(--font-size-2xl);
237
- font-weight: 500;
238
- line-height: 1.2;
239
- letter-spacing: -0.03125rem;
240
- margin: 0;
241
- text-transform: uppercase;
242
-
243
- @media (max-width: 30rem) {
244
- font-size: var(--font-size-xl);
245
- }
246
- }
247
-
248
- p {
249
- line-height: 1.5;
250
- font-size: var(--font-size-md);
251
- color: var(--color-text);
252
- display: flex;
253
- align-items: center;
254
- justify-content: space-between;
255
- gap: var(--space-4);
256
-
257
- @media (max-width: 48rem) {
258
- flex-direction: column;
259
- align-items: flex-start;
260
- gap: var(--space-3);
261
- }
262
-
263
- a {
264
- color: var(--color-text-muted);
265
- }
266
-
267
- [data-slot="billing-info"] {
268
- flex-shrink: 0;
269
- margin-left: auto;
270
- }
271
-
272
- [data-slot="balance"] {
273
- font-size: var(--font-size-sm);
274
- color: var(--color-text-muted);
275
-
276
- b {
277
- font-weight: 600;
278
- color: var(--color-text);
279
- }
280
- }
281
- }
282
- }
283
- }
284
-
285
- @media (max-width: 48rem) {
286
- [data-component="workspace-container"] {
287
- flex-direction: column;
288
- }
289
-
290
- [data-component="workspace-nav"] {
291
- width: 100%;
292
- flex-direction: row;
293
- border-right: none;
294
- border-bottom: 1px solid var(--color-border);
295
- padding: var(--space-4);
296
- justify-content: flex-start;
297
- overflow-x: auto;
298
- overflow-y: hidden;
299
- flex-shrink: 0;
300
- min-height: fit-content;
301
- scrollbar-width: none;
302
- -ms-overflow-style: none;
303
-
304
- &::-webkit-scrollbar {
305
- display: none;
306
- }
307
- }
308
- }
1
+ [data-page="workspace"] {
2
+ line-height: 1;
3
+ }
4
+
5
+ /* Workspace Layout */
6
+ [data-component="workspace-container"] {
7
+ display: flex;
8
+ height: calc(100vh - 73px);
9
+ }
10
+
11
+ [data-component="workspace-nav"] {
12
+ width: 240px;
13
+ flex-shrink: 0;
14
+ padding: var(--space-6) var(--space-4);
15
+ display: flex;
16
+ justify-content: flex-end;
17
+ }
18
+
19
+ /* Desktop Navigation */
20
+ [data-component="nav-desktop"] {
21
+ display: block;
22
+
23
+ @media (max-width: 48rem) {
24
+ display: none;
25
+ }
26
+
27
+ [data-component="workspace-nav-items"] {
28
+ display: flex;
29
+ flex-direction: column;
30
+ gap: var(--space-2);
31
+
32
+ [data-nav-button] {
33
+ padding: var(--space-3) var(--space-4);
34
+ border-radius: var(--border-radius-sm);
35
+ color: var(--color-text-muted);
36
+ text-decoration: none;
37
+ font-size: var(--font-size-sm);
38
+ font-weight: 500;
39
+ transition: all 0.15s ease;
40
+
41
+ &:hover {
42
+ color: var(--color-text);
43
+ }
44
+
45
+ &.active {
46
+ color: var(--color-text);
47
+ font-weight: 700;
48
+ position: relative;
49
+
50
+ &::before {
51
+ content: "";
52
+ position: absolute;
53
+ left: calc(-1 * var(--space-0-5));
54
+ top: 0;
55
+ bottom: 0;
56
+ width: 2px;
57
+ background-color: var(--color-text);
58
+ border-radius: 0 2px 2px 0;
59
+ }
60
+ }
61
+ }
62
+ }
63
+ }
64
+
65
+ /* Mobile Navigation */
66
+ [data-component="nav-mobile"] {
67
+ display: none;
68
+
69
+ @media (max-width: 48rem) {
70
+ display: flex;
71
+ align-items: stretch;
72
+ justify-content: flex-start;
73
+ width: 100%;
74
+ overflow-x: auto;
75
+ overflow-y: hidden;
76
+ scrollbar-width: none;
77
+ -ms-overflow-style: none;
78
+
79
+ &::-webkit-scrollbar {
80
+ display: none;
81
+ }
82
+ }
83
+
84
+ [data-component="workspace-nav-items"] {
85
+ display: flex;
86
+ flex-direction: row;
87
+ align-items: center;
88
+ gap: var(--space-1);
89
+ min-width: max-content;
90
+ height: 100%;
91
+
92
+ [data-nav-button] {
93
+ padding: var(--space-2) var(--space-3);
94
+ padding-bottom: calc(var(--space-2) + 4px);
95
+ border-radius: var(--border-radius-sm);
96
+ color: var(--color-text-muted);
97
+ text-decoration: none;
98
+ font-size: var(--font-size-sm);
99
+ font-weight: 500;
100
+ transition: all 0.15s ease;
101
+ white-space: nowrap;
102
+ flex-shrink: 0;
103
+ position: relative;
104
+
105
+ &:hover {
106
+ color: var(--color-text);
107
+ }
108
+
109
+ &.active {
110
+ color: var(--color-text);
111
+ font-weight: 700;
112
+
113
+ &::after {
114
+ content: "";
115
+ position: absolute;
116
+ bottom: 0;
117
+ left: 0;
118
+ right: 0;
119
+ height: 2px;
120
+ background-color: var(--color-text);
121
+ border-radius: 2px 2px 0 0;
122
+ }
123
+ }
124
+ }
125
+ }
126
+ }
127
+
128
+ [data-component="workspace-content"] {
129
+ flex: 1;
130
+ padding: var(--space-6) var(--space-8);
131
+ overflow-y: auto;
132
+
133
+ @media (max-width: 48rem) {
134
+ padding: var(--space-6) var(--space-4);
135
+ }
136
+ }
137
+
138
+ [data-page="workspace-[id]"] {
139
+ max-width: 64rem;
140
+ padding: var(--space-2) var(--space-4);
141
+ margin: 0;
142
+ width: 100%;
143
+ display: flex;
144
+ flex-direction: column;
145
+ gap: var(--space-10);
146
+
147
+ @media (max-width: 30rem) {
148
+ padding-top: var(--space-4);
149
+ padding-bottom: var(--space-4);
150
+
151
+ gap: var(--space-8);
152
+ }
153
+
154
+ [data-slot="sections"] {
155
+ display: flex;
156
+ flex-direction: column;
157
+ gap: var(--space-16);
158
+
159
+ @media (max-width: 30rem) {
160
+ gap: var(--space-8);
161
+ }
162
+
163
+ section {
164
+ display: flex;
165
+ flex-direction: column;
166
+ gap: var(--space-8);
167
+
168
+ @media (max-width: 30rem) {
169
+ gap: var(--space-6);
170
+ }
171
+
172
+ [data-slot="section-title"] {
173
+ display: flex;
174
+ flex-direction: column;
175
+ gap: var(--space-1);
176
+
177
+ h2 {
178
+ font-size: var(--font-size-md);
179
+ font-weight: 600;
180
+ line-height: 1.2;
181
+ letter-spacing: -0.03125rem;
182
+ margin: 0;
183
+ color: var(--color-text);
184
+
185
+ @media (max-width: 30rem) {
186
+ font-size: var(--font-size-md);
187
+ }
188
+ }
189
+
190
+ p {
191
+ line-height: 1.5;
192
+ font-size: var(--font-size-md);
193
+ color: var(--color-text-muted);
194
+
195
+ a {
196
+ color: var(--color-text-muted);
197
+ }
198
+
199
+ @media (max-width: 30rem) {
200
+ font-size: var(--font-size-sm);
201
+ }
202
+ }
203
+ }
204
+
205
+ [data-slot="section-content"] {
206
+ display: flex;
207
+ flex-direction: column;
208
+ gap: var(--space-3);
209
+ margin-top: var(--space-8);
210
+ }
211
+ }
212
+
213
+ section:not(:last-child) {
214
+ border-bottom: 1px solid var(--color-border);
215
+ padding-bottom: var(--space-16);
216
+
217
+ @media (max-width: 30rem) {
218
+ padding-bottom: var(--space-8);
219
+ }
220
+ }
221
+ }
222
+
223
+ /* Title section */
224
+ [data-component="header-section"] {
225
+ display: flex;
226
+ flex-direction: column;
227
+ gap: var(--space-2);
228
+ padding-bottom: var(--space-8);
229
+ border-bottom: 1px solid var(--color-border);
230
+
231
+ @media (max-width: 30rem) {
232
+ padding-bottom: var(--space-6);
233
+ }
234
+
235
+ h1 {
236
+ font-size: var(--font-size-2xl);
237
+ font-weight: 500;
238
+ line-height: 1.2;
239
+ letter-spacing: -0.03125rem;
240
+ margin: 0;
241
+ text-transform: uppercase;
242
+
243
+ @media (max-width: 30rem) {
244
+ font-size: var(--font-size-xl);
245
+ }
246
+ }
247
+
248
+ p {
249
+ line-height: 1.5;
250
+ font-size: var(--font-size-md);
251
+ color: var(--color-text);
252
+ display: flex;
253
+ align-items: center;
254
+ justify-content: space-between;
255
+ gap: var(--space-4);
256
+
257
+ @media (max-width: 48rem) {
258
+ flex-direction: column;
259
+ align-items: flex-start;
260
+ gap: var(--space-3);
261
+ }
262
+
263
+ a {
264
+ color: var(--color-text-muted);
265
+ }
266
+
267
+ [data-slot="billing-info"] {
268
+ flex-shrink: 0;
269
+ margin-left: auto;
270
+ }
271
+
272
+ [data-slot="balance"] {
273
+ font-size: var(--font-size-sm);
274
+ color: var(--color-text-muted);
275
+
276
+ b {
277
+ font-weight: 600;
278
+ color: var(--color-text);
279
+ }
280
+ }
281
+ }
282
+ }
283
+ }
284
+
285
+ @media (max-width: 48rem) {
286
+ [data-component="workspace-container"] {
287
+ flex-direction: column;
288
+ }
289
+
290
+ [data-component="workspace-nav"] {
291
+ width: 100%;
292
+ flex-direction: row;
293
+ border-right: none;
294
+ border-bottom: 1px solid var(--color-border);
295
+ padding: var(--space-4);
296
+ justify-content: flex-start;
297
+ overflow-x: auto;
298
+ overflow-y: hidden;
299
+ flex-shrink: 0;
300
+ min-height: fit-content;
301
+ scrollbar-width: none;
302
+ -ms-overflow-style: none;
303
+
304
+ &::-webkit-scrollbar {
305
+ display: none;
306
+ }
307
+ }
308
+ }