@adia-ai/a2ui-corpus 0.4.2 → 0.4.4
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 +63 -0
- package/README.md +59 -51
- package/catalog-a2ui_0_9.json +318 -15
- package/catalog-a2ui_0_9_rules.txt +18 -0
- package/chunks/_index.json +1263 -496
- package/chunks/agent-activity-feed.json +1 -1
- package/chunks/agent-canvas-shell.json +1 -1
- package/chunks/agent-reasoning-collapsed.json +1 -1
- package/chunks/auth-account-deleted-actions.json +1 -1
- package/chunks/auth-account-deleted.json +1 -1
- package/chunks/auth-card-content.json +1 -1
- package/chunks/auth-card-header.json +1 -1
- package/chunks/auth-email-entry.json +1 -1
- package/chunks/auth-email-verify-confirm.json +1 -1
- package/chunks/auth-email-verify.json +1 -1
- package/chunks/auth-forbidden-actions.json +1 -1
- package/chunks/auth-forbidden.json +1 -1
- package/chunks/auth-invite-actions.json +1 -1
- package/chunks/auth-invite-team-card.json +1 -1
- package/chunks/auth-link-expired-form.json +1 -1
- package/chunks/auth-link-expired.json +1 -1
- package/chunks/auth-locked-account.json +1 -1
- package/chunks/auth-locked-recovery-options.json +1 -1
- package/chunks/auth-mfa-enrollment-submit.json +1 -1
- package/chunks/auth-mfa-enrollment.json +224 -2
- package/chunks/auth-mfa-fallback-actions.json +1 -1
- package/chunks/auth-mfa-recovery.json +1 -1
- package/chunks/auth-new-password-form.json +1 -1
- package/chunks/auth-new-password.json +156 -2
- package/chunks/auth-oauth-fallback-actions.json +1 -1
- package/chunks/auth-oauth-interstitial.json +1 -1
- package/chunks/auth-password-challenge.json +1 -1
- package/chunks/auth-password-reset-form.json +1 -1
- package/chunks/auth-password-reset.json +151 -1
- package/chunks/auth-profile-form.json +1 -1
- package/chunks/auth-profile-setup.json +1 -1
- package/chunks/auth-reset-sent.json +1 -1
- package/chunks/auth-session-expired-actions.json +1 -1
- package/chunks/auth-session-expired.json +1 -1
- package/chunks/auth-signin-card-email.json +190 -2
- package/chunks/auth-signin-card-magic-link.json +119 -2
- package/chunks/auth-signin-card-mfa.json +162 -1
- package/chunks/auth-signin-card-otp.json +116 -2
- package/chunks/auth-signin-card-password.json +202 -2
- package/chunks/auth-signin-card-recovery.json +1 -1
- package/chunks/auth-signout-actions.json +1 -1
- package/chunks/auth-signout.json +1 -1
- package/chunks/auth-signup-email-entry.json +1 -1
- package/chunks/auth-signup-entry.json +191 -1
- package/chunks/auth-signup-social-auths.json +1 -1
- package/chunks/auth-signup-verify.json +1 -1
- package/chunks/auth-social-auths.json +1 -1
- package/chunks/auth-sso-providers.json +1 -1
- package/chunks/auth-sso-required.json +1 -1
- package/chunks/auth-team-invite.json +1 -1
- package/chunks/card-header-with-description.json +12 -0
- package/chunks/chat-page-shell.json +1 -1
- package/chunks/chat-streaming-surface.json +1 -1
- package/chunks/command-palette.json +1 -1
- package/chunks/commerce-pricing-tiers.json +1 -1
- package/chunks/conversion-funnel-6step.json +1 -1
- package/chunks/dashboard-acquisition-panel.json +162 -1
- package/chunks/dashboard-admin-page.json +2879 -4
- package/chunks/dashboard-audience-kpis.json +1 -1
- package/chunks/dashboard-audience-panel.json +488 -1
- package/chunks/dashboard-behavior-panel.json +91 -1
- package/chunks/dashboard-chart-recent.json +474 -3
- package/chunks/dashboard-cohort-retention.json +1 -1
- package/chunks/dashboard-conversion-panel.json +196 -1
- package/chunks/dashboard-country-list.json +1 -1
- package/chunks/dashboard-filter-bar.json +1 -1
- package/chunks/dashboard-funnel.json +1 -1
- package/chunks/dashboard-kpi-grid.json +1 -1
- package/chunks/dashboard-notifications-feed.json +1 -1
- package/chunks/dashboard-notifications-panel.json +383 -1
- package/chunks/dashboard-overview-panel.json +1363 -1
- package/chunks/dashboard-page-header.json +140 -1
- package/chunks/dashboard-pages-table.json +1 -1
- package/chunks/dashboard-quick-actions.json +1 -1
- package/chunks/dashboard-reports-panel.json +97 -1
- package/chunks/dashboard-reports-table.json +1 -1
- package/chunks/dashboard-spark-cards.json +1 -1
- package/chunks/dashboard-storage-card.json +1 -1
- package/chunks/dashboard-tabs.json +1 -1
- package/chunks/dashboard-team-actions-storage.json +502 -1
- package/chunks/dashboard-team-list.json +1 -1
- package/chunks/dashboard-traffic-channels.json +1 -1
- package/chunks/dashboard-transactions-table.json +1 -1
- package/chunks/destructive-confirm-modal.json +1 -1
- package/chunks/doc-editor-shell.json +1 -1
- package/chunks/drawer-2fa-key.json +1 -1
- package/chunks/drawer-2fa-sms.json +1 -1
- package/chunks/drawer-2fa-totp.json +1 -1
- package/chunks/drawer-cancel-sub.json +1 -1
- package/chunks/drawer-change-plan.json +1 -1
- package/chunks/drawer-custom-roles.json +5 -3
- package/chunks/drawer-data-start.json +1 -1
- package/chunks/drawer-delete-account.json +1 -1
- package/chunks/drawer-delete-workspace.json +1 -1
- package/chunks/drawer-discord.json +1 -1
- package/chunks/drawer-figma.json +1 -1
- package/chunks/drawer-first-dashboard.json +1 -1
- package/chunks/drawer-gcal.json +1 -1
- package/chunks/drawer-github.json +5 -3
- package/chunks/drawer-invite.json +1 -1
- package/chunks/drawer-payment-method.json +1 -1
- package/chunks/drawer-report.json +1 -1
- package/chunks/drawer-revoke-session.json +1 -1
- package/chunks/drawer-role.json +1 -1
- package/chunks/drawer-slack.json +1 -1
- package/chunks/drawer-smtp.json +5 -3
- package/chunks/drawer-source.json +1 -1
- package/chunks/drawer-transaction.json +1 -1
- package/chunks/editor-code-pane.json +1 -1
- package/chunks/editor-page-shell.json +1 -1
- package/chunks/editor-preview-pane.json +1 -1
- package/chunks/error-404-actions.json +1 -1
- package/chunks/error-404.json +161 -3
- package/chunks/error-500-actions.json +1 -1
- package/chunks/error-500.json +166 -3
- package/chunks/error-maintenance-actions.json +1 -1
- package/chunks/error-maintenance.json +158 -3
- package/chunks/error-page-shell.json +1 -1
- package/chunks/footer-primary-only.json +12 -0
- package/chunks/form-page-shell.json +1 -1
- package/chunks/gallery-page-shell.json +1 -1
- package/chunks/icon-text-row.json +16 -0
- package/chunks/image-tile.json +12 -0
- package/chunks/kanban-board-3col.json +5 -3
- package/chunks/kanban-page-shell.json +1 -1
- package/chunks/labeled-textarea.json +14 -0
- package/chunks/linked-record-row.json +57 -0
- package/chunks/marketing-hero-cta.json +1 -1
- package/chunks/marketing-page-shell.json +1 -1
- package/chunks/member-edit-drawer.json +1 -1
- package/chunks/metadata-description-list.json +14 -0
- package/chunks/onb-completion.json +1 -1
- package/chunks/onb-extension-install.json +1 -1
- package/chunks/onb-hero-welcome.json +1 -1
- package/chunks/onb-import-picker.json +1 -1
- package/chunks/onb-mobile-handoff.json +1 -1
- package/chunks/onb-notification-prefs.json +1 -1
- package/chunks/onb-persona-picker.json +1 -1
- package/chunks/onb-provider-tiles.json +1 -1
- package/chunks/onb-settings-review.json +1 -1
- package/chunks/onb-step-footer.json +1 -1
- package/chunks/onb-step-header.json +1 -1
- package/chunks/onb-step-progress.json +1 -1
- package/chunks/onb-step-shell.json +249 -1
- package/chunks/onb-story-pane.json +1 -1
- package/chunks/onb-tutorial-steps.json +1 -1
- package/chunks/playground-a2ui.json +1 -1
- package/chunks/playground-app-shell.json +2 -2
- package/chunks/playground-chat.json +2 -2
- package/chunks/playground-construct-canvas.json +4 -6
- package/chunks/playground-gen-ui.json +2 -2
- package/chunks/playground-render-preview.json +1 -1
- package/chunks/playground-streams-bridge.json +1 -1
- package/chunks/playground-table-toolbar.json +1 -1
- package/chunks/reg-address-form.json +1 -1
- package/chunks/reg-billing-card.json +1 -1
- package/chunks/reg-brand-scrape.json +1 -1
- package/chunks/reg-departments-toggle.json +1 -1
- package/chunks/reg-extended-profile.json +1 -1
- package/chunks/reg-final-done.json +1 -1
- package/chunks/reg-helpdesk-grid.json +1 -1
- package/chunks/reg-import-picker.json +1 -1
- package/chunks/reg-integrations-grid.json +1 -1
- package/chunks/reg-invite-form.json +1 -1
- package/chunks/reg-legal-entity.json +1 -1
- package/chunks/reg-org-chart-review.json +1 -1
- package/chunks/reg-profile-identity.json +1 -1
- package/chunks/reg-step-footer.json +1 -1
- package/chunks/reg-step-header.json +1 -1
- package/chunks/reg-step-progress.json +1 -1
- package/chunks/reg-step-shell.json +565 -1
- package/chunks/reg-story-pane.json +1 -1
- package/chunks/reg-success-summary.json +1 -1
- package/chunks/reg-team-size.json +1 -1
- package/chunks/reg-usecase-picker.json +1 -1
- package/chunks/reg-workspace-name.json +1 -1
- package/chunks/section-with-stack.json +12 -0
- package/chunks/settings-appearance.json +26 -0
- package/chunks/settings-billing-plan.json +1 -1
- package/chunks/settings-general-form.json +1 -1
- package/chunks/settings-integrations.json +154 -3
- package/chunks/settings-members-invite.json +5 -3
- package/chunks/settings-notifications.json +1 -1
- package/chunks/settings-page-shell.json +1 -1
- package/chunks/settings-profile-security.json +1 -1
- package/chunks/text-card.json +14 -0
- package/chunks/user-identity-row.json +16 -0
- package/chunks/user-profile-card.json +1 -1
- package/chunks/users-table-badge.json +1 -1
- package/compositions/agent/ai-streaming-response.json +55 -9
- package/compositions/agent/alert-banner.json +46 -10
- package/compositions/agent/chat-interface.json +15 -7
- package/compositions/agent/command-palette.json +2 -2
- package/compositions/agent/empty-state.json +70 -11
- package/compositions/agent/error-state-retry.json +100 -17
- package/compositions/agent/loading-skeleton.json +76 -12
- package/compositions/agent/notification-preferences.json +386 -23
- package/compositions/agent/toast-stack.json +42 -7
- package/compositions/data/activity-feed.json +231 -17
- package/compositions/data/audit-log-viewer.json +453 -44
- package/compositions/data/bookmark-list.json +188 -16
- package/compositions/data/bulk-action-toolbar.json +137 -19
- package/compositions/data/changelog-feed.json +296 -30
- package/compositions/data/chart-dashboard.json +96 -11
- package/compositions/data/cohort-retention.json +392 -40
- package/compositions/data/column-manager.json +316 -52
- package/compositions/data/data-table-paginated.json +96 -18
- package/compositions/data/email-inbox-list.json +224 -13
- package/compositions/data/funnel-analytics.json +424 -26
- package/compositions/data/heatmap-calendar.json +140 -27
- package/compositions/data/invoice-table.json +107 -18
- package/compositions/data/kpi-overview.json +187 -17
- package/compositions/data/notification-center.json +224 -16
- package/compositions/data/object-inspector.json +463 -43
- package/compositions/data/product-specs-card.json +66 -12
- package/compositions/data/progress-tracker.json +140 -13
- package/compositions/data/review-card.json +94 -14
- package/compositions/data/saved-views-filter-bar.json +232 -37
- package/compositions/data/shopping-cart-summary.json +173 -21
- package/compositions/data/stat-card-dashboard.json +219 -18
- package/compositions/data/status-page.json +337 -30
- package/compositions/data/virtualized-table.json +269 -38
- package/compositions/data/weather-widget.json +77 -13
- package/compositions/forms/change-password-form.json +123 -16
- package/compositions/forms/color-picker-panel.json +85 -11
- package/compositions/forms/contact-form.json +127 -17
- package/compositions/forms/credit-card-payment-form.json +137 -16
- package/compositions/forms/data-import-mapper.json +244 -33
- package/compositions/forms/data-import-wizard.json +268 -29
- package/compositions/forms/date-time-picker-form.json +114 -13
- package/compositions/forms/destructive-confirm.json +206 -21
- package/compositions/forms/feedback-form.json +96 -14
- package/compositions/forms/file-upload-form.json +82 -11
- package/compositions/forms/login-form.json +122 -14
- package/compositions/forms/multi-step-wizard.json +133 -15
- package/compositions/forms/newsletter-subscription-form.json +83 -12
- package/compositions/forms/otp-verification-form.json +88 -13
- package/compositions/forms/password-reset-form.json +83 -12
- package/compositions/forms/permission-matrix.json +177 -28
- package/compositions/forms/profile-edit-form.json +125 -16
- package/compositions/forms/radio-group-form.json +110 -15
- package/compositions/forms/search-filters.json +112 -13
- package/compositions/forms/settings-toggles-page.json +188 -16
- package/compositions/forms/signup-form.json +129 -17
- package/compositions/forms/slider-range-form.json +65 -10
- package/compositions/forms/tag-input-form.json +89 -14
- package/compositions/forms/team-members-rbac.json +669 -107
- package/compositions/layout/accordion-settings.json +450 -42
- package/compositions/layout/badge-variants-display.json +121 -18
- package/compositions/layout/bento-overview.json +399 -33
- package/compositions/layout/calendar-month-view.json +96 -30
- package/compositions/layout/code-block.json +65 -11
- package/compositions/layout/comparison-table.json +113 -21
- package/compositions/layout/divider-with-label.json +40 -8
- package/compositions/layout/drawer-panel.json +105 -12
- package/compositions/layout/embed-iframe.json +62 -12
- package/compositions/layout/faq-accordion.json +35 -28
- package/compositions/layout/feature-grid.json +197 -22
- package/compositions/layout/footer-nav.json +188 -23
- package/compositions/layout/hero-cta.json +69 -13
- package/compositions/layout/image-gallery.json +112 -13
- package/compositions/layout/image-with-caption.json +48 -9
- package/compositions/layout/kanban-board.json +199 -31
- package/compositions/layout/keyboard-shortcuts.json +145 -12
- package/compositions/layout/markdown-editor-preview.json +6 -6
- package/compositions/layout/media-player.json +85 -13
- package/compositions/layout/modal-form.json +97 -12
- package/compositions/layout/onboarding-checklist.json +92 -14
- package/compositions/layout/popover-tooltip.json +74 -12
- package/compositions/layout/pricing-tiers.json +229 -31
- package/compositions/layout/product-card.json +97 -17
- package/compositions/layout/sidebar-layout.json +157 -16
- package/compositions/layout/tabs-panel.json +115 -13
- package/compositions/layout/testimonial-grid.json +240 -23
- package/compositions/layout/three-pane-shell.json +278 -63
- package/compositions/layout/toolbar-actions.json +81 -13
- package/compositions/navigation/nav-menu-with-icons.json +119 -14
- package/compositions/navigation/pagination-controls.json +2 -2
- package/compositions/navigation/workspace-switcher.json +296 -22
- package/compositions/settings/api-keys.json +592 -47
- package/compositions/settings/feature-flags.json +423 -22
- package/compositions/settings/integrations-gallery.json +839 -44
- package/compositions/settings/session-device-mgmt.json +619 -42
- package/compositions/settings/usage-quota-meter.json +214 -23
- package/compositions/settings/webhooks.json +429 -45
- package/package.json +2 -4
- package/patterns/agent/command-palette.json +1 -1
- package/patterns/agent/loading-skeleton.json +0 -6
- package/patterns/agent/toast-notification.json +6 -9
- package/patterns/data/admin-dashboard-with-charts.json +0 -4
- package/patterns/data/api-key-table.json +1 -1
- package/patterns/data/bookmark-list-categories.json +537 -128
- package/patterns/data/dashboard.json +3 -3
- package/patterns/data/data-table-view.json +34 -10
- package/patterns/data/email-inbox.json +22 -22
- package/patterns/data/event-calendar-details.json +20 -22
- package/patterns/data/inventory-table.json +1 -1
- package/patterns/data/leaderboard.json +1 -1
- package/patterns/data/notification-center.json +57 -25
- package/patterns/data/onboarding-checklist.json +10 -35
- package/patterns/data/order-tracking.json +8 -8
- package/patterns/data/pagination-nav.json +2 -2
- package/patterns/data/progress-dashboard.json +4 -16
- package/patterns/data/progress-tracker.json +3 -6
- package/patterns/data/restaurant-menu.json +241 -59
- package/patterns/forms/auth-signup.json +5 -13
- package/patterns/forms/bleed-design-settings.json +3 -11
- package/patterns/forms/credit-card-payment.json +8 -8
- package/patterns/forms/data-import.json +1 -2
- package/patterns/forms/login-form.json +4 -12
- package/patterns/forms/notification-filters.json +19 -68
- package/patterns/forms/notification-preferences.json +125 -39
- package/patterns/forms/otp-verification.json +1 -2
- package/patterns/forms/password-reset.json +1 -1
- package/patterns/forms/radio-group-selection.json +13 -45
- package/patterns/forms/radio-group.json +11 -35
- package/patterns/forms/survey-rating-scales.json +41 -121
- package/patterns/forms/two-factor-auth.json +211 -61
- package/patterns/forms/wizard-steps.json +32 -9
- package/patterns/layout/accordion-settings.json +63 -119
- package/patterns/layout/avatar-group.json +19 -40
- package/patterns/layout/badge-showcase.json +51 -89
- package/patterns/layout/code-block.json +9 -15
- package/patterns/layout/cta-banner.json +9 -17
- package/patterns/layout/divider-label.json +6 -10
- package/patterns/layout/drawer-panel.json +29 -48
- package/patterns/layout/embed-content.json +7 -9
- package/patterns/layout/feature-carousel.json +20 -20
- package/patterns/layout/feature-grid.json +30 -56
- package/patterns/layout/hero-section.json +18 -26
- package/patterns/layout/image-carousel.json +12 -12
- package/patterns/layout/kbd-shortcuts.json +6 -6
- package/patterns/layout/popover-menu.json +23 -27
- package/patterns/layout/pricing-tiers.json +50 -96
- package/patterns/layout/product-carousel.json +24 -24
- package/patterns/layout/tabs-panels.json +29 -55
- package/patterns/layout/team-carousel.json +16 -16
- package/patterns/layout/testimonials-carousel.json +12 -12
- package/patterns/layout/testimonials-grid.json +54 -92
- package/patterns/layout/toolbar-buttons.json +42 -70
- package/patterns/layout/tooltip-buttons.json +26 -44
- package/exemplars/AUDIT-REPORT.md +0 -116
- package/exemplars/README.md +0 -49
- package/exemplars/_shell.css +0 -88
- package/exemplars/blocks-reference.md +0 -409
- package/exemplars/index.html +0 -21
- package/exemplars/prose/auth-login/auth-login.yaml +0 -38
- package/exemplars/prose/auth-login/index.html +0 -542
- package/exemplars/prose/cta/README.md +0 -3
- package/exemplars/prose/cta/cta.yaml +0 -38
- package/exemplars/prose/cta/data.json +0 -6
- package/exemplars/prose/cta/index.html +0 -125
- package/exemplars/prose/feature-grid/README.md +0 -3
- package/exemplars/prose/feature-grid/data.json +0 -13
- package/exemplars/prose/feature-grid/feature-grid.yaml +0 -35
- package/exemplars/prose/feature-grid/index.html +0 -93
- package/exemplars/prose/footer/README.md +0 -3
- package/exemplars/prose/footer/data.json +0 -10
- package/exemplars/prose/footer/footer.yaml +0 -32
- package/exemplars/prose/footer/index.html +0 -109
- package/exemplars/prose/hero/README.md +0 -3
- package/exemplars/prose/hero/data.json +0 -6
- package/exemplars/prose/hero/hero.yaml +0 -38
- package/exemplars/prose/hero/index.html +0 -217
- package/exemplars/prose/pricing/README.md +0 -3
- package/exemplars/prose/pricing/data.json +0 -9
- package/exemplars/prose/pricing/index.html +0 -298
- package/exemplars/prose/pricing/pricing.yaml +0 -38
- package/exemplars/prose/steps/README.md +0 -3
- package/exemplars/prose/steps/data.json +0 -31
- package/exemplars/prose/steps/index.html +0 -176
- package/exemplars/prose/steps/setup.js +0 -12
- package/exemplars/prose/steps/steps.yaml +0 -38
- package/exemplars/prose/testimonials/README.md +0 -3
- package/exemplars/prose/testimonials/data.json +0 -14
- package/exemplars/prose/testimonials/index.html +0 -297
- package/exemplars/prose/testimonials/testimonials.yaml +0 -33
- package/exemplars/ui/auth-login/auth-login.yaml +0 -38
- package/exemplars/ui/auth-login/index.html +0 -372
- package/fragments/_schema.json +0 -72
- package/fragments/action/dual-cta-row.json +0 -29
- package/fragments/action/dual-cta-row.yaml +0 -34
- package/fragments/action/footer-cancel-save.json +0 -31
- package/fragments/action/footer-cancel-save.yaml +0 -34
- package/fragments/action/footer-primary-only.json +0 -23
- package/fragments/action/footer-primary-only.yaml +0 -26
- package/fragments/content/calendar-day-cell.json +0 -29
- package/fragments/content/column-config-atom.json +0 -121
- package/fragments/content/credential-entry-atom.json +0 -126
- package/fragments/content/directory-entry-atom.json +0 -148
- package/fragments/content/email-row.json +0 -35
- package/fragments/content/email-row.yaml +0 -43
- package/fragments/content/faq-item.json +0 -54
- package/fragments/content/health-entry-atom.json +0 -85
- package/fragments/content/icon-text-row.json +0 -29
- package/fragments/content/icon-text-row.yaml +0 -36
- package/fragments/content/icon-title-description.json +0 -30
- package/fragments/content/icon-title-description.yaml +0 -37
- package/fragments/content/image-tile.json +0 -28
- package/fragments/content/image-tile.yaml +0 -32
- package/fragments/content/incident-row.json +0 -107
- package/fragments/content/kbd-shortcut-row.json +0 -29
- package/fragments/content/kbd-shortcut-row.yaml +0 -33
- package/fragments/content/key-value-row.json +0 -29
- package/fragments/content/key-value-row.yaml +0 -36
- package/fragments/content/labeled-progress.json +0 -29
- package/fragments/content/labeled-progress.yaml +0 -33
- package/fragments/content/link-list-column.json +0 -33
- package/fragments/content/link-list-column.yaml +0 -41
- package/fragments/content/linked-record-row.json +0 -95
- package/fragments/content/marketplace-tile-atom.json +0 -147
- package/fragments/content/metadata-description-list.json +0 -28
- package/fragments/content/metadata-description-list.yaml +0 -36
- package/fragments/content/pending-invite-row.json +0 -113
- package/fragments/content/release-entry.json +0 -155
- package/fragments/content/rollout-entry-atom.json +0 -168
- package/fragments/content/signed-in-entry-atom.json +0 -157
- package/fragments/content/stage-entry-atom.json +0 -115
- package/fragments/content/stat-card.json +0 -31
- package/fragments/content/stat-card.yaml +0 -39
- package/fragments/content/user-identity-row.json +0 -33
- package/fragments/content/user-identity-row.yaml +0 -43
- package/fragments/content/user-notification-row.json +0 -35
- package/fragments/content/user-notification-row.yaml +0 -50
- package/fragments/content/wizard-step-row.json +0 -96
- package/fragments/form/labeled-checkbox.json +0 -26
- package/fragments/form/labeled-checkbox.yaml +0 -36
- package/fragments/form/labeled-input.json +0 -28
- package/fragments/form/labeled-input.yaml +0 -38
- package/fragments/form/labeled-slider.json +0 -34
- package/fragments/form/labeled-slider.yaml +0 -50
- package/fragments/form/labeled-textarea.json +0 -28
- package/fragments/form/labeled-textarea.yaml +0 -39
- package/fragments/form/labeled-toggle.json +0 -29
- package/fragments/form/labeled-toggle.yaml +0 -43
- package/fragments/layout/card-header-heading.json +0 -35
- package/fragments/layout/card-header-heading.yaml +0 -27
- package/fragments/layout/card-header-with-badge.json +0 -30
- package/fragments/layout/card-header-with-badge.yaml +0 -40
- package/fragments/layout/card-header-with-description.json +0 -29
- package/fragments/layout/card-header-with-description.yaml +0 -32
- package/fragments/layout/pricing-tier-card.json +0 -37
- package/fragments/layout/pricing-tier-card.yaml +0 -50
- package/fragments/layout/section-with-stack.json +0 -46
- package/fragments/layout/section-with-stack.yaml +0 -39
- package/fragments/layout/text-card.json +0 -28
- package/fragments/layout/text-card.yaml +0 -30
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../_schema.json",
|
|
3
|
-
"name": "labeled-input",
|
|
4
|
-
"version": 2,
|
|
5
|
-
"kind": "fragment",
|
|
6
|
-
"semantic_role": "form-field",
|
|
7
|
-
"description": "Single-line input wrapped in a field-ui for proper label/control association. The atomic form field; composes into any form.",
|
|
8
|
-
"shape": "Field(Input)",
|
|
9
|
-
"tags": {
|
|
10
|
-
"purpose": ["form-field"],
|
|
11
|
-
"layout": "stacked"
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["input", "field", "form", "text", "label"],
|
|
14
|
-
"slots": [
|
|
15
|
-
{ "name": "label", "targetId": "fi-field", "attribute": "label", "required": true },
|
|
16
|
-
{ "name": "name", "targetId": "fi-in", "attribute": "name", "required": true },
|
|
17
|
-
{ "name": "placeholder", "targetId": "fi-in", "attribute": "placeholder" },
|
|
18
|
-
{ "name": "type", "targetId": "fi-in", "attribute": "type", "defaultValue": "text" }
|
|
19
|
-
],
|
|
20
|
-
"template": [
|
|
21
|
-
{ "id": "fi-field", "component": "Field", "label": "Label", "children": ["fi-in"] },
|
|
22
|
-
{ "id": "fi-in", "component": "Input", "name": "field", "placeholder": "" }
|
|
23
|
-
],
|
|
24
|
-
"links": {
|
|
25
|
-
"uses_components": ["Field", "Input"]
|
|
26
|
-
},
|
|
27
|
-
"metrics": { "leverage": 45, "pattern_count": 0, "instance_count": 45 }
|
|
28
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
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/fragment.yaml.schema.json
|
|
6
|
-
kind: fragment
|
|
7
|
-
name: labeled-input
|
|
8
|
-
description: >-
|
|
9
|
-
Single-line input with a label and placeholder. The atomic form field; composes into any form.
|
|
10
|
-
keywords:
|
|
11
|
-
- input
|
|
12
|
-
- field
|
|
13
|
-
- form
|
|
14
|
-
- text
|
|
15
|
-
- label
|
|
16
|
-
slots:
|
|
17
|
-
label:
|
|
18
|
-
required: true
|
|
19
|
-
target: fi-in.label
|
|
20
|
-
description: "TODO: describe 'label' slot"
|
|
21
|
-
name:
|
|
22
|
-
required: true
|
|
23
|
-
target: fi-in.name
|
|
24
|
-
description: "TODO: describe 'name' slot"
|
|
25
|
-
placeholder:
|
|
26
|
-
required: false
|
|
27
|
-
target: fi-in.placeholder
|
|
28
|
-
description: "TODO: describe 'placeholder' slot"
|
|
29
|
-
type:
|
|
30
|
-
required: false
|
|
31
|
-
target: fi-in.type
|
|
32
|
-
description: "TODO: describe 'type' slot"
|
|
33
|
-
leverage: 45
|
|
34
|
-
used_by: []
|
|
35
|
-
use-cases:
|
|
36
|
-
- "TODO: describe when to reach for this fragment"
|
|
37
|
-
components:
|
|
38
|
-
- Input
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../_schema.json",
|
|
3
|
-
"name": "labeled-slider",
|
|
4
|
-
"version": 1,
|
|
5
|
-
"kind": "fragment",
|
|
6
|
-
"semantic_role": "slider-with-label",
|
|
7
|
-
"description": "Slider input preceded by a caption label and followed by a muted value readout — for volume, price ranges, settings, intensity controls.",
|
|
8
|
-
"shape": "Column(Text[v=caption],Slider,Text[v=body])",
|
|
9
|
-
"tags": {
|
|
10
|
-
"purpose": ["slider-row", "range-control"],
|
|
11
|
-
"layout": "stacked"
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["slider", "range", "volume", "intensity", "control", "min", "max"],
|
|
14
|
-
"slots": [
|
|
15
|
-
{ "name": "label", "targetId": "ls-label", "attribute": "textContent", "required": true, "defaultValue": "Value" },
|
|
16
|
-
{ "name": "name", "targetId": "ls-slider", "attribute": "name", "required": false, "defaultValue": "value" },
|
|
17
|
-
{ "name": "min", "targetId": "ls-slider", "attribute": "min", "required": false, "defaultValue": 0 },
|
|
18
|
-
{ "name": "max", "targetId": "ls-slider", "attribute": "max", "required": false, "defaultValue": 100 },
|
|
19
|
-
{ "name": "value", "targetId": "ls-slider", "attribute": "value", "required": false, "defaultValue": 50 },
|
|
20
|
-
{ "name": "readout", "targetId": "ls-readout", "attribute": "textContent", "required": false, "defaultValue": "50%" }
|
|
21
|
-
],
|
|
22
|
-
"template": [
|
|
23
|
-
{ "id": "ls-root", "component": "Column", "children": ["ls-label", "ls-slider", "ls-readout"], "gap": "2" },
|
|
24
|
-
{ "id": "ls-label", "component": "Text", "variant": "caption", "textContent": "Value" },
|
|
25
|
-
{ "id": "ls-slider", "component": "Slider", "name": "value", "min": 0, "max": 100, "value": 50 },
|
|
26
|
-
{ "id": "ls-readout", "component": "Text", "variant": "body", "color": "muted", "textContent": "50%" }
|
|
27
|
-
],
|
|
28
|
-
"links": {
|
|
29
|
-
"uses_components": ["Column", "Text", "Slider"],
|
|
30
|
-
"used_by": [],
|
|
31
|
-
"related": ["labeled-input", "labeled-progress"]
|
|
32
|
-
},
|
|
33
|
-
"metrics": { "leverage": 3.0, "pattern_count": 1, "instance_count": 1 }
|
|
34
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
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/fragment.yaml.schema.json
|
|
6
|
-
kind: fragment
|
|
7
|
-
name: labeled-slider
|
|
8
|
-
description: >-
|
|
9
|
-
Slider input preceded by a caption label and followed by a muted value readout — for volume, price ranges, settings, intensity controls.
|
|
10
|
-
keywords:
|
|
11
|
-
- slider
|
|
12
|
-
- range
|
|
13
|
-
- volume
|
|
14
|
-
- intensity
|
|
15
|
-
- control
|
|
16
|
-
- min
|
|
17
|
-
- max
|
|
18
|
-
slots:
|
|
19
|
-
label:
|
|
20
|
-
required: true
|
|
21
|
-
target: ls-label.textContent
|
|
22
|
-
description: "TODO: describe 'label' slot"
|
|
23
|
-
name:
|
|
24
|
-
required: false
|
|
25
|
-
target: ls-slider.name
|
|
26
|
-
description: "TODO: describe 'name' slot"
|
|
27
|
-
min:
|
|
28
|
-
required: false
|
|
29
|
-
target: ls-slider.min
|
|
30
|
-
description: "TODO: describe 'min' slot"
|
|
31
|
-
max:
|
|
32
|
-
required: false
|
|
33
|
-
target: ls-slider.max
|
|
34
|
-
description: "TODO: describe 'max' slot"
|
|
35
|
-
value:
|
|
36
|
-
required: false
|
|
37
|
-
target: ls-slider.value
|
|
38
|
-
description: "TODO: describe 'value' slot"
|
|
39
|
-
readout:
|
|
40
|
-
required: false
|
|
41
|
-
target: ls-readout.textContent
|
|
42
|
-
description: "TODO: describe 'readout' slot"
|
|
43
|
-
leverage: 0
|
|
44
|
-
used_by: []
|
|
45
|
-
use-cases:
|
|
46
|
-
- "TODO: describe when to reach for this fragment"
|
|
47
|
-
components:
|
|
48
|
-
- Column
|
|
49
|
-
- Text
|
|
50
|
-
- Slider
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../_schema.json",
|
|
3
|
-
"name": "labeled-textarea",
|
|
4
|
-
"version": 2,
|
|
5
|
-
"kind": "fragment",
|
|
6
|
-
"semantic_role": "multiline-form-field",
|
|
7
|
-
"description": "Multi-line text input wrapped in a field-ui. Use for messages, descriptions, comments — any free-form text longer than a line.",
|
|
8
|
-
"shape": "Field(TextArea)",
|
|
9
|
-
"tags": {
|
|
10
|
-
"purpose": ["form-field", "multiline"],
|
|
11
|
-
"layout": "stacked"
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["textarea", "message", "comment", "description", "multiline", "notes"],
|
|
14
|
-
"slots": [
|
|
15
|
-
{ "name": "label", "targetId": "fta-field", "attribute": "label", "required": true },
|
|
16
|
-
{ "name": "name", "targetId": "fta-in", "attribute": "name", "required": true },
|
|
17
|
-
{ "name": "placeholder", "targetId": "fta-in", "attribute": "placeholder" },
|
|
18
|
-
{ "name": "rows", "targetId": "fta-in", "attribute": "rows", "defaultValue": 4 }
|
|
19
|
-
],
|
|
20
|
-
"template": [
|
|
21
|
-
{ "id": "fta-field", "component": "Field", "label": "Label", "children": ["fta-in"] },
|
|
22
|
-
{ "id": "fta-in", "component": "TextArea", "name": "field", "placeholder": "", "rows": 4 }
|
|
23
|
-
],
|
|
24
|
-
"links": {
|
|
25
|
-
"uses_components": ["Field", "TextArea"]
|
|
26
|
-
},
|
|
27
|
-
"metrics": { "leverage": 7, "pattern_count": 0, "instance_count": 7 }
|
|
28
|
-
}
|
|
@@ -1,39 +0,0 @@
|
|
|
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/fragment.yaml.schema.json
|
|
6
|
-
kind: fragment
|
|
7
|
-
name: labeled-textarea
|
|
8
|
-
description: >-
|
|
9
|
-
Multi-line text input with a label. Use for messages, descriptions, comments — any free-form text longer than a line.
|
|
10
|
-
keywords:
|
|
11
|
-
- textarea
|
|
12
|
-
- message
|
|
13
|
-
- comment
|
|
14
|
-
- description
|
|
15
|
-
- multiline
|
|
16
|
-
- notes
|
|
17
|
-
slots:
|
|
18
|
-
label:
|
|
19
|
-
required: true
|
|
20
|
-
target: fta-in.label
|
|
21
|
-
description: "TODO: describe 'label' slot"
|
|
22
|
-
name:
|
|
23
|
-
required: true
|
|
24
|
-
target: fta-in.name
|
|
25
|
-
description: "TODO: describe 'name' slot"
|
|
26
|
-
placeholder:
|
|
27
|
-
required: false
|
|
28
|
-
target: fta-in.placeholder
|
|
29
|
-
description: "TODO: describe 'placeholder' slot"
|
|
30
|
-
rows:
|
|
31
|
-
required: false
|
|
32
|
-
target: fta-in.rows
|
|
33
|
-
description: "TODO: describe 'rows' slot"
|
|
34
|
-
leverage: 7
|
|
35
|
-
used_by: []
|
|
36
|
-
use-cases:
|
|
37
|
-
- "TODO: describe when to reach for this fragment"
|
|
38
|
-
components:
|
|
39
|
-
- TextArea
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../_schema.json",
|
|
3
|
-
"name": "labeled-toggle",
|
|
4
|
-
"version": 1,
|
|
5
|
-
"kind": "fragment",
|
|
6
|
-
"semantic_role": "boolean-preference",
|
|
7
|
-
"description": "Toggle switch with a label and optional description. Canonical row for settings pages and preference panels.",
|
|
8
|
-
"shape": "Row(Column(Text,Text),Toggle)",
|
|
9
|
-
"tags": {
|
|
10
|
-
"purpose": ["form-field", "preference", "toggle"],
|
|
11
|
-
"layout": "row"
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["toggle", "switch", "setting", "preference", "enable", "disable", "notification"],
|
|
14
|
-
"slots": [
|
|
15
|
-
{ "name": "label", "targetId": "tg-label", "attribute": "textContent", "required": true },
|
|
16
|
-
{ "name": "description", "targetId": "tg-desc", "attribute": "textContent" },
|
|
17
|
-
{ "name": "name", "targetId": "tg-sw", "attribute": "name", "required": true },
|
|
18
|
-
{ "name": "checked", "targetId": "tg-sw", "attribute": "checked", "defaultValue": false }
|
|
19
|
-
],
|
|
20
|
-
"template": [
|
|
21
|
-
{ "id": "tg-root", "component": "Row", "children": ["tg-col", "tg-sw"], "gap": "3" },
|
|
22
|
-
{ "id": "tg-col", "component": "Column", "children": ["tg-label", "tg-desc"], "gap": "0" },
|
|
23
|
-
{ "id": "tg-label", "component": "Text", "variant": "body", "textContent": "Setting" },
|
|
24
|
-
{ "id": "tg-desc", "component": "Text", "variant": "caption", "color": "muted", "textContent": "" },
|
|
25
|
-
{ "id": "tg-sw", "component": "Toggle", "name": "field", "checked": false }
|
|
26
|
-
],
|
|
27
|
-
"links": { "uses_components": ["Row", "Column", "Text", "Toggle"] },
|
|
28
|
-
"metrics": { "leverage": 17, "pattern_count": 0, "instance_count": 17 }
|
|
29
|
-
}
|
|
@@ -1,43 +0,0 @@
|
|
|
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/fragment.yaml.schema.json
|
|
6
|
-
kind: fragment
|
|
7
|
-
name: labeled-toggle
|
|
8
|
-
description: >-
|
|
9
|
-
Toggle switch with a label and optional description. Canonical row for settings pages and preference panels.
|
|
10
|
-
keywords:
|
|
11
|
-
- toggle
|
|
12
|
-
- switch
|
|
13
|
-
- setting
|
|
14
|
-
- preference
|
|
15
|
-
- enable
|
|
16
|
-
- disable
|
|
17
|
-
- notification
|
|
18
|
-
slots:
|
|
19
|
-
label:
|
|
20
|
-
required: true
|
|
21
|
-
target: tg-label.textContent
|
|
22
|
-
description: "TODO: describe 'label' slot"
|
|
23
|
-
description:
|
|
24
|
-
required: false
|
|
25
|
-
target: tg-desc.textContent
|
|
26
|
-
description: "TODO: describe 'description' slot"
|
|
27
|
-
name:
|
|
28
|
-
required: true
|
|
29
|
-
target: tg-sw.name
|
|
30
|
-
description: "TODO: describe 'name' slot"
|
|
31
|
-
checked:
|
|
32
|
-
required: false
|
|
33
|
-
target: tg-sw.checked
|
|
34
|
-
description: "TODO: describe 'checked' slot"
|
|
35
|
-
leverage: 17
|
|
36
|
-
used_by: []
|
|
37
|
-
use-cases:
|
|
38
|
-
- "TODO: describe when to reach for this fragment"
|
|
39
|
-
components:
|
|
40
|
-
- Row
|
|
41
|
-
- Column
|
|
42
|
-
- Text
|
|
43
|
-
- Toggle
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../_schema.json",
|
|
3
|
-
"name": "card-header-heading",
|
|
4
|
-
"version": 1,
|
|
5
|
-
"kind": "fragment",
|
|
6
|
-
"semantic_role": "card-titlebar",
|
|
7
|
-
"description": "Minimal card header with a single section-level heading. The canonical titlebar for any Card. Use when the card needs a title but no subcopy or actions.",
|
|
8
|
-
"shape": "Header(Text[slot=heading,v=section])",
|
|
9
|
-
"tags": {
|
|
10
|
-
"purpose": ["titlebar", "card-header"],
|
|
11
|
-
"layout": "inline"
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["card", "header", "title", "heading", "titlebar"],
|
|
14
|
-
"slots": [
|
|
15
|
-
{
|
|
16
|
-
"name": "heading",
|
|
17
|
-
"targetId": "h-text",
|
|
18
|
-
"attribute": "textContent",
|
|
19
|
-
"required": true,
|
|
20
|
-
"description": "The card's title text"
|
|
21
|
-
}
|
|
22
|
-
],
|
|
23
|
-
"template": [
|
|
24
|
-
{ "id": "h-root", "component": "Header", "children": ["h-text"] },
|
|
25
|
-
{ "id": "h-text", "component": "Text", "slot": "heading", "variant": "section", "textContent": "Title" }
|
|
26
|
-
],
|
|
27
|
-
"links": {
|
|
28
|
-
"uses_components": ["Header", "Text"],
|
|
29
|
-
"uses_fragments": [],
|
|
30
|
-
"used_by": [],
|
|
31
|
-
"related": ["card-header-with-description"],
|
|
32
|
-
"spawned_from": []
|
|
33
|
-
},
|
|
34
|
-
"metrics": { "leverage": 9, "pattern_count": 0, "instance_count": 9 }
|
|
35
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
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/fragment.yaml.schema.json
|
|
6
|
-
kind: fragment
|
|
7
|
-
name: card-header-heading
|
|
8
|
-
description: >-
|
|
9
|
-
Minimal card header with a single section-level heading. The canonical titlebar for any Card. Use when the card needs a title but no subcopy or actions.
|
|
10
|
-
keywords:
|
|
11
|
-
- card
|
|
12
|
-
- header
|
|
13
|
-
- title
|
|
14
|
-
- heading
|
|
15
|
-
- titlebar
|
|
16
|
-
slots:
|
|
17
|
-
heading:
|
|
18
|
-
required: true
|
|
19
|
-
target: h-text.textContent
|
|
20
|
-
description: "The card's title text"
|
|
21
|
-
leverage: 9
|
|
22
|
-
used_by: []
|
|
23
|
-
use-cases:
|
|
24
|
-
- "TODO: describe when to reach for this fragment"
|
|
25
|
-
components:
|
|
26
|
-
- Header
|
|
27
|
-
- Text
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../_schema.json",
|
|
3
|
-
"name": "card-header-with-badge",
|
|
4
|
-
"version": 1,
|
|
5
|
-
"kind": "fragment",
|
|
6
|
-
"semantic_role": "titled-card-header",
|
|
7
|
-
"description": "Card header with a section-level heading plus a status badge — for kanban columns, product cards with stock status, task cards with priority, item cards with state tags.",
|
|
8
|
-
"shape": "Header(Text[v=section],Badge[v=success])",
|
|
9
|
-
"tags": {
|
|
10
|
-
"purpose": ["titlebar", "card-header", "status"],
|
|
11
|
-
"layout": "inline"
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["card", "header", "title", "badge", "status", "tag", "label", "pill", "column"],
|
|
14
|
-
"slots": [
|
|
15
|
-
{ "name": "heading", "targetId": "hb-title", "attribute": "textContent", "required": true, "defaultValue": "Title" },
|
|
16
|
-
{ "name": "badgeLabel", "targetId": "hb-badge", "attribute": "textContent", "required": true, "defaultValue": "Status" },
|
|
17
|
-
{ "name": "badgeVariant", "targetId": "hb-badge", "attribute": "variant", "required": false, "defaultValue": "success" }
|
|
18
|
-
],
|
|
19
|
-
"template": [
|
|
20
|
-
{ "id": "hb-root", "component": "Header", "children": ["hb-title", "hb-badge"] },
|
|
21
|
-
{ "id": "hb-title", "component": "Text", "variant": "section", "textContent": "Title" },
|
|
22
|
-
{ "id": "hb-badge", "component": "Badge", "variant": "success", "textContent": "Status" }
|
|
23
|
-
],
|
|
24
|
-
"links": {
|
|
25
|
-
"uses_components": ["Header", "Text", "Badge"],
|
|
26
|
-
"used_by": [],
|
|
27
|
-
"related": ["card-header-heading", "card-header-with-description"]
|
|
28
|
-
},
|
|
29
|
-
"metrics": { "leverage": 4, "pattern_count": 0, "instance_count": 4 }
|
|
30
|
-
}
|
|
@@ -1,40 +0,0 @@
|
|
|
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/fragment.yaml.schema.json
|
|
6
|
-
kind: fragment
|
|
7
|
-
name: card-header-with-badge
|
|
8
|
-
description: >-
|
|
9
|
-
Card header with a section-level heading plus a status badge — for kanban columns, product cards with stock status, task cards with priority, item cards with state tags.
|
|
10
|
-
keywords:
|
|
11
|
-
- card
|
|
12
|
-
- header
|
|
13
|
-
- title
|
|
14
|
-
- badge
|
|
15
|
-
- status
|
|
16
|
-
- tag
|
|
17
|
-
- label
|
|
18
|
-
- pill
|
|
19
|
-
- column
|
|
20
|
-
slots:
|
|
21
|
-
heading:
|
|
22
|
-
required: true
|
|
23
|
-
target: hb-title.textContent
|
|
24
|
-
description: "TODO: describe 'heading' slot"
|
|
25
|
-
badgeLabel:
|
|
26
|
-
required: true
|
|
27
|
-
target: hb-badge.textContent
|
|
28
|
-
description: "TODO: describe 'badgeLabel' slot"
|
|
29
|
-
badgeVariant:
|
|
30
|
-
required: false
|
|
31
|
-
target: hb-badge.variant
|
|
32
|
-
description: "TODO: describe 'badgeVariant' slot"
|
|
33
|
-
leverage: 4
|
|
34
|
-
used_by: []
|
|
35
|
-
use-cases:
|
|
36
|
-
- "TODO: describe when to reach for this fragment"
|
|
37
|
-
components:
|
|
38
|
-
- Header
|
|
39
|
-
- Text
|
|
40
|
-
- Badge
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../_schema.json",
|
|
3
|
-
"name": "card-header-with-description",
|
|
4
|
-
"version": 1,
|
|
5
|
-
"kind": "fragment",
|
|
6
|
-
"semantic_role": "titled-card-header",
|
|
7
|
-
"description": "Card header with a section-level heading plus a caption-style description line. Use when a card needs context beyond its title — settings sections, feature cards, tables with subheads.",
|
|
8
|
-
"shape": "Header(Text[slot=heading,v=section],Text[slot=description,v=caption])",
|
|
9
|
-
"tags": {
|
|
10
|
-
"purpose": ["titlebar", "card-header"],
|
|
11
|
-
"layout": "stacked"
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["card", "header", "title", "description", "subtitle", "subhead"],
|
|
14
|
-
"slots": [
|
|
15
|
-
{ "name": "heading", "targetId": "h-title", "attribute": "textContent", "required": true },
|
|
16
|
-
{ "name": "description", "targetId": "h-desc", "attribute": "textContent", "required": true }
|
|
17
|
-
],
|
|
18
|
-
"template": [
|
|
19
|
-
{ "id": "h-root", "component": "Header", "children": ["h-title", "h-desc"] },
|
|
20
|
-
{ "id": "h-title", "component": "Text", "slot": "heading", "variant": "section", "textContent": "Title" },
|
|
21
|
-
{ "id": "h-desc", "component": "Text", "slot": "description", "variant": "caption", "textContent": "Description" }
|
|
22
|
-
],
|
|
23
|
-
"links": {
|
|
24
|
-
"uses_components": ["Header", "Text"],
|
|
25
|
-
"used_by": [],
|
|
26
|
-
"related": ["card-header-heading"]
|
|
27
|
-
},
|
|
28
|
-
"metrics": { "leverage": 60, "pattern_count": 0, "instance_count": 60 }
|
|
29
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
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/fragment.yaml.schema.json
|
|
6
|
-
kind: fragment
|
|
7
|
-
name: card-header-with-description
|
|
8
|
-
description: >-
|
|
9
|
-
Card header with a section-level heading plus a caption-style description line. Use when a card needs context beyond its title — settings sections, feature cards, tables with subheads.
|
|
10
|
-
keywords:
|
|
11
|
-
- card
|
|
12
|
-
- header
|
|
13
|
-
- title
|
|
14
|
-
- description
|
|
15
|
-
- subtitle
|
|
16
|
-
- subhead
|
|
17
|
-
slots:
|
|
18
|
-
heading:
|
|
19
|
-
required: true
|
|
20
|
-
target: h-title.textContent
|
|
21
|
-
description: "TODO: describe 'heading' slot"
|
|
22
|
-
description:
|
|
23
|
-
required: true
|
|
24
|
-
target: h-desc.textContent
|
|
25
|
-
description: "TODO: describe 'description' slot"
|
|
26
|
-
leverage: 60
|
|
27
|
-
used_by: []
|
|
28
|
-
use-cases:
|
|
29
|
-
- "TODO: describe when to reach for this fragment"
|
|
30
|
-
components:
|
|
31
|
-
- Header
|
|
32
|
-
- Text
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../_schema.json",
|
|
3
|
-
"name": "pricing-tier-card",
|
|
4
|
-
"version": 1,
|
|
5
|
-
"kind": "fragment",
|
|
6
|
-
"semantic_role": "pricing-card",
|
|
7
|
-
"description": "Single pricing tier card with title, price, optional badge, description, and CTA button — the canonical marketing pricing cell. Compose 2-4 of these side-by-side for a pricing page.",
|
|
8
|
-
"shape": "Card(Header(Text,Text),Section(Text),Footer(Button))",
|
|
9
|
-
"tags": {
|
|
10
|
-
"purpose": ["pricing-card", "marketing", "tier"],
|
|
11
|
-
"layout": "stacked"
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["pricing", "tier", "plan", "package", "subscription", "free", "pro", "enterprise"],
|
|
14
|
-
"slots": [
|
|
15
|
-
{ "name": "title", "targetId": "ptc-title", "attribute": "textContent", "required": true, "defaultValue": "Plan" },
|
|
16
|
-
{ "name": "price", "targetId": "ptc-price", "attribute": "textContent", "required": true, "defaultValue": "$0" },
|
|
17
|
-
{ "name": "description", "targetId": "ptc-desc", "attribute": "textContent", "required": true, "defaultValue": "For individuals getting started." },
|
|
18
|
-
{ "name": "ctaLabel", "targetId": "ptc-btn", "attribute": "text", "required": true, "defaultValue": "Get started" },
|
|
19
|
-
{ "name": "ctaVariant", "targetId": "ptc-btn", "attribute": "variant", "required": false, "defaultValue": "ghost" }
|
|
20
|
-
],
|
|
21
|
-
"template": [
|
|
22
|
-
{ "id": "ptc-root", "component": "Card", "children": ["ptc-h", "ptc-s", "ptc-f"] },
|
|
23
|
-
{ "id": "ptc-h", "component": "Header", "children": ["ptc-title", "ptc-price"] },
|
|
24
|
-
{ "id": "ptc-title", "component": "Text", "variant": "section", "textContent": "Plan" },
|
|
25
|
-
{ "id": "ptc-price", "component": "Text", "variant": "display", "textContent": "$0" },
|
|
26
|
-
{ "id": "ptc-s", "component": "Section", "children": ["ptc-desc"] },
|
|
27
|
-
{ "id": "ptc-desc", "component": "Text", "variant": "body", "textContent": "For individuals getting started." },
|
|
28
|
-
{ "id": "ptc-f", "component": "Footer", "children": ["ptc-btn"] },
|
|
29
|
-
{ "id": "ptc-btn", "component": "Button", "variant": "ghost", "text": "Get started", "block": true }
|
|
30
|
-
],
|
|
31
|
-
"links": {
|
|
32
|
-
"uses_components": ["Card", "Header", "Text", "Section", "Footer", "Button"],
|
|
33
|
-
"used_by": [],
|
|
34
|
-
"related": ["card-header-with-description"]
|
|
35
|
-
},
|
|
36
|
-
"metrics": { "leverage": 8.0, "pattern_count": 1, "instance_count": 3 }
|
|
37
|
-
}
|
|
@@ -1,50 +0,0 @@
|
|
|
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/fragment.yaml.schema.json
|
|
6
|
-
kind: fragment
|
|
7
|
-
name: pricing-tier-card
|
|
8
|
-
description: >-
|
|
9
|
-
Single pricing tier card with title, price, optional badge, description, and CTA button — the canonical marketing pricing cell. Compose 2-4 of these side-by-side for a pricing page.
|
|
10
|
-
keywords:
|
|
11
|
-
- pricing
|
|
12
|
-
- tier
|
|
13
|
-
- plan
|
|
14
|
-
- package
|
|
15
|
-
- subscription
|
|
16
|
-
- free
|
|
17
|
-
- pro
|
|
18
|
-
- enterprise
|
|
19
|
-
slots:
|
|
20
|
-
title:
|
|
21
|
-
required: true
|
|
22
|
-
target: ptc-title.textContent
|
|
23
|
-
description: "TODO: describe 'title' slot"
|
|
24
|
-
price:
|
|
25
|
-
required: true
|
|
26
|
-
target: ptc-price.textContent
|
|
27
|
-
description: "TODO: describe 'price' slot"
|
|
28
|
-
description:
|
|
29
|
-
required: true
|
|
30
|
-
target: ptc-desc.textContent
|
|
31
|
-
description: "TODO: describe 'description' slot"
|
|
32
|
-
ctaLabel:
|
|
33
|
-
required: true
|
|
34
|
-
target: ptc-btn.text
|
|
35
|
-
description: "TODO: describe 'ctaLabel' slot"
|
|
36
|
-
ctaVariant:
|
|
37
|
-
required: false
|
|
38
|
-
target: ptc-btn.variant
|
|
39
|
-
description: "TODO: describe 'ctaVariant' slot"
|
|
40
|
-
leverage: 0
|
|
41
|
-
used_by: []
|
|
42
|
-
use-cases:
|
|
43
|
-
- "TODO: describe when to reach for this fragment"
|
|
44
|
-
components:
|
|
45
|
-
- Card
|
|
46
|
-
- Header
|
|
47
|
-
- Text
|
|
48
|
-
- Section
|
|
49
|
-
- Footer
|
|
50
|
-
- Button
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "../_schema.json",
|
|
3
|
-
"name": "section-with-stack",
|
|
4
|
-
"version": 1,
|
|
5
|
-
"kind": "fragment",
|
|
6
|
-
"semantic_role": "section-vertical-stack",
|
|
7
|
-
"description": "Section wrapping a vertical Column stack — the canonical card-section content shape. Use when a card section contains a series of rows, fields, or other vertically-stacked elements that need a consistent rhythm. The Section provides scope/padding; the Column supplies the gap. Bind `items` to the Column's children and `gap` to control the row rhythm.",
|
|
8
|
-
"shape": "Section(Column[slot=items,slot=gap])",
|
|
9
|
-
"tags": {
|
|
10
|
-
"purpose": ["section", "stack", "card-content"],
|
|
11
|
-
"layout": "stacked"
|
|
12
|
-
},
|
|
13
|
-
"keywords": ["section", "stack", "column", "vertical", "rhythm", "card-section"],
|
|
14
|
-
"slots": [
|
|
15
|
-
{
|
|
16
|
-
"name": "items",
|
|
17
|
-
"targetId": "f-col",
|
|
18
|
-
"attribute": "children",
|
|
19
|
-
"required": true,
|
|
20
|
-
"description": "Array of node ids (from the parent composition) to render as the Column's children. The composer applies this as a children-array binding."
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
"name": "gap",
|
|
24
|
-
"targetId": "f-col",
|
|
25
|
-
"attribute": "gap",
|
|
26
|
-
"defaultValue": "3",
|
|
27
|
-
"description": "Column gap token. Surveyed values across the corpus: 1, 2 (sparse rows), 3 (default), 4, 5, 6 (loose). Defaults to 3 (most common; 17 of 46 instances)."
|
|
28
|
-
}
|
|
29
|
-
],
|
|
30
|
-
"template": [
|
|
31
|
-
{ "id": "f-sec", "component": "Section", "children": ["f-col"] },
|
|
32
|
-
{ "id": "f-col", "component": "Column", "gap": "3", "children": [] }
|
|
33
|
-
],
|
|
34
|
-
"links": {
|
|
35
|
-
"uses_components": ["Section", "Column"],
|
|
36
|
-
"uses_fragments": [],
|
|
37
|
-
"used_by": [],
|
|
38
|
-
"related": [],
|
|
39
|
-
"spawned_from": []
|
|
40
|
-
},
|
|
41
|
-
"metrics": {
|
|
42
|
-
"leverage": 46,
|
|
43
|
-
"pattern_count": 43,
|
|
44
|
-
"instance_count": 46
|
|
45
|
-
}
|
|
46
|
-
}
|