@krizaka/ui 3.2.0 → 3.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/dist/activity-feed.d.ts +199 -0
  2. package/dist/activity-feed.js +155 -0
  3. package/dist/activity-feed.js.map +1 -0
  4. package/dist/argument-card.js +3 -3
  5. package/dist/{chunk-I5RVM5CW.js → chunk-2FRWNSRO.js} +2 -6
  6. package/dist/chunk-2FRWNSRO.js.map +1 -0
  7. package/dist/chunk-7Z4KHPFC.js +42 -0
  8. package/dist/chunk-7Z4KHPFC.js.map +1 -0
  9. package/dist/chunk-BTMFZ66D.js +135 -0
  10. package/dist/chunk-BTMFZ66D.js.map +1 -0
  11. package/dist/chunk-C2BRIFJG.js +13 -0
  12. package/dist/chunk-C2BRIFJG.js.map +1 -0
  13. package/dist/chunk-KDXRYUD3.js +39 -0
  14. package/dist/chunk-KDXRYUD3.js.map +1 -0
  15. package/dist/{chunk-2PUDI7JS.js → chunk-ZKVQGXLD.js} +5 -3
  16. package/dist/{chunk-2PUDI7JS.js.map → chunk-ZKVQGXLD.js.map} +1 -1
  17. package/dist/command.js +1 -1
  18. package/dist/confirm-button.js +1 -1
  19. package/dist/data-table.js +101 -133
  20. package/dist/data-table.js.map +1 -1
  21. package/dist/date-picker.d.ts +3 -1
  22. package/dist/date-picker.js +13 -13
  23. package/dist/date-picker.js.map +1 -1
  24. package/dist/description-list.d.ts +105 -0
  25. package/dist/description-list.js +49 -0
  26. package/dist/description-list.js.map +1 -0
  27. package/dist/dropdown-menu.js +1 -1
  28. package/dist/filter-bar.js +3 -2
  29. package/dist/form.d.ts +23 -12
  30. package/dist/form.js +11 -47
  31. package/dist/form.js.map +1 -1
  32. package/dist/glow-card.js +1 -1
  33. package/dist/image-cropper.js +3 -1
  34. package/dist/image-cropper.js.map +1 -1
  35. package/dist/index.js +13 -66
  36. package/dist/index.js.map +1 -1
  37. package/dist/kanban.d.ts +132 -0
  38. package/dist/kanban.js +187 -0
  39. package/dist/kanban.js.map +1 -0
  40. package/dist/list.d.ts +153 -0
  41. package/dist/list.js +130 -0
  42. package/dist/list.js.map +1 -0
  43. package/dist/map.d.ts +463 -0
  44. package/dist/map.js +952 -0
  45. package/dist/map.js.map +1 -0
  46. package/dist/marquee.js +1 -1
  47. package/dist/motion.css +12 -1
  48. package/dist/native/form.d.ts +60 -15
  49. package/dist/native/form.js +103 -42
  50. package/dist/native/form.js.map +1 -1
  51. package/dist/native/map.d.ts +200 -0
  52. package/dist/native/map.js +673 -0
  53. package/dist/native/map.js.map +1 -0
  54. package/dist/native/media-picker.d.ts +58 -0
  55. package/dist/native/media-picker.js +63 -0
  56. package/dist/native/media-picker.js.map +1 -0
  57. package/dist/native.d.ts +772 -6
  58. package/dist/native.js +2493 -741
  59. package/dist/native.js.map +1 -1
  60. package/dist/nav-bar.js +1 -1
  61. package/dist/page-hero.js +3 -3
  62. package/dist/popover.js +1 -1
  63. package/dist/radio-group.d.ts +66 -32
  64. package/dist/radio-group.js +54 -10
  65. package/dist/radio-group.js.map +1 -1
  66. package/dist/slider.d.ts +96 -35
  67. package/dist/slider.js +67 -13
  68. package/dist/slider.js.map +1 -1
  69. package/dist/stat.d.ts +31 -2
  70. package/dist/stat.js +21 -4
  71. package/dist/stat.js.map +1 -1
  72. package/dist/terminal-replay.js +34 -60
  73. package/dist/terminal-replay.js.map +1 -1
  74. package/dist/toast.js +1 -1
  75. package/dist/tooltip.js +1 -1
  76. package/dist/tree-view.d.ts +111 -0
  77. package/dist/tree-view.js +154 -0
  78. package/dist/tree-view.js.map +1 -0
  79. package/dist/video-player.js +3 -1
  80. package/dist/video-player.js.map +1 -1
  81. package/package.json +148 -11
  82. package/registry/achievement.json +1 -1
  83. package/registry/action-bar.json +1 -1
  84. package/registry/action-sheet.json +121 -0
  85. package/registry/activity-feed.json +468 -0
  86. package/registry/alert.json +1 -1
  87. package/registry/app-shell.json +1 -1
  88. package/registry/argument-card.json +1 -1
  89. package/registry/audio-player.json +1 -1
  90. package/registry/auth-layout.json +1 -1
  91. package/registry/avatar.json +58 -3
  92. package/registry/badge.json +1 -1
  93. package/registry/button.json +1 -1
  94. package/registry/card-grid.json +1 -1
  95. package/registry/card.json +1 -1
  96. package/registry/catalogue-page.json +1 -1
  97. package/registry/changelog-page.json +1 -1
  98. package/registry/checkbox.json +1 -1
  99. package/registry/chip-link.json +1 -1
  100. package/registry/chip.json +1 -1
  101. package/registry/choice-grid.json +1 -1
  102. package/registry/code-block.json +1 -1
  103. package/registry/combobox.json +226 -4
  104. package/registry/command.json +1 -1
  105. package/registry/component-page.json +1 -1
  106. package/registry/confirm-button.json +1 -1
  107. package/registry/contact-page.json +1 -1
  108. package/registry/continue-prompt.json +1 -1
  109. package/registry/countdown.json +1 -1
  110. package/registry/cta-panel.json +1 -1
  111. package/registry/dashboard-layout.json +1 -1
  112. package/registry/data-table.json +1 -1
  113. package/registry/date-picker.json +18 -4
  114. package/registry/decision-list.json +1 -1
  115. package/registry/description-list.json +232 -0
  116. package/registry/detail-layout.json +1 -1
  117. package/registry/dialog.json +75 -4
  118. package/registry/docs-article-page.json +1 -1
  119. package/registry/docs-hub-page.json +1 -1
  120. package/registry/docs-layout.json +1 -1
  121. package/registry/dropdown-menu.json +1 -1
  122. package/registry/empty-state.json +1 -1
  123. package/registry/error-page.json +1 -1
  124. package/registry/examples/action-sheet/native/video-actions.d.ts +4 -0
  125. package/registry/examples/action-sheet/native/video-actions.dark.png +0 -0
  126. package/registry/examples/action-sheet/native/video-actions.js +30 -0
  127. package/registry/examples/action-sheet/native/video-actions.light.png +0 -0
  128. package/registry/examples/action-sheet/native/video-actions.tsx +24 -0
  129. package/registry/examples/activity-feed/job-activity.d.ts +4 -0
  130. package/registry/examples/activity-feed/job-activity.js +21 -0
  131. package/registry/examples/activity-feed/job-activity.tsx +17 -0
  132. package/registry/examples/activity-feed/live.d.ts +4 -0
  133. package/registry/examples/activity-feed/live.js +23 -0
  134. package/registry/examples/activity-feed/live.tsx +24 -0
  135. package/registry/examples/activity-feed/native/notifications.d.ts +4 -0
  136. package/registry/examples/activity-feed/native/notifications.dark.png +0 -0
  137. package/registry/examples/activity-feed/native/notifications.js +18 -0
  138. package/registry/examples/activity-feed/native/notifications.light.png +0 -0
  139. package/registry/examples/activity-feed/native/notifications.tsx +18 -0
  140. package/registry/examples/activity-feed/timeline.d.ts +4 -0
  141. package/registry/examples/activity-feed/timeline.js +25 -0
  142. package/registry/examples/activity-feed/timeline.tsx +19 -0
  143. package/registry/examples/avatar/native/presence.d.ts +4 -0
  144. package/registry/examples/avatar/native/presence.dark.png +0 -0
  145. package/registry/examples/avatar/native/presence.js +18 -0
  146. package/registry/examples/avatar/native/presence.light.png +0 -0
  147. package/registry/examples/avatar/native/presence.tsx +15 -0
  148. package/registry/examples/combobox/native/multiple.d.ts +4 -0
  149. package/registry/examples/combobox/native/multiple.dark.png +0 -0
  150. package/registry/examples/combobox/native/multiple.js +15 -0
  151. package/registry/examples/combobox/native/multiple.light.png +0 -0
  152. package/registry/examples/combobox/native/multiple.tsx +15 -0
  153. package/registry/examples/combobox/native/search.d.ts +4 -0
  154. package/registry/examples/combobox/native/search.dark.png +0 -0
  155. package/registry/examples/combobox/native/search.js +15 -0
  156. package/registry/examples/combobox/native/search.light.png +0 -0
  157. package/registry/examples/combobox/native/search.tsx +15 -0
  158. package/registry/examples/description-list/job-details.d.ts +4 -0
  159. package/registry/examples/description-list/job-details.js +23 -0
  160. package/registry/examples/description-list/job-details.tsx +17 -0
  161. package/registry/examples/description-list/key-value-grid.d.ts +4 -0
  162. package/registry/examples/description-list/key-value-grid.js +22 -0
  163. package/registry/examples/description-list/key-value-grid.tsx +16 -0
  164. package/registry/examples/description-list/native/job-details.d.ts +4 -0
  165. package/registry/examples/description-list/native/job-details.dark.png +0 -0
  166. package/registry/examples/description-list/native/job-details.js +33 -0
  167. package/registry/examples/description-list/native/job-details.light.png +0 -0
  168. package/registry/examples/description-list/native/job-details.tsx +24 -0
  169. package/registry/examples/description-list/receipt.d.ts +4 -0
  170. package/registry/examples/description-list/receipt.js +23 -0
  171. package/registry/examples/description-list/receipt.tsx +17 -0
  172. package/registry/examples/dialog/native/sheet.d.ts +4 -0
  173. package/registry/examples/dialog/native/sheet.dark.png +0 -0
  174. package/registry/examples/dialog/native/sheet.js +21 -0
  175. package/registry/examples/dialog/native/sheet.light.png +0 -0
  176. package/registry/examples/dialog/native/sheet.tsx +18 -0
  177. package/registry/examples/fab/native/extended.d.ts +4 -0
  178. package/registry/examples/fab/native/extended.dark.png +0 -0
  179. package/registry/examples/fab/native/extended.js +18 -0
  180. package/registry/examples/fab/native/extended.light.png +0 -0
  181. package/registry/examples/fab/native/extended.tsx +23 -0
  182. package/registry/examples/field/native/select.d.ts +4 -0
  183. package/registry/examples/field/native/select.dark.png +0 -0
  184. package/registry/examples/field/native/select.js +29 -0
  185. package/registry/examples/field/native/select.light.png +0 -0
  186. package/registry/examples/field/native/select.tsx +25 -0
  187. package/registry/examples/form/native/audience.dark.png +0 -0
  188. package/registry/examples/form/native/audience.light.png +0 -0
  189. package/registry/examples/form/native/profile.dark.png +0 -0
  190. package/registry/examples/form/native/profile.light.png +0 -0
  191. package/registry/examples/form/native/settings.dark.png +0 -0
  192. package/registry/examples/form/native/settings.light.png +0 -0
  193. package/registry/examples/form/native/sign-up.dark.png +0 -0
  194. package/registry/examples/form/native/sign-up.light.png +0 -0
  195. package/registry/examples/form/native/upload.dark.png +0 -0
  196. package/registry/examples/form/native/upload.light.png +0 -0
  197. package/registry/examples/header/native/large-title.d.ts +4 -0
  198. package/registry/examples/header/native/large-title.dark.png +0 -0
  199. package/registry/examples/header/native/large-title.js +23 -0
  200. package/registry/examples/header/native/large-title.light.png +0 -0
  201. package/registry/examples/header/native/large-title.tsx +31 -0
  202. package/registry/examples/image-viewer/native/gallery.d.ts +4 -0
  203. package/registry/examples/image-viewer/native/gallery.dark.png +0 -0
  204. package/registry/examples/image-viewer/native/gallery.js +22 -0
  205. package/registry/examples/image-viewer/native/gallery.light.png +0 -0
  206. package/registry/examples/image-viewer/native/gallery.tsx +21 -0
  207. package/registry/examples/kanban/moderation.d.ts +4 -0
  208. package/registry/examples/kanban/moderation.js +35 -0
  209. package/registry/examples/kanban/moderation.tsx +37 -0
  210. package/registry/examples/list/jobs.d.ts +4 -0
  211. package/registry/examples/list/jobs.js +35 -0
  212. package/registry/examples/list/jobs.tsx +33 -0
  213. package/registry/examples/list/selectable.d.ts +4 -0
  214. package/registry/examples/list/selectable.js +33 -0
  215. package/registry/examples/list/selectable.tsx +30 -0
  216. package/registry/examples/list/virtualized.d.ts +4 -0
  217. package/registry/examples/list/virtualized.js +22 -0
  218. package/registry/examples/list/virtualized.tsx +17 -0
  219. package/registry/examples/loader/native/block.d.ts +4 -0
  220. package/registry/examples/loader/native/block.dark.png +0 -0
  221. package/registry/examples/loader/native/block.js +12 -0
  222. package/registry/examples/loader/native/block.light.png +0 -0
  223. package/registry/examples/loader/native/block.tsx +11 -0
  224. package/registry/examples/loader/native/job-wait.d.ts +4 -0
  225. package/registry/examples/loader/native/job-wait.dark.png +0 -0
  226. package/registry/examples/loader/native/job-wait.js +17 -0
  227. package/registry/examples/loader/native/job-wait.light.png +0 -0
  228. package/registry/examples/loader/native/job-wait.tsx +14 -0
  229. package/registry/examples/map/cluster.d.ts +4 -0
  230. package/registry/examples/map/cluster.js +16 -0
  231. package/registry/examples/map/cluster.tsx +18 -0
  232. package/registry/examples/map/location-picker.d.ts +4 -0
  233. package/registry/examples/map/location-picker.js +24 -0
  234. package/registry/examples/map/location-picker.tsx +22 -0
  235. package/registry/examples/map/native/location-picker.d.ts +4 -0
  236. package/registry/examples/map/native/location-picker.dark.png +0 -0
  237. package/registry/examples/map/native/location-picker.js +14 -0
  238. package/registry/examples/map/native/location-picker.light.png +0 -0
  239. package/registry/examples/map/native/location-picker.tsx +13 -0
  240. package/registry/examples/map/native/places.d.ts +4 -0
  241. package/registry/examples/map/native/places.dark.png +0 -0
  242. package/registry/examples/map/native/places.js +25 -0
  243. package/registry/examples/map/native/places.light.png +0 -0
  244. package/registry/examples/map/native/places.tsx +27 -0
  245. package/registry/examples/map/places.d.ts +4 -0
  246. package/registry/examples/map/places.js +28 -0
  247. package/registry/examples/map/places.tsx +28 -0
  248. package/registry/examples/map/static.d.ts +4 -0
  249. package/registry/examples/map/static.js +22 -0
  250. package/registry/examples/map/static.tsx +18 -0
  251. package/registry/examples/media-picker/native/story.d.ts +4 -0
  252. package/registry/examples/media-picker/native/story.dark.png +0 -0
  253. package/registry/examples/media-picker/native/story.js +30 -0
  254. package/registry/examples/media-picker/native/story.light.png +0 -0
  255. package/registry/examples/media-picker/native/story.tsx +26 -0
  256. package/registry/examples/meter/native/credits.d.ts +4 -0
  257. package/registry/examples/meter/native/credits.dark.png +0 -0
  258. package/registry/examples/meter/native/credits.js +15 -0
  259. package/registry/examples/meter/native/credits.light.png +0 -0
  260. package/registry/examples/meter/native/credits.tsx +12 -0
  261. package/registry/examples/meter/native/split-ring.d.ts +4 -0
  262. package/registry/examples/meter/native/split-ring.dark.png +0 -0
  263. package/registry/examples/meter/native/split-ring.js +24 -0
  264. package/registry/examples/meter/native/split-ring.light.png +0 -0
  265. package/registry/examples/meter/native/split-ring.tsx +19 -0
  266. package/registry/examples/number-ticker/native/balance.d.ts +4 -0
  267. package/registry/examples/number-ticker/native/balance.dark.png +0 -0
  268. package/registry/examples/number-ticker/native/balance.js +18 -0
  269. package/registry/examples/number-ticker/native/balance.light.png +0 -0
  270. package/registry/examples/number-ticker/native/balance.tsx +17 -0
  271. package/registry/examples/onboarding/native/first-launch.d.ts +4 -0
  272. package/registry/examples/onboarding/native/first-launch.dark.png +0 -0
  273. package/registry/examples/onboarding/native/first-launch.js +23 -0
  274. package/registry/examples/onboarding/native/first-launch.light.png +0 -0
  275. package/registry/examples/onboarding/native/first-launch.tsx +19 -0
  276. package/registry/examples/otp-input/native/invalid.d.ts +4 -0
  277. package/registry/examples/otp-input/native/invalid.dark.png +0 -0
  278. package/registry/examples/otp-input/native/invalid.js +15 -0
  279. package/registry/examples/otp-input/native/invalid.light.png +0 -0
  280. package/registry/examples/otp-input/native/invalid.tsx +14 -0
  281. package/registry/examples/otp-input/native/verify.d.ts +4 -0
  282. package/registry/examples/otp-input/native/verify.dark.png +0 -0
  283. package/registry/examples/otp-input/native/verify.js +17 -0
  284. package/registry/examples/otp-input/native/verify.light.png +0 -0
  285. package/registry/examples/otp-input/native/verify.tsx +14 -0
  286. package/registry/examples/permission-prompt/native/blocked.d.ts +4 -0
  287. package/registry/examples/permission-prompt/native/blocked.dark.png +0 -0
  288. package/registry/examples/permission-prompt/native/blocked.js +25 -0
  289. package/registry/examples/permission-prompt/native/blocked.light.png +0 -0
  290. package/registry/examples/permission-prompt/native/blocked.tsx +21 -0
  291. package/registry/examples/permission-prompt/native/camera.d.ts +4 -0
  292. package/registry/examples/permission-prompt/native/camera.dark.png +0 -0
  293. package/registry/examples/permission-prompt/native/camera.js +25 -0
  294. package/registry/examples/permission-prompt/native/camera.light.png +0 -0
  295. package/registry/examples/permission-prompt/native/camera.tsx +21 -0
  296. package/registry/examples/pull-to-refresh/native/feed.d.ts +4 -0
  297. package/registry/examples/pull-to-refresh/native/feed.dark.png +0 -0
  298. package/registry/examples/pull-to-refresh/native/feed.js +14 -0
  299. package/registry/examples/pull-to-refresh/native/feed.light.png +0 -0
  300. package/registry/examples/pull-to-refresh/native/feed.tsx +19 -0
  301. package/registry/examples/radio-group/buttons.d.ts +4 -0
  302. package/registry/examples/radio-group/buttons.js +17 -0
  303. package/registry/examples/radio-group/buttons.tsx +21 -0
  304. package/registry/examples/radio-group/cards.js +1 -1
  305. package/registry/examples/radio-group/cards.tsx +2 -2
  306. package/registry/examples/radio-group/native/buttons.d.ts +4 -0
  307. package/registry/examples/radio-group/native/buttons.dark.png +0 -0
  308. package/registry/examples/radio-group/native/buttons.js +25 -0
  309. package/registry/examples/radio-group/native/buttons.light.png +0 -0
  310. package/registry/examples/radio-group/native/buttons.tsx +21 -0
  311. package/registry/examples/radio-group/native/cards.d.ts +4 -0
  312. package/registry/examples/radio-group/native/cards.dark.png +0 -0
  313. package/registry/examples/radio-group/native/cards.js +23 -0
  314. package/registry/examples/radio-group/native/cards.light.png +0 -0
  315. package/registry/examples/radio-group/native/cards.tsx +19 -0
  316. package/registry/examples/radio-group/native/list.d.ts +4 -0
  317. package/registry/examples/radio-group/native/list.dark.png +0 -0
  318. package/registry/examples/radio-group/native/list.js +24 -0
  319. package/registry/examples/radio-group/native/list.light.png +0 -0
  320. package/registry/examples/radio-group/native/list.tsx +20 -0
  321. package/registry/examples/radio-group/native/segmented.d.ts +4 -0
  322. package/registry/examples/radio-group/native/segmented.dark.png +0 -0
  323. package/registry/examples/radio-group/native/segmented.js +24 -0
  324. package/registry/examples/radio-group/native/segmented.light.png +0 -0
  325. package/registry/examples/radio-group/native/segmented.tsx +20 -0
  326. package/registry/examples/radio-group/segmented.d.ts +4 -0
  327. package/registry/examples/radio-group/segmented.js +15 -0
  328. package/registry/examples/radio-group/segmented.tsx +12 -0
  329. package/registry/examples/search-field/native/cancel.d.ts +4 -0
  330. package/registry/examples/search-field/native/cancel.dark.png +0 -0
  331. package/registry/examples/search-field/native/cancel.js +14 -0
  332. package/registry/examples/search-field/native/cancel.light.png +0 -0
  333. package/registry/examples/search-field/native/cancel.tsx +13 -0
  334. package/registry/examples/slider/floating.d.ts +4 -0
  335. package/registry/examples/slider/floating.js +11 -0
  336. package/registry/examples/slider/floating.tsx +12 -0
  337. package/registry/examples/slider/native/default.d.ts +4 -0
  338. package/registry/examples/slider/native/default.dark.png +0 -0
  339. package/registry/examples/slider/native/default.js +14 -0
  340. package/registry/examples/slider/native/default.light.png +0 -0
  341. package/registry/examples/slider/native/default.tsx +13 -0
  342. package/registry/examples/slider/native/range.d.ts +4 -0
  343. package/registry/examples/slider/native/range.dark.png +0 -0
  344. package/registry/examples/slider/native/range.js +12 -0
  345. package/registry/examples/slider/native/range.light.png +0 -0
  346. package/registry/examples/slider/native/range.tsx +11 -0
  347. package/registry/examples/slider/native/stepped.d.ts +4 -0
  348. package/registry/examples/slider/native/stepped.dark.png +0 -0
  349. package/registry/examples/slider/native/stepped.js +28 -0
  350. package/registry/examples/slider/native/stepped.light.png +0 -0
  351. package/registry/examples/slider/native/stepped.tsx +24 -0
  352. package/registry/examples/slider/native/vertical.d.ts +4 -0
  353. package/registry/examples/slider/native/vertical.dark.png +0 -0
  354. package/registry/examples/slider/native/vertical.js +16 -0
  355. package/registry/examples/slider/native/vertical.light.png +0 -0
  356. package/registry/examples/slider/native/vertical.tsx +13 -0
  357. package/registry/examples/slider/price-range.d.ts +4 -0
  358. package/registry/examples/slider/price-range.js +29 -0
  359. package/registry/examples/slider/price-range.tsx +27 -0
  360. package/registry/examples/slider/stepped.d.ts +4 -0
  361. package/registry/examples/slider/stepped.js +28 -0
  362. package/registry/examples/slider/stepped.tsx +24 -0
  363. package/registry/examples/slider/vertical.d.ts +4 -0
  364. package/registry/examples/slider/vertical.js +15 -0
  365. package/registry/examples/slider/vertical.tsx +14 -0
  366. package/registry/examples/stat/grid.d.ts +4 -0
  367. package/registry/examples/stat/grid.js +17 -0
  368. package/registry/examples/stat/grid.tsx +14 -0
  369. package/registry/examples/stepper/native/run.d.ts +4 -0
  370. package/registry/examples/stepper/native/run.dark.png +0 -0
  371. package/registry/examples/stepper/native/run.js +24 -0
  372. package/registry/examples/stepper/native/run.light.png +0 -0
  373. package/registry/examples/stepper/native/run.tsx +20 -0
  374. package/registry/examples/swipeable-row/native/conversation.d.ts +4 -0
  375. package/registry/examples/swipeable-row/native/conversation.dark.png +0 -0
  376. package/registry/examples/swipeable-row/native/conversation.js +30 -0
  377. package/registry/examples/swipeable-row/native/conversation.light.png +0 -0
  378. package/registry/examples/swipeable-row/native/conversation.tsx +27 -0
  379. package/registry/examples/switch/native/default.d.ts +4 -0
  380. package/registry/examples/switch/native/default.dark.png +0 -0
  381. package/registry/examples/switch/native/default.js +16 -0
  382. package/registry/examples/switch/native/default.light.png +0 -0
  383. package/registry/examples/switch/native/default.tsx +13 -0
  384. package/registry/examples/switch/native/settings.d.ts +4 -0
  385. package/registry/examples/switch/native/settings.dark.png +0 -0
  386. package/registry/examples/switch/native/settings.js +20 -0
  387. package/registry/examples/switch/native/settings.light.png +0 -0
  388. package/registry/examples/switch/native/settings.tsx +17 -0
  389. package/registry/examples/tab-bar/native/main-sections.d.ts +4 -0
  390. package/registry/examples/tab-bar/native/main-sections.dark.png +0 -0
  391. package/registry/examples/tab-bar/native/main-sections.js +29 -0
  392. package/registry/examples/tab-bar/native/main-sections.light.png +0 -0
  393. package/registry/examples/tab-bar/native/main-sections.tsx +30 -0
  394. package/registry/examples/tabs/native/sections.d.ts +4 -0
  395. package/registry/examples/tabs/native/sections.dark.png +0 -0
  396. package/registry/examples/tabs/native/sections.js +23 -0
  397. package/registry/examples/tabs/native/sections.light.png +0 -0
  398. package/registry/examples/tabs/native/sections.tsx +19 -0
  399. package/registry/examples/tabs/native/segmented.d.ts +4 -0
  400. package/registry/examples/tabs/native/segmented.dark.png +0 -0
  401. package/registry/examples/tabs/native/segmented.js +22 -0
  402. package/registry/examples/tabs/native/segmented.light.png +0 -0
  403. package/registry/examples/tabs/native/segmented.tsx +18 -0
  404. package/registry/examples/toast/native/snackbar.d.ts +4 -0
  405. package/registry/examples/toast/native/snackbar.dark.png +0 -0
  406. package/registry/examples/toast/native/snackbar.js +23 -0
  407. package/registry/examples/toast/native/snackbar.light.png +0 -0
  408. package/registry/examples/toast/native/snackbar.tsx +21 -0
  409. package/registry/examples/tree-view/docs.d.ts +4 -0
  410. package/registry/examples/tree-view/docs.js +24 -0
  411. package/registry/examples/tree-view/docs.tsx +22 -0
  412. package/registry/examples/tree-view/lazy.d.ts +4 -0
  413. package/registry/examples/tree-view/lazy.js +21 -0
  414. package/registry/examples/tree-view/lazy.tsx +19 -0
  415. package/registry/fab.json +122 -0
  416. package/registry/field.json +16 -4
  417. package/registry/file-upload.json +2 -2
  418. package/registry/filter-bar.json +1 -1
  419. package/registry/form.json +252 -44
  420. package/registry/gallery-page.json +1 -1
  421. package/registry/glow-card.json +1 -1
  422. package/registry/goal-gauge.json +1 -1
  423. package/registry/header.json +137 -0
  424. package/registry/how-it-works-page.json +1 -1
  425. package/registry/image-cropper.json +1 -1
  426. package/registry/image-viewer.json +107 -0
  427. package/registry/index.json +322 -44
  428. package/registry/iso.json +1 -1
  429. package/registry/kanban.json +253 -0
  430. package/registry/kbd.json +1 -1
  431. package/registry/landing-page.json +1 -1
  432. package/registry/landscape.json +1 -1
  433. package/registry/legal-page.json +1 -1
  434. package/registry/link-card.json +1 -1
  435. package/registry/list.json +367 -30
  436. package/registry/loader.json +157 -4
  437. package/registry/longform-page.json +1 -1
  438. package/registry/map.json +1368 -0
  439. package/registry/marketing-layout.json +1 -1
  440. package/registry/marquee.json +1 -1
  441. package/registry/mascot-quote.json +1 -1
  442. package/registry/mascot-state.json +1 -1
  443. package/registry/mascots.json +1 -1
  444. package/registry/media-capture.json +1 -1
  445. package/registry/media-picker.json +129 -0
  446. package/registry/meter.json +136 -4
  447. package/registry/nav-bar.json +1 -1
  448. package/registry/number-ticker.json +96 -4
  449. package/registry/onboarding.json +95 -0
  450. package/registry/otp-input.json +150 -0
  451. package/registry/page-header.json +1 -1
  452. package/registry/page-hero.json +1 -1
  453. package/registry/page.json +1 -1
  454. package/registry/pagination.json +1 -1
  455. package/registry/permission-prompt.json +172 -0
  456. package/registry/pointer-light.json +1 -1
  457. package/registry/popover.json +1 -1
  458. package/registry/pricing-page.json +1 -1
  459. package/registry/product-page.json +1 -1
  460. package/registry/profile-card.json +1 -1
  461. package/registry/progress.json +2 -2
  462. package/registry/promise-card.json +1 -1
  463. package/registry/pull-to-refresh.json +74 -0
  464. package/registry/radio-group.json +228 -16
  465. package/registry/scroll-stage.json +1 -1
  466. package/registry/search-field.json +30 -3
  467. package/registry/section-backdrop.json +1 -1
  468. package/registry/separator.json +1 -1
  469. package/registry/settings-layout.json +1 -1
  470. package/registry/skeleton.json +1 -1
  471. package/registry/slider.json +315 -14
  472. package/registry/slot.json +1 -1
  473. package/registry/spinner.json +1 -1
  474. package/registry/split-view.json +1 -1
  475. package/registry/stage-banner.json +1 -1
  476. package/registry/stat.json +68 -5
  477. package/registry/status-page.json +1 -1
  478. package/registry/stepper.json +75 -4
  479. package/registry/swipeable-row.json +124 -0
  480. package/registry/switch.json +116 -4
  481. package/registry/tab-bar.json +115 -0
  482. package/registry/tabs.json +96 -6
  483. package/registry/tag-input.json +1 -1
  484. package/registry/terminal-replay.json +1 -1
  485. package/registry/theme.json +8 -1
  486. package/registry/toast.json +17 -3
  487. package/registry/toc.json +1 -1
  488. package/registry/tooltip.json +1 -1
  489. package/registry/tree-view.json +291 -0
  490. package/registry/video-player.json +1 -1
  491. package/registry/video-trimmer.json +1 -1
  492. package/registry/virtual.json +1 -1
  493. package/skills/choice-controls/SKILL.md +39 -0
  494. package/skills/form/SKILL.md +3 -0
  495. package/skills/map/SKILL.md +35 -0
  496. package/dist/chunk-I5RVM5CW.js.map +0 -1
  497. package/dist/chunk-RUPRYJ45.js +0 -82
  498. package/dist/chunk-RUPRYJ45.js.map +0 -1
@@ -0,0 +1,30 @@
1
+ "use client";
2
+
3
+ // registry/examples/media-picker/native/story.tsx
4
+ import { MediaPicker } from "@krizaka/ui/native/media-picker";
5
+ import { useState } from "react";
6
+ import { View } from "react-native";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function NativeMediaPickerStory() {
9
+ const [media, setMedia] = useState([]);
10
+ return /* @__PURE__ */ jsx(View, { style: { width: 340 }, children: /* @__PURE__ */ jsx(
11
+ MediaPicker,
12
+ {
13
+ value: media,
14
+ onValueChange: setMedia,
15
+ max: 4,
16
+ labels: {
17
+ add: "Add",
18
+ source: "Add from",
19
+ library: "Photo library",
20
+ camera: "Take a photo",
21
+ cancel: "Cancel",
22
+ remove: (n) => `Remove photo ${n}`,
23
+ count: (n, max) => `${n} of ${max}`
24
+ }
25
+ }
26
+ ) });
27
+ }
28
+ export {
29
+ NativeMediaPickerStory as default
30
+ };
@@ -0,0 +1,26 @@
1
+ import { MediaPicker,type PickedMedia } from "@krizaka/ui/native/media-picker";
2
+ import { useState } from "react";
3
+ import { View } from "react-native";
4
+
5
+ // Up to four photos for a story: from the library or the camera, removed with the cross.
6
+ export default function NativeMediaPickerStory() {
7
+ const [media, setMedia] = useState<PickedMedia[]>([]);
8
+ return (
9
+ <View style={{ width: 340 }}>
10
+ <MediaPicker
11
+ value={media}
12
+ onValueChange={setMedia}
13
+ max={4}
14
+ labels={{
15
+ add: "Add",
16
+ source: "Add from",
17
+ library: "Photo library",
18
+ camera: "Take a photo",
19
+ cancel: "Cancel",
20
+ remove: (n) => `Remove photo ${n}`,
21
+ count: (n, max) => `${n} of ${max}`,
22
+ }}
23
+ />
24
+ </View>
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,15 @@
1
+ "use client";
2
+
3
+ // registry/examples/meter/native/credits.tsx
4
+ import { Meter } from "@krizaka/ui/native";
5
+ import { View } from "react-native";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ function NativeMeterCredits() {
8
+ return /* @__PURE__ */ jsxs(View, { style: { width: 320, gap: 20 }, children: [
9
+ /* @__PURE__ */ jsx(Meter, { label: "Credits this month", value: 4120, max: 5e3, valueText: "4,120 of 5,000", thresholds: { low: 0.8, high: 0.95 }, showLabel: true }),
10
+ /* @__PURE__ */ jsx(Meter, { label: "Storage", value: 18, max: 50, valueText: "18 GB of 50 GB", showLabel: true, size: "sm" })
11
+ ] });
12
+ }
13
+ export {
14
+ NativeMeterCredits as default
15
+ };
@@ -0,0 +1,12 @@
1
+ import { Meter } from "@krizaka/ui/native";
2
+ import { View } from "react-native";
3
+
4
+ // Credits used this month: warning past 80 %, danger past 95 %.
5
+ export default function NativeMeterCredits() {
6
+ return (
7
+ <View style={{ width: 320, gap: 20 }}>
8
+ <Meter label="Credits this month" value={4_120} max={5_000} valueText="4,120 of 5,000" thresholds={{ low: 0.8, high: 0.95 }} showLabel />
9
+ <Meter label="Storage" value={18} max={50} valueText="18 GB of 50 GB" showLabel size="sm" />
10
+ </View>
11
+ );
12
+ }
@@ -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/meter/native/split-ring.tsx
4
+ import { Meter, Txt } from "@krizaka/ui/native";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function NativeMeterSplitRing() {
7
+ return /* @__PURE__ */ jsx(
8
+ Meter,
9
+ {
10
+ label: "Split of a tip",
11
+ variant: "ring",
12
+ max: 1e3,
13
+ parts: [
14
+ { label: "To the creator", value: 850, valueText: "$8.50" },
15
+ { label: "Platform", value: 100, valueText: "$1.00" },
16
+ { label: "Payment fees", value: 50, valueText: "$0.50" }
17
+ ],
18
+ children: /* @__PURE__ */ jsx(Txt, { variant: "title", children: "$10" })
19
+ }
20
+ );
21
+ }
22
+ export {
23
+ NativeMeterSplitRing as default
24
+ };
@@ -0,0 +1,19 @@
1
+ import { Meter, Txt } from "@krizaka/ui/native";
2
+
3
+ // Where a $10 tip goes: a ring split into parts, with its legend.
4
+ export default function NativeMeterSplitRing() {
5
+ return (
6
+ <Meter
7
+ label="Split of a tip"
8
+ variant="ring"
9
+ max={1000}
10
+ parts={[
11
+ { label: "To the creator", value: 850, valueText: "$8.50" },
12
+ { label: "Platform", value: 100, valueText: "$1.00" },
13
+ { label: "Payment fees", value: 50, valueText: "$0.50" },
14
+ ]}
15
+ >
16
+ <Txt variant="title">$10</Txt>
17
+ </Meter>
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,18 @@
1
+ "use client";
2
+
3
+ // registry/examples/number-ticker/native/balance.tsx
4
+ import { Button, NumberTicker, Txt } from "@krizaka/ui/native";
5
+ import { useState } from "react";
6
+ import { View } from "react-native";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function NativeNumberTickerBalance() {
9
+ const [cents, setCents] = useState(12840);
10
+ return /* @__PURE__ */ jsxs(View, { style: { gap: 8, alignItems: "flex-start" }, children: [
11
+ /* @__PURE__ */ jsx(Txt, { variant: "caption", tone: "secondary", children: "Balance" }),
12
+ /* @__PURE__ */ jsx(NumberTicker, { value: cents / 100, locale: "en-US", format: { style: "currency", currency: "USD" }, trigger: "change", announce: true }),
13
+ /* @__PURE__ */ jsx(Button, { label: "Receive a $5 tip", size: "sm", onPress: () => setCents((c) => c + 500) })
14
+ ] });
15
+ }
16
+ export {
17
+ NativeNumberTickerBalance as default
18
+ };
@@ -0,0 +1,17 @@
1
+ import { Button, NumberTicker, Txt } from "@krizaka/ui/native";
2
+ import { useState } from "react";
3
+ import { View } from "react-native";
4
+
5
+ // A wallet's balance: it climbs at first, then rolls on every tip received — and says it.
6
+ export default function NativeNumberTickerBalance() {
7
+ const [cents, setCents] = useState(12_840);
8
+ return (
9
+ <View style={{ gap: 8, alignItems: "flex-start" }}>
10
+ <Txt variant="caption" tone="secondary">
11
+ Balance
12
+ </Txt>
13
+ <NumberTicker value={cents / 100} locale="en-US" format={{ style: "currency", currency: "USD" }} trigger="change" announce />
14
+ <Button label="Receive a $5 tip" size="sm" onPress={() => setCents((c) => c + 500)} />
15
+ </View>
16
+ );
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,23 @@
1
+ "use client";
2
+
3
+ // registry/examples/onboarding/native/first-launch.tsx
4
+ import { Mascot, Onboarding } from "@krizaka/ui/native";
5
+ import { View } from "react-native";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function NativeOnboardingFirstLaunch() {
8
+ return /* @__PURE__ */ jsx(View, { style: { width: 360, height: 560 }, children: /* @__PURE__ */ jsx(
9
+ Onboarding,
10
+ {
11
+ slides: [
12
+ { visual: /* @__PURE__ */ jsx(Mascot, { bird: "flamingo", mood: "welcome", size: 140 }), title: "Get paid for what you love", description: "Tips, auctions and dares from your fans \u2014 paid out every week." },
13
+ { visual: /* @__PURE__ */ jsx(Mascot, { bird: "falcon", mood: "thinking", size: 140 }), title: "Your money, watched over", description: "Pledges wait in escrow until the challenge is done." },
14
+ { visual: /* @__PURE__ */ jsx(Mascot, { bird: "pigeon", mood: "success", size: 140 }), title: "Never miss a bid", description: "Hear when you are outbid, wherever you are." }
15
+ ],
16
+ labels: { next: "Next", done: "Get started", skip: "Skip", position: (n, total) => `Step ${n} of ${total}` },
17
+ onDone: () => void 0
18
+ }
19
+ ) });
20
+ }
21
+ export {
22
+ NativeOnboardingFirstLaunch as default
23
+ };
@@ -0,0 +1,19 @@
1
+ import { Mascot, Onboarding } from "@krizaka/ui/native";
2
+ import { View } from "react-native";
3
+
4
+ // Three promises, a bird each; Skip at any time, Get started on the last.
5
+ export default function NativeOnboardingFirstLaunch() {
6
+ return (
7
+ <View style={{ width: 360, height: 560 }}>
8
+ <Onboarding
9
+ slides={[
10
+ { visual: <Mascot bird="flamingo" mood="welcome" size={140} />, title: "Get paid for what you love", description: "Tips, auctions and dares from your fans — paid out every week." },
11
+ { visual: <Mascot bird="falcon" mood="thinking" size={140} />, title: "Your money, watched over", description: "Pledges wait in escrow until the challenge is done." },
12
+ { visual: <Mascot bird="pigeon" mood="success" size={140} />, title: "Never miss a bid", description: "Hear when you are outbid, wherever you are." },
13
+ ]}
14
+ labels={{ next: "Next", done: "Get started", skip: "Skip", position: (n, total) => `Step ${n} of ${total}` }}
15
+ onDone={() => undefined}
16
+ />
17
+ </View>
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,15 @@
1
+ "use client";
2
+
3
+ // registry/examples/otp-input/native/invalid.tsx
4
+ import { OtpInput, Txt } from "@krizaka/ui/native";
5
+ import { View } from "react-native";
6
+ import { jsx, jsxs } from "react/jsx-runtime";
7
+ function NativeOtpInputInvalid() {
8
+ return /* @__PURE__ */ jsxs(View, { style: { gap: 8 }, children: [
9
+ /* @__PURE__ */ jsx(OtpInput, { label: "Verification code", value: "AB12C9", mode: "text", invalid: true }),
10
+ /* @__PURE__ */ jsx(Txt, { variant: "caption", tone: "danger", children: "This code has expired. We sent you a new one." })
11
+ ] });
12
+ }
13
+ export {
14
+ NativeOtpInputInvalid as default
15
+ };
@@ -0,0 +1,14 @@
1
+ import { OtpInput, Txt } from "@krizaka/ui/native";
2
+ import { View } from "react-native";
3
+
4
+ // A refused code: the boxes in danger, the words under them, an error tick.
5
+ export default function NativeOtpInputInvalid() {
6
+ return (
7
+ <View style={{ gap: 8 }}>
8
+ <OtpInput label="Verification code" value="AB12C9" mode="text" invalid />
9
+ <Txt variant="caption" tone="danger">
10
+ This code has expired. We sent you a new one.
11
+ </Txt>
12
+ </View>
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,17 @@
1
+ "use client";
2
+
3
+ // registry/examples/otp-input/native/verify.tsx
4
+ import { OtpInput, Txt } from "@krizaka/ui/native";
5
+ import { useState } from "react";
6
+ import { View } from "react-native";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ function NativeOtpInputVerify() {
9
+ const [code, setCode] = useState("4821");
10
+ return /* @__PURE__ */ jsxs(View, { style: { gap: 12 }, children: [
11
+ /* @__PURE__ */ jsx(Txt, { tone: "secondary", children: "Enter the code sent to +33 6 \u2022\u2022 \u2022\u2022 42 18" }),
12
+ /* @__PURE__ */ jsx(OtpInput, { label: "Verification code", value: code, onValueChange: setCode, onComplete: () => void 0 })
13
+ ] });
14
+ }
15
+ export {
16
+ NativeOtpInputVerify as default
17
+ };
@@ -0,0 +1,14 @@
1
+ import { OtpInput, Txt } from "@krizaka/ui/native";
2
+ import { useState } from "react";
3
+ import { View } from "react-native";
4
+
5
+ // The code sent by text message: the keyboard suggests it, one tap fills every box.
6
+ export default function NativeOtpInputVerify() {
7
+ const [code, setCode] = useState("4821");
8
+ return (
9
+ <View style={{ gap: 12 }}>
10
+ <Txt tone="secondary">Enter the code sent to +33 6 •• •• 42 18</Txt>
11
+ <OtpInput label="Verification code" value={code} onValueChange={setCode} onComplete={() => undefined} />
12
+ </View>
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,25 @@
1
+ "use client";
2
+
3
+ // registry/examples/permission-prompt/native/blocked.tsx
4
+ import { PermissionPrompt } from "@krizaka/ui/native";
5
+ import { View } from "react-native";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function NativePermissionPromptBlocked() {
8
+ return /* @__PURE__ */ jsx(View, { style: { width: 340 }, children: /* @__PURE__ */ jsx(
9
+ PermissionPrompt,
10
+ {
11
+ status: "blocked",
12
+ mascot: "pigeon",
13
+ title: "Know when you are outbid",
14
+ description: "Turn on notifications to hear about your auctions.",
15
+ blockedDescription: "Notifications are off for Orochia. Turn them on in the settings to hear when you are outbid.",
16
+ allowLabel: "Turn on notifications",
17
+ onAllow: () => void 0,
18
+ settingsLabel: "Open the settings",
19
+ onOpenSettings: () => void 0
20
+ }
21
+ ) });
22
+ }
23
+ export {
24
+ NativePermissionPromptBlocked as default
25
+ };
@@ -0,0 +1,21 @@
1
+ import { PermissionPrompt } from "@krizaka/ui/native";
2
+ import { View } from "react-native";
3
+
4
+ // The system will not ask again: the way to the settings, the pigeon for notifications.
5
+ export default function NativePermissionPromptBlocked() {
6
+ return (
7
+ <View style={{ width: 340 }}>
8
+ <PermissionPrompt
9
+ status="blocked"
10
+ mascot="pigeon"
11
+ title="Know when you are outbid"
12
+ description="Turn on notifications to hear about your auctions."
13
+ blockedDescription="Notifications are off for Orochia. Turn them on in the settings to hear when you are outbid."
14
+ allowLabel="Turn on notifications"
15
+ onAllow={() => undefined}
16
+ settingsLabel="Open the settings"
17
+ onOpenSettings={() => undefined}
18
+ />
19
+ </View>
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,25 @@
1
+ "use client";
2
+
3
+ // registry/examples/permission-prompt/native/camera.tsx
4
+ import { PermissionPrompt } from "@krizaka/ui/native";
5
+ import { useState } from "react";
6
+ import { View } from "react-native";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function NativePermissionPromptCamera() {
9
+ const [status, setStatus] = useState("undetermined");
10
+ return /* @__PURE__ */ jsx(View, { style: { width: 340 }, children: /* @__PURE__ */ jsx(
11
+ PermissionPrompt,
12
+ {
13
+ status,
14
+ title: "Film your answer",
15
+ description: "Orochia uses the camera only while you record a challenge. Nothing is filmed before you press record.",
16
+ allowLabel: "Allow the camera",
17
+ onAllow: () => setStatus("granted"),
18
+ dismissLabel: "Not now",
19
+ onDismiss: () => void 0
20
+ }
21
+ ) });
22
+ }
23
+ export {
24
+ NativePermissionPromptCamera as default
25
+ };
@@ -0,0 +1,21 @@
1
+ import { PermissionPrompt } from "@krizaka/ui/native";
2
+ import { useState } from "react";
3
+ import { View } from "react-native";
4
+
5
+ // Before the system asks: why the camera, the button that asks, a way out.
6
+ export default function NativePermissionPromptCamera() {
7
+ const [status, setStatus] = useState<"undetermined" | "granted">("undetermined");
8
+ return (
9
+ <View style={{ width: 340 }}>
10
+ <PermissionPrompt
11
+ status={status}
12
+ title="Film your answer"
13
+ description="Orochia uses the camera only while you record a challenge. Nothing is filmed before you press record."
14
+ allowLabel="Allow the camera"
15
+ onAllow={() => setStatus("granted")}
16
+ dismissLabel="Not now"
17
+ onDismiss={() => undefined}
18
+ />
19
+ </View>
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,14 @@
1
+ "use client";
2
+
3
+ // registry/examples/pull-to-refresh/native/feed.tsx
4
+ import { PullToRefresh, Txt } from "@krizaka/ui/native";
5
+ import { useState } from "react";
6
+ import { ScrollView, View } from "react-native";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function NativePullToRefreshFeed() {
9
+ const [refreshing, setRefreshing] = useState(true);
10
+ return /* @__PURE__ */ jsx(View, { style: { width: 360, height: 240 }, children: /* @__PURE__ */ jsx(ScrollView, { refreshControl: /* @__PURE__ */ jsx(PullToRefresh, { refreshing, onRefresh: () => setRefreshing(false), label: "Pull to refresh" }), children: ["Sunset session \xB7 Elena \xB7 2.4K views", "Acoustic dare \xB7 Alex \xB7 918 views"].map((line) => /* @__PURE__ */ jsx(Txt, { style: { padding: 16 }, children: line }, line)) }) });
11
+ }
12
+ export {
13
+ NativePullToRefreshFeed as default
14
+ };
@@ -0,0 +1,19 @@
1
+ import { PullToRefresh, Txt } from "@krizaka/ui/native";
2
+ import { useState } from "react";
3
+ import { ScrollView, View } from "react-native";
4
+
5
+ // The platform's pull to refresh, in the accent: the `refreshControl` of any ScrollView.
6
+ export default function NativePullToRefreshFeed() {
7
+ const [refreshing, setRefreshing] = useState(true);
8
+ return (
9
+ <View style={{ width: 360, height: 240 }}>
10
+ <ScrollView refreshControl={<PullToRefresh refreshing={refreshing} onRefresh={() => setRefreshing(false)} label="Pull to refresh" />}>
11
+ {["Sunset session · Elena · 2.4K views", "Acoustic dare · Alex · 918 views"].map((line) => (
12
+ <Txt key={line} style={{ padding: 16 }}>
13
+ {line}
14
+ </Txt>
15
+ ))}
16
+ </ScrollView>
17
+ </View>
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,17 @@
1
+ "use client";
2
+
3
+ // registry/examples/radio-group/buttons.tsx
4
+ import { RadioGroup } from "@krizaka/ui/radio-group";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var TIPS = [
7
+ ["10", "10 %", "$4.20"],
8
+ ["15", "15 %", "$6.30"],
9
+ ["20", "20 %", "$8.40"],
10
+ ["0", "No tip", "\u2014"]
11
+ ];
12
+ function RadioGroupButtons() {
13
+ return /* @__PURE__ */ jsx(RadioGroup.Root, { label: "Tip", defaultValue: "15", variant: "buttons", children: TIPS.map(([value, label, amount]) => /* @__PURE__ */ jsx(RadioGroup.Button, { value, hint: amount, className: "w-24", children: label }, value)) });
14
+ }
15
+ export {
16
+ RadioGroupButtons as default
17
+ };
@@ -0,0 +1,21 @@
1
+ import { RadioGroup } from "@krizaka/ui/radio-group";
2
+
3
+ const TIPS = [
4
+ ["10", "10 %", "$4.20"],
5
+ ["15", "15 %", "$6.30"],
6
+ ["20", "20 %", "$8.40"],
7
+ ["0", "No tip", "—"],
8
+ ];
9
+
10
+ // Tactile keys: raised on their ledge, pressed in while held — the chosen one stays sunk, lit in the accent.
11
+ export default function RadioGroupButtons() {
12
+ return (
13
+ <RadioGroup.Root label="Tip" defaultValue="15" variant="buttons">
14
+ {TIPS.map(([value, label, amount]) => (
15
+ <RadioGroup.Button key={value} value={value} hint={amount} className="w-24">
16
+ {label}
17
+ </RadioGroup.Button>
18
+ ))}
19
+ </RadioGroup.Root>
20
+ );
21
+ }
@@ -9,7 +9,7 @@ var AMOUNTS = [
9
9
  ["50", "$50", "A night out"]
10
10
  ];
11
11
  function RadioGroupCards() {
12
- return /* @__PURE__ */ jsx(RadioGroup.Root, { label: "Amount", defaultValue: "20", className: "grid w-[30rem] max-w-full grid-cols-3 gap-3", children: AMOUNTS.map(([value, amount, hint]) => /* @__PURE__ */ jsxs(RadioGroup.Card, { value, children: [
12
+ return /* @__PURE__ */ jsx(RadioGroup.Root, { label: "Amount", defaultValue: "20", variant: "cards", className: "w-[30rem] max-w-full grid-cols-3", children: AMOUNTS.map(([value, amount, hint]) => /* @__PURE__ */ jsxs(RadioGroup.Card, { value, children: [
13
13
  /* @__PURE__ */ jsx("span", { className: "font-display text-lg font-bold", children: amount }),
14
14
  /* @__PURE__ */ jsx("span", { className: "text-xs text-fg-secondary", children: hint })
15
15
  ] }, value)) });
@@ -6,10 +6,10 @@ const AMOUNTS = [
6
6
  ["50", "$50", "A night out"],
7
7
  ];
8
8
 
9
- // Whole cards: the chosen one carries the accent border and tint.
9
+ // Whole cards: the chosen one carries the accent border, its tint and its lit check.
10
10
  export default function RadioGroupCards() {
11
11
  return (
12
- <RadioGroup.Root label="Amount" defaultValue="20" className="grid w-[30rem] max-w-full grid-cols-3 gap-3">
12
+ <RadioGroup.Root label="Amount" defaultValue="20" variant="cards" className="w-[30rem] max-w-full grid-cols-3">
13
13
  {AMOUNTS.map(([value, amount, hint]) => (
14
14
  <RadioGroup.Card key={value} value={value}>
15
15
  <span className="font-display text-lg font-bold">{amount}</span>
@@ -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/radio-group/native/buttons.tsx
4
+ import { RadioGroup } from "@krizaka/ui/native";
5
+ import { View } from "react-native";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function NativeRadioGroupButtons() {
8
+ return /* @__PURE__ */ jsx(View, { style: { width: 340 }, children: /* @__PURE__ */ jsx(
9
+ RadioGroup,
10
+ {
11
+ label: "Tip",
12
+ variant: "buttons",
13
+ defaultValue: "15",
14
+ options: [
15
+ { value: "10", label: "10 %", hint: "$4.20" },
16
+ { value: "15", label: "15 %", hint: "$6.30" },
17
+ { value: "20", label: "20 %", hint: "$8.40" },
18
+ { value: "0", label: "None" }
19
+ ]
20
+ }
21
+ ) });
22
+ }
23
+ export {
24
+ NativeRadioGroupButtons as default
25
+ };