@vadimcomanescu/nadicode-design-system 4.0.11 → 5.0.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 (677) hide show
  1. package/.agents/skills/seed/SKILL.md +27 -22
  2. package/.agents/skills/seed/references/animation.md +1 -1
  3. package/.agents/skills/seed/references/composition.md +1 -1
  4. package/.agents/skills/seed/references/glass-and-effects.md +16 -21
  5. package/.agents/skills/seed/references/patterns.md +47 -47
  6. package/.agents/skills/seed/references/state-machines.md +19 -18
  7. package/README.md +3 -1
  8. package/contracts/consumer-intent-map.json +2 -700
  9. package/contracts/message-catalog-contract.json +20 -20
  10. package/contracts/release-governance-baseline.json +14 -265
  11. package/dist/ProfilePage-KJVA3ZQ5.js +87 -0
  12. package/dist/TeamPage-BX3RMSZU.js +479 -0
  13. package/dist/catalog/catalog.d.ts +4753 -1883
  14. package/dist/catalog/catalog.js +22 -2107
  15. package/dist/catalog/components.d.ts +234 -177
  16. package/dist/catalog/components.js +217 -288
  17. package/dist/catalog/definitions/action.d.ts +170 -0
  18. package/dist/catalog/definitions/action.js +1 -0
  19. package/dist/catalog/definitions/agent.d.ts +496 -0
  20. package/dist/catalog/definitions/agent.js +1 -0
  21. package/dist/catalog/definitions/blocks-agent.d.ts +359 -0
  22. package/dist/catalog/definitions/blocks-agent.js +1 -0
  23. package/dist/catalog/definitions/blocks-auth.d.ts +179 -0
  24. package/dist/catalog/definitions/blocks-auth.js +1 -0
  25. package/dist/catalog/definitions/blocks-content.d.ts +495 -0
  26. package/dist/catalog/definitions/blocks-content.js +2 -0
  27. package/dist/catalog/definitions/blocks-crud.d.ts +485 -0
  28. package/dist/catalog/definitions/blocks-crud.js +1 -0
  29. package/dist/catalog/definitions/blocks-data.d.ts +309 -0
  30. package/dist/catalog/definitions/blocks-data.js +2 -0
  31. package/dist/catalog/definitions/blocks-marketing.d.ts +381 -0
  32. package/dist/catalog/definitions/blocks-marketing.js +1 -0
  33. package/dist/catalog/definitions/blocks-misc.d.ts +108 -0
  34. package/dist/catalog/definitions/blocks-misc.js +1 -0
  35. package/dist/catalog/definitions/chart.d.ts +293 -0
  36. package/dist/catalog/definitions/chart.js +2 -0
  37. package/dist/catalog/definitions/chat.d.ts +108 -0
  38. package/dist/catalog/definitions/chat.js +1 -0
  39. package/dist/catalog/definitions/display.d.ts +575 -0
  40. package/dist/catalog/definitions/display.js +2 -0
  41. package/dist/catalog/definitions/effects.d.ts +267 -0
  42. package/dist/catalog/definitions/effects.js +1 -0
  43. package/dist/catalog/definitions/form.d.ts +413 -0
  44. package/dist/catalog/definitions/form.js +2 -0
  45. package/dist/catalog/definitions/index.d.ts +5262 -0
  46. package/dist/catalog/definitions/index.js +21 -0
  47. package/dist/catalog/definitions/layout.d.ts +133 -0
  48. package/dist/catalog/definitions/layout.js +1 -0
  49. package/dist/catalog/definitions/navigation.d.ts +121 -0
  50. package/dist/catalog/definitions/navigation.js +1 -0
  51. package/dist/catalog/definitions/overlay.d.ts +183 -0
  52. package/dist/catalog/definitions/overlay.js +1 -0
  53. package/dist/catalog/definitions/shared.d.ts +31 -0
  54. package/dist/catalog/definitions/shared.js +1 -0
  55. package/dist/catalog/definitions/text-effects.d.ts +204 -0
  56. package/dist/catalog/definitions/text-effects.js +1 -0
  57. package/dist/catalog/definitions/text.d.ts +38 -0
  58. package/dist/catalog/definitions/text.js +1 -0
  59. package/dist/catalog/primitives/action.d.ts +12 -0
  60. package/dist/{components/ui/AnimatedDialog.js → catalog/primitives/action.js} +42 -33
  61. package/dist/catalog/primitives/agent.d.ts +18 -0
  62. package/dist/catalog/primitives/agent.js +32 -0
  63. package/dist/catalog/primitives/chart.d.ts +12 -0
  64. package/dist/catalog/primitives/chart.js +17 -0
  65. package/dist/catalog/primitives/chat.d.ts +10 -0
  66. package/dist/{components/page-kits/TwoFactorPageKit.js → catalog/primitives/chat.js} +42 -44
  67. package/dist/catalog/primitives/display.d.ts +34 -0
  68. package/dist/{components/page-kits/TeamSettingsPageKit.js → catalog/primitives/display.js} +70 -47
  69. package/dist/catalog/primitives/effects.d.ts +19 -0
  70. package/dist/catalog/primitives/effects.js +25 -0
  71. package/dist/catalog/primitives/form.d.ts +22 -0
  72. package/dist/{components/page-kits/OnboardingPageKit.js → catalog/primitives/form.js} +51 -47
  73. package/dist/catalog/primitives/index.d.ts +137 -0
  74. package/dist/{components/page-kits/LandingPageKit.js → catalog/primitives/index.js} +170 -57
  75. package/dist/catalog/primitives/layout.d.ts +14 -0
  76. package/dist/{components/blocks/TwoFactorChallengeBlock.js → catalog/primitives/layout.js} +42 -34
  77. package/dist/catalog/primitives/navigation.d.ts +10 -0
  78. package/dist/{components/page-kits/NavigationShellPageKit.js → catalog/primitives/navigation.js} +41 -37
  79. package/dist/catalog/primitives/overlay.d.ts +12 -0
  80. package/dist/catalog/primitives/overlay.js +130 -0
  81. package/dist/catalog/primitives/text-effects.d.ts +13 -0
  82. package/dist/{components/blocks/SocialProofBlock.js → catalog/primitives/text-effects.js} +4 -11
  83. package/dist/catalog/primitives/text.d.ts +7 -0
  84. package/dist/catalog/primitives/text.js +7 -0
  85. package/dist/catalog/primitives/utils.d.ts +8 -0
  86. package/dist/catalog/primitives/utils.js +1 -0
  87. package/dist/catalog/types.d.ts +3 -3
  88. package/dist/chunk-2LBEV4YF.js +128 -0
  89. package/dist/chunk-2NMP3J5R.js +6 -0
  90. package/dist/chunk-34MKVVGB.js +176 -0
  91. package/dist/{chunk-KFL4YCMI.js → chunk-37LY27CX.js} +1 -1
  92. package/dist/{chunk-LPED36AD.js → chunk-3BGWXRQC.js} +6 -8
  93. package/dist/chunk-3QMHVXSQ.js +258 -0
  94. package/dist/{chunk-ZI22L4DD.js → chunk-3TYPQWKD.js} +7 -13
  95. package/dist/chunk-44NVO477.js +46 -0
  96. package/dist/chunk-4ACR6NGQ.js +144 -0
  97. package/dist/{chunk-FF3XUIZO.js → chunk-4DWRAIM2.js} +1 -1
  98. package/dist/chunk-4EHXVFQY.js +78 -0
  99. package/dist/chunk-4EOX2S37.js +24 -0
  100. package/dist/chunk-4GLBFZVI.js +184 -0
  101. package/dist/chunk-4GQ5EMWR.js +142 -0
  102. package/dist/chunk-4TK2PXMJ.js +6 -0
  103. package/dist/chunk-4ZST7OY5.js +153 -0
  104. package/dist/chunk-56TNQ2P4.js +82 -0
  105. package/dist/chunk-5B3GLRX3.js +139 -0
  106. package/dist/chunk-5KQEGO3O.js +71 -0
  107. package/dist/chunk-5L2RFJZR.js +31 -0
  108. package/dist/{chunk-326EZJLO.js → chunk-5MLOZVOQ.js} +31 -24
  109. package/dist/chunk-5XDYCBR6.js +345 -0
  110. package/dist/chunk-5ZC3RHXB.js +72 -0
  111. package/dist/chunk-65CUE2WL.js +257 -0
  112. package/dist/chunk-6KRT337C.js +75 -0
  113. package/dist/{chunk-HQKORL27.js → chunk-6LD76RMU.js} +9 -12
  114. package/dist/{chunk-L3WRHSHM.js → chunk-6NL36QN3.js} +9 -8
  115. package/dist/chunk-6NND57T2.js +79 -0
  116. package/dist/{chunk-TBJPLMUE.js → chunk-6OBT3A5O.js} +6 -9
  117. package/dist/{chunk-4INNXURW.js → chunk-767GZSNJ.js} +6 -9
  118. package/dist/{chunk-2S4727W3.js → chunk-7AUNUDHM.js} +20 -16
  119. package/dist/chunk-7IVXTSZK.js +185 -0
  120. package/dist/{chunk-UGIHLU2V.js → chunk-7OOO22KB.js} +10 -15
  121. package/dist/chunk-7PTI46BS.js +119 -0
  122. package/dist/chunk-7SOMHO2L.js +181 -0
  123. package/dist/chunk-7SRNVMBY.js +72 -0
  124. package/dist/chunk-7U7XFIP6.js +17 -0
  125. package/dist/chunk-7X3GXC7C.js +52 -0
  126. package/dist/{chunk-R4CRWXEQ.js → chunk-A44E44UV.js} +35 -27
  127. package/dist/chunk-A4TQNK7R.js +58 -0
  128. package/dist/chunk-AU2Q7CXZ.js +45 -0
  129. package/dist/{chunk-BG26NCUY.js → chunk-B4YCI5NM.js} +10 -19
  130. package/dist/{chunk-JXZ4HYXA.js → chunk-BAB6AHOM.js} +64 -60
  131. package/dist/chunk-BHPATKC7.js +116 -0
  132. package/dist/chunk-BJVCZI2B.js +29 -0
  133. package/dist/{chunk-JPL22322.js → chunk-BVXSAVKY.js} +6 -11
  134. package/dist/chunk-C7LO3JEF.js +195 -0
  135. package/dist/chunk-CAET62YQ.js +228 -0
  136. package/dist/chunk-CPHVCY3M.js +230 -0
  137. package/dist/{chunk-WOYBVPXK.js → chunk-CQ75K2DH.js} +8 -10
  138. package/dist/{chunk-OSNTB6RY.js → chunk-CY3PROVO.js} +88 -26
  139. package/dist/{chunk-ZURTIIST.js → chunk-D6MFOI3N.js} +20 -20
  140. package/dist/{chunk-WVHBPPI3.js → chunk-DGSNEGJP.js} +15 -17
  141. package/dist/{chunk-NTN5DWXV.js → chunk-DSNPOAE6.js} +7 -10
  142. package/dist/chunk-E5E3W2K4.js +6 -0
  143. package/dist/chunk-EJQ73FJ5.js +383 -0
  144. package/dist/chunk-F3QIIOOL.js +71 -0
  145. package/dist/chunk-FAKTXE3F.js +272 -0
  146. package/dist/chunk-FAQZPQF7.js +119 -0
  147. package/dist/chunk-FOXDDL2Z.js +41 -0
  148. package/dist/chunk-G722PEFL.js +71 -0
  149. package/dist/chunk-GC7QKZQW.js +20 -0
  150. package/dist/{chunk-QLL3Z6U6.js → chunk-GE4WUAAE.js} +8 -8
  151. package/dist/chunk-GNKNT52O.js +45 -0
  152. package/dist/chunk-GQEB425G.js +41 -0
  153. package/dist/{chunk-XTASI4IY.js → chunk-GVOWGEGX.js} +6 -13
  154. package/dist/chunk-GXUQFXT7.js +282 -0
  155. package/dist/chunk-GZ4DTYWM.js +36 -0
  156. package/dist/{chunk-7XRKBROR.js → chunk-HF2HNDE7.js} +22 -12
  157. package/dist/chunk-HMN4K4L6.js +44 -0
  158. package/dist/{chunk-2BXGWBD4.js → chunk-HX3VXWNJ.js} +20 -13
  159. package/dist/{chunk-NEECQ3IH.js → chunk-HZTWLK7C.js} +16 -18
  160. package/dist/{chunk-B6HXF3HP.js → chunk-ID3N3MHQ.js} +13 -21
  161. package/dist/{chunk-I2ZI5RUM.js → chunk-IHGZJS7N.js} +11 -11
  162. package/dist/{chunk-F2TNOCXQ.js → chunk-IYK2ABFE.js} +25 -14
  163. package/dist/{chunk-WSBLCWY7.js → chunk-IZ7A62GI.js} +7 -6
  164. package/dist/chunk-JDLCIPSC.js +18 -0
  165. package/dist/{chunk-4R7DT2NJ.js → chunk-JPA45CDE.js} +67 -42
  166. package/dist/{chunk-J7F42IR3.js → chunk-JPNNAU26.js} +7 -3
  167. package/dist/chunk-JUAOQFC3.js +32 -0
  168. package/dist/{chunk-3TZLHB2L.js → chunk-JVQQQS2M.js} +8 -13
  169. package/dist/chunk-KA44DDCB.js +42 -0
  170. package/dist/{chunk-O2W6C3K2.js → chunk-KANK5FAG.js} +65 -62
  171. package/dist/chunk-KKBTPNXT.js +110 -0
  172. package/dist/chunk-KL43KGCK.js +106 -0
  173. package/dist/chunk-KMTLCN6S.js +134 -0
  174. package/dist/{chunk-HOWTYZL5.js → chunk-KPO4PD6C.js} +78 -12
  175. package/dist/{chunk-TYP2MR3Q.js → chunk-KV726HMK.js} +20 -2
  176. package/dist/{chunk-4QOH76MI.js → chunk-KWIIKHIB.js} +10 -13
  177. package/dist/chunk-KXZP6XI2.js +84 -0
  178. package/dist/chunk-L2IRYY6K.js +230 -0
  179. package/dist/chunk-L4Q724G2.js +217 -0
  180. package/dist/chunk-L55GVKLY.js +149 -0
  181. package/dist/{chunk-DT6XGHB3.js → chunk-L77KWJJB.js} +29 -30
  182. package/dist/chunk-LH5KBOIA.js +228 -0
  183. package/dist/chunk-LO3MDQSJ.js +130 -0
  184. package/dist/chunk-LYI5YMC6.js +125 -0
  185. package/dist/chunk-LZ66ADSL.js +142 -0
  186. package/dist/chunk-MB75U2OV.js +77 -0
  187. package/dist/{components/ui/AnimatedTabs.js → chunk-MFZYC6QC.js} +41 -24
  188. package/dist/chunk-MOFWXBTK.js +112 -0
  189. package/dist/chunk-MT76BPYV.js +30 -0
  190. package/dist/{chunk-X5AEOQAL.js → chunk-MZGGA75L.js} +1 -40
  191. package/dist/chunk-N334RMNE.js +39 -0
  192. package/dist/{chunk-YZK222HJ.js → chunk-NA6ZPKIK.js} +19 -7
  193. package/dist/chunk-NF2Y5ERJ.js +186 -0
  194. package/dist/{chunk-3M3QV2EN.js → chunk-NVBF4OWT.js} +6 -9
  195. package/dist/chunk-NZXZ3PH2.js +56 -0
  196. package/dist/chunk-OB2KVO7O.js +23 -0
  197. package/dist/chunk-OLDUGLDM.js +114 -0
  198. package/dist/{chunk-K4QZ377F.js → chunk-OMGVZWRM.js} +25 -16
  199. package/dist/{chunk-X4HXVLER.js → chunk-OMI2LLXM.js} +16 -19
  200. package/dist/{chunk-UIZTZCAU.js → chunk-OS2BLQ2G.js} +9 -14
  201. package/dist/chunk-OUXJUUCB.js +131 -0
  202. package/dist/{chunk-QQOWC53X.js → chunk-OWWQP3YW.js} +4 -2
  203. package/dist/chunk-P5I63ETD.js +691 -0
  204. package/dist/chunk-P7CTBRHO.js +176 -0
  205. package/dist/chunk-P7JS4B7U.js +101 -0
  206. package/dist/{chunk-FODQX5Q5.js → chunk-PD6WW7E5.js} +8 -10
  207. package/dist/chunk-PJ7DVYWA.js +185 -0
  208. package/dist/{chunk-OTZIMMPV.js → chunk-PQBVNNEG.js} +18 -18
  209. package/dist/chunk-PY7WBWKH.js +37 -0
  210. package/dist/{chunk-ALFCQ35A.js → chunk-PYRHNONA.js} +25 -16
  211. package/dist/{chunk-TBXW5MDR.js → chunk-Q4CRHV5T.js} +25 -17
  212. package/dist/{chunk-PC6VMNDY.js → chunk-Q7PCHHVJ.js} +0 -8
  213. package/dist/chunk-QCL76CM6.js +92 -0
  214. package/dist/chunk-QFXWI2WX.js +40 -0
  215. package/dist/{chunk-JRLU2VSB.js → chunk-QLPU2IEO.js} +25 -39
  216. package/dist/{chunk-K4ZPHSWL.js → chunk-R4DPHCHJ.js} +22 -15
  217. package/dist/chunk-SEJXMNMK.js +191 -0
  218. package/dist/{chunk-E6YDGQ2O.js → chunk-SIXPY62Q.js} +17 -16
  219. package/dist/chunk-STKNMEJA.js +15 -0
  220. package/dist/chunk-STNVWBJH.js +41 -0
  221. package/dist/{chunk-73T44TBV.js → chunk-TL5UCQC3.js} +12 -16
  222. package/dist/{chunk-Q3CKH7RH.js → chunk-TNDMBLYP.js} +7 -18
  223. package/dist/chunk-TTA5TLNJ.js +97 -0
  224. package/dist/chunk-TV6CJ5NI.js +57 -0
  225. package/dist/chunk-TXRGQO5M.js +100 -0
  226. package/dist/chunk-U3QOFPHD.js +28 -0
  227. package/dist/chunk-UB6XJTRU.js +45 -0
  228. package/dist/chunk-UGXI4PES.js +415 -0
  229. package/dist/{chunk-N3IZNRY2.js → chunk-UIYX2EMT.js} +11 -19
  230. package/dist/chunk-UOUERAB4.js +446 -0
  231. package/dist/chunk-UQB54LIA.js +228 -0
  232. package/dist/chunk-UT6MKK2S.js +115 -0
  233. package/dist/chunk-UXYLA2IV.js +124 -0
  234. package/dist/{chunk-PDSQC6VE.js → chunk-V5RSV4ZV.js} +5 -2
  235. package/dist/chunk-VUNXVYOH.js +129 -0
  236. package/dist/chunk-W4KI424V.js +380 -0
  237. package/dist/chunk-W7ZGCFTB.js +23 -0
  238. package/dist/chunk-WAIZR4CR.js +107 -0
  239. package/dist/{chunk-T5LXQNIP.js → chunk-WHYKEOUV.js} +29 -25
  240. package/dist/chunk-WRBPEZFY.js +80 -0
  241. package/dist/chunk-XI775QZZ.js +275 -0
  242. package/dist/chunk-XLIFWBE7.js +117 -0
  243. package/dist/{chunk-BI3TXPMR.js → chunk-XMGWLDNG.js} +4 -6
  244. package/dist/chunk-XYMFKNKG.js +93 -0
  245. package/dist/chunk-XYYZRQES.js +256 -0
  246. package/dist/chunk-XZDVTOXJ.js +94 -0
  247. package/dist/{chunk-OTFIAT6T.js → chunk-YB3J4ZRZ.js} +15 -6
  248. package/dist/chunk-YCS4MMC3.js +133 -0
  249. package/dist/chunk-YGDO5KDY.js +33 -0
  250. package/dist/{chunk-6Y4UFG7C.js → chunk-YNBDA24W.js} +6 -13
  251. package/dist/chunk-YXRIXTXW.js +32 -0
  252. package/dist/chunk-ZFCSKVTZ.js +102 -0
  253. package/dist/chunk-ZLWEBAL6.js +48 -0
  254. package/dist/chunk-ZND7AAWG.js +290 -0
  255. package/dist/{chunk-DITD5GBG.js → chunk-ZNF6S3DQ.js} +20 -38
  256. package/dist/chunk-ZSU5ZI4O.js +32 -0
  257. package/dist/components/blocks/AccountLockedBlock.d.ts +3 -11
  258. package/dist/components/blocks/AccountLockedBlock.js +2 -2
  259. package/dist/components/blocks/ActivityFeedBlock.d.ts +3 -14
  260. package/dist/components/blocks/ActivityFeedBlock.js +2 -2
  261. package/dist/components/blocks/AgentConversationBlock.d.ts +12 -17
  262. package/dist/components/blocks/AgentConversationBlock.js +10 -109
  263. package/dist/components/blocks/AgentProfileGridBlock.d.ts +3 -19
  264. package/dist/components/blocks/AgentProfileGridBlock.js +2 -2
  265. package/dist/components/blocks/AgentRunOverviewBlock.d.ts +3 -31
  266. package/dist/components/blocks/AgentRunOverviewBlock.js +2 -2
  267. package/dist/components/blocks/AgentWorkbenchBlock.d.ts +5 -21
  268. package/dist/components/blocks/AgentWorkbenchBlock.js +14 -112
  269. package/dist/components/blocks/ApiKeysBlock.d.ts +3 -18
  270. package/dist/components/blocks/ApiKeysBlock.js +35 -35
  271. package/dist/components/blocks/AuthLayout.d.ts +3 -17
  272. package/dist/components/blocks/AuthLayout.js +4 -4
  273. package/dist/components/blocks/AuthSuccessBlock.d.ts +3 -12
  274. package/dist/components/blocks/AuthSuccessBlock.js +6 -1
  275. package/dist/components/blocks/BannerBlock.d.ts +3 -9
  276. package/dist/components/blocks/BannerBlock.js +33 -33
  277. package/dist/components/blocks/BenchmarksBlock.d.ts +3 -20
  278. package/dist/components/blocks/BenchmarksBlock.js +1 -1
  279. package/dist/components/blocks/BlogDetailBlock.d.ts +3 -0
  280. package/dist/components/{page-kits/VerifyEmailPageKit.js → blocks/BlogDetailBlock.js} +37 -34
  281. package/dist/components/blocks/BlogIndexBlock.d.ts +3 -0
  282. package/dist/components/blocks/{EmailVerifiedBlock.js → BlogIndexBlock.js} +3 -3
  283. package/dist/components/blocks/CallToActionBlock.d.ts +3 -13
  284. package/dist/components/blocks/CallToActionBlock.js +3 -3
  285. package/dist/components/blocks/ChangelogBlock.d.ts +3 -16
  286. package/dist/components/blocks/ChangelogBlock.js +33 -32
  287. package/dist/components/blocks/ChartBlock.d.ts +3 -16
  288. package/dist/components/blocks/ChartBlock.js +33 -33
  289. package/dist/components/blocks/ChartCollectionBlock.d.ts +3 -5
  290. package/dist/components/blocks/ChartCollectionBlock.js +3 -3
  291. package/dist/components/blocks/ChatLayout.d.ts +3 -17
  292. package/dist/components/blocks/ChatLayout.js +33 -33
  293. package/dist/components/blocks/CheckEmailBlock.d.ts +3 -9
  294. package/dist/components/blocks/CheckEmailBlock.js +1 -1
  295. package/dist/components/blocks/CodeBlock.d.ts +3 -7
  296. package/dist/components/blocks/CodeBlock.js +1 -1
  297. package/dist/components/blocks/CommandPaletteBlock.d.ts +3 -9
  298. package/dist/components/blocks/CommandPaletteBlock.js +35 -35
  299. package/dist/components/blocks/ComparisonBlock.d.ts +3 -13
  300. package/dist/components/blocks/ComparisonBlock.js +2 -2
  301. package/dist/components/blocks/ContactBlock.d.ts +3 -17
  302. package/dist/components/blocks/ContactBlock.js +3 -3
  303. package/dist/components/blocks/CreateBlock.d.ts +1 -16
  304. package/dist/components/blocks/CreateBlock.js +32 -33
  305. package/dist/components/blocks/CrudListBlock.d.ts +3 -0
  306. package/dist/components/{page-kits/SuccessPageKit.js → blocks/CrudListBlock.js} +40 -33
  307. package/dist/components/blocks/DashboardBlock.d.ts +3 -0
  308. package/dist/components/{page-kits/DashboardPageKit.js → blocks/DashboardBlock.js} +47 -48
  309. package/dist/components/blocks/DataGridBlock.d.ts +3 -10
  310. package/dist/components/blocks/DataGridBlock.js +35 -36
  311. package/dist/components/blocks/DirectoryBlock.d.ts +3 -17
  312. package/dist/components/blocks/DirectoryBlock.js +38 -37
  313. package/dist/components/blocks/FAQBlock.d.ts +3 -12
  314. package/dist/components/blocks/FAQBlock.js +33 -33
  315. package/dist/components/blocks/FeatureBlock.d.ts +3 -23
  316. package/dist/components/blocks/FeatureBlock.js +32 -32
  317. package/dist/components/blocks/FooterBlock.d.ts +3 -19
  318. package/dist/components/blocks/FooterBlock.js +1 -1
  319. package/dist/components/blocks/FormFieldBlock.d.ts +3 -0
  320. package/dist/components/{page-kits/MarketingShellPageKit.js → blocks/FormFieldBlock.js} +38 -41
  321. package/dist/components/blocks/GalleryBlock.d.ts +3 -13
  322. package/dist/components/blocks/GalleryBlock.js +35 -35
  323. package/dist/components/blocks/HeaderBlock.d.ts +3 -14
  324. package/dist/components/blocks/HeaderBlock.js +35 -34
  325. package/dist/components/blocks/HeatmapChartBlock.d.ts +3 -15
  326. package/dist/components/blocks/HeatmapChartBlock.js +1 -1
  327. package/dist/components/blocks/HeroBlock.d.ts +4 -2
  328. package/dist/components/blocks/HeroBlock.js +35 -35
  329. package/dist/components/blocks/IntegrationsBlock.d.ts +3 -15
  330. package/dist/components/blocks/IntegrationsBlock.js +33 -33
  331. package/dist/components/blocks/InteractiveAreaChartBlock.d.ts +3 -21
  332. package/dist/components/blocks/InteractiveAreaChartBlock.js +32 -32
  333. package/dist/components/blocks/LoginBlock.d.ts +3 -41
  334. package/dist/components/blocks/LoginBlock.js +2 -2
  335. package/dist/components/blocks/LogoCloud.d.ts +3 -12
  336. package/dist/components/blocks/LogoCloud.js +6 -2
  337. package/dist/components/blocks/NewsletterBlock.d.ts +1 -8
  338. package/dist/components/blocks/NewsletterBlock.js +3 -3
  339. package/dist/components/blocks/NotFoundBlock.d.ts +3 -9
  340. package/dist/components/blocks/NotFoundBlock.js +36 -36
  341. package/dist/components/blocks/OTPBlock.d.ts +3 -10
  342. package/dist/components/blocks/OTPBlock.js +34 -32
  343. package/dist/components/blocks/OnboardingBlock.d.ts +1 -14
  344. package/dist/components/blocks/OnboardingBlock.js +33 -33
  345. package/dist/components/blocks/OnboardingFlowBlock.d.ts +3 -0
  346. package/dist/components/blocks/OnboardingFlowBlock.js +127 -0
  347. package/dist/components/blocks/PasswordRecoveryBlock.d.ts +1 -12
  348. package/dist/components/blocks/PasswordRecoveryBlock.js +2 -2
  349. package/dist/components/blocks/PricingBlock.d.ts +1 -19
  350. package/dist/components/blocks/PricingBlock.js +3 -3
  351. package/dist/components/blocks/ProcessFlowBlock.d.ts +3 -15
  352. package/dist/components/blocks/ProcessFlowBlock.js +2 -6
  353. package/dist/components/blocks/ROICalculatorBlock.d.ts +3 -0
  354. package/dist/components/blocks/{SavingsCalculatorBlock.js → ROICalculatorBlock.js} +3 -3
  355. package/dist/components/blocks/ResetPasswordBlock.d.ts +3 -9
  356. package/dist/components/blocks/ResetPasswordBlock.js +1 -1
  357. package/dist/components/blocks/SettingsNavBlock.d.ts +3 -0
  358. package/dist/components/blocks/{SettingsLayout.js → SettingsNavBlock.js} +39 -37
  359. package/dist/components/blocks/SolutionShowcaseBlock.d.ts +3 -17
  360. package/dist/components/blocks/SolutionShowcaseBlock.js +2 -2
  361. package/dist/components/blocks/StatsBlock.d.ts +3 -21
  362. package/dist/components/blocks/StatsBlock.js +1 -110
  363. package/dist/components/blocks/StatsMarketingBlock.d.ts +3 -14
  364. package/dist/components/blocks/StatsMarketingBlock.js +3 -3
  365. package/dist/components/blocks/TeamBlock.d.ts +3 -16
  366. package/dist/components/blocks/TeamBlock.js +1 -1
  367. package/dist/components/blocks/TestimonialsBlock.d.ts +6 -9
  368. package/dist/components/blocks/TestimonialsBlock.js +15 -2
  369. package/dist/components/blocks/TimezonePickerBlock.d.ts +3 -11
  370. package/dist/components/blocks/TimezonePickerBlock.js +35 -35
  371. package/dist/components/blocks/TwoFactorSetupBlock.d.ts +1 -12
  372. package/dist/components/blocks/TwoFactorSetupBlock.js +36 -36
  373. package/dist/components/blocks/UsageDonutBlock.d.ts +3 -16
  374. package/dist/components/blocks/UsageDonutBlock.js +1 -1
  375. package/dist/components/blocks/WizardBlock.d.ts +1 -15
  376. package/dist/components/blocks/WizardBlock.js +32 -32
  377. package/dist/components/blocks/user/InviteUserModal.d.ts +4 -4
  378. package/dist/components/blocks/user/InviteUserModal.js +34 -34
  379. package/dist/components/pages/settings/ProfilePage.d.ts +1 -0
  380. package/dist/components/pages/settings/TeamPage.d.ts +1 -0
  381. package/dist/components/ui/Accordion.js +31 -31
  382. package/dist/components/ui/AgentAvatar.js +2 -72
  383. package/dist/components/ui/AgentStatus.d.ts +1 -1
  384. package/dist/components/ui/AgentStatus.js +2 -71
  385. package/dist/components/ui/AgentTimeline.js +3 -97
  386. package/dist/components/ui/AlertDialog.js +3 -133
  387. package/dist/components/ui/AnnouncementBanner.js +4 -46
  388. package/dist/components/ui/ApprovalCard.js +5 -115
  389. package/dist/components/ui/AspectRatio.js +1 -5
  390. package/dist/components/ui/AvatarUpload.js +6 -119
  391. package/dist/components/ui/BentoGrid.js +4 -28
  392. package/dist/components/ui/Breadcrumb.js +31 -31
  393. package/dist/components/ui/ButtonGroup.js +2 -18
  394. package/dist/components/ui/Calendar.js +31 -31
  395. package/dist/components/ui/Carousel.js +35 -247
  396. package/dist/components/ui/ChartCard.js +2 -2
  397. package/dist/components/ui/ChatActions.js +2 -2
  398. package/dist/components/ui/ChatGreeting.js +3 -77
  399. package/dist/components/ui/ChatMessage.d.ts +26 -5
  400. package/dist/components/ui/ChatMessage.js +3 -95
  401. package/dist/components/ui/ChatPromptInput.js +4 -191
  402. package/dist/components/ui/ChatResponse.js +2 -24
  403. package/dist/components/ui/ChatThinkingMessage.d.ts +25 -6
  404. package/dist/components/ui/ChatThinkingMessage.js +7 -53
  405. package/dist/components/ui/ChatToolCall.d.ts +4 -2
  406. package/dist/components/ui/ChatToolCall.js +13 -190
  407. package/dist/components/ui/CheckStatus.js +2 -57
  408. package/dist/components/ui/Checkbox.js +31 -31
  409. package/dist/components/ui/CheckoutForm.d.ts +3 -7
  410. package/dist/components/ui/CheckoutForm.js +34 -33
  411. package/dist/components/ui/CheckoutFormDemo.js +32 -32
  412. package/dist/components/ui/Combobox.d.ts +2 -1
  413. package/dist/components/ui/Combobox.js +38 -109
  414. package/dist/components/ui/Command.js +34 -34
  415. package/dist/components/ui/ConfettiBurst.js +3 -71
  416. package/dist/components/ui/ContextMenu.js +34 -215
  417. package/dist/components/ui/Conversation.js +35 -115
  418. package/dist/components/ui/DataTable.d.ts +2 -1
  419. package/dist/components/ui/DataTable.js +33 -33
  420. package/dist/components/ui/DatePicker.js +31 -31
  421. package/dist/components/ui/DateRangePicker.js +31 -31
  422. package/dist/components/ui/Dialog.js +33 -33
  423. package/dist/components/ui/DiffStat.js +2 -32
  424. package/dist/components/ui/Drawer.js +3 -116
  425. package/dist/components/ui/DropdownMenu.js +32 -32
  426. package/dist/components/ui/FileUpload.js +34 -171
  427. package/dist/components/ui/FloatingDock.js +3 -100
  428. package/dist/components/ui/FormWizard.d.ts +5 -13
  429. package/dist/components/ui/FormWizard.js +1 -1
  430. package/dist/components/ui/HandoffIndicator.js +4 -42
  431. package/dist/components/ui/HoverCard.js +2 -23
  432. package/dist/components/ui/InputGroup.js +2 -36
  433. package/dist/components/ui/InputOTP.js +31 -31
  434. package/dist/components/ui/Item.d.ts +1 -1
  435. package/dist/components/ui/Item.js +2 -176
  436. package/dist/components/ui/KanbanBoard.d.ts +2 -1
  437. package/dist/components/ui/KanbanBoard.js +2 -2
  438. package/dist/components/ui/Kbd.js +2 -17
  439. package/dist/components/ui/LanguageSwitcher.js +31 -31
  440. package/dist/components/ui/MagneticElement.js +3 -41
  441. package/dist/components/ui/MemoryInspector.js +3 -94
  442. package/dist/components/ui/Menubar.js +34 -257
  443. package/dist/components/ui/MouseGlow.d.ts +10 -0
  444. package/dist/components/ui/MouseGlow.js +3 -0
  445. package/dist/components/ui/{MouseEffect.d.ts → MouseSpotlight.d.ts} +0 -9
  446. package/dist/components/ui/{MouseEffect.js → MouseSpotlight.js} +1 -1
  447. package/dist/components/ui/MovingBorder.js +2 -40
  448. package/dist/components/ui/NavUser.d.ts +4 -0
  449. package/dist/components/{blocks → ui}/NavUser.js +37 -36
  450. package/dist/components/ui/NavigationMenu.js +34 -161
  451. package/dist/components/ui/NotificationCenter.js +34 -136
  452. package/dist/components/ui/Pagination.js +31 -31
  453. package/dist/components/ui/ProgressRing.js +4 -128
  454. package/dist/components/ui/PromoCard.js +4 -41
  455. package/dist/components/ui/RadioGroup.js +33 -69
  456. package/dist/components/ui/Resizable.js +34 -68
  457. package/dist/components/ui/Select.js +31 -31
  458. package/dist/components/ui/SettingsModal.js +41 -137
  459. package/dist/components/ui/ShaderBackground.js +4 -71
  460. package/dist/components/ui/Sheet.d.ts +2 -1
  461. package/dist/components/ui/Sheet.js +36 -32
  462. package/dist/components/ui/Sidebar.js +35 -34
  463. package/dist/components/ui/SourceCitation.js +3 -119
  464. package/dist/components/ui/SpringHover.js +3 -32
  465. package/dist/components/ui/StaggeredEntrance.js +2 -23
  466. package/dist/components/ui/StatusDot.d.ts +1 -1
  467. package/dist/components/ui/StyleToggle.js +1 -1
  468. package/dist/components/ui/SuccessCheck.js +3 -52
  469. package/dist/components/ui/Tabs.d.ts +5 -3
  470. package/dist/components/ui/Tabs.js +5 -1
  471. package/dist/components/ui/TagInput.js +35 -132
  472. package/dist/components/ui/ThemeToggle.d.ts +2 -1
  473. package/dist/components/ui/ThemeToggle.js +36 -66
  474. package/dist/components/ui/TiltCard.js +3 -48
  475. package/dist/components/ui/ToggleGroup.js +3 -56
  476. package/dist/components/ui/TreeView.js +35 -216
  477. package/dist/components/ui/Typography.d.ts +1 -1
  478. package/dist/components/ui/Typography.js +1 -1
  479. package/dist/components/ui/VoiceAgentCard.d.ts +9 -0
  480. package/dist/components/{blocks → ui}/VoiceAgentCard.js +2 -2
  481. package/dist/components/ui/WorkspaceSwitcherBlock.d.ts +3 -0
  482. package/dist/components/{blocks → ui}/WorkspaceSwitcherBlock.js +36 -35
  483. package/dist/components/ui/charts/index.js +1 -1
  484. package/dist/components/ui/icons/index.js +31 -31
  485. package/dist/components/ui/text-effects/index.js +2 -2
  486. package/dist/index.js +39 -39
  487. package/dist/internal/local-image-assets.d.ts +1 -0
  488. package/dist/lib/json-render/app.d.ts +11 -0
  489. package/dist/lib/json-render/app.js +7 -0
  490. package/dist/lib/json-render/catalog.d.ts +1154 -0
  491. package/dist/lib/json-render/catalog.js +23 -0
  492. package/dist/lib/json-render/registry.d.ts +1 -0
  493. package/dist/lib/json-render/registry.js +58 -0
  494. package/dist/lib/json-render/showcase-spec.d.ts +3 -0
  495. package/dist/lib/json-render/showcase-spec.js +2 -0
  496. package/dist/lib/react-utils.d.ts +1 -1
  497. package/dist/lib/standalone-routes.d.ts +56 -0
  498. package/dist/lib/standalone-routes.js +1 -0
  499. package/dist/lib/tool-call-state-map.d.ts +2 -0
  500. package/dist/lib/tool-call-state-map.js +1 -0
  501. package/dist/messages/en.js +1 -1
  502. package/dist/messages/it.js +1 -1
  503. package/dist/test/PublicSeedTestProvider.js +2 -2
  504. package/eslint-rules/nadicode/__tests__/rules.test.js +3 -3
  505. package/eslint-rules/nadicode/data/catalog-names.json +149 -38
  506. package/eslint-rules/nadicode/rules/__tests__/no-diy-backdrop-blur.test.js +0 -5
  507. package/eslint-rules/nadicode/rules/__tests__/require-catalog-component.test.js +2 -2
  508. package/eslint-rules/nadicode/rules/no-diy-backdrop-blur.js +0 -1
  509. package/eslint-rules/nadicode/rules/no-unregistered-glass.js +4 -6
  510. package/eslint-rules/nadicode/rules/require-glass-on-floating-ui.js +0 -2
  511. package/eslint-rules/nadicode/rules/require-metadata-on-page.js +11 -0
  512. package/eslint-rules/nadicode/rules/require-scroll-containment-on-overlay.js +0 -2
  513. package/package.json +9 -678
  514. package/dist/chunk-23M6A7EW.js +0 -30
  515. package/dist/chunk-3A6CFUG4.js +0 -175
  516. package/dist/chunk-3UG7AY5B.js +0 -75
  517. package/dist/chunk-46MPJVJ6.js +0 -115
  518. package/dist/chunk-4IGBBIYW.js +0 -47
  519. package/dist/chunk-4JJARNWW.js +0 -138
  520. package/dist/chunk-4WPZ6T7V.js +0 -186
  521. package/dist/chunk-567EG267.js +0 -130
  522. package/dist/chunk-5DWVAAP2.js +0 -60
  523. package/dist/chunk-5USY2AY2.js +0 -72
  524. package/dist/chunk-5Y4BOIYO.js +0 -121
  525. package/dist/chunk-6CDHFSOH.js +0 -60
  526. package/dist/chunk-7IXYIUQ5.js +0 -114
  527. package/dist/chunk-7LIF2WZX.js +0 -125
  528. package/dist/chunk-AN5TW4AL.js +0 -50
  529. package/dist/chunk-BQLHU3KL.js +0 -96
  530. package/dist/chunk-CCUXLYZX.js +0 -33
  531. package/dist/chunk-CI2O2OSW.js +0 -168
  532. package/dist/chunk-E7RCIX5C.js +0 -150
  533. package/dist/chunk-EHIKO3CD.js +0 -169
  534. package/dist/chunk-EYWOKTOY.js +0 -58
  535. package/dist/chunk-FJP5SRCH.js +0 -40
  536. package/dist/chunk-G4FB7QSY.js +0 -134
  537. package/dist/chunk-GI6UL27V.js +0 -126
  538. package/dist/chunk-GICOWV5M.js +0 -30
  539. package/dist/chunk-I66XWYSS.js +0 -117
  540. package/dist/chunk-KA47SVMB.js +0 -149
  541. package/dist/chunk-KCOMDSQ4.js +0 -86
  542. package/dist/chunk-KKXYZASY.js +0 -94
  543. package/dist/chunk-LIJYUSSE.js +0 -152
  544. package/dist/chunk-LNVZNQCZ.js +0 -124
  545. package/dist/chunk-LPW5LWX7.js +0 -32
  546. package/dist/chunk-MX7GIO2A.js +0 -83
  547. package/dist/chunk-NBQKHIAP.js +0 -120
  548. package/dist/chunk-O3LHOHLI.js +0 -56
  549. package/dist/chunk-PYLBCISI.js +0 -165
  550. package/dist/chunk-PYTNUV2K.js +0 -30
  551. package/dist/chunk-QOHUG6UP.js +0 -145
  552. package/dist/chunk-RNZM3QJX.js +0 -101
  553. package/dist/chunk-SBLQB3A2.js +0 -70
  554. package/dist/chunk-THN674BW.js +0 -269
  555. package/dist/chunk-TOLHBTIL.js +0 -30
  556. package/dist/chunk-UMYGE2DM.js +0 -47
  557. package/dist/chunk-UO5DYAP7.js +0 -35
  558. package/dist/chunk-UWLSJLKT.js +0 -147
  559. package/dist/chunk-V2ORH4K3.js +0 -167
  560. package/dist/chunk-V3FMLBOA.js +0 -105
  561. package/dist/chunk-VDP7SAKP.js +0 -164
  562. package/dist/chunk-XTZMFOHK.js +0 -52
  563. package/dist/chunk-YOGZZMQS.js +0 -60
  564. package/dist/chunk-YRQBSMGZ.js +0 -42
  565. package/dist/chunk-YVS2TJ7I.js +0 -32
  566. package/dist/chunk-YW2KJAC6.js +0 -159
  567. package/dist/chunk-Z6PIE2PZ.js +0 -36
  568. package/dist/chunk-ZBQLUB3B.js +0 -110
  569. package/dist/chunk-ZXGBPUSM.js +0 -28
  570. package/dist/components/blocks/AudioVisualizerBlock.d.ts +0 -6
  571. package/dist/components/blocks/AudioVisualizerBlock.js +0 -3
  572. package/dist/components/blocks/BarChartBlock.d.ts +0 -15
  573. package/dist/components/blocks/BarChartBlock.js +0 -10
  574. package/dist/components/blocks/EmailVerifiedBlock.d.ts +0 -10
  575. package/dist/components/blocks/FeatureGridBlock.d.ts +0 -14
  576. package/dist/components/blocks/FeatureGridBlock.js +0 -12
  577. package/dist/components/blocks/ForgotPasswordBlock.d.ts +0 -14
  578. package/dist/components/blocks/ForgotPasswordBlock.js +0 -15
  579. package/dist/components/blocks/HeroSectionBlock.d.ts +0 -19
  580. package/dist/components/blocks/HeroSectionBlock.js +0 -139
  581. package/dist/components/blocks/KanbanDemoBlock.d.ts +0 -4
  582. package/dist/components/blocks/KanbanDemoBlock.js +0 -17
  583. package/dist/components/blocks/MagicLinkBlock.d.ts +0 -12
  584. package/dist/components/blocks/MagicLinkBlock.js +0 -18
  585. package/dist/components/blocks/NavUser.d.ts +0 -18
  586. package/dist/components/blocks/PasswordChangedBlock.d.ts +0 -10
  587. package/dist/components/blocks/PasswordChangedBlock.js +0 -10
  588. package/dist/components/blocks/PricingTableBlock.d.ts +0 -19
  589. package/dist/components/blocks/PricingTableBlock.js +0 -13
  590. package/dist/components/blocks/SavingsCalculatorBlock.d.ts +0 -30
  591. package/dist/components/blocks/SettingsLayout.d.ts +0 -16
  592. package/dist/components/blocks/SignUpBlock.d.ts +0 -11
  593. package/dist/components/blocks/SignUpBlock.js +0 -14
  594. package/dist/components/blocks/SocialProofBlock.d.ts +0 -19
  595. package/dist/components/blocks/TwoFactorChallengeBlock.d.ts +0 -12
  596. package/dist/components/blocks/VoiceAgentCard.d.ts +0 -19
  597. package/dist/components/blocks/WorkspaceSwitcherBlock.d.ts +0 -11
  598. package/dist/components/page-kits/AccountLockedPageKit.d.ts +0 -10
  599. package/dist/components/page-kits/AccountLockedPageKit.js +0 -11
  600. package/dist/components/page-kits/AgentsChatPageKit.d.ts +0 -46
  601. package/dist/components/page-kits/AgentsChatPageKit.js +0 -142
  602. package/dist/components/page-kits/AnalyticsPageKit.d.ts +0 -49
  603. package/dist/components/page-kits/AnalyticsPageKit.js +0 -139
  604. package/dist/components/page-kits/BlogContentPageKit.d.ts +0 -64
  605. package/dist/components/page-kits/BlogContentPageKit.js +0 -141
  606. package/dist/components/page-kits/CheckoutPageKit.d.ts +0 -36
  607. package/dist/components/page-kits/CheckoutPageKit.js +0 -135
  608. package/dist/components/page-kits/CompanySuitePageKit.d.ts +0 -25
  609. package/dist/components/page-kits/CompanySuitePageKit.js +0 -153
  610. package/dist/components/page-kits/CrudFormPageKit.d.ts +0 -54
  611. package/dist/components/page-kits/CrudFormPageKit.js +0 -138
  612. package/dist/components/page-kits/CrudListDetailPageKit.d.ts +0 -70
  613. package/dist/components/page-kits/CrudListDetailPageKit.js +0 -138
  614. package/dist/components/page-kits/DashboardPageKit.d.ts +0 -39
  615. package/dist/components/page-kits/ErrorPageKit.d.ts +0 -22
  616. package/dist/components/page-kits/ErrorPageKit.js +0 -8
  617. package/dist/components/page-kits/KanbanBoardPageKit.d.ts +0 -31
  618. package/dist/components/page-kits/KanbanBoardPageKit.js +0 -143
  619. package/dist/components/page-kits/LandingPageKit.d.ts +0 -29
  620. package/dist/components/page-kits/LoginPageKit.d.ts +0 -16
  621. package/dist/components/page-kits/LoginPageKit.js +0 -14
  622. package/dist/components/page-kits/MarketingShellPageKit.d.ts +0 -21
  623. package/dist/components/page-kits/NavigationShellPageKit.d.ts +0 -41
  624. package/dist/components/page-kits/OnboardingPageKit.d.ts +0 -26
  625. package/dist/components/page-kits/PricingPageKit.d.ts +0 -41
  626. package/dist/components/page-kits/PricingPageKit.js +0 -153
  627. package/dist/components/page-kits/ProfileSettingsPageKit.d.ts +0 -50
  628. package/dist/components/page-kits/ProfileSettingsPageKit.js +0 -17
  629. package/dist/components/page-kits/RecoveryPageKit.d.ts +0 -17
  630. package/dist/components/page-kits/RecoveryPageKit.js +0 -19
  631. package/dist/components/page-kits/ResetPageKit.d.ts +0 -14
  632. package/dist/components/page-kits/ResetPageKit.js +0 -19
  633. package/dist/components/page-kits/ServiceSuitePageKit.d.ts +0 -25
  634. package/dist/components/page-kits/ServiceSuitePageKit.js +0 -156
  635. package/dist/components/page-kits/SettingsPageKit.d.ts +0 -27
  636. package/dist/components/page-kits/SettingsPageKit.js +0 -11
  637. package/dist/components/page-kits/SignupPageKit.d.ts +0 -15
  638. package/dist/components/page-kits/SignupPageKit.js +0 -14
  639. package/dist/components/page-kits/SuccessPageKit.d.ts +0 -15
  640. package/dist/components/page-kits/TeamSettingsPageKit.d.ts +0 -50
  641. package/dist/components/page-kits/TwoFactorPageKit.d.ts +0 -16
  642. package/dist/components/page-kits/VerifyEmailPageKit.d.ts +0 -15
  643. package/dist/components/page-kits/VoiceAgentsPageKit.d.ts +0 -35
  644. package/dist/components/page-kits/VoiceAgentsPageKit.js +0 -133
  645. package/dist/components/ui/AgentMessageBubble.d.ts +0 -37
  646. package/dist/components/ui/AgentMessageBubble.js +0 -115
  647. package/dist/components/ui/AnimatedDialog.d.ts +0 -30
  648. package/dist/components/ui/AnimatedSheet.d.ts +0 -26
  649. package/dist/components/ui/AnimatedSheet.js +0 -264
  650. package/dist/components/ui/AnimatedTabs.d.ts +0 -16
  651. package/dist/components/ui/AuroraEffect.d.ts +0 -9
  652. package/dist/components/ui/AuroraEffect.js +0 -77
  653. package/dist/components/ui/ChatPromptInputAttachments.d.ts +0 -9
  654. package/dist/components/ui/ChatPromptInputAttachments.js +0 -145
  655. package/dist/components/ui/ConversationThread.d.ts +0 -27
  656. package/dist/components/ui/ConversationThread.js +0 -99
  657. package/dist/components/ui/PageTransition.d.ts +0 -9
  658. package/dist/components/ui/PageTransition.js +0 -56
  659. package/dist/components/ui/SearchCommand.d.ts +0 -33
  660. package/dist/components/ui/SearchCommand.js +0 -115
  661. package/dist/components/ui/ThinkingIndicator.d.ts +0 -14
  662. package/dist/components/ui/ThinkingIndicator.js +0 -9
  663. package/dist/components/ui/Toast.d.ts +0 -28
  664. package/dist/components/ui/Toast.js +0 -115
  665. package/dist/components/ui/Toaster.d.ts +0 -1
  666. package/dist/components/ui/Toaster.js +0 -136
  667. package/dist/components/ui/ToolCallCard.d.ts +0 -16
  668. package/dist/components/ui/ToolCallCard.js +0 -13
  669. package/dist/components/ui/VisuallyHidden.d.ts +0 -2
  670. package/dist/components/ui/VisuallyHidden.js +0 -8
  671. package/dist/hooks/use-toast.d.ts +0 -44
  672. package/dist/hooks/use-toast.js +0 -2
  673. package/dist/{chunk-CQEUNASC.js → chunk-ETS5O4ZQ.js} +1 -1
  674. package/dist/{chunk-C6MJQDPC.js → chunk-KHLMOBAU.js} +1 -1
  675. package/dist/{chunk-M4XKO45H.js → chunk-MPVYXUOD.js} +8 -8
  676. package/dist/{chunk-HZPCTOQJ.js → chunk-TKT6WW4E.js} +1 -1
  677. package/dist/{chunk-EEL4RAPC.js → chunk-V4NBPGED.js} +8 -8
@@ -1,2107 +1,22 @@
1
- import { z } from 'zod';
2
-
3
- // src/catalog/catalog.ts
4
- var validationCheckSchema = z.array(
5
- z.object({
6
- type: z.string(),
7
- message: z.string(),
8
- args: z.record(z.string(), z.unknown()).optional()
9
- })
10
- ).nullable();
11
- var validateOnSchema = z.enum(["change", "blur", "submit"]).nullable();
12
- var navigationShellSchema = z.object({
13
- workspaceName: z.string(),
14
- navigationGroups: z.array(
15
- z.object({
16
- label: z.string(),
17
- items: z.array(
18
- z.object({
19
- label: z.string(),
20
- href: z.string(),
21
- icon: z.string().nullable(),
22
- badge: z.string().nullable()
23
- })
24
- )
25
- })
26
- ),
27
- activeHref: z.string().nullable(),
28
- breadcrumbs: z.array(z.object({ label: z.string(), href: z.string().nullable() })).nullable()
29
- });
30
- var marketingShellSchema = z.object({
31
- navigationItems: z.array(z.object({ name: z.string(), href: z.string() })),
32
- primaryAction: z.object({ label: z.string(), href: z.string() }).nullable(),
33
- secondaryAction: z.object({ label: z.string(), href: z.string() }).nullable()
34
- });
35
- var chartConfigSchema = z.record(
36
- z.string(),
37
- z.object({
38
- label: z.string(),
39
- color: z.string().nullable()
40
- })
41
- ).nullable();
42
- var trendSchema = z.object({
43
- value: z.number(),
44
- direction: z.enum(["up", "down", "flat"]).nullable()
45
- }).nullable();
46
- var regionStateSchema = z.enum(["loading", "empty", "error", "has-data", "partial-data"]).nullable();
47
- var seedComponentDefinitions = {
48
- // =========================================================================
49
- // Blocks (59 entries, alphabetical)
50
- // =========================================================================
51
- AccountLockedBlock: {
52
- props: z.object({
53
- reason: z.enum(["too_many_attempts", "suspicious_activity", "admin"]).nullable(),
54
- unlockMinutes: z.number().nullable(),
55
- title: z.string().nullable(),
56
- description: z.string().nullable()
57
- }),
58
- events: ["contactSupport", "backToLogin"],
59
- description: "Account locked notification with reason, countdown timer, and support/login actions."
60
- },
61
- ApiKeysBlock: {
62
- props: z.object({
63
- keys: z.array(
64
- z.object({
65
- id: z.string(),
66
- name: z.string(),
67
- prefix: z.string(),
68
- createdAt: z.string(),
69
- lastUsedAt: z.string().nullable(),
70
- revokedAt: z.string().nullable()
71
- })
72
- ).nullable(),
73
- title: z.string().nullable(),
74
- description: z.string().nullable()
75
- }),
76
- events: ["create", "revoke"],
77
- description: "API key management block with table display, create dialog, copy-once flow, and revoke functionality."
78
- },
79
- ActivityFeedBlock: {
80
- props: z.object({
81
- title: z.string().nullable(),
82
- activities: z.array(
83
- z.object({
84
- id: z.string(),
85
- user: z.string(),
86
- action: z.string(),
87
- timestamp: z.string(),
88
- avatar: z.string().nullable()
89
- })
90
- ).nullable()
91
- }),
92
- description: "Chronological activity feed with user avatars, actions, and timestamps."
93
- },
94
- AgentConversationBlock: {
95
- props: z.object({
96
- messages: z.array(
97
- z.object({
98
- id: z.string(),
99
- role: z.enum(["user", "assistant", "system"]),
100
- content: z.string(),
101
- timestamp: z.string().nullable(),
102
- isThinking: z.boolean().nullable(),
103
- reasoning: z.string().nullable(),
104
- isStreaming: z.boolean().nullable(),
105
- toolCalls: z.array(
106
- z.object({
107
- id: z.string(),
108
- toolName: z.string(),
109
- args: z.record(z.string(), z.unknown()).nullable(),
110
- status: z.enum(["pending", "running", "complete", "error"]),
111
- result: z.string().nullable(),
112
- duration: z.number().nullable()
113
- })
114
- ).nullable()
115
- })
116
- )
117
- }),
118
- description: "AI agent conversation thread with user/assistant messages, tool calls, thinking indicators, and streaming support."
119
- },
120
- AgentProfileGridBlock: {
121
- props: z.object({
122
- title: z.string().nullable(),
123
- description: z.string().nullable(),
124
- columns: z.union([z.literal(2), z.literal(3), z.literal(4)]).nullable(),
125
- agents: z.array(
126
- z.object({
127
- name: z.string(),
128
- role: z.string(),
129
- description: z.string(),
130
- capabilities: z.array(z.string()).nullable(),
131
- status: z.enum(["active", "idle", "coming-soon"]).nullable(),
132
- href: z.string().nullable(),
133
- avatar: z.string()
134
- })
135
- ).nullable()
136
- }),
137
- description: "Grid display of AI agent profiles with name, role, capabilities, and status indicators."
138
- },
139
- AgentRunOverviewBlock: {
140
- props: z.object({
141
- title: z.string().nullable(),
142
- description: z.string().nullable(),
143
- teamTitle: z.string().nullable(),
144
- metricsTitle: z.string().nullable(),
145
- contextTitle: z.string().nullable(),
146
- workflow: z.object({
147
- title: z.string().nullable(),
148
- nodes: z.array(
149
- z.object({
150
- id: z.string(),
151
- label: z.string(),
152
- status: z.enum(["pending", "active", "done", "error"])
153
- })
154
- ),
155
- edges: z.array(
156
- z.object({ from: z.string(), to: z.string(), label: z.string().nullable() })
157
- )
158
- }).nullable(),
159
- agents: z.array(
160
- z.object({
161
- id: z.string(),
162
- name: z.string(),
163
- role: z.string(),
164
- status: z.enum(["idle", "active", "complete", "error"]),
165
- model: z.string().nullable(),
166
- currentAction: z.string().nullable(),
167
- tokenCount: z.number().nullable(),
168
- cost: z.number().nullable(),
169
- elapsedMs: z.number().nullable(),
170
- stepsCompleted: z.number().nullable(),
171
- stepsTotal: z.number().nullable()
172
- })
173
- ).nullable(),
174
- metrics: z.array(
175
- z.object({
176
- label: z.string(),
177
- value: z.union([z.number(), z.string()]),
178
- suffix: z.string().nullable()
179
- })
180
- ).nullable(),
181
- context: z.object({ used: z.number(), total: z.number() }).nullable()
182
- }),
183
- description: "Agent runtime overview with workflow graph, team panel, metrics, and context window usage."
184
- },
185
- AgentWorkbenchBlock: {
186
- props: z.object({
187
- title: z.string().nullable(),
188
- description: z.string().nullable(),
189
- threadTitle: z.string().nullable(),
190
- workTitle: z.string().nullable(),
191
- messages: z.array(
192
- z.object({
193
- id: z.string(),
194
- role: z.enum(["user", "assistant"]),
195
- content: z.string(),
196
- timestamp: z.string().nullable(),
197
- toolCalls: z.array(
198
- z.object({
199
- id: z.string(),
200
- toolName: z.string(),
201
- status: z.enum(["pending", "running", "complete", "error"])
202
- })
203
- ).nullable()
204
- })
205
- ).nullable(),
206
- artifacts: z.array(
207
- z.object({
208
- id: z.string(),
209
- type: z.enum(["code", "markdown", "table", "image"]),
210
- title: z.string(),
211
- content: z.string(),
212
- language: z.string().nullable()
213
- })
214
- ).nullable(),
215
- diffs: z.array(
216
- z.object({
217
- id: z.string(),
218
- filePath: z.string(),
219
- language: z.string().nullable(),
220
- hunks: z.array(
221
- z.object({
222
- changes: z.array(
223
- z.object({
224
- type: z.enum(["add", "remove", "context"]),
225
- content: z.string(),
226
- lineNumber: z.number().nullable()
227
- })
228
- )
229
- })
230
- )
231
- })
232
- ).nullable(),
233
- logs: z.array(
234
- z.object({
235
- text: z.string(),
236
- type: z.enum(["stdin", "stdout", "stderr"]).nullable()
237
- })
238
- ).nullable()
239
- }),
240
- events: ["composerChange", "composerSend"],
241
- description: "Agent workbench with conversation thread, code artifacts, diffs, terminal logs, and composer input."
242
- },
243
- BenchmarksBlock: {
244
- props: z.object({
245
- badgeLabel: z.string().nullable(),
246
- title: z.string().nullable(),
247
- subtitle: z.string().nullable(),
248
- datasets: z.array(
249
- z.object({
250
- name: z.string(),
251
- description: z.string(),
252
- columns: z.array(z.string()),
253
- rows: z.array(
254
- z.object({
255
- cells: z.array(z.string()),
256
- highlight: z.boolean().nullable()
257
- })
258
- )
259
- })
260
- ).nullable(),
261
- staggerMs: z.number().nullable()
262
- }),
263
- description: "Benchmark results grid with tabular datasets, badge header, and staggered card animation."
264
- },
265
- BannerBlock: {
266
- props: z.object({
267
- variant: z.enum(["info", "warning", "accent"]).nullable(),
268
- dismissible: z.boolean().nullable()
269
- }),
270
- events: ["dismiss"],
271
- slots: ["default"],
272
- description: "Dismissible banner notification for info, warning, or accent messages.",
273
- example: { variant: "info", dismissible: true }
274
- },
275
- BarChartBlock: {
276
- props: z.object({
277
- data: z.array(z.object({ name: z.string(), total: z.number(), prediction: z.number() })).nullable(),
278
- config: chartConfigSchema,
279
- title: z.string().nullable(),
280
- description: z.string().nullable()
281
- }),
282
- description: "Vertical bar chart with configurable data series and chart configuration."
283
- },
284
- CallToActionBlock: {
285
- props: z.object({
286
- title: z.string().nullable(),
287
- description: z.string().nullable(),
288
- primaryAction: z.object({ label: z.string(), href: z.string() }).nullable(),
289
- secondaryAction: z.object({ label: z.string(), href: z.string() }).nullable()
290
- }),
291
- description: "Call-to-action section with headline, description, and primary/secondary action buttons.",
292
- example: {
293
- title: "Ready to get started?",
294
- primaryAction: { label: "Start now", href: "/signup" }
295
- }
296
- },
297
- ChangelogBlock: {
298
- props: z.object({
299
- title: z.string().nullable(),
300
- entries: z.array(
301
- z.object({
302
- version: z.string(),
303
- date: z.string(),
304
- changes: z.array(
305
- z.object({ type: z.enum(["added", "fixed", "changed"]), text: z.string() })
306
- )
307
- })
308
- ).nullable()
309
- }),
310
- description: "Changelog display with versioned entries and categorized changes."
311
- },
312
- CheckEmailBlock: {
313
- props: z.object({
314
- email: z.string().nullable(),
315
- type: z.enum(["verification", "reset", "magic-link"]).nullable()
316
- }),
317
- events: ["resend", "backToLogin"],
318
- description: "Post-submission email check prompt with resend action and step-by-step instructions."
319
- },
320
- ChartBlock: {
321
- props: z.object({
322
- data: z.array(
323
- z.object({
324
- month: z.string(),
325
- desktop: z.number(),
326
- mobile: z.number()
327
- })
328
- ).nullable(),
329
- config: chartConfigSchema,
330
- title: z.string().nullable(),
331
- description: z.string().nullable()
332
- }),
333
- description: "Line/area chart comparing desktop and mobile metrics over time."
334
- },
335
- ChartCollectionBlock: {
336
- props: z.object({}),
337
- description: "Pre-composed collection of multiple chart types displayed in a dashboard grid."
338
- },
339
- CommandPaletteBlock: {
340
- props: z.object({
341
- items: z.array(
342
- z.object({
343
- id: z.string(),
344
- title: z.string(),
345
- group: z.string().nullable()
346
- })
347
- ).nullable(),
348
- placeholder: z.string().nullable()
349
- }),
350
- events: ["select"],
351
- description: "Keyboard-driven command palette with fuzzy search, hotkey trigger (Cmd+K), and responsive trigger button."
352
- },
353
- ComparisonBlock: {
354
- props: z.object({
355
- title: z.string().nullable(),
356
- description: z.string().nullable(),
357
- plans: z.array(
358
- z.object({
359
- name: z.string(),
360
- featured: z.boolean().nullable(),
361
- features: z.record(
362
- z.string(),
363
- z.union([z.boolean(), z.string()])
364
- )
365
- })
366
- ).nullable()
367
- }),
368
- description: "Feature comparison table across multiple plans with boolean and text feature values."
369
- },
370
- ContactBlock: {
371
- props: z.object({
372
- title: z.string().nullable(),
373
- description: z.string().nullable(),
374
- namePlaceholder: z.string().nullable(),
375
- emailPlaceholder: z.string().nullable(),
376
- messagePlaceholder: z.string().nullable(),
377
- successTitle: z.string().nullable(),
378
- submitLabel: z.string().nullable()
379
- }),
380
- events: ["submit"],
381
- description: "Contact form with name, email, and message fields. Shows success state after submission.",
382
- example: { title: "Get in touch", submitLabel: "Send message" }
383
- },
384
- CreateBlock: {
385
- props: z.object({
386
- title: z.string().nullable(),
387
- description: z.string().nullable(),
388
- submitLabel: z.string().nullable()
389
- }),
390
- events: ["submit"],
391
- description: "Profile creation form with username, email, and bio fields."
392
- },
393
- DataGridBlock: {
394
- props: z.object({
395
- data: z.array(
396
- z.object({
397
- id: z.string(),
398
- amount: z.number(),
399
- status: z.enum([
400
- "pending",
401
- "processing",
402
- "success",
403
- "failed"
404
- ]),
405
- email: z.string()
406
- })
407
- ).nullable(),
408
- title: z.string().nullable(),
409
- description: z.string().nullable()
410
- }),
411
- description: "Data table with sortable columns, row selection, filtering, and pagination."
412
- },
413
- DirectoryBlock: {
414
- props: z.object({
415
- navItems: z.array(
416
- z.object({
417
- name: z.string(),
418
- icon: z.string(),
419
- isActive: z.boolean().nullable()
420
- })
421
- ).nullable(),
422
- projects: z.array(z.object({ name: z.string(), url: z.string() })).nullable()
423
- }),
424
- description: "Navigation directory with sidebar items and project listings."
425
- },
426
- EmailVerifiedBlock: {
427
- props: z.object({
428
- title: z.string().nullable(),
429
- description: z.string().nullable(),
430
- buttonText: z.string().nullable(),
431
- autoRedirectSeconds: z.number().nullable()
432
- }),
433
- events: ["continue"],
434
- description: "Email verification success card with check icon, continue button, and optional auto-redirect countdown."
435
- },
436
- FAQBlock: {
437
- props: z.object({
438
- title: z.string().nullable(),
439
- description: z.string().nullable(),
440
- items: z.array(
441
- z.object({ question: z.string(), answer: z.string() })
442
- ).nullable()
443
- }),
444
- description: "Accordion-style FAQ section with expandable question/answer pairs.",
445
- example: { title: "Frequently Asked Questions" }
446
- },
447
- FeatureBlock: {
448
- props: z.object({
449
- variant: z.enum(["grid", "list"]).nullable(),
450
- badge: z.string().nullable(),
451
- title: z.string().nullable(),
452
- description: z.string().nullable(),
453
- features: z.array(
454
- z.object({
455
- title: z.string(),
456
- description: z.string(),
457
- icon: z.string(),
458
- badge: z.string().nullable(),
459
- bullets: z.array(z.string()).nullable()
460
- })
461
- ).nullable()
462
- }),
463
- description: "Feature showcase in grid or list layout with icons, descriptions, and optional badges."
464
- },
465
- FeatureGridBlock: {
466
- props: z.object({
467
- title: z.string().nullable(),
468
- description: z.string().nullable(),
469
- features: z.array(
470
- z.object({
471
- title: z.string(),
472
- description: z.string(),
473
- icon: z.string()
474
- })
475
- ).nullable()
476
- }),
477
- description: "Simple feature grid with title and description per feature card."
478
- },
479
- ForgotPasswordBlock: {
480
- props: z.object({
481
- title: z.string().nullable(),
482
- description: z.string().nullable(),
483
- successTitle: z.string().nullable(),
484
- submitLabel: z.string().nullable(),
485
- loadingLabel: z.string().nullable(),
486
- backLabel: z.string().nullable(),
487
- emailPlaceholder: z.string().nullable()
488
- }),
489
- events: ["submit", "backToLogin"],
490
- description: "Forgot password form with email input, loading state, and success confirmation."
491
- },
492
- FooterBlock: {
493
- props: z.object({
494
- brandDescription: z.string().nullable(),
495
- newsletterPlaceholder: z.string().nullable(),
496
- productLinks: z.array(z.object({ name: z.string(), href: z.string() })).nullable(),
497
- companyLinks: z.array(z.object({ name: z.string(), href: z.string() })).nullable(),
498
- legalLinks: z.array(z.object({ name: z.string(), href: z.string() })).nullable()
499
- }),
500
- description: "Site footer with brand description, navigation columns, newsletter signup, and social icons.",
501
- example: { brandDescription: "The ultimate design system." }
502
- },
503
- GalleryBlock: {
504
- props: z.object({
505
- title: z.string().nullable(),
506
- columns: z.number().nullable(),
507
- images: z.array(
508
- z.object({
509
- src: z.string(),
510
- alt: z.string(),
511
- caption: z.string().nullable()
512
- })
513
- ).nullable()
514
- }),
515
- description: "Image gallery grid with configurable columns and optional captions."
516
- },
517
- HeaderBlock: {
518
- props: z.object({
519
- menuItems: z.array(z.object({ name: z.string(), href: z.string() })).nullable(),
520
- loginLabel: z.string().nullable(),
521
- signUpLabel: z.string().nullable(),
522
- loginHref: z.string().nullable(),
523
- signUpHref: z.string().nullable()
524
- }),
525
- description: "Site header with logo, navigation menu, and auth action buttons. Responsive with mobile hamburger menu.",
526
- example: {
527
- menuItems: [{ name: "Features", href: "#features" }],
528
- loginLabel: "Login"
529
- }
530
- },
531
- HeatmapChartBlock: {
532
- props: z.object({
533
- data: z.array(
534
- z.object({
535
- x: z.string(),
536
- y: z.string(),
537
- value: z.number()
538
- })
539
- ).nullable(),
540
- config: chartConfigSchema,
541
- title: z.string().nullable(),
542
- description: z.string().nullable()
543
- }),
544
- description: "Heatmap chart with X/Y grid cells colored by value intensity."
545
- },
546
- HeroBlock: {
547
- props: z.object({
548
- variant: z.enum(["centered", "split"]).nullable(),
549
- headline: z.string().nullable(),
550
- subheadline: z.string().nullable(),
551
- primaryAction: z.object({ label: z.string() }).nullable(),
552
- secondaryAction: z.object({ label: z.string() }).nullable(),
553
- announcement: z.object({
554
- label: z.string(),
555
- text: z.string(),
556
- href: z.string().nullable()
557
- }).nullable()
558
- }),
559
- events: ["primaryAction", "secondaryAction"],
560
- description: "Hero section with headline, subheadline, and call-to-action buttons. Supports centered and split variants.",
561
- example: {
562
- variant: "centered",
563
- headline: "Build faster",
564
- primaryAction: { label: "Get Started" }
565
- }
566
- },
567
- HeroSectionBlock: {
568
- props: z.object({
569
- headline: z.string().nullable(),
570
- flipWords: z.array(z.string()).nullable(),
571
- primaryAction: z.object({ label: z.string(), href: z.string() }).nullable(),
572
- secondaryAction: z.object({ label: z.string(), href: z.string() }).nullable(),
573
- logos: z.array(
574
- z.object({
575
- src: z.string(),
576
- alt: z.string(),
577
- height: z.string()
578
- })
579
- ).nullable()
580
- }),
581
- description: "Hero section with animated flip-word headline, dual CTAs, and logo slider."
582
- },
583
- IntegrationsBlock: {
584
- props: z.object({
585
- title: z.string().nullable(),
586
- description: z.string().nullable(),
587
- integrations: z.array(
588
- z.object({
589
- title: z.string(),
590
- description: z.string(),
591
- icon: z.string(),
592
- link: z.string().nullable()
593
- })
594
- ).nullable()
595
- }),
596
- description: "Grid of integration cards with title, description, and optional link."
597
- },
598
- InteractiveAreaChartBlock: {
599
- props: z.object({
600
- data: z.array(
601
- z.object({
602
- date: z.string(),
603
- desktop: z.number(),
604
- mobile: z.number()
605
- })
606
- ).nullable(),
607
- config: chartConfigSchema,
608
- title: z.string().nullable(),
609
- description: z.string().nullable(),
610
- timeRanges: z.array(
611
- z.object({
612
- value: z.string(),
613
- label: z.string(),
614
- days: z.number()
615
- })
616
- ).nullable()
617
- }),
618
- description: "Interactive area chart with time range selector and configurable data series."
619
- },
620
- LoginBlock: {
621
- props: z.object({
622
- type: z.enum(["login", "signup"]).nullable(),
623
- showSocial: z.boolean().nullable(),
624
- error: z.string().nullable(),
625
- forgotPasswordHref: z.string().nullable(),
626
- signUpHref: z.string().nullable(),
627
- signInHref: z.string().nullable()
628
- }),
629
- events: ["submit", "socialLogin"],
630
- description: "Authentication login form with email/password fields and optional social login buttons.",
631
- example: { showSocial: true, forgotPasswordHref: "/reset-password" }
632
- },
633
- MagicLinkBlock: {
634
- props: z.object({
635
- title: z.string().nullable(),
636
- subtitle: z.string().nullable(),
637
- successTitle: z.string().nullable(),
638
- expiryMinutes: z.number().nullable(),
639
- placeholder: z.string().nullable()
640
- }),
641
- events: ["submit", "backToLogin"],
642
- description: "Magic link authentication form with email input, loading state, and success confirmation with expiry info."
643
- },
644
- NewsletterBlock: {
645
- props: z.object({
646
- title: z.string().nullable(),
647
- description: z.string().nullable()
648
- }),
649
- events: ["subscribe"],
650
- description: "Newsletter signup form with email input and subscribe button."
651
- },
652
- OnboardingBlock: {
653
- props: z.object({
654
- title: z.string().nullable(),
655
- steps: z.array(
656
- z.object({
657
- id: z.string(),
658
- title: z.string(),
659
- description: z.string(),
660
- completed: z.boolean()
661
- })
662
- ).nullable()
663
- }),
664
- events: ["toggle"],
665
- description: "Onboarding checklist with toggleable step completion tracking."
666
- },
667
- OTPBlock: {
668
- props: z.object({
669
- title: z.string().nullable(),
670
- description: z.string().nullable(),
671
- maxLength: z.number().nullable(),
672
- buttonText: z.string().nullable()
673
- }),
674
- events: ["verify"],
675
- description: "OTP verification card with configurable code length, title, and verify callback."
676
- },
677
- PasswordChangedBlock: {
678
- props: z.object({
679
- autoRedirectSeconds: z.number().nullable(),
680
- title: z.string().nullable(),
681
- description: z.string().nullable(),
682
- buttonLabel: z.string().nullable()
683
- }),
684
- events: ["continue"],
685
- description: "Password change success confirmation with optional auto-redirect countdown and continue-to-login action."
686
- },
687
- PasswordRecoveryBlock: {
688
- props: z.object({
689
- mode: z.enum(["reset", "magic-link"]).nullable(),
690
- title: z.string().nullable(),
691
- description: z.string().nullable(),
692
- buttonText: z.string().nullable(),
693
- successTitle: z.string().nullable()
694
- }),
695
- events: ["submit", "backToLogin"],
696
- description: "Password recovery form with email input. Supports reset and magic-link modes."
697
- },
698
- PricingBlock: {
699
- props: z.object({
700
- title: z.string().nullable(),
701
- description: z.string().nullable(),
702
- showBillingToggle: z.boolean().nullable(),
703
- plans: z.array(
704
- z.object({
705
- name: z.string(),
706
- description: z.string(),
707
- price: z.string(),
708
- period: z.string(),
709
- features: z.array(z.string()),
710
- action: z.string(),
711
- variant: z.string(),
712
- popular: z.boolean().nullable()
713
- })
714
- ).nullable()
715
- }),
716
- description: "Pricing table with plan comparison, billing toggle, and feature lists.",
717
- example: { title: "Simple, transparent pricing", showBillingToggle: true }
718
- },
719
- PricingTableBlock: {
720
- props: z.object({
721
- heading: z.string().nullable(),
722
- subheading: z.string().nullable(),
723
- plans: z.array(
724
- z.object({
725
- name: z.string(),
726
- price: z.string(),
727
- period: z.string(),
728
- description: z.string(),
729
- features: z.array(z.string()),
730
- highlighted: z.boolean().optional(),
731
- badge: z.string().optional(),
732
- buttonVariant: z.enum(["primary", "outline"]).optional()
733
- })
734
- ).nullable()
735
- }),
736
- events: ["selectPlan"],
737
- description: "Pricing comparison table with tiered plan cards, feature lists, and call-to-action buttons."
738
- },
739
- ProcessFlowBlock: {
740
- props: z.object({
741
- title: z.string().nullable(),
742
- description: z.string().nullable(),
743
- badge: z.string().nullable(),
744
- steps: z.array(
745
- z.object({
746
- title: z.string(),
747
- description: z.string()
748
- })
749
- ).nullable()
750
- }),
751
- description: "Step-by-step process flow diagram with numbered steps and descriptions."
752
- },
753
- ResetPasswordBlock: {
754
- props: z.object({
755
- title: z.string().nullable(),
756
- description: z.string().nullable()
757
- }),
758
- events: ["submit", "backToLogin"],
759
- description: "New password form with password confirmation. Shown after recovery link click."
760
- },
761
- SignUpBlock: {
762
- props: z.object({
763
- title: z.string().nullable(),
764
- description: z.string().nullable(),
765
- showSocial: z.boolean().nullable(),
766
- signInHref: z.string().nullable()
767
- }),
768
- events: ["submit"],
769
- description: "Sign-up form with name, email, and password fields. Optional social login buttons.",
770
- example: { title: "Create an Account", showSocial: true }
771
- },
772
- SavingsCalculatorBlock: {
773
- props: z.object({
774
- title: z.string().nullable(),
775
- description: z.string().nullable(),
776
- badgeLabel: z.string().nullable(),
777
- billingTitle: z.string().nullable(),
778
- billingDescription: z.string().nullable(),
779
- billingModels: z.array(
780
- z.object({
781
- model: z.string(),
782
- inputRate: z.string(),
783
- savedPerRead: z.string()
784
- })
785
- ).nullable(),
786
- projectionTitle: z.string().nullable(),
787
- projectionDescription: z.string().nullable(),
788
- projections: z.array(
789
- z.object({
790
- label: z.string(),
791
- amount: z.number(),
792
- suffix: z.string(),
793
- detail: z.string()
794
- })
795
- ).nullable(),
796
- summaryItems: z.array(z.object({ label: z.string(), value: z.string() })).nullable()
797
- }),
798
- description: "Savings calculator block with billing table and monthly projection cards featuring animated counting numbers."
799
- },
800
- SocialProofBlock: {
801
- props: z.object({
802
- variant: z.enum(["logo-cloud", "testimonials"]).nullable(),
803
- title: z.string().nullable(),
804
- testimonials: z.array(
805
- z.object({
806
- quote: z.string(),
807
- author: z.string(),
808
- role: z.string(),
809
- avatar: z.string()
810
- })
811
- ).nullable()
812
- }),
813
- description: "Social proof section with logo cloud or customer testimonial carousel."
814
- },
815
- SolutionShowcaseBlock: {
816
- props: z.object({
817
- title: z.string().nullable(),
818
- description: z.string().nullable(),
819
- badge: z.string().nullable(),
820
- sections: z.array(
821
- z.object({
822
- label: z.string(),
823
- title: z.string(),
824
- description: z.string(),
825
- bullets: z.array(z.string())
826
- })
827
- ).nullable(),
828
- className: z.string().nullable()
829
- }),
830
- description: "Problem/solution/output showcase with three glass-panel cards and animated stagger entrance."
831
- },
832
- StatsBlock: {
833
- props: z.object({
834
- stats: z.array(
835
- z.object({
836
- title: z.string(),
837
- value: z.union([z.number(), z.string()]),
838
- trend: trendSchema,
839
- sparklineData: z.array(z.number()).nullable(),
840
- periodText: z.string().nullable(),
841
- prefix: z.string().nullable(),
842
- suffix: z.string().nullable()
843
- })
844
- ).nullable()
845
- }),
846
- description: "Statistics display with trend indicators, sparklines, and formatted values.",
847
- example: {
848
- stats: [
849
- {
850
- title: "Revenue",
851
- value: 45231,
852
- prefix: "$",
853
- trend: { value: 12, direction: "up" }
854
- }
855
- ]
856
- }
857
- },
858
- StatsMarketingBlock: {
859
- props: z.object({
860
- title: z.string().nullable(),
861
- description: z.string().nullable(),
862
- stats: z.array(
863
- z.object({
864
- value: z.number(),
865
- label: z.string(),
866
- suffix: z.string().nullable(),
867
- prefix: z.string().nullable()
868
- })
869
- ).nullable()
870
- }),
871
- description: "Marketing statistics section with animated counting numbers and labels."
872
- },
873
- TeamBlock: {
874
- props: z.object({
875
- title: z.string().nullable(),
876
- sections: z.array(
877
- z.object({
878
- heading: z.string(),
879
- members: z.array(
880
- z.object({
881
- name: z.string(),
882
- role: z.string(),
883
- avatar: z.string()
884
- })
885
- )
886
- })
887
- ).nullable()
888
- }),
889
- description: "Team showcase with sectioned member grids showing avatars, names, and roles."
890
- },
891
- TestimonialsBlock: {
892
- props: z.object({
893
- title: z.string().nullable(),
894
- description: z.string().nullable(),
895
- testimonials: z.array(
896
- z.object({
897
- quote: z.string(),
898
- author: z.string(),
899
- role: z.string(),
900
- avatar: z.string(),
901
- featured: z.boolean().nullable()
902
- })
903
- ).nullable()
904
- }),
905
- description: "Customer testimonials with quotes, author info, and optional featured highlighting."
906
- },
907
- TwoFactorChallengeBlock: {
908
- props: z.object({
909
- error: z.string().nullable(),
910
- title: z.string().nullable(),
911
- description: z.string().nullable(),
912
- backupCodeLabel: z.string().nullable()
913
- }),
914
- events: ["verify", "useBackupCode", "backToLogin"],
915
- description: "Two-factor authentication code entry with 6-digit OTP input and backup code option."
916
- },
917
- TwoFactorSetupBlock: {
918
- props: z.object({
919
- qrCodeUrl: z.string().nullable(),
920
- secret: z.string().nullable(),
921
- backupCodes: z.array(z.string()).nullable(),
922
- title: z.string().nullable(),
923
- description: z.string().nullable()
924
- }),
925
- events: ["verify", "complete"],
926
- description: "Two-factor setup wizard with QR code, secret key display, backup codes, and verification."
927
- },
928
- TimezonePickerBlock: {
929
- props: z.object({
930
- value: z.string().nullable(),
931
- groups: z.array(
932
- z.object({
933
- region: z.string(),
934
- timezones: z.array(
935
- z.object({
936
- value: z.string(),
937
- label: z.string(),
938
- region: z.string(),
939
- offset: z.string(),
940
- offsetMinutes: z.number()
941
- })
942
- )
943
- })
944
- ).nullable(),
945
- name: z.string().nullable()
946
- }),
947
- events: ["change"],
948
- description: "Searchable timezone picker with grouped IANA timezones, offset display, and form integration."
949
- },
950
- UsageDonutBlock: {
951
- props: z.object({
952
- data: z.array(
953
- z.object({
954
- name: z.string(),
955
- value: z.number(),
956
- fill: z.string()
957
- })
958
- ).nullable(),
959
- config: chartConfigSchema,
960
- title: z.string().nullable(),
961
- description: z.string().nullable()
962
- }),
963
- description: "Donut chart showing usage breakdown by category with center label."
964
- },
965
- AudioVisualizerBlock: {
966
- props: z.object({
967
- bars: z.number().nullable(),
968
- isPlaying: z.boolean().nullable(),
969
- className: z.string().nullable()
970
- }),
971
- description: "Animated audio visualizer bar display. Use inside voice or audio playback UIs. Set isPlaying to animate bars; bars controls the count (default 20)."
972
- },
973
- AuthLayout: {
974
- props: z.object({
975
- mode: z.enum(["login", "signup"]).nullable(),
976
- error: z.string().nullable(),
977
- labels: z.object({
978
- headline: z.string().nullable(),
979
- quote: z.string().nullable(),
980
- quoteAttribution: z.string().nullable()
981
- }).nullable(),
982
- className: z.string().nullable()
983
- }),
984
- slots: ["default"],
985
- description: "Full-page split auth layout with animated visual side and form side. Renders a LoginBlock internally. Use as the shell for login and signup pages when you need the branded two-column layout."
986
- },
987
- AuthSuccessBlock: {
988
- props: z.object({
989
- title: z.string(),
990
- description: z.string(),
991
- buttonText: z.string().nullable(),
992
- autoRedirectSeconds: z.number().nullable()
993
- }),
994
- slots: ["icon"],
995
- events: ["continue"],
996
- description: "Success confirmation card with icon slot, title, description, continue button, and optional auto-redirect countdown. Use after successful auth flows (email verified, password reset)."
997
- },
998
- ChatLayout: {
999
- props: z.object({
1000
- assistantName: z.string().nullable(),
1001
- assistantStatus: z.string().nullable(),
1002
- placeholder: z.string().nullable(),
1003
- initialMessages: z.array(
1004
- z.object({
1005
- id: z.string(),
1006
- role: z.enum(["user", "assistant"]),
1007
- content: z.string()
1008
- })
1009
- ).nullable(),
1010
- className: z.string().nullable()
1011
- }),
1012
- description: "Self-contained chat widget with message history, send form, and simulated assistant replies. Suitable for embedded chat demos and prototype UIs. For full-page agent chat use AgentsChatPageKit."
1013
- },
1014
- CheckoutForm: {
1015
- props: z.object({
1016
- amount: z.number().nullable(),
1017
- currency: z.string().nullable(),
1018
- returnUrl: z.string().nullable()
1019
- }),
1020
- description: "Stripe payment form card using Stripe.js PaymentElement. Must be rendered inside a Stripe Elements provider. Handles submission, loading, and error states. amount is in cents (default 2000)."
1021
- },
1022
- CodeBlock: {
1023
- props: z.object({
1024
- code: z.string(),
1025
- language: z.string().nullable(),
1026
- filename: z.string().nullable(),
1027
- className: z.string().nullable()
1028
- }),
1029
- description: "Syntax-highlighted code display with copy button and optional filename header. Uses Prism.js for highlighting. Wrap in ScrollFadeIn entrance animation automatically."
1030
- },
1031
- FormWizard: {
1032
- props: z.object({
1033
- activeStep: z.number().nullable(),
1034
- nextLabel: z.string().nullable(),
1035
- backLabel: z.string().nullable(),
1036
- completeLabel: z.string().nullable(),
1037
- variant: z.string().nullable(),
1038
- size: z.string().nullable(),
1039
- className: z.string().nullable()
1040
- }),
1041
- slots: ["steps"],
1042
- events: ["stepChange", "complete"],
1043
- description: "Multi-step wizard with animated step transitions, progress indicators, and back/next/complete navigation. Steps are passed as WizardStep objects with id, title, description, and content. Supports controlled (activeStep + onStepChange) and uncontrolled modes."
1044
- },
1045
- InviteUserModal: {
1046
- props: z.object({}),
1047
- events: ["invite", "invited"],
1048
- description: "Self-contained invite teammate modal triggered by a button. Renders a dialog with email and role (admin/member/guest) fields, Zod validation, and async submission. Use inside team management UIs."
1049
- },
1050
- KanbanBoard: {
1051
- props: z.object({
1052
- activationDistance: z.number().nullable(),
1053
- className: z.string().nullable()
1054
- }),
1055
- slots: ["default"],
1056
- events: ["valueChange"],
1057
- description: "Headless drag-and-drop Kanban board primitive. Compose with KanbanColumn, KanbanColumnHeader, KanbanItem, and KanbanHandle sub-components. Controlled via value + onValueChange. Use KanbanBoardPageKit for a full-page opinionated implementation."
1058
- },
1059
- KanbanDemoBlock: {
1060
- props: z.object({
1061
- className: z.string().nullable()
1062
- }),
1063
- description: "Pre-configured Kanban demo with sample task data across five columns (Backlog, Todo, In Progress, Review, Done). Wraps KanbanBoard with a complete task card layout including priority badges, assignee avatars, and tag pills."
1064
- },
1065
- LogoCloud: {
1066
- props: z.object({
1067
- title: z.string().nullable(),
1068
- logos: z.array(
1069
- z.object({
1070
- src: z.string(),
1071
- alt: z.string(),
1072
- height: z.number()
1073
- })
1074
- ).nullable(),
1075
- className: z.string().nullable()
1076
- }),
1077
- description: "Partner/customer logo grid with title. Logos auto-invert in dark mode. Use as a social proof section on marketing pages."
1078
- },
1079
- NavUser: {
1080
- props: z.object({
1081
- user: z.object({
1082
- name: z.string(),
1083
- email: z.string(),
1084
- avatar: z.string().nullable()
1085
- }),
1086
- items: z.array(
1087
- z.object({
1088
- label: z.string(),
1089
- href: z.string().nullable()
1090
- })
1091
- ).nullable()
1092
- }),
1093
- slots: ["footer"],
1094
- description: "Sidebar user menu button with avatar, name, email, and dropdown actions. Renders inside a SidebarMenu. Used in the sidebar footer of NavigationShellPageKit."
1095
- },
1096
- NotFoundBlock: {
1097
- props: z.object({
1098
- title: z.string().nullable(),
1099
- description: z.string().nullable(),
1100
- backHref: z.string().nullable(),
1101
- backLabel: z.string().nullable(),
1102
- className: z.string().nullable()
1103
- }),
1104
- description: "404 not-found section with animated gradient title, description, and back-home button. Embeds a MeteorShower background effect. Use on error and not-found pages."
1105
- },
1106
- SettingsLayout: {
1107
- props: z.object({
1108
- title: z.string().nullable(),
1109
- subtitle: z.string().nullable(),
1110
- defaultActive: z.string().nullable(),
1111
- links: z.array(
1112
- z.object({
1113
- label: z.string(),
1114
- badge: z.string().nullable()
1115
- })
1116
- ).nullable(),
1117
- className: z.string().nullable()
1118
- }),
1119
- slots: ["sectionContent"],
1120
- events: ["activeChange"],
1121
- description: "Settings shell with collapsible sidebar navigation and animated content area. Provide renderContent to supply per-section content. For a full-page implementation with save/discard controls use SettingsPageKit."
1122
- },
1123
- VoiceAgentCard: {
1124
- props: z.object({
1125
- agent: z.object({
1126
- id: z.string(),
1127
- name: z.string(),
1128
- role: z.string(),
1129
- avatar: z.string()
1130
- }),
1131
- state: z.enum(["idle", "listening", "speaking"]),
1132
- selected: z.boolean().nullable(),
1133
- ariaLabel: z.string().nullable(),
1134
- className: z.string().nullable()
1135
- }),
1136
- events: ["select"],
1137
- description: "Voice agent selection card with 3D avatar, name, role, and state badge (idle/listening/speaking). Supports selected highlight and press animation. Use in a grid inside VoiceAgentsPageKit or standalone voice agent UIs."
1138
- },
1139
- WizardBlock: {
1140
- props: z.object({
1141
- title: z.string().nullable(),
1142
- description: z.string().nullable(),
1143
- steps: z.array(
1144
- z.object({
1145
- title: z.string(),
1146
- description: z.string()
1147
- })
1148
- ).nullable(),
1149
- className: z.string().nullable()
1150
- }),
1151
- events: ["finish"],
1152
- description: "Opinionated multi-step wizard card with Stepper progress indicator and built-in step content slots. Handles account, profile, plan, and launch steps by default. Use for onboarding and setup flows."
1153
- },
1154
- WorkspaceSwitcherBlock: {
1155
- props: z.object({
1156
- name: z.string().nullable(),
1157
- plan: z.string().nullable(),
1158
- href: z.string().nullable()
1159
- }),
1160
- description: "Sidebar workspace switcher button with icon, workspace name, and plan label. Renders inside a SidebarMenu."
1161
- },
1162
- // =========================================================================
1163
- // Page Kits (28 entries, alphabetical)
1164
- // =========================================================================
1165
- AccountLockedPageKit: {
1166
- props: z.object({
1167
- reason: z.enum(["too_many_attempts", "suspicious_activity", "admin"]).nullable(),
1168
- unlockMinutes: z.number().nullable(),
1169
- title: z.string().nullable(),
1170
- description: z.string().nullable()
1171
- }),
1172
- events: ["contactSupport", "backToLogin"],
1173
- description: "Full-page account locked screen with reason display and support/login actions."
1174
- },
1175
- AgentsChatPageKit: {
1176
- props: z.object({
1177
- shell: navigationShellSchema,
1178
- state: z.enum([
1179
- "empty",
1180
- "loading",
1181
- "thinking",
1182
- "blocked-approval",
1183
- "failed",
1184
- "running",
1185
- "complete"
1186
- ]).nullable(),
1187
- messages: z.array(
1188
- z.object({
1189
- id: z.string(),
1190
- role: z.enum(["user", "assistant", "system"]),
1191
- content: z.string(),
1192
- timestamp: z.string().nullable()
1193
- })
1194
- ).nullable(),
1195
- toolCalls: z.array(
1196
- z.object({
1197
- id: z.string(),
1198
- toolName: z.string(),
1199
- status: z.enum(["pending", "running", "complete", "error"]),
1200
- result: z.string().nullable(),
1201
- durationMs: z.number().nullable()
1202
- })
1203
- ).nullable(),
1204
- artifacts: z.array(
1205
- z.object({
1206
- id: z.string(),
1207
- title: z.string(),
1208
- kind: z.enum(["diff", "file", "log", "report"]),
1209
- summary: z.string()
1210
- })
1211
- ).nullable(),
1212
- traceEvents: z.array(
1213
- z.object({
1214
- id: z.string(),
1215
- label: z.string(),
1216
- detail: z.string()
1217
- })
1218
- ).nullable(),
1219
- errorMessage: z.string().nullable(),
1220
- composer: z.object({
1221
- value: z.string().nullable(),
1222
- placeholder: z.string().nullable(),
1223
- disabled: z.boolean().nullable()
1224
- }).nullable(),
1225
- approval: z.object({ pendingReason: z.string() }).nullable()
1226
- }),
1227
- events: ["approve", "reject", "composerChange", "composerSend"],
1228
- description: "Full-page AI agent chat interface with conversation, tool calls, artifacts, trace events, and approval workflow."
1229
- },
1230
- AnalyticsPageKit: {
1231
- props: z.object({
1232
- shell: navigationShellSchema,
1233
- title: z.string().nullable(),
1234
- description: z.string().nullable(),
1235
- comparisonLabel: z.string().nullable(),
1236
- filters: z.array(
1237
- z.object({
1238
- id: z.string(),
1239
- label: z.string(),
1240
- value: z.string(),
1241
- options: z.array(
1242
- z.object({ value: z.string(), label: z.string() })
1243
- )
1244
- })
1245
- ).nullable()
1246
- }),
1247
- events: ["resetFilters", "filterChange"],
1248
- slots: ["chartRegions"],
1249
- description: "Analytics dashboard with filter controls, chart regions, and data grid regions."
1250
- },
1251
- BlogContentPageKit: {
1252
- props: z.object({
1253
- shell: marketingShellSchema,
1254
- state: z.enum([
1255
- "loading",
1256
- "empty",
1257
- "filtered",
1258
- "has-data",
1259
- "paginated"
1260
- ]).nullable(),
1261
- variant: z.enum(["content-index", "content-detail", "changelog"]).nullable(),
1262
- categories: z.array(
1263
- z.object({ id: z.string(), label: z.string() })
1264
- ).nullable(),
1265
- activeCategoryId: z.string().nullable(),
1266
- articles: z.array(
1267
- z.object({
1268
- id: z.string(),
1269
- title: z.string(),
1270
- excerpt: z.string(),
1271
- category: z.string(),
1272
- authorName: z.string(),
1273
- authorFallback: z.string().nullable(),
1274
- readTimeLabel: z.string().nullable(),
1275
- publishedAt: z.string()
1276
- })
1277
- ).nullable(),
1278
- detail: z.object({
1279
- title: z.string(),
1280
- content: z.string(),
1281
- authorName: z.string(),
1282
- authorFallback: z.string().nullable(),
1283
- publishedAt: z.string(),
1284
- readTimeLabel: z.string().nullable(),
1285
- excerpt: z.string().nullable()
1286
- }).nullable(),
1287
- loadingMessage: z.string().nullable()
1288
- }),
1289
- events: ["categoryChange", "pageChange", "articleOpen"],
1290
- description: "Blog/content management page with article index, detail view, and changelog variants."
1291
- },
1292
- CheckoutPageKit: {
1293
- props: z.object({
1294
- shell: marketingShellSchema,
1295
- state: z.enum([
1296
- "default",
1297
- "submitting",
1298
- "processing",
1299
- "error",
1300
- "success"
1301
- ]).nullable(),
1302
- summary: z.object({
1303
- title: z.string(),
1304
- amountLabel: z.string(),
1305
- lineItems: z.array(
1306
- z.object({
1307
- id: z.string(),
1308
- label: z.string(),
1309
- value: z.string()
1310
- })
1311
- )
1312
- }),
1313
- billingFields: z.array(
1314
- z.object({
1315
- id: z.string(),
1316
- label: z.string(),
1317
- value: z.string(),
1318
- placeholder: z.string().nullable(),
1319
- type: z.enum(["text", "email", "tel"]).nullable(),
1320
- required: z.boolean().nullable(),
1321
- description: z.string().nullable()
1322
- })
1323
- ),
1324
- errorMessage: z.string().nullable(),
1325
- successMessage: z.string().nullable(),
1326
- processingMessage: z.string().nullable()
1327
- }),
1328
- events: ["billingFieldChange", "submit", "retry", "continue"],
1329
- description: "Checkout page with order summary, billing fields, and multi-state submission flow."
1330
- },
1331
- CompanySuitePageKit: {
1332
- props: z.object({
1333
- shell: marketingShellSchema,
1334
- variant: z.enum(["company-about", "company-contact"]).nullable(),
1335
- sectionOrder: z.array(z.enum(["narrative", "team", "contact", "faq", "cta"])).nullable(),
1336
- narrative: z.object({
1337
- title: z.string(),
1338
- description: z.string().nullable()
1339
- }).nullable(),
1340
- team: z.object({
1341
- title: z.string().nullable(),
1342
- sections: z.array(
1343
- z.object({
1344
- heading: z.string(),
1345
- members: z.array(
1346
- z.object({
1347
- name: z.string(),
1348
- role: z.string(),
1349
- avatar: z.string()
1350
- })
1351
- )
1352
- })
1353
- ).nullable()
1354
- }).nullable(),
1355
- contact: z.object({ title: z.string().nullable() }).nullable(),
1356
- faq: z.object({
1357
- title: z.string().nullable(),
1358
- items: z.array(
1359
- z.object({
1360
- question: z.string(),
1361
- answer: z.string()
1362
- })
1363
- ).nullable()
1364
- }).nullable(),
1365
- cta: z.object({
1366
- title: z.string().nullable(),
1367
- primaryAction: z.object({ label: z.string(), href: z.string() }).nullable()
1368
- }).nullable()
1369
- }),
1370
- events: ["contactSubmit"],
1371
- description: "Company pages with configurable sections: about narrative, team, contact form, FAQ, and CTA."
1372
- },
1373
- CrudFormPageKit: {
1374
- props: z.object({
1375
- shell: navigationShellSchema,
1376
- title: z.string().nullable(),
1377
- description: z.string().nullable(),
1378
- state: z.enum([
1379
- "pristine",
1380
- "dirty",
1381
- "validating",
1382
- "validation-error",
1383
- "submitting",
1384
- "saved",
1385
- "fatal-error"
1386
- ]).nullable(),
1387
- sections: z.array(
1388
- z.object({
1389
- id: z.string(),
1390
- title: z.string(),
1391
- description: z.string().nullable(),
1392
- optional: z.boolean().nullable(),
1393
- fields: z.array(
1394
- z.object({
1395
- id: z.string(),
1396
- label: z.string(),
1397
- value: z.string(),
1398
- type: z.enum(["text", "email", "number", "textarea", "select"]).nullable(),
1399
- placeholder: z.string().nullable(),
1400
- required: z.boolean().nullable(),
1401
- readOnly: z.boolean().nullable(),
1402
- errorMessage: z.string().nullable(),
1403
- options: z.array(
1404
- z.object({
1405
- value: z.string(),
1406
- label: z.string()
1407
- })
1408
- ).nullable()
1409
- })
1410
- ).nullable()
1411
- })
1412
- ).nullable(),
1413
- validationMessage: z.string().nullable(),
1414
- fatalErrorMessage: z.string().nullable(),
1415
- savedMessage: z.string().nullable()
1416
- }),
1417
- events: [
1418
- "fieldChange",
1419
- "primaryAction",
1420
- "secondaryAction",
1421
- "tertiaryAction",
1422
- "destructiveAction"
1423
- ],
1424
- description: "Generic CRUD form page with sectioned fields, validation states, and configurable actions."
1425
- },
1426
- CrudListDetailPageKit: {
1427
- props: z.object({
1428
- shell: navigationShellSchema,
1429
- title: z.string().nullable(),
1430
- description: z.string().nullable(),
1431
- state: z.enum([
1432
- "loading",
1433
- "empty",
1434
- "filtered",
1435
- "selected-row",
1436
- "error",
1437
- "has-data"
1438
- ]).nullable(),
1439
- columns: z.array(
1440
- z.object({
1441
- id: z.string(),
1442
- header: z.string()
1443
- })
1444
- ).nullable(),
1445
- rows: z.array(
1446
- z.object({
1447
- id: z.string(),
1448
- cells: z.record(z.string(), z.string())
1449
- })
1450
- ).nullable(),
1451
- selectedRowId: z.string().nullable(),
1452
- filterControls: z.array(
1453
- z.object({
1454
- id: z.string(),
1455
- label: z.string(),
1456
- value: z.string(),
1457
- placeholder: z.string().nullable()
1458
- })
1459
- ).nullable(),
1460
- pagination: z.object({
1461
- page: z.number(),
1462
- totalPages: z.number()
1463
- }),
1464
- errorMessage: z.string().nullable()
1465
- }),
1466
- events: ["rowSelect", "pageChange", "filterChange"],
1467
- description: "Master-detail list page with data table, filters, pagination, and detail panel."
1468
- },
1469
- DashboardPageKit: {
1470
- props: z.object({
1471
- title: z.string().nullable(),
1472
- description: z.string().nullable(),
1473
- kpis: z.array(
1474
- z.object({
1475
- label: z.string(),
1476
- value: z.union([z.number(), z.string()]),
1477
- trend: trendSchema,
1478
- sparklineData: z.array(z.number()).nullable(),
1479
- prefix: z.string().nullable(),
1480
- suffix: z.string().nullable(),
1481
- loading: z.boolean().nullable()
1482
- })
1483
- ).nullable(),
1484
- kpiState: regionStateSchema,
1485
- lastUpdated: z.string().nullable(),
1486
- shell: navigationShellSchema
1487
- }),
1488
- events: ["sidebarOpenChange"],
1489
- slots: ["chartRegions"],
1490
- description: "Full dashboard page with navigation shell, KPI cards, chart regions, and activity feed. Requires shell configuration for sidebar navigation.",
1491
- example: {
1492
- title: "Dashboard",
1493
- shell: {
1494
- workspaceName: "Acme Corp",
1495
- navigationGroups: [],
1496
- activeHref: "/dashboard"
1497
- },
1498
- kpis: [
1499
- {
1500
- label: "Revenue",
1501
- value: "$45,231",
1502
- trend: { value: 12, direction: "up" }
1503
- }
1504
- ]
1505
- }
1506
- },
1507
- ErrorPageKit: {
1508
- props: z.object({
1509
- variant: z.enum(["not-found", "server-error", "generic-fallback"]),
1510
- title: z.string(),
1511
- description: z.string(),
1512
- metadata: z.object({
1513
- statusCode: z.number().nullable(),
1514
- errorCode: z.string().nullable(),
1515
- incidentId: z.string().nullable()
1516
- }).nullable(),
1517
- primaryAction: z.object({ label: z.string() }).nullable(),
1518
- secondaryAction: z.object({ label: z.string() }).nullable()
1519
- }),
1520
- events: ["primaryAction", "secondaryAction"],
1521
- slots: ["supportContent"],
1522
- description: "Error page with status display, action buttons, and optional support content."
1523
- },
1524
- KanbanBoardPageKit: {
1525
- props: z.object({
1526
- shell: navigationShellSchema,
1527
- state: z.enum([
1528
- "loading",
1529
- "empty",
1530
- "dragging",
1531
- "move-failed",
1532
- "has-data"
1533
- ]).nullable(),
1534
- title: z.string().nullable(),
1535
- description: z.string().nullable(),
1536
- columns: z.array(
1537
- z.object({
1538
- id: z.string(),
1539
- title: z.string(),
1540
- items: z.array(
1541
- z.object({
1542
- id: z.string(),
1543
- title: z.string(),
1544
- description: z.string().nullable(),
1545
- badgeLabel: z.string().nullable(),
1546
- assigneeLabel: z.string().nullable()
1547
- })
1548
- ),
1549
- disabled: z.boolean().nullable()
1550
- })
1551
- ).nullable(),
1552
- readOnly: z.boolean().nullable(),
1553
- moveErrorMessage: z.string().nullable()
1554
- }),
1555
- events: ["move"],
1556
- slots: ["activityRegion"],
1557
- description: "Kanban board page with draggable card columns, move tracking, and activity region."
1558
- },
1559
- LandingPageKit: {
1560
- props: z.object({
1561
- shell: marketingShellSchema,
1562
- sectionOrder: z.array(
1563
- z.enum([
1564
- "hero",
1565
- "features",
1566
- "proof",
1567
- "pricing-teaser",
1568
- "faq",
1569
- "cta",
1570
- "newsletter"
1571
- ])
1572
- ).nullable(),
1573
- hero: z.object({
1574
- variant: z.enum(["centered", "split"]).nullable(),
1575
- headline: z.string().nullable(),
1576
- subheadline: z.string().nullable(),
1577
- primaryAction: z.object({ label: z.string() }).nullable(),
1578
- secondaryAction: z.object({ label: z.string() }).nullable()
1579
- }).nullable(),
1580
- features: z.object({
1581
- variant: z.enum(["grid", "list"]).nullable(),
1582
- badge: z.string().nullable(),
1583
- title: z.string().nullable(),
1584
- description: z.string().nullable(),
1585
- features: z.array(
1586
- z.object({
1587
- title: z.string(),
1588
- description: z.string(),
1589
- icon: z.string()
1590
- })
1591
- ).nullable()
1592
- }).nullable(),
1593
- proof: z.object({
1594
- testimonials: z.object({
1595
- title: z.string().nullable(),
1596
- testimonials: z.array(
1597
- z.object({
1598
- quote: z.string(),
1599
- author: z.string(),
1600
- role: z.string(),
1601
- avatar: z.string()
1602
- })
1603
- ).nullable()
1604
- }).nullable()
1605
- }).nullable(),
1606
- pricingTeaser: z.object({
1607
- title: z.string().nullable(),
1608
- plans: z.array(
1609
- z.object({
1610
- name: z.string(),
1611
- description: z.string(),
1612
- price: z.string(),
1613
- period: z.string(),
1614
- features: z.array(z.string()),
1615
- action: z.string(),
1616
- variant: z.string(),
1617
- popular: z.boolean().nullable()
1618
- })
1619
- ).nullable()
1620
- }).nullable(),
1621
- faq: z.object({
1622
- items: z.array(
1623
- z.object({
1624
- question: z.string(),
1625
- answer: z.string()
1626
- })
1627
- ).nullable()
1628
- }).nullable(),
1629
- cta: z.object({
1630
- title: z.string().nullable(),
1631
- primaryAction: z.object({ label: z.string(), href: z.string() }).nullable()
1632
- }).nullable(),
1633
- newsletter: z.object({ title: z.string().nullable() }).nullable()
1634
- }),
1635
- events: [
1636
- "heroPrimaryAction",
1637
- "heroSecondaryAction",
1638
- "newsletterSubscribe"
1639
- ],
1640
- description: "Full landing page with configurable sections: hero, features, social proof, pricing teaser, FAQ, CTA, and newsletter."
1641
- },
1642
- LoginPageKit: {
1643
- props: z.object({
1644
- showSocial: z.boolean().nullable(),
1645
- forgotPasswordHref: z.string().nullable(),
1646
- signUpHref: z.string().nullable(),
1647
- error: z.string().nullable(),
1648
- cardClassName: z.string().nullable()
1649
- }),
1650
- events: ["submit", "socialLogin"],
1651
- description: "Full-page login experience with centered card layout, social login options, and error display.",
1652
- example: { showSocial: true, forgotPasswordHref: "/reset-password" }
1653
- },
1654
- MarketingShellPageKit: {
1655
- props: z.object({
1656
- navigationItems: z.array(
1657
- z.object({ name: z.string(), href: z.string() })
1658
- ),
1659
- primaryAction: z.object({ label: z.string(), href: z.string() }).nullable(),
1660
- secondaryAction: z.object({ label: z.string(), href: z.string() }).nullable(),
1661
- contentClassName: z.string().nullable()
1662
- }),
1663
- slots: ["default", "announcement"],
1664
- description: "Marketing page shell with top navigation, header actions, footer, and announcement slot."
1665
- },
1666
- NavigationShellPageKit: {
1667
- props: z.object({
1668
- workspaceName: z.string(),
1669
- navigationGroups: z.array(
1670
- z.object({
1671
- label: z.string(),
1672
- items: z.array(
1673
- z.object({
1674
- label: z.string(),
1675
- href: z.string(),
1676
- icon: z.string().nullable(),
1677
- badge: z.string().nullable()
1678
- })
1679
- )
1680
- })
1681
- ),
1682
- activeHref: z.string().nullable(),
1683
- breadcrumbs: z.array(
1684
- z.object({
1685
- label: z.string(),
1686
- href: z.string().nullable()
1687
- })
1688
- ).nullable(),
1689
- emptyNavigationMessage: z.string().nullable(),
1690
- user: z.object({
1691
- name: z.string(),
1692
- avatarSrc: z.string().nullable(),
1693
- avatarFallback: z.string().nullable()
1694
- }).nullable(),
1695
- defaultSidebarOpen: z.boolean().nullable()
1696
- }),
1697
- events: ["sidebarOpenChange"],
1698
- slots: ["default", "headerSearch", "headerNotifications", "headerActions"],
1699
- description: "Application shell with collapsible sidebar navigation, breadcrumbs, header slots, and user menu."
1700
- },
1701
- OnboardingPageKit: {
1702
- props: z.object({
1703
- shell: navigationShellSchema,
1704
- steps: z.array(
1705
- z.object({
1706
- id: z.string(),
1707
- title: z.string(),
1708
- description: z.string().nullable(),
1709
- optional: z.boolean().nullable()
1710
- })
1711
- ),
1712
- activeStepIndex: z.number(),
1713
- state: z.enum(["default", "saving", "active-step", "complete"]).nullable(),
1714
- validationMessage: z.string().nullable(),
1715
- canSkipOptionalStep: z.boolean().nullable(),
1716
- completeTitle: z.string().nullable(),
1717
- completeDescription: z.string().nullable()
1718
- }),
1719
- events: ["stepChange", "complete", "back", "continueFromComplete"],
1720
- slots: ["stepContent"],
1721
- description: "Multi-step onboarding wizard with progress tracking, step navigation, and completion screen."
1722
- },
1723
- PricingPageKit: {
1724
- props: z.object({
1725
- shell: marketingShellSchema,
1726
- state: z.enum([
1727
- "default",
1728
- "billing-toggle",
1729
- "loading-action",
1730
- "empty-plan"
1731
- ]).nullable(),
1732
- title: z.string().nullable(),
1733
- description: z.string().nullable(),
1734
- plans: z.array(
1735
- z.object({
1736
- name: z.string(),
1737
- description: z.string(),
1738
- price: z.string(),
1739
- period: z.string(),
1740
- features: z.array(z.string()),
1741
- action: z.string(),
1742
- variant: z.string(),
1743
- popular: z.boolean().nullable()
1744
- })
1745
- ).nullable(),
1746
- billing: z.object({
1747
- monthlyLabel: z.string().nullable(),
1748
- yearlyLabel: z.string().nullable(),
1749
- yearlyBadgeLabel: z.string().nullable(),
1750
- supportsYearly: z.boolean().nullable()
1751
- }).nullable(),
1752
- comparison: z.object({
1753
- title: z.string().nullable(),
1754
- plans: z.array(
1755
- z.object({
1756
- name: z.string(),
1757
- featured: z.boolean().nullable(),
1758
- features: z.record(
1759
- z.string(),
1760
- z.union([z.boolean(), z.string()])
1761
- )
1762
- })
1763
- ).nullable()
1764
- }).nullable(),
1765
- faq: z.object({
1766
- items: z.array(
1767
- z.object({
1768
- question: z.string(),
1769
- answer: z.string()
1770
- })
1771
- ).nullable()
1772
- }).nullable(),
1773
- cta: z.object({
1774
- title: z.string().nullable(),
1775
- primaryAction: z.object({ label: z.string(), href: z.string() }).nullable()
1776
- }).nullable(),
1777
- planActions: z.array(
1778
- z.object({
1779
- id: z.string(),
1780
- label: z.string(),
1781
- href: z.string(),
1782
- disabled: z.boolean().nullable()
1783
- })
1784
- ).nullable(),
1785
- loadingMessage: z.string().nullable()
1786
- }),
1787
- events: ["planAction"],
1788
- description: "Full pricing page with plan cards, billing toggle, comparison table, FAQ, and CTA sections."
1789
- },
1790
- ProfileSettingsPageKit: {
1791
- props: z.object({
1792
- title: z.string().nullable(),
1793
- description: z.string().nullable(),
1794
- activeSectionId: z.string().nullable(),
1795
- mode: z.enum(["edit", "view"]).nullable(),
1796
- saveState: z.enum([
1797
- "default",
1798
- "dirty",
1799
- "saving",
1800
- "saved",
1801
- "validation-error",
1802
- "fatal-error",
1803
- "loading"
1804
- ]).nullable(),
1805
- profileFields: z.array(
1806
- z.object({
1807
- id: z.string(),
1808
- label: z.string(),
1809
- value: z.string(),
1810
- type: z.enum(["text", "email", "url", "tel"]).nullable(),
1811
- placeholder: z.string().nullable(),
1812
- required: z.boolean().nullable(),
1813
- readOnly: z.boolean().nullable(),
1814
- helperText: z.string().nullable()
1815
- })
1816
- ),
1817
- notificationPreferences: z.array(
1818
- z.object({
1819
- id: z.string(),
1820
- label: z.string(),
1821
- description: z.string().nullable(),
1822
- enabled: z.boolean(),
1823
- disabled: z.boolean().nullable()
1824
- })
1825
- ),
1826
- avatar: z.object({
1827
- src: z.string().nullable(),
1828
- fallback: z.string().nullable(),
1829
- status: z.enum(["idle", "uploading", "error"]).nullable(),
1830
- errorMessage: z.string().nullable()
1831
- }).nullable(),
1832
- validationErrors: z.record(z.string(), z.string()).nullable(),
1833
- validationMessage: z.string().nullable(),
1834
- fatalErrorMessage: z.string().nullable()
1835
- }),
1836
- events: [
1837
- "sectionChange",
1838
- "fieldChange",
1839
- "notificationChange",
1840
- "save",
1841
- "discard",
1842
- "avatarUpload",
1843
- "avatarRemove"
1844
- ],
1845
- description: "Profile settings page with editable fields, notification preferences, avatar management, and save controls."
1846
- },
1847
- RecoveryPageKit: {
1848
- props: z.object({
1849
- mode: z.enum(["reset", "magic-link"]).nullable(),
1850
- title: z.string().nullable(),
1851
- description: z.string().nullable(),
1852
- buttonText: z.string().nullable(),
1853
- successTitle: z.string().nullable(),
1854
- errorMessage: z.string().nullable()
1855
- }),
1856
- events: ["submit", "backToLogin"],
1857
- description: "Full-page password recovery with email input and success confirmation."
1858
- },
1859
- ResetPageKit: {
1860
- props: z.object({
1861
- title: z.string().nullable(),
1862
- description: z.string().nullable()
1863
- }),
1864
- events: ["submit", "backToLogin"],
1865
- description: "Full-page password reset form with new password and confirmation fields."
1866
- },
1867
- ServiceSuitePageKit: {
1868
- props: z.object({
1869
- shell: marketingShellSchema,
1870
- variant: z.enum(["agency-home", "digital-workers", "service-detail"]).nullable(),
1871
- sectionOrder: z.array(
1872
- z.enum([
1873
- "hero",
1874
- "features",
1875
- "process",
1876
- "team",
1877
- "testimonials",
1878
- "faq",
1879
- "cta"
1880
- ])
1881
- ).nullable(),
1882
- hero: z.object({
1883
- headline: z.string().nullable(),
1884
- subheadline: z.string().nullable(),
1885
- primaryAction: z.object({ label: z.string() }).nullable()
1886
- }).nullable(),
1887
- features: z.object({
1888
- variant: z.enum(["grid", "list"]).nullable(),
1889
- badge: z.string().nullable(),
1890
- title: z.string().nullable(),
1891
- description: z.string().nullable(),
1892
- features: z.array(
1893
- z.object({
1894
- title: z.string(),
1895
- description: z.string(),
1896
- icon: z.string()
1897
- })
1898
- ).nullable()
1899
- }).nullable(),
1900
- process: z.object({
1901
- title: z.string().nullable(),
1902
- steps: z.array(
1903
- z.object({
1904
- title: z.string(),
1905
- description: z.string()
1906
- })
1907
- ).nullable()
1908
- }).nullable(),
1909
- team: z.object({ title: z.string().nullable() }).nullable(),
1910
- testimonials: z.object({
1911
- title: z.string().nullable(),
1912
- testimonials: z.array(
1913
- z.object({
1914
- quote: z.string(),
1915
- author: z.string(),
1916
- role: z.string(),
1917
- avatar: z.string()
1918
- })
1919
- ).nullable()
1920
- }).nullable(),
1921
- faq: z.object({
1922
- items: z.array(
1923
- z.object({
1924
- question: z.string(),
1925
- answer: z.string()
1926
- })
1927
- ).nullable()
1928
- }).nullable(),
1929
- cta: z.object({
1930
- title: z.string().nullable(),
1931
- primaryAction: z.object({ label: z.string(), href: z.string() }).nullable()
1932
- }).nullable()
1933
- }),
1934
- description: "Service-oriented landing page with hero, features, process flow, team, testimonials, FAQ, and CTA sections."
1935
- },
1936
- SettingsPageKit: {
1937
- props: z.object({
1938
- title: z.string().nullable(),
1939
- description: z.string().nullable(),
1940
- sections: z.array(
1941
- z.object({
1942
- id: z.string(),
1943
- label: z.string(),
1944
- description: z.string().nullable(),
1945
- isAvailable: z.boolean().nullable(),
1946
- unavailableReason: z.string().nullable()
1947
- })
1948
- ),
1949
- activeSectionId: z.string(),
1950
- saveState: z.enum([
1951
- "default",
1952
- "dirty",
1953
- "saving",
1954
- "saved",
1955
- "validation-error",
1956
- "fatal-error",
1957
- "loading"
1958
- ]).nullable(),
1959
- validationMessage: z.string().nullable(),
1960
- fatalErrorMessage: z.string().nullable(),
1961
- savedMessage: z.string().nullable(),
1962
- saveLabel: z.string().nullable(),
1963
- discardLabel: z.string().nullable()
1964
- }),
1965
- events: ["sectionChange", "save", "discard"],
1966
- slots: ["sectionContent"],
1967
- description: "Settings page with sidebar section navigation, save/discard controls, and customizable section content."
1968
- },
1969
- SignupPageKit: {
1970
- props: z.object({
1971
- showSocial: z.boolean().nullable(),
1972
- signInHref: z.string().nullable(),
1973
- error: z.string().nullable()
1974
- }),
1975
- events: ["submit", "socialLogin"],
1976
- description: "Full-page sign-up experience with centered card, social login, and sign-in link."
1977
- },
1978
- SuccessPageKit: {
1979
- props: z.object({
1980
- title: z.string().nullable(),
1981
- description: z.string().nullable(),
1982
- buttonText: z.string().nullable(),
1983
- autoRedirectSeconds: z.number().nullable()
1984
- }),
1985
- events: ["continue"],
1986
- description: "Success confirmation page with icon, message, continue button, and optional auto-redirect."
1987
- },
1988
- TeamSettingsPageKit: {
1989
- props: z.object({
1990
- shell: navigationShellSchema,
1991
- state: z.enum([
1992
- "loading",
1993
- "empty",
1994
- "filtered",
1995
- "invited-member",
1996
- "active-member",
1997
- "saving",
1998
- "fatal-error"
1999
- ]).nullable(),
2000
- members: z.array(
2001
- z.object({
2002
- id: z.string(),
2003
- name: z.string(),
2004
- email: z.string(),
2005
- role: z.enum(["owner", "admin", "member", "guest"]),
2006
- status: z.enum(["active", "invited", "suspended"]),
2007
- joinedLabel: z.string().nullable(),
2008
- avatarUrl: z.string().nullable()
2009
- })
2010
- ),
2011
- seatSummary: z.object({
2012
- usedSeats: z.number(),
2013
- totalSeats: z.number()
2014
- }),
2015
- search: z.object({
2016
- value: z.string(),
2017
- placeholder: z.string().nullable()
2018
- }),
2019
- inviteAction: z.object({
2020
- label: z.string(),
2021
- canInvite: z.boolean().nullable(),
2022
- disabledReason: z.string().nullable()
2023
- }),
2024
- memberActions: z.array(
2025
- z.object({
2026
- id: z.string(),
2027
- label: z.string(),
2028
- tone: z.enum(["default", "destructive"]).nullable()
2029
- })
2030
- ).nullable(),
2031
- selectedMemberId: z.string().nullable(),
2032
- errorMessage: z.string().nullable()
2033
- }),
2034
- events: [
2035
- "memberAction",
2036
- "selectedMemberChange",
2037
- "searchChange",
2038
- "invite"
2039
- ],
2040
- description: "Team management page with member table, seat summary, invite controls, and member actions."
2041
- },
2042
- TwoFactorPageKit: {
2043
- props: z.object({
2044
- mode: z.enum(["challenge", "setup"]).nullable(),
2045
- challenge: z.object({
2046
- error: z.string().nullable(),
2047
- title: z.string().nullable(),
2048
- description: z.string().nullable()
2049
- }).nullable(),
2050
- setup: z.object({
2051
- qrCodeUrl: z.string().nullable(),
2052
- secret: z.string().nullable(),
2053
- backupCodes: z.array(z.string()).nullable(),
2054
- title: z.string().nullable()
2055
- }).nullable()
2056
- }),
2057
- events: ["verify", "useBackupCode", "backToLogin", "setupComplete"],
2058
- description: "Two-factor authentication page with challenge (OTP entry) and setup (QR code + verification) modes."
2059
- },
2060
- VerifyEmailPageKit: {
2061
- props: z.object({
2062
- title: z.string().nullable(),
2063
- description: z.string().nullable(),
2064
- buttonText: z.string().nullable(),
2065
- autoRedirectSeconds: z.number().nullable()
2066
- }),
2067
- events: ["continue"],
2068
- description: "Email verification success page with icon, confirmation message, and continue action."
2069
- },
2070
- VoiceAgentsPageKit: {
2071
- props: z.object({
2072
- state: z.enum(["agent-selection", "active-conversation"]).nullable(),
2073
- agents: z.array(
2074
- z.object({
2075
- id: z.string(),
2076
- name: z.string(),
2077
- role: z.string(),
2078
- avatar: z.string(),
2079
- availability: z.enum(["online", "busy", "offline"]).nullable()
2080
- })
2081
- ),
2082
- selectedAgentId: z.string().nullable(),
2083
- presenceState: z.enum(["idle", "listening", "speaking"]).nullable(),
2084
- messages: z.array(
2085
- z.object({
2086
- id: z.string(),
2087
- role: z.enum(["user", "assistant", "agent", "system"]),
2088
- content: z.string(),
2089
- timestamp: z.string().nullable()
2090
- })
2091
- ).nullable(),
2092
- streamingReply: z.string().nullable(),
2093
- composerValue: z.string().nullable(),
2094
- composerPlaceholder: z.string().nullable(),
2095
- noAgentsMessage: z.string().nullable()
2096
- }),
2097
- events: [
2098
- "composerChange",
2099
- "sendMessage",
2100
- "selectAgent",
2101
- "backToSelection"
2102
- ],
2103
- description: "Voice agent interface with agent selection, conversation view, presence states, and real-time streaming."
2104
- }
2105
- };
2106
-
2107
- export { seedComponentDefinitions, validateOnSchema, validationCheckSchema };
1
+ export { seedComponentDefinitions } from '../chunk-4TK2PXMJ.js';
2
+ import '../chunk-HMN4K4L6.js';
3
+ import '../chunk-LYI5YMC6.js';
4
+ import '../chunk-UXYLA2IV.js';
5
+ import '../chunk-YXRIXTXW.js';
6
+ import '../chunk-UQB54LIA.js';
7
+ import '../chunk-6KRT337C.js';
8
+ import '../chunk-W4KI424V.js';
9
+ import '../chunk-7SOMHO2L.js';
10
+ import '../chunk-XI775QZZ.js';
11
+ import '../chunk-P7JS4B7U.js';
12
+ import '../chunk-QCL76CM6.js';
13
+ import '../chunk-5XDYCBR6.js';
14
+ import '../chunk-XYYZRQES.js';
15
+ import '../chunk-VUNXVYOH.js';
16
+ import '../chunk-UOUERAB4.js';
17
+ import '../chunk-UGXI4PES.js';
18
+ import '../chunk-ZND7AAWG.js';
19
+ export { validateOnSchema, validationCheckSchema } from '../chunk-BJVCZI2B.js';
20
+ import '../chunk-FAKTXE3F.js';
21
+ import '../chunk-WAIZR4CR.js';
22
+ import '../chunk-XLIFWBE7.js';