@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,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "matter-card",
|
|
3
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Matter Card",
|
|
7
|
+
"description": "A legal matter summary card showing client, status, budget burn, key deadlines, assignees, and outstanding tasks for law firm pipeline management.",
|
|
8
|
+
"category": "legal",
|
|
9
|
+
"tags": [
|
|
10
|
+
"2026",
|
|
11
|
+
"legal",
|
|
12
|
+
"matter",
|
|
13
|
+
"pipeline",
|
|
14
|
+
"law-firm",
|
|
15
|
+
"case-management",
|
|
16
|
+
"card"
|
|
17
|
+
],
|
|
18
|
+
"components": [
|
|
19
|
+
"MatterTitle",
|
|
20
|
+
"ClientInfo",
|
|
21
|
+
"StatusBadge",
|
|
22
|
+
"BudgetBar",
|
|
23
|
+
"DeadlineChip",
|
|
24
|
+
"AssigneeAvatars"
|
|
25
|
+
],
|
|
26
|
+
"default_preset": "standard",
|
|
27
|
+
"presets": {
|
|
28
|
+
"standard": {
|
|
29
|
+
"description": "Full-detail matter card with title, client, status, budget burn bar, deadline chip, assignees, and open task count for dashboard usage",
|
|
30
|
+
"layout": {
|
|
31
|
+
"layout": "card",
|
|
32
|
+
"atoms": "_relative _w100 _p-4 _rounded-lg _bg-surface _border"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"compact": {
|
|
36
|
+
"description": "Single-row compact list presentation showing matter number, client, status pill, and next deadline for high-density table views",
|
|
37
|
+
"layout": {
|
|
38
|
+
"layout": "horizontal-row",
|
|
39
|
+
"atoms": "_flex _items-center _gap-4 _w100 _p-3 _rounded _bg-surface _border-b"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"kanban": {
|
|
43
|
+
"description": "Vertical stackable card optimized for kanban pipeline columns with status-colored border and drag-handle affordance indicator",
|
|
44
|
+
"layout": {
|
|
45
|
+
"layout": "card-stackable",
|
|
46
|
+
"atoms": "_relative _w100 _p-3 _mb-3 _rounded-md _bg-surface _border-l-4 _cursor-grab"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"visual_brief": "A rectangular card with matter number shown small and monospace at top-left (e.g. 'M-2026-0147') and matter title in bold sans-serif below. Client name in smaller muted text beneath title. Top-right corner holds a status badge pill with semantic colors (Active: blue, Pending: amber, Closed: gray, Billing: purple). Middle section shows a horizontal budget bar with label 'Budget' on left, spent amount and total right-aligned in monospace (e.g. '$47,320 / $80,000'). Bar fill color transitions green to amber to red as utilization crosses 70% and 90% thresholds. Below budget bar: next deadline chip with calendar icon, deadline label, and urgency color (red if <7 days, amber if <30). Bottom-right shows stacked overlapping assignee avatar circles (up to 4 visible, +N indicator if more). Bottom-left shows outstanding task count badge (e.g. '3 open tasks'). Kanban preset adds a colored left border matching status, and a small drag-handle icon at top.",
|
|
51
|
+
"layout_hints": {
|
|
52
|
+
"container": "d-surface",
|
|
53
|
+
"note": "Card is clickable (d-interactive). Budget numbers in monospace. Status badge always includes status word text, never color-only.",
|
|
54
|
+
"deadline_urgency": "Deadline chip color escalates automatically: red <7 days, amber <30 days, neutral otherwise."
|
|
55
|
+
},
|
|
56
|
+
"default_layout": {
|
|
57
|
+
"layout": "card",
|
|
58
|
+
"atoms": "_relative _w100 _p-4 _rounded-lg _bg-surface _border",
|
|
59
|
+
"slots": {
|
|
60
|
+
"matter-title": "Top section with matter number (monospace small) above matter title (bold sans-serif).",
|
|
61
|
+
"client-info": "Muted-text line beneath title showing client name and matter type subtitle.",
|
|
62
|
+
"status-badge": "Top-right pill showing matter status with semantic color coding and text label.",
|
|
63
|
+
"budget-bar": "Horizontal progress bar showing spent/total budget with color escalation thresholds.",
|
|
64
|
+
"deadline-chip": "Chip below budget bar with calendar icon, next key date, and urgency-colored background.",
|
|
65
|
+
"assignee-avatars": "Stacked overlapping avatar circles in bottom-right showing assigned attorneys with overflow counter."
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"accessibility": {
|
|
69
|
+
"role": "article",
|
|
70
|
+
"aria-label": "Legal matter summary card",
|
|
71
|
+
"announcements": [
|
|
72
|
+
"Matter {number}: {title} for {client}, status {status}",
|
|
73
|
+
"Budget {spent} of {total}, {percent} utilized",
|
|
74
|
+
"Next deadline {date}, {days} days remaining"
|
|
75
|
+
],
|
|
76
|
+
"keyboard": [
|
|
77
|
+
"Tab: focus card",
|
|
78
|
+
"Enter: open matter detail",
|
|
79
|
+
"Space: toggle matter selection (in list views)"
|
|
80
|
+
]
|
|
81
|
+
},
|
|
82
|
+
"responsive": {
|
|
83
|
+
"mobile": "Card stacks vertically with assignees moving below task count. Compact preset auto-selected.",
|
|
84
|
+
"tablet": "Standard preset retained. Assignee stack limited to 3 visible."
|
|
85
|
+
},
|
|
86
|
+
"motion": {
|
|
87
|
+
"micro": {
|
|
88
|
+
"card-hover": "elevation raise + border-highlight 150ms ease-out",
|
|
89
|
+
"avatar-hover": "avatar un-stack + name tooltip 200ms ease"
|
|
90
|
+
},
|
|
91
|
+
"transitions": {
|
|
92
|
+
"status-change": "badge color crossfade 300ms ease-in-out",
|
|
93
|
+
"budget-update": "bar fill width interpolate 600ms ease-out"
|
|
94
|
+
},
|
|
95
|
+
"ambient": {
|
|
96
|
+
"overdue-pulse": "deadline chip background pulse when overdue 2s ease-in-out infinite"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
"interactions": [
|
|
100
|
+
"lift-hover",
|
|
101
|
+
"click-select",
|
|
102
|
+
"animate-on-mount",
|
|
103
|
+
"stagger-children"
|
|
104
|
+
],
|
|
105
|
+
"composition": {
|
|
106
|
+
"MatterCard": "Card(d-surface, data-interactive) > [Header > [MatterTitle > [MatterNumber(mono) + MatterTitle] + StatusBadge] + ClientInfo + BudgetBar + DeadlineChip + Footer > [TaskCount + AssigneeAvatars]]",
|
|
107
|
+
"MatterTitle": "Stack > [MatterNumber(mono-xs) + TitleText(bold)]",
|
|
108
|
+
"StatusBadge": "Pill(d-annotation, data-status) > [StatusDot + StatusText]",
|
|
109
|
+
"BudgetBar": "Bar(horizontal, threshold-colored) > [Label + Fill + SpentLabel(mono) + TotalLabel(mono)]",
|
|
110
|
+
"DeadlineChip": "Chip(d-annotation, urgency-colored) > [CalendarIcon + DeadlineLabel + DaysRemaining]",
|
|
111
|
+
"AssigneeAvatars": "Stack(overlapping) > Avatar[] + OverflowCounter?"
|
|
112
|
+
}
|
|
113
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "mention-popup",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Mention Popup",
|
|
7
|
+
"description": "@mention autocomplete for collaborators. Triggered by @ character with type-ahead filtering and keyboard navigation.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"Avatar",
|
|
14
|
+
"icon"
|
|
15
|
+
],
|
|
16
|
+
"charts": []
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"components": [
|
|
20
|
+
"Avatar",
|
|
21
|
+
"icon"
|
|
22
|
+
],
|
|
23
|
+
"default_preset": "standard",
|
|
24
|
+
"presets": {
|
|
25
|
+
"standard": {
|
|
26
|
+
"description": "List with avatars, names, and online status",
|
|
27
|
+
"components": [
|
|
28
|
+
"Avatar",
|
|
29
|
+
"icon"
|
|
30
|
+
],
|
|
31
|
+
"layout": {
|
|
32
|
+
"layout": "dropdown",
|
|
33
|
+
"atoms": "_absolute _bg[var(--surface)] _shadow _r2 _border _w[280px] _max-h[300px] _overflow[auto] _z[100]",
|
|
34
|
+
"slots": {
|
|
35
|
+
"search": "Type-ahead filter (inline in editor)",
|
|
36
|
+
"recent": "Recently mentioned users section",
|
|
37
|
+
"results": "Filtered collaborator list"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"compact": {
|
|
42
|
+
"description": "Names only without status indicators",
|
|
43
|
+
"components": [
|
|
44
|
+
"Avatar"
|
|
45
|
+
],
|
|
46
|
+
"layout": {
|
|
47
|
+
"layout": "dropdown",
|
|
48
|
+
"atoms": "_absolute _bg[var(--surface)] _shadow _r1 _border _w[200px] _z[100]",
|
|
49
|
+
"slots": {
|
|
50
|
+
"results": "Simple user list"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"default_layout": {
|
|
56
|
+
"layout": "dropdown",
|
|
57
|
+
"atoms": "_absolute _bg[var(--surface)] _shadow _r2 _border _w[280px] _z[100]",
|
|
58
|
+
"slots": {
|
|
59
|
+
"search": "Type-ahead filter input",
|
|
60
|
+
"recent": "Recently mentioned users for quick access",
|
|
61
|
+
"results": "Filtered list of matching collaborators"
|
|
62
|
+
}
|
|
63
|
+
},
|
|
64
|
+
"io": {
|
|
65
|
+
"consumes": [
|
|
66
|
+
"collaborators",
|
|
67
|
+
"query",
|
|
68
|
+
"position",
|
|
69
|
+
"recentMentions"
|
|
70
|
+
],
|
|
71
|
+
"produces": [
|
|
72
|
+
"select"
|
|
73
|
+
],
|
|
74
|
+
"actions": [
|
|
75
|
+
"select-user",
|
|
76
|
+
"close"
|
|
77
|
+
]
|
|
78
|
+
},
|
|
79
|
+
"visual_brief": "Small floating dropdown that appears at the cursor position when '@' is typed. Contains a type-ahead search input (auto-focused, filtering as the user types), an optional 'Recent' section showing recently mentioned users, and a filtered results list. Each user row shows a small avatar, display name, and username or email in muted text. The currently highlighted item has a subtle background tint. The popup has a border, shadow, and rounded corners. Compact preset uses smaller avatars and tighter row spacing.",
|
|
80
|
+
"responsive": {
|
|
81
|
+
"mobile": "Popup renders as a bottom sheet anchored to the keyboard. Full-width list items with larger touch targets. Avatars at 32px.",
|
|
82
|
+
"tablet": "Floating popup near cursor. Standard row sizing.",
|
|
83
|
+
"desktop": "Compact floating popup near cursor. Keyboard navigation with up/down arrows. Small avatars at 24px."
|
|
84
|
+
}
|
|
85
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "metric-gauge",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Metric Gauge",
|
|
7
|
+
"description": "CLI-style metric displays with value, trend indicators, and optional sparklines.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {
|
|
10
|
+
"ascii-chart": "^1.0.0"
|
|
11
|
+
},
|
|
12
|
+
"styles": {
|
|
13
|
+
"terminal": "^1.0.0"
|
|
14
|
+
},
|
|
15
|
+
"requires_core": {
|
|
16
|
+
"components": [
|
|
17
|
+
"icon"
|
|
18
|
+
],
|
|
19
|
+
"charts": []
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"components": [
|
|
23
|
+
"icon"
|
|
24
|
+
],
|
|
25
|
+
"default_preset": "single",
|
|
26
|
+
"presets": {
|
|
27
|
+
"single": {
|
|
28
|
+
"description": "Single large metric value display",
|
|
29
|
+
"components": [
|
|
30
|
+
"icon"
|
|
31
|
+
],
|
|
32
|
+
"layout": {
|
|
33
|
+
"layout": "stack",
|
|
34
|
+
"atoms": "_flex _col _aic _mono _fggreen",
|
|
35
|
+
"slots": {
|
|
36
|
+
"label": "Metric name",
|
|
37
|
+
"value": "Current value",
|
|
38
|
+
"unit": "Unit suffix",
|
|
39
|
+
"trend": "Up/down trend arrow"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"inline": {
|
|
44
|
+
"description": "Inline key: value metric display",
|
|
45
|
+
"components": [],
|
|
46
|
+
"layout": {
|
|
47
|
+
"layout": "flex",
|
|
48
|
+
"atoms": "_flex _aic _gap2 _mono _fggreen",
|
|
49
|
+
"slots": {
|
|
50
|
+
"label": "Metric name",
|
|
51
|
+
"value": "Current value"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"block": {
|
|
56
|
+
"description": "Boxed metric with border and sparkline",
|
|
57
|
+
"components": [],
|
|
58
|
+
"layout": {
|
|
59
|
+
"layout": "stack",
|
|
60
|
+
"atoms": "_flex _col _mono _fggreen",
|
|
61
|
+
"slots": {
|
|
62
|
+
"label": "Metric name",
|
|
63
|
+
"value": "Current value",
|
|
64
|
+
"sparkline": "Mini trend chart"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"grid": {
|
|
69
|
+
"description": "Responsive grid arranging multiple metric gauges with configurable column count and thresholds",
|
|
70
|
+
"components": [],
|
|
71
|
+
"layout": {
|
|
72
|
+
"layout": "grid",
|
|
73
|
+
"atoms": "_grid _gap2 _mono _fggreen",
|
|
74
|
+
"slots": {
|
|
75
|
+
"metrics": "Array of metric displays"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"default_layout": {
|
|
81
|
+
"layout": "flex",
|
|
82
|
+
"atoms": "_flex _aic _gap2 _mono _fggreen",
|
|
83
|
+
"slots": {
|
|
84
|
+
"label": "Metric name",
|
|
85
|
+
"value": "Current value",
|
|
86
|
+
"unit": "Unit suffix",
|
|
87
|
+
"trend": "Trend indicator"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"features": [
|
|
91
|
+
"color-thresholds",
|
|
92
|
+
"trend-indicators",
|
|
93
|
+
"historical-sparkline",
|
|
94
|
+
"click-detail"
|
|
95
|
+
],
|
|
96
|
+
"thresholds": {
|
|
97
|
+
"success": {
|
|
98
|
+
"color": "#00FF00",
|
|
99
|
+
"description": "Normal/good state"
|
|
100
|
+
},
|
|
101
|
+
"warning": {
|
|
102
|
+
"color": "#FFB000",
|
|
103
|
+
"description": "Warning threshold"
|
|
104
|
+
},
|
|
105
|
+
"critical": {
|
|
106
|
+
"color": "#FF0000",
|
|
107
|
+
"description": "Critical threshold"
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
"visual_brief": "CLI-style metric display with the metric label in muted uppercase small text, the current value in large bold monospace type, and an optional unit suffix. A trend indicator arrow (up/down) with green/red coloring appears beside the value with a percentage change. The inline preset renders as a compact single-line display: label, value, and trend on one row. The block preset wraps the metric in a bordered card with optional sparkline underneath. The grid preset arranges multiple gauges in a responsive grid. Sparklines use ASCII braille characters or thin SVG lines.",
|
|
111
|
+
"responsive": {
|
|
112
|
+
"mobile": "Grid preset uses 2 columns. Block cards take full width if single. Values remain large for readability.",
|
|
113
|
+
"tablet": "Grid uses 3 columns. Standard card sizes.",
|
|
114
|
+
"desktop": "Grid uses 4 columns. Block preset shows full sparkline width. Comfortable spacing."
|
|
115
|
+
},
|
|
116
|
+
"layout_hints": {
|
|
117
|
+
"value_priority": "The metric value is the first read, then trend, then label context. Keep that hierarchy stable across inline, block, and grid variants.",
|
|
118
|
+
"threshold_clarity": "Color thresholds should support interpretation, but labels and trend indicators must still carry the meaning when color cannot.",
|
|
119
|
+
"grid_use": "Grid mode should present a family of metrics that still feel related and aligned, not a noisy dashboard of mixed instruments."
|
|
120
|
+
},
|
|
121
|
+
"motion": {
|
|
122
|
+
"micro": "Trend changes and threshold shifts may pulse or brighten subtly to acknowledge important state changes.",
|
|
123
|
+
"transitions": "Value updates should feel crisp and instrumentation-like rather than decorative or bouncy."
|
|
124
|
+
},
|
|
125
|
+
"interactions": [
|
|
126
|
+
"animate-on-mount",
|
|
127
|
+
"status-pulse",
|
|
128
|
+
"real-time-updates",
|
|
129
|
+
"hover-tooltip"
|
|
130
|
+
],
|
|
131
|
+
"accessibility": {
|
|
132
|
+
"role": "status",
|
|
133
|
+
"aria-label": "Metric gauge",
|
|
134
|
+
"keyboard": [
|
|
135
|
+
"If metrics are actionable, focus should move metric by metric in reading order without trapping users in decorative sparkline details."
|
|
136
|
+
],
|
|
137
|
+
"announcements": [
|
|
138
|
+
"Metric label, current value, unit, and trend should be announced together so the gauge is meaningful beyond color or positioning."
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "mixer-console",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Mixer Console",
|
|
7
|
+
"description": "Horizontal DAW mixer console with channel strips, insert slots, send knobs, pan controls, mute/solo/arm states, stereo meters, faders, and a master channel.",
|
|
8
|
+
"category": "music",
|
|
9
|
+
"tags": ["2026", "music", "daw", "mixer", "console", "faders", "metering"],
|
|
10
|
+
"components": ["ChannelStrip", "InsertSlot", "SendKnob", "PanKnob", "MuteSoloArm", "StereoMeter", "ChannelFader", "MasterChannel"],
|
|
11
|
+
"default_preset": "console",
|
|
12
|
+
"presets": {
|
|
13
|
+
"console": {
|
|
14
|
+
"description": "Full mixer console with channel strips and a highlighted master bus",
|
|
15
|
+
"layout": { "layout": "flex", "atoms": "_flex _gap-2 _w-full _bg-surface _overflow-x-auto _p-3" }
|
|
16
|
+
},
|
|
17
|
+
"compact": {
|
|
18
|
+
"description": "Condensed mixer with scrollable strips for small panels and mobile viewports",
|
|
19
|
+
"layout": { "layout": "flex", "atoms": "_flex _gap-2 _w-full _overflow-x-auto _p-2" }
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"visual_brief": "A compact premium hardware-style mixer with vertical channel strips and shadcn-grade component discipline. Each strip includes color-coded stem label, insert slots, send/pan knobs, M/S/R controls, tall fader, stereo meter with peak hold, and numeric dB readout. Strip widths are stable, labels do not wrap awkwardly, and fader geometry remains consistent across breakpoints. The master channel is wider, anchored at the end, and visually distinct without becoming a neon billboard. Meter bars should feel alive using restrained cyan/amber/red status values.",
|
|
23
|
+
"default_layout": {
|
|
24
|
+
"layout": "flex",
|
|
25
|
+
"atoms": "_flex _gap-2 _w-full _bg-surface _overflow-x-auto _p-3",
|
|
26
|
+
"slots": {
|
|
27
|
+
"channel-strip": "Repeating fixed-width vertical strip; never shrink below readable fader/meter dimensions.",
|
|
28
|
+
"insert-stack": "Small stack of plugin slots such as EQ, Comp, Saturator, Reverb.",
|
|
29
|
+
"knob-bank": "Send and pan controls with visible value ticks.",
|
|
30
|
+
"fader-meter": "Tall fader flanked by stereo meter bars and peak dots.",
|
|
31
|
+
"master-channel": "Distinct end cap channel summarizing master bus level and limiter state."
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"composition": {
|
|
35
|
+
"MixerConsole": "Root(horizontal-scroll) > [ChannelStrip* + MasterChannel]",
|
|
36
|
+
"ChannelStrip": "Column(studio-channel) > [StemLabel + InsertStack + KnobBank + MuteSoloArm + FaderMeter + DbReadout]",
|
|
37
|
+
"FaderMeter": "Relative > [StereoMeterLeft + ChannelFader + StereoMeterRight]"
|
|
38
|
+
},
|
|
39
|
+
"motion": {
|
|
40
|
+
"micro": {
|
|
41
|
+
"fader-drag": "fader cap tracks pointer at 60fps",
|
|
42
|
+
"knob-drag": "knob angle tracks pointer with value tooltip"
|
|
43
|
+
},
|
|
44
|
+
"ambient": {
|
|
45
|
+
"metering": "meter levels update with seeded live-simulation values",
|
|
46
|
+
"peak-hold": "peak indicator holds briefly before decay"
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
"interactions": ["live-simulation", "real-time-updates", "hover-tooltip", "keyboard-navigation", "drag-nodes"],
|
|
50
|
+
"responsive": {
|
|
51
|
+
"mobile": {
|
|
52
|
+
"layout": "flex-row",
|
|
53
|
+
"horizontal_scroll": true,
|
|
54
|
+
"hide_components": ["secondary-insert-slot", "send-b"],
|
|
55
|
+
"notes": "Keep strips fixed width and scroll horizontally; do not squash faders into unreadable bars. Hide secondary inserts before shrinking core fader/meter anatomy."
|
|
56
|
+
},
|
|
57
|
+
"desktop": "Show full strips, insert slots, sends, pan, faders, meters, and master bus."
|
|
58
|
+
},
|
|
59
|
+
"accessibility": {
|
|
60
|
+
"role": "region",
|
|
61
|
+
"aria-label": "Mixer console",
|
|
62
|
+
"keyboard": ["Tab: move through channels", "ArrowUp/ArrowDown: adjust focused fader", "M: mute focused channel", "S: solo focused channel", "0: reset fader"],
|
|
63
|
+
"announcements": ["{channel} level set to {db} dB", "{channel} {muted|soloed|armed}", "Master peaking at {level}"]
|
|
64
|
+
},
|
|
65
|
+
"layout_hints": {
|
|
66
|
+
"fixed_width": "Channel strips must keep stable dimensions and horizontal scrolling when space is tight.",
|
|
67
|
+
"readability": "Meters, faders, and stem labels must remain readable at every viewport."
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "mobile-profile-hero",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Mobile Profile Hero",
|
|
7
|
+
"description": "Large photo header for mobile profile pages. Full-bleed cover photo (40-50vh), circular avatar overlapping the cover bottom edge, name+age+bio stack, and a row of action buttons (Edit on own profile / Message+Like+Report on other). Sticky-scroll behavior: avatar shrinks as user scrolls down. Differs from storefront-hero (desktop-leaning, wider proportions) by being mobile-optimized with portrait photo and thumb-friendly action sizing.",
|
|
8
|
+
"category": "hero",
|
|
9
|
+
"tags": [
|
|
10
|
+
"2026",
|
|
11
|
+
"hero",
|
|
12
|
+
"profile",
|
|
13
|
+
"mobile",
|
|
14
|
+
"consumer",
|
|
15
|
+
"social",
|
|
16
|
+
"photo"
|
|
17
|
+
],
|
|
18
|
+
"components": [
|
|
19
|
+
"Hero",
|
|
20
|
+
"CoverPhoto",
|
|
21
|
+
"GradientOverlay",
|
|
22
|
+
"AvatarFrame",
|
|
23
|
+
"Avatar",
|
|
24
|
+
"BackButton",
|
|
25
|
+
"MoreMenuButton",
|
|
26
|
+
"InfoStack",
|
|
27
|
+
"NameAge",
|
|
28
|
+
"DistanceTag",
|
|
29
|
+
"Bio",
|
|
30
|
+
"ActionRow",
|
|
31
|
+
"EditButton",
|
|
32
|
+
"MessageButton",
|
|
33
|
+
"LikeButton",
|
|
34
|
+
"ReportButton"
|
|
35
|
+
],
|
|
36
|
+
"default_preset": "own-profile",
|
|
37
|
+
"presets": {
|
|
38
|
+
"own-profile": {
|
|
39
|
+
"description": "Profile hero for the current user (own /me route). Single Edit button as the primary action. Cover photo is large, avatar overlaps bottom edge, bio sits below.",
|
|
40
|
+
"layout": {
|
|
41
|
+
"layout": "stack",
|
|
42
|
+
"atoms": "_relative _flex _flex-col _w-full"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"other-profile": {
|
|
46
|
+
"description": "Profile hero for another user (/u/:id route). Three action buttons: Message (primary), Like Again (secondary), Report (tertiary). Includes a back button at top-left.",
|
|
47
|
+
"layout": {
|
|
48
|
+
"layout": "stack",
|
|
49
|
+
"atoms": "_relative _flex _flex-col _w-full"
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"compact-scrolled": {
|
|
53
|
+
"description": "Collapsed state when user has scrolled past the hero. Sticky bar at top with small avatar + name + back button. Used in conjunction with sticky-scroll behavior.",
|
|
54
|
+
"layout": {
|
|
55
|
+
"layout": "flex-row",
|
|
56
|
+
"atoms": "_sticky _top-0 _z-20 _flex _flex-row _items-center _gap-3 _px-4 _py-2 _bg-background/85 _backdrop-blur _border-b _border-border"
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
},
|
|
60
|
+
"visual_brief": "A vertical hero block at the top of the profile page. The CoverPhoto fills the full width and 45vh of viewport height (capped at 360px) — a full-bleed background image (object-fit cover, object-position center). For own-profile in absence of a cover, render a soft peach-to-coral gradient. A GradientOverlay sits on the bottom 40% of the cover: linear-gradient(180deg, transparent 0%, transparent 50%, rgba(0,0,0,0.45) 100%) — ensures any text or avatar reads cleanly. At top-left of the cover (in other-profile preset) sits the BackButton: a 36×36 circular glassy button (rgba(0,0,0,0.4) backdrop-blur 8px) with a 18px ChevronLeft Lucide icon in white. At top-right (in own-profile and other-profile both): a MoreMenuButton — same 36×36 glassy circle with a 18px MoreHorizontal icon, opens a dropdown for share/report/block actions. Overlapping the bottom edge of the CoverPhoto: AvatarFrame — a 96×96 circular avatar with the swipecircle-photo-frame decorator (coral-to-accent gradient ring, soft shadow), positioned absolute (bottom: -48px, left: 24px). The avatar overlaps so half is on the photo, half breaks below into the page surface. Below the cover (with 64px top padding to clear the overlapping avatar), an InfoStack: NameAge (font-display, text-2xl, font-bold) — 'Maya, 27'. DistanceTag inline below — 12px MapPin icon + '3 km away · Active 2h ago' (text-xs, muted). A Bio paragraph below: 1-3 sentences, font-size 15px, line-height 1.5, color var(--d-text). 16px below the bio, the ActionRow: a horizontal row of pill buttons. In own-profile: a single full-width-or-half-width 'Edit Profile' button (swipecircle-pill decorator, primary fill, with Edit icon). In other-profile: three buttons in a row — 'Message' (primary pill, ~50% width), 'Like Again' (secondary pill, white border, 25% width with Heart icon), 'Report' (tertiary, icon-only ghost button, 25% width with Flag icon). On scroll: as user scrolls down the page, the AvatarFrame shrinks from 96×96 to 56×56 over the first 200px of scroll, the CoverPhoto translates upward at 0.4× scroll speed (parallax), and at scroll > 240px, the compact-scrolled variant takes over — a sticky bar at top with the small avatar + name + back button. The hero block disappears off-screen normally.",
|
|
61
|
+
"layout_hints": {
|
|
62
|
+
"container": "vertical stack with overlapping avatar",
|
|
63
|
+
"cover_height": "45vh capped at 360px on portrait, 50vh capped at 400px on landscape",
|
|
64
|
+
"avatar_overlap": "AvatarFrame absolute-positioned with bottom: -48px so it overlaps the cover-bottom edge",
|
|
65
|
+
"info_padding_top": "64px on InfoStack to clear the overlapping avatar",
|
|
66
|
+
"sticky_scroll": "Avatar shrinks 96→56px over first 200px of scroll; cover parallaxes at 0.4×",
|
|
67
|
+
"buttons": "ActionRow uses pill shapes with icon prefix; min height 44px for tap targets"
|
|
68
|
+
},
|
|
69
|
+
"default_layout": {
|
|
70
|
+
"layout": "stack",
|
|
71
|
+
"atoms": "_relative _flex _flex-col _w-full",
|
|
72
|
+
"slots": {
|
|
73
|
+
"hero": "Outer container. Position relative (so AvatarFrame absolute-anchors here). Flex-col. Width 100%. No background — content layers do the visual work.",
|
|
74
|
+
"cover-photo": "Position relative. Width 100%. Height 45vh (capped at 360px portrait / 400px landscape). Img with object-fit cover, object-position center. Fallback: linear-gradient(135deg, var(--d-accent), var(--d-primary)). Has data-parallax attribute for scroll-driven translateY.",
|
|
75
|
+
"gradient-overlay": "Position absolute, inset 0 (or just bottom 40%). Linear-gradient(180deg, transparent 0%, transparent 50%, rgba(0,0,0,0.45) 100%). Pointer-events none.",
|
|
76
|
+
"back-button": "Conditional in other-profile preset. Position absolute, top: 16px (or 16px + safe-area-inset-top), left: 16px, z-index 5. 36×36 circular button. Background rgba(0,0,0,0.4) with backdrop-blur 8px. ChevronLeft icon 18px white. On click: navigates back via history.back() or emits 'navigate-back'.",
|
|
77
|
+
"more-menu-button": "Position absolute, top: 16px (or 16px + safe-area-inset-top), right: 16px, z-index 5. 36×36 circular glassy button. MoreHorizontal icon 18px white. On click: opens dropdown sheet with share/report/block actions.",
|
|
78
|
+
"avatar-frame": "Position absolute, bottom: -48px, left: 24px, z-index 4. 96×96. Applies swipecircle-photo-frame decorator. Gets data-scrolled attribute that shrinks the frame to 56×56 with translateY when user scrolls > 200px.",
|
|
79
|
+
"avatar": "Img inside the AvatarFrame. width 100%, height 100%, border-radius 9999px, object-fit cover. Fallback: solid surface color with a centered User icon at 36px.",
|
|
80
|
+
"info-stack": "Padding 64px 24px 16px 24px (the 64px top clears the overlapping avatar). Flex-col, gap 4px (between name and distance), gap 12px (after distance, before bio). Background var(--d-bg).",
|
|
81
|
+
"name-age": "Span: 'Name, Age'. Font-family var(--d-font-display). Font-size 24px. Font-weight 700. Color var(--d-text). Line-height 1.2.",
|
|
82
|
+
"distance-tag": "Inline span with 12px MapPin icon + location text + ' · ' + activity text. Font-size 12px. Font-weight 500. Color var(--d-text-muted). Display flex, items-center, gap 4px.",
|
|
83
|
+
"bio": "Paragraph. Font-size 15px. Font-weight 400. Color var(--d-text). Line-height 1.5. Max 3 lines (line-clamp 3 in compact contexts; uncapped on full profile view).",
|
|
84
|
+
"action-row": "Flex-row, gap 8px. Padding 16px 24px. Background var(--d-bg). In own-profile: single Edit button at 100% width. In other-profile: Message (flex-grow), Like Again (auto), Report (auto, icon only).",
|
|
85
|
+
"edit-button": "Pill button (swipecircle-pill decorator). Full width. 'Edit Profile' label with leading 16px Edit Lucide icon. Min height 44px.",
|
|
86
|
+
"message-button": "Pill button (swipecircle-pill decorator). Flex-grow, 'Message' label with leading 16px Send icon. Primary action.",
|
|
87
|
+
"like-button": "Pill button with white border + transparent fill. 'Like Again' label with leading 16px Heart icon. Auto-width.",
|
|
88
|
+
"report-button": "Icon-only ghost button, 44×44. 18px Flag icon in muted color. Tertiary action — opens report flow."
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
"accessibility": {
|
|
92
|
+
"role": "banner",
|
|
93
|
+
"aria-label": "{name}'s profile",
|
|
94
|
+
"keyboard": [
|
|
95
|
+
"Tab: cycle focus through BackButton, MoreMenuButton, action buttons",
|
|
96
|
+
"Escape (in other-profile): navigates back",
|
|
97
|
+
"Enter or Space: activate focused button"
|
|
98
|
+
],
|
|
99
|
+
"announcements": [
|
|
100
|
+
"{name}, age {age}, {distance}",
|
|
101
|
+
"Profile of {name}",
|
|
102
|
+
"Editing your profile"
|
|
103
|
+
],
|
|
104
|
+
"focus_management": "Initial focus on page load goes to the InfoStack heading (NameAge). When the more-menu opens, focus moves into the menu items. When the menu closes, focus returns to MoreMenuButton."
|
|
105
|
+
},
|
|
106
|
+
"responsive": {
|
|
107
|
+
"mobile": "Stack layout. Cover 45vh capped 360px. Avatar 96×96. ActionRow buttons stack as flex-row with proportional widths. Single-column layout (this is the mobile-default).",
|
|
108
|
+
"tablet": "Stack layout. Same as mobile — the mobile-tab-bar shell caps at 480px regardless of viewport. Hero proportions preserved.",
|
|
109
|
+
"desktop": "Stack layout. Same as mobile/tablet inside the 480px column. Hover states active on action buttons (lift + shadow)."
|
|
110
|
+
},
|
|
111
|
+
"motion": {
|
|
112
|
+
"micro": {
|
|
113
|
+
"avatar-shrink": "On scroll: scale 1→0.583 (96px to 56px) + translateY 0→-20px over scroll range 0-200px (scroll-linked, not time-based)",
|
|
114
|
+
"cover-parallax": "On scroll: translateY 0→-(scrollY × 0.4) — cover scrolls at 40% of body scroll speed",
|
|
115
|
+
"button-press": "scale(0.96) for 80ms then spring to scale(1) over 200ms cubic-bezier(0.34, 1.56, 0.64, 1)",
|
|
116
|
+
"back-button-hover": "scale(1.08) + bg-opacity 0.4→0.55 over 160ms ease-out"
|
|
117
|
+
},
|
|
118
|
+
"transitions": {
|
|
119
|
+
"compact-bar-fade-in": "When scroll passes 240px, the compact-scrolled bar slides in from translateY(-100%) to 0 over 200ms ease-out, with backdrop-blur smoothly engaging",
|
|
120
|
+
"stagger-entrance": "On page load: cover fades in (opacity 0→1, 320ms), avatar scales in (0.8→1 with 120ms delay), info-stack stagger (name 240ms, distance 60ms after, bio 60ms after, actions 60ms after) — total ~520ms cascade"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"interactions": [
|
|
124
|
+
"scroll-reveal",
|
|
125
|
+
"scale-hover",
|
|
126
|
+
"stagger-children",
|
|
127
|
+
"animate-on-mount",
|
|
128
|
+
"click-select",
|
|
129
|
+
"keyboard-navigation"
|
|
130
|
+
],
|
|
131
|
+
"composition": {
|
|
132
|
+
"MobileProfileHero": "Hero(relative, flex-col) > [CoverContainer + InfoStack + ActionRow]",
|
|
133
|
+
"CoverContainer": "Div(relative, full-width, 45vh) > [CoverPhoto(absolute-fill) + GradientOverlay(absolute-bottom-half) + BackButton(absolute-top-left, conditional) + MoreMenuButton(absolute-top-right) + AvatarFrame(absolute-bottom-overlap)]",
|
|
134
|
+
"InfoStack": "Flex(col, gap-1, padding-16-6-4-6) > [NameAge + DistanceTag + Bio]",
|
|
135
|
+
"ActionRow": "Flex(row, gap-2, padding-4-6) > [EditButton] | [MessageButton + LikeButton + ReportButton]",
|
|
136
|
+
"AvatarFrame": "Div(absolute, bottom-12-negative, 96px-circle, swipecircle-photo-frame, scroll-shrinks)"
|
|
137
|
+
}
|
|
138
|
+
}
|