@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,119 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/shell.v1.json",
|
|
3
|
+
"id": "mobile-tab-bar",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Mobile Tab Bar",
|
|
7
|
+
"description": "Mobile-first app shell with sticky compact header, single-scroll body, and fixed bottom tab-bar. The first shell in Decantr's catalog optimized for mobile-portrait consumer apps. Desktop scales gracefully to a 480px-wide centered column. Use for: dating apps, social discovery, swipe feeds, anywhere a bottom tab navigator is the primary navigation affordance.",
|
|
8
|
+
"root": "_relative _flex _flex-col _w-full _min-h-dvh _max-w-screen-md _mx-auto _bg-background _text-text",
|
|
9
|
+
"nav": "tab-bar",
|
|
10
|
+
"header": "_sticky _top-0 _z-30",
|
|
11
|
+
"nav_style": "bottom-fixed-tabs",
|
|
12
|
+
"layout": "stacked-vertical",
|
|
13
|
+
"atoms": "_flex _flex-col _w-full _min-h-dvh",
|
|
14
|
+
"dimensions": {
|
|
15
|
+
"max_width_app": "480px",
|
|
16
|
+
"header_height": "52px",
|
|
17
|
+
"tab_bar_height": "64px",
|
|
18
|
+
"body_padding_x": "16px",
|
|
19
|
+
"body_padding_top": "16px",
|
|
20
|
+
"body_padding_bottom": "80px"
|
|
21
|
+
},
|
|
22
|
+
"internal_layout": {
|
|
23
|
+
"regions": ["root", "header", "body", "tab-bar"],
|
|
24
|
+
"root": {
|
|
25
|
+
"purpose": "App container. Centers the column on desktop, full-width on mobile. Owns the dvh-based viewport sizing and global background color.",
|
|
26
|
+
"min-height": "100dvh",
|
|
27
|
+
"max-width": "480px",
|
|
28
|
+
"margin": "0 auto",
|
|
29
|
+
"position": "relative",
|
|
30
|
+
"background": "var(--d-bg)",
|
|
31
|
+
"color": "var(--d-fg)",
|
|
32
|
+
"display": "flex",
|
|
33
|
+
"flex-direction": "column",
|
|
34
|
+
"atoms": "_relative _flex _flex-col _w-full _min-h-dvh _max-w-screen-md _mx-auto _bg-background _text-text"
|
|
35
|
+
},
|
|
36
|
+
"header": {
|
|
37
|
+
"purpose": "Sticky top header. Hosts the brand mark (left), optional filter or page title (center), and avatar/profile control (right). Compact at 52px to maximize body space.",
|
|
38
|
+
"height": "52px",
|
|
39
|
+
"padding": "0 16px",
|
|
40
|
+
"display": "flex",
|
|
41
|
+
"align-items": "center",
|
|
42
|
+
"justify-content": "space-between",
|
|
43
|
+
"gap": "12px",
|
|
44
|
+
"position": "sticky",
|
|
45
|
+
"top": "0",
|
|
46
|
+
"z-index": "30",
|
|
47
|
+
"background": "rgba(255, 245, 242, 0.85)",
|
|
48
|
+
"backdrop-filter": "blur(16px)",
|
|
49
|
+
"border-bottom": "1px solid var(--d-border)",
|
|
50
|
+
"atoms": "_sticky _top-0 _z-30 _flex _items-center _justify-between _gap-3 _px-4 _h-[52px] _bg-background/85 _backdrop-blur _border-b _border-border"
|
|
51
|
+
},
|
|
52
|
+
"body": {
|
|
53
|
+
"purpose": "Single scroll region for page content. The ONLY scroll container in this shell — never nest scroll inside. Bottom padding clears the fixed tab-bar so content isn't hidden behind it.",
|
|
54
|
+
"flex": "1 1 auto",
|
|
55
|
+
"overflow-y": "auto",
|
|
56
|
+
"overflow-x": "hidden",
|
|
57
|
+
"padding": "16px 16px 80px 16px",
|
|
58
|
+
"scroll-container": true,
|
|
59
|
+
"atoms": "_flex-1 _overflow-y-auto _overflow-x-hidden _px-4 _pt-4 _pb-20"
|
|
60
|
+
},
|
|
61
|
+
"tab-bar": {
|
|
62
|
+
"purpose": "Bottom navigator with 4-5 icon+label tabs. Sticky on desktop / fixed-translate on iOS to handle safe-area-inset-bottom. Always visible across primary app pages.",
|
|
63
|
+
"height": "calc(64px + env(safe-area-inset-bottom))",
|
|
64
|
+
"padding": "8px 12px calc(8px + env(safe-area-inset-bottom))",
|
|
65
|
+
"position": "sticky",
|
|
66
|
+
"bottom": "0",
|
|
67
|
+
"z-index": "40",
|
|
68
|
+
"display": "flex",
|
|
69
|
+
"align-items": "center",
|
|
70
|
+
"justify-content": "space-around",
|
|
71
|
+
"background": "rgba(255, 245, 242, 0.85)",
|
|
72
|
+
"backdrop-filter": "blur(16px)",
|
|
73
|
+
"border-top": "1px solid var(--d-border)",
|
|
74
|
+
"tab-target-min-size": "56px",
|
|
75
|
+
"atoms": "_sticky _bottom-0 _z-40 _flex _items-center _justify-around _bg-background/85 _backdrop-blur _border-t _border-border",
|
|
76
|
+
"responsive": {
|
|
77
|
+
"mobile": "Tab bar uses sticky positioning with safe-area inset. Tap targets 56×56 minimum.",
|
|
78
|
+
"desktop": "Sticky bottom inside the 480px column. Same height. Becomes part of the centered column visual."
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"anti_patterns": [
|
|
82
|
+
"Never nest a scroll container inside body — body owns the only scroll axis. Inner scroll causes momentum-scroll conflicts on iOS.",
|
|
83
|
+
"Never absolute-position elements outside the body region — they will overflow the 480px column on desktop and disrupt the centered layout.",
|
|
84
|
+
"Tab bar must NOT consume body height via flex — body's padding-bottom (80px) clears it. Mixing flex-shrink and fixed/sticky causes scroll jump.",
|
|
85
|
+
"Never apply viewport units (vh/vw) to body children — use dvh on root only. iOS Safari miscalculates vh with dynamic toolbars.",
|
|
86
|
+
"Header and tab-bar must NOT both grow flexibly — they have fixed heights (52px / 64px). Body alone flexes.",
|
|
87
|
+
"Do not place the tab-bar inside the body region — it must be a sibling so it remains fixed during body scroll."
|
|
88
|
+
],
|
|
89
|
+
"responsive": {
|
|
90
|
+
"mobile": {
|
|
91
|
+
"max_width": "100vw",
|
|
92
|
+
"padding": "0",
|
|
93
|
+
"tab_bar_position": "sticky bottom with safe-area inset",
|
|
94
|
+
"notes": "Full-width portrait optimized. Header and tab-bar sticky, body scrolls."
|
|
95
|
+
},
|
|
96
|
+
"desktop": {
|
|
97
|
+
"max_width": "480px",
|
|
98
|
+
"centered": true,
|
|
99
|
+
"side_treatment": "Optional quiet off-column background tint or neutral gutter treatment handled by the page or theme background, NOT the shell. Avoid decorative orb/blob layers.",
|
|
100
|
+
"notes": "Column floats centered with 480px max-width. The shell does not add side rails — the surrounding page background fills the gutters."
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"guidance": {
|
|
105
|
+
"primary_use_cases": "Mobile-first consumer apps with bottom-tab navigation: swipe-based dating/discovery apps, social feeds, mobile-first messaging, photo-share apps, fitness/habit trackers, food/recipe browsing.",
|
|
106
|
+
"avoid_for": "Desktop-first SaaS (use sidebar-main), data-dense dashboards (use top-nav-sidebar), document/spreadsheet UI (use three-column-browser), terminal/CLI tools (use terminal-split).",
|
|
107
|
+
"tab_bar_contract": "Tab bar should host 4-5 items maximum. Each item is a route+icon+label. The active tab is signaled via the swipecircle-tab-active decorator (or theme equivalent). Tap targets are 56×56 minimum for thumb-friendliness.",
|
|
108
|
+
"header_contract": "Header is intentionally compact (52px). Use brand mark, optional filter dropdown or page title, and a single profile/action control. Do NOT cram multiple actions into the header — push secondary actions into the body or a sheet.",
|
|
109
|
+
"body_contract": "Body is the only scroll axis. Use padding-bottom of at least 80px to clear the tab-bar. Do not rely on flex-grow alone — explicit overflow-y: auto is required.",
|
|
110
|
+
"thread_pages": "When entering a focused state (e.g., a chat thread), keep the tab-bar visible by default for navigation consistency. Hide it only on input focus to maximize keyboard-aware compose space, restoring on blur."
|
|
111
|
+
},
|
|
112
|
+
"config": {
|
|
113
|
+
"default_tab_count": 4,
|
|
114
|
+
"max_tab_count": 5,
|
|
115
|
+
"tab_label_visible": true,
|
|
116
|
+
"header_translucency": "blur(16px) with 85% bg-tint",
|
|
117
|
+
"tab_bar_translucency": "blur(16px) with 85% bg-tint"
|
|
118
|
+
}
|
|
119
|
+
}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/shell.v1.json",
|
|
3
|
+
"id": "recipefork-top-nav",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Recipefork Top Nav",
|
|
7
|
+
"description": "Shared Recipefork application shell with sticky top nav, compact utility actions, and a wide scrollable content region below. Mirrors the current app's persistent nav model across public and authenticated product routes.",
|
|
8
|
+
"layout": "stack",
|
|
9
|
+
"atoms": "_flex _col _minh[100vh]",
|
|
10
|
+
"config": {
|
|
11
|
+
"regions": [
|
|
12
|
+
"header",
|
|
13
|
+
"body"
|
|
14
|
+
],
|
|
15
|
+
"grid": {
|
|
16
|
+
"areas": [
|
|
17
|
+
[
|
|
18
|
+
"header"
|
|
19
|
+
],
|
|
20
|
+
[
|
|
21
|
+
"body"
|
|
22
|
+
]
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
"nav": {
|
|
26
|
+
"position": "top"
|
|
27
|
+
},
|
|
28
|
+
"header": {
|
|
29
|
+
"height": "64px",
|
|
30
|
+
"sticky": true
|
|
31
|
+
},
|
|
32
|
+
"body": {
|
|
33
|
+
"scroll": true
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"guidance": {
|
|
37
|
+
"section_label_treatment": "d-label",
|
|
38
|
+
"section_density": "comfortable",
|
|
39
|
+
"nav_identity": "Brand mark on the left, route links in the center-left, create CTA plus utility actions on the right. Keep the overall feel product-like rather than marketing-heavy.",
|
|
40
|
+
"mobile_menu": "Collapse route links into a dropdown or menu button below md breakpoint. The create action may stay visible as an icon button or move into the menu when width is constrained.",
|
|
41
|
+
"auth_variation": "Unauthenticated states may still reuse the same shell. Swap the profile entry for a sign-in button while keeping spacing and alignment stable.",
|
|
42
|
+
"notification_behavior": "Authenticated states include a bell menu in the utility cluster. The bell should expose unread count, recent follow/comment/reaction/save/fork activity, and quick mark-as-read behavior without forcing a dedicated page route."
|
|
43
|
+
},
|
|
44
|
+
"internal_layout": {
|
|
45
|
+
"root": {
|
|
46
|
+
"display": "flex",
|
|
47
|
+
"direction": "column",
|
|
48
|
+
"min_height": "100vh",
|
|
49
|
+
"atoms": "_flex _col _minh[100vh]"
|
|
50
|
+
},
|
|
51
|
+
"header": {
|
|
52
|
+
"height": "64px",
|
|
53
|
+
"display": "flex",
|
|
54
|
+
"align": "center",
|
|
55
|
+
"justify": "space-between",
|
|
56
|
+
"padding": "0 1rem",
|
|
57
|
+
"border": "bottom",
|
|
58
|
+
"sticky": true,
|
|
59
|
+
"z_index": "20",
|
|
60
|
+
"background": "recipefork-nav",
|
|
61
|
+
"left_content": "Brand icon + Recipefork wordmark",
|
|
62
|
+
"center_content": "Home, Chat, Generate, Feed, Cookbooks navigation links",
|
|
63
|
+
"right_content": "Create Recipe CTA + theme toggle + notification bell + profile button or sign-in button + mobile menu trigger",
|
|
64
|
+
"button_sizing": "Use compact controls. Create CTA should feel prominent but still fit inside the 64px row without oversized padding."
|
|
65
|
+
},
|
|
66
|
+
"body": {
|
|
67
|
+
"flex": "1",
|
|
68
|
+
"overflow_y": "auto",
|
|
69
|
+
"padding": "0",
|
|
70
|
+
"atoms": "_flex1 _overflow[auto]",
|
|
71
|
+
"note": "Individual pages own their spacing. Preserve the wide, app-like content region used by feed, recipe detail, profile, and authoring pages."
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "sidebar-aside",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"decantr_compat": ">=2.0.0",
|
|
5
|
+
"name": "Sidebar + Aside",
|
|
6
|
+
"description": "Three-column layout with left navigation and right inspector/detail panel. Used for admin dashboards, email clients, IDE-style apps.",
|
|
7
|
+
"layout": "grid",
|
|
8
|
+
"atoms": "_grid _h[100vh]",
|
|
9
|
+
"config": {
|
|
10
|
+
"regions": [
|
|
11
|
+
"header",
|
|
12
|
+
"nav",
|
|
13
|
+
"body",
|
|
14
|
+
"aside"
|
|
15
|
+
],
|
|
16
|
+
"grid": {
|
|
17
|
+
"areas": [
|
|
18
|
+
[
|
|
19
|
+
"nav",
|
|
20
|
+
"header",
|
|
21
|
+
"aside"
|
|
22
|
+
],
|
|
23
|
+
[
|
|
24
|
+
"nav",
|
|
25
|
+
"body",
|
|
26
|
+
"aside"
|
|
27
|
+
]
|
|
28
|
+
]
|
|
29
|
+
},
|
|
30
|
+
"nav": {
|
|
31
|
+
"position": "left",
|
|
32
|
+
"width": "240px",
|
|
33
|
+
"collapseTo": "64px",
|
|
34
|
+
"collapseBelow": "md"
|
|
35
|
+
},
|
|
36
|
+
"header": {
|
|
37
|
+
"height": "52px",
|
|
38
|
+
"sticky": true
|
|
39
|
+
},
|
|
40
|
+
"body": {
|
|
41
|
+
"scroll": true
|
|
42
|
+
},
|
|
43
|
+
"aside": {
|
|
44
|
+
"width": "280px",
|
|
45
|
+
"collapsible": true
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"configurable": {
|
|
49
|
+
"nav": {
|
|
50
|
+
"positions": [
|
|
51
|
+
"left",
|
|
52
|
+
"right"
|
|
53
|
+
],
|
|
54
|
+
"modes": [
|
|
55
|
+
"full",
|
|
56
|
+
"rail",
|
|
57
|
+
"hidden"
|
|
58
|
+
]
|
|
59
|
+
},
|
|
60
|
+
"header": {
|
|
61
|
+
"toggleable": true
|
|
62
|
+
},
|
|
63
|
+
"aside": {
|
|
64
|
+
"toggleable": true
|
|
65
|
+
},
|
|
66
|
+
"sizing": {
|
|
67
|
+
"sidebarWidth": {
|
|
68
|
+
"min": 48,
|
|
69
|
+
"max": 400,
|
|
70
|
+
"default": 240
|
|
71
|
+
},
|
|
72
|
+
"headerHeight": {
|
|
73
|
+
"min": 36,
|
|
74
|
+
"max": 80,
|
|
75
|
+
"default": 52
|
|
76
|
+
},
|
|
77
|
+
"asideWidth": {
|
|
78
|
+
"min": 200,
|
|
79
|
+
"max": 480,
|
|
80
|
+
"default": 280
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"internal_layout": {
|
|
85
|
+
"root": {
|
|
86
|
+
"display": "grid",
|
|
87
|
+
"height": "100vh",
|
|
88
|
+
"grid_template": "columns: sidebar 1fr aside; rows: 52px 1fr",
|
|
89
|
+
"atoms": "_grid _h[100vh]"
|
|
90
|
+
},
|
|
91
|
+
"sidebar": {
|
|
92
|
+
"width": "240px",
|
|
93
|
+
"collapsed_width": "64px",
|
|
94
|
+
"collapse_breakpoint": "md",
|
|
95
|
+
"position": "left",
|
|
96
|
+
"direction": "column",
|
|
97
|
+
"border": "right",
|
|
98
|
+
"background": "var(--d-surface)",
|
|
99
|
+
"grid_span": "row 1/3",
|
|
100
|
+
"atoms": "_flex _col _borderR",
|
|
101
|
+
"brand": {
|
|
102
|
+
"height": "52px",
|
|
103
|
+
"display": "flex",
|
|
104
|
+
"align": "center",
|
|
105
|
+
"padding": "0 1rem",
|
|
106
|
+
"border": "bottom",
|
|
107
|
+
"content": "Logo/brand + collapse toggle"
|
|
108
|
+
},
|
|
109
|
+
"nav": {
|
|
110
|
+
"flex": "1",
|
|
111
|
+
"overflow_y": "auto",
|
|
112
|
+
"padding": "0.5rem",
|
|
113
|
+
"item_treatment": "d-interactive[ghost]",
|
|
114
|
+
"item_padding": "0.375rem 0.75rem",
|
|
115
|
+
"item_gap": "2px",
|
|
116
|
+
"item_content": "icon + label text"
|
|
117
|
+
},
|
|
118
|
+
"footer": {
|
|
119
|
+
"border": "top",
|
|
120
|
+
"padding": "0.5rem",
|
|
121
|
+
"position_within": "bottom (mt-auto)",
|
|
122
|
+
"content": "User avatar + settings"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"header": {
|
|
126
|
+
"height": "52px",
|
|
127
|
+
"display": "flex",
|
|
128
|
+
"align": "center",
|
|
129
|
+
"justify": "space-between",
|
|
130
|
+
"padding": "0 1.5rem",
|
|
131
|
+
"border": "bottom",
|
|
132
|
+
"left_content": "Breadcrumb / page title",
|
|
133
|
+
"right_content": "Actions / search",
|
|
134
|
+
"button_sizing": "Buttons in the header use compact sizing: py-1.5 px-3 text-sm (~32px tall). The header is a tight 52px bar \u2014 default d-interactive padding is too large here."
|
|
135
|
+
},
|
|
136
|
+
"body": {
|
|
137
|
+
"flex": "1",
|
|
138
|
+
"overflow_y": "auto",
|
|
139
|
+
"padding": "1.5rem",
|
|
140
|
+
"note": "Main scroll container for primary content."
|
|
141
|
+
},
|
|
142
|
+
"aside": {
|
|
143
|
+
"width": "280px",
|
|
144
|
+
"collapsible": true,
|
|
145
|
+
"direction": "column",
|
|
146
|
+
"border": "left",
|
|
147
|
+
"background": "var(--d-bg)",
|
|
148
|
+
"grid_span": "row 1/3",
|
|
149
|
+
"atoms": "_flex _col _borderL",
|
|
150
|
+
"note": "Right inspector/detail panel. Toggleable. Shows contextual details, properties, or preview."
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"guidance": {
|
|
154
|
+
"section_label_treatment": "d-label[data-anchor]",
|
|
155
|
+
"section_density": "compact",
|
|
156
|
+
"shell_spacing": "Sidebar-aside owns the global navigation rhythm, the main scrollable work column, and the denser right-hand inspector lane. Pages should not add extra full-page wrappers or duplicate shell padding; let the sidebar and aside stay independently scrollable from the main body."
|
|
157
|
+
},
|
|
158
|
+
"code": {
|
|
159
|
+
"imports": "import { Shell } from 'decantr/components';",
|
|
160
|
+
"example": "Shell({ config: 'sidebar-aside' },\n Shell.Header({}, headerContent),\n Shell.Nav({}, navContent),\n Shell.Body({}, mainContent),\n Shell.Aside({}, asideContent)\n)"
|
|
161
|
+
},
|
|
162
|
+
"$schema": "https://decantr.ai/schemas/shell.v1.json"
|
|
163
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "sidebar-main-footer",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"decantr_compat": ">=2.0.0",
|
|
5
|
+
"name": "Sidebar + Main + Footer",
|
|
6
|
+
"description": "Sidebar layout with a persistent footer bar. Used for apps needing status bars or action footers.",
|
|
7
|
+
"layout": "grid",
|
|
8
|
+
"atoms": "_grid _h[100vh]",
|
|
9
|
+
"config": {
|
|
10
|
+
"regions": [
|
|
11
|
+
"header",
|
|
12
|
+
"nav",
|
|
13
|
+
"body",
|
|
14
|
+
"footer"
|
|
15
|
+
],
|
|
16
|
+
"grid": {
|
|
17
|
+
"areas": [
|
|
18
|
+
[
|
|
19
|
+
"nav",
|
|
20
|
+
"header"
|
|
21
|
+
],
|
|
22
|
+
[
|
|
23
|
+
"nav",
|
|
24
|
+
"body"
|
|
25
|
+
],
|
|
26
|
+
[
|
|
27
|
+
"nav",
|
|
28
|
+
"footer"
|
|
29
|
+
]
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
"nav": {
|
|
33
|
+
"position": "left",
|
|
34
|
+
"width": "240px",
|
|
35
|
+
"collapseTo": "64px",
|
|
36
|
+
"collapseBelow": "md"
|
|
37
|
+
},
|
|
38
|
+
"header": {
|
|
39
|
+
"height": "52px",
|
|
40
|
+
"sticky": true
|
|
41
|
+
},
|
|
42
|
+
"body": {
|
|
43
|
+
"scroll": true
|
|
44
|
+
},
|
|
45
|
+
"footer": {
|
|
46
|
+
"height": "auto",
|
|
47
|
+
"sticky": false
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"configurable": {
|
|
51
|
+
"nav": {
|
|
52
|
+
"positions": [
|
|
53
|
+
"left",
|
|
54
|
+
"right",
|
|
55
|
+
"top"
|
|
56
|
+
],
|
|
57
|
+
"modes": [
|
|
58
|
+
"full",
|
|
59
|
+
"rail",
|
|
60
|
+
"hidden"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"header": {
|
|
64
|
+
"toggleable": true
|
|
65
|
+
},
|
|
66
|
+
"footer": {
|
|
67
|
+
"toggleable": true
|
|
68
|
+
},
|
|
69
|
+
"sizing": {
|
|
70
|
+
"sidebarWidth": {
|
|
71
|
+
"min": 48,
|
|
72
|
+
"max": 400,
|
|
73
|
+
"default": 240
|
|
74
|
+
},
|
|
75
|
+
"headerHeight": {
|
|
76
|
+
"min": 36,
|
|
77
|
+
"max": 80,
|
|
78
|
+
"default": 52
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"internal_layout": {
|
|
83
|
+
"root": {
|
|
84
|
+
"display": "grid",
|
|
85
|
+
"height": "100vh",
|
|
86
|
+
"grid_template": "columns: sidebar 1fr; rows: 52px 1fr auto",
|
|
87
|
+
"atoms": "_grid _h[100vh]"
|
|
88
|
+
},
|
|
89
|
+
"sidebar": {
|
|
90
|
+
"width": "240px",
|
|
91
|
+
"collapsed_width": "64px",
|
|
92
|
+
"collapse_breakpoint": "md",
|
|
93
|
+
"position": "left",
|
|
94
|
+
"direction": "column",
|
|
95
|
+
"border": "right",
|
|
96
|
+
"background": "var(--d-surface)",
|
|
97
|
+
"grid_span": "row 1/3",
|
|
98
|
+
"atoms": "_flex _col _borderR",
|
|
99
|
+
"brand": {
|
|
100
|
+
"height": "52px",
|
|
101
|
+
"display": "flex",
|
|
102
|
+
"align": "center",
|
|
103
|
+
"padding": "0 1rem",
|
|
104
|
+
"border": "bottom",
|
|
105
|
+
"content": "Logo/brand + collapse toggle"
|
|
106
|
+
},
|
|
107
|
+
"nav": {
|
|
108
|
+
"flex": "1",
|
|
109
|
+
"overflow_y": "auto",
|
|
110
|
+
"padding": "0.5rem",
|
|
111
|
+
"item_treatment": "d-interactive[ghost]",
|
|
112
|
+
"item_padding": "0.375rem 0.75rem",
|
|
113
|
+
"item_gap": "2px",
|
|
114
|
+
"item_content": "icon + label text"
|
|
115
|
+
},
|
|
116
|
+
"footer": {
|
|
117
|
+
"border": "top",
|
|
118
|
+
"padding": "0.5rem",
|
|
119
|
+
"position_within": "bottom (mt-auto)",
|
|
120
|
+
"content": "User avatar + settings"
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"header": {
|
|
124
|
+
"height": "52px",
|
|
125
|
+
"display": "flex",
|
|
126
|
+
"align": "center",
|
|
127
|
+
"justify": "space-between",
|
|
128
|
+
"padding": "0 1.5rem",
|
|
129
|
+
"border": "bottom",
|
|
130
|
+
"left_content": "Breadcrumb / page title",
|
|
131
|
+
"right_content": "Actions / search",
|
|
132
|
+
"button_sizing": "Buttons in the header use compact sizing: py-1.5 px-3 text-sm (~32px tall). The header is a tight 52px bar \u2014 default d-interactive padding is too large here."
|
|
133
|
+
},
|
|
134
|
+
"body": {
|
|
135
|
+
"flex": "1",
|
|
136
|
+
"overflow_y": "auto",
|
|
137
|
+
"padding": "1.5rem",
|
|
138
|
+
"note": "Main scroll container for primary content."
|
|
139
|
+
},
|
|
140
|
+
"footer": {
|
|
141
|
+
"height": "auto",
|
|
142
|
+
"display": "flex",
|
|
143
|
+
"align": "center",
|
|
144
|
+
"padding": "0.75rem 1.5rem",
|
|
145
|
+
"border": "top",
|
|
146
|
+
"note": "Persistent footer bar for status indicators or action buttons. Spans main content column only, not sidebar."
|
|
147
|
+
}
|
|
148
|
+
},
|
|
149
|
+
"guidance": {
|
|
150
|
+
"section_label_treatment": "d-label[data-anchor]",
|
|
151
|
+
"section_density": "compact"
|
|
152
|
+
},
|
|
153
|
+
"code": {
|
|
154
|
+
"imports": "import { Shell } from 'decantr/components';",
|
|
155
|
+
"example": "Shell({ config: 'sidebar-main-footer' },\n Shell.Header({}, headerContent),\n Shell.Nav({}, navContent),\n Shell.Body({}, mainContent),\n Shell.Footer({}, footerContent)\n)"
|
|
156
|
+
},
|
|
157
|
+
"$schema": "https://decantr.ai/schemas/shell.v1.json"
|
|
158
|
+
}
|