@mcp-b/react-components 0.1.1

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 (71) hide show
  1. package/LICENSE +21 -0
  2. package/dist/index.d.ts +7236 -0
  3. package/dist/index.js +8945 -0
  4. package/dist/styles/accordion.css +104 -0
  5. package/dist/styles/agent-connection.css +159 -0
  6. package/dist/styles/alert-dialog.css +144 -0
  7. package/dist/styles/artifact.css +67 -0
  8. package/dist/styles/autocomplete.css +162 -0
  9. package/dist/styles/avatar.css +31 -0
  10. package/dist/styles/badge.css +56 -0
  11. package/dist/styles/base.css +81 -0
  12. package/dist/styles/button.css +176 -0
  13. package/dist/styles/card.css +31 -0
  14. package/dist/styles/chain-of-thought.css +241 -0
  15. package/dist/styles/checkbox-group.css +10 -0
  16. package/dist/styles/checkbox.css +42 -0
  17. package/dist/styles/code-block.css +105 -0
  18. package/dist/styles/collapsible.css +95 -0
  19. package/dist/styles/combobox.css +171 -0
  20. package/dist/styles/commit.css +201 -0
  21. package/dist/styles/context-menu.css +68 -0
  22. package/dist/styles/context.css +142 -0
  23. package/dist/styles/conversation.css +81 -0
  24. package/dist/styles/dialog.css +98 -0
  25. package/dist/styles/environment-variables.css +122 -0
  26. package/dist/styles/field.css +80 -0
  27. package/dist/styles/fieldset.css +18 -0
  28. package/dist/styles/file-tree.css +128 -0
  29. package/dist/styles/form.css +5 -0
  30. package/dist/styles/github-motion-mark.css +91 -0
  31. package/dist/styles/index.css +79 -0
  32. package/dist/styles/input.css +34 -0
  33. package/dist/styles/label.css +12 -0
  34. package/dist/styles/menu.css +228 -0
  35. package/dist/styles/menubar.css +137 -0
  36. package/dist/styles/message.css +120 -0
  37. package/dist/styles/meter.css +36 -0
  38. package/dist/styles/model-selector.css +175 -0
  39. package/dist/styles/nanite-scene.css +418 -0
  40. package/dist/styles/navigation-menu.css +162 -0
  41. package/dist/styles/number-field.css +103 -0
  42. package/dist/styles/popover.css +148 -0
  43. package/dist/styles/preview-card.css +98 -0
  44. package/dist/styles/pricing-page.css +390 -0
  45. package/dist/styles/progress.css +49 -0
  46. package/dist/styles/prompt-input.css +153 -0
  47. package/dist/styles/queue.css +226 -0
  48. package/dist/styles/radio.css +64 -0
  49. package/dist/styles/reasoning.css +124 -0
  50. package/dist/styles/scroll-area.css +67 -0
  51. package/dist/styles/scrollbars.css +32 -0
  52. package/dist/styles/select.css +116 -0
  53. package/dist/styles/separator.css +15 -0
  54. package/dist/styles/shell.css +121 -0
  55. package/dist/styles/slider.css +88 -0
  56. package/dist/styles/sources.css +168 -0
  57. package/dist/styles/stepper.css +204 -0
  58. package/dist/styles/switch.css +86 -0
  59. package/dist/styles/tabs.css +102 -0
  60. package/dist/styles/task.css +164 -0
  61. package/dist/styles/terminal.css +97 -0
  62. package/dist/styles/test-results.css +267 -0
  63. package/dist/styles/toast.css +142 -0
  64. package/dist/styles/toggle-group.css +71 -0
  65. package/dist/styles/toggle.css +44 -0
  66. package/dist/styles/tokens.css +1 -0
  67. package/dist/styles/tool.css +180 -0
  68. package/dist/styles/toolbar.css +139 -0
  69. package/dist/styles/tooltip.css +49 -0
  70. package/dist/styles/web-preview.css +150 -0
  71. package/package.json +77 -0
@@ -0,0 +1,390 @@
1
+ .pricing-page {
2
+ width: 100%;
3
+ max-width: 1200px;
4
+ margin: 0 auto;
5
+ padding: 3rem 1.5rem;
6
+ }
7
+
8
+ /* Header */
9
+
10
+ .pricing-page__header {
11
+ text-align: center;
12
+ margin-bottom: 3rem;
13
+ }
14
+
15
+ .pricing-page__title {
16
+ font-family: var(--sigvelo-font-family);
17
+ font-size: 2.5rem;
18
+ font-weight: 700;
19
+ line-height: 1.2;
20
+ color: var(--sigvelo-text-body);
21
+ margin: 0 0 0.75rem;
22
+ }
23
+
24
+ .pricing-page__subtitle {
25
+ font-family: var(--sigvelo-font-family);
26
+ font-size: 1.125rem;
27
+ color: var(--sigvelo-text-muted);
28
+ margin: 0 0 2rem;
29
+ }
30
+
31
+ .pricing-page__billing-toggle {
32
+ display: flex;
33
+ flex-direction: column;
34
+ align-items: center;
35
+ gap: 1rem;
36
+ }
37
+
38
+ .pricing-page__toggle-options {
39
+ display: flex;
40
+ align-items: center;
41
+ gap: 0.5rem;
42
+ }
43
+
44
+ .pricing-page__switch-container {
45
+ display: flex;
46
+ align-items: center;
47
+ gap: 0.75rem;
48
+ }
49
+
50
+ .pricing-page__period-label {
51
+ font-family: var(--sigvelo-font-family);
52
+ font-size: 0.875rem;
53
+ color: var(--sigvelo-text-muted);
54
+ transition: color 150ms ease;
55
+ }
56
+
57
+ .pricing-page__period-label--active {
58
+ font-weight: 600;
59
+ color: var(--sigvelo-text-body);
60
+ }
61
+
62
+ /* Plans Grid */
63
+
64
+ .pricing-page__plans {
65
+ display: grid;
66
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
67
+ gap: 1.5rem;
68
+ margin-bottom: 3rem;
69
+ }
70
+
71
+ .pricing-page__plan {
72
+ position: relative;
73
+ display: flex;
74
+ flex-direction: column;
75
+ padding: 1.5rem;
76
+ }
77
+
78
+ .pricing-page__plan--popular {
79
+ border-color: var(--sigvelo-primary-fill-mid);
80
+ box-shadow:
81
+ 0 4px 6px -1px color-mix(in oklab, var(--sigvelo-primary-fill-mid), transparent 90%),
82
+ 0 2px 4px -2px color-mix(in oklab, var(--sigvelo-primary-fill-mid), transparent 90%);
83
+ }
84
+
85
+ .pricing-page__popular-badge {
86
+ position: absolute;
87
+ top: -0.625rem;
88
+ left: 50%;
89
+ transform: translateX(-50%);
90
+ }
91
+
92
+ .pricing-page__plan-header {
93
+ margin-bottom: 1.5rem;
94
+ }
95
+
96
+ .pricing-page__plan-name {
97
+ font-family: var(--sigvelo-font-family);
98
+ font-size: 1.25rem;
99
+ font-weight: 600;
100
+ color: var(--sigvelo-text-body);
101
+ margin: 0 0 0.25rem;
102
+ }
103
+
104
+ .pricing-page__plan-description {
105
+ font-family: var(--sigvelo-font-family);
106
+ font-size: 0.875rem;
107
+ color: var(--sigvelo-text-muted);
108
+ margin: 0;
109
+ }
110
+
111
+ .pricing-page__plan-price {
112
+ margin-bottom: 1.5rem;
113
+ }
114
+
115
+ .pricing-page__price-amount {
116
+ font-family: var(--sigvelo-font-family);
117
+ font-size: 2.5rem;
118
+ font-weight: 700;
119
+ font-variant-numeric: tabular-nums;
120
+ color: var(--sigvelo-text-body);
121
+ }
122
+
123
+ .pricing-page__price-period {
124
+ font-family: var(--sigvelo-font-family);
125
+ font-size: 1rem;
126
+ color: var(--sigvelo-text-muted);
127
+ }
128
+
129
+ .pricing-page__price-savings {
130
+ display: block;
131
+ font-family: var(--sigvelo-font-family);
132
+ font-size: 0.75rem;
133
+ font-weight: 500;
134
+ color: var(--sigvelo-success-fill-mid);
135
+ margin-top: 0.25rem;
136
+ }
137
+
138
+ .pricing-page__plan-cta {
139
+ width: 100%;
140
+ }
141
+
142
+ .pricing-page__features-separator {
143
+ margin: 1.5rem 0;
144
+ }
145
+
146
+ .pricing-page__features {
147
+ list-style: none;
148
+ padding: 0;
149
+ margin: 0;
150
+ flex: 1;
151
+ }
152
+
153
+ .pricing-page__feature {
154
+ display: flex;
155
+ align-items: flex-start;
156
+ gap: 0.75rem;
157
+ padding: 0.5rem 0;
158
+ font-family: var(--sigvelo-font-family);
159
+ font-size: 0.875rem;
160
+ color: var(--sigvelo-text-body);
161
+ }
162
+
163
+ .pricing-page__feature--disabled {
164
+ color: var(--sigvelo-text-muted);
165
+ text-decoration: line-through;
166
+ }
167
+
168
+ .pricing-page__feature-icon {
169
+ display: flex;
170
+ align-items: center;
171
+ justify-content: center;
172
+ width: 1.25rem;
173
+ height: 1.25rem;
174
+ flex-shrink: 0;
175
+ color: var(--sigvelo-text-muted);
176
+ }
177
+
178
+ .pricing-page__feature-icon--included {
179
+ color: var(--sigvelo-success-fill-mid);
180
+ }
181
+
182
+ .pricing-page__feature-name {
183
+ flex: 1;
184
+ }
185
+
186
+ .pricing-page__feature-limit {
187
+ font-size: 0.75rem;
188
+ color: var(--sigvelo-text-muted);
189
+ margin-left: 0.25rem;
190
+ }
191
+
192
+ .pricing-page__feature-info {
193
+ display: flex;
194
+ align-items: center;
195
+ justify-content: center;
196
+ padding: 0;
197
+ background: none;
198
+ border: none;
199
+ color: var(--sigvelo-text-muted);
200
+ cursor: pointer;
201
+ transition: color 150ms ease;
202
+ }
203
+
204
+ .pricing-page__feature-info:hover {
205
+ color: var(--sigvelo-text-body);
206
+ }
207
+
208
+ /* Calculator */
209
+
210
+ .pricing-page__calculator {
211
+ max-width: 600px;
212
+ margin: 0 auto 3rem;
213
+ padding: 2rem;
214
+ }
215
+
216
+ .pricing-page__calculator-title {
217
+ font-family: var(--sigvelo-font-family);
218
+ font-size: 1.25rem;
219
+ font-weight: 600;
220
+ color: var(--sigvelo-text-body);
221
+ margin: 0 0 0.5rem;
222
+ }
223
+
224
+ .pricing-page__calculator-description {
225
+ font-family: var(--sigvelo-font-family);
226
+ font-size: 0.875rem;
227
+ color: var(--sigvelo-text-muted);
228
+ margin: 0 0 1.5rem;
229
+ }
230
+
231
+ .pricing-page__calculator-slider {
232
+ margin-bottom: 0.5rem;
233
+ }
234
+
235
+ .pricing-page__calculator-labels {
236
+ display: flex;
237
+ justify-content: space-between;
238
+ align-items: center;
239
+ margin-bottom: 0.75rem;
240
+ }
241
+
242
+ .pricing-page__calculator-value {
243
+ font-family: var(--sigvelo-font-family);
244
+ font-size: 1.125rem;
245
+ font-weight: 600;
246
+ font-variant-numeric: tabular-nums;
247
+ color: var(--sigvelo-primary-fill-mid);
248
+ }
249
+
250
+ .pricing-page__calculator-range {
251
+ display: flex;
252
+ justify-content: space-between;
253
+ margin-top: 0.5rem;
254
+ font-family: var(--sigvelo-font-family);
255
+ font-size: 0.75rem;
256
+ color: var(--sigvelo-text-muted);
257
+ }
258
+
259
+ .pricing-page__calculator-result {
260
+ display: flex;
261
+ justify-content: space-between;
262
+ align-items: baseline;
263
+ margin-bottom: 1.5rem;
264
+ }
265
+
266
+ .pricing-page__calculator-result-label {
267
+ font-family: var(--sigvelo-font-family);
268
+ font-size: 0.875rem;
269
+ color: var(--sigvelo-text-muted);
270
+ }
271
+
272
+ .pricing-page__calculator-result-price {
273
+ text-align: right;
274
+ }
275
+
276
+ .pricing-page__calculator-amount {
277
+ font-family: var(--sigvelo-font-family);
278
+ font-size: 2rem;
279
+ font-weight: 700;
280
+ font-variant-numeric: tabular-nums;
281
+ color: var(--sigvelo-text-body);
282
+ }
283
+
284
+ .pricing-page__calculator-period {
285
+ font-family: var(--sigvelo-font-family);
286
+ font-size: 0.875rem;
287
+ color: var(--sigvelo-text-muted);
288
+ }
289
+
290
+ .pricing-page__tiers {
291
+ display: flex;
292
+ flex-direction: column;
293
+ gap: 1rem;
294
+ }
295
+
296
+ .pricing-page__tier {
297
+ display: flex;
298
+ flex-direction: column;
299
+ gap: 0.375rem;
300
+ }
301
+
302
+ .pricing-page__tier-info {
303
+ display: flex;
304
+ justify-content: space-between;
305
+ font-family: var(--sigvelo-font-family);
306
+ font-size: 0.8125rem;
307
+ }
308
+
309
+ .pricing-page__tier-label {
310
+ color: var(--sigvelo-text-body);
311
+ }
312
+
313
+ .pricing-page__tier-price {
314
+ font-weight: 500;
315
+ font-variant-numeric: tabular-nums;
316
+ color: var(--sigvelo-text-muted);
317
+ }
318
+
319
+ /* FAQ */
320
+
321
+ .pricing-page__faq {
322
+ max-width: 700px;
323
+ margin: 0 auto;
324
+ }
325
+
326
+ .pricing-page__faq-title {
327
+ font-family: var(--sigvelo-font-family);
328
+ font-size: 1.5rem;
329
+ font-weight: 600;
330
+ color: var(--sigvelo-text-body);
331
+ text-align: center;
332
+ margin: 0 0 2rem;
333
+ }
334
+
335
+ .pricing-page__faq-accordion {
336
+ border-top: 1px solid var(--sigvelo-neutral-stroke-soft);
337
+ }
338
+
339
+ /* Confirmation Dialog */
340
+
341
+ .pricing-page__confirm-summary {
342
+ padding: 1rem;
343
+ margin-bottom: 1rem;
344
+ background-color: var(--sigvelo-neutral-fill-softer);
345
+ border-radius: var(--sigvelo-border-radius-md);
346
+ }
347
+
348
+ .pricing-page__confirm-row {
349
+ display: flex;
350
+ justify-content: space-between;
351
+ font-family: var(--sigvelo-font-family);
352
+ font-size: 0.875rem;
353
+ color: var(--sigvelo-text-body);
354
+ padding: 0.25rem 0;
355
+ }
356
+
357
+ .pricing-page__confirm-row--savings {
358
+ color: var(--sigvelo-success-fill-mid);
359
+ font-weight: 500;
360
+ }
361
+
362
+ .pricing-page__confirm-actions {
363
+ display: flex;
364
+ gap: 0.75rem;
365
+ justify-content: flex-end;
366
+ }
367
+
368
+ /* Responsive */
369
+
370
+ @media (max-width: 768px) {
371
+ .pricing-page {
372
+ padding: 2rem 1rem;
373
+ }
374
+
375
+ .pricing-page__title {
376
+ font-size: 1.75rem;
377
+ }
378
+
379
+ .pricing-page__subtitle {
380
+ font-size: 1rem;
381
+ }
382
+
383
+ .pricing-page__plans {
384
+ grid-template-columns: 1fr;
385
+ }
386
+
387
+ .pricing-page__price-amount {
388
+ font-size: 2rem;
389
+ }
390
+ }
@@ -0,0 +1,49 @@
1
+ .progress {
2
+ width: 100%;
3
+ }
4
+
5
+ .progress__track {
6
+ position: relative;
7
+ width: 100%;
8
+ height: 0.5rem;
9
+ overflow: hidden;
10
+ background-color: var(--sigvelo-neutral-fill-softer);
11
+ border-radius: var(--sigvelo-border-radius-pill);
12
+ }
13
+
14
+ .progress__indicator {
15
+ height: 100%;
16
+ background-color: var(--sigvelo-primary-fill-mid);
17
+ border-radius: var(--sigvelo-border-radius-pill);
18
+ transition: width 300ms ease;
19
+ }
20
+
21
+ /* Variants */
22
+
23
+ .progress--success .progress__indicator {
24
+ background-color: var(--sigvelo-success-fill-mid);
25
+ }
26
+
27
+ .progress--warning .progress__indicator {
28
+ background-color: var(--sigvelo-warning-fill-mid);
29
+ }
30
+
31
+ .progress--destructive .progress__indicator {
32
+ background-color: var(--sigvelo-destructive-fill-mid);
33
+ }
34
+
35
+ /* Indeterminate animation */
36
+
37
+ .progress[data-state="indeterminate"] .progress__indicator {
38
+ width: 50% !important;
39
+ animation: progress-indeterminate 1.5s ease-in-out infinite;
40
+ }
41
+
42
+ @keyframes progress-indeterminate {
43
+ 0% {
44
+ transform: translateX(-100%);
45
+ }
46
+ 100% {
47
+ transform: translateX(200%);
48
+ }
49
+ }
@@ -0,0 +1,153 @@
1
+ .prompt-input {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: 0.5rem;
5
+ padding-block: 0.75rem;
6
+ padding-inline: 0.75rem;
7
+ background-color: var(--sigvelo-paper-color);
8
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
9
+ var(--sigvelo-neutral-stroke-softer);
10
+ border-radius: var(--sigvelo-border-radius-md);
11
+ box-shadow: var(--sigvelo-shadow-softer);
12
+ font-family: var(--sigvelo-font-family);
13
+ color: var(--sigvelo-text-body);
14
+ transition:
15
+ border-color 150ms ease,
16
+ box-shadow 150ms ease;
17
+ }
18
+
19
+ .prompt-input:focus-within {
20
+ border-color: var(--sigvelo-neutral-stroke-soft);
21
+ box-shadow:
22
+ var(--sigvelo-shadow-softer),
23
+ 0 0 0 3px var(--sigvelo-focus-color);
24
+ }
25
+
26
+ .prompt-input__header {
27
+ display: flex;
28
+ flex-wrap: wrap;
29
+ align-items: center;
30
+ gap: 0.375rem;
31
+ min-height: 1.5rem;
32
+ }
33
+
34
+ .prompt-input__body {
35
+ display: flex;
36
+ align-items: stretch;
37
+ width: 100%;
38
+ }
39
+
40
+ .prompt-input__textarea {
41
+ flex: 1;
42
+ width: 100%;
43
+ padding: 0;
44
+ border: none;
45
+ background-color: transparent;
46
+ color: var(--sigvelo-text-body);
47
+ font-family: inherit;
48
+ font-size: 0.9375rem;
49
+ line-height: 1.5;
50
+ resize: none;
51
+ overflow-y: hidden;
52
+ }
53
+
54
+ .prompt-input__textarea::placeholder {
55
+ color: var(--sigvelo-text-muted);
56
+ }
57
+
58
+ .prompt-input__textarea:focus {
59
+ outline: none;
60
+ }
61
+
62
+ .prompt-input__textarea:disabled {
63
+ color: var(--sigvelo-text-muted);
64
+ cursor: not-allowed;
65
+ }
66
+
67
+ .prompt-input__footer {
68
+ display: flex;
69
+ align-items: center;
70
+ justify-content: space-between;
71
+ gap: 0.5rem;
72
+ padding-block-start: 0.25rem;
73
+ }
74
+
75
+ .prompt-input__tools {
76
+ display: inline-flex;
77
+ align-items: center;
78
+ gap: 0.25rem;
79
+ flex-wrap: wrap;
80
+ min-height: 2rem;
81
+ }
82
+
83
+ .prompt-input__button {
84
+ gap: 0.375rem;
85
+ color: var(--sigvelo-text-muted);
86
+ }
87
+
88
+ .prompt-input__button:hover:not([data-disabled]) {
89
+ color: var(--sigvelo-text-body);
90
+ }
91
+
92
+ .prompt-input__tooltip-content {
93
+ display: inline-block;
94
+ }
95
+
96
+ .prompt-input__tooltip-shortcut {
97
+ display: inline-flex;
98
+ align-items: center;
99
+ justify-content: center;
100
+ margin-inline-start: 0.5rem;
101
+ padding-block: 0.0625rem;
102
+ padding-inline: 0.25rem;
103
+ border: 1px solid color-mix(in oklab, currentColor, transparent 75%);
104
+ border-radius: var(--sigvelo-border-radius-sm);
105
+ font-family: var(--sigvelo-font-family-code);
106
+ font-size: 0.75em;
107
+ font-weight: var(--sigvelo-font-weight-semibold);
108
+ opacity: 0.85;
109
+ }
110
+
111
+ .prompt-input__submit {
112
+ flex-shrink: 0;
113
+ }
114
+
115
+ .prompt-input__submit[data-status="streaming"],
116
+ .prompt-input__submit[data-status="submitted"] {
117
+ --sigvelo-primary-fill: var(--sigvelo-neutral-fill-mid);
118
+ --sigvelo-primary-fill-contrast: var(--sigvelo-text-body);
119
+ }
120
+
121
+ .prompt-input__submit[data-status="error"] {
122
+ --sigvelo-primary-fill: var(--sigvelo-destructive-fill-mid);
123
+ }
124
+
125
+ .prompt-input__submit-spinner {
126
+ animation: prompt-input-spin 900ms linear infinite;
127
+ }
128
+
129
+ @keyframes prompt-input-spin {
130
+ from {
131
+ transform: rotate(0deg);
132
+ }
133
+ to {
134
+ transform: rotate(360deg);
135
+ }
136
+ }
137
+
138
+ @media (prefers-reduced-motion: reduce) {
139
+ .prompt-input__submit-spinner {
140
+ animation-duration: 3s;
141
+ }
142
+ }
143
+
144
+ @media (forced-colors: active) {
145
+ .prompt-input {
146
+ border: 1px solid CanvasText;
147
+ }
148
+
149
+ .prompt-input:focus-within {
150
+ outline: 2px solid Highlight;
151
+ outline-offset: 2px;
152
+ }
153
+ }