@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,167 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "campaign-marquee-hero",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Campaign Marquee Hero",
|
|
7
|
+
"description": "Retro product-launch hero with a cabinet marquee, product reveal, campaign countdown, progress snapshot, and primary pledge or waitlist action.",
|
|
8
|
+
"category": "campaign",
|
|
9
|
+
"tags": [
|
|
10
|
+
"campaign",
|
|
11
|
+
"launch",
|
|
12
|
+
"hero",
|
|
13
|
+
"retro",
|
|
14
|
+
"conversion",
|
|
15
|
+
"preorder"
|
|
16
|
+
],
|
|
17
|
+
"components": [
|
|
18
|
+
"Button",
|
|
19
|
+
"Badge",
|
|
20
|
+
"Progress",
|
|
21
|
+
"KPI",
|
|
22
|
+
"Media",
|
|
23
|
+
"Countdown"
|
|
24
|
+
],
|
|
25
|
+
"contained": false,
|
|
26
|
+
"default_preset": "product-kickstarter-cabinet",
|
|
27
|
+
"presets": {
|
|
28
|
+
"product-kickstarter-cabinet": {
|
|
29
|
+
"description": "Premium Kickstarter-style first viewport with a physical product box, cartridge or controller deck, marquee headline, proof counters, and raised rectangular CTAs.",
|
|
30
|
+
"components": [
|
|
31
|
+
"Button",
|
|
32
|
+
"Badge",
|
|
33
|
+
"Progress",
|
|
34
|
+
"KPI",
|
|
35
|
+
"Media",
|
|
36
|
+
"Countdown"
|
|
37
|
+
],
|
|
38
|
+
"layout": {
|
|
39
|
+
"layout": "grid",
|
|
40
|
+
"atoms": "_grid _gap8 _items[center] _minh[88vh] _px6 _py10 _maxw[86rem] _mx[auto]",
|
|
41
|
+
"slots": {
|
|
42
|
+
"marquee": "Oversized product-launch headline. Name the literal product, kit, drop, or category in the first viewport.",
|
|
43
|
+
"supporting-copy": "Specific campaign promise with what exists now, what support unlocks, and why the launch matters.",
|
|
44
|
+
"product-theater": "Physical product scene: boxed kit, cartridge, controller, hardware deck, packaging, or inspectable product render. Do not use a generic abstract mockup.",
|
|
45
|
+
"scoreboard": "Funding, backer, countdown, inventory, and goal counters styled like a live arcade scoreboard.",
|
|
46
|
+
"action-row": "Primary pledge/preorder/waitlist CTA and secondary demo/story CTA. Use raised rectangular controller buttons, not pill buttons. Give labels and icons generous x-padding so actions feel like hardware controls, not cramped tags.",
|
|
47
|
+
"proof-row": "Prototype, delivery, maker, press, or fulfillment proof cues close to the CTA."
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"coin-op": {
|
|
52
|
+
"description": "First-viewport hero staged like an arcade cabinet: marquee headline, product screen, live counter strip, and dual CTAs.",
|
|
53
|
+
"components": [
|
|
54
|
+
"Button",
|
|
55
|
+
"Badge",
|
|
56
|
+
"Progress",
|
|
57
|
+
"KPI",
|
|
58
|
+
"Media",
|
|
59
|
+
"Countdown"
|
|
60
|
+
],
|
|
61
|
+
"layout": {
|
|
62
|
+
"layout": "grid",
|
|
63
|
+
"atoms": "_grid _gap8 _items[center] _minh[92vh] _px6 _py10 _maxw[82rem] _mx[auto]",
|
|
64
|
+
"slots": {
|
|
65
|
+
"marquee": "Oversized campaign title band. Literal product or offer name, not an eyebrow-only brand mention.",
|
|
66
|
+
"supporting-copy": "Short launch promise, 2-3 lines max, with one concrete product outcome.",
|
|
67
|
+
"product-screen": "Large visual slot framed as an arcade bezel. Show product render, prototype UI, or packaging visual.",
|
|
68
|
+
"status-strip": "Campaign counters: raised amount, target, backers, days left, early-bird inventory.",
|
|
69
|
+
"action-row": "Primary pledge/preorder/waitlist CTA plus secondary demo/story CTA.",
|
|
70
|
+
"trust-row": "Tiny proof cues such as prototype ready, shipping window, press quote, or maker credibility."
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"catalog-drop": {
|
|
75
|
+
"description": "Mail-order catalog inspired launch hero with product box, issue label, price callout, and pledge action.",
|
|
76
|
+
"components": [
|
|
77
|
+
"Button",
|
|
78
|
+
"Badge",
|
|
79
|
+
"KPI",
|
|
80
|
+
"Media"
|
|
81
|
+
],
|
|
82
|
+
"layout": {
|
|
83
|
+
"layout": "grid",
|
|
84
|
+
"atoms": "_grid _gap7 _items[center] _minh[84vh] _px6 _py12 _maxw[78rem] _mx[auto]",
|
|
85
|
+
"slots": {
|
|
86
|
+
"drop-label": "Small issue/date label, styled like a catalog sticker.",
|
|
87
|
+
"headline": "Large product-drop headline.",
|
|
88
|
+
"product-box": "Packaging or mockup visual with hard border and shadow.",
|
|
89
|
+
"spec-strip": "Compact feature/spec row.",
|
|
90
|
+
"cta-stack": "Primary and secondary actions with campaign note."
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"default_layout": {
|
|
96
|
+
"layout": "grid",
|
|
97
|
+
"atoms": "_grid _gap8 _items[center] _minh[92vh] _px6 _py10 _maxw[82rem] _mx[auto]",
|
|
98
|
+
"slots": {
|
|
99
|
+
"marquee": "Pixel-style product launch title",
|
|
100
|
+
"supporting-copy": "Campaign promise and launch context",
|
|
101
|
+
"product-screen": "Product render or prototype framed in a bezel",
|
|
102
|
+
"status-strip": "Funding, backer, and countdown counters",
|
|
103
|
+
"action-row": "Primary pledge/preorder/waitlist CTA and secondary demo CTA",
|
|
104
|
+
"trust-row": "Compact campaign proof cues"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"visual_brief": "A first-viewport launch surface, not a generic SaaS hero. The page should immediately feel like a premium retro Kickstarter campaign: a bold marquee headline names the product or campaign, a physical product box/cartridge/controller scene acts as the hero object, and the funding or waitlist momentum is visible before scrolling. Use full-bleed atmosphere, but keep all content inside a clear centered cabinet safe area. CTAs should be raised rectangular controller buttons with enough horizontal padding that text and icons do not clash with the button walls. Avoid floating cards, decorative blobs, split-hero stock mockups, vague tag-chip clutter, and pill-shaped CTAs.",
|
|
108
|
+
"responsive": {
|
|
109
|
+
"mobile": "Stack marquee, product screen, counters, then actions. Product screen remains visible in the first viewport but may crop to a square or 4:3 frame. CTAs become full-width arcade buttons.",
|
|
110
|
+
"tablet": "Two-zone layout with marquee/copy above and product screen below or beside counters.",
|
|
111
|
+
"desktop": "Two-column cabinet stage: copy and marquee on the left, product screen and status console on the right. Keep the next campaign module slightly visible below the fold."
|
|
112
|
+
},
|
|
113
|
+
"layout_hints": {
|
|
114
|
+
"first_viewport": "The campaign identity, product visual, and conversion action must all appear before the first scroll.",
|
|
115
|
+
"safe_area": "Full-bleed background is allowed, but content should live inside a max-width campaign cabinet zone.",
|
|
116
|
+
"cta_language": "Use verbs like Back, Reserve, Join, Unlock, Watch Demo, or See Rewards. Avoid generic Submit or Learn More as the primary action.",
|
|
117
|
+
"button_spacing": "Primary and secondary hero actions need hardware-like interior breathing room: icon and label separated, no text hugging the border, and enough min-width for short labels."
|
|
118
|
+
},
|
|
119
|
+
"motion": {
|
|
120
|
+
"micro": {
|
|
121
|
+
"button-press": "translate(3px, 3px) with shadow collapse over 90ms",
|
|
122
|
+
"counter-update": "single-frame LED flip or count-up over 300ms"
|
|
123
|
+
},
|
|
124
|
+
"transitions": {
|
|
125
|
+
"hero-load": "Marquee snaps in first, product screen follows, counters stagger last over 260ms.",
|
|
126
|
+
"reduced-motion": "Use opacity and color changes only; no scanline movement."
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
"interactions": [
|
|
130
|
+
"animate-on-mount",
|
|
131
|
+
"stagger-children",
|
|
132
|
+
"click-select",
|
|
133
|
+
"keyboard-navigation"
|
|
134
|
+
],
|
|
135
|
+
"composition": {
|
|
136
|
+
"CampaignMarqueeHero": "Hero(banner, arcade-canvas) > [Marquee + CopyStack + ProductScreen + StatusStrip + ActionRow + TrustRow]",
|
|
137
|
+
"StatusStrip": "GridOrRail > [RaisedCounter + BackerCounter + DaysLeft + InventoryState]",
|
|
138
|
+
"ActionRow": "Flex(wrap) > [PrimaryCampaignAction + SecondaryDemoAction]"
|
|
139
|
+
},
|
|
140
|
+
"accessibility": {
|
|
141
|
+
"role": "banner",
|
|
142
|
+
"aria-label": "Product launch campaign introduction",
|
|
143
|
+
"keyboard": [
|
|
144
|
+
"Primary and secondary actions should be the first focusable controls after navigation.",
|
|
145
|
+
"Counters must be readable as text, not only visual LED styling."
|
|
146
|
+
],
|
|
147
|
+
"announcements": [
|
|
148
|
+
"Campaign status values should include labels such as amount raised, goal, backers, and days left."
|
|
149
|
+
],
|
|
150
|
+
"focus_management": "Arcade button focus rings should be at least 3px and visible on saturated fills."
|
|
151
|
+
},
|
|
152
|
+
"io": {
|
|
153
|
+
"consumes": [
|
|
154
|
+
"campaign-summary",
|
|
155
|
+
"product-media",
|
|
156
|
+
"campaign-countdown"
|
|
157
|
+
],
|
|
158
|
+
"produces": [
|
|
159
|
+
"conversion-intent"
|
|
160
|
+
],
|
|
161
|
+
"actions": [
|
|
162
|
+
"pledge-click",
|
|
163
|
+
"waitlist-click",
|
|
164
|
+
"demo-click"
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "cap-table",
|
|
3
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Cap Table",
|
|
7
|
+
"description": "An ownership capitalization table that surfaces shareholders, share classes, fully-diluted percentages, vesting status, and dilution events across funding rounds with an inset pie summary for at-a-glance ownership distribution.",
|
|
8
|
+
"category": "finance",
|
|
9
|
+
"tags": [
|
|
10
|
+
"2026",
|
|
11
|
+
"finance",
|
|
12
|
+
"ownership",
|
|
13
|
+
"equity",
|
|
14
|
+
"cap-table",
|
|
15
|
+
"dilution",
|
|
16
|
+
"shareholders",
|
|
17
|
+
"dataviz"
|
|
18
|
+
],
|
|
19
|
+
"components": [
|
|
20
|
+
"ShareholderRow",
|
|
21
|
+
"ShareClassBadge",
|
|
22
|
+
"PercentageBar",
|
|
23
|
+
"VestingChip",
|
|
24
|
+
"PieSummary",
|
|
25
|
+
"TotalsFooter",
|
|
26
|
+
"DilutionEventMarker"
|
|
27
|
+
],
|
|
28
|
+
"default_preset": "standard",
|
|
29
|
+
"presets": {
|
|
30
|
+
"standard": {
|
|
31
|
+
"description": "Full cap table rendering every shareholder with share class, shares owned, fully-diluted percentage bar, and vesting chip. Includes totals footer and inset pie summary on the right for quick distribution scanning.",
|
|
32
|
+
"layout": {
|
|
33
|
+
"layout": "data-table",
|
|
34
|
+
"atoms": "_w100 _grid _gap4"
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"summary": {
|
|
38
|
+
"description": "Condensed view showing only an ownership pie chart with aggregated share-class totals and top shareholders. Optimized for executive dashboards and investor update decks where detail is unnecessary.",
|
|
39
|
+
"layout": {
|
|
40
|
+
"layout": "grid",
|
|
41
|
+
"atoms": "_w100 _grid _grid-cols-2 _gap6"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"waterfall": {
|
|
45
|
+
"description": "Dilution-event waterfall that lists funding rounds chronologically with before/after percentages per shareholder, highlighting dilution deltas with colored badges and connecting arrows between rounds.",
|
|
46
|
+
"layout": {
|
|
47
|
+
"layout": "data-table",
|
|
48
|
+
"atoms": "_w100 _overflow-x-auto"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"visual_brief": "A clean, investor-grade table rendered inside a d-surface card with a soft border and subtle zebra-striped rows. The header row uses d-annotation small-caps labels: Shareholder, Class, Shares, % Fully Diluted, Vesting. Each ShareholderRow shows the shareholder name in semibold text with a secondary line for entity type (individual/fund/employee-pool). A ShareClassBadge sits beside the name, color-coded: Common = neutral gray, Preferred Series A/B/C = ascending blue shades, Options/ISOs = amber, SAFE/Convertible = violet. The shares column uses mono-data tabular figures, right-aligned. The PercentageBar fills horizontally within its cell, width proportional to ownership, using a primary-accent fill with a thin track behind it; the numeric percentage overlays the bar in semibold. VestingChip shows 'Fully vested', '4y / 1y cliff — 37% vested', or 'Unvested' with a small progress ring. Rows are clickable and expand inline to reveal grant date, strike price, and acceleration clauses. A sticky TotalsFooter at the bottom shows total shares issued, total fully-diluted shares, and 100% summed percentage. A PieSummary inset (180px circle) floats to the right of the table on wide viewports, with color-coded wedges matching share-class badge colors and a legend below. Waterfall preset replaces the percentage bar with a two-column before/after layout and red/green delta chips showing dilution impact from each funding round, with thin connector lines between adjacent rounds.",
|
|
53
|
+
"layout_hints": {
|
|
54
|
+
"container": "d-surface card",
|
|
55
|
+
"note": "Cap tables are dense financial data. Use mono-data figures for all share counts and percentages. Right-align all numeric columns. Preserve tabular-nums so digits line up vertically.",
|
|
56
|
+
"row_interaction": "ShareholderRow uses d-row[data-interactive] with cursor:pointer. Expanded state reveals grant metadata in a sub-row with a subtle inset background.",
|
|
57
|
+
"percentage_bar": "PercentageBar track is 100% of cell width, fill proportional. Use d-annotation[data-bar] with height 8px, border-radius 4px. Percentage text sits centered above or inside the bar depending on fill width.",
|
|
58
|
+
"share_class_colors": "ShareClassBadge MUST be consistent across all instances: Common=neutral, Preferred=blue scale, Options=amber, SAFE=violet. Never use red/green for share classes (reserved for deltas).",
|
|
59
|
+
"totals_footer": "TotalsFooter uses sticky positioning at bottom of table container. Background: color-mix(in srgb, var(--d-surface) 95%, var(--d-primary) 5%). Font-weight: 600. Always sums to 100% fully diluted."
|
|
60
|
+
},
|
|
61
|
+
"default_layout": {
|
|
62
|
+
"layout": "data-table",
|
|
63
|
+
"atoms": "_w100 _grid _gap4 _p4",
|
|
64
|
+
"slots": {
|
|
65
|
+
"table-header": "Sticky top row with column labels rendered as d-annotation small-caps. Columns: Shareholder, Class, Shares, % Fully Diluted, Vesting. Header has a subtle bottom border and slightly elevated background to distinguish from data rows during scroll.",
|
|
66
|
+
"shareholder-rows": "Repeating slot — one ShareholderRow per cap-table entry. Each row uses d-row[data-interactive] containing: Name cell (semibold with entity-type subline), ShareClassBadge, Shares cell (mono-data right-aligned), PercentageBar cell (fills proportionally), VestingChip cell. Rows alternate subtle background tint for readability. Click expands inline detail sub-row showing grant date, strike price, acceleration clauses, and notes.",
|
|
67
|
+
"totals-footer": "Sticky footer row aggregating totals: total shares issued, total fully-diluted shares, and 100% sum verification. Uses bold mono-data figures. If percentages do not sum to 100% (floating-point drift), shows warning chip.",
|
|
68
|
+
"pie-summary": "Optional inset circular chart (180px) anchored to the right of the table on wide viewports. Wedges colored by share class matching badge colors. Legend below shows class name + aggregated percentage. Hovering a wedge highlights matching rows in the table.",
|
|
69
|
+
"dilution-markers": "Waterfall-preset-only slot. Horizontal dilution-event markers appear between round columns as vertical connector lines with round-name labels (e.g., 'Series B — $12M @ $48M pre'). Each shareholder row shows before/after percentages with red (diluted) or green (purchased) delta chips."
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
"accessibility": {
|
|
73
|
+
"role": "table",
|
|
74
|
+
"aria-label": "Capitalization table",
|
|
75
|
+
"announcements": [
|
|
76
|
+
"Shareholder {name} owns {percent}% fully diluted",
|
|
77
|
+
"Expanded {name} row showing grant details",
|
|
78
|
+
"Total fully-diluted shares: {count}"
|
|
79
|
+
],
|
|
80
|
+
"keyboard": [
|
|
81
|
+
"Tab: cycle through shareholder rows",
|
|
82
|
+
"Enter: expand selected row to show grant details",
|
|
83
|
+
"Escape: collapse expanded row",
|
|
84
|
+
"Arrow Down/Up: navigate between rows",
|
|
85
|
+
"Home/End: jump to first/last row"
|
|
86
|
+
]
|
|
87
|
+
},
|
|
88
|
+
"responsive": {
|
|
89
|
+
"mobile": "Table reflows to a card-stack layout. Each shareholder becomes a vertical card showing name, class badge, and percentage prominently with shares and vesting in a secondary row. PieSummary hidden. Totals footer remains sticky.",
|
|
90
|
+
"tablet": "Standard table layout with PieSummary collapsed into a toggle button that expands the chart as an overlay. Vesting column truncates to chip-only."
|
|
91
|
+
},
|
|
92
|
+
"motion": {
|
|
93
|
+
"micro": {
|
|
94
|
+
"row-hover": "background-color shift 150ms ease-out",
|
|
95
|
+
"bar-fill": "width 0 to target 600ms ease-out on mount",
|
|
96
|
+
"chip-progress": "vesting ring stroke-dashoffset 400ms ease-in-out"
|
|
97
|
+
},
|
|
98
|
+
"transitions": {
|
|
99
|
+
"row-expand": "height auto + fade 250ms ease-out",
|
|
100
|
+
"row-collapse": "height 0 + fade 200ms ease-in",
|
|
101
|
+
"pie-wedge-highlight": "scale(1.03) + brightness(1.1) 200ms ease-out"
|
|
102
|
+
},
|
|
103
|
+
"ambient": {
|
|
104
|
+
"totals-pulse": "subtle background shimmer on totals-footer when values update 400ms ease-out"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"interactions": [
|
|
108
|
+
"animate-on-mount",
|
|
109
|
+
"inline-edit",
|
|
110
|
+
"click-select"
|
|
111
|
+
],
|
|
112
|
+
"composition": {
|
|
113
|
+
"CapTable": "Surface(d-surface, card) > [TableHeader + ShareholderRow[] + TotalsFooter + PieSummary?]",
|
|
114
|
+
"ShareholderRow": "Row(d-row, data-interactive) > [Name + ShareClassBadge + SharesCell + PercentageBar + VestingChip]",
|
|
115
|
+
"ShareClassBadge": "Chip(d-annotation, data-class) > [ClassLabel]",
|
|
116
|
+
"PercentageBar": "Bar(d-annotation, data-bar) > [Track + Fill + PercentLabel]",
|
|
117
|
+
"VestingChip": "Chip(d-annotation, data-vesting) > [ProgressRing + VestingLabel]",
|
|
118
|
+
"PieSummary": "Chart(d-surface, inset) > [PieCanvas + Legend]",
|
|
119
|
+
"TotalsFooter": "Footer(d-row, sticky) > [TotalShares + TotalPercent + VerificationChip?]"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "card-grid",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Card Grid",
|
|
7
|
+
"description": "Responsive grid of cards with preset-specific content layouts",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"Card",
|
|
14
|
+
"Button",
|
|
15
|
+
"Badge",
|
|
16
|
+
"Image",
|
|
17
|
+
"icon"
|
|
18
|
+
],
|
|
19
|
+
"charts": []
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"contained": false,
|
|
23
|
+
"components": [
|
|
24
|
+
"Card",
|
|
25
|
+
"CardHeader",
|
|
26
|
+
"CardBody",
|
|
27
|
+
"CardFooter",
|
|
28
|
+
"Image",
|
|
29
|
+
"Button",
|
|
30
|
+
"Badge"
|
|
31
|
+
],
|
|
32
|
+
"default_preset": "product",
|
|
33
|
+
"presets": {
|
|
34
|
+
"product": {
|
|
35
|
+
"description": "Product cards with image, title, price, rating, add-to-cart button. Grid: 1/2/3/4 cols at sm/md/lg/xl.",
|
|
36
|
+
"components": [
|
|
37
|
+
"Card",
|
|
38
|
+
"CardHeader",
|
|
39
|
+
"CardBody",
|
|
40
|
+
"CardFooter",
|
|
41
|
+
"Image",
|
|
42
|
+
"Button",
|
|
43
|
+
"Badge",
|
|
44
|
+
"icon"
|
|
45
|
+
],
|
|
46
|
+
"layout": {
|
|
47
|
+
"layout": "grid",
|
|
48
|
+
"atoms": "_grid _gc1 _sm:gc2 _lg:gc3 _xl:gc4 _gap4",
|
|
49
|
+
"slots": {
|
|
50
|
+
"card-image": "Product image with aspect-ratio container",
|
|
51
|
+
"card-title": "Product name with _textsm _fontmedium",
|
|
52
|
+
"card-price": "Price with _heading4 styling",
|
|
53
|
+
"card-rating": "Star rating row with icon stars and count Badge",
|
|
54
|
+
"card-action": "Add-to-cart Button in CardFooter"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"content": {
|
|
59
|
+
"description": "Content/blog cards with thumbnail, title, excerpt, author, date. Grid: 1/2/3 cols.",
|
|
60
|
+
"components": [
|
|
61
|
+
"Card",
|
|
62
|
+
"CardHeader",
|
|
63
|
+
"CardBody",
|
|
64
|
+
"Image",
|
|
65
|
+
"Badge",
|
|
66
|
+
"icon"
|
|
67
|
+
],
|
|
68
|
+
"layout": {
|
|
69
|
+
"layout": "grid",
|
|
70
|
+
"atoms": "_grid _gc1 _md:gc2 _lg:gc3 _gap6",
|
|
71
|
+
"slots": {
|
|
72
|
+
"card-thumbnail": "Blog post thumbnail image",
|
|
73
|
+
"card-category": "Category Badge above title",
|
|
74
|
+
"card-title": "Article title with _heading4 styling",
|
|
75
|
+
"card-excerpt": "Short excerpt with _bodysm _fgmuted",
|
|
76
|
+
"card-meta": "Author avatar, name, and date row"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"collection": {
|
|
81
|
+
"description": "Collection/category cards with background image, overlay title, item count. Grid: 2/3 cols.",
|
|
82
|
+
"components": [
|
|
83
|
+
"Card",
|
|
84
|
+
"Image",
|
|
85
|
+
"Badge"
|
|
86
|
+
],
|
|
87
|
+
"layout": {
|
|
88
|
+
"layout": "grid",
|
|
89
|
+
"atoms": "_grid _gc2 _lg:gc3 _gap4",
|
|
90
|
+
"slots": {
|
|
91
|
+
"card-background": "Full-bleed background image with gradient overlay",
|
|
92
|
+
"card-overlay-title": "Collection name overlaid at bottom with _heading3",
|
|
93
|
+
"card-count": "Item count Badge overlaid on image"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"icon": {
|
|
98
|
+
"description": "Small icon cards with icon, title, short description. Grid: 2/3/4 cols. Compact.",
|
|
99
|
+
"components": [
|
|
100
|
+
"Card",
|
|
101
|
+
"icon"
|
|
102
|
+
],
|
|
103
|
+
"layout": {
|
|
104
|
+
"layout": "grid",
|
|
105
|
+
"atoms": "_grid _gc2 _md:gc3 _lg:gc4 _gap3",
|
|
106
|
+
"slots": {
|
|
107
|
+
"card-icon": "Icon in a rounded muted background circle",
|
|
108
|
+
"card-title": "Feature title with _textsm _fontmedium",
|
|
109
|
+
"card-description": "Short description with _textxs _fgmuted"
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"capability": {
|
|
114
|
+
"description": "Capability cards with icon, title, framing paragraph, and 2-4 supporting capability rows or badges. Grid: 1/2/3 cols with wider cards and calmer vertical rhythm.",
|
|
115
|
+
"components": [
|
|
116
|
+
"Card",
|
|
117
|
+
"CardHeader",
|
|
118
|
+
"CardBody",
|
|
119
|
+
"Badge",
|
|
120
|
+
"icon"
|
|
121
|
+
],
|
|
122
|
+
"layout": {
|
|
123
|
+
"layout": "grid",
|
|
124
|
+
"atoms": "_grid _gc1 _md:gc2 _xl:gc3 _gap5",
|
|
125
|
+
"slots": {
|
|
126
|
+
"card-icon": "Category icon in a rounded accent-tinted circle or chip.",
|
|
127
|
+
"card-title": "Capability category title with heading-scale emphasis and room for two lines when needed.",
|
|
128
|
+
"card-description": "Short framing paragraph explaining the category or practice area.",
|
|
129
|
+
"card-supporting-list": "Calm vertical list of 2-4 supporting capability rows, each with a label and optional proficiency badge. Use divider-separated rows or a subtle list grouping, not nested mini-cards."
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"visual_brief": "Responsive grid of uniformly-sized cards with consistent gap spacing. Each card is a contained surface with subtle border or shadow, rounded corners (r3), and internal padding. Product preset: top image with fixed aspect ratio, title below in medium-weight text, price in bold heading style, star-rating row with filled/empty star icons, and a full-width add-to-cart button in the card footer. Content preset: thumbnail image, colored category badge, article title, two-line excerpt in muted small text, and an author row with avatar, name, and date. Capability preset: medium-width cards with a category icon, a strong title, one short framing paragraph, and a calm supporting list for two to four related capabilities or badges. The supporting list should feel integrated into the same card surface through spacing, dividers, or a subtle grouping rhythm rather than through a second bordered panel or a stack of mini-cards. Cards maintain equal height within each row via grid stretch when the preset is intended for comparable content density.",
|
|
135
|
+
"layout_hints": {
|
|
136
|
+
"card_surface": "Each item should feel like one coherent card surface. Do not wrap grid items in an extra shell-level d-surface if the pattern already provides the card treatment.",
|
|
137
|
+
"description_clamp": "Allow enough room for meaningful summary copy. In most content grids, descriptions should get at least two to three lines before truncation.",
|
|
138
|
+
"footer_rhythm": "Meta rows and CTA rows should align consistently across cards. Footers should not jump vertically between items in the same grid.",
|
|
139
|
+
"hover_behavior": "Use CSS-driven hover lift or media scaling rather than inline event handlers that mutate style values in component code.",
|
|
140
|
+
"icon_preset_scope": "The icon preset is intentionally compact. Use it for icon + title + short description only, not for longer body copy plus nested capability rows.",
|
|
141
|
+
"capability_preset_scope": "When a route needs richer category cards with supporting rows or badges, use the capability preset and keep the grid to one, two, or three columns rather than forcing a compact four-up layout.",
|
|
142
|
+
"nested_surface_avoidance": "Capability cards should read as one card surface. Avoid creating a card within a card or wrapping each supporting row in its own mini-panel unless a route explicitly asks for nested grouping."
|
|
143
|
+
},
|
|
144
|
+
"responsive": {
|
|
145
|
+
"mobile": "Single column (1 card per row). Cards go full-width with larger touch targets. Image aspect ratio maintained. Gap reduces to gap3.",
|
|
146
|
+
"tablet": "Two columns for most presets. Collection preset stays at 2 columns. Gap at gap4. Cards maintain equal height per row. Capability preset remains at two columns to preserve room for supporting rows.",
|
|
147
|
+
"desktop": "Three to four columns depending on preset. Product goes up to 4 columns at xl breakpoint. Content stays at 3. Icon preset reaches 4 columns. Capability preset tops out at 3 columns so cards can hold a short paragraph plus supporting items without feeling squeezed."
|
|
148
|
+
},
|
|
149
|
+
"motion": {
|
|
150
|
+
"micro": "Cards lift on hover with translateY(-2px) and increased shadow over 200ms ease. Image within card scales to 1.03 on hover with overflow hidden. Badge pulses subtly on new items.",
|
|
151
|
+
"transitions": "Cards entering viewport fade up from 15px below with staggered 100ms delay per card, 300ms duration. Load-more appends new cards with the same stagger animation."
|
|
152
|
+
},
|
|
153
|
+
"interactions": [
|
|
154
|
+
"lift-hover",
|
|
155
|
+
"stagger-children",
|
|
156
|
+
"animate-on-mount",
|
|
157
|
+
"click-select",
|
|
158
|
+
"scroll-reveal"
|
|
159
|
+
],
|
|
160
|
+
"accessibility": {
|
|
161
|
+
"role": "region",
|
|
162
|
+
"aria-label": "Card grid",
|
|
163
|
+
"keyboard": [
|
|
164
|
+
"Tab should move through cards and nested actions in reading order.",
|
|
165
|
+
"If the entire card is clickable, expose one clear interactive target instead of conflicting nested links."
|
|
166
|
+
],
|
|
167
|
+
"announcements": [
|
|
168
|
+
"Card titles and supporting metadata should be available to assistive technology without relying on hover-only UI."
|
|
169
|
+
],
|
|
170
|
+
"focus_management": "Focused cards should get a clear outline or surface treatment equivalent to hover, and keyboard users should be able to distinguish nested CTAs from the card container."
|
|
171
|
+
},
|
|
172
|
+
"default_layout": {
|
|
173
|
+
"layout": "grid",
|
|
174
|
+
"atoms": "_grid _gc1 _sm:gc2 _lg:gc3 _xl:gc4 _gap4",
|
|
175
|
+
"slots": {
|
|
176
|
+
"card-image": "Product image with aspect-ratio container",
|
|
177
|
+
"card-title": "Product name with _textsm _fontmedium",
|
|
178
|
+
"card-price": "Price with _heading4 styling",
|
|
179
|
+
"card-rating": "Star rating row with icon stars and count Badge",
|
|
180
|
+
"card-action": "Add-to-cart Button in CardFooter"
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"io": {
|
|
184
|
+
"consumes": [
|
|
185
|
+
"search",
|
|
186
|
+
"filters",
|
|
187
|
+
"data"
|
|
188
|
+
],
|
|
189
|
+
"produces": [
|
|
190
|
+
"selection"
|
|
191
|
+
],
|
|
192
|
+
"actions": [
|
|
193
|
+
"load-more"
|
|
194
|
+
]
|
|
195
|
+
},
|
|
196
|
+
"composition": {
|
|
197
|
+
"CardGrid": "Grid(d-section, responsive: 1/2/3/4-col) > ProductCard[]",
|
|
198
|
+
"ProductCard": "Card(d-surface, hoverable, lift-on-hover) > [Image(aspect-ratio) + Title(font-medium) + Price(heading4) + RatingRow > [StarIcon[] + CountBadge(d-annotation)] + CTAButton(d-interactive, full-width)]",
|
|
199
|
+
"ContentCard": "Card(d-surface) > [Thumbnail + CategoryBadge(d-annotation) + Title(heading4) + Excerpt(text-muted) + MetaRow > [AuthorAvatar + AuthorName + Date]]",
|
|
200
|
+
"CapabilityCard": "Card(d-surface, calmer-width) > [IconChip + Title(heading-scale) + Description(text-muted) + SupportingList(divider-separated or subtly grouped) > CapabilityRow*(label + optional proficiency badge)]"
|
|
201
|
+
}
|
|
202
|
+
}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "case-brief-card",
|
|
3
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Case Brief Card",
|
|
7
|
+
"description": "A case brief summary card displaying Bluebook citation, court, outcome, holding summary, key facts, and optional research annotation margin.",
|
|
8
|
+
"category": "legal",
|
|
9
|
+
"tags": [
|
|
10
|
+
"2026",
|
|
11
|
+
"legal",
|
|
12
|
+
"research",
|
|
13
|
+
"case-brief",
|
|
14
|
+
"precedent",
|
|
15
|
+
"citation",
|
|
16
|
+
"card"
|
|
17
|
+
],
|
|
18
|
+
"components": [
|
|
19
|
+
"CaseCitation",
|
|
20
|
+
"CourtBadge",
|
|
21
|
+
"HoldingSummary",
|
|
22
|
+
"KeyFacts",
|
|
23
|
+
"OutcomeBadge",
|
|
24
|
+
"AnnotationMargin"
|
|
25
|
+
],
|
|
26
|
+
"default_preset": "standard",
|
|
27
|
+
"presets": {
|
|
28
|
+
"standard": {
|
|
29
|
+
"description": "Full brief card showing citation, court, outcome, holding summary, and bulleted key facts for typical research workflow usage",
|
|
30
|
+
"layout": {
|
|
31
|
+
"layout": "card",
|
|
32
|
+
"atoms": "_relative _w100 _p-6 _rounded-lg _bg-surface _border"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"minimal": {
|
|
36
|
+
"description": "Citation-only compact card for bibliography lists and quick reference collections showing only the formatted citation and court badge",
|
|
37
|
+
"layout": {
|
|
38
|
+
"layout": "card-compact",
|
|
39
|
+
"atoms": "_flex _items-center _gap-3 _w100 _p-3 _rounded _bg-surface _border"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"research": {
|
|
43
|
+
"description": "Extended card with right-docked annotation margin column for user notes, highlights, and personal research commentary attached inline",
|
|
44
|
+
"layout": {
|
|
45
|
+
"layout": "card-with-margin",
|
|
46
|
+
"atoms": "_grid _grid-cols-[1fr_240px] _gap-4 _w100 _p-6 _rounded-lg _bg-surface _border"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"visual_brief": "A card with the full Bluebook citation rendered at top in monospace font at prominent size (e.g. 'Roe v. Wade, 410 U.S. 113 (1973)'). Immediately below the citation, a row of badges: court badge (SCOTUS, 9th Cir., D. Mass.) with court-specific color coding, and outcome badge (Affirmed: green, Reversed: red, Remanded: amber, Vacated: purple). A short decided-date chip. Holding summary appears as a 2-3 line blockquote-styled paragraph in italic serif font set off with a left border. Key Facts section below shows a bulleted list of 3-5 concise fact bullets. Research preset adds a right margin column with annotation surface where user notes appear as sticky-note style cards in pale yellow with timestamp and optional highlight-color indicators linking to specific text spans.",
|
|
51
|
+
"layout_hints": {
|
|
52
|
+
"container": "d-surface",
|
|
53
|
+
"note": "Citations must always use Bluebook format. Court badge uses text abbreviation, never icon-only.",
|
|
54
|
+
"outcome_colors": "Outcome semantics are fixed: Affirmed green, Reversed red, Remanded amber, Vacated purple, Dismissed gray."
|
|
55
|
+
},
|
|
56
|
+
"default_layout": {
|
|
57
|
+
"layout": "card",
|
|
58
|
+
"atoms": "_relative _w100 _p-6 _rounded-lg _bg-surface _border",
|
|
59
|
+
"slots": {
|
|
60
|
+
"case-citation": "Top-of-card monospace Bluebook citation with case name and reporter reference.",
|
|
61
|
+
"court-badge": "Colored pill showing court abbreviation (SCOTUS, 9th Cir., etc.) with court-specific palette.",
|
|
62
|
+
"outcome-badge": "Pill showing case disposition (Affirmed, Reversed, Remanded, Vacated) with semantic color.",
|
|
63
|
+
"holding-summary": "Italic serif blockquote paragraph set off with left border containing 2-3 line holding summary.",
|
|
64
|
+
"key-facts": "Bulleted list of 3-5 concise material facts from the case.",
|
|
65
|
+
"annotation-margin": "Right-docked column (research preset only) containing user-authored annotation notes and highlights."
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"accessibility": {
|
|
69
|
+
"role": "article",
|
|
70
|
+
"aria-label": "Case brief",
|
|
71
|
+
"announcements": [
|
|
72
|
+
"Case {citation}: court {court}, outcome {outcome}",
|
|
73
|
+
"Holding: {summary}"
|
|
74
|
+
],
|
|
75
|
+
"keyboard": [
|
|
76
|
+
"Tab: focus card",
|
|
77
|
+
"Enter: expand to full case view",
|
|
78
|
+
"N: add annotation (research preset)",
|
|
79
|
+
"H: highlight selection (research preset)"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"responsive": {
|
|
83
|
+
"mobile": "Research preset collapses annotation margin to bottom drawer. Citation may wrap to two lines.",
|
|
84
|
+
"tablet": "Standard layout retained. Research margin narrows to 200px."
|
|
85
|
+
},
|
|
86
|
+
"motion": {
|
|
87
|
+
"micro": {
|
|
88
|
+
"card-hover": "elevation raise + citation highlight 150ms ease-out",
|
|
89
|
+
"fact-hover": "bullet point accent 120ms ease"
|
|
90
|
+
},
|
|
91
|
+
"transitions": {
|
|
92
|
+
"expand-full": "card height grow + content fade-in 300ms ease-in-out",
|
|
93
|
+
"annotation-add": "new note slide-in from right 300ms ease-out"
|
|
94
|
+
},
|
|
95
|
+
"ambient": {
|
|
96
|
+
"highlighted-fact": "subtle background glow on linked fact when annotation hovered 2s ease-in-out"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"interactions": [
|
|
100
|
+
"lift-hover",
|
|
101
|
+
"click-select",
|
|
102
|
+
"animate-on-mount"
|
|
103
|
+
],
|
|
104
|
+
"composition": {
|
|
105
|
+
"CaseBriefCard": "Card(d-surface) > [Header > [CaseCitation(mono) + BadgeRow > [CourtBadge + OutcomeBadge + DateChip]] + HoldingSummary(italic-quote) + KeyFacts > FactBullet[] + AnnotationMargin?]",
|
|
106
|
+
"CaseCitation": "Text(mono, prominent) > CitationString",
|
|
107
|
+
"CourtBadge": "Pill(d-annotation, data-court) > CourtAbbreviation",
|
|
108
|
+
"OutcomeBadge": "Pill(d-annotation, data-outcome) > OutcomeLabel",
|
|
109
|
+
"HoldingSummary": "Blockquote(serif-italic, left-border) > SummaryText",
|
|
110
|
+
"KeyFacts": "List(bulleted) > FactItem[]",
|
|
111
|
+
"AnnotationMargin": "Column(d-annotation) > AnnotationNote[] > [Timestamp + NoteBody + HighlightLink]"
|
|
112
|
+
}
|
|
113
|
+
}
|