@krizaka/ui 3.21.0 → 3.23.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 (494) hide show
  1. package/README.md +5 -0
  2. package/dist/achievement.js +1 -1
  3. package/dist/action-bar.js +4 -4
  4. package/dist/app-header.d.ts +79 -0
  5. package/dist/app-header.js +32 -0
  6. package/dist/app-header.js.map +1 -0
  7. package/dist/app-shell.d.ts +20 -2
  8. package/dist/app-shell.js +35 -20
  9. package/dist/app-shell.js.map +1 -1
  10. package/dist/argument-card.d.ts +4 -1
  11. package/dist/argument-card.js +8 -5
  12. package/dist/argument-card.js.map +1 -1
  13. package/dist/audio-player.d.ts +3 -2
  14. package/dist/audio-player.js +14 -10
  15. package/dist/audio-player.js.map +1 -1
  16. package/dist/blocks.css +28 -0
  17. package/dist/button.js +2 -1
  18. package/dist/captcha.d.ts +81 -0
  19. package/dist/captcha.js +162 -0
  20. package/dist/captcha.js.map +1 -0
  21. package/dist/card-grid.d.ts +10 -1
  22. package/dist/card-grid.js +3 -2
  23. package/dist/card-grid.js.map +1 -1
  24. package/dist/card.js +3 -3
  25. package/dist/changelog-page.d.ts +57 -3
  26. package/dist/changelog-page.js +117 -1
  27. package/dist/changelog-page.js.map +1 -1
  28. package/dist/choice-grid.js +1 -1
  29. package/dist/{chunk-5MH64NIL.js → chunk-2L67YTNV.js} +2 -2
  30. package/dist/{chunk-3IN6TOPM.js → chunk-6ZYRUOTA.js} +6 -3
  31. package/dist/chunk-6ZYRUOTA.js.map +1 -0
  32. package/dist/chunk-APNIVNIX.js +54 -0
  33. package/dist/chunk-APNIVNIX.js.map +1 -0
  34. package/dist/{chunk-FKBHWS4N.js → chunk-CEJDH6SA.js} +2 -2
  35. package/dist/{chunk-OWC2LZD2.js → chunk-CHOJUCVE.js} +6 -3
  36. package/dist/chunk-CHOJUCVE.js.map +1 -0
  37. package/dist/{chunk-3BC4XQ6C.js → chunk-DZU6RMYD.js} +6 -3
  38. package/dist/chunk-DZU6RMYD.js.map +1 -0
  39. package/dist/chunk-F7FVPPBB.js +1080 -0
  40. package/dist/chunk-F7FVPPBB.js.map +1 -0
  41. package/dist/{chunk-5Z7FWCV2.js → chunk-HBZPJ3EP.js} +2 -2
  42. package/dist/{chunk-C2BRIFJG.js → chunk-HJFRHYCI.js} +2 -2
  43. package/dist/{chunk-ZNMFG62E.js → chunk-KH3JOEPY.js} +3 -2
  44. package/dist/chunk-KH3JOEPY.js.map +1 -0
  45. package/dist/{chunk-BTMFZ66D.js → chunk-KM6VAKIE.js} +2 -2
  46. package/dist/{chunk-DGQMDJXK.js → chunk-LZNZLCOE.js} +2 -2
  47. package/dist/chunk-MQPC3P4T.js +126 -0
  48. package/dist/chunk-MQPC3P4T.js.map +1 -0
  49. package/dist/{chunk-2FRWNSRO.js → chunk-NSLXEDIS.js} +3 -2
  50. package/dist/chunk-NSLXEDIS.js.map +1 -0
  51. package/dist/{chunk-3GODX3D6.js → chunk-QDXV544C.js} +2 -2
  52. package/dist/chunk-QDXV544C.js.map +1 -0
  53. package/dist/{chunk-4LOMIQVX.js → chunk-W675RFOA.js} +3 -2
  54. package/dist/chunk-W675RFOA.js.map +1 -0
  55. package/dist/{chunk-G3ETON2A.js → chunk-WU4VLSEA.js} +3 -2
  56. package/dist/chunk-WU4VLSEA.js.map +1 -0
  57. package/dist/{chunk-IZ7MV6HM.js → chunk-XVFQZ3ZG.js} +3 -2
  58. package/dist/chunk-XVFQZ3ZG.js.map +1 -0
  59. package/dist/{chunk-LIPK4UCS.js → chunk-YCIBJ6OQ.js} +140 -209
  60. package/dist/chunk-YCIBJ6OQ.js.map +1 -0
  61. package/dist/cn.js +1 -1
  62. package/dist/code-block.js +2 -2
  63. package/dist/code-block.js.map +1 -1
  64. package/dist/command.js +3 -3
  65. package/dist/comparison-table.d.ts +44 -0
  66. package/dist/comparison-table.js +84 -0
  67. package/dist/comparison-table.js.map +1 -0
  68. package/dist/confirm-button.js +2 -2
  69. package/dist/continue-prompt.js +3 -3
  70. package/dist/continue-prompt.js.map +1 -1
  71. package/dist/cta-panel.js +1 -1
  72. package/dist/data-table.js +19 -1066
  73. package/dist/data-table.js.map +1 -1
  74. package/dist/date-picker.js +4 -4
  75. package/dist/decision-list.js +1 -1
  76. package/dist/dialog.js +3 -2
  77. package/dist/dialog.js.map +1 -1
  78. package/dist/docs-nav.d.ts +36 -0
  79. package/dist/docs-nav.js +44 -0
  80. package/dist/docs-nav.js.map +1 -0
  81. package/dist/dropdown-menu.js +1 -1
  82. package/dist/error-page.js +1 -1
  83. package/dist/field.js +1 -1
  84. package/dist/filter-bar.js +2 -2
  85. package/dist/force-update-screen.js +2 -1
  86. package/dist/force-update-screen.js.map +1 -1
  87. package/dist/gallery-page.js +1 -1
  88. package/dist/genui.d.ts +221 -0
  89. package/dist/genui.js +533 -0
  90. package/dist/genui.js.map +1 -0
  91. package/dist/glow-card.js +1 -1
  92. package/dist/goal-gauge.js +1 -1
  93. package/dist/how-it-works-page.js +1 -1
  94. package/dist/image-cropper.js +3 -3
  95. package/dist/index.d.ts +17 -24
  96. package/dist/index.js +4 -4
  97. package/dist/landscape.js +1 -1
  98. package/dist/link-card.d.ts +9 -2
  99. package/dist/link-card.js +5 -44
  100. package/dist/link-card.js.map +1 -1
  101. package/dist/longform-page.js +1 -1
  102. package/dist/maintenance-screen.js +2 -1
  103. package/dist/maintenance-screen.js.map +1 -1
  104. package/dist/map.js +3 -3
  105. package/dist/map.js.map +1 -1
  106. package/dist/markdown.js +2 -1
  107. package/dist/markdown.js.map +1 -1
  108. package/dist/marketing-layout.js +1 -1
  109. package/dist/marketing-layout.js.map +1 -1
  110. package/dist/marquee.js +1 -1
  111. package/dist/mascot-quote.js +1 -1
  112. package/dist/match-dialog.js +2 -1
  113. package/dist/match-dialog.js.map +1 -1
  114. package/dist/media-grid.d.ts +26 -4
  115. package/dist/media-grid.js +122 -163
  116. package/dist/media-grid.js.map +1 -1
  117. package/dist/meta-row.d.ts +54 -0
  118. package/dist/meta-row.js +35 -0
  119. package/dist/meta-row.js.map +1 -0
  120. package/dist/native/map.js +3 -3
  121. package/dist/native/map.js.map +1 -1
  122. package/dist/native.d.ts +42 -16
  123. package/dist/native.js +591 -537
  124. package/dist/native.js.map +1 -1
  125. package/dist/nav-bar.js +3 -3
  126. package/dist/page-hero.js +5 -5
  127. package/dist/page.js +2 -2
  128. package/dist/popover.js +1 -1
  129. package/dist/pricing-page.js +1 -1
  130. package/dist/product-page.js +1 -1
  131. package/dist/profile-card.js +1 -1
  132. package/dist/promise-card.js +1 -1
  133. package/dist/radio-group.js +2 -2
  134. package/dist/rail-nav.d.ts +149 -0
  135. package/dist/rail-nav.js +177 -0
  136. package/dist/rail-nav.js.map +1 -0
  137. package/dist/scroll-stage.js +1 -1
  138. package/dist/settings-layout.d.ts +75 -62
  139. package/dist/settings-layout.js +39 -6
  140. package/dist/settings-layout.js.map +1 -1
  141. package/dist/showcase.js +1 -1
  142. package/dist/site-footer.d.ts +48 -67
  143. package/dist/site-footer.js +36 -12
  144. package/dist/site-footer.js.map +1 -1
  145. package/dist/skip-link.js +1 -1
  146. package/dist/slider.js +2 -2
  147. package/dist/stage-banner.js +1 -1
  148. package/dist/step-showcase.d.ts +62 -0
  149. package/dist/step-showcase.js +227 -0
  150. package/dist/step-showcase.js.map +1 -0
  151. package/dist/tabs.js +1 -1
  152. package/dist/tabs.js.map +1 -1
  153. package/dist/terminal-replay.js +1 -1
  154. package/dist/theme.js +2 -1
  155. package/dist/theme.js.map +1 -1
  156. package/dist/toast.js +1 -1
  157. package/dist/toc.js +1 -1
  158. package/dist/tooltip.js +1 -1
  159. package/dist/update-prompt.js +2 -1
  160. package/dist/update-prompt.js.map +1 -1
  161. package/dist/vertical-video.js +2 -2
  162. package/dist/video-player.js +3 -3
  163. package/dist/waveform.d.ts +93 -0
  164. package/dist/waveform.js +95 -0
  165. package/dist/waveform.js.map +1 -0
  166. package/package.json +138 -10
  167. package/registry/achievement.json +1 -1
  168. package/registry/action-bar.json +1 -1
  169. package/registry/activity-feed.json +1 -1
  170. package/registry/alert.json +1 -1
  171. package/registry/app-header.json +202 -0
  172. package/registry/app-shell.json +33 -9
  173. package/registry/argument-card.json +37 -5
  174. package/registry/audio-player.json +5 -3
  175. package/registry/auth-layout.json +1 -1
  176. package/registry/avatar.json +1 -1
  177. package/registry/badge.json +1 -1
  178. package/registry/button.json +3 -2
  179. package/registry/captcha.json +300 -0
  180. package/registry/card-grid.json +27 -3
  181. package/registry/card.json +1 -1
  182. package/registry/catalogue-page.json +1 -1
  183. package/registry/changelog-page.json +11 -7
  184. package/registry/chat.json +1 -1
  185. package/registry/checkbox.json +1 -1
  186. package/registry/chip-link.json +1 -1
  187. package/registry/chip.json +1 -1
  188. package/registry/choice-grid.json +1 -1
  189. package/registry/cn.json +1 -1
  190. package/registry/code-block.json +1 -1
  191. package/registry/combobox.json +1 -1
  192. package/registry/command.json +1 -1
  193. package/registry/comparison-table.json +207 -0
  194. package/registry/component-page.json +1 -1
  195. package/registry/confirm-button.json +1 -1
  196. package/registry/contact-page.json +1 -1
  197. package/registry/continue-prompt.json +1 -1
  198. package/registry/countdown.json +1 -1
  199. package/registry/cta-panel.json +1 -1
  200. package/registry/dashboard-layout.json +1 -1
  201. package/registry/data-table.json +1 -1
  202. package/registry/date-picker.json +1 -1
  203. package/registry/decision-list.json +1 -1
  204. package/registry/description-list.json +1 -1
  205. package/registry/detail-layout.json +1 -1
  206. package/registry/dialog.json +1 -1
  207. package/registry/docs-article-page.json +1 -1
  208. package/registry/docs-hub-page.json +1 -1
  209. package/registry/docs-layout.json +1 -1
  210. package/registry/docs-nav.json +177 -0
  211. package/registry/document-viewer.json +1 -1
  212. package/registry/dropdown-menu.json +1 -1
  213. package/registry/empty-state.json +1 -1
  214. package/registry/error-page.json +1 -1
  215. package/registry/examples/activity-feed/native/notifications.light.png +0 -0
  216. package/registry/examples/app-header/basic.d.ts +4 -0
  217. package/registry/examples/app-header/basic.js +23 -0
  218. package/registry/examples/app-header/basic.tsx +17 -0
  219. package/registry/examples/app-shell/desktop.d.ts +4 -0
  220. package/registry/examples/app-shell/desktop.js +41 -0
  221. package/registry/examples/app-shell/desktop.tsx +37 -0
  222. package/registry/examples/argument-card/hover-light.d.ts +4 -0
  223. package/registry/examples/argument-card/hover-light.js +17 -0
  224. package/registry/examples/argument-card/hover-light.tsx +19 -0
  225. package/registry/examples/argument-card/hover-quiet.d.ts +4 -0
  226. package/registry/examples/argument-card/hover-quiet.js +17 -0
  227. package/registry/examples/argument-card/hover-quiet.tsx +19 -0
  228. package/registry/examples/avatar/native/group.light.png +0 -0
  229. package/registry/examples/avatar/native/presence.light.png +0 -0
  230. package/registry/examples/avatar/native/sizes.light.png +0 -0
  231. package/registry/examples/badge/native/tones.light.png +0 -0
  232. package/registry/examples/button/native/ghost.light.png +0 -0
  233. package/registry/examples/captcha/disclosure.d.ts +4 -0
  234. package/registry/examples/captcha/disclosure.js +14 -0
  235. package/registry/examples/captcha/disclosure.tsx +11 -0
  236. package/registry/examples/captcha/form.d.ts +4 -0
  237. package/registry/examples/captcha/form.js +18 -0
  238. package/registry/examples/captcha/form.tsx +17 -0
  239. package/registry/examples/card/native/body.light.png +0 -0
  240. package/registry/examples/card/native/default.light.png +0 -0
  241. package/registry/examples/card/native/elevated.light.png +0 -0
  242. package/registry/examples/card/native/pressable.light.png +0 -0
  243. package/registry/examples/card-grid/hover-quiet.d.ts +4 -0
  244. package/registry/examples/card-grid/hover-quiet.js +18 -0
  245. package/registry/examples/card-grid/hover-quiet.tsx +20 -0
  246. package/registry/examples/changelog-page/releases.js +1 -1
  247. package/registry/examples/changelog-page/releases.tsx +1 -1
  248. package/registry/examples/chat/native/conversation.light.png +0 -0
  249. package/registry/examples/chat/native/inbox.light.png +0 -0
  250. package/registry/examples/chip/native/multiple.light.png +0 -0
  251. package/registry/examples/chip/native/removable.light.png +0 -0
  252. package/registry/examples/chip/native/single.light.png +0 -0
  253. package/registry/examples/chip/native/toggle.light.png +0 -0
  254. package/registry/examples/combobox/native/multiple.light.png +0 -0
  255. package/registry/examples/combobox/native/search.light.png +0 -0
  256. package/registry/examples/comparison-table/versus.d.ts +4 -0
  257. package/registry/examples/comparison-table/versus.js +28 -0
  258. package/registry/examples/comparison-table/versus.tsx +20 -0
  259. package/registry/examples/countdown/native/days.light.png +0 -0
  260. package/registry/examples/countdown/native/hours.light.png +0 -0
  261. package/registry/examples/countdown/native/sizes.light.png +0 -0
  262. package/registry/examples/countdown/native/urgent.light.png +0 -0
  263. package/registry/examples/countdown/native/with-label.light.png +0 -0
  264. package/registry/examples/date-picker/native/birth-date-wheel.light.png +0 -0
  265. package/registry/examples/date-picker/native/birth-date.light.png +0 -0
  266. package/registry/examples/date-picker/native/calendar.dark.png +0 -0
  267. package/registry/examples/date-picker/native/calendar.light.png +0 -0
  268. package/registry/examples/date-picker/native/day-strip.dark.png +0 -0
  269. package/registry/examples/date-picker/native/day-strip.light.png +0 -0
  270. package/registry/examples/date-picker/native/time-slots.dark.png +0 -0
  271. package/registry/examples/date-picker/native/time-slots.light.png +0 -0
  272. package/registry/examples/date-picker/native/time-wheel.light.png +0 -0
  273. package/registry/examples/description-list/native/job-details.light.png +0 -0
  274. package/registry/examples/dialog/native/sheet.dark.png +0 -0
  275. package/registry/examples/dialog/native/sheet.light.png +0 -0
  276. package/registry/examples/docs-nav/groups.d.ts +4 -0
  277. package/registry/examples/docs-nav/groups.js +21 -0
  278. package/registry/examples/docs-nav/groups.tsx +15 -0
  279. package/registry/examples/empty-state/native/default.light.png +0 -0
  280. package/registry/examples/field/native/default.light.png +0 -0
  281. package/registry/examples/field/native/select.light.png +0 -0
  282. package/registry/examples/force-update-screen/native/default.light.png +0 -0
  283. package/registry/examples/form/native/amount.light.png +0 -0
  284. package/registry/examples/form/native/audience.light.png +0 -0
  285. package/registry/examples/form/native/profile.light.png +0 -0
  286. package/registry/examples/form/native/settings.light.png +0 -0
  287. package/registry/examples/form/native/sign-up.light.png +0 -0
  288. package/registry/examples/form/native/upload.dark.png +0 -0
  289. package/registry/examples/form/native/upload.light.png +0 -0
  290. package/registry/examples/genui/streaming.d.ts +4 -0
  291. package/registry/examples/genui/streaming.js +18 -0
  292. package/registry/examples/genui/streaming.tsx +14 -0
  293. package/registry/examples/genui/table.d.ts +4 -0
  294. package/registry/examples/genui/table.js +19 -0
  295. package/registry/examples/genui/table.tsx +14 -0
  296. package/registry/examples/goal-gauge/native/default.light.png +0 -0
  297. package/registry/examples/header/native/large-title.light.png +0 -0
  298. package/registry/examples/link-card/hover-light.d.ts +4 -0
  299. package/registry/examples/link-card/hover-light.js +18 -0
  300. package/registry/examples/link-card/hover-light.tsx +20 -0
  301. package/registry/examples/link-card/hover-quiet.d.ts +4 -0
  302. package/registry/examples/link-card/hover-quiet.js +18 -0
  303. package/registry/examples/link-card/hover-quiet.tsx +20 -0
  304. package/registry/examples/loader/native/job-wait.light.png +0 -0
  305. package/registry/examples/maintenance-screen/native/default.light.png +0 -0
  306. package/registry/examples/map/native/places.light.png +0 -0
  307. package/registry/examples/markdown/native/basic.light.png +0 -0
  308. package/registry/examples/mascot-state/native/default.light.png +0 -0
  309. package/registry/examples/media-picker/native/story.light.png +0 -0
  310. package/registry/examples/meta-row/native/video.d.ts +4 -0
  311. package/registry/examples/meta-row/native/video.dark.png +0 -0
  312. package/registry/examples/meta-row/native/video.js +11 -0
  313. package/registry/examples/meta-row/native/video.light.png +0 -0
  314. package/registry/examples/meta-row/native/video.tsx +5 -0
  315. package/registry/examples/meta-row/status.d.ts +4 -0
  316. package/registry/examples/meta-row/status.js +12 -0
  317. package/registry/examples/meta-row/status.tsx +7 -0
  318. package/registry/examples/meta-row/video.d.ts +4 -0
  319. package/registry/examples/meta-row/video.js +12 -0
  320. package/registry/examples/meta-row/video.tsx +7 -0
  321. package/registry/examples/meter/native/credits.light.png +0 -0
  322. package/registry/examples/meter/native/split-ring.light.png +0 -0
  323. package/registry/examples/number-ticker/native/balance.light.png +0 -0
  324. package/registry/examples/onboarding/native/first-launch.light.png +0 -0
  325. package/registry/examples/otp-input/native/verify.light.png +0 -0
  326. package/registry/examples/pagination/native/cursor.light.png +0 -0
  327. package/registry/examples/pagination/native/pages.light.png +0 -0
  328. package/registry/examples/permission-prompt/native/blocked.light.png +0 -0
  329. package/registry/examples/permission-prompt/native/camera.light.png +0 -0
  330. package/registry/examples/profile-card/native/default.light.png +0 -0
  331. package/registry/examples/radio-group/native/buttons.light.png +0 -0
  332. package/registry/examples/radio-group/native/cards.light.png +0 -0
  333. package/registry/examples/radio-group/native/list.light.png +0 -0
  334. package/registry/examples/radio-group/native/segmented.light.png +0 -0
  335. package/registry/examples/rail-nav/expandable.d.ts +4 -0
  336. package/registry/examples/rail-nav/expandable.js +34 -0
  337. package/registry/examples/rail-nav/expandable.tsx +28 -0
  338. package/registry/examples/rail-nav/studio.d.ts +4 -0
  339. package/registry/examples/rail-nav/studio.js +43 -0
  340. package/registry/examples/rail-nav/studio.tsx +38 -0
  341. package/registry/examples/screen/native/app-shell.light.png +0 -0
  342. package/registry/examples/screen/native/auth.light.png +0 -0
  343. package/registry/examples/screen/native/map.light.png +0 -0
  344. package/registry/examples/screen/native/notifications.light.png +0 -0
  345. package/registry/examples/screen/native/profile.light.png +0 -0
  346. package/registry/examples/segmented/native/default.light.png +0 -0
  347. package/registry/examples/segmented/native/small.light.png +0 -0
  348. package/registry/examples/settings-layout/flat.d.ts +4 -0
  349. package/registry/examples/settings-layout/flat.js +26 -0
  350. package/registry/examples/settings-layout/flat.tsx +30 -0
  351. package/registry/examples/showcase/native/slides.light.png +0 -0
  352. package/registry/examples/site-footer/app.d.ts +4 -0
  353. package/registry/examples/site-footer/app.js +25 -0
  354. package/registry/examples/site-footer/app.tsx +22 -0
  355. package/registry/examples/site-footer/docs.d.ts +4 -0
  356. package/registry/examples/site-footer/docs.js +31 -0
  357. package/registry/examples/site-footer/docs.tsx +24 -0
  358. package/registry/examples/slider/native/default.light.png +0 -0
  359. package/registry/examples/slider/native/stepped.light.png +0 -0
  360. package/registry/examples/step-progress/native/sign-up.light.png +0 -0
  361. package/registry/examples/step-showcase/desktop.d.ts +4 -0
  362. package/registry/examples/step-showcase/desktop.js +24 -0
  363. package/registry/examples/step-showcase/desktop.tsx +19 -0
  364. package/registry/examples/step-showcase/phone.d.ts +4 -0
  365. package/registry/examples/step-showcase/phone.js +24 -0
  366. package/registry/examples/step-showcase/phone.tsx +19 -0
  367. package/registry/examples/stepper/native/run.light.png +0 -0
  368. package/registry/examples/swipeable-row/native/conversation.light.png +0 -0
  369. package/registry/examples/switch/native/settings.light.png +0 -0
  370. package/registry/examples/tab-bar/native/main-sections.light.png +0 -0
  371. package/registry/examples/tabs/native/sections.light.png +0 -0
  372. package/registry/examples/tabs/native/segmented.light.png +0 -0
  373. package/registry/examples/tag-selector/native/interests.light.png +0 -0
  374. package/registry/examples/toast/native/tones.light.png +0 -0
  375. package/registry/examples/txt/native/tones.dark.png +0 -0
  376. package/registry/examples/txt/native/tones.light.png +0 -0
  377. package/registry/examples/update-prompt/native/default.light.png +0 -0
  378. package/registry/examples/waveform/card.d.ts +4 -0
  379. package/registry/examples/waveform/card.js +18 -0
  380. package/registry/examples/waveform/card.tsx +16 -0
  381. package/registry/examples/waveform/native/card.d.ts +4 -0
  382. package/registry/examples/waveform/native/card.dark.png +0 -0
  383. package/registry/examples/waveform/native/card.js +19 -0
  384. package/registry/examples/waveform/native/card.light.png +0 -0
  385. package/registry/examples/waveform/native/card.tsx +19 -0
  386. package/registry/examples/waveform/sizes.d.ts +4 -0
  387. package/registry/examples/waveform/sizes.js +16 -0
  388. package/registry/examples/waveform/sizes.tsx +14 -0
  389. package/registry/field.json +1 -1
  390. package/registry/file-upload.json +1 -1
  391. package/registry/filter-bar.json +1 -1
  392. package/registry/force-update-screen.json +1 -1
  393. package/registry/form.json +1 -1
  394. package/registry/gallery-page.json +1 -1
  395. package/registry/genui.json +409 -0
  396. package/registry/glow-card.json +1 -1
  397. package/registry/goal-gauge.json +1 -1
  398. package/registry/how-it-works-page.json +1 -1
  399. package/registry/image-cropper.json +1 -1
  400. package/registry/index.json +323 -14
  401. package/registry/iso.json +1 -1
  402. package/registry/kanban.json +1 -1
  403. package/registry/kbd.json +1 -1
  404. package/registry/landing-page.json +1 -1
  405. package/registry/landscape.json +1 -1
  406. package/registry/legal-page.json +1 -1
  407. package/registry/link-card.json +38 -6
  408. package/registry/list.json +1 -1
  409. package/registry/loader.json +1 -1
  410. package/registry/longform-page.json +1 -1
  411. package/registry/maintenance-screen.json +1 -1
  412. package/registry/map.json +2 -2
  413. package/registry/markdown.json +1 -1
  414. package/registry/marketing-layout.json +1 -1
  415. package/registry/marquee.json +1 -1
  416. package/registry/mascot-quote.json +1 -1
  417. package/registry/mascot-state.json +1 -1
  418. package/registry/mascots.json +1 -1
  419. package/registry/match-dialog.json +1 -1
  420. package/registry/media-capture.json +1 -1
  421. package/registry/media-grid.json +92 -6
  422. package/registry/meta-row.json +215 -0
  423. package/registry/meter.json +1 -1
  424. package/registry/nav-bar.json +13 -13
  425. package/registry/number-ticker.json +1 -1
  426. package/registry/page-header.json +1 -1
  427. package/registry/page-hero.json +1 -1
  428. package/registry/page.json +1 -1
  429. package/registry/pagination.json +1 -1
  430. package/registry/photo-grid.json +1 -1
  431. package/registry/pointer-light.json +1 -1
  432. package/registry/popover.json +1 -1
  433. package/registry/pricing-page.json +1 -1
  434. package/registry/product-page.json +1 -1
  435. package/registry/profile-card.json +1 -1
  436. package/registry/progress.json +1 -1
  437. package/registry/promise-card.json +1 -1
  438. package/registry/radio-group.json +1 -1
  439. package/registry/rail-nav.json +493 -0
  440. package/registry/recipes.json +1 -1
  441. package/registry/scroll-stage.json +1 -1
  442. package/registry/search-field.json +1 -1
  443. package/registry/section-backdrop.json +1 -1
  444. package/registry/separator.json +1 -1
  445. package/registry/settings-layout.json +104 -9
  446. package/registry/showcase.json +1 -1
  447. package/registry/site-footer.json +49 -17
  448. package/registry/sites.json +1 -1
  449. package/registry/skeleton.json +1 -1
  450. package/registry/skip-link.json +2 -2
  451. package/registry/slider.json +1 -1
  452. package/registry/slot.json +1 -1
  453. package/registry/spinner.json +1 -1
  454. package/registry/split-view.json +1 -1
  455. package/registry/stage-banner.json +1 -1
  456. package/registry/stat.json +1 -1
  457. package/registry/status-page.json +1 -1
  458. package/registry/step-progress.json +1 -1
  459. package/registry/step-showcase.json +296 -0
  460. package/registry/stepper.json +1 -1
  461. package/registry/swipe-deck.json +1 -1
  462. package/registry/switch.json +1 -1
  463. package/registry/tabs.json +2 -2
  464. package/registry/tag-input.json +1 -1
  465. package/registry/tag-selector.json +1 -1
  466. package/registry/terminal-replay.json +1 -1
  467. package/registry/theme.json +1 -1
  468. package/registry/toast.json +1 -1
  469. package/registry/toc.json +1 -1
  470. package/registry/tooltip.json +1 -1
  471. package/registry/tree-view.json +1 -1
  472. package/registry/update-prompt.json +1 -1
  473. package/registry/verified-badge.json +1 -1
  474. package/registry/vertical-video.json +1 -1
  475. package/registry/video-player.json +1 -1
  476. package/registry/video-trimmer.json +1 -1
  477. package/registry/virtual.json +1 -1
  478. package/registry/waveform.json +296 -0
  479. package/dist/chunk-2FRWNSRO.js.map +0 -1
  480. package/dist/chunk-3BC4XQ6C.js.map +0 -1
  481. package/dist/chunk-3GODX3D6.js.map +0 -1
  482. package/dist/chunk-3IN6TOPM.js.map +0 -1
  483. package/dist/chunk-4LOMIQVX.js.map +0 -1
  484. package/dist/chunk-G3ETON2A.js.map +0 -1
  485. package/dist/chunk-IZ7MV6HM.js.map +0 -1
  486. package/dist/chunk-LIPK4UCS.js.map +0 -1
  487. package/dist/chunk-OWC2LZD2.js.map +0 -1
  488. package/dist/chunk-ZNMFG62E.js.map +0 -1
  489. /package/dist/{chunk-5MH64NIL.js.map → chunk-2L67YTNV.js.map} +0 -0
  490. /package/dist/{chunk-FKBHWS4N.js.map → chunk-CEJDH6SA.js.map} +0 -0
  491. /package/dist/{chunk-5Z7FWCV2.js.map → chunk-HBZPJ3EP.js.map} +0 -0
  492. /package/dist/{chunk-C2BRIFJG.js.map → chunk-HJFRHYCI.js.map} +0 -0
  493. /package/dist/{chunk-BTMFZ66D.js.map → chunk-KM6VAKIE.js.map} +0 -0
  494. /package/dist/{chunk-DGQMDJXK.js.map → chunk-LZNZLCOE.js.map} +0 -0
@@ -0,0 +1,14 @@
1
+ import { baseGenUiCatalog, GenUiStream } from "@krizaka/ui/genui";
2
+
3
+ const ANSWER = [
4
+ "Three cities sold more than 100 passes this month.",
5
+ "```a2ui",
6
+ '{"version":"v0.9","createSurface":{"surfaceId":"s1","catalogId":"krizaka:genui/v1"}}',
7
+ '{"version":"v0.9","updateComponents":{"surfaceId":"s1","components":[{"id":"root","component":"Column","children":["note","grid"]},{"id":"note","component":"Callout","tone":"success","title":"Montréal leads","text":"412 passes, +18 % on last month."},{"id":"grid","component":"Table","caption":"Passes by city","columns":[{"key":"city","label":"City"},{"key":"passes","label":"Passes","format":"integer"}],"rows":{"path":"/cities"}}]}}',
8
+ '{"version":"v0.9","updateDataModel":{"surfaceId":"s1","path":"/cities","value":[{"city":"Montréal","passes":412},{"city":"Québec","passes":187},{"city":"Laval","passes":121}]}}',
9
+ "```",
10
+ ].join("\n");
11
+
12
+ export default function GenUiTable() {
13
+ return <GenUiStream text={ANSWER} catalog={baseGenUiCatalog} />;
14
+ }
@@ -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,18 @@
1
+ "use client";
2
+
3
+ // registry/examples/link-card/hover-light.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 { jsx } from "react/jsx-runtime";
8
+ var shortcuts = [
9
+ { id: "cli", logo: "orazaka", title: "The CLI", text: "npx orazaka install, start, dev \u2014 then every command and option." },
10
+ { id: "packs", logo: "orazaka", title: "Packs & Studios", text: "The business offers Orazaka installs without code." },
11
+ { id: "admin", logo: "orochia", title: "Orochia admin console", text: "Verification, moderation, payouts \u2014 behind four gates." }
12
+ ];
13
+ function LinkCardHoverLight() {
14
+ return /* @__PURE__ */ jsx(CardGrid, { className: "w-full max-w-4xl", min: 260, reveal: false, children: shortcuts.map((s) => /* @__PURE__ */ jsx(LinkCard, { hover: "light", href: `#${s.id}`, icon: /* @__PURE__ */ jsx(ProductLogo, { id: s.logo, size: 24, animated: false }), title: s.title, description: s.text, cta: "Open" }, s.id)) });
15
+ }
16
+ export {
17
+ LinkCardHoverLight as default
18
+ };
@@ -0,0 +1,20 @@
1
+ import { ProductLogo } from "@krizaka/ui";
2
+ import { CardGrid } from "@krizaka/ui/card-grid";
3
+ import { LinkCard } from "@krizaka/ui/link-card";
4
+
5
+ const shortcuts = [
6
+ { id: "cli", logo: "orazaka", title: "The CLI", text: "npx orazaka install, start, dev — then every command and option." },
7
+ { id: "packs", logo: "orazaka", title: "Packs & Studios", text: "The business offers Orazaka installs without code." },
8
+ { id: "admin", logo: "orochia", title: "Orochia admin console", text: "Verification, moderation, payouts — behind four gates." },
9
+ ] as const;
10
+
11
+ // The default hover, said explicitly: the pointer's light and the coloured lift.
12
+ export default function LinkCardHoverLight() {
13
+ return (
14
+ <CardGrid className="w-full max-w-4xl" min={260} reveal={false}>
15
+ {shortcuts.map((s) => (
16
+ <LinkCard key={s.id} hover="light" href={`#${s.id}`} icon={<ProductLogo id={s.logo} size={24} animated={false} />} title={s.title} description={s.text} cta="Open" />
17
+ ))}
18
+ </CardGrid>
19
+ );
20
+ }
@@ -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,18 @@
1
+ "use client";
2
+
3
+ // registry/examples/link-card/hover-quiet.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 { jsx } from "react/jsx-runtime";
8
+ var shortcuts = [
9
+ { id: "cli", logo: "orazaka", title: "The CLI", text: "npx orazaka install, start, dev \u2014 then every command and option." },
10
+ { id: "packs", logo: "orazaka", title: "Packs & Studios", text: "The business offers Orazaka installs without code." },
11
+ { id: "admin", logo: "orochia", title: "Orochia admin console", text: "Verification, moderation, payouts \u2014 behind four gates." }
12
+ ];
13
+ function LinkCardHoverQuiet() {
14
+ return /* @__PURE__ */ jsx(CardGrid, { className: "w-full max-w-4xl", min: 260, reveal: false, children: shortcuts.map((s) => /* @__PURE__ */ jsx(LinkCard, { hover: "quiet", href: `#${s.id}`, icon: /* @__PURE__ */ jsx(ProductLogo, { id: s.logo, size: 24, animated: false }), title: s.title, description: s.text, cta: "Open" }, s.id)) });
15
+ }
16
+ export {
17
+ LinkCardHoverQuiet as default
18
+ };
@@ -0,0 +1,20 @@
1
+ import { ProductLogo } from "@krizaka/ui";
2
+ import { CardGrid } from "@krizaka/ui/card-grid";
3
+ import { LinkCard } from "@krizaka/ui/link-card";
4
+
5
+ const shortcuts = [
6
+ { id: "cli", logo: "orazaka", title: "The CLI", text: "npx orazaka install, start, dev — then every command and option." },
7
+ { id: "packs", logo: "orazaka", title: "Packs & Studios", text: "The business offers Orazaka installs without code." },
8
+ { id: "admin", logo: "orochia", title: "Orochia admin console", text: "Verification, moderation, payouts — behind four gates." },
9
+ ] as const;
10
+
11
+ // The quiet hover on a card: no glow, a 2 px lift, one step of surface and border, a ring on focus.
12
+ export default function LinkCardHoverQuiet() {
13
+ return (
14
+ <CardGrid className="w-full max-w-4xl" min={260} reveal={false}>
15
+ {shortcuts.map((s) => (
16
+ <LinkCard key={s.id} hover="quiet" href={`#${s.id}`} icon={<ProductLogo id={s.logo} size={24} animated={false} />} title={s.title} description={s.text} cta="Open" />
17
+ ))}
18
+ </CardGrid>
19
+ );
20
+ }
@@ -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/meta-row/native/video.tsx
4
+ import { Badge, MetaRow } from "@krizaka/ui/native";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function NativeMetaRowVideo() {
7
+ return /* @__PURE__ */ jsx(MetaRow, { label: "Video", items: ["HD 720p", "9:16", "0:05", "Oct 16, 2026"], chips: [/* @__PURE__ */ jsx(Badge, { tone: "accent", size: "md", children: "AI-generated" }, "ai")] });
8
+ }
9
+ export {
10
+ NativeMetaRowVideo as default
11
+ };
@@ -0,0 +1,5 @@
1
+ import { Badge, MetaRow } from "@krizaka/ui/native";
2
+
3
+ export default function NativeMetaRowVideo() {
4
+ return <MetaRow label="Video" items={["HD 720p", "9:16", "0:05", "Oct 16, 2026"]} chips={[<Badge key="ai" tone="accent" size="md">AI-generated</Badge>]} />;
5
+ }
@@ -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,12 @@
1
+ "use client";
2
+
3
+ // registry/examples/meta-row/status.tsx
4
+ import { Badge } from "@krizaka/ui/badge";
5
+ import { MetaRow } from "@krizaka/ui/meta-row";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function MetaRowStatus() {
8
+ return /* @__PURE__ */ jsx(MetaRow, { "aria-label": "Video", size: "md", items: ["0:05", "Oct 16, 2026", null], chips: [/* @__PURE__ */ jsx(Badge, { tone: "warning", children: "Encoding" }, "s")] });
9
+ }
10
+ export {
11
+ MetaRowStatus as default
12
+ };
@@ -0,0 +1,7 @@
1
+ import { Badge } from "@krizaka/ui/badge";
2
+ import { MetaRow } from "@krizaka/ui/meta-row";
3
+
4
+ // A chip only for the state that is not the usual one: here the video is still encoding.
5
+ export default function MetaRowStatus() {
6
+ return <MetaRow aria-label="Video" size="md" items={["0:05", "Oct 16, 2026", null]} chips={[<Badge key="s" tone="warning">Encoding</Badge>]} />;
7
+ }
@@ -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,12 @@
1
+ "use client";
2
+
3
+ // registry/examples/meta-row/video.tsx
4
+ import { Badge } from "@krizaka/ui/badge";
5
+ import { MetaRow } from "@krizaka/ui/meta-row";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function MetaRowVideo() {
8
+ return /* @__PURE__ */ jsx(MetaRow, { "aria-label": "Video", items: ["HD 720p", "9:16", "0:05", "24 fps", "Oct 16, 2026"], chips: [/* @__PURE__ */ jsx(Badge, { tone: "accent", size: "md", children: "AI-generated" }, "ai")] });
9
+ }
10
+ export {
11
+ MetaRowVideo as default
12
+ };
@@ -0,0 +1,7 @@
1
+ import { Badge } from "@krizaka/ui/badge";
2
+ import { MetaRow } from "@krizaka/ui/meta-row";
3
+
4
+ // Under a title: five short facts and the one chip that matters. Everything is already translated.
5
+ export default function MetaRowVideo() {
6
+ return <MetaRow aria-label="Video" items={["HD 720p", "9:16", "0:05", "24 fps", "Oct 16, 2026"]} chips={[<Badge key="ai" tone="accent" size="md">AI-generated</Badge>]} />;
7
+ }
@@ -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,34 @@
1
+ "use client";
2
+
3
+ // registry/examples/rail-nav/expandable.tsx
4
+ import { ProductLogo } from "@krizaka/ui";
5
+ import { AppHeader } from "@krizaka/ui/app-header";
6
+ import { RailNav } from "@krizaka/ui/rail-nav";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ var dot = /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": true, children: /* @__PURE__ */ jsx("circle", { cx: "12", cy: "12", r: "7" }) });
9
+ function RailNavExpandable() {
10
+ return /* @__PURE__ */ jsxs(RailNav.Shell, { children: [
11
+ /* @__PURE__ */ jsxs(
12
+ RailNav.Root,
13
+ {
14
+ label: "Studio",
15
+ accent: "orochia",
16
+ expandable: true,
17
+ expandLabels: ["Show the words", "Hide the words"],
18
+ mark: /* @__PURE__ */ jsx("a", { href: "#home", "aria-label": "Orochia, home", children: /* @__PURE__ */ jsx(ProductLogo, { id: "orochia", size: 26, animated: false }) }),
19
+ children: [
20
+ /* @__PURE__ */ jsx(RailNav.Item, { href: "#home", icon: dot, label: "Home", current: true }),
21
+ /* @__PURE__ */ jsx(RailNav.Item, { href: "#videos", icon: dot, label: "Videos" }),
22
+ /* @__PURE__ */ jsx(RailNav.Item, { href: "#earnings", icon: dot, label: "Earnings" })
23
+ ]
24
+ }
25
+ ),
26
+ /* @__PURE__ */ jsxs(RailNav.Body, { children: [
27
+ /* @__PURE__ */ jsx(AppHeader, { name: "Orochia", mark: /* @__PURE__ */ jsx(ProductLogo, { id: "orochia", size: 22, animated: false }) }),
28
+ /* @__PURE__ */ jsx("main", { id: "content", className: "p-6 text-sm text-fg-secondary", children: "The screen's content." })
29
+ ] })
30
+ ] });
31
+ }
32
+ export {
33
+ RailNavExpandable as default
34
+ };
@@ -0,0 +1,28 @@
1
+ import { ProductLogo } from "@krizaka/ui";
2
+ import { AppHeader } from "@krizaka/ui/app-header";
3
+ import { RailNav } from "@krizaka/ui/rail-nav";
4
+
5
+ const dot = <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" aria-hidden><circle cx="12" cy="12" r="7" /></svg>;
6
+
7
+ // `expandable` adds a button that widens the rail to show the words (desktop). The state can be kept with `expanded`.
8
+ export default function RailNavExpandable() {
9
+ return (
10
+ <RailNav.Shell>
11
+ <RailNav.Root
12
+ label="Studio"
13
+ accent="orochia"
14
+ expandable
15
+ expandLabels={["Show the words", "Hide the words"]}
16
+ mark={<a href="#home" aria-label="Orochia, home"><ProductLogo id="orochia" size={26} animated={false} /></a>}
17
+ >
18
+ <RailNav.Item href="#home" icon={dot} label="Home" current />
19
+ <RailNav.Item href="#videos" icon={dot} label="Videos" />
20
+ <RailNav.Item href="#earnings" icon={dot} label="Earnings" />
21
+ </RailNav.Root>
22
+ <RailNav.Body>
23
+ <AppHeader name="Orochia" mark={<ProductLogo id="orochia" size={22} animated={false} />} />
24
+ <main id="content" className="p-6 text-sm text-fg-secondary">The screen's content.</main>
25
+ </RailNav.Body>
26
+ </RailNav.Shell>
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,43 @@
1
+ "use client";
2
+
3
+ // registry/examples/rail-nav/studio.tsx
4
+ import { ProductLogo } from "@krizaka/ui";
5
+ import { AppHeader } from "@krizaka/ui/app-header";
6
+ import { Badge } from "@krizaka/ui/badge";
7
+ import { RailNav } from "@krizaka/ui/rail-nav";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ var icon = (d) => /* @__PURE__ */ jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", "aria-hidden": true, children: /* @__PURE__ */ jsx("path", { d }) });
10
+ function RailNavStudio() {
11
+ return /* @__PURE__ */ jsxs(RailNav.Shell, { children: [
12
+ /* @__PURE__ */ jsxs(
13
+ RailNav.Root,
14
+ {
15
+ label: "Orazaka",
16
+ accent: "orazaka",
17
+ mark: /* @__PURE__ */ jsx("a", { href: "#home", "aria-label": "Orazaka, home", children: /* @__PURE__ */ jsx(ProductLogo, { id: "orazaka", size: 26, animated: false }) }),
18
+ footer: /* @__PURE__ */ jsx(RailNav.Item, { href: "#settings", icon: icon("M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM19 12l2-1-2-4-2 1-2-1-1-2h-4l-1 2-2 1-2-1-2 4 2 1v2l-2 1 2 4 2-1 2 1 1 2h4l1-2 2-1 2 1 2-4-2-1z"), label: "Settings" }),
19
+ children: [
20
+ /* @__PURE__ */ jsx(RailNav.Item, { href: "#home", icon: icon("M4 11 12 4l8 7v9H4z"), label: "Home", current: true }),
21
+ /* @__PURE__ */ jsx(RailNav.Item, { href: "#studios", icon: icon("M4 5h16v11H4zM8 20h8"), label: "Studios" }),
22
+ /* @__PURE__ */ jsx(RailNav.Item, { href: "#chat", icon: icon("M4 5h16v11H9l-5 4z"), label: "Chat", badge: 2, badgeLabel: "2 unread" }),
23
+ /* @__PURE__ */ jsx(RailNav.Item, { href: "#jobs", icon: icon("M5 6h14M5 12h14M5 18h9"), label: "Jobs" })
24
+ ]
25
+ }
26
+ ),
27
+ /* @__PURE__ */ jsxs(RailNav.Body, { children: [
28
+ /* @__PURE__ */ jsx(
29
+ AppHeader,
30
+ {
31
+ name: "Orazaka",
32
+ mark: /* @__PURE__ */ jsx(ProductLogo, { id: "orazaka", size: 22, animated: false }),
33
+ href: "#home",
34
+ chips: /* @__PURE__ */ jsx(Badge, { tone: "success", dot: true, children: "Local \xB7 Sovereign" })
35
+ }
36
+ ),
37
+ /* @__PURE__ */ jsx("main", { id: "content", className: "p-6 text-sm text-fg-secondary", children: "The screen's content." })
38
+ ] })
39
+ ] });
40
+ }
41
+ export {
42
+ RailNavStudio as default
43
+ };
@@ -0,0 +1,38 @@
1
+ import { ProductLogo } from "@krizaka/ui";
2
+ import { AppHeader } from "@krizaka/ui/app-header";
3
+ import { Badge } from "@krizaka/ui/badge";
4
+ import { RailNav } from "@krizaka/ui/rail-nav";
5
+
6
+ const icon = (d: string) => (
7
+ <svg viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden>
8
+ <path d={d} />
9
+ </svg>
10
+ );
11
+
12
+ // The mark lives in the rail; the header carries the name (and the mark on a phone, where the rail is the tab bar).
13
+ export default function RailNavStudio() {
14
+ return (
15
+ <RailNav.Shell>
16
+ <RailNav.Root
17
+ label="Orazaka"
18
+ accent="orazaka"
19
+ mark={<a href="#home" aria-label="Orazaka, home"><ProductLogo id="orazaka" size={26} animated={false} /></a>}
20
+ footer={<RailNav.Item href="#settings" icon={icon("M12 15a3 3 0 1 0 0-6 3 3 0 0 0 0 6zM19 12l2-1-2-4-2 1-2-1-1-2h-4l-1 2-2 1-2-1-2 4 2 1v2l-2 1 2 4 2-1 2 1 1 2h4l1-2 2-1 2 1 2-4-2-1z")} label="Settings" />}
21
+ >
22
+ <RailNav.Item href="#home" icon={icon("M4 11 12 4l8 7v9H4z")} label="Home" current />
23
+ <RailNav.Item href="#studios" icon={icon("M4 5h16v11H4zM8 20h8")} label="Studios" />
24
+ <RailNav.Item href="#chat" icon={icon("M4 5h16v11H9l-5 4z")} label="Chat" badge={2} badgeLabel="2 unread" />
25
+ <RailNav.Item href="#jobs" icon={icon("M5 6h14M5 12h14M5 18h9")} label="Jobs" />
26
+ </RailNav.Root>
27
+ <RailNav.Body>
28
+ <AppHeader
29
+ name="Orazaka"
30
+ mark={<ProductLogo id="orazaka" size={22} animated={false} />}
31
+ href="#home"
32
+ chips={<Badge tone="success" dot>Local · Sovereign</Badge>}
33
+ />
34
+ <main id="content" className="p-6 text-sm text-fg-secondary">The screen's content.</main>
35
+ </RailNav.Body>
36
+ </RailNav.Shell>
37
+ );
38
+ }
@@ -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,26 @@
1
+ "use client";
2
+
3
+ // registry/examples/settings-layout/flat.tsx
4
+ import { Badge } from "@krizaka/ui/badge";
5
+ import { Button } from "@krizaka/ui/button";
6
+ import { Input } from "@krizaka/ui/field";
7
+ import { SettingsLayout, SettingsRow, SettingsSection } from "@krizaka/ui/settings-layout";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ var NAV = [
10
+ { id: "account", label: "Account", href: "/settings/account", current: true },
11
+ { id: "appearance", label: "Appearance", href: "/settings/appearance" },
12
+ { id: "integrations", label: "Integrations", href: "/settings/integrations" }
13
+ ];
14
+ function SettingsLayoutFlat() {
15
+ return /* @__PURE__ */ jsxs(SettingsLayout, { className: "w-full", variant: "flat", title: "Settings", nav: NAV, navLabel: "Settings sections", children: [
16
+ /* @__PURE__ */ jsxs(SettingsSection, { variant: "flat", id: "account", title: "Account", description: "Who you are in this workspace.", children: [
17
+ /* @__PURE__ */ jsx(SettingsRow, { label: "Username", description: "Shown to your team.", htmlFor: "flat-username", children: /* @__PURE__ */ jsx(Input, { id: "flat-username", defaultValue: "oussama", className: "w-56" }) }),
18
+ /* @__PURE__ */ jsx(SettingsRow, { label: "Email", children: "oussama@krizaka.com" }),
19
+ /* @__PURE__ */ jsx(SettingsRow, { label: "Role", children: /* @__PURE__ */ jsx(Badge, { children: "Admin" }) })
20
+ ] }),
21
+ /* @__PURE__ */ jsx(SettingsSection, { variant: "flat", title: "Danger zone", children: /* @__PURE__ */ jsx(SettingsRow, { label: "Sign out everywhere", description: "Ends every session on every device.", children: /* @__PURE__ */ jsx(Button, { size: "sm", variant: "secondary", children: "Sign out" }) }) })
22
+ ] });
23
+ }
24
+ export {
25
+ SettingsLayoutFlat as default
26
+ };
@@ -0,0 +1,30 @@
1
+ import { Badge } from "@krizaka/ui/badge";
2
+ import { Button } from "@krizaka/ui/button";
3
+ import { Input } from "@krizaka/ui/field";
4
+ import { SettingsLayout, SettingsRow, SettingsSection } from "@krizaka/ui/settings-layout";
5
+
6
+ const NAV = [
7
+ { id: "account", label: "Account", href: "/settings/account", current: true },
8
+ { id: "appearance", label: "Appearance", href: "/settings/appearance" },
9
+ { id: "integrations", label: "Integrations", href: "/settings/integrations" },
10
+ ];
11
+
12
+ // TEMPLATE — calm settings: sections on the left, one column of rows (label and help left, control right) divided by hairlines.
13
+ export default function SettingsLayoutFlat() {
14
+ return (
15
+ <SettingsLayout className="w-full" variant="flat" title="Settings" nav={NAV} navLabel="Settings sections">
16
+ <SettingsSection variant="flat" id="account" title="Account" description="Who you are in this workspace.">
17
+ <SettingsRow label="Username" description="Shown to your team." htmlFor="flat-username">
18
+ <Input id="flat-username" defaultValue="oussama" className="w-56" />
19
+ </SettingsRow>
20
+ <SettingsRow label="Email">oussama@krizaka.com</SettingsRow>
21
+ <SettingsRow label="Role"><Badge>Admin</Badge></SettingsRow>
22
+ </SettingsSection>
23
+ <SettingsSection variant="flat" title="Danger zone">
24
+ <SettingsRow label="Sign out everywhere" description="Ends every session on every device.">
25
+ <Button size="sm" variant="secondary">Sign out</Button>
26
+ </SettingsRow>
27
+ </SettingsSection>
28
+ </SettingsLayout>
29
+ );
30
+ }
@@ -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/site-footer/app.tsx
4
+ import { SiteFooter } from "@krizaka/ui/site-footer";
5
+ import { familyLabels } from "@krizaka/ui/sites";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+ function SiteFooterApp() {
8
+ return /* @__PURE__ */ jsx(
9
+ SiteFooter,
10
+ {
11
+ variant: "app",
12
+ current: "orazaka",
13
+ labels: familyLabels.en,
14
+ env: "DEV",
15
+ version: "1.2.3",
16
+ legal: /* @__PURE__ */ jsxs(Fragment, { children: [
17
+ /* @__PURE__ */ jsx(SiteFooter.Link, { href: "#privacy", children: "Privacy" }),
18
+ /* @__PURE__ */ jsx(SiteFooter.Link, { href: "#terms", children: "Terms" })
19
+ ] })
20
+ }
21
+ );
22
+ }
23
+ export {
24
+ SiteFooterApp as default
25
+ };
@@ -0,0 +1,22 @@
1
+ import { SiteFooter } from "@krizaka/ui/site-footer";
2
+ import { familyLabels } from "@krizaka/ui/sites";
3
+
4
+ // The footer inside a signed-in product (dev.orazaka.com/dashboard): one slim line — the publisher line, the version it
5
+ // runs and the legal links. Rendered once, in the layout; where the app shell has a sidebar that holds them, none.
6
+ export default function SiteFooterApp() {
7
+ return (
8
+ <SiteFooter
9
+ variant="app"
10
+ current="orazaka"
11
+ labels={familyLabels.en}
12
+ env="DEV"
13
+ version="1.2.3"
14
+ legal={
15
+ <>
16
+ <SiteFooter.Link href="#privacy">Privacy</SiteFooter.Link>
17
+ <SiteFooter.Link href="#terms">Terms</SiteFooter.Link>
18
+ </>
19
+ }
20
+ />
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,31 @@
1
+ "use client";
2
+
3
+ // registry/examples/site-footer/docs.tsx
4
+ import { SiteFooter } from "@krizaka/ui/site-footer";
5
+ import { familyLabels } from "@krizaka/ui/sites";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ function SiteFooterDocs() {
8
+ return /* @__PURE__ */ jsxs(
9
+ SiteFooter,
10
+ {
11
+ variant: "docs",
12
+ current: "ui",
13
+ labels: familyLabels.en,
14
+ version: "1.2.3",
15
+ legal: /* @__PURE__ */ jsx(SiteFooter.Link, { href: "#privacy", children: "Privacy" }),
16
+ children: [
17
+ /* @__PURE__ */ jsxs(SiteFooter.Column, { title: "Guides", children: [
18
+ /* @__PURE__ */ jsx(SiteFooter.Link, { href: "#start", children: "Get started" }),
19
+ /* @__PURE__ */ jsx(SiteFooter.Link, { href: "#tokens", children: "Tokens" })
20
+ ] }),
21
+ /* @__PURE__ */ jsxs(SiteFooter.Column, { title: "Project", children: [
22
+ /* @__PURE__ */ jsx(SiteFooter.Link, { href: "#changelog", children: "Changelog" }),
23
+ /* @__PURE__ */ jsx(SiteFooter.Link, { href: "#source", children: "Source" })
24
+ ] })
25
+ ]
26
+ }
27
+ );
28
+ }
29
+ export {
30
+ SiteFooterDocs as default
31
+ };