@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,37 @@
1
+ "use client";
2
+
3
+ import { Badge } from "@krizaka/ui/badge";
4
+ import { Kanban, type KanbanMove } from "@krizaka/ui/kanban";
5
+ import { useState } from "react";
6
+
7
+ type Report = { id: string; video: string; reason: string; status: string };
8
+ const columns = [
9
+ { id: "open", title: "To review", limit: 3 },
10
+ { id: "reviewing", title: "Reviewing" },
11
+ { id: "resolved", title: "Resolved" },
12
+ ];
13
+
14
+ // The moderation queue: drag a report, or press Space and the arrow keys — every move announced.
15
+ export default function KanbanModeration() {
16
+ const [reports, setReports] = useState<Report[]>([
17
+ { id: "r1", video: "Backflip on the beach", reason: "Dangerous act", status: "open" },
18
+ { id: "r2", video: "Cover of the summer hit", reason: "Copyright", status: "open" },
19
+ { id: "r3", video: "Night drive", reason: "Copyright", status: "reviewing" },
20
+ { id: "r4", video: "Q&A with fans", reason: "Spam", status: "resolved" },
21
+ ]);
22
+ const move = ({ cardId, to, index }: KanbanMove) =>
23
+ setReports((all) => {
24
+ const card = { ...all.find((r) => r.id === cardId)!, status: to };
25
+ const rest = all.filter((r) => r.id !== cardId);
26
+ const before = rest.filter((r) => r.status === to).slice(0, index);
27
+ const at = before.length ? rest.indexOf(before[before.length - 1]!) + 1 : rest.findIndex((r) => r.status === to);
28
+ return [...rest.slice(0, Math.max(0, at)), card, ...rest.slice(Math.max(0, at))];
29
+ });
30
+ const render = (r: Report) => (
31
+ <div className="flex flex-col items-start gap-1.5">
32
+ <span className="font-semibold">{r.video}</span>
33
+ <Badge tone={r.reason === "Copyright" ? "warning" : "neutral"}>{r.reason}</Badge>
34
+ </div>
35
+ );
36
+ return <Kanban aria-label="Moderation queue" columns={columns} cards={reports} getId={(r) => r.id} getColumn={(r) => r.status} getTitle={(r) => r.video} renderCard={render} onMove={move} />;
37
+ }
@@ -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,35 @@
1
+ "use client";
2
+
3
+ // registry/examples/list/jobs.tsx
4
+ import { Badge } from "@krizaka/ui/badge";
5
+ import { List } from "@krizaka/ui/list";
6
+ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
+ var jobs = [
8
+ { id: "j1", name: "Dub \u201CSunset session\u201D into English", studio: "Dubbing studio", status: "running", when: "now" },
9
+ { id: "j2", name: "Transcribe the interview with Elena", studio: "Transcript studio", status: "done", when: "14:02" },
10
+ { id: "j3", name: "Clip the five best moments", studio: "Clips studio", status: "failed", when: "12:15" }
11
+ ];
12
+ var TONE = { running: "accent", done: "success", failed: "danger" };
13
+ function ListJobs() {
14
+ return /* @__PURE__ */ jsx(
15
+ List,
16
+ {
17
+ "aria-label": "Jobs",
18
+ items: jobs,
19
+ getId: (j) => j.id,
20
+ chevrons: true,
21
+ row: (j) => ({
22
+ title: j.name,
23
+ description: j.studio,
24
+ href: `#/jobs/${j.id}`,
25
+ meta: /* @__PURE__ */ jsxs(Fragment, { children: [
26
+ /* @__PURE__ */ jsx(Badge, { tone: TONE[j.status], children: j.status }),
27
+ /* @__PURE__ */ jsx("span", { children: j.when })
28
+ ] })
29
+ })
30
+ }
31
+ );
32
+ }
33
+ export {
34
+ ListJobs as default
35
+ };
@@ -0,0 +1,33 @@
1
+ import { Badge } from "@krizaka/ui/badge";
2
+ import { List } from "@krizaka/ui/list";
3
+
4
+ type Job = { id: string; name: string; studio: string; status: "running" | "done" | "failed"; when: string };
5
+ const jobs: Job[] = [
6
+ { id: "j1", name: "Dub “Sunset session” into English", studio: "Dubbing studio", status: "running", when: "now" },
7
+ { id: "j2", name: "Transcribe the interview with Elena", studio: "Transcript studio", status: "done", when: "14:02" },
8
+ { id: "j3", name: "Clip the five best moments", studio: "Clips studio", status: "failed", when: "12:15" },
9
+ ];
10
+ const TONE = { running: "accent", done: "success", failed: "danger" } as const;
11
+
12
+ // Orazaka's jobs: each row opens its run; the status and the time beside it.
13
+ export default function ListJobs() {
14
+ return (
15
+ <List
16
+ aria-label="Jobs"
17
+ items={jobs}
18
+ getId={(j) => j.id}
19
+ chevrons
20
+ row={(j) => ({
21
+ title: j.name,
22
+ description: j.studio,
23
+ href: `#/jobs/${j.id}`,
24
+ meta: (
25
+ <>
26
+ <Badge tone={TONE[j.status]}>{j.status}</Badge>
27
+ <span>{j.when}</span>
28
+ </>
29
+ ),
30
+ })}
31
+ />
32
+ );
33
+ }
@@ -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,33 @@
1
+ "use client";
2
+
3
+ // registry/examples/list/selectable.tsx
4
+ import { Avatar } from "@krizaka/ui/avatar";
5
+ import { Button } from "@krizaka/ui/button";
6
+ import { List } from "@krizaka/ui/list";
7
+ import { useState } from "react";
8
+ import { jsx } from "react/jsx-runtime";
9
+ var viewers = [
10
+ { id: "u1", name: "Mina Okafor", handle: "@mina", tipped: "$12" },
11
+ { id: "u2", name: "Alex Moreau", handle: "@alex", tipped: "$5" },
12
+ { id: "u3", name: "Elena Ruiz", handle: "@elena", tipped: "\u2014" }
13
+ ];
14
+ function ListSelectable() {
15
+ const [selected, setSelected] = useState(["u1"]);
16
+ return /* @__PURE__ */ jsx(
17
+ List,
18
+ {
19
+ "aria-label": "Viewers of your story",
20
+ density: "compact",
21
+ items: viewers,
22
+ getId: (v) => v.id,
23
+ selectable: true,
24
+ selected,
25
+ onSelectedChange: setSelected,
26
+ row: (v) => ({ title: v.name, description: v.handle, leading: /* @__PURE__ */ jsx(Avatar, { alt: v.name, fallback: v.name.charAt(0), size: "sm" }), meta: v.tipped }),
27
+ footer: /* @__PURE__ */ jsx(Button, { size: "sm", variant: "primary", disabled: selected.length === 0, children: `Thank ${selected.length}` })
28
+ }
29
+ );
30
+ }
31
+ export {
32
+ ListSelectable as default
33
+ };
@@ -0,0 +1,30 @@
1
+ "use client";
2
+
3
+ import { Avatar } from "@krizaka/ui/avatar";
4
+ import { Button } from "@krizaka/ui/button";
5
+ import { List } from "@krizaka/ui/list";
6
+ import { useState } from "react";
7
+
8
+ const viewers = [
9
+ { id: "u1", name: "Mina Okafor", handle: "@mina", tipped: "$12" },
10
+ { id: "u2", name: "Alex Moreau", handle: "@alex", tipped: "$5" },
11
+ { id: "u3", name: "Elena Ruiz", handle: "@elena", tipped: "—" },
12
+ ];
13
+
14
+ // Compact and selectable: who watched a story, a thank-you for the ones you pick.
15
+ export default function ListSelectable() {
16
+ const [selected, setSelected] = useState<string[]>(["u1"]);
17
+ return (
18
+ <List
19
+ aria-label="Viewers of your story"
20
+ density="compact"
21
+ items={viewers}
22
+ getId={(v) => v.id}
23
+ selectable
24
+ selected={selected}
25
+ onSelectedChange={setSelected}
26
+ row={(v) => ({ title: v.name, description: v.handle, leading: <Avatar alt={v.name} fallback={v.name.charAt(0)} size="sm" />, meta: v.tipped })}
27
+ footer={<Button size="sm" variant="primary" disabled={selected.length === 0}>{`Thank ${selected.length}`}</Button>}
28
+ />
29
+ );
30
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,22 @@
1
+ "use client";
2
+
3
+ // registry/examples/list/virtualized.tsx
4
+ import { List } from "@krizaka/ui/list";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var payouts = Array.from({ length: 2e3 }, (_, i) => ({ id: `p${i}`, amount: `$${(120 + i * 37 % 900).toFixed(2)}`, day: `Payout #${2e3 - i}` }));
7
+ function ListVirtualized() {
8
+ return /* @__PURE__ */ jsx(
9
+ List,
10
+ {
11
+ "aria-label": "Payouts",
12
+ density: "compact",
13
+ items: payouts,
14
+ getId: (p) => p.id,
15
+ virtualize: { rowHeight: 44, height: 264 },
16
+ row: (p) => ({ title: p.day, meta: p.amount })
17
+ }
18
+ );
19
+ }
20
+ export {
21
+ ListVirtualized as default
22
+ };
@@ -0,0 +1,17 @@
1
+ import { List } from "@krizaka/ui/list";
2
+
3
+ const payouts = Array.from({ length: 2_000 }, (_, i) => ({ id: `p${i}`, amount: `$${(120 + ((i * 37) % 900)).toFixed(2)}`, day: `Payout #${2_000 - i}` }));
4
+
5
+ // 2,000 payouts: only the rows in view are rendered, in a region the keyboard scrolls.
6
+ export default function ListVirtualized() {
7
+ return (
8
+ <List
9
+ aria-label="Payouts"
10
+ density="compact"
11
+ items={payouts}
12
+ getId={(p) => p.id}
13
+ virtualize={{ rowHeight: 44, height: 264 }}
14
+ row={(p) => ({ title: p.day, meta: p.amount })}
15
+ />
16
+ );
17
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,12 @@
1
+ "use client";
2
+
3
+ // registry/examples/loader/native/block.tsx
4
+ import { Loader } from "@krizaka/ui/native";
5
+ import { View } from "react-native";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function NativeLoaderBlock() {
8
+ return /* @__PURE__ */ jsx(View, { style: { width: 320 }, children: /* @__PURE__ */ jsx(Loader, { variant: "block", label: "Loading your jobs", delay: 0 }) });
9
+ }
10
+ export {
11
+ NativeLoaderBlock as default
12
+ };
@@ -0,0 +1,11 @@
1
+ import { Loader } from "@krizaka/ui/native";
2
+ import { View } from "react-native";
3
+
4
+ // `block`: the centre of a region whose content is on its way (the Jobs tab's first load).
5
+ export default function NativeLoaderBlock() {
6
+ return (
7
+ <View style={{ width: 320 }}>
8
+ <Loader variant="block" label="Loading your jobs" delay={0} />
9
+ </View>
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,17 @@
1
+ "use client";
2
+
3
+ // registry/examples/loader/native/job-wait.tsx
4
+ import { Button, Loader } 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 NativeLoaderJobWait() {
9
+ const [status, setStatus] = useState("loading");
10
+ return /* @__PURE__ */ jsxs(View, { style: { gap: 16, width: 320 }, children: [
11
+ /* @__PURE__ */ jsx(Loader, { label: "Dubbing your video", value: 0.42, eta: "About 2 min left", status, successLabel: "Dubbing ready", delay: 0 }),
12
+ /* @__PURE__ */ jsx(Button, { label: "Finish", size: "sm", onPress: () => setStatus("success") })
13
+ ] });
14
+ }
15
+ export {
16
+ NativeLoaderJobWait as default
17
+ };
@@ -0,0 +1,14 @@
1
+ import { Button, Loader } from "@krizaka/ui/native";
2
+ import { useState } from "react";
3
+ import { View } from "react-native";
4
+
5
+ // An Orazaka job: shown after 250 ms, never blinking, ending on a check and its words.
6
+ export default function NativeLoaderJobWait() {
7
+ const [status, setStatus] = useState<"loading" | "success">("loading");
8
+ return (
9
+ <View style={{ gap: 16, width: 320 }}>
10
+ <Loader label="Dubbing your video" value={0.42} eta="About 2 min left" status={status} successLabel="Dubbing ready" delay={0} />
11
+ <Button label="Finish" size="sm" onPress={() => setStatus("success")} />
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,16 @@
1
+ "use client";
2
+
3
+ // registry/examples/map/cluster.tsx
4
+ import { Cluster, Map, StaticMap } from "@krizaka/ui/map";
5
+ import { jsx } from "react/jsx-runtime";
6
+ var CREATORS = Array.from({ length: 60 }, (_, i) => ({
7
+ id: String(i),
8
+ label: `Creator ${i + 1}`,
9
+ position: [-73.62 + i * 37 % 60 / 600, 45.48 + i * 53 % 70 / 700]
10
+ }));
11
+ function MapCluster() {
12
+ return /* @__PURE__ */ jsx(Map, { label: "Creators near Montr\xE9al", center: [-73.58, 45.53], zoom: 11, className: "h-80 w-full max-w-xl", fallback: /* @__PURE__ */ jsx(StaticMap, { label: "Creators near Montr\xE9al", center: [-73.58, 45.53], zoom: 11 }), children: /* @__PURE__ */ jsx(Cluster, { points: CREATORS }) });
13
+ }
14
+ export {
15
+ MapCluster as default
16
+ };
@@ -0,0 +1,18 @@
1
+ "use client";
2
+
3
+ import { Cluster, Map, StaticMap } from "@krizaka/ui/map";
4
+
5
+ // 60 creators around Montréal, grouped while they are close; a group opens by zooming in.
6
+ const CREATORS = Array.from({ length: 60 }, (_, i) => ({
7
+ id: String(i),
8
+ label: `Creator ${i + 1}`,
9
+ position: [-73.62 + ((i * 37) % 60) / 600, 45.48 + ((i * 53) % 70) / 700] as const,
10
+ }));
11
+
12
+ export default function MapCluster() {
13
+ return (
14
+ <Map label="Creators near Montréal" center={[-73.58, 45.53]} zoom={11} className="h-80 w-full max-w-xl" fallback={<StaticMap label="Creators near Montréal" center={[-73.58, 45.53]} zoom={11} />}>
15
+ <Cluster points={CREATORS} />
16
+ </Map>
17
+ );
18
+ }
@@ -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/map/location-picker.tsx
4
+ import { LocationPicker, StaticMap } from "@krizaka/ui/map";
5
+ import * as React from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ function MapLocationPicker() {
8
+ const [point, setPoint] = React.useState([-73.5673, 45.5017]);
9
+ return /* @__PURE__ */ jsx("div", { className: "w-full max-w-xl", children: /* @__PURE__ */ jsx(
10
+ LocationPicker,
11
+ {
12
+ label: "Meeting point",
13
+ locale: "en-CA",
14
+ value: point,
15
+ onValueChange: setPoint,
16
+ origin: [-73.5794, 45.5048],
17
+ radius: 1e3,
18
+ fallback: /* @__PURE__ */ jsx(StaticMap, { label: "Meeting point", center: point, zoom: 14, places: [{ position: point, label: "Meeting point" }] })
19
+ }
20
+ ) });
21
+ }
22
+ export {
23
+ MapLocationPicker as default
24
+ };
@@ -0,0 +1,22 @@
1
+ "use client";
2
+
3
+ import { type LngLat, LocationPicker, StaticMap } from "@krizaka/ui/map";
4
+ import * as React from "react";
5
+
6
+ // A meeting point picked by moving the map under the pin: its distance from the person, a 1-km zone, "Near me" on request.
7
+ export default function MapLocationPicker() {
8
+ const [point, setPoint] = React.useState<LngLat>([-73.5673, 45.5017]);
9
+ return (
10
+ <div className="w-full max-w-xl">
11
+ <LocationPicker
12
+ label="Meeting point"
13
+ locale="en-CA"
14
+ value={point}
15
+ onValueChange={setPoint}
16
+ origin={[-73.5794, 45.5048]}
17
+ radius={1000}
18
+ fallback={<StaticMap label="Meeting point" center={point} zoom={14} places={[{ position: point, label: "Meeting point" }]} />}
19
+ />
20
+ </div>
21
+ );
22
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,14 @@
1
+ "use client";
2
+
3
+ // registry/examples/map/native/location-picker.tsx
4
+ import { LocationPicker } from "@krizaka/ui/native/map";
5
+ import * as React from "react";
6
+ import { View } from "react-native";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function NativeMapLocationPicker() {
9
+ const [point, setPoint] = React.useState([-73.5673, 45.5017]);
10
+ return /* @__PURE__ */ jsx(View, { style: { width: 340 }, children: /* @__PURE__ */ jsx(LocationPicker, { label: "Meeting point", locale: "en-CA", value: point, onValueChange: setPoint, origin: [-73.5794, 45.5048], radius: 1e3 }) });
11
+ }
12
+ export {
13
+ NativeMapLocationPicker as default
14
+ };
@@ -0,0 +1,13 @@
1
+ import { type LngLat, LocationPicker } from "@krizaka/ui/native/map";
2
+ import * as React from "react";
3
+ import { View } from "react-native";
4
+
5
+ // A meeting point under the pin; "Near me" asks for the location only when pressed, the distance follows.
6
+ export default function NativeMapLocationPicker() {
7
+ const [point, setPoint] = React.useState<LngLat>([-73.5673, 45.5017]);
8
+ return (
9
+ <View style={{ width: 340 }}>
10
+ <LocationPicker label="Meeting point" locale="en-CA" value={point} onValueChange={setPoint} origin={[-73.5794, 45.5048]} radius={1000} />
11
+ </View>
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/map/native/places.tsx
4
+ import { Button, Sheet, Txt } from "@krizaka/ui/native";
5
+ import { Map, Marker } from "@krizaka/ui/native/map";
6
+ import * as React from "react";
7
+ import { View } from "react-native";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ var SPOTS = [
10
+ { id: "olimpico", label: "Caf\xE9 Olimpico", address: "124 Rue Saint-Viateur O", position: [-73.6005, 45.5229] },
11
+ { id: "parc", label: "Parc La Fontaine", address: "3933 Av. du Parc-La Fontaine", position: [-73.5695, 45.5268] }
12
+ ];
13
+ function NativeMapPlaces() {
14
+ const [open, setOpen] = React.useState(null);
15
+ return /* @__PURE__ */ jsxs(View, { style: { width: 340 }, children: [
16
+ /* @__PURE__ */ jsx(Map, { label: "Pick-up points in Montr\xE9al", center: [-73.585, 45.524], zoom: 12.5, children: SPOTS.map((s) => /* @__PURE__ */ jsx(Marker, { position: s.position, label: s.label, selected: open?.id === s.id, onPress: () => setOpen(s) }, s.id)) }),
17
+ /* @__PURE__ */ jsxs(Sheet, { open: Boolean(open), onOpenChange: (o) => !o && setOpen(null), title: open?.label, children: [
18
+ /* @__PURE__ */ jsx(Txt, { tone: "secondary", children: open?.address }),
19
+ /* @__PURE__ */ jsx(Button, { label: "Choose this point", variant: "primary", onPress: () => setOpen(null) })
20
+ ] })
21
+ ] });
22
+ }
23
+ export {
24
+ NativeMapPlaces as default
25
+ };
@@ -0,0 +1,27 @@
1
+ import { Button, Sheet, Txt } from "@krizaka/ui/native";
2
+ import { Map, Marker } from "@krizaka/ui/native/map";
3
+ import * as React from "react";
4
+ import { View } from "react-native";
5
+
6
+ const SPOTS = [
7
+ { id: "olimpico", label: "Café Olimpico", address: "124 Rue Saint-Viateur O", position: [-73.6005, 45.5229] as const },
8
+ { id: "parc", label: "Parc La Fontaine", address: "3933 Av. du Parc-La Fontaine", position: [-73.5695, 45.5268] as const },
9
+ ];
10
+
11
+ // Pick-up points: a marker pressed opens its details in a bottom sheet.
12
+ export default function NativeMapPlaces() {
13
+ const [open, setOpen] = React.useState<(typeof SPOTS)[number] | null>(null);
14
+ return (
15
+ <View style={{ width: 340 }}>
16
+ <Map label="Pick-up points in Montréal" center={[-73.585, 45.524]} zoom={12.5}>
17
+ {SPOTS.map((s) => (
18
+ <Marker key={s.id} position={s.position} label={s.label} selected={open?.id === s.id} onPress={() => setOpen(s)} />
19
+ ))}
20
+ </Map>
21
+ <Sheet open={Boolean(open)} onOpenChange={(o) => !o && setOpen(null)} title={open?.label}>
22
+ <Txt tone="secondary">{open?.address}</Txt>
23
+ <Button label="Choose this point" variant="primary" onPress={() => setOpen(null)} />
24
+ </Sheet>
25
+ </View>
26
+ );
27
+ }
@@ -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,28 @@
1
+ "use client";
2
+
3
+ // registry/examples/map/places.tsx
4
+ import { Map, Marker, StaticMap } from "@krizaka/ui/map";
5
+ import * as React from "react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ var SPOTS = [
8
+ { id: "olimpico", label: "Caf\xE9 Olimpico, Mile End", position: [-73.6005, 45.5229] },
9
+ { id: "jean-talon", label: "March\xE9 Jean-Talon", position: [-73.6147, 45.5363] },
10
+ { id: "parc", label: "Parc La Fontaine", position: [-73.5695, 45.5268] }
11
+ ];
12
+ function MapPlaces() {
13
+ const [chosen, setChosen] = React.useState("olimpico");
14
+ return /* @__PURE__ */ jsx(
15
+ Map,
16
+ {
17
+ label: "Pick-up points in Montr\xE9al",
18
+ center: [-73.592, 45.528],
19
+ zoom: 12.5,
20
+ className: "h-80 w-full max-w-xl",
21
+ fallback: /* @__PURE__ */ jsx(StaticMap, { label: "Pick-up points in Montr\xE9al", center: [-73.592, 45.528], zoom: 12.5, places: SPOTS }),
22
+ children: SPOTS.map((s) => /* @__PURE__ */ jsx(Marker, { position: s.position, label: s.label, selected: s.id === chosen, onPress: () => setChosen(s.id) }, s.id))
23
+ }
24
+ );
25
+ }
26
+ export {
27
+ MapPlaces as default
28
+ };
@@ -0,0 +1,28 @@
1
+ "use client";
2
+
3
+ import { Map, Marker, StaticMap } from "@krizaka/ui/map";
4
+ import * as React from "react";
5
+
6
+ const SPOTS = [
7
+ { id: "olimpico", label: "Café Olimpico, Mile End", position: [-73.6005, 45.5229] as const },
8
+ { id: "jean-talon", label: "Marché Jean-Talon", position: [-73.6147, 45.5363] as const },
9
+ { id: "parc", label: "Parc La Fontaine", position: [-73.5695, 45.5268] as const },
10
+ ];
11
+
12
+ // Pick-up points in Montréal: markers are buttons, the chosen one shows its name; the places are a list for screen readers.
13
+ export default function MapPlaces() {
14
+ const [chosen, setChosen] = React.useState("olimpico");
15
+ return (
16
+ <Map
17
+ label="Pick-up points in Montréal"
18
+ center={[-73.592, 45.528]}
19
+ zoom={12.5}
20
+ className="h-80 w-full max-w-xl"
21
+ fallback={<StaticMap label="Pick-up points in Montréal" center={[-73.592, 45.528]} zoom={12.5} places={SPOTS} />}
22
+ >
23
+ {SPOTS.map((s) => (
24
+ <Marker key={s.id} position={s.position} label={s.label} selected={s.id === chosen} onPress={() => setChosen(s.id)} />
25
+ ))}
26
+ </Map>
27
+ );
28
+ }
@@ -0,0 +1,4 @@
1
+ import type { ComponentType } from "react";
2
+ /** A named example of the @krizaka/ui registry; `defaultOpen` opens what it opens (a dialog, a menu, toasts) at load. */
3
+ declare const Example: ComponentType<{ defaultOpen?: boolean }>;
4
+ export default Example;
@@ -0,0 +1,22 @@
1
+ "use client";
2
+
3
+ // registry/examples/map/static.tsx
4
+ import { StaticMap } from "@krizaka/ui/map";
5
+ import { jsx } from "react/jsx-runtime";
6
+ function MapStatic() {
7
+ return /* @__PURE__ */ jsx("div", { className: "h-56 w-full max-w-md overflow-hidden rounded-2xl border border-border-default", children: /* @__PURE__ */ jsx(
8
+ StaticMap,
9
+ {
10
+ label: "Your two pick-up points",
11
+ center: [-73.585, 45.524],
12
+ zoom: 13,
13
+ places: [
14
+ { position: [-73.6005, 45.5229], label: "Caf\xE9 Olimpico" },
15
+ { position: [-73.5695, 45.5268], label: "Parc La Fontaine" }
16
+ ]
17
+ }
18
+ ) });
19
+ }
20
+ export {
21
+ MapStatic as default
22
+ };
@@ -0,0 +1,18 @@
1
+ import { StaticMap } from "@krizaka/ui/map";
2
+
3
+ // A still map without an engine: the places projected on the map's paper — a card, a list item, the fallback of a Map.
4
+ export default function MapStatic() {
5
+ return (
6
+ <div className="h-56 w-full max-w-md overflow-hidden rounded-2xl border border-border-default">
7
+ <StaticMap
8
+ label="Your two pick-up points"
9
+ center={[-73.585, 45.524]}
10
+ zoom={13}
11
+ places={[
12
+ { position: [-73.6005, 45.5229], label: "Café Olimpico" },
13
+ { position: [-73.5695, 45.5268], label: "Parc La Fontaine" },
14
+ ]}
15
+ />
16
+ </div>
17
+ );
18
+ }
@@ -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;