@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
package/package.json ADDED
@@ -0,0 +1,75 @@
1
+ {
2
+ "name": "@decantr/content",
3
+ "version": "3.8.0",
4
+ "description": "Official Decantr content corpus for AI frontend governance contracts, context, examples, and validation",
5
+ "keywords": [
6
+ "decantr",
7
+ "decantr-ai",
8
+ "ai-frontend-governance",
9
+ "content-corpus",
10
+ "design-contracts",
11
+ "ui-patterns",
12
+ "archetypes",
13
+ "blueprints",
14
+ "themes",
15
+ "content-health"
16
+ ],
17
+ "author": "Decantr AI",
18
+ "license": "MIT",
19
+ "bugs": {
20
+ "url": "https://github.com/decantr-ai/decantr/issues"
21
+ },
22
+ "repository": {
23
+ "type": "git",
24
+ "url": "git+https://github.com/decantr-ai/decantr.git",
25
+ "directory": "packages/content"
26
+ },
27
+ "homepage": "https://decantr.ai",
28
+ "type": "module",
29
+ "main": "dist/index.js",
30
+ "types": "dist/index.d.ts",
31
+ "exports": {
32
+ ".": {
33
+ "import": "./dist/index.js",
34
+ "types": "./dist/index.d.ts"
35
+ },
36
+ "./schemas/*.json": "./schemas/*.json",
37
+ "./patterns/*.json": "./patterns/*.json",
38
+ "./themes/*.json": "./themes/*.json",
39
+ "./blueprints/*.json": "./blueprints/*.json",
40
+ "./archetypes/*.json": "./archetypes/*.json",
41
+ "./shells/*.json": "./shells/*.json"
42
+ },
43
+ "files": [
44
+ "dist",
45
+ "schemas",
46
+ "patterns",
47
+ "themes",
48
+ "blueprints",
49
+ "archetypes",
50
+ "shells",
51
+ "README.md",
52
+ "LICENSE"
53
+ ],
54
+ "engines": {
55
+ "node": ">=20.19.0"
56
+ },
57
+ "publishConfig": {
58
+ "access": "public"
59
+ },
60
+ "dependencies": {
61
+ "ajv": "^8.20.0"
62
+ },
63
+ "scripts": {
64
+ "build": "tsup",
65
+ "test": "vitest run",
66
+ "test:watch": "vitest",
67
+ "validate": "node validate.js",
68
+ "content:health": "node ../cli/dist/bin.js content-health --ci --fail-on error --markdown --output content-health-summary.md",
69
+ "content:health:json": "node ../cli/dist/bin.js content-health --json --output content-health-report.json",
70
+ "content:health:suppressions": "node scripts/audit-content-health-suppressions.js",
71
+ "content:intelligence": "node scripts/audit-content-intelligence.js --report-json=content-intelligence-report.json --summary-markdown=content-intelligence-summary.md",
72
+ "content:certify": "node scripts/certify-registry-v2.js --report-json=content-certification-report.json --summary-markdown=content-certification-summary.md",
73
+ "registry:v2-certify": "pnpm run content:certify"
74
+ }
75
+ }
@@ -0,0 +1,149 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "account-settings",
4
+ "version": "1.1.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Account Settings",
7
+ "description": "Account management workspace with responsive settings navigation, grouped forms, and stable save/action zones for profile, security, preferences, and danger-zone flows.",
8
+ "dependencies": {
9
+ "patterns": {
10
+ "session-manager": "^1.0.0",
11
+ "settings-nav": "^1.0.0"
12
+ },
13
+ "styles": {},
14
+ "requires_core": {
15
+ "components": [
16
+ "Button",
17
+ "Avatar",
18
+ "Badge",
19
+ "icon"
20
+ ],
21
+ "charts": []
22
+ }
23
+ },
24
+ "components": [
25
+ "Button",
26
+ "Avatar",
27
+ "Badge",
28
+ "icon"
29
+ ],
30
+ "default_preset": "profile",
31
+ "presets": {
32
+ "profile": {
33
+ "description": "Profile editing with settings navigation, avatar upload, name, email, bio, and a stable save zone.",
34
+ "components": [
35
+ "Button",
36
+ "Avatar",
37
+ "icon"
38
+ ],
39
+ "layout": {
40
+ "layout": "stack",
41
+ "atoms": "_flex _col _gap8",
42
+ "slots": {
43
+ "nav": "Responsive settings navigation using vertical tabs on larger widths and horizontal tabs on small screens",
44
+ "avatar": "Avatar with upload/change button",
45
+ "form": "Name, email, bio inputs grouped in a content panel",
46
+ "save": "Save changes button in a stable action zone"
47
+ }
48
+ }
49
+ },
50
+ "security": {
51
+ "description": "Security settings with password change and MFA controls",
52
+ "components": [
53
+ "Button",
54
+ "Badge",
55
+ "icon"
56
+ ],
57
+ "layout": {
58
+ "layout": "stack",
59
+ "atoms": "_flex _col _gap8",
60
+ "slots": {
61
+ "password": "Change password form",
62
+ "mfa": "MFA enable/disable toggle with status",
63
+ "sessions": "Session manager component"
64
+ }
65
+ }
66
+ },
67
+ "preferences": {
68
+ "description": "User preferences for theme, notifications, language",
69
+ "components": [
70
+ "Button",
71
+ "icon"
72
+ ],
73
+ "layout": {
74
+ "layout": "stack",
75
+ "atoms": "_flex _col _gap8",
76
+ "slots": {
77
+ "theme": "Theme selector (light/dark/auto)",
78
+ "notifications": "Notification toggles",
79
+ "language": "Language/locale selector"
80
+ }
81
+ }
82
+ },
83
+ "danger-zone": {
84
+ "description": "Account deletion with typed confirmation",
85
+ "components": [
86
+ "Button",
87
+ "icon"
88
+ ],
89
+ "layout": {
90
+ "layout": "stack",
91
+ "atoms": "_flex _col _gap6",
92
+ "slots": {
93
+ "warning": "Deletion warning message",
94
+ "confirm": "Typed confirmation input",
95
+ "delete": "Delete account button"
96
+ }
97
+ }
98
+ }
99
+ },
100
+ "layout_hints": {
101
+ "active_state": "Active nav/tab item should have a visible indicator: accent-colored left border (for vertical nav) or bottom border (for horizontal tabs), plus accent text color.",
102
+ "nav_position": "For settings pages, use a vertical tab nav on the left at larger widths. On small screens, switch to a horizontal scrollable tab strip or segmented control without changing the content spacing rhythm.",
103
+ "spacing": "Nav items have consistent padding. Active item stands out but doesn't shift layout. Content cards should share the same shell inset rhythm as the rest of the dashboard.",
104
+ "cta_treatment": "Primary save/update actions should sit in a stable action zone and feel distinct from secondary utility buttons such as avatar change, sign out, or cancel."
105
+ },
106
+ "visual_brief": "Settings page with vertical navigation tabs on the left (Profile, Security, Notifications, Danger Zone) and form content on the right. Active tab highlighted with an accent border. On small screens, the nav becomes a horizontal scrollable strip while the forms keep the same comfortable shell spacing. Each settings section is a d-surface card with grouped form fields, section heading, and a stable save action zone.",
107
+ "responsive": {
108
+ "mobile": "Collapse the workspace to a single column with a horizontal scrollable tab strip or segmented control above the active section. Keep the content max-width comfortable and place save or destructive actions close to the relevant field group.",
109
+ "tablet": "Allow either a narrow left settings rail or a horizontal tab strip depending on width. Preserve stable action zones and avoid overly wide form rows.",
110
+ "desktop": "Use a clear split between navigation and content with enough gap to keep settings work readable. Do not let profile or preferences forms stretch edge-to-edge."
111
+ },
112
+ "motion": {
113
+ "micro": "Active nav indicators, save confirmations, and destructive warning states may animate softly over 150-200ms.",
114
+ "transitions": "Switching between settings sections should cross-fade or slide minimally so the workspace still feels stable and operational.",
115
+ "ambient": "Avoid decorative ambient motion in settings surfaces. Keep movement functional and low-noise."
116
+ },
117
+ "interactions": [
118
+ "inline-edit",
119
+ "animate-on-mount",
120
+ "keyboard-navigation"
121
+ ],
122
+ "accessibility": {
123
+ "role": "region",
124
+ "aria-label": "Account settings workspace",
125
+ "keyboard": [
126
+ "Tab moves through settings navigation, fields, and actions in source order.",
127
+ "Arrow keys may move between tab-style navigation items when rendered as a tab list.",
128
+ "Enter or Space activates save, cancel, and destructive confirmation actions."
129
+ ],
130
+ "announcements": [
131
+ "Announce settings section changes such as 'Security settings selected'.",
132
+ "Announce save success, validation errors, and destructive confirmations clearly."
133
+ ],
134
+ "focus_management": "When changing settings sections, move focus to the section heading or first field. Keep destructive actions visually separated and reachable without trapping focus."
135
+ },
136
+ "default_layout": {
137
+ "layout": "stack",
138
+ "atoms": "_flex _col _gap8",
139
+ "slots": {
140
+ "form": "Settings form fields",
141
+ "save": "Save button"
142
+ }
143
+ },
144
+ "composition": {
145
+ "AccountSettings": "Container(d-section, split) > [SettingsNav + SettingsContent]",
146
+ "SettingsNav": "SettingsNavPattern(vertical-tabs, responsive)",
147
+ "SettingsContent": "Panel(d-surface, flex-col, gap-8) > [SectionHeading + AvatarUpload? + FormFields + ActionZone]"
148
+ }
149
+ }
@@ -0,0 +1,154 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "activity-feed",
4
+ "version": "1.1.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Activity Feed",
7
+ "description": "Chronological list of activity events with avatars, timestamps, and action descriptions. The feed owns its rows and grouping, not the outer section spacing around it.",
8
+ "dependencies": {
9
+ "patterns": {},
10
+ "styles": {},
11
+ "requires_core": {
12
+ "components": [
13
+ "Avatar",
14
+ "Badge",
15
+ "Button",
16
+ "Separator",
17
+ "ScrollArea",
18
+ "icon"
19
+ ],
20
+ "charts": []
21
+ }
22
+ },
23
+ "components": [
24
+ "Avatar",
25
+ "Badge",
26
+ "Button"
27
+ ],
28
+ "default_preset": "standard",
29
+ "presets": {
30
+ "standard": {
31
+ "description": "Vertical timeline with avatar, user name, action text, timestamp. Grouped by date.",
32
+ "components": [
33
+ "Avatar",
34
+ "Badge",
35
+ "Button",
36
+ "Separator",
37
+ "icon"
38
+ ],
39
+ "layout": {
40
+ "layout": "column",
41
+ "atoms": "_flex _col _gap2 _w[100%]",
42
+ "slots": {
43
+ "date-header": "Date group separator with _textsm _fgmuted _fontmedium",
44
+ "feed-item": "Single activity row: _flex _row _gap3 _items[start]",
45
+ "avatar": "User Avatar with fallback initials",
46
+ "content": "Action text with user name (_fontmedium) and description",
47
+ "timestamp": "Relative time label with _textsm _fgmuted",
48
+ "load-more": "Button at bottom to load older activities"
49
+ }
50
+ }
51
+ },
52
+ "compact": {
53
+ "description": "Dense list without avatars, just icon + text + relative time",
54
+ "components": [
55
+ "Badge",
56
+ "Button",
57
+ "icon"
58
+ ],
59
+ "layout": {
60
+ "layout": "column",
61
+ "atoms": "_flex _col _gap1 _w[100%]",
62
+ "slots": {
63
+ "feed-item": "Compact row: _flex _row _gap2 _aic",
64
+ "icon": "Small type icon indicator",
65
+ "content": "Action text in single line, truncated",
66
+ "timestamp": "Relative time, right-aligned"
67
+ }
68
+ }
69
+ },
70
+ "detailed": {
71
+ "description": "Each activity is a mini-card with full context, attachments, and reply option",
72
+ "components": [
73
+ "Avatar",
74
+ "Badge",
75
+ "Button",
76
+ "icon"
77
+ ],
78
+ "layout": {
79
+ "layout": "column",
80
+ "atoms": "_flex _col _gap4 _w[100%]",
81
+ "slots": {
82
+ "feed-card": "Activity card: _flex _col _gap2 _p4 _r3 _border _border[var(--border)]",
83
+ "card-header": "Avatar + user + timestamp row",
84
+ "card-body": "Full action description and optional attachment preview",
85
+ "card-actions": "Reply, Like, Share action Buttons"
86
+ }
87
+ }
88
+ }
89
+ },
90
+ "visual_brief": "Vertical timeline of activity events grouped by date. Each date group starts with a muted, small-text date header. Individual feed items are horizontal rows: a circular avatar (with fallback initials) on the left, then a content block with the user name in medium-weight text followed by the action description in normal weight, and a relative timestamp (e.g. '2h ago') in small muted text right-aligned or below. Items are separated by subtle dividers or spacing. The compact preset drops avatars and uses small type-indicator icons instead. The detailed preset wraps each item in a bordered card with attachment previews and action buttons (reply, like).",
91
+ "responsive": {
92
+ "mobile": "Full-width feed. Avatar size reduces to 32px. Timestamp moves below the content text instead of right-aligned. Detailed preset card actions stack vertically. Load-more button goes full-width.",
93
+ "tablet": "Standard layout with avatars at 36px. Timestamp stays inline right-aligned. Comfortable spacing with gap3.",
94
+ "desktop": "Full layout with 40px avatars. Generous spacing. Detailed preset shows attachment previews inline. Actions row is fully horizontal."
95
+ },
96
+ "motion": {
97
+ "micro": "Feed item rows highlight on hover with subtle background transition over 150ms. Action buttons in detailed preset scale on hover.",
98
+ "transitions": "New activity items slide in from the top with 300ms ease-out translateY(-10px) to translateY(0) plus opacity 0 to 1. Staggered by 80ms per item when multiple arrive. Load-more items fade in from below."
99
+ },
100
+ "interactions": [
101
+ "animate-on-mount",
102
+ "stagger-children",
103
+ "real-time-updates",
104
+ "hover-reveal",
105
+ "scroll-reveal"
106
+ ],
107
+ "accessibility": {
108
+ "role": "feed",
109
+ "aria-label": "Activity feed",
110
+ "keyboard": [
111
+ "Tab moves through feed items and inline actions in chronological order.",
112
+ "Load-more controls remain reachable after the newest visible group."
113
+ ],
114
+ "announcements": [
115
+ "New activity items should be announced without rereading the full feed.",
116
+ "Date group headers should remain semantically distinct from entries."
117
+ ],
118
+ "focus_management": "Do not steal focus when new events arrive. Preserve the reader's current position unless they explicitly choose to jump to the latest item."
119
+ },
120
+ "default_layout": {
121
+ "layout": "column",
122
+ "atoms": "_flex _col _gap2 _w[100%]",
123
+ "slots": {
124
+ "date-header": "Date group separator with _textsm _fgmuted _fontmedium",
125
+ "feed-item": "Single activity row: _flex _row _gap3 _items[start]",
126
+ "avatar": "User Avatar with fallback initials",
127
+ "content": "Action text with user name and description",
128
+ "timestamp": "Relative time label",
129
+ "load-more": "Button at bottom to load older activities"
130
+ }
131
+ },
132
+ "io": {
133
+ "consumes": [
134
+ "search",
135
+ "view",
136
+ "filters"
137
+ ],
138
+ "produces": [],
139
+ "actions": [
140
+ "load-more",
141
+ "mark-read"
142
+ ]
143
+ },
144
+ "layout_hints": {
145
+ "event_treatment": "Each event row: small colored dot (8px, color by event type) + timestamp (mono-data, text-xs) + description. Hover: subtle bg highlight.",
146
+ "grouping": "Group events by date. Date header: d-label with accent left-border. Today/Yesterday labels, then ISO dates.",
147
+ "empty_state": "Encouraging: 'No activity yet. Publish your first item to see it here.'"
148
+ },
149
+ "composition": {
150
+ "ActivityFeed": "Container(d-data, flex-col, full-width) > [DateGroup[] + LoadMore?(d-interactive)]",
151
+ "DateGroup": "Group(d-data) > [DateHeader(d-annotation, text-muted) + FeedItem[]]",
152
+ "FeedItem": "Row(d-data-row, hoverable) > [Avatar(fallback-initials) + Content(flex-col) > [UserName(font-medium) + ActionText] + Timestamp(mono-data, text-xs, text-muted)]"
153
+ }
154
+ }
@@ -0,0 +1,130 @@
1
+ {
2
+ "id": "adaptive-density-panel",
3
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Adaptive Density Panel",
7
+ "description": "Self-adjusting container panel that smoothly transitions between information density levels — auto mode uses viewport width and user behavior to determine optimal density, with manual compact/comfortable/spacious overrides.",
8
+ "category": "ambient",
9
+ "tags": [
10
+ "2027",
11
+ "frontier",
12
+ "ambient",
13
+ "density",
14
+ "adaptive",
15
+ "responsive",
16
+ "AI",
17
+ "layout",
18
+ "accessibility"
19
+ ],
20
+ "components": [
21
+ "DensityPanel",
22
+ "DensityControl",
23
+ "ContentRegion",
24
+ "OverflowIndicator",
25
+ "FocusMask"
26
+ ],
27
+ "default_preset": "auto",
28
+ "presets": {
29
+ "auto": {
30
+ "description": "AI-determined density that adapts based on viewport width, scroll velocity, time-on-page, and content volume — narrows spacing when scanning, widens when reading deeply",
31
+ "layout": {
32
+ "layout": "stack",
33
+ "atoms": "_flex _flex-col _gap-auto _transition-all _duration-300"
34
+ }
35
+ },
36
+ "compact": {
37
+ "description": "Maximum information density with tight spacing, small text, and minimal padding — optimized for power users who need to see many items at once, data tables, and dashboard views",
38
+ "layout": {
39
+ "layout": "stack",
40
+ "atoms": "_flex _flex-col _gap-1 _text-xs _p-2"
41
+ }
42
+ },
43
+ "comfortable": {
44
+ "description": "Default balanced density with standard spacing, readable text size, and moderate padding — the general-purpose setting suitable for most content and users",
45
+ "layout": {
46
+ "layout": "stack",
47
+ "atoms": "_flex _flex-col _gap-3 _text-sm _p-4"
48
+ }
49
+ },
50
+ "spacious": {
51
+ "description": "Minimal information density with generous spacing, larger text, and ample padding — focus mode that reduces visual noise and highlights fewer items for deep reading or presentation",
52
+ "layout": {
53
+ "layout": "stack",
54
+ "atoms": "_flex _flex-col _gap-6 _text-base _p-6"
55
+ }
56
+ }
57
+ },
58
+ "visual_brief": "A container panel (d-section, rounded-xl, border, bg-surface) whose internal spacing, font sizes, and padding animate smoothly between density levels. The panel has a header bar and a content area. HEADER: a slim horizontal bar (flex, items-center, justify-between, px matching current density padding, py-2, border-b). On the left: an optional section title (font-semibold, size matching density). On the right: the DensityControl — a segmented control with 3 clickable segments representing density levels. Each segment shows a symbolic icon: compact = three tightly spaced horizontal lines (hamburger-like, 12px), comfortable = three moderately spaced lines (14px), spacious = two widely spaced lines (16px). The active segment has bg-accent/15% and text-accent. Inactive segments are text-muted. The control is 72px wide total, rounded-full, with a 1px border. In auto mode, a small 'A' badge overlays the control indicating automatic mode; clicking any segment overrides auto with the selected density. A long-press on the auto badge re-engages auto mode. CONTENT AREA: the ContentRegion fills the remaining panel space. Its CSS custom properties change per density level — COMPACT: --density-gap: 4px; --density-text: 0.75rem; --density-padding: 8px; --density-line-height: 1.3. COMFORTABLE: --density-gap: 12px; --density-text: 0.875rem; --density-padding: 16px; --density-line-height: 1.5. SPACIOUS: --density-gap: 24px; --density-text: 1rem; --density-padding: 24px; --density-line-height: 1.7. All properties transition simultaneously over 300ms ease-in-out, creating a smooth breathing effect as the panel expands or contracts. Children within the content region inherit these custom properties for their own gap, font-size, padding, and line-height. OVERFLOW: when density hides items (compact can show 20 items, comfortable 12, spacious 6 in the same viewport height), an OverflowIndicator appears at the bottom — a subtle bar (h-8, flex, items-center, justify-center, bg-gradient from transparent to surface, text-xs, text-muted) reading '+8 more items' or 'Scroll for more'. The count updates dynamically as density changes. FOCUS MASK: in spacious mode, an optional FocusMask can dim non-hovered items to 40% opacity, creating a spotlight effect where only the item under the cursor/focus is fully visible. Items transition opacity over 200ms on hover. The mask is disabled in compact and comfortable modes.",
59
+ "layout_hints": {
60
+ "container": "block section, fills available width",
61
+ "note": "The DensityPanel works best as a container wrapping list-like content (feed items, table rows, card grids). The density CSS custom properties should be inherited by child components for consistent density scaling.",
62
+ "auto_algorithm": "Auto density uses: (1) viewport width — under 640px defaults to compact, 640–1024px comfortable, over 1024px comfortable. (2) Scroll velocity — fast scrolling (>200px/s sustained for 2s) temporarily shifts to compact for scanning. (3) Idle time — if user stops scrolling for 10s, shift toward comfortable/spacious. (4) Content volume — if total items exceed 2x viewport capacity, prefer compact. These signals are weighted and blended, not hard thresholds.",
63
+ "transition_smoothness": "All density properties MUST transition together in a single 300ms animation. Do not stagger — simultaneous transition of gap, font-size, padding, and line-height creates a unified breathing effect. Use the CSS transition shorthand: transition: all 300ms ease-in-out.",
64
+ "content_awareness": "Child components should declare a data-density-aware attribute. The DensityPanel will set --density-level: compact|comfortable|spacious as a CSS custom property and data-density attribute on the root, allowing children to adapt beyond just spacing (e.g., hiding secondary text in compact, showing avatars only in comfortable+)."
65
+ },
66
+ "default_layout": {
67
+ "layout": "stack",
68
+ "atoms": "_flex _flex-col _rounded-xl _border _bg-surface _overflow-hidden _transition-all _duration-300",
69
+ "slots": {
70
+ "density-panel": "The root container element. A d-section with rounded-xl, border, bg-surface, overflow-hidden. Sets CSS custom properties based on current density: --density-gap, --density-text, --density-padding, --density-line-height, --density-level. These properties are set on the element's style attribute and transitioned. The panel also sets a data-density attribute ('compact', 'comfortable', 'spacious') on the root element for CSS selector-based child adaptation. In auto mode, the panel runs a lightweight observer: (1) ResizeObserver on the panel for viewport changes, (2) scroll event listener on ContentRegion for velocity tracking, (3) IntersectionObserver on child items for content volume assessment. Density changes are debounced by 500ms to prevent jitter.",
71
+ "density-control": "A segmented control in the panel header for manual density selection. Structure: a flex container (inline-flex, items-center, rounded-full, border, bg-muted/5%, h-7). Three segment buttons, each ~24px wide: COMPACT segment contains an SVG icon of 3 tightly stacked horizontal lines (each 10px wide, 1.5px tall, gap: 2px between lines). COMFORTABLE segment: 3 lines with gap: 3px. SPACIOUS segment: 2 lines with gap: 5px. Each segment has padding: 4px 6px, rounded-full (for the active indicator), cursor: pointer. The active segment has background: var(--d-accent) at 15% opacity, and the icon strokes use var(--d-accent). Inactive segments: icon strokes use var(--d-muted). Transition between active states: background-color 200ms ease-out. When auto mode is active, a small circular badge (12px, bg-accent, text-accent-foreground, text-[8px], font-bold, absolute top: -4px, right: -4px) shows 'A'. Clicking a segment disables auto and locks to that density. Re-enabling auto: long-press (800ms) on any segment, or a small 'Auto' text button adjacent to the control.",
72
+ "content-region": "The main content area below the header. Uses flex-col layout with gap: var(--density-gap). Padding: var(--density-padding). Font-size: var(--density-text). Line-height: var(--density-line-height). The content region holds child items (passed via slot/children). All spacing and text sizing is driven by the CSS custom properties, so any content placed inside automatically respects the current density. The region has overflow-y: auto for scrolling when content exceeds the panel height. Scroll events on this region feed into the auto-density algorithm (velocity tracking). The region also tracks which children are visible via IntersectionObserver to power the OverflowIndicator count.",
73
+ "overflow-indicator": "A fixed-bottom bar within the content region that appears when content overflows the visible area. Structure: a div (sticky, bottom: 0, h-8, flex, items-center, justify-center, pointer-events-none except for the text link). Background: a gradient from transparent (top) to var(--d-surface) (bottom) over 32px, creating a smooth fade-out of content. Centered text: '{N} more items' or 'Scroll for more' in text-xs, text-muted. The count N is computed as total children minus visible children (determined by IntersectionObserver). When all items are visible, the indicator is hidden (display: none). The indicator animates in/out with opacity 0→1 over 200ms when visibility changes. Optionally, the text is a clickable link that scrolls to reveal the next set of items.",
74
+ "focus-mask": "An optional overlay effect activated in spacious density mode. When enabled, all content items within the ContentRegion that are NOT currently hovered or focused receive opacity: 0.4 and a slight blur (filter: blur(0.5px)). The hovered/focused item remains at opacity: 1, no blur, and may receive a subtle scale(1.01) lift. This creates a spotlight/focus effect ideal for presentations or deep reading. Transitions: opacity 200ms ease-out, filter 200ms ease-out, transform 200ms ease-out. The mask is controlled by a parent-level CSS rule: [data-density='spacious'] .content-item:not(:hover):not(:focus-within) { opacity: 0.4; filter: blur(0.5px); }. Disabled in compact and comfortable modes — all items remain at full opacity."
75
+ }
76
+ },
77
+ "accessibility": {
78
+ "role": "region",
79
+ "aria-label": "Adaptive density content panel",
80
+ "announcements": [
81
+ "Density changed to {level}",
82
+ "Auto density mode {enabled|disabled}",
83
+ "Showing {visible} of {total} items",
84
+ "{N} more items available — scroll to view",
85
+ "Focus mode {enabled|disabled}"
86
+ ],
87
+ "keyboard": [
88
+ "Ctrl+Shift+1: set compact density",
89
+ "Ctrl+Shift+2: set comfortable density",
90
+ "Ctrl+Shift+3: set spacious density",
91
+ "Ctrl+Shift+0: toggle auto density",
92
+ "Tab: cycle through density control segments, then into content items",
93
+ "Arrow Up/Down: scroll content region",
94
+ "F: toggle focus mask in spacious mode"
95
+ ]
96
+ },
97
+ "responsive": {
98
+ "mobile": "DensityControl moves from the header to a floating action button (40px circle, bottom-right of panel, shadow-lg). Tapping cycles through density levels. Auto mode defaults to compact on viewport < 375px. OverflowIndicator always visible if content overflows. FocusMask disabled on touch devices (no hover).",
99
+ "tablet": "DensityControl in header as standard. Auto mode responsive to both viewport width and orientation changes. FocusMask available on devices with fine pointer (stylus)."
100
+ },
101
+ "motion": {
102
+ "micro": {
103
+ "density-control-hover": "segment bg-accent/10% 150ms ease-out",
104
+ "density-control-active": "segment scale(0.95) 100ms",
105
+ "overflow-text-hover": "text color muted→accent 150ms"
106
+ },
107
+ "transitions": {
108
+ "density-change": "all CSS custom properties (gap, font-size, padding, line-height) transition simultaneously over 300ms ease-in-out — unified breathing effect",
109
+ "overflow-show": "opacity 0→1 200ms ease-out",
110
+ "overflow-hide": "opacity 1→0 200ms ease-in",
111
+ "focus-mask-engage": "non-hovered items opacity 1→0.4 + blur 0→0.5px 200ms ease-out",
112
+ "focus-mask-disengage": "all items opacity→1 + blur→0 200ms ease-out"
113
+ },
114
+ "ambient": {
115
+ "auto-density-shift": "density transitions triggered by user behavior are slightly slower (500ms) than manual switches (300ms) to feel organic rather than jarring",
116
+ "auto-badge-pulse": "the 'A' badge on density control has a subtle opacity oscillation (0.7→1→0.7) over 3s ease-in-out infinite to indicate auto mode is actively monitoring"
117
+ }
118
+ },
119
+ "interactions": [
120
+ "click-select",
121
+ "animate-on-mount"
122
+ ],
123
+ "composition": {
124
+ "AdaptiveDensityPanel": "Section(d-section, rounded-xl, border, bg-surface) > [Header(flex, border-b) > [Title? + DensityControl] + ContentRegion(flex-col, density-responsive) > [Content* + OverflowIndicator?] + FocusMask?]",
125
+ "DensityControl": "SegmentedControl(inline-flex, rounded-full, border) > [CompactSegment + ComfortableSegment + SpaciousSegment] + AutoBadge?(12px, circle, accent)",
126
+ "ContentRegion": "Div(flex-col, gap: var(--density-gap), p: var(--density-padding), overflow-y-auto) > [ChildItems*(density-aware)]",
127
+ "OverflowIndicator": "Div(sticky, bottom-0, h-8, gradient-fade, text-center) > CountText(text-xs, text-muted)",
128
+ "FocusMask": "CSS-rule(applied-via-data-density='spacious', dims non-hovered items to 40% opacity + subtle blur)"
129
+ }
130
+ }
@@ -0,0 +1,97 @@
1
+ {
2
+ "id": "agent-handoff-zone",
3
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Agent Handoff Zone",
7
+ "description": "A transition portal for agent-to-agent context transfer that visualizes the source agent, target agent, transferred context summary, animated handoff progress, and an approval workflow for human-in-the-loop oversight.",
8
+ "category": "agentic",
9
+ "tags": [
10
+ "2026",
11
+ "agentic",
12
+ "handoff",
13
+ "context-transfer",
14
+ "approval",
15
+ "orchestration"
16
+ ],
17
+ "components": [
18
+ "AgentCard",
19
+ "ContextSummary",
20
+ "HandoffProgress",
21
+ "Timeline",
22
+ "ApproveButton",
23
+ "RejectButton"
24
+ ],
25
+ "default_preset": "standard",
26
+ "presets": {
27
+ "standard": {
28
+ "description": "Full handoff view with source and target agent cards flanking a central transfer visualization, context preview below, and approval actions at the bottom — intended as a focused modal or dedicated page section",
29
+ "layout": {
30
+ "layout": "stack",
31
+ "atoms": "_flex _col _gap6 _p6 _rounded-lg _border _bg-surface"
32
+ }
33
+ },
34
+ "compact": {
35
+ "description": "Single-row summary for notification bars or feed items — shows agent avatars with an arrow between them, one-line context summary, and inline approve/reject icon buttons",
36
+ "layout": {
37
+ "layout": "row",
38
+ "atoms": "_flex _aic _gap4 _px4 _py3 _rounded _border _bg-surface"
39
+ }
40
+ },
41
+ "inline-chat": {
42
+ "description": "Embedded within a chat message stream — styled as a special system message card showing the handoff with minimal chrome, context as a collapsible section, and small action buttons",
43
+ "layout": {
44
+ "layout": "stack",
45
+ "atoms": "_flex _col _gap3 _p4 _rounded _border-dashed _bg-surface-subtle"
46
+ }
47
+ }
48
+ },
49
+ "default_layout": {
50
+ "layout": "stack",
51
+ "atoms": "_flex _col _gap6 _p6 _rounded-lg _border _bg-surface",
52
+ "slots": {
53
+ "source-agent": "Left-positioned agent card showing the handing-off agent. Displays agent name, role/type label (e.g., 'Research Agent'), avatar or icon, and current status badge (completing/handing-off). Card has a subtle left-border accent in the agent's assigned color. Shows a brief summary of what this agent accomplished before initiating the handoff (e.g., '3 sources analyzed, 2 key findings'). Card dims slightly with reduced opacity once the handoff completes to visually signal it is no longer active.",
54
+ "target-agent": "Right-positioned agent card showing the receiving agent. Same structure as source-agent but with a right-border accent. Status badge shows 'receiving' during transfer, then 'active' once handoff completes. If the target agent hasn't started yet, card renders in a waiting/skeleton state with a subtle pulse animation. Agent capabilities are listed as small tags below the name (e.g., 'code-gen', 'testing').",
55
+ "context-preview": "A collapsible panel between/below the agent cards showing the exact context being transferred. Renders as a structured summary with sections: 'Conversation History' (message count + token estimate), 'Key Decisions' (bulleted list of decisions made by source agent), 'Active Constraints' (tags for any rules or guardrails being passed), and 'Artifacts' (list of files, code snippets, or data objects being transferred with size indicators). Each section is independently collapsible. A small 'View Raw' toggle shows the full serialized context JSON in a scrollable code block. Total transfer size is displayed as a badge (e.g., '12.4 KB context').",
56
+ "handoff-animation": "A visual connector between the source-agent and target-agent cards. In the standard layout, renders as a horizontal animated beam or particle stream flowing left-to-right. Uses a three-phase animation: (1) 'packaging' — dots gather at the source card edge, (2) 'transferring' — dots stream across to target in a flowing arc, (3) 'received' — dots absorb into the target card with a brief glow. During the approval-pending state, the animation pauses mid-stream with a pulsing hold indicator. Color follows the theme's primary/accent. The animation area also displays a percentage progress indicator and estimated time remaining.",
57
+ "status-timeline": "A horizontal timeline strip below the main handoff visualization showing key events in chronological order: 'Handoff initiated', 'Context packaged', 'Awaiting approval' (if approval required), 'Transfer in progress', 'Handoff complete'. Each event is a small dot connected by a line, with the current step highlighted and future steps dimmed. Timestamps appear on hover. If the handoff fails or is rejected, the timeline shows the failure point with an error color and a brief reason.",
58
+ "approval-actions": "A row of action buttons that appears when the handoff requires human-in-the-loop approval. Contains: ApproveButton (primary, shows 'Approve Handoff' with a checkmark icon), RejectButton (destructive/outline, shows 'Reject' with an X icon), and an optional 'Modify Context' text button that opens the context-preview in edit mode for humans to redact or add context before approving. When no approval is needed (auto-handoff), this slot renders a subtle 'Auto-approved' label with a timestamp. After action is taken, buttons are replaced with a status label showing the decision and who made it."
59
+ }
60
+ },
61
+ "accessibility": {
62
+ "role": "region",
63
+ "aria-label": "Agent handoff from {source} to {target}",
64
+ "announcements": [
65
+ "Handoff initiated from {source} agent to {target} agent",
66
+ "Awaiting your approval to transfer context",
67
+ "Handoff approved, transfer in progress",
68
+ "Handoff complete, {target} agent is now active",
69
+ "Handoff rejected by {user}"
70
+ ],
71
+ "keyboard": [
72
+ "Tab: navigate between source card, context preview, target card, and action buttons",
73
+ "Enter: expand/collapse context preview sections",
74
+ "A: approve handoff (when approval actions are focused)",
75
+ "R: reject handoff (when approval actions are focused)",
76
+ "Escape: close handoff detail view"
77
+ ]
78
+ },
79
+ "responsive": {
80
+ "mobile": "Agent cards stack vertically (source on top, target below) with the handoff animation rendered as a vertical downward flow between them. Context preview defaults to collapsed. Approval buttons render full-width stacked. Timeline becomes a vertical strip on the left edge.",
81
+ "tablet": "Standard horizontal layout maintained. Context preview starts collapsed to save space. Approval buttons remain inline. Touch targets for approve/reject increased to 48px minimum height."
82
+ },
83
+ "visual_brief": "Horizontal two-card layout with source agent on the left and target agent on the right, connected by an animated transfer beam. Each agent card shows avatar, name, role label, and status badge with a colored left/right border accent. A collapsible context-preview panel sits below the cards displaying transferred data sections. A horizontal status timeline runs underneath with dot-connected steps. Approval action buttons (Approve, Reject) anchor at the bottom. Compact preset collapses to a single row with inline avatars and an arrow between them.",
84
+ "interactions": [
85
+ "drag-nodes",
86
+ "animate-on-mount",
87
+ "status-pulse"
88
+ ],
89
+ "composition": {
90
+ "AgentHandoffZone": "Container(d-section, flex-col, gap-6) > [AgentRow + ContextPreview + StatusTimeline + ApprovalActions?]",
91
+ "AgentRow": "Row(d-surface, gap-6) > [AgentCard(source, accent-left) + HandoffAnimation(animated) + AgentCard(target, accent-right)]",
92
+ "AgentCard": "Card(d-surface) > [Avatar + Name(heading4) + RoleLabel(d-annotation) + StatusBadge(d-annotation, data-status)]",
93
+ "ContextPreview": "Panel(d-surface, collapsible) > [Section(collapsible)[] + ViewRawToggle?(d-interactive)]",
94
+ "StatusTimeline": "Track(d-data) > TimelineStep(dot-connected)[]",
95
+ "ApprovalActions": "Row(d-interactive) > [ApproveButton(variant: primary) + RejectButton(variant: destructive) + ModifyButton?(variant: ghost)]"
96
+ }
97
+ }