ionbase-ui 0.51.0 → 0.69.0
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.
- package/dist/components/Accordion.d.ts +54 -0
- package/dist/components/Accordion.d.ts.map +1 -0
- package/dist/components/Accordion.js +68 -0
- package/dist/components/Accordion.js.map +1 -0
- package/dist/components/AgentActivity.d.ts +2 -1
- package/dist/components/AgentActivity.d.ts.map +1 -1
- package/dist/components/AgentActivity.js +4 -17
- package/dist/components/AgentActivity.js.map +1 -1
- package/dist/components/Breadcrumb.d.ts +45 -0
- package/dist/components/Breadcrumb.d.ts.map +1 -0
- package/dist/components/Breadcrumb.js +31 -0
- package/dist/components/Breadcrumb.js.map +1 -0
- package/dist/components/Calendar.d.ts +20 -0
- package/dist/components/Calendar.d.ts.map +1 -0
- package/dist/components/Calendar.js +151 -0
- package/dist/components/Calendar.js.map +1 -0
- package/dist/components/CalendarPopover.d.ts +26 -0
- package/dist/components/CalendarPopover.d.ts.map +1 -0
- package/dist/components/CalendarPopover.js +45 -0
- package/dist/components/CalendarPopover.js.map +1 -0
- package/dist/components/Checkbox.d.ts +2 -1
- package/dist/components/Checkbox.d.ts.map +1 -1
- package/dist/components/Checkbox.js +4 -2
- package/dist/components/Checkbox.js.map +1 -1
- package/dist/components/Combobox.d.ts +86 -0
- package/dist/components/Combobox.d.ts.map +1 -0
- package/dist/components/Combobox.js +261 -0
- package/dist/components/Combobox.js.map +1 -0
- package/dist/components/DateField.d.ts +15 -0
- package/dist/components/DateField.d.ts.map +1 -0
- package/dist/components/DateField.js +74 -0
- package/dist/components/DateField.js.map +1 -0
- package/dist/components/DatePicker.d.ts +81 -0
- package/dist/components/DatePicker.d.ts.map +1 -0
- package/dist/components/DatePicker.js +102 -0
- package/dist/components/DatePicker.js.map +1 -0
- package/dist/components/DateRangePicker.d.ts +117 -0
- package/dist/components/DateRangePicker.d.ts.map +1 -0
- package/dist/components/DateRangePicker.js +152 -0
- package/dist/components/DateRangePicker.js.map +1 -0
- package/dist/components/Drawer.d.ts +52 -0
- package/dist/components/Drawer.d.ts.map +1 -0
- package/dist/components/Drawer.js +66 -0
- package/dist/components/Drawer.js.map +1 -0
- package/dist/components/FileUpload.d.ts +79 -0
- package/dist/components/FileUpload.d.ts.map +1 -0
- package/dist/components/FileUpload.js +218 -0
- package/dist/components/FileUpload.js.map +1 -0
- package/dist/components/Header.d.ts +10 -0
- package/dist/components/Header.d.ts.map +1 -1
- package/dist/components/Header.js +18 -3
- package/dist/components/Header.js.map +1 -1
- package/dist/components/NumberInput.d.ts +63 -0
- package/dist/components/NumberInput.d.ts.map +1 -0
- package/dist/components/NumberInput.js +102 -0
- package/dist/components/NumberInput.js.map +1 -0
- package/dist/components/ProgressBar.d.ts +46 -0
- package/dist/components/ProgressBar.d.ts.map +1 -0
- package/dist/components/ProgressBar.js +52 -0
- package/dist/components/ProgressBar.js.map +1 -0
- package/dist/components/PromptInput.d.ts +89 -0
- package/dist/components/PromptInput.d.ts.map +1 -0
- package/dist/components/PromptInput.js +130 -0
- package/dist/components/PromptInput.js.map +1 -0
- package/dist/components/SegmentedControl.d.ts +63 -0
- package/dist/components/SegmentedControl.d.ts.map +1 -0
- package/dist/components/SegmentedControl.js +79 -0
- package/dist/components/SegmentedControl.js.map +1 -0
- package/dist/components/Select.d.ts +9 -2
- package/dist/components/Select.d.ts.map +1 -1
- package/dist/components/Select.js.map +1 -1
- package/dist/components/Sidebar.d.ts +109 -0
- package/dist/components/Sidebar.d.ts.map +1 -0
- package/dist/components/Sidebar.js +106 -0
- package/dist/components/Sidebar.js.map +1 -0
- package/dist/components/Skeleton.d.ts +39 -0
- package/dist/components/Skeleton.d.ts.map +1 -0
- package/dist/components/Skeleton.js +50 -0
- package/dist/components/Skeleton.js.map +1 -0
- package/dist/components/Spinner.d.ts +45 -0
- package/dist/components/Spinner.d.ts.map +1 -0
- package/dist/components/Spinner.js +44 -0
- package/dist/components/Spinner.js.map +1 -0
- package/dist/components/Stepper.d.ts +73 -0
- package/dist/components/Stepper.d.ts.map +1 -0
- package/dist/components/Stepper.js +82 -0
- package/dist/components/Stepper.js.map +1 -0
- package/dist/components/Toggle.d.ts +2 -1
- package/dist/components/Toggle.d.ts.map +1 -1
- package/dist/components/Toggle.js +4 -2
- package/dist/components/Toggle.js.map +1 -1
- package/dist/components/ToolCall.d.ts +66 -0
- package/dist/components/ToolCall.d.ts.map +1 -0
- package/dist/components/ToolCall.js +78 -0
- package/dist/components/ToolCall.js.map +1 -0
- package/dist/components/agent-status.d.ts +14 -0
- package/dist/components/agent-status.d.ts.map +1 -0
- package/dist/components/agent-status.js +16 -0
- package/dist/components/agent-status.js.map +1 -0
- package/dist/components/index.d.ts +33 -0
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +16 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/iso-date.d.ts +53 -0
- package/dist/components/iso-date.d.ts.map +1 -0
- package/dist/components/iso-date.js +102 -0
- package/dist/components/iso-date.js.map +1 -0
- package/dist/components/resolve-selection.d.ts +36 -0
- package/dist/components/resolve-selection.d.ts.map +1 -0
- package/dist/components/resolve-selection.js +14 -0
- package/dist/components/resolve-selection.js.map +1 -0
- package/dist/figma-descriptions.json +255 -145
- package/dist/figma-map.json +3205 -1860
- package/dist/meta/Accordion.json +123 -0
- package/dist/meta/AccordionItem.json +90 -0
- package/dist/meta/AgentActivityStep.json +2 -2
- package/dist/meta/Breadcrumb.json +87 -0
- package/dist/meta/BreadcrumbItem.json +78 -0
- package/dist/meta/Checkbox.json +18 -1
- package/dist/meta/Combobox.json +265 -0
- package/dist/meta/DatePicker.json +270 -0
- package/dist/meta/DateRangePicker.json +284 -0
- package/dist/meta/Drawer.json +234 -0
- package/dist/meta/EmptyState.json +1 -1
- package/dist/meta/FileUpload.json +246 -0
- package/dist/meta/Header.json +32 -2
- package/dist/meta/NumberInput.json +407 -0
- package/dist/meta/PhoneInput.json +39 -39
- package/dist/meta/Popover.json +3 -3
- package/dist/meta/ProgressBar.json +166 -0
- package/dist/meta/PromptInput.json +212 -0
- package/dist/meta/SegmentedControl.json +217 -0
- package/dist/meta/SegmentedControlItem.json +122 -0
- package/dist/meta/Select.json +4 -3
- package/dist/meta/Sidebar.json +150 -0
- package/dist/meta/SidebarItem.json +184 -0
- package/dist/meta/SidebarSection.json +131 -0
- package/dist/meta/Skeleton.json +120 -0
- package/dist/meta/Spinner.json +123 -0
- package/dist/meta/Stepper.json +135 -0
- package/dist/meta/StepperStep.json +148 -0
- package/dist/meta/Tabs.json +5 -0
- package/dist/meta/Toggle.json +18 -1
- package/dist/meta/ToolCall.json +192 -0
- package/dist/meta/Tooltip.json +3 -3
- package/dist/meta/components.json +6759 -2705
- package/dist/meta/contrast.json +11075 -3098
- package/dist/meta/index.json +266 -8
- package/dist/meta/patterns/AgentRun.json +27 -0
- package/dist/meta/patterns/Form.json +9 -0
- package/dist/meta/patterns/PageShell.json +43 -3
- package/dist/meta/patterns/Wizard.json +20 -1
- package/dist/meta/patterns/index.json +10 -1
- package/dist/styles/accordion.css +102 -0
- package/dist/styles/breadcrumb.css +72 -0
- package/dist/styles/combobox.css +154 -0
- package/dist/styles/date-picker.css +420 -0
- package/dist/styles/date-range-picker.css +280 -0
- package/dist/styles/drawer.css +181 -0
- package/dist/styles/empty-state.css +16 -4
- package/dist/styles/file-upload.css +236 -0
- package/dist/styles/header.css +26 -0
- package/dist/styles/index.css +23 -0
- package/dist/styles/number-input.css +83 -0
- package/dist/styles/progress-bar.css +107 -0
- package/dist/styles/prompt-input.css +127 -0
- package/dist/styles/segmented-control.css +182 -0
- package/dist/styles/sidebar.css +307 -0
- package/dist/styles/skeleton.css +76 -0
- package/dist/styles/spinner.css +70 -0
- package/dist/styles/stepper.css +250 -0
- package/dist/styles/tool-call.css +202 -0
- package/llms.txt +2 -2
- package/package.json +2 -1
package/dist/meta/index.json
CHANGED
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "ionbase-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.69.0",
|
|
4
4
|
"usage": "Pick a component here, then read dist/meta/<Name>.json for its full contract.",
|
|
5
5
|
"hooks": [
|
|
6
6
|
"useToast"
|
|
7
7
|
],
|
|
8
8
|
"components": {
|
|
9
|
+
"Accordion": {
|
|
10
|
+
"summary": "Sections that collapse, with the document's heading structure intact. Holds the open set and the heading level.",
|
|
11
|
+
"status": "stable",
|
|
12
|
+
"variants": {},
|
|
13
|
+
"detail": "dist/meta/Accordion.json",
|
|
14
|
+
"hasIntent": true
|
|
15
|
+
},
|
|
16
|
+
"AccordionItem": {
|
|
17
|
+
"summary": "One collapsible section: an always-visible title that toggles a region beneath it.",
|
|
18
|
+
"status": "stable",
|
|
19
|
+
"variants": {},
|
|
20
|
+
"detail": "dist/meta/AccordionItem.json",
|
|
21
|
+
"hasIntent": true
|
|
22
|
+
},
|
|
9
23
|
"AgentActivity": {
|
|
10
24
|
"summary": "An ordered, plain-language log of what the agent is doing. Status is text and shape, never colour alone.",
|
|
11
25
|
"status": "stable",
|
|
@@ -184,6 +198,20 @@
|
|
|
184
198
|
"detail": "dist/meta/Badge.json",
|
|
185
199
|
"hasIntent": true
|
|
186
200
|
},
|
|
201
|
+
"Breadcrumb": {
|
|
202
|
+
"summary": "Where this page sits in the hierarchy, and how to get back up. An ordered list inside a named landmark.",
|
|
203
|
+
"status": "stable",
|
|
204
|
+
"variants": {},
|
|
205
|
+
"detail": "dist/meta/Breadcrumb.json",
|
|
206
|
+
"hasIntent": true
|
|
207
|
+
},
|
|
208
|
+
"BreadcrumbItem": {
|
|
209
|
+
"summary": "One crumb. A link to an ancestor, or the current page rendered as text.",
|
|
210
|
+
"status": "stable",
|
|
211
|
+
"variants": {},
|
|
212
|
+
"detail": "dist/meta/BreadcrumbItem.json",
|
|
213
|
+
"hasIntent": true
|
|
214
|
+
},
|
|
187
215
|
"Button": {
|
|
188
216
|
"summary": "Triggers an action in place. Never navigates.",
|
|
189
217
|
"status": "stable",
|
|
@@ -246,6 +274,24 @@
|
|
|
246
274
|
"detail": "dist/meta/CitationListItem.json",
|
|
247
275
|
"hasIntent": true
|
|
248
276
|
},
|
|
277
|
+
"Combobox": {
|
|
278
|
+
"summary": "A text field that filters a list of options down to one selected value.",
|
|
279
|
+
"status": "stable",
|
|
280
|
+
"variants": {
|
|
281
|
+
"size": [
|
|
282
|
+
"sm",
|
|
283
|
+
"md",
|
|
284
|
+
"lg"
|
|
285
|
+
],
|
|
286
|
+
"menuTrigger": [
|
|
287
|
+
"focus",
|
|
288
|
+
"input",
|
|
289
|
+
"manual"
|
|
290
|
+
]
|
|
291
|
+
},
|
|
292
|
+
"detail": "dist/meta/Combobox.json",
|
|
293
|
+
"hasIntent": true
|
|
294
|
+
},
|
|
249
295
|
"ConfidenceIndicator": {
|
|
250
296
|
"summary": "How much to trust the thing next to it — three levels with a required basis, never a percentage.",
|
|
251
297
|
"status": "stable",
|
|
@@ -259,6 +305,32 @@
|
|
|
259
305
|
"detail": "dist/meta/ConfidenceIndicator.json",
|
|
260
306
|
"hasIntent": true
|
|
261
307
|
},
|
|
308
|
+
"DatePicker": {
|
|
309
|
+
"summary": "A segmented date field with a calendar attached, taking and returning a YYYY-MM-DD string.",
|
|
310
|
+
"status": "stable",
|
|
311
|
+
"variants": {
|
|
312
|
+
"size": [
|
|
313
|
+
"sm",
|
|
314
|
+
"md",
|
|
315
|
+
"lg"
|
|
316
|
+
]
|
|
317
|
+
},
|
|
318
|
+
"detail": "dist/meta/DatePicker.json",
|
|
319
|
+
"hasIntent": true
|
|
320
|
+
},
|
|
321
|
+
"DateRangePicker": {
|
|
322
|
+
"summary": "Two segmented date fields sharing one calendar, returning an inclusive { start, end } of YYYY-MM-DD strings.",
|
|
323
|
+
"status": "stable",
|
|
324
|
+
"variants": {
|
|
325
|
+
"size": [
|
|
326
|
+
"sm",
|
|
327
|
+
"md",
|
|
328
|
+
"lg"
|
|
329
|
+
]
|
|
330
|
+
},
|
|
331
|
+
"detail": "dist/meta/DateRangePicker.json",
|
|
332
|
+
"hasIntent": true
|
|
333
|
+
},
|
|
262
334
|
"Divider": {
|
|
263
335
|
"summary": "A semantic thematic break, rendered as a real <hr>.",
|
|
264
336
|
"status": "stable",
|
|
@@ -271,6 +343,25 @@
|
|
|
271
343
|
"detail": "dist/meta/Divider.json",
|
|
272
344
|
"hasIntent": true
|
|
273
345
|
},
|
|
346
|
+
"Drawer": {
|
|
347
|
+
"summary": "A modal panel anchored to an edge. Modal behaviour — focus trap, Escape, scrim — with the shape of a side panel.",
|
|
348
|
+
"status": "stable",
|
|
349
|
+
"variants": {
|
|
350
|
+
"placement": [
|
|
351
|
+
"start",
|
|
352
|
+
"end",
|
|
353
|
+
"top",
|
|
354
|
+
"bottom"
|
|
355
|
+
],
|
|
356
|
+
"size": [
|
|
357
|
+
"sm",
|
|
358
|
+
"md",
|
|
359
|
+
"lg"
|
|
360
|
+
]
|
|
361
|
+
},
|
|
362
|
+
"detail": "dist/meta/Drawer.json",
|
|
363
|
+
"hasIntent": true
|
|
364
|
+
},
|
|
274
365
|
"EmptyState": {
|
|
275
366
|
"summary": "The state a region shows when it has nothing to show, and why — first run, no results, no access, or a failed fetch.",
|
|
276
367
|
"status": "stable",
|
|
@@ -290,6 +381,18 @@
|
|
|
290
381
|
"detail": "dist/meta/EmptyState.json",
|
|
291
382
|
"hasIntent": true
|
|
292
383
|
},
|
|
384
|
+
"FileUpload": {
|
|
385
|
+
"summary": "A drop target wrapped around a real file input, with client-side accept and size checks.",
|
|
386
|
+
"status": "stable",
|
|
387
|
+
"variants": {
|
|
388
|
+
"size": [
|
|
389
|
+
"sm",
|
|
390
|
+
"md"
|
|
391
|
+
]
|
|
392
|
+
},
|
|
393
|
+
"detail": "dist/meta/FileUpload.json",
|
|
394
|
+
"hasIntent": true
|
|
395
|
+
},
|
|
293
396
|
"FullCard": {
|
|
294
397
|
"summary": "A full-bleed row: a text column beside a framed media panel, mirrored by `alignment`.",
|
|
295
398
|
"status": "stable",
|
|
@@ -305,7 +408,12 @@
|
|
|
305
408
|
"Header": {
|
|
306
409
|
"summary": "The page header bar. Renders Figma's Desktop, Tablet, Mobile-Closed and Mobile-Open from one DOM tree.",
|
|
307
410
|
"status": "stable",
|
|
308
|
-
"variants": {
|
|
411
|
+
"variants": {
|
|
412
|
+
"menuType": [
|
|
413
|
+
"dialog",
|
|
414
|
+
"panel"
|
|
415
|
+
]
|
|
416
|
+
},
|
|
309
417
|
"detail": "dist/meta/Header.json",
|
|
310
418
|
"hasIntent": true
|
|
311
419
|
},
|
|
@@ -416,6 +524,19 @@
|
|
|
416
524
|
"detail": "dist/meta/NavItem.json",
|
|
417
525
|
"hasIntent": true
|
|
418
526
|
},
|
|
527
|
+
"NumberInput": {
|
|
528
|
+
"summary": "A quantity field: formats and parses in the user's locale, clamps to bounds, steps with − and + or the arrow keys, and never changes under the scroll wheel unless asked.",
|
|
529
|
+
"status": "stable",
|
|
530
|
+
"variants": {
|
|
531
|
+
"size": [
|
|
532
|
+
"sm",
|
|
533
|
+
"md",
|
|
534
|
+
"lg"
|
|
535
|
+
]
|
|
536
|
+
},
|
|
537
|
+
"detail": "dist/meta/NumberInput.json",
|
|
538
|
+
"hasIntent": true
|
|
539
|
+
},
|
|
419
540
|
"Pagination": {
|
|
420
541
|
"summary": "Page navigation for a table or list. Renders prev/next arrows, a truncated run of page numbers, and an optional rows-per-page Select.",
|
|
421
542
|
"status": "stable",
|
|
@@ -459,10 +580,10 @@
|
|
|
459
580
|
"status": "stable",
|
|
460
581
|
"variants": {
|
|
461
582
|
"placement": [
|
|
462
|
-
"right",
|
|
463
|
-
"left",
|
|
464
583
|
"top",
|
|
465
|
-
"bottom"
|
|
584
|
+
"bottom",
|
|
585
|
+
"right",
|
|
586
|
+
"left"
|
|
466
587
|
],
|
|
467
588
|
"size": [
|
|
468
589
|
"sm",
|
|
@@ -473,6 +594,36 @@
|
|
|
473
594
|
"detail": "dist/meta/Popover.json",
|
|
474
595
|
"hasIntent": true
|
|
475
596
|
},
|
|
597
|
+
"ProgressBar": {
|
|
598
|
+
"summary": "A determinate or indeterminate measure of work, with the name of the work attached. Omitting `value` is what makes it indeterminate.",
|
|
599
|
+
"status": "stable",
|
|
600
|
+
"variants": {
|
|
601
|
+
"intent": [
|
|
602
|
+
"primary",
|
|
603
|
+
"success",
|
|
604
|
+
"warning",
|
|
605
|
+
"error"
|
|
606
|
+
],
|
|
607
|
+
"size": [
|
|
608
|
+
"sm",
|
|
609
|
+
"md"
|
|
610
|
+
]
|
|
611
|
+
},
|
|
612
|
+
"detail": "dist/meta/ProgressBar.json",
|
|
613
|
+
"hasIntent": true
|
|
614
|
+
},
|
|
615
|
+
"PromptInput": {
|
|
616
|
+
"summary": "Where a person writes to an agent: a growing text field, a send control that becomes the stop control while a run is going, and slots for attachments and tools.",
|
|
617
|
+
"status": "stable",
|
|
618
|
+
"variants": {
|
|
619
|
+
"submitKey": [
|
|
620
|
+
"enter",
|
|
621
|
+
"mod-enter"
|
|
622
|
+
]
|
|
623
|
+
},
|
|
624
|
+
"detail": "dist/meta/PromptInput.json",
|
|
625
|
+
"hasIntent": true
|
|
626
|
+
},
|
|
476
627
|
"Radio": {
|
|
477
628
|
"summary": "One option inside a RadioGroup. Meaningless on its own — the group owns the name and the selected value.",
|
|
478
629
|
"status": "stable",
|
|
@@ -516,6 +667,26 @@
|
|
|
516
667
|
"detail": "dist/meta/ScrollProgress.json",
|
|
517
668
|
"hasIntent": true
|
|
518
669
|
},
|
|
670
|
+
"SegmentedControl": {
|
|
671
|
+
"summary": "Pick one of two to five options, all visible at once. A radio group drawn as a segmented track — it sets a value and controls no panel.",
|
|
672
|
+
"status": "stable",
|
|
673
|
+
"variants": {
|
|
674
|
+
"size": [
|
|
675
|
+
"sm",
|
|
676
|
+
"md",
|
|
677
|
+
"lg"
|
|
678
|
+
]
|
|
679
|
+
},
|
|
680
|
+
"detail": "dist/meta/SegmentedControl.json",
|
|
681
|
+
"hasIntent": true
|
|
682
|
+
},
|
|
683
|
+
"SegmentedControlItem": {
|
|
684
|
+
"summary": "One segment: a radio drawn as part of the track, with an optional icon.",
|
|
685
|
+
"status": "stable",
|
|
686
|
+
"variants": {},
|
|
687
|
+
"detail": "dist/meta/SegmentedControlItem.json",
|
|
688
|
+
"hasIntent": true
|
|
689
|
+
},
|
|
519
690
|
"Select": {
|
|
520
691
|
"summary": "A dropdown over a native <select>, with the same label and error wiring as Input.",
|
|
521
692
|
"status": "stable",
|
|
@@ -529,6 +700,78 @@
|
|
|
529
700
|
"detail": "dist/meta/Select.json",
|
|
530
701
|
"hasIntent": true
|
|
531
702
|
},
|
|
703
|
+
"Sidebar": {
|
|
704
|
+
"summary": "An application's navigation as a column: pinned header and footer that take any component, a scrolling body of titled, collapsible sections, and nested items that expand.",
|
|
705
|
+
"status": "stable",
|
|
706
|
+
"variants": {},
|
|
707
|
+
"detail": "dist/meta/Sidebar.json",
|
|
708
|
+
"hasIntent": true
|
|
709
|
+
},
|
|
710
|
+
"SidebarItem": {
|
|
711
|
+
"summary": "One sidebar row: a link or a button, with an icon, a count, actions revealed on hover or focus, and nested items that expand.",
|
|
712
|
+
"status": "stable",
|
|
713
|
+
"variants": {},
|
|
714
|
+
"detail": "dist/meta/SidebarItem.json",
|
|
715
|
+
"hasIntent": true
|
|
716
|
+
},
|
|
717
|
+
"SidebarSection": {
|
|
718
|
+
"summary": "A group of sidebar items under an optional title, which can fold away and carry its own actions.",
|
|
719
|
+
"status": "stable",
|
|
720
|
+
"variants": {},
|
|
721
|
+
"detail": "dist/meta/SidebarSection.json",
|
|
722
|
+
"hasIntent": true
|
|
723
|
+
},
|
|
724
|
+
"Skeleton": {
|
|
725
|
+
"summary": "The shape of content that has not arrived. Always hidden from assistive technology — the caller owns the announcement.",
|
|
726
|
+
"status": "stable",
|
|
727
|
+
"variants": {
|
|
728
|
+
"variant": [
|
|
729
|
+
"circle",
|
|
730
|
+
"text",
|
|
731
|
+
"rect"
|
|
732
|
+
]
|
|
733
|
+
},
|
|
734
|
+
"detail": "dist/meta/Skeleton.json",
|
|
735
|
+
"hasIntent": true
|
|
736
|
+
},
|
|
737
|
+
"Spinner": {
|
|
738
|
+
"summary": "An indeterminate wait, announced once. A ring plus a politely-announced label, sized off the icon ramp.",
|
|
739
|
+
"status": "stable",
|
|
740
|
+
"variants": {
|
|
741
|
+
"size": [
|
|
742
|
+
"sm",
|
|
743
|
+
"md",
|
|
744
|
+
"lg"
|
|
745
|
+
]
|
|
746
|
+
},
|
|
747
|
+
"detail": "dist/meta/Spinner.json",
|
|
748
|
+
"hasIntent": true
|
|
749
|
+
},
|
|
750
|
+
"Stepper": {
|
|
751
|
+
"summary": "Where the user is in a task that has an order. An ordered list of steps, each stating its position and status in text.",
|
|
752
|
+
"status": "stable",
|
|
753
|
+
"variants": {
|
|
754
|
+
"orientation": [
|
|
755
|
+
"horizontal",
|
|
756
|
+
"vertical"
|
|
757
|
+
]
|
|
758
|
+
},
|
|
759
|
+
"detail": "dist/meta/Stepper.json",
|
|
760
|
+
"hasIntent": true
|
|
761
|
+
},
|
|
762
|
+
"StepperStep": {
|
|
763
|
+
"summary": "One step in a Stepper: a numbered indicator, a name, and a status carried by shape and text as well as colour.",
|
|
764
|
+
"status": "stable",
|
|
765
|
+
"variants": {
|
|
766
|
+
"status": [
|
|
767
|
+
"error",
|
|
768
|
+
"incomplete",
|
|
769
|
+
"complete"
|
|
770
|
+
]
|
|
771
|
+
},
|
|
772
|
+
"detail": "dist/meta/StepperStep.json",
|
|
773
|
+
"hasIntent": true
|
|
774
|
+
},
|
|
532
775
|
"StreamingText": {
|
|
533
776
|
"summary": "Model output arriving a token at a time, in a container that does not move. Deliberately not a live region.",
|
|
534
777
|
"status": "stable",
|
|
@@ -690,15 +933,30 @@
|
|
|
690
933
|
"detail": "dist/meta/Toggle.json",
|
|
691
934
|
"hasIntent": true
|
|
692
935
|
},
|
|
936
|
+
"ToolCall": {
|
|
937
|
+
"summary": "The evidence behind one step of an agent run: which tool, with what input, and what came back — collapsed by default, with any failure shown without a click.",
|
|
938
|
+
"status": "stable",
|
|
939
|
+
"variants": {
|
|
940
|
+
"status": [
|
|
941
|
+
"pending",
|
|
942
|
+
"active",
|
|
943
|
+
"done",
|
|
944
|
+
"failed",
|
|
945
|
+
"skipped"
|
|
946
|
+
]
|
|
947
|
+
},
|
|
948
|
+
"detail": "dist/meta/ToolCall.json",
|
|
949
|
+
"hasIntent": true
|
|
950
|
+
},
|
|
693
951
|
"Tooltip": {
|
|
694
952
|
"summary": "A text-only hint attached to a trigger. Opens on hover and on focus.",
|
|
695
953
|
"status": "stable",
|
|
696
954
|
"variants": {
|
|
697
955
|
"placement": [
|
|
698
|
-
"right",
|
|
699
|
-
"left",
|
|
700
956
|
"top",
|
|
701
|
-
"bottom"
|
|
957
|
+
"bottom",
|
|
958
|
+
"right",
|
|
959
|
+
"left"
|
|
702
960
|
]
|
|
703
961
|
},
|
|
704
962
|
"detail": "dist/meta/Tooltip.json",
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
"AgentActivity",
|
|
11
11
|
"AgentActivityStep",
|
|
12
12
|
"AgentStop",
|
|
13
|
+
"PromptInput",
|
|
14
|
+
"ToolCall",
|
|
13
15
|
"StreamingText",
|
|
14
16
|
"Alert",
|
|
15
17
|
"Badge"
|
|
@@ -18,6 +20,8 @@
|
|
|
18
20
|
"A header row carrying the task name and the AgentStop control. The stop is the first thing on screen and it stays there for the whole run.",
|
|
19
21
|
"An AgentActivity list of AgentActivityStep, one per step, in the order they happened. Exactly one step is `active` at a time.",
|
|
20
22
|
"The result below the log, in a StreamingText with `isStreaming` true until the run ends.",
|
|
23
|
+
"A ToolCall under any step that called a tool, collapsed, with the same `status` as its step. The step is the account; the ToolCall is the evidence for it.",
|
|
24
|
+
"When the run was started from a PromptInput, that composer's `isRunning` stop IS the run's AgentStop. Render one stop control, not two.",
|
|
21
25
|
"An Alert only when the run fails or is stopped — not for ordinary progress, which the step log already carries."
|
|
22
26
|
],
|
|
23
27
|
"states": {
|
|
@@ -53,6 +57,21 @@
|
|
|
53
57
|
"size",
|
|
54
58
|
"stopOnEscape"
|
|
55
59
|
],
|
|
60
|
+
"PromptInput": [
|
|
61
|
+
"label",
|
|
62
|
+
"onSubmit",
|
|
63
|
+
"isRunning",
|
|
64
|
+
"onStop",
|
|
65
|
+
"isStopping"
|
|
66
|
+
],
|
|
67
|
+
"ToolCall": [
|
|
68
|
+
"title",
|
|
69
|
+
"name",
|
|
70
|
+
"status",
|
|
71
|
+
"input",
|
|
72
|
+
"output",
|
|
73
|
+
"errorMessage"
|
|
74
|
+
],
|
|
56
75
|
"StreamingText": [
|
|
57
76
|
"isStreaming",
|
|
58
77
|
"minLines",
|
|
@@ -84,6 +103,14 @@
|
|
|
84
103
|
"md"
|
|
85
104
|
]
|
|
86
105
|
},
|
|
106
|
+
"ToolCall": {
|
|
107
|
+
"status": [
|
|
108
|
+
"active",
|
|
109
|
+
"done",
|
|
110
|
+
"failed",
|
|
111
|
+
"skipped"
|
|
112
|
+
]
|
|
113
|
+
},
|
|
87
114
|
"Alert": {
|
|
88
115
|
"intent": [
|
|
89
116
|
"error",
|
|
@@ -13,6 +13,7 @@
|
|
|
13
13
|
"RadioGroup",
|
|
14
14
|
"Toggle",
|
|
15
15
|
"PhoneInput",
|
|
16
|
+
"NumberInput",
|
|
16
17
|
"Button",
|
|
17
18
|
"Alert",
|
|
18
19
|
"Divider"
|
|
@@ -44,6 +45,14 @@
|
|
|
44
45
|
}
|
|
45
46
|
},
|
|
46
47
|
"propsUsed": {
|
|
48
|
+
"NumberInput": [
|
|
49
|
+
"label",
|
|
50
|
+
"minValue",
|
|
51
|
+
"maxValue",
|
|
52
|
+
"formatOptions",
|
|
53
|
+
"isInvalid",
|
|
54
|
+
"errorMessage"
|
|
55
|
+
],
|
|
47
56
|
"Input": [
|
|
48
57
|
"label",
|
|
49
58
|
"description",
|
|
@@ -7,6 +7,10 @@
|
|
|
7
7
|
"composes": [
|
|
8
8
|
"Header",
|
|
9
9
|
"NavItem",
|
|
10
|
+
"Sidebar",
|
|
11
|
+
"SidebarSection",
|
|
12
|
+
"SidebarItem",
|
|
13
|
+
"Drawer",
|
|
10
14
|
"Logo",
|
|
11
15
|
"LogoMark",
|
|
12
16
|
"Avatar",
|
|
@@ -18,7 +22,8 @@
|
|
|
18
22
|
"Header at the top with the brand in `brand`, primary navigation in `center` and account actions in `end`.",
|
|
19
23
|
"One <main> content region, named, holding the page's own heading as its h1.",
|
|
20
24
|
"ToastProvider mounted once around the whole shell, not per route.",
|
|
21
|
-
"Breadcrumbs, when present, sit inside <main> above the h1 — they describe where the content is, not where the chrome is."
|
|
25
|
+
"Breadcrumbs, when present, sit inside <main> above the h1 — they describe where the content is, not where the chrome is.",
|
|
26
|
+
"When navigation is hierarchical or longer than a header row holds, a Sidebar replaces the NavItems in Header's `center`: Header keeps the brand and account actions, and the Sidebar sits beside <main> as the primary navigation. Below the tablet breakpoint the same Sidebar moves into a Drawer opened by Header's own toggle with `menuType=\"dialog\"` — one copy, not two, and one menu button."
|
|
22
27
|
],
|
|
23
28
|
"states": {
|
|
24
29
|
"loading": {
|
|
@@ -41,13 +46,38 @@
|
|
|
41
46
|
"end",
|
|
42
47
|
"open",
|
|
43
48
|
"onOpenChange",
|
|
44
|
-
"menuLabel"
|
|
49
|
+
"menuLabel",
|
|
50
|
+
"menuType"
|
|
45
51
|
],
|
|
46
52
|
"NavItem": [
|
|
47
53
|
"icon",
|
|
48
54
|
"showChevron",
|
|
49
55
|
"href"
|
|
50
56
|
],
|
|
57
|
+
"Sidebar": [
|
|
58
|
+
"label",
|
|
59
|
+
"header",
|
|
60
|
+
"footer"
|
|
61
|
+
],
|
|
62
|
+
"SidebarSection": [
|
|
63
|
+
"title",
|
|
64
|
+
"isCollapsible",
|
|
65
|
+
"actions"
|
|
66
|
+
],
|
|
67
|
+
"SidebarItem": [
|
|
68
|
+
"label",
|
|
69
|
+
"icon",
|
|
70
|
+
"href",
|
|
71
|
+
"isCurrent",
|
|
72
|
+
"badge",
|
|
73
|
+
"actions"
|
|
74
|
+
],
|
|
75
|
+
"Drawer": [
|
|
76
|
+
"isOpen",
|
|
77
|
+
"onOpenChange",
|
|
78
|
+
"title",
|
|
79
|
+
"placement"
|
|
80
|
+
],
|
|
51
81
|
"ToastProvider": [
|
|
52
82
|
"placement",
|
|
53
83
|
"limit"
|
|
@@ -66,6 +96,11 @@
|
|
|
66
96
|
"placement": [
|
|
67
97
|
"top-right"
|
|
68
98
|
]
|
|
99
|
+
},
|
|
100
|
+
"Header": {
|
|
101
|
+
"menuType": [
|
|
102
|
+
"dialog"
|
|
103
|
+
]
|
|
69
104
|
}
|
|
70
105
|
},
|
|
71
106
|
"a11y": {
|
|
@@ -73,7 +108,8 @@
|
|
|
73
108
|
"`menuLabel` on Header — the mobile toggle is icon-only",
|
|
74
109
|
"a <nav> with its own accessible name wrapping the NavItems; Header supplies the banner landmark, not the navigation one",
|
|
75
110
|
"exactly one <main>, and exactly one h1 inside it",
|
|
76
|
-
"`aria-current=\"page\"` on the NavItem for the current route — colour alone does not tell a screen-reader user where they are"
|
|
111
|
+
"`aria-current=\"page\"` on the NavItem for the current route — colour alone does not tell a screen-reader user where they are",
|
|
112
|
+
"with a Sidebar, `isCurrent` on the SidebarItem for the current route, and a Sidebar `label` distinct from any other nav on the page"
|
|
77
113
|
],
|
|
78
114
|
"notes": [
|
|
79
115
|
"The desktop/tablet/mobile switch is a media query inside Header. Do not duplicate that decision in React state."
|
|
@@ -88,6 +124,10 @@
|
|
|
88
124
|
"dont": "the page title as an h2 because the logo is an h1",
|
|
89
125
|
"why": "the brand is not a heading; the page's subject is"
|
|
90
126
|
},
|
|
127
|
+
{
|
|
128
|
+
"dont": "a Sidebar AND the same destinations as NavItems in Header",
|
|
129
|
+
"why": "two navigation landmarks listing the same pages double every link a screen-reader user tabs through"
|
|
130
|
+
},
|
|
91
131
|
{
|
|
92
132
|
"dont": "rendering a second nav for mobile",
|
|
93
133
|
"why": "Header moves the one copy, and two copies duplicate every link in the accessibility tree"
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
"the whole task is too long to present as one form without abandonment"
|
|
7
7
|
],
|
|
8
8
|
"composes": [
|
|
9
|
+
"Stepper",
|
|
10
|
+
"StepperStep",
|
|
9
11
|
"Button",
|
|
10
12
|
"Input",
|
|
11
13
|
"Select",
|
|
@@ -18,7 +20,7 @@
|
|
|
18
20
|
"Modal"
|
|
19
21
|
],
|
|
20
22
|
"structure": [
|
|
21
|
-
"A
|
|
23
|
+
"A Stepper naming every step and marking the current one — not Tabs, because the steps are not peers and cannot be visited in any order. Completed steps link back; incomplete ones do not.",
|
|
22
24
|
"One step's fields at a time, each step a Form in its own right.",
|
|
23
25
|
"Back and Next, plus save-and-exit for anything longer than three steps.",
|
|
24
26
|
"A final review step listing every answer with a link back to the step that set it."
|
|
@@ -42,6 +44,16 @@
|
|
|
42
44
|
}
|
|
43
45
|
},
|
|
44
46
|
"propsUsed": {
|
|
47
|
+
"Stepper": [
|
|
48
|
+
"label",
|
|
49
|
+
"orientation"
|
|
50
|
+
],
|
|
51
|
+
"StepperStep": [
|
|
52
|
+
"status",
|
|
53
|
+
"isCurrent",
|
|
54
|
+
"onPress",
|
|
55
|
+
"description"
|
|
56
|
+
],
|
|
45
57
|
"Button": [
|
|
46
58
|
"variant",
|
|
47
59
|
"size",
|
|
@@ -78,6 +90,13 @@
|
|
|
78
90
|
]
|
|
79
91
|
},
|
|
80
92
|
"variantsUsed": {
|
|
93
|
+
"StepperStep": {
|
|
94
|
+
"status": [
|
|
95
|
+
"incomplete",
|
|
96
|
+
"complete",
|
|
97
|
+
"error"
|
|
98
|
+
]
|
|
99
|
+
},
|
|
81
100
|
"Button": {
|
|
82
101
|
"variant": [
|
|
83
102
|
"primary-brand",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"package": "ionbase-ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.69.0",
|
|
4
4
|
"usage": "A pattern is a documented composition of components, not a component. Read one here, then read the contracts of what it composes.",
|
|
5
5
|
"patterns": {
|
|
6
6
|
"AgentRun": {
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
"AgentActivity",
|
|
10
10
|
"AgentActivityStep",
|
|
11
11
|
"AgentStop",
|
|
12
|
+
"PromptInput",
|
|
13
|
+
"ToolCall",
|
|
12
14
|
"StreamingText",
|
|
13
15
|
"Alert",
|
|
14
16
|
"Badge"
|
|
@@ -89,6 +91,7 @@
|
|
|
89
91
|
"RadioGroup",
|
|
90
92
|
"Toggle",
|
|
91
93
|
"PhoneInput",
|
|
94
|
+
"NumberInput",
|
|
92
95
|
"Button",
|
|
93
96
|
"Alert",
|
|
94
97
|
"Divider"
|
|
@@ -123,6 +126,10 @@
|
|
|
123
126
|
"composes": [
|
|
124
127
|
"Header",
|
|
125
128
|
"NavItem",
|
|
129
|
+
"Sidebar",
|
|
130
|
+
"SidebarSection",
|
|
131
|
+
"SidebarItem",
|
|
132
|
+
"Drawer",
|
|
126
133
|
"Logo",
|
|
127
134
|
"LogoMark",
|
|
128
135
|
"Avatar",
|
|
@@ -164,6 +171,8 @@
|
|
|
164
171
|
"Wizard": {
|
|
165
172
|
"summary": "A sequence of steps with per-step validation, where progress survives leaving.",
|
|
166
173
|
"composes": [
|
|
174
|
+
"Stepper",
|
|
175
|
+
"StepperStep",
|
|
167
176
|
"Button",
|
|
168
177
|
"Input",
|
|
169
178
|
"Select",
|