@decantr/content 3.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +58 -0
- package/archetypes/about-hybrid.json +104 -0
- package/archetypes/admin-analytics.json +63 -0
- package/archetypes/admin-moderation.json +87 -0
- package/archetypes/admin-overview.json +77 -0
- package/archetypes/agent-orchestrator.json +178 -0
- package/archetypes/agent-studio.json +154 -0
- package/archetypes/ai-chatbot.json +121 -0
- package/archetypes/ai-transparency.json +140 -0
- package/archetypes/alert-manager-pro.json +154 -0
- package/archetypes/api-console.json +130 -0
- package/archetypes/api-reference.json +95 -0
- package/archetypes/appointment-center.json +113 -0
- package/archetypes/asset-browser.json +90 -0
- package/archetypes/audit-center.json +103 -0
- package/archetypes/auth-flow-enterprise.json +140 -0
- package/archetypes/auth-flow.json +101 -0
- package/archetypes/auth-full.json +199 -0
- package/archetypes/auth-gateway.json +76 -0
- package/archetypes/billing-portal.json +75 -0
- package/archetypes/billing.json +74 -0
- package/archetypes/budget-planner.json +63 -0
- package/archetypes/budget-transparency.json +117 -0
- package/archetypes/buyer-dashboard.json +124 -0
- package/archetypes/changelog-center.json +96 -0
- package/archetypes/character-library.json +113 -0
- package/archetypes/citation-tools.json +98 -0
- package/archetypes/cloud-infrastructure.json +253 -0
- package/archetypes/cloud-marketing.json +111 -0
- package/archetypes/collaboration-hub.json +87 -0
- package/archetypes/community-feed.json +131 -0
- package/archetypes/config-editor.json +136 -0
- package/archetypes/contact.json +82 -0
- package/archetypes/content-author.json +121 -0
- package/archetypes/content-editor.json +82 -0
- package/archetypes/content-newsletter.json +111 -0
- package/archetypes/content-reader.json +135 -0
- package/archetypes/content-site.json +112 -0
- package/archetypes/contract-center.json +120 -0
- package/archetypes/cook-mode.json +57 -0
- package/archetypes/copilot-settings.json +87 -0
- package/archetypes/copilot-workspace.json +110 -0
- package/archetypes/creator-content.json +128 -0
- package/archetypes/creator-dashboard.json +105 -0
- package/archetypes/creator-earnings.json +100 -0
- package/archetypes/creator-subscribers.json +99 -0
- package/archetypes/creator-tiers.json +76 -0
- package/archetypes/crm-dashboard.json +199 -0
- package/archetypes/crm-email.json +88 -0
- package/archetypes/crm-intelligence.json +85 -0
- package/archetypes/crm-meetings.json +95 -0
- package/archetypes/customer-loyalty.json +75 -0
- package/archetypes/customer-management.json +76 -0
- package/archetypes/daily-operations.json +62 -0
- package/archetypes/dashboard-core.json +87 -0
- package/archetypes/data-repository.json +81 -0
- package/archetypes/deal-workspace.json +126 -0
- package/archetypes/doc-browser.json +111 -0
- package/archetypes/document-editor.json +147 -0
- package/archetypes/document-vault.json +119 -0
- package/archetypes/ecommerce-admin.json +138 -0
- package/archetypes/ecommerce-checkout.json +57 -0
- package/archetypes/ecommerce.json +138 -0
- package/archetypes/emissions-dashboard.json +136 -0
- package/archetypes/engagement-hub.json +157 -0
- package/archetypes/eval-suite.json +142 -0
- package/archetypes/event-discovery.json +130 -0
- package/archetypes/experiment-tracker.json +83 -0
- package/archetypes/fan-checkout.json +107 -0
- package/archetypes/fan-library.json +99 -0
- package/archetypes/fan-storefront.json +106 -0
- package/archetypes/financial-dashboard.json +127 -0
- package/archetypes/game-catalog.json +120 -0
- package/archetypes/gaming-community.json +196 -0
- package/archetypes/governance-center.json +82 -0
- package/archetypes/health-records.json +111 -0
- package/archetypes/instrument-booking.json +82 -0
- package/archetypes/inventory-supplies.json +72 -0
- package/archetypes/investment-tracker.json +82 -0
- package/archetypes/investor-portal.json +124 -0
- package/archetypes/job-monitor.json +109 -0
- package/archetypes/kitchen-display.json +58 -0
- package/archetypes/lab-notebook.json +83 -0
- package/archetypes/landing-hero.json +145 -0
- package/archetypes/landing-legal.json +101 -0
- package/archetypes/landing-resources.json +127 -0
- package/archetypes/launch-campaign.json +393 -0
- package/archetypes/legal.json +107 -0
- package/archetypes/listing-browser.json +160 -0
- package/archetypes/log-explorer-pro.json +106 -0
- package/archetypes/log-viewer.json +123 -0
- package/archetypes/maintenance-center.json +116 -0
- package/archetypes/marketing-ai-studio.json +117 -0
- package/archetypes/marketing-civic.json +116 -0
- package/archetypes/marketing-climate.json +94 -0
- package/archetypes/marketing-content.json +109 -0
- package/archetypes/marketing-copilot.json +100 -0
- package/archetypes/marketing-creator.json +132 -0
- package/archetypes/marketing-crm.json +96 -0
- package/archetypes/marketing-deal-room.json +100 -0
- package/archetypes/marketing-devtool.json +139 -0
- package/archetypes/marketing-docs.json +92 -0
- package/archetypes/marketing-ecommerce.json +69 -0
- package/archetypes/marketing-esports.json +89 -0
- package/archetypes/marketing-events.json +89 -0
- package/archetypes/marketing-finance.json +69 -0
- package/archetypes/marketing-fractional.json +74 -0
- package/archetypes/marketing-health.json +100 -0
- package/archetypes/marketing-landing.json +65 -0
- package/archetypes/marketing-legal.json +86 -0
- package/archetypes/marketing-marketplace.json +121 -0
- package/archetypes/marketing-observability.json +95 -0
- package/archetypes/marketing-pipeline.json +108 -0
- package/archetypes/marketing-platform.json +129 -0
- package/archetypes/marketing-producer.json +88 -0
- package/archetypes/marketing-productivity.json +139 -0
- package/archetypes/marketing-realestate.json +101 -0
- package/archetypes/marketing-recipe.json +69 -0
- package/archetypes/marketing-research.json +72 -0
- package/archetypes/marketing-restaurant.json +53 -0
- package/archetypes/marketing-saas-v2.json +75 -0
- package/archetypes/marketing-saas.json +119 -0
- package/archetypes/marketing-swipecircle.json +185 -0
- package/archetypes/marketing-video-studio.json +121 -0
- package/archetypes/marketplace-messaging.json +106 -0
- package/archetypes/matter-management.json +104 -0
- package/archetypes/meeting-archive.json +131 -0
- package/archetypes/menu-management.json +73 -0
- package/archetypes/metrics-monitor.json +164 -0
- package/archetypes/metrics-overview-dashboard.json +112 -0
- package/archetypes/music-workspace.json +104 -0
- package/archetypes/notifications.json +68 -0
- package/archetypes/offset-marketplace.json +134 -0
- package/archetypes/onboarding-wizard.json +203 -0
- package/archetypes/order-fulfillment.json +83 -0
- package/archetypes/order-management.json +71 -0
- package/archetypes/organizer-dashboard.json +146 -0
- package/archetypes/owner-dashboard.json +112 -0
- package/archetypes/ownership-dashboard.json +97 -0
- package/archetypes/patient-dashboard.json +142 -0
- package/archetypes/pipeline-builder.json +116 -0
- package/archetypes/pm-financials.json +126 -0
- package/archetypes/portfolio-about.json +85 -0
- package/archetypes/portfolio-blog.json +71 -0
- package/archetypes/portfolio-overview.json +76 -0
- package/archetypes/portfolio-showcase.json +71 -0
- package/archetypes/portfolio.json +122 -0
- package/archetypes/product-management.json +84 -0
- package/archetypes/project-library.json +111 -0
- package/archetypes/prompt-director.json +118 -0
- package/archetypes/prompt-library.json +135 -0
- package/archetypes/property-manager.json +158 -0
- package/archetypes/qa-workflow.json +116 -0
- package/archetypes/recipe-browser.json +83 -0
- package/archetypes/recipe-community.json +126 -0
- package/archetypes/recipe-creator.json +71 -0
- package/archetypes/recipe-social.json +95 -0
- package/archetypes/recipefork-ai-kitchen.json +95 -0
- package/archetypes/recipefork-auth.json +79 -0
- package/archetypes/recipefork-cookbooks.json +104 -0
- package/archetypes/recipefork-landing.json +101 -0
- package/archetypes/recipefork-profile.json +180 -0
- package/archetypes/recipefork-recipe-authoring.json +216 -0
- package/archetypes/recipefork-recipe-detail.json +139 -0
- package/archetypes/recipefork-social.json +103 -0
- package/archetypes/registry-browser.json +121 -0
- package/archetypes/render-monitor.json +114 -0
- package/archetypes/reporting-center.json +107 -0
- package/archetypes/research-workspace.json +127 -0
- package/archetypes/restaurant-floor.json +74 -0
- package/archetypes/review-system.json +84 -0
- package/archetypes/saas-analytics.json +69 -0
- package/archetypes/saas-billing-v2.json +77 -0
- package/archetypes/saas-dashboard.json +127 -0
- package/archetypes/saas-overview.json +77 -0
- package/archetypes/sample-inventory.json +80 -0
- package/archetypes/scrim-scheduler.json +103 -0
- package/archetypes/search-hub.json +87 -0
- package/archetypes/secondary-market.json +83 -0
- package/archetypes/seller-dashboard.json +169 -0
- package/archetypes/server-station.json +61 -0
- package/archetypes/service-requests.json +141 -0
- package/archetypes/session-rooms.json +92 -0
- package/archetypes/settings-full.json +164 -0
- package/archetypes/settings.json +67 -0
- package/archetypes/source-catalog.json +116 -0
- package/archetypes/spatial-workspace.json +115 -0
- package/archetypes/sponsor-dashboard.json +103 -0
- package/archetypes/storefront-browse.json +97 -0
- package/archetypes/supply-chain.json +112 -0
- package/archetypes/swipe-feed.json +469 -0
- package/archetypes/team-management.json +95 -0
- package/archetypes/team-operations.json +131 -0
- package/archetypes/team-workspace.json +71 -0
- package/archetypes/telehealth-room.json +78 -0
- package/archetypes/tenant-manager.json +129 -0
- package/archetypes/tenant-payments.json +105 -0
- package/archetypes/tenant-portal.json +135 -0
- package/archetypes/tenant-switcher-dashboard.json +154 -0
- package/archetypes/terminal-home.json +127 -0
- package/archetypes/ticket-checkout.json +84 -0
- package/archetypes/tool-registry.json +111 -0
- package/archetypes/trace-explorer.json +113 -0
- package/archetypes/trace-viewer.json +112 -0
- package/archetypes/track-library.json +90 -0
- package/archetypes/transaction-history.json +77 -0
- package/archetypes/transformation-editor.json +117 -0
- package/archetypes/usage-billing.json +146 -0
- package/archetypes/user-dashboard.json +155 -0
- package/archetypes/video-editor.json +158 -0
- package/archetypes/vod-review.json +97 -0
- package/archetypes/webhook-manager.json +108 -0
- package/archetypes/workspace-home.json +105 -0
- package/archetypes/workspace-settings.json +140 -0
- package/blueprints/agent-marketplace.json +222 -0
- package/blueprints/agent-studio.json +291 -0
- package/blueprints/ai-copilot-shell.json +163 -0
- package/blueprints/ai-native-crm.json +269 -0
- package/blueprints/ai-video-studio.json +93 -0
- package/blueprints/carbon-ai-portal.json +252 -0
- package/blueprints/civic-platform.json +91 -0
- package/blueprints/climate-dashboard.json +90 -0
- package/blueprints/cloud-platform.json +219 -0
- package/blueprints/content-site.json +110 -0
- package/blueprints/content-studio.json +120 -0
- package/blueprints/creator-monetization-platform.json +373 -0
- package/blueprints/data-pipeline-studio.json +263 -0
- package/blueprints/deal-room.json +88 -0
- package/blueprints/ecommerce-admin.json +253 -0
- package/blueprints/ecommerce.json +242 -0
- package/blueprints/esports-hq.json +116 -0
- package/blueprints/event-community-hub.json +251 -0
- package/blueprints/financial-dashboard.json +237 -0
- package/blueprints/fractional-ownership.json +89 -0
- package/blueprints/gaming-platform.json +171 -0
- package/blueprints/health-wellness-portal.json +252 -0
- package/blueprints/knowledge-base.json +176 -0
- package/blueprints/legal-research.json +90 -0
- package/blueprints/multi-tenant-platform.json +257 -0
- package/blueprints/observability-platform.json +275 -0
- package/blueprints/portfolio.json +164 -0
- package/blueprints/producer-studio.json +156 -0
- package/blueprints/product-landing.json +112 -0
- package/blueprints/property-management-portal.json +384 -0
- package/blueprints/realtime-collaboration-workspace.json +300 -0
- package/blueprints/recipe-community.json +259 -0
- package/blueprints/recipefork.json +194 -0
- package/blueprints/registry-platform.json +204 -0
- package/blueprints/research-lab.json +92 -0
- package/blueprints/restaurant-ops.json +104 -0
- package/blueprints/retro-launch-campaign.json +205 -0
- package/blueprints/saas-dashboard.json +246 -0
- package/blueprints/spatial-collaboration.json +172 -0
- package/blueprints/swipecircle.json +253 -0
- package/blueprints/terminal-dashboard.json +282 -0
- package/blueprints/two-sided-marketplace.json +293 -0
- package/dist/index.d.ts +178 -0
- package/dist/index.js +582 -0
- package/dist/index.js.map +1 -0
- package/package.json +75 -0
- package/patterns/account-settings.json +149 -0
- package/patterns/activity-feed.json +154 -0
- package/patterns/adaptive-density-panel.json +130 -0
- package/patterns/agent-handoff-zone.json +97 -0
- package/patterns/agent-swarm-canvas.json +136 -0
- package/patterns/agent-timeline.json +119 -0
- package/patterns/alert-rule-builder.json +127 -0
- package/patterns/ambient-status-ring.json +125 -0
- package/patterns/api-explorer.json +131 -0
- package/patterns/api-key-row.json +119 -0
- package/patterns/ar-annotation.json +137 -0
- package/patterns/arrangement-canvas.json +72 -0
- package/patterns/ascii-chart.json +138 -0
- package/patterns/audit-trail.json +123 -0
- package/patterns/auth-form.json +209 -0
- package/patterns/avatar-grid-tile.json +118 -0
- package/patterns/backer-progress-console.json +137 -0
- package/patterns/backer-wall-ticker.json +127 -0
- package/patterns/before-after.json +105 -0
- package/patterns/block-toolbar.json +129 -0
- package/patterns/blueprint-anatomy.json +112 -0
- package/patterns/blueprint-launch-hero.json +113 -0
- package/patterns/booking-calendar.json +125 -0
- package/patterns/bottom-tab-bar.json +117 -0
- package/patterns/breadcrumb-nav.json +111 -0
- package/patterns/budget-sankey.json +103 -0
- package/patterns/calendar-view.json +143 -0
- package/patterns/campaign-marquee-hero.json +167 -0
- package/patterns/cap-table.json +121 -0
- package/patterns/card-grid.json +202 -0
- package/patterns/case-brief-card.json +113 -0
- package/patterns/character-sheet.json +102 -0
- package/patterns/chart-grid.json +129 -0
- package/patterns/chat-header.json +105 -0
- package/patterns/chat-input.json +106 -0
- package/patterns/chat-message.json +122 -0
- package/patterns/chat-thread.json +120 -0
- package/patterns/checklist-card.json +96 -0
- package/patterns/checkout-flow.json +148 -0
- package/patterns/chip-multiselect.json +118 -0
- package/patterns/citation-graph.json +118 -0
- package/patterns/command-palette.json +115 -0
- package/patterns/command-rail.json +123 -0
- package/patterns/comment-thread.json +155 -0
- package/patterns/comparison-table.json +121 -0
- package/patterns/contact-form.json +135 -0
- package/patterns/content-card-grid.json +151 -0
- package/patterns/content-detail-hero.json +129 -0
- package/patterns/content-feed.json +141 -0
- package/patterns/content-uploader.json +137 -0
- package/patterns/continue-screen-cta.json +135 -0
- package/patterns/contract-diff.json +110 -0
- package/patterns/contract-explorer.json +119 -0
- package/patterns/conversation-list.json +109 -0
- package/patterns/creator-profile.json +127 -0
- package/patterns/cta-banner.json +103 -0
- package/patterns/cta-section.json +122 -0
- package/patterns/cta.json +124 -0
- package/patterns/data-source-connector.json +131 -0
- package/patterns/data-table.json +138 -0
- package/patterns/dataset-card.json +127 -0
- package/patterns/daw-transport-bar.json +66 -0
- package/patterns/deal-pipeline-board.json +124 -0
- package/patterns/deal-stage-gates.json +102 -0
- package/patterns/depth-layered-canvas.json +105 -0
- package/patterns/detail-header.json +140 -0
- package/patterns/diff-view.json +122 -0
- package/patterns/dividend-ledger.json +120 -0
- package/patterns/doc-editor.json +147 -0
- package/patterns/document-vault.json +129 -0
- package/patterns/drag-sort-list.json +119 -0
- package/patterns/earnings-dashboard.json +132 -0
- package/patterns/emissions-sankey.json +113 -0
- package/patterns/emoji-reaction-bar.json +115 -0
- package/patterns/esports-matchday-command.json +132 -0
- package/patterns/eval-dashboard.json +131 -0
- package/patterns/expense-tracker.json +130 -0
- package/patterns/featured-launchpad-list.json +114 -0
- package/patterns/features.json +118 -0
- package/patterns/file-browser.json +148 -0
- package/patterns/filter-bar.json +146 -0
- package/patterns/footer.json +115 -0
- package/patterns/form-sections.json +180 -0
- package/patterns/form.json +190 -0
- package/patterns/founder-comic-strip.json +126 -0
- package/patterns/generative-card-grid.json +130 -0
- package/patterns/gesture-control-overlay.json +134 -0
- package/patterns/governance-ballot.json +126 -0
- package/patterns/help-modal.json +155 -0
- package/patterns/hero-split.json +125 -0
- package/patterns/hero.json +227 -0
- package/patterns/holographic-control-bar.json +114 -0
- package/patterns/hotkey-bar.json +97 -0
- package/patterns/how-it-works.json +118 -0
- package/patterns/identity-summary.json +115 -0
- package/patterns/instrument-schedule.json +131 -0
- package/patterns/intake-form-wizard.json +134 -0
- package/patterns/intent-radar.json +115 -0
- package/patterns/json-viewer.json +129 -0
- package/patterns/kanban-board.json +133 -0
- package/patterns/kds-ticket-rail.json +133 -0
- package/patterns/kpi-grid.json +123 -0
- package/patterns/launch-update-log.json +129 -0
- package/patterns/launchpad-flow.json +107 -0
- package/patterns/leaderboard.json +143 -0
- package/patterns/lease-manager.json +129 -0
- package/patterns/legal-prose.json +120 -0
- package/patterns/live-room-stage.json +63 -0
- package/patterns/log-stream.json +150 -0
- package/patterns/logo-strip.json +93 -0
- package/patterns/maintenance-board.json +127 -0
- package/patterns/maintenance-ticket.json +156 -0
- package/patterns/map-view.json +140 -0
- package/patterns/match-celebration.json +133 -0
- package/patterns/matter-card.json +113 -0
- package/patterns/mention-popup.json +85 -0
- package/patterns/metric-gauge.json +141 -0
- package/patterns/mixer-console.json +69 -0
- package/patterns/mobile-profile-hero.json +138 -0
- package/patterns/moderation-queue-item.json +129 -0
- package/patterns/morphing-topology.json +113 -0
- package/patterns/namespace-badge.json +93 -0
- package/patterns/nav-header.json +110 -0
- package/patterns/neural-feedback-loop.json +124 -0
- package/patterns/notebook-entry.json +129 -0
- package/patterns/notification-center.json +136 -0
- package/patterns/offset-cart.json +109 -0
- package/patterns/onboarding-wizard.json +130 -0
- package/patterns/org-governance-panel.json +101 -0
- package/patterns/page-tree.json +143 -0
- package/patterns/payment-history.json +130 -0
- package/patterns/payout-settings.json +130 -0
- package/patterns/permission-matrix.json +129 -0
- package/patterns/petition-card.json +106 -0
- package/patterns/pipeline-cards.json +99 -0
- package/patterns/player-form-tracker.json +111 -0
- package/patterns/pledge-checkout-panel.json +145 -0
- package/patterns/pnl-dashboard.json +116 -0
- package/patterns/post-list.json +147 -0
- package/patterns/presence-avatars.json +129 -0
- package/patterns/press-kit-shelf.json +132 -0
- package/patterns/pricing-usage.json +118 -0
- package/patterns/pricing.json +137 -0
- package/patterns/producer-split-workbench.json +57 -0
- package/patterns/product-box-spec-panel.json +126 -0
- package/patterns/product-card.json +120 -0
- package/patterns/product-grid.json +140 -0
- package/patterns/progress-bar.json +124 -0
- package/patterns/prompt-playground.json +129 -0
- package/patterns/property-card.json +112 -0
- package/patterns/property-detail.json +124 -0
- package/patterns/property-grid.json +137 -0
- package/patterns/prose-section.json +102 -0
- package/patterns/protocol-step.json +128 -0
- package/patterns/prototype-demo-bezel.json +137 -0
- package/patterns/qa-thread.json +109 -0
- package/patterns/quick-start.json +88 -0
- package/patterns/recipefork-activity-feed.json +51 -0
- package/patterns/recipefork-chef-ingredients-display.json +48 -0
- package/patterns/recipefork-chef-ingredients-editor.json +52 -0
- package/patterns/recipefork-chef-instruction-editor.json +59 -0
- package/patterns/recipefork-chef-instructions-display.json +54 -0
- package/patterns/recipefork-cookbook-assignment.json +51 -0
- package/patterns/recipefork-cooking-tips-display.json +43 -0
- package/patterns/recipefork-cooking-tips-editor.json +46 -0
- package/patterns/recipefork-fork-provenance.json +50 -0
- package/patterns/recipefork-kitchen-chat.json +103 -0
- package/patterns/recipefork-photo-generator.json +123 -0
- package/patterns/recipefork-presentation-display.json +45 -0
- package/patterns/recipefork-presentation-editor.json +52 -0
- package/patterns/recipefork-recipe-card.json +123 -0
- package/patterns/recipefork-recipe-metadata-form.json +58 -0
- package/patterns/recipefork-recipe-mode-switch.json +52 -0
- package/patterns/recipefork-recipe-story-editor.json +51 -0
- package/patterns/recipefork-simple-recipe-editor.json +49 -0
- package/patterns/redline-track-changes.json +113 -0
- package/patterns/registry-discovery-cta-grid.json +93 -0
- package/patterns/registry-link-list.json +118 -0
- package/patterns/relationship-graph.json +127 -0
- package/patterns/remote-cursor.json +103 -0
- package/patterns/render-queue.json +102 -0
- package/patterns/rent-reminder.json +140 -0
- package/patterns/rent-roll.json +112 -0
- package/patterns/reputation-badge.json +111 -0
- package/patterns/retro-table.json +128 -0
- package/patterns/reward-tier-selector.json +137 -0
- package/patterns/sample-tracker.json +127 -0
- package/patterns/scene-storyboard.json +104 -0
- package/patterns/scope-breakdown.json +108 -0
- package/patterns/scoreboard-live.json +116 -0
- package/patterns/scrim-calendar.json +114 -0
- package/patterns/search-filter-bar.json +141 -0
- package/patterns/secure-document-viewer.json +107 -0
- package/patterns/service-catalog.json +94 -0
- package/patterns/service-map.json +133 -0
- package/patterns/session-inspector.json +62 -0
- package/patterns/session-manager.json +89 -0
- package/patterns/settings-nav.json +106 -0
- package/patterns/share-modal.json +157 -0
- package/patterns/share-quest-panel.json +134 -0
- package/patterns/shot-grid.json +104 -0
- package/patterns/skeleton-loader.json +114 -0
- package/patterns/slash-command.json +80 -0
- package/patterns/sparkline-cell.json +103 -0
- package/patterns/spatial-card-stack.json +133 -0
- package/patterns/spatial-presence-ring.json +103 -0
- package/patterns/split-calculator.json +104 -0
- package/patterns/split-pane.json +112 -0
- package/patterns/stats-bar.json +125 -0
- package/patterns/stats-detail.json +102 -0
- package/patterns/stats-overview.json +132 -0
- package/patterns/stats-section.json +90 -0
- package/patterns/status-bar.json +101 -0
- package/patterns/status-board.json +92 -0
- package/patterns/stem-browser.json +58 -0
- package/patterns/stem-stack.json +101 -0
- package/patterns/stepper.json +115 -0
- package/patterns/storefront-hero.json +120 -0
- package/patterns/stretch-goal-ladder.json +128 -0
- package/patterns/subscriber-list.json +135 -0
- package/patterns/supply-chain-map.json +109 -0
- package/patterns/swipe-action-bar.json +119 -0
- package/patterns/swipe-card.json +126 -0
- package/patterns/table-map.json +134 -0
- package/patterns/target-progress-ring.json +103 -0
- package/patterns/team-member-row.json +139 -0
- package/patterns/tech-pills.json +69 -0
- package/patterns/tenant-card.json +150 -0
- package/patterns/tenant-directory.json +118 -0
- package/patterns/tenant-payment-setup.json +98 -0
- package/patterns/terminal-emulator.json +117 -0
- package/patterns/testimonials.json +133 -0
- package/patterns/tier-builder.json +131 -0
- package/patterns/tier-card.json +118 -0
- package/patterns/tier-upgrade-card.json +144 -0
- package/patterns/timeline-scrubber.json +107 -0
- package/patterns/timeline.json +140 -0
- package/patterns/toast-notification.json +123 -0
- package/patterns/tool-list.json +89 -0
- package/patterns/trace-waterfall.json +123 -0
- package/patterns/trade-modal.json +132 -0
- package/patterns/transcript-stream.json +125 -0
- package/patterns/tree-view.json +124 -0
- package/patterns/unit-detail.json +100 -0
- package/patterns/unit-list.json +106 -0
- package/patterns/unlock-gate.json +132 -0
- package/patterns/usage-meter.json +113 -0
- package/patterns/vacancy-tracker.json +106 -0
- package/patterns/valuation-chart.json +126 -0
- package/patterns/version-history.json +140 -0
- package/patterns/video-room.json +142 -0
- package/patterns/vod-annotator.json +112 -0
- package/patterns/voice-command-palette.json +127 -0
- package/patterns/voice-waveform.json +120 -0
- package/patterns/voting-breakdown.json +101 -0
- package/patterns/waveform-track.json +102 -0
- package/patterns/webhook-debugger.json +116 -0
- package/patterns/workflow-canvas.json +147 -0
- package/patterns/workspace-region-stack.json +74 -0
- package/schemas/archetype.v2.json +145 -0
- package/schemas/blueprint.v1.json +225 -0
- package/schemas/common.v1.json +337 -0
- package/schemas/content-health-report.v1.json +255 -0
- package/schemas/content-intelligence.v1.json +142 -0
- package/schemas/essence.v4.json +430 -0
- package/schemas/execution-pack.common.v1.json +207 -0
- package/schemas/page-pack.v1.json +106 -0
- package/schemas/pattern.v2.json +232 -0
- package/schemas/public-content-list.v1.json +28 -0
- package/schemas/public-content-record.v1.json +91 -0
- package/schemas/public-content-summary.v1.json +132 -0
- package/schemas/registry-intelligence-summary.v1.json +81 -0
- package/schemas/search-response.v1.json +28 -0
- package/schemas/section-pack.v1.json +128 -0
- package/schemas/shell.v1.json +69 -0
- package/schemas/showcase-manifest-entry.v1.json +92 -0
- package/schemas/showcase-manifest.v1.json +28 -0
- package/schemas/showcase-shortlist.v1.json +36 -0
- package/schemas/theme.v1.json +190 -0
- package/shells/canvas-overlay.json +94 -0
- package/shells/centered.json +49 -0
- package/shells/chat-portal.json +153 -0
- package/shells/copilot-overlay.json +156 -0
- package/shells/full-bleed.json +100 -0
- package/shells/immersive-stage.json +89 -0
- package/shells/minimal-header.json +103 -0
- package/shells/mobile-tab-bar.json +119 -0
- package/shells/recipefork-top-nav.json +74 -0
- package/shells/sidebar-aside.json +163 -0
- package/shells/sidebar-main-footer.json +158 -0
- package/shells/sidebar-main.json +175 -0
- package/shells/sidebar-right.json +128 -0
- package/shells/terminal-split.json +95 -0
- package/shells/three-column-browser.json +215 -0
- package/shells/top-nav-footer.json +114 -0
- package/shells/top-nav-main.json +103 -0
- package/shells/top-nav-sidebar.json +130 -0
- package/shells/workspace-aside.json +181 -0
- package/themes/auradecantism.json +601 -0
- package/themes/bespoke.json +433 -0
- package/themes/bioluminescent.json +217 -0
- package/themes/bistro.json +422 -0
- package/themes/carbon-neon.json +458 -0
- package/themes/carbon.json +429 -0
- package/themes/cinema.json +479 -0
- package/themes/clean.json +261 -0
- package/themes/counsel.json +431 -0
- package/themes/dopamine.json +237 -0
- package/themes/earth.json +453 -0
- package/themes/editorial.json +237 -0
- package/themes/estate.json +559 -0
- package/themes/fintech.json +472 -0
- package/themes/gaming-guild.json +341 -0
- package/themes/glassmorphism.json +309 -0
- package/themes/government.json +481 -0
- package/themes/healthcare.json +480 -0
- package/themes/lab.json +437 -0
- package/themes/launchpad.json +320 -0
- package/themes/liquid-glass.json +223 -0
- package/themes/luminarum.json +598 -0
- package/themes/neo-tokyo.json +451 -0
- package/themes/neon-cyber.json +280 -0
- package/themes/neon-dark.json +220 -0
- package/themes/paper.json +496 -0
- package/themes/prismatic.json +217 -0
- package/themes/recipefork.json +278 -0
- package/themes/retro-arcade.json +620 -0
- package/themes/retro.json +240 -0
- package/themes/studio-dark.json +437 -0
- package/themes/studio.json +488 -0
- package/themes/swipecircle.json +533 -0
- package/themes/terminal.json +549 -0
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "character-sheet",
|
|
3
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Character Sheet",
|
|
7
|
+
"description": "Character consistency tracker for AI video production with reference images, trait tags, appearance log, and consistency scoring across generated frames.",
|
|
8
|
+
"category": "media",
|
|
9
|
+
"tags": ["2026", "media", "character", "ai-video", "consistency", "reference"],
|
|
10
|
+
"components": ["CharacterAvatar", "TraitChip", "ReferenceGallery", "AppearanceLog", "ConsistencyScore"],
|
|
11
|
+
"default_preset": "detail",
|
|
12
|
+
"presets": {
|
|
13
|
+
"card": {
|
|
14
|
+
"description": "Compact character card with avatar, name, top traits, and small consistency score for list views and sidebars",
|
|
15
|
+
"layout": {
|
|
16
|
+
"layout": "stack",
|
|
17
|
+
"atoms": "_flex _flex-col _gap-3 _p-4 _bg-surface _rounded-lg _border _w-full _max-w-sm"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"detail": {
|
|
21
|
+
"description": "Expanded detail view with large avatar, reference gallery strip, trait chips, consistency ring, and scene appearance log for deep review",
|
|
22
|
+
"layout": {
|
|
23
|
+
"layout": "stack",
|
|
24
|
+
"atoms": "_flex _flex-col _gap-6 _p-6 _bg-surface _rounded-xl _border _w-full"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"grid": {
|
|
28
|
+
"description": "Grid overview rendering all characters as equal-sized cards for cast overview and selection across a production",
|
|
29
|
+
"layout": {
|
|
30
|
+
"layout": "grid",
|
|
31
|
+
"atoms": "_grid _grid-cols-3 _gap-4 _p-4 _w-full"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"visual_brief": "A large circular character avatar (120px diameter in detail preset, 64px in card) rendered with 2px ring border and subtle glow. Character name displayed prominently below in semibold 18px type. Trait chips arranged as a wrapping flex row below the name, each chip being a small pill (outfit: denim jacket, hair: dark curly, age: mid-30s, style: cinematic) with category-specific accent colors. Reference gallery shows 4-6 alternate angle images in a horizontal strip of 80x80px rounded squares with hover lift. Appearance log renders as a vertical scrollable list of scene cards, each showing a 48x27px thumbnail, scene number, and timestamp when the character appears. Consistency score is a circular progress ring (80px diameter) with stroke-width 8px, showing percentage numerically in center (e.g. '94%'), color-graded green>80, amber 60-80, red<60. Score indicates how well AI-generated frames match the original reference.",
|
|
36
|
+
"default_layout": {
|
|
37
|
+
"layout": "stack",
|
|
38
|
+
"atoms": "_flex _flex-col _gap-6 _p-6 _bg-surface _rounded-xl _border _w-full",
|
|
39
|
+
"slots": {
|
|
40
|
+
"character-avatar": "Large circular avatar at the top displaying the primary reference image. 120px diameter with 2px ring border. Optional upload/change affordance on hover.",
|
|
41
|
+
"character-header": "Name and role block directly below avatar. Name in large semibold type, role label beneath in muted text.",
|
|
42
|
+
"trait-chips": "Wrapping flex row of trait pills grouped by category. Each chip shows category:value format with category-specific accent coloring. Editable: clicking a chip opens inline edit.",
|
|
43
|
+
"reference-gallery": "Horizontal strip of 4-6 alternate reference images as rounded 80x80px thumbnails. Add-reference affordance at end of strip. Clicking a thumbnail previews full-size.",
|
|
44
|
+
"consistency-score": "Circular progress ring rendering percentage score with color grading. Positioned alongside header in detail preset. Tooltip explains calculation on hover.",
|
|
45
|
+
"appearance-log": "Vertical scrollable list of scenes where the character appears. Each row has a small thumbnail, scene number, timestamp, and consistency delta for that specific appearance."
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"responsive": {
|
|
49
|
+
"mobile": "Avatar reduces to 80px. Reference gallery becomes horizontal scroll. Appearance log limits to 5 items with 'view all' link. Trait chips wrap freely.",
|
|
50
|
+
"tablet": "Standard detail layout with slightly reduced spacing. Grid preset shows 2 columns.",
|
|
51
|
+
"desktop": "Full detail layout with all sections visible. Grid preset shows 3-4 columns."
|
|
52
|
+
},
|
|
53
|
+
"layout_hints": {
|
|
54
|
+
"identity_priority": "The character avatar, name, and consistency score should establish identity first. Traits, references, and appearance history deepen that read rather than competing with it.",
|
|
55
|
+
"reference_role": "Reference imagery should feel like authoritative source material attached to the character, not a separate gallery detached from the core sheet.",
|
|
56
|
+
"consistency_signal": "Consistency score should read as a focused quality indicator beside the identity cluster, not as a generic KPI widget."
|
|
57
|
+
},
|
|
58
|
+
"layout_hints": {
|
|
59
|
+
"identity_priority": "The character avatar, name, and consistency score should establish identity first. Traits, references, and appearance history deepen that read rather than competing with it.",
|
|
60
|
+
"reference_role": "Reference imagery should feel like authoritative source material attached to the character, not a separate gallery detached from the core sheet.",
|
|
61
|
+
"consistency_signal": "Consistency score should read as a focused quality indicator beside the identity cluster, not as a generic KPI widget."
|
|
62
|
+
},
|
|
63
|
+
"motion": {
|
|
64
|
+
"micro": {
|
|
65
|
+
"avatar-hover": "ring-glow intensify 200ms ease-out",
|
|
66
|
+
"trait-chip-hover": "scale(1.05) + bg-tint 150ms ease-out"
|
|
67
|
+
},
|
|
68
|
+
"transitions": {
|
|
69
|
+
"consistency-score-update": "stroke-dashoffset lerp 600ms ease-out with number counter",
|
|
70
|
+
"reference-add": "scale(0) to scale(1) 250ms spring"
|
|
71
|
+
},
|
|
72
|
+
"ambient": {
|
|
73
|
+
"score-low-warning": "pulse red glow 2s ease-in-out infinite when score < 60"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"interactions": [
|
|
77
|
+
"animate-on-mount",
|
|
78
|
+
"inline-edit",
|
|
79
|
+
"click-select"
|
|
80
|
+
],
|
|
81
|
+
"composition": {
|
|
82
|
+
"CharacterSheet": "Root(d-surface, stack) > [CharacterAvatar + CharacterHeader + ConsistencyScore + TraitChip* + ReferenceGallery + AppearanceLog]",
|
|
83
|
+
"TraitChips": "FlexRow(wrap) > TraitChip*(d-annotation, data-category)",
|
|
84
|
+
"ReferenceGallery": "Strip(flex-row, scroll-x) > ReferenceThumbnail* + AddReferenceButton",
|
|
85
|
+
"AppearanceLog": "List(d-data) > AppearanceEntry*(d-row) > [Thumbnail + SceneInfo + DeltaBadge]"
|
|
86
|
+
},
|
|
87
|
+
"accessibility": {
|
|
88
|
+
"role": "region",
|
|
89
|
+
"aria-label": "Character reference sheet",
|
|
90
|
+
"announcements": [
|
|
91
|
+
"Consistency score updated to {score}%",
|
|
92
|
+
"Reference image {index} added",
|
|
93
|
+
"Trait {name} updated to {value}"
|
|
94
|
+
],
|
|
95
|
+
"keyboard": [
|
|
96
|
+
"Tab: cycle through traits and references",
|
|
97
|
+
"Enter: edit selected trait or open reference",
|
|
98
|
+
"Delete: remove selected reference",
|
|
99
|
+
"Arrow keys: navigate reference gallery"
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "chart-grid",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Chart Grid",
|
|
7
|
+
"description": "Grid of chart cards for dashboard data visualization",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"Card",
|
|
14
|
+
"CardHeader",
|
|
15
|
+
"CardBody"
|
|
16
|
+
],
|
|
17
|
+
"charts": []
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"contained": false,
|
|
21
|
+
"components": [
|
|
22
|
+
"Card",
|
|
23
|
+
"CardHeader",
|
|
24
|
+
"CardBody"
|
|
25
|
+
],
|
|
26
|
+
"default_preset": "dashboard",
|
|
27
|
+
"presets": {
|
|
28
|
+
"dashboard": {
|
|
29
|
+
"description": "2x2 grid of chart cards, each with a title, chart placeholder area, and legend",
|
|
30
|
+
"components": [
|
|
31
|
+
"Card",
|
|
32
|
+
"CardHeader",
|
|
33
|
+
"CardBody"
|
|
34
|
+
],
|
|
35
|
+
"layout": {
|
|
36
|
+
"layout": "grid",
|
|
37
|
+
"atoms": "_grid _gc1 _lg:gc2 _gap4",
|
|
38
|
+
"slots": {
|
|
39
|
+
"chart-card": "Repeated Card wrapping a chart placeholder area",
|
|
40
|
+
"chart-title": "Chart title in CardHeader with _textsm _fontmedium",
|
|
41
|
+
"chart-area": "Placeholder div with min-height and data-chart-type attribute",
|
|
42
|
+
"legend": "Simple legend row below chart area"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"wide": {
|
|
47
|
+
"description": "Single row of charts, side-scrollable on mobile",
|
|
48
|
+
"components": [
|
|
49
|
+
"Card"
|
|
50
|
+
],
|
|
51
|
+
"layout": {
|
|
52
|
+
"layout": "row",
|
|
53
|
+
"atoms": "_flex _row _gap4 _overflow[auto]",
|
|
54
|
+
"slots": {
|
|
55
|
+
"chart-card": "Horizontally scrollable Card with chart placeholder",
|
|
56
|
+
"chart-title": "Chart title with _textsm _fontmedium",
|
|
57
|
+
"chart-area": "Placeholder div with min-height and data-chart-type attribute"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"mixed": {
|
|
62
|
+
"description": "Asymmetric layout: one large chart spanning 2 cols + two smaller charts",
|
|
63
|
+
"components": [
|
|
64
|
+
"Card"
|
|
65
|
+
],
|
|
66
|
+
"layout": {
|
|
67
|
+
"layout": "grid",
|
|
68
|
+
"atoms": "_grid _gc1 _lg:gc2 _gap4",
|
|
69
|
+
"slots": {
|
|
70
|
+
"primary-chart": "Large chart Card spanning 2 columns with data-chart-type",
|
|
71
|
+
"secondary-charts": "Two smaller chart Cards in the second row"
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"visual_brief": "Grid of chart cards for dashboard analytics. Each card is a contained surface (d-surface) with a compact header showing the chart title in small medium-weight text and an optional time-range selector. The chart area occupies the card body with a minimum height of 200px and renders line charts, bar charts, area charts, or pie charts via data-chart-type attributes. A simple horizontal legend sits below the chart area with colored dots and labels. The mixed preset features one large chart spanning two columns in the first row, with two smaller charts below. Cards have consistent rounded corners and border styling.",
|
|
77
|
+
"responsive": {
|
|
78
|
+
"mobile": "Single column — all charts stack vertically at full width. Chart minimum height reduces to 160px. Legend wraps to multiple lines if needed. Wide preset becomes vertical stack instead of horizontal scroll.",
|
|
79
|
+
"tablet": "Two-column grid activates. Mixed preset large chart still spans full width, smaller charts go side by side below. Chart height at 200px.",
|
|
80
|
+
"desktop": "Full two-column grid. Mixed preset spans correctly. Wide preset shows horizontal scrollable row. Charts at full minimum height with comfortable legend spacing."
|
|
81
|
+
},
|
|
82
|
+
"layout_hints": {
|
|
83
|
+
"grid_ownership": "This pattern owns the chart-card grid only. Parent dashboards should provide larger section framing, filters, or explanatory copy outside the chart grid itself.",
|
|
84
|
+
"chart_balance": "Keep chart titles, value context, and legends tightly associated with each chart so the grid reads as one analytical block instead of a collage of unrelated cards.",
|
|
85
|
+
"mixed_variant": "When one primary chart spans extra width, secondary charts should remain visually subordinate but rhythmically aligned beneath it."
|
|
86
|
+
},
|
|
87
|
+
"motion": {
|
|
88
|
+
"micro": "Chart cards may brighten their border or surface slightly on hover, and legends may fade in cleanly with the chart content.",
|
|
89
|
+
"transitions": "Chart data should animate in a restrained way that preserves readability. Filters or time-range changes should cross-fade or morph smoothly rather than jarringly re-rendering the whole grid."
|
|
90
|
+
},
|
|
91
|
+
"interactions": [
|
|
92
|
+
"animate-on-mount",
|
|
93
|
+
"hover-tooltip",
|
|
94
|
+
"stagger-children",
|
|
95
|
+
"real-time-updates"
|
|
96
|
+
],
|
|
97
|
+
"accessibility": {
|
|
98
|
+
"role": "region",
|
|
99
|
+
"aria-label": "Chart grid",
|
|
100
|
+
"keyboard": [
|
|
101
|
+
"If cards or legends are interactive, tab through each chart card and its controls in reading order."
|
|
102
|
+
],
|
|
103
|
+
"announcements": [
|
|
104
|
+
"Chart title, metric intent, and key legend information should be exposed semantically rather than relying on color alone."
|
|
105
|
+
]
|
|
106
|
+
},
|
|
107
|
+
"default_layout": {
|
|
108
|
+
"layout": "grid",
|
|
109
|
+
"atoms": "_grid _gc1 _lg:gc2 _gap4",
|
|
110
|
+
"slots": {
|
|
111
|
+
"chart-card": "Repeated Card wrapping a chart placeholder area",
|
|
112
|
+
"chart-title": "Chart title in CardHeader with _textsm _fontmedium",
|
|
113
|
+
"chart-area": "Placeholder div with min-height and data-chart-type attribute",
|
|
114
|
+
"legend": "Simple legend row below chart area"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
"io": {
|
|
118
|
+
"consumes": [
|
|
119
|
+
"date-range",
|
|
120
|
+
"filters"
|
|
121
|
+
],
|
|
122
|
+
"produces": []
|
|
123
|
+
},
|
|
124
|
+
"composition": {
|
|
125
|
+
"ChartGrid": "Grid(d-section, responsive: 1/2-col) > ChartCard[]",
|
|
126
|
+
"ChartCard": "Card(d-surface) > [CardHeader > Title(font-medium) + ChartArea(d-data, min-height) + Legend(d-annotation)]",
|
|
127
|
+
"Legend": "Row(gap-2) > LegendItem(dot + label)[]"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "chat-header",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Chat Header",
|
|
7
|
+
"description": "Contextual header for active conversation with editable title, status indicator, and action buttons.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"Button",
|
|
14
|
+
"Badge",
|
|
15
|
+
"icon"
|
|
16
|
+
],
|
|
17
|
+
"charts": []
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"components": [
|
|
21
|
+
"Button",
|
|
22
|
+
"Badge",
|
|
23
|
+
"icon"
|
|
24
|
+
],
|
|
25
|
+
"default_preset": "standard",
|
|
26
|
+
"presets": {
|
|
27
|
+
"standard": {
|
|
28
|
+
"description": "Standard chat header with title and actions",
|
|
29
|
+
"components": [
|
|
30
|
+
"Button",
|
|
31
|
+
"Badge",
|
|
32
|
+
"icon"
|
|
33
|
+
],
|
|
34
|
+
"layout": {
|
|
35
|
+
"layout": "row",
|
|
36
|
+
"atoms": "_flex _aic _jcsb _px6 _py3 _borderB _bgbg",
|
|
37
|
+
"slots": {
|
|
38
|
+
"title": "Editable conversation subject/title",
|
|
39
|
+
"status": "Online/offline indicator or model name badge",
|
|
40
|
+
"actions": "Search, export, branch, settings buttons"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"compact": {
|
|
45
|
+
"description": "Minimal header for mobile or constrained layouts",
|
|
46
|
+
"components": [
|
|
47
|
+
"Button",
|
|
48
|
+
"icon"
|
|
49
|
+
],
|
|
50
|
+
"layout": {
|
|
51
|
+
"layout": "row",
|
|
52
|
+
"atoms": "_flex _aic _jcsb _px4 _py2 _borderB _bgbg",
|
|
53
|
+
"slots": {
|
|
54
|
+
"back": "Back navigation button",
|
|
55
|
+
"title": "Conversation title (truncated)",
|
|
56
|
+
"menu": "Overflow menu button"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"default_layout": {
|
|
62
|
+
"layout": "row",
|
|
63
|
+
"atoms": "_flex _aic _jcsb _px6 _py3 _borderB _bgbg",
|
|
64
|
+
"slots": {
|
|
65
|
+
"title": "Editable conversation subject",
|
|
66
|
+
"status": "Online/offline or model name",
|
|
67
|
+
"actions": "Search, export, branch, settings"
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
"visual_brief": "Horizontal bar at the top of a chat panel with the conversation title on the left (editable on click, showing a pencil icon on hover), a status indicator dot (green for online, gray for offline, or a model name badge) in the center-left area, and action icon buttons on the right (search, export, branch, settings). The bar has a bottom border separator. Compact preset reduces padding and hides less-used actions behind a more-menu.",
|
|
71
|
+
"layout_hints": {
|
|
72
|
+
"title_priority": "Keep the title as the main anchor of the header. Status and action controls should support the title rather than crowd it.",
|
|
73
|
+
"compact_actions": "On narrow widths, collapse lower-priority actions into overflow before truncating the title into meaninglessness.",
|
|
74
|
+
"editable_title": "Inline title editing should preserve the header rhythm and should not cause the whole bar to jump when entering edit mode."
|
|
75
|
+
},
|
|
76
|
+
"responsive": {
|
|
77
|
+
"mobile": "Title truncates with ellipsis. Actions collapse into a single kebab menu. Status indicator moves below title.",
|
|
78
|
+
"tablet": "Full title visible. Two primary actions visible, rest in overflow menu.",
|
|
79
|
+
"desktop": "All elements visible inline. Title is editable on click. Full action button row."
|
|
80
|
+
},
|
|
81
|
+
"motion": {
|
|
82
|
+
"micro": "Action icons, status pills, and title-edit affordances may animate subtly on hover and focus over 120-180ms.",
|
|
83
|
+
"transitions": "Overflow menu reveal and title-edit mode changes should animate softly without shifting the overall header layout."
|
|
84
|
+
},
|
|
85
|
+
"interactions": [
|
|
86
|
+
"hover-reveal",
|
|
87
|
+
"animate-on-mount"
|
|
88
|
+
],
|
|
89
|
+
"accessibility": {
|
|
90
|
+
"role": "region",
|
|
91
|
+
"aria-label": "Chat header",
|
|
92
|
+
"keyboard": [
|
|
93
|
+
"Tab moves through title editing, status, and action controls in header order.",
|
|
94
|
+
"Keyboard users should be able to enter and exit title edit mode predictably."
|
|
95
|
+
],
|
|
96
|
+
"announcements": [
|
|
97
|
+
"Conversation title, status, and current action context should be announced before secondary controls."
|
|
98
|
+
],
|
|
99
|
+
"focus_management": "When entering title edit mode, move focus directly into the editable field and return it to the title trigger on cancel or save."
|
|
100
|
+
},
|
|
101
|
+
"composition": {
|
|
102
|
+
"ChatHeader": "Bar(d-surface, row, space-between, border-bottom) > [Title(editable, heading4) + StatusIndicator(d-annotation, dot: online|offline) + ActionButtons(d-interactive)]",
|
|
103
|
+
"ActionButtons": "Row(gap-2) > IconButton(variant: ghost)[]"
|
|
104
|
+
}
|
|
105
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "chat-input",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Chat Input",
|
|
7
|
+
"description": "Message composition area with auto-growing textarea, file attachments, mentions autocomplete, and keyboard shortcuts.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"Button",
|
|
14
|
+
"icon"
|
|
15
|
+
],
|
|
16
|
+
"charts": []
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"components": [
|
|
20
|
+
"Button",
|
|
21
|
+
"icon"
|
|
22
|
+
],
|
|
23
|
+
"default_preset": "standard",
|
|
24
|
+
"presets": {
|
|
25
|
+
"standard": {
|
|
26
|
+
"description": "Auto-expanding textarea with attach and send buttons",
|
|
27
|
+
"components": [
|
|
28
|
+
"Button",
|
|
29
|
+
"icon"
|
|
30
|
+
],
|
|
31
|
+
"layout": {
|
|
32
|
+
"layout": "stack",
|
|
33
|
+
"atoms": "_flex _col _gap2 _p4 _borderT _bgbg",
|
|
34
|
+
"slots": {
|
|
35
|
+
"attachments-preview": "Staged file thumbnails with remove buttons",
|
|
36
|
+
"textarea": "Auto-growing input with placeholder",
|
|
37
|
+
"actions": "Attach and send buttons"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"rich": {
|
|
42
|
+
"description": "Full-featured input with formatting toolbar",
|
|
43
|
+
"components": [
|
|
44
|
+
"Button",
|
|
45
|
+
"icon"
|
|
46
|
+
],
|
|
47
|
+
"layout": {
|
|
48
|
+
"layout": "stack",
|
|
49
|
+
"atoms": "_flex _col _gap2 _p4 _borderT _bgbg",
|
|
50
|
+
"slots": {
|
|
51
|
+
"toolbar": "Formatting buttons (bold, italic, code, link)",
|
|
52
|
+
"attachments-preview": "Staged file thumbnails",
|
|
53
|
+
"mentions-popup": "@mention autocomplete dropdown",
|
|
54
|
+
"textarea": "Rich text input area",
|
|
55
|
+
"actions": "Attach and send buttons",
|
|
56
|
+
"counter": "Character/token count display"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"default_layout": {
|
|
62
|
+
"layout": "stack",
|
|
63
|
+
"atoms": "_flex _col _gap2 _p4 _borderT _bgbg",
|
|
64
|
+
"slots": {
|
|
65
|
+
"attachments-preview": "Staged file thumbnails with remove buttons",
|
|
66
|
+
"mentions-popup": "@mention autocomplete dropdown",
|
|
67
|
+
"textarea": "Auto-growing input with placeholder",
|
|
68
|
+
"actions": "Attach and send buttons"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"visual_brief": "Anchored input bar at the bottom of the chat viewport with a subtle top border separator. The textarea auto-grows from one line up to a max height, with a muted placeholder. An attachment button (paperclip icon) sits to the left and a send button (arrow-up icon) sits to the right, coloring to accent when the input has content. Staged file attachments render as thumbnail pills above the textarea with individual remove buttons.",
|
|
72
|
+
"layout_hints": {
|
|
73
|
+
"anchored_zone": "The input bar should feel anchored to the bottom of the chat shell and should not float with extra page-level spacing around it.",
|
|
74
|
+
"attachment_rhythm": "Attachment previews should sit in a stable row above the textarea and not push the send controls into awkward positions.",
|
|
75
|
+
"send_priority": "Send controls should remain visually clear when the composer grows; avoid layouts where the send button drifts away from the text area."
|
|
76
|
+
},
|
|
77
|
+
"responsive": {
|
|
78
|
+
"mobile": "Input bar stretches full width with 12px horizontal padding. Textarea font size bumps to 16px to prevent iOS zoom. Attachment previews scroll horizontally as a single row. Send button uses a compact 36px icon-only variant. Mentions popup renders as a bottom sheet rather than a dropdown.",
|
|
79
|
+
"tablet": "Standard layout with comfortable padding. Formatting toolbar (rich preset) shows as a single scrollable row above the textarea. Mentions popup renders as a floating dropdown anchored to the cursor position.",
|
|
80
|
+
"desktop": "Full-featured input with optional formatting toolbar. Send button shows label text alongside icon. Character/token counter appears in the bottom-right corner. Keyboard shortcut hints shown on hover (Enter to send, Shift+Enter for newline)."
|
|
81
|
+
},
|
|
82
|
+
"motion": {
|
|
83
|
+
"textarea-grow": "Height transitions with a 150ms ease-out when content grows or shrinks. No animation on initial render.",
|
|
84
|
+
"send-button": "Send icon rotates 45 degrees and scales to 0.9 on press, returns on release (100ms spring). Button color transitions from muted to accent over 200ms when input becomes non-empty.",
|
|
85
|
+
"attachment-add": "New attachment thumbnails scale from 0.8 to 1.0 with 150ms ease-out. Remove animation scales to 0.8 and fades out over 120ms.",
|
|
86
|
+
"mentions-popup": "Dropdown slides down from the cursor position with 150ms ease-out and fades in. Dismiss reverses the animation."
|
|
87
|
+
},
|
|
88
|
+
"interactions": [
|
|
89
|
+
"inline-edit",
|
|
90
|
+
"keyboard-navigation",
|
|
91
|
+
"animate-on-mount"
|
|
92
|
+
],
|
|
93
|
+
"accessibility": {
|
|
94
|
+
"role": "form",
|
|
95
|
+
"aria-label": "Chat input",
|
|
96
|
+
"keyboard": [
|
|
97
|
+
"Enter sends when the composer is in send mode, Shift+Enter inserts a newline.",
|
|
98
|
+
"Tab moves between attachment controls, the composer, and the send button."
|
|
99
|
+
],
|
|
100
|
+
"announcements": [
|
|
101
|
+
"Attachment add and remove actions should be announced.",
|
|
102
|
+
"Mention suggestions should be announced as the popup opens and changes."
|
|
103
|
+
],
|
|
104
|
+
"focus_management": "Keep focus in the composer after sending when appropriate, and move focus predictably into mention or attachment controls only when the user explicitly enters them."
|
|
105
|
+
}
|
|
106
|
+
}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "chat-message",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Chat Message",
|
|
7
|
+
"description": "Single message bubble for user or AI responses. Supports markdown rendering, code blocks, attachments, reactions, and edit mode.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"Avatar",
|
|
14
|
+
"Button",
|
|
15
|
+
"icon"
|
|
16
|
+
],
|
|
17
|
+
"charts": []
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"components": [
|
|
21
|
+
"Avatar",
|
|
22
|
+
"Button",
|
|
23
|
+
"icon"
|
|
24
|
+
],
|
|
25
|
+
"default_preset": "assistant",
|
|
26
|
+
"presets": {
|
|
27
|
+
"user": {
|
|
28
|
+
"description": "Right-aligned message bubble with primary-tinted background for user messages",
|
|
29
|
+
"components": [
|
|
30
|
+
"Avatar",
|
|
31
|
+
"Button",
|
|
32
|
+
"icon"
|
|
33
|
+
],
|
|
34
|
+
"layout": {
|
|
35
|
+
"layout": "row",
|
|
36
|
+
"atoms": "_flex _jce _gap3 _py2",
|
|
37
|
+
"slots": {
|
|
38
|
+
"content": "Message content with full markdown rendering",
|
|
39
|
+
"timestamp": "Relative or absolute timestamp (optional)",
|
|
40
|
+
"actions": "Copy, edit, delete action buttons on hover"
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"assistant": {
|
|
45
|
+
"description": "Left-aligned message bubble with surface background and avatar for AI responses",
|
|
46
|
+
"components": [
|
|
47
|
+
"Avatar",
|
|
48
|
+
"Button",
|
|
49
|
+
"icon"
|
|
50
|
+
],
|
|
51
|
+
"layout": {
|
|
52
|
+
"layout": "row",
|
|
53
|
+
"atoms": "_flex _jcs _gap3 _py2",
|
|
54
|
+
"slots": {
|
|
55
|
+
"avatar": "AI avatar or icon",
|
|
56
|
+
"sender": "Name/label (optional)",
|
|
57
|
+
"content": "Message content with full markdown rendering",
|
|
58
|
+
"timestamp": "Relative or absolute timestamp",
|
|
59
|
+
"actions": "Copy, react, branch action buttons on hover"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"system": {
|
|
64
|
+
"description": "Centered system message with muted styling for status updates",
|
|
65
|
+
"components": [
|
|
66
|
+
"icon"
|
|
67
|
+
],
|
|
68
|
+
"layout": {
|
|
69
|
+
"layout": "stack",
|
|
70
|
+
"atoms": "_flex _jcc _py2",
|
|
71
|
+
"slots": {
|
|
72
|
+
"content": "System message text"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"default_layout": {
|
|
78
|
+
"layout": "row",
|
|
79
|
+
"atoms": "_flex _jcs _gap3 _py2",
|
|
80
|
+
"slots": {
|
|
81
|
+
"avatar": "Optional avatar/icon",
|
|
82
|
+
"sender": "Name/label",
|
|
83
|
+
"timestamp": "Relative or absolute timestamp",
|
|
84
|
+
"content": "Full markdown rendering with code blocks, images, links",
|
|
85
|
+
"actions": "Copy, edit, delete, react, branch buttons"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"visual_brief": "Message bubble layout with avatar on the left (user messages) or a model icon (assistant messages). Sender name in small bold text with a relative timestamp to the right. Content area supports full markdown: paragraphs, headings, bold/italic, bulleted lists, code blocks with syntax highlighting and copy button, inline code, images, and links. Action buttons (copy, edit, delete, react, branch) appear on hover in a small row above or below the message. User messages align left with a subtle surface background. Assistant messages use a slightly different surface shade. System messages are centered with muted italic text.",
|
|
89
|
+
"responsive": {
|
|
90
|
+
"mobile": "Avatar size reduces to 28px. Action buttons appear on long-press instead of hover. Code blocks scroll horizontally. Message content takes full width minus avatar.",
|
|
91
|
+
"tablet": "Standard layout with 32px avatars. Actions appear on hover/tap.",
|
|
92
|
+
"desktop": "Full layout with 36px avatars, hover actions, and generous content width for code blocks."
|
|
93
|
+
},
|
|
94
|
+
"layout_hints": {
|
|
95
|
+
"message_priority": "Lead with sender role and content first, with timestamp and actions clearly secondary. The bubble should feel like a communication artifact rather than a generic card.",
|
|
96
|
+
"role_clarity": "User, assistant, and system variants should preserve a stable reading pattern while making authorship obvious at a glance.",
|
|
97
|
+
"action_reveal": "Hover or long-press actions should support the message without disrupting the conversational flow or changing bubble geometry dramatically."
|
|
98
|
+
},
|
|
99
|
+
"motion": {
|
|
100
|
+
"micro": "Hover actions, copy affordances, and reaction states may fade or sharpen in gently around the message bubble.",
|
|
101
|
+
"transitions": "Streaming or appended assistant content should feel readable and calm, preserving message continuity rather than performing dramatic reveal animations."
|
|
102
|
+
},
|
|
103
|
+
"interactions": [
|
|
104
|
+
"animate-on-mount",
|
|
105
|
+
"hover-reveal"
|
|
106
|
+
],
|
|
107
|
+
"accessibility": {
|
|
108
|
+
"role": "article",
|
|
109
|
+
"aria-label": "Chat message",
|
|
110
|
+
"keyboard": [
|
|
111
|
+
"Message actions should be reachable after the message content in a predictable order."
|
|
112
|
+
],
|
|
113
|
+
"announcements": [
|
|
114
|
+
"Sender role, timestamp, and message content should be exposed semantically so conversation flow remains understandable without relying on alignment alone."
|
|
115
|
+
]
|
|
116
|
+
},
|
|
117
|
+
"composition": {
|
|
118
|
+
"ChatMessage": "Row(d-surface, align: role) > [Avatar? + MessageBody + Timestamp?(mono-data, text-xs)]",
|
|
119
|
+
"MessageBody": "Bubble(d-surface, variant: role) > [SenderName?(font-bold, text-sm) + Content(markdown) + CodeBlock?(syntax-highlight, copy-button)]",
|
|
120
|
+
"MessageActions": "Row(d-interactive, show-on-hover) > IconButton(variant: ghost)[]"
|
|
121
|
+
}
|
|
122
|
+
}
|