@compose-market/theme 0.0.82 → 0.0.91

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/dist/agents/index.d.ts +2 -2
  2. package/dist/agents/index.d.ts.map +1 -1
  3. package/dist/app/index.d.ts +1 -1
  4. package/dist/app/index.d.ts.map +1 -1
  5. package/dist/app/styles.d.ts +1 -1
  6. package/dist/app/styles.d.ts.map +1 -1
  7. package/dist/app/styles.js +64 -4
  8. package/dist/app/styles.js.map +1 -1
  9. package/dist/css/app.css +64 -4
  10. package/dist/css/dark.css +18 -18
  11. package/dist/css/effects.css +293 -30
  12. package/dist/css/index.css +4 -0
  13. package/dist/css/index.d.ts +1 -1
  14. package/dist/css/index.d.ts.map +1 -1
  15. package/dist/css/index.js +4 -0
  16. package/dist/css/index.js.map +1 -1
  17. package/dist/css/market.css +273 -0
  18. package/dist/css/mirror.css +251 -0
  19. package/dist/css/session.css +28 -0
  20. package/dist/css/shell.css +46 -30
  21. package/dist/css/tokens.css +1 -1
  22. package/dist/css/utilities.css +323 -0
  23. package/dist/css/workflows.css +634 -0
  24. package/dist/effects/styles.d.ts +3 -3
  25. package/dist/effects/styles.d.ts.map +1 -1
  26. package/dist/effects/styles.js +295 -32
  27. package/dist/effects/styles.js.map +1 -1
  28. package/dist/index.d.ts +5 -1
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +5 -1
  31. package/dist/index.js.map +1 -1
  32. package/dist/market/index.d.ts +8 -0
  33. package/dist/market/index.d.ts.map +1 -0
  34. package/dist/market/index.js +8 -0
  35. package/dist/market/index.js.map +1 -0
  36. package/dist/market/styles.d.ts +8 -0
  37. package/dist/market/styles.d.ts.map +1 -0
  38. package/dist/market/styles.js +281 -0
  39. package/dist/market/styles.js.map +1 -0
  40. package/dist/mirror/index.d.ts +8 -0
  41. package/dist/mirror/index.d.ts.map +1 -0
  42. package/dist/mirror/index.js +8 -0
  43. package/dist/mirror/index.js.map +1 -0
  44. package/dist/mirror/styles.d.ts +7 -0
  45. package/dist/mirror/styles.d.ts.map +1 -0
  46. package/dist/mirror/styles.js +258 -0
  47. package/dist/mirror/styles.js.map +1 -0
  48. package/dist/session/index.d.ts +16 -4
  49. package/dist/session/index.d.ts.map +1 -1
  50. package/dist/session/index.js +31 -2
  51. package/dist/session/index.js.map +1 -1
  52. package/dist/session/styles.d.ts +1 -1
  53. package/dist/session/styles.d.ts.map +1 -1
  54. package/dist/session/styles.js +28 -0
  55. package/dist/session/styles.js.map +1 -1
  56. package/dist/shell/index.d.ts +19 -19
  57. package/dist/shell/index.d.ts.map +1 -1
  58. package/dist/shell/styles.d.ts +1 -1
  59. package/dist/shell/styles.d.ts.map +1 -1
  60. package/dist/shell/styles.js +46 -30
  61. package/dist/shell/styles.js.map +1 -1
  62. package/dist/themes/dark.js +25 -25
  63. package/dist/themes/dark.js.map +1 -1
  64. package/dist/tokens/typography.d.ts +1 -1
  65. package/dist/tokens/typography.js +2 -2
  66. package/dist/tokens/typography.js.map +1 -1
  67. package/dist/utilities/index.d.ts +8 -0
  68. package/dist/utilities/index.d.ts.map +1 -0
  69. package/dist/utilities/index.js +8 -0
  70. package/dist/utilities/index.js.map +1 -0
  71. package/dist/utilities/styles.d.ts +8 -0
  72. package/dist/utilities/styles.d.ts.map +1 -0
  73. package/dist/utilities/styles.js +331 -0
  74. package/dist/utilities/styles.js.map +1 -0
  75. package/dist/workflows/index.d.ts +65 -0
  76. package/dist/workflows/index.d.ts.map +1 -0
  77. package/dist/workflows/index.js +17 -0
  78. package/dist/workflows/index.js.map +1 -0
  79. package/dist/workflows/styles.d.ts +8 -0
  80. package/dist/workflows/styles.d.ts.map +1 -0
  81. package/dist/workflows/styles.js +642 -0
  82. package/dist/workflows/styles.js.map +1 -0
  83. package/package.json +49 -10
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Market Styles
3
+ *
4
+ * Shared CSS for page-level patterns: page headers, card grids, stat cells,
5
+ * filter bars, and tab strips used in market.tsx and my-assets.tsx pages.
6
+ */
7
+ export const marketStyles = /* css */ `
8
+ /* ── Page Header ── */
9
+ .cm-page-header {
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: 4px;
13
+ border-bottom: 1px solid hsl(var(--sidebar-border));
14
+ padding-bottom: 16px;
15
+ }
16
+
17
+ @media (min-width: 640px) {
18
+ .cm-page-header {
19
+ gap: 8px;
20
+ padding-bottom: 24px;
21
+ }
22
+ }
23
+
24
+ .cm-page-header__title-row {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 16px;
28
+ }
29
+
30
+ .cm-page-header__title {
31
+ font-family: var(--font-display), sans-serif;
32
+ font-weight: 700;
33
+ color: hsl(var(--foreground));
34
+ font-size: 20px;
35
+ }
36
+
37
+ @media (min-width: 640px) {
38
+ .cm-page-header__title {
39
+ font-size: 24px;
40
+ }
41
+ }
42
+
43
+ .cm-page-header__rule {
44
+ height: 1px;
45
+ width: 128px;
46
+ background: linear-gradient(90deg, hsl(var(--accent)), transparent);
47
+ }
48
+
49
+ .cm-page-header__subtitle {
50
+ color: hsl(var(--muted-foreground));
51
+ font-family: var(--font-mono, monospace);
52
+ font-size: 12px;
53
+ }
54
+
55
+ @media (min-width: 640px) {
56
+ .cm-page-header__subtitle {
57
+ font-size: 14px;
58
+ }
59
+ }
60
+
61
+ /* ── Card Grid ── */
62
+ .cm-card-grid {
63
+ display: grid;
64
+ grid-template-columns: 1fr;
65
+ gap: 16px;
66
+ }
67
+
68
+ @media (min-width: 640px) {
69
+ .cm-card-grid {
70
+ grid-template-columns: repeat(2, 1fr);
71
+ gap: 24px;
72
+ }
73
+ }
74
+
75
+ @media (min-width: 1024px) {
76
+ .cm-card-grid {
77
+ grid-template-columns: repeat(3, 1fr);
78
+ }
79
+ }
80
+
81
+ .cm-card-grid--2col {
82
+ grid-template-columns: 1fr;
83
+ }
84
+
85
+ @media (min-width: 640px) {
86
+ .cm-card-grid--2col {
87
+ grid-template-columns: repeat(2, 1fr);
88
+ }
89
+ }
90
+
91
+ /* ── Stat Cell ── */
92
+ .cm-stat-cell {
93
+ padding: 6px;
94
+ background: hsl(var(--background));
95
+ border: 1px solid hsl(var(--sidebar-border) / 0.5);
96
+ border-radius: 4px;
97
+ }
98
+
99
+ @media (min-width: 640px) {
100
+ .cm-stat-cell {
101
+ padding: 8px;
102
+ }
103
+ }
104
+
105
+ .cm-stat-cell__label {
106
+ font-size: 8px;
107
+ color: hsl(var(--muted-foreground));
108
+ text-transform: uppercase;
109
+ }
110
+
111
+ @media (min-width: 640px) {
112
+ .cm-stat-cell__label {
113
+ font-size: 10px;
114
+ }
115
+ }
116
+
117
+ .cm-stat-cell__value-row {
118
+ display: flex;
119
+ align-items: center;
120
+ gap: 4px;
121
+ }
122
+
123
+ .cm-stat-cell__value {
124
+ font-family: var(--font-mono, monospace);
125
+ font-size: 12px;
126
+ white-space: nowrap;
127
+ overflow: hidden;
128
+ text-overflow: ellipsis;
129
+ }
130
+
131
+ @media (min-width: 640px) {
132
+ .cm-stat-cell__value {
133
+ font-size: 14px;
134
+ }
135
+ }
136
+
137
+ /* ── Filter Bar ── */
138
+ .cm-filter-bar {
139
+ display: flex;
140
+ flex-direction: column;
141
+ gap: 12px;
142
+ }
143
+
144
+ @media (min-width: 640px) {
145
+ .cm-filter-bar {
146
+ flex-direction: row;
147
+ align-items: center;
148
+ justify-content: space-between;
149
+ }
150
+ }
151
+
152
+ .cm-filter-bar__actions {
153
+ display: flex;
154
+ align-items: center;
155
+ gap: 8px;
156
+ }
157
+
158
+ @media (max-width: 639px) {
159
+ .cm-filter-bar__actions {
160
+ justify-content: space-between;
161
+ }
162
+ }
163
+
164
+ /* ── Empty State (inline variant) ── */
165
+ .cm-empty-state-inline {
166
+ text-align: center;
167
+ padding: 48px 16px;
168
+ }
169
+
170
+ @media (min-width: 640px) {
171
+ .cm-empty-state-inline {
172
+ padding: 80px 16px;
173
+ }
174
+ }
175
+
176
+ .cm-empty-state-inline__icon {
177
+ margin: 0 auto 16px;
178
+ color: hsl(var(--muted-foreground) / 0.3);
179
+ width: 40px;
180
+ height: 40px;
181
+ }
182
+
183
+ @media (min-width: 640px) {
184
+ .cm-empty-state-inline__icon {
185
+ width: 48px;
186
+ height: 48px;
187
+ }
188
+ }
189
+
190
+ .cm-empty-state-inline__text {
191
+ color: hsl(var(--muted-foreground));
192
+ font-size: 14px;
193
+ }
194
+
195
+ @media (min-width: 640px) {
196
+ .cm-empty-state-inline__text {
197
+ font-size: 16px;
198
+ }
199
+ }
200
+
201
+ .cm-empty-state-inline__hint {
202
+ color: hsl(var(--muted-foreground) / 0.6);
203
+ font-size: 10px;
204
+ margin-top: 8px;
205
+ padding: 0 16px;
206
+ }
207
+
208
+ @media (min-width: 640px) {
209
+ .cm-empty-state-inline__hint {
210
+ font-size: 12px;
211
+ }
212
+ }
213
+
214
+ /* ── Stat Grid (centered, icon-above) ── */
215
+ .cm-stat-grid {
216
+ display: grid;
217
+ gap: 6px;
218
+ font-family: var(--font-mono, monospace);
219
+ }
220
+
221
+ @media (min-width: 640px) {
222
+ .cm-stat-grid {
223
+ gap: 12px;
224
+ }
225
+ }
226
+
227
+ .cm-stat-grid--3col {
228
+ grid-template-columns: repeat(3, 1fr);
229
+ }
230
+
231
+ .cm-stat-grid--2col {
232
+ grid-template-columns: repeat(2, 1fr);
233
+ }
234
+
235
+ .cm-stat-grid__cell {
236
+ text-align: center;
237
+ padding: 6px;
238
+ border-radius: 2px;
239
+ background: hsl(var(--sidebar-accent));
240
+ }
241
+
242
+ @media (min-width: 640px) {
243
+ .cm-stat-grid__cell {
244
+ padding: 8px;
245
+ }
246
+ }
247
+
248
+ .cm-stat-grid__cell-icon {
249
+ margin: 0 auto 2px;
250
+ width: 12px;
251
+ height: 12px;
252
+ }
253
+
254
+ @media (min-width: 640px) {
255
+ .cm-stat-grid__cell-icon {
256
+ width: 14px;
257
+ height: 14px;
258
+ margin-bottom: 4px;
259
+ }
260
+ }
261
+
262
+ .cm-stat-grid__cell-value {
263
+ font-weight: 700;
264
+ color: hsl(var(--foreground));
265
+ white-space: nowrap;
266
+ overflow: hidden;
267
+ text-overflow: ellipsis;
268
+ }
269
+
270
+ .cm-stat-grid__cell-label {
271
+ font-size: 8px;
272
+ color: hsl(var(--muted-foreground));
273
+ }
274
+
275
+ @media (min-width: 640px) {
276
+ .cm-stat-grid__cell-label {
277
+ font-size: 10px;
278
+ }
279
+ }
280
+ `;
281
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/market/styles.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiRrC,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Mirror Module
3
+ *
4
+ * CSS class-name constants for the MirrorPane component pattern.
5
+ * No React components — these are CSS-only shared classes.
6
+ */
7
+ export { mirrorStyles } from "./styles";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mirror/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Mirror Module
3
+ *
4
+ * CSS class-name constants for the MirrorPane component pattern.
5
+ * No React components — these are CSS-only shared classes.
6
+ */
7
+ export { mirrorStyles } from "./styles";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mirror/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Mirror Pane Styles
3
+ *
4
+ * BEM CSS for the MirrorPane component pattern (model info panel).
5
+ */
6
+ export declare const mirrorStyles = "\n/* \u2500\u2500 Mirror Pane \u2500\u2500 */\n.cm-mirror-pane {\n display: flex;\n flex-direction: column;\n border: 1px solid hsl(var(--primary) / 0.3);\n border-radius: 8px;\n background: hsl(var(--card));\n overflow: hidden;\n height: 100%;\n}\n\n/* Toolbar (icon tabs) */\n.cm-mirror-pane__toolbar {\n flex-shrink: 0;\n display: flex;\n align-items: center;\n gap: 4px;\n padding: 8px;\n border-bottom: 1px solid hsl(var(--sidebar-border));\n background: hsl(var(--background) / 0.3);\n}\n\n.cm-mirror-pane__toolbar-btn {\n padding: 8px;\n border-radius: 6px;\n border: none;\n background: transparent;\n color: hsl(var(--muted-foreground));\n cursor: pointer;\n transition: color 0.15s ease, background 0.15s ease;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.cm-mirror-pane__toolbar-btn:hover {\n color: hsl(var(--foreground));\n background: hsl(var(--muted));\n}\n\n.cm-mirror-pane__toolbar-btn--active-cyan {\n background: hsl(var(--primary) / 0.2);\n color: hsl(var(--primary));\n}\n\n.cm-mirror-pane__toolbar-btn--active-fuchsia {\n background: hsl(var(--accent) / 0.2);\n color: hsl(var(--accent));\n}\n\n/* Body */\n.cm-mirror-pane__body {\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n flex: 1;\n overflow-y: auto;\n}\n\n@media (min-width: 640px) {\n .cm-mirror-pane__body {\n padding: 16px;\n }\n}\n\n@media (min-width: 768px) {\n .cm-mirror-pane__body {\n padding: 20px;\n }\n}\n\n/* Model identity */\n.cm-mirror-pane__model-header {\n display: flex;\n align-items: flex-start;\n gap: 12px;\n}\n\n.cm-mirror-pane__model-icon-box {\n padding: 8px;\n background: hsl(var(--primary) / 0.1);\n border: 1px solid hsl(var(--primary) / 0.3);\n border-radius: 8px;\n flex-shrink: 0;\n}\n\n.cm-mirror-pane__model-copy {\n min-width: 0;\n flex: 1;\n}\n\n.cm-mirror-pane__model-name {\n font-weight: 600;\n color: hsl(var(--foreground));\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: 14px;\n}\n\n@media (min-width: 768px) {\n .cm-mirror-pane__model-name {\n font-size: 16px;\n }\n}\n\n.cm-mirror-pane__model-provider {\n font-size: 12px;\n color: hsl(var(--muted-foreground));\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/* Section panel */\n.cm-mirror-pane__section {\n border-radius: 2px;\n border: 1px solid hsl(var(--sidebar-border));\n background: hsl(var(--background) / 0.3);\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.cm-mirror-pane__section-label {\n font-size: 11px;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n color: hsl(var(--muted-foreground));\n}\n\n/* Key-value rows */\n.cm-mirror-pane__kv-row {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n font-family: var(--font-mono, monospace);\n}\n\n.cm-mirror-pane__kv-label {\n color: hsl(var(--muted-foreground));\n}\n\n.cm-mirror-pane__kv-value {\n color: hsl(var(--foreground));\n text-align: right;\n}\n\n/* Pricing sub-panel */\n.cm-mirror-pane__pricing-block {\n border-radius: 2px;\n border: 1px solid hsl(var(--sidebar-border));\n background: hsl(var(--background) / 0.4);\n padding: 8px;\n display: flex;\n flex-direction: column;\n gap: 6px;\n}\n\n.cm-mirror-pane__pricing-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: 12px;\n}\n\n.cm-mirror-pane__pricing-name {\n font-family: var(--font-mono, monospace);\n color: hsl(var(--primary));\n}\n\n/* Description block */\n.cm-mirror-pane__description {\n border-radius: 2px;\n border: 1px solid hsl(var(--sidebar-border));\n background: hsl(var(--background) / 0.3);\n padding: 12px;\n color: hsl(var(--muted-foreground));\n line-height: 1.6;\n}\n\n/* Settings: tool group */\n.cm-mirror-pane__tool-group {\n border-radius: 2px;\n border: 1px solid hsl(var(--primary) / 0.2);\n background: hsl(var(--primary) / 0.05);\n padding: 12px;\n display: flex;\n flex-direction: column;\n gap: 12px;\n}\n\n.cm-mirror-pane__tool-group--fuchsia {\n border-color: hsl(var(--accent) / 0.2);\n background: hsl(var(--accent) / 0.05);\n}\n\n.cm-mirror-pane__tool-group-label {\n font-size: 12px;\n font-family: var(--font-mono, monospace);\n}\n\n.cm-mirror-pane__tool-toggle {\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.cm-mirror-pane__tool-toggle-label {\n display: flex;\n align-items: center;\n gap: 8px;\n font-size: 14px;\n}\n\n/* Empty state */\n.cm-mirror-pane__empty {\n padding: 16px 20px;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n flex: 1;\n text-align: center;\n}\n\n.cm-mirror-pane__empty-icon {\n width: 40px;\n height: 40px;\n color: hsl(var(--muted-foreground) / 0.4);\n margin-bottom: 12px;\n}\n\n.cm-mirror-pane__empty-text {\n font-size: 14px;\n color: hsl(var(--muted-foreground) / 0.7);\n}\n\n/* No-params state */\n.cm-mirror-pane__no-params {\n border-radius: 2px;\n border: 1px solid hsl(var(--sidebar-border));\n background: hsl(var(--background) / 0.3);\n padding: 16px;\n font-size: 14px;\n color: hsl(var(--muted-foreground));\n}\n";
7
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/mirror/styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,eAAO,MAAM,YAAY,2pKA2PxB,CAAC"}
@@ -0,0 +1,258 @@
1
+ /**
2
+ * Mirror Pane Styles
3
+ *
4
+ * BEM CSS for the MirrorPane component pattern (model info panel).
5
+ */
6
+ export const mirrorStyles = /* css */ `
7
+ /* ── Mirror Pane ── */
8
+ .cm-mirror-pane {
9
+ display: flex;
10
+ flex-direction: column;
11
+ border: 1px solid hsl(var(--primary) / 0.3);
12
+ border-radius: 8px;
13
+ background: hsl(var(--card));
14
+ overflow: hidden;
15
+ height: 100%;
16
+ }
17
+
18
+ /* Toolbar (icon tabs) */
19
+ .cm-mirror-pane__toolbar {
20
+ flex-shrink: 0;
21
+ display: flex;
22
+ align-items: center;
23
+ gap: 4px;
24
+ padding: 8px;
25
+ border-bottom: 1px solid hsl(var(--sidebar-border));
26
+ background: hsl(var(--background) / 0.3);
27
+ }
28
+
29
+ .cm-mirror-pane__toolbar-btn {
30
+ padding: 8px;
31
+ border-radius: 6px;
32
+ border: none;
33
+ background: transparent;
34
+ color: hsl(var(--muted-foreground));
35
+ cursor: pointer;
36
+ transition: color 0.15s ease, background 0.15s ease;
37
+ display: inline-flex;
38
+ align-items: center;
39
+ justify-content: center;
40
+ }
41
+
42
+ .cm-mirror-pane__toolbar-btn:hover {
43
+ color: hsl(var(--foreground));
44
+ background: hsl(var(--muted));
45
+ }
46
+
47
+ .cm-mirror-pane__toolbar-btn--active-cyan {
48
+ background: hsl(var(--primary) / 0.2);
49
+ color: hsl(var(--primary));
50
+ }
51
+
52
+ .cm-mirror-pane__toolbar-btn--active-fuchsia {
53
+ background: hsl(var(--accent) / 0.2);
54
+ color: hsl(var(--accent));
55
+ }
56
+
57
+ /* Body */
58
+ .cm-mirror-pane__body {
59
+ padding: 12px;
60
+ display: flex;
61
+ flex-direction: column;
62
+ gap: 16px;
63
+ flex: 1;
64
+ overflow-y: auto;
65
+ }
66
+
67
+ @media (min-width: 640px) {
68
+ .cm-mirror-pane__body {
69
+ padding: 16px;
70
+ }
71
+ }
72
+
73
+ @media (min-width: 768px) {
74
+ .cm-mirror-pane__body {
75
+ padding: 20px;
76
+ }
77
+ }
78
+
79
+ /* Model identity */
80
+ .cm-mirror-pane__model-header {
81
+ display: flex;
82
+ align-items: flex-start;
83
+ gap: 12px;
84
+ }
85
+
86
+ .cm-mirror-pane__model-icon-box {
87
+ padding: 8px;
88
+ background: hsl(var(--primary) / 0.1);
89
+ border: 1px solid hsl(var(--primary) / 0.3);
90
+ border-radius: 8px;
91
+ flex-shrink: 0;
92
+ }
93
+
94
+ .cm-mirror-pane__model-copy {
95
+ min-width: 0;
96
+ flex: 1;
97
+ }
98
+
99
+ .cm-mirror-pane__model-name {
100
+ font-weight: 600;
101
+ color: hsl(var(--foreground));
102
+ white-space: nowrap;
103
+ overflow: hidden;
104
+ text-overflow: ellipsis;
105
+ font-size: 14px;
106
+ }
107
+
108
+ @media (min-width: 768px) {
109
+ .cm-mirror-pane__model-name {
110
+ font-size: 16px;
111
+ }
112
+ }
113
+
114
+ .cm-mirror-pane__model-provider {
115
+ font-size: 12px;
116
+ color: hsl(var(--muted-foreground));
117
+ white-space: nowrap;
118
+ overflow: hidden;
119
+ text-overflow: ellipsis;
120
+ }
121
+
122
+ /* Section panel */
123
+ .cm-mirror-pane__section {
124
+ border-radius: 2px;
125
+ border: 1px solid hsl(var(--sidebar-border));
126
+ background: hsl(var(--background) / 0.3);
127
+ padding: 12px;
128
+ display: flex;
129
+ flex-direction: column;
130
+ gap: 12px;
131
+ }
132
+
133
+ .cm-mirror-pane__section-label {
134
+ font-size: 11px;
135
+ text-transform: uppercase;
136
+ letter-spacing: 0.06em;
137
+ color: hsl(var(--muted-foreground));
138
+ }
139
+
140
+ /* Key-value rows */
141
+ .cm-mirror-pane__kv-row {
142
+ display: flex;
143
+ align-items: center;
144
+ justify-content: space-between;
145
+ gap: 12px;
146
+ font-family: var(--font-mono, monospace);
147
+ }
148
+
149
+ .cm-mirror-pane__kv-label {
150
+ color: hsl(var(--muted-foreground));
151
+ }
152
+
153
+ .cm-mirror-pane__kv-value {
154
+ color: hsl(var(--foreground));
155
+ text-align: right;
156
+ }
157
+
158
+ /* Pricing sub-panel */
159
+ .cm-mirror-pane__pricing-block {
160
+ border-radius: 2px;
161
+ border: 1px solid hsl(var(--sidebar-border));
162
+ background: hsl(var(--background) / 0.4);
163
+ padding: 8px;
164
+ display: flex;
165
+ flex-direction: column;
166
+ gap: 6px;
167
+ }
168
+
169
+ .cm-mirror-pane__pricing-header {
170
+ display: flex;
171
+ align-items: center;
172
+ justify-content: space-between;
173
+ gap: 12px;
174
+ }
175
+
176
+ .cm-mirror-pane__pricing-name {
177
+ font-family: var(--font-mono, monospace);
178
+ color: hsl(var(--primary));
179
+ }
180
+
181
+ /* Description block */
182
+ .cm-mirror-pane__description {
183
+ border-radius: 2px;
184
+ border: 1px solid hsl(var(--sidebar-border));
185
+ background: hsl(var(--background) / 0.3);
186
+ padding: 12px;
187
+ color: hsl(var(--muted-foreground));
188
+ line-height: 1.6;
189
+ }
190
+
191
+ /* Settings: tool group */
192
+ .cm-mirror-pane__tool-group {
193
+ border-radius: 2px;
194
+ border: 1px solid hsl(var(--primary) / 0.2);
195
+ background: hsl(var(--primary) / 0.05);
196
+ padding: 12px;
197
+ display: flex;
198
+ flex-direction: column;
199
+ gap: 12px;
200
+ }
201
+
202
+ .cm-mirror-pane__tool-group--fuchsia {
203
+ border-color: hsl(var(--accent) / 0.2);
204
+ background: hsl(var(--accent) / 0.05);
205
+ }
206
+
207
+ .cm-mirror-pane__tool-group-label {
208
+ font-size: 12px;
209
+ font-family: var(--font-mono, monospace);
210
+ }
211
+
212
+ .cm-mirror-pane__tool-toggle {
213
+ display: flex;
214
+ align-items: center;
215
+ justify-content: space-between;
216
+ }
217
+
218
+ .cm-mirror-pane__tool-toggle-label {
219
+ display: flex;
220
+ align-items: center;
221
+ gap: 8px;
222
+ font-size: 14px;
223
+ }
224
+
225
+ /* Empty state */
226
+ .cm-mirror-pane__empty {
227
+ padding: 16px 20px;
228
+ display: flex;
229
+ flex-direction: column;
230
+ align-items: center;
231
+ justify-content: center;
232
+ flex: 1;
233
+ text-align: center;
234
+ }
235
+
236
+ .cm-mirror-pane__empty-icon {
237
+ width: 40px;
238
+ height: 40px;
239
+ color: hsl(var(--muted-foreground) / 0.4);
240
+ margin-bottom: 12px;
241
+ }
242
+
243
+ .cm-mirror-pane__empty-text {
244
+ font-size: 14px;
245
+ color: hsl(var(--muted-foreground) / 0.7);
246
+ }
247
+
248
+ /* No-params state */
249
+ .cm-mirror-pane__no-params {
250
+ border-radius: 2px;
251
+ border: 1px solid hsl(var(--sidebar-border));
252
+ background: hsl(var(--background) / 0.3);
253
+ padding: 16px;
254
+ font-size: 14px;
255
+ color: hsl(var(--muted-foreground));
256
+ }
257
+ `;
258
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/mirror/styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,SAAS,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2PrC,CAAC"}
@@ -8,6 +8,15 @@ export interface SessionSummaryRow {
8
8
  label: React.ReactNode;
9
9
  value: React.ReactNode;
10
10
  }
11
+ export interface SessionBudgetInputProps {
12
+ value: string;
13
+ onChange: (value: string) => void;
14
+ placeholder?: string;
15
+ inputMode?: React.HTMLAttributes<HTMLInputElement>["inputMode"];
16
+ prefix?: React.ReactNode;
17
+ suffix?: React.ReactNode;
18
+ description?: React.ReactNode;
19
+ }
11
20
  export interface SessionManageKey {
12
21
  id: string;
13
22
  title: React.ReactNode;
@@ -44,6 +53,7 @@ export interface SessionBudgetDialogShellProps {
44
53
  subtitle?: React.ReactNode;
45
54
  titleIcon?: React.ReactNode;
46
55
  budgetLabel?: React.ReactNode;
56
+ budgetInput?: SessionBudgetInputProps;
47
57
  durationLabel?: React.ReactNode;
48
58
  durationIcon?: React.ReactNode;
49
59
  budgetChoices: SessionChoice[];
@@ -106,8 +116,10 @@ export interface ComposeKeyDialogShellProps {
106
116
  copiedIcon?: React.ReactNode;
107
117
  closeLabel?: React.ReactNode;
108
118
  }
109
- export declare function SessionIndicatorShell({ active, budgetLabel, expiresLabel, mobileBudgetLabel, startLabel, activeLabel, leadingIcon, trailingIcon, manageIcon, manageLabel, keyIcon, keyLabel, onStart, onOpenManage, onOpenKey, className, }: SessionIndicatorShellProps): import("react/jsx-runtime").JSX.Element;
110
- export declare function SessionBudgetDialogShell({ open, title, subtitle, titleIcon, budgetLabel, durationLabel, durationIcon, budgetChoices, durationChoices, summaryRows, error, onClose, onSubmit, submitting, submitLabel, submittingLabel, cancelLabel, }: SessionBudgetDialogShellProps): import("react/jsx-runtime").JSX.Element;
111
- export declare function SessionManageDialogShell({ open, title, subtitle, titleIcon, currentSessionTitle, currentSessionIcon, currentSessionRows, sectionLabel, newKeyLabel, newKeyIcon, loading, loadingLabel, emptyState, keys, onClose, onCreateKey, }: SessionManageDialogShellProps): import("react/jsx-runtime").JSX.Element;
112
- export declare function ComposeKeyDialogShell({ open, title, subtitle, titleIcon, keyName, keyNameLabel, keyNamePlaceholder, onKeyNameChange, summaryRows, generatedKey, warning, usageLabel, usageValue, onClose, onGenerate, generating, generateLabel, generatingLabel, onCopy, copied, copyLabel, copiedLabel, copyIcon, copiedIcon, closeLabel, }: ComposeKeyDialogShellProps): import("react/jsx-runtime").JSX.Element;
119
+ export declare function parseUsdcBudgetInput(value: string): bigint | null;
120
+ export declare function formatUsdcBudgetInput(value: bigint | number | string): string;
121
+ export declare function SessionIndicatorShell({ active, budgetLabel, expiresLabel, mobileBudgetLabel, startLabel, activeLabel, leadingIcon, trailingIcon, manageIcon, manageLabel, keyIcon, keyLabel, onStart, onOpenManage, onOpenKey, className, }: SessionIndicatorShellProps): React.JSX.Element;
122
+ export declare function SessionBudgetDialogShell({ open, title, subtitle, titleIcon, budgetLabel, budgetInput, durationLabel, durationIcon, budgetChoices, durationChoices, summaryRows, error, onClose, onSubmit, submitting, submitLabel, submittingLabel, cancelLabel, }: SessionBudgetDialogShellProps): React.JSX.Element;
123
+ export declare function SessionManageDialogShell({ open, title, subtitle, titleIcon, currentSessionTitle, currentSessionIcon, currentSessionRows, sectionLabel, newKeyLabel, newKeyIcon, loading, loadingLabel, emptyState, keys, onClose, onCreateKey, }: SessionManageDialogShellProps): React.JSX.Element;
124
+ export declare function ComposeKeyDialogShell({ open, title, subtitle, titleIcon, keyName, keyNameLabel, keyNamePlaceholder, onKeyNameChange, summaryRows, generatedKey, warning, usageLabel, usageValue, onClose, onGenerate, generating, generateLabel, generatingLabel, onCopy, copied, copyLabel, copiedLabel, copyIcon, copiedIcon, closeLabel, }: ComposeKeyDialogShellProps): React.JSX.Element;
113
125
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/session/index.tsx"],"names":[],"mappings":"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"}