@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,127 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "relationship-graph",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Relationship Graph",
|
|
7
|
+
"description": "Network graph visualizing entity relationships such as contacts, companies, and deals with force-directed, radial, and timeline layout presets, labeled edges, and interactive exploration.",
|
|
8
|
+
"category": "data-visualization",
|
|
9
|
+
"tags": [
|
|
10
|
+
"2026",
|
|
11
|
+
"data-visualization",
|
|
12
|
+
"graph",
|
|
13
|
+
"network",
|
|
14
|
+
"relationships",
|
|
15
|
+
"entities",
|
|
16
|
+
"crm"
|
|
17
|
+
],
|
|
18
|
+
"components": [
|
|
19
|
+
"GraphCanvas",
|
|
20
|
+
"EntityNode",
|
|
21
|
+
"RelationshipEdge",
|
|
22
|
+
"DetailCard",
|
|
23
|
+
"SearchOverlay",
|
|
24
|
+
"FilterPanel"
|
|
25
|
+
],
|
|
26
|
+
"default_preset": "network",
|
|
27
|
+
"presets": {
|
|
28
|
+
"network": {
|
|
29
|
+
"description": "Force-directed network layout where entities cluster organically based on relationship strength — highly connected entities gravitate toward the center, peripheral entities drift outward",
|
|
30
|
+
"layout": {
|
|
31
|
+
"layout": "spatial",
|
|
32
|
+
"atoms": "_relative _wfull _hfull _overflow-hidden"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"radial": {
|
|
36
|
+
"description": "Radial layout placing the selected focus entity at the center with concentric rings for first-degree, second-degree, and third-degree connections radiating outward",
|
|
37
|
+
"layout": {
|
|
38
|
+
"layout": "spatial",
|
|
39
|
+
"atoms": "_relative _wfull _hfull _overflow-hidden"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"timeline": {
|
|
43
|
+
"description": "Horizontal timeline layout where relationships are plotted along a time axis showing when connections were established — entities appear as nodes above and below the axis connected by vertical lines to their creation date",
|
|
44
|
+
"layout": {
|
|
45
|
+
"layout": "spatial",
|
|
46
|
+
"atoms": "_relative _wfull _hfull _overflow-x-auto"
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
},
|
|
50
|
+
"visual_brief": "Force-directed network graph on a clean canvas where entities appear as distinct node shapes: people are circular avatars (48px diameter) showing initials or a photo with a colored ring indicating entity type (blue for contacts, teal for team members), companies are rounded squares (48px) with a building icon or logo and a gray border, and deals are diamond-shaped nodes (40px) with a dollar icon colored by deal stage (green for won, amber for active, red for lost). Edges connecting entities are thin curved lines with a small text label at the midpoint describing the relationship type ('reports to', 'invested in', 'closed deal', 'referred by'). Edge thickness scales with relationship strength or recency — thicker lines for stronger or more recent connections. Selecting an entity smoothly animates it to the visual center and fans out its direct connections in a radial arrangement while fading distant unrelated nodes to 15% opacity. The radial preset places the focus entity at an exact center point with concentric dashed rings at equal intervals for 1st, 2nd, and 3rd degree connections. Colors consistently encode entity type across all presets. A search overlay in the top-left provides type-ahead entity search. An optional filter panel on the left edge allows filtering by entity type, relationship type, and date range. A detail card appears on the right when an entity is selected, showing the entity's full profile info, a list of relationships, and recent activity.",
|
|
51
|
+
"default_layout": {
|
|
52
|
+
"layout": "spatial",
|
|
53
|
+
"atoms": "_relative _wfull _hfull _overflow-hidden",
|
|
54
|
+
"slots": {
|
|
55
|
+
"search-overlay": "Top-left floating search input (280px wide) with type-ahead suggestions. As the user types, matching entity nodes highlight on the canvas and suggestions appear in a dropdown list. Selecting a suggestion centers and selects that entity. The search input has a subtle frosted-glass background.",
|
|
56
|
+
"filter-panel": "Optional collapsible left-side panel (240px wide) with filter controls: entity type checkboxes (People, Companies, Deals), relationship type multi-select, date range picker for filtering by relationship creation date, and a relationship strength minimum slider. Applied filters dim non-matching nodes and edges rather than removing them entirely.",
|
|
57
|
+
"graph-canvas": "Main rendering area filling the container. Supports pan (drag background), zoom (scroll/pinch), and node dragging (click-drag a node to reposition it within the force simulation). Renders a subtle dot-grid background. All entity nodes and relationship edges are positioned within this canvas.",
|
|
58
|
+
"entity-node": "Repeating slot — one per entity. Shape depends on entity type: circle for people (with avatar/initials), rounded square for companies (with icon/logo), diamond for deals (with stage icon). Each node shows the entity name below it in 12px text. A colored ring or border indicates type. Hovering shows a tooltip with key info (title, company, deal value). Double-clicking opens the detail card.",
|
|
59
|
+
"relationship-edge": "Repeating slot — one per relationship. Curved SVG path connecting two entity nodes. A small rotated text label at the path midpoint describes the relationship. Edge color is a muted neutral by default but shifts to the source entity's type color on hover. Thickness scales from 1px (weak) to 4px (strong). Hovering an edge highlights both connected nodes.",
|
|
60
|
+
"detail-card": "Right-side card (320px wide) that appears when an entity is selected. Header shows entity avatar/icon, name, and type badge. Body contains: key details section (title, email, phone for contacts; industry, size for companies; value, stage, probability for deals), a relationships list showing all connected entities as clickable rows, and a recent activity feed with timestamped events."
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"responsive": {
|
|
64
|
+
"mobile": "Graph canvas fills the viewport with touch pan and pinch zoom. Entity nodes render at reduced size (36px). Edge labels hidden by default (shown on tap). Search overlay is a floating action button that expands to full-width search. Filter panel opens as a bottom sheet. Detail card opens as a full-screen overlay.",
|
|
65
|
+
"tablet": "Standard graph layout with touch support. Entity nodes at full size. Search overlay visible. Filter panel as a collapsible sidebar. Detail card slides in from the right at 300px width.",
|
|
66
|
+
"desktop": "Full interactive graph with hover tooltips, drag-to-reposition nodes, and smooth force simulation. Search overlay and filter panel visible simultaneously. Detail card opens as a side panel without obscuring the graph. Zoom controls in the corner."
|
|
67
|
+
},
|
|
68
|
+
"layout_hints": {
|
|
69
|
+
"graph_priority": "Entity relationships should be readable before peripheral controls. Search, filters, and detail panels support the network read but should not dominate it.",
|
|
70
|
+
"focus_logic": "When one entity is selected, the graph should clearly pivot around that entity so the user understands why other nodes are being emphasized or dimmed.",
|
|
71
|
+
"detail_attachment": "The side detail card should feel connected to the selected node and relationship context, not like a generic profile panel detached from the graph."
|
|
72
|
+
},
|
|
73
|
+
"motion": {
|
|
74
|
+
"micro": {
|
|
75
|
+
"node-hover": "scale(1→1.15) + ring-glow 150ms ease-out",
|
|
76
|
+
"edge-hover": "opacity 0.3→1 + thickness increase 150ms ease-out"
|
|
77
|
+
},
|
|
78
|
+
"transitions": {
|
|
79
|
+
"focus-entity": "selected node translates to center + connected nodes fan out radially 500ms ease-in-out",
|
|
80
|
+
"unfocus": "nodes return to force-directed positions 400ms ease-out",
|
|
81
|
+
"detail-open": "translateX(100%→0) 300ms ease-out",
|
|
82
|
+
"filter-apply": "non-matching nodes opacity 1→0.15 300ms ease-out"
|
|
83
|
+
},
|
|
84
|
+
"ambient": {
|
|
85
|
+
"force-settle": "nodes drift gently as force simulation converges, continuous",
|
|
86
|
+
"connection-pulse": "subtle opacity pulse on edges of selected entity 3s ease-in-out infinite"
|
|
87
|
+
}
|
|
88
|
+
},
|
|
89
|
+
"interactions": [
|
|
90
|
+
"drag-nodes",
|
|
91
|
+
"pan-background",
|
|
92
|
+
"zoom-scroll",
|
|
93
|
+
"click-select",
|
|
94
|
+
"hover-tooltip",
|
|
95
|
+
"animate-on-mount"
|
|
96
|
+
],
|
|
97
|
+
"composition": {
|
|
98
|
+
"RelationshipGraph": "Container(d-section, spatial) > [SearchOverlay(d-control) + FilterPanel?(d-surface)] + GraphCanvas > EntityNode*(d-interactive) + RelationshipEdge* + DetailCard?(d-surface)",
|
|
99
|
+
"GraphCanvas": "Canvas(d-data, pannable, zoomable, dot-grid-bg) > [RelationshipEdge* + EntityNode*]",
|
|
100
|
+
"EntityNode": "Node(d-interactive, shape: entityType, color: typeColor) > [Avatar|Icon + NameLabel(d-annotation)]",
|
|
101
|
+
"RelationshipEdge": "Edge(d-data, curved, labeled) > [PathLine + MidpointLabel(d-annotation)]",
|
|
102
|
+
"DetailCard": "Panel(d-surface, slide-right) > [Header > [EntityAvatar + Name + TypeBadge] + Details(d-data) + RelationshipList + ActivityFeed]",
|
|
103
|
+
"SearchOverlay": "Overlay(d-control, top-left, frosted) > [SearchInput + SuggestionList?]"
|
|
104
|
+
},
|
|
105
|
+
"accessibility": {
|
|
106
|
+
"role": "img",
|
|
107
|
+
"aria-label": "Entity relationship network graph",
|
|
108
|
+
"keyboard": [
|
|
109
|
+
"Tab: cycle focus between entity nodes",
|
|
110
|
+
"Enter: select focused entity and open detail card",
|
|
111
|
+
"Escape: deselect entity and close detail card",
|
|
112
|
+
"Arrow keys: pan the graph canvas",
|
|
113
|
+
"Plus/Minus: zoom in/out",
|
|
114
|
+
"S: focus the search overlay input",
|
|
115
|
+
"F: toggle the filter panel",
|
|
116
|
+
"R: switch to radial layout centered on selected entity",
|
|
117
|
+
"0: reset zoom to fit all entities"
|
|
118
|
+
],
|
|
119
|
+
"announcements": [
|
|
120
|
+
"Entity: {name}, {type}, {connectionCount} connections",
|
|
121
|
+
"Relationship: {entity1} {relationshipType} {entity2}",
|
|
122
|
+
"Detail card opened for {name}",
|
|
123
|
+
"Filter applied: showing {count} of {total} entities",
|
|
124
|
+
"View centered on {name} with {degree}-degree connections visible"
|
|
125
|
+
]
|
|
126
|
+
}
|
|
127
|
+
}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "remote-cursor",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Remote Cursor",
|
|
7
|
+
"description": "Real-time cursor indicator for collaborators with name label and smooth interpolation. Shows where other users are editing.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [],
|
|
13
|
+
"charts": []
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"components": ["Avatar", "Text", "Container"],
|
|
17
|
+
"default_preset": "standard",
|
|
18
|
+
"presets": {
|
|
19
|
+
"standard": {
|
|
20
|
+
"description": "Cursor with name label positioned below",
|
|
21
|
+
"components": [],
|
|
22
|
+
"layout": {
|
|
23
|
+
"layout": "absolute",
|
|
24
|
+
"atoms": "_absolute _pointer[none] _z[100]",
|
|
25
|
+
"slots": {
|
|
26
|
+
"cursor": "SVG cursor icon in user's presence color",
|
|
27
|
+
"label": "Name tag with colored background"
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"minimal": {
|
|
32
|
+
"description": "Cursor only without name label",
|
|
33
|
+
"components": [],
|
|
34
|
+
"layout": {
|
|
35
|
+
"layout": "absolute",
|
|
36
|
+
"atoms": "_absolute _pointer[none] _z[100]",
|
|
37
|
+
"slots": {
|
|
38
|
+
"cursor": "SVG cursor icon only"
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"extended": {
|
|
43
|
+
"description": "Extended cursor with small avatar thumbnail beside the name tag for richer collaborator presence",
|
|
44
|
+
"components": [
|
|
45
|
+
"Avatar"
|
|
46
|
+
],
|
|
47
|
+
"layout": {
|
|
48
|
+
"layout": "absolute",
|
|
49
|
+
"atoms": "_absolute _pointer[none] _z[100]",
|
|
50
|
+
"slots": {
|
|
51
|
+
"cursor": "SVG cursor icon",
|
|
52
|
+
"avatar": "Small avatar image",
|
|
53
|
+
"label": "Name on hover"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"default_layout": {
|
|
59
|
+
"layout": "absolute",
|
|
60
|
+
"atoms": "_absolute _pointer[none] _z[100]",
|
|
61
|
+
"slots": {
|
|
62
|
+
"cursor": "SVG cursor icon in user's presence color",
|
|
63
|
+
"label": "Name tag with colored background",
|
|
64
|
+
"caret": "Optional text caret for typing position"
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"io": {
|
|
68
|
+
"consumes": [
|
|
69
|
+
"user",
|
|
70
|
+
"position"
|
|
71
|
+
],
|
|
72
|
+
"produces": [],
|
|
73
|
+
"actions": []
|
|
74
|
+
},
|
|
75
|
+
"visual_brief": "Small SVG cursor icon colored in the collaborator's assigned presence color, positioned absolutely over the document at the collaborator's cursor location. A name tag label extends from the cursor top-right, styled as a small rounded badge with the user's name in white text on a colored background matching the cursor color. The cursor animates smoothly between positions using CSS transitions. The minimal preset shows only the colored caret line without the name tag. The extended preset adds a small avatar thumbnail beside the name tag. Multiple cursors coexist independently on the same document.",
|
|
76
|
+
"responsive": {
|
|
77
|
+
"mobile": "Cursors render smaller. Name tags use abbreviated first names. Extended preset falls back to minimal to save space.",
|
|
78
|
+
"tablet": "Standard cursor size and name tags.",
|
|
79
|
+
"desktop": "Full cursor visualization with smooth interpolation, name tags, and optional avatar in extended preset."
|
|
80
|
+
},
|
|
81
|
+
"layout_hints": {
|
|
82
|
+
"cursor_priority": "Location comes first, identity second. The cursor itself should remain the primary anchor, with labels supporting it without obscuring the document.",
|
|
83
|
+
"multi_cursor_readability": "When multiple cursors are present, keep labels compact and offset enough that collaborators do not visually collide into an unreadable cluster.",
|
|
84
|
+
"mobile_fallback": "On smaller screens, favor positional clarity over rich identity chrome so collaborative awareness remains useful without taking over the document."
|
|
85
|
+
},
|
|
86
|
+
"motion": {
|
|
87
|
+
"micro": "Cursor movement and label emphasis should remain smooth and subtle, reinforcing presence rather than drawing theatrical attention.",
|
|
88
|
+
"transitions": "Position interpolation should preserve locality and document context; avoid laggy or overshooting motion that makes collaboration feel imprecise."
|
|
89
|
+
},
|
|
90
|
+
"interactions": [
|
|
91
|
+
"animate-on-mount"
|
|
92
|
+
],
|
|
93
|
+
"accessibility": {
|
|
94
|
+
"role": "status",
|
|
95
|
+
"aria-label": "Remote collaborator cursor",
|
|
96
|
+
"keyboard": [
|
|
97
|
+
"If collaborator presence is inspectable, keyboard access should move through presence summaries rather than attempting to focus every cursor overlay directly."
|
|
98
|
+
],
|
|
99
|
+
"announcements": [
|
|
100
|
+
"Collaborator name and active editing position should be exposed semantically so remote presence remains understandable without the visual cursor overlay alone."
|
|
101
|
+
]
|
|
102
|
+
}
|
|
103
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "render-queue",
|
|
3
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Render Queue",
|
|
7
|
+
"description": "Queue of AI generation jobs displaying status, progress, thumbnails, and cancel/retry actions for video and image rendering workflows.",
|
|
8
|
+
"category": "media",
|
|
9
|
+
"tags": ["2026", "media", "queue", "ai", "rendering", "jobs", "async"],
|
|
10
|
+
"components": ["RenderJob", "ProgressBar", "StatusBadge", "ThumbnailPreview", "CancelButton", "RetryButton"],
|
|
11
|
+
"default_preset": "list",
|
|
12
|
+
"presets": {
|
|
13
|
+
"list": {
|
|
14
|
+
"description": "Detailed row-per-job listing with thumbnail, prompt preview, progress bar, status badge, and action buttons for active monitoring",
|
|
15
|
+
"layout": {
|
|
16
|
+
"layout": "stack",
|
|
17
|
+
"atoms": "_flex _flex-col _gap-2 _p-4 _w-full _bg-surface"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"compact": {
|
|
21
|
+
"description": "One-line compressed view showing status icon, name, and percentage for dense monitoring dashboards and sidebars",
|
|
22
|
+
"layout": {
|
|
23
|
+
"layout": "stack",
|
|
24
|
+
"atoms": "_flex _flex-col _gap-1 _p-2 _w-full"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"cards": {
|
|
28
|
+
"description": "Visual card grid emphasizing thumbnails with progress overlay, ideal for creative review and gallery-style queue browsing",
|
|
29
|
+
"layout": {
|
|
30
|
+
"layout": "grid",
|
|
31
|
+
"atoms": "_grid _grid-cols-3 _gap-4 _p-4 _w-full"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"visual_brief": "Vertical list of render job rows. Each row has a 64x64px thumbnail preview on the left (rounded 8px, shows final output for complete jobs or skeleton shimmer for queued, with animated generation artifacts for rendering). Middle section has job name in semibold 14px type and prompt preview in 12px muted text with 1-line truncate. Progress bar below middle section is 4px tall with animated accent-color fill that shimmers while active. Percentage text (e.g. '67%') appears above the bar right-aligned. Status badge on right edge shows one of: queued (gray clock icon), rendering (blue spinning icon), complete (green check), failed (red x icon). Action area far right: cancel button (X icon) visible during queued/rendering states, retry button (refresh icon) visible on failed state, download button (arrow down) visible on complete state. Failed jobs have subtle red left border accent. Complete jobs get a soft success glow on row.",
|
|
36
|
+
"default_layout": {
|
|
37
|
+
"layout": "stack",
|
|
38
|
+
"atoms": "_flex _flex-col _gap-2 _p-4 _w-full _bg-surface",
|
|
39
|
+
"slots": {
|
|
40
|
+
"job-row": "Repeating row (d-surface, data-interactive) representing a single render job. Horizontal flex layout with fixed-size thumbnail, flexible info column, fixed-width status and actions.",
|
|
41
|
+
"thumbnail-preview": "64x64px rounded preview image on left. Shows final output for complete jobs, loading shimmer for queued, animated preview frames for rendering, error icon for failed.",
|
|
42
|
+
"job-info": "Center column with job name (semibold 14px) and prompt preview (12px muted, single line with ellipsis truncation).",
|
|
43
|
+
"progress-bar": "4px tall bar below job info. Fill width animates to match percentage. Accent color with shimmer gradient during active rendering. Hidden when complete or failed.",
|
|
44
|
+
"status-badge": "Icon + label badge showing current state. Colors: queued=neutral, rendering=primary+animated, complete=success, failed=destructive.",
|
|
45
|
+
"action-buttons": "Right-edge action cluster. Cancel (X) for active jobs, Retry (refresh) for failed, Download (arrow) for complete."
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
"responsive": {
|
|
49
|
+
"mobile": "Thumbnail reduces to 48px. Prompt preview hidden. Action buttons collapse into kebab menu. Status badge shows icon only.",
|
|
50
|
+
"tablet": "Standard list layout with full metadata. Cards preset shows 2 columns.",
|
|
51
|
+
"desktop": "Full layout with all columns visible. Cards preset shows 3-4 columns."
|
|
52
|
+
},
|
|
53
|
+
"layout_hints": {
|
|
54
|
+
"queue_priority": "Job status and progress should be the first read, followed by preview and actions. The queue should help operators understand what is blocked, running, or complete at a glance.",
|
|
55
|
+
"row_consistency": "Queued, active, failed, and complete jobs should preserve the same row structure so status differences feel semantic rather than like different components.",
|
|
56
|
+
"cards_variant": "Card mode should remain clearly a queue view, not drift into a generic media gallery. Progress and status must stay visible."
|
|
57
|
+
},
|
|
58
|
+
"layout_hints": {
|
|
59
|
+
"queue_priority": "Job status and progress should be the first read, followed by preview and actions. The queue should help operators understand what is blocked, running, or complete at a glance.",
|
|
60
|
+
"row_consistency": "Queued, active, failed, and complete jobs should preserve the same row structure so status differences feel semantic rather than like different components.",
|
|
61
|
+
"cards_variant": "Card mode should remain clearly a queue view, not drift into a generic media gallery. Progress and status must stay visible."
|
|
62
|
+
},
|
|
63
|
+
"motion": {
|
|
64
|
+
"micro": {
|
|
65
|
+
"progress-shimmer": "gradient sweep 1.5s linear infinite during rendering",
|
|
66
|
+
"status-icon-spin": "rotate 360deg 1s linear infinite for rendering status"
|
|
67
|
+
},
|
|
68
|
+
"transitions": {
|
|
69
|
+
"job-complete": "row flash green + progress bar fill to 100% 400ms ease-out",
|
|
70
|
+
"job-remove": "slide-out-right + collapse height 250ms ease-in"
|
|
71
|
+
},
|
|
72
|
+
"ambient": {
|
|
73
|
+
"queued-pulse": "opacity 0.6 to 0.9 pulse 2s ease-in-out infinite for queued jobs"
|
|
74
|
+
}
|
|
75
|
+
},
|
|
76
|
+
"interactions": [
|
|
77
|
+
"animate-on-mount"
|
|
78
|
+
],
|
|
79
|
+
"composition": {
|
|
80
|
+
"RenderQueue": "Root(d-section, stack) > RenderJob*(d-interactive)",
|
|
81
|
+
"RenderJob": "Row(d-surface) > [ThumbnailPreview + JobInfo + ProgressBar + StatusBadge + ActionCluster]",
|
|
82
|
+
"ActionCluster": "Group > [CancelButton?(active) | RetryButton?(failed) | DownloadButton?(complete)]",
|
|
83
|
+
"CardsVariant": "Grid > JobCard*(d-surface) > [LargeThumbnail + ProgressOverlay + StatusBadge]"
|
|
84
|
+
},
|
|
85
|
+
"accessibility": {
|
|
86
|
+
"role": "list",
|
|
87
|
+
"aria-label": "Render job queue",
|
|
88
|
+
"announcements": [
|
|
89
|
+
"Job {name} started rendering",
|
|
90
|
+
"Job {name} completed",
|
|
91
|
+
"Job {name} failed: {error}",
|
|
92
|
+
"Job {name} cancelled"
|
|
93
|
+
],
|
|
94
|
+
"keyboard": [
|
|
95
|
+
"Tab: cycle through job rows",
|
|
96
|
+
"Enter: open job detail",
|
|
97
|
+
"Delete: cancel selected job",
|
|
98
|
+
"R: retry selected failed job",
|
|
99
|
+
"D: download selected complete job"
|
|
100
|
+
]
|
|
101
|
+
}
|
|
102
|
+
}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "rent-reminder",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Rent Reminder",
|
|
7
|
+
"description": "Payment reminder notification with contextual styling for upcoming, due today, and overdue states. Includes one-click payment action.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"Button",
|
|
14
|
+
"icon",
|
|
15
|
+
"Badge"
|
|
16
|
+
],
|
|
17
|
+
"charts": []
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"components": [
|
|
21
|
+
"Button",
|
|
22
|
+
"icon",
|
|
23
|
+
"Badge"
|
|
24
|
+
],
|
|
25
|
+
"default_preset": "upcoming",
|
|
26
|
+
"presets": {
|
|
27
|
+
"upcoming": {
|
|
28
|
+
"description": "Upcoming payment reminder with blue info tint, due date countdown, and a pay-now action button",
|
|
29
|
+
"components": [
|
|
30
|
+
"Button",
|
|
31
|
+
"icon"
|
|
32
|
+
],
|
|
33
|
+
"layout": {
|
|
34
|
+
"layout": "row",
|
|
35
|
+
"atoms": "_flex _aic _gap4 _p4 _r2 _bgPrimary/10",
|
|
36
|
+
"slots": {
|
|
37
|
+
"icon": "Calendar icon",
|
|
38
|
+
"title": "Reminder headline",
|
|
39
|
+
"amount": "Amount due",
|
|
40
|
+
"due-date": "Due date",
|
|
41
|
+
"action": "Pay now button"
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"due-today": {
|
|
46
|
+
"description": "Due-today alert banner with warning tint, prominent amount display, and urgent pay-now action",
|
|
47
|
+
"components": [
|
|
48
|
+
"Button",
|
|
49
|
+
"icon"
|
|
50
|
+
],
|
|
51
|
+
"layout": {
|
|
52
|
+
"layout": "row",
|
|
53
|
+
"atoms": "_flex _aic _gap4 _p4 _r2 _bgWarning/10",
|
|
54
|
+
"slots": {
|
|
55
|
+
"icon": "Alert icon",
|
|
56
|
+
"title": "Due today message",
|
|
57
|
+
"amount": "Amount due",
|
|
58
|
+
"action": "Pay now button"
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
},
|
|
62
|
+
"overdue": {
|
|
63
|
+
"description": "Overdue payment warning with destructive red tint, late fee breakdown, and days-overdue counter",
|
|
64
|
+
"components": [
|
|
65
|
+
"Button",
|
|
66
|
+
"icon"
|
|
67
|
+
],
|
|
68
|
+
"layout": {
|
|
69
|
+
"layout": "row",
|
|
70
|
+
"atoms": "_flex _aic _gap4 _p4 _r2 _bgDanger/10",
|
|
71
|
+
"slots": {
|
|
72
|
+
"icon": "Warning icon",
|
|
73
|
+
"title": "Overdue message",
|
|
74
|
+
"amount": "Amount with late fee",
|
|
75
|
+
"days-overdue": "Days overdue",
|
|
76
|
+
"action": "Pay now button"
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"paid": {
|
|
81
|
+
"description": "Payment confirmed success banner with green tint, checkmark icon, and payment date receipt",
|
|
82
|
+
"components": [
|
|
83
|
+
"icon"
|
|
84
|
+
],
|
|
85
|
+
"layout": {
|
|
86
|
+
"layout": "row",
|
|
87
|
+
"atoms": "_flex _aic _gap4 _p4 _r2 _bgSuccess/10",
|
|
88
|
+
"slots": {
|
|
89
|
+
"icon": "Check icon",
|
|
90
|
+
"title": "Paid confirmation",
|
|
91
|
+
"amount": "Amount paid",
|
|
92
|
+
"date": "Payment date"
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"default_layout": {
|
|
98
|
+
"layout": "row",
|
|
99
|
+
"atoms": "_flex _aic _gap4 _p4 _r2",
|
|
100
|
+
"slots": {
|
|
101
|
+
"icon": "Status icon",
|
|
102
|
+
"content": "Message and details",
|
|
103
|
+
"amount": "Amount",
|
|
104
|
+
"action": "Action button"
|
|
105
|
+
}
|
|
106
|
+
},
|
|
107
|
+
"visual_brief": "Notification-style card or banner with contextual coloring based on payment state. Upcoming (blue/info tint) shows a calendar icon with 'Rent due in X days', the amount, and a 'Pay Now' button. Due today (yellow/warning tint) shows an alert icon with 'Rent due today', the amount prominently, and an urgent 'Pay Now' button. Overdue (red/destructive tint) shows a warning triangle icon with 'Rent overdue by X days', the amount with late fee breakdown, and a 'Pay Now' button. Paid (green/success tint) shows a checkmark icon with 'Rent paid' and the payment date.",
|
|
108
|
+
"responsive": {
|
|
109
|
+
"mobile": "Full-width banner card. Amount text large for visibility. Pay button full-width at the bottom. Details stack vertically.",
|
|
110
|
+
"tablet": "Standard card width. All elements in a comfortable layout. Pay button inline.",
|
|
111
|
+
"desktop": "Card or inline banner. All information on one or two lines. Pay button on the right."
|
|
112
|
+
},
|
|
113
|
+
"layout_hints": {
|
|
114
|
+
"urgency_priority": "The current payment state should be instantly legible before the user reads supporting details. Amount and due status must dominate the first scan.",
|
|
115
|
+
"banner_role": "This pattern is a contextual prompt, not a full financial dashboard. Keep it concise and attach it closely to the payment or tenant context it refers to.",
|
|
116
|
+
"state_translation": "Upcoming, due, overdue, and paid variants should all preserve the same structural rhythm so the status shift feels semantic rather than like a different component."
|
|
117
|
+
},
|
|
118
|
+
"motion": {
|
|
119
|
+
"micro": "Status tint and CTA may sharpen slightly on hover. Overdue states may carry a restrained emphasis, but the reminder should remain calm and actionable.",
|
|
120
|
+
"transitions": "State changes from upcoming to due or paid should feel clear and affirmative without becoming alarming or flashy."
|
|
121
|
+
},
|
|
122
|
+
"interactions": [
|
|
123
|
+
"animate-on-mount"
|
|
124
|
+
],
|
|
125
|
+
"accessibility": {
|
|
126
|
+
"role": "status",
|
|
127
|
+
"aria-label": "Rent reminder",
|
|
128
|
+
"keyboard": [
|
|
129
|
+
"If a pay action is present, it should be reachable immediately after the reminder content in reading order."
|
|
130
|
+
],
|
|
131
|
+
"announcements": [
|
|
132
|
+
"Due state, amount, and payment timing should be announced together so urgency is understandable without relying on color alone."
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
"composition": {
|
|
136
|
+
"RentReminder": "Card(d-surface, tint: status) > [StatusIcon(color: status) + ReminderContent + PayAction]",
|
|
137
|
+
"ReminderContent": "Stack(flex-col) > [Title(font-medium) + DueDate(d-annotation, mono-data) + Amount(heading3, mono-data) + Property?(text-muted)]",
|
|
138
|
+
"PayAction": "Button(d-interactive, variant: status === overdue ? destructive : primary)"
|
|
139
|
+
}
|
|
140
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://decantr.ai/schemas/pattern.v2.json",
|
|
3
|
+
"id": "rent-roll",
|
|
4
|
+
"version": "1.0.0",
|
|
5
|
+
"decantr_compat": ">=2.0.0",
|
|
6
|
+
"name": "Rent Roll",
|
|
7
|
+
"description": "Monthly rent summary with all units showing expected rent, collected, outstanding, and vacancy loss. Calculates totals.",
|
|
8
|
+
"dependencies": {
|
|
9
|
+
"patterns": {},
|
|
10
|
+
"styles": {},
|
|
11
|
+
"requires_core": {
|
|
12
|
+
"components": [
|
|
13
|
+
"Button",
|
|
14
|
+
"icon",
|
|
15
|
+
"Badge",
|
|
16
|
+
"Select"
|
|
17
|
+
],
|
|
18
|
+
"charts": [
|
|
19
|
+
"AreaChart"
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"components": [
|
|
24
|
+
"Button",
|
|
25
|
+
"icon",
|
|
26
|
+
"Badge",
|
|
27
|
+
"Select"
|
|
28
|
+
],
|
|
29
|
+
"default_preset": "standard",
|
|
30
|
+
"presets": {
|
|
31
|
+
"standard": {
|
|
32
|
+
"description": "Full rent roll with summary and table",
|
|
33
|
+
"components": [
|
|
34
|
+
"Button",
|
|
35
|
+
"icon",
|
|
36
|
+
"Badge",
|
|
37
|
+
"Select"
|
|
38
|
+
],
|
|
39
|
+
"layout": {
|
|
40
|
+
"layout": "stack",
|
|
41
|
+
"atoms": "_flex _col _gap6",
|
|
42
|
+
"slots": {
|
|
43
|
+
"header": "Month selector, export button",
|
|
44
|
+
"summary": "Expected rent, collected, outstanding, vacancy loss cards",
|
|
45
|
+
"table": "All units with rent status",
|
|
46
|
+
"totals": "Grand totals row",
|
|
47
|
+
"trends": "Collection rate trend chart"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"summary": {
|
|
52
|
+
"description": "Compact rent roll summary for dashboard",
|
|
53
|
+
"components": [
|
|
54
|
+
"Badge"
|
|
55
|
+
],
|
|
56
|
+
"layout": {
|
|
57
|
+
"layout": "stack",
|
|
58
|
+
"atoms": "_flex _col _gap3 _p4",
|
|
59
|
+
"slots": {
|
|
60
|
+
"header": "Title",
|
|
61
|
+
"metrics": "Collected, outstanding",
|
|
62
|
+
"progress": "Collection progress bar"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"default_layout": {
|
|
68
|
+
"layout": "stack",
|
|
69
|
+
"atoms": "_flex _col _gap6",
|
|
70
|
+
"slots": {
|
|
71
|
+
"header": "Title and controls",
|
|
72
|
+
"summary": "Summary metrics",
|
|
73
|
+
"table": "Rent roll table",
|
|
74
|
+
"totals": "Totals row"
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"visual_brief": "Data table showing monthly rent collection for all units in a property. Columns: unit number, tenant name, expected rent, amount collected, outstanding balance (highlighted red if nonzero), and payment status badge (paid, partial, unpaid, vacant). A header row has the title, month/year selector, and export button. A summary row at the top shows total expected, total collected, total outstanding, and vacancy loss. The totals row at the bottom sums all columns. The summary preset shows only the KPI metrics without the full table.",
|
|
78
|
+
"responsive": {
|
|
79
|
+
"mobile": "Table becomes a card list — each unit as a card with key values. Summary metrics in a 2x2 grid. Month selector is a simple dropdown.",
|
|
80
|
+
"tablet": "Table with horizontal scroll if needed. Summary visible above. Comfortable row height.",
|
|
81
|
+
"desktop": "Full table with all columns visible. Summary bar at top. Sticky header row."
|
|
82
|
+
},
|
|
83
|
+
"layout_hints": {
|
|
84
|
+
"collection_priority": "Lead with expected, collected, and outstanding totals first, then the unit-by-unit ledger. Users should understand collection health before diving into individual rows.",
|
|
85
|
+
"row_discipline": "Each unit row should make rent status, balance, and occupancy state easy to scan without relying on color alone.",
|
|
86
|
+
"summary_role": "The summary bar supports the table as a high-level read, but the table remains the authoritative rent-roll record."
|
|
87
|
+
},
|
|
88
|
+
"motion": {
|
|
89
|
+
"micro": "Summary metrics and status badges may sharpen subtly on hover or focus. Export and month controls should respond crisply.",
|
|
90
|
+
"transitions": "Month or property changes should update the roll smoothly enough to preserve confidence in the ledger and totals."
|
|
91
|
+
},
|
|
92
|
+
"interactions": [
|
|
93
|
+
"animate-on-mount"
|
|
94
|
+
],
|
|
95
|
+
"accessibility": {
|
|
96
|
+
"role": "region",
|
|
97
|
+
"aria-label": "Rent roll",
|
|
98
|
+
"keyboard": [
|
|
99
|
+
"Summary controls and the rent table should remain keyboard navigable in a predictable order."
|
|
100
|
+
],
|
|
101
|
+
"announcements": [
|
|
102
|
+
"Expected rent, collected totals, balances, and payment status should be exposed semantically so the roll remains understandable without visual table formatting alone."
|
|
103
|
+
]
|
|
104
|
+
},
|
|
105
|
+
"composition": {
|
|
106
|
+
"RentRoll": "Container(d-section, flex-col, gap-4) > [Header + SummaryMetrics + UnitTable + Totals]",
|
|
107
|
+
"Header": "Row(d-control) > [Title + MonthSelector(d-control) + PropertyFilter(d-control) + ExportButton(d-interactive)]",
|
|
108
|
+
"SummaryMetrics": "Row(d-data) > [ExpectedTotal(mono-data) + CollectedTotal(mono-data, color: success) + Outstanding(mono-data, color: warning) + VacancyLoss(mono-data, color: destructive)]",
|
|
109
|
+
"UnitTable": "Table(d-data) > UnitRow[]",
|
|
110
|
+
"UnitRow": "Row(d-data-row) > [UnitNumber + Tenant + ExpectedRent(mono-data) + Collected(mono-data) + Balance(mono-data, color: status) + StatusBadge(d-annotation)]"
|
|
111
|
+
}
|
|
112
|
+
}
|