@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.
Files changed (593) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +58 -0
  3. package/archetypes/about-hybrid.json +104 -0
  4. package/archetypes/admin-analytics.json +63 -0
  5. package/archetypes/admin-moderation.json +87 -0
  6. package/archetypes/admin-overview.json +77 -0
  7. package/archetypes/agent-orchestrator.json +178 -0
  8. package/archetypes/agent-studio.json +154 -0
  9. package/archetypes/ai-chatbot.json +121 -0
  10. package/archetypes/ai-transparency.json +140 -0
  11. package/archetypes/alert-manager-pro.json +154 -0
  12. package/archetypes/api-console.json +130 -0
  13. package/archetypes/api-reference.json +95 -0
  14. package/archetypes/appointment-center.json +113 -0
  15. package/archetypes/asset-browser.json +90 -0
  16. package/archetypes/audit-center.json +103 -0
  17. package/archetypes/auth-flow-enterprise.json +140 -0
  18. package/archetypes/auth-flow.json +101 -0
  19. package/archetypes/auth-full.json +199 -0
  20. package/archetypes/auth-gateway.json +76 -0
  21. package/archetypes/billing-portal.json +75 -0
  22. package/archetypes/billing.json +74 -0
  23. package/archetypes/budget-planner.json +63 -0
  24. package/archetypes/budget-transparency.json +117 -0
  25. package/archetypes/buyer-dashboard.json +124 -0
  26. package/archetypes/changelog-center.json +96 -0
  27. package/archetypes/character-library.json +113 -0
  28. package/archetypes/citation-tools.json +98 -0
  29. package/archetypes/cloud-infrastructure.json +253 -0
  30. package/archetypes/cloud-marketing.json +111 -0
  31. package/archetypes/collaboration-hub.json +87 -0
  32. package/archetypes/community-feed.json +131 -0
  33. package/archetypes/config-editor.json +136 -0
  34. package/archetypes/contact.json +82 -0
  35. package/archetypes/content-author.json +121 -0
  36. package/archetypes/content-editor.json +82 -0
  37. package/archetypes/content-newsletter.json +111 -0
  38. package/archetypes/content-reader.json +135 -0
  39. package/archetypes/content-site.json +112 -0
  40. package/archetypes/contract-center.json +120 -0
  41. package/archetypes/cook-mode.json +57 -0
  42. package/archetypes/copilot-settings.json +87 -0
  43. package/archetypes/copilot-workspace.json +110 -0
  44. package/archetypes/creator-content.json +128 -0
  45. package/archetypes/creator-dashboard.json +105 -0
  46. package/archetypes/creator-earnings.json +100 -0
  47. package/archetypes/creator-subscribers.json +99 -0
  48. package/archetypes/creator-tiers.json +76 -0
  49. package/archetypes/crm-dashboard.json +199 -0
  50. package/archetypes/crm-email.json +88 -0
  51. package/archetypes/crm-intelligence.json +85 -0
  52. package/archetypes/crm-meetings.json +95 -0
  53. package/archetypes/customer-loyalty.json +75 -0
  54. package/archetypes/customer-management.json +76 -0
  55. package/archetypes/daily-operations.json +62 -0
  56. package/archetypes/dashboard-core.json +87 -0
  57. package/archetypes/data-repository.json +81 -0
  58. package/archetypes/deal-workspace.json +126 -0
  59. package/archetypes/doc-browser.json +111 -0
  60. package/archetypes/document-editor.json +147 -0
  61. package/archetypes/document-vault.json +119 -0
  62. package/archetypes/ecommerce-admin.json +138 -0
  63. package/archetypes/ecommerce-checkout.json +57 -0
  64. package/archetypes/ecommerce.json +138 -0
  65. package/archetypes/emissions-dashboard.json +136 -0
  66. package/archetypes/engagement-hub.json +157 -0
  67. package/archetypes/eval-suite.json +142 -0
  68. package/archetypes/event-discovery.json +130 -0
  69. package/archetypes/experiment-tracker.json +83 -0
  70. package/archetypes/fan-checkout.json +107 -0
  71. package/archetypes/fan-library.json +99 -0
  72. package/archetypes/fan-storefront.json +106 -0
  73. package/archetypes/financial-dashboard.json +127 -0
  74. package/archetypes/game-catalog.json +120 -0
  75. package/archetypes/gaming-community.json +196 -0
  76. package/archetypes/governance-center.json +82 -0
  77. package/archetypes/health-records.json +111 -0
  78. package/archetypes/instrument-booking.json +82 -0
  79. package/archetypes/inventory-supplies.json +72 -0
  80. package/archetypes/investment-tracker.json +82 -0
  81. package/archetypes/investor-portal.json +124 -0
  82. package/archetypes/job-monitor.json +109 -0
  83. package/archetypes/kitchen-display.json +58 -0
  84. package/archetypes/lab-notebook.json +83 -0
  85. package/archetypes/landing-hero.json +145 -0
  86. package/archetypes/landing-legal.json +101 -0
  87. package/archetypes/landing-resources.json +127 -0
  88. package/archetypes/launch-campaign.json +393 -0
  89. package/archetypes/legal.json +107 -0
  90. package/archetypes/listing-browser.json +160 -0
  91. package/archetypes/log-explorer-pro.json +106 -0
  92. package/archetypes/log-viewer.json +123 -0
  93. package/archetypes/maintenance-center.json +116 -0
  94. package/archetypes/marketing-ai-studio.json +117 -0
  95. package/archetypes/marketing-civic.json +116 -0
  96. package/archetypes/marketing-climate.json +94 -0
  97. package/archetypes/marketing-content.json +109 -0
  98. package/archetypes/marketing-copilot.json +100 -0
  99. package/archetypes/marketing-creator.json +132 -0
  100. package/archetypes/marketing-crm.json +96 -0
  101. package/archetypes/marketing-deal-room.json +100 -0
  102. package/archetypes/marketing-devtool.json +139 -0
  103. package/archetypes/marketing-docs.json +92 -0
  104. package/archetypes/marketing-ecommerce.json +69 -0
  105. package/archetypes/marketing-esports.json +89 -0
  106. package/archetypes/marketing-events.json +89 -0
  107. package/archetypes/marketing-finance.json +69 -0
  108. package/archetypes/marketing-fractional.json +74 -0
  109. package/archetypes/marketing-health.json +100 -0
  110. package/archetypes/marketing-landing.json +65 -0
  111. package/archetypes/marketing-legal.json +86 -0
  112. package/archetypes/marketing-marketplace.json +121 -0
  113. package/archetypes/marketing-observability.json +95 -0
  114. package/archetypes/marketing-pipeline.json +108 -0
  115. package/archetypes/marketing-platform.json +129 -0
  116. package/archetypes/marketing-producer.json +88 -0
  117. package/archetypes/marketing-productivity.json +139 -0
  118. package/archetypes/marketing-realestate.json +101 -0
  119. package/archetypes/marketing-recipe.json +69 -0
  120. package/archetypes/marketing-research.json +72 -0
  121. package/archetypes/marketing-restaurant.json +53 -0
  122. package/archetypes/marketing-saas-v2.json +75 -0
  123. package/archetypes/marketing-saas.json +119 -0
  124. package/archetypes/marketing-swipecircle.json +185 -0
  125. package/archetypes/marketing-video-studio.json +121 -0
  126. package/archetypes/marketplace-messaging.json +106 -0
  127. package/archetypes/matter-management.json +104 -0
  128. package/archetypes/meeting-archive.json +131 -0
  129. package/archetypes/menu-management.json +73 -0
  130. package/archetypes/metrics-monitor.json +164 -0
  131. package/archetypes/metrics-overview-dashboard.json +112 -0
  132. package/archetypes/music-workspace.json +104 -0
  133. package/archetypes/notifications.json +68 -0
  134. package/archetypes/offset-marketplace.json +134 -0
  135. package/archetypes/onboarding-wizard.json +203 -0
  136. package/archetypes/order-fulfillment.json +83 -0
  137. package/archetypes/order-management.json +71 -0
  138. package/archetypes/organizer-dashboard.json +146 -0
  139. package/archetypes/owner-dashboard.json +112 -0
  140. package/archetypes/ownership-dashboard.json +97 -0
  141. package/archetypes/patient-dashboard.json +142 -0
  142. package/archetypes/pipeline-builder.json +116 -0
  143. package/archetypes/pm-financials.json +126 -0
  144. package/archetypes/portfolio-about.json +85 -0
  145. package/archetypes/portfolio-blog.json +71 -0
  146. package/archetypes/portfolio-overview.json +76 -0
  147. package/archetypes/portfolio-showcase.json +71 -0
  148. package/archetypes/portfolio.json +122 -0
  149. package/archetypes/product-management.json +84 -0
  150. package/archetypes/project-library.json +111 -0
  151. package/archetypes/prompt-director.json +118 -0
  152. package/archetypes/prompt-library.json +135 -0
  153. package/archetypes/property-manager.json +158 -0
  154. package/archetypes/qa-workflow.json +116 -0
  155. package/archetypes/recipe-browser.json +83 -0
  156. package/archetypes/recipe-community.json +126 -0
  157. package/archetypes/recipe-creator.json +71 -0
  158. package/archetypes/recipe-social.json +95 -0
  159. package/archetypes/recipefork-ai-kitchen.json +95 -0
  160. package/archetypes/recipefork-auth.json +79 -0
  161. package/archetypes/recipefork-cookbooks.json +104 -0
  162. package/archetypes/recipefork-landing.json +101 -0
  163. package/archetypes/recipefork-profile.json +180 -0
  164. package/archetypes/recipefork-recipe-authoring.json +216 -0
  165. package/archetypes/recipefork-recipe-detail.json +139 -0
  166. package/archetypes/recipefork-social.json +103 -0
  167. package/archetypes/registry-browser.json +121 -0
  168. package/archetypes/render-monitor.json +114 -0
  169. package/archetypes/reporting-center.json +107 -0
  170. package/archetypes/research-workspace.json +127 -0
  171. package/archetypes/restaurant-floor.json +74 -0
  172. package/archetypes/review-system.json +84 -0
  173. package/archetypes/saas-analytics.json +69 -0
  174. package/archetypes/saas-billing-v2.json +77 -0
  175. package/archetypes/saas-dashboard.json +127 -0
  176. package/archetypes/saas-overview.json +77 -0
  177. package/archetypes/sample-inventory.json +80 -0
  178. package/archetypes/scrim-scheduler.json +103 -0
  179. package/archetypes/search-hub.json +87 -0
  180. package/archetypes/secondary-market.json +83 -0
  181. package/archetypes/seller-dashboard.json +169 -0
  182. package/archetypes/server-station.json +61 -0
  183. package/archetypes/service-requests.json +141 -0
  184. package/archetypes/session-rooms.json +92 -0
  185. package/archetypes/settings-full.json +164 -0
  186. package/archetypes/settings.json +67 -0
  187. package/archetypes/source-catalog.json +116 -0
  188. package/archetypes/spatial-workspace.json +115 -0
  189. package/archetypes/sponsor-dashboard.json +103 -0
  190. package/archetypes/storefront-browse.json +97 -0
  191. package/archetypes/supply-chain.json +112 -0
  192. package/archetypes/swipe-feed.json +469 -0
  193. package/archetypes/team-management.json +95 -0
  194. package/archetypes/team-operations.json +131 -0
  195. package/archetypes/team-workspace.json +71 -0
  196. package/archetypes/telehealth-room.json +78 -0
  197. package/archetypes/tenant-manager.json +129 -0
  198. package/archetypes/tenant-payments.json +105 -0
  199. package/archetypes/tenant-portal.json +135 -0
  200. package/archetypes/tenant-switcher-dashboard.json +154 -0
  201. package/archetypes/terminal-home.json +127 -0
  202. package/archetypes/ticket-checkout.json +84 -0
  203. package/archetypes/tool-registry.json +111 -0
  204. package/archetypes/trace-explorer.json +113 -0
  205. package/archetypes/trace-viewer.json +112 -0
  206. package/archetypes/track-library.json +90 -0
  207. package/archetypes/transaction-history.json +77 -0
  208. package/archetypes/transformation-editor.json +117 -0
  209. package/archetypes/usage-billing.json +146 -0
  210. package/archetypes/user-dashboard.json +155 -0
  211. package/archetypes/video-editor.json +158 -0
  212. package/archetypes/vod-review.json +97 -0
  213. package/archetypes/webhook-manager.json +108 -0
  214. package/archetypes/workspace-home.json +105 -0
  215. package/archetypes/workspace-settings.json +140 -0
  216. package/blueprints/agent-marketplace.json +222 -0
  217. package/blueprints/agent-studio.json +291 -0
  218. package/blueprints/ai-copilot-shell.json +163 -0
  219. package/blueprints/ai-native-crm.json +269 -0
  220. package/blueprints/ai-video-studio.json +93 -0
  221. package/blueprints/carbon-ai-portal.json +252 -0
  222. package/blueprints/civic-platform.json +91 -0
  223. package/blueprints/climate-dashboard.json +90 -0
  224. package/blueprints/cloud-platform.json +219 -0
  225. package/blueprints/content-site.json +110 -0
  226. package/blueprints/content-studio.json +120 -0
  227. package/blueprints/creator-monetization-platform.json +373 -0
  228. package/blueprints/data-pipeline-studio.json +263 -0
  229. package/blueprints/deal-room.json +88 -0
  230. package/blueprints/ecommerce-admin.json +253 -0
  231. package/blueprints/ecommerce.json +242 -0
  232. package/blueprints/esports-hq.json +116 -0
  233. package/blueprints/event-community-hub.json +251 -0
  234. package/blueprints/financial-dashboard.json +237 -0
  235. package/blueprints/fractional-ownership.json +89 -0
  236. package/blueprints/gaming-platform.json +171 -0
  237. package/blueprints/health-wellness-portal.json +252 -0
  238. package/blueprints/knowledge-base.json +176 -0
  239. package/blueprints/legal-research.json +90 -0
  240. package/blueprints/multi-tenant-platform.json +257 -0
  241. package/blueprints/observability-platform.json +275 -0
  242. package/blueprints/portfolio.json +164 -0
  243. package/blueprints/producer-studio.json +156 -0
  244. package/blueprints/product-landing.json +112 -0
  245. package/blueprints/property-management-portal.json +384 -0
  246. package/blueprints/realtime-collaboration-workspace.json +300 -0
  247. package/blueprints/recipe-community.json +259 -0
  248. package/blueprints/recipefork.json +194 -0
  249. package/blueprints/registry-platform.json +204 -0
  250. package/blueprints/research-lab.json +92 -0
  251. package/blueprints/restaurant-ops.json +104 -0
  252. package/blueprints/retro-launch-campaign.json +205 -0
  253. package/blueprints/saas-dashboard.json +246 -0
  254. package/blueprints/spatial-collaboration.json +172 -0
  255. package/blueprints/swipecircle.json +253 -0
  256. package/blueprints/terminal-dashboard.json +282 -0
  257. package/blueprints/two-sided-marketplace.json +293 -0
  258. package/dist/index.d.ts +178 -0
  259. package/dist/index.js +582 -0
  260. package/dist/index.js.map +1 -0
  261. package/package.json +75 -0
  262. package/patterns/account-settings.json +149 -0
  263. package/patterns/activity-feed.json +154 -0
  264. package/patterns/adaptive-density-panel.json +130 -0
  265. package/patterns/agent-handoff-zone.json +97 -0
  266. package/patterns/agent-swarm-canvas.json +136 -0
  267. package/patterns/agent-timeline.json +119 -0
  268. package/patterns/alert-rule-builder.json +127 -0
  269. package/patterns/ambient-status-ring.json +125 -0
  270. package/patterns/api-explorer.json +131 -0
  271. package/patterns/api-key-row.json +119 -0
  272. package/patterns/ar-annotation.json +137 -0
  273. package/patterns/arrangement-canvas.json +72 -0
  274. package/patterns/ascii-chart.json +138 -0
  275. package/patterns/audit-trail.json +123 -0
  276. package/patterns/auth-form.json +209 -0
  277. package/patterns/avatar-grid-tile.json +118 -0
  278. package/patterns/backer-progress-console.json +137 -0
  279. package/patterns/backer-wall-ticker.json +127 -0
  280. package/patterns/before-after.json +105 -0
  281. package/patterns/block-toolbar.json +129 -0
  282. package/patterns/blueprint-anatomy.json +112 -0
  283. package/patterns/blueprint-launch-hero.json +113 -0
  284. package/patterns/booking-calendar.json +125 -0
  285. package/patterns/bottom-tab-bar.json +117 -0
  286. package/patterns/breadcrumb-nav.json +111 -0
  287. package/patterns/budget-sankey.json +103 -0
  288. package/patterns/calendar-view.json +143 -0
  289. package/patterns/campaign-marquee-hero.json +167 -0
  290. package/patterns/cap-table.json +121 -0
  291. package/patterns/card-grid.json +202 -0
  292. package/patterns/case-brief-card.json +113 -0
  293. package/patterns/character-sheet.json +102 -0
  294. package/patterns/chart-grid.json +129 -0
  295. package/patterns/chat-header.json +105 -0
  296. package/patterns/chat-input.json +106 -0
  297. package/patterns/chat-message.json +122 -0
  298. package/patterns/chat-thread.json +120 -0
  299. package/patterns/checklist-card.json +96 -0
  300. package/patterns/checkout-flow.json +148 -0
  301. package/patterns/chip-multiselect.json +118 -0
  302. package/patterns/citation-graph.json +118 -0
  303. package/patterns/command-palette.json +115 -0
  304. package/patterns/command-rail.json +123 -0
  305. package/patterns/comment-thread.json +155 -0
  306. package/patterns/comparison-table.json +121 -0
  307. package/patterns/contact-form.json +135 -0
  308. package/patterns/content-card-grid.json +151 -0
  309. package/patterns/content-detail-hero.json +129 -0
  310. package/patterns/content-feed.json +141 -0
  311. package/patterns/content-uploader.json +137 -0
  312. package/patterns/continue-screen-cta.json +135 -0
  313. package/patterns/contract-diff.json +110 -0
  314. package/patterns/contract-explorer.json +119 -0
  315. package/patterns/conversation-list.json +109 -0
  316. package/patterns/creator-profile.json +127 -0
  317. package/patterns/cta-banner.json +103 -0
  318. package/patterns/cta-section.json +122 -0
  319. package/patterns/cta.json +124 -0
  320. package/patterns/data-source-connector.json +131 -0
  321. package/patterns/data-table.json +138 -0
  322. package/patterns/dataset-card.json +127 -0
  323. package/patterns/daw-transport-bar.json +66 -0
  324. package/patterns/deal-pipeline-board.json +124 -0
  325. package/patterns/deal-stage-gates.json +102 -0
  326. package/patterns/depth-layered-canvas.json +105 -0
  327. package/patterns/detail-header.json +140 -0
  328. package/patterns/diff-view.json +122 -0
  329. package/patterns/dividend-ledger.json +120 -0
  330. package/patterns/doc-editor.json +147 -0
  331. package/patterns/document-vault.json +129 -0
  332. package/patterns/drag-sort-list.json +119 -0
  333. package/patterns/earnings-dashboard.json +132 -0
  334. package/patterns/emissions-sankey.json +113 -0
  335. package/patterns/emoji-reaction-bar.json +115 -0
  336. package/patterns/esports-matchday-command.json +132 -0
  337. package/patterns/eval-dashboard.json +131 -0
  338. package/patterns/expense-tracker.json +130 -0
  339. package/patterns/featured-launchpad-list.json +114 -0
  340. package/patterns/features.json +118 -0
  341. package/patterns/file-browser.json +148 -0
  342. package/patterns/filter-bar.json +146 -0
  343. package/patterns/footer.json +115 -0
  344. package/patterns/form-sections.json +180 -0
  345. package/patterns/form.json +190 -0
  346. package/patterns/founder-comic-strip.json +126 -0
  347. package/patterns/generative-card-grid.json +130 -0
  348. package/patterns/gesture-control-overlay.json +134 -0
  349. package/patterns/governance-ballot.json +126 -0
  350. package/patterns/help-modal.json +155 -0
  351. package/patterns/hero-split.json +125 -0
  352. package/patterns/hero.json +227 -0
  353. package/patterns/holographic-control-bar.json +114 -0
  354. package/patterns/hotkey-bar.json +97 -0
  355. package/patterns/how-it-works.json +118 -0
  356. package/patterns/identity-summary.json +115 -0
  357. package/patterns/instrument-schedule.json +131 -0
  358. package/patterns/intake-form-wizard.json +134 -0
  359. package/patterns/intent-radar.json +115 -0
  360. package/patterns/json-viewer.json +129 -0
  361. package/patterns/kanban-board.json +133 -0
  362. package/patterns/kds-ticket-rail.json +133 -0
  363. package/patterns/kpi-grid.json +123 -0
  364. package/patterns/launch-update-log.json +129 -0
  365. package/patterns/launchpad-flow.json +107 -0
  366. package/patterns/leaderboard.json +143 -0
  367. package/patterns/lease-manager.json +129 -0
  368. package/patterns/legal-prose.json +120 -0
  369. package/patterns/live-room-stage.json +63 -0
  370. package/patterns/log-stream.json +150 -0
  371. package/patterns/logo-strip.json +93 -0
  372. package/patterns/maintenance-board.json +127 -0
  373. package/patterns/maintenance-ticket.json +156 -0
  374. package/patterns/map-view.json +140 -0
  375. package/patterns/match-celebration.json +133 -0
  376. package/patterns/matter-card.json +113 -0
  377. package/patterns/mention-popup.json +85 -0
  378. package/patterns/metric-gauge.json +141 -0
  379. package/patterns/mixer-console.json +69 -0
  380. package/patterns/mobile-profile-hero.json +138 -0
  381. package/patterns/moderation-queue-item.json +129 -0
  382. package/patterns/morphing-topology.json +113 -0
  383. package/patterns/namespace-badge.json +93 -0
  384. package/patterns/nav-header.json +110 -0
  385. package/patterns/neural-feedback-loop.json +124 -0
  386. package/patterns/notebook-entry.json +129 -0
  387. package/patterns/notification-center.json +136 -0
  388. package/patterns/offset-cart.json +109 -0
  389. package/patterns/onboarding-wizard.json +130 -0
  390. package/patterns/org-governance-panel.json +101 -0
  391. package/patterns/page-tree.json +143 -0
  392. package/patterns/payment-history.json +130 -0
  393. package/patterns/payout-settings.json +130 -0
  394. package/patterns/permission-matrix.json +129 -0
  395. package/patterns/petition-card.json +106 -0
  396. package/patterns/pipeline-cards.json +99 -0
  397. package/patterns/player-form-tracker.json +111 -0
  398. package/patterns/pledge-checkout-panel.json +145 -0
  399. package/patterns/pnl-dashboard.json +116 -0
  400. package/patterns/post-list.json +147 -0
  401. package/patterns/presence-avatars.json +129 -0
  402. package/patterns/press-kit-shelf.json +132 -0
  403. package/patterns/pricing-usage.json +118 -0
  404. package/patterns/pricing.json +137 -0
  405. package/patterns/producer-split-workbench.json +57 -0
  406. package/patterns/product-box-spec-panel.json +126 -0
  407. package/patterns/product-card.json +120 -0
  408. package/patterns/product-grid.json +140 -0
  409. package/patterns/progress-bar.json +124 -0
  410. package/patterns/prompt-playground.json +129 -0
  411. package/patterns/property-card.json +112 -0
  412. package/patterns/property-detail.json +124 -0
  413. package/patterns/property-grid.json +137 -0
  414. package/patterns/prose-section.json +102 -0
  415. package/patterns/protocol-step.json +128 -0
  416. package/patterns/prototype-demo-bezel.json +137 -0
  417. package/patterns/qa-thread.json +109 -0
  418. package/patterns/quick-start.json +88 -0
  419. package/patterns/recipefork-activity-feed.json +51 -0
  420. package/patterns/recipefork-chef-ingredients-display.json +48 -0
  421. package/patterns/recipefork-chef-ingredients-editor.json +52 -0
  422. package/patterns/recipefork-chef-instruction-editor.json +59 -0
  423. package/patterns/recipefork-chef-instructions-display.json +54 -0
  424. package/patterns/recipefork-cookbook-assignment.json +51 -0
  425. package/patterns/recipefork-cooking-tips-display.json +43 -0
  426. package/patterns/recipefork-cooking-tips-editor.json +46 -0
  427. package/patterns/recipefork-fork-provenance.json +50 -0
  428. package/patterns/recipefork-kitchen-chat.json +103 -0
  429. package/patterns/recipefork-photo-generator.json +123 -0
  430. package/patterns/recipefork-presentation-display.json +45 -0
  431. package/patterns/recipefork-presentation-editor.json +52 -0
  432. package/patterns/recipefork-recipe-card.json +123 -0
  433. package/patterns/recipefork-recipe-metadata-form.json +58 -0
  434. package/patterns/recipefork-recipe-mode-switch.json +52 -0
  435. package/patterns/recipefork-recipe-story-editor.json +51 -0
  436. package/patterns/recipefork-simple-recipe-editor.json +49 -0
  437. package/patterns/redline-track-changes.json +113 -0
  438. package/patterns/registry-discovery-cta-grid.json +93 -0
  439. package/patterns/registry-link-list.json +118 -0
  440. package/patterns/relationship-graph.json +127 -0
  441. package/patterns/remote-cursor.json +103 -0
  442. package/patterns/render-queue.json +102 -0
  443. package/patterns/rent-reminder.json +140 -0
  444. package/patterns/rent-roll.json +112 -0
  445. package/patterns/reputation-badge.json +111 -0
  446. package/patterns/retro-table.json +128 -0
  447. package/patterns/reward-tier-selector.json +137 -0
  448. package/patterns/sample-tracker.json +127 -0
  449. package/patterns/scene-storyboard.json +104 -0
  450. package/patterns/scope-breakdown.json +108 -0
  451. package/patterns/scoreboard-live.json +116 -0
  452. package/patterns/scrim-calendar.json +114 -0
  453. package/patterns/search-filter-bar.json +141 -0
  454. package/patterns/secure-document-viewer.json +107 -0
  455. package/patterns/service-catalog.json +94 -0
  456. package/patterns/service-map.json +133 -0
  457. package/patterns/session-inspector.json +62 -0
  458. package/patterns/session-manager.json +89 -0
  459. package/patterns/settings-nav.json +106 -0
  460. package/patterns/share-modal.json +157 -0
  461. package/patterns/share-quest-panel.json +134 -0
  462. package/patterns/shot-grid.json +104 -0
  463. package/patterns/skeleton-loader.json +114 -0
  464. package/patterns/slash-command.json +80 -0
  465. package/patterns/sparkline-cell.json +103 -0
  466. package/patterns/spatial-card-stack.json +133 -0
  467. package/patterns/spatial-presence-ring.json +103 -0
  468. package/patterns/split-calculator.json +104 -0
  469. package/patterns/split-pane.json +112 -0
  470. package/patterns/stats-bar.json +125 -0
  471. package/patterns/stats-detail.json +102 -0
  472. package/patterns/stats-overview.json +132 -0
  473. package/patterns/stats-section.json +90 -0
  474. package/patterns/status-bar.json +101 -0
  475. package/patterns/status-board.json +92 -0
  476. package/patterns/stem-browser.json +58 -0
  477. package/patterns/stem-stack.json +101 -0
  478. package/patterns/stepper.json +115 -0
  479. package/patterns/storefront-hero.json +120 -0
  480. package/patterns/stretch-goal-ladder.json +128 -0
  481. package/patterns/subscriber-list.json +135 -0
  482. package/patterns/supply-chain-map.json +109 -0
  483. package/patterns/swipe-action-bar.json +119 -0
  484. package/patterns/swipe-card.json +126 -0
  485. package/patterns/table-map.json +134 -0
  486. package/patterns/target-progress-ring.json +103 -0
  487. package/patterns/team-member-row.json +139 -0
  488. package/patterns/tech-pills.json +69 -0
  489. package/patterns/tenant-card.json +150 -0
  490. package/patterns/tenant-directory.json +118 -0
  491. package/patterns/tenant-payment-setup.json +98 -0
  492. package/patterns/terminal-emulator.json +117 -0
  493. package/patterns/testimonials.json +133 -0
  494. package/patterns/tier-builder.json +131 -0
  495. package/patterns/tier-card.json +118 -0
  496. package/patterns/tier-upgrade-card.json +144 -0
  497. package/patterns/timeline-scrubber.json +107 -0
  498. package/patterns/timeline.json +140 -0
  499. package/patterns/toast-notification.json +123 -0
  500. package/patterns/tool-list.json +89 -0
  501. package/patterns/trace-waterfall.json +123 -0
  502. package/patterns/trade-modal.json +132 -0
  503. package/patterns/transcript-stream.json +125 -0
  504. package/patterns/tree-view.json +124 -0
  505. package/patterns/unit-detail.json +100 -0
  506. package/patterns/unit-list.json +106 -0
  507. package/patterns/unlock-gate.json +132 -0
  508. package/patterns/usage-meter.json +113 -0
  509. package/patterns/vacancy-tracker.json +106 -0
  510. package/patterns/valuation-chart.json +126 -0
  511. package/patterns/version-history.json +140 -0
  512. package/patterns/video-room.json +142 -0
  513. package/patterns/vod-annotator.json +112 -0
  514. package/patterns/voice-command-palette.json +127 -0
  515. package/patterns/voice-waveform.json +120 -0
  516. package/patterns/voting-breakdown.json +101 -0
  517. package/patterns/waveform-track.json +102 -0
  518. package/patterns/webhook-debugger.json +116 -0
  519. package/patterns/workflow-canvas.json +147 -0
  520. package/patterns/workspace-region-stack.json +74 -0
  521. package/schemas/archetype.v2.json +145 -0
  522. package/schemas/blueprint.v1.json +225 -0
  523. package/schemas/common.v1.json +337 -0
  524. package/schemas/content-health-report.v1.json +255 -0
  525. package/schemas/content-intelligence.v1.json +142 -0
  526. package/schemas/essence.v4.json +430 -0
  527. package/schemas/execution-pack.common.v1.json +207 -0
  528. package/schemas/page-pack.v1.json +106 -0
  529. package/schemas/pattern.v2.json +232 -0
  530. package/schemas/public-content-list.v1.json +28 -0
  531. package/schemas/public-content-record.v1.json +91 -0
  532. package/schemas/public-content-summary.v1.json +132 -0
  533. package/schemas/registry-intelligence-summary.v1.json +81 -0
  534. package/schemas/search-response.v1.json +28 -0
  535. package/schemas/section-pack.v1.json +128 -0
  536. package/schemas/shell.v1.json +69 -0
  537. package/schemas/showcase-manifest-entry.v1.json +92 -0
  538. package/schemas/showcase-manifest.v1.json +28 -0
  539. package/schemas/showcase-shortlist.v1.json +36 -0
  540. package/schemas/theme.v1.json +190 -0
  541. package/shells/canvas-overlay.json +94 -0
  542. package/shells/centered.json +49 -0
  543. package/shells/chat-portal.json +153 -0
  544. package/shells/copilot-overlay.json +156 -0
  545. package/shells/full-bleed.json +100 -0
  546. package/shells/immersive-stage.json +89 -0
  547. package/shells/minimal-header.json +103 -0
  548. package/shells/mobile-tab-bar.json +119 -0
  549. package/shells/recipefork-top-nav.json +74 -0
  550. package/shells/sidebar-aside.json +163 -0
  551. package/shells/sidebar-main-footer.json +158 -0
  552. package/shells/sidebar-main.json +175 -0
  553. package/shells/sidebar-right.json +128 -0
  554. package/shells/terminal-split.json +95 -0
  555. package/shells/three-column-browser.json +215 -0
  556. package/shells/top-nav-footer.json +114 -0
  557. package/shells/top-nav-main.json +103 -0
  558. package/shells/top-nav-sidebar.json +130 -0
  559. package/shells/workspace-aside.json +181 -0
  560. package/themes/auradecantism.json +601 -0
  561. package/themes/bespoke.json +433 -0
  562. package/themes/bioluminescent.json +217 -0
  563. package/themes/bistro.json +422 -0
  564. package/themes/carbon-neon.json +458 -0
  565. package/themes/carbon.json +429 -0
  566. package/themes/cinema.json +479 -0
  567. package/themes/clean.json +261 -0
  568. package/themes/counsel.json +431 -0
  569. package/themes/dopamine.json +237 -0
  570. package/themes/earth.json +453 -0
  571. package/themes/editorial.json +237 -0
  572. package/themes/estate.json +559 -0
  573. package/themes/fintech.json +472 -0
  574. package/themes/gaming-guild.json +341 -0
  575. package/themes/glassmorphism.json +309 -0
  576. package/themes/government.json +481 -0
  577. package/themes/healthcare.json +480 -0
  578. package/themes/lab.json +437 -0
  579. package/themes/launchpad.json +320 -0
  580. package/themes/liquid-glass.json +223 -0
  581. package/themes/luminarum.json +598 -0
  582. package/themes/neo-tokyo.json +451 -0
  583. package/themes/neon-cyber.json +280 -0
  584. package/themes/neon-dark.json +220 -0
  585. package/themes/paper.json +496 -0
  586. package/themes/prismatic.json +217 -0
  587. package/themes/recipefork.json +278 -0
  588. package/themes/retro-arcade.json +620 -0
  589. package/themes/retro.json +240 -0
  590. package/themes/studio-dark.json +437 -0
  591. package/themes/studio.json +488 -0
  592. package/themes/swipecircle.json +533 -0
  593. package/themes/terminal.json +549 -0
@@ -0,0 +1,129 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "prompt-playground",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Prompt Playground",
7
+ "description": "Split-pane prompt editor with model selector, parameter controls, token counter, and response panel for iterating on AI prompts. Supports side-by-side, stacked, and multi-model comparison layouts.",
8
+ "category": "ai-tools",
9
+ "tags": [
10
+ "2026",
11
+ "ai-tools",
12
+ "prompt",
13
+ "playground",
14
+ "LLM",
15
+ "editor",
16
+ "comparison",
17
+ "model-selector"
18
+ ],
19
+ "components": [
20
+ "PromptEditor",
21
+ "ResponsePanel",
22
+ "ModelSelector",
23
+ "ParameterSliders",
24
+ "TokenCounter",
25
+ "HistoryList",
26
+ "SaveButton",
27
+ "ComparisonView"
28
+ ],
29
+ "default_preset": "standard",
30
+ "presets": {
31
+ "standard": {
32
+ "description": "Side-by-side layout with prompt editor on the left and response panel on the right, top bar with model and parameter controls",
33
+ "layout": {
34
+ "layout": "stack",
35
+ "atoms": "_flex _col _h-full _w-full"
36
+ }
37
+ },
38
+ "stacked": {
39
+ "description": "Vertical layout with prompt editor on top and response panel below, suitable for narrower viewports or focused editing",
40
+ "layout": {
41
+ "layout": "stack",
42
+ "atoms": "_flex _col _h-full _w-full"
43
+ }
44
+ },
45
+ "comparison": {
46
+ "description": "Multi-model comparison with shared prompt editor above and 2-3 response panels side-by-side below, each using a different model",
47
+ "layout": {
48
+ "layout": "stack",
49
+ "atoms": "_flex _col _h-full _w-full"
50
+ }
51
+ }
52
+ },
53
+ "visual_brief": "Full-height layout divided into distinct zones. The top bar (48px height, surface background, bottom border) contains: a ModelSelector dropdown on the left showing the current model name with a chevron (e.g., 'Claude 3.5 Sonnet'), followed by ParameterSliders — horizontal slider controls for temperature (0-2, default 1, step 0.1) and max tokens (1-4096, default 1024) each with a numeric input box showing the exact value to the right of the slider. After the sliders, a TokenCounter displays three compact values: input tokens, output tokens, and total tokens as 'In: 245 | Out: 512 | Total: 757' using tabular-nums monospace, with a tiny horizontal stacked bar below the numbers showing input (muted) and output (accent) proportions. A SaveButton (outlined, icon: bookmark) sits at the far right of the top bar. Below the top bar, the main area splits into two equal panes separated by a 4px draggable divider. Left pane: the PromptEditor, a monospace text editor (14px, line-height 1.6) with a dark surface background, line numbers in a 40px gutter on the left (muted color), and syntax highlighting for template variables — any text matching {{variable_name}} renders in accent color with a subtle accent background. The editor supports multi-line input with vertical scrolling. A 'System prompt' collapsible section sits above the main input area for system-level instructions. Right pane: the ResponsePanel with a lighter surface background, rendering the AI response with full markdown formatting (headings, bold, italic, code blocks with syntax highlighting, lists, links). At the top of the response panel, a small status bar shows generation time, model name, and a copy-all button. A prominent 'Run' button (accent filled, 40px height, centered between the two panes or in the top bar) triggers generation with a loading spinner replacing its label during processing. In the comparison preset, the prompt editor spans full width at the top (40% height), and below it 2-3 ResponsePanels sit side-by-side, each with its own model label header and independent scroll. The HistoryList is an optional collapsible left sidebar (200px) showing past prompt-response pairs as compact cards (truncated prompt text, timestamp, model used), clickable to restore.",
54
+ "default_layout": {
55
+ "layout": "stack",
56
+ "atoms": "_flex _col _h-full _w-full",
57
+ "slots": {
58
+ "top-bar": "Horizontal bar (48px height) with surface background and bottom border. Contains ModelSelector dropdown, ParameterSliders (temperature and max-tokens each with slider + numeric input), TokenCounter (input/output/total with stacked bar), and SaveButton. Items spaced with gap-4 and vertically centered.",
59
+ "prompt-editor": "Left pane (or top pane in stacked). Monospace text editor with dark surface background. Line numbers in left gutter. Syntax highlighting for {{template_variables}} in accent color. Collapsible system prompt section above main input. Vertical scrolling. Supports paste, undo/redo, find/replace. Min-height 200px.",
60
+ "response-panel": "Right pane (or bottom pane in stacked). Lighter surface background. Renders AI response as formatted markdown with headings, lists, code blocks (syntax highlighted with copy button), and inline formatting. Status bar at top shows generation time, tokens used, model name, and copy-all button. Loading state shows a pulsing cursor animation. Empty state shows muted placeholder text 'Run a prompt to see the response'.",
61
+ "run-button": "Prominent accent-filled button labeled 'Run' (or play icon + 'Run'). Positioned in the divider between editor and response, or in the top bar. During generation: label changes to a spinner + 'Running...', button becomes disabled. Keyboard shortcut: Cmd+Enter / Ctrl+Enter.",
62
+ "history-list": "Optional collapsible left sidebar (200px wide). Lists past prompt-response pairs as compact cards showing truncated prompt text (first 60 chars), model name badge, timestamp, and token count. Click to restore prompt and response. Search input at top for filtering history. Most recent at top.",
63
+ "comparison-view": "Comparison preset only. 2-3 ResponsePanels side-by-side below a shared full-width PromptEditor. Each panel has a model selector header, independent scroll, and its own status bar. Differences between responses can be highlighted with a diff toggle."
64
+ }
65
+ },
66
+ "accessibility": {
67
+ "role": "application",
68
+ "aria-label": "Prompt playground editor",
69
+ "announcements": [
70
+ "Model changed to {model_name}",
71
+ "Temperature set to {value}",
72
+ "Max tokens set to {value}",
73
+ "Generation started with {input_tokens} input tokens",
74
+ "Generation complete: {output_tokens} output tokens in {duration}",
75
+ "Generation failed: {error_message}",
76
+ "Prompt saved to history",
77
+ "History item loaded: {truncated_prompt}"
78
+ ],
79
+ "keyboard": [
80
+ "Cmd+Enter / Ctrl+Enter: run the current prompt",
81
+ "Cmd+S / Ctrl+S: save current prompt to history",
82
+ "Cmd+L / Ctrl+L: focus model selector",
83
+ "Cmd+H / Ctrl+H: toggle history sidebar",
84
+ "Tab: cycle between prompt editor, run button, and response panel",
85
+ "Escape: cancel running generation",
86
+ "Cmd+/ : toggle system prompt section"
87
+ ]
88
+ },
89
+ "responsive": {
90
+ "mobile": "Stacked layout forced: prompt editor on top, response below. Top bar wraps to two rows (model selector + run button on first row, sliders on second). History list hidden behind a hamburger menu. Token counter shows only total. Sliders replaced by compact numeric-only inputs. Full-width panes with no draggable divider.",
91
+ "tablet": "Stacked layout default with option to switch to side-by-side. Top bar in single row with compressed sliders. History as a slide-over drawer from left. Comparison mode shows 2 response panels (not 3).",
92
+ "desktop": "Full side-by-side layout with draggable divider. Top bar in single row with full slider controls. History sidebar collapsible. Comparison mode supports 2-3 response panels. Keyboard shortcuts fully active. Hover tooltips on all controls."
93
+ },
94
+ "layout_hints": {
95
+ "editor_priority": "The prompt editor and run loop are the primary focus. Token counters, sliders, and history should support iteration without crowding the act of writing and evaluating prompts.",
96
+ "comparison_mode": "When multiple response panels are visible, keep the shared prompt context obvious so the user reads the comparison as one experiment rather than separate chats.",
97
+ "control_rhythm": "Top-bar controls should feel compact and tool-like. Preserve a clear separation between experiment controls, editor canvas, and response surfaces."
98
+ },
99
+ "motion": {
100
+ "micro": {
101
+ "run-button-hover": "shadow elevation increase + slight scale(1.02) 120ms ease-out",
102
+ "slider-thumb-drag": "thumb scales to 1.2 during drag 100ms ease-out",
103
+ "token-counter-update": "number cross-fade 200ms ease-out on value change"
104
+ },
105
+ "transitions": {
106
+ "generation-start": "response panel clears with fade 150ms, then pulsing cursor appears",
107
+ "generation-stream": "text appends character-by-character or chunk-by-chunk with no animation (instant append)",
108
+ "history-toggle": "sidebar width 0→200px + opacity 300ms ease-in-out",
109
+ "pane-resize": "divider drag updates pane widths in real-time with no transition delay",
110
+ "comparison-add": "new response panel slides in from right 300ms ease-out"
111
+ },
112
+ "ambient": {
113
+ "generating-indicator": "run button has a subtle pulse glow during generation, 1.5s ease-in-out infinite"
114
+ }
115
+ },
116
+ "interactions": [
117
+ "animate-on-mount",
118
+ "inline-edit",
119
+ "keyboard-navigation"
120
+ ],
121
+ "composition": {
122
+ "Playground": "Section(d-section, flex-col, h-full) > [TopBar > [ModelSelector(d-control) + ParameterSliders(d-control) + TokenCounter(d-data, mono-data) + SaveButton(d-interactive)] + MainArea]",
123
+ "MainArea": "Row(d-section, flex, h-full) > [HistoryList?(d-surface, collapsible) + PromptEditor(d-surface, monospace) + RunButton(d-interactive, accent) + ResponsePanel(d-surface, markdown)]",
124
+ "PromptEditor": "Editor(d-surface, dark, monospace, line-numbers) > [SystemPrompt?(collapsible) + MainInput(highlight: {{vars}})]",
125
+ "ResponsePanel": "Panel(d-surface) > [StatusBar(d-annotation, mono-data) + ResponseContent(markdown, scrollable)]",
126
+ "ComparisonView": "Stack(d-section) > [PromptEditor(full-width) + Row > ResponsePanel*(d-surface, model-labeled)[]]",
127
+ "HistoryList": "Sidebar(d-surface, w-200, collapsible) > [SearchInput + HistoryCard*(d-interactive, truncated)[]]"
128
+ }
129
+ }
@@ -0,0 +1,112 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "property-card",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Property Card",
7
+ "description": "Single property overview card with key metrics including address, unit count, occupancy rate, and monthly revenue.",
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": "standard",
26
+ "presets": {
27
+ "standard": {
28
+ "description": "Full property card with image and all metrics",
29
+ "components": [
30
+ "Button",
31
+ "icon",
32
+ "Badge"
33
+ ],
34
+ "layout": {
35
+ "layout": "stack",
36
+ "atoms": "_flex _col _gap3 _p0 _r2 _overflow[hidden]",
37
+ "slots": {
38
+ "image": "Property photo (aspect-ratio 16/9)",
39
+ "content": "Property details and metrics",
40
+ "address": "Street address, city, state, zip",
41
+ "type": "Property type badge (residential, commercial, multi-family)",
42
+ "metrics": "Unit count, occupancy rate, monthly revenue",
43
+ "status": "Property status badge (active, inactive, for sale)",
44
+ "actions": "Quick action buttons (view, edit, menu)"
45
+ }
46
+ }
47
+ },
48
+ "compact": {
49
+ "description": "Condensed card for grid view without image",
50
+ "components": [
51
+ "Button",
52
+ "icon",
53
+ "Badge"
54
+ ],
55
+ "layout": {
56
+ "layout": "stack",
57
+ "atoms": "_flex _col _gap2 _p4",
58
+ "slots": {
59
+ "header": "Property name and type badge",
60
+ "address": "Address line",
61
+ "metrics": "Compact metrics row",
62
+ "actions": "View button"
63
+ }
64
+ }
65
+ },
66
+ "list-item": {
67
+ "description": "Row format for table/list views",
68
+ "components": [
69
+ "Button",
70
+ "icon",
71
+ "Badge"
72
+ ],
73
+ "layout": {
74
+ "layout": "row",
75
+ "atoms": "_flex _aic _gap4 _p3 _borderB",
76
+ "slots": {
77
+ "image": "Small thumbnail",
78
+ "info": "Property name and address",
79
+ "metrics": "Units, occupancy, revenue",
80
+ "status": "Status badge",
81
+ "actions": "Action buttons"
82
+ }
83
+ }
84
+ }
85
+ },
86
+ "default_layout": {
87
+ "layout": "stack",
88
+ "atoms": "_flex _col _gap3",
89
+ "slots": {
90
+ "image": "Property photo",
91
+ "content": "Property details",
92
+ "metrics": "Key metrics",
93
+ "actions": "Action buttons"
94
+ }
95
+ },
96
+ "visual_brief": "Bordered card with a property photo at the top, followed by the property address and name. A metrics row shows unit count, occupancy rate (as a percentage with color coding — green for high, red for low), and monthly revenue. An action bar at the bottom provides View and Edit buttons. The compact preset removes the photo and shows a denser card with just address, key metrics, and actions. The list-item preset renders as a horizontal row suitable for table-like lists. Status badges indicate property state (active, maintenance, vacant).",
97
+ "responsive": {
98
+ "mobile": "Cards take full width. Photo height reduces. Metrics wrap to two rows. Action buttons go full-width.",
99
+ "tablet": "Two-column card grid. Standard card proportions with photo.",
100
+ "desktop": "Three-column grid or larger. Cards at comfortable size with all metrics inline."
101
+ },
102
+ "interactions": [
103
+ "lift-hover",
104
+ "click-select",
105
+ "animate-on-mount",
106
+ "stagger-children"
107
+ ],
108
+ "composition": {
109
+ "PropertyCard": "Card(d-surface, hoverable) > [Image(aspect-ratio: 16/9) + Content > [Address(font-medium) + TypeBadge(d-annotation) + MetricsRow + StatusBadge(d-annotation)] + Actions(d-interactive)]",
110
+ "MetricsRow": "Row(d-data, gap-3) > [UnitCount(mono-data) + OccupancyRate(mono-data, color: level) + Revenue(mono-data)]"
111
+ }
112
+ }
@@ -0,0 +1,124 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "property-detail",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Property Detail",
7
+ "description": "Full property view with details, gallery, metrics, units, financials, documents, and maintenance history.",
8
+ "dependencies": {
9
+ "patterns": {
10
+ "unit-list": "^1.0.0"
11
+ },
12
+ "styles": {},
13
+ "requires_core": {
14
+ "components": [
15
+ "Button",
16
+ "icon",
17
+ "Badge",
18
+ "Tabs"
19
+ ],
20
+ "charts": [
21
+ "AreaChart"
22
+ ]
23
+ }
24
+ },
25
+ "components": [
26
+ "Button",
27
+ "icon",
28
+ "Badge",
29
+ "Tabs"
30
+ ],
31
+ "default_preset": "view",
32
+ "presets": {
33
+ "view": {
34
+ "description": "Full property detail view with tabs",
35
+ "components": [
36
+ "Button",
37
+ "icon",
38
+ "Badge",
39
+ "Tabs"
40
+ ],
41
+ "layout": {
42
+ "layout": "stack",
43
+ "atoms": "_flex _col _gap6",
44
+ "slots": {
45
+ "header": "Property name, address, edit button, back link",
46
+ "gallery": "Property photo gallery",
47
+ "metrics": "Key metrics row (occupancy, revenue, expenses, NOI)",
48
+ "tabs": "Overview, Units, Financials, Documents, Maintenance tabs",
49
+ "overview": "Property details (type, year, sqft, beds/baths)",
50
+ "units": "Unit list (embedded)",
51
+ "financials": "Property P&L summary",
52
+ "documents": "Property documents",
53
+ "maintenance": "Recent maintenance tickets",
54
+ "timeline": "Property activity history"
55
+ }
56
+ }
57
+ },
58
+ "create": {
59
+ "description": "Create or edit property form with address, type, unit count fields, and image upload area",
60
+ "components": [
61
+ "Button",
62
+ "icon",
63
+ "Input",
64
+ "Select",
65
+ "Textarea"
66
+ ],
67
+ "layout": {
68
+ "layout": "stack",
69
+ "atoms": "_flex _col _gap6 _maxw[800px]",
70
+ "slots": {
71
+ "header": "Form title",
72
+ "form": "Property form fields",
73
+ "images": "Image upload area",
74
+ "actions": "Save/cancel buttons"
75
+ }
76
+ }
77
+ }
78
+ },
79
+ "default_layout": {
80
+ "layout": "stack",
81
+ "atoms": "_flex _col _gap6",
82
+ "slots": {
83
+ "header": "Property header",
84
+ "gallery": "Photo gallery",
85
+ "metrics": "Key metrics",
86
+ "content": "Tabbed content area"
87
+ }
88
+ },
89
+ "visual_brief": "Full property view starting with a header showing property name, address, status badge, and action buttons (Edit, Archive). Below the header, a photo gallery as a horizontal scrollable strip or grid of thumbnails. A metrics row shows key stats: total units, occupancy rate, monthly revenue, NOI. The main content area uses horizontal tabs: Overview (property details and description), Units (unit list), Financials (income/expense summaries), Documents (lease PDFs, insurance), and Maintenance (ticket list). The create preset replaces display fields with an input form.",
90
+ "responsive": {
91
+ "mobile": "Single-column layout. Gallery becomes a swipeable carousel. Tabs become a dropdown selector or horizontally scrollable. Content sections stack fully.",
92
+ "tablet": "Standard layout with scrollable tab bar. Gallery shows 3-4 thumbnails. Content area comfortable width.",
93
+ "desktop": "Full layout with all tabs visible. Gallery shows full thumbnail row. Content area can show side-by-side panels within tabs."
94
+ },
95
+ "layout_hints": {
96
+ "asset_priority": "Lead with the property's identity and health first: address, status, and key metrics. Tabs should deepen that understanding without displacing the core property context.",
97
+ "gallery_role": "Photos should support recognition and context, not take over the page. Keep the gallery clearly subordinate to the operational summary.",
98
+ "tabbed_depth": "Overview, units, financials, documents, and maintenance should feel like one connected asset record, not separate microsites."
99
+ },
100
+ "motion": {
101
+ "micro": "Photo thumbnails, actions, and tab states may sharpen subtly on hover and focus.",
102
+ "transitions": "Tab and gallery interactions should preserve place and asset identity rather than creating abrupt mode switches."
103
+ },
104
+ "interactions": [
105
+ "animate-on-mount"
106
+ ],
107
+ "accessibility": {
108
+ "role": "region",
109
+ "aria-label": "Property detail",
110
+ "keyboard": [
111
+ "Header actions, gallery controls, and tabs should appear before deeper property panels in keyboard order."
112
+ ],
113
+ "announcements": [
114
+ "Property name, status, address, and active tab context should be exposed semantically so the asset record remains understandable without relying on visual tab structure."
115
+ ]
116
+ },
117
+ "composition": {
118
+ "PropertyDetail": "Container(d-section, flex-col, gap-6) > [Header + Gallery + MetricsRow + TabContent]",
119
+ "Header": "Row(d-surface, space-between) > [PropertyName(heading2) + Address(text-muted) + StatusBadge(d-annotation) + ActionButtons(d-interactive)]",
120
+ "Gallery": "Row(d-data, scrollable) > Thumbnail(clickable)[]",
121
+ "MetricsRow": "Grid(d-data, 4-col) > MetricCard(d-surface)[]",
122
+ "TabContent": "Tabs(d-control) > [OverviewTab + UnitsTab + FinancialsTab + DocumentsTab + MaintenanceTab]"
123
+ }
124
+ }
@@ -0,0 +1,137 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "property-grid",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Property Grid",
7
+ "description": "Dashboard grid of all properties with filtering, search, view toggles, and portfolio summary.",
8
+ "dependencies": {
9
+ "patterns": {
10
+ "property-card": "^1.0.0"
11
+ },
12
+ "styles": {},
13
+ "requires_core": {
14
+ "components": [
15
+ "Button",
16
+ "icon",
17
+ "Input",
18
+ "Select",
19
+ "Tabs"
20
+ ],
21
+ "charts": []
22
+ }
23
+ },
24
+ "components": [
25
+ "Button",
26
+ "icon",
27
+ "Input",
28
+ "Select",
29
+ "Tabs"
30
+ ],
31
+ "default_preset": "cards",
32
+ "presets": {
33
+ "cards": {
34
+ "description": "Card grid layout with property cards",
35
+ "components": [
36
+ "Button",
37
+ "icon",
38
+ "Input",
39
+ "Select"
40
+ ],
41
+ "layout": {
42
+ "layout": "stack",
43
+ "atoms": "_flex _col _gap6",
44
+ "slots": {
45
+ "header": "Title, add property button, view toggle",
46
+ "summary": "Portfolio summary metrics",
47
+ "filters": "Property type, status, location filters",
48
+ "search": "Property search input",
49
+ "grid": "Property cards grid",
50
+ "pagination": "Page controls"
51
+ }
52
+ }
53
+ },
54
+ "table": {
55
+ "description": "Table layout with sortable columns",
56
+ "components": [
57
+ "Button",
58
+ "icon",
59
+ "Input"
60
+ ],
61
+ "layout": {
62
+ "layout": "stack",
63
+ "atoms": "_flex _col _gap4",
64
+ "slots": {
65
+ "header": "Title and controls",
66
+ "filters": "Filter controls",
67
+ "table": "Property table with columns",
68
+ "pagination": "Table pagination"
69
+ }
70
+ }
71
+ },
72
+ "map": {
73
+ "description": "Interactive map view with property location pins and a scrollable sidebar property list",
74
+ "components": [
75
+ "Button",
76
+ "icon"
77
+ ],
78
+ "layout": {
79
+ "layout": "split",
80
+ "atoms": "_flex _h[calc(100vh-200px)]",
81
+ "slots": {
82
+ "sidebar": "Property list sidebar",
83
+ "map": "Interactive map with pins"
84
+ }
85
+ }
86
+ }
87
+ },
88
+ "default_layout": {
89
+ "layout": "stack",
90
+ "atoms": "_flex _col _gap6",
91
+ "slots": {
92
+ "header": "Page header with controls",
93
+ "summary": "Portfolio metrics",
94
+ "filters": "Search and filters",
95
+ "items": "Property cards or rows",
96
+ "pagination": "Page controls"
97
+ }
98
+ },
99
+ "visual_brief": "Dashboard page for all properties. Header row with 'Properties' title, a search input, and an 'Add Property' button. A portfolio summary bar shows total properties, total units, average occupancy, and total monthly revenue. Filter controls below offer search by name, filter by status, and view toggle (cards/table/map). The main area displays property cards in a responsive grid, a data table, or a map view with pins. Pagination controls at the bottom handle large portfolios.",
100
+ "responsive": {
101
+ "mobile": "Single-column property cards. Summary metrics in a 2x2 grid. Filters collapse into a filter button. Map view takes full screen.",
102
+ "tablet": "Two-column card grid. Summary in a row. Filters visible. Table view has horizontal scroll.",
103
+ "desktop": "Three-column card grid or full-width table. All summary, filters, and pagination visible."
104
+ },
105
+ "layout_hints": {
106
+ "portfolio_priority": "Lead with portfolio-wide scanability first: summary metrics, active filters, then the properties themselves. The user should understand the state of the portfolio before diving into any one asset.",
107
+ "view_modes": "Cards, table, and map should preserve the same property hierarchy and filter context rather than feeling like unrelated screens.",
108
+ "toolbar_rhythm": "Search, filters, and add-property actions belong in one operational header band. Parent pages should not wrap this pattern in another competing control bar."
109
+ },
110
+ "motion": {
111
+ "micro": "View toggles and property cards may sharpen or lift subtly on hover. Filter chips or selectors should respond crisply without stealing attention from the portfolio items.",
112
+ "transitions": "Changing between card, table, and map modes should preserve orientation and current filter state rather than redrawing the whole surface abruptly."
113
+ },
114
+ "interactions": [
115
+ "lift-hover",
116
+ "click-select",
117
+ "animate-on-mount",
118
+ "stagger-children"
119
+ ],
120
+ "accessibility": {
121
+ "role": "region",
122
+ "aria-label": "Property portfolio",
123
+ "keyboard": [
124
+ "Header controls, filters, and property items should follow a predictable top-to-bottom, left-to-right order."
125
+ ],
126
+ "announcements": [
127
+ "Portfolio summaries, active filters, and individual property identity should be exposed semantically so the collection remains understandable beyond its visual layout."
128
+ ]
129
+ },
130
+ "composition": {
131
+ "PropertyGrid": "Container(d-section, flex-col, gap-6) > [Header + PortfolioSummary + Filters + PropertyItems + Pagination]",
132
+ "Header": "Row(d-control, space-between) > [Title + AddPropertyButton(d-interactive) + ViewToggle(d-interactive)]",
133
+ "PortfolioSummary": "Row(d-data) > [TotalProperties + TotalUnits + AvgOccupancy(mono-data) + TotalRevenue(mono-data)]",
134
+ "Filters": "Row(d-control) > [SearchInput(d-control) + StatusFilter(d-control) + TypeFilter(d-control)]",
135
+ "PropertyItems": "Grid(d-data, responsive: 1/2/3-col) > PropertyCard[]"
136
+ }
137
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "prose-section",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Prose Section",
7
+ "description": "Long-form editorial or company-story section with comfortable reading width, optional supporting media, and a stable narrative rhythm for marketing and about pages.",
8
+ "dependencies": {
9
+ "patterns": {},
10
+ "styles": {},
11
+ "requires_core": {
12
+ "components": [
13
+ "Button",
14
+ "Image",
15
+ "icon"
16
+ ],
17
+ "charts": []
18
+ }
19
+ },
20
+ "components": [
21
+ "Button",
22
+ "Image",
23
+ "icon"
24
+ ],
25
+ "default_preset": "standard",
26
+ "presets": {
27
+ "standard": {
28
+ "description": "Single-column editorial section with overline, heading, body copy, and optional supporting media or quote.",
29
+ "layout": {
30
+ "layout": "stack",
31
+ "atoms": "_flex _col _gap6 _wfull _maxw[56rem] _mx[auto]",
32
+ "slots": {
33
+ "eyebrow": "Optional overline label using d-label[data-anchor]",
34
+ "heading": "Section heading with heading2 or heading3 scale",
35
+ "body": "Long-form prose blocks with comfortable line length and muted supporting text",
36
+ "supporting-media": "Optional image, pull quote, or stat block below the prose"
37
+ }
38
+ }
39
+ },
40
+ "story": {
41
+ "description": "Narrative company-story section with wider body copy, optional image pairing, and a sequential scroll rhythm that feels deliberate instead of dense.",
42
+ "layout": {
43
+ "layout": "stack",
44
+ "atoms": "_grid _gc1 _lg:gc[1.15fr_0.85fr] _gap8 _wfull _maxw[72rem] _mx[auto] _items[start]",
45
+ "slots": {
46
+ "heading-column": "Eyebrow, heading, and lead paragraph anchoring the story",
47
+ "body-column": "Narrative prose blocks, milestone list, or supporting quote stack",
48
+ "media-column": "Optional founder portrait, product still, or ambient visual proof aligned to the story"
49
+ }
50
+ }
51
+ }
52
+ },
53
+ "default_layout": {
54
+ "layout": "stack",
55
+ "atoms": "_flex _col _gap6 _wfull _maxw[56rem] _mx[auto]",
56
+ "slots": {
57
+ "eyebrow": "Optional section label",
58
+ "heading": "Narrative section heading",
59
+ "body": "Long-form prose content",
60
+ "supporting-media": "Optional media or quote"
61
+ }
62
+ },
63
+ "visual_brief": "Editorial prose block that feels authored and breathable rather than like a utility text dump. Heading and lead copy establish narrative intent first, followed by long-form paragraphs with generous line-height and restrained width. The story preset can pair the prose with a portrait, ambient image, or milestone rail, but the text remains the primary visual element.",
64
+ "layout_hints": {
65
+ "measure": "Keep prose at a comfortable reading measure: roughly 60-75 characters per line for body copy. Do not let long-form copy run edge-to-edge across the viewport.",
66
+ "surface_usage": "This pattern should not automatically wrap itself in a d-surface card. Treat it as editorial content living within the shell rhythm unless a route explicitly needs contained prose.",
67
+ "vertical_rhythm": "Use a calm vertical rhythm between heading, lead, and body blocks. Paragraph groups should feel authored, not densely stacked utility text.",
68
+ "supporting_media": "If supporting media is present, it should reinforce the story without overpowering the text column. Favor one strong visual rather than a collage."
69
+ },
70
+ "responsive": {
71
+ "mobile": "Collapse to a single editorial column with tighter section spacing. Supporting media moves above or below the text rather than beside it. Preserve reading measure with comfortable horizontal padding.",
72
+ "tablet": "Single-column by default with optional media below the prose. Story preset may begin introducing a two-region composition when space allows, but text should remain the focus.",
73
+ "desktop": "Standard preset stays single-column with a max-width reading measure. Story preset can split into text and supporting-media columns with generous gap spacing."
74
+ },
75
+ "motion": {
76
+ "micro": "Minimal reveal motion only: supporting media and quote accents may fade in softly, but prose should remain calm and stable.",
77
+ "transitions": "Section-level entrance may use a subtle fade-up or staggered reveal of prose blocks over 200-300ms, never a dramatic slide or parallax.",
78
+ "ambient": "Avoid ornamental ambient motion inside the prose section itself; let surrounding page treatments carry atmosphere."
79
+ },
80
+ "interactions": [
81
+ "click-select",
82
+ "animate-on-mount",
83
+ "keyboard-navigation",
84
+ "hover-reveal"
85
+ ],
86
+ "accessibility": {
87
+ "role": "region",
88
+ "aria-label": "Editorial prose section",
89
+ "keyboard": [
90
+ "Tab moves between links, CTA buttons, and interactive supporting content in reading order."
91
+ ],
92
+ "announcements": [
93
+ "Screen readers should encounter the heading before body copy and optional supporting media in source order."
94
+ ],
95
+ "focus_management": "Keep prose in semantic heading and paragraph structure. Interactive supporting elements should follow the narrative flow rather than interrupt it."
96
+ },
97
+ "composition": {
98
+ "ProseSection": "Container(d-section, editorial rhythm) > [Eyebrow? + Heading + Lead? + Body + SupportingMedia?]",
99
+ "StorySection": "Grid(editorial split) > [HeadingColumn + BodyColumn + MediaColumn?]",
100
+ "Body": "Stack(typography-first) > Paragraph[]"
101
+ }
102
+ }