@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,136 @@
1
+ /**
2
+ * NavigationMenu (React Native variant).
3
+ *
4
+ * Renders a horizontal scrollable row of navigation links.
5
+ * Sub-menus open as modal overlays on native.
6
+ *
7
+ * Wiki: docs/components/NavigationMenu.md
8
+ */
9
+ import { forwardRef, type ReactNode } from 'react';
10
+ import {
11
+ Pressable,
12
+ ScrollView,
13
+ Text,
14
+ View,
15
+ type ViewProps,
16
+ type TextProps,
17
+ } from 'react-native';
18
+ import { cn } from './internal/cn.js';
19
+
20
+ type ClassedViewProps = Omit<ViewProps, 'style'> & { className?: string };
21
+
22
+ /* ── Root ──────────────────────────────────────────────────────────── */
23
+
24
+ export const NavigationMenu = forwardRef<View, ClassedViewProps>(
25
+ function NavigationMenu({ className, ...props }, ref) {
26
+ return (
27
+ <View ref={ref} className={cn('flex-row', className)} {...props} />
28
+ );
29
+ },
30
+ );
31
+
32
+ /* ── List ──────────────────────────────────────────────────────────── */
33
+
34
+ export const NavigationMenuList = forwardRef<ScrollView, ClassedViewProps>(
35
+ function NavigationMenuList({ className, children, ...props }, ref) {
36
+ return (
37
+ <ScrollView
38
+ ref={ref as never}
39
+ horizontal
40
+ showsHorizontalScrollIndicator={false}
41
+ contentContainerClassName={cn('flex-row items-center gap-1', className)}
42
+ {...props}
43
+ >
44
+ {children}
45
+ </ScrollView>
46
+ );
47
+ },
48
+ );
49
+
50
+ /* ── Item ──────────────────────────────────────────────────────────── */
51
+
52
+ export const NavigationMenuItem = forwardRef<View, ClassedViewProps>(
53
+ function NavigationMenuItem({ className, ...props }, ref) {
54
+ return <View ref={ref} className={cn(className)} {...props} />;
55
+ },
56
+ );
57
+
58
+ /* ── Trigger ──────────────────────────────────────────────────────── */
59
+
60
+ export interface NavigationMenuTriggerProps extends ClassedViewProps {
61
+ children: ReactNode;
62
+ }
63
+
64
+ export const NavigationMenuTrigger = forwardRef<View, NavigationMenuTriggerProps>(
65
+ function NavigationMenuTrigger({ className, children, ...props }, ref) {
66
+ return (
67
+ <Pressable
68
+ ref={ref as never}
69
+ className={cn(
70
+ 'flex-row items-center rounded-lg px-4 py-2',
71
+ className,
72
+ )}
73
+ {...props}
74
+ >
75
+ <Text className="text-sm font-medium text-foreground">{children}</Text>
76
+ <Text className="ml-1 text-xs text-muted-foreground">▾</Text>
77
+ </Pressable>
78
+ );
79
+ },
80
+ );
81
+
82
+ /* ── Content ──────────────────────────────────────────────────────── */
83
+
84
+ export const NavigationMenuContent = forwardRef<View, ClassedViewProps>(
85
+ function NavigationMenuContent({ className, ...props }, ref) {
86
+ return (
87
+ <View
88
+ ref={ref}
89
+ className={cn(
90
+ 'rounded-lg border border-border bg-card p-2 shadow-lg',
91
+ className,
92
+ )}
93
+ {...props}
94
+ />
95
+ );
96
+ },
97
+ );
98
+
99
+ /* ── Link ──────────────────────────────────────────────────────────── */
100
+
101
+ export interface NavigationMenuLinkProps extends ClassedViewProps {
102
+ href?: string;
103
+ onPress?: () => void;
104
+ children: ReactNode;
105
+ }
106
+
107
+ export const NavigationMenuLink = forwardRef<View, NavigationMenuLinkProps>(
108
+ function NavigationMenuLink({ className, onPress, children, ...props }, ref) {
109
+ return (
110
+ <Pressable
111
+ ref={ref as never}
112
+ onPress={onPress}
113
+ className={cn('rounded-lg px-4 py-2', className)}
114
+ {...props}
115
+ >
116
+ <Text className="text-sm text-foreground">{children}</Text>
117
+ </Pressable>
118
+ );
119
+ },
120
+ );
121
+
122
+ /* ── Viewport + Indicator (no-op on native) ───────────────────────── */
123
+
124
+ export const NavigationMenuViewport = forwardRef<View, ClassedViewProps>(
125
+ function NavigationMenuViewport(props, ref) {
126
+ return <View ref={ref} {...props} />;
127
+ },
128
+ );
129
+
130
+ export const NavigationMenuIndicator = forwardRef<View, ClassedViewProps>(
131
+ function NavigationMenuIndicator(props, ref) {
132
+ return <View ref={ref} {...props} />;
133
+ },
134
+ );
135
+
136
+ export const navigationMenuTriggerStyle = () => 'flex-row items-center rounded-lg px-4 py-2';
@@ -0,0 +1,180 @@
1
+ 'use client';
2
+
3
+ /**
4
+ * NavigationMenu (web variant — React DOM).
5
+ *
6
+ * A top-level site navigation bar powered by Radix.
7
+ *
8
+ * <NavigationMenu>
9
+ * <NavigationMenuList>
10
+ * <NavigationMenuItem>
11
+ * <NavigationMenuTrigger>Products</NavigationMenuTrigger>
12
+ * <NavigationMenuContent>
13
+ * <NavigationMenuLink href="/widgets">Widgets</NavigationMenuLink>
14
+ * </NavigationMenuContent>
15
+ * </NavigationMenuItem>
16
+ * <NavigationMenuItem>
17
+ * <NavigationMenuLink href="/about">About</NavigationMenuLink>
18
+ * </NavigationMenuItem>
19
+ * </NavigationMenuList>
20
+ * </NavigationMenu>
21
+ *
22
+ * Wiki: docs/components/NavigationMenu.md
23
+ */
24
+ import { forwardRef, type ComponentPropsWithoutRef, type ElementRef } from 'react';
25
+ import * as NavigationMenuPrimitive from '@radix-ui/react-navigation-menu';
26
+ import { cva } from 'class-variance-authority';
27
+ import { cn } from './internal/cn.js';
28
+
29
+ /* ── Root ──────────────────────────────────────────────────────────── */
30
+
31
+ export const NavigationMenu = forwardRef<
32
+ ElementRef<typeof NavigationMenuPrimitive.Root>,
33
+ ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>
34
+ >(function NavigationMenu({ className, children, ...props }, ref) {
35
+ return (
36
+ <NavigationMenuPrimitive.Root
37
+ ref={ref}
38
+ className={cn(
39
+ 'relative z-10 flex max-w-max flex-1 items-center justify-center',
40
+ className,
41
+ )}
42
+ {...props}
43
+ >
44
+ {children}
45
+ <NavigationMenuViewport />
46
+ </NavigationMenuPrimitive.Root>
47
+ );
48
+ });
49
+
50
+ /* ── List ──────────────────────────────────────────────────────────── */
51
+
52
+ export const NavigationMenuList = forwardRef<
53
+ ElementRef<typeof NavigationMenuPrimitive.List>,
54
+ ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>
55
+ >(function NavigationMenuList({ className, ...props }, ref) {
56
+ return (
57
+ <NavigationMenuPrimitive.List
58
+ ref={ref}
59
+ className={cn(
60
+ 'group flex flex-1 list-none items-center justify-center gap-1',
61
+ className,
62
+ )}
63
+ {...props}
64
+ />
65
+ );
66
+ });
67
+
68
+ /* ── Item ──────────────────────────────────────────────────────────── */
69
+
70
+ export const NavigationMenuItem = NavigationMenuPrimitive.Item;
71
+
72
+ /* ── Trigger ──────────────────────────────────────────────────────── */
73
+
74
+ const navigationMenuTriggerStyle = cva(
75
+ 'group inline-flex h-10 w-max items-center justify-center rounded-lg bg-transparent px-4 py-2 text-body-sm font-medium ' +
76
+ 'transition-colors ' +
77
+ 'hover:bg-muted hover:text-foreground ' +
78
+ 'focus:bg-muted focus:text-foreground focus:outline-none ' +
79
+ 'disabled:pointer-events-none disabled:opacity-50 ' +
80
+ 'data-[state=open]:bg-muted/50 data-[active]:bg-muted/50',
81
+ );
82
+
83
+ export { navigationMenuTriggerStyle };
84
+
85
+ export const NavigationMenuTrigger = forwardRef<
86
+ ElementRef<typeof NavigationMenuPrimitive.Trigger>,
87
+ ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>
88
+ >(function NavigationMenuTrigger({ className, children, ...props }, ref) {
89
+ return (
90
+ <NavigationMenuPrimitive.Trigger
91
+ ref={ref}
92
+ className={cn(navigationMenuTriggerStyle(), 'group', className)}
93
+ {...props}
94
+ >
95
+ {children}{' '}
96
+ <svg
97
+ viewBox="0 0 16 16"
98
+ fill="none"
99
+ stroke="currentColor"
100
+ strokeWidth={2}
101
+ className="relative top-px ml-1 h-3 w-3 transition-transform duration-200 group-data-[state=open]:rotate-180"
102
+ aria-hidden
103
+ >
104
+ <path strokeLinecap="round" strokeLinejoin="round" d="M4 6l4 4 4-4" />
105
+ </svg>
106
+ </NavigationMenuPrimitive.Trigger>
107
+ );
108
+ });
109
+
110
+ /* ── Content ──────────────────────────────────────────────────────── */
111
+
112
+ export const NavigationMenuContent = forwardRef<
113
+ ElementRef<typeof NavigationMenuPrimitive.Content>,
114
+ ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>
115
+ >(function NavigationMenuContent({ className, ...props }, ref) {
116
+ return (
117
+ <NavigationMenuPrimitive.Content
118
+ ref={ref}
119
+ className={cn(
120
+ 'left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out',
121
+ 'data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out',
122
+ 'data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52',
123
+ 'data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52',
124
+ 'md:absolute md:w-auto',
125
+ className,
126
+ )}
127
+ {...props}
128
+ />
129
+ );
130
+ });
131
+
132
+ /* ── Link ──────────────────────────────────────────────────────────── */
133
+
134
+ export const NavigationMenuLink = NavigationMenuPrimitive.Link;
135
+
136
+ /* ── Viewport ─────────────────────────────────────────────────────── */
137
+
138
+ export const NavigationMenuViewport = forwardRef<
139
+ ElementRef<typeof NavigationMenuPrimitive.Viewport>,
140
+ ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>
141
+ >(function NavigationMenuViewport({ className, ...props }, ref) {
142
+ return (
143
+ <div className={cn('absolute left-0 top-full flex justify-center')}>
144
+ <NavigationMenuPrimitive.Viewport
145
+ ref={ref}
146
+ className={cn(
147
+ 'origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)]',
148
+ 'w-full overflow-hidden rounded-lg border border-border bg-card text-card-foreground shadow-lg',
149
+ 'data-[state=open]:animate-in data-[state=closed]:animate-out',
150
+ 'data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90',
151
+ 'md:w-[var(--radix-navigation-menu-viewport-width)]',
152
+ className,
153
+ )}
154
+ {...props}
155
+ />
156
+ </div>
157
+ );
158
+ });
159
+
160
+ /* ── Indicator ────────────────────────────────────────────────────── */
161
+
162
+ export const NavigationMenuIndicator = forwardRef<
163
+ ElementRef<typeof NavigationMenuPrimitive.Indicator>,
164
+ ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>
165
+ >(function NavigationMenuIndicator({ className, ...props }, ref) {
166
+ return (
167
+ <NavigationMenuPrimitive.Indicator
168
+ ref={ref}
169
+ className={cn(
170
+ 'top-full z-[1] flex h-1.5 items-end justify-center overflow-hidden',
171
+ 'data-[state=visible]:animate-in data-[state=hidden]:animate-out',
172
+ 'data-[state=hidden]:fade-out data-[state=visible]:fade-in',
173
+ className,
174
+ )}
175
+ {...props}
176
+ >
177
+ <div className="relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md" />
178
+ </NavigationMenuPrimitive.Indicator>
179
+ );
180
+ });
@@ -0,0 +1,80 @@
1
+ /**
2
+ * NotificationBadge (React Native variant).
3
+ *
4
+ * Counter dot overlay. Same prop API as the web variant — wrap the
5
+ * host element in a `<View>` with relative positioning; the badge
6
+ * absolutely-positions in the chosen corner.
7
+ *
8
+ * Wiki: docs/components/NotificationBadge.md
9
+ */
10
+ import { forwardRef, type ReactNode } from 'react';
11
+ import { Text, View, type ViewProps } from 'react-native';
12
+ import { cva, type VariantProps } from 'class-variance-authority';
13
+ import { cn } from './internal/cn.js';
14
+
15
+ export const notificationBadgeVariants = cva(
16
+ 'absolute items-center justify-center rounded-full',
17
+ {
18
+ variants: {
19
+ tone: {
20
+ danger: 'bg-destructive',
21
+ warning: 'bg-warning',
22
+ accent: 'bg-accent',
23
+ primary: 'bg-primary',
24
+ },
25
+ placement: {
26
+ 'top-right': '-top-1 -right-1',
27
+ 'top-left': '-top-1 -left-1',
28
+ 'bottom-right': '-bottom-1 -right-1',
29
+ 'bottom-left': '-bottom-1 -left-1',
30
+ },
31
+ },
32
+ defaultVariants: { tone: 'danger', placement: 'top-right' },
33
+ },
34
+ );
35
+
36
+ export interface NotificationBadgeProps
37
+ extends Omit<ViewProps, 'style'>,
38
+ VariantProps<typeof notificationBadgeVariants> {
39
+ className?: string;
40
+ count?: number;
41
+ max?: number;
42
+ dot?: boolean;
43
+ children?: ReactNode;
44
+ }
45
+
46
+ export const NotificationBadge = forwardRef<View, NotificationBadgeProps>(
47
+ function NotificationBadge(
48
+ { className, tone, placement, count = 0, max = 99, dot = false, children, ...props },
49
+ ref,
50
+ ) {
51
+ if (!count && !children && !dot) return null;
52
+ if (dot) {
53
+ return (
54
+ <View
55
+ ref={ref}
56
+ className={cn(
57
+ notificationBadgeVariants({ tone, placement }),
58
+ 'h-2 w-2',
59
+ className,
60
+ )}
61
+ {...props}
62
+ />
63
+ );
64
+ }
65
+ const label = children ?? (count > max ? `${max}+` : String(count));
66
+ return (
67
+ <View
68
+ ref={ref}
69
+ className={cn(
70
+ notificationBadgeVariants({ tone, placement }),
71
+ 'h-4 min-w-4 px-1',
72
+ className,
73
+ )}
74
+ {...props}
75
+ >
76
+ <Text className="text-caption font-medium leading-none text-primary-foreground">{label}</Text>
77
+ </View>
78
+ );
79
+ },
80
+ );
@@ -0,0 +1,91 @@
1
+ 'use client';
2
+
3
+ /**
4
+ * NotificationBadge (web variant — React DOM).
5
+ *
6
+ * Tiny counter dot that overlays a parent (the bell icon in the
7
+ * MiHCM Security prototype's TopBar). Render inside any
8
+ * `position: relative` container; the badge absolutely-positions
9
+ * itself in the top-right.
10
+ *
11
+ * Extracted from the prototype:
12
+ * <div class="relative">
13
+ * <img src="img/bell.svg" />
14
+ * <span class="absolute -top-2 -right-2.5 w-4 h-4 bg-mi-red
15
+ * rounded-full text-xs text-white ...">5</span>
16
+ * </div>
17
+ *
18
+ * Wiki: docs/components/NotificationBadge.md
19
+ */
20
+ import { forwardRef, type HTMLAttributes } from 'react';
21
+ import { cva, type VariantProps } from 'class-variance-authority';
22
+ import { cn } from './internal/cn.js';
23
+
24
+ export const notificationBadgeVariants = cva(
25
+ 'absolute grid place-items-center rounded-full text-label font-semibold leading-none text-primary-foreground',
26
+ {
27
+ variants: {
28
+ tone: {
29
+ danger: 'bg-destructive',
30
+ warning: 'bg-warning',
31
+ accent: 'bg-accent',
32
+ primary: 'bg-primary',
33
+ },
34
+ placement: {
35
+ 'top-right': '-top-1 -right-1',
36
+ 'top-left': '-top-1 -left-1',
37
+ 'bottom-right': '-bottom-1 -right-1',
38
+ 'bottom-left': '-bottom-1 -left-1',
39
+ },
40
+ },
41
+ defaultVariants: { tone: 'danger', placement: 'top-right' },
42
+ },
43
+ );
44
+
45
+ export interface NotificationBadgeProps
46
+ extends HTMLAttributes<HTMLSpanElement>,
47
+ VariantProps<typeof notificationBadgeVariants> {
48
+ /** Numeric count. `0` and `undefined` hide the badge. Values over `max` show `${max}+`. */
49
+ count?: number;
50
+ /** Cap value. Defaults to 99. */
51
+ max?: number;
52
+ /** When `true` and `count > 0`, render a tiny dot without text. Default `false`. */
53
+ dot?: boolean;
54
+ }
55
+
56
+ export const NotificationBadge = forwardRef<HTMLSpanElement, NotificationBadgeProps>(
57
+ function NotificationBadge(
58
+ { className, tone, placement, count = 0, max = 99, dot = false, children, ...props },
59
+ ref,
60
+ ) {
61
+ if (!count && !children && !dot) return null;
62
+ if (dot) {
63
+ return (
64
+ <span
65
+ ref={ref}
66
+ aria-hidden
67
+ className={cn(
68
+ notificationBadgeVariants({ tone, placement }),
69
+ 'h-2 w-2',
70
+ className,
71
+ )}
72
+ {...props}
73
+ />
74
+ );
75
+ }
76
+ const label = children ?? (count > max ? `${max}+` : String(count));
77
+ return (
78
+ <span
79
+ ref={ref}
80
+ className={cn(
81
+ notificationBadgeVariants({ tone, placement }),
82
+ 'h-4 min-w-4 px-1',
83
+ className,
84
+ )}
85
+ {...props}
86
+ >
87
+ {label}
88
+ </span>
89
+ );
90
+ },
91
+ );
@@ -0,0 +1,43 @@
1
+ /**
2
+ * PageShell (React Native variant).
3
+ *
4
+ * Mobile-first redesign: simple vertical stack with topBar at top
5
+ * and children filling the remaining space. The sidebar prop is
6
+ * accepted but ignored (mobile sidebar should be a drawer managed
7
+ * by the host app). The titleBar renders inline above content
8
+ * without sticky behaviour.
9
+ *
10
+ * Wiki: docs/components/PageShell.md
11
+ */
12
+ import { forwardRef, type ReactNode } from 'react';
13
+ import { ScrollView, View, type ViewProps } from 'react-native';
14
+ import { cn } from './internal/cn.js';
15
+
16
+ export interface PageShellProps extends Omit<ViewProps, 'style'> {
17
+ topBar?: ReactNode;
18
+ sidebar?: ReactNode;
19
+ titleBar?: ReactNode;
20
+ className?: string;
21
+ }
22
+
23
+ export const PageShell = forwardRef<View, PageShellProps>(function PageShell(
24
+ { className, topBar, sidebar: _sidebar, titleBar, children, ...props },
25
+ ref,
26
+ ) {
27
+ return (
28
+ <View
29
+ ref={ref}
30
+ className={cn('flex-1 bg-background', className)}
31
+ {...props}
32
+ >
33
+ {topBar}
34
+ {titleBar}
35
+ <ScrollView
36
+ className="flex-1 bg-muted"
37
+ contentContainerClassName="p-3"
38
+ >
39
+ {children}
40
+ </ScrollView>
41
+ </View>
42
+ );
43
+ });
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+
3
+ /**
4
+ * PageShell (web variant — React DOM).
5
+ *
6
+ * Outer 3-region scaffold that mirrors the MiHCM Security prototype:
7
+ * TopBar (full-width, above everything)
8
+ * ├── Sidebar (vertical rail on desktop, bottom menu on mobile)
9
+ * └── Main column
10
+ * ├── TitleBar (sticky)
11
+ * └── Content (scrollable)
12
+ *
13
+ * The shell only handles layout — pass any `topBar`, `sidebar`,
14
+ * `titleBar`, and `children` you want. The main column scrolls
15
+ * internally so the top/title bars stay fixed.
16
+ *
17
+ * Wiki: docs/components/PageShell.md
18
+ */
19
+ import { forwardRef, type HTMLAttributes, type ReactNode } from 'react';
20
+ import { cn } from './internal/cn.js';
21
+
22
+ export interface PageShellProps extends HTMLAttributes<HTMLDivElement> {
23
+ topBar?: ReactNode;
24
+ sidebar?: ReactNode;
25
+ titleBar?: ReactNode;
26
+ }
27
+
28
+ export const PageShell = forwardRef<HTMLDivElement, PageShellProps>(function PageShell(
29
+ { className, topBar, sidebar, titleBar, children, ...props },
30
+ ref,
31
+ ) {
32
+ return (
33
+ <div
34
+ ref={ref}
35
+ className={cn('flex h-screen flex-col overflow-hidden bg-background', className)}
36
+ {...props}
37
+ >
38
+ {topBar}
39
+ <div className="relative flex flex-1 overflow-hidden">
40
+ {sidebar}
41
+ <div className="flex flex-1 flex-col overflow-hidden">
42
+ {titleBar}
43
+ <div className="flex-1 overflow-y-auto bg-muted p-4 pb-24 md:p-6 lg:px-12 lg:py-8">
44
+ {children}
45
+ </div>
46
+ </div>
47
+ </div>
48
+ </div>
49
+ );
50
+ });