@krizaka/ui 2.2.0 → 2.4.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 (498) hide show
  1. package/README.md +33 -8
  2. package/dist/audio-player.d.ts +113 -0
  3. package/dist/audio-player.js +207 -0
  4. package/dist/audio-player.js.map +1 -0
  5. package/dist/{button-Cgfkg_3y.d.ts → button-BMAO7dKF.d.ts} +29 -2
  6. package/dist/button.d.ts +32 -5
  7. package/dist/button.js +62 -9
  8. package/dist/button.js.map +1 -1
  9. package/dist/chip-link.d.ts +53 -0
  10. package/dist/chip-link.js +32 -0
  11. package/dist/chip-link.js.map +1 -0
  12. package/dist/chunk-2USC2YT6.js +17 -0
  13. package/dist/chunk-2USC2YT6.js.map +1 -0
  14. package/dist/chunk-43PTCDTL.js +31 -0
  15. package/dist/chunk-43PTCDTL.js.map +1 -0
  16. package/dist/chunk-6ISW63JI.js +11 -0
  17. package/dist/chunk-6ISW63JI.js.map +1 -0
  18. package/dist/chunk-EUPTXKH7.js +95 -0
  19. package/dist/chunk-EUPTXKH7.js.map +1 -0
  20. package/dist/chunk-HAQWKORZ.js +117 -0
  21. package/dist/chunk-HAQWKORZ.js.map +1 -0
  22. package/dist/{chunk-FHYZSO2S.js → chunk-R6SDS7JM.js} +5 -3
  23. package/dist/chunk-R6SDS7JM.js.map +1 -0
  24. package/dist/chunk-RUPNPMP3.js +103 -0
  25. package/dist/chunk-RUPNPMP3.js.map +1 -0
  26. package/dist/chunk-RUPRYJ45.js +82 -0
  27. package/dist/chunk-RUPRYJ45.js.map +1 -0
  28. package/dist/chunk-VDR2EP6K.js +49 -0
  29. package/dist/chunk-VDR2EP6K.js.map +1 -0
  30. package/dist/chunk-WEVYKZIF.js +33 -0
  31. package/dist/chunk-WEVYKZIF.js.map +1 -0
  32. package/dist/chunk-XUMJA5ZI.js +283 -0
  33. package/dist/chunk-XUMJA5ZI.js.map +1 -0
  34. package/dist/chunk-YH4LMWRU.js +92 -0
  35. package/dist/chunk-YH4LMWRU.js.map +1 -0
  36. package/dist/chunk-YX6CNVJA.js +94 -0
  37. package/dist/chunk-YX6CNVJA.js.map +1 -0
  38. package/dist/chunk-ZIXB33X7.js +95 -0
  39. package/dist/chunk-ZIXB33X7.js.map +1 -0
  40. package/dist/combobox.d.ts +188 -0
  41. package/dist/combobox.js +16 -0
  42. package/dist/combobox.js.map +1 -0
  43. package/dist/command.d.ts +7 -7
  44. package/dist/command.js +3 -2
  45. package/dist/command.js.map +1 -1
  46. package/dist/confirm-button.d.ts +1 -1
  47. package/dist/confirm-button.js +2 -1
  48. package/dist/confirm-button.js.map +1 -1
  49. package/dist/data-table.d.ts +246 -0
  50. package/dist/data-table.js +290 -0
  51. package/dist/data-table.js.map +1 -0
  52. package/dist/date-picker.d.ts +288 -0
  53. package/dist/date-picker.js +364 -0
  54. package/dist/date-picker.js.map +1 -0
  55. package/dist/{dialog-GQ4Nvuyf.d.ts → dialog-D42QwYb_.d.ts} +11 -1
  56. package/dist/dialog.d.ts +1 -1
  57. package/dist/dialog.js +3 -2
  58. package/dist/dialog.js.map +1 -1
  59. package/dist/file-upload.d.ts +238 -0
  60. package/dist/file-upload.js +437 -0
  61. package/dist/file-upload.js.map +1 -0
  62. package/dist/filter-bar.d.ts +139 -0
  63. package/dist/filter-bar.js +155 -0
  64. package/dist/filter-bar.js.map +1 -0
  65. package/dist/glow-card.d.ts +20 -0
  66. package/dist/glow-card.js +30 -0
  67. package/dist/glow-card.js.map +1 -0
  68. package/dist/image-cropper.d.ts +115 -0
  69. package/dist/image-cropper.js +166 -0
  70. package/dist/image-cropper.js.map +1 -0
  71. package/dist/index.d.ts +2 -20
  72. package/dist/index.js +7 -64
  73. package/dist/index.js.map +1 -1
  74. package/dist/iso.d.ts +400 -0
  75. package/dist/iso.js +363 -0
  76. package/dist/iso.js.map +1 -0
  77. package/dist/loader.d.ts +206 -0
  78. package/dist/loader.js +138 -0
  79. package/dist/loader.js.map +1 -0
  80. package/dist/marquee.d.ts +33 -0
  81. package/dist/marquee.js +52 -0
  82. package/dist/marquee.js.map +1 -0
  83. package/dist/media-capture.d.ts +155 -0
  84. package/dist/media-capture.js +242 -0
  85. package/dist/media-capture.js.map +1 -0
  86. package/dist/meter.d.ts +146 -0
  87. package/dist/meter.js +107 -0
  88. package/dist/meter.js.map +1 -0
  89. package/dist/motion.css +394 -3
  90. package/dist/motion.d.ts +46 -0
  91. package/dist/motion.js +10 -0
  92. package/dist/motion.js.map +1 -0
  93. package/dist/native/media-capture.d.ts +49 -0
  94. package/dist/native/media-capture.js +113 -0
  95. package/dist/native/media-capture.js.map +1 -0
  96. package/dist/native/video-player.d.ts +50 -0
  97. package/dist/native/video-player.js +69 -0
  98. package/dist/native/video-player.js.map +1 -0
  99. package/dist/native.d.ts +66 -2
  100. package/dist/native.js +166 -68
  101. package/dist/native.js.map +1 -1
  102. package/dist/nav-bar.d.ts +178 -0
  103. package/dist/nav-bar.js +157 -0
  104. package/dist/nav-bar.js.map +1 -0
  105. package/dist/number-ticker.d.ts +32 -0
  106. package/dist/number-ticker.js +61 -0
  107. package/dist/number-ticker.js.map +1 -0
  108. package/dist/pagination.d.ts +141 -0
  109. package/dist/pagination.js +165 -0
  110. package/dist/pagination.js.map +1 -0
  111. package/dist/progress.d.ts +56 -1
  112. package/dist/progress.js +72 -25
  113. package/dist/progress.js.map +1 -1
  114. package/dist/search-field.d.ts +100 -0
  115. package/dist/search-field.js +167 -0
  116. package/dist/search-field.js.map +1 -0
  117. package/dist/skeleton.d.ts +18 -3
  118. package/dist/skeleton.js +9 -1
  119. package/dist/skeleton.js.map +1 -1
  120. package/dist/spinner.d.ts +21 -5
  121. package/dist/spinner.js +13 -12
  122. package/dist/spinner.js.map +1 -1
  123. package/dist/stepper.d.ts +112 -0
  124. package/dist/stepper.js +67 -0
  125. package/dist/stepper.js.map +1 -0
  126. package/dist/tabs.d.ts +1 -1
  127. package/dist/tabs.js +14 -8
  128. package/dist/tabs.js.map +1 -1
  129. package/dist/tag-input.d.ts +44 -0
  130. package/dist/tag-input.js +67 -0
  131. package/dist/tag-input.js.map +1 -0
  132. package/dist/theme.d.ts +1 -1
  133. package/dist/theme.js +2 -1
  134. package/dist/theme.js.map +1 -1
  135. package/dist/toast.d.ts +39 -4
  136. package/dist/toast.js +81 -7
  137. package/dist/toast.js.map +1 -1
  138. package/dist/video-player.d.ts +204 -0
  139. package/dist/video-player.js +371 -0
  140. package/dist/video-player.js.map +1 -0
  141. package/dist/video-trimmer.d.ts +142 -0
  142. package/dist/video-trimmer.js +193 -0
  143. package/dist/video-trimmer.js.map +1 -0
  144. package/package.json +375 -7
  145. package/registry/alert.json +1 -1
  146. package/registry/audio-player.json +282 -0
  147. package/registry/avatar.json +1 -1
  148. package/registry/badge.json +1 -1
  149. package/registry/button.json +232 -26
  150. package/registry/card.json +1 -1
  151. package/registry/checkbox.json +1 -1
  152. package/registry/chip-link.json +158 -0
  153. package/registry/chip.json +1 -1
  154. package/registry/combobox.json +475 -0
  155. package/registry/command.json +1 -1
  156. package/registry/confirm-button.json +91 -7
  157. package/registry/countdown.json +1 -1
  158. package/registry/data-table.json +500 -0
  159. package/registry/date-picker.json +978 -0
  160. package/registry/dialog.json +15 -7
  161. package/registry/dropdown-menu.json +1 -1
  162. package/registry/empty-state.json +1 -1
  163. package/registry/examples/audio-player/podcast.js +22 -0
  164. package/registry/examples/audio-player/podcast.tsx +19 -0
  165. package/registry/examples/audio-player/voice-note.d.ts +4 -0
  166. package/registry/examples/audio-player/voice-note.js +12 -0
  167. package/registry/examples/audio-player/voice-note.tsx +12 -0
  168. package/registry/examples/button/error.d.ts +4 -0
  169. package/registry/examples/button/error.js +11 -0
  170. package/registry/examples/button/error.tsx +10 -0
  171. package/registry/examples/button/loading.tsx +1 -1
  172. package/registry/examples/button/save-flow.d.ts +4 -0
  173. package/registry/examples/button/save-flow.js +28 -0
  174. package/registry/examples/button/save-flow.tsx +24 -0
  175. package/registry/examples/button/signature.d.ts +4 -0
  176. package/registry/examples/button/signature.js +17 -0
  177. package/registry/examples/button/signature.tsx +19 -0
  178. package/registry/examples/button/upload-progress.d.ts +4 -0
  179. package/registry/examples/button/upload-progress.js +23 -0
  180. package/registry/examples/button/upload-progress.tsx +26 -0
  181. package/registry/examples/chip-link/filters.d.ts +4 -0
  182. package/registry/examples/chip-link/filters.js +12 -0
  183. package/registry/examples/chip-link/filters.tsx +17 -0
  184. package/registry/examples/combobox/async.d.ts +4 -0
  185. package/registry/examples/combobox/async.js +23 -0
  186. package/registry/examples/combobox/async.tsx +22 -0
  187. package/registry/examples/combobox/creatable.d.ts +4 -0
  188. package/registry/examples/combobox/creatable.js +32 -0
  189. package/registry/examples/combobox/creatable.tsx +28 -0
  190. package/registry/examples/combobox/invalid.d.ts +4 -0
  191. package/registry/examples/combobox/invalid.js +23 -0
  192. package/registry/examples/combobox/invalid.tsx +17 -0
  193. package/registry/examples/combobox/multiple.d.ts +4 -0
  194. package/registry/examples/combobox/multiple.js +29 -0
  195. package/registry/examples/combobox/multiple.tsx +26 -0
  196. package/registry/examples/data-table/cards.d.ts +4 -0
  197. package/registry/examples/data-table/cards.js +21 -0
  198. package/registry/examples/data-table/cards.tsx +20 -0
  199. package/registry/examples/data-table/empty.d.ts +4 -0
  200. package/registry/examples/data-table/empty.js +26 -0
  201. package/registry/examples/data-table/empty.tsx +21 -0
  202. package/registry/examples/data-table/error.d.ts +4 -0
  203. package/registry/examples/data-table/error.js +28 -0
  204. package/registry/examples/data-table/error.tsx +29 -0
  205. package/registry/examples/data-table/jobs.d.ts +4 -0
  206. package/registry/examples/data-table/jobs.js +37 -0
  207. package/registry/examples/data-table/jobs.tsx +36 -0
  208. package/registry/examples/data-table/loading.d.ts +4 -0
  209. package/registry/examples/data-table/loading.js +16 -0
  210. package/registry/examples/data-table/loading.tsx +12 -0
  211. package/registry/examples/data-table/virtualized.d.ts +4 -0
  212. package/registry/examples/data-table/virtualized.js +21 -0
  213. package/registry/examples/data-table/virtualized.tsx +20 -0
  214. package/registry/examples/date-picker/calendar.d.ts +4 -0
  215. package/registry/examples/date-picker/calendar.js +14 -0
  216. package/registry/examples/date-picker/calendar.tsx +16 -0
  217. package/registry/examples/date-picker/french.d.ts +4 -0
  218. package/registry/examples/date-picker/french.js +20 -0
  219. package/registry/examples/date-picker/french.tsx +14 -0
  220. package/registry/examples/date-picker/open.d.ts +4 -0
  221. package/registry/examples/date-picker/open.js +11 -0
  222. package/registry/examples/date-picker/open.tsx +8 -0
  223. package/registry/examples/date-picker/range.d.ts +4 -0
  224. package/registry/examples/date-picker/range.js +29 -0
  225. package/registry/examples/date-picker/range.tsx +25 -0
  226. package/registry/examples/date-picker/schedule.d.ts +4 -0
  227. package/registry/examples/date-picker/schedule.js +26 -0
  228. package/registry/examples/date-picker/schedule.tsx +22 -0
  229. package/registry/examples/dialog/left.d.ts +4 -0
  230. package/registry/examples/dialog/left.js +22 -0
  231. package/registry/examples/dialog/left.tsx +32 -0
  232. package/registry/examples/file-upload/images.d.ts +4 -0
  233. package/registry/examples/file-upload/images.js +32 -0
  234. package/registry/examples/file-upload/images.tsx +25 -0
  235. package/registry/examples/file-upload/states.d.ts +4 -0
  236. package/registry/examples/file-upload/states.js +28 -0
  237. package/registry/examples/file-upload/states.tsx +23 -0
  238. package/registry/examples/file-upload/tus.d.ts +4 -0
  239. package/registry/examples/file-upload/tus.js +23 -0
  240. package/registry/examples/file-upload/tus.tsx +26 -0
  241. package/registry/examples/file-upload/video.d.ts +4 -0
  242. package/registry/examples/file-upload/video.js +39 -0
  243. package/registry/examples/file-upload/video.tsx +36 -0
  244. package/registry/examples/filter-bar/address.d.ts +4 -0
  245. package/registry/examples/filter-bar/address.js +29 -0
  246. package/registry/examples/filter-bar/address.tsx +27 -0
  247. package/registry/examples/filter-bar/jobs.d.ts +4 -0
  248. package/registry/examples/filter-bar/jobs.js +37 -0
  249. package/registry/examples/filter-bar/jobs.tsx +37 -0
  250. package/registry/examples/filter-bar/menu.d.ts +4 -0
  251. package/registry/examples/filter-bar/menu.js +27 -0
  252. package/registry/examples/filter-bar/menu.tsx +23 -0
  253. package/registry/examples/glow-card/link-card.d.ts +4 -0
  254. package/registry/examples/glow-card/link-card.js +14 -0
  255. package/registry/examples/glow-card/link-card.tsx +13 -0
  256. package/registry/examples/glow-card/plans.d.ts +4 -0
  257. package/registry/examples/glow-card/plans.js +25 -0
  258. package/registry/examples/glow-card/plans.tsx +26 -0
  259. package/registry/examples/glow-card/spotlight.d.ts +4 -0
  260. package/registry/examples/glow-card/spotlight.js +14 -0
  261. package/registry/examples/glow-card/spotlight.tsx +15 -0
  262. package/registry/examples/image-cropper/avatar.d.ts +4 -0
  263. package/registry/examples/image-cropper/avatar.js +13 -0
  264. package/registry/examples/image-cropper/avatar.tsx +14 -0
  265. package/registry/examples/image-cropper/banner.d.ts +4 -0
  266. package/registry/examples/image-cropper/banner.js +11 -0
  267. package/registry/examples/image-cropper/banner.tsx +10 -0
  268. package/registry/examples/image-cropper/vertical-video.d.ts +4 -0
  269. package/registry/examples/image-cropper/vertical-video.js +12 -0
  270. package/registry/examples/image-cropper/vertical-video.tsx +16 -0
  271. package/registry/examples/iso/compose.d.ts +4 -0
  272. package/registry/examples/iso/compose.js +22 -0
  273. package/registry/examples/iso/compose.tsx +19 -0
  274. package/registry/examples/iso/orazaka-hero.d.ts +4 -0
  275. package/registry/examples/iso/orazaka-hero.js +26 -0
  276. package/registry/examples/iso/orazaka-hero.tsx +21 -0
  277. package/registry/examples/iso/orochia-hero.d.ts +4 -0
  278. package/registry/examples/iso/orochia-hero.js +29 -0
  279. package/registry/examples/iso/orochia-hero.tsx +23 -0
  280. package/registry/examples/iso/still.d.ts +4 -0
  281. package/registry/examples/iso/still.js +21 -0
  282. package/registry/examples/iso/still.tsx +15 -0
  283. package/registry/examples/loader/endings.d.ts +4 -0
  284. package/registry/examples/loader/endings.js +14 -0
  285. package/registry/examples/loader/endings.tsx +11 -0
  286. package/registry/examples/loader/fetch-flow.d.ts +4 -0
  287. package/registry/examples/loader/fetch-flow.js +24 -0
  288. package/registry/examples/loader/fetch-flow.tsx +24 -0
  289. package/registry/examples/loader/minimal.d.ts +4 -0
  290. package/registry/examples/loader/minimal.js +11 -0
  291. package/registry/examples/loader/minimal.tsx +6 -0
  292. package/registry/examples/loader/overlay.d.ts +4 -0
  293. package/registry/examples/loader/overlay.js +16 -0
  294. package/registry/examples/loader/overlay.tsx +13 -0
  295. package/registry/examples/loader/region-handover.d.ts +4 -0
  296. package/registry/examples/loader/region-handover.js +42 -0
  297. package/registry/examples/loader/region-handover.tsx +29 -0
  298. package/registry/examples/loader/upload-eta.d.ts +4 -0
  299. package/registry/examples/loader/upload-eta.js +11 -0
  300. package/registry/examples/loader/upload-eta.tsx +10 -0
  301. package/registry/examples/marquee/cards.d.ts +4 -0
  302. package/registry/examples/marquee/cards.js +23 -0
  303. package/registry/examples/marquee/cards.tsx +21 -0
  304. package/registry/examples/marquee/logos.d.ts +4 -0
  305. package/registry/examples/marquee/logos.js +12 -0
  306. package/registry/examples/marquee/logos.tsx +17 -0
  307. package/registry/examples/media-capture/clip.d.ts +4 -0
  308. package/registry/examples/media-capture/clip.js +20 -0
  309. package/registry/examples/media-capture/clip.tsx +18 -0
  310. package/registry/examples/media-capture/native/photo.d.ts +4 -0
  311. package/registry/examples/media-capture/native/photo.dark.png +0 -0
  312. package/registry/examples/media-capture/native/photo.js +27 -0
  313. package/registry/examples/media-capture/native/photo.light.png +0 -0
  314. package/registry/examples/media-capture/native/photo.tsx +20 -0
  315. package/registry/examples/media-capture/profile-photo.d.ts +4 -0
  316. package/registry/examples/media-capture/profile-photo.js +24 -0
  317. package/registry/examples/media-capture/profile-photo.tsx +20 -0
  318. package/registry/examples/meter/balance.d.ts +4 -0
  319. package/registry/examples/meter/balance.js +14 -0
  320. package/registry/examples/meter/balance.tsx +15 -0
  321. package/registry/examples/meter/quota.d.ts +4 -0
  322. package/registry/examples/meter/quota.js +15 -0
  323. package/registry/examples/meter/quota.tsx +12 -0
  324. package/registry/examples/meter/split.d.ts +4 -0
  325. package/registry/examples/meter/split.js +18 -0
  326. package/registry/examples/meter/split.tsx +18 -0
  327. package/registry/examples/nav-bar/app-bar.d.ts +4 -0
  328. package/registry/examples/nav-bar/app-bar.js +22 -0
  329. package/registry/examples/nav-bar/app-bar.tsx +21 -0
  330. package/registry/examples/nav-bar/menu-open.d.ts +4 -0
  331. package/registry/examples/nav-bar/menu-open.js +26 -0
  332. package/registry/examples/nav-bar/menu-open.tsx +26 -0
  333. package/registry/examples/nav-bar/site.d.ts +4 -0
  334. package/registry/examples/nav-bar/site.js +31 -0
  335. package/registry/examples/nav-bar/site.tsx +36 -0
  336. package/registry/examples/number-ticker/gradient.d.ts +4 -0
  337. package/registry/examples/number-ticker/gradient.js +11 -0
  338. package/registry/examples/number-ticker/gradient.tsx +10 -0
  339. package/registry/examples/number-ticker/live-total.d.ts +4 -0
  340. package/registry/examples/number-ticker/live-total.js +17 -0
  341. package/registry/examples/number-ticker/live-total.tsx +21 -0
  342. package/registry/examples/number-ticker/stats.d.ts +4 -0
  343. package/registry/examples/number-ticker/stats.js +19 -0
  344. package/registry/examples/number-ticker/stats.tsx +23 -0
  345. package/registry/examples/pagination/cursor.d.ts +4 -0
  346. package/registry/examples/pagination/cursor.js +24 -0
  347. package/registry/examples/pagination/cursor.tsx +20 -0
  348. package/registry/examples/pagination/links.d.ts +4 -0
  349. package/registry/examples/pagination/links.js +11 -0
  350. package/registry/examples/pagination/links.tsx +6 -0
  351. package/registry/examples/pagination/native/cursor.d.ts +4 -0
  352. package/registry/examples/pagination/native/cursor.dark.png +0 -0
  353. package/registry/examples/pagination/native/cursor.js +19 -0
  354. package/registry/examples/pagination/native/cursor.light.png +0 -0
  355. package/registry/examples/pagination/native/cursor.tsx +13 -0
  356. package/registry/examples/pagination/native/pages.d.ts +4 -0
  357. package/registry/examples/pagination/native/pages.dark.png +0 -0
  358. package/registry/examples/pagination/native/pages.js +21 -0
  359. package/registry/examples/pagination/native/pages.light.png +0 -0
  360. package/registry/examples/pagination/native/pages.tsx +14 -0
  361. package/registry/examples/pagination/results.d.ts +4 -0
  362. package/registry/examples/pagination/results.js +23 -0
  363. package/registry/examples/pagination/results.tsx +19 -0
  364. package/registry/examples/pagination/table-footer.d.ts +4 -0
  365. package/registry/examples/pagination/table-footer.js +31 -0
  366. package/registry/examples/pagination/table-footer.tsx +27 -0
  367. package/registry/examples/progress/buffer.d.ts +4 -0
  368. package/registry/examples/progress/buffer.js +11 -0
  369. package/registry/examples/progress/buffer.tsx +10 -0
  370. package/registry/examples/progress/statuses.d.ts +4 -0
  371. package/registry/examples/progress/statuses.js +14 -0
  372. package/registry/examples/progress/statuses.tsx +11 -0
  373. package/registry/examples/progress/steps.d.ts +4 -0
  374. package/registry/examples/progress/steps.js +14 -0
  375. package/registry/examples/progress/steps.tsx +13 -0
  376. package/registry/examples/progress/upload.d.ts +4 -0
  377. package/registry/examples/progress/upload.js +11 -0
  378. package/registry/examples/progress/upload.tsx +10 -0
  379. package/registry/examples/search-field/global.d.ts +4 -0
  380. package/registry/examples/search-field/global.js +19 -0
  381. package/registry/examples/search-field/global.tsx +15 -0
  382. package/registry/examples/search-field/native/default.d.ts +4 -0
  383. package/registry/examples/search-field/native/default.dark.png +0 -0
  384. package/registry/examples/search-field/native/default.js +13 -0
  385. package/registry/examples/search-field/native/default.light.png +0 -0
  386. package/registry/examples/search-field/native/default.tsx +7 -0
  387. package/registry/examples/search-field/suggestions.d.ts +4 -0
  388. package/registry/examples/search-field/suggestions.js +30 -0
  389. package/registry/examples/search-field/suggestions.tsx +27 -0
  390. package/registry/examples/search-field/toolbar.d.ts +4 -0
  391. package/registry/examples/search-field/toolbar.js +17 -0
  392. package/registry/examples/search-field/toolbar.tsx +21 -0
  393. package/registry/examples/skeleton/paragraph.d.ts +4 -0
  394. package/registry/examples/skeleton/paragraph.js +14 -0
  395. package/registry/examples/skeleton/paragraph.tsx +12 -0
  396. package/registry/examples/skeleton/shape-of-content.d.ts +4 -0
  397. package/registry/examples/skeleton/shape-of-content.js +23 -0
  398. package/registry/examples/skeleton/shape-of-content.tsx +26 -0
  399. package/registry/examples/spinner/default.js +5 -2
  400. package/registry/examples/spinner/default.tsx +7 -1
  401. package/registry/examples/spinner/sizes.js +2 -1
  402. package/registry/examples/spinner/sizes.tsx +2 -0
  403. package/registry/examples/spinner/value.d.ts +4 -0
  404. package/registry/examples/spinner/value.js +11 -0
  405. package/registry/examples/spinner/value.tsx +12 -0
  406. package/registry/examples/stepper/checkout.d.ts +4 -0
  407. package/registry/examples/stepper/checkout.js +22 -0
  408. package/registry/examples/stepper/checkout.tsx +17 -0
  409. package/registry/examples/stepper/failed.d.ts +4 -0
  410. package/registry/examples/stepper/failed.js +26 -0
  411. package/registry/examples/stepper/failed.tsx +21 -0
  412. package/registry/examples/stepper/job.d.ts +4 -0
  413. package/registry/examples/stepper/job.js +32 -0
  414. package/registry/examples/stepper/job.tsx +28 -0
  415. package/registry/examples/tag-input/recipients.d.ts +4 -0
  416. package/registry/examples/tag-input/recipients.js +23 -0
  417. package/registry/examples/tag-input/recipients.tsx +20 -0
  418. package/registry/examples/tag-input/video-tags.d.ts +4 -0
  419. package/registry/examples/tag-input/video-tags.js +26 -0
  420. package/registry/examples/tag-input/video-tags.tsx +22 -0
  421. package/registry/examples/toast/grouped.d.ts +4 -0
  422. package/registry/examples/toast/grouped.js +21 -0
  423. package/registry/examples/toast/grouped.tsx +23 -0
  424. package/registry/examples/toast/undo.d.ts +4 -0
  425. package/registry/examples/toast/undo.js +29 -0
  426. package/registry/examples/toast/undo.tsx +30 -0
  427. package/registry/examples/toast/upload-progress.d.ts +4 -0
  428. package/registry/examples/toast/upload-progress.js +29 -0
  429. package/registry/examples/toast/upload-progress.tsx +31 -0
  430. package/registry/examples/video-player/default.d.ts +4 -0
  431. package/registry/examples/video-player/default.js +12 -0
  432. package/registry/examples/video-player/default.tsx +8 -0
  433. package/registry/examples/video-player/gated.d.ts +4 -0
  434. package/registry/examples/video-player/gated.js +26 -0
  435. package/registry/examples/video-player/gated.tsx +23 -0
  436. package/registry/examples/video-player/native/default.d.ts +4 -0
  437. package/registry/examples/video-player/native/default.dark.png +0 -0
  438. package/registry/examples/video-player/native/default.js +18 -0
  439. package/registry/examples/video-player/native/default.light.png +0 -0
  440. package/registry/examples/video-player/native/default.tsx +12 -0
  441. package/registry/examples/video-player/signed-source.d.ts +4 -0
  442. package/registry/examples/video-player/signed-source.js +16 -0
  443. package/registry/examples/video-player/signed-source.tsx +15 -0
  444. package/registry/examples/video-player/vertical.d.ts +4 -0
  445. package/registry/examples/video-player/vertical.js +12 -0
  446. package/registry/examples/video-player/vertical.tsx +12 -0
  447. package/registry/examples/video-trimmer/custom.d.ts +4 -0
  448. package/registry/examples/video-trimmer/custom.js +24 -0
  449. package/registry/examples/video-trimmer/custom.tsx +26 -0
  450. package/registry/examples/video-trimmer/filmstrip.d.ts +4 -0
  451. package/registry/examples/video-trimmer/filmstrip.js +15 -0
  452. package/registry/examples/video-trimmer/filmstrip.tsx +13 -0
  453. package/registry/examples/video-trimmer/playhead.d.ts +4 -0
  454. package/registry/examples/video-trimmer/playhead.js +15 -0
  455. package/registry/examples/video-trimmer/playhead.tsx +13 -0
  456. package/registry/field.json +1 -1
  457. package/registry/file-upload.json +471 -0
  458. package/registry/filter-bar.json +347 -0
  459. package/registry/glow-card.json +162 -0
  460. package/registry/image-cropper.json +313 -0
  461. package/registry/index.json +445 -20
  462. package/registry/iso.json +1355 -0
  463. package/registry/kbd.json +1 -1
  464. package/registry/loader.json +399 -0
  465. package/registry/marquee.json +225 -0
  466. package/registry/mascots.json +3 -3
  467. package/registry/media-capture.json +347 -0
  468. package/registry/meter.json +324 -0
  469. package/registry/nav-bar.json +480 -0
  470. package/registry/number-ticker.json +219 -0
  471. package/registry/page-header.json +1 -1
  472. package/registry/pagination.json +475 -0
  473. package/registry/popover.json +1 -1
  474. package/registry/progress.json +114 -9
  475. package/registry/radio-group.json +1 -1
  476. package/registry/search-field.json +436 -0
  477. package/registry/section-backdrop.json +1 -1
  478. package/registry/separator.json +1 -1
  479. package/registry/skeleton.json +69 -13
  480. package/registry/slider.json +1 -1
  481. package/registry/slot.json +1 -1
  482. package/registry/spinner.json +91 -27
  483. package/registry/stat.json +1 -1
  484. package/registry/stepper.json +174 -0
  485. package/registry/switch.json +1 -1
  486. package/registry/tabs.json +11 -7
  487. package/registry/tag-input.json +363 -0
  488. package/registry/theme.json +3 -3
  489. package/registry/toast.json +41 -13
  490. package/registry/tooltip.json +1 -1
  491. package/registry/video-player.json +598 -0
  492. package/registry/video-trimmer.json +385 -0
  493. package/dist/chunk-FHYZSO2S.js.map +0 -1
  494. package/dist/chunk-PESA2R4U.js +0 -51
  495. package/dist/chunk-PESA2R4U.js.map +0 -1
  496. package/registry/examples/spinner/muted.js +0 -11
  497. package/registry/examples/spinner/muted.tsx +0 -6
  498. /package/registry/examples/{spinner/muted.d.ts → audio-player/podcast.d.ts} +0 -0
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,14 @@
1
+ "use client";
2
+
3
+ // registry/examples/glow-card/link-card.tsx
4
+ import { GlowCard } from "@krizaka/ui/glow-card";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ function GlowCardLink() {
7
+ return /* @__PURE__ */ jsx(GlowCard, { asChild: true, glow: "border", className: "block max-w-sm no-underline focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring", children: /* @__PURE__ */ jsxs("a", { href: "#docs", children: [
8
+ /* @__PURE__ */ jsx("span", { className: "block font-display text-lg font-semibold text-fg", children: "Read the documentation" }),
9
+ /* @__PURE__ */ jsx("span", { className: "mt-1 block text-sm text-fg-secondary", children: "Every component, its examples and its props \u2014 generated from the code." })
10
+ ] }) });
11
+ }
12
+ export {
13
+ GlowCardLink as default
14
+ };
@@ -0,0 +1,13 @@
1
+ import { GlowCard } from "@krizaka/ui/glow-card";
2
+
3
+ // `asChild`: the card is the link. The focus lights the ring as the pointer does — keyboard readers get the same answer.
4
+ export default function GlowCardLink() {
5
+ return (
6
+ <GlowCard asChild glow="border" className="block max-w-sm no-underline focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring">
7
+ <a href="#docs">
8
+ <span className="block font-display text-lg font-semibold text-fg">Read the documentation</span>
9
+ <span className="mt-1 block text-sm text-fg-secondary">Every component, its examples and its props — generated from the code.</span>
10
+ </a>
11
+ </GlowCard>
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,25 @@
1
+ "use client";
2
+
3
+ // registry/examples/glow-card/plans.tsx
4
+ import { Button } from "@krizaka/ui/button";
5
+ import { GlowCard } from "@krizaka/ui/glow-card";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ var plans = [
8
+ { name: "Community", price: "Free", line: "Self-hosted, every feature." },
9
+ { name: "Team", price: "\u20AC19", line: "Shared workspaces and roles.", featured: true },
10
+ { name: "Sovereign", price: "Custom", line: "Your servers, our support." }
11
+ ];
12
+ function GlowCardPlans() {
13
+ return /* @__PURE__ */ jsx("div", { className: "grid w-full max-w-3xl gap-4 sm:grid-cols-3", children: plans.map((p) => /* @__PURE__ */ jsxs(GlowCard, { alive: p.featured, className: "flex flex-col gap-3", children: [
14
+ /* @__PURE__ */ jsx("h3", { className: "font-display text-lg font-semibold text-fg", children: p.name }),
15
+ /* @__PURE__ */ jsx("p", { className: "font-display text-3xl font-bold text-fg", children: p.price }),
16
+ /* @__PURE__ */ jsx("p", { className: "text-sm text-fg-secondary", children: p.line }),
17
+ /* @__PURE__ */ jsxs(Button, { variant: p.featured ? "gradient" : "outline", size: "sm", className: "mt-auto", children: [
18
+ "Choose ",
19
+ p.name
20
+ ] })
21
+ ] }, p.name)) });
22
+ }
23
+ export {
24
+ GlowCardPlans as default
25
+ };
@@ -0,0 +1,26 @@
1
+ import { Button } from "@krizaka/ui/button";
2
+ import { GlowCard } from "@krizaka/ui/glow-card";
3
+
4
+ const plans = [
5
+ { name: "Community", price: "Free", line: "Self-hosted, every feature." },
6
+ { name: "Team", price: "€19", line: "Shared workspaces and roles.", featured: true },
7
+ { name: "Sovereign", price: "Custom", line: "Your servers, our support." },
8
+ ];
9
+
10
+ // Plans: move the pointer across them — the light follows, the ring brightens. The featured plan's ring turns at rest.
11
+ export default function GlowCardPlans() {
12
+ return (
13
+ <div className="grid w-full max-w-3xl gap-4 sm:grid-cols-3">
14
+ {plans.map((p) => (
15
+ <GlowCard key={p.name} alive={p.featured} className="flex flex-col gap-3">
16
+ <h3 className="font-display text-lg font-semibold text-fg">{p.name}</h3>
17
+ <p className="font-display text-3xl font-bold text-fg">{p.price}</p>
18
+ <p className="text-sm text-fg-secondary">{p.line}</p>
19
+ <Button variant={p.featured ? "gradient" : "outline"} size="sm" className="mt-auto">
20
+ Choose {p.name}
21
+ </Button>
22
+ </GlowCard>
23
+ ))}
24
+ </div>
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,14 @@
1
+ "use client";
2
+
3
+ // registry/examples/glow-card/spotlight.tsx
4
+ import { GlowCard } from "@krizaka/ui/glow-card";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ function GlowCardSpotlight() {
7
+ return /* @__PURE__ */ jsx("div", { className: "grid w-full max-w-lg grid-cols-2 gap-3", children: ["Tips", "Unlocks", "Auctions", "Challenges"].map((name) => /* @__PURE__ */ jsxs(GlowCard, { glow: "spotlight", className: "p-4", children: [
8
+ /* @__PURE__ */ jsx("p", { className: "font-semibold text-fg", children: name }),
9
+ /* @__PURE__ */ jsx("p", { className: "text-xs text-fg-secondary", children: "90 % to the creator" })
10
+ ] }, name)) });
11
+ }
12
+ export {
13
+ GlowCardSpotlight as default
14
+ };
@@ -0,0 +1,15 @@
1
+ import { GlowCard } from "@krizaka/ui/glow-card";
2
+
3
+ // `glow="spotlight"`: only the bloom under the pointer, for a dense grid where rings would be too much.
4
+ export default function GlowCardSpotlight() {
5
+ return (
6
+ <div className="grid w-full max-w-lg grid-cols-2 gap-3">
7
+ {["Tips", "Unlocks", "Auctions", "Challenges"].map((name) => (
8
+ <GlowCard key={name} glow="spotlight" className="p-4">
9
+ <p className="font-semibold text-fg">{name}</p>
10
+ <p className="text-xs text-fg-secondary">90 % to the creator</p>
11
+ </GlowCard>
12
+ ))}
13
+ </div>
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,13 @@
1
+ "use client";
2
+
3
+ // registry/examples/image-cropper/avatar.tsx
4
+ import { ImageCropper } from "@krizaka/ui/image-cropper";
5
+ import * as React from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function ImageCropperAvatar() {
8
+ const [crop, setCrop] = React.useState({ x: 0.42, y: 0.5, zoom: 1.4 });
9
+ return /* @__PURE__ */ jsx("div", { className: "w-64", children: /* @__PURE__ */ jsx(ImageCropper, { src: "https://www.krizaka.com/assets/orochia/tour/elena-live.jpg", aspect: 1, round: true, value: crop, onValueChange: setCrop }) });
10
+ }
11
+ export {
12
+ ImageCropperAvatar as default
13
+ };
@@ -0,0 +1,14 @@
1
+ "use client";
2
+
3
+ import { type CropValue, ImageCropper } from "@krizaka/ui/image-cropper";
4
+ import * as React from "react";
5
+
6
+ // A round mask on a square frame: what others will see. Send the focus point and the zoom with the file.
7
+ export default function ImageCropperAvatar() {
8
+ const [crop, setCrop] = React.useState<CropValue>({ x: 0.42, y: 0.5, zoom: 1.4 });
9
+ return (
10
+ <div className="w-64">
11
+ <ImageCropper src="https://www.krizaka.com/assets/orochia/tour/elena-live.jpg" aspect={1} round value={crop} onValueChange={setCrop} />
12
+ </div>
13
+ );
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,11 @@
1
+ "use client";
2
+
3
+ // registry/examples/image-cropper/banner.tsx
4
+ import { ImageCropper } from "@krizaka/ui/image-cropper";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function ImageCropperBanner() {
7
+ return /* @__PURE__ */ jsx("div", { className: "w-full max-w-lg", children: /* @__PURE__ */ jsx(ImageCropper, { src: "https://www.krizaka.com/assets/orochia/tour/alex-discover.jpg", aspect: 3, defaultValue: { x: 0.5, y: 0.45, zoom: 1.2 }, labels: { frame: "Cover picture" } }) });
8
+ }
9
+ export {
10
+ ImageCropperBanner as default
11
+ };
@@ -0,0 +1,10 @@
1
+ import { ImageCropper } from "@krizaka/ui/image-cropper";
2
+
3
+ // A profile's cover: a 3:1 frame, zoomed in on the centre.
4
+ export default function ImageCropperBanner() {
5
+ return (
6
+ <div className="w-full max-w-lg">
7
+ <ImageCropper src="https://www.krizaka.com/assets/orochia/tour/alex-discover.jpg" aspect={3} defaultValue={{ x: 0.5, y: 0.45, zoom: 1.2 }} labels={{ frame: "Cover picture" }} />
8
+ </div>
9
+ );
10
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,12 @@
1
+ "use client";
2
+
3
+ // registry/examples/image-cropper/vertical-video.tsx
4
+ import { ImageCropper } from "@krizaka/ui/image-cropper";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var TOUR = "https://www.krizaka.com/assets/orochia/tour";
7
+ function ImageCropperVerticalVideo() {
8
+ return /* @__PURE__ */ jsx("div", { className: "w-48", children: /* @__PURE__ */ jsx(ImageCropper, { aspect: 9 / 16, naturalSize: { width: 1280, height: 800 }, defaultValue: { x: 0.35, y: 0.5, zoom: 1 }, showZoom: false, labels: { frame: "Vertical frame" }, children: /* @__PURE__ */ jsx("video", { src: `${TOUR}/elena-earnings.mp4`, poster: `${TOUR}/elena-earnings.jpg`, muted: true, playsInline: true, preload: "none", "aria-hidden": true }) }) });
9
+ }
10
+ export {
11
+ ImageCropperVerticalVideo as default
12
+ };
@@ -0,0 +1,16 @@
1
+ "use client";
2
+
3
+ import { ImageCropper } from "@krizaka/ui/image-cropper";
4
+
5
+ const TOUR = "https://www.krizaka.com/assets/orochia/tour";
6
+
7
+ // A landscape video, a 9:16 frame: choose what the vertical version keeps. The size is the video's own.
8
+ export default function ImageCropperVerticalVideo() {
9
+ return (
10
+ <div className="w-48">
11
+ <ImageCropper aspect={9 / 16} naturalSize={{ width: 1280, height: 800 }} defaultValue={{ x: 0.35, y: 0.5, zoom: 1 }} showZoom={false} labels={{ frame: "Vertical frame" }}>
12
+ <video src={`${TOUR}/elena-earnings.mp4`} poster={`${TOUR}/elena-earnings.jpg`} muted playsInline preload="none" aria-hidden />
13
+ </ImageCropper>
14
+ </div>
15
+ );
16
+ }
@@ -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,22 @@
1
+ "use client";
2
+
3
+ // registry/examples/iso/compose.tsx
4
+ import { IsoDome, IsoLink, IsoNode, IsoPrism, IsoScene, IsoTile } from "@krizaka/ui/iso";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ function IsoCompose() {
7
+ return /* @__PURE__ */ jsxs(IsoScene, { label: "A model served from one node", className: "w-full max-w-md", extent: 230, top: 190, viewBox: "-260 -250 520 360", children: [
8
+ /* @__PURE__ */ jsx(IsoLink, { from: [-40, -190], to: [-40, -60], label: "Prompt" }),
9
+ /* @__PURE__ */ jsx(IsoLink, { from: [60, 0], to: [190, 0], direction: "out", label: "Answer" }),
10
+ /* @__PURE__ */ jsx(IsoDome, { radius: 110, part: "rim" }),
11
+ /* @__PURE__ */ jsx(IsoTile, { at: [-40, -190], z: 70, glyph: "dots", label: "Chat", index: 0 }),
12
+ /* @__PURE__ */ jsx(IsoPrism, { shape: "hex", size: 170, height: 12, index: 1 }),
13
+ /* @__PURE__ */ jsx(IsoPrism, { size: 92, z: 16, height: 34, strip: true, label: "Model", index: 2 }),
14
+ /* @__PURE__ */ jsx(IsoPrism, { shape: "hex", size: 44, z: 54, height: 14, material: "accent", index: 3 }),
15
+ /* @__PURE__ */ jsx(IsoNode, { z: 78, index: 4 }),
16
+ /* @__PURE__ */ jsx(IsoDome, { radius: 110, height: 170, part: "arc" }),
17
+ /* @__PURE__ */ jsx(IsoTile, { at: [190, 0], z: 56, glyph: "lines", material: "glass", label: "Document", index: 5 })
18
+ ] });
19
+ }
20
+ export {
21
+ IsoCompose as default
22
+ };
@@ -0,0 +1,19 @@
1
+ import { IsoDome, IsoLink, IsoNode, IsoPrism, IsoScene, IsoTile } from "@krizaka/ui/iso";
2
+
3
+ // The primitives, composed by hand: painted back to front, each object rising in turn (`index`).
4
+ export default function IsoCompose() {
5
+ return (
6
+ <IsoScene label="A model served from one node" className="w-full max-w-md" extent={230} top={190} viewBox="-260 -250 520 360">
7
+ <IsoLink from={[-40, -190]} to={[-40, -60]} label="Prompt" />
8
+ <IsoLink from={[60, 0]} to={[190, 0]} direction="out" label="Answer" />
9
+ <IsoDome radius={110} part="rim" />
10
+ <IsoTile at={[-40, -190]} z={70} glyph="dots" label="Chat" index={0} />
11
+ <IsoPrism shape="hex" size={170} height={12} index={1} />
12
+ <IsoPrism size={92} z={16} height={34} strip label="Model" index={2} />
13
+ <IsoPrism shape="hex" size={44} z={54} height={14} material="accent" index={3} />
14
+ <IsoNode z={78} index={4} />
15
+ <IsoDome radius={110} height={170} part="arc" />
16
+ <IsoTile at={[190, 0]} z={56} glyph="lines" material="glass" label="Document" index={5} />
17
+ </IsoScene>
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,26 @@
1
+ "use client";
2
+
3
+ // registry/examples/iso/orazaka-hero.tsx
4
+ import { IsoHub } from "@krizaka/ui/iso";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function IsoOrazakaHero() {
7
+ return /* @__PURE__ */ jsx(
8
+ IsoHub,
9
+ {
10
+ label: "Your AI runs on your own servers",
11
+ description: "A stack of three servers \u2014 gateway, models, data \u2014 under a dome; chats and documents flow in, answers flow out.",
12
+ className: "w-full max-w-xl",
13
+ dome: "Your infrastructure",
14
+ layers: [{ label: "Data" }, { label: "Models" }, { label: "Gateway" }],
15
+ core: "Orchestrator",
16
+ satellites: [
17
+ { label: "Chats", glyph: "dots", flow: "in" },
18
+ { label: "Documents", glyph: "lines", flow: "in", material: "glass" },
19
+ { label: "Answers", glyph: "arrow", flow: "out" }
20
+ ]
21
+ }
22
+ );
23
+ }
24
+ export {
25
+ IsoOrazakaHero as default
26
+ };
@@ -0,0 +1,21 @@
1
+ import { IsoHub } from "@krizaka/ui/iso";
2
+
3
+ // Sovereign servers under a dome: three stages, a lit core, requests and documents flowing in, answers flowing out.
4
+ // Wrap it in `.brand-orazaka` (or any brand) and the light follows the brand's accent.
5
+ export default function IsoOrazakaHero() {
6
+ return (
7
+ <IsoHub
8
+ label="Your AI runs on your own servers"
9
+ description="A stack of three servers — gateway, models, data — under a dome; chats and documents flow in, answers flow out."
10
+ className="w-full max-w-xl"
11
+ dome="Your infrastructure"
12
+ layers={[{ label: "Data" }, { label: "Models" }, { label: "Gateway" }]}
13
+ core="Orchestrator"
14
+ satellites={[
15
+ { label: "Chats", glyph: "dots", flow: "in" },
16
+ { label: "Documents", glyph: "lines", flow: "in", material: "glass" },
17
+ { label: "Answers", glyph: "arrow", flow: "out" },
18
+ ]}
19
+ />
20
+ );
21
+ }
@@ -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,29 @@
1
+ "use client";
2
+
3
+ // registry/examples/iso/orochia-hero.tsx
4
+ import { IsoHub } from "@krizaka/ui/iso";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function IsoOrochiaHero() {
7
+ return /* @__PURE__ */ jsx(
8
+ IsoHub,
9
+ {
10
+ label: "Every support flows to the creator",
11
+ description: "A creator at the centre receives tips, unlocks, auction bids and challenge pledges; 90 % of each goes to them.",
12
+ className: "w-full max-w-xl",
13
+ shape: "hex",
14
+ size: 110,
15
+ layers: [{ label: "Community", height: 16 }, { label: "Creator", height: 44, material: "accent2" }],
16
+ core: "Payouts",
17
+ highlight: { strong: "90 %", text: "to the creator" },
18
+ satellites: [
19
+ { label: "Tips", glyph: "coin", value: "+ \u20AC5" },
20
+ { label: "Unlocks", glyph: "lock", value: "+ \u20AC3" },
21
+ { label: "Auctions", glyph: "arrow", value: "\u20AC120" },
22
+ { label: "Challenges", glyph: "flag", value: "\u20AC40" }
23
+ ]
24
+ }
25
+ );
26
+ }
27
+ export {
28
+ IsoOrochiaHero as default
29
+ };
@@ -0,0 +1,23 @@
1
+ import { IsoHub } from "@krizaka/ui/iso";
2
+
3
+ // The creator at the centre; tips, unlocks, auctions and challenges flow toward them — and 90 % stays theirs.
4
+ export default function IsoOrochiaHero() {
5
+ return (
6
+ <IsoHub
7
+ label="Every support flows to the creator"
8
+ description="A creator at the centre receives tips, unlocks, auction bids and challenge pledges; 90 % of each goes to them."
9
+ className="w-full max-w-xl"
10
+ shape="hex"
11
+ size={110}
12
+ layers={[{ label: "Community", height: 16 }, { label: "Creator", height: 44, material: "accent2" }]}
13
+ core="Payouts"
14
+ highlight={{ strong: "90 %", text: "to the creator" }}
15
+ satellites={[
16
+ { label: "Tips", glyph: "coin", value: "+ €5" },
17
+ { label: "Unlocks", glyph: "lock", value: "+ €3" },
18
+ { label: "Auctions", glyph: "arrow", value: "€120" },
19
+ { label: "Challenges", glyph: "flag", value: "€40" },
20
+ ]}
21
+ />
22
+ );
23
+ }
@@ -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,21 @@
1
+ "use client";
2
+
3
+ // registry/examples/iso/still.tsx
4
+ import { IsoHub } from "@krizaka/ui/iso";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function IsoStill() {
7
+ return /* @__PURE__ */ jsx(
8
+ IsoHub,
9
+ {
10
+ label: "A server under a dome",
11
+ className: "w-full max-w-sm",
12
+ animated: false,
13
+ dome: true,
14
+ layers: [{}, {}],
15
+ satellites: [{ label: "Requests", glyph: "dots" }, { label: "Files", glyph: "lines", material: "glass" }]
16
+ }
17
+ );
18
+ }
19
+ export {
20
+ IsoStill as default
21
+ };
@@ -0,0 +1,15 @@
1
+ import { IsoHub } from "@krizaka/ui/iso";
2
+
3
+ // `animated={false}`: the still frame — the picture prefers-reduced-motion shows, composed, never cut mid-way.
4
+ export default function IsoStill() {
5
+ return (
6
+ <IsoHub
7
+ label="A server under a dome"
8
+ className="w-full max-w-sm"
9
+ animated={false}
10
+ dome
11
+ layers={[{}, {}]}
12
+ satellites={[{ label: "Requests", glyph: "dots" }, { label: "Files", glyph: "lines", material: "glass" }]}
13
+ />
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,14 @@
1
+ "use client";
2
+
3
+ // registry/examples/loader/endings.tsx
4
+ import { Loader } from "@krizaka/ui/loader";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ function LoaderEndings() {
7
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
8
+ /* @__PURE__ */ jsx(Loader, { status: "success", label: "Publishing", successLabel: "Published", endDuration: Infinity, delay: 0, minDuration: 0 }),
9
+ /* @__PURE__ */ jsx(Loader, { status: "error", label: "Publishing", errorLabel: "Could not publish \u2014 check your connection", endDuration: Infinity, delay: 0, minDuration: 0 })
10
+ ] });
11
+ }
12
+ export {
13
+ LoaderEndings as default
14
+ };
@@ -0,0 +1,11 @@
1
+ import { Loader } from "@krizaka/ui/loader";
2
+
3
+ // How a wait ends: drawn (a check or a cross in the status colour) and announced in words.
4
+ export default function LoaderEndings() {
5
+ return (
6
+ <div className="flex flex-col gap-3">
7
+ <Loader status="success" label="Publishing" successLabel="Published" endDuration={Infinity} delay={0} minDuration={0} />
8
+ <Loader status="error" label="Publishing" errorLabel="Could not publish — check your connection" endDuration={Infinity} delay={0} minDuration={0} />
9
+ </div>
10
+ );
11
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,24 @@
1
+ "use client";
2
+
3
+ // registry/examples/loader/fetch-flow.tsx
4
+ import { Button } from "@krizaka/ui/button";
5
+ import { Loader } from "@krizaka/ui/loader";
6
+ import { useState } from "react";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function LoaderFetchFlow() {
9
+ const [status, setStatus] = useState("idle");
10
+ const run = (ms) => {
11
+ setStatus("loading");
12
+ setTimeout(() => setStatus("success"), ms);
13
+ };
14
+ return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4", children: [
15
+ /* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
16
+ /* @__PURE__ */ jsx(Button, { size: "sm", onClick: () => run(150), children: "Fast answer" }),
17
+ /* @__PURE__ */ jsx(Button, { size: "sm", onClick: () => run(2500), children: "Slow answer" })
18
+ ] }),
19
+ /* @__PURE__ */ jsx("div", { className: "h-10", children: status !== "idle" && /* @__PURE__ */ jsx(Loader, { status, label: "Loading your invoices", successLabel: "12 invoices loaded" }) })
20
+ ] });
21
+ }
22
+ export {
23
+ LoaderFetchFlow as default
24
+ };
@@ -0,0 +1,24 @@
1
+ "use client";
2
+ import { Button } from "@krizaka/ui/button";
3
+ import { Loader } from "@krizaka/ui/loader";
4
+ import { useState } from "react";
5
+
6
+ // Try both: a fast answer (150 ms) shows nothing at all; a slow one shows the wait, then a check, then nothing.
7
+ export default function LoaderFetchFlow() {
8
+ const [status, setStatus] = useState<"idle" | "loading" | "success">("idle");
9
+ const run = (ms: number) => {
10
+ setStatus("loading");
11
+ setTimeout(() => setStatus("success"), ms);
12
+ };
13
+ return (
14
+ <div className="flex flex-col gap-4">
15
+ <div className="flex gap-2">
16
+ <Button size="sm" onClick={() => run(150)}>Fast answer</Button>
17
+ <Button size="sm" onClick={() => run(2500)}>Slow answer</Button>
18
+ </div>
19
+ <div className="h-10">
20
+ {status !== "idle" && <Loader status={status} label="Loading your invoices" successLabel="12 invoices loaded" />}
21
+ </div>
22
+ </div>
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,11 @@
1
+ "use client";
2
+
3
+ // registry/examples/loader/minimal.tsx
4
+ import { Loader } from "@krizaka/ui/loader";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function LoaderMinimal() {
7
+ return /* @__PURE__ */ jsx(Loader, { label: "Loading", delay: 0 });
8
+ }
9
+ export {
10
+ LoaderMinimal as default
11
+ };
@@ -0,0 +1,6 @@
1
+ import { Loader } from "@krizaka/ui/loader";
2
+
3
+ // The minimal API: a label. It appears after 250 ms and stays at least 600 ms once shown.
4
+ export default function LoaderMinimal() {
5
+ return <Loader label="Loading" delay={0} />;
6
+ }
@@ -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/loader/overlay.tsx
4
+ import { Loader } from "@krizaka/ui/loader";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ function LoaderOverlay() {
7
+ return /* @__PURE__ */ jsxs("div", { className: "relative w-full max-w-sm rounded-xl border border-border-default bg-surface-1 p-5", children: [
8
+ /* @__PURE__ */ jsx("p", { className: "font-semibold text-fg", children: "Monthly report" }),
9
+ /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-fg-secondary", children: "Revenue, supporters and payouts for October." }),
10
+ /* @__PURE__ */ jsx("div", { className: "mt-4 h-24 rounded-lg bg-surface-2" }),
11
+ /* @__PURE__ */ jsx(Loader, { variant: "overlay", label: "Refreshing the report", eta: "A few seconds", delay: 0 })
12
+ ] });
13
+ }
14
+ export {
15
+ LoaderOverlay as default
16
+ };
@@ -0,0 +1,13 @@
1
+ import { Loader } from "@krizaka/ui/loader";
2
+
3
+ // Over a region that stays readable behind frosted glass: `variant="overlay"` in a `relative` parent.
4
+ export default function LoaderOverlay() {
5
+ return (
6
+ <div className="relative w-full max-w-sm rounded-xl border border-border-default bg-surface-1 p-5">
7
+ <p className="font-semibold text-fg">Monthly report</p>
8
+ <p className="mt-1 text-sm text-fg-secondary">Revenue, supporters and payouts for October.</p>
9
+ <div className="mt-4 h-24 rounded-lg bg-surface-2" />
10
+ <Loader variant="overlay" label="Refreshing the report" eta="A few seconds" delay={0} />
11
+ </div>
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;