@adia-ai/a2ui-corpus 0.3.3 → 0.3.5
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/CHANGELOG.md +35 -0
- package/catalog-a2ui_0_9.json +1203 -156
- package/catalog-a2ui_0_9_rules.txt +50 -0
- package/package.json +1 -1
package/catalog-a2ui_0_9.json
CHANGED
|
@@ -317,6 +317,725 @@
|
|
|
317
317
|
"version": 1
|
|
318
318
|
}
|
|
319
319
|
},
|
|
320
|
+
"AdminCommand": {
|
|
321
|
+
"title": "AdminCommand",
|
|
322
|
+
"description": "Module-tier command palette wrapper — wraps a native <dialog> and the\ninner <command-ui>. Owns the keyboard shortcut listener, focus\nmanagement, and dismiss handlers. Reflects [open].\n\nSits inside <admin-shell> as a direct child. The host wires\n[data-command-trigger] elements to <admin-command>.show() via lookup.\n\nThis is the bespoke web-component replacement for the legacy\n<dialog data-command> shape. <admin-shell> still recognizes the\nlegacy shape via :is() selector. New code should prefer <admin-command>.\n",
|
|
323
|
+
"type": "object",
|
|
324
|
+
"allOf": [
|
|
325
|
+
{
|
|
326
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
327
|
+
},
|
|
328
|
+
{
|
|
329
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
330
|
+
}
|
|
331
|
+
],
|
|
332
|
+
"properties": {
|
|
333
|
+
"component": {
|
|
334
|
+
"const": "AdminCommand"
|
|
335
|
+
},
|
|
336
|
+
"no-shortcut": {
|
|
337
|
+
"description": "Opts out of the keyboard listener entirely. Use when the host\nwires its own shortcut handling, or when the palette should be\nmouse-only.\n",
|
|
338
|
+
"type": "boolean",
|
|
339
|
+
"default": false
|
|
340
|
+
},
|
|
341
|
+
"open": {
|
|
342
|
+
"description": "Reflected — set while the dialog is showing. Synced with both\nprogrammatic .show()/.hide() and native dialog close events\n(esc key, backdrop click).\n",
|
|
343
|
+
"type": "boolean",
|
|
344
|
+
"default": false
|
|
345
|
+
},
|
|
346
|
+
"shortcut": {
|
|
347
|
+
"description": "Keyboard shortcut binding. \"cmd+k\" responds only on Mac\n(metaKey); \"ctrl+k\" responds only when ctrlKey; \"both\" (default)\nresponds to either, which is the canonical AdiaUI behavior for\ncross-platform Cmd+K affordance.\n",
|
|
348
|
+
"type": "string",
|
|
349
|
+
"enum": [
|
|
350
|
+
"both",
|
|
351
|
+
"cmd+k",
|
|
352
|
+
"ctrl+k"
|
|
353
|
+
],
|
|
354
|
+
"default": "both"
|
|
355
|
+
}
|
|
356
|
+
},
|
|
357
|
+
"required": [
|
|
358
|
+
"component"
|
|
359
|
+
],
|
|
360
|
+
"unevaluatedProperties": false,
|
|
361
|
+
"x-adiaui": {
|
|
362
|
+
"anti_patterns": [],
|
|
363
|
+
"category": "interaction",
|
|
364
|
+
"events": {
|
|
365
|
+
"command-select": {
|
|
366
|
+
"description": "Forwarded from the inner <command-ui> when an option is chosen. Detail mirrors the inner event's detail.",
|
|
367
|
+
"detail": {
|
|
368
|
+
"value": "string"
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
},
|
|
372
|
+
"examples": [],
|
|
373
|
+
"keywords": [
|
|
374
|
+
"admin-command",
|
|
375
|
+
"command-palette",
|
|
376
|
+
"palette",
|
|
377
|
+
"cmd-k",
|
|
378
|
+
"keyboard-shortcut",
|
|
379
|
+
"quickaction"
|
|
380
|
+
],
|
|
381
|
+
"name": "AdminCommand",
|
|
382
|
+
"related": [
|
|
383
|
+
"AdminShell",
|
|
384
|
+
"AdminSidebar",
|
|
385
|
+
"Command"
|
|
386
|
+
],
|
|
387
|
+
"slots": {
|
|
388
|
+
"default": {
|
|
389
|
+
"description": "Default slot — the inner <command-ui> (and any other content inside the dialog). Authors typically place exactly one <command-ui placeholder=\"…\">."
|
|
390
|
+
}
|
|
391
|
+
},
|
|
392
|
+
"states": [
|
|
393
|
+
{
|
|
394
|
+
"description": "Default, palette closed.",
|
|
395
|
+
"name": "idle"
|
|
396
|
+
},
|
|
397
|
+
{
|
|
398
|
+
"description": "Dialog is showing; first input has focus.",
|
|
399
|
+
"attribute": "open",
|
|
400
|
+
"name": "open"
|
|
401
|
+
}
|
|
402
|
+
],
|
|
403
|
+
"synonyms": {
|
|
404
|
+
"cmd-k": [
|
|
405
|
+
"ctrl-k",
|
|
406
|
+
"command-shortcut"
|
|
407
|
+
],
|
|
408
|
+
"command-palette": [
|
|
409
|
+
"palette",
|
|
410
|
+
"quick-action",
|
|
411
|
+
"omnibox"
|
|
412
|
+
]
|
|
413
|
+
},
|
|
414
|
+
"tag": "admin-command",
|
|
415
|
+
"tokens": {},
|
|
416
|
+
"traits": [],
|
|
417
|
+
"version": 1
|
|
418
|
+
}
|
|
419
|
+
},
|
|
420
|
+
"AdminContent": {
|
|
421
|
+
"title": "AdminContent",
|
|
422
|
+
"description": "Module-tier shell main-column container. CSS-only — no behavior, no\nJS. Sits inside <admin-shell> as the center column between leading\nand trailing sidebars. Authors compose chrome bars + scroll surface\nvia slot vocabulary.\n\nThis is the bespoke replacement for the legacy raw <main> element\ninside admin-shell. Both shapes still render correctly per ADR-0023\nPhase 1 backwards-compat; new code should prefer <admin-content>.\n",
|
|
423
|
+
"type": "object",
|
|
424
|
+
"allOf": [
|
|
425
|
+
{
|
|
426
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
427
|
+
},
|
|
428
|
+
{
|
|
429
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
430
|
+
}
|
|
431
|
+
],
|
|
432
|
+
"properties": {
|
|
433
|
+
"component": {
|
|
434
|
+
"const": "AdminContent"
|
|
435
|
+
}
|
|
436
|
+
},
|
|
437
|
+
"required": [
|
|
438
|
+
"component"
|
|
439
|
+
],
|
|
440
|
+
"unevaluatedProperties": false,
|
|
441
|
+
"x-adiaui": {
|
|
442
|
+
"anti_patterns": [],
|
|
443
|
+
"category": "layout",
|
|
444
|
+
"events": {},
|
|
445
|
+
"examples": [],
|
|
446
|
+
"keywords": [
|
|
447
|
+
"admin-content",
|
|
448
|
+
"main",
|
|
449
|
+
"center-column",
|
|
450
|
+
"workspace"
|
|
451
|
+
],
|
|
452
|
+
"name": "AdminContent",
|
|
453
|
+
"related": [
|
|
454
|
+
"AdminShell",
|
|
455
|
+
"AdminSidebar",
|
|
456
|
+
"AdminTopbar",
|
|
457
|
+
"AdminStatusbar",
|
|
458
|
+
"AdminScroll",
|
|
459
|
+
"AdminPage"
|
|
460
|
+
],
|
|
461
|
+
"slots": {
|
|
462
|
+
"default": {
|
|
463
|
+
"description": "Default content — typically <admin-topbar slot=\"header\">, an <admin-scroll> wrapping content, and an optional <admin-statusbar slot=\"footer\">."
|
|
464
|
+
},
|
|
465
|
+
"footer": {
|
|
466
|
+
"description": "Bottom chrome bar — typically <admin-statusbar>."
|
|
467
|
+
},
|
|
468
|
+
"header": {
|
|
469
|
+
"description": "Top chrome bar — typically <admin-topbar>."
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
"states": [
|
|
473
|
+
{
|
|
474
|
+
"description": "Default, the only state.",
|
|
475
|
+
"name": "idle"
|
|
476
|
+
}
|
|
477
|
+
],
|
|
478
|
+
"synonyms": {
|
|
479
|
+
"main": [
|
|
480
|
+
"content",
|
|
481
|
+
"center",
|
|
482
|
+
"workspace"
|
|
483
|
+
]
|
|
484
|
+
},
|
|
485
|
+
"tag": "admin-content",
|
|
486
|
+
"tokens": {},
|
|
487
|
+
"traits": [],
|
|
488
|
+
"version": 1
|
|
489
|
+
}
|
|
490
|
+
},
|
|
491
|
+
"AdminPage": {
|
|
492
|
+
"title": "AdminPage",
|
|
493
|
+
"description": "Module-tier page wrapper. CSS-only — no behavior, no JS. Provides\nthe page-content-root container query (named `page-content`) so\ndescendants can adapt to available content width (sidebars expanded\nvs collapsed) instead of viewport width. Stamps the sticky-band\nlayout: <admin-page-header> + <admin-page-body> + optional footer.\n\nReplaces the legacy <article data-content-root> shape per ADR-0023.\n",
|
|
494
|
+
"type": "object",
|
|
495
|
+
"allOf": [
|
|
496
|
+
{
|
|
497
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
498
|
+
},
|
|
499
|
+
{
|
|
500
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
501
|
+
}
|
|
502
|
+
],
|
|
503
|
+
"properties": {
|
|
504
|
+
"component": {
|
|
505
|
+
"const": "AdminPage"
|
|
506
|
+
}
|
|
507
|
+
},
|
|
508
|
+
"required": [
|
|
509
|
+
"component"
|
|
510
|
+
],
|
|
511
|
+
"unevaluatedProperties": false,
|
|
512
|
+
"x-adiaui": {
|
|
513
|
+
"anti_patterns": [],
|
|
514
|
+
"category": "layout",
|
|
515
|
+
"events": {},
|
|
516
|
+
"examples": [],
|
|
517
|
+
"keywords": [
|
|
518
|
+
"admin-page",
|
|
519
|
+
"page-content",
|
|
520
|
+
"container-query-host"
|
|
521
|
+
],
|
|
522
|
+
"name": "AdminPage",
|
|
523
|
+
"related": [
|
|
524
|
+
"AdminShell",
|
|
525
|
+
"AdminContent",
|
|
526
|
+
"AdminScroll",
|
|
527
|
+
"AdminPageHeader",
|
|
528
|
+
"AdminPageBody"
|
|
529
|
+
],
|
|
530
|
+
"slots": {
|
|
531
|
+
"default": {
|
|
532
|
+
"description": "Default — typically <admin-page-header> + <admin-page-body>."
|
|
533
|
+
},
|
|
534
|
+
"body": {
|
|
535
|
+
"description": "Centered reading column (alternate slot for the body band)."
|
|
536
|
+
},
|
|
537
|
+
"footer": {
|
|
538
|
+
"description": "Sticky bottom band."
|
|
539
|
+
},
|
|
540
|
+
"header": {
|
|
541
|
+
"description": "Sticky top band (alternate slot for the header band)."
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
"states": [
|
|
545
|
+
{
|
|
546
|
+
"description": "Default, the only state.",
|
|
547
|
+
"name": "idle"
|
|
548
|
+
}
|
|
549
|
+
],
|
|
550
|
+
"synonyms": {
|
|
551
|
+
"page-content": [
|
|
552
|
+
"content-area",
|
|
553
|
+
"content-root",
|
|
554
|
+
"document-region"
|
|
555
|
+
]
|
|
556
|
+
},
|
|
557
|
+
"tag": "admin-page",
|
|
558
|
+
"tokens": {},
|
|
559
|
+
"traits": [],
|
|
560
|
+
"version": 1
|
|
561
|
+
}
|
|
562
|
+
},
|
|
563
|
+
"AdminPageBody": {
|
|
564
|
+
"title": "AdminPageBody",
|
|
565
|
+
"description": "Module-tier page-body band. CSS-only — no behavior, no JS.\nScrollable centered body inside <admin-page>. Owns full-width\nscroll sizing; wraps an inner <section-ui> or raw <section> for\nthe centered reading column.\n",
|
|
566
|
+
"type": "object",
|
|
567
|
+
"allOf": [
|
|
568
|
+
{
|
|
569
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
570
|
+
},
|
|
571
|
+
{
|
|
572
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
573
|
+
}
|
|
574
|
+
],
|
|
575
|
+
"properties": {
|
|
576
|
+
"component": {
|
|
577
|
+
"const": "AdminPageBody"
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
"required": [
|
|
581
|
+
"component"
|
|
582
|
+
],
|
|
583
|
+
"unevaluatedProperties": false,
|
|
584
|
+
"x-adiaui": {
|
|
585
|
+
"anti_patterns": [],
|
|
586
|
+
"category": "layout",
|
|
587
|
+
"events": {},
|
|
588
|
+
"examples": [],
|
|
589
|
+
"keywords": [
|
|
590
|
+
"admin-page-body",
|
|
591
|
+
"page-body",
|
|
592
|
+
"centered-body"
|
|
593
|
+
],
|
|
594
|
+
"name": "AdminPageBody",
|
|
595
|
+
"related": [
|
|
596
|
+
"AdminPage",
|
|
597
|
+
"AdminPageHeader",
|
|
598
|
+
"Section"
|
|
599
|
+
],
|
|
600
|
+
"slots": {
|
|
601
|
+
"default": {
|
|
602
|
+
"description": "Default — typically <section-ui> or <section> with the page content. Full-bleed content (iframes, split panes) can sit directly here to opt out of the centered column."
|
|
603
|
+
}
|
|
604
|
+
},
|
|
605
|
+
"states": [
|
|
606
|
+
{
|
|
607
|
+
"description": "Default, the only state.",
|
|
608
|
+
"name": "idle"
|
|
609
|
+
}
|
|
610
|
+
],
|
|
611
|
+
"synonyms": {
|
|
612
|
+
"page-body": [
|
|
613
|
+
"content-body",
|
|
614
|
+
"document-body"
|
|
615
|
+
]
|
|
616
|
+
},
|
|
617
|
+
"tag": "admin-page-body",
|
|
618
|
+
"tokens": {},
|
|
619
|
+
"traits": [],
|
|
620
|
+
"version": 1
|
|
621
|
+
}
|
|
622
|
+
},
|
|
623
|
+
"AdminPageHeader": {
|
|
624
|
+
"title": "AdminPageHeader",
|
|
625
|
+
"description": "Module-tier page-header band. CSS-only — no behavior, no JS.\nSticky top band inside <admin-page>. Owns full-width concerns\n(sticky position, border-bottom, background); wraps an inner\n<header-ui> or raw <header> for the centered reading column\n(max-width, gutter, rhythm).\n",
|
|
626
|
+
"type": "object",
|
|
627
|
+
"allOf": [
|
|
628
|
+
{
|
|
629
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
630
|
+
},
|
|
631
|
+
{
|
|
632
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
633
|
+
}
|
|
634
|
+
],
|
|
635
|
+
"properties": {
|
|
636
|
+
"component": {
|
|
637
|
+
"const": "AdminPageHeader"
|
|
638
|
+
}
|
|
639
|
+
},
|
|
640
|
+
"required": [
|
|
641
|
+
"component"
|
|
642
|
+
],
|
|
643
|
+
"unevaluatedProperties": false,
|
|
644
|
+
"x-adiaui": {
|
|
645
|
+
"anti_patterns": [],
|
|
646
|
+
"category": "layout",
|
|
647
|
+
"events": {},
|
|
648
|
+
"examples": [],
|
|
649
|
+
"keywords": [
|
|
650
|
+
"admin-page-header",
|
|
651
|
+
"sticky-header",
|
|
652
|
+
"page-band"
|
|
653
|
+
],
|
|
654
|
+
"name": "AdminPageHeader",
|
|
655
|
+
"related": [
|
|
656
|
+
"AdminPage",
|
|
657
|
+
"AdminPageBody",
|
|
658
|
+
"Header"
|
|
659
|
+
],
|
|
660
|
+
"slots": {
|
|
661
|
+
"default": {
|
|
662
|
+
"description": "Default — typically <header-ui> or <header> with title + actions."
|
|
663
|
+
}
|
|
664
|
+
},
|
|
665
|
+
"states": [
|
|
666
|
+
{
|
|
667
|
+
"description": "Default, the only state.",
|
|
668
|
+
"name": "idle"
|
|
669
|
+
}
|
|
670
|
+
],
|
|
671
|
+
"synonyms": {
|
|
672
|
+
"sticky-header": [
|
|
673
|
+
"page-titlebar",
|
|
674
|
+
"top-band"
|
|
675
|
+
]
|
|
676
|
+
},
|
|
677
|
+
"tag": "admin-page-header",
|
|
678
|
+
"tokens": {},
|
|
679
|
+
"traits": [],
|
|
680
|
+
"version": 1
|
|
681
|
+
}
|
|
682
|
+
},
|
|
683
|
+
"AdminScroll": {
|
|
684
|
+
"title": "AdminScroll",
|
|
685
|
+
"description": "Module-tier shell scroll surface. CSS-only — no behavior, no JS.\nSits inside <admin-content> as the central scrollable region.\nSingle-axis scroll (vertical), scroll-contained so wheel/touch\nevents don't propagate to the document.\n\nReplaces the legacy <section> child of <main> at shell-tier per\nADR-0023.\n",
|
|
686
|
+
"type": "object",
|
|
687
|
+
"allOf": [
|
|
688
|
+
{
|
|
689
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
690
|
+
},
|
|
691
|
+
{
|
|
692
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
693
|
+
}
|
|
694
|
+
],
|
|
695
|
+
"properties": {
|
|
696
|
+
"component": {
|
|
697
|
+
"const": "AdminScroll"
|
|
698
|
+
}
|
|
699
|
+
},
|
|
700
|
+
"required": [
|
|
701
|
+
"component"
|
|
702
|
+
],
|
|
703
|
+
"unevaluatedProperties": false,
|
|
704
|
+
"x-adiaui": {
|
|
705
|
+
"anti_patterns": [],
|
|
706
|
+
"category": "layout",
|
|
707
|
+
"events": {},
|
|
708
|
+
"examples": [],
|
|
709
|
+
"keywords": [
|
|
710
|
+
"admin-scroll",
|
|
711
|
+
"scroll-region",
|
|
712
|
+
"scroll-container"
|
|
713
|
+
],
|
|
714
|
+
"name": "AdminScroll",
|
|
715
|
+
"related": [
|
|
716
|
+
"AdminShell",
|
|
717
|
+
"AdminContent",
|
|
718
|
+
"AdminPage"
|
|
719
|
+
],
|
|
720
|
+
"slots": {
|
|
721
|
+
"default": {
|
|
722
|
+
"description": "Scrollable content — typically <admin-page> wrapping the page-tier sticky bands + body."
|
|
723
|
+
}
|
|
724
|
+
},
|
|
725
|
+
"states": [
|
|
726
|
+
{
|
|
727
|
+
"description": "Default, the only state.",
|
|
728
|
+
"name": "idle"
|
|
729
|
+
}
|
|
730
|
+
],
|
|
731
|
+
"synonyms": {
|
|
732
|
+
"scroll-region": [
|
|
733
|
+
"scroll-area",
|
|
734
|
+
"viewport-content"
|
|
735
|
+
]
|
|
736
|
+
},
|
|
737
|
+
"tag": "admin-scroll",
|
|
738
|
+
"tokens": {},
|
|
739
|
+
"traits": [],
|
|
740
|
+
"version": 1
|
|
741
|
+
}
|
|
742
|
+
},
|
|
743
|
+
"AdminSidebar": {
|
|
744
|
+
"title": "AdminSidebar",
|
|
745
|
+
"description": "Module-tier shell sidebar — owns resize, snap-to-collapsed, persistence,\nand the [collapsed] reflected attribute. Sits inside <admin-shell> as\nslot=\"leading\" or slot=\"trailing\". Authors compose chrome bars + content\ninside via slot vocabulary.\n\nThis is the bespoke web-component replacement for the legacy\n<aside data-sidebar> shape. <admin-shell> still recognizes the legacy\nshape via :is() selector for backwards compat. New code should prefer\n<admin-sidebar>.\n",
|
|
746
|
+
"type": "object",
|
|
747
|
+
"allOf": [
|
|
748
|
+
{
|
|
749
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
750
|
+
},
|
|
751
|
+
{
|
|
752
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
753
|
+
}
|
|
754
|
+
],
|
|
755
|
+
"properties": {
|
|
756
|
+
"collapsed": {
|
|
757
|
+
"description": "Reflected — set when the sidebar's measured width is at or below\n96px. Consumers query this to style \"collapsed mode\" without\nduplicating threshold math.\n",
|
|
758
|
+
"type": "boolean",
|
|
759
|
+
"default": false
|
|
760
|
+
},
|
|
761
|
+
"collapsible": {
|
|
762
|
+
"description": "Opts in to programmatic collapse — toggle button wiring + the\n.toggle() / .collapse() / .expand() public methods.\n",
|
|
763
|
+
"type": "boolean",
|
|
764
|
+
"default": false
|
|
765
|
+
},
|
|
766
|
+
"component": {
|
|
767
|
+
"const": "AdminSidebar"
|
|
768
|
+
},
|
|
769
|
+
"min-width": {
|
|
770
|
+
"description": "Optional override for the snap-floor width. Defaults to reading\nCSS min-width via getComputedStyle.\n",
|
|
771
|
+
"type": "string",
|
|
772
|
+
"default": ""
|
|
773
|
+
},
|
|
774
|
+
"name": {
|
|
775
|
+
"description": "Identifier for localStorage namespacing. Defaults to slot value\n(\"leading\" or \"trailing\"). Override when running multiple sidebars\nwith the same slot.\n",
|
|
776
|
+
"type": "string",
|
|
777
|
+
"default": ""
|
|
778
|
+
},
|
|
779
|
+
"resizable": {
|
|
780
|
+
"description": "Opts in to drag-to-resize behavior. Author supplies a child\n[data-resize] element as the drag handle.\n",
|
|
781
|
+
"type": "boolean",
|
|
782
|
+
"default": false
|
|
783
|
+
},
|
|
784
|
+
"resizing": {
|
|
785
|
+
"description": "Reflected — set during an active pointer-drag on the resize handle.\nUseful for suppressing transitions while dragging.\n",
|
|
786
|
+
"type": "boolean",
|
|
787
|
+
"default": false
|
|
788
|
+
}
|
|
789
|
+
},
|
|
790
|
+
"required": [
|
|
791
|
+
"component"
|
|
792
|
+
],
|
|
793
|
+
"unevaluatedProperties": false,
|
|
794
|
+
"x-adiaui": {
|
|
795
|
+
"anti_patterns": [],
|
|
796
|
+
"category": "layout",
|
|
797
|
+
"events": {
|
|
798
|
+
"sidebar-resize": {
|
|
799
|
+
"description": "Bubbles when an active pointer-drag releases.",
|
|
800
|
+
"detail": {
|
|
801
|
+
"name": "string",
|
|
802
|
+
"width": "number"
|
|
803
|
+
}
|
|
804
|
+
},
|
|
805
|
+
"sidebar-toggle": {
|
|
806
|
+
"description": "Bubbles when sidebar collapses or expands.",
|
|
807
|
+
"detail": {
|
|
808
|
+
"expanded": "boolean",
|
|
809
|
+
"name": "string"
|
|
810
|
+
}
|
|
811
|
+
}
|
|
812
|
+
},
|
|
813
|
+
"examples": [],
|
|
814
|
+
"keywords": [
|
|
815
|
+
"admin-sidebar",
|
|
816
|
+
"sidebar",
|
|
817
|
+
"aside",
|
|
818
|
+
"rail",
|
|
819
|
+
"panel",
|
|
820
|
+
"leading",
|
|
821
|
+
"trailing",
|
|
822
|
+
"inspector",
|
|
823
|
+
"nav"
|
|
824
|
+
],
|
|
825
|
+
"name": "AdminSidebar",
|
|
826
|
+
"related": [
|
|
827
|
+
"AdminShell",
|
|
828
|
+
"AdminCommand",
|
|
829
|
+
"Aside",
|
|
830
|
+
"Nav",
|
|
831
|
+
"NavGroup",
|
|
832
|
+
"NavItem"
|
|
833
|
+
],
|
|
834
|
+
"slots": {
|
|
835
|
+
"default": {
|
|
836
|
+
"description": "Default content — typically a <nav-ui> for navigation, or a list / tree for the trailing inspector pattern."
|
|
837
|
+
},
|
|
838
|
+
"footer": {
|
|
839
|
+
"description": "Bottom chrome bar (user select, status indicator, etc.)."
|
|
840
|
+
},
|
|
841
|
+
"header": {
|
|
842
|
+
"description": "Top chrome bar (workspace select, breadcrumb, etc.)."
|
|
843
|
+
}
|
|
844
|
+
},
|
|
845
|
+
"states": [
|
|
846
|
+
{
|
|
847
|
+
"description": "Default, expanded.",
|
|
848
|
+
"name": "idle"
|
|
849
|
+
},
|
|
850
|
+
{
|
|
851
|
+
"description": "Sidebar width is at or below the snap threshold; CSS container queries flip child layout to icon-only mode.",
|
|
852
|
+
"attribute": "collapsed",
|
|
853
|
+
"name": "collapsed"
|
|
854
|
+
},
|
|
855
|
+
{
|
|
856
|
+
"description": "Active pointer-drag in progress.",
|
|
857
|
+
"attribute": "resizing",
|
|
858
|
+
"name": "resizing"
|
|
859
|
+
}
|
|
860
|
+
],
|
|
861
|
+
"synonyms": {
|
|
862
|
+
"collapsed": [
|
|
863
|
+
"minimized",
|
|
864
|
+
"narrow",
|
|
865
|
+
"icon-only"
|
|
866
|
+
],
|
|
867
|
+
"sidebar": [
|
|
868
|
+
"aside",
|
|
869
|
+
"rail",
|
|
870
|
+
"panel"
|
|
871
|
+
]
|
|
872
|
+
},
|
|
873
|
+
"tag": "admin-sidebar",
|
|
874
|
+
"tokens": {},
|
|
875
|
+
"traits": [],
|
|
876
|
+
"version": 1
|
|
877
|
+
}
|
|
878
|
+
},
|
|
879
|
+
"AdminStatusbar": {
|
|
880
|
+
"title": "AdminStatusbar",
|
|
881
|
+
"description": "Module-tier shell bottom chrome bar. CSS-only — no behavior, no JS.\nSame shape as <admin-topbar> (icon + heading + description + action\nclusters via slot vocabulary), conventionally used for read-only\nstatus — connection state, sync indicator, footer metadata.\n\nReplaces legacy <footer-ui> usage at shell-tier. Both still work per\nADR-0023 backwards-compat.\n",
|
|
882
|
+
"type": "object",
|
|
883
|
+
"allOf": [
|
|
884
|
+
{
|
|
885
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
886
|
+
},
|
|
887
|
+
{
|
|
888
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
889
|
+
}
|
|
890
|
+
],
|
|
891
|
+
"properties": {
|
|
892
|
+
"component": {
|
|
893
|
+
"const": "AdminStatusbar"
|
|
894
|
+
}
|
|
895
|
+
},
|
|
896
|
+
"required": [
|
|
897
|
+
"component"
|
|
898
|
+
],
|
|
899
|
+
"unevaluatedProperties": false,
|
|
900
|
+
"x-adiaui": {
|
|
901
|
+
"anti_patterns": [],
|
|
902
|
+
"category": "layout",
|
|
903
|
+
"events": {},
|
|
904
|
+
"examples": [],
|
|
905
|
+
"keywords": [
|
|
906
|
+
"admin-statusbar",
|
|
907
|
+
"statusbar",
|
|
908
|
+
"footer-bar",
|
|
909
|
+
"app-footer",
|
|
910
|
+
"status-line"
|
|
911
|
+
],
|
|
912
|
+
"name": "AdminStatusbar",
|
|
913
|
+
"related": [
|
|
914
|
+
"AdminShell",
|
|
915
|
+
"AdminContent",
|
|
916
|
+
"AdminTopbar",
|
|
917
|
+
"Footer"
|
|
918
|
+
],
|
|
919
|
+
"slots": {
|
|
920
|
+
"description": {
|
|
921
|
+
"description": "Secondary metadata."
|
|
922
|
+
},
|
|
923
|
+
"default": {
|
|
924
|
+
"description": "Default content — status text or inline children."
|
|
925
|
+
},
|
|
926
|
+
"action": {
|
|
927
|
+
"description": "Trailing control cluster."
|
|
928
|
+
},
|
|
929
|
+
"action-leading": {
|
|
930
|
+
"description": "Leading control cluster."
|
|
931
|
+
},
|
|
932
|
+
"heading": {
|
|
933
|
+
"description": "Primary label."
|
|
934
|
+
},
|
|
935
|
+
"icon": {
|
|
936
|
+
"description": "Leading glyph (icon-ui or img)."
|
|
937
|
+
}
|
|
938
|
+
},
|
|
939
|
+
"states": [
|
|
940
|
+
{
|
|
941
|
+
"description": "Default, the only state.",
|
|
942
|
+
"name": "idle"
|
|
943
|
+
}
|
|
944
|
+
],
|
|
945
|
+
"synonyms": {
|
|
946
|
+
"statusbar": [
|
|
947
|
+
"status-line",
|
|
948
|
+
"footer-bar",
|
|
949
|
+
"app-footer"
|
|
950
|
+
]
|
|
951
|
+
},
|
|
952
|
+
"tag": "admin-statusbar",
|
|
953
|
+
"tokens": {},
|
|
954
|
+
"traits": [],
|
|
955
|
+
"version": 1
|
|
956
|
+
}
|
|
957
|
+
},
|
|
958
|
+
"AdminTopbar": {
|
|
959
|
+
"title": "AdminTopbar",
|
|
960
|
+
"description": "Module-tier shell top chrome bar. CSS-only — no behavior, no JS.\nSits at the top of <admin-content>, <admin-sidebar>, or any chrome\nregion. Provides the canonical icon + heading + description +\naction-clusters layout via slot vocabulary.\n\nReplaces the legacy <header-ui> usage at shell-tier. Both still work\nper ADR-0023 backwards-compat; new code should prefer <admin-topbar>\nfor shell-tier chrome bars (use <header-ui> for primitive containers\nlike Card / Drawer / Modal).\n",
|
|
961
|
+
"type": "object",
|
|
962
|
+
"allOf": [
|
|
963
|
+
{
|
|
964
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
965
|
+
},
|
|
966
|
+
{
|
|
967
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
968
|
+
}
|
|
969
|
+
],
|
|
970
|
+
"properties": {
|
|
971
|
+
"component": {
|
|
972
|
+
"const": "AdminTopbar"
|
|
973
|
+
}
|
|
974
|
+
},
|
|
975
|
+
"required": [
|
|
976
|
+
"component"
|
|
977
|
+
],
|
|
978
|
+
"unevaluatedProperties": false,
|
|
979
|
+
"x-adiaui": {
|
|
980
|
+
"anti_patterns": [],
|
|
981
|
+
"category": "layout",
|
|
982
|
+
"events": {},
|
|
983
|
+
"examples": [],
|
|
984
|
+
"keywords": [
|
|
985
|
+
"admin-topbar",
|
|
986
|
+
"topbar",
|
|
987
|
+
"chrome-bar",
|
|
988
|
+
"app-header",
|
|
989
|
+
"shell-header"
|
|
990
|
+
],
|
|
991
|
+
"name": "AdminTopbar",
|
|
992
|
+
"related": [
|
|
993
|
+
"AdminShell",
|
|
994
|
+
"AdminContent",
|
|
995
|
+
"AdminSidebar",
|
|
996
|
+
"AdminStatusbar",
|
|
997
|
+
"Header"
|
|
998
|
+
],
|
|
999
|
+
"slots": {
|
|
1000
|
+
"description": {
|
|
1001
|
+
"description": "Secondary metadata. Muted + smaller font."
|
|
1002
|
+
},
|
|
1003
|
+
"default": {
|
|
1004
|
+
"description": "Default content — typically a breadcrumb, page title, or ad-hoc inline children. Use named slots for canonical clusters."
|
|
1005
|
+
},
|
|
1006
|
+
"action": {
|
|
1007
|
+
"description": "Trailing control cluster (buttons, menus, etc.). The first [slot=\"action\"] child pushes itself + siblings to the end; subsequent siblings flow with gap."
|
|
1008
|
+
},
|
|
1009
|
+
"action-leading": {
|
|
1010
|
+
"description": "Leading control cluster (back button, menu trigger, etc.). Pairs with [slot=\"action\"] for dual-cluster chrome."
|
|
1011
|
+
},
|
|
1012
|
+
"heading": {
|
|
1013
|
+
"description": "Primary label. Medium-weight + strong fg."
|
|
1014
|
+
},
|
|
1015
|
+
"icon": {
|
|
1016
|
+
"description": "Leading glyph (icon-ui or img). Muted color, flex-aligned."
|
|
1017
|
+
}
|
|
1018
|
+
},
|
|
1019
|
+
"states": [
|
|
1020
|
+
{
|
|
1021
|
+
"description": "Default, the only state.",
|
|
1022
|
+
"name": "idle"
|
|
1023
|
+
}
|
|
1024
|
+
],
|
|
1025
|
+
"synonyms": {
|
|
1026
|
+
"topbar": [
|
|
1027
|
+
"appbar",
|
|
1028
|
+
"app-header",
|
|
1029
|
+
"header-bar",
|
|
1030
|
+
"navbar"
|
|
1031
|
+
]
|
|
1032
|
+
},
|
|
1033
|
+
"tag": "admin-topbar",
|
|
1034
|
+
"tokens": {},
|
|
1035
|
+
"traits": [],
|
|
1036
|
+
"version": 1
|
|
1037
|
+
}
|
|
1038
|
+
},
|
|
320
1039
|
"AgentArtifact": {
|
|
321
1040
|
"title": "AgentArtifact",
|
|
322
1041
|
"description": "Inline container for structured agent artifacts (A2UI, JSON, tickets).",
|
|
@@ -1166,16 +1885,6 @@
|
|
|
1166
1885
|
{
|
|
1167
1886
|
"description": "Default, interactive shell.",
|
|
1168
1887
|
"name": "idle"
|
|
1169
|
-
},
|
|
1170
|
-
{
|
|
1171
|
-
"description": "Leading sidebar is collapsed; content expands.",
|
|
1172
|
-
"attribute": "data-sidebar-leading-collapsed",
|
|
1173
|
-
"name": "collapsed-leading"
|
|
1174
|
-
},
|
|
1175
|
-
{
|
|
1176
|
-
"description": "Trailing sidebar (inspector) is collapsed.",
|
|
1177
|
-
"attribute": "data-sidebar-trailing-collapsed",
|
|
1178
|
-
"name": "collapsed-trailing"
|
|
1179
1888
|
}
|
|
1180
1889
|
],
|
|
1181
1890
|
"synonyms": {
|
|
@@ -2943,41 +3652,274 @@
|
|
|
2943
3652
|
"graph",
|
|
2944
3653
|
"visualization"
|
|
2945
3654
|
],
|
|
2946
|
-
"name": "UIChartLegend",
|
|
3655
|
+
"name": "UIChartLegend",
|
|
3656
|
+
"related": [
|
|
3657
|
+
"chart",
|
|
3658
|
+
"badge",
|
|
3659
|
+
"heatmap"
|
|
3660
|
+
],
|
|
3661
|
+
"slots": {
|
|
3662
|
+
"default": {
|
|
3663
|
+
"description": "Normally empty — the primitive renders its own rows. Authors who want fully custom markup can provide their own children with [data-row] and [data-key] attributes; the primitive won't wipe them if [items] is empty and [for] is unset."
|
|
3664
|
+
}
|
|
3665
|
+
},
|
|
3666
|
+
"states": [
|
|
3667
|
+
{
|
|
3668
|
+
"description": "Default, ready for interaction.",
|
|
3669
|
+
"name": "idle"
|
|
3670
|
+
},
|
|
3671
|
+
{
|
|
3672
|
+
"description": "Rows are <button>s. Default unless [static].",
|
|
3673
|
+
"name": "interactive"
|
|
3674
|
+
},
|
|
3675
|
+
{
|
|
3676
|
+
"description": "Rows are <span>s. No click handler, no toggle affordance.",
|
|
3677
|
+
"name": "static"
|
|
3678
|
+
}
|
|
3679
|
+
],
|
|
3680
|
+
"synonyms": {
|
|
3681
|
+
"chart": [
|
|
3682
|
+
"chart-legend",
|
|
3683
|
+
"legend"
|
|
3684
|
+
],
|
|
3685
|
+
"legend": [
|
|
3686
|
+
"chart-legend"
|
|
3687
|
+
]
|
|
3688
|
+
},
|
|
3689
|
+
"tag": "chart-legend-ui",
|
|
3690
|
+
"tokens": {},
|
|
3691
|
+
"traits": [],
|
|
3692
|
+
"version": 1
|
|
3693
|
+
}
|
|
3694
|
+
},
|
|
3695
|
+
"ChatComposer": {
|
|
3696
|
+
"title": "ChatComposer",
|
|
3697
|
+
"description": "Module-tier chat composer wrapper — replaces legacy <chat-input-ui\ndata-chat-input> direct child of <chat-shell> per ADR-0023.\nForwards submit events as 'composer-submit', propagates [disabled]\nto the inner input, provides slot vocabulary for future composer\nsurfaces (file attach, autocomplete, model picker).\n\nSits inside <chat-shell> as the input region (typically inside or\nalongside the footer). Authors place an inner <chat-input-ui>\n(or input-ui / textarea-ui) as the primary input.\n\nBackwards compat — <chat-shell> still recognizes the legacy\n<chat-input-ui data-chat-input> shape via :is() selector. New\ncode should prefer <chat-composer>.\n",
|
|
3698
|
+
"type": "object",
|
|
3699
|
+
"allOf": [
|
|
3700
|
+
{
|
|
3701
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
3702
|
+
},
|
|
3703
|
+
{
|
|
3704
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
3705
|
+
}
|
|
3706
|
+
],
|
|
3707
|
+
"properties": {
|
|
3708
|
+
"component": {
|
|
3709
|
+
"const": "ChatComposer"
|
|
3710
|
+
},
|
|
3711
|
+
"disabled": {
|
|
3712
|
+
"description": "Reflected — set by the host while streaming, or by application\ncode. Propagated to the inner input element automatically.\n",
|
|
3713
|
+
"type": "boolean",
|
|
3714
|
+
"default": false
|
|
3715
|
+
}
|
|
3716
|
+
},
|
|
3717
|
+
"required": [
|
|
3718
|
+
"component"
|
|
3719
|
+
],
|
|
3720
|
+
"unevaluatedProperties": false,
|
|
3721
|
+
"x-adiaui": {
|
|
3722
|
+
"anti_patterns": [],
|
|
3723
|
+
"category": "input",
|
|
3724
|
+
"events": {
|
|
3725
|
+
"composer-submit": {
|
|
3726
|
+
"description": "Bubbles when the inner input fires its 'submit' event. Detail mirrors the inner event's detail (typically text + model).",
|
|
3727
|
+
"detail": {
|
|
3728
|
+
"model": "string",
|
|
3729
|
+
"text": "string"
|
|
3730
|
+
}
|
|
3731
|
+
}
|
|
3732
|
+
},
|
|
3733
|
+
"examples": [],
|
|
3734
|
+
"keywords": [
|
|
3735
|
+
"chat-composer",
|
|
3736
|
+
"chat-input",
|
|
3737
|
+
"composer",
|
|
3738
|
+
"message-input",
|
|
3739
|
+
"conversation-input"
|
|
3740
|
+
],
|
|
3741
|
+
"name": "ChatComposer",
|
|
3742
|
+
"related": [
|
|
3743
|
+
"ChatShell",
|
|
3744
|
+
"ChatThread",
|
|
3745
|
+
"ChatInput",
|
|
3746
|
+
"Input",
|
|
3747
|
+
"Textarea"
|
|
3748
|
+
],
|
|
3749
|
+
"slots": {
|
|
3750
|
+
"default": {
|
|
3751
|
+
"description": "Default — primary input child (typically <chat-input-ui> or <input-ui submit-on-enter>)."
|
|
3752
|
+
},
|
|
3753
|
+
"attach": {
|
|
3754
|
+
"description": "Future — attachment trigger button (paperclip icon to upload)."
|
|
3755
|
+
},
|
|
3756
|
+
"leading": {
|
|
3757
|
+
"description": "Leading controls — autocomplete trigger, voice input, etc."
|
|
3758
|
+
},
|
|
3759
|
+
"trailing": {
|
|
3760
|
+
"description": "Trailing controls — model picker, send button override, etc."
|
|
3761
|
+
}
|
|
3762
|
+
},
|
|
3763
|
+
"states": [
|
|
3764
|
+
{
|
|
3765
|
+
"description": "Default, accepting input.",
|
|
3766
|
+
"name": "idle"
|
|
3767
|
+
},
|
|
3768
|
+
{
|
|
3769
|
+
"description": "Input is disabled (typically during LLM streaming).",
|
|
3770
|
+
"attribute": "disabled",
|
|
3771
|
+
"name": "disabled"
|
|
3772
|
+
}
|
|
3773
|
+
],
|
|
3774
|
+
"synonyms": {
|
|
3775
|
+
"composer": [
|
|
3776
|
+
"message-input",
|
|
3777
|
+
"chat-input",
|
|
3778
|
+
"conversation-input"
|
|
3779
|
+
]
|
|
3780
|
+
},
|
|
3781
|
+
"tag": "chat-composer",
|
|
3782
|
+
"tokens": {},
|
|
3783
|
+
"traits": [],
|
|
3784
|
+
"version": 1
|
|
3785
|
+
}
|
|
3786
|
+
},
|
|
3787
|
+
"ChatEmpty": {
|
|
3788
|
+
"title": "ChatEmpty",
|
|
3789
|
+
"description": "Module-tier chat empty state. CSS-only — no behavior, no JS. Sits\nas the first child of <chat-thread> as the empty state placeholder.\nVisibility is driven by <chat-thread>'s [empty] reflected attribute\nvia CSS (no JS toggling needed) — when messages arrive, the parent\nthread loses [empty] and CSS hides this stub.\n\nReplaces the legacy <empty-state-ui data-chat-empty> child of the\nmessages container per ADR-0023. Both shapes still work via\nbackwards compat; new code should prefer <chat-empty>.\n",
|
|
3790
|
+
"type": "object",
|
|
3791
|
+
"allOf": [
|
|
3792
|
+
{
|
|
3793
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
3794
|
+
},
|
|
3795
|
+
{
|
|
3796
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
3797
|
+
}
|
|
3798
|
+
],
|
|
3799
|
+
"properties": {
|
|
3800
|
+
"component": {
|
|
3801
|
+
"const": "ChatEmpty"
|
|
3802
|
+
}
|
|
3803
|
+
},
|
|
3804
|
+
"required": [
|
|
3805
|
+
"component"
|
|
3806
|
+
],
|
|
3807
|
+
"unevaluatedProperties": false,
|
|
3808
|
+
"x-adiaui": {
|
|
3809
|
+
"anti_patterns": [],
|
|
3810
|
+
"category": "feedback",
|
|
3811
|
+
"events": {},
|
|
3812
|
+
"examples": [],
|
|
3813
|
+
"keywords": [
|
|
3814
|
+
"chat-empty",
|
|
3815
|
+
"empty-state",
|
|
3816
|
+
"placeholder",
|
|
3817
|
+
"no-messages"
|
|
3818
|
+
],
|
|
3819
|
+
"name": "ChatEmpty",
|
|
3820
|
+
"related": [
|
|
3821
|
+
"ChatShell",
|
|
3822
|
+
"ChatThread",
|
|
3823
|
+
"EmptyState"
|
|
3824
|
+
],
|
|
3825
|
+
"slots": {
|
|
3826
|
+
"default": {
|
|
3827
|
+
"description": "Empty state content — typically an icon + heading + description. Authors compose with <empty-state-ui> as a child, or supply inline content directly."
|
|
3828
|
+
}
|
|
3829
|
+
},
|
|
3830
|
+
"states": [
|
|
3831
|
+
{
|
|
3832
|
+
"description": "Default, visible.",
|
|
3833
|
+
"name": "idle"
|
|
3834
|
+
},
|
|
3835
|
+
{
|
|
3836
|
+
"description": "Hidden via parent <chat-thread>:not([empty]) selector.",
|
|
3837
|
+
"name": "hidden"
|
|
3838
|
+
}
|
|
3839
|
+
],
|
|
3840
|
+
"synonyms": {
|
|
3841
|
+
"chat-empty": [
|
|
3842
|
+
"empty-state",
|
|
3843
|
+
"placeholder",
|
|
3844
|
+
"no-conversations"
|
|
3845
|
+
]
|
|
3846
|
+
},
|
|
3847
|
+
"tag": "chat-empty",
|
|
3848
|
+
"tokens": {},
|
|
3849
|
+
"traits": [],
|
|
3850
|
+
"version": 1
|
|
3851
|
+
}
|
|
3852
|
+
},
|
|
3853
|
+
"ChatHeader": {
|
|
3854
|
+
"title": "ChatHeader",
|
|
3855
|
+
"description": "Module-tier chat header chrome bar. CSS-only — no behavior, no JS.\nSits at the top of <chat-shell> or inside a <chat-sidebar>. Holds\nthe chat name, status indicator, and action clusters via slot\nvocabulary.\n\nReplaces the legacy <header> with [data-chat-name] / [data-chat-status]\ndata-attribute children. Both shapes still work per ADR-0023 backwards\ncompat; new code should prefer <chat-header> with <chat-status> as\na slotted child.\n",
|
|
3856
|
+
"type": "object",
|
|
3857
|
+
"allOf": [
|
|
3858
|
+
{
|
|
3859
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
3860
|
+
},
|
|
3861
|
+
{
|
|
3862
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
3863
|
+
}
|
|
3864
|
+
],
|
|
3865
|
+
"properties": {
|
|
3866
|
+
"component": {
|
|
3867
|
+
"const": "ChatHeader"
|
|
3868
|
+
}
|
|
3869
|
+
},
|
|
3870
|
+
"required": [
|
|
3871
|
+
"component"
|
|
3872
|
+
],
|
|
3873
|
+
"unevaluatedProperties": false,
|
|
3874
|
+
"x-adiaui": {
|
|
3875
|
+
"anti_patterns": [],
|
|
3876
|
+
"category": "layout",
|
|
3877
|
+
"events": {},
|
|
3878
|
+
"examples": [],
|
|
3879
|
+
"keywords": [
|
|
3880
|
+
"chat-header",
|
|
3881
|
+
"chat-titlebar",
|
|
3882
|
+
"chrome-bar",
|
|
3883
|
+
"app-header"
|
|
3884
|
+
],
|
|
3885
|
+
"name": "ChatHeader",
|
|
2947
3886
|
"related": [
|
|
2948
|
-
"
|
|
2949
|
-
"
|
|
2950
|
-
"
|
|
3887
|
+
"ChatShell",
|
|
3888
|
+
"ChatStatus",
|
|
3889
|
+
"ChatThread",
|
|
3890
|
+
"ChatComposer"
|
|
2951
3891
|
],
|
|
2952
3892
|
"slots": {
|
|
2953
3893
|
"default": {
|
|
2954
|
-
"description": "
|
|
3894
|
+
"description": "Default — typically [slot=\"name\"] + [slot=\"status\"] children, or ad-hoc inline content."
|
|
3895
|
+
},
|
|
3896
|
+
"action": {
|
|
3897
|
+
"description": "Trailing control cluster (settings, share, clear conversation)."
|
|
3898
|
+
},
|
|
3899
|
+
"action-leading": {
|
|
3900
|
+
"description": "Leading control cluster (back button, conversation switcher)."
|
|
3901
|
+
},
|
|
3902
|
+
"name": {
|
|
3903
|
+
"description": "Primary chat label (model name, conversation title, etc.)."
|
|
3904
|
+
},
|
|
3905
|
+
"status": {
|
|
3906
|
+
"description": "Status indicator — typically <chat-status> showing connection / streaming state."
|
|
2955
3907
|
}
|
|
2956
3908
|
},
|
|
2957
3909
|
"states": [
|
|
2958
3910
|
{
|
|
2959
|
-
"description": "Default,
|
|
3911
|
+
"description": "Default, the only state.",
|
|
2960
3912
|
"name": "idle"
|
|
2961
|
-
},
|
|
2962
|
-
{
|
|
2963
|
-
"description": "Rows are <button>s. Default unless [static].",
|
|
2964
|
-
"name": "interactive"
|
|
2965
|
-
},
|
|
2966
|
-
{
|
|
2967
|
-
"description": "Rows are <span>s. No click handler, no toggle affordance.",
|
|
2968
|
-
"name": "static"
|
|
2969
3913
|
}
|
|
2970
3914
|
],
|
|
2971
3915
|
"synonyms": {
|
|
2972
|
-
"
|
|
2973
|
-
"
|
|
2974
|
-
"
|
|
2975
|
-
|
|
2976
|
-
"legend": [
|
|
2977
|
-
"chart-legend"
|
|
3916
|
+
"chat-header": [
|
|
3917
|
+
"titlebar",
|
|
3918
|
+
"app-header",
|
|
3919
|
+
"navbar"
|
|
2978
3920
|
]
|
|
2979
3921
|
},
|
|
2980
|
-
"tag": "
|
|
3922
|
+
"tag": "chat-header",
|
|
2981
3923
|
"tokens": {},
|
|
2982
3924
|
"traits": [],
|
|
2983
3925
|
"version": 1
|
|
@@ -3130,9 +4072,9 @@
|
|
|
3130
4072
|
"version": 1
|
|
3131
4073
|
}
|
|
3132
4074
|
},
|
|
3133
|
-
"
|
|
3134
|
-
"title": "
|
|
3135
|
-
"description": "
|
|
4075
|
+
"ChatSidebar": {
|
|
4076
|
+
"title": "ChatSidebar",
|
|
4077
|
+
"description": "Module-tier chat-cluster sidebar — owns resize, snap-to-collapsed,\npersistence, and the [collapsed] reflected attribute. Sits inside\n<chat-shell> as slot=\"leading\" (conversation history rail) or\nslot=\"trailing\" (artifacts/citations panel). Mirrors the admin-sidebar\nshape — same 4 concerns, cluster-namespaced for the chat family.\n\nThis is the chat-cluster equivalent of <admin-sidebar> per ADR-0023.\n<chat-shell> doesn't currently have a legacy sidebar shape (chat is\ntypically a single-pane experience), so <chat-sidebar> is purely\nforward-looking — for chat apps that want conversation-history or\ninspector rails.\n",
|
|
3136
4078
|
"type": "object",
|
|
3137
4079
|
"allOf": [
|
|
3138
4080
|
{
|
|
@@ -3143,11 +4085,36 @@
|
|
|
3143
4085
|
}
|
|
3144
4086
|
],
|
|
3145
4087
|
"properties": {
|
|
4088
|
+
"collapsed": {
|
|
4089
|
+
"description": "Reflected — set when the sidebar's measured width is at or below\n96px. Consumers query this to style \"collapsed mode\" without\nduplicating threshold math.\n",
|
|
4090
|
+
"type": "boolean",
|
|
4091
|
+
"default": false
|
|
4092
|
+
},
|
|
4093
|
+
"collapsible": {
|
|
4094
|
+
"description": "Opts in to programmatic collapse — toggle button wiring + the\n.toggle() / .collapse() / .expand() public methods.\n",
|
|
4095
|
+
"type": "boolean",
|
|
4096
|
+
"default": false
|
|
4097
|
+
},
|
|
3146
4098
|
"component": {
|
|
3147
|
-
"const": "
|
|
4099
|
+
"const": "ChatSidebar"
|
|
3148
4100
|
},
|
|
3149
|
-
"
|
|
3150
|
-
"description": "
|
|
4101
|
+
"min-width": {
|
|
4102
|
+
"description": "Optional override for the snap-floor width. Defaults to reading\nCSS min-width via getComputedStyle.\n",
|
|
4103
|
+
"type": "string",
|
|
4104
|
+
"default": ""
|
|
4105
|
+
},
|
|
4106
|
+
"name": {
|
|
4107
|
+
"description": "Identifier for localStorage namespacing. Defaults to slot value\n(\"leading\" or \"trailing\"). Override when running multiple sidebars\nwith the same slot.\n",
|
|
4108
|
+
"type": "string",
|
|
4109
|
+
"default": ""
|
|
4110
|
+
},
|
|
4111
|
+
"resizable": {
|
|
4112
|
+
"description": "Opts in to drag-to-resize behavior. Author supplies a child\n[data-resize] element as the drag handle.\n",
|
|
4113
|
+
"type": "boolean",
|
|
4114
|
+
"default": false
|
|
4115
|
+
},
|
|
4116
|
+
"resizing": {
|
|
4117
|
+
"description": "Reflected — set during an active pointer-drag on the resize handle.\nUseful for suppressing transitions while dragging.\n",
|
|
3151
4118
|
"type": "boolean",
|
|
3152
4119
|
"default": false
|
|
3153
4120
|
}
|
|
@@ -3158,152 +4125,232 @@
|
|
|
3158
4125
|
"unevaluatedProperties": false,
|
|
3159
4126
|
"x-adiaui": {
|
|
3160
4127
|
"anti_patterns": [],
|
|
3161
|
-
"category": "
|
|
4128
|
+
"category": "layout",
|
|
3162
4129
|
"events": {
|
|
3163
|
-
"
|
|
3164
|
-
"description": "
|
|
4130
|
+
"sidebar-resize": {
|
|
4131
|
+
"description": "Bubbles when an active pointer-drag releases.",
|
|
4132
|
+
"detail": {
|
|
4133
|
+
"name": "string",
|
|
4134
|
+
"width": "number"
|
|
4135
|
+
}
|
|
4136
|
+
},
|
|
4137
|
+
"sidebar-toggle": {
|
|
4138
|
+
"description": "Bubbles when sidebar collapses or expands.",
|
|
4139
|
+
"detail": {
|
|
4140
|
+
"expanded": "boolean",
|
|
4141
|
+
"name": "string"
|
|
4142
|
+
}
|
|
3165
4143
|
}
|
|
3166
4144
|
},
|
|
3167
|
-
"examples": [
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
4145
|
+
"examples": [],
|
|
4146
|
+
"keywords": [
|
|
4147
|
+
"chat-sidebar",
|
|
4148
|
+
"chat-sidebar",
|
|
4149
|
+
"conversation-history",
|
|
4150
|
+
"chat-rail",
|
|
4151
|
+
"sidebar",
|
|
4152
|
+
"leading",
|
|
4153
|
+
"trailing",
|
|
4154
|
+
"inspector"
|
|
4155
|
+
],
|
|
4156
|
+
"name": "ChatSidebar",
|
|
4157
|
+
"related": [
|
|
4158
|
+
"ChatShell",
|
|
4159
|
+
"ChatComposer",
|
|
4160
|
+
"ChatHeader",
|
|
4161
|
+
"List",
|
|
4162
|
+
"Nav"
|
|
4163
|
+
],
|
|
4164
|
+
"slots": {
|
|
4165
|
+
"default": {
|
|
4166
|
+
"description": "Default content — typically a <nav-ui> for navigation, or a list / tree for the trailing inspector pattern."
|
|
4167
|
+
},
|
|
4168
|
+
"footer": {
|
|
4169
|
+
"description": "Bottom chrome bar (user select, status indicator, etc.)."
|
|
3172
4170
|
},
|
|
4171
|
+
"header": {
|
|
4172
|
+
"description": "Top chrome bar (workspace select, breadcrumb, etc.)."
|
|
4173
|
+
}
|
|
4174
|
+
},
|
|
4175
|
+
"states": [
|
|
3173
4176
|
{
|
|
3174
|
-
"description": "
|
|
3175
|
-
"
|
|
3176
|
-
"name": "basic"
|
|
4177
|
+
"description": "Default, expanded.",
|
|
4178
|
+
"name": "idle"
|
|
3177
4179
|
},
|
|
3178
4180
|
{
|
|
3179
|
-
"description": "
|
|
3180
|
-
"
|
|
3181
|
-
"name": "
|
|
4181
|
+
"description": "Sidebar width is at or below the snap threshold; CSS container queries flip child layout to icon-only mode.",
|
|
4182
|
+
"attribute": "collapsed",
|
|
4183
|
+
"name": "collapsed"
|
|
3182
4184
|
},
|
|
3183
4185
|
{
|
|
3184
|
-
"description": "
|
|
3185
|
-
"
|
|
3186
|
-
"name": "
|
|
4186
|
+
"description": "Active pointer-drag in progress.",
|
|
4187
|
+
"attribute": "resizing",
|
|
4188
|
+
"name": "resizing"
|
|
3187
4189
|
}
|
|
3188
4190
|
],
|
|
4191
|
+
"synonyms": {
|
|
4192
|
+
"collapsed": [
|
|
4193
|
+
"minimized",
|
|
4194
|
+
"narrow",
|
|
4195
|
+
"icon-only"
|
|
4196
|
+
],
|
|
4197
|
+
"sidebar": [
|
|
4198
|
+
"aside",
|
|
4199
|
+
"rail",
|
|
4200
|
+
"panel"
|
|
4201
|
+
]
|
|
4202
|
+
},
|
|
4203
|
+
"tag": "chat-sidebar",
|
|
4204
|
+
"tokens": {},
|
|
4205
|
+
"traits": [],
|
|
4206
|
+
"version": 1
|
|
4207
|
+
}
|
|
4208
|
+
},
|
|
4209
|
+
"ChatStatus": {
|
|
4210
|
+
"title": "ChatStatus",
|
|
4211
|
+
"description": "Module-tier chat status indicator. CSS-only — no behavior, no JS.\nConveys connection / streaming state via inline content. Typically\nslotted into <chat-header slot=\"status\"> or used inline.\n\nReplaces the legacy <span data-chat-status> shape per ADR-0023.\n",
|
|
4212
|
+
"type": "object",
|
|
4213
|
+
"allOf": [
|
|
4214
|
+
{
|
|
4215
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
4216
|
+
},
|
|
4217
|
+
{
|
|
4218
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
4219
|
+
}
|
|
4220
|
+
],
|
|
4221
|
+
"properties": {
|
|
4222
|
+
"component": {
|
|
4223
|
+
"const": "ChatStatus"
|
|
4224
|
+
}
|
|
4225
|
+
},
|
|
4226
|
+
"required": [
|
|
4227
|
+
"component"
|
|
4228
|
+
],
|
|
4229
|
+
"unevaluatedProperties": false,
|
|
4230
|
+
"x-adiaui": {
|
|
4231
|
+
"anti_patterns": [],
|
|
4232
|
+
"category": "feedback",
|
|
4233
|
+
"events": {},
|
|
4234
|
+
"examples": [],
|
|
3189
4235
|
"keywords": [
|
|
3190
|
-
"chat",
|
|
3191
|
-
"
|
|
3192
|
-
"
|
|
3193
|
-
"
|
|
3194
|
-
|
|
4236
|
+
"chat-status",
|
|
4237
|
+
"status-indicator",
|
|
4238
|
+
"connection-status",
|
|
4239
|
+
"streaming-indicator"
|
|
4240
|
+
],
|
|
4241
|
+
"name": "ChatStatus",
|
|
4242
|
+
"related": [
|
|
4243
|
+
"ChatShell",
|
|
4244
|
+
"ChatHeader",
|
|
4245
|
+
"ChatThread"
|
|
4246
|
+
],
|
|
4247
|
+
"slots": {
|
|
4248
|
+
"default": {
|
|
4249
|
+
"description": "Status content — text, icon, dot indicator, etc. Authors set content directly; the host (chat-shell) updates innerText during streaming via legacy [data-chat-status] selector OR via querySelector('chat-status') for the bespoke shape."
|
|
4250
|
+
}
|
|
4251
|
+
},
|
|
4252
|
+
"states": [
|
|
4253
|
+
{
|
|
4254
|
+
"description": "Default, the only state.",
|
|
4255
|
+
"name": "idle"
|
|
4256
|
+
}
|
|
4257
|
+
],
|
|
4258
|
+
"synonyms": {
|
|
4259
|
+
"chat-status": [
|
|
4260
|
+
"connection-indicator",
|
|
4261
|
+
"streaming-status"
|
|
4262
|
+
]
|
|
4263
|
+
},
|
|
4264
|
+
"tag": "chat-status",
|
|
4265
|
+
"tokens": {},
|
|
4266
|
+
"traits": [],
|
|
4267
|
+
"version": 1
|
|
4268
|
+
}
|
|
4269
|
+
},
|
|
4270
|
+
"ChatThread": {
|
|
4271
|
+
"title": "ChatThread",
|
|
4272
|
+
"description": "Module-tier chat message thread container — replaces legacy\n<section data-chat-messages> per ADR-0023. Owns scroll-to-bottom\non new message (with user-scroll-up suspension), [streaming] and\n[empty] reflected attributes, and a stable target for the host's\nmessage rendering pipeline.\n\nSits inside <chat-shell> as the central scroll surface. Authors\ncompose <chat-empty> as an optional first child for the empty\nstate; message children are appended dynamically by the host.\n\nBackwards compat — <chat-shell> still recognizes the legacy\n<section data-chat-messages> shape via :is() selector. New code\nshould prefer <chat-thread>.\n",
|
|
4273
|
+
"type": "object",
|
|
4274
|
+
"allOf": [
|
|
4275
|
+
{
|
|
4276
|
+
"$ref": "#/$defs/ComponentCommon"
|
|
4277
|
+
},
|
|
4278
|
+
{
|
|
4279
|
+
"$ref": "#/$defs/CatalogComponentCommon"
|
|
4280
|
+
}
|
|
4281
|
+
],
|
|
4282
|
+
"properties": {
|
|
4283
|
+
"component": {
|
|
4284
|
+
"const": "ChatThread"
|
|
4285
|
+
},
|
|
4286
|
+
"empty": {
|
|
4287
|
+
"description": "Reflected — set when zero message children. Drives the\n<chat-empty> visibility via CSS — no JS toggling needed.\n",
|
|
4288
|
+
"type": "boolean",
|
|
4289
|
+
"default": true
|
|
4290
|
+
},
|
|
4291
|
+
"streaming": {
|
|
4292
|
+
"description": "Reflected — set by the host while an LLM response is streaming.\nConsumers can style streaming-mode (e.g. cursor blink) via\n:has(chat-thread[streaming]) or attribute selectors.\n",
|
|
4293
|
+
"type": "boolean",
|
|
4294
|
+
"default": false
|
|
4295
|
+
}
|
|
4296
|
+
},
|
|
4297
|
+
"required": [
|
|
4298
|
+
"component"
|
|
4299
|
+
],
|
|
4300
|
+
"unevaluatedProperties": false,
|
|
4301
|
+
"x-adiaui": {
|
|
4302
|
+
"anti_patterns": [],
|
|
4303
|
+
"category": "container",
|
|
4304
|
+
"events": {},
|
|
4305
|
+
"examples": [],
|
|
4306
|
+
"keywords": [
|
|
4307
|
+
"chat-thread",
|
|
4308
|
+
"message-list",
|
|
3195
4309
|
"conversation",
|
|
3196
|
-
"
|
|
3197
|
-
"
|
|
3198
|
-
|
|
3199
|
-
|
|
3200
|
-
|
|
3201
|
-
"
|
|
3202
|
-
"
|
|
3203
|
-
"
|
|
3204
|
-
"
|
|
3205
|
-
"comment",
|
|
3206
|
-
"support"
|
|
4310
|
+
"thread",
|
|
4311
|
+
"scroll-surface"
|
|
4312
|
+
],
|
|
4313
|
+
"name": "ChatThread",
|
|
4314
|
+
"related": [
|
|
4315
|
+
"ChatShell",
|
|
4316
|
+
"ChatEmpty",
|
|
4317
|
+
"ChatComposer",
|
|
4318
|
+
"ChatSidebar"
|
|
3207
4319
|
],
|
|
3208
|
-
"name": "UIChatThread",
|
|
3209
|
-
"related": [],
|
|
3210
4320
|
"slots": {
|
|
3211
4321
|
"default": {
|
|
3212
|
-
"description": "Default
|
|
4322
|
+
"description": "Default — message children (typically appended dynamically by <chat-shell>'s rendering pipeline) plus an optional first <chat-empty> sibling for the empty state."
|
|
3213
4323
|
}
|
|
3214
4324
|
},
|
|
3215
4325
|
"states": [
|
|
3216
4326
|
{
|
|
3217
|
-
"description": "Default,
|
|
4327
|
+
"description": "Default, no streaming.",
|
|
3218
4328
|
"name": "idle"
|
|
4329
|
+
},
|
|
4330
|
+
{
|
|
4331
|
+
"description": "Host is actively streaming an LLM response.",
|
|
4332
|
+
"attribute": "streaming",
|
|
4333
|
+
"name": "streaming"
|
|
4334
|
+
},
|
|
4335
|
+
{
|
|
4336
|
+
"description": "Zero message children — empty state visible.",
|
|
4337
|
+
"attribute": "empty",
|
|
4338
|
+
"name": "empty"
|
|
3219
4339
|
}
|
|
3220
4340
|
],
|
|
3221
4341
|
"synonyms": {
|
|
3222
|
-
"
|
|
3223
|
-
"
|
|
3224
|
-
"
|
|
3225
|
-
"response",
|
|
3226
|
-
"command"
|
|
3227
|
-
],
|
|
3228
|
-
"ai-chat": [
|
|
3229
|
-
"chat",
|
|
3230
|
-
"streaming",
|
|
3231
|
-
"response"
|
|
3232
|
-
],
|
|
3233
|
-
"assistant": [
|
|
3234
|
-
"chat",
|
|
3235
|
-
"streaming",
|
|
3236
|
-
"response",
|
|
3237
|
-
"command"
|
|
3238
|
-
],
|
|
3239
|
-
"bot": [
|
|
3240
|
-
"chat",
|
|
3241
|
-
"streaming",
|
|
3242
|
-
"response"
|
|
3243
|
-
],
|
|
3244
|
-
"chatbot": [
|
|
3245
|
-
"chat",
|
|
3246
|
-
"streaming",
|
|
3247
|
-
"response"
|
|
3248
|
-
],
|
|
3249
|
-
"comment": [
|
|
3250
|
-
"social",
|
|
3251
|
-
"post",
|
|
3252
|
-
"chat"
|
|
3253
|
-
],
|
|
3254
|
-
"conversation": [
|
|
3255
|
-
"chat",
|
|
3256
|
-
"streaming",
|
|
3257
|
-
"response"
|
|
3258
|
-
],
|
|
3259
|
-
"copilot": [
|
|
3260
|
-
"chat",
|
|
3261
|
-
"streaming",
|
|
3262
|
-
"response",
|
|
3263
|
-
"command"
|
|
3264
|
-
],
|
|
3265
|
-
"gpt": [
|
|
3266
|
-
"chat",
|
|
3267
|
-
"streaming",
|
|
3268
|
-
"response"
|
|
3269
|
-
],
|
|
3270
|
-
"llm": [
|
|
3271
|
-
"chat",
|
|
3272
|
-
"streaming",
|
|
3273
|
-
"response"
|
|
3274
|
-
],
|
|
3275
|
-
"message": [
|
|
3276
|
-
"chat",
|
|
3277
|
-
"notification",
|
|
3278
|
-
"toast",
|
|
3279
|
-
"alert"
|
|
3280
|
-
],
|
|
3281
|
-
"messaging": [
|
|
3282
|
-
"chat",
|
|
3283
|
-
"notification",
|
|
3284
|
-
"streaming"
|
|
3285
|
-
],
|
|
3286
|
-
"messenger": [
|
|
3287
|
-
"chat",
|
|
3288
|
-
"streaming"
|
|
3289
|
-
],
|
|
3290
|
-
"prompt": [
|
|
3291
|
-
"chat",
|
|
3292
|
-
"streaming",
|
|
3293
|
-
"command",
|
|
3294
|
-
"palette"
|
|
3295
|
-
],
|
|
3296
|
-
"sms": [
|
|
3297
|
-
"chat",
|
|
3298
|
-
"notification"
|
|
4342
|
+
"message-list": [
|
|
4343
|
+
"messages",
|
|
4344
|
+
"message-stream"
|
|
3299
4345
|
],
|
|
3300
|
-
"
|
|
3301
|
-
"
|
|
3302
|
-
"
|
|
3303
|
-
"chat"
|
|
4346
|
+
"thread": [
|
|
4347
|
+
"conversation",
|
|
4348
|
+
"dialogue",
|
|
4349
|
+
"chat-log",
|
|
4350
|
+
"transcript"
|
|
3304
4351
|
]
|
|
3305
4352
|
},
|
|
3306
|
-
"tag": "chat-thread
|
|
4353
|
+
"tag": "chat-thread",
|
|
3307
4354
|
"tokens": {},
|
|
3308
4355
|
"traits": [],
|
|
3309
4356
|
"version": 1
|