@adia-ai/a2ui-corpus 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.
- package/CHANGELOG.md +98 -0
- package/README.md +168 -0
- package/catalog-a2ui_0_9.json +12554 -0
- package/catalog-a2ui_0_9_rules.txt +54 -0
- package/compositions/_schema.json +26 -0
- package/compositions/agent/ai-streaming-response.json +19 -0
- package/compositions/agent/ai-streaming-response.yaml +32 -0
- package/compositions/agent/alert-banner.json +23 -0
- package/compositions/agent/alert-banner.yaml +34 -0
- package/compositions/agent/chat-interface.json +127 -0
- package/compositions/agent/chat-interface.yaml +34 -0
- package/compositions/agent/command-palette.json +113 -0
- package/compositions/agent/command-palette.yaml +30 -0
- package/compositions/agent/empty-state.json +22 -0
- package/compositions/agent/empty-state.yaml +35 -0
- package/compositions/agent/error-state-retry.json +32 -0
- package/compositions/agent/loading-skeleton.json +25 -0
- package/compositions/agent/loading-skeleton.yaml +31 -0
- package/compositions/agent/notification-preferences.json +177 -0
- package/compositions/agent/toast-stack.json +17 -0
- package/compositions/agent/toast-stack.yaml +28 -0
- package/compositions/data/activity-feed.json +31 -0
- package/compositions/data/activity-feed.yaml +43 -0
- package/compositions/data/audit-log-viewer.json +75 -0
- package/compositions/data/bookmark-list.json +32 -0
- package/compositions/data/bookmark-list.yaml +41 -0
- package/compositions/data/bulk-action-toolbar.json +28 -0
- package/compositions/data/changelog-feed.json +54 -0
- package/compositions/data/chart-dashboard.json +26 -0
- package/compositions/data/chart-dashboard.yaml +34 -0
- package/compositions/data/cohort-retention.json +50 -0
- package/compositions/data/column-manager.json +321 -0
- package/compositions/data/data-table-paginated.json +29 -0
- package/compositions/data/data-table-paginated.yaml +36 -0
- package/compositions/data/email-inbox-list.json +30 -0
- package/compositions/data/email-inbox-list.yaml +41 -0
- package/compositions/data/funnel-analytics.json +34 -0
- package/compositions/data/heatmap-calendar.json +122 -0
- package/compositions/data/invoice-table.json +26 -0
- package/compositions/data/invoice-table.yaml +33 -0
- package/compositions/data/kpi-overview.json +28 -0
- package/compositions/data/kpi-overview.yaml +42 -0
- package/compositions/data/notification-center.json +31 -0
- package/compositions/data/notification-center.yaml +41 -0
- package/compositions/data/object-inspector.json +53 -0
- package/compositions/data/product-specs-card.json +19 -0
- package/compositions/data/product-specs-card.yaml +35 -0
- package/compositions/data/progress-tracker.json +27 -0
- package/compositions/data/progress-tracker.yaml +47 -0
- package/compositions/data/review-card.json +21 -0
- package/compositions/data/review-card.yaml +34 -0
- package/compositions/data/saved-views-filter-bar.json +52 -0
- package/compositions/data/shopping-cart-summary.json +28 -0
- package/compositions/data/shopping-cart-summary.yaml +43 -0
- package/compositions/data/stat-card-dashboard.json +30 -0
- package/compositions/data/stat-card-dashboard.yaml +44 -0
- package/compositions/data/status-page.json +48 -0
- package/compositions/data/virtualized-table.json +50 -0
- package/compositions/data/weather-widget.json +20 -0
- package/compositions/data/weather-widget.yaml +31 -0
- package/compositions/form/data-import-wizard.json +217 -0
- package/compositions/forms/change-password-form.json +32 -0
- package/compositions/forms/change-password-form.yaml +44 -0
- package/compositions/forms/color-picker-panel.json +25 -0
- package/compositions/forms/color-picker-panel.yaml +36 -0
- package/compositions/forms/contact-form.json +49 -0
- package/compositions/forms/contact-form.yaml +54 -0
- package/compositions/forms/credit-card-payment-form.json +33 -0
- package/compositions/forms/credit-card-payment-form.yaml +46 -0
- package/compositions/forms/data-import-mapper.json +247 -0
- package/compositions/forms/date-time-picker-form.json +23 -0
- package/compositions/forms/date-time-picker-form.yaml +38 -0
- package/compositions/forms/destructive-confirm.json +43 -0
- package/compositions/forms/feedback-form.json +30 -0
- package/compositions/forms/feedback-form.yaml +41 -0
- package/compositions/forms/file-upload-form.json +28 -0
- package/compositions/forms/file-upload-form.yaml +37 -0
- package/compositions/forms/login-form.json +71 -0
- package/compositions/forms/login-form.yaml +43 -0
- package/compositions/forms/multi-step-wizard.json +27 -0
- package/compositions/forms/multi-step-wizard.yaml +37 -0
- package/compositions/forms/newsletter-subscription-form.json +28 -0
- package/compositions/forms/newsletter-subscription-form.yaml +40 -0
- package/compositions/forms/otp-verification-form.json +29 -0
- package/compositions/forms/otp-verification-form.yaml +42 -0
- package/compositions/forms/password-reset-form.json +28 -0
- package/compositions/forms/password-reset-form.yaml +40 -0
- package/compositions/forms/permission-matrix.json +40 -0
- package/compositions/forms/profile-edit-form.json +32 -0
- package/compositions/forms/profile-edit-form.yaml +46 -0
- package/compositions/forms/radio-group-form.json +30 -0
- package/compositions/forms/radio-group-form.yaml +39 -0
- package/compositions/forms/search-filters.json +30 -0
- package/compositions/forms/search-filters.yaml +41 -0
- package/compositions/forms/settings-toggles-page.json +32 -0
- package/compositions/forms/settings-toggles-page.yaml +43 -0
- package/compositions/forms/signup-form.json +34 -0
- package/compositions/forms/signup-form.yaml +48 -0
- package/compositions/forms/slider-range-form.json +17 -0
- package/compositions/forms/slider-range-form.yaml +34 -0
- package/compositions/forms/tag-input-form.json +24 -0
- package/compositions/forms/tag-input-form.yaml +31 -0
- package/compositions/forms/team-members-rbac.json +279 -0
- package/compositions/layout/accordion-settings.json +56 -0
- package/compositions/layout/avatar-group-display.json +20 -0
- package/compositions/layout/avatar-group-display.yaml +30 -0
- package/compositions/layout/badge-variants-display.json +27 -0
- package/compositions/layout/badge-variants-display.yaml +31 -0
- package/compositions/layout/bento-overview.json +40 -0
- package/compositions/layout/calendar-month-view.json +209 -0
- package/compositions/layout/calendar-month-view.yaml +29 -0
- package/compositions/layout/code-block.json +21 -0
- package/compositions/layout/code-block.yaml +30 -0
- package/compositions/layout/comparison-table.json +28 -0
- package/compositions/layout/comparison-table.yaml +32 -0
- package/compositions/layout/divider-with-label.json +17 -0
- package/compositions/layout/divider-with-label.yaml +29 -0
- package/compositions/layout/drawer-panel.json +23 -0
- package/compositions/layout/drawer-panel.yaml +34 -0
- package/compositions/layout/embed-iframe.json +19 -0
- package/compositions/layout/embed-iframe.yaml +31 -0
- package/compositions/layout/faq-accordion.json +85 -0
- package/compositions/layout/faq-accordion.yaml +32 -0
- package/compositions/layout/feature-grid.json +33 -0
- package/compositions/layout/feature-grid.yaml +42 -0
- package/compositions/layout/footer-nav.json +30 -0
- package/compositions/layout/footer-nav.yaml +35 -0
- package/compositions/layout/hero-cta.json +24 -0
- package/compositions/layout/hero-cta.yaml +35 -0
- package/compositions/layout/image-gallery.json +20 -0
- package/compositions/layout/image-gallery.yaml +43 -0
- package/compositions/layout/image-with-caption.json +19 -0
- package/compositions/layout/image-with-caption.yaml +29 -0
- package/compositions/layout/kanban-board.json +38 -0
- package/compositions/layout/kanban-board.yaml +37 -0
- package/compositions/layout/keyboard-shortcuts.json +26 -0
- package/compositions/layout/keyboard-shortcuts.yaml +42 -0
- package/compositions/layout/markdown-editor-preview.json +166 -0
- package/compositions/layout/media-player.json +22 -0
- package/compositions/layout/media-player.yaml +30 -0
- package/compositions/layout/modal-form.json +22 -0
- package/compositions/layout/modal-form.yaml +34 -0
- package/compositions/layout/onboarding-checklist.json +94 -0
- package/compositions/layout/onboarding-checklist.yaml +31 -0
- package/compositions/layout/popover-tooltip.json +21 -0
- package/compositions/layout/popover-tooltip.yaml +31 -0
- package/compositions/layout/pricing-tiers.json +42 -0
- package/compositions/layout/pricing-tiers.yaml +41 -0
- package/compositions/layout/product-card.json +28 -0
- package/compositions/layout/product-card.yaml +35 -0
- package/compositions/layout/sidebar-layout.json +24 -0
- package/compositions/layout/sidebar-layout.yaml +39 -0
- package/compositions/layout/split-pane-layout.json +20 -0
- package/compositions/layout/split-pane-layout.yaml +31 -0
- package/compositions/layout/tabs-panel.json +25 -0
- package/compositions/layout/tabs-panel.yaml +34 -0
- package/compositions/layout/testimonial-grid.json +42 -0
- package/compositions/layout/testimonial-grid.yaml +39 -0
- package/compositions/layout/three-pane-shell.json +316 -0
- package/compositions/layout/toolbar-actions.json +22 -0
- package/compositions/layout/toolbar-actions.yaml +29 -0
- package/compositions/navigation/breadcrumb-nav.json +18 -0
- package/compositions/navigation/breadcrumb-nav.yaml +29 -0
- package/compositions/navigation/nav-menu-with-icons.json +25 -0
- package/compositions/navigation/nav-menu-with-icons.yaml +39 -0
- package/compositions/navigation/pagination-controls.json +44 -0
- package/compositions/navigation/pagination-controls.yaml +34 -0
- package/compositions/navigation/segmented-control-tabs.json +17 -0
- package/compositions/navigation/segmented-control-tabs.yaml +29 -0
- package/compositions/navigation/workspace-switcher.json +29 -0
- package/compositions/settings/api-keys.json +57 -0
- package/compositions/settings/feature-flags.json +41 -0
- package/compositions/settings/integrations-gallery.json +66 -0
- package/compositions/settings/session-device-mgmt.json +52 -0
- package/compositions/settings/usage-quota-meter.json +47 -0
- package/compositions/settings/webhooks.json +62 -0
- package/exemplars/AUDIT-REPORT.md +116 -0
- package/exemplars/blocks-reference.md +409 -0
- package/exemplars/index.html +21 -0
- package/exemplars/prose/auth-login/a2ui.json +2143 -0
- package/exemplars/prose/auth-login/auth-login.yaml +38 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-1.json +316 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-10.json +102 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-11.json +100 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-12.json +101 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-13.json +117 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-2.json +132 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-3.json +190 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-4.json +64 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-5.json +68 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-6.json +117 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-7.json +86 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-8.json +218 -0
- package/exemplars/prose/auth-login/chunks/prose-auth-login-card-9.json +81 -0
- package/exemplars/prose/auth-login/index.html +539 -0
- package/exemplars/prose/cta/README.md +3 -0
- package/exemplars/prose/cta/a2ui.json +570 -0
- package/exemplars/prose/cta/chunks/prose-cta-card-1.json +191 -0
- package/exemplars/prose/cta/chunks/prose-cta-card-2.json +96 -0
- package/exemplars/prose/cta/cta.yaml +38 -0
- package/exemplars/prose/cta/data.json +6 -0
- package/exemplars/prose/cta/index.html +143 -0
- package/exemplars/prose/feature-grid/README.md +3 -0
- package/exemplars/prose/feature-grid/a2ui.json +464 -0
- package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-1.json +72 -0
- package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-2.json +72 -0
- package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-3.json +72 -0
- package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-4.json +72 -0
- package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-5.json +72 -0
- package/exemplars/prose/feature-grid/chunks/prose-feature-grid-card-6.json +72 -0
- package/exemplars/prose/feature-grid/data.json +13 -0
- package/exemplars/prose/feature-grid/feature-grid.yaml +35 -0
- package/exemplars/prose/feature-grid/index.html +103 -0
- package/exemplars/prose/footer/README.md +3 -0
- package/exemplars/prose/footer/a2ui.json +359 -0
- package/exemplars/prose/footer/data.json +10 -0
- package/exemplars/prose/footer/footer.yaml +32 -0
- package/exemplars/prose/footer/index.html +110 -0
- package/exemplars/prose/hero/README.md +3 -0
- package/exemplars/prose/hero/a2ui.json +982 -0
- package/exemplars/prose/hero/chunks/prose-hero-card-1.json +52 -0
- package/exemplars/prose/hero/chunks/prose-hero-card-2.json +52 -0
- package/exemplars/prose/hero/chunks/prose-hero-card-3.json +50 -0
- package/exemplars/prose/hero/chunks/prose-hero-card-4.json +50 -0
- package/exemplars/prose/hero/chunks/prose-hero-card-5.json +50 -0
- package/exemplars/prose/hero/chunks/prose-hero-card-6.json +70 -0
- package/exemplars/prose/hero/chunks/prose-hero-card-7.json +70 -0
- package/exemplars/prose/hero/chunks/prose-hero-card-8.json +70 -0
- package/exemplars/prose/hero/data.json +6 -0
- package/exemplars/prose/hero/hero.yaml +38 -0
- package/exemplars/prose/hero/index.html +227 -0
- package/exemplars/prose/pricing/README.md +3 -0
- package/exemplars/prose/pricing/a2ui.json +1367 -0
- package/exemplars/prose/pricing/chunks/prose-pricing-card-1.json +240 -0
- package/exemplars/prose/pricing/chunks/prose-pricing-card-2.json +312 -0
- package/exemplars/prose/pricing/chunks/prose-pricing-card-3.json +333 -0
- package/exemplars/prose/pricing/chunks/prose-pricing-card-4.json +51 -0
- package/exemplars/prose/pricing/chunks/prose-pricing-card-5.json +51 -0
- package/exemplars/prose/pricing/chunks/prose-pricing-card-6.json +51 -0
- package/exemplars/prose/pricing/chunks/prose-pricing-card-7.json +51 -0
- package/exemplars/prose/pricing/chunks/prose-pricing-card-8.json +80 -0
- package/exemplars/prose/pricing/data.json +9 -0
- package/exemplars/prose/pricing/index.html +308 -0
- package/exemplars/prose/pricing/pricing.yaml +38 -0
- package/exemplars/prose/steps/README.md +3 -0
- package/exemplars/prose/steps/a2ui.json +662 -0
- package/exemplars/prose/steps/chunks/prose-steps-card-1.json +129 -0
- package/exemplars/prose/steps/chunks/prose-steps-card-2.json +114 -0
- package/exemplars/prose/steps/chunks/prose-steps-card-3.json +182 -0
- package/exemplars/prose/steps/chunks/prose-steps-card-4.json +172 -0
- package/exemplars/prose/steps/data.json +31 -0
- package/exemplars/prose/steps/index.html +173 -0
- package/exemplars/prose/steps/setup.js +12 -0
- package/exemplars/prose/steps/steps.yaml +38 -0
- package/exemplars/prose/testimonials/README.md +3 -0
- package/exemplars/prose/testimonials/a2ui.json +1373 -0
- package/exemplars/prose/testimonials/chunks/prose-testimonials-card-1.json +182 -0
- package/exemplars/prose/testimonials/chunks/prose-testimonials-card-2.json +145 -0
- package/exemplars/prose/testimonials/chunks/prose-testimonials-card-3.json +146 -0
- package/exemplars/prose/testimonials/chunks/prose-testimonials-card-4.json +146 -0
- package/exemplars/prose/testimonials/chunks/prose-testimonials-card-5.json +146 -0
- package/exemplars/prose/testimonials/chunks/prose-testimonials-card-6.json +146 -0
- package/exemplars/prose/testimonials/chunks/prose-testimonials-card-7.json +146 -0
- package/exemplars/prose/testimonials/chunks/prose-testimonials-card-8.json +173 -0
- package/exemplars/prose/testimonials/data.json +14 -0
- package/exemplars/prose/testimonials/index.html +294 -0
- package/exemplars/prose/testimonials/testimonials.yaml +33 -0
- package/exemplars/ui/auth-login/a2ui.json +1821 -0
- package/exemplars/ui/auth-login/auth-login.yaml +38 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-1.json +172 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-10.json +123 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-11.json +101 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-12.json +108 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-2.json +153 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-3.json +201 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-4.json +148 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-5.json +91 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-6.json +112 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-7.json +100 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-8.json +99 -0
- package/exemplars/ui/auth-login/chunks/auth-login-card-9.json +286 -0
- package/exemplars/ui/auth-login/index.html +383 -0
- package/fragments/_schema.json +72 -0
- package/fragments/action/dual-cta-row.json +29 -0
- package/fragments/action/dual-cta-row.yaml +34 -0
- package/fragments/action/footer-cancel-save.json +31 -0
- package/fragments/action/footer-cancel-save.yaml +34 -0
- package/fragments/action/footer-primary-only.json +23 -0
- package/fragments/action/footer-primary-only.yaml +26 -0
- package/fragments/content/calendar-day-cell.json +29 -0
- package/fragments/content/chart-legend.json +122 -0
- package/fragments/content/column-config-atom.json +121 -0
- package/fragments/content/credential-entry-atom.json +128 -0
- package/fragments/content/directory-entry-atom.json +150 -0
- package/fragments/content/email-row.json +35 -0
- package/fragments/content/email-row.yaml +43 -0
- package/fragments/content/faq-item.json +54 -0
- package/fragments/content/health-entry-atom.json +87 -0
- package/fragments/content/icon-text-row.json +29 -0
- package/fragments/content/icon-text-row.yaml +36 -0
- package/fragments/content/icon-title-description.json +30 -0
- package/fragments/content/icon-title-description.yaml +37 -0
- package/fragments/content/image-tile.json +28 -0
- package/fragments/content/image-tile.yaml +32 -0
- package/fragments/content/incident-row.json +109 -0
- package/fragments/content/kbd-shortcut-row.json +29 -0
- package/fragments/content/kbd-shortcut-row.yaml +33 -0
- package/fragments/content/key-value-row.json +29 -0
- package/fragments/content/key-value-row.yaml +36 -0
- package/fragments/content/labeled-progress.json +29 -0
- package/fragments/content/labeled-progress.yaml +33 -0
- package/fragments/content/link-list-column.json +33 -0
- package/fragments/content/link-list-column.yaml +41 -0
- package/fragments/content/linked-record-row.json +95 -0
- package/fragments/content/marketplace-tile-atom.json +149 -0
- package/fragments/content/metadata-description-list.json +28 -0
- package/fragments/content/metadata-description-list.yaml +36 -0
- package/fragments/content/pending-invite-row.json +113 -0
- package/fragments/content/release-entry.json +159 -0
- package/fragments/content/rollout-entry-atom.json +170 -0
- package/fragments/content/signed-in-entry-atom.json +159 -0
- package/fragments/content/stage-entry-atom.json +117 -0
- package/fragments/content/stat-card.json +31 -0
- package/fragments/content/stat-card.yaml +39 -0
- package/fragments/content/user-identity-row.json +33 -0
- package/fragments/content/user-identity-row.yaml +43 -0
- package/fragments/content/user-notification-row.json +35 -0
- package/fragments/content/user-notification-row.yaml +50 -0
- package/fragments/content/wizard-step-row.json +96 -0
- package/fragments/form/labeled-checkbox.json +27 -0
- package/fragments/form/labeled-checkbox.yaml +36 -0
- package/fragments/form/labeled-input.json +28 -0
- package/fragments/form/labeled-input.yaml +38 -0
- package/fragments/form/labeled-slider.json +34 -0
- package/fragments/form/labeled-slider.yaml +50 -0
- package/fragments/form/labeled-textarea.json +28 -0
- package/fragments/form/labeled-textarea.yaml +39 -0
- package/fragments/form/labeled-toggle.json +29 -0
- package/fragments/form/labeled-toggle.yaml +43 -0
- package/fragments/form/rating-row.json +31 -0
- package/fragments/form/rating-row.yaml +40 -0
- package/fragments/layout/card-header-heading.json +39 -0
- package/fragments/layout/card-header-heading.yaml +27 -0
- package/fragments/layout/card-header-with-badge.json +30 -0
- package/fragments/layout/card-header-with-badge.yaml +40 -0
- package/fragments/layout/card-header-with-description.json +29 -0
- package/fragments/layout/card-header-with-description.yaml +32 -0
- package/fragments/layout/pricing-tier-card.json +37 -0
- package/fragments/layout/pricing-tier-card.yaml +50 -0
- package/fragments/layout/text-card.json +28 -0
- package/fragments/layout/text-card.yaml +30 -0
- package/manifest.json +6 -0
- package/package.json +33 -0
- package/patterns/_components.json +3320 -0
- package/patterns/_index.json +3232 -0
- package/patterns/_schema.json +206 -0
- package/patterns/_taxonomy.json +1970 -0
- package/patterns/agent/_domain.json +27 -0
- package/patterns/agent/alert-banner.json +41 -0
- package/patterns/agent/alert-banner.yaml +38 -0
- package/patterns/agent/chat-interface.json +205 -0
- package/patterns/agent/chat-interface.yaml +58 -0
- package/patterns/agent/command-palette.json +169 -0
- package/patterns/agent/command-palette.yaml +48 -0
- package/patterns/agent/empty-state.json +77 -0
- package/patterns/agent/empty-state.yaml +44 -0
- package/patterns/agent/error-state.json +67 -0
- package/patterns/agent/error-state.yaml +43 -0
- package/patterns/agent/loading-skeleton.json +101 -0
- package/patterns/agent/loading-skeleton.yaml +41 -0
- package/patterns/agent/notifications.json +87 -0
- package/patterns/agent/notifications.yaml +41 -0
- package/patterns/agent/streaming-response.json +58 -0
- package/patterns/agent/streaming-response.yaml +41 -0
- package/patterns/agent/toast-notification.json +70 -0
- package/patterns/agent/toast-notification.yaml +45 -0
- package/patterns/data/_domain.json +35 -0
- package/patterns/data/admin-dashboard-with-charts.json +755 -0
- package/patterns/data/admin-dashboard-with-charts.yaml +79 -0
- package/patterns/data/api-key-table.json +131 -0
- package/patterns/data/api-key-table.yaml +43 -0
- package/patterns/data/bookmark-list-categories.json +143 -0
- package/patterns/data/bookmark-list-categories.yaml +53 -0
- package/patterns/data/bookmark-list.json +163 -0
- package/patterns/data/bookmark-list.yaml +47 -0
- package/patterns/data/chart-dashboard.json +335 -0
- package/patterns/data/chart-dashboard.yaml +48 -0
- package/patterns/data/dashboard.json +153 -0
- package/patterns/data/dashboard.yaml +45 -0
- package/patterns/data/data-table-view.json +121 -0
- package/patterns/data/data-table-view.yaml +61 -0
- package/patterns/data/email-inbox.json +272 -0
- package/patterns/data/email-inbox.yaml +48 -0
- package/patterns/data/event-calendar-details.json +334 -0
- package/patterns/data/event-calendar-details.yaml +57 -0
- package/patterns/data/inventory-table.json +119 -0
- package/patterns/data/inventory-table.yaml +42 -0
- package/patterns/data/leaderboard.json +131 -0
- package/patterns/data/leaderboard.yaml +41 -0
- package/patterns/data/metrics.json +163 -0
- package/patterns/data/metrics.yaml +40 -0
- package/patterns/data/notification-center.json +264 -0
- package/patterns/data/notification-center.yaml +56 -0
- package/patterns/data/onboarding-checklist.json +114 -0
- package/patterns/data/onboarding-checklist.yaml +43 -0
- package/patterns/data/order-tracking.json +167 -0
- package/patterns/data/order-tracking.yaml +48 -0
- package/patterns/data/pagination-nav.json +48 -0
- package/patterns/data/pagination-nav.yaml +42 -0
- package/patterns/data/progress-dashboard.json +195 -0
- package/patterns/data/progress-dashboard.yaml +50 -0
- package/patterns/data/progress-tracker.json +119 -0
- package/patterns/data/progress-tracker.yaml +44 -0
- package/patterns/data/restaurant-menu.json +271 -0
- package/patterns/data/restaurant-menu.yaml +58 -0
- package/patterns/data/stat-cards.json +144 -0
- package/patterns/data/stat-cards.yaml +42 -0
- package/patterns/data/team-activity.json +170 -0
- package/patterns/data/team-activity.yaml +46 -0
- package/patterns/forms/_domain.json +32 -0
- package/patterns/forms/auth-signup.json +221 -0
- package/patterns/forms/auth-signup.yaml +55 -0
- package/patterns/forms/bleed-design-settings.json +201 -0
- package/patterns/forms/bleed-design-settings.yaml +57 -0
- package/patterns/forms/color-picker-demo.json +52 -0
- package/patterns/forms/color-picker-demo.yaml +43 -0
- package/patterns/forms/color-picker-panel.json +48 -0
- package/patterns/forms/color-picker-panel.yaml +38 -0
- package/patterns/forms/color-theme-builder.json +198 -0
- package/patterns/forms/color-theme-builder.yaml +55 -0
- package/patterns/forms/create-form.json +191 -0
- package/patterns/forms/create-form.yaml +55 -0
- package/patterns/forms/credit-card-payment.json +282 -0
- package/patterns/forms/credit-card-payment.yaml +61 -0
- package/patterns/forms/data-import.json +111 -0
- package/patterns/forms/data-import.yaml +49 -0
- package/patterns/forms/date-picker.json +85 -0
- package/patterns/forms/date-picker.yaml +44 -0
- package/patterns/forms/date-range-picker.json +155 -0
- package/patterns/forms/date-range-picker.yaml +54 -0
- package/patterns/forms/file-upload-form.json +151 -0
- package/patterns/forms/file-upload-form.yaml +60 -0
- package/patterns/forms/file-upload-gallery.json +174 -0
- package/patterns/forms/file-upload-gallery.yaml +56 -0
- package/patterns/forms/image-upload-preview.json +72 -0
- package/patterns/forms/image-upload-preview.yaml +42 -0
- package/patterns/forms/login-form.json +213 -0
- package/patterns/forms/login-form.yaml +61 -0
- package/patterns/forms/modal-dialog-form.json +233 -0
- package/patterns/forms/modal-dialog-form.yaml +52 -0
- package/patterns/forms/newsletter-subscribe.json +69 -0
- package/patterns/forms/newsletter-subscribe.yaml +47 -0
- package/patterns/forms/notification-filters.json +345 -0
- package/patterns/forms/notification-filters.yaml +80 -0
- package/patterns/forms/notification-preferences.json +302 -0
- package/patterns/forms/notification-preferences.yaml +66 -0
- package/patterns/forms/otp-form.json +89 -0
- package/patterns/forms/otp-form.yaml +46 -0
- package/patterns/forms/otp-verification.json +128 -0
- package/patterns/forms/otp-verification.yaml +52 -0
- package/patterns/forms/password-reset.json +206 -0
- package/patterns/forms/password-reset.yaml +56 -0
- package/patterns/forms/price-range-filter.json +133 -0
- package/patterns/forms/price-range-filter.yaml +51 -0
- package/patterns/forms/radio-group-selection.json +209 -0
- package/patterns/forms/radio-group-selection.yaml +51 -0
- package/patterns/forms/radio-group.json +143 -0
- package/patterns/forms/radio-group.yaml +50 -0
- package/patterns/forms/search-filters.json +201 -0
- package/patterns/forms/search-filters.yaml +60 -0
- package/patterns/forms/settings-page.json +364 -0
- package/patterns/forms/settings-page.yaml +64 -0
- package/patterns/forms/slider-range.json +119 -0
- package/patterns/forms/slider-range.yaml +45 -0
- package/patterns/forms/survey-rating-scales.json +450 -0
- package/patterns/forms/survey-rating-scales.yaml +69 -0
- package/patterns/forms/tag-input.json +112 -0
- package/patterns/forms/tag-input.yaml +47 -0
- package/patterns/forms/theme-customizer.json +180 -0
- package/patterns/forms/theme-customizer.yaml +53 -0
- package/patterns/forms/two-factor-auth.json +99 -0
- package/patterns/forms/two-factor-auth.yaml +62 -0
- package/patterns/forms/volume-control.json +99 -0
- package/patterns/forms/volume-control.yaml +47 -0
- package/patterns/forms/wizard-steps.json +130 -0
- package/patterns/forms/wizard-steps.yaml +58 -0
- package/patterns/layout/_domain.json +29 -0
- package/patterns/layout/accordion-settings.json +345 -0
- package/patterns/layout/accordion-settings.yaml +55 -0
- package/patterns/layout/avatar-group.json +136 -0
- package/patterns/layout/avatar-group.yaml +47 -0
- package/patterns/layout/badge-showcase.json +244 -0
- package/patterns/layout/badge-showcase.yaml +46 -0
- package/patterns/layout/calendar-view.json +88 -0
- package/patterns/layout/calendar-view.yaml +42 -0
- package/patterns/layout/code-block.json +88 -0
- package/patterns/layout/code-block.yaml +47 -0
- package/patterns/layout/consent-banner.json +89 -0
- package/patterns/layout/consent-banner.yaml +50 -0
- package/patterns/layout/cta-banner.json +99 -0
- package/patterns/layout/cta-banner.yaml +46 -0
- package/patterns/layout/divider-label.json +68 -0
- package/patterns/layout/divider-label.yaml +42 -0
- package/patterns/layout/drawer-panel.json +220 -0
- package/patterns/layout/drawer-panel.yaml +54 -0
- package/patterns/layout/embed-content.json +86 -0
- package/patterns/layout/embed-content.yaml +46 -0
- package/patterns/layout/faq-accordion.json +159 -0
- package/patterns/layout/faq-accordion.yaml +47 -0
- package/patterns/layout/feature-carousel.json +263 -0
- package/patterns/layout/feature-carousel.yaml +47 -0
- package/patterns/layout/feature-grid.json +197 -0
- package/patterns/layout/feature-grid.yaml +45 -0
- package/patterns/layout/hero-section.json +109 -0
- package/patterns/layout/hero-section.yaml +46 -0
- package/patterns/layout/image-caption.json +48 -0
- package/patterns/layout/image-caption.yaml +37 -0
- package/patterns/layout/image-carousel.json +173 -0
- package/patterns/layout/image-carousel.yaml +47 -0
- package/patterns/layout/image-gallery.json +128 -0
- package/patterns/layout/image-gallery.yaml +45 -0
- package/patterns/layout/kanban-board.json +292 -0
- package/patterns/layout/kanban-board.yaml +58 -0
- package/patterns/layout/kbd-shortcuts.json +178 -0
- package/patterns/layout/kbd-shortcuts.yaml +43 -0
- package/patterns/layout/markdown-editor.json +126 -0
- package/patterns/layout/markdown-editor.yaml +46 -0
- package/patterns/layout/music-player.json +107 -0
- package/patterns/layout/music-player.yaml +42 -0
- package/patterns/layout/pagination-demo.json +55 -0
- package/patterns/layout/pagination-demo.yaml +44 -0
- package/patterns/layout/pagination-table.json +107 -0
- package/patterns/layout/pagination-table.yaml +59 -0
- package/patterns/layout/popover-demo.json +71 -0
- package/patterns/layout/popover-demo.yaml +46 -0
- package/patterns/layout/popover-menu.json +117 -0
- package/patterns/layout/popover-menu.yaml +45 -0
- package/patterns/layout/pricing-tiers.json +354 -0
- package/patterns/layout/pricing-tiers.yaml +52 -0
- package/patterns/layout/product-card.json +89 -0
- package/patterns/layout/product-card.yaml +46 -0
- package/patterns/layout/product-carousel.json +251 -0
- package/patterns/layout/product-carousel.yaml +47 -0
- package/patterns/layout/social-post.json +119 -0
- package/patterns/layout/social-post.yaml +45 -0
- package/patterns/layout/split-pane.json +69 -0
- package/patterns/layout/split-pane.yaml +41 -0
- package/patterns/layout/swiper-carousel.json +97 -0
- package/patterns/layout/swiper-carousel.yaml +55 -0
- package/patterns/layout/tabs-panels.json +173 -0
- package/patterns/layout/tabs-panels.yaml +46 -0
- package/patterns/layout/team-carousel.json +332 -0
- package/patterns/layout/team-carousel.yaml +50 -0
- package/patterns/layout/testimonials-carousel.json +281 -0
- package/patterns/layout/testimonials-carousel.yaml +50 -0
- package/patterns/layout/testimonials-grid.json +286 -0
- package/patterns/layout/testimonials-grid.yaml +46 -0
- package/patterns/layout/toolbar-buttons.json +179 -0
- package/patterns/layout/toolbar-buttons.yaml +47 -0
- package/patterns/layout/tooltip-buttons.json +127 -0
- package/patterns/layout/tooltip-buttons.yaml +44 -0
- package/patterns/layout/user-profile.json +123 -0
- package/patterns/layout/user-profile.yaml +45 -0
- package/patterns/layout/video-player.json +95 -0
- package/patterns/layout/video-player.yaml +45 -0
- package/patterns/layout/weather-widget.json +127 -0
- package/patterns/layout/weather-widget.yaml +46 -0
- package/patterns/navigation/_domain.json +25 -0
- package/patterns/navigation/breadcrumb-nav.json +57 -0
- package/patterns/navigation/breadcrumb-nav.yaml +39 -0
- package/patterns/navigation/nav-menu-icons.json +71 -0
- package/patterns/navigation/nav-menu-icons.yaml +38 -0
- package/patterns/navigation/section-subnav.json +79 -0
- package/patterns/navigation/segmented-control.json +56 -0
- package/patterns/navigation/segmented-control.yaml +40 -0
- package/patterns/navigation/sidebar-nav.json +207 -0
- package/patterns/navigation/sidebar-nav.yaml +44 -0
- package/patterns/settings/settings-page.json +280 -0
- package/patterns/settings/settings-page.yaml +51 -0
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# AdiaUI Catalog — LLM Rules (v0.9)
|
|
2
|
+
|
|
3
|
+
# Cross-component and contextual constraints that the JSON Schema validator
|
|
4
|
+
# cannot express. Concatenated into the agent system prompt.
|
|
5
|
+
# Generated from each component YAML's `a2ui.rules:` entries.
|
|
6
|
+
|
|
7
|
+
## Card
|
|
8
|
+
- The card's <header> grid activates only for DIRECT-child slotted elements. If you need an icon column, place the icon element (avatar-ui, icon-ui) directly in the header with slot="icon" — not inside a wrapper.
|
|
9
|
+
- Heading slot accepts inline badges/metadata: <span slot="heading"><text-ui strong>Title</text-ui><badge-ui text="New" variant="accent"></badge-ui></span> renders title + badge on one row.
|
|
10
|
+
- Description slot also accepts bare <p> or <small> elements as siblings of the heading — they participate in the grid's row 2 without needing slot="description".
|
|
11
|
+
- Multiple <section> siblings are allowed and stack vertically. [bleed] on a section removes its margin for edge-to-edge content (tables, charts); [padding] adds a canvas-scrim background for hero regions.
|
|
12
|
+
- Footer with a [slot="description"] + [slot="action"] pair triggers justify-content: space-between — useful for a "Last saved …" note on the left and a Save/Cancel button group on the right.
|
|
13
|
+
|
|
14
|
+
## Grid
|
|
15
|
+
- For asymmetric column ratios, use [columns="N"] plus [span="M"] on the child that should be wider. Never set grid-template-columns via style — it bypasses the component API and reads as a local hack.
|
|
16
|
+
- Canonical ratios: 1:1 → columns="2"; 2:1 → columns="3" + span="2"; 3:1 → columns="4" + span="3"; 3:2 → columns="5" + span="3"+"2"; 4:1 → columns="5" + span="4". Round unusual ratios (e.g. 7:5) to 3:2.
|
|
17
|
+
- The default (no columns attribute) gives equal auto-columns flowing in a single row. Prefer the explicit numeric attribute for dashboard rows so the layout is predictable when items wrap.
|
|
18
|
+
|
|
19
|
+
## Chat
|
|
20
|
+
- adia-chat is a behavior wrapper; don't nest col-ui/row-ui inside it directly — author the structural DOM using [data-chat-*] markers instead.
|
|
21
|
+
|
|
22
|
+
## Editor
|
|
23
|
+
- adia-editor is a layout skeleton. Children must follow the documented structural DOM; the element wires behavior, not content.
|
|
24
|
+
|
|
25
|
+
## AppNavGroup
|
|
26
|
+
- Must be a direct child of app-nav-ui.
|
|
27
|
+
- Children must be app-nav-item-ui, not arbitrary components.
|
|
28
|
+
|
|
29
|
+
## AppNavItem
|
|
30
|
+
- Must be a descendant of app-nav-ui (direct child or via app-nav-group-ui).
|
|
31
|
+
- Only one sibling may have selected=true at a time; prefer calling nav.select() over setting the attribute manually.
|
|
32
|
+
|
|
33
|
+
## AppNav
|
|
34
|
+
- app-nav-ui is the only valid parent of app-nav-group-ui.
|
|
35
|
+
- app-nav-item-ui may be a direct child of app-nav-ui OR nested inside app-nav-group-ui.
|
|
36
|
+
|
|
37
|
+
## AppShell
|
|
38
|
+
- app-shell-ui is a behavior wrapper; its children are native HTML landmarks (aside, main, header). Don't wrap them in col-ui/row-ui — app-shell.css handles grid layout based on [data-sidebar] attributes.
|
|
39
|
+
|
|
40
|
+
## GenUI
|
|
41
|
+
- gen-ui-ui is an integration shell. Prefer app-shell-ui for admin UIs; use gen-ui-ui only for chat+canvas tooling.
|
|
42
|
+
|
|
43
|
+
## SectionNavGroup
|
|
44
|
+
- Must be a direct child of section-nav-ui.
|
|
45
|
+
- Children must be section-nav-item-ui.
|
|
46
|
+
|
|
47
|
+
## SectionNavItem
|
|
48
|
+
- Must be a descendant of section-nav-ui (direct child or via section-nav-group-ui).
|
|
49
|
+
|
|
50
|
+
## SectionNav
|
|
51
|
+
- section-nav-ui is the only valid parent of section-nav-group-ui.
|
|
52
|
+
- section-nav-item-ui may be a direct child of section-nav-ui OR nested inside section-nav-group-ui.
|
|
53
|
+
- Use section-nav-ui beside an article inside an app-shell section; don't nest app-nav inside it.
|
|
54
|
+
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "A2UI Composition",
|
|
4
|
+
"description": "A pattern expressed as references to fragments + inline nodes. Same A2UI flat-adjacency structure as a legacy Pattern, except nodes may carry a `$fragment` field instead of a `component`. At resolve time, the composer expands each $fragment reference into the fragment's template with slot bindings applied, producing a standard A2UI tree.",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": ["name", "kind", "domain", "template"],
|
|
7
|
+
"properties": {
|
|
8
|
+
"$schema": { "type": "string" },
|
|
9
|
+
"name": { "type": "string" },
|
|
10
|
+
"version": { "type": "integer", "default": 1 },
|
|
11
|
+
"kind": { "const": "composition" },
|
|
12
|
+
"domain": { "type": "string" },
|
|
13
|
+
"description": { "type": "string" },
|
|
14
|
+
"tags": { "type": "object" },
|
|
15
|
+
"keywords": { "type": "array", "items": { "type": "string" } },
|
|
16
|
+
"related": { "type": "array", "items": { "type": "string" } },
|
|
17
|
+
|
|
18
|
+
"template": {
|
|
19
|
+
"type": "array",
|
|
20
|
+
"description": "Flat A2UI adjacency. A node is either (a) a normal A2UI component node OR (b) a fragment reference: { id, $fragment: 'fragment-name', bindings: { slotName: value }, children?: [...] }. Fragment refs may accept a `children` override to inject extra children into the fragment's root (e.g., adding more form fields to a card section).",
|
|
21
|
+
"items": { "type": "object" }
|
|
22
|
+
},
|
|
23
|
+
|
|
24
|
+
"wiring": { "type": "object" }
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../_schema.json",
|
|
3
|
+
"name": "ai-streaming-response",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"kind": "composition",
|
|
6
|
+
"domain": "agent",
|
|
7
|
+
"description": "AI response card with streaming text — shows the agent's answer as it generates.",
|
|
8
|
+
"tags": { "purpose": ["agent", "ai", "stream"], "complexity": "atomic", "layout": "stacked" },
|
|
9
|
+
"keywords": ["ai", "streaming", "response", "agent output", "stream", "llm"],
|
|
10
|
+
|
|
11
|
+
"template": [
|
|
12
|
+
{ "id": "root", "component": "Card", "children": ["sec"] },
|
|
13
|
+
{ "id": "sec", "component": "Section", "children": ["col"] },
|
|
14
|
+
{ "id": "col", "component": "Column", "children": ["label", "stream"], "gap": "2" },
|
|
15
|
+
{ "id": "label","component": "Text", "variant": "caption", "color": "muted", "textContent": "Assistant" },
|
|
16
|
+
{ "id": "stream","component": "Stream",
|
|
17
|
+
"textContent": "Analyzing your request and generating a response…" }
|
|
18
|
+
]
|
|
19
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# Generated by scripts/generate-yaml-scaffolds.mjs
|
|
2
|
+
# Narrative doc — JSON sibling remains the canonical machine source.
|
|
3
|
+
# Fill in TODO sections by hand.
|
|
4
|
+
|
|
5
|
+
$schema: ../../../../../scripts/schemas/composition.yaml.schema.json
|
|
6
|
+
kind: composition
|
|
7
|
+
name: ai-streaming-response
|
|
8
|
+
domain: agent
|
|
9
|
+
description: >-
|
|
10
|
+
AI response card with streaming text — shows the agent's answer as it generates.
|
|
11
|
+
keywords:
|
|
12
|
+
- ai
|
|
13
|
+
- streaming
|
|
14
|
+
- response
|
|
15
|
+
- agent output
|
|
16
|
+
- stream
|
|
17
|
+
- llm
|
|
18
|
+
tags:
|
|
19
|
+
purpose:
|
|
20
|
+
- agent
|
|
21
|
+
- ai
|
|
22
|
+
- stream
|
|
23
|
+
complexity: atomic
|
|
24
|
+
layout: stacked
|
|
25
|
+
related: []
|
|
26
|
+
fragments_used: []
|
|
27
|
+
use-cases:
|
|
28
|
+
- "TODO: primary use case"
|
|
29
|
+
wiring-intent:
|
|
30
|
+
summary: Static composition (no interactive wiring).
|
|
31
|
+
controllers: []
|
|
32
|
+
actions: []
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../_schema.json",
|
|
3
|
+
"name": "alert-banner",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"kind": "composition",
|
|
6
|
+
"domain": "agent",
|
|
7
|
+
"description": "Dismissible alert banner with message text and an action button — for cookie consent, warnings, notices.",
|
|
8
|
+
"tags": {
|
|
9
|
+
"purpose": ["notice", "warning", "consent"],
|
|
10
|
+
"complexity": "atomic",
|
|
11
|
+
"layout": "row"
|
|
12
|
+
},
|
|
13
|
+
"keywords": ["alert", "banner", "notice", "warning", "cookie consent", "dismiss"],
|
|
14
|
+
|
|
15
|
+
"template": [
|
|
16
|
+
{ "id": "root", "component": "Alert", "variant": "info", "children": ["row"] },
|
|
17
|
+
{ "id": "row", "component": "Row", "children": ["msg", "actions"], "gap": "3", "align": "center" },
|
|
18
|
+
{ "id": "msg", "component": "Text", "variant": "body",
|
|
19
|
+
"textContent": "We use cookies to improve your experience. Read our privacy policy." },
|
|
20
|
+
{ "id": "actions", "$fragment": "dual-cta-row",
|
|
21
|
+
"bindings": { "primaryLabel": "Accept", "secondaryLabel": "Dismiss" } }
|
|
22
|
+
]
|
|
23
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Generated by scripts/generate-yaml-scaffolds.mjs
|
|
2
|
+
# Narrative doc — JSON sibling remains the canonical machine source.
|
|
3
|
+
# Fill in TODO sections by hand.
|
|
4
|
+
|
|
5
|
+
$schema: ../../../../../scripts/schemas/composition.yaml.schema.json
|
|
6
|
+
kind: composition
|
|
7
|
+
name: alert-banner
|
|
8
|
+
domain: agent
|
|
9
|
+
description: >-
|
|
10
|
+
Dismissible alert banner with message text and an action button — for cookie consent, warnings, notices.
|
|
11
|
+
keywords:
|
|
12
|
+
- alert
|
|
13
|
+
- banner
|
|
14
|
+
- notice
|
|
15
|
+
- warning
|
|
16
|
+
- cookie consent
|
|
17
|
+
- dismiss
|
|
18
|
+
tags:
|
|
19
|
+
purpose:
|
|
20
|
+
- notice
|
|
21
|
+
- warning
|
|
22
|
+
- consent
|
|
23
|
+
complexity: atomic
|
|
24
|
+
layout: row
|
|
25
|
+
related: []
|
|
26
|
+
fragments_used:
|
|
27
|
+
- fragment: dual-cta-row
|
|
28
|
+
prefix: ""
|
|
29
|
+
use-cases:
|
|
30
|
+
- "TODO: primary use case"
|
|
31
|
+
wiring-intent:
|
|
32
|
+
summary: Static composition (no interactive wiring).
|
|
33
|
+
controllers: []
|
|
34
|
+
actions: []
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../_schema.json",
|
|
3
|
+
"name": "chat-interface",
|
|
4
|
+
"version": 2,
|
|
5
|
+
"kind": "composition",
|
|
6
|
+
"domain": "agent",
|
|
7
|
+
"description": "Chat interface with message bubbles (sent and received) using the Chat primitive plus a composer row with input and send button. Visually distinguishes user vs agent messages.",
|
|
8
|
+
"tags": {
|
|
9
|
+
"purpose": [
|
|
10
|
+
"chat",
|
|
11
|
+
"messaging",
|
|
12
|
+
"agent"
|
|
13
|
+
],
|
|
14
|
+
"complexity": "medium",
|
|
15
|
+
"layout": "stacked"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [
|
|
18
|
+
"chat",
|
|
19
|
+
"message",
|
|
20
|
+
"bubbles",
|
|
21
|
+
"conversation",
|
|
22
|
+
"messaging",
|
|
23
|
+
"ai chat",
|
|
24
|
+
"chat interface",
|
|
25
|
+
"message bubbles",
|
|
26
|
+
"sent",
|
|
27
|
+
"received",
|
|
28
|
+
"composer",
|
|
29
|
+
"chat bubbles",
|
|
30
|
+
"chat history",
|
|
31
|
+
"send message",
|
|
32
|
+
"conversation view"
|
|
33
|
+
],
|
|
34
|
+
"template": [
|
|
35
|
+
{
|
|
36
|
+
"id": "root",
|
|
37
|
+
"component": "Card",
|
|
38
|
+
"children": [
|
|
39
|
+
"hdr",
|
|
40
|
+
"sec",
|
|
41
|
+
"ftr"
|
|
42
|
+
]
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"id": "hdr",
|
|
46
|
+
"$fragment": "card-header-heading",
|
|
47
|
+
"bindings": {
|
|
48
|
+
"heading": "Chat"
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"id": "sec",
|
|
53
|
+
"component": "Section",
|
|
54
|
+
"children": [
|
|
55
|
+
"chat"
|
|
56
|
+
]
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
"id": "chat",
|
|
60
|
+
"component": "Chat",
|
|
61
|
+
"children": [
|
|
62
|
+
"b1",
|
|
63
|
+
"b2",
|
|
64
|
+
"b3",
|
|
65
|
+
"b4"
|
|
66
|
+
]
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
"id": "b1",
|
|
70
|
+
"component": "Text",
|
|
71
|
+
"role": "assistant",
|
|
72
|
+
"variant": "body",
|
|
73
|
+
"textContent": "Hi \u2014 how can I help you today?"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"id": "b2",
|
|
77
|
+
"component": "Text",
|
|
78
|
+
"role": "user",
|
|
79
|
+
"variant": "body",
|
|
80
|
+
"textContent": "I'd like to reset my password."
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"id": "b3",
|
|
84
|
+
"component": "Text",
|
|
85
|
+
"role": "assistant",
|
|
86
|
+
"variant": "body",
|
|
87
|
+
"textContent": "Sure \u2014 I just sent a reset link to your email."
|
|
88
|
+
},
|
|
89
|
+
{
|
|
90
|
+
"id": "b4",
|
|
91
|
+
"component": "Text",
|
|
92
|
+
"role": "user",
|
|
93
|
+
"variant": "body",
|
|
94
|
+
"textContent": "Got it, thanks!"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"id": "ftr",
|
|
98
|
+
"component": "Footer",
|
|
99
|
+
"children": [
|
|
100
|
+
"composer"
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
{
|
|
104
|
+
"id": "composer",
|
|
105
|
+
"component": "Row",
|
|
106
|
+
"children": [
|
|
107
|
+
"input",
|
|
108
|
+
"send"
|
|
109
|
+
],
|
|
110
|
+
"gap": "2",
|
|
111
|
+
"align": "center"
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
"id": "input",
|
|
115
|
+
"component": "Input",
|
|
116
|
+
"name": "message",
|
|
117
|
+
"placeholder": "Type a message\u2026"
|
|
118
|
+
},
|
|
119
|
+
{
|
|
120
|
+
"id": "send",
|
|
121
|
+
"component": "Button",
|
|
122
|
+
"variant": "primary",
|
|
123
|
+
"icon": "send",
|
|
124
|
+
"text": "Send"
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Generated by scripts/generate-yaml-scaffolds.mjs
|
|
2
|
+
# Narrative doc — JSON sibling remains the canonical machine source.
|
|
3
|
+
# Fill in TODO sections by hand.
|
|
4
|
+
|
|
5
|
+
$schema: ../../../../../scripts/schemas/composition.yaml.schema.json
|
|
6
|
+
kind: composition
|
|
7
|
+
name: chat-interface
|
|
8
|
+
domain: agent
|
|
9
|
+
description: >-
|
|
10
|
+
Chat interface with message bubbles from alternating speakers plus a composer input at the bottom.
|
|
11
|
+
keywords:
|
|
12
|
+
- chat
|
|
13
|
+
- message
|
|
14
|
+
- bubbles
|
|
15
|
+
- conversation
|
|
16
|
+
- messaging
|
|
17
|
+
- ai chat
|
|
18
|
+
tags:
|
|
19
|
+
purpose:
|
|
20
|
+
- chat
|
|
21
|
+
- messaging
|
|
22
|
+
- agent
|
|
23
|
+
complexity: medium
|
|
24
|
+
layout: stacked
|
|
25
|
+
related: []
|
|
26
|
+
fragments_used:
|
|
27
|
+
- fragment: card-header-heading
|
|
28
|
+
prefix: ""
|
|
29
|
+
use-cases:
|
|
30
|
+
- "TODO: primary use case"
|
|
31
|
+
wiring-intent:
|
|
32
|
+
summary: Static composition (no interactive wiring).
|
|
33
|
+
controllers: []
|
|
34
|
+
actions: []
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../_schema.json",
|
|
3
|
+
"name": "command-palette",
|
|
4
|
+
"version": 2,
|
|
5
|
+
"kind": "composition",
|
|
6
|
+
"domain": "agent",
|
|
7
|
+
"description": "Command palette with a search Input for filtering and a keyboard-navigable Command list of executable actions with icons and keyboard shortcut hints.",
|
|
8
|
+
"tags": {
|
|
9
|
+
"purpose": [
|
|
10
|
+
"command",
|
|
11
|
+
"search",
|
|
12
|
+
"quick-action",
|
|
13
|
+
"navigation"
|
|
14
|
+
],
|
|
15
|
+
"complexity": "medium",
|
|
16
|
+
"layout": "stacked"
|
|
17
|
+
},
|
|
18
|
+
"keywords": [
|
|
19
|
+
"command palette",
|
|
20
|
+
"cmdk",
|
|
21
|
+
"quick action",
|
|
22
|
+
"command search",
|
|
23
|
+
"command list",
|
|
24
|
+
"fuzzy search",
|
|
25
|
+
"cmd+k",
|
|
26
|
+
"ctrl+k",
|
|
27
|
+
"spotlight",
|
|
28
|
+
"quick switcher",
|
|
29
|
+
"launcher",
|
|
30
|
+
"keyboard navigation",
|
|
31
|
+
"keyboard shortcuts",
|
|
32
|
+
"action menu",
|
|
33
|
+
"command menu",
|
|
34
|
+
"palette"
|
|
35
|
+
],
|
|
36
|
+
"template": [
|
|
37
|
+
{
|
|
38
|
+
"id": "root",
|
|
39
|
+
"component": "Card",
|
|
40
|
+
"children": [
|
|
41
|
+
"hdr",
|
|
42
|
+
"sec"
|
|
43
|
+
]
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"id": "hdr",
|
|
47
|
+
"component": "Header",
|
|
48
|
+
"children": [
|
|
49
|
+
"input"
|
|
50
|
+
]
|
|
51
|
+
},
|
|
52
|
+
{
|
|
53
|
+
"id": "input",
|
|
54
|
+
"component": "Input",
|
|
55
|
+
"name": "q",
|
|
56
|
+
"placeholder": "Type a command or search\u2026",
|
|
57
|
+
"icon": "search"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"id": "sec",
|
|
61
|
+
"component": "Section",
|
|
62
|
+
"children": [
|
|
63
|
+
"cmd"
|
|
64
|
+
]
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"id": "cmd",
|
|
68
|
+
"component": "Command",
|
|
69
|
+
"children": [
|
|
70
|
+
"c1",
|
|
71
|
+
"c2",
|
|
72
|
+
"c3",
|
|
73
|
+
"c4",
|
|
74
|
+
"c5"
|
|
75
|
+
]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"id": "c1",
|
|
79
|
+
"component": "ActionItem",
|
|
80
|
+
"icon": "file-plus",
|
|
81
|
+
"text": "Create new document",
|
|
82
|
+
"shortcut": "\u2318N"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"id": "c2",
|
|
86
|
+
"component": "ActionItem",
|
|
87
|
+
"icon": "settings",
|
|
88
|
+
"text": "Open settings",
|
|
89
|
+
"shortcut": "\u2318,"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"id": "c3",
|
|
93
|
+
"component": "ActionItem",
|
|
94
|
+
"icon": "user-plus",
|
|
95
|
+
"text": "Invite teammate",
|
|
96
|
+
"shortcut": "\u2318I"
|
|
97
|
+
},
|
|
98
|
+
{
|
|
99
|
+
"id": "c4",
|
|
100
|
+
"component": "ActionItem",
|
|
101
|
+
"icon": "search",
|
|
102
|
+
"text": "Search help articles",
|
|
103
|
+
"shortcut": "?"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "c5",
|
|
107
|
+
"component": "ActionItem",
|
|
108
|
+
"icon": "log-out",
|
|
109
|
+
"text": "Sign out",
|
|
110
|
+
"shortcut": "\u2318Q"
|
|
111
|
+
}
|
|
112
|
+
]
|
|
113
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# Generated by scripts/generate-yaml-scaffolds.mjs
|
|
2
|
+
# Narrative doc — JSON sibling remains the canonical machine source.
|
|
3
|
+
# Fill in TODO sections by hand.
|
|
4
|
+
|
|
5
|
+
$schema: ../../../../../scripts/schemas/composition.yaml.schema.json
|
|
6
|
+
kind: composition
|
|
7
|
+
name: command-palette
|
|
8
|
+
domain: agent
|
|
9
|
+
description: >-
|
|
10
|
+
Command palette search — universal quick-action input with a list of matching commands.
|
|
11
|
+
keywords:
|
|
12
|
+
- command palette
|
|
13
|
+
- cmdk
|
|
14
|
+
- quick action
|
|
15
|
+
- command search
|
|
16
|
+
tags:
|
|
17
|
+
purpose:
|
|
18
|
+
- command
|
|
19
|
+
- search
|
|
20
|
+
- quick-action
|
|
21
|
+
complexity: simple
|
|
22
|
+
layout: stacked
|
|
23
|
+
related: []
|
|
24
|
+
fragments_used: []
|
|
25
|
+
use-cases:
|
|
26
|
+
- "TODO: primary use case"
|
|
27
|
+
wiring-intent:
|
|
28
|
+
summary: Static composition (no interactive wiring).
|
|
29
|
+
controllers: []
|
|
30
|
+
actions: []
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../_schema.json",
|
|
3
|
+
"name": "empty-state",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"kind": "composition",
|
|
6
|
+
"domain": "agent",
|
|
7
|
+
"description": "Empty state with illustration, explanation, and a primary action — shown when a list/view has no content or on error recovery.",
|
|
8
|
+
"tags": {
|
|
9
|
+
"purpose": ["empty-state", "error", "onboarding"],
|
|
10
|
+
"complexity": "atomic",
|
|
11
|
+
"layout": "centered"
|
|
12
|
+
},
|
|
13
|
+
"keywords": ["empty", "empty state", "no results", "no data", "no items", "illustration", "nothing", "get started", "onboarding placeholder"],
|
|
14
|
+
|
|
15
|
+
"template": [
|
|
16
|
+
{ "id": "root", "component": "EmptyState", "children": ["col"] },
|
|
17
|
+
{ "id": "col", "component": "Column", "children": ["tile", "btn"], "gap": "3", "align": "center" },
|
|
18
|
+
{ "id": "tile", "$fragment": "icon-title-description",
|
|
19
|
+
"bindings": { "icon": "inbox", "title": "Nothing here yet", "description": "Items you create will appear on this page." } },
|
|
20
|
+
{ "id": "btn", "component": "Button", "variant": "primary", "text": "Get started" }
|
|
21
|
+
]
|
|
22
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# Generated by scripts/generate-yaml-scaffolds.mjs
|
|
2
|
+
# Narrative doc — JSON sibling remains the canonical machine source.
|
|
3
|
+
# Fill in TODO sections by hand.
|
|
4
|
+
|
|
5
|
+
$schema: ../../../../../scripts/schemas/composition.yaml.schema.json
|
|
6
|
+
kind: composition
|
|
7
|
+
name: empty-state
|
|
8
|
+
domain: agent
|
|
9
|
+
description: >-
|
|
10
|
+
Empty state with illustration, explanation, and a primary action — shown when a list/view has no content or on error recovery.
|
|
11
|
+
keywords:
|
|
12
|
+
- empty
|
|
13
|
+
- empty state
|
|
14
|
+
- no results
|
|
15
|
+
- illustration
|
|
16
|
+
- error state
|
|
17
|
+
- retry
|
|
18
|
+
- nothing
|
|
19
|
+
tags:
|
|
20
|
+
purpose:
|
|
21
|
+
- empty-state
|
|
22
|
+
- error
|
|
23
|
+
- onboarding
|
|
24
|
+
complexity: atomic
|
|
25
|
+
layout: centered
|
|
26
|
+
related: []
|
|
27
|
+
fragments_used:
|
|
28
|
+
- fragment: icon-title-description
|
|
29
|
+
prefix: ""
|
|
30
|
+
use-cases:
|
|
31
|
+
- "TODO: primary use case"
|
|
32
|
+
wiring-intent:
|
|
33
|
+
summary: Static composition (no interactive wiring).
|
|
34
|
+
controllers: []
|
|
35
|
+
actions: []
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../_schema.json",
|
|
3
|
+
"name": "error-state-retry",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"kind": "composition",
|
|
6
|
+
"domain": "agent",
|
|
7
|
+
"description": "Error state card with an error alert/icon, failure explanation, and prominent Retry button plus a secondary recovery action. Shown when an operation fails and the user can retry.",
|
|
8
|
+
"tags": {
|
|
9
|
+
"purpose": ["error-state", "feedback", "recovery"],
|
|
10
|
+
"complexity": "atomic",
|
|
11
|
+
"layout": "centered"
|
|
12
|
+
},
|
|
13
|
+
"keywords": [
|
|
14
|
+
"error", "error state", "error message", "failure", "failed",
|
|
15
|
+
"retry", "retry button", "try again", "reload", "refresh",
|
|
16
|
+
"something went wrong", "unable to load", "request failed",
|
|
17
|
+
"network error", "connection error", "problem", "alert", "recovery"
|
|
18
|
+
],
|
|
19
|
+
|
|
20
|
+
"template": [
|
|
21
|
+
{ "id": "root", "component": "Card", "children": ["col"] },
|
|
22
|
+
{ "id": "col", "component": "Column", "children": ["alert", "tile", "actions"], "gap": "3", "align": "center" },
|
|
23
|
+
{ "id": "alert", "component": "Alert", "variant": "danger",
|
|
24
|
+
"title": "Something went wrong",
|
|
25
|
+
"description": "We couldn't complete that request. Check your connection and try again." },
|
|
26
|
+
{ "id": "tile", "$fragment": "icon-title-description",
|
|
27
|
+
"bindings": { "icon": "alert-circle", "title": "Request failed", "description": "The server returned an error. Retrying may resolve the issue." } },
|
|
28
|
+
{ "id": "actions", "component": "Row", "gap": "2", "align": "center", "children": ["retry", "cancel"] },
|
|
29
|
+
{ "id": "retry", "component": "Button", "variant": "primary", "icon": "refresh-cw", "text": "Retry" },
|
|
30
|
+
{ "id": "cancel", "component": "Button", "variant": "ghost", "text": "Go back" }
|
|
31
|
+
]
|
|
32
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "../_schema.json",
|
|
3
|
+
"name": "loading-skeleton",
|
|
4
|
+
"version": 1,
|
|
5
|
+
"kind": "composition",
|
|
6
|
+
"domain": "agent",
|
|
7
|
+
"description": "Skeleton placeholder mimicking a card layout — shown during data loading for perceived-performance.",
|
|
8
|
+
"tags": {
|
|
9
|
+
"purpose": ["loading", "skeleton", "placeholder"],
|
|
10
|
+
"complexity": "atomic",
|
|
11
|
+
"layout": "stacked"
|
|
12
|
+
},
|
|
13
|
+
"keywords": ["skeleton", "loading", "placeholder", "shimmer", "loader"],
|
|
14
|
+
|
|
15
|
+
"template": [
|
|
16
|
+
{ "id": "root", "component": "Card", "children": ["hdr", "sec"] },
|
|
17
|
+
{ "id": "hdr", "component": "Header", "children": ["sk-title"] },
|
|
18
|
+
{ "id": "sk-title", "component": "Skeleton", "width": "40%", "height": "1.5rem" },
|
|
19
|
+
{ "id": "sec", "component": "Section", "children": ["col"] },
|
|
20
|
+
{ "id": "col", "component": "Column", "children": ["l1", "l2", "l3"], "gap": "2" },
|
|
21
|
+
{ "id": "l1", "component": "Skeleton", "width": "100%", "height": "1rem" },
|
|
22
|
+
{ "id": "l2", "component": "Skeleton", "width": "90%", "height": "1rem" },
|
|
23
|
+
{ "id": "l3", "component": "Skeleton", "width": "75%", "height": "1rem" }
|
|
24
|
+
]
|
|
25
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Generated by scripts/generate-yaml-scaffolds.mjs
|
|
2
|
+
# Narrative doc — JSON sibling remains the canonical machine source.
|
|
3
|
+
# Fill in TODO sections by hand.
|
|
4
|
+
|
|
5
|
+
$schema: ../../../../../scripts/schemas/composition.yaml.schema.json
|
|
6
|
+
kind: composition
|
|
7
|
+
name: loading-skeleton
|
|
8
|
+
domain: agent
|
|
9
|
+
description: >-
|
|
10
|
+
Skeleton placeholder mimicking a card layout — shown during data loading for perceived-performance.
|
|
11
|
+
keywords:
|
|
12
|
+
- skeleton
|
|
13
|
+
- loading
|
|
14
|
+
- placeholder
|
|
15
|
+
- shimmer
|
|
16
|
+
- loader
|
|
17
|
+
tags:
|
|
18
|
+
purpose:
|
|
19
|
+
- loading
|
|
20
|
+
- skeleton
|
|
21
|
+
- placeholder
|
|
22
|
+
complexity: atomic
|
|
23
|
+
layout: stacked
|
|
24
|
+
related: []
|
|
25
|
+
fragments_used: []
|
|
26
|
+
use-cases:
|
|
27
|
+
- "TODO: primary use case"
|
|
28
|
+
wiring-intent:
|
|
29
|
+
summary: Static composition (no interactive wiring).
|
|
30
|
+
controllers: []
|
|
31
|
+
actions: []
|