@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,151 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "content-card-grid",
|
|
4
|
+
"version": "1.3.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Content Card Grid",
|
|
7
|
+
"description": "Responsive grid of registry content cards with optional thumbnail media, strong type identity, builder-friendly descriptions, and a clean source/version/date footer. Used for browsing patterns, themes, blueprints, archetypes, and shells. This pattern owns the card grid, not outer section spacing.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {
|
|
10
|
+
"namespace-badge": "^1.0.0"
|
|
11
|
+
},
|
|
12
|
+
"styles": {},
|
|
13
|
+
"requires_core": {
|
|
14
|
+
"components": [
|
|
15
|
+
"Card",
|
|
16
|
+
"Badge",
|
|
17
|
+
"Button",
|
|
18
|
+
"icon"
|
|
19
|
+
],
|
|
20
|
+
"charts": []
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"contained": false,
|
|
24
|
+
"components": [
|
|
25
|
+
"Card",
|
|
26
|
+
"CardHeader",
|
|
27
|
+
"CardBody",
|
|
28
|
+
"CardFooter",
|
|
29
|
+
"Badge",
|
|
30
|
+
"Button",
|
|
31
|
+
"icon"
|
|
32
|
+
],
|
|
33
|
+
"default_preset": "standard",
|
|
34
|
+
"presets": {
|
|
35
|
+
"standard": {
|
|
36
|
+
"description": "Registry content cards with optional 16:9 media, one type chip, a 3-line description, and a clean source/version/date footer. Grid: 1/2/3 cols at sm/md/lg.",
|
|
37
|
+
"components": [
|
|
38
|
+
"Card",
|
|
39
|
+
"CardHeader",
|
|
40
|
+
"CardBody",
|
|
41
|
+
"CardFooter",
|
|
42
|
+
"Badge",
|
|
43
|
+
"Button",
|
|
44
|
+
"icon"
|
|
45
|
+
],
|
|
46
|
+
"layout": {
|
|
47
|
+
"layout": "grid",
|
|
48
|
+
"atoms": "_grid _gc1 _md:gc2 _lg:gc3 _gap4",
|
|
49
|
+
"slots": {
|
|
50
|
+
"card-media": "Optional full-width 16:9 thumbnail image. Only render when the content item has an uploaded registry thumbnail.",
|
|
51
|
+
"card-title-row": "Title on the left with one color-coded type chip on the right",
|
|
52
|
+
"card-description": "Short description with _bodysm _fgmuted, max 3 lines",
|
|
53
|
+
"card-meta": "Friendly source line, version, and publish date",
|
|
54
|
+
"card-cta": "One optional showcase CTA with external-link affordance"
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"compact": {
|
|
59
|
+
"description": "Compact list-style content cards with minimal info. Grid: 1/2/4 cols. Useful for dense browsing views.",
|
|
60
|
+
"components": [
|
|
61
|
+
"Card",
|
|
62
|
+
"Badge",
|
|
63
|
+
"icon"
|
|
64
|
+
],
|
|
65
|
+
"layout": {
|
|
66
|
+
"layout": "grid",
|
|
67
|
+
"atoms": "_grid _gc1 _sm:gc2 _xl:gc4 _gap3",
|
|
68
|
+
"slots": {
|
|
69
|
+
"card-icon": "Content type icon on the left",
|
|
70
|
+
"card-title": "Content name with _textsm _fontmedium",
|
|
71
|
+
"card-namespace": "Namespace badge, small variant",
|
|
72
|
+
"card-version": "Version text with _textxs _fgmuted"
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"editable": {
|
|
77
|
+
"description": "Dashboard content cards with the same visual hierarchy as public cards, plus status and edit/delete affordances.",
|
|
78
|
+
"components": [
|
|
79
|
+
"Card",
|
|
80
|
+
"CardHeader",
|
|
81
|
+
"CardBody",
|
|
82
|
+
"CardFooter",
|
|
83
|
+
"Badge",
|
|
84
|
+
"Button",
|
|
85
|
+
"icon"
|
|
86
|
+
],
|
|
87
|
+
"layout": {
|
|
88
|
+
"layout": "grid",
|
|
89
|
+
"atoms": "_grid _gc1 _md:gc2 _lg:gc3 _gap4",
|
|
90
|
+
"slots": {
|
|
91
|
+
"card-media": "Optional full-width 16:9 thumbnail image",
|
|
92
|
+
"card-status": "Status badge (published/pending/rejected) with color coding",
|
|
93
|
+
"card-title-row": "Title with one type chip",
|
|
94
|
+
"card-description": "Short description, max 3 lines",
|
|
95
|
+
"card-meta": "Friendly source line, version, and publish date",
|
|
96
|
+
"card-actions": "Edit and delete button group kept visually secondary to the main content"
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
"default_layout": {
|
|
102
|
+
"layout": "grid",
|
|
103
|
+
"atoms": "_grid _gc1 _md:gc2 _lg:gc3 _gap4",
|
|
104
|
+
"slots": {
|
|
105
|
+
"card-media": "Optional full-width 16:9 thumbnail image",
|
|
106
|
+
"card-title-row": "Content name, clickable link, and one color-coded type chip",
|
|
107
|
+
"card-description": "Short description, max 3 lines",
|
|
108
|
+
"card-meta": "Friendly source line, version, and publish date",
|
|
109
|
+
"card-cta": "Optional showcase action"
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
"visual_brief": "Responsive grid of bordered cards that feel editorial, calm, and app-forward. Each card can open with an optional 16:9 screenshot-style thumbnail. The title and description should dominate, with one distinct type chip acting as the only browse-card chip. The footer should feel like a clean authored source line rather than a metadata bucket: source first, then version, then date. If a showcase exists, its CTA should feel obvious and inviting. The overall impression should be curated and useful, not operator-heavy or diagnostic.",
|
|
113
|
+
"responsive": {
|
|
114
|
+
"mobile": "Single-column card stack. Cards take full width, thumbnails remain 16:9, descriptions show up to three lines, and the footer/source line wraps naturally without overflow.",
|
|
115
|
+
"tablet": "Two-column grid. Thumbnails, title, description, and footer all remain readable without crowded chip rows.",
|
|
116
|
+
"desktop": "Three or four column grid depending on container width. Cards feel airy and selective, with one type chip, generous description room, and a clear showcase CTA when present."
|
|
117
|
+
},
|
|
118
|
+
"layout_hints": {
|
|
119
|
+
"card_treatment": "Each card uses lum-card-outlined with a type-linked accent and optional media frame. Hover should feel subtle but premium: border intensifies, card lifts slightly, and shadows deepen without turning noisy.",
|
|
120
|
+
"card_content": "Do not use browse-card trust chips. Keep only the type chip. The footer should carry the source line first, then version, then date. Showcase CTA should sit clearly below that row when present.",
|
|
121
|
+
"grid_layout": "Responsive grid: 3 columns desktop, 2 tablet, 1 mobile. Gap: 1rem. Equal-height cards per row. Avoid visual density spikes between cards with thumbnails and cards without thumbnails. Parent workspace layout owns any spacing between this grid and sibling filters, intros, or empty-state lead surfaces."
|
|
122
|
+
},
|
|
123
|
+
"motion": {
|
|
124
|
+
"micro": "Cards may lift slightly and intensify their border treatment on hover. Showcase CTAs should respond clearly on hover and focus without overwhelming the card.",
|
|
125
|
+
"transitions": "Filter and sort changes should cross-fade or stagger cards in gently over 180-260ms. Thumbnail appearance should feel polished but restrained."
|
|
126
|
+
},
|
|
127
|
+
"interactions": [
|
|
128
|
+
"lift-hover",
|
|
129
|
+
"stagger-children",
|
|
130
|
+
"animate-on-mount",
|
|
131
|
+
"click-select",
|
|
132
|
+
"scroll-reveal"
|
|
133
|
+
],
|
|
134
|
+
"accessibility": {
|
|
135
|
+
"role": "region",
|
|
136
|
+
"aria-label": "Content card grid",
|
|
137
|
+
"keyboard": [
|
|
138
|
+
"Tab should move through cards and showcase CTAs in reading order.",
|
|
139
|
+
"If the whole card is clickable, expose one clear primary interaction target."
|
|
140
|
+
],
|
|
141
|
+
"announcements": [
|
|
142
|
+
"Card title, source line, and showcase availability should be available to assistive technology without depending on hover."
|
|
143
|
+
],
|
|
144
|
+
"focus_management": "Focused cards should receive an obvious treatment equivalent to hover, and nested CTAs should remain distinct from the card container."
|
|
145
|
+
},
|
|
146
|
+
"composition": {
|
|
147
|
+
"ContentCardGrid": "Grid(d-data, responsive: 1/2/3-col) > ContentCard[]",
|
|
148
|
+
"ContentCard": "Card(d-surface, hoverable) > [Thumbnail(optional, 16:9) + TitleRow > [Title(heading4, clickable) + TypeChip(d-annotation, color-coded)] + Description(text-muted, line-clamp-3) + Footer > [SourceLine(mono-data) + Version + PublishDate + ShowcaseAction(optional)]]",
|
|
149
|
+
"EditableCard": "ContentCard > FooterSecondary > [StatusBadge + EditButton(d-interactive) + DeleteButton(d-interactive, variant: destructive)]"
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "content-detail-hero",
|
|
4
|
+
"version": "1.2.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Content Detail Hero",
|
|
7
|
+
"description": "Action-first header section for content detail pages showing name, human-readable source identity, concise trust state, quick-start guidance, and type-aware next-step actions before the raw contract payload.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {
|
|
10
|
+
"namespace-badge": "^1.0.0"
|
|
11
|
+
},
|
|
12
|
+
"styles": {},
|
|
13
|
+
"requires_core": {
|
|
14
|
+
"components": [
|
|
15
|
+
"Badge",
|
|
16
|
+
"Button",
|
|
17
|
+
"Chip",
|
|
18
|
+
"icon"
|
|
19
|
+
],
|
|
20
|
+
"charts": []
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"contained": false,
|
|
24
|
+
"components": [
|
|
25
|
+
"Badge",
|
|
26
|
+
"Button",
|
|
27
|
+
"Chip",
|
|
28
|
+
"icon"
|
|
29
|
+
],
|
|
30
|
+
"default_preset": "standard",
|
|
31
|
+
"presets": {
|
|
32
|
+
"standard": {
|
|
33
|
+
"description": "Full-width detail hero with narrative content, a quick-start rail, and compact trust summaries.",
|
|
34
|
+
"components": [
|
|
35
|
+
"Badge",
|
|
36
|
+
"Button",
|
|
37
|
+
"Chip",
|
|
38
|
+
"icon"
|
|
39
|
+
],
|
|
40
|
+
"layout": {
|
|
41
|
+
"layout": "stack",
|
|
42
|
+
"atoms": "_flex _col _gap4 _py8 _px6 _borderb _bordermuted/20",
|
|
43
|
+
"slots": {
|
|
44
|
+
"breadcrumb": "Breadcrumb navigation: Registry > Type > Namespace > Slug",
|
|
45
|
+
"badges": "Minimal badge row for type and one primary trust signal",
|
|
46
|
+
"title": "Content name with _heading2 styling and a mono-data version label",
|
|
47
|
+
"description": "Concise description explaining what the item does and why it matters",
|
|
48
|
+
"meta-row": "Human-readable source line, publish date, and tightly scoped supporting metadata",
|
|
49
|
+
"quick-start-panel": "Action-first quick-start surface with a primary command, a secondary inspect action, and a short 'what to do next' note",
|
|
50
|
+
"trust-strip": "Compact row of trust summary cards for registry intelligence and showcase verification",
|
|
51
|
+
"action-group": "Type-aware CTA buttons such as Start from blueprint, Copy reference, Inspect JSON, or Open showcase"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
"compact": {
|
|
56
|
+
"description": "Compact hero for inline or constrained views with one primary next-step action.",
|
|
57
|
+
"components": [
|
|
58
|
+
"Badge",
|
|
59
|
+
"Button",
|
|
60
|
+
"icon"
|
|
61
|
+
],
|
|
62
|
+
"layout": {
|
|
63
|
+
"layout": "stack",
|
|
64
|
+
"atoms": "_flex _col _gap3 _py4 _px4",
|
|
65
|
+
"slots": {
|
|
66
|
+
"badges": "Type badge and one trust signal, inline",
|
|
67
|
+
"title": "Content name with _heading3",
|
|
68
|
+
"description": "Short description with _bodysm _fgmuted",
|
|
69
|
+
"actions": "Primary command and one supporting action, compact"
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
"default_layout": {
|
|
75
|
+
"layout": "stack",
|
|
76
|
+
"atoms": "_flex _col _gap4 _py8 _px6 _borderb _bordermuted/20",
|
|
77
|
+
"slots": {
|
|
78
|
+
"breadcrumb": "Breadcrumb navigation",
|
|
79
|
+
"badges": "Minimal type badge plus one trust signal",
|
|
80
|
+
"title": "Content name heading with version",
|
|
81
|
+
"description": "Content description",
|
|
82
|
+
"meta-row": "Friendly source line, date, and concise supporting metadata",
|
|
83
|
+
"quick-start-panel": "Action-first quick-start guidance with primary and secondary commands",
|
|
84
|
+
"trust-strip": "Registry intelligence and showcase verification summaries",
|
|
85
|
+
"action-group": "Primary and supporting actions"
|
|
86
|
+
}
|
|
87
|
+
},
|
|
88
|
+
"visual_brief": "Full-width detail hero that feels like a product launch panel rather than a raw data dump. A breadcrumb trail sits at the top. The first visible row uses only a few high-signal badges: type and the strongest trust state. The title is large and paired with a lightweight mono-data version readout. The source line should read like a friendly publisher identity, such as @official/decantr or @community/alice, rather than exposing raw internal ids. Trust information is summarized in compact supporting cards instead of a long wall of chips.",
|
|
89
|
+
"responsive": {
|
|
90
|
+
"mobile": "Breadcrumb collapses to a short back path. Quick-start becomes a full-width stack below the description. Trust summaries become cards stacked beneath the hero copy. Action buttons go full-width and the metadata row trims to the most useful items.",
|
|
91
|
+
"tablet": "Hero content and quick-start panel can sit in a 2-row composition, with trust summaries in a two-column strip. Breadcrumb remains visible and action buttons stay grouped.",
|
|
92
|
+
"desktop": "Hero reads as a split composition: descriptive content on the left, quick-start panel on the right, with trust summaries flowing underneath. The page should feel editorial, roomy, and high-confidence."
|
|
93
|
+
},
|
|
94
|
+
"layout_hints": {
|
|
95
|
+
"hero_layout": "Use a split hero rhythm with narrative on the left and a quick-start rail on the right whenever space allows. Keep the quick-start rail visually distinct using a bordered or treated panel, but avoid drowning the top of the page in chips or letting metadata outcompete the next-step actions.",
|
|
96
|
+
"background": "Subtle gradient matching content type color at 5-8% opacity, fading to var(--d-bg). Add a restrained accent glow behind the primary action rail rather than across the whole page.",
|
|
97
|
+
"actions": "Actions are type-aware: blueprints foreground scaffold/start actions, patterns/themes/shells foreground inspect/reference actions. Primary action should read like the next thing a human should do, not just 'copy'.",
|
|
98
|
+
"source_line": "Source identity should prioritize the human-facing publisher while preserving the registry scope, for example @official/decantr or @org:acme/alice.",
|
|
99
|
+
"trust_panels": "Trust summaries should be compact, card-like, and human-readable. Prefer one sentence plus 2-4 supporting facts over long comma-separated evidence dumps."
|
|
100
|
+
},
|
|
101
|
+
"motion": {
|
|
102
|
+
"micro": "Primary actions and trust-summary cards may use subtle hover elevation and accent transitions, but the hero should remain calm and editorial.",
|
|
103
|
+
"transitions": "Hero content and quick-start rail can fade up together over 220-320ms. Trust cards may stagger lightly beneath the hero rather than popping in abruptly."
|
|
104
|
+
},
|
|
105
|
+
"interactions": [
|
|
106
|
+
"animate-on-mount",
|
|
107
|
+
"stagger-children",
|
|
108
|
+
"glow-hover"
|
|
109
|
+
],
|
|
110
|
+
"accessibility": {
|
|
111
|
+
"role": "region",
|
|
112
|
+
"aria-label": "Content detail hero",
|
|
113
|
+
"keyboard": [
|
|
114
|
+
"Tab moves from breadcrumb to primary actions to supporting trust cards in a predictable order."
|
|
115
|
+
],
|
|
116
|
+
"announcements": [
|
|
117
|
+
"Title, source identity, and primary action context should be available before supporting trust summaries."
|
|
118
|
+
],
|
|
119
|
+
"focus_management": "Keep the primary next-step action early in the focus order without skipping the page title and source identity."
|
|
120
|
+
},
|
|
121
|
+
"composition": {
|
|
122
|
+
"ContentDetailHero": "Section(d-section, flex-col, gap-4, border-bottom) > [Breadcrumb + BadgeRow + HeroSplit > [NarrativeColumn > [Title(heading2) + Description(text-muted) + MetaRow] + QuickStartPanel] + TrustStrip + ActionGroup]",
|
|
123
|
+
"BadgeRow": "Row(gap-2) > [TypeChip(d-annotation, color-coded) + TrustChip]",
|
|
124
|
+
"MetaRow": "Row(d-data, gap-3) > [SourceLine(mono-data) + PublishDate(text-muted) + SupportingMeta]",
|
|
125
|
+
"QuickStartPanel": "Panel(d-surface, compact) > [Eyebrow + PrimaryCommand + SecondaryAction + UsageGuidance]",
|
|
126
|
+
"TrustStrip": "Grid(2-col desktop / 1-col mobile) > [RegistryIntelligenceSummary + ShowcaseVerificationSummary]",
|
|
127
|
+
"ActionGroup": "Row(d-interactive, gap-2) > [PrimaryAction(variant: primary) + SecondaryAction(variant: ghost) + ShowcaseAction(variant: ghost)]"
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "content-feed",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Content Feed",
|
|
7
|
+
"description": "Exclusive content feed with posts, media players, comments, and tier-gated content. Infinite scroll support.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {
|
|
10
|
+
"unlock-gate": "^1.0.0"
|
|
11
|
+
},
|
|
12
|
+
"styles": {},
|
|
13
|
+
"requires_core": {
|
|
14
|
+
"components": [
|
|
15
|
+
"Button",
|
|
16
|
+
"Card",
|
|
17
|
+
"Badge",
|
|
18
|
+
"Avatar",
|
|
19
|
+
"icon"
|
|
20
|
+
],
|
|
21
|
+
"charts": []
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"components": [
|
|
25
|
+
"Button",
|
|
26
|
+
"Card",
|
|
27
|
+
"Badge",
|
|
28
|
+
"Avatar",
|
|
29
|
+
"icon"
|
|
30
|
+
],
|
|
31
|
+
"default_preset": "standard",
|
|
32
|
+
"presets": {
|
|
33
|
+
"standard": {
|
|
34
|
+
"description": "Chronological content feed with embedded media players, comments, and tier-gated posts",
|
|
35
|
+
"components": [
|
|
36
|
+
"Button",
|
|
37
|
+
"Card",
|
|
38
|
+
"Badge",
|
|
39
|
+
"Avatar",
|
|
40
|
+
"icon"
|
|
41
|
+
],
|
|
42
|
+
"layout": {
|
|
43
|
+
"layout": "stack",
|
|
44
|
+
"atoms": "_flex _col _gap6 _maxw[720px] _mx[auto]",
|
|
45
|
+
"slots": {
|
|
46
|
+
"filters": "Type, tier filter buttons",
|
|
47
|
+
"items": "Content posts",
|
|
48
|
+
"load-more": "Infinite scroll trigger"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
},
|
|
52
|
+
"grid": {
|
|
53
|
+
"description": "Grid layout for visual content",
|
|
54
|
+
"components": [
|
|
55
|
+
"Card",
|
|
56
|
+
"Badge",
|
|
57
|
+
"icon"
|
|
58
|
+
],
|
|
59
|
+
"layout": {
|
|
60
|
+
"layout": "grid",
|
|
61
|
+
"atoms": "_grid _gc2 _md:gc3 _gap4",
|
|
62
|
+
"slots": {
|
|
63
|
+
"items": "Content cards in grid"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"compact": {
|
|
68
|
+
"description": "Dense single-column list view with reduced card padding and no inline comments",
|
|
69
|
+
"components": [
|
|
70
|
+
"Card",
|
|
71
|
+
"Badge",
|
|
72
|
+
"icon"
|
|
73
|
+
],
|
|
74
|
+
"layout": {
|
|
75
|
+
"layout": "stack",
|
|
76
|
+
"atoms": "_flex _col _gap2",
|
|
77
|
+
"slots": {
|
|
78
|
+
"items": "Compact post rows"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"default_layout": {
|
|
84
|
+
"layout": "stack",
|
|
85
|
+
"atoms": "_flex _col _gap6",
|
|
86
|
+
"slots": {
|
|
87
|
+
"filters": "Content filters",
|
|
88
|
+
"items": "Post feed",
|
|
89
|
+
"load-more": "Pagination"
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
"io": {
|
|
93
|
+
"produces": [
|
|
94
|
+
"post-click",
|
|
95
|
+
"unlock-click",
|
|
96
|
+
"like-click"
|
|
97
|
+
],
|
|
98
|
+
"consumes": [
|
|
99
|
+
"post-data",
|
|
100
|
+
"creator-data",
|
|
101
|
+
"user-tier"
|
|
102
|
+
]
|
|
103
|
+
},
|
|
104
|
+
"visual_brief": "Vertical feed of content cards in chronological order. Each card shows an author row (avatar, name, timestamp), the post content (text, images, embedded video player), engagement stats (likes, comments count), and a comment input area. Tier-gated content shows a blurred preview with a lock icon and 'Subscribe to unlock' overlay. Filter tabs at the top allow switching between All, Text, Video, Audio, and Images. The grid preset arranges cards in a masonry layout. Compact preset removes the comment area and reduces card padding.",
|
|
105
|
+
"responsive": {
|
|
106
|
+
"mobile": "Single-column full-width cards. Video players scale to container width. Filters become a horizontal scrollable row. Load-more button replaces infinite scroll for performance.",
|
|
107
|
+
"tablet": "Single-column feed with comfortable card widths. Filters visible in a row.",
|
|
108
|
+
"desktop": "Feed constrained to a centered content column (680px). Grid preset uses two or three columns."
|
|
109
|
+
},
|
|
110
|
+
"layout_hints": {
|
|
111
|
+
"feed_priority": "Author identity and content body come first, then engagement and gating states. The feed should feel editorial and sequential rather than like a dashboard of unrelated cards.",
|
|
112
|
+
"gate_discipline": "Locked or tier-gated items should preserve the same post hierarchy as unlocked posts so monetization reads as part of the feed, not a separate widget.",
|
|
113
|
+
"filter_role": "Filter tabs should act as a lightweight mode selector above the stream, not as a second navigation system."
|
|
114
|
+
},
|
|
115
|
+
"motion": {
|
|
116
|
+
"micro": "Feed cards, engagement controls, and gated overlays may respond subtly on hover and focus, while likes or unlock affordances may confirm interaction without breaking reading flow.",
|
|
117
|
+
"transitions": "Filter changes and content loading should preserve chronological continuity, with gentle entry or fade behavior rather than abrupt masonry reshuffles."
|
|
118
|
+
},
|
|
119
|
+
"interactions": [
|
|
120
|
+
"animate-on-mount",
|
|
121
|
+
"stagger-children",
|
|
122
|
+
"scroll-reveal",
|
|
123
|
+
"lift-hover"
|
|
124
|
+
],
|
|
125
|
+
"accessibility": {
|
|
126
|
+
"role": "feed",
|
|
127
|
+
"aria-label": "Content feed",
|
|
128
|
+
"keyboard": [
|
|
129
|
+
"Feed items and their main actions should follow a clear top-to-bottom order, with comment and unlock actions reachable after the content."
|
|
130
|
+
],
|
|
131
|
+
"announcements": [
|
|
132
|
+
"Author, timestamp, content type, and gated state should be exposed semantically so each post remains understandable without visual overlays alone."
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"composition": {
|
|
136
|
+
"ContentFeed": "Container(d-section, flex-col, centered) > [FilterTabs(d-control) + PostList + LoadMore?(d-interactive)]",
|
|
137
|
+
"PostList": "List(flex-col, gap-6) > PostCard[]",
|
|
138
|
+
"PostCard": "Card(d-surface) > [AuthorRow > [Avatar + Name + Timestamp(text-muted)] + PostContent(markdown, media?) + EngagementBar > [LikeCount + CommentCount] + CommentInput?]",
|
|
139
|
+
"GatedPost": "PostCard(blurred) > [LockOverlay(d-annotation, icon: lock) + SubscribeCTA(d-interactive)]"
|
|
140
|
+
}
|
|
141
|
+
}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "content-uploader",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Content Uploader",
|
|
7
|
+
"description": "Drag-drop media upload component with file preview, progress tracking, and multi-file support. Handles images, videos, audio, and documents.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"Button",
|
|
14
|
+
"Card",
|
|
15
|
+
"Progress",
|
|
16
|
+
"icon"
|
|
17
|
+
],
|
|
18
|
+
"charts": []
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"components": [
|
|
22
|
+
"Button",
|
|
23
|
+
"Card",
|
|
24
|
+
"Progress",
|
|
25
|
+
"icon"
|
|
26
|
+
],
|
|
27
|
+
"default_preset": "standard",
|
|
28
|
+
"presets": {
|
|
29
|
+
"standard": {
|
|
30
|
+
"description": "Multi-file upload with preview grid and progress tracking",
|
|
31
|
+
"components": [
|
|
32
|
+
"Button",
|
|
33
|
+
"Card",
|
|
34
|
+
"Progress",
|
|
35
|
+
"icon"
|
|
36
|
+
],
|
|
37
|
+
"layout": {
|
|
38
|
+
"layout": "stack",
|
|
39
|
+
"atoms": "_flex _col _gap4",
|
|
40
|
+
"slots": {
|
|
41
|
+
"dropzone": "Drag-drop target area with visual feedback",
|
|
42
|
+
"file-list": "Uploaded files with progress bars",
|
|
43
|
+
"preview": "Media preview thumbnails grid",
|
|
44
|
+
"actions": "Upload, cancel, clear buttons"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"single": {
|
|
49
|
+
"description": "Single file upload with large preview area",
|
|
50
|
+
"components": [
|
|
51
|
+
"Button",
|
|
52
|
+
"Card",
|
|
53
|
+
"icon"
|
|
54
|
+
],
|
|
55
|
+
"layout": {
|
|
56
|
+
"layout": "stack",
|
|
57
|
+
"atoms": "_flex _col _gap4",
|
|
58
|
+
"slots": {
|
|
59
|
+
"dropzone": "Large drag-drop target",
|
|
60
|
+
"preview": "Full-size media preview",
|
|
61
|
+
"actions": "Replace, remove buttons"
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"audio": {
|
|
66
|
+
"description": "Audio upload with waveform preview",
|
|
67
|
+
"components": [
|
|
68
|
+
"Button",
|
|
69
|
+
"Card",
|
|
70
|
+
"icon"
|
|
71
|
+
],
|
|
72
|
+
"layout": {
|
|
73
|
+
"layout": "stack",
|
|
74
|
+
"atoms": "_flex _col _gap4",
|
|
75
|
+
"slots": {
|
|
76
|
+
"dropzone": "Audio file drop area",
|
|
77
|
+
"waveform": "Audio waveform visualization",
|
|
78
|
+
"player": "Audio player controls",
|
|
79
|
+
"actions": "Upload actions"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"default_layout": {
|
|
85
|
+
"layout": "stack",
|
|
86
|
+
"atoms": "_flex _col _gap4",
|
|
87
|
+
"slots": {
|
|
88
|
+
"dropzone": "Drag-drop target area",
|
|
89
|
+
"file-list": "Uploaded files list",
|
|
90
|
+
"preview": "Media preview",
|
|
91
|
+
"actions": "Action buttons"
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"io": {
|
|
95
|
+
"produces": [
|
|
96
|
+
"uploaded-files",
|
|
97
|
+
"upload-progress"
|
|
98
|
+
],
|
|
99
|
+
"consumes": []
|
|
100
|
+
},
|
|
101
|
+
"visual_brief": "Large dashed-border drop zone with a cloud upload icon centered above 'Drag and drop files here or click to browse' text. Active drag-over state highlights the zone with a primary color border. Below the drop zone, an uploaded files list shows each file as a row with thumbnail preview, filename, file size, a progress bar during upload, and a remove button. The progress bar fills with primary color. The single preset shows one file at a time with a larger preview. Audio preset includes waveform visualization for audio files.",
|
|
102
|
+
"responsive": {
|
|
103
|
+
"mobile": "Drop zone reduces in height. File list shows smaller thumbnails. Upload uses native file picker on tap. Progress bars are full-width.",
|
|
104
|
+
"tablet": "Standard drop zone size. File list shows medium thumbnails with inline progress.",
|
|
105
|
+
"desktop": "Large drop zone with generous padding. File list shows large thumbnails and detailed file info."
|
|
106
|
+
},
|
|
107
|
+
"layout_hints": {
|
|
108
|
+
"dropzone_priority": "The primary affordance is the upload target itself. Supporting file previews and action rows should reinforce confidence in what has been selected, not compete with the dropzone.",
|
|
109
|
+
"progress_clarity": "Upload state, file identity, and error or retry status should stay tightly grouped for each file so the user can resolve issues without scanning the whole surface.",
|
|
110
|
+
"single_vs_multi": "Single-file flows should emphasize preview and replacement, while multi-file flows should emphasize queue state and per-file progress."
|
|
111
|
+
},
|
|
112
|
+
"motion": {
|
|
113
|
+
"micro": "Drop targets may brighten on drag-over, and upload rows may sharpen or pulse subtly while active.",
|
|
114
|
+
"transitions": "File entry, progress updates, and completion states should feel confidence-building and calm, especially during longer uploads."
|
|
115
|
+
},
|
|
116
|
+
"interactions": [
|
|
117
|
+
"drag-reorder",
|
|
118
|
+
"animate-on-mount",
|
|
119
|
+
"click-select"
|
|
120
|
+
],
|
|
121
|
+
"accessibility": {
|
|
122
|
+
"role": "region",
|
|
123
|
+
"aria-label": "Content uploader",
|
|
124
|
+
"keyboard": [
|
|
125
|
+
"Browse, remove, retry, and upload actions should remain reachable in a straightforward order after the dropzone."
|
|
126
|
+
],
|
|
127
|
+
"announcements": [
|
|
128
|
+
"Selected files, upload progress, completion, and error states should be exposed semantically so the workflow remains understandable without drag feedback alone."
|
|
129
|
+
]
|
|
130
|
+
},
|
|
131
|
+
"composition": {
|
|
132
|
+
"ContentUploader": "Container(d-section, flex-col, gap-4) > [Dropzone + FileList + Actions]",
|
|
133
|
+
"Dropzone": "Zone(d-surface, dashed-border, drop-target) > [CloudIcon + InstructionText + BrowseButton?(d-interactive)]",
|
|
134
|
+
"FileList": "List(flex-col, gap-2) > FileRow[]",
|
|
135
|
+
"FileRow": "Row(d-data-row) > [Thumbnail + FileName + FileSize(text-muted) + Progress(d-data) + RemoveButton(d-interactive)]"
|
|
136
|
+
}
|
|
137
|
+
}
|