@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,103 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "cta-banner",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "CTA Banner",
7
+ "description": "Full-width gradient call-to-action banner with bold headline, supporting subtext, and a prominent action button. Conversion-focused section designed to sit near the bottom of landing pages. Features a multi-stop gradient background that spans the full viewport width.",
8
+ "dependencies": {
9
+ "patterns": {},
10
+ "styles": {},
11
+ "requires_core": {
12
+ "components": [
13
+ "Button"
14
+ ],
15
+ "charts": []
16
+ }
17
+ },
18
+ "components": [
19
+ "Button"
20
+ ],
21
+ "contained": false,
22
+ "default_preset": "gradient",
23
+ "presets": {
24
+ "gradient": {
25
+ "description": "Full-width section with a vibrant multi-stop gradient background (coral -> amber -> cyan -> green at 135deg). Dark text on the bright gradient. Centered layout with: bold headline (2.2rem, dark), supporting paragraph (1.1rem, dark/70%), and a dark pill button. Generous padding (100px vertical). The gradient creates a strong visual break from dark content sections above and below.",
26
+ "components": [
27
+ "Button"
28
+ ],
29
+ "layout": {
30
+ "layout": "hero",
31
+ "atoms": "_py[100px] _px6 _textc _rel _z[1]",
32
+ "slots": {
33
+ "headline": "Bold heading with _fs[2.2rem] _fw700 _fgdark _mb3 _ls[-0.02em]. Direct, action-oriented text like 'Ready to Build Something Great?'",
34
+ "subtext": "Supporting paragraph with _fs[1.1rem] _fgdark/70 _mb8. Brief value proposition or urgency statement.",
35
+ "cta-button": "Dark pill Button: _inline-flex _items[center] _gap2 _py3 _px9 _bgdark _fgwhite _fw700 _fs[1rem] _border[none] _rounded[100px] _transition. Hover: translateY(-2px) with dark box-shadow."
36
+ }
37
+ }
38
+ },
39
+ "dark": {
40
+ "description": "Dark background section with colored text and a colored pill button. Reversed contrast from the gradient preset. Uses the dark app background with a vibrant accent-colored headline, muted subtext, and a primary-colored pill button. Subtler visual treatment, good for sections that should feel integrated with the overall dark theme.",
41
+ "components": [
42
+ "Button"
43
+ ],
44
+ "layout": {
45
+ "layout": "hero",
46
+ "atoms": "_py[100px] _px6 _textc _rel _z[1] _bgbg",
47
+ "slots": {
48
+ "headline": "Bold heading with _fs[2.2rem] _fw700 _fgprimary _mb3 _ls[-0.02em]. Uses the brand accent color.",
49
+ "subtext": "Supporting paragraph with _fs[1.1rem] _fgmuted _mb8.",
50
+ "cta-button": "Primary pill Button: _rounded[100px] _bgprimary _fgwhite _fw700 _py3 _px9. Hover lifts with shadow."
51
+ }
52
+ }
53
+ }
54
+ },
55
+ "default_layout": {
56
+ "layout": "hero",
57
+ "atoms": "_py[100px] _px6 _textc _rel _z[1]",
58
+ "slots": {
59
+ "headline": "Bold, conversion-focused headline",
60
+ "subtext": "Supporting value proposition text",
61
+ "cta-button": "Prominent pill-shaped action button"
62
+ }
63
+ },
64
+ "io": {
65
+ "consumes": [],
66
+ "produces": [],
67
+ "actions": [
68
+ "cta-click"
69
+ ]
70
+ },
71
+ "visual_brief": "Full-viewport-width banner with a multi-stop gradient background (flowing from primary through accent colors). A bold, large headline centered in the banner delivers the conversion message. Below the headline, a single line of supporting subtext in slightly lighter weight. A prominent pill-shaped action button (rounded-full, primary contrast colors) sits centered below the text. The dark preset uses a dark solid background instead of gradient. Generous vertical padding (py-16 to py-24) creates breathing room.",
72
+ "layout_hints": {
73
+ "single_focus": "CTA banner should resolve to one obvious action. Avoid secondary utility controls inside the banner unless the route explicitly requires them.",
74
+ "contrast": "Keep the button and text contrast extremely strong against the gradient background so the section remains legible in both dark and light-adjacent contexts.",
75
+ "section_break": "Use the banner as a clear conversion moment near the end of a narrative flow, not as a generic filler block."
76
+ },
77
+ "responsive": {
78
+ "mobile": "Text scales down slightly. Button goes full-width with generous padding. Vertical padding reduces. Headline may wrap to two lines.",
79
+ "tablet": "Standard centered layout. Button at natural width. Comfortable padding.",
80
+ "desktop": "Full impact — large headline, generous whitespace, button with hover scale effect."
81
+ },
82
+ "motion": {
83
+ "micro": "Button hover and press states may use a compact lift or brightness change. Background gradients should remain stable instead of constantly shifting.",
84
+ "transitions": "Banner entrances should feel premium but restrained: fade-up or soft scale over 220-320ms.",
85
+ "ambient": "If the gradient breathes, keep the animation very low amplitude so the CTA remains readable and calm."
86
+ },
87
+ "interactions": [
88
+ "animate-on-mount",
89
+ "glow-hover",
90
+ "scale-hover"
91
+ ],
92
+ "accessibility": {
93
+ "role": "region",
94
+ "aria-label": "Call to action banner",
95
+ "keyboard": [
96
+ "Tab should move directly to the primary CTA."
97
+ ],
98
+ "announcements": [
99
+ "Headline and value proposition should be announced before the CTA control."
100
+ ],
101
+ "focus_management": "The primary action should be the first interactive target inside the banner and should receive a visible focus treatment that still contrasts against the banner background."
102
+ }
103
+ }
@@ -0,0 +1,122 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "cta-section",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "CTA Section",
7
+ "description": "Full-width call-to-action section with headline, description, and action buttons",
8
+ "dependencies": {
9
+ "patterns": {},
10
+ "styles": {},
11
+ "requires_core": {
12
+ "components": [
13
+ "Button",
14
+ "icon"
15
+ ],
16
+ "charts": []
17
+ }
18
+ },
19
+ "components": [
20
+ "Button"
21
+ ],
22
+ "contained": false,
23
+ "default_preset": "standard",
24
+ "presets": {
25
+ "standard": {
26
+ "description": "Centered headline + subtext + primary/secondary buttons. Background can have gradient or subtle pattern.",
27
+ "components": [
28
+ "Button",
29
+ "icon"
30
+ ],
31
+ "layout": {
32
+ "layout": "hero",
33
+ "atoms": "_flex _col _items[center] _text[center] _py12 _px4 _gap4",
34
+ "slots": {
35
+ "headline": "Section heading with _heading2, centered",
36
+ "description": "Supporting paragraph with _body _fgmuted _mw[640px]",
37
+ "cta-group": "Horizontal Button group with _flex _gap3, primary + secondary"
38
+ }
39
+ }
40
+ },
41
+ "split": {
42
+ "description": "Two-column: text on left, image/illustration on right",
43
+ "components": [
44
+ "Button",
45
+ "icon"
46
+ ],
47
+ "layout": {
48
+ "layout": "row",
49
+ "atoms": "_grid _gc1 _lg:gc2 _gap6 _items[center] _py8",
50
+ "slots": {
51
+ "text-col": "Left column with headline, description, and CTA buttons: _flex _col _gap4",
52
+ "headline": "Section heading with _heading2",
53
+ "description": "Supporting paragraph with _body _fgmuted",
54
+ "cta-group": "Horizontal Button group with _flex _gap3",
55
+ "media-col": "Right column with image or illustration"
56
+ }
57
+ }
58
+ },
59
+ "banner": {
60
+ "description": "Compact horizontal bar with text on left, single button on right. Good for inline CTAs between content sections.",
61
+ "components": [
62
+ "Button"
63
+ ],
64
+ "layout": {
65
+ "layout": "row",
66
+ "atoms": "_flex _row _justify[between] _items[center] _py4 _px6 _rounded _bgprimary/10",
67
+ "slots": {
68
+ "text": "Inline text with _body _fontmedium",
69
+ "cta": "Single primary Button on the right"
70
+ }
71
+ }
72
+ }
73
+ },
74
+ "visual_brief": "Full-width call-to-action section with generous vertical padding (py12) and centered content. A bold heading2-scale headline sits at top, followed by a supporting paragraph in muted text constrained to 640px max-width for readability. Two CTA buttons arranged horizontally below — the primary button filled with brand color, the secondary as a ghost/outlined variant. The section background can carry a subtle gradient, pattern, or elevated surface treatment to stand out from adjacent content sections. The split preset places text and CTA on the left with an illustration or image on the right. The banner preset is a compact horizontal bar with accent background tint, text on the left and a single button on the right.",
75
+ "layout_hints": {
76
+ "shell_rhythm": "CTA sections should feel like a deliberate break in the page rhythm, but they still inherit the shell-owned width and spacing system. Do not add extra page wrappers around them.",
77
+ "cta_priority": "The primary CTA must be visually dominant, but secondary CTAs should still feel aligned and intentional rather than like an afterthought.",
78
+ "background_treatment": "Use a distinct but controlled background treatment so the CTA reads as a purposeful moment, not as a random card dropped into the page."
79
+ },
80
+ "responsive": {
81
+ "mobile": "Standard preset: content stacks vertically, full-width. CTA buttons stack vertically at full width. Split preset becomes single column with image below text. Banner preset wraps text and button vertically.",
82
+ "tablet": "Standard stays centered. Split preset activates two-column grid. Banner remains horizontal. Padding adjusts to py8.",
83
+ "desktop": "Full layout as designed. Standard centered with generous spacing. Split shows two-column with image. Banner compact and horizontal with accent background."
84
+ },
85
+ "motion": {
86
+ "micro": "CTA buttons may lift or brighten subtly on hover and focus, but the section itself should remain visually stable.",
87
+ "transitions": "CTA sections can fade or reveal softly with the page flow over 200-300ms, avoiding large parallax or attention-seeking animation.",
88
+ "ambient": "Background gradients or highlights may breathe very subtly, but should never distract from the headline and CTA group."
89
+ },
90
+ "interactions": [
91
+ "animate-on-mount",
92
+ "stagger-children",
93
+ "glow-hover"
94
+ ],
95
+ "accessibility": {
96
+ "role": "region",
97
+ "aria-label": "Call to action section",
98
+ "keyboard": [
99
+ "Tab moves through the CTA buttons in visual order."
100
+ ],
101
+ "announcements": [
102
+ "Headline and supporting copy should be announced before CTA buttons so the user understands the action context."
103
+ ],
104
+ "focus_management": "Do not trap focus in CTA groups. Buttons should remain easy to reach after preceding page content in normal reading order."
105
+ },
106
+ "default_layout": {
107
+ "layout": "hero",
108
+ "atoms": "_flex _col _items[center] _text[center] _py12 _px4 _gap4",
109
+ "slots": {
110
+ "headline": "Section heading, centered",
111
+ "description": "Supporting paragraph",
112
+ "cta-group": "Action buttons"
113
+ }
114
+ },
115
+ "io": {
116
+ "consumes": [],
117
+ "produces": [],
118
+ "actions": [
119
+ "cta-click"
120
+ ]
121
+ }
122
+ }
@@ -0,0 +1,124 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "cta",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Call to Action",
7
+ "description": "Prominent call-to-action section with headline, supporting text, and action buttons",
8
+ "dependencies": {
9
+ "patterns": {},
10
+ "styles": {},
11
+ "requires_core": {
12
+ "components": [
13
+ "Button",
14
+ "icon"
15
+ ],
16
+ "charts": []
17
+ }
18
+ },
19
+ "components": [
20
+ "Button",
21
+ "icon"
22
+ ],
23
+ "contained": false,
24
+ "default_preset": "standard",
25
+ "presets": {
26
+ "standard": {
27
+ "description": "Centered headline + subtext + primary/secondary buttons with optional background treatment",
28
+ "components": [
29
+ "Button",
30
+ "icon"
31
+ ],
32
+ "layout": {
33
+ "layout": "hero",
34
+ "atoms": "_flex _col _items[center] _text[center] _py12 _px4 _gap4",
35
+ "slots": {
36
+ "headline": "Section heading with _heading2, centered",
37
+ "description": "Supporting paragraph with _body _fgmuted _mw[640px]",
38
+ "cta-group": "Horizontal Button group with _flex _gap3, primary + secondary"
39
+ }
40
+ }
41
+ },
42
+ "split": {
43
+ "description": "Two-column: text on left, image/illustration on right",
44
+ "components": [
45
+ "Button",
46
+ "icon"
47
+ ],
48
+ "layout": {
49
+ "layout": "row",
50
+ "atoms": "_grid _gc1 _lg:gc2 _gap6 _items[center] _py8",
51
+ "slots": {
52
+ "text-col": "Left column: headline, description, CTA buttons stacked: _flex _col _gap4",
53
+ "headline": "Section heading with _heading2",
54
+ "description": "Supporting paragraph with _body _fgmuted",
55
+ "cta-group": "Horizontal Button group with _flex _gap3",
56
+ "media-col": "Right column with image or illustration"
57
+ }
58
+ }
59
+ },
60
+ "banner": {
61
+ "description": "Compact horizontal bar with text on left, single button on right",
62
+ "components": [
63
+ "Button"
64
+ ],
65
+ "layout": {
66
+ "layout": "row",
67
+ "atoms": "_flex _row _justify[between] _items[center] _py4 _px6 _rounded _bgprimary/10",
68
+ "slots": {
69
+ "text": "Inline text with _body _fontmedium",
70
+ "cta": "Single primary Button on the right"
71
+ }
72
+ }
73
+ }
74
+ },
75
+ "visual_brief": "Full-width call-to-action section designed to drive user action. The standard preset centers a bold heading2-scale headline, a supporting paragraph in muted text constrained to 640px max-width, and two horizontally-arranged CTA buttons \u2014 primary filled and secondary ghost-outlined. The section has generous vertical padding (py12) and can carry a subtle gradient background, pattern texture, or elevated surface treatment to visually distinguish it from surrounding content. The split preset places the text and CTAs on the left column with an illustration, screenshot, or decorative image on the right. The banner preset is a compact single-row bar with a tinted background (primary at 10% opacity), text on the left, and a single action button on the right \u2014 useful as an inline CTA between content sections.",
76
+ "responsive": {
77
+ "mobile": "Standard: content stacks vertically, full-width. CTA buttons stack vertically at full width, primary on top. Split: becomes single column with image below text. Banner: wraps text and button vertically with centered alignment. Padding reduces to py8 px4.",
78
+ "tablet": "Standard stays centered with comfortable width. Split activates two-column grid. Banner remains horizontal. Padding at py10.",
79
+ "desktop": "Full layout \u2014 standard centered with py12. Split shows side-by-side columns with gap6. Banner compact horizontal with accent background."
80
+ },
81
+ "motion": {
82
+ "micro": "CTA button pulses with subtle scale(1.02) and shadow increase on idle after 3s, 1.5s duration loop. Button brightens on hover over 150ms.",
83
+ "transitions": "Section content fades up (translateY(16px) to 0, opacity 0 to 1) on viewport enter with 400ms ease."
84
+ },
85
+ "interactions": [
86
+ "animate-on-mount",
87
+ "glow-hover",
88
+ "scale-hover"
89
+ ],
90
+ "accessibility": {
91
+ "role": "complementary",
92
+ "aria-label": "Call to action",
93
+ "keyboard": [
94
+ "Tab navigates to CTA buttons",
95
+ "Enter or Space activates the focused CTA button"
96
+ ],
97
+ "announcements": [
98
+ "Call to action section",
99
+ "Primary action: {button_text}"
100
+ ],
101
+ "focus_management": "Primary CTA button receives visible focus ring on Tab. Focus order: headline, description, primary button, secondary button."
102
+ },
103
+ "default_layout": {
104
+ "layout": "hero",
105
+ "atoms": "_flex _col _items[center] _text[center] _py12 _px4 _gap4",
106
+ "slots": {
107
+ "headline": "Section heading, centered",
108
+ "description": "Supporting paragraph",
109
+ "cta-group": "Action buttons"
110
+ }
111
+ },
112
+ "io": {
113
+ "consumes": [],
114
+ "produces": [],
115
+ "actions": [
116
+ "cta-click"
117
+ ]
118
+ },
119
+ "layout_hints": {
120
+ "background_treatment": "CTA section should stand out from the rest of the page. Use a gradient background: linear-gradient(135deg, color-mix(in srgb, var(--d-primary) 8%, var(--d-bg)), color-mix(in srgb, var(--d-accent) 5%, var(--d-bg))). Or use a glassmorphic surface with backdrop-blur.",
121
+ "button_treatment": "The primary CTA button should be larger than standard buttons (py-3 px-8, text-lg). For neon themes, add a subtle glow on hover: box-shadow: 0 0 20px rgba(var(--d-primary-rgb), 0.3).",
122
+ "urgency": "Add a subtle visual urgency element \u2014 a small line of muted text below the button like \"Free for teams up to 5 agents\" or a trust indicator row (logos or badges). This prevents the CTA from feeling empty."
123
+ }
124
+ }
@@ -0,0 +1,131 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "data-source-connector",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Data Source Connector",
7
+ "description": "Card-based interface for connecting to external data sources with status indicators, configuration forms, connection testing, and sync controls for integration management.",
8
+ "category": "integration",
9
+ "tags": [
10
+ "2026",
11
+ "integration",
12
+ "data-source",
13
+ "connector",
14
+ "sync",
15
+ "configuration",
16
+ "api"
17
+ ],
18
+ "components": [
19
+ "SourceCard",
20
+ "SourceIcon",
21
+ "ConnectionStatus",
22
+ "SyncButton",
23
+ "ConfigForm",
24
+ "TestConnectionButton",
25
+ "SourceCatalog"
26
+ ],
27
+ "default_preset": "catalog",
28
+ "presets": {
29
+ "catalog": {
30
+ "description": "Grid of available data source cards showing icons, names, and connection status — the starting view for browsing and initiating new connections",
31
+ "layout": {
32
+ "layout": "grid",
33
+ "atoms": "_grid _gc1 _sm:gc2 _lg:gc3 _gap4 _py4 _w-full"
34
+ }
35
+ },
36
+ "connected": {
37
+ "description": "Filtered view showing only active connections with last sync time, sync status, and quick-action controls — for monitoring and managing established integrations",
38
+ "layout": {
39
+ "layout": "grid",
40
+ "atoms": "_grid _gc1 _sm:gc2 _lg:gc3 _gap4 _py4 _w-full"
41
+ }
42
+ },
43
+ "setup": {
44
+ "description": "Configuration form panel for establishing or editing a data source connection — shows credential fields, host/port inputs, and test connection workflow with inline validation",
45
+ "layout": {
46
+ "layout": "center",
47
+ "atoms": "_flex _col _gap6 _maxw-[560px] _mx-auto _py6"
48
+ }
49
+ }
50
+ },
51
+ "visual_brief": "Responsive grid of SourceCard components. Each card is a surface card (border, rounded-lg, padding 24px) containing: a large recognizable SourceIcon at the top center (48px, e.g. PostgreSQL blue elephant, MySQL dolphin, Stripe purple logo, Snowflake snowflake, MongoDB green leaf, Google Sheets green document icon, Salesforce cloud), the source name in semibold text below the icon, a short one-line description in muted text (e.g. 'Relational database'), and a ConnectionStatus badge at the bottom. Connected sources show a green dot + 'Connected' label with 'Last sync: 2m ago' in small muted text below. Disconnected sources show a gray dot + 'Not connected' and the card has slightly reduced opacity (0.85). Sources with sync errors show a red dot + 'Error' with a warning icon. Hovering a card elevates it with shadow-md and a subtle border accent. Clicking a disconnected card opens the setup panel: a centered form card that slides in from the right (or replaces the grid on mobile). The ConfigForm contains: the source icon and name at the top, a horizontal divider, then input fields specific to the source type (e.g. for PostgreSQL: Host, Port, Database Name, Username, Password with a show/hide toggle, SSL toggle). Each field has a label and placeholder text. Below the fields, a TestConnectionButton: a secondary outlined button that on click shows a spinner, then either a green checkmark + 'Connection successful' or a red X + error message with detail text. Below the test button, a primary 'Save & Connect' button (disabled until test passes). For connected sources, clicking the card shows a detail panel with: connection info summary (host, database, masked credentials), last sync timestamp, sync duration, record counts, a SyncButton (secondary button with rotating arrows icon during sync, 'Sync Now' label), a 'Disconnect' destructive text button, and an 'Edit' button to modify configuration. The SyncButton shows rotating arrows during active sync with a progress label ('Syncing... 45%'), then transitions to a checkmark + 'Synced' on completion.",
52
+ "default_layout": {
53
+ "layout": "grid",
54
+ "atoms": "_grid _gc1 _sm:gc2 _lg:gc3 _gap4 _py4",
55
+ "slots": {
56
+ "source-catalog": "The main grid container displaying SourceCard components. Shows all available data sources in a responsive grid (1 column mobile, 2 tablet, 3 desktop). A search input above the grid filters cards by name. Optional category tabs (Databases, APIs, Files, Warehouses) filter the catalog. An 'Add Custom Source' card with a dashed border and plus icon sits at the end of the grid.",
57
+ "source-card": "Repeating card slot for each data source. Surface card with: SourceIcon (48px, centered, recognizable brand icon or generic database/API icon), source name (semibold, centered below icon), source description (muted, one-line, centered), and ConnectionStatus badge at bottom. Card states: disconnected (normal surface, gray status dot), connected (normal surface, green status dot, last sync time), error (surface with subtle red-tinted border, red status dot, error message). Hover: elevate with shadow-md + border-accent hint. Click: opens setup form (if disconnected) or detail panel (if connected).",
58
+ "config-form": "Setup/edit panel for configuring a data source connection. Header: source icon (32px) + source name + close X button. Body: form fields varying by source type — common fields include Host/URL input, Port number input, Database/Resource name, Authentication section (username + password with visibility toggle, or API key field, or OAuth connect button). SSL/TLS toggle switch. Advanced section (collapsible): connection timeout, max pool size, custom parameters as key-value pairs. Footer: TestConnectionButton (outlined, shows spinner → success/failure inline) and primary 'Save & Connect' button (disabled until test succeeds). For editing existing connections, fields are pre-filled and the button reads 'Save Changes'.",
59
+ "connection-detail": "Panel shown when clicking a connected source card. Shows: connection summary (host, database, credentials masked as dots), sync statistics (last sync time, duration, records synced, errors), SyncButton with label and rotating-arrows animation during sync, a 'Disconnect' destructive button with confirmation dialog, and an 'Edit Configuration' button that switches to the config form."
60
+ }
61
+ },
62
+ "responsive": {
63
+ "mobile": "Grid becomes single column. Source cards are full-width. Config form opens as a full-screen overlay or pushed view. Test connection result shows inline. Search input full-width above cards. Category tabs become a horizontal scrollable chip row.",
64
+ "tablet": "Two-column grid. Config form opens as a right-side panel (50% width) overlaying the grid. Comfortable card sizes with full icon and text visibility.",
65
+ "desktop": "Three-column grid with generous card spacing. Config form opens as a slide-out panel from the right (400px fixed width) with the grid still visible and dimmed behind. Connection detail can show as a popover or the same slide-out panel."
66
+ },
67
+ "layout_hints": {
68
+ "catalog_priority": "Lead with source identity and connection state first. Setup and detail panels should feel like progressive disclosure attached to the selected source rather than a separate admin surface.",
69
+ "status_clarity": "Connected, disconnected, and error states should remain immediately legible before the user reads any deeper configuration detail.",
70
+ "panel_attachment": "Config and connection-detail panels should feel physically tied to the selected source card so users never lose track of what they are editing."
71
+ },
72
+ "layout_hints": {
73
+ "catalog_priority": "Lead with source identity and connection state first. Setup and detail panels should feel like progressive disclosure attached to the selected source rather than a separate admin surface.",
74
+ "status_clarity": "Connected, disconnected, and error states should remain immediately legible before the user reads any deeper configuration detail.",
75
+ "panel_attachment": "Config and connection-detail panels should feel physically tied to the selected source card so users never lose track of what they are editing."
76
+ },
77
+ "motion": {
78
+ "micro": {
79
+ "card-hover": "translateY(-2px) + shadow-md + border-color accent/30 150ms ease-out",
80
+ "status-dot-pulse": "scale(1→1.3→1) 2s ease-in-out infinite on connected status",
81
+ "test-button-press": "scale(0.97) 100ms ease-in"
82
+ },
83
+ "transitions": {
84
+ "config-panel-open": "translateX(100%)→0 + opacity 0→1 300ms ease-out",
85
+ "config-panel-close": "translateX(0)→100% + opacity 1→0 250ms ease-in",
86
+ "test-success": "spinner-fade-out 200ms + checkmark-scale(0→1) 300ms ease-out bounce",
87
+ "test-failure": "spinner-fade-out 200ms + error-icon-shake translateX(-3px→3px→0) 300ms ease-out",
88
+ "sync-complete": "rotating-arrows-stop + checkmark-fade-in 400ms ease-out",
89
+ "card-connect": "border-color gray→accent + status-dot-color gray→green 500ms ease-out"
90
+ },
91
+ "ambient": {
92
+ "sync-in-progress": "rotate(0→360deg) 1.2s linear infinite on sync arrows icon",
93
+ "error-glow": "box-shadow red/10 pulse 2s ease-in-out infinite on error status cards"
94
+ }
95
+ },
96
+ "interactions": [
97
+ "inline-edit",
98
+ "click-select",
99
+ "animate-on-mount"
100
+ ],
101
+ "composition": {
102
+ "DataSourceConnector": "Container(d-section, flex-col, gap-4) > [SearchBar?(d-control) + CategoryTabs?(d-control) + SourceCatalog(d-surface, grid: responsive)] > SourceCard(d-interactive, hover-elevate)* > [SourceIcon(d-annotation, centered, 48px) + SourceName(d-data, semibold) + SourceDescription(d-annotation, muted) + ConnectionStatus(d-annotation, dot + label)] + ConfigForm?(d-surface, slide-panel)",
103
+ "SourceCatalog": "Grid(d-surface, responsive-columns) > SourceCard(d-interactive)[] + AddCustomCard(d-interactive, dashed-border)",
104
+ "SourceCard": "Card(d-interactive, surface, rounded-lg, hover: elevate) > [SourceIcon(d-annotation, brand-icon, 48px, centered) + SourceName(d-data, semibold, centered) + SourceDescription(d-annotation, muted, one-line) + ConnectionStatus(d-annotation) > [StatusDot(color: status) + StatusLabel + LastSync?(muted, small)]]",
105
+ "ConfigForm": "Panel(d-surface, slide-from-right, padding-lg) > [Header > [SourceIcon(32px) + SourceName + CloseButton(d-interactive)] + Divider + FormFields(d-data, flex-col, gap-4) > [Input(d-interactive, type: per-field)]* + TestConnectionButton(d-interactive, secondary, inline-result) + SaveButton(d-interactive, primary, disabled-until-tested)]",
106
+ "ConnectionDetail": "Panel(d-surface) > [ConnectionSummary(d-data) + SyncStats(d-data) > [LastSync + Duration + RecordCount] + SyncButton(d-interactive, icon: rotating-arrows) + EditButton(d-interactive, secondary) + DisconnectButton(d-interactive, destructive)]"
107
+ },
108
+ "accessibility": {
109
+ "role": "grid",
110
+ "aria-label": "Data source connector catalog and configuration",
111
+ "keyboard": [
112
+ "Arrow keys: navigate between source cards in the grid",
113
+ "Enter: open configuration form or connection detail for focused card",
114
+ "Tab: move between form fields within config panel",
115
+ "Escape: close config panel or connection detail",
116
+ "T: trigger test connection (when config form is open)",
117
+ "S: trigger sync (when connection detail is open)",
118
+ "Backspace/Delete: disconnect source (with confirmation)"
119
+ ],
120
+ "announcements": [
121
+ "{source_name}: {connection_status}",
122
+ "Configuration form opened for {source_name}",
123
+ "Testing connection to {source_name}...",
124
+ "Connection test {result}: {detail}",
125
+ "Connected to {source_name} successfully",
126
+ "Sync started for {source_name}",
127
+ "Sync complete: {record_count} records in {duration}",
128
+ "Disconnected from {source_name}"
129
+ ]
130
+ }
131
+ }
@@ -0,0 +1,138 @@
1
+ {
2
+ "$schema": "https://decantr.ai/schemas/pattern.v2.json",
3
+ "id": "data-table",
4
+ "version": "1.0.0",
5
+ "decantr_compat": ">=2.0.0",
6
+ "name": "Data Table",
7
+ "description": "Sortable, filterable, paginated data table with row selection",
8
+ "dependencies": {
9
+ "patterns": {},
10
+ "styles": {},
11
+ "requires_core": {
12
+ "components": [
13
+ "Table",
14
+ "Checkbox",
15
+ "Button",
16
+ "Input",
17
+ "Badge",
18
+ "icon"
19
+ ],
20
+ "charts": []
21
+ }
22
+ },
23
+ "components": [
24
+ "Table",
25
+ "Checkbox",
26
+ "Button",
27
+ "Input",
28
+ "Badge",
29
+ "icon"
30
+ ],
31
+ "default_preset": "standard",
32
+ "presets": {
33
+ "standard": {
34
+ "description": "Full-featured table with column headers, sortable columns, row selection checkboxes, pagination footer",
35
+ "components": [
36
+ "Table",
37
+ "Checkbox",
38
+ "Button",
39
+ "Input",
40
+ "Badge",
41
+ "icon"
42
+ ],
43
+ "layout": {
44
+ "layout": "column",
45
+ "atoms": "_flex _col _gap4 _w[100%] _overflow[auto]",
46
+ "slots": {
47
+ "toolbar": "Top row with optional search Input and action Buttons",
48
+ "table-header": "Column headers with sort controls",
49
+ "table-body": "Data rows with optional row selection Checkbox",
50
+ "pagination": "Footer with page info and prev/next Buttons"
51
+ }
52
+ }
53
+ },
54
+ "compact": {
55
+ "description": "Denser rows, no selection, simpler pagination (prev/next only)",
56
+ "components": [
57
+ "Table",
58
+ "Button",
59
+ "Badge",
60
+ "icon"
61
+ ],
62
+ "layout": {
63
+ "layout": "column",
64
+ "atoms": "_flex _col _gap2 _w[100%] _overflow[auto]",
65
+ "slots": {
66
+ "table-header": "Column headers without sort controls",
67
+ "table-body": "Dense data rows without selection",
68
+ "pagination": "Simple prev/next footer"
69
+ }
70
+ }
71
+ }
72
+ },
73
+ "visual_brief": "Full-width data table with a sticky header row. Header cells use uppercase, small, muted text with sort-direction arrows on sortable columns. Data rows have consistent vertical padding (py3) for scan-ability, with subtle zebra-stripe background on hover. Row-selection checkboxes align in the first column. Active selections highlight the row with a faint primary-color tint. A toolbar above the table holds a search input on the left and action buttons (export, delete) on the right. Pagination controls at the bottom show current range, total count, and prev/next buttons with disabled states at boundaries.",
74
+ "responsive": {
75
+ "mobile": "Table transforms into a stacked card list. Each row becomes a vertical card with label-value pairs. Toolbar search goes full-width. Pagination simplifies to prev/next only. Horizontal scroll is avoided entirely.",
76
+ "tablet": "Table displays with horizontal scroll if columns exceed viewport. Sticky first column for row identifiers. Toolbar remains single row.",
77
+ "desktop": "Full table layout with all columns visible. Sticky header on scroll. Toolbar with search, filters, and bulk action buttons. Full pagination with page numbers."
78
+ },
79
+ "motion": {
80
+ "micro": "Row hover highlights with 150ms background-color transition. Sort arrow rotates 180deg on direction change with 200ms ease. Checkbox scales briefly on check (scale 1.1 for 100ms).",
81
+ "transitions": "Rows entering from filter/search fade in with 200ms opacity transition. Bulk-selected rows highlight with a slide-in left-border accent over 150ms."
82
+ },
83
+ "interactions": [
84
+ "keyboard-navigation",
85
+ "click-select",
86
+ "hover-reveal",
87
+ "animate-on-mount",
88
+ "stagger-children"
89
+ ],
90
+ "accessibility": {
91
+ "role": "Table uses semantic <table>, <thead>, <tbody>, <th>, <td> elements. Sort buttons are <button> inside <th> with aria-sort attribute.",
92
+ "keyboard": [
93
+ "Arrow keys navigate cells.",
94
+ "Space toggles row selection.",
95
+ "Enter activates row action.",
96
+ "Tab moves between toolbar, table, and pagination."
97
+ ],
98
+ "screen_reader": "aria-label on table describes content. aria-sort on sortable headers. Live region announces sort changes and selection count. Pagination uses nav with aria-label."
99
+ },
100
+ "layout_hints": {
101
+ "toolbar_balance": "Search, filters, and bulk actions should feel like one operational control band, not several detached widgets.",
102
+ "row_density": "Keep row spacing scannable and consistent. Dense data tables should still preserve a clear visual rhythm and avoid accidental crowding.",
103
+ "mobile_fallback": "The card-list fallback should keep label-value semantics clear instead of becoming a generic stack of text."
104
+ },
105
+ "default_layout": {
106
+ "layout": "column",
107
+ "atoms": "_flex _col _gap4 _w[100%] _overflow[auto]",
108
+ "slots": {
109
+ "toolbar": "Top row with optional search Input and action Buttons",
110
+ "table-header": "Column headers with sort controls",
111
+ "table-body": "Data rows with optional row selection Checkbox",
112
+ "pagination": "Footer with page info and prev/next Buttons"
113
+ }
114
+ },
115
+ "io": {
116
+ "consumes": [
117
+ "search",
118
+ "filters",
119
+ "data"
120
+ ],
121
+ "produces": [
122
+ "selection",
123
+ "sort"
124
+ ],
125
+ "actions": [
126
+ "export",
127
+ "delete",
128
+ "edit"
129
+ ]
130
+ },
131
+ "composition": {
132
+ "DataTable": "Container(d-data, full-width) > [Toolbar + Table + Pagination]",
133
+ "Toolbar": "Row(d-control) > [SearchInput(d-control) + ActionButtons(d-interactive)]",
134
+ "Table": "Table(d-data) > [TableHeader > HeaderCell(sortable?, sort-indicator?)[] + TableBody > DataRow(d-data-row, hoverable, striped?)[]]",
135
+ "DataRow": "Row > [Checkbox?(d-control) + DataCell(d-data-cell)[]]",
136
+ "Pagination": "Row(d-control) > [PageInfo(text-muted) + PageButtons(d-interactive, variant: ghost)[]]"
137
+ }
138
+ }