@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,145 +1,145 @@
1
- .root {
2
- [data-component="empty-state"] {
3
- padding: var(--space-20) var(--space-6);
4
- text-align: center;
5
- border: 1px dashed var(--color-border);
6
- border-radius: var(--border-radius-sm);
7
- height: 400px;
8
- display: flex;
9
- align-items: center;
10
- justify-content: center;
11
-
12
- p {
13
- font-size: var(--font-size-sm);
14
- color: var(--color-text-muted);
15
- }
16
- }
17
-
18
- [data-slot="filter-container"] {
19
- margin-bottom: 0;
20
- display: flex;
21
- align-items: center;
22
- gap: var(--space-3);
23
-
24
- [data-component="dropdown"] {
25
- [data-slot="trigger"] {
26
- border: 1px solid var(--color-border);
27
- background-color: var(--color-bg);
28
- padding: var(--space-2) var(--space-3);
29
- border-radius: var(--border-radius-sm);
30
- color: var(--color-text);
31
- font-size: var(--font-size-sm);
32
- line-height: 1.5;
33
-
34
- &:hover {
35
- border-color: var(--color-accent);
36
- }
37
-
38
- &:focus {
39
- outline: none;
40
- border-color: var(--color-accent);
41
- box-shadow: 0 0 0 3px var(--color-accent-alpha);
42
- }
43
- }
44
-
45
- [data-slot="chevron"] {
46
- opacity: 0.6;
47
- }
48
-
49
- [data-slot="dropdown"] {
50
- min-width: 200px;
51
- max-height: 300px;
52
- overflow-y: auto;
53
- padding: var(--space-1);
54
- }
55
- }
56
- }
57
-
58
- [data-slot="month-picker"] {
59
- display: flex;
60
- align-items: center;
61
- background-color: var(--color-bg);
62
- border: 1px solid var(--color-border);
63
- border-radius: var(--border-radius-sm);
64
- padding: 0;
65
- }
66
-
67
- [data-slot="month-button"] {
68
- display: flex;
69
- align-items: center;
70
- justify-content: center;
71
- background: none;
72
- border: none !important;
73
- color: var(--color-text);
74
- cursor: pointer;
75
- padding: var(--space-2) var(--space-3);
76
- border-radius: var(--border-radius-xs);
77
- transition: background-color 0.2s;
78
- line-height: 1;
79
-
80
- &:hover {
81
- background-color: var(--color-bg-hover);
82
- }
83
-
84
- svg {
85
- display: block;
86
- width: 16px;
87
- height: 16px;
88
- stroke-width: 2;
89
- }
90
- }
91
-
92
- [data-slot="month-label"] {
93
- font-size: var(--font-size-sm);
94
- font-weight: 500;
95
- color: var(--color-text);
96
- line-height: 1.5;
97
- min-width: 140px;
98
- text-align: center;
99
- white-space: nowrap;
100
- }
101
-
102
- [data-slot="model-item"] {
103
- display: flex;
104
- align-items: center;
105
- gap: var(--space-2);
106
- padding: var(--space-2) var(--space-3);
107
- cursor: pointer;
108
- transition: background-color 0.2s;
109
- font-size: var(--font-size-sm);
110
- color: var(--color-text);
111
- border: none !important;
112
- background: none;
113
- width: 100%;
114
- text-align: left;
115
- white-space: nowrap;
116
-
117
- &:hover {
118
- background: var(--color-bg-hover);
119
- }
120
-
121
- span {
122
- flex: 1;
123
- user-select: none;
124
- }
125
- }
126
-
127
- [data-slot="chart-container"] {
128
- padding: var(--space-6);
129
- background: var(--color-bg-secondary);
130
- border: 1px solid var(--color-border);
131
- border-radius: var(--border-radius-sm);
132
- height: 400px;
133
- }
134
-
135
- @media (max-width: 40rem) {
136
- [data-slot="chart-container"] {
137
- height: 300px;
138
- padding: var(--space-4);
139
- }
140
-
141
- [data-component="empty-state"] {
142
- height: 300px;
143
- }
144
- }
145
- }
1
+ .root {
2
+ [data-component="empty-state"] {
3
+ padding: var(--space-20) var(--space-6);
4
+ text-align: center;
5
+ border: 1px dashed var(--color-border);
6
+ border-radius: var(--border-radius-sm);
7
+ height: 400px;
8
+ display: flex;
9
+ align-items: center;
10
+ justify-content: center;
11
+
12
+ p {
13
+ font-size: var(--font-size-sm);
14
+ color: var(--color-text-muted);
15
+ }
16
+ }
17
+
18
+ [data-slot="filter-container"] {
19
+ margin-bottom: 0;
20
+ display: flex;
21
+ align-items: center;
22
+ gap: var(--space-3);
23
+
24
+ [data-component="dropdown"] {
25
+ [data-slot="trigger"] {
26
+ border: 1px solid var(--color-border);
27
+ background-color: var(--color-bg);
28
+ padding: var(--space-2) var(--space-3);
29
+ border-radius: var(--border-radius-sm);
30
+ color: var(--color-text);
31
+ font-size: var(--font-size-sm);
32
+ line-height: 1.5;
33
+
34
+ &:hover {
35
+ border-color: var(--color-accent);
36
+ }
37
+
38
+ &:focus {
39
+ outline: none;
40
+ border-color: var(--color-accent);
41
+ box-shadow: 0 0 0 3px var(--color-accent-alpha);
42
+ }
43
+ }
44
+
45
+ [data-slot="chevron"] {
46
+ opacity: 0.6;
47
+ }
48
+
49
+ [data-slot="dropdown"] {
50
+ min-width: 200px;
51
+ max-height: 300px;
52
+ overflow-y: auto;
53
+ padding: var(--space-1);
54
+ }
55
+ }
56
+ }
57
+
58
+ [data-slot="month-picker"] {
59
+ display: flex;
60
+ align-items: center;
61
+ background-color: var(--color-bg);
62
+ border: 1px solid var(--color-border);
63
+ border-radius: var(--border-radius-sm);
64
+ padding: 0;
65
+ }
66
+
67
+ [data-slot="month-button"] {
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: center;
71
+ background: none;
72
+ border: none !important;
73
+ color: var(--color-text);
74
+ cursor: pointer;
75
+ padding: var(--space-2) var(--space-3);
76
+ border-radius: var(--border-radius-xs);
77
+ transition: background-color 0.2s;
78
+ line-height: 1;
79
+
80
+ &:hover {
81
+ background-color: var(--color-bg-hover);
82
+ }
83
+
84
+ svg {
85
+ display: block;
86
+ width: 16px;
87
+ height: 16px;
88
+ stroke-width: 2;
89
+ }
90
+ }
91
+
92
+ [data-slot="month-label"] {
93
+ font-size: var(--font-size-sm);
94
+ font-weight: 500;
95
+ color: var(--color-text);
96
+ line-height: 1.5;
97
+ min-width: 140px;
98
+ text-align: center;
99
+ white-space: nowrap;
100
+ }
101
+
102
+ [data-slot="model-item"] {
103
+ display: flex;
104
+ align-items: center;
105
+ gap: var(--space-2);
106
+ padding: var(--space-2) var(--space-3);
107
+ cursor: pointer;
108
+ transition: background-color 0.2s;
109
+ font-size: var(--font-size-sm);
110
+ color: var(--color-text);
111
+ border: none !important;
112
+ background: none;
113
+ width: 100%;
114
+ text-align: left;
115
+ white-space: nowrap;
116
+
117
+ &:hover {
118
+ background: var(--color-bg-hover);
119
+ }
120
+
121
+ span {
122
+ flex: 1;
123
+ user-select: none;
124
+ }
125
+ }
126
+
127
+ [data-slot="chart-container"] {
128
+ padding: var(--space-6);
129
+ background: var(--color-bg-secondary);
130
+ border: 1px solid var(--color-border);
131
+ border-radius: var(--border-radius-sm);
132
+ height: 400px;
133
+ }
134
+
135
+ @media (max-width: 40rem) {
136
+ [data-slot="chart-container"] {
137
+ height: 300px;
138
+ padding: var(--space-4);
139
+ }
140
+
141
+ [data-component="empty-state"] {
142
+ height: 300px;
143
+ }
144
+ }
145
+ }
@@ -1,197 +1,197 @@
1
- .root {
2
- [data-slot="title-row"] {
3
- display: flex;
4
- justify-content: space-between;
5
- align-items: center;
6
- gap: var(--space-4);
7
- }
8
-
9
- [data-component="empty-state"] {
10
- padding: var(--space-20) var(--space-6);
11
- text-align: center;
12
- border: 1px dashed var(--color-border);
13
- border-radius: var(--border-radius-sm);
14
- display: flex;
15
- flex-direction: column;
16
- gap: var(--space-2);
17
-
18
- p {
19
- line-height: 1.5;
20
- font-size: var(--font-size-sm);
21
- color: var(--color-text-muted);
22
- }
23
- }
24
-
25
- [data-slot="create-form"] {
26
- display: flex;
27
- flex-direction: column;
28
- gap: var(--space-3);
29
- padding: var(--space-4);
30
- border: 1px solid var(--color-border);
31
- border-radius: var(--border-radius-sm);
32
-
33
- [data-slot="input-container"] {
34
- display: flex;
35
- flex-direction: column;
36
- gap: var(--space-1);
37
- }
38
-
39
- @media (max-width: 30rem) {
40
- gap: var(--space-2);
41
- }
42
-
43
- input {
44
- flex: 1;
45
- padding: var(--space-2) var(--space-3);
46
- border: 1px solid var(--color-border);
47
- border-radius: var(--border-radius-sm);
48
- background-color: var(--color-bg);
49
- color: var(--color-text);
50
- font-size: var(--font-size-sm);
51
- font-family: var(--font-mono);
52
-
53
- &:focus {
54
- outline: none;
55
- border-color: var(--color-accent);
56
- }
57
-
58
- &::placeholder {
59
- color: var(--color-text-disabled);
60
- }
61
- }
62
-
63
- [data-slot="form-actions"] {
64
- display: flex;
65
- gap: var(--space-2);
66
- }
67
-
68
- [data-slot="form-error"] {
69
- color: var(--color-danger);
70
- font-size: var(--font-size-sm);
71
- margin-top: var(--space-1);
72
- line-height: 1.4;
73
- }
74
- }
75
-
76
- [data-slot="api-keys-table"] {
77
- overflow-x: auto;
78
- }
79
-
80
- [data-slot="api-keys-table-element"] {
81
- width: 100%;
82
- border-collapse: collapse;
83
- font-size: var(--font-size-sm);
84
-
85
- thead {
86
- border-bottom: 1px solid var(--color-border);
87
- }
88
-
89
- th {
90
- padding: var(--space-3) var(--space-4);
91
- text-align: left;
92
- font-weight: normal;
93
- color: var(--color-text-muted);
94
- text-transform: uppercase;
95
- }
96
-
97
- td {
98
- padding: var(--space-3) var(--space-4);
99
- border-bottom: 1px solid var(--color-border-muted);
100
- color: var(--color-text-muted);
101
- font-family: var(--font-mono);
102
-
103
- &[data-slot="key-name"] {
104
- color: var(--color-text);
105
- font-family: var(--font-sans);
106
- font-weight: 500;
107
- }
108
-
109
- &[data-slot="key-value"] {
110
- font-family: var(--font-mono);
111
-
112
- button {
113
- display: flex;
114
- align-items: center;
115
- gap: var(--space-2);
116
- padding: var(--space-2) var(--space-3);
117
- margin-left: calc(-1 * var(--space-3));
118
- font-size: var(--font-size-sm);
119
- font-weight: 400;
120
- border: none;
121
- background-color: transparent;
122
- color: var(--color-text-muted);
123
- font-family: var(--font-mono);
124
- border-radius: var(--border-radius-sm);
125
- cursor: pointer;
126
- transition: all 0.15s ease;
127
- text-transform: none;
128
-
129
- &:hover:not(:disabled) {
130
- background-color: var(--color-bg-surface);
131
- color: var(--color-text);
132
- }
133
-
134
- &:disabled {
135
- cursor: default;
136
- color: var(--color-text);
137
- }
138
-
139
- span {
140
- font-family: inherit;
141
- }
142
- }
143
- }
144
-
145
- &[data-slot="key-date"] {
146
- color: var(--color-text);
147
- }
148
-
149
- &[data-slot="key-actions"] {
150
- font-family: var(--font-sans);
151
-
152
- button {
153
- opacity: 0;
154
- pointer-events: none;
155
- transition: opacity 0.15s ease;
156
- }
157
- }
158
- }
159
-
160
- tbody tr {
161
- &:hover {
162
- [data-slot="key-actions"] button {
163
- opacity: 1;
164
- pointer-events: auto;
165
- }
166
- }
167
-
168
- &:last-child td {
169
- border-bottom: none;
170
- }
171
- }
172
-
173
- @media (max-width: 40rem) {
174
- th,
175
- td {
176
- padding: var(--space-2) var(--space-3);
177
- font-size: var(--font-size-xs);
178
- }
179
-
180
- th {
181
- &:nth-child(3)
182
-
183
- /* Date */ {
184
- display: none;
185
- }
186
- }
187
-
188
- td {
189
- &:nth-child(3)
190
-
191
- /* Date */ {
192
- display: none;
193
- }
194
- }
195
- }
196
- }
197
- }
1
+ .root {
2
+ [data-slot="title-row"] {
3
+ display: flex;
4
+ justify-content: space-between;
5
+ align-items: center;
6
+ gap: var(--space-4);
7
+ }
8
+
9
+ [data-component="empty-state"] {
10
+ padding: var(--space-20) var(--space-6);
11
+ text-align: center;
12
+ border: 1px dashed var(--color-border);
13
+ border-radius: var(--border-radius-sm);
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: var(--space-2);
17
+
18
+ p {
19
+ line-height: 1.5;
20
+ font-size: var(--font-size-sm);
21
+ color: var(--color-text-muted);
22
+ }
23
+ }
24
+
25
+ [data-slot="create-form"] {
26
+ display: flex;
27
+ flex-direction: column;
28
+ gap: var(--space-3);
29
+ padding: var(--space-4);
30
+ border: 1px solid var(--color-border);
31
+ border-radius: var(--border-radius-sm);
32
+
33
+ [data-slot="input-container"] {
34
+ display: flex;
35
+ flex-direction: column;
36
+ gap: var(--space-1);
37
+ }
38
+
39
+ @media (max-width: 30rem) {
40
+ gap: var(--space-2);
41
+ }
42
+
43
+ input {
44
+ flex: 1;
45
+ padding: var(--space-2) var(--space-3);
46
+ border: 1px solid var(--color-border);
47
+ border-radius: var(--border-radius-sm);
48
+ background-color: var(--color-bg);
49
+ color: var(--color-text);
50
+ font-size: var(--font-size-sm);
51
+ font-family: var(--font-mono);
52
+
53
+ &:focus {
54
+ outline: none;
55
+ border-color: var(--color-accent);
56
+ }
57
+
58
+ &::placeholder {
59
+ color: var(--color-text-disabled);
60
+ }
61
+ }
62
+
63
+ [data-slot="form-actions"] {
64
+ display: flex;
65
+ gap: var(--space-2);
66
+ }
67
+
68
+ [data-slot="form-error"] {
69
+ color: var(--color-danger);
70
+ font-size: var(--font-size-sm);
71
+ margin-top: var(--space-1);
72
+ line-height: 1.4;
73
+ }
74
+ }
75
+
76
+ [data-slot="api-keys-table"] {
77
+ overflow-x: auto;
78
+ }
79
+
80
+ [data-slot="api-keys-table-element"] {
81
+ width: 100%;
82
+ border-collapse: collapse;
83
+ font-size: var(--font-size-sm);
84
+
85
+ thead {
86
+ border-bottom: 1px solid var(--color-border);
87
+ }
88
+
89
+ th {
90
+ padding: var(--space-3) var(--space-4);
91
+ text-align: left;
92
+ font-weight: normal;
93
+ color: var(--color-text-muted);
94
+ text-transform: uppercase;
95
+ }
96
+
97
+ td {
98
+ padding: var(--space-3) var(--space-4);
99
+ border-bottom: 1px solid var(--color-border-muted);
100
+ color: var(--color-text-muted);
101
+ font-family: var(--font-mono);
102
+
103
+ &[data-slot="key-name"] {
104
+ color: var(--color-text);
105
+ font-family: var(--font-sans);
106
+ font-weight: 500;
107
+ }
108
+
109
+ &[data-slot="key-value"] {
110
+ font-family: var(--font-mono);
111
+
112
+ button {
113
+ display: flex;
114
+ align-items: center;
115
+ gap: var(--space-2);
116
+ padding: var(--space-2) var(--space-3);
117
+ margin-left: calc(-1 * var(--space-3));
118
+ font-size: var(--font-size-sm);
119
+ font-weight: 400;
120
+ border: none;
121
+ background-color: transparent;
122
+ color: var(--color-text-muted);
123
+ font-family: var(--font-mono);
124
+ border-radius: var(--border-radius-sm);
125
+ cursor: pointer;
126
+ transition: all 0.15s ease;
127
+ text-transform: none;
128
+
129
+ &:hover:not(:disabled) {
130
+ background-color: var(--color-bg-surface);
131
+ color: var(--color-text);
132
+ }
133
+
134
+ &:disabled {
135
+ cursor: default;
136
+ color: var(--color-text);
137
+ }
138
+
139
+ span {
140
+ font-family: inherit;
141
+ }
142
+ }
143
+ }
144
+
145
+ &[data-slot="key-date"] {
146
+ color: var(--color-text);
147
+ }
148
+
149
+ &[data-slot="key-actions"] {
150
+ font-family: var(--font-sans);
151
+
152
+ button {
153
+ opacity: 0;
154
+ pointer-events: none;
155
+ transition: opacity 0.15s ease;
156
+ }
157
+ }
158
+ }
159
+
160
+ tbody tr {
161
+ &:hover {
162
+ [data-slot="key-actions"] button {
163
+ opacity: 1;
164
+ pointer-events: auto;
165
+ }
166
+ }
167
+
168
+ &:last-child td {
169
+ border-bottom: none;
170
+ }
171
+ }
172
+
173
+ @media (max-width: 40rem) {
174
+ th,
175
+ td {
176
+ padding: var(--space-2) var(--space-3);
177
+ font-size: var(--font-size-xs);
178
+ }
179
+
180
+ th {
181
+ &:nth-child(3)
182
+
183
+ /* Date */ {
184
+ display: none;
185
+ }
186
+ }
187
+
188
+ td {
189
+ &:nth-child(3)
190
+
191
+ /* Date */ {
192
+ display: none;
193
+ }
194
+ }
195
+ }
196
+ }
197
+ }