@mihcm/ui 0.14.1

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 (737) hide show
  1. package/README.md +138 -0
  2. package/dist/AccessLevelGroup.d.ts +37 -0
  3. package/dist/AccessLevelGroup.d.ts.map +1 -0
  4. package/dist/AccessLevelGroup.js +39 -0
  5. package/dist/AccessLevelGroup.js.map +1 -0
  6. package/dist/AccessLevelGroup.native.d.ts +18 -0
  7. package/dist/AccessLevelGroup.native.d.ts.map +1 -0
  8. package/dist/AccessLevelGroup.native.js +40 -0
  9. package/dist/AccessLevelGroup.native.js.map +1 -0
  10. package/dist/Accordion.d.ts +52 -0
  11. package/dist/Accordion.d.ts.map +1 -0
  12. package/dist/Accordion.js +90 -0
  13. package/dist/Accordion.js.map +1 -0
  14. package/dist/Accordion.native.d.ts +36 -0
  15. package/dist/Accordion.native.d.ts.map +1 -0
  16. package/dist/Accordion.native.js +86 -0
  17. package/dist/Accordion.native.js.map +1 -0
  18. package/dist/Alert.d.ts +33 -0
  19. package/dist/Alert.d.ts.map +1 -0
  20. package/dist/Alert.js +45 -0
  21. package/dist/Alert.js.map +1 -0
  22. package/dist/Alert.native.d.ts +26 -0
  23. package/dist/Alert.native.d.ts.map +1 -0
  24. package/dist/Alert.native.js +41 -0
  25. package/dist/Alert.native.js.map +1 -0
  26. package/dist/AlertDialog.d.ts +57 -0
  27. package/dist/AlertDialog.d.ts.map +1 -0
  28. package/dist/AlertDialog.js +91 -0
  29. package/dist/AlertDialog.js.map +1 -0
  30. package/dist/AlertDialog.native.d.ts +66 -0
  31. package/dist/AlertDialog.native.d.ts.map +1 -0
  32. package/dist/AlertDialog.native.js +71 -0
  33. package/dist/AlertDialog.native.js.map +1 -0
  34. package/dist/AspectRatio.d.ts +18 -0
  35. package/dist/AspectRatio.d.ts.map +1 -0
  36. package/dist/AspectRatio.js +19 -0
  37. package/dist/AspectRatio.js.map +1 -0
  38. package/dist/AspectRatio.native.d.ts +7 -0
  39. package/dist/AspectRatio.native.d.ts.map +1 -0
  40. package/dist/AspectRatio.native.js +13 -0
  41. package/dist/AspectRatio.native.js.map +1 -0
  42. package/dist/Avatar.d.ts +45 -0
  43. package/dist/Avatar.d.ts.map +1 -0
  44. package/dist/Avatar.js +69 -0
  45. package/dist/Avatar.js.map +1 -0
  46. package/dist/Avatar.native.d.ts +38 -0
  47. package/dist/Avatar.native.d.ts.map +1 -0
  48. package/dist/Avatar.native.js +56 -0
  49. package/dist/Avatar.native.js.map +1 -0
  50. package/dist/AvatarGroup.d.ts +32 -0
  51. package/dist/AvatarGroup.d.ts.map +1 -0
  52. package/dist/AvatarGroup.js +45 -0
  53. package/dist/AvatarGroup.js.map +1 -0
  54. package/dist/AvatarGroup.native.d.ts +18 -0
  55. package/dist/AvatarGroup.native.d.ts.map +1 -0
  56. package/dist/AvatarGroup.native.js +35 -0
  57. package/dist/AvatarGroup.native.js.map +1 -0
  58. package/dist/Badge.d.ts +26 -0
  59. package/dist/Badge.d.ts.map +1 -0
  60. package/dist/Badge.js +44 -0
  61. package/dist/Badge.js.map +1 -0
  62. package/dist/Badge.native.d.ts +23 -0
  63. package/dist/Badge.native.d.ts.map +1 -0
  64. package/dist/Badge.native.js +49 -0
  65. package/dist/Badge.native.js.map +1 -0
  66. package/dist/Banner.d.ts +27 -0
  67. package/dist/Banner.d.ts.map +1 -0
  68. package/dist/Banner.js +41 -0
  69. package/dist/Banner.js.map +1 -0
  70. package/dist/Banner.native.d.ts +24 -0
  71. package/dist/Banner.native.d.ts.map +1 -0
  72. package/dist/Banner.native.js +39 -0
  73. package/dist/Banner.native.js.map +1 -0
  74. package/dist/BarList.d.ts +27 -0
  75. package/dist/BarList.d.ts.map +1 -0
  76. package/dist/BarList.js +25 -0
  77. package/dist/BarList.js.map +1 -0
  78. package/dist/Breadcrumb.d.ts +67 -0
  79. package/dist/Breadcrumb.d.ts.map +1 -0
  80. package/dist/Breadcrumb.js +63 -0
  81. package/dist/Breadcrumb.js.map +1 -0
  82. package/dist/Breadcrumb.native.d.ts +64 -0
  83. package/dist/Breadcrumb.native.d.ts.map +1 -0
  84. package/dist/Breadcrumb.native.js +50 -0
  85. package/dist/Breadcrumb.native.js.map +1 -0
  86. package/dist/Button.d.ts +42 -0
  87. package/dist/Button.d.ts.map +1 -0
  88. package/dist/Button.js +68 -0
  89. package/dist/Button.js.map +1 -0
  90. package/dist/Button.native.d.ts +38 -0
  91. package/dist/Button.native.d.ts.map +1 -0
  92. package/dist/Button.native.js +51 -0
  93. package/dist/Button.native.js.map +1 -0
  94. package/dist/Calendar.d.ts +16 -0
  95. package/dist/Calendar.d.ts.map +1 -0
  96. package/dist/Calendar.js +94 -0
  97. package/dist/Calendar.js.map +1 -0
  98. package/dist/Calendar.native.d.ts +21 -0
  99. package/dist/Calendar.native.d.ts.map +1 -0
  100. package/dist/Calendar.native.js +15 -0
  101. package/dist/Calendar.native.js.map +1 -0
  102. package/dist/Card.d.ts +29 -0
  103. package/dist/Card.d.ts.map +1 -0
  104. package/dist/Card.js +44 -0
  105. package/dist/Card.js.map +1 -0
  106. package/dist/Card.native.d.ts +20 -0
  107. package/dist/Card.native.d.ts.map +1 -0
  108. package/dist/Card.native.js +32 -0
  109. package/dist/Card.native.js.map +1 -0
  110. package/dist/Carousel.d.ts +46 -0
  111. package/dist/Carousel.d.ts.map +1 -0
  112. package/dist/Carousel.js +115 -0
  113. package/dist/Carousel.js.map +1 -0
  114. package/dist/Carousel.native.d.ts +59 -0
  115. package/dist/Carousel.native.d.ts.map +1 -0
  116. package/dist/Carousel.native.js +93 -0
  117. package/dist/Carousel.native.js.map +1 -0
  118. package/dist/CategoryBar.d.ts +22 -0
  119. package/dist/CategoryBar.d.ts.map +1 -0
  120. package/dist/CategoryBar.js +27 -0
  121. package/dist/CategoryBar.js.map +1 -0
  122. package/dist/Chart.d.ts +77 -0
  123. package/dist/Chart.d.ts.map +1 -0
  124. package/dist/Chart.js +197 -0
  125. package/dist/Chart.js.map +1 -0
  126. package/dist/Checkbox.d.ts +28 -0
  127. package/dist/Checkbox.d.ts.map +1 -0
  128. package/dist/Checkbox.js +44 -0
  129. package/dist/Checkbox.js.map +1 -0
  130. package/dist/Checkbox.native.d.ts +13 -0
  131. package/dist/Checkbox.native.d.ts.map +1 -0
  132. package/dist/Checkbox.native.js +34 -0
  133. package/dist/Checkbox.native.js.map +1 -0
  134. package/dist/CheckboxGrid.d.ts +49 -0
  135. package/dist/CheckboxGrid.d.ts.map +1 -0
  136. package/dist/CheckboxGrid.js +79 -0
  137. package/dist/CheckboxGrid.js.map +1 -0
  138. package/dist/CheckboxGrid.native.d.ts +14 -0
  139. package/dist/CheckboxGrid.native.d.ts.map +1 -0
  140. package/dist/CheckboxGrid.native.js +47 -0
  141. package/dist/CheckboxGrid.native.js.map +1 -0
  142. package/dist/Collapsible.d.ts +51 -0
  143. package/dist/Collapsible.d.ts.map +1 -0
  144. package/dist/Collapsible.js +101 -0
  145. package/dist/Collapsible.js.map +1 -0
  146. package/dist/Collapsible.native.d.ts +53 -0
  147. package/dist/Collapsible.native.d.ts.map +1 -0
  148. package/dist/Collapsible.native.js +109 -0
  149. package/dist/Collapsible.native.js.map +1 -0
  150. package/dist/Combobox.d.ts +42 -0
  151. package/dist/Combobox.d.ts.map +1 -0
  152. package/dist/Combobox.js +96 -0
  153. package/dist/Combobox.js.map +1 -0
  154. package/dist/Combobox.native.d.ts +21 -0
  155. package/dist/Combobox.native.d.ts.map +1 -0
  156. package/dist/Combobox.native.js +28 -0
  157. package/dist/Combobox.native.js.map +1 -0
  158. package/dist/Command.d.ts +107 -0
  159. package/dist/Command.d.ts.map +1 -0
  160. package/dist/Command.js +68 -0
  161. package/dist/Command.js.map +1 -0
  162. package/dist/Command.native.d.ts +41 -0
  163. package/dist/Command.native.d.ts.map +1 -0
  164. package/dist/Command.native.js +31 -0
  165. package/dist/Command.native.js.map +1 -0
  166. package/dist/ContextMenu.d.ts +48 -0
  167. package/dist/ContextMenu.d.ts.map +1 -0
  168. package/dist/ContextMenu.js +79 -0
  169. package/dist/ContextMenu.js.map +1 -0
  170. package/dist/ContextMenu.native.d.ts +81 -0
  171. package/dist/ContextMenu.native.d.ts.map +1 -0
  172. package/dist/ContextMenu.native.js +82 -0
  173. package/dist/ContextMenu.native.js.map +1 -0
  174. package/dist/DataTable.d.ts +98 -0
  175. package/dist/DataTable.d.ts.map +1 -0
  176. package/dist/DataTable.js +291 -0
  177. package/dist/DataTable.js.map +1 -0
  178. package/dist/DataTable.native.d.ts +31 -0
  179. package/dist/DataTable.native.d.ts.map +1 -0
  180. package/dist/DataTable.native.js +22 -0
  181. package/dist/DataTable.native.js.map +1 -0
  182. package/dist/DatePicker.d.ts +63 -0
  183. package/dist/DatePicker.d.ts.map +1 -0
  184. package/dist/DatePicker.js +106 -0
  185. package/dist/DatePicker.js.map +1 -0
  186. package/dist/DatePicker.native.d.ts +21 -0
  187. package/dist/DatePicker.native.d.ts.map +1 -0
  188. package/dist/DatePicker.native.js +15 -0
  189. package/dist/DatePicker.native.js.map +1 -0
  190. package/dist/Dialog.d.ts +52 -0
  191. package/dist/Dialog.d.ts.map +1 -0
  192. package/dist/Dialog.js +93 -0
  193. package/dist/Dialog.js.map +1 -0
  194. package/dist/Dialog.native.d.ts +57 -0
  195. package/dist/Dialog.native.d.ts.map +1 -0
  196. package/dist/Dialog.native.js +62 -0
  197. package/dist/Dialog.native.js.map +1 -0
  198. package/dist/Drawer.d.ts +36 -0
  199. package/dist/Drawer.d.ts.map +1 -0
  200. package/dist/Drawer.js +57 -0
  201. package/dist/Drawer.js.map +1 -0
  202. package/dist/Drawer.native.d.ts +50 -0
  203. package/dist/Drawer.native.d.ts.map +1 -0
  204. package/dist/Drawer.native.js +43 -0
  205. package/dist/Drawer.native.js.map +1 -0
  206. package/dist/DropdownMenu.d.ts +57 -0
  207. package/dist/DropdownMenu.d.ts.map +1 -0
  208. package/dist/DropdownMenu.js +192 -0
  209. package/dist/DropdownMenu.js.map +1 -0
  210. package/dist/DropdownMenu.native.d.ts +53 -0
  211. package/dist/DropdownMenu.native.d.ts.map +1 -0
  212. package/dist/DropdownMenu.native.js +71 -0
  213. package/dist/DropdownMenu.native.js.map +1 -0
  214. package/dist/Dropzone.d.ts +27 -0
  215. package/dist/Dropzone.d.ts.map +1 -0
  216. package/dist/Dropzone.js +33 -0
  217. package/dist/Dropzone.js.map +1 -0
  218. package/dist/EmptyState.d.ts +21 -0
  219. package/dist/EmptyState.d.ts.map +1 -0
  220. package/dist/EmptyState.js +16 -0
  221. package/dist/EmptyState.js.map +1 -0
  222. package/dist/EmptyState.native.d.ts +19 -0
  223. package/dist/EmptyState.native.d.ts.map +1 -0
  224. package/dist/EmptyState.native.js +16 -0
  225. package/dist/EmptyState.native.js.map +1 -0
  226. package/dist/Form.d.ts +310 -0
  227. package/dist/Form.d.ts.map +1 -0
  228. package/dist/Form.js +260 -0
  229. package/dist/Form.js.map +1 -0
  230. package/dist/Form.native.d.ts +36 -0
  231. package/dist/Form.native.d.ts.map +1 -0
  232. package/dist/Form.native.js +33 -0
  233. package/dist/Form.native.js.map +1 -0
  234. package/dist/HoverCard.d.ts +47 -0
  235. package/dist/HoverCard.d.ts.map +1 -0
  236. package/dist/HoverCard.js +86 -0
  237. package/dist/HoverCard.js.map +1 -0
  238. package/dist/HoverCard.native.d.ts +48 -0
  239. package/dist/HoverCard.native.d.ts.map +1 -0
  240. package/dist/HoverCard.native.js +19 -0
  241. package/dist/HoverCard.native.js.map +1 -0
  242. package/dist/IconSidebar.d.ts +50 -0
  243. package/dist/IconSidebar.d.ts.map +1 -0
  244. package/dist/IconSidebar.js +121 -0
  245. package/dist/IconSidebar.js.map +1 -0
  246. package/dist/IconSidebar.native.d.ts +40 -0
  247. package/dist/IconSidebar.native.d.ts.map +1 -0
  248. package/dist/IconSidebar.native.js +24 -0
  249. package/dist/IconSidebar.native.js.map +1 -0
  250. package/dist/Input.d.ts +52 -0
  251. package/dist/Input.d.ts.map +1 -0
  252. package/dist/Input.js +57 -0
  253. package/dist/Input.js.map +1 -0
  254. package/dist/Input.native.d.ts +37 -0
  255. package/dist/Input.native.d.ts.map +1 -0
  256. package/dist/Input.native.js +39 -0
  257. package/dist/Input.native.js.map +1 -0
  258. package/dist/InputOTP.d.ts +30 -0
  259. package/dist/InputOTP.d.ts.map +1 -0
  260. package/dist/InputOTP.js +47 -0
  261. package/dist/InputOTP.js.map +1 -0
  262. package/dist/InputOTP.native.d.ts +32 -0
  263. package/dist/InputOTP.native.d.ts.map +1 -0
  264. package/dist/InputOTP.native.js +48 -0
  265. package/dist/InputOTP.native.js.map +1 -0
  266. package/dist/Label.d.ts +26 -0
  267. package/dist/Label.d.ts.map +1 -0
  268. package/dist/Label.js +35 -0
  269. package/dist/Label.js.map +1 -0
  270. package/dist/Label.native.d.ts +26 -0
  271. package/dist/Label.native.d.ts.map +1 -0
  272. package/dist/Label.native.js +30 -0
  273. package/dist/Label.native.js.map +1 -0
  274. package/dist/Link.d.ts +21 -0
  275. package/dist/Link.d.ts.map +1 -0
  276. package/dist/Link.js +46 -0
  277. package/dist/Link.js.map +1 -0
  278. package/dist/Link.native.d.ts +23 -0
  279. package/dist/Link.native.d.ts.map +1 -0
  280. package/dist/Link.native.js +59 -0
  281. package/dist/Link.native.js.map +1 -0
  282. package/dist/Logo.d.ts +25 -0
  283. package/dist/Logo.d.ts.map +1 -0
  284. package/dist/Logo.js +58 -0
  285. package/dist/Logo.js.map +1 -0
  286. package/dist/Logo.native.d.ts +22 -0
  287. package/dist/Logo.native.d.ts.map +1 -0
  288. package/dist/Logo.native.js +46 -0
  289. package/dist/Logo.native.js.map +1 -0
  290. package/dist/MainSidebar.d.ts +2 -0
  291. package/dist/MainSidebar.d.ts.map +1 -0
  292. package/dist/MainSidebar.js +3 -0
  293. package/dist/MainSidebar.js.map +1 -0
  294. package/dist/MainSidebar.native.d.ts +2 -0
  295. package/dist/MainSidebar.native.d.ts.map +1 -0
  296. package/dist/MainSidebar.native.js +2 -0
  297. package/dist/MainSidebar.native.js.map +1 -0
  298. package/dist/Menubar.d.ts +70 -0
  299. package/dist/Menubar.d.ts.map +1 -0
  300. package/dist/Menubar.js +142 -0
  301. package/dist/Menubar.js.map +1 -0
  302. package/dist/NavigationMenu.d.ts +12 -0
  303. package/dist/NavigationMenu.d.ts.map +1 -0
  304. package/dist/NavigationMenu.js +63 -0
  305. package/dist/NavigationMenu.js.map +1 -0
  306. package/dist/NavigationMenu.native.d.ts +44 -0
  307. package/dist/NavigationMenu.native.d.ts.map +1 -0
  308. package/dist/NavigationMenu.native.js +43 -0
  309. package/dist/NavigationMenu.native.js.map +1 -0
  310. package/dist/NotificationBadge.d.ts +33 -0
  311. package/dist/NotificationBadge.d.ts.map +1 -0
  312. package/dist/NotificationBadge.js +49 -0
  313. package/dist/NotificationBadge.js.map +1 -0
  314. package/dist/NotificationBadge.native.d.ts +25 -0
  315. package/dist/NotificationBadge.native.d.ts.map +1 -0
  316. package/dist/NotificationBadge.native.js +41 -0
  317. package/dist/NotificationBadge.native.js.map +1 -0
  318. package/dist/PageShell.d.ts +24 -0
  319. package/dist/PageShell.d.ts.map +1 -0
  320. package/dist/PageShell.js +24 -0
  321. package/dist/PageShell.js.map +1 -0
  322. package/dist/PageShell.native.d.ts +21 -0
  323. package/dist/PageShell.native.d.ts.map +1 -0
  324. package/dist/PageShell.native.js +19 -0
  325. package/dist/PageShell.native.js.map +1 -0
  326. package/dist/Pagination.d.ts +53 -0
  327. package/dist/Pagination.d.ts.map +1 -0
  328. package/dist/Pagination.js +79 -0
  329. package/dist/Pagination.js.map +1 -0
  330. package/dist/Pagination.native.d.ts +48 -0
  331. package/dist/Pagination.native.d.ts.map +1 -0
  332. package/dist/Pagination.native.js +55 -0
  333. package/dist/Pagination.native.js.map +1 -0
  334. package/dist/Popover.d.ts +57 -0
  335. package/dist/Popover.d.ts.map +1 -0
  336. package/dist/Popover.js +71 -0
  337. package/dist/Popover.js.map +1 -0
  338. package/dist/Popover.native.d.ts +48 -0
  339. package/dist/Popover.native.d.ts.map +1 -0
  340. package/dist/Popover.native.js +65 -0
  341. package/dist/Popover.native.js.map +1 -0
  342. package/dist/Popper.d.ts +54 -0
  343. package/dist/Popper.d.ts.map +1 -0
  344. package/dist/Popper.js +219 -0
  345. package/dist/Popper.js.map +1 -0
  346. package/dist/Progress.d.ts +79 -0
  347. package/dist/Progress.d.ts.map +1 -0
  348. package/dist/Progress.js +110 -0
  349. package/dist/Progress.js.map +1 -0
  350. package/dist/Progress.native.d.ts +42 -0
  351. package/dist/Progress.native.d.ts.map +1 -0
  352. package/dist/Progress.native.js +91 -0
  353. package/dist/Progress.native.js.map +1 -0
  354. package/dist/ProgressCircle.d.ts +69 -0
  355. package/dist/ProgressCircle.d.ts.map +1 -0
  356. package/dist/ProgressCircle.js +78 -0
  357. package/dist/ProgressCircle.js.map +1 -0
  358. package/dist/RadioCardGroup.d.ts +26 -0
  359. package/dist/RadioCardGroup.d.ts.map +1 -0
  360. package/dist/RadioCardGroup.js +26 -0
  361. package/dist/RadioCardGroup.js.map +1 -0
  362. package/dist/RadioGroup.d.ts +35 -0
  363. package/dist/RadioGroup.d.ts.map +1 -0
  364. package/dist/RadioGroup.js +68 -0
  365. package/dist/RadioGroup.js.map +1 -0
  366. package/dist/RadioGroup.native.d.ts +33 -0
  367. package/dist/RadioGroup.native.d.ts.map +1 -0
  368. package/dist/RadioGroup.native.js +55 -0
  369. package/dist/RadioGroup.native.js.map +1 -0
  370. package/dist/Resizable.d.ts +32 -0
  371. package/dist/Resizable.d.ts.map +1 -0
  372. package/dist/Resizable.js +31 -0
  373. package/dist/Resizable.js.map +1 -0
  374. package/dist/Resizable.native.d.ts +32 -0
  375. package/dist/Resizable.native.d.ts.map +1 -0
  376. package/dist/Resizable.native.js +23 -0
  377. package/dist/Resizable.native.js.map +1 -0
  378. package/dist/RichTextEditor.d.ts +38 -0
  379. package/dist/RichTextEditor.d.ts.map +1 -0
  380. package/dist/RichTextEditor.js +218 -0
  381. package/dist/RichTextEditor.js.map +1 -0
  382. package/dist/ScrollArea.d.ts +4 -0
  383. package/dist/ScrollArea.d.ts.map +1 -0
  384. package/dist/ScrollArea.js +26 -0
  385. package/dist/ScrollArea.js.map +1 -0
  386. package/dist/ScrollArea.native.d.ts +19 -0
  387. package/dist/ScrollArea.native.d.ts.map +1 -0
  388. package/dist/ScrollArea.native.js +19 -0
  389. package/dist/ScrollArea.native.js.map +1 -0
  390. package/dist/SearchField.d.ts +43 -0
  391. package/dist/SearchField.d.ts.map +1 -0
  392. package/dist/SearchField.js +34 -0
  393. package/dist/SearchField.js.map +1 -0
  394. package/dist/SearchField.native.d.ts +31 -0
  395. package/dist/SearchField.native.d.ts.map +1 -0
  396. package/dist/SearchField.native.js +30 -0
  397. package/dist/SearchField.native.js.map +1 -0
  398. package/dist/SectionHeader.d.ts +58 -0
  399. package/dist/SectionHeader.d.ts.map +1 -0
  400. package/dist/SectionHeader.js +95 -0
  401. package/dist/SectionHeader.js.map +1 -0
  402. package/dist/SectionHeader.native.d.ts +45 -0
  403. package/dist/SectionHeader.native.d.ts.map +1 -0
  404. package/dist/SectionHeader.native.js +92 -0
  405. package/dist/SectionHeader.native.js.map +1 -0
  406. package/dist/Select.d.ts +78 -0
  407. package/dist/Select.d.ts.map +1 -0
  408. package/dist/Select.js +310 -0
  409. package/dist/Select.js.map +1 -0
  410. package/dist/Select.native.d.ts +53 -0
  411. package/dist/Select.native.d.ts.map +1 -0
  412. package/dist/Select.native.js +86 -0
  413. package/dist/Select.native.js.map +1 -0
  414. package/dist/Separator.d.ts +20 -0
  415. package/dist/Separator.d.ts.map +1 -0
  416. package/dist/Separator.js +20 -0
  417. package/dist/Separator.js.map +1 -0
  418. package/dist/Separator.native.d.ts +8 -0
  419. package/dist/Separator.native.d.ts.map +1 -0
  420. package/dist/Separator.native.js +17 -0
  421. package/dist/Separator.native.js.map +1 -0
  422. package/dist/Sheet.d.ts +54 -0
  423. package/dist/Sheet.d.ts.map +1 -0
  424. package/dist/Sheet.js +191 -0
  425. package/dist/Sheet.js.map +1 -0
  426. package/dist/Sheet.native.d.ts +55 -0
  427. package/dist/Sheet.native.d.ts.map +1 -0
  428. package/dist/Sheet.native.js +112 -0
  429. package/dist/Sheet.native.js.map +1 -0
  430. package/dist/Sidebar.d.ts +131 -0
  431. package/dist/Sidebar.d.ts.map +1 -0
  432. package/dist/Sidebar.js +328 -0
  433. package/dist/Sidebar.js.map +1 -0
  434. package/dist/Skeleton.d.ts +14 -0
  435. package/dist/Skeleton.d.ts.map +1 -0
  436. package/dist/Skeleton.js +17 -0
  437. package/dist/Skeleton.js.map +1 -0
  438. package/dist/Skeleton.native.d.ts +6 -0
  439. package/dist/Skeleton.native.d.ts.map +1 -0
  440. package/dist/Skeleton.native.js +26 -0
  441. package/dist/Skeleton.native.js.map +1 -0
  442. package/dist/Slider.d.ts +63 -0
  443. package/dist/Slider.d.ts.map +1 -0
  444. package/dist/Slider.js +109 -0
  445. package/dist/Slider.js.map +1 -0
  446. package/dist/Slider.native.d.ts +38 -0
  447. package/dist/Slider.native.d.ts.map +1 -0
  448. package/dist/Slider.native.js +18 -0
  449. package/dist/Slider.native.js.map +1 -0
  450. package/dist/SortableList.d.ts +26 -0
  451. package/dist/SortableList.d.ts.map +1 -0
  452. package/dist/SortableList.js +44 -0
  453. package/dist/SortableList.js.map +1 -0
  454. package/dist/SparkChart.d.ts +34 -0
  455. package/dist/SparkChart.d.ts.map +1 -0
  456. package/dist/SparkChart.js +55 -0
  457. package/dist/SparkChart.js.map +1 -0
  458. package/dist/StatCard.d.ts +35 -0
  459. package/dist/StatCard.d.ts.map +1 -0
  460. package/dist/StatCard.js +37 -0
  461. package/dist/StatCard.js.map +1 -0
  462. package/dist/StatCard.native.d.ts +28 -0
  463. package/dist/StatCard.native.d.ts.map +1 -0
  464. package/dist/StatCard.native.js +31 -0
  465. package/dist/StatCard.native.js.map +1 -0
  466. package/dist/StatusBadge.d.ts +23 -0
  467. package/dist/StatusBadge.d.ts.map +1 -0
  468. package/dist/StatusBadge.js +33 -0
  469. package/dist/StatusBadge.js.map +1 -0
  470. package/dist/StatusBadge.native.d.ts +21 -0
  471. package/dist/StatusBadge.native.d.ts.map +1 -0
  472. package/dist/StatusBadge.native.js +37 -0
  473. package/dist/StatusBadge.native.js.map +1 -0
  474. package/dist/Switch.d.ts +31 -0
  475. package/dist/Switch.d.ts.map +1 -0
  476. package/dist/Switch.js +46 -0
  477. package/dist/Switch.js.map +1 -0
  478. package/dist/Switch.native.d.ts +16 -0
  479. package/dist/Switch.native.d.ts.map +1 -0
  480. package/dist/Switch.native.js +41 -0
  481. package/dist/Switch.native.js.map +1 -0
  482. package/dist/TabNavigation.d.ts +49 -0
  483. package/dist/TabNavigation.d.ts.map +1 -0
  484. package/dist/TabNavigation.js +121 -0
  485. package/dist/TabNavigation.js.map +1 -0
  486. package/dist/Table.d.ts +54 -0
  487. package/dist/Table.d.ts.map +1 -0
  488. package/dist/Table.js +96 -0
  489. package/dist/Table.js.map +1 -0
  490. package/dist/Table.native.d.ts +37 -0
  491. package/dist/Table.native.d.ts.map +1 -0
  492. package/dist/Table.native.js +37 -0
  493. package/dist/Table.native.js.map +1 -0
  494. package/dist/Tabs.d.ts +45 -0
  495. package/dist/Tabs.d.ts.map +1 -0
  496. package/dist/Tabs.js +94 -0
  497. package/dist/Tabs.js.map +1 -0
  498. package/dist/Tabs.native.d.ts +47 -0
  499. package/dist/Tabs.native.d.ts.map +1 -0
  500. package/dist/Tabs.native.js +57 -0
  501. package/dist/Tabs.native.js.map +1 -0
  502. package/dist/Tag.d.ts +24 -0
  503. package/dist/Tag.d.ts.map +1 -0
  504. package/dist/Tag.js +41 -0
  505. package/dist/Tag.js.map +1 -0
  506. package/dist/Tag.native.d.ts +23 -0
  507. package/dist/Tag.native.d.ts.map +1 -0
  508. package/dist/Tag.native.js +55 -0
  509. package/dist/Tag.native.js.map +1 -0
  510. package/dist/Text.d.ts +26 -0
  511. package/dist/Text.d.ts.map +1 -0
  512. package/dist/Text.js +63 -0
  513. package/dist/Text.js.map +1 -0
  514. package/dist/Text.native.d.ts +18 -0
  515. package/dist/Text.native.d.ts.map +1 -0
  516. package/dist/Text.native.js +58 -0
  517. package/dist/Text.native.js.map +1 -0
  518. package/dist/Textarea.d.ts +23 -0
  519. package/dist/Textarea.d.ts.map +1 -0
  520. package/dist/Textarea.js +39 -0
  521. package/dist/Textarea.js.map +1 -0
  522. package/dist/Textarea.native.d.ts +16 -0
  523. package/dist/Textarea.native.d.ts.map +1 -0
  524. package/dist/Textarea.native.js +30 -0
  525. package/dist/Textarea.native.js.map +1 -0
  526. package/dist/TiptapEditor.d.ts +24 -0
  527. package/dist/TiptapEditor.d.ts.map +1 -0
  528. package/dist/TiptapEditor.js +84 -0
  529. package/dist/TiptapEditor.js.map +1 -0
  530. package/dist/TitleBar.d.ts +31 -0
  531. package/dist/TitleBar.d.ts.map +1 -0
  532. package/dist/TitleBar.js +27 -0
  533. package/dist/TitleBar.js.map +1 -0
  534. package/dist/TitleBar.native.d.ts +19 -0
  535. package/dist/TitleBar.native.d.ts.map +1 -0
  536. package/dist/TitleBar.native.js +16 -0
  537. package/dist/TitleBar.native.js.map +1 -0
  538. package/dist/Toast.d.ts +72 -0
  539. package/dist/Toast.d.ts.map +1 -0
  540. package/dist/Toast.js +194 -0
  541. package/dist/Toast.js.map +1 -0
  542. package/dist/Toast.native.d.ts +65 -0
  543. package/dist/Toast.native.d.ts.map +1 -0
  544. package/dist/Toast.native.js +182 -0
  545. package/dist/Toast.native.js.map +1 -0
  546. package/dist/Toggle.d.ts +46 -0
  547. package/dist/Toggle.d.ts.map +1 -0
  548. package/dist/Toggle.js +70 -0
  549. package/dist/Toggle.js.map +1 -0
  550. package/dist/Toggle.native.d.ts +42 -0
  551. package/dist/Toggle.native.d.ts.map +1 -0
  552. package/dist/Toggle.native.js +56 -0
  553. package/dist/Toggle.native.js.map +1 -0
  554. package/dist/Tooltip.d.ts +32 -0
  555. package/dist/Tooltip.d.ts.map +1 -0
  556. package/dist/Tooltip.js +43 -0
  557. package/dist/Tooltip.js.map +1 -0
  558. package/dist/Tooltip.native.d.ts +25 -0
  559. package/dist/Tooltip.native.d.ts.map +1 -0
  560. package/dist/Tooltip.native.js +25 -0
  561. package/dist/Tooltip.native.js.map +1 -0
  562. package/dist/TopBar.d.ts +105 -0
  563. package/dist/TopBar.d.ts.map +1 -0
  564. package/dist/TopBar.js +90 -0
  565. package/dist/TopBar.js.map +1 -0
  566. package/dist/TopBar.native.d.ts +67 -0
  567. package/dist/TopBar.native.d.ts.map +1 -0
  568. package/dist/TopBar.native.js +41 -0
  569. package/dist/TopBar.native.js.map +1 -0
  570. package/dist/Tracker.d.ts +44 -0
  571. package/dist/Tracker.d.ts.map +1 -0
  572. package/dist/Tracker.js +92 -0
  573. package/dist/Tracker.js.map +1 -0
  574. package/dist/TransferList.d.ts +51 -0
  575. package/dist/TransferList.d.ts.map +1 -0
  576. package/dist/TransferList.js +107 -0
  577. package/dist/TransferList.js.map +1 -0
  578. package/dist/TransferList.native.d.ts +14 -0
  579. package/dist/TransferList.native.d.ts.map +1 -0
  580. package/dist/TransferList.native.js +57 -0
  581. package/dist/TransferList.native.js.map +1 -0
  582. package/dist/index.d.ts +78 -0
  583. package/dist/index.d.ts.map +1 -0
  584. package/dist/index.js +79 -0
  585. package/dist/index.js.map +1 -0
  586. package/dist/internal/cn.d.ts +7 -0
  587. package/dist/internal/cn.d.ts.map +1 -0
  588. package/dist/internal/cn.js +30 -0
  589. package/dist/internal/cn.js.map +1 -0
  590. package/package.json +499 -0
  591. package/src/AccessLevelGroup.native.tsx +103 -0
  592. package/src/AccessLevelGroup.tsx +103 -0
  593. package/src/Accordion.native.tsx +199 -0
  594. package/src/Accordion.tsx +279 -0
  595. package/src/Alert.native.tsx +100 -0
  596. package/src/Alert.tsx +101 -0
  597. package/src/AlertDialog.native.tsx +189 -0
  598. package/src/AlertDialog.tsx +194 -0
  599. package/src/AspectRatio.native.tsx +28 -0
  600. package/src/AspectRatio.tsx +35 -0
  601. package/src/Avatar.native.tsx +142 -0
  602. package/src/Avatar.tsx +155 -0
  603. package/src/AvatarGroup.native.tsx +81 -0
  604. package/src/AvatarGroup.tsx +114 -0
  605. package/src/Badge.native.tsx +85 -0
  606. package/src/Badge.tsx +93 -0
  607. package/src/Banner.native.tsx +77 -0
  608. package/src/Banner.tsx +95 -0
  609. package/src/BarList.tsx +102 -0
  610. package/src/Breadcrumb.native.tsx +238 -0
  611. package/src/Breadcrumb.tsx +258 -0
  612. package/src/Button.native.tsx +123 -0
  613. package/src/Button.tsx +153 -0
  614. package/src/Calendar.native.tsx +28 -0
  615. package/src/Calendar.tsx +211 -0
  616. package/src/Card.native.tsx +82 -0
  617. package/src/Card.tsx +94 -0
  618. package/src/Carousel.native.tsx +224 -0
  619. package/src/Carousel.tsx +292 -0
  620. package/src/CategoryBar.tsx +85 -0
  621. package/src/Chart.tsx +467 -0
  622. package/src/Checkbox.native.tsx +69 -0
  623. package/src/Checkbox.tsx +108 -0
  624. package/src/CheckboxGrid.native.tsx +160 -0
  625. package/src/CheckboxGrid.tsx +262 -0
  626. package/src/Collapsible.native.tsx +240 -0
  627. package/src/Collapsible.tsx +241 -0
  628. package/src/Combobox.native.tsx +171 -0
  629. package/src/Combobox.tsx +272 -0
  630. package/src/Command.native.tsx +71 -0
  631. package/src/Command.tsx +203 -0
  632. package/src/ContextMenu.native.tsx +313 -0
  633. package/src/ContextMenu.tsx +238 -0
  634. package/src/DataTable.native.tsx +70 -0
  635. package/src/DataTable.tsx +989 -0
  636. package/src/DatePicker.native.tsx +46 -0
  637. package/src/DatePicker.tsx +357 -0
  638. package/src/Dialog.native.tsx +181 -0
  639. package/src/Dialog.tsx +224 -0
  640. package/src/Drawer.native.tsx +134 -0
  641. package/src/Drawer.tsx +119 -0
  642. package/src/DropdownMenu.native.tsx +258 -0
  643. package/src/DropdownMenu.tsx +387 -0
  644. package/src/Dropzone.tsx +95 -0
  645. package/src/EmptyState.native.tsx +43 -0
  646. package/src/EmptyState.tsx +52 -0
  647. package/src/Form.native.tsx +94 -0
  648. package/src/Form.tsx +1324 -0
  649. package/src/HoverCard.native.tsx +63 -0
  650. package/src/HoverCard.tsx +181 -0
  651. package/src/IconSidebar.native.tsx +94 -0
  652. package/src/IconSidebar.tsx +448 -0
  653. package/src/Input.native.tsx +99 -0
  654. package/src/Input.tsx +132 -0
  655. package/src/InputOTP.native.tsx +154 -0
  656. package/src/InputOTP.tsx +119 -0
  657. package/src/Label.native.tsx +55 -0
  658. package/src/Label.tsx +60 -0
  659. package/src/Link.native.tsx +89 -0
  660. package/src/Link.tsx +85 -0
  661. package/src/Logo.native.tsx +114 -0
  662. package/src/Logo.tsx +153 -0
  663. package/src/MainSidebar.native.tsx +8 -0
  664. package/src/MainSidebar.tsx +10 -0
  665. package/src/Menubar.tsx +485 -0
  666. package/src/NavigationMenu.native.tsx +136 -0
  667. package/src/NavigationMenu.tsx +180 -0
  668. package/src/NotificationBadge.native.tsx +80 -0
  669. package/src/NotificationBadge.tsx +91 -0
  670. package/src/PageShell.native.tsx +43 -0
  671. package/src/PageShell.tsx +50 -0
  672. package/src/Pagination.native.tsx +217 -0
  673. package/src/Pagination.tsx +250 -0
  674. package/src/Popover.native.tsx +139 -0
  675. package/src/Popover.tsx +175 -0
  676. package/src/Popper.tsx +399 -0
  677. package/src/Progress.native.tsx +197 -0
  678. package/src/Progress.tsx +286 -0
  679. package/src/ProgressCircle.tsx +200 -0
  680. package/src/RadioCardGroup.tsx +97 -0
  681. package/src/RadioGroup.native.tsx +153 -0
  682. package/src/RadioGroup.tsx +201 -0
  683. package/src/Resizable.native.tsx +76 -0
  684. package/src/Resizable.tsx +88 -0
  685. package/src/RichTextEditor.tsx +513 -0
  686. package/src/ScrollArea.native.tsx +36 -0
  687. package/src/ScrollArea.tsx +62 -0
  688. package/src/SearchField.native.tsx +104 -0
  689. package/src/SearchField.tsx +136 -0
  690. package/src/SectionHeader.native.tsx +226 -0
  691. package/src/SectionHeader.tsx +250 -0
  692. package/src/Select.native.tsx +299 -0
  693. package/src/Select.tsx +710 -0
  694. package/src/Separator.native.tsx +38 -0
  695. package/src/Separator.tsx +43 -0
  696. package/src/Sheet.native.tsx +233 -0
  697. package/src/Sheet.tsx +329 -0
  698. package/src/Sidebar.tsx +956 -0
  699. package/src/Skeleton.native.tsx +47 -0
  700. package/src/Skeleton.tsx +29 -0
  701. package/src/Slider.native.tsx +64 -0
  702. package/src/Slider.tsx +284 -0
  703. package/src/SortableList.tsx +158 -0
  704. package/src/SparkChart.tsx +143 -0
  705. package/src/StatCard.native.tsx +64 -0
  706. package/src/StatCard.tsx +75 -0
  707. package/src/StatusBadge.native.tsx +57 -0
  708. package/src/StatusBadge.tsx +52 -0
  709. package/src/Switch.native.tsx +78 -0
  710. package/src/Switch.tsx +94 -0
  711. package/src/TabNavigation.tsx +329 -0
  712. package/src/Table.native.tsx +183 -0
  713. package/src/Table.tsx +260 -0
  714. package/src/Tabs.native.tsx +139 -0
  715. package/src/Tabs.tsx +216 -0
  716. package/src/Tag.native.tsx +87 -0
  717. package/src/Tag.tsx +93 -0
  718. package/src/Text.native.tsx +95 -0
  719. package/src/Text.tsx +93 -0
  720. package/src/Textarea.native.tsx +64 -0
  721. package/src/Textarea.tsx +66 -0
  722. package/src/TitleBar.native.tsx +46 -0
  723. package/src/TitleBar.tsx +64 -0
  724. package/src/Toast.native.tsx +366 -0
  725. package/src/Toast.tsx +408 -0
  726. package/src/Toggle.native.tsx +162 -0
  727. package/src/Toggle.tsx +169 -0
  728. package/src/Tooltip.native.tsx +62 -0
  729. package/src/Tooltip.tsx +88 -0
  730. package/src/TopBar.native.tsx +223 -0
  731. package/src/TopBar.tsx +436 -0
  732. package/src/Tracker.tsx +244 -0
  733. package/src/TransferList.native.tsx +180 -0
  734. package/src/TransferList.tsx +297 -0
  735. package/src/globals.d.ts +1 -0
  736. package/src/index.ts +502 -0
  737. package/src/internal/cn.ts +31 -0
@@ -0,0 +1,100 @@
1
+ /**
2
+ * Alert (React Native variant).
3
+ *
4
+ * `<View accessibilityRole="alert">` + composable Title/Description.
5
+ * Same prop API as the web variant.
6
+ *
7
+ * Wiki: docs/components/Alert.md
8
+ */
9
+ import { forwardRef, type ReactNode } from 'react';
10
+ import { Pressable, Text, View, type TextProps, type ViewProps } from 'react-native';
11
+ import { cva, type VariantProps } from 'class-variance-authority';
12
+ import { cn } from './internal/cn.js';
13
+
14
+ export const alertVariants = cva('w-full rounded-md border px-4 py-3 flex-row items-start', {
15
+ variants: {
16
+ variant: {
17
+ default: 'bg-background border-border',
18
+ destructive: 'bg-destructive/10 border-destructive/40',
19
+ success: 'bg-success/10 border-success/40',
20
+ warning: 'bg-warning/10 border-warning/40',
21
+ },
22
+ },
23
+ defaultVariants: { variant: 'default' },
24
+ });
25
+
26
+ const TONE: Record<NonNullable<VariantProps<typeof alertVariants>['variant']>, string> = {
27
+ default: 'text-foreground',
28
+ destructive: 'text-destructive',
29
+ success: 'text-success',
30
+ warning: 'text-warning',
31
+ };
32
+
33
+ export interface AlertProps
34
+ extends Omit<ViewProps, 'style'>,
35
+ VariantProps<typeof alertVariants> {
36
+ className?: string;
37
+ icon?: ReactNode;
38
+ onClose?: () => void;
39
+ }
40
+
41
+ const AlertVariantContext = (variant?: AlertProps['variant']) => TONE[variant ?? 'default'];
42
+
43
+ export const Alert = forwardRef<View, AlertProps>(function Alert(
44
+ { className, variant = 'default', icon, onClose, children, ...props },
45
+ ref,
46
+ ) {
47
+ return (
48
+ <View
49
+ ref={ref}
50
+ accessibilityRole="alert"
51
+ className={cn(alertVariants({ variant }), className)}
52
+ data-alert-tone={AlertVariantContext(variant)}
53
+ {...props}
54
+ >
55
+ {icon && <View className="mr-3 flex-shrink-0">{icon}</View>}
56
+ <View className="flex-1">{children}</View>
57
+ {onClose && (
58
+ <Pressable
59
+ onPress={onClose}
60
+ accessibilityRole="button"
61
+ accessibilityLabel="Dismiss"
62
+ className="ml-auto flex-shrink-0 p-0.5 opacity-60"
63
+ >
64
+ <Text className={TONE[variant ?? 'default']}>✕</Text>
65
+ </Pressable>
66
+ )}
67
+ </View>
68
+ );
69
+ });
70
+
71
+ export interface AlertTextProps extends Omit<TextProps, 'style'> {
72
+ className?: string;
73
+ }
74
+
75
+ export const AlertTitle = forwardRef<Text, AlertTextProps>(function AlertTitle(
76
+ { className, ...props },
77
+ ref,
78
+ ) {
79
+ return (
80
+ <Text
81
+ ref={ref}
82
+ accessibilityRole="header"
83
+ className={cn('mb-1 font-medium leading-tight text-foreground', className)}
84
+ {...props}
85
+ />
86
+ );
87
+ });
88
+
89
+ export const AlertDescription = forwardRef<Text, AlertTextProps>(function AlertDescription(
90
+ { className, ...props },
91
+ ref,
92
+ ) {
93
+ return (
94
+ <Text
95
+ ref={ref}
96
+ className={cn('text-sm leading-relaxed text-foreground/80', className)}
97
+ {...props}
98
+ />
99
+ );
100
+ });
package/src/Alert.tsx ADDED
@@ -0,0 +1,101 @@
1
+ 'use client';
2
+
3
+ /**
4
+ * Alert (web variant — React DOM).
5
+ *
6
+ * Inline message banner. Three pieces compose:
7
+ *
8
+ * <Alert variant="destructive">
9
+ * <AlertTitle>Couldn't save</AlertTitle>
10
+ * <AlertDescription>Check your connection and try again.</AlertDescription>
11
+ * </Alert>
12
+ *
13
+ * Sets `role="alert"` so assistive tech announces the message when
14
+ * the element mounts. Pair with an icon — never communicate severity
15
+ * with colour alone.
16
+ *
17
+ * Wiki: docs/components/Alert.md
18
+ */
19
+ import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';
20
+ import { cva, type VariantProps } from 'class-variance-authority';
21
+ import { cn } from './internal/cn.js';
22
+
23
+ export const alertVariants = cva(
24
+ 'relative w-full rounded-lg border px-4 py-3 flex items-start',
25
+ {
26
+ variants: {
27
+ variant: {
28
+ default: 'bg-card text-foreground border-secondary',
29
+ accent:
30
+ 'bg-accent-50 text-accent-700 border-accent-200 [&>svg]:text-accent-600 dark:bg-accent-950 dark:text-accent-300 dark:border-accent-800',
31
+ destructive:
32
+ 'bg-red-100 text-destructive border-destructive/20 [&>svg]:text-destructive',
33
+ success:
34
+ 'bg-green-100 text-success border-success/20 [&>svg]:text-success',
35
+ warning:
36
+ 'bg-yellow-100 text-warning border-warning/20 [&>svg]:text-warning',
37
+ },
38
+ },
39
+ defaultVariants: {
40
+ variant: 'default',
41
+ },
42
+ },
43
+ );
44
+
45
+ type AlertVariantProps = VariantProps<typeof alertVariants>;
46
+
47
+ export interface AlertProps extends HTMLAttributes<HTMLDivElement>, AlertVariantProps {
48
+ /** Optional icon rendered at the start of the alert. */
49
+ icon?: ReactNode;
50
+ /** When provided, renders a close button that calls this handler. */
51
+ onClose?: () => void;
52
+ }
53
+
54
+ export const Alert = forwardRef<HTMLDivElement, AlertProps>(function Alert(
55
+ { className, variant, icon, onClose, children, ...props },
56
+ ref,
57
+ ) {
58
+ return (
59
+ <div
60
+ ref={ref}
61
+ role="alert"
62
+ className={cn(alertVariants({ variant }), icon && '[&>svg+*]:pl-0 [&>svg~*]:pl-0', className)}
63
+ {...props}
64
+ >
65
+ {icon && <span className="mr-3 flex-shrink-0 [&>svg]:h-4 [&>svg]:w-4">{icon}</span>}
66
+ <div className="flex-1">{children}</div>
67
+ {onClose && (
68
+ <button
69
+ type="button"
70
+ onClick={onClose}
71
+ aria-label="Dismiss"
72
+ className="ml-auto flex-shrink-0 rounded p-0.5 opacity-60 hover:opacity-100 transition-opacity duration-150 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring"
73
+ >
74
+ <svg aria-hidden viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth={2} className="h-4 w-4">
75
+ <path strokeLinecap="round" strokeLinejoin="round" d="M6 18L18 6M6 6l12 12" />
76
+ </svg>
77
+ </button>
78
+ )}
79
+ </div>
80
+ );
81
+ });
82
+
83
+ export const AlertTitle = forwardRef<HTMLHeadingElement, HTMLAttributes<HTMLHeadingElement>>(
84
+ function AlertTitle({ className, ...props }, ref) {
85
+ return (
86
+ <h5
87
+ ref={ref}
88
+ className={cn('mb-1 font-medium leading-tight tracking-tight', className)}
89
+ {...props}
90
+ />
91
+ );
92
+ },
93
+ );
94
+
95
+ export const AlertDescription = forwardRef<HTMLParagraphElement, HTMLAttributes<HTMLParagraphElement>>(
96
+ function AlertDescription({ className, ...props }, ref) {
97
+ return (
98
+ <div ref={ref} className={cn('text-sm leading-relaxed', className)} {...props} />
99
+ );
100
+ },
101
+ );
@@ -0,0 +1,189 @@
1
+ /**
2
+ * AlertDialog (React Native variant).
3
+ *
4
+ * Uses RN `<Modal>` as the overlay. Unlike Dialog, AlertDialog does NOT
5
+ * dismiss on backdrop press or hardware back button — the user must
6
+ * choose an explicit action.
7
+ *
8
+ * <AlertDialog open={open} onOpenChange={setOpen}>
9
+ * <AlertDialogContent>
10
+ * <AlertDialogHeader>
11
+ * <AlertDialogTitle>Are you sure?</AlertDialogTitle>
12
+ * <AlertDialogDescription>This action cannot be undone.</AlertDialogDescription>
13
+ * </AlertDialogHeader>
14
+ * <AlertDialogFooter>
15
+ * <AlertDialogCancel onPress={() => setOpen(false)}>Cancel</AlertDialogCancel>
16
+ * <AlertDialogAction onPress={handleConfirm}>Continue</AlertDialogAction>
17
+ * </AlertDialogFooter>
18
+ * </AlertDialogContent>
19
+ * </AlertDialog>
20
+ *
21
+ * Wiki: docs/components/AlertDialog.md
22
+ */
23
+ import { forwardRef, type ReactNode } from 'react';
24
+ import {
25
+ Modal,
26
+ Pressable,
27
+ Text,
28
+ View,
29
+ type PressableProps,
30
+ type TextProps,
31
+ type ViewProps,
32
+ } from 'react-native';
33
+ import { cva, type VariantProps } from 'class-variance-authority';
34
+ import { cn } from './internal/cn.js';
35
+
36
+ type ClassedViewProps = Omit<ViewProps, 'style'> & { className?: string };
37
+ type ClassedTextProps = Omit<TextProps, 'style'> & { className?: string };
38
+ type ClassedPressableProps = Omit<PressableProps, 'style'> & { className?: string; children?: ReactNode };
39
+
40
+ /* ── Root ───────────────────────────────────────────────────────────── */
41
+
42
+ export interface AlertDialogProps {
43
+ open: boolean;
44
+ onOpenChange: (open: boolean) => void;
45
+ children: ReactNode;
46
+ className?: string;
47
+ }
48
+
49
+ /**
50
+ * Root provider. No backdrop dismiss, no hardware-back dismiss.
51
+ */
52
+ export function AlertDialog({ open, children, className }: AlertDialogProps) {
53
+ return (
54
+ <Modal
55
+ visible={open}
56
+ transparent
57
+ animationType="fade"
58
+ onRequestClose={() => {
59
+ /* Intentionally empty — hardware back must NOT dismiss an alert dialog */
60
+ }}
61
+ statusBarTranslucent
62
+ >
63
+ <View
64
+ className={cn('flex-1 items-center justify-center bg-black/50', className)}
65
+ accessibilityRole="alert"
66
+ >
67
+ {children}
68
+ </View>
69
+ </Modal>
70
+ );
71
+ }
72
+
73
+ /* ── Content panel ──────────────────────────────────────────────────── */
74
+
75
+ export const alertDialogContentVariants = cva(
76
+ 'rounded-xl border border-border bg-card',
77
+ {
78
+ variants: {
79
+ size: {
80
+ sm: 'w-80',
81
+ md: 'w-96',
82
+ lg: 'w-[480px]',
83
+ xl: 'w-[600px]',
84
+ },
85
+ },
86
+ defaultVariants: { size: 'md' },
87
+ },
88
+ );
89
+
90
+ export interface AlertDialogContentProps
91
+ extends ClassedViewProps,
92
+ VariantProps<typeof alertDialogContentVariants> {}
93
+
94
+ export const AlertDialogContent = forwardRef<View, AlertDialogContentProps>(
95
+ function AlertDialogContent({ className, size, ...props }, ref) {
96
+ return (
97
+ <View
98
+ ref={ref}
99
+ className={cn(alertDialogContentVariants({ size }), className)}
100
+ {...props}
101
+ />
102
+ );
103
+ },
104
+ );
105
+
106
+ /* ── Layout helpers ─────────────────────────────────────────────────── */
107
+
108
+ export const AlertDialogHeader = forwardRef<View, ClassedViewProps>(
109
+ function AlertDialogHeader({ className, ...props }, ref) {
110
+ return (
111
+ <View ref={ref} className={cn('gap-1.5 p-6 pb-0', className)} {...props} />
112
+ );
113
+ },
114
+ );
115
+
116
+ export const AlertDialogFooter = forwardRef<View, ClassedViewProps>(
117
+ function AlertDialogFooter({ className, ...props }, ref) {
118
+ return (
119
+ <View
120
+ ref={ref}
121
+ className={cn('flex-row items-center justify-end gap-2 p-6 pt-0', className)}
122
+ {...props}
123
+ />
124
+ );
125
+ },
126
+ );
127
+
128
+ export const AlertDialogTitle = forwardRef<Text, ClassedTextProps>(
129
+ function AlertDialogTitle({ className, ...props }, ref) {
130
+ return (
131
+ <Text
132
+ ref={ref}
133
+ accessibilityRole="header"
134
+ className={cn('text-lg font-semibold leading-tight text-foreground', className)}
135
+ {...props}
136
+ />
137
+ );
138
+ },
139
+ );
140
+
141
+ export const AlertDialogDescription = forwardRef<Text, ClassedTextProps>(
142
+ function AlertDialogDescription({ className, ...props }, ref) {
143
+ return (
144
+ <Text
145
+ ref={ref}
146
+ className={cn('text-sm text-muted-foreground', className)}
147
+ {...props}
148
+ />
149
+ );
150
+ },
151
+ );
152
+
153
+ /* ── Action buttons ─────────────────────────────────────────────────── */
154
+
155
+ export const AlertDialogAction = forwardRef<View, ClassedPressableProps>(
156
+ function AlertDialogAction({ className, children, ...props }, ref) {
157
+ return (
158
+ <Pressable
159
+ ref={ref as never}
160
+ accessibilityRole="button"
161
+ className={cn(
162
+ 'items-center justify-center rounded-md bg-primary px-3.5 py-2',
163
+ className,
164
+ )}
165
+ {...props}
166
+ >
167
+ <Text className="text-sm font-semibold text-primary-foreground">{children}</Text>
168
+ </Pressable>
169
+ );
170
+ },
171
+ );
172
+
173
+ export const AlertDialogCancel = forwardRef<View, ClassedPressableProps>(
174
+ function AlertDialogCancel({ className, children, ...props }, ref) {
175
+ return (
176
+ <Pressable
177
+ ref={ref as never}
178
+ accessibilityRole="button"
179
+ className={cn(
180
+ 'items-center justify-center rounded-md border border-border bg-background px-3.5 py-2',
181
+ className,
182
+ )}
183
+ {...props}
184
+ >
185
+ <Text className="text-sm font-medium text-secondary-foreground">{children}</Text>
186
+ </Pressable>
187
+ );
188
+ },
189
+ );
@@ -0,0 +1,194 @@
1
+ 'use client';
2
+
3
+ /**
4
+ * AlertDialog (web variant — React DOM).
5
+ *
6
+ * A modal dialog that interrupts the user with important content and
7
+ * expects a response. Unlike Dialog, AlertDialog does NOT dismiss on
8
+ * backdrop click or Escape key — the user must explicitly choose an
9
+ * action or cancel.
10
+ *
11
+ * <AlertDialog open={open} onOpenChange={setOpen}>
12
+ * <AlertDialogContent>
13
+ * <AlertDialogHeader>
14
+ * <AlertDialogTitle>Are you sure?</AlertDialogTitle>
15
+ * <AlertDialogDescription>This action cannot be undone.</AlertDialogDescription>
16
+ * </AlertDialogHeader>
17
+ * <AlertDialogFooter>
18
+ * <AlertDialogCancel>Cancel</AlertDialogCancel>
19
+ * <AlertDialogAction onClick={handleConfirm}>Continue</AlertDialogAction>
20
+ * </AlertDialogFooter>
21
+ * </AlertDialogContent>
22
+ * </AlertDialog>
23
+ *
24
+ * Controlled-only: pass `open` and `onOpenChange`.
25
+ *
26
+ * Wiki: docs/components/AlertDialog.md
27
+ */
28
+ import {
29
+ forwardRef,
30
+ useCallback,
31
+ useEffect,
32
+ useRef,
33
+ type HTMLAttributes,
34
+ type ReactNode,
35
+ } from 'react';
36
+ import { cva, type VariantProps } from 'class-variance-authority';
37
+ import { cn } from './internal/cn.js';
38
+ import { Button, type ButtonProps } from './Button.js';
39
+
40
+ /* ── Root ───────────────────────────────────────────────────────────── */
41
+
42
+ export interface AlertDialogProps {
43
+ open: boolean;
44
+ onOpenChange: (open: boolean) => void;
45
+ children: ReactNode;
46
+ className?: string;
47
+ }
48
+
49
+ /**
50
+ * Root provider. Renders a native `<dialog>` with `role="alertdialog"`.
51
+ * Does NOT close on backdrop click or Escape — the user must choose
52
+ * an explicit action.
53
+ */
54
+ export function AlertDialog({ open, children, className }: AlertDialogProps) {
55
+ const dialogRef = useRef<HTMLDialogElement>(null);
56
+
57
+ useEffect(() => {
58
+ const el = dialogRef.current;
59
+ if (!el) return;
60
+ if (open && !el.open) {
61
+ el.showModal();
62
+ } else if (!open && el.open) {
63
+ el.close();
64
+ }
65
+ }, [open]);
66
+
67
+ /* Prevent Escape from dismissing */
68
+ const handleCancel = useCallback(
69
+ (e: React.SyntheticEvent<HTMLDialogElement>) => {
70
+ e.preventDefault();
71
+ },
72
+ [],
73
+ );
74
+
75
+ return (
76
+ <dialog
77
+ ref={dialogRef}
78
+ role="alertdialog"
79
+ aria-modal="true"
80
+ onCancel={handleCancel}
81
+ className={cn(
82
+ 'fixed inset-0 z-50 m-0 h-dvh w-dvw max-h-dvh max-w-none',
83
+ 'bg-transparent p-0',
84
+ 'backdrop:bg-black/50 backdrop:backdrop-blur-sm',
85
+ 'open:flex open:items-center open:justify-center',
86
+ className,
87
+ )}
88
+ >
89
+ {children}
90
+ </dialog>
91
+ );
92
+ }
93
+
94
+ /* ── Content panel ──────────────────────────────────────────────────── */
95
+
96
+ export const alertDialogContentVariants = cva(
97
+ 'relative mx-auto flex flex-col rounded-xl border border-border bg-card text-card-foreground shadow-lg ' +
98
+ 'animate-dialog-in',
99
+ {
100
+ variants: {
101
+ size: {
102
+ sm: 'w-full max-w-sm',
103
+ md: 'w-full max-w-lg',
104
+ lg: 'w-full max-w-2xl',
105
+ xl: 'w-full max-w-4xl',
106
+ },
107
+ },
108
+ defaultVariants: { size: 'md' },
109
+ },
110
+ );
111
+
112
+ export interface AlertDialogContentProps
113
+ extends HTMLAttributes<HTMLDivElement>,
114
+ VariantProps<typeof alertDialogContentVariants> {}
115
+
116
+ export const AlertDialogContent = forwardRef<HTMLDivElement, AlertDialogContentProps>(
117
+ function AlertDialogContent({ className, size, ...props }, ref) {
118
+ return (
119
+ <div
120
+ ref={ref}
121
+ className={cn(alertDialogContentVariants({ size }), className)}
122
+ {...props}
123
+ />
124
+ );
125
+ },
126
+ );
127
+
128
+ /* ── Layout helpers ─────────────────────────────────────────────────── */
129
+
130
+ export const AlertDialogHeader = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(
131
+ function AlertDialogHeader({ className, ...props }, ref) {
132
+ return (
133
+ <div
134
+ ref={ref}
135
+ className={cn('flex flex-col gap-1.5 p-6 pb-0', className)}
136
+ {...props}
137
+ />
138
+ );
139
+ },
140
+ );
141
+
142
+ export const AlertDialogFooter = forwardRef<HTMLDivElement, HTMLAttributes<HTMLDivElement>>(
143
+ function AlertDialogFooter({ className, ...props }, ref) {
144
+ return (
145
+ <div
146
+ ref={ref}
147
+ className={cn('flex items-center justify-end gap-2 p-6 pt-0', className)}
148
+ {...props}
149
+ />
150
+ );
151
+ },
152
+ );
153
+
154
+ export const AlertDialogTitle = forwardRef<HTMLHeadingElement, HTMLAttributes<HTMLHeadingElement>>(
155
+ function AlertDialogTitle({ className, ...props }, ref) {
156
+ return (
157
+ <h2
158
+ ref={ref}
159
+ className={cn('text-lg font-semibold leading-tight', className)}
160
+ {...props}
161
+ />
162
+ );
163
+ },
164
+ );
165
+
166
+ export const AlertDialogDescription = forwardRef<HTMLParagraphElement, HTMLAttributes<HTMLParagraphElement>>(
167
+ function AlertDialogDescription({ className, ...props }, ref) {
168
+ return (
169
+ <p
170
+ ref={ref}
171
+ className={cn('text-sm text-muted-foreground', className)}
172
+ {...props}
173
+ />
174
+ );
175
+ },
176
+ );
177
+
178
+ /* ── Action buttons ─────────────────────────────────────────────────── */
179
+
180
+ export interface AlertDialogActionProps extends ButtonProps {}
181
+
182
+ export const AlertDialogAction = forwardRef<HTMLButtonElement, AlertDialogActionProps>(
183
+ function AlertDialogAction({ className, ...props }, ref) {
184
+ return <Button ref={ref} className={className} {...props} />;
185
+ },
186
+ );
187
+
188
+ export interface AlertDialogCancelProps extends ButtonProps {}
189
+
190
+ export const AlertDialogCancel = forwardRef<HTMLButtonElement, AlertDialogCancelProps>(
191
+ function AlertDialogCancel({ variant = 'outline', className, ...props }, ref) {
192
+ return <Button ref={ref} variant={variant} className={className} {...props} />;
193
+ },
194
+ );
@@ -0,0 +1,28 @@
1
+ /**
2
+ * AspectRatio (React Native variant).
3
+ *
4
+ * Uses the `aspectRatio` style property supported natively.
5
+ */
6
+ import { forwardRef } from 'react';
7
+ import { View, type ViewProps } from 'react-native';
8
+ import { cn } from './internal/cn.js';
9
+
10
+ export interface AspectRatioProps extends ViewProps {
11
+ ratio?: number;
12
+ className?: string;
13
+ }
14
+
15
+ export const AspectRatio = forwardRef<View, AspectRatioProps>(
16
+ function AspectRatio({ ratio = 1, className, style, children, ...props }, ref) {
17
+ return (
18
+ <View
19
+ ref={ref}
20
+ className={cn('w-full', className)}
21
+ style={[{ aspectRatio: ratio }, style]}
22
+ {...props}
23
+ >
24
+ {children}
25
+ </View>
26
+ );
27
+ },
28
+ );
@@ -0,0 +1,35 @@
1
+ 'use client';
2
+
3
+ /**
4
+ * AspectRatio (web variant — React DOM).
5
+ *
6
+ * Locks a container to a given ratio. Child fills the container.
7
+ *
8
+ * <AspectRatio ratio={16 / 9}>
9
+ * <img src="..." className="object-cover w-full h-full" />
10
+ * </AspectRatio>
11
+ *
12
+ * Wiki: docs/components/AspectRatio.md
13
+ */
14
+ import { forwardRef, type HTMLAttributes } from 'react';
15
+ import { cn } from './internal/cn.js';
16
+
17
+ export interface AspectRatioProps extends HTMLAttributes<HTMLDivElement> {
18
+ /** Width-to-height ratio (default 1). E.g. `16/9`, `4/3`, `1`. */
19
+ ratio?: number;
20
+ }
21
+
22
+ export const AspectRatio = forwardRef<HTMLDivElement, AspectRatioProps>(
23
+ function AspectRatio({ ratio = 1, className, style, children, ...props }, ref) {
24
+ return (
25
+ <div
26
+ ref={ref}
27
+ className={cn('relative w-full', className)}
28
+ style={{ aspectRatio: String(ratio), ...style }}
29
+ {...props}
30
+ >
31
+ {children}
32
+ </div>
33
+ );
34
+ },
35
+ );