@hypoth-ui/cli 0.0.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.
@@ -0,0 +1,563 @@
1
+ {
2
+ "version": "1.0.0",
3
+ "updatedAt": "2026-01-06T00:00:00Z",
4
+ "components": [
5
+ {
6
+ "name": "button",
7
+ "displayName": "Button",
8
+ "description": "Accessible button with loading and disabled states",
9
+ "version": "1.0.0",
10
+ "status": "stable",
11
+ "frameworks": ["react", "wc"],
12
+ "dependencies": [
13
+ "@hypoth-ui/tokens"
14
+ ],
15
+ "registryDependencies": [],
16
+ "files": [
17
+ {
18
+ "path": "button/button.tsx",
19
+ "target": "button.tsx",
20
+ "type": "tsx",
21
+ "framework": "react"
22
+ },
23
+ {
24
+ "path": "button/button.ts",
25
+ "target": "button.ts",
26
+ "type": "ts",
27
+ "framework": "wc"
28
+ }
29
+ ],
30
+ "a11y": {
31
+ "apgPattern": "button",
32
+ "keyboardSupport": ["Enter", "Space"]
33
+ }
34
+ },
35
+ {
36
+ "name": "dialog",
37
+ "displayName": "Dialog",
38
+ "description": "Modal dialog with focus management and keyboard navigation",
39
+ "version": "1.0.0",
40
+ "status": "stable",
41
+ "frameworks": ["react", "wc"],
42
+ "dependencies": [
43
+ "@hypoth-ui/tokens",
44
+ "@hypoth-ui/primitives-dom"
45
+ ],
46
+ "registryDependencies": ["button"],
47
+ "files": [
48
+ {
49
+ "path": "dialog/dialog.tsx",
50
+ "target": "dialog.tsx",
51
+ "type": "tsx",
52
+ "framework": "react"
53
+ },
54
+ {
55
+ "path": "dialog/dialog.ts",
56
+ "target": "dialog.ts",
57
+ "type": "ts",
58
+ "framework": "wc"
59
+ },
60
+ {
61
+ "path": "dialog/dialog-content.ts",
62
+ "target": "dialog-content.ts",
63
+ "type": "ts",
64
+ "framework": "wc"
65
+ },
66
+ {
67
+ "path": "dialog/dialog-title.ts",
68
+ "target": "dialog-title.ts",
69
+ "type": "ts",
70
+ "framework": "wc"
71
+ },
72
+ {
73
+ "path": "dialog/dialog-description.ts",
74
+ "target": "dialog-description.ts",
75
+ "type": "ts",
76
+ "framework": "wc"
77
+ }
78
+ ],
79
+ "a11y": {
80
+ "apgPattern": "dialog-modal",
81
+ "keyboardSupport": ["Escape", "Tab"]
82
+ }
83
+ },
84
+ {
85
+ "name": "menu",
86
+ "displayName": "Menu",
87
+ "description": "Dropdown menu with keyboard navigation and submenus",
88
+ "version": "1.0.0",
89
+ "status": "stable",
90
+ "frameworks": ["react", "wc"],
91
+ "dependencies": [
92
+ "@hypoth-ui/tokens",
93
+ "@hypoth-ui/primitives-dom"
94
+ ],
95
+ "registryDependencies": ["button"],
96
+ "files": [
97
+ {
98
+ "path": "menu/menu.tsx",
99
+ "target": "menu.tsx",
100
+ "type": "tsx",
101
+ "framework": "react"
102
+ },
103
+ {
104
+ "path": "menu/menu.ts",
105
+ "target": "menu.ts",
106
+ "type": "ts",
107
+ "framework": "wc"
108
+ },
109
+ {
110
+ "path": "menu/menu-content.ts",
111
+ "target": "menu-content.ts",
112
+ "type": "ts",
113
+ "framework": "wc"
114
+ },
115
+ {
116
+ "path": "menu/menu-item.ts",
117
+ "target": "menu-item.ts",
118
+ "type": "ts",
119
+ "framework": "wc"
120
+ }
121
+ ],
122
+ "a11y": {
123
+ "apgPattern": "menu-button",
124
+ "keyboardSupport": ["Enter", "Space", "ArrowUp", "ArrowDown", "Escape"]
125
+ }
126
+ },
127
+ {
128
+ "name": "popover",
129
+ "displayName": "Popover",
130
+ "description": "Non-modal overlay positioned relative to trigger",
131
+ "version": "1.0.0",
132
+ "status": "stable",
133
+ "frameworks": ["react", "wc"],
134
+ "dependencies": [
135
+ "@hypoth-ui/tokens",
136
+ "@hypoth-ui/primitives-dom"
137
+ ],
138
+ "registryDependencies": [],
139
+ "files": [
140
+ {
141
+ "path": "popover/popover.tsx",
142
+ "target": "popover.tsx",
143
+ "type": "tsx",
144
+ "framework": "react"
145
+ },
146
+ {
147
+ "path": "popover/popover.ts",
148
+ "target": "popover.ts",
149
+ "type": "ts",
150
+ "framework": "wc"
151
+ },
152
+ {
153
+ "path": "popover/popover-content.ts",
154
+ "target": "popover-content.ts",
155
+ "type": "ts",
156
+ "framework": "wc"
157
+ }
158
+ ],
159
+ "a11y": {
160
+ "apgPattern": "dialog-non-modal",
161
+ "keyboardSupport": ["Escape", "Tab"]
162
+ }
163
+ },
164
+ {
165
+ "name": "tooltip",
166
+ "displayName": "Tooltip",
167
+ "description": "Informational overlay on hover/focus",
168
+ "version": "1.0.0",
169
+ "status": "stable",
170
+ "frameworks": ["react", "wc"],
171
+ "dependencies": [
172
+ "@hypoth-ui/tokens",
173
+ "@hypoth-ui/primitives-dom"
174
+ ],
175
+ "registryDependencies": [],
176
+ "files": [
177
+ {
178
+ "path": "tooltip/tooltip.tsx",
179
+ "target": "tooltip.tsx",
180
+ "type": "tsx",
181
+ "framework": "react"
182
+ },
183
+ {
184
+ "path": "tooltip/tooltip.ts",
185
+ "target": "tooltip.ts",
186
+ "type": "ts",
187
+ "framework": "wc"
188
+ },
189
+ {
190
+ "path": "tooltip/tooltip-content.ts",
191
+ "target": "tooltip-content.ts",
192
+ "type": "ts",
193
+ "framework": "wc"
194
+ }
195
+ ],
196
+ "a11y": {
197
+ "apgPattern": "tooltip",
198
+ "keyboardSupport": ["Escape"]
199
+ }
200
+ },
201
+ {
202
+ "name": "input",
203
+ "displayName": "Input",
204
+ "description": "Accessible text input with validation states",
205
+ "version": "1.0.0",
206
+ "status": "stable",
207
+ "frameworks": ["react", "wc"],
208
+ "dependencies": [
209
+ "@hypoth-ui/tokens"
210
+ ],
211
+ "registryDependencies": ["field"],
212
+ "files": [
213
+ {
214
+ "path": "input/input.tsx",
215
+ "target": "input.tsx",
216
+ "type": "tsx",
217
+ "framework": "react"
218
+ },
219
+ {
220
+ "path": "input/input.ts",
221
+ "target": "input.ts",
222
+ "type": "ts",
223
+ "framework": "wc"
224
+ }
225
+ ],
226
+ "a11y": {
227
+ "apgPattern": "textbox",
228
+ "keyboardSupport": ["Tab"]
229
+ }
230
+ },
231
+ {
232
+ "name": "textarea",
233
+ "displayName": "Textarea",
234
+ "description": "Multi-line text input with auto-resize",
235
+ "version": "1.0.0",
236
+ "status": "stable",
237
+ "frameworks": ["react", "wc"],
238
+ "dependencies": [
239
+ "@hypoth-ui/tokens"
240
+ ],
241
+ "registryDependencies": ["field"],
242
+ "files": [
243
+ {
244
+ "path": "textarea/textarea.tsx",
245
+ "target": "textarea.tsx",
246
+ "type": "tsx",
247
+ "framework": "react"
248
+ },
249
+ {
250
+ "path": "textarea/textarea.ts",
251
+ "target": "textarea.ts",
252
+ "type": "ts",
253
+ "framework": "wc"
254
+ }
255
+ ],
256
+ "a11y": {
257
+ "apgPattern": "textbox-multiline",
258
+ "keyboardSupport": ["Tab"]
259
+ }
260
+ },
261
+ {
262
+ "name": "checkbox",
263
+ "displayName": "Checkbox",
264
+ "description": "Tri-state checkbox with indeterminate support",
265
+ "version": "1.0.0",
266
+ "status": "stable",
267
+ "frameworks": ["react", "wc"],
268
+ "dependencies": [
269
+ "@hypoth-ui/tokens"
270
+ ],
271
+ "registryDependencies": ["field"],
272
+ "files": [
273
+ {
274
+ "path": "checkbox/checkbox.tsx",
275
+ "target": "checkbox.tsx",
276
+ "type": "tsx",
277
+ "framework": "react"
278
+ },
279
+ {
280
+ "path": "checkbox/checkbox.ts",
281
+ "target": "checkbox.ts",
282
+ "type": "ts",
283
+ "framework": "wc"
284
+ }
285
+ ],
286
+ "a11y": {
287
+ "apgPattern": "checkbox",
288
+ "keyboardSupport": ["Space"]
289
+ }
290
+ },
291
+ {
292
+ "name": "radio-group",
293
+ "displayName": "Radio Group",
294
+ "description": "Radio button group with keyboard navigation",
295
+ "version": "1.0.0",
296
+ "status": "stable",
297
+ "frameworks": ["react", "wc"],
298
+ "dependencies": [
299
+ "@hypoth-ui/tokens",
300
+ "@hypoth-ui/primitives-dom"
301
+ ],
302
+ "registryDependencies": ["field"],
303
+ "files": [
304
+ {
305
+ "path": "radio/radio-group.tsx",
306
+ "target": "radio-group.tsx",
307
+ "type": "tsx",
308
+ "framework": "react"
309
+ },
310
+ {
311
+ "path": "radio/radio-group.ts",
312
+ "target": "radio-group.ts",
313
+ "type": "ts",
314
+ "framework": "wc"
315
+ },
316
+ {
317
+ "path": "radio/radio.ts",
318
+ "target": "radio.ts",
319
+ "type": "ts",
320
+ "framework": "wc"
321
+ }
322
+ ],
323
+ "a11y": {
324
+ "apgPattern": "radio-group",
325
+ "keyboardSupport": ["ArrowUp", "ArrowDown", "ArrowLeft", "ArrowRight"]
326
+ }
327
+ },
328
+ {
329
+ "name": "switch",
330
+ "displayName": "Switch",
331
+ "description": "Toggle switch for boolean settings",
332
+ "version": "1.0.0",
333
+ "status": "stable",
334
+ "frameworks": ["react", "wc"],
335
+ "dependencies": [
336
+ "@hypoth-ui/tokens"
337
+ ],
338
+ "registryDependencies": ["field"],
339
+ "files": [
340
+ {
341
+ "path": "switch/switch.tsx",
342
+ "target": "switch.tsx",
343
+ "type": "tsx",
344
+ "framework": "react"
345
+ },
346
+ {
347
+ "path": "switch/switch.ts",
348
+ "target": "switch.ts",
349
+ "type": "ts",
350
+ "framework": "wc"
351
+ }
352
+ ],
353
+ "a11y": {
354
+ "apgPattern": "switch",
355
+ "keyboardSupport": ["Space"]
356
+ }
357
+ },
358
+ {
359
+ "name": "field",
360
+ "displayName": "Field",
361
+ "description": "Form field wrapper with label, description, and error states",
362
+ "version": "1.0.0",
363
+ "status": "stable",
364
+ "frameworks": ["react", "wc"],
365
+ "dependencies": [
366
+ "@hypoth-ui/tokens"
367
+ ],
368
+ "registryDependencies": [],
369
+ "files": [
370
+ {
371
+ "path": "field/field.tsx",
372
+ "target": "field.tsx",
373
+ "type": "tsx",
374
+ "framework": "react"
375
+ },
376
+ {
377
+ "path": "field/field.ts",
378
+ "target": "field.ts",
379
+ "type": "ts",
380
+ "framework": "wc"
381
+ },
382
+ {
383
+ "path": "field/label.ts",
384
+ "target": "label.ts",
385
+ "type": "ts",
386
+ "framework": "wc"
387
+ },
388
+ {
389
+ "path": "field/field-description.ts",
390
+ "target": "field-description.ts",
391
+ "type": "ts",
392
+ "framework": "wc"
393
+ },
394
+ {
395
+ "path": "field/field-error.ts",
396
+ "target": "field-error.ts",
397
+ "type": "ts",
398
+ "framework": "wc"
399
+ }
400
+ ],
401
+ "a11y": {
402
+ "apgPattern": "landmark-form",
403
+ "keyboardSupport": []
404
+ }
405
+ },
406
+ {
407
+ "name": "icon",
408
+ "displayName": "Icon",
409
+ "description": "SVG icon with size and accessibility handling",
410
+ "version": "1.0.0",
411
+ "status": "stable",
412
+ "frameworks": ["react", "wc"],
413
+ "dependencies": [
414
+ "@hypoth-ui/tokens"
415
+ ],
416
+ "registryDependencies": [],
417
+ "files": [
418
+ {
419
+ "path": "icon/icon.tsx",
420
+ "target": "icon.tsx",
421
+ "type": "tsx",
422
+ "framework": "react"
423
+ },
424
+ {
425
+ "path": "icon/icon.ts",
426
+ "target": "icon.ts",
427
+ "type": "ts",
428
+ "framework": "wc"
429
+ },
430
+ {
431
+ "path": "icon/icon-adapter.ts",
432
+ "target": "icon-adapter.ts",
433
+ "type": "ts",
434
+ "framework": "wc"
435
+ }
436
+ ],
437
+ "a11y": {
438
+ "apgPattern": "img",
439
+ "keyboardSupport": []
440
+ }
441
+ },
442
+ {
443
+ "name": "link",
444
+ "displayName": "Link",
445
+ "description": "Accessible anchor with external link handling",
446
+ "version": "1.0.0",
447
+ "status": "stable",
448
+ "frameworks": ["react", "wc"],
449
+ "dependencies": [
450
+ "@hypoth-ui/tokens"
451
+ ],
452
+ "registryDependencies": [],
453
+ "files": [
454
+ {
455
+ "path": "link/link.tsx",
456
+ "target": "link.tsx",
457
+ "type": "tsx",
458
+ "framework": "react"
459
+ },
460
+ {
461
+ "path": "link/link.ts",
462
+ "target": "link.ts",
463
+ "type": "ts",
464
+ "framework": "wc"
465
+ }
466
+ ],
467
+ "a11y": {
468
+ "apgPattern": "link",
469
+ "keyboardSupport": ["Enter"]
470
+ }
471
+ },
472
+ {
473
+ "name": "spinner",
474
+ "displayName": "Spinner",
475
+ "description": "Loading spinner with accessibility announcements",
476
+ "version": "1.0.0",
477
+ "status": "stable",
478
+ "frameworks": ["react", "wc"],
479
+ "dependencies": [
480
+ "@hypoth-ui/tokens"
481
+ ],
482
+ "registryDependencies": [],
483
+ "files": [
484
+ {
485
+ "path": "spinner/spinner.tsx",
486
+ "target": "spinner.tsx",
487
+ "type": "tsx",
488
+ "framework": "react"
489
+ },
490
+ {
491
+ "path": "spinner/spinner.ts",
492
+ "target": "spinner.ts",
493
+ "type": "ts",
494
+ "framework": "wc"
495
+ }
496
+ ],
497
+ "a11y": {
498
+ "apgPattern": "status",
499
+ "keyboardSupport": []
500
+ }
501
+ },
502
+ {
503
+ "name": "text",
504
+ "displayName": "Text",
505
+ "description": "Typography component with semantic variants",
506
+ "version": "1.0.0",
507
+ "status": "stable",
508
+ "frameworks": ["react", "wc"],
509
+ "dependencies": [
510
+ "@hypoth-ui/tokens"
511
+ ],
512
+ "registryDependencies": [],
513
+ "files": [
514
+ {
515
+ "path": "text/text.tsx",
516
+ "target": "text.tsx",
517
+ "type": "tsx",
518
+ "framework": "react"
519
+ },
520
+ {
521
+ "path": "text/text.ts",
522
+ "target": "text.ts",
523
+ "type": "ts",
524
+ "framework": "wc"
525
+ }
526
+ ],
527
+ "a11y": {
528
+ "apgPattern": "none",
529
+ "keyboardSupport": []
530
+ }
531
+ },
532
+ {
533
+ "name": "visually-hidden",
534
+ "displayName": "Visually Hidden",
535
+ "description": "Hide content visually while keeping it accessible",
536
+ "version": "1.0.0",
537
+ "status": "stable",
538
+ "frameworks": ["react", "wc"],
539
+ "dependencies": [
540
+ "@hypoth-ui/tokens"
541
+ ],
542
+ "registryDependencies": [],
543
+ "files": [
544
+ {
545
+ "path": "visually-hidden/visually-hidden.tsx",
546
+ "target": "visually-hidden.tsx",
547
+ "type": "tsx",
548
+ "framework": "react"
549
+ },
550
+ {
551
+ "path": "visually-hidden/visually-hidden.ts",
552
+ "target": "visually-hidden.ts",
553
+ "type": "ts",
554
+ "framework": "wc"
555
+ }
556
+ ],
557
+ "a11y": {
558
+ "apgPattern": "none",
559
+ "keyboardSupport": []
560
+ }
561
+ }
562
+ ]
563
+ }