@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,134 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "share-quest-panel",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Share Quest Panel",
|
|
7
|
+
"description": "Post-conversion referral and sharing panel that turns supporter sharing into unlock progress without leaving the campaign tone.",
|
|
8
|
+
"category": "campaign",
|
|
9
|
+
"tags": [
|
|
10
|
+
"campaign",
|
|
11
|
+
"referral",
|
|
12
|
+
"share",
|
|
13
|
+
"post-conversion",
|
|
14
|
+
"waitlist",
|
|
15
|
+
"rewards"
|
|
16
|
+
],
|
|
17
|
+
"components": [
|
|
18
|
+
"Button",
|
|
19
|
+
"Progress",
|
|
20
|
+
"Badge",
|
|
21
|
+
"Input",
|
|
22
|
+
"icon"
|
|
23
|
+
],
|
|
24
|
+
"contained": false,
|
|
25
|
+
"default_preset": "referral-quest",
|
|
26
|
+
"presets": {
|
|
27
|
+
"referral-quest": {
|
|
28
|
+
"description": "Quest-style share panel with referral link, unlock progress, share buttons, and next reward.",
|
|
29
|
+
"components": [
|
|
30
|
+
"Button",
|
|
31
|
+
"Progress",
|
|
32
|
+
"Badge",
|
|
33
|
+
"Input",
|
|
34
|
+
"icon"
|
|
35
|
+
],
|
|
36
|
+
"layout": {
|
|
37
|
+
"layout": "grid",
|
|
38
|
+
"atoms": "_grid _gap5 _wfull _maxw[58rem] _mx[auto]",
|
|
39
|
+
"slots": {
|
|
40
|
+
"success-state": "Thank-you or reservation confirmation.",
|
|
41
|
+
"referral-link": "Copyable campaign referral link.",
|
|
42
|
+
"quest-progress": "Progress toward next share/backer unlock.",
|
|
43
|
+
"share-buttons": "Email, social, copy, and message actions.",
|
|
44
|
+
"next-unlock": "Reward, queue jump, sticker, bonus content, or beta wave unlocked by sharing."
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"waitlist-rank": {
|
|
49
|
+
"description": "Waitlist rank and referral tracker with queue position, invite count, and access-wave unlock.",
|
|
50
|
+
"components": [
|
|
51
|
+
"Button",
|
|
52
|
+
"Progress",
|
|
53
|
+
"Badge",
|
|
54
|
+
"Input"
|
|
55
|
+
],
|
|
56
|
+
"layout": {
|
|
57
|
+
"layout": "stack",
|
|
58
|
+
"atoms": "_flex _col _gap5 _wfull _maxw[44rem] _mx[auto]",
|
|
59
|
+
"slots": {
|
|
60
|
+
"rank-counter": "Current queue rank or access wave.",
|
|
61
|
+
"referral-link": "Copyable invite link.",
|
|
62
|
+
"quest-progress": "Invites until next unlock.",
|
|
63
|
+
"share-buttons": "Share actions."
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"default_layout": {
|
|
69
|
+
"layout": "grid",
|
|
70
|
+
"atoms": "_grid _gap5 _wfull _maxw[58rem] _mx[auto]",
|
|
71
|
+
"slots": {
|
|
72
|
+
"success-state": "Conversion success message",
|
|
73
|
+
"referral-link": "Copyable campaign link",
|
|
74
|
+
"quest-progress": "Referral unlock progress",
|
|
75
|
+
"share-buttons": "Share controls",
|
|
76
|
+
"next-unlock": "Next referral reward"
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"visual_brief": "A post-conversion panel that feels like a reward quest. It should make the supporter feel done and give them one clear next action: share to unlock or invite. Keep the referral link copyable, progress visible, and next unlock understandable. Avoid manipulative urgency or dark-pattern sharing.",
|
|
80
|
+
"responsive": {
|
|
81
|
+
"mobile": "Stack success, referral link, progress, and share buttons. Share buttons should use recognizable icons plus labels.",
|
|
82
|
+
"tablet": "Two-column layout with success/progress beside share actions.",
|
|
83
|
+
"desktop": "Centered console with referral link and progress as the primary focus."
|
|
84
|
+
},
|
|
85
|
+
"layout_hints": {
|
|
86
|
+
"post_conversion": "Lead with confirmation before asking for sharing.",
|
|
87
|
+
"clarity": "Show exactly what sharing unlocks and how many referrals remain.",
|
|
88
|
+
"controls": "Use copy and share icons inside accessible labeled buttons."
|
|
89
|
+
},
|
|
90
|
+
"motion": {
|
|
91
|
+
"micro": {
|
|
92
|
+
"copy-success": "link field flashes success color and button label changes briefly",
|
|
93
|
+
"progress-increment": "progress track fills one segment per referral"
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
"interactions": [
|
|
97
|
+
"click-select",
|
|
98
|
+
"real-time-updates",
|
|
99
|
+
"status-pulse",
|
|
100
|
+
"keyboard-navigation"
|
|
101
|
+
],
|
|
102
|
+
"composition": {
|
|
103
|
+
"ShareQuestPanel": "Panel > [SuccessState + ReferralLink + QuestProgress + ShareButtons + NextUnlock]",
|
|
104
|
+
"ReferralLink": "Input(readonly) + CopyButton",
|
|
105
|
+
"ShareButtons": "ButtonGroup > ShareAction[]"
|
|
106
|
+
},
|
|
107
|
+
"accessibility": {
|
|
108
|
+
"role": "region",
|
|
109
|
+
"aria-label": "Campaign sharing and referral progress",
|
|
110
|
+
"keyboard": [
|
|
111
|
+
"Referral link copy button should be reachable immediately after the link field.",
|
|
112
|
+
"Share buttons should include text labels, not icons only."
|
|
113
|
+
],
|
|
114
|
+
"announcements": [
|
|
115
|
+
"Copied referral link.",
|
|
116
|
+
"{count} referrals until {unlock}."
|
|
117
|
+
]
|
|
118
|
+
},
|
|
119
|
+
"io": {
|
|
120
|
+
"consumes": [
|
|
121
|
+
"supporter-record",
|
|
122
|
+
"referral-state"
|
|
123
|
+
],
|
|
124
|
+
"produces": [
|
|
125
|
+
"referral-share",
|
|
126
|
+
"share-conversion"
|
|
127
|
+
],
|
|
128
|
+
"actions": [
|
|
129
|
+
"copy-referral-link",
|
|
130
|
+
"share-channel-click",
|
|
131
|
+
"invite-submit"
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "shot-grid",
|
|
3
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Shot Grid",
|
|
7
|
+
"description": "Grid of individual shot compositions with aspect ratio indicators, shot numbers, duration chips, and optional transition arrows for video shot planning.",
|
|
8
|
+
"category": "media",
|
|
9
|
+
"tags": ["2026", "media", "shots", "video", "composition", "cinematography"],
|
|
10
|
+
"components": ["ShotCard", "AspectBadge", "TransitionArrow", "ShotNumber", "DurationChip"],
|
|
11
|
+
"default_preset": "standard",
|
|
12
|
+
"presets": {
|
|
13
|
+
"standard": {
|
|
14
|
+
"description": "Responsive 4-column grid of shot cards with aspect badges and duration chips for general shot planning and review",
|
|
15
|
+
"layout": {
|
|
16
|
+
"layout": "grid",
|
|
17
|
+
"atoms": "_grid _grid-cols-4 _gap-4 _p-4 _w-full"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"flow": {
|
|
21
|
+
"description": "Linear flow layout connecting shots with transition arrows indicating cut, fade, dissolve, and other transition types for editorial planning",
|
|
22
|
+
"layout": {
|
|
23
|
+
"layout": "flex",
|
|
24
|
+
"atoms": "_flex _flex-row _flex-wrap _items-center _gap-2 _p-4 _w-full"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"comparison": {
|
|
28
|
+
"description": "Side-by-side comparison layout showing two shots for A/B review with synchronized playback and diff indicators",
|
|
29
|
+
"layout": {
|
|
30
|
+
"layout": "grid",
|
|
31
|
+
"atoms": "_grid _grid-cols-2 _gap-6 _p-4 _w-full"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"visual_brief": "Grid of rectangular shot cards with variable aspect ratios. Each card renders a single shot thumbnail with a subtle rounded border. Aspect ratio badge appears as a small tag at top-right of thumbnail (e.g. '16:9', '9:16', '4:3', '2.39:1') in monospace uppercase text against a dark translucent pill. Shot number overlays at top-left as a bold numeric badge (e.g. 'SH-042') in a contrasting pill. Duration chip sits at bottom-right showing timecode (e.g. '0:03.5') with a clock icon prefix. In flow preset, cards are connected by arrow icons between them indicating transition type: solid arrow = cut, dotted arrow with fade gradient = fade, diagonal lines = dissolve, curved = wipe. Arrow color reflects transition duration. Cards selected for comparison have an accent border ring. Hover state lifts cards 2px with shadow enhancement.",
|
|
36
|
+
"default_layout": {
|
|
37
|
+
"layout": "grid",
|
|
38
|
+
"atoms": "_grid _grid-cols-4 _gap-4 _p-4 _w-full",
|
|
39
|
+
"slots": {
|
|
40
|
+
"shot-card": "Individual shot card (d-surface, data-interactive) with thumbnail and metadata overlays. Aspect ratio of card matches the shot's native aspect to preserve composition integrity.",
|
|
41
|
+
"shot-thumbnail": "Primary image area showing the shot frame. Fills entire card. Supports still image or first-frame preview of video. Lazy-loaded.",
|
|
42
|
+
"aspect-badge": "Small pill at top-right of card showing aspect ratio in monospace uppercase. Background dark-translucent, 10px font, 4px vertical padding.",
|
|
43
|
+
"shot-number": "Bold numeric identifier at top-left of card in a contrasting pill. Format 'SH-{number}' or simple '{number}'. Uses primary color background.",
|
|
44
|
+
"duration-chip": "Timecode display at bottom-right with clock icon prefix. Monospace font, dark translucent pill.",
|
|
45
|
+
"transition-arrow": "Between-card element in flow preset indicating transition type between adjacent shots. Icon visualization encodes transition type (cut/fade/dissolve/wipe) and width encodes duration."
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"responsive": {
|
|
49
|
+
"mobile": "Single column with full-width cards. Flow preset stacks vertically with arrows rotated 90 degrees. Comparison preset stacks vertically with divider.",
|
|
50
|
+
"tablet": "2-column grid. Flow preset maintains horizontal layout with wrap. Badges slightly reduced in size.",
|
|
51
|
+
"desktop": "4-column grid with all hover states and badges at full size."
|
|
52
|
+
},
|
|
53
|
+
"layout_hints": {
|
|
54
|
+
"shot_priority": "Shot identity, aspect ratio, and duration should be immediately legible. Transition or comparison signals support the shot read rather than replacing it.",
|
|
55
|
+
"flow_sequence": "The flow preset should emphasize editorial sequence and transition logic, not just spatial adjacency.",
|
|
56
|
+
"comparison_clarity": "When comparing shots, keep the selected pair visually tied together so users read them as alternatives rather than unrelated cards."
|
|
57
|
+
},
|
|
58
|
+
"layout_hints": {
|
|
59
|
+
"shot_priority": "Shot identity, aspect ratio, and duration should be immediately legible. Transition or comparison signals support the shot read rather than replacing it.",
|
|
60
|
+
"flow_sequence": "The flow preset should emphasize editorial sequence and transition logic, not just spatial adjacency.",
|
|
61
|
+
"comparison_clarity": "When comparing shots, keep the selected pair visually tied together so users read them as alternatives rather than unrelated cards."
|
|
62
|
+
},
|
|
63
|
+
"motion": {
|
|
64
|
+
"micro": {
|
|
65
|
+
"card-hover": "translateY(-2px) + shadow-lift 180ms ease-out",
|
|
66
|
+
"badge-hover": "scale(1.08) 120ms ease-out"
|
|
67
|
+
},
|
|
68
|
+
"transitions": {
|
|
69
|
+
"card-select": "border-ring + glow 200ms ease-out",
|
|
70
|
+
"flow-reorder": "FLIP layout 300ms ease-in-out"
|
|
71
|
+
},
|
|
72
|
+
"ambient": {
|
|
73
|
+
"transition-arrow-pulse": "opacity 0.6 to 1 pulse 3s ease-in-out infinite on active flow"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"interactions": [
|
|
77
|
+
"lift-hover",
|
|
78
|
+
"click-select",
|
|
79
|
+
"animate-on-mount",
|
|
80
|
+
"stagger-children"
|
|
81
|
+
],
|
|
82
|
+
"composition": {
|
|
83
|
+
"ShotGrid": "Root(d-section, grid) > ShotCard*(d-interactive)",
|
|
84
|
+
"ShotCard": "Card(d-surface) > [ShotThumbnail + AspectBadge + ShotNumber + DurationChip]",
|
|
85
|
+
"FlowVariant": "Root(flex-row, wrap) > [ShotCard + TransitionArrow]*",
|
|
86
|
+
"ComparisonVariant": "Root(grid-2) > ShotCard*(selected-highlight)"
|
|
87
|
+
},
|
|
88
|
+
"accessibility": {
|
|
89
|
+
"role": "list",
|
|
90
|
+
"aria-label": "Shot composition grid",
|
|
91
|
+
"announcements": [
|
|
92
|
+
"Shot {number} selected",
|
|
93
|
+
"Transition between {from} and {to} set to {type}",
|
|
94
|
+
"{count} shots selected for comparison"
|
|
95
|
+
],
|
|
96
|
+
"keyboard": [
|
|
97
|
+
"Tab: cycle through shots",
|
|
98
|
+
"Enter: open shot detail",
|
|
99
|
+
"Space: select shot for comparison",
|
|
100
|
+
"Arrow keys: navigate grid",
|
|
101
|
+
"T: cycle transition type (flow preset)"
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "skeleton-loader",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Skeleton Loader",
|
|
7
|
+
"description": "Animated placeholder pattern mimicking content layout during loading states. Renders muted rectangles, circles, and lines with a shimmer sweep animation that indicates ongoing data retrieval without spinner fatigue.",
|
|
8
|
+
"category": "loading",
|
|
9
|
+
"tags": [
|
|
10
|
+
"2026",
|
|
11
|
+
"loading",
|
|
12
|
+
"skeleton",
|
|
13
|
+
"placeholder",
|
|
14
|
+
"shimmer",
|
|
15
|
+
"progressive",
|
|
16
|
+
"perceived-performance"
|
|
17
|
+
],
|
|
18
|
+
"components": [
|
|
19
|
+
"SkeletonBlock",
|
|
20
|
+
"SkeletonCircle",
|
|
21
|
+
"SkeletonLine",
|
|
22
|
+
"SkeletonGroup"
|
|
23
|
+
],
|
|
24
|
+
"default_preset": "card",
|
|
25
|
+
"presets": {
|
|
26
|
+
"card": {
|
|
27
|
+
"description": "Card skeleton with a large image rectangle at top, title line, and two description lines beneath — mimics a media card",
|
|
28
|
+
"layout": {
|
|
29
|
+
"layout": "stack",
|
|
30
|
+
"atoms": "_flex _col _gap3 _p4 _rounded-lg"
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
"table": {
|
|
34
|
+
"description": "Table skeleton with a header row of evenly spaced blocks and multiple body rows of varying-width lines in columns",
|
|
35
|
+
"layout": {
|
|
36
|
+
"layout": "stack",
|
|
37
|
+
"atoms": "_flex _col _gap2 _w-full"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"list": {
|
|
41
|
+
"description": "List skeleton with repeating rows, each containing a small circle (avatar) on the left and two stacked lines (name + detail) on the right",
|
|
42
|
+
"layout": {
|
|
43
|
+
"layout": "stack",
|
|
44
|
+
"atoms": "_flex _col _gap3 _w-full"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"text": {
|
|
48
|
+
"description": "Paragraph skeleton with multiple horizontal lines of varying widths (100%, 100%, 80%, 60%) simulating a block of body text",
|
|
49
|
+
"layout": {
|
|
50
|
+
"layout": "stack",
|
|
51
|
+
"atoms": "_flex _col _gap2 _w-full"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"profile": {
|
|
55
|
+
"description": "Profile skeleton with a large centered circle (avatar), a medium-width name line below, and a wider bio line beneath that",
|
|
56
|
+
"layout": {
|
|
57
|
+
"layout": "stack",
|
|
58
|
+
"atoms": "_flex _col _aic _gap3 _py4"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"visual_brief": "Rounded rectangles and circles rendered in a muted surface color (approximately 8% lighter than the page background, no border, no shadow). Each shape has a shimmer animation: a diagonal linear gradient (transparent at 0%, 10% lighter highlight at 50%, transparent at 100%) that translates continuously from left to right across the element over 1.5 seconds with ease-in-out timing, repeating infinitely. The gradient is angled at approximately 105 degrees for a natural diagonal sweep. Shape dimensions match the content they replace: SkeletonBlock renders as a filled rectangle with 8px border-radius (used for images, cards, headers — configurable aspect ratio); SkeletonCircle renders as a perfect circle (used for avatars, icons — configurable diameter, default 40px); SkeletonLine renders as a thin rounded rectangle 12px tall with 4px border-radius (used for text lines — width varies: 100%, 80%, 60% to mimic ragged text edges). SkeletonGroup is a layout wrapper that arranges its children in rows or columns. In the card preset, a 16:9 ratio SkeletonBlock sits at the top, followed by a SkeletonLine at 70% width (title), then two SkeletonLines at 100% and 60% width (description). In the table preset, a header row uses 4-5 evenly-spaced SkeletonBlocks (80px wide, 16px tall), and body rows repeat 5 times with SkeletonLines of varying widths per column. In the profile preset, a 64px SkeletonCircle is centered, with a 40% width SkeletonLine (name) and a 70% width SkeletonLine (bio) below it. All shimmer animations are synchronized — every skeleton element on the page pulses in unison by using the same animation-delay reference point, creating a cohesive wave effect rather than individual element flickers.",
|
|
63
|
+
"default_layout": {
|
|
64
|
+
"layout": "stack",
|
|
65
|
+
"atoms": "_flex _col _gap3 _w-full",
|
|
66
|
+
"slots": {
|
|
67
|
+
"skeleton-group": "A layout container that wraps skeleton primitives (SkeletonBlock, SkeletonCircle, SkeletonLine) and arranges them in flex row or column layouts. Supports gap spacing, alignment, and nested groups for complex content shapes. Each group inherits the shimmer animation timing from the root to keep all elements synchronized.",
|
|
68
|
+
"skeleton-block": "A filled rounded rectangle placeholder for image areas, card headers, or any rectangular content region. Configurable width, height, and aspect-ratio. Default border-radius 8px. Background is a muted surface tone. The shimmer gradient overlay sweeps across it left-to-right.",
|
|
69
|
+
"skeleton-circle": "A perfect circle placeholder for avatars, icons, or circular UI elements. Configurable diameter (default 40px). Same muted surface color and shimmer treatment as blocks.",
|
|
70
|
+
"skeleton-line": "A thin horizontal rectangle (12px height, 4px border-radius) representing a line of text. Width is configurable and typically varies across lines (100%, 80%, 60%) to simulate the ragged right edge of real text. Multiple lines stack vertically with consistent gap."
|
|
71
|
+
}
|
|
72
|
+
},
|
|
73
|
+
"accessibility": {
|
|
74
|
+
"role": "status",
|
|
75
|
+
"aria-label": "Content loading",
|
|
76
|
+
"announcements": [
|
|
77
|
+
"Content is loading, please wait",
|
|
78
|
+
"Content loaded successfully",
|
|
79
|
+
"Loading {section_name} content"
|
|
80
|
+
],
|
|
81
|
+
"keyboard": [
|
|
82
|
+
"Tab: skip past skeleton region to next interactive element",
|
|
83
|
+
"Screen readers announce 'loading' status and notify when content replaces the skeleton"
|
|
84
|
+
]
|
|
85
|
+
},
|
|
86
|
+
"responsive": {
|
|
87
|
+
"mobile": "Skeleton shapes span full container width. Card preset uses 1:1 aspect ratio for image block instead of 16:9. Table preset reduces to 2-3 visible columns. Shimmer animation uses reduced motion query — falls back to a static muted block with subtle opacity pulse if prefers-reduced-motion is set.",
|
|
88
|
+
"tablet": "Standard layouts maintained. Card preset uses 4:3 aspect ratio. Table preset shows all columns. Profile circle stays 64px.",
|
|
89
|
+
"desktop": "Full layouts as designed. Card preset uses 16:9 aspect ratio for image block. Multiple skeleton cards can sit in a responsive grid. Shimmer animation runs at full fidelity."
|
|
90
|
+
},
|
|
91
|
+
"motion": {
|
|
92
|
+
"micro": {
|
|
93
|
+
"shimmer-sweep": "background-position translateX(-100%→100%) 1.5s ease-in-out infinite on each skeleton element"
|
|
94
|
+
},
|
|
95
|
+
"transitions": {
|
|
96
|
+
"skeleton-to-content": "opacity 1→0 + scale(1→0.98) 200ms ease-in on skeleton, then content fades in with opacity 0→1 300ms ease-out",
|
|
97
|
+
"staggered-reveal": "each skeleton element fades out with 50ms stagger delay for a cascading reveal effect"
|
|
98
|
+
},
|
|
99
|
+
"ambient": {
|
|
100
|
+
"synchronized-shimmer": "all skeleton elements share identical animation-delay: 0ms so the shimmer wave sweeps across the entire layout uniformly"
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"interactions": [
|
|
104
|
+
"animate-on-mount",
|
|
105
|
+
"real-time-updates",
|
|
106
|
+
"status-pulse"
|
|
107
|
+
],
|
|
108
|
+
"composition": {
|
|
109
|
+
"SkeletonGroup": "Container(d-surface, flex, gap) > [SkeletonBlock | SkeletonCircle | SkeletonLine]*",
|
|
110
|
+
"SkeletonBlock": "Rect(d-muted, rounded-lg, shimmer-gradient, aspect-ratio: configurable)",
|
|
111
|
+
"SkeletonCircle": "Circle(d-muted, rounded-full, shimmer-gradient, size: configurable)",
|
|
112
|
+
"SkeletonLine": "Line(d-muted, h-12px, rounded-sm, shimmer-gradient, width: configurable)"
|
|
113
|
+
}
|
|
114
|
+
}
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "slash-command",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Slash Command",
|
|
7
|
+
"description": "Block-type command palette triggered by / character. Provides quick access to insert different block types with keyboard navigation.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"icon"
|
|
14
|
+
],
|
|
15
|
+
"charts": []
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
"components": [
|
|
19
|
+
"icon"
|
|
20
|
+
],
|
|
21
|
+
"default_preset": "standard",
|
|
22
|
+
"presets": {
|
|
23
|
+
"standard": {
|
|
24
|
+
"description": "Full command list with icons organized by category",
|
|
25
|
+
"components": [
|
|
26
|
+
"icon"
|
|
27
|
+
],
|
|
28
|
+
"layout": {
|
|
29
|
+
"layout": "dropdown",
|
|
30
|
+
"atoms": "_absolute _bg[var(--surface)] _shadow _r2 _border _w[320px] _max-h[400px] _overflow[auto] _z[100]",
|
|
31
|
+
"slots": {
|
|
32
|
+
"search": "Command filter input",
|
|
33
|
+
"categories": "Grouped command sections",
|
|
34
|
+
"commands": "Individual command items"
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"filtered": {
|
|
39
|
+
"description": "Show only commands matching current filter",
|
|
40
|
+
"components": [
|
|
41
|
+
"icon"
|
|
42
|
+
],
|
|
43
|
+
"layout": {
|
|
44
|
+
"layout": "dropdown",
|
|
45
|
+
"atoms": "_absolute _bg[var(--surface)] _shadow _r1 _border _w[280px] _z[100]",
|
|
46
|
+
"slots": {
|
|
47
|
+
"results": "Filtered command list only"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"default_layout": {
|
|
53
|
+
"layout": "dropdown",
|
|
54
|
+
"atoms": "_absolute _bg[var(--surface)] _shadow _r2 _border _w[320px] _z[100]",
|
|
55
|
+
"slots": {
|
|
56
|
+
"search": "Command filter input (typically inline)",
|
|
57
|
+
"categories": "Grouped command sections (Text, Lists, Media, Advanced)",
|
|
58
|
+
"commands": "Individual command items with icon, name, description, shortcut"
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"io": {
|
|
62
|
+
"consumes": [
|
|
63
|
+
"position",
|
|
64
|
+
"query"
|
|
65
|
+
],
|
|
66
|
+
"produces": [
|
|
67
|
+
"select"
|
|
68
|
+
],
|
|
69
|
+
"actions": [
|
|
70
|
+
"select-command",
|
|
71
|
+
"close"
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
"visual_brief": "Floating dropdown menu that appears inline when '/' is typed at the start of a block. Contains a search input at the top (auto-focused, filtering as user types), and categorized command groups below: Text (paragraph, headings H1-H3, quote, callout), Lists (bullet, numbered, todo, toggle), Media (image, video, file, embed), and Advanced (code block, table, divider, math). Each command item shows an icon, name, and a brief description in muted text. The currently selected item has a highlighted background. Keyboard shortcut hints appear on the right. The filtered preset shows only matching commands when search text is entered.",
|
|
75
|
+
"responsive": {
|
|
76
|
+
"mobile": "Menu renders as a bottom sheet. Full-width items with larger touch targets. Category headers prominent. No keyboard shortcut hints.",
|
|
77
|
+
"tablet": "Floating dropdown near the cursor. Standard item sizing.",
|
|
78
|
+
"desktop": "Compact floating dropdown near the cursor. Full keyboard navigation with up/down arrows and Enter to select."
|
|
79
|
+
}
|
|
80
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "sparkline-cell",
|
|
3
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Sparkline Cell",
|
|
7
|
+
"description": "An inline mini-chart designed for table cells, showing trend data over time as a compact SVG sparkline with trend indicator and value label.",
|
|
8
|
+
"category": "data-visualization",
|
|
9
|
+
"tags": [
|
|
10
|
+
"2026",
|
|
11
|
+
"data-visualization",
|
|
12
|
+
"sparkline",
|
|
13
|
+
"chart",
|
|
14
|
+
"inline",
|
|
15
|
+
"trend",
|
|
16
|
+
"table"
|
|
17
|
+
],
|
|
18
|
+
"components": [
|
|
19
|
+
"Sparkline",
|
|
20
|
+
"TrendIndicator",
|
|
21
|
+
"ValueLabel"
|
|
22
|
+
],
|
|
23
|
+
"default_preset": "line",
|
|
24
|
+
"presets": {
|
|
25
|
+
"line": {
|
|
26
|
+
"description": "A smooth bezier SVG path sparkline in accent color with a filled circle at the last data point — the most common variant for showing continuous trends",
|
|
27
|
+
"layout": {
|
|
28
|
+
"layout": "inline",
|
|
29
|
+
"atoms": "_inline-flex _align-center _gap-2"
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"bar": {
|
|
33
|
+
"description": "A mini bar chart with thin vertical bars proportionally sized to data values — well suited for discrete time intervals like daily counts or weekly totals",
|
|
34
|
+
"layout": {
|
|
35
|
+
"layout": "inline",
|
|
36
|
+
"atoms": "_inline-flex _align-center _gap-2"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"area": {
|
|
40
|
+
"description": "A filled area chart with a gradient from accent color to transparent beneath the line path — adds visual weight and emphasis compared to the line-only variant",
|
|
41
|
+
"layout": {
|
|
42
|
+
"layout": "inline",
|
|
43
|
+
"atoms": "_inline-flex _align-center _gap-2"
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"visual_brief": "A compact inline element designed to sit within a table cell, composed of three parts arranged horizontally with an 8px gap: the sparkline SVG on the left, the trend indicator arrow in the middle, and the value label on the right. The sparkline SVG is 80px wide and 24px tall with no axes, labels, or grid lines — pure data visualization. In the line preset, the data renders as a smooth cubic bezier path (SVG <path> with C commands for smooth curves) stroked in the accent color at 2px width with round line-cap and line-join, no fill. The last data point has a small filled circle (4px radius, accent color) to mark the current value. In the area preset, the same bezier path is drawn but with an additional closed path below it filled with a vertical linear gradient from accent color at 30% opacity at the top to transparent at the bottom, creating a soft shaded area. The line itself remains 2px accent stroke on top of the fill. In the bar preset, the sparkline renders as a series of thin vertical rectangles (4px wide, 2px gap between each) whose heights are proportional to data values, aligned to the bottom of the 24px SVG viewport. Bars use accent color fill at 70% opacity, with the last bar at full accent opacity to highlight the current value. The TrendIndicator is a small directional arrow: an upward-pointing triangle (▲) in green (--d-success) for positive trends, a downward-pointing triangle (▼) in red (--d-error) for negative trends, or a horizontal dash (—) in muted text color for flat/neutral trends. The arrow is 10px in size, vertically centered. The ValueLabel shows the percentage change as text (e.g., '+12.4%', '-3.1%', '0.0%') in text-xs font-medium. Positive values use green (--d-success), negative use red (--d-error), neutral use text-muted. The entire component has a line-height matched to the table row for perfect vertical centering. The overall footprint is approximately 140px wide and 24px tall, fitting comfortably in standard table cells.",
|
|
48
|
+
"layout_hints": {
|
|
49
|
+
"container": "table-cell or inline",
|
|
50
|
+
"note": "This component is designed to be placed inside a <td> or any inline container. It should not be used standalone — it is a cell-level data visualization. The sparkline SVG has no interactivity by default but can optionally show a tooltip on hover revealing the exact data point values.",
|
|
51
|
+
"svg_rendering": "The SVG viewBox should be '0 0 80 24'. Use vector-effect: non-scaling-stroke to keep stroke width consistent. The bezier path should use catmull-rom or monotone interpolation converted to cubic bezier commands for smooth curves that pass through all data points.",
|
|
52
|
+
"color_semantics": "Positive trend: --d-success (green). Negative trend: --d-error (red). Neutral trend: text-muted. Sparkline path: accent color. These semantic colors ensure the component adapts to light and dark themes."
|
|
53
|
+
},
|
|
54
|
+
"default_layout": {
|
|
55
|
+
"layout": "inline",
|
|
56
|
+
"atoms": "_inline-flex _align-center _gap-2",
|
|
57
|
+
"slots": {
|
|
58
|
+
"sparkline": "The SVG mini-chart element, 80px wide and 24px tall. viewBox='0 0 80 24'. Overflow: visible (to allow the endpoint dot to extend slightly). No axes, no grid, no labels — pure data path only. Line preset: a single <path> element with smooth cubic bezier curves interpolated through all data points, stroke: accent, stroke-width: 2px, fill: none, stroke-linecap: round, stroke-linejoin: round. A <circle> at the last data point (cx=rightmost x, cy=corresponding y) with r=3, fill: accent. Area preset: same <path> as line, plus a <path> that closes the area down to the bottom edge (lineTo right-bottom, lineTo left-bottom, close), filled with a <linearGradient> from accent-30% at y=0 to transparent at y=24, id='sparkline-gradient'. The gradient path renders behind the stroke path. Bar preset: a series of <rect> elements, each 4px wide with 2px gaps, heights mapped proportionally from data values to the 0–24px range, y-position calculated as 24-height, fill: accent at 70% opacity, last bar at 100% opacity. All data points are evenly distributed across the 80px width. The SVG has shape-rendering: geometricPrecision for crisp lines.",
|
|
59
|
+
"trend-indicator": "A small inline element showing the trend direction. Renders as a 10px equilateral triangle pointing up (▲, color: --d-success) for positive percentage change, pointing down (▼, color: --d-error) for negative change, or a horizontal line (—, color: text-muted) for zero/negligible change. The threshold for 'negligible' is configurable but defaults to ±0.1%. The indicator is vertically centered with the sparkline and value label. It uses the same font-size as the value label (text-xs) for consistent sizing. An aria-hidden='true' attribute is set since the value label conveys the same information textually.",
|
|
60
|
+
"value-label": "A text element displaying the percentage change value. Format: sign + number + '%' (e.g., '+12.4%', '-3.1%', '0.0%'). Font: text-xs (12px), font-medium (500 weight). Color: --d-success for positive, --d-error for negative, text-muted for zero/neutral. White-space: nowrap to prevent wrapping within the cell. The label has a title attribute with the full description (e.g., 'Increased 12.4% over the last 7 days') for additional context on hover. min-width: 48px to prevent layout shift between positive and negative values. text-align: right."
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"accessibility": {
|
|
64
|
+
"role": "img",
|
|
65
|
+
"aria-label": "Sparkline showing {metric} trend: {direction} {percentage} over {period}",
|
|
66
|
+
"announcements": [
|
|
67
|
+
"Trend is {up|down|flat} at {percentage} change"
|
|
68
|
+
],
|
|
69
|
+
"keyboard": [
|
|
70
|
+
"Tab: focus the sparkline cell (if interactive tooltips enabled)",
|
|
71
|
+
"Enter: show detailed data point values in a tooltip",
|
|
72
|
+
"Escape: dismiss tooltip"
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
"responsive": {
|
|
76
|
+
"mobile": "Sparkline width reduces to 60px (viewBox scales proportionally). Value label may be hidden to save space, leaving only the sparkline and trend arrow. Trend indicator remains visible. The entire component min-width is 80px on mobile.",
|
|
77
|
+
"tablet": "Full 80px sparkline width. All three sub-components visible. Value label font remains text-xs. Component fits comfortably in standard table cells.",
|
|
78
|
+
"desktop": "Full 80px sparkline with optional hover tooltip showing exact data point values at each position along the path. Cursor changes to crosshair over the sparkline SVG when tooltips are enabled."
|
|
79
|
+
},
|
|
80
|
+
"motion": {
|
|
81
|
+
"micro": {
|
|
82
|
+
"path-draw": "stroke-dashoffset animation from full-length to 0, 600ms ease-out on initial render (line and area presets)",
|
|
83
|
+
"bar-grow": "each bar scaleY from 0 to 1 (transform-origin: bottom), staggered 30ms per bar, 300ms ease-out on initial render",
|
|
84
|
+
"dot-appear": "scale 0→1 + opacity 0→1, 200ms ease-out, delayed until path draw completes"
|
|
85
|
+
},
|
|
86
|
+
"transitions": {
|
|
87
|
+
"data-update": "path morphs from old shape to new shape via d attribute interpolation, 400ms ease-in-out",
|
|
88
|
+
"trend-change": "color crossfade 200ms ease when trend direction changes"
|
|
89
|
+
},
|
|
90
|
+
"ambient": {}
|
|
91
|
+
},
|
|
92
|
+
"interactions": [
|
|
93
|
+
"animate-on-mount",
|
|
94
|
+
"hover-tooltip",
|
|
95
|
+
"real-time-updates"
|
|
96
|
+
],
|
|
97
|
+
"composition": {
|
|
98
|
+
"SparklineCell": "Container(inline-flex, align-center, gap-2) > [Sparkline(svg) + TrendIndicator + ValueLabel]",
|
|
99
|
+
"Sparkline": "SVG(80x24, viewBox, no-axes) > [Path(bezier|bars|area) + EndpointDot?]",
|
|
100
|
+
"TrendIndicator": "Indicator(triangle-up|triangle-down|dash, semantic-color, aria-hidden)",
|
|
101
|
+
"ValueLabel": "Text(text-xs, font-medium, semantic-color, nowrap) > '{sign}{value}%'"
|
|
102
|
+
}
|
|
103
|
+
}
|