@krizaka/ui 2.8.0 → 2.10.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 (423) hide show
  1. package/README.md +73 -5
  2. package/dist/achievement.d.ts +54 -0
  3. package/dist/achievement.js +73 -0
  4. package/dist/achievement.js.map +1 -0
  5. package/dist/app-shell.d.ts +203 -0
  6. package/dist/app-shell.js +137 -0
  7. package/dist/app-shell.js.map +1 -0
  8. package/dist/auth-layout.d.ts +136 -0
  9. package/dist/auth-layout.js +75 -0
  10. package/dist/auth-layout.js.map +1 -0
  11. package/dist/blocks.css +247 -0
  12. package/dist/catalogue-page.d.ts +34 -0
  13. package/dist/catalogue-page.js +26 -0
  14. package/dist/catalogue-page.js.map +1 -0
  15. package/dist/changelog-page.d.ts +50 -0
  16. package/dist/changelog-page.js +27 -0
  17. package/dist/changelog-page.js.map +1 -0
  18. package/dist/choice-grid.d.ts +84 -0
  19. package/dist/choice-grid.js +141 -0
  20. package/dist/choice-grid.js.map +1 -0
  21. package/dist/chunk-555LWYIN.js +11 -0
  22. package/dist/chunk-555LWYIN.js.map +1 -0
  23. package/dist/chunk-AZPKXP3O.js +36 -0
  24. package/dist/chunk-AZPKXP3O.js.map +1 -0
  25. package/dist/{chunk-NOVUREEC.js → chunk-JZPVUJIX.js} +25 -3
  26. package/dist/chunk-JZPVUJIX.js.map +1 -0
  27. package/dist/chunk-KNBYZGSQ.js +11 -0
  28. package/dist/chunk-KNBYZGSQ.js.map +1 -0
  29. package/dist/chunk-VCAAHCHL.js +17 -0
  30. package/dist/chunk-VCAAHCHL.js.map +1 -0
  31. package/dist/code-block.js +23 -44
  32. package/dist/code-block.js.map +1 -1
  33. package/dist/component-page.d.ts +41 -0
  34. package/dist/component-page.js +17 -0
  35. package/dist/component-page.js.map +1 -0
  36. package/dist/contact-page.d.ts +31 -0
  37. package/dist/contact-page.js +26 -0
  38. package/dist/contact-page.js.map +1 -0
  39. package/dist/continue-prompt.d.ts +48 -0
  40. package/dist/continue-prompt.js +200 -0
  41. package/dist/continue-prompt.js.map +1 -0
  42. package/dist/dashboard-layout.d.ts +139 -0
  43. package/dist/dashboard-layout.js +68 -0
  44. package/dist/dashboard-layout.js.map +1 -0
  45. package/dist/detail-layout.d.ts +126 -0
  46. package/dist/detail-layout.js +48 -0
  47. package/dist/detail-layout.js.map +1 -0
  48. package/dist/docs-article-page.d.ts +54 -0
  49. package/dist/docs-article-page.js +29 -0
  50. package/dist/docs-article-page.js.map +1 -0
  51. package/dist/docs-hub-page.d.ts +72 -0
  52. package/dist/docs-hub-page.js +45 -0
  53. package/dist/docs-hub-page.js.map +1 -0
  54. package/dist/docs-layout.d.ts +78 -0
  55. package/dist/docs-layout.js +60 -0
  56. package/dist/docs-layout.js.map +1 -0
  57. package/dist/error-page.d.ts +22 -0
  58. package/dist/error-page.js +23 -0
  59. package/dist/error-page.js.map +1 -0
  60. package/dist/gallery-page.d.ts +50 -0
  61. package/dist/gallery-page.js +30 -0
  62. package/dist/gallery-page.js.map +1 -0
  63. package/dist/{geometry-CXrAW34x.d.ts → geometry-CbOU4rtL.d.ts} +4 -4
  64. package/dist/goal-gauge.d.ts +38 -0
  65. package/dist/goal-gauge.js +53 -0
  66. package/dist/goal-gauge.js.map +1 -0
  67. package/dist/how-it-works-page.d.ts +48 -0
  68. package/dist/how-it-works-page.js +28 -0
  69. package/dist/how-it-works-page.js.map +1 -0
  70. package/dist/index.d.ts +16 -6
  71. package/dist/index.js +115 -24
  72. package/dist/index.js.map +1 -1
  73. package/dist/landing-page.d.ts +58 -0
  74. package/dist/landing-page.js +42 -0
  75. package/dist/landing-page.js.map +1 -0
  76. package/dist/landscape.d.ts +41 -0
  77. package/dist/landscape.js +836 -0
  78. package/dist/landscape.js.map +1 -0
  79. package/dist/legal-page.d.ts +34 -0
  80. package/dist/legal-page.js +18 -0
  81. package/dist/legal-page.js.map +1 -0
  82. package/dist/longform-page.d.ts +42 -0
  83. package/dist/longform-page.js +29 -0
  84. package/dist/longform-page.js.map +1 -0
  85. package/dist/marketing-layout.d.ts +60 -0
  86. package/dist/marketing-layout.js +25 -0
  87. package/dist/marketing-layout.js.map +1 -0
  88. package/dist/mascot-quote.d.ts +4 -4
  89. package/dist/mascot-quote.js +23 -1
  90. package/dist/mascot-quote.js.map +1 -1
  91. package/dist/mascot-state.d.ts +2 -2
  92. package/dist/mascot-state.js +1 -1
  93. package/dist/mascot-state.js.map +1 -1
  94. package/dist/mascots.d.ts +18 -5
  95. package/dist/mascots.js +87 -2
  96. package/dist/mascots.js.map +1 -1
  97. package/dist/native.d.ts +88 -11
  98. package/dist/native.js +640 -297
  99. package/dist/native.js.map +1 -1
  100. package/dist/pricing-page.d.ts +62 -0
  101. package/dist/pricing-page.js +71 -0
  102. package/dist/pricing-page.js.map +1 -0
  103. package/dist/product-page.d.ts +83 -0
  104. package/dist/product-page.js +60 -0
  105. package/dist/product-page.js.map +1 -0
  106. package/dist/profile-card.d.ts +85 -0
  107. package/dist/profile-card.js +87 -0
  108. package/dist/profile-card.js.map +1 -0
  109. package/dist/promise-card.d.ts +28 -0
  110. package/dist/promise-card.js +29 -0
  111. package/dist/promise-card.js.map +1 -0
  112. package/dist/scroll-stage.d.ts +603 -0
  113. package/dist/scroll-stage.js +59 -0
  114. package/dist/scroll-stage.js.map +1 -0
  115. package/dist/settings-layout.d.ts +154 -0
  116. package/dist/settings-layout.js +57 -0
  117. package/dist/settings-layout.js.map +1 -0
  118. package/dist/split-view.d.ts +106 -0
  119. package/dist/split-view.js +41 -0
  120. package/dist/split-view.js.map +1 -0
  121. package/dist/stage-banner.d.ts +34 -0
  122. package/dist/stage-banner.js +26 -0
  123. package/dist/stage-banner.js.map +1 -0
  124. package/dist/status-page.d.ts +42 -0
  125. package/dist/status-page.js +28 -0
  126. package/dist/status-page.js.map +1 -0
  127. package/dist/story-variant-CLn4H5Nt.d.ts +4 -0
  128. package/dist/story.css +432 -0
  129. package/package.json +478 -10
  130. package/registry/achievement.json +322 -0
  131. package/registry/action-bar.json +1 -1
  132. package/registry/alert.json +1 -1
  133. package/registry/app-shell.json +451 -0
  134. package/registry/argument-card.json +1 -1
  135. package/registry/audio-player.json +1 -1
  136. package/registry/auth-layout.json +230 -0
  137. package/registry/avatar.json +1 -1
  138. package/registry/badge.json +1 -1
  139. package/registry/button.json +5 -5
  140. package/registry/card-grid.json +5 -5
  141. package/registry/card.json +3 -3
  142. package/registry/catalogue-page.json +240 -0
  143. package/registry/changelog-page.json +226 -0
  144. package/registry/checkbox.json +1 -1
  145. package/registry/chip-link.json +1 -1
  146. package/registry/chip.json +1 -1
  147. package/registry/choice-grid.json +318 -0
  148. package/registry/code-block.json +1 -1
  149. package/registry/combobox.json +1 -1
  150. package/registry/command.json +1 -1
  151. package/registry/component-page.json +227 -0
  152. package/registry/confirm-button.json +3 -3
  153. package/registry/contact-page.json +212 -0
  154. package/registry/continue-prompt.json +312 -0
  155. package/registry/countdown.json +1 -1
  156. package/registry/cta-panel.json +1 -1
  157. package/registry/dashboard-layout.json +273 -0
  158. package/registry/data-table.json +1 -1
  159. package/registry/date-picker.json +1 -1
  160. package/registry/decision-list.json +1 -1
  161. package/registry/detail-layout.json +233 -0
  162. package/registry/dialog.json +1 -1
  163. package/registry/docs-article-page.json +242 -0
  164. package/registry/docs-hub-page.json +270 -0
  165. package/registry/docs-layout.json +148 -0
  166. package/registry/dropdown-menu.json +3 -3
  167. package/registry/empty-state.json +1 -1
  168. package/registry/error-page.json +183 -0
  169. package/registry/examples/achievement/arcade.d.ts +4 -0
  170. package/registry/examples/achievement/arcade.js +15 -0
  171. package/registry/examples/achievement/arcade.tsx +12 -0
  172. package/registry/examples/achievement/milestones.d.ts +4 -0
  173. package/registry/examples/achievement/milestones.js +15 -0
  174. package/registry/examples/achievement/milestones.tsx +12 -0
  175. package/registry/examples/app-shell/admin-console.d.ts +4 -0
  176. package/registry/examples/app-shell/admin-console.js +52 -0
  177. package/registry/examples/app-shell/admin-console.tsx +64 -0
  178. package/registry/examples/app-shell/basic.d.ts +4 -0
  179. package/registry/examples/app-shell/basic.js +37 -0
  180. package/registry/examples/app-shell/basic.tsx +31 -0
  181. package/registry/examples/app-shell/orochia-studio.d.ts +4 -0
  182. package/registry/examples/app-shell/orochia-studio.js +89 -0
  183. package/registry/examples/app-shell/orochia-studio.tsx +101 -0
  184. package/registry/examples/auth-layout/onboarding.d.ts +4 -0
  185. package/registry/examples/auth-layout/onboarding.js +56 -0
  186. package/registry/examples/auth-layout/onboarding.tsx +47 -0
  187. package/registry/examples/auth-layout/sign-in.d.ts +4 -0
  188. package/registry/examples/auth-layout/sign-in.js +55 -0
  189. package/registry/examples/auth-layout/sign-in.tsx +47 -0
  190. package/registry/examples/auth-layout/verify.d.ts +4 -0
  191. package/registry/examples/auth-layout/verify.js +23 -0
  192. package/registry/examples/auth-layout/verify.tsx +19 -0
  193. package/registry/examples/catalogue-page/components.d.ts +4 -0
  194. package/registry/examples/catalogue-page/components.js +33 -0
  195. package/registry/examples/catalogue-page/components.tsx +36 -0
  196. package/registry/examples/changelog-page/releases.d.ts +4 -0
  197. package/registry/examples/changelog-page/releases.js +44 -0
  198. package/registry/examples/changelog-page/releases.tsx +39 -0
  199. package/registry/examples/choice-grid/line-up.d.ts +4 -0
  200. package/registry/examples/choice-grid/line-up.js +37 -0
  201. package/registry/examples/choice-grid/line-up.tsx +32 -0
  202. package/registry/examples/choice-grid/plans.d.ts +4 -0
  203. package/registry/examples/choice-grid/plans.js +28 -0
  204. package/registry/examples/choice-grid/plans.tsx +24 -0
  205. package/registry/examples/component-page/button.d.ts +4 -0
  206. package/registry/examples/component-page/button.js +33 -0
  207. package/registry/examples/component-page/button.tsx +30 -0
  208. package/registry/examples/contact-page/team.d.ts +4 -0
  209. package/registry/examples/contact-page/team.js +39 -0
  210. package/registry/examples/contact-page/team.tsx +38 -0
  211. package/registry/examples/continue-prompt/arcade.d.ts +4 -0
  212. package/registry/examples/continue-prompt/arcade.js +28 -0
  213. package/registry/examples/continue-prompt/arcade.tsx +25 -0
  214. package/registry/examples/continue-prompt/offer.d.ts +4 -0
  215. package/registry/examples/continue-prompt/offer.js +24 -0
  216. package/registry/examples/continue-prompt/offer.tsx +19 -0
  217. package/registry/examples/dashboard-layout/orazaka-eric.d.ts +4 -0
  218. package/registry/examples/dashboard-layout/orazaka-eric.js +58 -0
  219. package/registry/examples/dashboard-layout/orazaka-eric.tsx +80 -0
  220. package/registry/examples/dashboard-layout/widgets.d.ts +4 -0
  221. package/registry/examples/dashboard-layout/widgets.js +17 -0
  222. package/registry/examples/dashboard-layout/widgets.tsx +22 -0
  223. package/registry/examples/detail-layout/job.d.ts +4 -0
  224. package/registry/examples/detail-layout/job.js +25 -0
  225. package/registry/examples/detail-layout/job.tsx +20 -0
  226. package/registry/examples/detail-layout/video.d.ts +4 -0
  227. package/registry/examples/detail-layout/video.js +44 -0
  228. package/registry/examples/detail-layout/video.tsx +53 -0
  229. package/registry/examples/docs-article-page/cli.d.ts +4 -0
  230. package/registry/examples/docs-article-page/cli.js +33 -0
  231. package/registry/examples/docs-article-page/cli.tsx +38 -0
  232. package/registry/examples/docs-hub-page/krizaka.d.ts +4 -0
  233. package/registry/examples/docs-hub-page/krizaka.js +46 -0
  234. package/registry/examples/docs-hub-page/krizaka.tsx +37 -0
  235. package/registry/examples/docs-layout/page.d.ts +4 -0
  236. package/registry/examples/docs-layout/page.js +26 -0
  237. package/registry/examples/docs-layout/page.tsx +30 -0
  238. package/registry/examples/error-page/not-found.d.ts +4 -0
  239. package/registry/examples/error-page/not-found.js +24 -0
  240. package/registry/examples/error-page/not-found.tsx +19 -0
  241. package/registry/examples/gallery-page/made-here.d.ts +4 -0
  242. package/registry/examples/gallery-page/made-here.js +34 -0
  243. package/registry/examples/gallery-page/made-here.tsx +32 -0
  244. package/registry/examples/goal-gauge/arcade.d.ts +4 -0
  245. package/registry/examples/goal-gauge/arcade.js +11 -0
  246. package/registry/examples/goal-gauge/arcade.tsx +10 -0
  247. package/registry/examples/goal-gauge/challenge.d.ts +4 -0
  248. package/registry/examples/goal-gauge/challenge.js +11 -0
  249. package/registry/examples/goal-gauge/challenge.tsx +10 -0
  250. package/registry/examples/goal-gauge/drain.d.ts +4 -0
  251. package/registry/examples/goal-gauge/drain.js +11 -0
  252. package/registry/examples/goal-gauge/drain.tsx +10 -0
  253. package/registry/examples/goal-gauge/native/default.d.ts +4 -0
  254. package/registry/examples/goal-gauge/native/default.dark.png +0 -0
  255. package/registry/examples/goal-gauge/native/default.js +15 -0
  256. package/registry/examples/goal-gauge/native/default.light.png +0 -0
  257. package/registry/examples/goal-gauge/native/default.tsx +12 -0
  258. package/registry/examples/how-it-works-page/orazaka.d.ts +4 -0
  259. package/registry/examples/how-it-works-page/orazaka.js +30 -0
  260. package/registry/examples/how-it-works-page/orazaka.tsx +26 -0
  261. package/registry/examples/landing-page/krizaka.d.ts +4 -0
  262. package/registry/examples/landing-page/krizaka.js +44 -0
  263. package/registry/examples/landing-page/krizaka.tsx +44 -0
  264. package/registry/examples/landscape/backdrop.d.ts +4 -0
  265. package/registry/examples/landscape/backdrop.js +14 -0
  266. package/registry/examples/landscape/backdrop.tsx +11 -0
  267. package/registry/examples/landscape/brand.d.ts +4 -0
  268. package/registry/examples/landscape/brand.js +11 -0
  269. package/registry/examples/landscape/brand.tsx +10 -0
  270. package/registry/examples/legal-page/privacy.d.ts +4 -0
  271. package/registry/examples/legal-page/privacy.js +24 -0
  272. package/registry/examples/legal-page/privacy.tsx +19 -0
  273. package/registry/examples/longform-page/story.d.ts +4 -0
  274. package/registry/examples/longform-page/story.js +38 -0
  275. package/registry/examples/longform-page/story.tsx +35 -0
  276. package/registry/examples/marketing-layout/basic.d.ts +4 -0
  277. package/registry/examples/marketing-layout/basic.js +31 -0
  278. package/registry/examples/marketing-layout/basic.tsx +28 -0
  279. package/registry/examples/marketing-layout/docs-hub.d.ts +4 -0
  280. package/registry/examples/marketing-layout/docs-hub.js +37 -0
  281. package/registry/examples/marketing-layout/docs-hub.tsx +44 -0
  282. package/registry/examples/marketing-layout/pricing.d.ts +4 -0
  283. package/registry/examples/marketing-layout/pricing.js +45 -0
  284. package/registry/examples/marketing-layout/pricing.tsx +55 -0
  285. package/registry/examples/marketing-layout/product-page.d.ts +4 -0
  286. package/registry/examples/marketing-layout/product-page.js +79 -0
  287. package/registry/examples/marketing-layout/product-page.tsx +83 -0
  288. package/registry/examples/mascots/crane.d.ts +4 -0
  289. package/registry/examples/mascots/crane.js +19 -0
  290. package/registry/examples/mascots/crane.tsx +18 -0
  291. package/registry/examples/mascots/flock.tsx +2 -1
  292. package/registry/examples/mascots/native/crane.d.ts +4 -0
  293. package/registry/examples/mascots/native/crane.dark.png +0 -0
  294. package/registry/examples/mascots/native/crane.js +21 -0
  295. package/registry/examples/mascots/native/crane.light.png +0 -0
  296. package/registry/examples/mascots/native/crane.tsx +18 -0
  297. package/registry/examples/mascots/native/phoenix.d.ts +4 -0
  298. package/registry/examples/mascots/native/phoenix.dark.png +0 -0
  299. package/registry/examples/mascots/native/phoenix.js +21 -0
  300. package/registry/examples/mascots/native/phoenix.light.png +0 -0
  301. package/registry/examples/mascots/native/phoenix.tsx +18 -0
  302. package/registry/examples/mascots/phoenix.d.ts +4 -0
  303. package/registry/examples/mascots/phoenix.js +14 -0
  304. package/registry/examples/mascots/phoenix.tsx +11 -0
  305. package/registry/examples/pricing-page/credits.d.ts +4 -0
  306. package/registry/examples/pricing-page/credits.js +41 -0
  307. package/registry/examples/pricing-page/credits.tsx +33 -0
  308. package/registry/examples/product-page/orazaka.d.ts +4 -0
  309. package/registry/examples/product-page/orazaka.js +44 -0
  310. package/registry/examples/product-page/orazaka.tsx +36 -0
  311. package/registry/examples/profile-card/arcade.d.ts +4 -0
  312. package/registry/examples/profile-card/arcade.js +25 -0
  313. package/registry/examples/profile-card/arcade.tsx +19 -0
  314. package/registry/examples/profile-card/creator.d.ts +4 -0
  315. package/registry/examples/profile-card/creator.js +31 -0
  316. package/registry/examples/profile-card/creator.tsx +26 -0
  317. package/registry/examples/profile-card/match.d.ts +4 -0
  318. package/registry/examples/profile-card/match.js +25 -0
  319. package/registry/examples/profile-card/match.tsx +19 -0
  320. package/registry/examples/profile-card/native/default.d.ts +4 -0
  321. package/registry/examples/profile-card/native/default.dark.png +0 -0
  322. package/registry/examples/profile-card/native/default.js +27 -0
  323. package/registry/examples/profile-card/native/default.light.png +0 -0
  324. package/registry/examples/profile-card/native/default.tsx +22 -0
  325. package/registry/examples/promise-card/arcade.d.ts +4 -0
  326. package/registry/examples/promise-card/arcade.js +25 -0
  327. package/registry/examples/promise-card/arcade.tsx +19 -0
  328. package/registry/examples/promise-card/guarantee.d.ts +4 -0
  329. package/registry/examples/promise-card/guarantee.js +23 -0
  330. package/registry/examples/promise-card/guarantee.tsx +17 -0
  331. package/registry/examples/scroll-stage/arcade.d.ts +4 -0
  332. package/registry/examples/scroll-stage/arcade.js +16 -0
  333. package/registry/examples/scroll-stage/arcade.tsx +15 -0
  334. package/registry/examples/scroll-stage/chapters.d.ts +4 -0
  335. package/registry/examples/scroll-stage/chapters.js +25 -0
  336. package/registry/examples/scroll-stage/chapters.tsx +22 -0
  337. package/registry/examples/settings-layout/account.d.ts +4 -0
  338. package/registry/examples/settings-layout/account.js +51 -0
  339. package/registry/examples/settings-layout/account.tsx +50 -0
  340. package/registry/examples/settings-layout/sections.d.ts +4 -0
  341. package/registry/examples/settings-layout/sections.js +27 -0
  342. package/registry/examples/settings-layout/sections.tsx +24 -0
  343. package/registry/examples/split-view/empty.d.ts +4 -0
  344. package/registry/examples/split-view/empty.js +19 -0
  345. package/registry/examples/split-view/empty.tsx +13 -0
  346. package/registry/examples/split-view/messages.d.ts +4 -0
  347. package/registry/examples/split-view/messages.js +49 -0
  348. package/registry/examples/split-view/messages.tsx +52 -0
  349. package/registry/examples/stage-banner/round.d.ts +4 -0
  350. package/registry/examples/stage-banner/round.js +14 -0
  351. package/registry/examples/stage-banner/round.tsx +11 -0
  352. package/registry/examples/stage-banner/steps.d.ts +4 -0
  353. package/registry/examples/stage-banner/steps.js +14 -0
  354. package/registry/examples/stage-banner/steps.tsx +11 -0
  355. package/registry/examples/status-page/building.d.ts +4 -0
  356. package/registry/examples/status-page/building.js +29 -0
  357. package/registry/examples/status-page/building.tsx +25 -0
  358. package/registry/examples/status-page/operational.d.ts +4 -0
  359. package/registry/examples/status-page/operational.js +26 -0
  360. package/registry/examples/status-page/operational.tsx +20 -0
  361. package/registry/field.json +1 -1
  362. package/registry/file-upload.json +1 -1
  363. package/registry/filter-bar.json +1 -1
  364. package/registry/gallery-page.json +256 -0
  365. package/registry/glow-card.json +1 -1
  366. package/registry/goal-gauge.json +322 -0
  367. package/registry/how-it-works-page.json +242 -0
  368. package/registry/image-cropper.json +1 -1
  369. package/registry/index.json +621 -5
  370. package/registry/iso.json +1 -1
  371. package/registry/kbd.json +1 -1
  372. package/registry/landing-page.json +242 -0
  373. package/registry/landscape.json +189 -0
  374. package/registry/legal-page.json +199 -0
  375. package/registry/link-card.json +1 -1
  376. package/registry/loader.json +1 -1
  377. package/registry/longform-page.json +213 -0
  378. package/registry/marketing-layout.json +172 -0
  379. package/registry/marquee.json +1 -1
  380. package/registry/mascot-quote.json +6 -6
  381. package/registry/mascot-state.json +34 -34
  382. package/registry/mascots.json +140 -23
  383. package/registry/media-capture.json +1 -1
  384. package/registry/meter.json +1 -1
  385. package/registry/nav-bar.json +1 -1
  386. package/registry/number-ticker.json +1 -1
  387. package/registry/page-header.json +1 -1
  388. package/registry/page-hero.json +3 -3
  389. package/registry/page.json +5 -5
  390. package/registry/pagination.json +1 -1
  391. package/registry/pointer-light.json +1 -1
  392. package/registry/popover.json +1 -1
  393. package/registry/pricing-page.json +245 -0
  394. package/registry/product-page.json +319 -0
  395. package/registry/profile-card.json +501 -0
  396. package/registry/progress.json +1 -1
  397. package/registry/promise-card.json +228 -0
  398. package/registry/radio-group.json +1 -1
  399. package/registry/scroll-stage.json +197 -0
  400. package/registry/search-field.json +1 -1
  401. package/registry/section-backdrop.json +1 -1
  402. package/registry/separator.json +1 -1
  403. package/registry/settings-layout.json +231 -0
  404. package/registry/skeleton.json +1 -1
  405. package/registry/slider.json +1 -1
  406. package/registry/slot.json +1 -1
  407. package/registry/spinner.json +1 -1
  408. package/registry/split-view.json +233 -0
  409. package/registry/stage-banner.json +221 -0
  410. package/registry/stat.json +1 -1
  411. package/registry/status-page.json +263 -0
  412. package/registry/stepper.json +1 -1
  413. package/registry/switch.json +1 -1
  414. package/registry/tabs.json +1 -1
  415. package/registry/tag-input.json +1 -1
  416. package/registry/terminal-replay.json +1 -1
  417. package/registry/theme.json +1 -1
  418. package/registry/toast.json +1 -1
  419. package/registry/toc.json +1 -1
  420. package/registry/tooltip.json +1 -1
  421. package/registry/video-player.json +1 -1
  422. package/registry/video-trimmer.json +1 -1
  423. package/dist/chunk-NOVUREEC.js.map +0 -1
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,44 @@
1
+ "use client";
2
+
3
+ // registry/examples/landing-page/krizaka.tsx
4
+ import { Button } from "@krizaka/ui/button";
5
+ import { LandingPage } from "@krizaka/ui/landing-page";
6
+ import { Meter } from "@krizaka/ui/meter";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+ function LandingPageKrizaka() {
9
+ return /* @__PURE__ */ jsx(
10
+ LandingPage,
11
+ {
12
+ eyebrow: "Software studio \xB7 Montr\xE9al",
13
+ title: "Products that keep what is yours",
14
+ lead: "Krizaka builds sovereign AI and a platform where creators are paid \u2014 open source, on your servers or ours.",
15
+ actions: /* @__PURE__ */ jsxs(Fragment, { children: [
16
+ /* @__PURE__ */ jsx(Button, { variant: "primary", size: "lg", shape: "cut", shimmer: true, children: "See the products" }),
17
+ /* @__PURE__ */ jsx(Button, { variant: "secondary", size: "lg", shape: "cut", children: "Read the docs" })
18
+ ] }),
19
+ visualLabel: "orazaka.local \u2014 console",
20
+ visual: /* @__PURE__ */ jsxs("div", { className: "grid gap-3 p-5", children: [
21
+ /* @__PURE__ */ jsx("p", { className: "font-mono text-xs text-fg-secondary", children: "$ npx orazaka install" }),
22
+ /* @__PURE__ */ jsx("p", { className: "font-mono text-xs text-fg-success", children: "\u2713 1,284 answers this week, none left the server" }),
23
+ /* @__PURE__ */ jsx(Meter, { label: "Credits", value: 3800, max: 12e3, valueText: "3,800 of 12,000", showLabel: true })
24
+ ] }),
25
+ proofs: [
26
+ { value: "34", label: "public repositories" },
27
+ { value: "Apache-2.0", label: "every line" },
28
+ { value: "0", label: "telemetry calls" }
29
+ ],
30
+ featuresHeading: { eyebrow: "What we build", title: "Three products, one way of building" },
31
+ features: [
32
+ { id: "orazaka", size: "lg", title: "Orazaka \u2014 the AI that never leaves home", text: "Chat, image, voice and video on your own server, one governed pipeline." },
33
+ { id: "orochia", title: "Orochia", text: "Creators paid 90 % of what fans spend." },
34
+ { id: "yazakia", title: "Yazakia", text: "Meet by talking first \u2014 coming." },
35
+ { id: "blocks", size: "md", title: "Open building blocks", text: "Users, billing, notifications \u2014 on Maven Central and npm." },
36
+ { id: "ui", size: "md", title: "One design system", text: "Krizaka UI, web and mobile, documented from its code." }
37
+ ],
38
+ closing: { title: "Something to build together?", body: "Tell us what you need; a person answers within two days.", actions: /* @__PURE__ */ jsx(Button, { variant: "primary", size: "lg", shape: "cut", children: "Contact us" }) }
39
+ }
40
+ );
41
+ }
42
+ export {
43
+ LandingPageKrizaka as default
44
+ };
@@ -0,0 +1,44 @@
1
+ import { Button } from "@krizaka/ui/button";
2
+ import { LandingPage } from "@krizaka/ui/landing-page";
3
+ import { Meter } from "@krizaka/ui/meter";
4
+
5
+ // TEMPLATE — a company's landing (krizaka.com): the promise beside the product alive, a band of proofs, the features
6
+ // as a bento where the main one takes the room, the closing call. On a phone the window follows the words, the bento
7
+ // is one column, the proofs stack.
8
+ export default function LandingPageKrizaka() {
9
+ return (
10
+ <LandingPage
11
+ eyebrow="Software studio · Montréal"
12
+ title="Products that keep what is yours"
13
+ lead="Krizaka builds sovereign AI and a platform where creators are paid — open source, on your servers or ours."
14
+ actions={
15
+ <>
16
+ <Button variant="primary" size="lg" shape="cut" shimmer>See the products</Button>
17
+ <Button variant="secondary" size="lg" shape="cut">Read the docs</Button>
18
+ </>
19
+ }
20
+ visualLabel="orazaka.local — console"
21
+ visual={
22
+ <div className="grid gap-3 p-5">
23
+ <p className="font-mono text-xs text-fg-secondary">$ npx orazaka install</p>
24
+ <p className="font-mono text-xs text-fg-success">✓ 1,284 answers this week, none left the server</p>
25
+ <Meter label="Credits" value={3800} max={12000} valueText="3,800 of 12,000" showLabel />
26
+ </div>
27
+ }
28
+ proofs={[
29
+ { value: "34", label: "public repositories" },
30
+ { value: "Apache-2.0", label: "every line" },
31
+ { value: "0", label: "telemetry calls" },
32
+ ]}
33
+ featuresHeading={{ eyebrow: "What we build", title: "Three products, one way of building" }}
34
+ features={[
35
+ { id: "orazaka", size: "lg", title: "Orazaka — the AI that never leaves home", text: "Chat, image, voice and video on your own server, one governed pipeline." },
36
+ { id: "orochia", title: "Orochia", text: "Creators paid 90 % of what fans spend." },
37
+ { id: "yazakia", title: "Yazakia", text: "Meet by talking first — coming." },
38
+ { id: "blocks", size: "md", title: "Open building blocks", text: "Users, billing, notifications — on Maven Central and npm." },
39
+ { id: "ui", size: "md", title: "One design system", text: "Krizaka UI, web and mobile, documented from its code." },
40
+ ]}
41
+ closing={{ title: "Something to build together?", body: "Tell us what you need; a person answers within two days.", actions: <Button variant="primary" size="lg" shape="cut">Contact us</Button> }}
42
+ />
43
+ );
44
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,14 @@
1
+ "use client";
2
+
3
+ // registry/examples/landscape/backdrop.tsx
4
+ import { Landscape } from "@krizaka/ui/landscape";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ function LandscapeBackdrop() {
7
+ return /* @__PURE__ */ jsxs("div", { className: "relative h-80 w-full max-w-3xl overflow-hidden rounded-2xl border border-border-subtle", children: [
8
+ /* @__PURE__ */ jsx(Landscape, { animated: false }),
9
+ /* @__PURE__ */ jsx("p", { className: "relative z-10 p-6 text-lg font-semibold text-fg", children: "Built in the open, in Montr\xE9al." })
10
+ ] });
11
+ }
12
+ export {
13
+ LandscapeBackdrop as default
14
+ };
@@ -0,0 +1,11 @@
1
+ import { Landscape } from "@krizaka/ui/landscape";
2
+
3
+ // A page's end: the Krizaka valley at dusk behind the last words, faded into the surface.
4
+ export default function LandscapeBackdrop() {
5
+ return (
6
+ <div className="relative h-80 w-full max-w-3xl overflow-hidden rounded-2xl border border-border-subtle">
7
+ <Landscape animated={false} />
8
+ <p className="relative z-10 p-6 text-lg font-semibold text-fg">Built in the open, in Montréal.</p>
9
+ </div>
10
+ );
11
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,11 @@
1
+ "use client";
2
+
3
+ // registry/examples/landscape/brand.tsx
4
+ import { Landscape } from "@krizaka/ui/landscape";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function LandscapeBrand() {
7
+ return /* @__PURE__ */ jsx("div", { className: "brand-orazaka relative h-64 w-full max-w-3xl overflow-hidden rounded-2xl border border-border-subtle", children: /* @__PURE__ */ jsx(Landscape, { tone: "brand", flock: false, animated: false }) });
8
+ }
9
+ export {
10
+ LandscapeBrand as default
11
+ };
@@ -0,0 +1,10 @@
1
+ import { Landscape } from "@krizaka/ui/landscape";
2
+
3
+ // `tone="brand"`: the sky and the peaks in the host brand's accents; without the flock, a calmer backdrop.
4
+ export default function LandscapeBrand() {
5
+ return (
6
+ <div className="brand-orazaka relative h-64 w-full max-w-3xl overflow-hidden rounded-2xl border border-border-subtle">
7
+ <Landscape tone="brand" flock={false} animated={false} />
8
+ </div>
9
+ );
10
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,24 @@
1
+ "use client";
2
+
3
+ // registry/examples/legal-page/privacy.tsx
4
+ import { LegalPage } from "@krizaka/ui/legal-page";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function LegalPagePrivacy() {
7
+ return /* @__PURE__ */ jsx(
8
+ LegalPage,
9
+ {
10
+ title: "Privacy policy",
11
+ updated: "Last updated: October 2026",
12
+ summary: "In short: we collect what you send us, keep it in Qu\xE9bec, never sell it, and delete it when you ask.",
13
+ tocLabel: "On this page",
14
+ sections: [
15
+ { id: "collect", title: "What we collect", children: /* @__PURE__ */ jsx("p", { children: "Your email and your message, when you write to us." }) },
16
+ { id: "keep", title: "Where it is kept", children: /* @__PURE__ */ jsx("p", { children: "On servers in Qu\xE9bec, encrypted at rest." }) },
17
+ { id: "rights", title: "Your rights", children: /* @__PURE__ */ jsx("p", { children: "Ask for a copy or for deletion at any time; we answer within 30 days." }) }
18
+ ]
19
+ }
20
+ );
21
+ }
22
+ export {
23
+ LegalPagePrivacy as default
24
+ };
@@ -0,0 +1,19 @@
1
+ import { LegalPage } from "@krizaka/ui/legal-page";
2
+
3
+ // TEMPLATE — a policy: the date in force, the short version in plain words, then the sections with their contents
4
+ // beside them (chips on a phone).
5
+ export default function LegalPagePrivacy() {
6
+ return (
7
+ <LegalPage
8
+ title="Privacy policy"
9
+ updated="Last updated: October 2026"
10
+ summary="In short: we collect what you send us, keep it in Québec, never sell it, and delete it when you ask."
11
+ tocLabel="On this page"
12
+ sections={[
13
+ { id: "collect", title: "What we collect", children: <p>Your email and your message, when you write to us.</p> },
14
+ { id: "keep", title: "Where it is kept", children: <p>On servers in Québec, encrypted at rest.</p> },
15
+ { id: "rights", title: "Your rights", children: <p>Ask for a copy or for deletion at any time; we answer within 30 days.</p> },
16
+ ]}
17
+ />
18
+ );
19
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,38 @@
1
+ "use client";
2
+
3
+ // registry/examples/longform-page/story.tsx
4
+ import { LongformPage } from "@krizaka/ui/longform-page";
5
+ import { MascotQuote } from "@krizaka/ui/mascot-quote";
6
+ import { Mascot } from "@krizaka/ui/mascots";
7
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
8
+ function LongformPageStory() {
9
+ return /* @__PURE__ */ jsx(
10
+ LongformPage,
11
+ {
12
+ eyebrow: "Our story",
13
+ title: "Why a studio in Montr\xE9al builds its own AI",
14
+ lead: "Three products, one rule: what is yours stays yours.",
15
+ aside: /* @__PURE__ */ jsx(Mascot, { bird: "owl", mood: "welcome", size: 112 }),
16
+ chapters: [
17
+ {
18
+ id: "start",
19
+ title: "It started with a lease",
20
+ pull: "The prompt crossed the ocean before the answer came back.",
21
+ children: /* @__PURE__ */ jsxs(Fragment, { children: [
22
+ /* @__PURE__ */ jsx("p", { children: "A notary asked a chatbot to summarise a lease. The answer was good; the lease was now on someone else's server." }),
23
+ /* @__PURE__ */ jsx("p", { children: "We built Orazaka so that question never has to leave the office." })
24
+ ] })
25
+ },
26
+ {
27
+ id: "creators",
28
+ title: "Then came the creators",
29
+ children: /* @__PURE__ */ jsx("p", { children: "Orochia pays creators 90 % of what their fans spend, every Monday \u2014 no algorithm in between." }),
30
+ figure: /* @__PURE__ */ jsx(MascotQuote, { bird: "flamingo", label: "The flamingo's rule", children: "Whoever does the work gets paid first." })
31
+ }
32
+ ]
33
+ }
34
+ );
35
+ }
36
+ export {
37
+ LongformPageStory as default
38
+ };
@@ -0,0 +1,35 @@
1
+ import { LongformPage } from "@krizaka/ui/longform-page";
2
+ import { MascotQuote } from "@krizaka/ui/mascot-quote";
3
+ import { Mascot } from "@krizaka/ui/mascots";
4
+
5
+ // TEMPLATE — a long read (Krizaka's story): numbered chapters in a reading column, a sentence pulled into the margin,
6
+ // a bird's quote breaking out under the text. Editorial, not cards; one column on a phone.
7
+ export default function LongformPageStory() {
8
+ return (
9
+ <LongformPage
10
+ eyebrow="Our story"
11
+ title="Why a studio in Montréal builds its own AI"
12
+ lead="Three products, one rule: what is yours stays yours."
13
+ aside={<Mascot bird="owl" mood="welcome" size={112} />}
14
+ chapters={[
15
+ {
16
+ id: "start",
17
+ title: "It started with a lease",
18
+ pull: "The prompt crossed the ocean before the answer came back.",
19
+ children: (
20
+ <>
21
+ <p>A notary asked a chatbot to summarise a lease. The answer was good; the lease was now on someone else's server.</p>
22
+ <p>We built Orazaka so that question never has to leave the office.</p>
23
+ </>
24
+ ),
25
+ },
26
+ {
27
+ id: "creators",
28
+ title: "Then came the creators",
29
+ children: <p>Orochia pays creators 90 % of what their fans spend, every Monday — no algorithm in between.</p>,
30
+ figure: <MascotQuote bird="flamingo" label="The flamingo's rule">Whoever does the work gets paid first.</MascotQuote>,
31
+ },
32
+ ]}
33
+ />
34
+ );
35
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,31 @@
1
+ "use client";
2
+
3
+ // registry/examples/marketing-layout/basic.tsx
4
+ import { MarketingLayout } from "@krizaka/ui/marketing-layout";
5
+ import { NavBar } from "@krizaka/ui/nav-bar";
6
+ import { Section } from "@krizaka/ui/page";
7
+ import { PageHero } from "@krizaka/ui/page-hero";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ function MarketingLayoutBasic() {
10
+ return /* @__PURE__ */ jsxs(
11
+ MarketingLayout,
12
+ {
13
+ skipLabel: "Skip to content",
14
+ header: /* @__PURE__ */ jsxs(NavBar.Root, { label: "Main", compactAfter: false, className: "max-w-(--kz-page-max,72rem)", children: [
15
+ /* @__PURE__ */ jsx(NavBar.Brand, { href: "#home", children: "Krizaka" }),
16
+ /* @__PURE__ */ jsxs(NavBar.Items, { children: [
17
+ /* @__PURE__ */ jsx(NavBar.Link, { href: "#products", active: true, children: "Products" }),
18
+ /* @__PURE__ */ jsx(NavBar.Link, { href: "#docs", children: "Docs" })
19
+ ] })
20
+ ] }),
21
+ footer: /* @__PURE__ */ jsx("footer", { className: "border-t border-border-subtle px-6 py-8 text-sm text-fg-secondary", children: "\xA9 Krizaka \xB7 Montr\xE9al" }),
22
+ children: [
23
+ /* @__PURE__ */ jsx(PageHero, { eyebrow: "Products", title: "Two products, one way of building", backdrop: "plain" }),
24
+ /* @__PURE__ */ jsx(Section, { id: "why", title: "Why", spacing: "sm", children: /* @__PURE__ */ jsx("p", { className: "text-sm text-fg-secondary", children: "Every page shares the same edges." }) })
25
+ ]
26
+ }
27
+ );
28
+ }
29
+ export {
30
+ MarketingLayoutBasic as default
31
+ };
@@ -0,0 +1,28 @@
1
+ import { MarketingLayout } from "@krizaka/ui/marketing-layout";
2
+ import { NavBar } from "@krizaka/ui/nav-bar";
3
+ import { Section } from "@krizaka/ui/page";
4
+ import { PageHero } from "@krizaka/ui/page-hero";
5
+
6
+ // A site's page: the link that skips to the content, the floating bar, the hero and sections in one frame, the footer.
7
+ export default function MarketingLayoutBasic() {
8
+ return (
9
+ <MarketingLayout
10
+ skipLabel="Skip to content"
11
+ header={
12
+ <NavBar.Root label="Main" compactAfter={false} className="max-w-(--kz-page-max,72rem)">
13
+ <NavBar.Brand href="#home">Krizaka</NavBar.Brand>
14
+ <NavBar.Items>
15
+ <NavBar.Link href="#products" active>Products</NavBar.Link>
16
+ <NavBar.Link href="#docs">Docs</NavBar.Link>
17
+ </NavBar.Items>
18
+ </NavBar.Root>
19
+ }
20
+ footer={<footer className="border-t border-border-subtle px-6 py-8 text-sm text-fg-secondary">© Krizaka · Montréal</footer>}
21
+ >
22
+ <PageHero eyebrow="Products" title="Two products, one way of building" backdrop="plain" />
23
+ <Section id="why" title="Why" spacing="sm">
24
+ <p className="text-sm text-fg-secondary">Every page shares the same edges.</p>
25
+ </Section>
26
+ </MarketingLayout>
27
+ );
28
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,37 @@
1
+ "use client";
2
+
3
+ // registry/examples/marketing-layout/docs-hub.tsx
4
+ import { ProductLogo } from "@krizaka/ui";
5
+ import { CardGrid } from "@krizaka/ui/card-grid";
6
+ import { LinkCard } from "@krizaka/ui/link-card";
7
+ import { Section } from "@krizaka/ui/page";
8
+ import { PageHero } from "@krizaka/ui/page-hero";
9
+ import { jsx, jsxs } from "react/jsx-runtime";
10
+ var GROUPS = [
11
+ {
12
+ id: "start",
13
+ title: "Start here",
14
+ cards: [
15
+ { id: "cli", logo: "orazaka", title: "The CLI", text: "npx orazaka install, start, dev \u2014 then every command." },
16
+ { id: "packs", logo: "orazaka", title: "Packs & Studios", text: "The business offers Orazaka installs without code." },
17
+ { id: "admin", logo: "orochia", title: "Orochia admin console", text: "Verification, moderation, payouts \u2014 behind four gates." }
18
+ ]
19
+ },
20
+ {
21
+ id: "platform",
22
+ title: "Platform",
23
+ cards: [
24
+ { id: "ui", logo: "krizaka", title: "Krizaka UI", text: "Tokens, a Tailwind preset and the components \u2014 live." },
25
+ { id: "java", logo: "krizaka", title: "Krizaka Java", text: "Parent, BOM, starters, messaging, Problem Details." }
26
+ ]
27
+ }
28
+ ];
29
+ function MarketingLayoutDocsHub() {
30
+ return /* @__PURE__ */ jsxs("div", { className: "w-full", children: [
31
+ /* @__PURE__ */ jsx(PageHero, { eyebrow: "Documentation", title: "Build with Krizaka", lead: "The building blocks the products are made of, documented from their source.", backdrop: "plain" }),
32
+ GROUPS.map((g) => /* @__PURE__ */ jsx(Section, { id: `hub-${g.id}`, title: g.title, headingSize: "sm", spacing: "sm", children: /* @__PURE__ */ jsx(CardGrid, { min: 260, reveal: false, children: g.cards.map((c) => /* @__PURE__ */ jsx(LinkCard, { href: `#${c.id}`, icon: /* @__PURE__ */ jsx(ProductLogo, { id: c.logo, size: 24, animated: false }), title: c.title, description: c.text, cta: "Open" }, c.id)) }) }, g.id))
33
+ ] });
34
+ }
35
+ export {
36
+ MarketingLayoutDocsHub as default
37
+ };
@@ -0,0 +1,44 @@
1
+ import { ProductLogo } from "@krizaka/ui";
2
+ import { CardGrid } from "@krizaka/ui/card-grid";
3
+ import { LinkCard } from "@krizaka/ui/link-card";
4
+ import { Section } from "@krizaka/ui/page";
5
+ import { PageHero } from "@krizaka/ui/page-hero";
6
+
7
+ const GROUPS = [
8
+ {
9
+ id: "start",
10
+ title: "Start here",
11
+ cards: [
12
+ { id: "cli", logo: "orazaka", title: "The CLI", text: "npx orazaka install, start, dev — then every command." },
13
+ { id: "packs", logo: "orazaka", title: "Packs & Studios", text: "The business offers Orazaka installs without code." },
14
+ { id: "admin", logo: "orochia", title: "Orochia admin console", text: "Verification, moderation, payouts — behind four gates." },
15
+ ],
16
+ },
17
+ {
18
+ id: "platform",
19
+ title: "Platform",
20
+ cards: [
21
+ { id: "ui", logo: "krizaka", title: "Krizaka UI", text: "Tokens, a Tailwind preset and the components — live." },
22
+ { id: "java", logo: "krizaka", title: "Krizaka Java", text: "Parent, BOM, starters, messaging, Problem Details." },
23
+ ],
24
+ },
25
+ ] as const;
26
+
27
+ // TEMPLATE — a documentation hub (krizaka.com/docs): the hero, then one section per group, each a grid of compact link
28
+ // cards — the whole card one link, the product's mark, one sentence, the way in. One column on a phone.
29
+ export default function MarketingLayoutDocsHub() {
30
+ return (
31
+ <div className="w-full">
32
+ <PageHero eyebrow="Documentation" title="Build with Krizaka" lead="The building blocks the products are made of, documented from their source." backdrop="plain" />
33
+ {GROUPS.map((g) => (
34
+ <Section key={g.id} id={`hub-${g.id}`} title={g.title} headingSize="sm" spacing="sm">
35
+ <CardGrid min={260} reveal={false}>
36
+ {g.cards.map((c) => (
37
+ <LinkCard key={c.id} href={`#${c.id}`} icon={<ProductLogo id={c.logo} size={24} animated={false} />} title={c.title} description={c.text} cta="Open" />
38
+ ))}
39
+ </CardGrid>
40
+ </Section>
41
+ ))}
42
+ </div>
43
+ );
44
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,45 @@
1
+ "use client";
2
+
3
+ // registry/examples/marketing-layout/pricing.tsx
4
+ import { Badge } from "@krizaka/ui/badge";
5
+ import { Button } from "@krizaka/ui/button";
6
+ import { GlowCard } from "@krizaka/ui/glow-card";
7
+ import { Meter } from "@krizaka/ui/meter";
8
+ import { Section } from "@krizaka/ui/page";
9
+ import { PageHero } from "@krizaka/ui/page-hero";
10
+ import { jsx, jsxs } from "react/jsx-runtime";
11
+ var PLANS = [
12
+ { id: "community", name: "Community", price: "Free", unit: "self-hosted", points: ["Every feature", "Your hardware", "Community support"] },
13
+ { id: "workspace", name: "Workspace", price: "\u20AC29", unit: "per month \xB7 12,000 credits", points: ["Packs & Studios", "Shared workspaces", "Email support"], featured: true },
14
+ { id: "sovereign", name: "Sovereign", price: "Custom", unit: "on your servers", points: ["Installation with you", "Law 25 review", "A named engineer"] }
15
+ ];
16
+ function MarketingLayoutPricing() {
17
+ return /* @__PURE__ */ jsxs("div", { className: "w-full", children: [
18
+ /* @__PURE__ */ jsx(PageHero, { eyebrow: "Pricing", title: "Pay once for what was done", lead: "Credits buy answers, images and minutes of video \u2014 never a seat you do not use.", align: "center", backdrop: "plain" }),
19
+ /* @__PURE__ */ jsx(Section, { "aria-label": "Plans", spacing: "sm", children: /* @__PURE__ */ jsx("ul", { className: "grid gap-4 md:grid-cols-3", children: PLANS.map((p) => /* @__PURE__ */ jsx("li", { className: "flex", children: /* @__PURE__ */ jsxs(GlowCard, { alive: p.featured, className: "flex w-full flex-col gap-4", children: [
20
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-2", children: [
21
+ /* @__PURE__ */ jsx("h2", { className: "font-display text-lg font-bold text-fg", children: p.name }),
22
+ p.featured && /* @__PURE__ */ jsx(Badge, { tone: "accent", children: "Most chosen" })
23
+ ] }),
24
+ /* @__PURE__ */ jsxs("p", { children: [
25
+ /* @__PURE__ */ jsx("span", { className: "font-display text-4xl font-extrabold text-fg", children: p.price }),
26
+ /* @__PURE__ */ jsx("span", { className: "mt-1 block text-sm text-fg-secondary", children: p.unit })
27
+ ] }),
28
+ /* @__PURE__ */ jsx("ul", { className: "flex flex-col gap-2 text-sm text-fg-secondary", children: p.points.map((x) => /* @__PURE__ */ jsxs("li", { children: [
29
+ "\u2014 ",
30
+ x
31
+ ] }, x)) }),
32
+ /* @__PURE__ */ jsxs(Button, { variant: p.featured ? "primary" : "secondary", shape: "cut", className: "mt-auto w-full", children: [
33
+ "Choose ",
34
+ p.name
35
+ ] })
36
+ ] }) }, p.id)) }) }),
37
+ /* @__PURE__ */ jsx(Section, { id: "credits", title: "Your credits", headingSize: "sm", spacing: "sm", divider: true, children: /* @__PURE__ */ jsxs("div", { className: "max-w-md", children: [
38
+ /* @__PURE__ */ jsx(Meter, { label: "Credits this month", value: 3800, max: 12e3, valueText: "3,800 of 12,000 used", thresholds: { low: 0.7, high: 0.9 }, showLabel: true }),
39
+ /* @__PURE__ */ jsx("p", { className: "mt-3 text-sm text-fg-secondary", children: "One credit \u2248 one chat answer \xB7 4 credits an image \xB7 30 a minute of video." })
40
+ ] }) })
41
+ ] });
42
+ }
43
+ export {
44
+ MarketingLayoutPricing as default
45
+ };
@@ -0,0 +1,55 @@
1
+ import { Badge } from "@krizaka/ui/badge";
2
+ import { Button } from "@krizaka/ui/button";
3
+ import { GlowCard } from "@krizaka/ui/glow-card";
4
+ import { Meter } from "@krizaka/ui/meter";
5
+ import { Section } from "@krizaka/ui/page";
6
+ import { PageHero } from "@krizaka/ui/page-hero";
7
+
8
+ const PLANS = [
9
+ { id: "community", name: "Community", price: "Free", unit: "self-hosted", points: ["Every feature", "Your hardware", "Community support"] },
10
+ { id: "workspace", name: "Workspace", price: "€29", unit: "per month · 12,000 credits", points: ["Packs & Studios", "Shared workspaces", "Email support"], featured: true },
11
+ { id: "sovereign", name: "Sovereign", price: "Custom", unit: "on your servers", points: ["Installation with you", "Law 25 review", "A named engineer"] },
12
+ ];
13
+
14
+ // TEMPLATE — pricing and credits: the plans side by side (the featured one lit by its turning ring), what a credit buys,
15
+ // and the credits left for a signed-in visitor. On a phone the plans stack, the featured one first in the reading order
16
+ // it already has; every action is the cut button, the featured one primary.
17
+ export default function MarketingLayoutPricing() {
18
+ return (
19
+ <div className="w-full">
20
+ <PageHero eyebrow="Pricing" title="Pay once for what was done" lead="Credits buy answers, images and minutes of video — never a seat you do not use." align="center" backdrop="plain" />
21
+ <Section aria-label="Plans" spacing="sm">
22
+ <ul className="grid gap-4 md:grid-cols-3">
23
+ {PLANS.map((p) => (
24
+ <li key={p.id} className="flex">
25
+ <GlowCard alive={p.featured} className="flex w-full flex-col gap-4">
26
+ <div className="flex items-center justify-between gap-2">
27
+ <h2 className="font-display text-lg font-bold text-fg">{p.name}</h2>
28
+ {p.featured && <Badge tone="accent">Most chosen</Badge>}
29
+ </div>
30
+ <p>
31
+ <span className="font-display text-4xl font-extrabold text-fg">{p.price}</span>
32
+ <span className="mt-1 block text-sm text-fg-secondary">{p.unit}</span>
33
+ </p>
34
+ <ul className="flex flex-col gap-2 text-sm text-fg-secondary">
35
+ {p.points.map((x) => (
36
+ <li key={x}>— {x}</li>
37
+ ))}
38
+ </ul>
39
+ <Button variant={p.featured ? "primary" : "secondary"} shape="cut" className="mt-auto w-full">
40
+ Choose {p.name}
41
+ </Button>
42
+ </GlowCard>
43
+ </li>
44
+ ))}
45
+ </ul>
46
+ </Section>
47
+ <Section id="credits" title="Your credits" headingSize="sm" spacing="sm" divider>
48
+ <div className="max-w-md">
49
+ <Meter label="Credits this month" value={3800} max={12000} valueText="3,800 of 12,000 used" thresholds={{ low: 0.7, high: 0.9 }} showLabel />
50
+ <p className="mt-3 text-sm text-fg-secondary">One credit ≈ one chat answer · 4 credits an image · 30 a minute of video.</p>
51
+ </div>
52
+ </Section>
53
+ </div>
54
+ );
55
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;