@krizaka/ui 3.3.0 → 3.5.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 (477) 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/chat.d.ts +187 -0
  5. package/dist/chat.js +132 -0
  6. package/dist/chat.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-ECSCA3CN.js +128 -0
  10. package/dist/chunk-ECSCA3CN.js.map +1 -0
  11. package/dist/chunk-F2GKFIYK.js +47 -0
  12. package/dist/chunk-F2GKFIYK.js.map +1 -0
  13. package/dist/data-table.js +84 -231
  14. package/dist/data-table.js.map +1 -1
  15. package/dist/description-list.d.ts +105 -0
  16. package/dist/description-list.js +49 -0
  17. package/dist/description-list.js.map +1 -0
  18. package/dist/index.js +13 -66
  19. package/dist/index.js.map +1 -1
  20. package/dist/kanban.d.ts +132 -0
  21. package/dist/kanban.js +187 -0
  22. package/dist/kanban.js.map +1 -0
  23. package/dist/list.d.ts +153 -0
  24. package/dist/list.js +130 -0
  25. package/dist/list.js.map +1 -0
  26. package/dist/map.d.ts +463 -0
  27. package/dist/map.js +952 -0
  28. package/dist/map.js.map +1 -0
  29. package/dist/match-dialog.d.ts +30 -0
  30. package/dist/match-dialog.js +146 -0
  31. package/dist/match-dialog.js.map +1 -0
  32. package/dist/motion.css +12 -1
  33. package/dist/native/map.d.ts +200 -0
  34. package/dist/native/map.js +673 -0
  35. package/dist/native/map.js.map +1 -0
  36. package/dist/native/media-picker.d.ts +58 -0
  37. package/dist/native/media-picker.js +63 -0
  38. package/dist/native/media-picker.js.map +1 -0
  39. package/dist/native.d.ts +952 -75
  40. package/dist/native.js +2572 -889
  41. package/dist/native.js.map +1 -1
  42. package/dist/photo-grid.d.ts +122 -0
  43. package/dist/photo-grid.js +94 -0
  44. package/dist/photo-grid.js.map +1 -0
  45. package/dist/stat.d.ts +31 -2
  46. package/dist/stat.js +21 -4
  47. package/dist/stat.js.map +1 -1
  48. package/dist/step-progress.d.ts +20 -0
  49. package/dist/step-progress.js +17 -0
  50. package/dist/step-progress.js.map +1 -0
  51. package/dist/swipe-deck.d.ts +183 -0
  52. package/dist/swipe-deck.js +144 -0
  53. package/dist/swipe-deck.js.map +1 -0
  54. package/dist/tag-selector.d.ts +26 -0
  55. package/dist/tag-selector.js +21 -0
  56. package/dist/tag-selector.js.map +1 -0
  57. package/dist/tree-view.d.ts +111 -0
  58. package/dist/tree-view.js +154 -0
  59. package/dist/tree-view.js.map +1 -0
  60. package/dist/verified-badge.d.ts +16 -0
  61. package/dist/verified-badge.js +23 -0
  62. package/dist/verified-badge.js.map +1 -0
  63. package/package.json +245 -10
  64. package/registry/achievement.json +1 -1
  65. package/registry/action-bar.json +1 -1
  66. package/registry/action-sheet.json +121 -0
  67. package/registry/activity-feed.json +468 -0
  68. package/registry/alert.json +1 -1
  69. package/registry/app-shell.json +1 -1
  70. package/registry/argument-card.json +1 -1
  71. package/registry/audio-player.json +1 -1
  72. package/registry/auth-layout.json +1 -1
  73. package/registry/avatar.json +58 -3
  74. package/registry/badge.json +1 -1
  75. package/registry/button.json +1 -1
  76. package/registry/card-grid.json +1 -1
  77. package/registry/card.json +1 -1
  78. package/registry/catalogue-page.json +1 -1
  79. package/registry/changelog-page.json +1 -1
  80. package/registry/chat.json +917 -0
  81. package/registry/checkbox.json +1 -1
  82. package/registry/chip-link.json +1 -1
  83. package/registry/chip.json +1 -1
  84. package/registry/choice-grid.json +1 -1
  85. package/registry/code-block.json +1 -1
  86. package/registry/combobox.json +1 -1
  87. package/registry/command.json +1 -1
  88. package/registry/component-page.json +1 -1
  89. package/registry/confirm-button.json +1 -1
  90. package/registry/contact-page.json +1 -1
  91. package/registry/continue-prompt.json +1 -1
  92. package/registry/countdown.json +1 -1
  93. package/registry/cta-panel.json +1 -1
  94. package/registry/dashboard-layout.json +1 -1
  95. package/registry/data-table.json +1 -1
  96. package/registry/date-picker.json +2 -2
  97. package/registry/decision-list.json +1 -1
  98. package/registry/description-list.json +232 -0
  99. package/registry/detail-layout.json +1 -1
  100. package/registry/dialog.json +1 -1
  101. package/registry/docs-article-page.json +1 -1
  102. package/registry/docs-hub-page.json +1 -1
  103. package/registry/docs-layout.json +1 -1
  104. package/registry/dropdown-menu.json +1 -1
  105. package/registry/empty-state.json +1 -1
  106. package/registry/error-page.json +1 -1
  107. package/registry/examples/action-sheet/native/video-actions.d.ts +4 -0
  108. package/registry/examples/action-sheet/native/video-actions.dark.png +0 -0
  109. package/registry/examples/action-sheet/native/video-actions.js +30 -0
  110. package/registry/examples/action-sheet/native/video-actions.light.png +0 -0
  111. package/registry/examples/action-sheet/native/video-actions.tsx +24 -0
  112. package/registry/examples/activity-feed/job-activity.d.ts +4 -0
  113. package/registry/examples/activity-feed/job-activity.js +21 -0
  114. package/registry/examples/activity-feed/job-activity.tsx +17 -0
  115. package/registry/examples/activity-feed/live.d.ts +4 -0
  116. package/registry/examples/activity-feed/live.js +23 -0
  117. package/registry/examples/activity-feed/live.tsx +24 -0
  118. package/registry/examples/activity-feed/native/notifications.d.ts +4 -0
  119. package/registry/examples/activity-feed/native/notifications.dark.png +0 -0
  120. package/registry/examples/activity-feed/native/notifications.js +18 -0
  121. package/registry/examples/activity-feed/native/notifications.light.png +0 -0
  122. package/registry/examples/activity-feed/native/notifications.tsx +18 -0
  123. package/registry/examples/activity-feed/timeline.d.ts +4 -0
  124. package/registry/examples/activity-feed/timeline.js +25 -0
  125. package/registry/examples/activity-feed/timeline.tsx +19 -0
  126. package/registry/examples/avatar/native/presence.d.ts +4 -0
  127. package/registry/examples/avatar/native/presence.dark.png +0 -0
  128. package/registry/examples/avatar/native/presence.js +18 -0
  129. package/registry/examples/avatar/native/presence.light.png +0 -0
  130. package/registry/examples/avatar/native/presence.tsx +15 -0
  131. package/registry/examples/chat/conversation.d.ts +4 -0
  132. package/registry/examples/chat/conversation.js +22 -0
  133. package/registry/examples/chat/conversation.tsx +21 -0
  134. package/registry/examples/chat/inbox.d.ts +4 -0
  135. package/registry/examples/chat/inbox.js +15 -0
  136. package/registry/examples/chat/inbox.tsx +12 -0
  137. package/registry/examples/chat/native/conversation.d.ts +4 -0
  138. package/registry/examples/chat/native/conversation.dark.png +0 -0
  139. package/registry/examples/chat/native/conversation.js +23 -0
  140. package/registry/examples/chat/native/conversation.light.png +0 -0
  141. package/registry/examples/chat/native/conversation.tsx +20 -0
  142. package/registry/examples/chat/native/inbox.d.ts +4 -0
  143. package/registry/examples/chat/native/inbox.dark.png +0 -0
  144. package/registry/examples/chat/native/inbox.js +16 -0
  145. package/registry/examples/chat/native/inbox.light.png +0 -0
  146. package/registry/examples/chat/native/inbox.tsx +13 -0
  147. package/registry/examples/description-list/job-details.d.ts +4 -0
  148. package/registry/examples/description-list/job-details.js +23 -0
  149. package/registry/examples/description-list/job-details.tsx +17 -0
  150. package/registry/examples/description-list/key-value-grid.d.ts +4 -0
  151. package/registry/examples/description-list/key-value-grid.js +22 -0
  152. package/registry/examples/description-list/key-value-grid.tsx +16 -0
  153. package/registry/examples/description-list/native/job-details.d.ts +4 -0
  154. package/registry/examples/description-list/native/job-details.dark.png +0 -0
  155. package/registry/examples/description-list/native/job-details.js +33 -0
  156. package/registry/examples/description-list/native/job-details.light.png +0 -0
  157. package/registry/examples/description-list/native/job-details.tsx +24 -0
  158. package/registry/examples/description-list/receipt.d.ts +4 -0
  159. package/registry/examples/description-list/receipt.js +23 -0
  160. package/registry/examples/description-list/receipt.tsx +17 -0
  161. package/registry/examples/fab/native/extended.d.ts +4 -0
  162. package/registry/examples/fab/native/extended.dark.png +0 -0
  163. package/registry/examples/fab/native/extended.js +18 -0
  164. package/registry/examples/fab/native/extended.light.png +0 -0
  165. package/registry/examples/fab/native/extended.tsx +23 -0
  166. package/registry/examples/header/native/large-title.d.ts +4 -0
  167. package/registry/examples/header/native/large-title.dark.png +0 -0
  168. package/registry/examples/header/native/large-title.js +23 -0
  169. package/registry/examples/header/native/large-title.light.png +0 -0
  170. package/registry/examples/header/native/large-title.tsx +31 -0
  171. package/registry/examples/image-viewer/native/gallery.d.ts +4 -0
  172. package/registry/examples/image-viewer/native/gallery.dark.png +0 -0
  173. package/registry/examples/image-viewer/native/gallery.js +22 -0
  174. package/registry/examples/image-viewer/native/gallery.light.png +0 -0
  175. package/registry/examples/image-viewer/native/gallery.tsx +21 -0
  176. package/registry/examples/kanban/moderation.d.ts +4 -0
  177. package/registry/examples/kanban/moderation.js +35 -0
  178. package/registry/examples/kanban/moderation.tsx +37 -0
  179. package/registry/examples/list/jobs.d.ts +4 -0
  180. package/registry/examples/list/jobs.js +35 -0
  181. package/registry/examples/list/jobs.tsx +33 -0
  182. package/registry/examples/list/selectable.d.ts +4 -0
  183. package/registry/examples/list/selectable.js +33 -0
  184. package/registry/examples/list/selectable.tsx +30 -0
  185. package/registry/examples/list/virtualized.d.ts +4 -0
  186. package/registry/examples/list/virtualized.js +22 -0
  187. package/registry/examples/list/virtualized.tsx +17 -0
  188. package/registry/examples/loader/native/block.d.ts +4 -0
  189. package/registry/examples/loader/native/block.dark.png +0 -0
  190. package/registry/examples/loader/native/block.js +12 -0
  191. package/registry/examples/loader/native/block.light.png +0 -0
  192. package/registry/examples/loader/native/block.tsx +11 -0
  193. package/registry/examples/loader/native/job-wait.d.ts +4 -0
  194. package/registry/examples/loader/native/job-wait.dark.png +0 -0
  195. package/registry/examples/loader/native/job-wait.js +17 -0
  196. package/registry/examples/loader/native/job-wait.light.png +0 -0
  197. package/registry/examples/loader/native/job-wait.tsx +14 -0
  198. package/registry/examples/map/cluster.d.ts +4 -0
  199. package/registry/examples/map/cluster.js +16 -0
  200. package/registry/examples/map/cluster.tsx +18 -0
  201. package/registry/examples/map/location-picker.d.ts +4 -0
  202. package/registry/examples/map/location-picker.js +24 -0
  203. package/registry/examples/map/location-picker.tsx +22 -0
  204. package/registry/examples/map/native/location-picker.d.ts +4 -0
  205. package/registry/examples/map/native/location-picker.dark.png +0 -0
  206. package/registry/examples/map/native/location-picker.js +14 -0
  207. package/registry/examples/map/native/location-picker.light.png +0 -0
  208. package/registry/examples/map/native/location-picker.tsx +13 -0
  209. package/registry/examples/map/native/places.d.ts +4 -0
  210. package/registry/examples/map/native/places.dark.png +0 -0
  211. package/registry/examples/map/native/places.js +25 -0
  212. package/registry/examples/map/native/places.light.png +0 -0
  213. package/registry/examples/map/native/places.tsx +27 -0
  214. package/registry/examples/map/places.d.ts +4 -0
  215. package/registry/examples/map/places.js +28 -0
  216. package/registry/examples/map/places.tsx +28 -0
  217. package/registry/examples/map/static.d.ts +4 -0
  218. package/registry/examples/map/static.js +22 -0
  219. package/registry/examples/map/static.tsx +18 -0
  220. package/registry/examples/match-dialog/its-a-match.d.ts +4 -0
  221. package/registry/examples/match-dialog/its-a-match.js +29 -0
  222. package/registry/examples/match-dialog/its-a-match.tsx +25 -0
  223. package/registry/examples/match-dialog/native/its-a-match.d.ts +4 -0
  224. package/registry/examples/match-dialog/native/its-a-match.dark.png +0 -0
  225. package/registry/examples/match-dialog/native/its-a-match.js +28 -0
  226. package/registry/examples/match-dialog/native/its-a-match.light.png +0 -0
  227. package/registry/examples/match-dialog/native/its-a-match.tsx +22 -0
  228. package/registry/examples/media-picker/native/story.d.ts +4 -0
  229. package/registry/examples/media-picker/native/story.dark.png +0 -0
  230. package/registry/examples/media-picker/native/story.js +30 -0
  231. package/registry/examples/media-picker/native/story.light.png +0 -0
  232. package/registry/examples/media-picker/native/story.tsx +26 -0
  233. package/registry/examples/meter/native/credits.d.ts +4 -0
  234. package/registry/examples/meter/native/credits.dark.png +0 -0
  235. package/registry/examples/meter/native/credits.js +15 -0
  236. package/registry/examples/meter/native/credits.light.png +0 -0
  237. package/registry/examples/meter/native/credits.tsx +12 -0
  238. package/registry/examples/meter/native/split-ring.d.ts +4 -0
  239. package/registry/examples/meter/native/split-ring.dark.png +0 -0
  240. package/registry/examples/meter/native/split-ring.js +24 -0
  241. package/registry/examples/meter/native/split-ring.light.png +0 -0
  242. package/registry/examples/meter/native/split-ring.tsx +19 -0
  243. package/registry/examples/number-ticker/native/balance.d.ts +4 -0
  244. package/registry/examples/number-ticker/native/balance.dark.png +0 -0
  245. package/registry/examples/number-ticker/native/balance.js +18 -0
  246. package/registry/examples/number-ticker/native/balance.light.png +0 -0
  247. package/registry/examples/number-ticker/native/balance.tsx +17 -0
  248. package/registry/examples/onboarding/native/first-launch.d.ts +4 -0
  249. package/registry/examples/onboarding/native/first-launch.dark.png +0 -0
  250. package/registry/examples/onboarding/native/first-launch.js +23 -0
  251. package/registry/examples/onboarding/native/first-launch.light.png +0 -0
  252. package/registry/examples/onboarding/native/first-launch.tsx +19 -0
  253. package/registry/examples/otp-input/native/invalid.d.ts +4 -0
  254. package/registry/examples/otp-input/native/invalid.dark.png +0 -0
  255. package/registry/examples/otp-input/native/invalid.js +15 -0
  256. package/registry/examples/otp-input/native/invalid.light.png +0 -0
  257. package/registry/examples/otp-input/native/invalid.tsx +14 -0
  258. package/registry/examples/otp-input/native/verify.d.ts +4 -0
  259. package/registry/examples/otp-input/native/verify.dark.png +0 -0
  260. package/registry/examples/otp-input/native/verify.js +17 -0
  261. package/registry/examples/otp-input/native/verify.light.png +0 -0
  262. package/registry/examples/otp-input/native/verify.tsx +14 -0
  263. package/registry/examples/permission-prompt/native/blocked.d.ts +4 -0
  264. package/registry/examples/permission-prompt/native/blocked.dark.png +0 -0
  265. package/registry/examples/permission-prompt/native/blocked.js +25 -0
  266. package/registry/examples/permission-prompt/native/blocked.light.png +0 -0
  267. package/registry/examples/permission-prompt/native/blocked.tsx +21 -0
  268. package/registry/examples/permission-prompt/native/camera.d.ts +4 -0
  269. package/registry/examples/permission-prompt/native/camera.dark.png +0 -0
  270. package/registry/examples/permission-prompt/native/camera.js +25 -0
  271. package/registry/examples/permission-prompt/native/camera.light.png +0 -0
  272. package/registry/examples/permission-prompt/native/camera.tsx +21 -0
  273. package/registry/examples/photo-grid/native/profile-photos.d.ts +4 -0
  274. package/registry/examples/photo-grid/native/profile-photos.dark.png +0 -0
  275. package/registry/examples/photo-grid/native/profile-photos.js +27 -0
  276. package/registry/examples/photo-grid/native/profile-photos.light.png +0 -0
  277. package/registry/examples/photo-grid/native/profile-photos.tsx +24 -0
  278. package/registry/examples/photo-grid/profile-photos.d.ts +4 -0
  279. package/registry/examples/photo-grid/profile-photos.js +28 -0
  280. package/registry/examples/photo-grid/profile-photos.tsx +25 -0
  281. package/registry/examples/pull-to-refresh/native/feed.d.ts +4 -0
  282. package/registry/examples/pull-to-refresh/native/feed.dark.png +0 -0
  283. package/registry/examples/pull-to-refresh/native/feed.js +14 -0
  284. package/registry/examples/pull-to-refresh/native/feed.light.png +0 -0
  285. package/registry/examples/pull-to-refresh/native/feed.tsx +19 -0
  286. package/registry/examples/screen/native/app-shell.d.ts +4 -0
  287. package/registry/examples/screen/native/app-shell.dark.png +0 -0
  288. package/registry/examples/screen/native/app-shell.js +25 -0
  289. package/registry/examples/screen/native/app-shell.light.png +0 -0
  290. package/registry/examples/screen/native/app-shell.tsx +33 -0
  291. package/registry/examples/screen/native/auth.d.ts +4 -0
  292. package/registry/examples/screen/native/auth.dark.png +0 -0
  293. package/registry/examples/screen/native/auth.js +24 -0
  294. package/registry/examples/screen/native/auth.light.png +0 -0
  295. package/registry/examples/screen/native/auth.tsx +20 -0
  296. package/registry/examples/screen/native/chat.d.ts +4 -0
  297. package/registry/examples/screen/native/chat.dark.png +0 -0
  298. package/registry/examples/screen/native/chat.js +27 -0
  299. package/registry/examples/screen/native/chat.light.png +0 -0
  300. package/registry/examples/screen/native/chat.tsx +22 -0
  301. package/registry/examples/screen/native/feed.d.ts +4 -0
  302. package/registry/examples/screen/native/feed.dark.png +0 -0
  303. package/registry/examples/screen/native/feed.js +24 -0
  304. package/registry/examples/screen/native/feed.light.png +0 -0
  305. package/registry/examples/screen/native/feed.tsx +34 -0
  306. package/registry/examples/screen/native/profile.d.ts +4 -0
  307. package/registry/examples/screen/native/profile.dark.png +0 -0
  308. package/registry/examples/screen/native/profile.js +29 -0
  309. package/registry/examples/screen/native/profile.light.png +0 -0
  310. package/registry/examples/screen/native/profile.tsx +27 -0
  311. package/registry/examples/screen/native/settings.d.ts +4 -0
  312. package/registry/examples/screen/native/settings.dark.png +0 -0
  313. package/registry/examples/screen/native/settings.js +20 -0
  314. package/registry/examples/screen/native/settings.light.png +0 -0
  315. package/registry/examples/screen/native/settings.tsx +19 -0
  316. package/registry/examples/search-field/native/cancel.d.ts +4 -0
  317. package/registry/examples/search-field/native/cancel.dark.png +0 -0
  318. package/registry/examples/search-field/native/cancel.js +14 -0
  319. package/registry/examples/search-field/native/cancel.light.png +0 -0
  320. package/registry/examples/search-field/native/cancel.tsx +13 -0
  321. package/registry/examples/stat/grid.d.ts +4 -0
  322. package/registry/examples/stat/grid.js +17 -0
  323. package/registry/examples/stat/grid.tsx +14 -0
  324. package/registry/examples/step-progress/native/sign-up.d.ts +4 -0
  325. package/registry/examples/step-progress/native/sign-up.dark.png +0 -0
  326. package/registry/examples/step-progress/native/sign-up.js +12 -0
  327. package/registry/examples/step-progress/native/sign-up.light.png +0 -0
  328. package/registry/examples/step-progress/native/sign-up.tsx +11 -0
  329. package/registry/examples/step-progress/sign-up.d.ts +4 -0
  330. package/registry/examples/step-progress/sign-up.js +22 -0
  331. package/registry/examples/step-progress/sign-up.tsx +16 -0
  332. package/registry/examples/stepper/native/run.d.ts +4 -0
  333. package/registry/examples/stepper/native/run.dark.png +0 -0
  334. package/registry/examples/stepper/native/run.js +24 -0
  335. package/registry/examples/stepper/native/run.light.png +0 -0
  336. package/registry/examples/stepper/native/run.tsx +20 -0
  337. package/registry/examples/swipe-deck/discover.d.ts +4 -0
  338. package/registry/examples/swipe-deck/discover.js +41 -0
  339. package/registry/examples/swipe-deck/discover.tsx +37 -0
  340. package/registry/examples/swipe-deck/native/discover.d.ts +4 -0
  341. package/registry/examples/swipe-deck/native/discover.dark.png +0 -0
  342. package/registry/examples/swipe-deck/native/discover.js +39 -0
  343. package/registry/examples/swipe-deck/native/discover.light.png +0 -0
  344. package/registry/examples/swipe-deck/native/discover.tsx +35 -0
  345. package/registry/examples/swipeable-row/native/conversation.d.ts +4 -0
  346. package/registry/examples/swipeable-row/native/conversation.dark.png +0 -0
  347. package/registry/examples/swipeable-row/native/conversation.js +30 -0
  348. package/registry/examples/swipeable-row/native/conversation.light.png +0 -0
  349. package/registry/examples/swipeable-row/native/conversation.tsx +27 -0
  350. package/registry/examples/tab-bar/native/main-sections.d.ts +4 -0
  351. package/registry/examples/tab-bar/native/main-sections.dark.png +0 -0
  352. package/registry/examples/tab-bar/native/main-sections.js +29 -0
  353. package/registry/examples/tab-bar/native/main-sections.light.png +0 -0
  354. package/registry/examples/tab-bar/native/main-sections.tsx +30 -0
  355. package/registry/examples/tabs/native/sections.d.ts +4 -0
  356. package/registry/examples/tabs/native/sections.dark.png +0 -0
  357. package/registry/examples/tabs/native/sections.js +23 -0
  358. package/registry/examples/tabs/native/sections.light.png +0 -0
  359. package/registry/examples/tabs/native/sections.tsx +19 -0
  360. package/registry/examples/tabs/native/segmented.d.ts +4 -0
  361. package/registry/examples/tabs/native/segmented.dark.png +0 -0
  362. package/registry/examples/tabs/native/segmented.js +22 -0
  363. package/registry/examples/tabs/native/segmented.light.png +0 -0
  364. package/registry/examples/tabs/native/segmented.tsx +18 -0
  365. package/registry/examples/tag-selector/interests.d.ts +4 -0
  366. package/registry/examples/tag-selector/interests.js +14 -0
  367. package/registry/examples/tag-selector/interests.tsx +12 -0
  368. package/registry/examples/tag-selector/native/interests.d.ts +4 -0
  369. package/registry/examples/tag-selector/native/interests.dark.png +0 -0
  370. package/registry/examples/tag-selector/native/interests.js +15 -0
  371. package/registry/examples/tag-selector/native/interests.light.png +0 -0
  372. package/registry/examples/tag-selector/native/interests.tsx +15 -0
  373. package/registry/examples/toast/native/snackbar.d.ts +4 -0
  374. package/registry/examples/toast/native/snackbar.dark.png +0 -0
  375. package/registry/examples/toast/native/snackbar.js +23 -0
  376. package/registry/examples/toast/native/snackbar.light.png +0 -0
  377. package/registry/examples/toast/native/snackbar.tsx +21 -0
  378. package/registry/examples/tree-view/docs.d.ts +4 -0
  379. package/registry/examples/tree-view/docs.js +24 -0
  380. package/registry/examples/tree-view/docs.tsx +22 -0
  381. package/registry/examples/tree-view/lazy.d.ts +4 -0
  382. package/registry/examples/tree-view/lazy.js +21 -0
  383. package/registry/examples/tree-view/lazy.tsx +19 -0
  384. package/registry/examples/verified-badge/native/verified.d.ts +4 -0
  385. package/registry/examples/verified-badge/native/verified.dark.png +0 -0
  386. package/registry/examples/verified-badge/native/verified.js +18 -0
  387. package/registry/examples/verified-badge/native/verified.light.png +0 -0
  388. package/registry/examples/verified-badge/native/verified.tsx +15 -0
  389. package/registry/examples/verified-badge/verified.d.ts +4 -0
  390. package/registry/examples/verified-badge/verified.js +17 -0
  391. package/registry/examples/verified-badge/verified.tsx +13 -0
  392. package/registry/fab.json +122 -0
  393. package/registry/field.json +1 -1
  394. package/registry/file-upload.json +2 -2
  395. package/registry/filter-bar.json +1 -1
  396. package/registry/form.json +2 -2
  397. package/registry/gallery-page.json +1 -1
  398. package/registry/glow-card.json +1 -1
  399. package/registry/goal-gauge.json +1 -1
  400. package/registry/header.json +137 -0
  401. package/registry/how-it-works-page.json +1 -1
  402. package/registry/image-cropper.json +1 -1
  403. package/registry/image-viewer.json +107 -0
  404. package/registry/index.json +441 -25
  405. package/registry/iso.json +1 -1
  406. package/registry/kanban.json +253 -0
  407. package/registry/kbd.json +1 -1
  408. package/registry/landing-page.json +1 -1
  409. package/registry/landscape.json +1 -1
  410. package/registry/legal-page.json +1 -1
  411. package/registry/link-card.json +1 -1
  412. package/registry/list.json +367 -30
  413. package/registry/loader.json +157 -4
  414. package/registry/longform-page.json +1 -1
  415. package/registry/map.json +1368 -0
  416. package/registry/marketing-layout.json +1 -1
  417. package/registry/marquee.json +1 -1
  418. package/registry/mascot-quote.json +1 -1
  419. package/registry/mascot-state.json +1 -1
  420. package/registry/mascots.json +1 -1
  421. package/registry/match-dialog.json +300 -0
  422. package/registry/media-capture.json +1 -1
  423. package/registry/media-picker.json +129 -0
  424. package/registry/meter.json +136 -4
  425. package/registry/nav-bar.json +1 -1
  426. package/registry/number-ticker.json +96 -4
  427. package/registry/onboarding.json +95 -0
  428. package/registry/otp-input.json +150 -0
  429. package/registry/page-header.json +1 -1
  430. package/registry/page-hero.json +1 -1
  431. package/registry/page.json +1 -1
  432. package/registry/pagination.json +1 -1
  433. package/registry/permission-prompt.json +172 -0
  434. package/registry/photo-grid.json +302 -0
  435. package/registry/pointer-light.json +1 -1
  436. package/registry/popover.json +1 -1
  437. package/registry/pricing-page.json +1 -1
  438. package/registry/product-page.json +1 -1
  439. package/registry/profile-card.json +1 -1
  440. package/registry/progress.json +2 -2
  441. package/registry/promise-card.json +1 -1
  442. package/registry/pull-to-refresh.json +74 -0
  443. package/registry/radio-group.json +1 -1
  444. package/registry/screen.json +184 -0
  445. package/registry/scroll-stage.json +1 -1
  446. package/registry/search-field.json +30 -3
  447. package/registry/section-backdrop.json +1 -1
  448. package/registry/separator.json +1 -1
  449. package/registry/settings-layout.json +1 -1
  450. package/registry/skeleton.json +1 -1
  451. package/registry/slider.json +1 -1
  452. package/registry/slot.json +1 -1
  453. package/registry/spinner.json +1 -1
  454. package/registry/split-view.json +1 -1
  455. package/registry/stage-banner.json +1 -1
  456. package/registry/stat.json +68 -5
  457. package/registry/status-page.json +1 -1
  458. package/registry/step-progress.json +255 -0
  459. package/registry/stepper.json +75 -4
  460. package/registry/swipe-deck.json +512 -0
  461. package/registry/swipeable-row.json +124 -0
  462. package/registry/switch.json +1 -1
  463. package/registry/tab-bar.json +115 -0
  464. package/registry/tabs.json +94 -4
  465. package/registry/tag-input.json +1 -1
  466. package/registry/tag-selector.json +276 -0
  467. package/registry/terminal-replay.json +1 -1
  468. package/registry/theme.json +8 -1
  469. package/registry/toast.json +17 -3
  470. package/registry/toc.json +1 -1
  471. package/registry/tooltip.json +1 -1
  472. package/registry/tree-view.json +291 -0
  473. package/registry/verified-badge.json +202 -0
  474. package/registry/video-player.json +1 -1
  475. package/registry/video-trimmer.json +1 -1
  476. package/registry/virtual.json +1 -1
  477. package/skills/map/SKILL.md +35 -0
package/dist/native.d.ts CHANGED
@@ -1,6 +1,6 @@
1
- import * as React from 'react';
1
+ import * as React$1 from 'react';
2
2
  import React__default from 'react';
3
- import { ViewProps, PressableProps, StyleProp, ViewStyle, TextProps, ImageProps, TextInput, TextInputProps, DimensionValue, ActivityIndicatorProps } from 'react-native';
3
+ import { StyleProp, ViewStyle, ViewProps, PressableProps, TextProps, ImageProps, TextInput, TextInputProps, Animated, NativeSyntheticEvent, NativeScrollEvent, TextStyle, RefreshControlProps, DimensionValue, ActivityIndicatorProps } from 'react-native';
4
4
 
5
5
  /** Milliseconds left until `target` (never negative), ticking every second. `skewMs` = server clock − this clock. */
6
6
  declare function useCountdown(target: Date | string | number, skewMs?: number): number;
@@ -54,6 +54,93 @@ declare const addMonths: (iso: string, months: number) => string;
54
54
 
55
55
  type BrandId = "krizaka" | "orazaka" | "orochia" | "yazakia" | "yororis";
56
56
 
57
+ type Controlled = {
58
+ /** Open (controlled). */
59
+ open?: boolean;
60
+ /** Open at first, uncontrolled. */
61
+ defaultOpen?: boolean;
62
+ /** Called when it opens or closes (the back button, the scrim, an action). */
63
+ onOpenChange?: (open: boolean) => void;
64
+ };
65
+
66
+ type ActionSheetAction = {
67
+ /** The action's words — passed translated. */
68
+ label: string;
69
+ /** What it does; the sheet closes first. */
70
+ onPress: () => void;
71
+ /** A destructive action wears the danger text. */
72
+ destructive?: boolean;
73
+ /** A decorative icon before the words. */
74
+ icon?: React$1.ReactNode;
75
+ /** Cannot be chosen now. */
76
+ disabled?: boolean;
77
+ };
78
+ type ActionSheetProps = Controlled & {
79
+ /** What the choices are about (“Your video”) — the accessible name. */
80
+ title: string;
81
+ /** One line under the title. */
82
+ description?: string;
83
+ /** The choices, in order. */
84
+ actions: readonly ActionSheetAction[];
85
+ /** The cancel button's words (“Cancel”) — passed translated. */
86
+ cancelLabel: string;
87
+ };
88
+ /** A short list of actions from the bottom edge — share, edit, delete — and a cancel button apart, as the platforms do. */
89
+ declare function ActionSheet({ title, description, actions, cancelLabel, ...controlled }: ActionSheetProps): React$1.JSX.Element;
90
+
91
+ type ActivityTone = "neutral" | "accent" | "success" | "warning" | "danger" | "info";
92
+ type ActivityEvent = {
93
+ /** A stable id. */
94
+ id: string;
95
+ /** When it happened: an ISO date-time, an epoch in ms or a `Date`. */
96
+ at: string | number | Date;
97
+ /** What happened, in a sentence — passed translated (“Mina tipped your video $5”). */
98
+ title: string;
99
+ /** A detail under it. */
100
+ description?: string;
101
+ /** Who did it (folds a run of the same `kind` by the same actor). */
102
+ actor?: string;
103
+ /** The kind of event (`tip`, `bid`, `job.done`): with `actor`, what folds. */
104
+ kind?: string;
105
+ /** The tone of its marker: success for a payout, danger for a failure. */
106
+ tone?: ActivityTone;
107
+ };
108
+
109
+ type ActivityFeedLabels = {
110
+ /** The heading of today's events. */
111
+ today: string;
112
+ /** The heading of yesterday's. */
113
+ yesterday: string;
114
+ /** A folded run: `(n) => "×" + n`. */
115
+ times: (count: number) => string;
116
+ /** Announced when new events arrive in a live feed. */
117
+ newEvents: (count: number) => string;
118
+ };
119
+ type ActivityFeedProps<T extends ActivityEvent> = {
120
+ /** The events, in any order. */
121
+ events: readonly T[];
122
+ /** The feed's accessible name. */
123
+ "aria-label"?: string;
124
+ /** The locale of the dates and the “… ago”. Default `en-US`. */
125
+ locale?: string;
126
+ /** Now, for the “… ago” and the headings. Default: now, refreshed every minute. */
127
+ now?: Date;
128
+ /** Fold the runs of the same actor and kind. Default true. */
129
+ fold?: boolean;
130
+ /** Announce new events (a stream). */
131
+ live?: boolean;
132
+ /** Before an event's text: its actor's `Avatar`. */
133
+ leading?: (event: T) => React$1.ReactNode;
134
+ /** Shown when there is no event (an `EmptyState`). */
135
+ empty?: React$1.ReactNode;
136
+ /** The words, passed translated. */
137
+ labels?: Partial<ActivityFeedLabels>;
138
+ /** Styles of the list. */
139
+ style?: StyleProp<ViewStyle>;
140
+ };
141
+ /** What happened, newest first — the web `ActivityFeed`: by day under sticky headings, runs folded, “2 min ago”, new events announced. */
142
+ declare function ActivityFeed<T extends ActivityEvent>({ events, "aria-label": label, locale, now: given, fold, live, leading, empty, labels: words, style }: ActivityFeedProps<T>): React$1.JSX.Element;
143
+
57
144
  type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl";
58
145
  type AvatarProps = Omit<ViewProps, "children"> & {
59
146
  /**
@@ -67,11 +154,17 @@ type AvatarProps = Omit<ViewProps, "children"> & {
67
154
  /** The person's name: the image's accessible name and the source of the default initial. */
68
155
  alt?: string;
69
156
  /** Shown while there is no image or when it fails: default, the first letter of `alt`. */
70
- fallback?: React.ReactNode;
157
+ fallback?: React$1.ReactNode;
71
158
  /** A size of the scale, or points. */
72
159
  size?: AvatarSize | number;
73
- };
74
- declare function AvatarRoot({ src, svg, alt, fallback, size, style, ...props }: AvatarProps): React.JSX.Element;
160
+ /** A dot at the bottom right: `online` (success), `away` (warning), `busy` (danger), `offline` (hollow). */
161
+ presence?: "online" | "away" | "busy" | "offline";
162
+ /** The words of the presence for screen readers (“online”) — passed translated; read after the name. */
163
+ presenceLabel?: string;
164
+ /** A ring around it: `story` (an unseen story, in the accent gradient), `seen` (a story already watched), `live` (danger). */
165
+ ring?: "story" | "seen" | "live";
166
+ };
167
+ declare function AvatarRoot({ src, svg, alt, fallback, size, presence, presenceLabel, ring, style, ...props }: AvatarProps): React$1.JSX.Element;
75
168
  type AvatarGroupProps = ViewProps & {
76
169
  /** How many avatars are shown; the rest becomes a `+n` avatar. */
77
170
  max?: number;
@@ -79,7 +172,7 @@ type AvatarGroupProps = ViewProps & {
79
172
  size?: AvatarSize | number;
80
173
  };
81
174
  /** Overlapping avatars; past `max`, a `+n` avatar counts the rest. */
82
- declare function AvatarGroup({ max, size, style, children, ...props }: AvatarGroupProps): React.JSX.Element;
175
+ declare function AvatarGroup({ max, size, style, children, ...props }: AvatarGroupProps): React$1.JSX.Element;
83
176
  /** `Avatar` (an image with a fallback) and `Avatar.Group`. */
84
177
  declare const Avatar: typeof AvatarRoot & {
85
178
  Group: typeof AvatarGroup;
@@ -95,10 +188,10 @@ type BadgeProps = ViewProps & {
95
188
  dot?: boolean;
96
189
  /** The dot breathes (still when the system reduces motion). */
97
190
  pulse?: boolean;
98
- children?: React.ReactNode;
191
+ children?: React$1.ReactNode;
99
192
  };
100
193
  /** A short status in capitals: a tone, a size, an optional (pulsing) dot. */
101
- declare function Badge({ tone, size, dot, pulse, style, children, ...props }: BadgeProps): React.JSX.Element;
194
+ declare function Badge({ tone, size, dot, pulse, style, children, ...props }: BadgeProps): React$1.JSX.Element;
102
195
 
103
196
  type ButtonVariant = "primary" | "gradient" | "secondary" | "outline" | "ghost" | "danger";
104
197
  type ButtonSize = "sm" | "md" | "lg";
@@ -118,18 +211,18 @@ type ButtonProps = BaseProps & {
118
211
  /** The visible text — passed translated. It is also the accessible name. */
119
212
  label: string;
120
213
  /** Before the label (an icon component from the app's icon set). */
121
- icon?: React.ReactNode;
214
+ icon?: React$1.ReactNode;
122
215
  };
123
216
  /** The action. `variant` × `size` × `shape`, `loading`, `icon`; the haptics, if any, belong to the app's `onPress`. */
124
- declare function Button({ label, icon, variant, size, shape, loading, disabled, style, ...props }: ButtonProps): React.JSX.Element;
217
+ declare function Button({ label, icon, variant, size, shape, loading, disabled, style, ...props }: ButtonProps): React$1.JSX.Element;
125
218
  type IconButtonProps = BaseProps & {
126
219
  /** The accessible name — required, passed translated. */
127
220
  label: string;
128
221
  /** The icon (from the app's icon set); the button shows nothing else. */
129
- icon: React.ReactNode;
222
+ icon: React$1.ReactNode;
130
223
  };
131
224
  /** A square button holding only an icon: `label` is required, it is its accessible name. */
132
- declare function IconButton({ label, icon, variant, size, shape, loading, disabled, style, ...props }: IconButtonProps): React.JSX.Element;
225
+ declare function IconButton({ label, icon, variant, size, shape, loading, disabled, style, ...props }: IconButtonProps): React$1.JSX.Element;
133
226
 
134
227
  type TxtVariant = "display" | "title" | "body" | "caption" | "label" | "mono";
135
228
  type TxtTone = "text" | "secondary" | "muted" | "accent" | "success" | "warning" | "danger" | "onAccent" | "onMedia";
@@ -140,7 +233,7 @@ type TxtProps = TextProps & {
140
233
  tone?: TxtTone;
141
234
  };
142
235
  /** Text in the platform's scale, coloured by a role of the current theme. `title` and `display` are headers for screen readers. */
143
- declare function Txt({ variant, tone, style, ...props }: TxtProps): React.JSX.Element;
236
+ declare function Txt({ variant, tone, style, ...props }: TxtProps): React$1.JSX.Element;
144
237
  declare const textStyles: {
145
238
  display: {
146
239
  fontSize: number;
@@ -186,7 +279,7 @@ type CardRootProps = ViewProps & {
186
279
  onPress?: PressableProps["onPress"];
187
280
  };
188
281
  /** The frame: the theme's surface, a hairline border, rounded corners; `onPress` makes it a pressable card. */
189
- declare function CardRoot({ tone, radius, onPress, style, ...props }: CardRootProps): React.JSX.Element;
282
+ declare function CardRoot({ tone, radius, onPress, style, ...props }: CardRootProps): React$1.JSX.Element;
190
283
  declare const ASPECT: {
191
284
  readonly video: number;
192
285
  readonly square: 1;
@@ -197,22 +290,22 @@ type CardMediaProps = ViewProps & {
197
290
  aspect?: keyof typeof ASPECT | "auto";
198
291
  };
199
292
  /** The media area at the top of a card: a fixed ratio, the `media` role behind (what shows while an image loads). */
200
- declare function CardMedia({ aspect, style, ...props }: CardMediaProps): React.JSX.Element;
293
+ declare function CardMedia({ aspect, style, ...props }: CardMediaProps): React$1.JSX.Element;
201
294
  type CardImageProps = Omit<ImageProps, "source" | "src"> & {
202
295
  /** The image URI; absent or `null`: the `fallback` on the media colour. */
203
296
  src?: string | null;
204
297
  /** Shown when there is no image: an icon, an illustration (decorative). */
205
- fallback?: React.ReactNode;
298
+ fallback?: React$1.ReactNode;
206
299
  };
207
300
  /** The image of a media (it fills it), or its `fallback` when there is none. Decorative unless `alt` is given. */
208
- declare function CardImage({ src, fallback, alt, style, ...props }: CardImageProps): React.JSX.Element;
301
+ declare function CardImage({ src, fallback, alt, style, ...props }: CardImageProps): React$1.JSX.Element;
209
302
  declare const CORNER: Record<"top-left" | "top-right" | "bottom-left" | "bottom-right", ViewStyle>;
210
303
  type CardOverlayProps = ViewProps & {
211
304
  /** The corner of the media it sits in: top-left (default) · top-right · bottom-left · bottom-right. */
212
305
  corner?: keyof typeof CORNER;
213
306
  };
214
307
  /** What sits on the media (badges, a caption), in a corner. */
215
- declare function CardOverlay({ corner, style, ...props }: CardOverlayProps): React.JSX.Element;
308
+ declare function CardOverlay({ corner, style, ...props }: CardOverlayProps): React$1.JSX.Element;
216
309
  declare const PADDING: {
217
310
  readonly none: 0;
218
311
  readonly sm: 12;
@@ -223,11 +316,11 @@ type CardBodyProps = ViewProps & {
223
316
  /** none · sm · md (default) · lg. */
224
317
  padding?: keyof typeof PADDING;
225
318
  };
226
- declare function CardBody({ padding, style, ...props }: CardBodyProps): React.JSX.Element;
319
+ declare function CardBody({ padding, style, ...props }: CardBodyProps): React$1.JSX.Element;
227
320
  /** The card's name: one line, a header for screen readers. */
228
- declare function CardTitle({ numberOfLines, ...props }: Omit<TxtProps, "variant">): React.JSX.Element;
229
- declare function CardDescription({ numberOfLines, ...props }: Omit<TxtProps, "variant">): React.JSX.Element;
230
- declare function CardFooter({ style, ...props }: ViewProps): React.JSX.Element;
321
+ declare function CardTitle({ numberOfLines, ...props }: Omit<TxtProps, "variant">): React$1.JSX.Element;
322
+ declare function CardDescription({ numberOfLines, ...props }: Omit<TxtProps, "variant">): React$1.JSX.Element;
323
+ declare function CardFooter({ style, ...props }: ViewProps): React$1.JSX.Element;
231
324
  /** `Card.Root/Media/Image/Overlay/Body/Title/Description/Footer` — the web parts, on View, Image and Text. */
232
325
  declare const Card: {
233
326
  Root: typeof CardRoot;
@@ -240,9 +333,100 @@ declare const Card: {
240
333
  Footer: typeof CardFooter;
241
334
  };
242
335
 
336
+ /** Where a sent message stands. */
337
+ type MessageStatus = "sending" | "sent" | "delivered" | "read" | "failed";
338
+ type MessageBubbleLabels = {
339
+ /** The words of each status (“Sent”, “Read”…), shown under the last message of yours. */
340
+ status?: Partial<Record<MessageStatus, string>>;
341
+ /** The retry hint of a failed message (“Tap to retry”). */
342
+ retry?: string;
343
+ };
344
+ type MessageBubbleProps = {
345
+ /** The text. */
346
+ text: string;
347
+ /** Yours (right, in the accent) or theirs (left). */
348
+ mine?: boolean;
349
+ /** The time, written by the app (“14:02”). */
350
+ time?: string;
351
+ /** Where a message of yours stands; shown when `showStatus`. */
352
+ status?: MessageStatus;
353
+ /** Show the status under the bubble (the last message of yours). */
354
+ showStatus?: boolean;
355
+ /** A line above the text: what it answers (“Replied to your story”). */
356
+ context?: string;
357
+ /** Called when a failed message is pressed: send it again. */
358
+ onRetry?: () => void;
359
+ /** Part of a run of the same sender: the corner towards the next one is tighter. */
360
+ grouped?: "first" | "middle" | "last" | "single";
361
+ /** The words, passed translated. */
362
+ labels?: MessageBubbleLabels;
363
+ /** Styles merged last. */
364
+ style?: StyleProp<ViewStyle>;
365
+ };
366
+ /** A message: yours in the accent on the right, theirs on the left, the time inside, the receipt under the last of yours. */
367
+ declare function MessageBubble({ text, mine, time, status, showStatus, context, onRetry, grouped, labels, style }: MessageBubbleProps): React$1.JSX.Element;
368
+ type TypingIndicatorProps = {
369
+ /** What is said to screen readers and shown beside the dots (“Elena is typing”) — passed translated. */
370
+ label: string;
371
+ /** Show the words beside the dots. Default false. */
372
+ showLabel?: boolean;
373
+ /** Styles merged last. */
374
+ style?: StyleProp<ViewStyle>;
375
+ };
376
+ /** Three dots that breathe in a bubble while the other person types; still under reduced motion. */
377
+ declare function TypingIndicator({ label, showLabel, style }: TypingIndicatorProps): React$1.JSX.Element;
378
+ type MessageComposerProps = {
379
+ /** The draft (controlled). */
380
+ value: string;
381
+ /** Called on every key (send the typing signal from here). */
382
+ onValueChange: (text: string) => void;
383
+ /** Sends the draft; the composer does not clear it — the app does once sent. */
384
+ onSend: () => void;
385
+ /** The input's name and placeholder (“Message”) — passed translated. */
386
+ placeholder: string;
387
+ /** The send button's name (“Send”). */
388
+ sendLabel: string;
389
+ /** Before the input: an attach button. */
390
+ leading?: React$1.ReactNode;
391
+ /** Cannot write (blocked, read-only): the reason in its place. */
392
+ disabledReason?: string;
393
+ /** The longest message. Default 4000. */
394
+ maxLength?: number;
395
+ /** Styles merged last. */
396
+ style?: StyleProp<ViewStyle>;
397
+ };
398
+ /** Where a message is written: a growing input, an attach slot, a send button that wakes when there is something to send. */
399
+ declare function MessageComposer({ value, onValueChange, onSend, placeholder, sendLabel, leading, disabledReason, maxLength, style }: MessageComposerProps): React$1.JSX.Element;
400
+ type ConversationItemProps = {
401
+ /** The other person's name. */
402
+ name: string;
403
+ /** Their avatar's URI. */
404
+ avatar?: string | null;
405
+ /** Their presence (a dot on the avatar). */
406
+ presence?: "online" | "away" | "busy" | "offline";
407
+ /** The presence in words (“online”). */
408
+ presenceLabel?: string;
409
+ /** The last message, or “typing…”. */
410
+ preview: string;
411
+ /** The preview is the typing signal: in the accent. */
412
+ typing?: boolean;
413
+ /** When (“14:02”, “Mon”). */
414
+ time?: string;
415
+ /** Unread messages: a count in the accent, the name in bold. */
416
+ unread?: number;
417
+ /** The unread count in words (“3 unread”). */
418
+ unreadLabel?: string;
419
+ /** Opens the conversation. */
420
+ onPress?: () => void;
421
+ /** Styles merged last. */
422
+ style?: StyleProp<ViewStyle>;
423
+ };
424
+ /** A conversation in the list: avatar and presence, name, the last message or typing, the time, the unread count. */
425
+ declare function ConversationItem({ name, avatar, presence, presenceLabel, preview, typing, time, unread, unreadLabel, onPress, style }: ConversationItemProps): React$1.JSX.Element;
426
+
243
427
  type CheckboxProps = {
244
428
  /** The words next to the box: text (pressable with it), or a `Txt` with links inside (terms, privacy) — then the box alone is pressed and `label` names it. */
245
- children?: React.ReactNode;
429
+ children?: React$1.ReactNode;
246
430
  /** The accessible name when `children` is not plain text (a sentence with links), passed translated. */
247
431
  label?: string;
248
432
  /** Ticked (controlled). */
@@ -262,7 +446,7 @@ type CheckboxProps = {
262
446
  * A checkbox for React Native: a 44-pt row — the box and its words, pressed as one — with an error under it. The web
263
447
  * `Checkbox` with `children`.
264
448
  */
265
- declare function Checkbox({ children, label, checked, defaultChecked, onCheckedChange, error, disabled, style }: CheckboxProps): React.JSX.Element;
449
+ declare function Checkbox({ children, label, checked, defaultChecked, onCheckedChange, error, disabled, style }: CheckboxProps): React$1.JSX.Element;
266
450
 
267
451
  type ChipSize = "sm" | "md";
268
452
  type CommonProps = Omit<PressableProps, "children" | "style" | "onPress"> & {
@@ -271,7 +455,7 @@ type CommonProps = Omit<PressableProps, "children" | "style" | "onPress"> & {
271
455
  /** Styles merged last. */
272
456
  style?: StyleProp<ViewStyle>;
273
457
  /** The text (passed translated) or a node (an icon and a text). */
274
- children: React.ReactNode;
458
+ children: React$1.ReactNode;
275
459
  };
276
460
  type ToggleChipProps = CommonProps & {
277
461
  /** Inside `Chip.Group`: the value this chip stands for (required there, ignored alone). */
@@ -294,7 +478,7 @@ type RemovableChipProps = CommonProps & {
294
478
  };
295
479
  type ChipProps = ToggleChipProps | RemovableChipProps;
296
480
  /** A selectable pill (`selected` / `onSelectedChange`), an item of `Chip.Group` (`value`), or `removable`. */
297
- declare function ChipBase(props: ChipProps): React.JSX.Element;
481
+ declare function ChipBase(props: ChipProps): React$1.JSX.Element;
298
482
  type GroupBase = {
299
483
  /** sm · md (default); in a group, the group's size. */
300
484
  size?: ChipSize;
@@ -305,7 +489,7 @@ type GroupBase = {
305
489
  "aria-label"?: string;
306
490
  /** Styles merged last. */
307
491
  style?: StyleProp<ViewStyle>;
308
- children: React.ReactNode;
492
+ children: React$1.ReactNode;
309
493
  };
310
494
  type ChipGroupProps = (GroupBase & {
311
495
  type: "single";
@@ -319,7 +503,7 @@ type ChipGroupProps = (GroupBase & {
319
503
  onValueChange?: (value: string[]) => void;
320
504
  });
321
505
  /** A set of chips: `single` (one value, a radio group; pressing the chosen chip keeps it) or `multiple` (toggles). */
322
- declare function ChipGroup(props: ChipGroupProps): React.JSX.Element;
506
+ declare function ChipGroup(props: ChipGroupProps): React$1.JSX.Element;
323
507
  /** `Chip` and `Chip.Group`. */
324
508
  declare const Chip: typeof ChipBase & {
325
509
  Group: typeof ChipGroup;
@@ -361,7 +545,7 @@ type SelectProps = FieldShared & {
361
545
  sheetTitle?: string;
362
546
  };
363
547
  /** One choice among many — the web `<select>`: a field that opens a sheet of options; picking one closes it. */
364
- declare function Select({ options, value: valueProp, defaultValue, onValueChange, sheetTitle, ...shared }: SelectProps): React.JSX.Element;
548
+ declare function Select({ options, value: valueProp, defaultValue, onValueChange, sheetTitle, ...shared }: SelectProps): React$1.JSX.Element;
365
549
  type ComboboxLabels = {
366
550
  /** The search box's name and placeholder ("Search"). */
367
551
  search: string;
@@ -388,7 +572,7 @@ type ComboboxProps = FieldShared & {
388
572
  labels?: Partial<ComboboxLabels>;
389
573
  };
390
574
  /** A choice among many, searched: a field that opens a sheet with a search box and the matching options. */
391
- declare function Combobox({ options, onSearch, multiple, value, onValueChange, labels: given, ...shared }: ComboboxProps): React.JSX.Element;
575
+ declare function Combobox({ options, onSearch, multiple, value, onValueChange, labels: given, ...shared }: ComboboxProps): React$1.JSX.Element;
392
576
 
393
577
  type CountdownProps = {
394
578
  /** The moment it counts down to: a Date, an ISO string or epoch milliseconds. */
@@ -414,7 +598,7 @@ type CountdownProps = {
414
598
  * danger text role (≥ 4.5:1 in both themes) and its last segment breathes (still when the system reduces motion).
415
599
  * `showLabel` writes `label` before the segments; it is the accessible name either way.
416
600
  */
417
- declare function Countdown({ target, skewMs, units, urgentBelowMs, size, label, showLabel, style }: CountdownProps): React.JSX.Element;
601
+ declare function Countdown({ target, skewMs, units, urgentBelowMs, size, label, showLabel, style }: CountdownProps): React$1.JSX.Element;
418
602
 
419
603
  type DateFieldLabels = {
420
604
  /** The name of the day's box. */
@@ -449,7 +633,7 @@ type DateFieldProps = {
449
633
  /** Not available. */
450
634
  disabled?: boolean;
451
635
  /** The first box (in the locale's order), to focus the field from the one before it. */
452
- inputRef?: React.Ref<TextInput>;
636
+ inputRef?: React$1.Ref<TextInput>;
453
637
  /** Called by the last box's return key (`returnKeyType`): move to the next field, or send the form. */
454
638
  onSubmitEditing?: () => void;
455
639
  /** The last box's return key. Default `done`. */
@@ -461,7 +645,7 @@ type DateFieldProps = {
461
645
  * A date typed as day, month and year — a memorable date (a birth date, an expiry) that a calendar would make slow to
462
646
  * reach: numeric keypads, the boxes in the locale's order, the next box focused once one is full. No native module.
463
647
  */
464
- declare function DateField({ label, hint, error, value, defaultValue, onValueChange, onBlur, locale, labels: given, autoComplete, disabled, inputRef, onSubmitEditing, returnKeyType, style }: DateFieldProps): React.JSX.Element;
648
+ declare function DateField({ label, hint, error, value, defaultValue, onValueChange, onBlur, locale, labels: given, autoComplete, disabled, inputRef, onSubmitEditing, returnKeyType, style }: DateFieldProps): React$1.JSX.Element;
465
649
 
466
650
  type CalendarLabels = {
467
651
  /** The previous-month button ("Previous month"). */
@@ -500,7 +684,7 @@ type CalendarProps = {
500
684
  style?: StyleProp<ViewStyle>;
501
685
  };
502
686
  /** A month to pick a day or the ends of a period — the web `Calendar`: 44-pt days, today's node, the range as a band. */
503
- declare function Calendar({ locale, value, range, onSelect, defaultMonth, min, max, isDateDisabled, weekStartsOn, today: todayProp, labels: given, style }: CalendarProps): React.JSX.Element;
687
+ declare function Calendar({ locale, value, range, onSelect, defaultMonth, min, max, isDateDisabled, weekStartsOn, today: todayProp, labels: given, style }: CalendarProps): React$1.JSX.Element;
504
688
  type MonthPickerProps = {
505
689
  /** The BCP 47 locale of the month names: always explicit. */
506
690
  locale: string;
@@ -521,7 +705,7 @@ type MonthPickerProps = {
521
705
  style?: StyleProp<ViewStyle>;
522
706
  };
523
707
  /** A month of a year: the twelve months in a grid, the year above them — the web `MonthPicker`. */
524
- declare function MonthPicker({ locale, value, onValueChange, min, max, labels, style }: MonthPickerProps): React.JSX.Element;
708
+ declare function MonthPicker({ locale, value, onValueChange, min, max, labels, style }: MonthPickerProps): React$1.JSX.Element;
525
709
  type DayStripProps = {
526
710
  /** The group's accessible name ("Delivery day"), passed translated. */
527
711
  label: string;
@@ -549,7 +733,7 @@ type DayStripProps = {
549
733
  style?: StyleProp<ViewStyle>;
550
734
  };
551
735
  /** The days ahead in a row that scrolls sideways — the web `DayStrip`: a radio group of 56×72-pt days. */
552
- declare function DayStrip({ label, locale, value: valueProp, defaultValue, onValueChange, start, days, isDateDisabled, isDateMarked, markedLabel, today: todayProp, style }: DayStripProps): React.JSX.Element;
736
+ declare function DayStrip({ label, locale, value: valueProp, defaultValue, onValueChange, start, days, isDateDisabled, isDateMarked, markedLabel, today: todayProp, style }: DayStripProps): React$1.JSX.Element;
553
737
  type TimePickerLabels = {
554
738
  /** The hours' wheel ("Hours"). */
555
739
  hours: string;
@@ -587,7 +771,7 @@ type TimePickerProps = {
587
771
  style?: StyleProp<ViewStyle>;
588
772
  };
589
773
  /** A time of day: wheels to set one, or slots to book one — the web `TimePicker`. */
590
- declare function TimePicker({ label, locale, value: valueProp, defaultValue, onValueChange, variant, minuteStep, hour12, labels: given, slots, isTimeDisabled, disabled, style }: TimePickerProps): React.JSX.Element;
774
+ declare function TimePicker({ label, locale, value: valueProp, defaultValue, onValueChange, variant, minuteStep, hour12, labels: given, slots, isTimeDisabled, disabled, style }: TimePickerProps): React$1.JSX.Element;
591
775
  type DateWheelProps = {
592
776
  /** The visible label, passed translated (the group's name). */
593
777
  label: string;
@@ -617,7 +801,28 @@ type DateWheelProps = {
617
801
  style?: StyleProp<ViewStyle>;
618
802
  };
619
803
  /** Day, month and year as three wheels in the locale's order, bounded by `min` and `max` — the web `DateWheel`. */
620
- declare function DateWheel({ label, locale, value: valueProp, defaultValue, onValueChange, min, max, defaultView, hint, error, labels: given, disabled, style }: DateWheelProps): React.JSX.Element;
804
+ declare function DateWheel({ label, locale, value: valueProp, defaultValue, onValueChange, min, max, defaultView, hint, error, labels: given, disabled, style }: DateWheelProps): React$1.JSX.Element;
805
+
806
+ type DescriptionItem = {
807
+ /** The term (“Status”, “Credits”) — passed translated. */
808
+ term: string;
809
+ /** The value: text, a `Badge`. */
810
+ details: React$1.ReactNode;
811
+ /** A line under the value (a date, a unit). */
812
+ hint?: string;
813
+ /** A stable key, when the terms are not unique. */
814
+ id?: string;
815
+ };
816
+ type DescriptionListProps = {
817
+ /** The pairs, in reading order. */
818
+ items: readonly DescriptionItem[];
819
+ /** stacked (default) · inline (term left, value right: a receipt) · grid (cards, two per row). */
820
+ layout?: "stacked" | "inline" | "grid";
821
+ /** Styles merged last. */
822
+ style?: StyleProp<ViewStyle>;
823
+ };
824
+ /** Term and value pairs — the web `DescriptionList`: a job's details, a payout's breakdown; each pair read as one. */
825
+ declare function DescriptionList({ items, layout, style }: DescriptionListProps): React$1.JSX.Element;
621
826
 
622
827
  type SheetProps = {
623
828
  /** Open (controlled). */
@@ -629,7 +834,7 @@ type SheetProps = {
629
834
  /** The name of the close action read by screen readers ("Close"), passed translated. */
630
835
  closeLabel?: string;
631
836
  /** The content: a list, details, a form. */
632
- children: React.ReactNode;
837
+ children: React$1.ReactNode;
633
838
  /** Styles merged last, on the sheet. */
634
839
  style?: StyleProp<ViewStyle>;
635
840
  };
@@ -638,20 +843,42 @@ type SheetProps = {
638
843
  * a choice (`Select`, `Combobox`), the details of a pin on a map, a short form. React Native's `Modal`: focus stays
639
844
  * inside, the back button closes it. Rises with the theme's ease; still under reduced motion.
640
845
  */
641
- declare function Sheet({ open, onOpenChange, title, closeLabel, children, style }: SheetProps): React.JSX.Element;
846
+ declare function Sheet({ open, onOpenChange, title, closeLabel, children, style }: SheetProps): React$1.JSX.Element;
642
847
 
643
848
  type EmptyStateProps = Omit<ViewProps, "children"> & {
644
849
  /** A decorative icon (hidden from screen readers). */
645
- icon?: React.ReactNode;
850
+ icon?: React$1.ReactNode;
646
851
  /** What is empty, in a few words ("No notifications yet"). */
647
852
  title: string;
648
853
  /** Why, or what will fill it. */
649
854
  description?: string;
650
855
  /** What to do next: a Button. */
651
- action?: React.ReactNode;
856
+ action?: React$1.ReactNode;
652
857
  };
653
858
  /** What a list, a search or a screen says when it has nothing to show — every word is a prop. */
654
- declare function EmptyState({ icon, title, description, action, style, ...props }: EmptyStateProps): React.JSX.Element;
859
+ declare function EmptyState({ icon, title, description, action, style, ...props }: EmptyStateProps): React$1.JSX.Element;
860
+
861
+ type FabProps = {
862
+ /** The action in words (“New challenge”) — passed translated: the accessible name, and shown when `extended`. */
863
+ label: string;
864
+ /** The icon (decorative). */
865
+ icon: React$1.ReactNode;
866
+ /** What it does. */
867
+ onPress: () => void;
868
+ /** Shows the words beside the icon (collapse it while the list scrolls down). */
869
+ extended?: boolean;
870
+ /** Which corner. Default `end` (bottom right in left-to-right). */
871
+ placement?: "end" | "center" | "start";
872
+ /** Extra distance from the bottom, above a tab bar (its height). Default 0. */
873
+ offset?: number;
874
+ /** Styles merged last. */
875
+ style?: StyleProp<ViewStyle>;
876
+ };
877
+ /**
878
+ * The screen's main action, floating above the content in the accent — one per screen (create, compose, record). It
879
+ * keeps clear of the safe area and the tab bar (`offset`), shows its words when `extended`, a light tap confirms.
880
+ */
881
+ declare function Fab({ label, icon, onPress, extended, placement, offset, style }: FabProps): React$1.JSX.Element;
655
882
 
656
883
  type TextFieldProps = Omit<TextInputProps, "value" | "defaultValue" | "onChangeText" | "style" | "editable"> & {
657
884
  /** The visible label above the input, passed translated (also its accessible name). */
@@ -669,9 +896,9 @@ type TextFieldProps = Omit<TextInputProps, "value" | "defaultValue" | "onChangeT
669
896
  /** Not available: dimmed, not focusable. */
670
897
  disabled?: boolean;
671
898
  /** Something at the end of the input: a spinner while a value is checked, a check once it is, a show-password button. */
672
- end?: React.ReactNode;
899
+ end?: React$1.ReactNode;
673
900
  /** The input itself, to focus it (`ref.current?.focus()`) or move to the next field. */
674
- inputRef?: React.Ref<TextInput>;
901
+ inputRef?: React$1.Ref<TextInput>;
675
902
  /** Styles merged last, on the field (label, input, caption). */
676
903
  style?: StyleProp<ViewStyle>;
677
904
  };
@@ -680,7 +907,7 @@ type TextFieldProps = Omit<TextInputProps, "value" | "defaultValue" | "onChangeT
680
907
  * `autoComplete`, `returnKeyType`…), a hint or an error under it — the web `Field` + `Input`. `multiline` makes it a
681
908
  * text area.
682
909
  */
683
- declare function TextField({ label, hint, error, value, defaultValue, onValueChange, disabled, end, inputRef, style, multiline, onFocus, onBlur, ...props }: TextFieldProps): React.JSX.Element;
910
+ declare function TextField({ label, hint, error, value, defaultValue, onValueChange, disabled, end, inputRef, style, multiline, onFocus, onBlur, ...props }: TextFieldProps): React$1.JSX.Element;
684
911
 
685
912
  type GoalGaugeProps = Omit<ViewProps, "children"> & {
686
913
  /** What the gauge counts (“Backers”) — passed translated; the meter's accessible name. */
@@ -701,7 +928,68 @@ type GoalGaugeProps = Omit<ViewProps, "children"> & {
701
928
  animated?: boolean;
702
929
  };
703
930
  /** A goal in steps for React Native: `role="meter"`, the reached steps lit, the value in words beside the label. */
704
- declare function GoalGauge({ label, segments, value, valueText, mode, showLabel, variant, animated, style, ...props }: GoalGaugeProps): React.JSX.Element;
931
+ declare function GoalGauge({ label, segments, value, valueText, mode, showLabel, variant, animated, style, ...props }: GoalGaugeProps): React$1.JSX.Element;
932
+
933
+ type HeaderProps = {
934
+ /** The screen's title — a heading, shown large under the bar until the content scrolls under it. */
935
+ title: string;
936
+ /** A line under the large title (a count, a date). */
937
+ subtitle?: string;
938
+ /** The scroll position of the screen's list (`useCollapsingHeader().scrollY`): the large title folds into the bar. Absent: always large. */
939
+ scrollY?: Animated.Value;
940
+ /** `large` (default: the top of a section) or `inline` (a detail screen: the title in the bar only). */
941
+ size?: "large" | "inline";
942
+ /** The back button's words (“Back”) — passed translated; with `onBack` it shows. */
943
+ backLabel?: string;
944
+ /** Called by the back button. */
945
+ onBack?: () => void;
946
+ /** Buttons at the right of the bar (`IconButton`s). */
947
+ actions?: React$1.ReactNode;
948
+ /** Under the title: a `SearchField`, `Tabs`. */
949
+ children?: React$1.ReactNode;
950
+ /** Styles merged last. */
951
+ style?: StyleProp<ViewStyle>;
952
+ };
953
+ /**
954
+ * A screen's header: the bar (back, title, actions) under the status bar's safe area, and a large title that folds into
955
+ * the bar as the content scrolls — the iOS idiom, readable on Android. Feed it the list's scroll with
956
+ * `useCollapsingHeader()`. The title is the screen's heading for screen readers either way.
957
+ */
958
+ declare function Header({ title, subtitle, scrollY, size, backLabel, onBack, actions, children, style }: HeaderProps): React$1.JSX.Element;
959
+ /** The scroll position a `Header` folds with: `<ScrollView onScroll={onScroll} scrollEventThrottle={16}>` and `<Header scrollY={scrollY}>`. */
960
+ declare function useCollapsingHeader(): {
961
+ scrollY: Animated.Value;
962
+ onScroll: (event: NativeSyntheticEvent<NativeScrollEvent>) => void;
963
+ };
964
+
965
+ type ViewerImage = {
966
+ /** The image's URI. */
967
+ uri: string;
968
+ /** What it shows — passed translated; its accessible name. */
969
+ alt: string;
970
+ /** A caption under it. */
971
+ caption?: string;
972
+ };
973
+ type ImageViewerProps = {
974
+ /** The images, in order. */
975
+ images: readonly ViewerImage[];
976
+ /** The image open (its index); `null` closes the viewer. */
977
+ index: number | null;
978
+ /** Called when the person moves to another image or closes the viewer (`null`). */
979
+ onIndexChange: (index: number | null) => void;
980
+ /** The close button's words (“Close”) — passed translated. */
981
+ closeLabel: string;
982
+ /** The position for screen readers and the counter: `(n, total) => "2 of 5"`. */
983
+ positionLabel?: (position: number, total: number) => string;
984
+ };
985
+ /**
986
+ * Images full screen, on black: pinch to zoom (to 4×), double tap to zoom in and out, drag a zoomed image, swipe left
987
+ * and right between images, swipe down to close. Screen readers get the image's words, its position, and the close
988
+ * button; their swipes move between images (accessibility actions).
989
+ */
990
+ declare function ImageViewer({ images, index, onIndexChange, closeLabel, positionLabel }: ImageViewerProps): React$1.JSX.Element | null;
991
+ /** Preloads the neighbours of the image open, so a swipe shows the next one at once. */
992
+ declare function prefetchNeighbours(images: readonly ViewerImage[], index: number | null): void;
705
993
 
706
994
  interface NativeMarkProps {
707
995
  /** Width and height in points. */
@@ -721,6 +1009,47 @@ interface NativeMarkProps {
721
1009
  */
722
1010
  declare function KrizakaMark({ size, animated, title, neutral }: NativeMarkProps): React__default.JSX.Element;
723
1011
 
1012
+ type LoaderGlyphProps = {
1013
+ /** loading · success · error. */
1014
+ state?: "loading" | "success" | "error";
1015
+ /** Between 0 and 1: the trace grows to it. Absent: indeterminate (the trace turns). */
1016
+ value?: number | null;
1017
+ /** The side, in points. Default 20. */
1018
+ size?: number;
1019
+ /** The stroke colour. Default: the accent (success and error: their tones). */
1020
+ color?: string;
1021
+ };
1022
+ /** The Krizaka loader glyph (decorative): a hexagon traced by a segment of light around a node; done, a check or a cross. */
1023
+ declare function LoaderGlyph({ state, value, size, color }: LoaderGlyphProps): React$1.JSX.Element;
1024
+ /** `active` once it has lasted `delay` ms, then held at least `minDuration` ms: a wait never flashes nor blinks. */
1025
+ declare function useDelayedWait(active: boolean, delay?: number, minDuration?: number): boolean;
1026
+ type LoaderProps = {
1027
+ /** What is loading, in words (“Loading your jobs”) — passed translated; shown and announced. */
1028
+ label: string;
1029
+ /** loading (default) · success · error: the ending shows for `endDuration` ms, then the loader goes. */
1030
+ status?: "loading" | "success" | "error";
1031
+ /** The words of a success — passed translated. Default: the label. */
1032
+ successLabel?: string;
1033
+ /** The words of a failure — passed translated. */
1034
+ errorLabel?: string;
1035
+ /** Between 0 and 1: a determinate wait, the percentage shows. */
1036
+ value?: number | null;
1037
+ /** The time left, in words (“About 20 s left”). */
1038
+ eta?: string;
1039
+ /** Milliseconds before anything shows. Default 250. */
1040
+ delay?: number;
1041
+ /** Once shown, the least milliseconds it stays. Default 600. */
1042
+ minDuration?: number;
1043
+ /** Milliseconds the ending stays. Default 1600; `0` never shows it. */
1044
+ endDuration?: number;
1045
+ /** inline (default) · block (a region's centre) · overlay (over its parent, frosted) · page (the whole screen). */
1046
+ variant?: "inline" | "block" | "overlay" | "page";
1047
+ /** Styles merged last. */
1048
+ style?: StyleProp<ViewStyle>;
1049
+ };
1050
+ /** A wait from start to end — the web `Loader`: delayed, never blinking, announced when it shows and when it ends. */
1051
+ declare function Loader({ label, status, successLabel, errorLabel, value, eta, delay, minDuration, endDuration, variant, style }: LoaderProps): React$1.JSX.Element | null;
1052
+
724
1053
  /**
725
1054
  * The Krizaka flock — the geometry of the mascots, drawn by the web `Mascot` (`./mascot.tsx`) and the native one
726
1055
  * (`../native/mascots.tsx`). Five birds that have carried the Krizaka story since the first site (the sentry falcon,
@@ -754,7 +1083,7 @@ type MascotStateProps = Omit<ViewProps, "children"> & {
754
1083
  /** Why, or what comes next. */
755
1084
  description?: string;
756
1085
  /** What to do next: a Button. */
757
- action?: React.ReactNode;
1086
+ action?: React$1.ReactNode;
758
1087
  /** The bird's size: `sm` 64, `md` 96 (default), `lg` 128 points. */
759
1088
  size?: keyof typeof SIZE;
760
1089
  /** `stacked` (default): the bird above centred words. `inline`: the bird beside the words. */
@@ -768,16 +1097,16 @@ type MascotStateProps = Omit<ViewProps, "children"> & {
768
1097
  * A moment told by a bird of the flock — an empty list, a long wait, a success, an error, a welcome — for React Native.
769
1098
  * Announced: `alert` for an error, a polite live region otherwise (`busy` while thinking).
770
1099
  */
771
- declare function MascotState({ bird, mood, title, description, action, size, layout, tone, animated, style, ...props }: MascotStateProps): React.JSX.Element;
1100
+ declare function MascotState({ bird, mood, title, description, action, size, layout, tone, animated, style, ...props }: MascotStateProps): React$1.JSX.Element;
772
1101
  type PresetProps = Omit<MascotStateProps, "mood">;
773
1102
  /** It failed: what went wrong and what to do. */
774
- declare const ErrorState: (props: PresetProps) => React.JSX.Element;
1103
+ declare const ErrorState: (props: PresetProps) => React$1.JSX.Element;
775
1104
  /** It is done: a payment, a verification, a delivery. */
776
- declare const SuccessState: (props: PresetProps) => React.JSX.Element;
1105
+ declare const SuccessState: (props: PresetProps) => React$1.JSX.Element;
777
1106
  /** A long task runs: what runs, beside the bird. */
778
- declare const LoadingState: (props: PresetProps) => React.JSX.Element;
1107
+ declare const LoadingState: (props: PresetProps) => React$1.JSX.Element;
779
1108
  /** A first screen, an onboarding step. */
780
- declare const WelcomeState: (props: PresetProps) => React.JSX.Element;
1109
+ declare const WelcomeState: (props: PresetProps) => React$1.JSX.Element;
781
1110
 
782
1111
  interface MascotProps {
783
1112
  /** Which bird of the flock: `falcon` (watch), `owl` (reading), `duck` (building), `flamingo` (answers), `pigeon` (delivery), `lovebird` (introductions), `crane` (listening). */
@@ -801,6 +1130,137 @@ interface MascotProps {
801
1130
  */
802
1131
  declare function Mascot({ bird, mood, tone, size, animated, title, style }: MascotProps): React__default.JSX.Element;
803
1132
 
1133
+ type MatchDialogProps = {
1134
+ /** Shown (controlled). */
1135
+ open: boolean;
1136
+ /** Called when it closes. */
1137
+ onOpenChange: (open: boolean) => void;
1138
+ /** The headline (“It's a match!”) — passed translated, announced. */
1139
+ title: string;
1140
+ /** A line under it (“You and Elena liked each other”). */
1141
+ description?: string;
1142
+ /** The two people: their avatar URIs and names. */
1143
+ people: readonly [{
1144
+ src?: string | null;
1145
+ name: string;
1146
+ }, {
1147
+ src?: string | null;
1148
+ name: string;
1149
+ }];
1150
+ /** The main action (“Send a message”). */
1151
+ primaryLabel: string;
1152
+ /** What it does. */
1153
+ onPrimary: () => void;
1154
+ /** The way back (“Keep swiping”). */
1155
+ secondaryLabel: string;
1156
+ };
1157
+ /**
1158
+ * The moment two people choose each other — a match, a pair, a deal: full screen in the brand gradient, the two avatars
1159
+ * meeting at a heart, a success tick, the next step. Under reduced motion they are simply there.
1160
+ */
1161
+ declare function MatchDialog({ open, onOpenChange, title, description, people, primaryLabel, onPrimary, secondaryLabel }: MatchDialogProps): React$1.JSX.Element;
1162
+
1163
+ type MeterPart = {
1164
+ /** Its name (“To the creator”) — passed translated. */
1165
+ label: string;
1166
+ /** Its value, in the meter's unit. */
1167
+ value: number;
1168
+ /** Its value in words (“€9.00”); default: its percentage. */
1169
+ valueText?: string;
1170
+ };
1171
+ type MeterProps = {
1172
+ /** The accessible name (“Storage”, “Credits”) — passed translated; shown with `showLabel`. */
1173
+ label: string;
1174
+ /** The value, between `min` and `max` (ignored with `parts`). */
1175
+ value?: number;
1176
+ /** The start of the range. Default 0. */
1177
+ min?: number;
1178
+ /** The end of the range. Default 100. */
1179
+ max?: number;
1180
+ /** The value in words (“42 GB of 50 GB”); default: the percentage. */
1181
+ valueText?: string;
1182
+ /** The shares where the tone changes: below `low` good, up to `high` warning, past it the other end. */
1183
+ thresholds?: {
1184
+ readonly low: number;
1185
+ readonly high: number;
1186
+ };
1187
+ /** Which end is good: `low` (default: a quota) or `high` (a score). */
1188
+ optimum?: "low" | "high";
1189
+ /** Split into parts that add up to `max`: a stacked bar or ring, with its legend. */
1190
+ parts?: readonly MeterPart[];
1191
+ /** bar (default) · ring. */
1192
+ variant?: "bar" | "ring";
1193
+ /** sm · md (default) · lg: the bar's thickness, the ring's diameter. */
1194
+ size?: "sm" | "md" | "lg";
1195
+ /** Shows the label and the value above the bar. */
1196
+ showLabel?: boolean;
1197
+ /** A ring's centre: the value, a word. */
1198
+ children?: React$1.ReactNode;
1199
+ /** Styles merged last. */
1200
+ style?: StyleProp<ViewStyle>;
1201
+ };
1202
+ /** A measure within a range — a quota, a balance, a share — toned by thresholds or split into parts: the web `Meter`. */
1203
+ declare function Meter({ label, value, min, max, valueText, thresholds, optimum, parts, variant, size, showLabel, children, style }: MeterProps): React$1.JSX.Element;
1204
+
1205
+ type NumberTickerProps = {
1206
+ /** The value to show. */
1207
+ value: number;
1208
+ /** The locale of the digits and separators (`"fr"`: 1 204,5) — the app's locale. */
1209
+ locale?: string;
1210
+ /** How to write it (`{ style: "currency", currency: "EUR" }`): Intl.NumberFormat options. */
1211
+ format?: Intl.NumberFormatOptions;
1212
+ /** `mount` (default): climbs from zero once, when shown. `change`: rolls from the previous value on every change. */
1213
+ trigger?: "mount" | "change";
1214
+ /** Milliseconds of the roll. Default 1100. */
1215
+ duration?: number;
1216
+ /** Announce each new value (`trigger="change"`): a live total the person should hear. */
1217
+ announce?: boolean;
1218
+ /** The type scale. Default `display`. */
1219
+ variant?: TxtVariant;
1220
+ /** The text role. Default `text`. */
1221
+ tone?: TxtTone;
1222
+ /** Styles merged last. */
1223
+ style?: StyleProp<TextStyle>;
1224
+ };
1225
+ /**
1226
+ * A figure that climbs to its value — the web `NumberTicker`: tabular digits (no jitter), the final value for screen
1227
+ * readers from the first frame, still under reduced motion.
1228
+ */
1229
+ declare function NumberTicker({ value, locale, format, trigger, duration, announce, variant, tone, style }: NumberTickerProps): React$1.JSX.Element;
1230
+
1231
+ type OnboardingSlide = {
1232
+ /** The picture: a `Mascot`, an illustration, a product mark (decorative). */
1233
+ visual?: React$1.ReactNode;
1234
+ /** The promise, in a few words — passed translated. */
1235
+ title: string;
1236
+ /** One or two sentences. */
1237
+ description: string;
1238
+ };
1239
+ type OnboardingProps = {
1240
+ /** The slides, three or four. */
1241
+ slides: readonly OnboardingSlide[];
1242
+ /** The words of the buttons — passed translated. */
1243
+ labels: {
1244
+ /** To the next slide (“Next”). */
1245
+ next: string;
1246
+ /** On the last slide (“Get started”). */
1247
+ done: string;
1248
+ /** Skips to the end (“Skip”). */
1249
+ skip: string;
1250
+ /** The position, for screen readers: `(n, total) => "Step 2 of 3"`. */
1251
+ position: (n: number, total: number) => string;
1252
+ };
1253
+ /** Called by “Get started” and “Skip”: remember it and leave. */
1254
+ onDone: () => void;
1255
+ /** Styles merged last. */
1256
+ style?: StyleProp<ViewStyle>;
1257
+ };
1258
+ /**
1259
+ * A first launch in a few slides: swipe or tap Next, Skip at any time, dots that say where you are, the safe areas
1260
+ * kept. Each slide is announced with its position; the buttons do everything a swipe does.
1261
+ */
1262
+ declare function Onboarding({ slides, labels, onDone, style }: OnboardingProps): React$1.JSX.Element;
1263
+
804
1264
  /**
805
1265
  * The Orazaka mark for React Native — the geometry of the web mark (marks/orazaka-geometry.ts): the three shards turn
806
1266
  * slowly around the core, which breathes; still when the system reduces motion.
@@ -814,6 +1274,34 @@ declare function OrazakaMark({ size, animated, title, neutral }: NativeMarkProps
814
1274
  */
815
1275
  declare function OrochiaMark({ size, animated, title, neutral: neutralProp }: NativeMarkProps): React__default.JSX.Element;
816
1276
 
1277
+ type OtpInputProps = {
1278
+ /** The accessible name (“Verification code”) — passed translated. */
1279
+ label: string;
1280
+ /** How many characters. Default 6. */
1281
+ length?: number;
1282
+ /** The code (controlled). */
1283
+ value?: string;
1284
+ /** Called on every change with the code typed so far. */
1285
+ onValueChange?: (code: string) => void;
1286
+ /** Called once all the characters are there (check it here); a tick confirms. */
1287
+ onComplete?: (code: string) => void;
1288
+ /** `numeric` (default) or `text` (letters and digits). */
1289
+ mode?: "numeric" | "text";
1290
+ /** The code was refused: the boxes turn to danger, and an error tick. */
1291
+ invalid?: boolean;
1292
+ /** Cannot be typed in (checking). */
1293
+ disabled?: boolean;
1294
+ /** Focus it when shown. */
1295
+ autoFocus?: boolean;
1296
+ /** Styles merged last. */
1297
+ style?: StyleProp<ViewStyle>;
1298
+ };
1299
+ /**
1300
+ * A one-time code in boxes — one real input underneath, so the keyboard's suggestion of the code from a message
1301
+ * (iOS `oneTimeCode`, Android `sms-otp`) and pasting fill every box at once; the caret shows in the next empty box.
1302
+ */
1303
+ declare function OtpInput({ label, length, value, onValueChange, onComplete, mode, invalid, disabled, autoFocus, style }: OtpInputProps): React$1.JSX.Element;
1304
+
817
1305
  type PaginationLabels = {
818
1306
  /** The previous-page button ("Previous page"). */
819
1307
  previous: string;
@@ -850,7 +1338,42 @@ type PaginationProps = {
850
1338
  * Previous / next with where the list stands ("Page 3 of 12"), or the two buttons of a cursor — the web
851
1339
  * `Pagination` folded, the form a phone's thumb reaches. On a feed, prefer loading more at the end of the list.
852
1340
  */
853
- declare function Pagination({ page, pageCount, onPageChange, hasPrevious, hasNext, onPrevious, onNext, status, disabled, labels, style }: PaginationProps): React.JSX.Element;
1341
+ declare function Pagination({ page, pageCount, onPageChange, hasPrevious, hasNext, onPrevious, onNext, status, disabled, labels, style }: PaginationProps): React$1.JSX.Element;
1342
+
1343
+ type PermissionStatus = "undetermined" | "granted" | "denied" | "blocked";
1344
+ type PermissionPromptProps = {
1345
+ /** Where the permission stands (from expo-camera, expo-notifications…): `blocked` = denied and the system will not ask again. */
1346
+ status: PermissionStatus;
1347
+ /** What it is for, in a few words (“Film your challenge”) — passed translated. */
1348
+ title: string;
1349
+ /** Why the app needs it, said plainly, before the system asks. */
1350
+ description: string;
1351
+ /** The button that asks (“Allow the camera”). */
1352
+ allowLabel: string;
1353
+ /** Asks the system (`requestPermission()` of the module). */
1354
+ onAllow: () => void;
1355
+ /** The button when the system will not ask again (“Open settings”) — with `onOpenSettings`. */
1356
+ settingsLabel?: string;
1357
+ /** Opens the app's settings (`Linking.openSettings()`). */
1358
+ onOpenSettings?: () => void;
1359
+ /** The words when it is blocked (“The camera is off for Orochia. Turn it on in the settings.”). */
1360
+ blockedDescription?: string;
1361
+ /** A secondary way out (“Not now”), with `onDismiss`. */
1362
+ dismissLabel?: string;
1363
+ /** Called by the way out. */
1364
+ onDismiss?: () => void;
1365
+ /** The bird above (decorative): the falcon watches (camera), the pigeon delivers (notifications). Default falcon. */
1366
+ mascot?: MascotProps["bird"];
1367
+ /** Rendered once granted: the camera, the screen. Absent: nothing. */
1368
+ children?: React$1.ReactNode;
1369
+ /** Styles merged last. */
1370
+ style?: StyleProp<ViewStyle>;
1371
+ };
1372
+ /**
1373
+ * Before the system's permission dialog, the app says why: a bird, what it is for, the button that asks — and, once the
1374
+ * system will not ask again, the way to the settings. Once granted, its children (the camera, the feature) show.
1375
+ */
1376
+ declare function PermissionPrompt({ status, title, description, allowLabel, onAllow, settingsLabel, onOpenSettings, blockedDescription, dismissLabel, onDismiss, mascot, children, style, }: PermissionPromptProps): React$1.JSX.Element;
854
1377
 
855
1378
  interface PhoenixProps {
856
1379
  /** `own` (default): the violet wing and the gold wing of the Krizaka story. `brand`: the theme's accent and accent-2. */
@@ -867,6 +1390,58 @@ interface PhoenixProps {
867
1390
  /** The phoenix of the Krizaka story — the comeback — for React Native: the web `Phoenix`'s geometry. */
868
1391
  declare function Phoenix({ tone, size, animated, title, style }: PhoenixProps): React__default.JSX.Element;
869
1392
 
1393
+ /** A photo of the grid. */
1394
+ type GridPhoto = {
1395
+ /** A stable id. */
1396
+ id: string;
1397
+ /** Its URI. */
1398
+ uri: string;
1399
+ /** What it shows — its accessible name. */
1400
+ alt?: string;
1401
+ };
1402
+ type PhotoGridLabels = {
1403
+ /** An empty slot's button (“Add a photo”). */
1404
+ add: string;
1405
+ /** The first photo's badge (“Main”). */
1406
+ main: string;
1407
+ /** A photo's menu title: `(n) => "Photo " + n`. */
1408
+ photo: (position: number) => string;
1409
+ /** Make it the main photo. */
1410
+ makeMain: string;
1411
+ /** Move it one place earlier. */
1412
+ moveEarlier: string;
1413
+ /** Move it one place later. */
1414
+ moveLater: string;
1415
+ /** Remove it. */
1416
+ remove: string;
1417
+ /** Cancel. */
1418
+ cancel: string;
1419
+ };
1420
+ type PhotoGridProps = {
1421
+ /** The photos, in order: the first is the main one. */
1422
+ value: readonly GridPhoto[];
1423
+ /** Called with the new order, or without a removed photo. */
1424
+ onValueChange: (photos: GridPhoto[]) => void;
1425
+ /** Called by an empty slot: open the `MediaPicker`, the camera or the editor, then add what comes back. */
1426
+ onAdd?: () => void;
1427
+ /** How many slots. Default 6. */
1428
+ slots?: number;
1429
+ /** Fewest photos required: the empty slots up to it are marked. Default 1. */
1430
+ required?: number;
1431
+ /** Columns. Default 3. */
1432
+ columns?: number;
1433
+ /** The words, passed translated. */
1434
+ labels: PhotoGridLabels;
1435
+ /** Styles merged last. */
1436
+ style?: StyleProp<ViewStyle>;
1437
+ };
1438
+ /**
1439
+ * A profile's photos in a grid of slots — the first one is the main photo, empty slots invite to add. A long press (or
1440
+ * a tap) opens a photo's menu: make it the main one, move it earlier or later, remove it; every move is a tick, and
1441
+ * screen readers get the same actions on each photo.
1442
+ */
1443
+ declare function PhotoGrid({ value, onValueChange, onAdd, slots, required, columns, labels, style }: PhotoGridProps): React$1.JSX.Element;
1444
+
870
1445
  /** The mark of a Krizaka brand by id, for React Native — the counterpart of the web `ProductLogo`. */
871
1446
  declare function ProductMark({ id, ...props }: NativeMarkProps & {
872
1447
  id: BrandId;
@@ -884,7 +1459,7 @@ interface ProfileStat {
884
1459
  }
885
1460
  type ProfileCardProps = Omit<ViewProps, "children"> & {
886
1461
  /** The portrait: an `Avatar`, an image, a mark. Decorative — the name carries the meaning. */
887
- visual: React.ReactNode;
1462
+ visual: React$1.ReactNode;
888
1463
  /** The name (the card's heading). */
889
1464
  name: string;
890
1465
  /** The headline gauge's label (“Profile complete”); without it, no headline gauge. */
@@ -898,12 +1473,12 @@ type ProfileCardProps = Omit<ViewProps, "children"> & {
898
1473
  /** One line under the gauges. */
899
1474
  caption?: string;
900
1475
  /** Under everything: actions (a `Button`), chips. */
901
- children?: React.ReactNode;
1476
+ children?: React$1.ReactNode;
902
1477
  /** The gauges fill once on mount; still when the system reduces motion. */
903
1478
  animated?: boolean;
904
1479
  };
905
1480
  /** A profile at a glance for React Native: portrait, name, a headline gauge, stats in words, a line, actions. */
906
- declare function ProfileCard({ visual, name, statLabel, value, valueText, stats, caption, children, animated, style, ...props }: ProfileCardProps): React.JSX.Element;
1481
+ declare function ProfileCard({ visual, name, statLabel, value, valueText, stats, caption, children, animated, style, ...props }: ProfileCardProps): React$1.JSX.Element;
907
1482
 
908
1483
  type ProgressProps = {
909
1484
  /** `bar` (default) or `ring`. */
@@ -919,7 +1494,7 @@ type ProgressProps = {
919
1494
  /** The value in words for screen readers ("$420 of $1,000") — default: the percentage. */
920
1495
  valueText?: string;
921
1496
  /** A ring's centre: an amount, a percentage, an icon. */
922
- children?: React.ReactNode;
1497
+ children?: React$1.ReactNode;
923
1498
  /** Styles merged last. */
924
1499
  style?: StyleProp<ViewStyle>;
925
1500
  };
@@ -927,7 +1502,17 @@ type ProgressProps = {
927
1502
  * A progress bar or ring in the accent gradient (`accent` → `accent2`): it moves to `value` / `max` when it changes,
928
1503
  * indeterminate without a value. Still under reduced motion. A `progressbar` with its value for screen readers.
929
1504
  */
930
- declare function Progress({ variant, size, value, max, label, valueText, children, style }: ProgressProps): React.JSX.Element;
1505
+ declare function Progress({ variant, size, value, max, label, valueText, children, style }: ProgressProps): React$1.JSX.Element;
1506
+
1507
+ type PullToRefreshProps = Omit<RefreshControlProps, "colors" | "tintColor" | "progressBackgroundColor" | "titleColor" | "title"> & {
1508
+ /** The words of the pull (“Pull to refresh”) — passed translated; shown on iOS under the spinner. */
1509
+ label?: string;
1510
+ };
1511
+ /**
1512
+ * The platform's pull to refresh in the theme's accent: the `refreshControl` of a ScrollView or a FlatList. `List`
1513
+ * draws it already with `onRefresh`.
1514
+ */
1515
+ declare function PullToRefresh({ label, ...props }: PullToRefreshProps): React$1.JSX.Element;
931
1516
 
932
1517
  /** A choice: the value stored and its words (passed translated), a line under them, a second line on a key. */
933
1518
  type RadioOption = {
@@ -965,7 +1550,31 @@ type RadioGroupProps = {
965
1550
  * One choice among a few, all visible — the web `RadioGroup` in its four looks. A radio group for VoiceOver and
966
1551
  * TalkBack; each press plays a haptic (`selection`, `impact` for a tactile key) when the app passes `haptics`.
967
1552
  */
968
- declare function RadioGroup({ label, options, value: valueProp, defaultValue, onValueChange, variant, error, disabled, style }: RadioGroupProps): React.JSX.Element;
1553
+ declare function RadioGroup({ label, options, value: valueProp, defaultValue, onValueChange, variant, error, disabled, style }: RadioGroupProps): React$1.JSX.Element;
1554
+
1555
+ type ScreenProps = {
1556
+ /** At the top: a `Header`, a `StepProgress` (they keep clear of the status bar themselves). */
1557
+ header?: React$1.ReactNode;
1558
+ /** At the bottom: a `TabBar`, a `MessageComposer`, a main `Button` (they keep clear of the home indicator). */
1559
+ footer?: React$1.ReactNode;
1560
+ /** The content. */
1561
+ children: React$1.ReactNode;
1562
+ /** The content scrolls (default) — or not, for a list that scrolls itself (`List`, `FlatList`). */
1563
+ scroll?: boolean;
1564
+ /** The content rises with the keyboard (a form, a chat). Default true. */
1565
+ keyboard?: boolean;
1566
+ /** Padding around the content. Default 16. */
1567
+ padding?: number;
1568
+ /** The surface: `surface0` (default) or `surface1`. */
1569
+ surface?: "surface0" | "surface1";
1570
+ /** Styles of the content. */
1571
+ contentStyle?: StyleProp<ViewStyle>;
1572
+ };
1573
+ /**
1574
+ * A screen of the app: a header, the content (scrolling, rising with the keyboard), a footer — on the theme's surface,
1575
+ * clear of the safe areas through its parts. The base of the templates: app shell, sign-in, profile, feed, chat, settings.
1576
+ */
1577
+ declare function Screen({ header, footer, children, scroll, keyboard, padding, surface, contentStyle }: ScreenProps): React$1.JSX.Element;
969
1578
 
970
1579
  type SearchFieldProps = Omit<TextInputProps, "value" | "defaultValue" | "onChangeText" | "style" | "onSubmitEditing"> & {
971
1580
  /** The accessible name of the input ("Search videos"), passed translated. */
@@ -984,6 +1593,10 @@ type SearchFieldProps = Omit<TextInputProps, "value" | "defaultValue" | "onChang
984
1593
  onSubmit?: (query: string) => void;
985
1594
  /** The clear button's name ("Clear search"), passed translated. */
986
1595
  clearLabel: string;
1596
+ /** The words of a cancel button beside the field (“Cancel”, iOS search bars) — passed translated; with `onCancel` it shows while the field has the focus or a query. */
1597
+ cancelLabel?: string;
1598
+ /** Called by the cancel button: the query is cleared and the keyboard closes. */
1599
+ onCancel?: () => void;
987
1600
  /** Styles merged last, on the field's frame. */
988
1601
  style?: StyleProp<ViewStyle>;
989
1602
  };
@@ -991,7 +1604,7 @@ type SearchFieldProps = Omit<TextInputProps, "value" | "defaultValue" | "onChang
991
1604
  * A search box: the glyph, the input with the keyboard's search key, a clear button, and a debounced `onSearch` —
992
1605
  * the web `SearchField` without the shortcut and the suggestions (a screen of results is the native idiom).
993
1606
  */
994
- declare function SearchField({ label, value, defaultValue, onValueChange, onSearch, debounce, onSubmit, clearLabel, style, placeholder, ...props }: SearchFieldProps): React.JSX.Element;
1607
+ declare function SearchField({ label, value, defaultValue, onValueChange, onSearch, debounce, onSubmit, clearLabel, cancelLabel, onCancel, style, placeholder, onFocus, onBlur, ...props }: SearchFieldProps): React$1.JSX.Element;
995
1608
 
996
1609
  type SegmentedOption<T extends string> = {
997
1610
  value: T;
@@ -1016,7 +1629,7 @@ type SegmentedProps<T extends string> = {
1016
1629
  * Switches between views of one screen: equal segments on a track, the chosen one raised — the web
1017
1630
  * `Tabs variant="segmented"`. A tab list for screen readers. To filter a list, use `Chip.Group`.
1018
1631
  */
1019
- declare function Segmented<T extends string>({ options, value, onValueChange, size, "aria-label": label, style }: SegmentedProps<T>): React.JSX.Element;
1632
+ declare function Segmented<T extends string>({ options, value, onValueChange, size, "aria-label": label, style }: SegmentedProps<T>): React$1.JSX.Element;
1020
1633
 
1021
1634
  type SkeletonProps = {
1022
1635
  /** `text` (a line), `circle` (an avatar), `rect` (a media, a card). */
@@ -1031,7 +1644,7 @@ type SkeletonProps = {
1031
1644
  testID?: string;
1032
1645
  };
1033
1646
  /** A pulsing placeholder the size of what is loading — hidden from screen readers; still when the system reduces motion. */
1034
- declare function Skeleton({ shape, width, height, style, testID }: SkeletonProps): React.JSX.Element;
1647
+ declare function Skeleton({ shape, width, height, style, testID }: SkeletonProps): React$1.JSX.Element;
1035
1648
 
1036
1649
  type SliderValue = number | [number, number];
1037
1650
  type SliderProps<V extends SliderValue = number> = {
@@ -1080,7 +1693,7 @@ type SliderProps<V extends SliderValue = number> = {
1080
1693
  * Each step the thumb passes ticks under the thumb (`selection` haptic); for VoiceOver and TalkBack each thumb is an
1081
1694
  * adjustable control (swipe up or down by a step), its value read as words.
1082
1695
  */
1083
- declare function Slider<V extends SliderValue = number>({ label, thumbLabels, value, defaultValue, onValueChange, onValueCommit, min, max, step, formatValue, showLabel, floatingValue, ticks, marks, tone, orientation, disabled, style, }: SliderProps<V>): React.JSX.Element;
1696
+ declare function Slider<V extends SliderValue = number>({ label, thumbLabels, value, defaultValue, onValueChange, onValueCommit, min, max, step, formatValue, showLabel, floatingValue, ticks, marks, tone, orientation, disabled, style, }: SliderProps<V>): React$1.JSX.Element;
1084
1697
 
1085
1698
  type SpinnerProps = Omit<ActivityIndicatorProps, "size" | "color"> & {
1086
1699
  /** The accessible name of the wait, e.g. "Loading" — passed translated. */
@@ -1089,7 +1702,157 @@ type SpinnerProps = Omit<ActivityIndicatorProps, "size" | "color"> & {
1089
1702
  size?: "sm" | "md" | "lg";
1090
1703
  };
1091
1704
  /** An indeterminate wait: the platform's activity indicator in the accent, named by `label`. */
1092
- declare function Spinner({ label, size, ...props }: SpinnerProps): React.JSX.Element;
1705
+ declare function Spinner({ label, size, ...props }: SpinnerProps): React$1.JSX.Element;
1706
+
1707
+ type StepProgressProps = {
1708
+ /** The current step, from 1. */
1709
+ step: number;
1710
+ /** How many steps. */
1711
+ total: number;
1712
+ /** The position in words: `(n, total) => "Step " + n + " of " + total` — passed translated. */
1713
+ label: (step: number, total: number) => string;
1714
+ /** The back button's words (“Back”); with `onBack` it shows. */
1715
+ backLabel?: string;
1716
+ /** Goes back a step. */
1717
+ onBack?: () => void;
1718
+ /** At the right: a Skip button. */
1719
+ trailing?: React.ReactNode;
1720
+ /** Styles merged last. */
1721
+ style?: StyleProp<ViewStyle>;
1722
+ };
1723
+ /** The head of a multi-step flow (a sign-up, a profile to fill): back, segments that fill, the position in words. */
1724
+ declare function StepProgress({ step, total, label, backLabel, onBack, trailing, style }: StepProgressProps): React$1.JSX.Element;
1725
+
1726
+ type StepStatus = "done" | "current" | "upcoming" | "error";
1727
+ type Step = {
1728
+ /** Its name — passed translated. */
1729
+ title: string;
1730
+ /** One line under it (what happens, a time) — passed translated. */
1731
+ description?: string;
1732
+ /** Where it stands; by default from `current`. */
1733
+ status?: StepStatus;
1734
+ /** Between 0 and 1 for the current step: its glyph grows to it. */
1735
+ value?: number;
1736
+ /** Anything under the step while it is current or failed: a progress bar, an action. */
1737
+ content?: React$1.ReactNode;
1738
+ };
1739
+ type StepperProps = {
1740
+ /** The steps, in order. */
1741
+ steps: readonly Step[];
1742
+ /** The index of the current step (the steps before are done). */
1743
+ current?: number;
1744
+ /** vertical (default: a job's run, a checkout) · horizontal (a few short steps across the screen). */
1745
+ orientation?: "vertical" | "horizontal";
1746
+ /** The words read after each step's title (`{ done: "done", current: "in progress", upcoming: "to come", error: "failed" }`) — passed translated. */
1747
+ statusLabels?: Partial<Record<StepStatus, string>>;
1748
+ /** The accessible name of the list (“Run of the dubbing job”). */
1749
+ "aria-label"?: string;
1750
+ /** Styles merged last. */
1751
+ style?: StyleProp<ViewStyle>;
1752
+ };
1753
+ /** The steps of a process, where it stands — the web `Stepper`: done steps checked, the current one tracing, a failure crossed. */
1754
+ declare function Stepper({ steps, current, orientation, statusLabels, "aria-label": label, style }: StepperProps): React$1.JSX.Element;
1755
+
1756
+ type PersonCardProps = {
1757
+ /** The person's photos (URIs), the first shown first; tap the left or right side to move between them. */
1758
+ photos: readonly {
1759
+ uri: string;
1760
+ alt?: string;
1761
+ }[];
1762
+ /** The name. */
1763
+ name: string;
1764
+ /** The age, written after the name. */
1765
+ age?: number;
1766
+ /** Beside the name: a `VerifiedBadge`. */
1767
+ badge?: React$1.ReactNode;
1768
+ /** A line under the name: a `DistanceChip`, a job. */
1769
+ meta?: React$1.ReactNode;
1770
+ /** A sentence about the person. */
1771
+ bio?: string;
1772
+ /** At the bottom: the interests as chips. */
1773
+ footer?: React$1.ReactNode;
1774
+ /** The photo position, read: `(n, total) => "Photo " + n + " of " + total`. */
1775
+ photoLabel?: (position: number, total: number) => string;
1776
+ /** Styles merged last. */
1777
+ style?: StyleProp<ViewStyle>;
1778
+ };
1779
+ /** A person on a card: the photos full bleed (tap a side to change), the name and age over a scrim, a line, a bio, chips. */
1780
+ declare function PersonCard({ photos, name, age, badge, meta, bio, footer, photoLabel, style }: PersonCardProps): React$1.JSX.Element;
1781
+ type SwipeDirection = "like" | "pass";
1782
+ type SwipeDeckLabels = {
1783
+ /** The like button and action (“Like”). */
1784
+ like: string;
1785
+ /** The pass button and action (“Pass”). */
1786
+ pass: string;
1787
+ /** The stamp shown while dragging right (“LIKE”). */
1788
+ likeStamp?: string;
1789
+ /** The stamp shown while dragging left (“NOPE”). */
1790
+ passStamp?: string;
1791
+ /** Announced when the deck is empty. */
1792
+ empty?: string;
1793
+ };
1794
+ type SwipeDeckProps<T> = {
1795
+ /** The cards still to decide, the first on top. */
1796
+ items: readonly T[];
1797
+ /** A card's id. */
1798
+ getId: (item: T) => string;
1799
+ /** A card (usually a `PersonCard`). */
1800
+ renderCard: (item: T) => React$1.ReactNode;
1801
+ /** Called with the card decided and the decision; remove it from `items`. */
1802
+ onSwipe: (item: T, direction: SwipeDirection) => void;
1803
+ /** Shown when there is no card left (an `EmptyState`). */
1804
+ empty?: React$1.ReactNode;
1805
+ /** The words, passed translated. */
1806
+ labels: SwipeDeckLabels;
1807
+ /** Hide the like and pass buttons (the app draws its own). */
1808
+ hideButtons?: boolean;
1809
+ /** Styles merged last. */
1810
+ style?: StyleProp<ViewStyle>;
1811
+ };
1812
+ /**
1813
+ * A deck of cards to decide one by one: drag the top card right to like, left to pass (it tilts, a stamp says what it
1814
+ * will do, past a third of the screen it flies off), or press the buttons; a tick marks the decision. Screen readers
1815
+ * get “Like” and “Pass” as actions of the card. Under reduced motion the card leaves without flying.
1816
+ */
1817
+ declare function SwipeDeck<T>({ items, getId, renderCard, onSwipe, empty, labels, hideButtons, style }: SwipeDeckProps<T>): React$1.JSX.Element;
1818
+
1819
+ type SwipeAction = {
1820
+ /** The action's words — passed translated; also its accessibility action. */
1821
+ label: string;
1822
+ /** What it does; the row closes first. */
1823
+ onPress: () => void;
1824
+ /** The tone: `danger` (delete), `accent` (pin, reply), `neutral` (archive, mute). Default `neutral`. */
1825
+ tone?: "neutral" | "accent" | "success" | "warning" | "danger";
1826
+ /** A decorative icon above the words. */
1827
+ icon?: React$1.ReactNode;
1828
+ };
1829
+ type SwipeableRowProps = {
1830
+ /** The row's content (a `ListItem`). */
1831
+ children: React$1.ReactNode;
1832
+ /** Revealed by a swipe to the left, at the right edge (the first is the outermost). */
1833
+ trailing?: readonly SwipeAction[];
1834
+ /** Revealed by a swipe to the right, at the left edge. */
1835
+ leading?: readonly SwipeAction[];
1836
+ /** A full swipe past this share of the row runs the outermost action (delete, archive). Default 0.6; `false` never. */
1837
+ fullSwipe?: number | false;
1838
+ /** Width of each action, in points. Default 80. */
1839
+ actionWidth?: number;
1840
+ /**
1841
+ * The row's own action, for screen readers: the row is one element whose actions are the swipe actions, and
1842
+ * activating it calls this (pass the `onPress` of the `ListItem` inside).
1843
+ */
1844
+ onActivate?: () => void;
1845
+ /** The test id of the row's moving part (the accessibility element). */
1846
+ testID?: string;
1847
+ /** Styles merged last. */
1848
+ style?: StyleProp<ViewStyle>;
1849
+ };
1850
+ /**
1851
+ * A row whose actions show under a swipe — mail-style: swipe left for the trailing actions, right for the leading ones,
1852
+ * a full swipe runs the outermost one, a tick marks the threshold. Screen readers get the same actions from the
1853
+ * rotor (accessibility actions): nothing is reachable only by a gesture.
1854
+ */
1855
+ declare function SwipeableRow({ children, trailing, leading, fullSwipe, actionWidth, onActivate, testID, style }: SwipeableRowProps): React$1.JSX.Element;
1093
1856
 
1094
1857
  type SwitchProps = {
1095
1858
  /** The accessible name ("Push notifications"), passed translated — also the visible words when `children` is not given and `showLabel` is set. */
@@ -1118,7 +1881,97 @@ type SwitchProps = {
1118
1881
  * not the system's: the same look on iOS and Android, a `selection` haptic when it flips. `showLabel` makes it a
1119
1882
  * settings row (the label and its description beside it, all pressable).
1120
1883
  */
1121
- declare function Switch({ label, checked, defaultChecked, onCheckedChange, description, showLabel, size, error, disabled, style }: SwitchProps): React.JSX.Element;
1884
+ declare function Switch({ label, checked, defaultChecked, onCheckedChange, description, showLabel, size, error, disabled, style }: SwitchProps): React$1.JSX.Element;
1885
+
1886
+ type TabBarItem<T extends string> = {
1887
+ /** The section's key (the route name). */
1888
+ value: T;
1889
+ /** Its name under the icon — passed translated. */
1890
+ label: string;
1891
+ /** The icon: a function of the selected state and the colour (`(on, color) => <HomeIcon color={color} />`). */
1892
+ icon: (selected: boolean, color: string) => React$1.ReactNode;
1893
+ /** A count on the icon (`99+` past 99); `true` for a dot without a number. */
1894
+ badge?: number | boolean;
1895
+ /** The badge in words for screen readers (“3 unread”) — passed translated. */
1896
+ badgeLabel?: string;
1897
+ };
1898
+ type TabBarProps<T extends string> = {
1899
+ /** The app's main sections, two to five. */
1900
+ items: readonly TabBarItem<T>[];
1901
+ /** The current section. */
1902
+ value: T;
1903
+ /** Called with the section pressed (navigate there); a light tick confirms it. */
1904
+ onValueChange: (value: T) => void;
1905
+ /** Called when the current section is pressed again: scroll it to the top, refresh it. */
1906
+ onReselect?: (value: T) => void;
1907
+ /** The accessible name of the bar (“Main sections”) — passed translated. */
1908
+ "aria-label"?: string;
1909
+ /** Styles merged last. */
1910
+ style?: StyleProp<ViewStyle>;
1911
+ };
1912
+ /**
1913
+ * The app's main sections, at the bottom of the screen: an icon and a word each, the current one in the accent, a
1914
+ * badge for what is new; clear of the home indicator (the safe area), a tick on change, a second press to go back to
1915
+ * the top. Plug it in expo-router's or React Navigation's `tabBar`.
1916
+ */
1917
+ declare function TabBar<T extends string>({ items, value, onValueChange, onReselect, "aria-label": label, style }: TabBarProps<T>): React$1.JSX.Element;
1918
+
1919
+ type TabItem<T extends string> = {
1920
+ /** The tab's key. */
1921
+ value: T;
1922
+ /** Its words — passed translated. */
1923
+ label: string;
1924
+ /** A count after the words (unread, results). */
1925
+ count?: number;
1926
+ /** The panel shown while it is selected. */
1927
+ content?: React$1.ReactNode;
1928
+ /** Cannot be selected. */
1929
+ disabled?: boolean;
1930
+ };
1931
+ type TabsProps<T extends string> = {
1932
+ /** The tabs, in order. */
1933
+ items: readonly TabItem<T>[];
1934
+ /** The selected tab (controlled). */
1935
+ value?: T;
1936
+ /** The selected tab at first, uncontrolled. Default: the first. */
1937
+ defaultValue?: T;
1938
+ /** Called with the tab pressed; a light tick confirms it. */
1939
+ onValueChange?: (value: T) => void;
1940
+ /** The accessible name of the tab list — passed translated. */
1941
+ "aria-label"?: string;
1942
+ /** `underline` (default: sections of a screen, scrolls sideways when they do not fit) or `segmented` (two to four views). */
1943
+ variant?: "underline" | "segmented";
1944
+ /** Styles merged last, on the root. */
1945
+ style?: StyleProp<ViewStyle>;
1946
+ };
1947
+ /**
1948
+ * Sections of one screen — the web `Tabs`: a tab list (underlined, scrolling sideways when long, or segmented) and the
1949
+ * selected panel under it. For the app's main sections, use `TabBar`.
1950
+ */
1951
+ declare function Tabs<T extends string>({ items, value, defaultValue, onValueChange, "aria-label": label, variant, style }: TabsProps<T>): React$1.JSX.Element;
1952
+
1953
+ type TagOption = {
1954
+ value: string;
1955
+ label: string;
1956
+ };
1957
+ type TagSelectorProps = {
1958
+ /** The group's name (“Interests”) — passed translated. */
1959
+ label: string;
1960
+ /** The tags offered. */
1961
+ options: readonly TagOption[];
1962
+ /** The tags chosen. */
1963
+ value: readonly string[];
1964
+ /** Called with the tags chosen. */
1965
+ onValueChange: (value: string[]) => void;
1966
+ /** The most that can be chosen; the others turn off once reached. */
1967
+ max?: number;
1968
+ /** The count under the tags: `(n, max) => n + " of " + max`. */
1969
+ countLabel?: (count: number, max: number) => string;
1970
+ /** Styles merged last. */
1971
+ style?: StyleProp<ViewStyle>;
1972
+ };
1973
+ /** Interests, languages, what one is looking for: toggle chips with a limit and a count — the others rest once it is reached. */
1974
+ declare function TagSelector({ label, options, value, onValueChange, max, countLabel, style }: TagSelectorProps): React$1.JSX.Element;
1122
1975
 
1123
1976
  type ThemeName = "dark" | "light";
1124
1977
  /** The colour roles of one theme (the @krizaka/tokens roles). */
@@ -1213,6 +2066,13 @@ type ThemeFonts = {
1213
2066
  * pressed in), `success` / `warning` (an outcome).
1214
2067
  */
1215
2068
  type HapticKind = "selection" | "impact" | "success" | "warning";
2069
+ /** The screen's safe-area insets, in points (`useSafeAreaInsets()` of react-native-safe-area-context). */
2070
+ type Insets = {
2071
+ readonly top: number;
2072
+ readonly right: number;
2073
+ readonly bottom: number;
2074
+ readonly left: number;
2075
+ };
1216
2076
  type ThemeContextValue = {
1217
2077
  /** The chosen mode: dark, light or follow the system. */
1218
2078
  mode: Mode;
@@ -1226,9 +2086,11 @@ type ThemeContextValue = {
1226
2086
  fonts: ThemeFonts;
1227
2087
  /** Plays a haptic (the app's `haptics`, through expo-haptics or another module); nothing without one. */
1228
2088
  haptic: (kind: HapticKind) => void;
2089
+ /** The safe-area insets the app passed (zero by default): the tab bar, the header and the FAB keep clear of them. */
2090
+ insets: Insets;
1229
2091
  };
1230
2092
  type ThemeProviderProps = {
1231
- children: React.ReactNode;
2093
+ children: React$1.ReactNode;
1232
2094
  /** Controlled mode (with `onModeChange`). */
1233
2095
  mode?: Mode;
1234
2096
  /** Uncontrolled: the mode before the user picks one. Default: follow the system. */
@@ -1245,9 +2107,11 @@ type ThemeProviderProps = {
1245
2107
  * with expo-haptics. Absent: no haptics.
1246
2108
  */
1247
2109
  haptics?: (kind: HapticKind) => void;
2110
+ /** The safe-area insets (`useSafeAreaInsets()` of react-native-safe-area-context): bars and floating buttons keep clear of them. */
2111
+ insets?: Insets;
1248
2112
  };
1249
2113
  /** Once, at the root of the app. Without it, `useTheme()` follows the system with the platform's roles. */
1250
- declare function ThemeProvider({ children, mode: controlled, defaultMode, onModeChange, overrides, fonts, haptics }: ThemeProviderProps): React.JSX.Element;
2114
+ declare function ThemeProvider({ children, mode: controlled, defaultMode, onModeChange, overrides, fonts, haptics, insets }: ThemeProviderProps): React$1.JSX.Element;
1251
2115
  /** The current theme: `{ mode, setMode, scheme, theme, radius, motion, fonts }`. */
1252
2116
  declare function useTheme(): ThemeContextValue;
1253
2117
  /** True while the system asks to reduce motion: every loop and transition of /native stops. */
@@ -1262,7 +2126,7 @@ type ToastOptions = {
1262
2126
  description?: string;
1263
2127
  tone?: ToastTone;
1264
2128
  /** A decorative icon before the text. */
1265
- icon?: React.ReactNode;
2129
+ icon?: React$1.ReactNode;
1266
2130
  /** Milliseconds on screen; `Infinity` keeps it until dismissed. Default: the Toaster's `duration`. */
1267
2131
  duration?: number;
1268
2132
  /** Pressing the toast (opening what it is about); it is then dismissed. */
@@ -1302,7 +2166,20 @@ type ToasterProps = {
1302
2166
  max?: number;
1303
2167
  };
1304
2168
  /** Mount once, at the root (inside `ThemeProvider`). Then call `toast()` from anywhere. */
1305
- declare function Toaster({ closeLabel, position, offset, duration, max }: ToasterProps): React.JSX.Element | null;
2169
+ declare function Toaster({ closeLabel, position, offset, duration, max }: ToasterProps): React$1.JSX.Element | null;
2170
+
2171
+ type VerifiedBadgeProps = {
2172
+ /** Its words, read (and shown with `showLabel`): “Verified” — passed translated. */
2173
+ label: string;
2174
+ /** Show the words beside the seal. Default false: the seal alone, named. */
2175
+ showLabel?: boolean;
2176
+ /** The seal's side, in points. Default 16. */
2177
+ size?: number;
2178
+ /** On a photo (white seal on the accent, a ring of the media): `media`. Default `surface`. */
2179
+ on?: "surface" | "media";
2180
+ };
2181
+ /** A seal that says the person or the account was verified (a selfie check, an ID) — the accent, named in words. */
2182
+ declare function VerifiedBadge({ label, showLabel, size, on }: VerifiedBadgeProps): React$1.JSX.Element;
1306
2183
 
1307
2184
  /** A value of a wheel: what is stored, and its words (passed translated or formatted for the locale). */
1308
2185
  type WheelOption = {
@@ -1314,7 +2191,7 @@ type WheelPickerProps = {
1314
2191
  /** The group's accessible name ("Departure time"), passed translated. */
1315
2192
  label: string;
1316
2193
  /** The wheels (`Wheel`), and dividers (`WheelDivider`) between them. */
1317
- children: React.ReactNode;
2194
+ children: React$1.ReactNode;
1318
2195
  /** How many values are visible: 3, 5 (default) or 7. */
1319
2196
  visible?: 3 | 5 | 7;
1320
2197
  /** Marks the group invalid (a danger edge). */
@@ -1325,11 +2202,11 @@ type WheelPickerProps = {
1325
2202
  style?: StyleProp<ViewStyle>;
1326
2203
  };
1327
2204
  /** The frame of one or several wheels: a raised surface, the lit band across them — the web `WheelPicker`. */
1328
- declare function WheelPicker({ label, children, visible, invalid, unset, style }: WheelPickerProps): React.JSX.Element;
2205
+ declare function WheelPicker({ label, children, visible, invalid, unset, style }: WheelPickerProps): React$1.JSX.Element;
1329
2206
  /** A divider between two wheels (`:` between the hours and the minutes). */
1330
2207
  declare function WheelDivider({ children }: {
1331
2208
  children: string;
1332
- }): React.JSX.Element;
2209
+ }): React$1.JSX.Element;
1333
2210
  type WheelProps = {
1334
2211
  /** The column's accessible name ("Hour", "Month"), passed translated. */
1335
2212
  label: string;
@@ -1350,7 +2227,7 @@ type WheelProps = {
1350
2227
  * One column of a `WheelPicker`: values that snap under the band, a tick of the hand (`selection` haptic) at each one
1351
2228
  * passed. For VoiceOver and TalkBack it is an adjustable control: swipe up or down to change it, its value read as words.
1352
2229
  */
1353
- declare function Wheel({ label, options, value: valueProp, defaultValue, onValueChange, disabled, style }: WheelProps): React.JSX.Element;
2230
+ declare function Wheel({ label, options, value: valueProp, defaultValue, onValueChange, disabled, style }: WheelProps): React$1.JSX.Element;
1354
2231
 
1355
2232
  /**
1356
2233
  * The Yazakia mark for React Native — the geometry of the web mark (marks/yazakia-geometry.ts): two voices, two
@@ -1366,4 +2243,4 @@ declare function YazakiaMark({ size, animated, title, neutral }: NativeMarkProps
1366
2243
  */
1367
2244
  declare function YororisMark({ size, animated, title, neutral }: NativeMarkProps): React__default.JSX.Element;
1368
2245
 
1369
- export { Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, AvatarRoot, type AvatarSize, Badge, type BadgeProps, type BadgeTone, type BrandId, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Calendar, type CalendarLabels, type CalendarProps, Card, CardBody, type CardBodyProps, CardDescription, CardFooter, CardImage, type CardImageProps, CardMedia, type CardMediaProps, CardOverlay, type CardOverlayProps, CardRoot, type CardRootProps, CardTitle, Checkbox, type CheckboxProps, Chip, type ChipGroupProps, type ChipProps, type ChipSize, Combobox, type ComboboxLabels, type ComboboxProps, Countdown, type CountdownProps, type CountdownUnits, DateField, type DateFieldLabels, type DateFieldProps, type DatePart, DateWheel, type DateWheelProps, DayStrip, type DayStripProps, EmptyState, type EmptyStateProps, ErrorState, GoalGauge, type GoalGaugeProps, type HapticKind, IconButton, type IconButtonProps, KrizakaMark, LoadingState, Mascot, type MascotProps, MascotState, type MascotStateProps, type Mode, MonthPicker, type MonthPickerProps, type Motion, type NativeMarkProps, OrazakaMark, OrochiaMark, Pagination, type PaginationLabels, type PaginationProps, Phoenix, type PhoenixProps, ProductMark, ProfileCard, type ProfileCardProps, type ProfileStat, Progress, type ProgressProps, RadioGroup, type RadioGroupProps, type RadioOption, type Radius, SearchField, type SearchFieldProps, Segmented, type SegmentedOption, type SegmentedProps, Select, type SelectOption, type SelectProps, Sheet, type SheetProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type SliderValue, Spinner, type SpinnerProps, SuccessState, Switch, type SwitchProps, TextField, type TextFieldProps, type Theme, type ThemeContextValue, type ThemeFonts, type ThemeName, type ThemeOverrides, ThemeProvider, type ThemeProviderProps, TimePicker, type TimePickerLabels, type TimePickerProps, type TimeValue, type ToastItem, type ToastOptions, type ToastTone, Toaster, type ToasterProps, Txt, type TxtProps, type TxtTone, type TxtVariant, WelcomeState, Wheel, WheelDivider, type WheelOption, WheelPicker, type WheelPickerProps, type WheelProps, YazakiaMark, YororisMark, addDays, addMonths, ageOn, alpha, calendarLabels, comboboxLabels, composeDate, dateFieldLabels, datePartsOrder, daysInMonth, formatTime, isRealDate, latestBirthDate, monthNames, splitDuration, textStyles, timeSlots, timeToMinutes, toast, todayIso, useCountdown, useReducedMotion, useTheme, uses12Hours };
2246
+ export { ActionSheet, type ActionSheetAction, type ActionSheetProps, type ActivityEvent, ActivityFeed, type ActivityFeedLabels, type ActivityFeedProps, type ActivityTone, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, AvatarRoot, type AvatarSize, Badge, type BadgeProps, type BadgeTone, type BrandId, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Calendar, type CalendarLabels, type CalendarProps, Card, CardBody, type CardBodyProps, CardDescription, CardFooter, CardImage, type CardImageProps, CardMedia, type CardMediaProps, CardOverlay, type CardOverlayProps, CardRoot, type CardRootProps, CardTitle, Checkbox, type CheckboxProps, Chip, type ChipGroupProps, type ChipProps, type ChipSize, Combobox, type ComboboxLabels, type ComboboxProps, ConversationItem, type ConversationItemProps, Countdown, type CountdownProps, type CountdownUnits, DateField, type DateFieldLabels, type DateFieldProps, type DatePart, DateWheel, type DateWheelProps, DayStrip, type DayStripProps, type DescriptionItem, DescriptionList, type DescriptionListProps, EmptyState, type EmptyStateProps, ErrorState, Fab, type FabProps, GoalGauge, type GoalGaugeProps, type GridPhoto, type HapticKind, Header, type HeaderProps, IconButton, type IconButtonProps, ImageViewer, type ImageViewerProps, type Insets, KrizakaMark, Loader, LoaderGlyph, type LoaderGlyphProps, type LoaderProps, LoadingState, Mascot, type MascotProps, MascotState, type MascotStateProps, MatchDialog, type MatchDialogProps, MessageBubble, type MessageBubbleLabels, type MessageBubbleProps, MessageComposer, type MessageComposerProps, type MessageStatus, Meter, type MeterPart, type MeterProps, type Mode, MonthPicker, type MonthPickerProps, type Motion, type NativeMarkProps, NumberTicker, type NumberTickerProps, Onboarding, type OnboardingProps, type OnboardingSlide, OrazakaMark, OrochiaMark, OtpInput, type OtpInputProps, Pagination, type PaginationLabels, type PaginationProps, PermissionPrompt, type PermissionPromptProps, type PermissionStatus, PersonCard, type PersonCardProps, Phoenix, type PhoenixProps, PhotoGrid, type PhotoGridLabels, type PhotoGridProps, ProductMark, ProfileCard, type ProfileCardProps, type ProfileStat, Progress, type ProgressProps, PullToRefresh, type PullToRefreshProps, RadioGroup, type RadioGroupProps, type RadioOption, type Radius, Screen, type ScreenProps, SearchField, type SearchFieldProps, Segmented, type SegmentedOption, type SegmentedProps, Select, type SelectOption, type SelectProps, Sheet, type SheetProps, Skeleton, type SkeletonProps, Slider, type SliderProps, type SliderValue, Spinner, type SpinnerProps, type Step, StepProgress, type StepProgressProps, type StepStatus, Stepper, type StepperProps, SuccessState, type SwipeAction, SwipeDeck, type SwipeDeckLabels, type SwipeDeckProps, type SwipeDirection, SwipeableRow, type SwipeableRowProps, Switch, type SwitchProps, TabBar, type TabBarItem, type TabBarProps, type TabItem, Tabs, type TabsProps, type TagOption, TagSelector, type TagSelectorProps, TextField, type TextFieldProps, type Theme, type ThemeContextValue, type ThemeFonts, type ThemeName, type ThemeOverrides, ThemeProvider, type ThemeProviderProps, TimePicker, type TimePickerLabels, type TimePickerProps, type TimeValue, type ToastItem, type ToastOptions, type ToastTone, Toaster, type ToasterProps, Txt, type TxtProps, type TxtTone, type TxtVariant, TypingIndicator, type TypingIndicatorProps, VerifiedBadge, type VerifiedBadgeProps, type ViewerImage, WelcomeState, Wheel, WheelDivider, type WheelOption, WheelPicker, type WheelPickerProps, type WheelProps, YazakiaMark, YororisMark, addDays, addMonths, ageOn, alpha, calendarLabels, comboboxLabels, composeDate, dateFieldLabels, datePartsOrder, daysInMonth, formatTime, isRealDate, latestBirthDate, monthNames, prefetchNeighbours, splitDuration, textStyles, timeSlots, timeToMinutes, toast, todayIso, useCollapsingHeader, useCountdown, useDelayedWait, useReducedMotion, useTheme, uses12Hours };