@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,26 @@
1
+ import { Avatar } from "@krizaka/ui/avatar";
2
+ import { Button } from "@krizaka/ui/button";
3
+ import { ProfileCard } from "@krizaka/ui/profile-card";
4
+
5
+ // A creator at a glance: the headline gauge, the stats with their values in words, the actions under them.
6
+ export default function ProfileCardCreator() {
7
+ return (
8
+ <ProfileCard
9
+ visual={<Avatar fallback="EM" size="xl" />}
10
+ visualSize={96}
11
+ name="Elena Marchetti"
12
+ statLabel="Profile complete"
13
+ value={80}
14
+ stats={[
15
+ { label: "Challenges met", value: 12, max: 15, valueText: "12 of 15" },
16
+ { label: "Replies within a day", value: 94 },
17
+ ]}
18
+ caption="Dance and street fashion · Montréal"
19
+ >
20
+ <Button variant="primary" size="sm">
21
+ Follow
22
+ </Button>
23
+ <Button size="sm">Message</Button>
24
+ </ProfileCard>
25
+ );
26
+ }
@@ -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,25 @@
1
+ "use client";
2
+
3
+ // registry/examples/profile-card/match.tsx
4
+ import { Avatar } from "@krizaka/ui/avatar";
5
+ import { ProfileCard } from "@krizaka/ui/profile-card";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function ProfileCardMatch() {
8
+ return /* @__PURE__ */ jsx(
9
+ ProfileCard,
10
+ {
11
+ brand: "yazakia",
12
+ visual: /* @__PURE__ */ jsx(Avatar, { fallback: "AR", size: "xl" }),
13
+ visualSize: 88,
14
+ name: "Alex, 29",
15
+ stats: [
16
+ { label: "Interests in common", value: 4, max: 6, valueText: "4 of 6" },
17
+ { label: "Answers that match", value: 7, max: 10, valueText: "7 of 10" }
18
+ ],
19
+ caption: "You both answered \u201Ca slow Sunday market\u201D first."
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ ProfileCardMatch as default
25
+ };
@@ -0,0 +1,19 @@
1
+ import { Avatar } from "@krizaka/ui/avatar";
2
+ import { ProfileCard } from "@krizaka/ui/profile-card";
3
+
4
+ // A match in a dating app: what you share, in words — never a score alone.
5
+ export default function ProfileCardMatch() {
6
+ return (
7
+ <ProfileCard
8
+ brand="yazakia"
9
+ visual={<Avatar fallback="AR" size="xl" />}
10
+ visualSize={88}
11
+ name="Alex, 29"
12
+ stats={[
13
+ { label: "Interests in common", value: 4, max: 6, valueText: "4 of 6" },
14
+ { label: "Answers that match", value: 7, max: 10, valueText: "7 of 10" },
15
+ ]}
16
+ caption="You both answered “a slow Sunday market” first."
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,27 @@
1
+ "use client";
2
+
3
+ // registry/examples/profile-card/native/default.tsx
4
+ import { Avatar, Button, ProfileCard } from "@krizaka/ui/native";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function NativeProfileCardDefault() {
7
+ return /* @__PURE__ */ jsx(
8
+ ProfileCard,
9
+ {
10
+ visual: /* @__PURE__ */ jsx(Avatar, { fallback: "EM", size: "xl" }),
11
+ name: "Elena Marchetti",
12
+ statLabel: "Profile complete",
13
+ value: 80,
14
+ stats: [
15
+ { label: "Challenges met", value: 12, max: 15, valueText: "12 of 15" },
16
+ { label: "Replies within a day", value: 94 }
17
+ ],
18
+ caption: "Dance and street fashion \xB7 Montr\xE9al",
19
+ animated: false,
20
+ style: { width: 300 },
21
+ children: /* @__PURE__ */ jsx(Button, { variant: "primary", size: "sm", label: "Follow" })
22
+ }
23
+ );
24
+ }
25
+ export {
26
+ NativeProfileCardDefault as default
27
+ };
@@ -0,0 +1,22 @@
1
+ import { Avatar, Button, ProfileCard } from "@krizaka/ui/native";
2
+
3
+ // A creator at a glance on mobile: the headline gauge, two stats in words, one action.
4
+ export default function NativeProfileCardDefault() {
5
+ return (
6
+ <ProfileCard
7
+ visual={<Avatar fallback="EM" size="xl" />}
8
+ name="Elena Marchetti"
9
+ statLabel="Profile complete"
10
+ value={80}
11
+ stats={[
12
+ { label: "Challenges met", value: 12, max: 15, valueText: "12 of 15" },
13
+ { label: "Replies within a day", value: 94 },
14
+ ]}
15
+ caption="Dance and street fashion · Montréal"
16
+ animated={false}
17
+ style={{ width: 300 }}
18
+ >
19
+ <Button variant="primary" size="sm" label="Follow" />
20
+ </ProfileCard>
21
+ );
22
+ }
@@ -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,25 @@
1
+ "use client";
2
+
3
+ // registry/examples/promise-card/arcade.tsx
4
+ import { Mascot } from "@krizaka/ui/mascots";
5
+ import { PromiseCard } from "@krizaka/ui/promise-card";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function PromiseCardArcade() {
8
+ return /* @__PURE__ */ jsx(
9
+ PromiseCard,
10
+ {
11
+ variant: "arcade",
12
+ brand: "orochia",
13
+ className: "w-[30rem] max-w-full",
14
+ label: "Special move",
15
+ promise: "90 % to the creator. On every sale.",
16
+ keys: ["\u2192", "\u2193", "\u2198", "P+K"],
17
+ bearer: /* @__PURE__ */ jsx(Mascot, { bird: "flamingo", mood: "success", size: 48, animated: false }),
18
+ bearerLabel: "In the corner",
19
+ bearerName: "The flamingo \xB7 gets paid"
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ PromiseCardArcade as default
25
+ };
@@ -0,0 +1,19 @@
1
+ import { Mascot } from "@krizaka/ui/mascots";
2
+ import { PromiseCard } from "@krizaka/ui/promise-card";
3
+
4
+ // The special move of a told page: the input lights key by key, then the move lands, carried by the clan's bird.
5
+ export default function PromiseCardArcade() {
6
+ return (
7
+ <PromiseCard
8
+ variant="arcade"
9
+ brand="orochia"
10
+ className="w-[30rem] max-w-full"
11
+ label="Special move"
12
+ promise="90 % to the creator. On every sale."
13
+ keys={["→", "↓", "↘", "P+K"]}
14
+ bearer={<Mascot bird="flamingo" mood="success" size={48} animated={false} />}
15
+ bearerLabel="In the corner"
16
+ bearerName="The flamingo · gets paid"
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,23 @@
1
+ "use client";
2
+
3
+ // registry/examples/promise-card/guarantee.tsx
4
+ import { Mascot } from "@krizaka/ui/mascots";
5
+ import { PromiseCard } from "@krizaka/ui/promise-card";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function PromiseCardGuarantee() {
8
+ return /* @__PURE__ */ jsx(
9
+ PromiseCard,
10
+ {
11
+ className: "w-[30rem] max-w-full",
12
+ label: "Our promise",
13
+ promise: "Your documents never leave your servers.",
14
+ keys: ["\u2318", "K"],
15
+ bearer: /* @__PURE__ */ jsx(Mascot, { bird: "owl", mood: "success", size: 48, animated: false }),
16
+ bearerLabel: "Kept by",
17
+ bearerName: "The owl \xB7 reads, and keeps it in the house"
18
+ }
19
+ );
20
+ }
21
+ export {
22
+ PromiseCardGuarantee as default
23
+ };
@@ -0,0 +1,17 @@
1
+ import { Mascot } from "@krizaka/ui/mascots";
2
+ import { PromiseCard } from "@krizaka/ui/promise-card";
3
+
4
+ // A product's guarantee with the bird that keeps it — the owl reads your documents and keeps them in the house.
5
+ export default function PromiseCardGuarantee() {
6
+ return (
7
+ <PromiseCard
8
+ className="w-[30rem] max-w-full"
9
+ label="Our promise"
10
+ promise="Your documents never leave your servers."
11
+ keys={["⌘", "K"]}
12
+ bearer={<Mascot bird="owl" mood="success" size={48} animated={false} />}
13
+ bearerLabel="Kept by"
14
+ bearerName="The owl · reads, and keeps it in the house"
15
+ />
16
+ );
17
+ }
@@ -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,16 @@
1
+ "use client";
2
+
3
+ // registry/examples/scroll-stage/arcade.tsx
4
+ import { GoalGauge } from "@krizaka/ui/goal-gauge";
5
+ import { Scene, ScrollStage } from "@krizaka/ui/scroll-stage";
6
+ import { StageBanner } from "@krizaka/ui/stage-banner";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function ScrollStageArcade() {
9
+ return /* @__PURE__ */ jsx(ScrollStage, { variant: "arcade", className: "grid w-full max-w-xl gap-8", children: /* @__PURE__ */ jsxs(Scene, { brand: "orochia", className: "grid justify-items-center gap-4 text-center", children: [
10
+ /* @__PURE__ */ jsx(StageBanner, { size: "lg", stage: "Final round", title: "Eight problems in the way", subtitle: "One by one, they fall." }),
11
+ /* @__PURE__ */ jsx(GoalGauge, { label: "Problems left", segments: 8, value: 0, mode: "drain", valueText: "0 of 8 left" })
12
+ ] }) });
13
+ }
14
+ export {
15
+ ScrollStageArcade as default
16
+ };
@@ -0,0 +1,15 @@
1
+ import { GoalGauge } from "@krizaka/ui/goal-gauge";
2
+ import { Scene, ScrollStage } from "@krizaka/ui/scroll-stage";
3
+ import { StageBanner } from "@krizaka/ui/stage-banner";
4
+
5
+ // `variant="arcade"` once on the stage: every storytelling component inside takes the cabinet flavour.
6
+ export default function ScrollStageArcade() {
7
+ return (
8
+ <ScrollStage variant="arcade" className="grid w-full max-w-xl gap-8">
9
+ <Scene brand="orochia" className="grid justify-items-center gap-4 text-center">
10
+ <StageBanner size="lg" stage="Final round" title="Eight problems in the way" subtitle="One by one, they fall." />
11
+ <GoalGauge label="Problems left" segments={8} value={0} mode="drain" valueText="0 of 8 left" />
12
+ </Scene>
13
+ </ScrollStage>
14
+ );
15
+ }
@@ -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,25 @@
1
+ "use client";
2
+
3
+ // registry/examples/scroll-stage/chapters.tsx
4
+ import { GoalGauge } from "@krizaka/ui/goal-gauge";
5
+ import { Scene, ScrollStage } from "@krizaka/ui/scroll-stage";
6
+ import { StageBanner } from "@krizaka/ui/stage-banner";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function ScrollStageChapters() {
9
+ return /* @__PURE__ */ jsxs(ScrollStage, { className: "grid w-full max-w-xl gap-10", children: [
10
+ /* @__PURE__ */ jsxs(Scene, { className: "grid gap-3", children: [
11
+ /* @__PURE__ */ jsx(StageBanner, { stage: "Step 01", name: "Your profile" }),
12
+ /* @__PURE__ */ jsxs("div", { "data-kzs-reveal": true, children: [
13
+ /* @__PURE__ */ jsx("h3", { className: "text-lg font-semibold text-fg", children: "Say who you are, in your words" }),
14
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-fg-secondary", children: "Three questions, two photos. Nothing is public until you say so." })
15
+ ] })
16
+ ] }),
17
+ /* @__PURE__ */ jsxs(Scene, { className: "grid gap-3", children: [
18
+ /* @__PURE__ */ jsx(StageBanner, { stage: "Step 02", name: "Your first goal" }),
19
+ /* @__PURE__ */ jsx(GoalGauge, { label: "Backers", segments: 10, value: 6, valueText: "6 of 10 backers" })
20
+ ] })
21
+ ] });
22
+ }
23
+ export {
24
+ ScrollStageChapters as default
25
+ };
@@ -0,0 +1,22 @@
1
+ import { GoalGauge } from "@krizaka/ui/goal-gauge";
2
+ import { Scene, ScrollStage } from "@krizaka/ui/scroll-stage";
3
+ import { StageBanner } from "@krizaka/ui/stage-banner";
4
+
5
+ // A told page: each chapter plays once as it scrolls in — the banner, then the words (`data-kzs-reveal`), then the gauge.
6
+ export default function ScrollStageChapters() {
7
+ return (
8
+ <ScrollStage className="grid w-full max-w-xl gap-10">
9
+ <Scene className="grid gap-3">
10
+ <StageBanner stage="Step 01" name="Your profile" />
11
+ <div data-kzs-reveal>
12
+ <h3 className="text-lg font-semibold text-fg">Say who you are, in your words</h3>
13
+ <p className="text-sm text-fg-secondary">Three questions, two photos. Nothing is public until you say so.</p>
14
+ </div>
15
+ </Scene>
16
+ <Scene className="grid gap-3">
17
+ <StageBanner stage="Step 02" name="Your first goal" />
18
+ <GoalGauge label="Backers" segments={10} value={6} valueText="6 of 10 backers" />
19
+ </Scene>
20
+ </ScrollStage>
21
+ );
22
+ }
@@ -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,51 @@
1
+ "use client";
2
+
3
+ // registry/examples/settings-layout/account.tsx
4
+ import { Button } from "@krizaka/ui/button";
5
+ import { Field, Input, Select } from "@krizaka/ui/field";
6
+ import { SettingsLayout, SettingsSection } from "@krizaka/ui/settings-layout";
7
+ import { Switch } from "@krizaka/ui/switch";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ var NAV = [
10
+ { id: "profile", label: "Profile", href: "#profile", current: true },
11
+ { id: "notifications", label: "Notifications", href: "#notifications" },
12
+ { id: "payouts", label: "Payouts", href: "#payouts" },
13
+ { id: "security", label: "Security", href: "#security" }
14
+ ];
15
+ function SettingsLayoutAccount() {
16
+ return /* @__PURE__ */ jsxs(SettingsLayout, { className: "w-full", title: "Settings", description: "Your profile, what we tell you and how you are paid.", nav: NAV, navLabel: "Settings sections", children: [
17
+ /* @__PURE__ */ jsxs(
18
+ SettingsSection,
19
+ {
20
+ id: "profile",
21
+ title: "Profile",
22
+ description: "What your fans see.",
23
+ footer: /* @__PURE__ */ jsx(Button, { size: "sm", variant: "primary", shape: "cut", children: "Save the profile" }),
24
+ children: [
25
+ /* @__PURE__ */ jsxs(Field.Root, { children: [
26
+ /* @__PURE__ */ jsx(Field.Label, { htmlFor: "settings-name", children: "Display name" }),
27
+ /* @__PURE__ */ jsx(Input, { id: "settings-name", defaultValue: "Elena Varga" })
28
+ ] }),
29
+ /* @__PURE__ */ jsxs(Field.Root, { children: [
30
+ /* @__PURE__ */ jsx(Field.Label, { htmlFor: "settings-language", children: "Language" }),
31
+ /* @__PURE__ */ jsxs(Select, { id: "settings-language", defaultValue: "fr", children: [
32
+ /* @__PURE__ */ jsx("option", { value: "en", children: "English" }),
33
+ /* @__PURE__ */ jsx("option", { value: "fr", children: "Fran\xE7ais" })
34
+ ] })
35
+ ] })
36
+ ]
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsx(SettingsSection, { id: "notifications", title: "Notifications", description: "Only what you ask for.", children: [
40
+ { id: "unlock", label: "A fan unlocks a video", on: true },
41
+ { id: "auction", label: "An auction ends", on: true },
42
+ { id: "weekly", label: "Weekly summary by email", on: false }
43
+ ].map((n) => /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-4 text-sm text-fg", children: [
44
+ /* @__PURE__ */ jsx("span", { id: `notify-${n.id}`, children: n.label }),
45
+ /* @__PURE__ */ jsx(Switch, { "aria-labelledby": `notify-${n.id}`, defaultChecked: n.on })
46
+ ] }, n.id)) })
47
+ ] });
48
+ }
49
+ export {
50
+ SettingsLayoutAccount as default
51
+ };
@@ -0,0 +1,50 @@
1
+ import { Button } from "@krizaka/ui/button";
2
+ import { Field, Input, Select } from "@krizaka/ui/field";
3
+ import { SettingsLayout, SettingsSection } from "@krizaka/ui/settings-layout";
4
+ import { Switch } from "@krizaka/ui/switch";
5
+
6
+ const NAV = [
7
+ { id: "profile", label: "Profile", href: "#profile", current: true },
8
+ { id: "notifications", label: "Notifications", href: "#notifications" },
9
+ { id: "payouts", label: "Payouts", href: "#payouts" },
10
+ { id: "security", label: "Security", href: "#security" },
11
+ ];
12
+
13
+ // TEMPLATE — account settings: the sections on the left (a row of chips that scrolls on a phone), each form a titled
14
+ // card with its own save, so a change in one never waits for another.
15
+ export default function SettingsLayoutAccount() {
16
+ return (
17
+ <SettingsLayout className="w-full" title="Settings" description="Your profile, what we tell you and how you are paid." nav={NAV} navLabel="Settings sections">
18
+ <SettingsSection
19
+ id="profile"
20
+ title="Profile"
21
+ description="What your fans see."
22
+ footer={<Button size="sm" variant="primary" shape="cut">Save the profile</Button>}
23
+ >
24
+ <Field.Root>
25
+ <Field.Label htmlFor="settings-name">Display name</Field.Label>
26
+ <Input id="settings-name" defaultValue="Elena Varga" />
27
+ </Field.Root>
28
+ <Field.Root>
29
+ <Field.Label htmlFor="settings-language">Language</Field.Label>
30
+ <Select id="settings-language" defaultValue="fr">
31
+ <option value="en">English</option>
32
+ <option value="fr">Français</option>
33
+ </Select>
34
+ </Field.Root>
35
+ </SettingsSection>
36
+ <SettingsSection id="notifications" title="Notifications" description="Only what you ask for.">
37
+ {[
38
+ { id: "unlock", label: "A fan unlocks a video", on: true },
39
+ { id: "auction", label: "An auction ends", on: true },
40
+ { id: "weekly", label: "Weekly summary by email", on: false },
41
+ ].map((n) => (
42
+ <div key={n.id} className="flex items-center justify-between gap-4 text-sm text-fg">
43
+ <span id={`notify-${n.id}`}>{n.label}</span>
44
+ <Switch aria-labelledby={`notify-${n.id}`} defaultChecked={n.on} />
45
+ </div>
46
+ ))}
47
+ </SettingsSection>
48
+ </SettingsLayout>
49
+ );
50
+ }
@@ -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,27 @@
1
+ "use client";
2
+
3
+ // registry/examples/settings-layout/sections.tsx
4
+ import { Button } from "@krizaka/ui/button";
5
+ import { Field, Input } from "@krizaka/ui/field";
6
+ import { SettingsLayout, SettingsSection } from "@krizaka/ui/settings-layout";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function SettingsLayoutSections() {
9
+ return /* @__PURE__ */ jsx(
10
+ SettingsLayout,
11
+ {
12
+ className: "w-full",
13
+ nav: [
14
+ { id: "workspace", label: "Workspace", href: "#workspace", current: true },
15
+ { id: "models", label: "Models", href: "#models" }
16
+ ],
17
+ navLabel: "Settings sections",
18
+ children: /* @__PURE__ */ jsx(SettingsSection, { title: "Workspace", footer: /* @__PURE__ */ jsx(Button, { size: "sm", variant: "primary", shape: "cut", children: "Save" }), children: /* @__PURE__ */ jsxs(Field.Root, { children: [
19
+ /* @__PURE__ */ jsx(Field.Label, { htmlFor: "sections-name", children: "Name" }),
20
+ /* @__PURE__ */ jsx(Input, { id: "sections-name", defaultValue: "Tremblay & associ\xE9s" })
21
+ ] }) })
22
+ }
23
+ );
24
+ }
25
+ export {
26
+ SettingsLayoutSections as default
27
+ };
@@ -0,0 +1,24 @@
1
+ import { Button } from "@krizaka/ui/button";
2
+ import { Field, Input } from "@krizaka/ui/field";
3
+ import { SettingsLayout, SettingsSection } from "@krizaka/ui/settings-layout";
4
+
5
+ // One section per page: the navigation's links are pages, the current one is marked.
6
+ export default function SettingsLayoutSections() {
7
+ return (
8
+ <SettingsLayout
9
+ className="w-full"
10
+ nav={[
11
+ { id: "workspace", label: "Workspace", href: "#workspace", current: true },
12
+ { id: "models", label: "Models", href: "#models" },
13
+ ]}
14
+ navLabel="Settings sections"
15
+ >
16
+ <SettingsSection title="Workspace" footer={<Button size="sm" variant="primary" shape="cut">Save</Button>}>
17
+ <Field.Root>
18
+ <Field.Label htmlFor="sections-name">Name</Field.Label>
19
+ <Input id="sections-name" defaultValue="Tremblay & associés" />
20
+ </Field.Root>
21
+ </SettingsSection>
22
+ </SettingsLayout>
23
+ );
24
+ }
@@ -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,19 @@
1
+ "use client";
2
+
3
+ // registry/examples/split-view/empty.tsx
4
+ import { SplitView } from "@krizaka/ui/split-view";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function SplitViewEmpty() {
7
+ return /* @__PURE__ */ jsx(
8
+ SplitView,
9
+ {
10
+ className: "w-full",
11
+ listTitle: "Moderation",
12
+ list: /* @__PURE__ */ jsx("p", { className: "p-4 text-sm text-fg-secondary", children: "5 comments waiting." }),
13
+ empty: "Choose a comment to review it."
14
+ }
15
+ );
16
+ }
17
+ export {
18
+ SplitViewEmpty as default
19
+ };
@@ -0,0 +1,13 @@
1
+ import { SplitView } from "@krizaka/ui/split-view";
2
+
3
+ // Nothing open yet: the detail pane says what to do (desktop); on a phone only the list shows.
4
+ export default function SplitViewEmpty() {
5
+ return (
6
+ <SplitView
7
+ className="w-full"
8
+ listTitle="Moderation"
9
+ list={<p className="p-4 text-sm text-fg-secondary">5 comments waiting.</p>}
10
+ empty="Choose a comment to review it."
11
+ />
12
+ );
13
+ }
@@ -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,49 @@
1
+ "use client";
2
+
3
+ // registry/examples/split-view/messages.tsx
4
+ import { Avatar } from "@krizaka/ui/avatar";
5
+ import { Button } from "@krizaka/ui/button";
6
+ import { Field, Textarea } from "@krizaka/ui/field";
7
+ import { SplitView } from "@krizaka/ui/split-view";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ var THREADS = [
10
+ { id: "lea", name: "L\xE9a M.", last: "Will part 3 be out before Friday?", time: "09:12", unread: true },
11
+ { id: "samir", name: "Samir K.", last: "Thanks for the backstage cut!", time: "Yesterday" },
12
+ { id: "ines", name: "In\xE8s B.", last: "I won the auction \u{1F389}", time: "Mon" }
13
+ ];
14
+ function SplitViewMessages() {
15
+ return /* @__PURE__ */ jsx(
16
+ SplitView,
17
+ {
18
+ className: "w-full",
19
+ listTitle: "Messages",
20
+ showDetail: true,
21
+ back: /* @__PURE__ */ jsx("a", { href: "#messages", className: "text-sm font-medium text-fg-secondary", children: "\u2190 Messages" }),
22
+ list: /* @__PURE__ */ jsx("ul", { children: THREADS.map((t, i) => /* @__PURE__ */ jsx("li", { children: /* @__PURE__ */ jsxs("a", { href: `#${t.id}`, "aria-current": i === 0 ? "page" : void 0, className: "flex items-center gap-3 border-b border-border-subtle px-4 py-3 text-sm no-underline hover:bg-surface-2 aria-[current=page]:bg-accent-soft", children: [
23
+ /* @__PURE__ */ jsx(Avatar, { fallback: t.name.slice(0, 2), size: "sm" }),
24
+ /* @__PURE__ */ jsxs("span", { className: "min-w-0 flex-1", children: [
25
+ /* @__PURE__ */ jsxs("span", { className: "flex justify-between gap-2", children: [
26
+ /* @__PURE__ */ jsx("span", { className: "font-semibold text-fg", children: t.name }),
27
+ /* @__PURE__ */ jsx("span", { className: "text-xs text-fg-secondary", children: t.time })
28
+ ] }),
29
+ /* @__PURE__ */ jsx("span", { className: t.unread ? "block truncate font-medium text-fg" : "block truncate text-fg-secondary", children: t.last })
30
+ ] })
31
+ ] }) }, t.id)) }),
32
+ detailHead: /* @__PURE__ */ jsx("span", { className: "text-sm font-bold text-fg", children: "L\xE9a M." }),
33
+ detail: /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col gap-4", children: [
34
+ /* @__PURE__ */ jsx("p", { className: "max-w-[80%] rounded-2xl rounded-bl-md bg-surface-2 px-3.5 py-2 text-sm text-fg", children: "Will part 3 be out before Friday?" }),
35
+ /* @__PURE__ */ jsx("p", { className: "ml-auto max-w-[80%] rounded-2xl rounded-br-md bg-accent-soft px-3.5 py-2 text-sm text-fg", children: "Thursday evening \u2014 you'll be the first to know." }),
36
+ /* @__PURE__ */ jsxs("form", { className: "mt-auto flex items-end gap-2", children: [
37
+ /* @__PURE__ */ jsxs(Field.Root, { className: "flex-1", children: [
38
+ /* @__PURE__ */ jsx(Field.Label, { htmlFor: "reply", className: "sr-only", children: "Reply to L\xE9a" }),
39
+ /* @__PURE__ */ jsx(Textarea, { id: "reply", rows: 2, placeholder: "Write a reply\u2026" })
40
+ ] }),
41
+ /* @__PURE__ */ jsx(Button, { type: "submit", variant: "primary", shape: "cut", children: "Send" })
42
+ ] })
43
+ ] })
44
+ }
45
+ );
46
+ }
47
+ export {
48
+ SplitViewMessages as default
49
+ };