@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,19 @@
1
+ import { Fragment as _Fragment, jsx as _jsx } from "react/jsx-runtime";
2
+ import { View } from 'react-native';
3
+ export function HoverCard({ children }) {
4
+ return _jsx(_Fragment, { children: children });
5
+ }
6
+ export function HoverCardTrigger({ children }) {
7
+ return _jsx(_Fragment, { children: children });
8
+ }
9
+ export function HoverCardContent(_props) {
10
+ // HoverCard content is not rendered on native — hover is not available.
11
+ return null;
12
+ }
13
+ export function HoverCardPortal({ children }) {
14
+ return _jsx(_Fragment, { children: children });
15
+ }
16
+ export function HoverCardArrow() {
17
+ return null;
18
+ }
19
+ //# sourceMappingURL=HoverCard.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverCard.native.js","sourceRoot":"","sources":["../src/HoverCard.native.tsx"],"names":[],"mappings":";AASA,OAAO,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AAYpD,MAAM,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAkB;IACpD,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAOD,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAyB;IAClE,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAgBD,MAAM,UAAU,gBAAgB,CAAC,MAA6B;IAC5D,wEAAwE;IACxE,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,EAAE,QAAQ,EAA2B;IACnE,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * MainSidebar (web variant — React DOM).
3
+ *
4
+ * Figma rail: compact 46 px primary-blue icon strip with an accent selected item.
5
+ * Expansion: controlled/uncontrolled drilldown panel that slides beside the rail.
6
+ *
7
+ * `IconSidebar` remains as a compatibility alias.
8
+ *
9
+ * Wiki: docs/components/IconSidebar.md
10
+ */
11
+ import { type HTMLAttributes, type ReactNode } from 'react';
12
+ export interface MainSidebarItem {
13
+ key: string;
14
+ icon: ReactNode;
15
+ label: string;
16
+ href?: string;
17
+ description?: string;
18
+ badge?: ReactNode;
19
+ disabled?: boolean;
20
+ children?: MainSidebarItem[];
21
+ panel?: ReactNode;
22
+ }
23
+ export interface MainSidebarProps extends Omit<HTMLAttributes<HTMLElement>, 'onSelect'> {
24
+ items: MainSidebarItem[];
25
+ activeKey?: string;
26
+ expanded?: boolean;
27
+ defaultExpanded?: boolean;
28
+ onExpandedChange?: (expanded: boolean) => void;
29
+ onItemSelect?: (key: string, item: MainSidebarItem) => void;
30
+ header?: ReactNode;
31
+ footer?: ReactNode;
32
+ panelHeader?: ReactNode;
33
+ panelFooter?: ReactNode;
34
+ railClassName?: string;
35
+ panelClassName?: string;
36
+ itemClassName?: string;
37
+ activeItemClassName?: string;
38
+ collapsedLabel?: string;
39
+ expandedLabel?: string;
40
+ backLabel?: string;
41
+ showLabelsWhenExpanded?: boolean;
42
+ side?: 'left' | 'right';
43
+ /** Force the bottom mobile navigation pattern for docs, tests, or mobile-only shells. */
44
+ mobile?: boolean;
45
+ }
46
+ export type IconSidebarItem = MainSidebarItem;
47
+ export type IconSidebarProps = MainSidebarProps;
48
+ export declare const MainSidebar: import("react").ForwardRefExoticComponent<MainSidebarProps & import("react").RefAttributes<HTMLElement>>;
49
+ export declare const IconSidebar: import("react").ForwardRefExoticComponent<MainSidebarProps & import("react").RefAttributes<HTMLElement>>;
50
+ //# sourceMappingURL=IconSidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconSidebar.d.ts","sourceRoot":"","sources":["../src/IconSidebar.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AACH,OAAO,EAAiC,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAG3F,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,CAAC;IACrF,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,yFAAyF;IACzF,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAgDhD,eAAO,MAAM,WAAW,0GAyVtB,CAAC;AAEH,eAAO,MAAM,WAAW,0GAAc,CAAC"}
@@ -0,0 +1,121 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ /**
4
+ * MainSidebar (web variant — React DOM).
5
+ *
6
+ * Figma rail: compact 46 px primary-blue icon strip with an accent selected item.
7
+ * Expansion: controlled/uncontrolled drilldown panel that slides beside the rail.
8
+ *
9
+ * `IconSidebar` remains as a compatibility alias.
10
+ *
11
+ * Wiki: docs/components/IconSidebar.md
12
+ */
13
+ import { forwardRef, useMemo, useState } from 'react';
14
+ import { cn } from './internal/cn.js';
15
+ function ChevronLeftIcon() {
16
+ return (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": true, children: _jsx("path", { d: "m15 18-6-6 6-6", strokeLinecap: "round", strokeLinejoin: "round" }) }));
17
+ }
18
+ function ChevronRightIcon() {
19
+ return (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": true, children: _jsx("path", { d: "m9 18 6-6-6-6", strokeLinecap: "round", strokeLinejoin: "round" }) }));
20
+ }
21
+ function MenuIcon() {
22
+ return (_jsx("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", "aria-hidden": true, children: _jsx("path", { d: "M4 7h16M4 12h16M4 17h16", strokeLinecap: "round" }) }));
23
+ }
24
+ function findItem(items, key) {
25
+ if (!key)
26
+ return undefined;
27
+ for (const item of items) {
28
+ if (item.key === key)
29
+ return item;
30
+ const child = findItem(item.children ?? [], key);
31
+ if (child)
32
+ return child;
33
+ }
34
+ return undefined;
35
+ }
36
+ function firstPanelItem(items, activeKey) {
37
+ const active = findItem(items, activeKey);
38
+ if (active?.children?.length || active?.panel)
39
+ return active;
40
+ return items.find((item) => item.children?.length || item.panel) ?? items[0];
41
+ }
42
+ function opensPanel(item) {
43
+ return Boolean(item.children?.length || item.panel);
44
+ }
45
+ export const MainSidebar = forwardRef(function MainSidebar({ className, items, activeKey, expanded, defaultExpanded = false, onExpandedChange, onItemSelect, header, footer, panelHeader, panelFooter, railClassName, panelClassName, itemClassName, activeItemClassName, collapsedLabel = 'Expand main sidebar', expandedLabel = 'Collapse main sidebar', backLabel = 'Back', showLabelsWhenExpanded = true, side = 'left', mobile = false, ...props }, ref) {
46
+ const [internalExpanded, setInternalExpanded] = useState(defaultExpanded);
47
+ const isExpanded = expanded ?? internalExpanded;
48
+ const rootItem = useMemo(() => firstPanelItem(items, activeKey), [activeKey, items]);
49
+ const [pathKeys, setPathKeys] = useState([]);
50
+ const path = useMemo(() => {
51
+ const resolved = pathKeys
52
+ .map((key) => findItem(items, key))
53
+ .filter((item) => Boolean(item));
54
+ return resolved.length ? resolved : rootItem ? [rootItem] : [];
55
+ }, [items, pathKeys, rootItem]);
56
+ const current = path.at(-1);
57
+ const currentItems = current?.children ?? items;
58
+ const isRightSide = side === 'right';
59
+ function setExpanded(next) {
60
+ if (expanded === undefined)
61
+ setInternalExpanded(next);
62
+ if (!next)
63
+ setPathKeys([]);
64
+ onExpandedChange?.(next);
65
+ }
66
+ function selectRailItem(item) {
67
+ if (item.disabled)
68
+ return;
69
+ onItemSelect?.(item.key, item);
70
+ if (opensPanel(item)) {
71
+ setPathKeys([item.key]);
72
+ setExpanded(true);
73
+ }
74
+ else {
75
+ setPathKeys([]);
76
+ }
77
+ }
78
+ function selectPanelItem(item) {
79
+ if (item.disabled)
80
+ return;
81
+ onItemSelect?.(item.key, item);
82
+ if (opensPanel(item)) {
83
+ setExpanded(true);
84
+ setPathKeys((previous) => previous.at(-1) === item.key ? previous : [...previous, item.key]);
85
+ }
86
+ }
87
+ const panel = isExpanded ? (_jsx("div", { className: cn('min-w-0 bg-card text-card-foreground shadow-mi-card', isRightSide ? 'border-l border-border' : 'border-r border-border', 'w-full md:w-72 md:flex-none', isRightSide
88
+ ? 'animate-in fade-in slide-in-from-right-2 duration-300'
89
+ : 'animate-in fade-in slide-in-from-left-2 duration-300', panelClassName), children: _jsxs("div", { className: "flex h-full flex-col", children: [_jsx("div", { className: "border-b border-border px-5 py-4", children: panelHeader ?? (_jsxs("div", { className: "flex items-center justify-between gap-3", children: [_jsxs("div", { className: "min-w-0", children: [_jsx("div", { className: "text-sm font-semibold", children: current?.label ?? 'Main Sidebar' }), current?.description ? (_jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: current.description })) : null] }), _jsx("button", { type: "button", "aria-label": expandedLabel, onClick: () => setExpanded(false), className: "grid size-8 shrink-0 place-items-center rounded-md text-muted-foreground transition hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: isRightSide ? _jsx(ChevronRightIcon, {}) : _jsx(ChevronLeftIcon, {}) })] })) }), _jsxs("div", { className: "min-h-0 flex-1 overflow-y-auto px-3 py-4", children: [path.length > 1 ? (_jsxs("button", { type: "button", onClick: () => setPathKeys((previous) => previous.slice(0, -1)), className: "mb-3 inline-flex items-center gap-2 rounded-md px-2 py-1.5 text-xs font-medium text-muted-foreground transition hover:bg-muted hover:text-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-ring", children: [_jsx("span", { className: "[&_svg]:size-4", children: _jsx(ChevronLeftIcon, {}) }), backLabel] })) : null, current?.panel ? (_jsx("div", { className: "animate-in fade-in slide-in-from-left-2 duration-200", children: current.panel })) : (_jsx("div", { className: "grid gap-1 animate-in fade-in slide-in-from-right-2 duration-200", children: currentItems.map((item) => {
90
+ const isActive = item.key === activeKey;
91
+ const hasChildren = opensPanel(item);
92
+ return (_jsxs("button", { type: "button", disabled: item.disabled, onClick: () => selectPanelItem(item), className: cn('group flex w-full items-center gap-3 rounded-md px-3 py-2.5 text-left transition', 'focus:outline-none focus-visible:ring-2 focus-visible:ring-ring', item.disabled && 'cursor-not-allowed opacity-40', isActive ? 'bg-accent text-primary-foreground' : 'hover:bg-muted'), children: [_jsx("span", { className: "grid size-8 shrink-0 place-items-center rounded-md bg-muted text-foreground group-hover:bg-background [&_svg]:size-4", children: item.icon }), _jsxs("span", { className: "min-w-0 flex-1", children: [_jsx("span", { className: "block truncate text-sm font-medium", children: item.label }), item.description ? (_jsx("span", { className: cn('mt-0.5 block text-xs', isActive ? 'text-primary-foreground/80' : 'text-muted-foreground'), children: item.description })) : null] }), item.badge ? _jsx("span", { className: "shrink-0", children: item.badge }) : null, hasChildren ? (_jsx("span", { className: "shrink-0 text-muted-foreground [&_svg]:size-4", children: _jsx(ChevronRightIcon, {}) })) : null] }, item.key));
93
+ }) }))] }), showLabelsWhenExpanded ? (_jsxs("div", { className: "border-t border-border px-5 py-4 text-xs text-muted-foreground", children: [currentItems.length, " navigation ", currentItems.length === 1 ? 'item' : 'items'] })) : null, panelFooter ? _jsx("div", { className: "border-t border-border px-5 py-4", children: panelFooter }) : null] }) })) : null;
94
+ return (_jsxs(_Fragment, { children: [_jsxs("nav", { "aria-label": "Main Sidebar", "data-expanded": isExpanded ? 'true' : 'false', "data-mobile": mobile ? 'true' : undefined, className: cn('absolute inset-x-0 bottom-0 z-30', !mobile && 'md:hidden', className), children: [isExpanded ? (_jsx("div", { className: "absolute inset-x-3 bottom-full mb-3 max-h-96 overflow-hidden rounded-lg border border-border bg-card text-card-foreground shadow-mi-popover", children: panel })) : null, _jsxs("div", { className: cn('flex items-stretch border-t border-primary/80 bg-primary text-primary-foreground', railClassName), children: [_jsx("div", { className: "flex min-w-0 flex-1 overflow-x-auto", children: items.map((item) => {
95
+ const isActive = item.key === activeKey;
96
+ const mobileItemClassName = cn('grid min-w-18 flex-1 place-items-center gap-1 px-3 py-2 text-caption transition', 'focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-foreground/70', item.disabled && 'cursor-not-allowed opacity-40', isActive ? 'bg-accent text-primary-foreground' : 'text-primary-foreground/75', itemClassName, isActive && activeItemClassName);
97
+ const mobileItemContent = (_jsxs(_Fragment, { children: [_jsx("span", { className: "[&_svg]:size-5", children: item.icon }), _jsx("span", { className: "max-w-16 truncate", children: item.label })] }));
98
+ if (item.href && !item.disabled && !item.children?.length && !item.panel) {
99
+ return (_jsx("a", { href: item.href, "aria-label": item.label, "aria-current": isActive ? 'page' : undefined, "aria-disabled": item.disabled || undefined, className: mobileItemClassName, children: mobileItemContent }, item.key));
100
+ }
101
+ return (_jsx("button", { type: "button", disabled: item.disabled, "aria-label": item.label, "aria-current": isActive ? 'page' : undefined, "aria-disabled": item.disabled || undefined, onClick: () => selectRailItem(item), className: mobileItemClassName, children: mobileItemContent }, item.key));
102
+ }) }), _jsxs("button", { type: "button", "aria-label": isExpanded ? expandedLabel : collapsedLabel, "aria-expanded": isExpanded, onClick: () => setExpanded(!isExpanded), className: "grid min-w-16 place-items-center gap-1 border-l border-primary-foreground/15 px-3 py-2 text-caption text-primary-foreground/85 transition hover:bg-primary-foreground/10 focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-foreground/70", children: [_jsx("span", { className: "[&_svg]:size-5", children: _jsx(MenuIcon, {}) }), "Menu"] })] })] }), _jsxs("aside", { ref: ref, "aria-label": "Main Sidebar", "data-expanded": isExpanded ? 'true' : 'false', "data-side": side, "data-mobile": mobile ? 'false' : undefined, className: cn('h-full flex-shrink-0 overflow-hidden bg-primary text-primary-foreground', mobile ? 'hidden' : 'hidden md:flex', isRightSide && 'flex-row-reverse', 'transition-[width] duration-300 ease-out', isExpanded ? 'w-[20.875rem]' : 'w-11.5', className), ...props, children: [_jsxs("div", { className: cn('flex w-11.5 shrink-0 flex-col items-center gap-9 overflow-hidden bg-primary pb-20', railClassName), children: [header ? _jsx("div", { className: "flex w-full justify-center", children: header }) : null, _jsx("nav", { className: "flex flex-col items-center", "aria-label": "Primary", children: items.map((item) => {
103
+ const isActive = item.key === activeKey;
104
+ const shared = {
105
+ 'aria-label': item.label,
106
+ 'aria-current': isActive ? 'page' : undefined,
107
+ 'aria-disabled': item.disabled || undefined,
108
+ title: item.label,
109
+ className: cn('grid h-11.5 w-11.5 shrink-0 place-items-center transition-colors duration-150', 'focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-foreground/70', item.disabled ? 'cursor-not-allowed opacity-40' : 'cursor-pointer', isActive
110
+ ? 'bg-accent text-primary-foreground opacity-100'
111
+ : 'text-primary-foreground opacity-70 hover:opacity-100 focus-visible:opacity-100', itemClassName, isActive && activeItemClassName),
112
+ };
113
+ const content = _jsx("span", { className: "[&_svg]:size-5", children: item.icon });
114
+ if (item.href && !item.disabled && !item.children?.length && !item.panel) {
115
+ return (_jsx("a", { href: item.href, ...shared, children: content }, item.key));
116
+ }
117
+ return (_jsx("button", { type: "button", disabled: item.disabled, onClick: () => selectRailItem(item), ...shared, children: content }, item.key));
118
+ }) }), footer ? _jsx("div", { className: "mt-auto flex w-full justify-center", children: footer }) : null, _jsx("button", { type: "button", "aria-label": isExpanded ? expandedLabel : collapsedLabel, "aria-expanded": isExpanded, onClick: () => setExpanded(!isExpanded), className: "mb-3 grid size-8 place-items-center rounded-md text-primary-foreground/80 transition hover:bg-primary-foreground/10 hover:text-primary-foreground focus:outline-none focus-visible:ring-2 focus-visible:ring-primary-foreground/70", children: _jsx(MenuIcon, {}) })] }), panel] })] }));
119
+ });
120
+ export const IconSidebar = MainSidebar;
121
+ //# sourceMappingURL=IconSidebar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconSidebar.js","sourceRoot":"","sources":["../src/IconSidebar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * MainSidebar (React Native variant).
3
+ *
4
+ * Mobile-first redesign: renders as a horizontal bottom tab bar
5
+ * instead of a vertical rail. Uses a horizontal ScrollView for
6
+ * overflow when items exceed screen width. Active item gets a
7
+ * highlighted background; inactive items are dimmed.
8
+ *
9
+ * `IconSidebar` remains as a compatibility alias.
10
+ *
11
+ * Wiki: docs/components/IconSidebar.md
12
+ */
13
+ import { type ReactNode } from 'react';
14
+ import { View, type ViewProps } from 'react-native';
15
+ export interface MainSidebarItem {
16
+ key: string;
17
+ icon: ReactNode;
18
+ label: string;
19
+ href?: string;
20
+ description?: string;
21
+ badge?: ReactNode;
22
+ disabled?: boolean;
23
+ children?: MainSidebarItem[];
24
+ panel?: ReactNode;
25
+ }
26
+ export interface MainSidebarProps extends Omit<ViewProps, 'style' | 'children'> {
27
+ items: MainSidebarItem[];
28
+ activeKey?: string;
29
+ onItemSelect?: (key: string, item: MainSidebarItem) => void;
30
+ header?: ReactNode;
31
+ footer?: ReactNode;
32
+ side?: 'left' | 'right';
33
+ mobile?: boolean;
34
+ className?: string;
35
+ }
36
+ export type IconSidebarItem = MainSidebarItem;
37
+ export type IconSidebarProps = MainSidebarProps;
38
+ export declare const MainSidebar: import("react").ForwardRefExoticComponent<MainSidebarProps & import("react").RefAttributes<View>>;
39
+ export declare const IconSidebar: import("react").ForwardRefExoticComponent<MainSidebarProps & import("react").RefAttributes<View>>;
40
+ //# sourceMappingURL=IconSidebar.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconSidebar.native.d.ts","sourceRoot":"","sources":["../src/IconSidebar.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAA+B,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAGjF,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,SAAS,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,KAAK,CAAC,EAAE,SAAS,CAAC;CACnB;AAED,MAAM,WAAW,gBAAiB,SAAQ,IAAI,CAAC,SAAS,EAAE,OAAO,GAAG,UAAU,CAAC;IAC7E,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,eAAe,KAAK,IAAI,CAAC;IAC5D,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,eAAe,GAAG,eAAe,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GAAG,gBAAgB,CAAC;AAEhD,eAAO,MAAM,WAAW,mGAiDtB,CAAC;AAEH,eAAO,MAAM,WAAW,mGAAc,CAAC"}
@@ -0,0 +1,24 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * MainSidebar (React Native variant).
4
+ *
5
+ * Mobile-first redesign: renders as a horizontal bottom tab bar
6
+ * instead of a vertical rail. Uses a horizontal ScrollView for
7
+ * overflow when items exceed screen width. Active item gets a
8
+ * highlighted background; inactive items are dimmed.
9
+ *
10
+ * `IconSidebar` remains as a compatibility alias.
11
+ *
12
+ * Wiki: docs/components/IconSidebar.md
13
+ */
14
+ import { forwardRef } from 'react';
15
+ import { Pressable, ScrollView, Text, View } from 'react-native';
16
+ import { cn } from './internal/cn.js';
17
+ export const MainSidebar = forwardRef(function MainSidebar({ className, items, activeKey, onItemSelect, header, footer, side: _side, mobile: _mobile, ...props }, ref) {
18
+ return (_jsxs(View, { ref: ref, accessibilityRole: "toolbar", accessibilityLabel: "Main navigation", className: cn('flex-row items-center bg-primary border-t border-primary/80', className), ...props, children: [header ? _jsx(View, { className: "px-1", children: header }) : null, _jsx(ScrollView, { horizontal: true, showsHorizontalScrollIndicator: false, contentContainerClassName: "flex-row items-center", className: "flex-1", children: items.map((item) => {
19
+ const isActive = item.key === activeKey;
20
+ return (_jsxs(Pressable, { accessibilityRole: "button", accessibilityLabel: item.label, accessibilityState: { selected: isActive, disabled: item.disabled }, disabled: item.disabled, onPress: () => onItemSelect?.(item.key, item), className: cn('items-center justify-center px-4 py-3 min-w-14', isActive ? 'bg-accent' : 'opacity-70', item.disabled && 'opacity-40'), children: [_jsx(View, { className: "h-6 w-6 items-center justify-center", children: item.icon }), _jsx(Text, { className: "text-caption mt-1 text-primary-foreground text-center", numberOfLines: 1, children: item.label })] }, item.key));
21
+ }) }), footer ? _jsx(View, { className: "px-1", children: footer }) : null] }));
22
+ });
23
+ export const IconSidebar = MainSidebar;
24
+ //# sourceMappingURL=IconSidebar.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconSidebar.native.js","sourceRoot":"","sources":["../src/IconSidebar.native.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAkB,MAAM,cAAc,CAAC;AACjF,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AA4BtC,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAyB,SAAS,WAAW,CAChF,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EACrG,GAAG;IAEH,OAAO,CACL,MAAC,IAAI,IACH,GAAG,EAAE,GAAG,EACR,iBAAiB,EAAC,SAAS,EAC3B,kBAAkB,EAAC,iBAAiB,EACpC,SAAS,EAAE,EAAE,CAAC,6DAA6D,EAAE,SAAS,CAAC,KACnF,KAAK,aAER,MAAM,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,SAAS,EAAC,MAAM,YAAE,MAAM,GAAQ,CAAC,CAAC,CAAC,IAAI,EACvD,KAAC,UAAU,IACT,UAAU,QACV,8BAA8B,EAAE,KAAK,EACrC,yBAAyB,EAAC,uBAAuB,EACjD,SAAS,EAAC,QAAQ,YAEjB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;oBAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,KAAK,SAAS,CAAC;oBACxC,OAAO,CACL,MAAC,SAAS,IAER,iBAAiB,EAAC,QAAQ,EAC1B,kBAAkB,EAAE,IAAI,CAAC,KAAK,EAC9B,kBAAkB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,EACnE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,GAAG,EAAE,CAAC,YAAY,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,EAC7C,SAAS,EAAE,EAAE,CACX,gDAAgD,EAChD,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,EACrC,IAAI,CAAC,QAAQ,IAAI,YAAY,CAC9B,aAED,KAAC,IAAI,IAAC,SAAS,EAAC,qCAAqC,YAAE,IAAI,CAAC,IAAI,GAAQ,EACxE,KAAC,IAAI,IACH,SAAS,EAAC,uDAAuD,EACjE,aAAa,EAAE,CAAC,YAEf,IAAI,CAAC,KAAK,GACN,KAlBF,IAAI,CAAC,GAAG,CAmBH,CACb,CAAC;gBACJ,CAAC,CAAC,GACS,EACZ,MAAM,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,SAAS,EAAC,MAAM,YAAE,MAAM,GAAQ,CAAC,CAAC,CAAC,IAAI,IAClD,CACR,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,WAAW,GAAG,WAAW,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Input (web variant — React DOM).
3
+ *
4
+ * Native variant lives at `Input.native.tsx`; bundlers pick it via the
5
+ * `react-native` export condition in package.json.
6
+ *
7
+ * Universal contract:
8
+ * - Same prop API on both platforms.
9
+ * - Variants & sizes from `inputVariants` (cva).
10
+ * - className accepted and forwarded.
11
+ * - forwardRef to the underlying input element.
12
+ * - WCAG 2.1 AA:
13
+ * - `aria-invalid` driven by `invalid` prop.
14
+ * - `aria-required` driven by `required` prop.
15
+ * - `aria-describedby` accepted by consumer (point at an error
16
+ * message element they render below the input).
17
+ * - Focus-visible ring (uses the same `ring`/`ring-offset` tokens
18
+ * as Button so the system feels consistent).
19
+ * - 48px touch target on `lg` size.
20
+ *
21
+ * Wiki: docs/components/Input.md
22
+ */
23
+ import { type InputHTMLAttributes, type ReactNode } from 'react';
24
+ import { type VariantProps } from 'class-variance-authority';
25
+ export declare const inputVariants: (props?: ({
26
+ variant?: "default" | "destructive" | null | undefined;
27
+ size?: "sm" | "md" | "lg" | null | undefined;
28
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
29
+ type WrapperVariantProps = VariantProps<typeof inputVariants>;
30
+ export interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'size'> {
31
+ /** Visual + a11y variant. `destructive` mirrors `invalid={true}` and is preferred. */
32
+ variant?: WrapperVariantProps['variant'];
33
+ /** Height + horizontal padding. `lg` gives a 48px touch target. */
34
+ size?: WrapperVariantProps['size'];
35
+ /**
36
+ * Marks the input as invalid (sets `aria-invalid` and applies the
37
+ * destructive variant unless `variant` is set explicitly). Prefer
38
+ * this over manually toggling `variant`.
39
+ */
40
+ invalid?: boolean;
41
+ /** Wrapper className. To style the input element itself, use `inputClassName`. */
42
+ className?: string;
43
+ /** Forwarded to the underlying `<input>` for inner-only styling. */
44
+ inputClassName?: string;
45
+ /** Optional icon rendered before the input (e.g., search glyph). */
46
+ leadingIcon?: ReactNode;
47
+ /** Optional icon/element rendered after the input (e.g., clear button). */
48
+ trailingIcon?: ReactNode;
49
+ }
50
+ export declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<HTMLInputElement>>;
51
+ export {};
52
+ //# sourceMappingURL=Input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../src/Input.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAc,KAAK,mBAAmB,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,aAAa;;;8EAyBzB,CAAC;AAEF,KAAK,mBAAmB,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAE9D,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC3D,sFAAsF;IACtF,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACzC,mEAAmE;IACnE,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACnC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,oEAAoE;IACpE,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,SAAS,CAAC;CAC1B;AAED,eAAO,MAAM,KAAK,yGAoDhB,CAAC"}
package/dist/Input.js ADDED
@@ -0,0 +1,57 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * Input (web variant — React DOM).
5
+ *
6
+ * Native variant lives at `Input.native.tsx`; bundlers pick it via the
7
+ * `react-native` export condition in package.json.
8
+ *
9
+ * Universal contract:
10
+ * - Same prop API on both platforms.
11
+ * - Variants & sizes from `inputVariants` (cva).
12
+ * - className accepted and forwarded.
13
+ * - forwardRef to the underlying input element.
14
+ * - WCAG 2.1 AA:
15
+ * - `aria-invalid` driven by `invalid` prop.
16
+ * - `aria-required` driven by `required` prop.
17
+ * - `aria-describedby` accepted by consumer (point at an error
18
+ * message element they render below the input).
19
+ * - Focus-visible ring (uses the same `ring`/`ring-offset` tokens
20
+ * as Button so the system feels consistent).
21
+ * - 48px touch target on `lg` size.
22
+ *
23
+ * Wiki: docs/components/Input.md
24
+ */
25
+ import { forwardRef } from 'react';
26
+ import { cva } from 'class-variance-authority';
27
+ import { cn } from './internal/cn.js';
28
+ export const inputVariants = cva('flex w-full items-center gap-2 rounded-lg border bg-card text-foreground shadow-mi-input ' +
29
+ 'transition-colors duration-150 ' +
30
+ 'focus-within:outline-none focus-within:border-primary ' +
31
+ 'has-[input:disabled]:opacity-50 has-[input:disabled]:cursor-not-allowed', {
32
+ variants: {
33
+ variant: {
34
+ default: 'border-border placeholder:text-muted-foreground',
35
+ destructive: 'border-destructive text-destructive placeholder:text-destructive/70 ' +
36
+ 'focus-within:border-destructive',
37
+ },
38
+ size: {
39
+ sm: 'h-9 px-3 text-body-sm',
40
+ md: 'h-10 px-3.5 text-body-sm',
41
+ lg: 'h-12 px-4 text-body-sm',
42
+ },
43
+ },
44
+ defaultVariants: {
45
+ variant: 'default',
46
+ size: 'md',
47
+ },
48
+ });
49
+ export const Input = forwardRef(function Input({ className, inputClassName, variant, size, invalid, leadingIcon, trailingIcon, type = 'text', required, disabled, 'aria-invalid': ariaInvalidProp, ...props }, ref) {
50
+ // Single source of truth: `invalid` drives both styling and ARIA.
51
+ const isInvalid = ariaInvalidProp ?? invalid;
52
+ const resolvedVariant = variant ?? (isInvalid ? 'destructive' : 'default');
53
+ return (_jsxs("span", { className: cn(inputVariants({ variant: resolvedVariant, size }), className), children: [leadingIcon ? (_jsx("span", { "aria-hidden": true, className: "text-muted-foreground shrink-0", children: leadingIcon })) : null, _jsx("input", { ref: ref, type: type, required: required, disabled: disabled, "aria-invalid": isInvalid || undefined, "aria-required": required || undefined, className: cn('min-w-0 flex-1 bg-transparent outline-none ' +
54
+ 'disabled:cursor-not-allowed ' +
55
+ 'placeholder:text-inherit/70', inputClassName), ...props }), trailingIcon ? (_jsx("span", { "aria-hidden": true, className: "text-muted-foreground shrink-0", children: trailingIcon })) : null] }));
56
+ });
57
+ //# sourceMappingURL=Input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.js","sourceRoot":"","sources":["../src/Input.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,OAAO,EAAE,UAAU,EAA4C,MAAM,OAAO,CAAC;AAC7E,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,2FAA2F;IACzF,iCAAiC;IACjC,wDAAwD;IACxD,yEAAyE,EAC3E;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EACL,iDAAiD;YACnD,WAAW,EACT,sEAAsE;gBACpE,iCAAiC;SACtC;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,uBAAuB;YAC3B,EAAE,EAAE,0BAA0B;YAC9B,EAAE,EAAE,wBAAwB;SAC7B;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,IAAI;KACX;CACF,CACF,CAAC;AA0BF,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAA+B,SAAS,KAAK,CAC1E,EACE,SAAS,EACT,cAAc,EACd,OAAO,EACP,IAAI,EACJ,OAAO,EACP,WAAW,EACX,YAAY,EACZ,IAAI,GAAG,MAAM,EACb,QAAQ,EACR,QAAQ,EACR,cAAc,EAAE,eAAe,EAC/B,GAAG,KAAK,EACT,EACD,GAAG;IAEH,kEAAkE;IAClE,MAAM,SAAS,GAAG,eAAe,IAAI,OAAO,CAAC;IAC7C,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAE3E,OAAO,CACL,gBACE,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,aAE1E,WAAW,CAAC,CAAC,CAAC,CACb,oCAAkB,SAAS,EAAC,gCAAgC,YACzD,WAAW,GACP,CACR,CAAC,CAAC,CAAC,IAAI,EACR,gBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,kBACJ,SAAS,IAAI,SAAS,mBACrB,QAAQ,IAAI,SAAS,EACpC,SAAS,EAAE,EAAE,CACX,6CAA6C;oBAC3C,8BAA8B;oBAC9B,6BAA6B,EAC/B,cAAc,CACf,KACG,KAAK,GACT,EACD,YAAY,CAAC,CAAC,CAAC,CACd,oCAAkB,SAAS,EAAC,gCAAgC,YACzD,YAAY,GACR,CACR,CAAC,CAAC,CAAC,IAAI,IACH,CACR,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Input (React Native variant).
3
+ *
4
+ * Selected by the `react-native` export condition in package.json.
5
+ * Same prop API as the web variant.
6
+ *
7
+ * Wiki: docs/components/Input.md
8
+ */
9
+ import { type ReactNode } from 'react';
10
+ import { TextInput, type TextInputProps } from 'react-native';
11
+ import { type VariantProps } from 'class-variance-authority';
12
+ export declare const inputVariants: (props?: ({
13
+ variant?: "default" | "destructive" | null | undefined;
14
+ size?: "sm" | "md" | "lg" | null | undefined;
15
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
16
+ type WrapperVariantProps = VariantProps<typeof inputVariants>;
17
+ export interface InputProps extends Omit<TextInputProps, 'style'> {
18
+ /** Visual + a11y variant. `destructive` mirrors `invalid={true}`. */
19
+ variant?: WrapperVariantProps['variant'];
20
+ /** Height + horizontal padding. `lg` gives a 48px touch target. */
21
+ size?: WrapperVariantProps['size'];
22
+ /** Marks the input as invalid (drives destructive style; pair with visible error text). */
23
+ invalid?: boolean;
24
+ /** Wrapper className. */
25
+ className?: string;
26
+ /** Forwarded to the underlying `<TextInput>`. */
27
+ inputClassName?: string;
28
+ /** Optional icon rendered before the input. */
29
+ leadingIcon?: ReactNode;
30
+ /** Optional icon/element rendered after the input. */
31
+ trailingIcon?: ReactNode;
32
+ /** Forwarded as the input's accessibilityLabel for screen readers. */
33
+ accessibilityLabel?: string;
34
+ }
35
+ export declare const Input: import("react").ForwardRefExoticComponent<InputProps & import("react").RefAttributes<TextInput>>;
36
+ export {};
37
+ //# sourceMappingURL=Input.native.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.native.d.ts","sourceRoot":"","sources":["../src/Input.native.tsx"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAQ,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AACpE,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGlE,eAAO,MAAM,aAAa;;;8EAmBzB,CAAC;AAEF,KAAK,mBAAmB,GAAG,YAAY,CAAC,OAAO,aAAa,CAAC,CAAC;AAE9D,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,cAAc,EAAE,OAAO,CAAC;IACrC,qEAAqE;IACrE,OAAO,CAAC,EAAE,mBAAmB,CAAC,SAAS,CAAC,CAAC;IACzC,mEAAmE;IACnE,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,CAAC,CAAC;IACnC,2FAA2F;IAC3F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yBAAyB;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,sDAAsD;IACtD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,sEAAsE;IACtE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,KAAK,kGA0ChB,CAAC"}
@@ -0,0 +1,39 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Input (React Native variant).
4
+ *
5
+ * Selected by the `react-native` export condition in package.json.
6
+ * Same prop API as the web variant.
7
+ *
8
+ * Wiki: docs/components/Input.md
9
+ */
10
+ import { forwardRef } from 'react';
11
+ import { TextInput, View } from 'react-native';
12
+ import { cva } from 'class-variance-authority';
13
+ import { cn } from './internal/cn.js';
14
+ export const inputVariants = cva('flex-row items-center rounded-lg border bg-card shadow-mi-input', {
15
+ variants: {
16
+ variant: {
17
+ default: 'border-border',
18
+ destructive: 'border-destructive',
19
+ },
20
+ size: {
21
+ sm: 'h-9 px-3',
22
+ md: 'h-10 px-3.5',
23
+ lg: 'h-12 px-4',
24
+ },
25
+ },
26
+ defaultVariants: {
27
+ variant: 'default',
28
+ size: 'md',
29
+ },
30
+ });
31
+ export const Input = forwardRef(function Input({ className, inputClassName, variant, size, invalid, leadingIcon, trailingIcon, editable, accessibilityLabel, accessibilityState, ...props }, ref) {
32
+ const isDisabled = editable === false;
33
+ const resolvedVariant = variant ?? (invalid ? 'destructive' : 'default');
34
+ return (_jsxs(View, { className: cn(inputVariants({ variant: resolvedVariant, size }), isDisabled && 'opacity-50', className), children: [leadingIcon ? _jsx(View, { accessibilityElementsHidden: true, children: leadingIcon }) : null, _jsx(TextInput, { ref: ref, editable: editable, accessibilityLabel: accessibilityLabel, accessibilityState: {
35
+ disabled: !!isDisabled,
36
+ ...accessibilityState,
37
+ }, className: cn('flex-1 text-foreground', inputClassName), ...props }), trailingIcon ? _jsx(View, { accessibilityElementsHidden: true, children: trailingIcon }) : null] }));
38
+ });
39
+ //# sourceMappingURL=Input.native.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Input.native.js","sourceRoot":"","sources":["../src/Input.native.tsx"],"names":[],"mappings":";AAAA;;;;;;;GAOG;AACH,OAAO,EAAE,UAAU,EAAkB,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,IAAI,EAAuB,MAAM,cAAc,CAAC;AACpE,OAAO,EAAE,GAAG,EAAqB,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,CAC9B,iEAAiE,EACjE;IACE,QAAQ,EAAE;QACR,OAAO,EAAE;YACP,OAAO,EAAE,eAAe;YACxB,WAAW,EAAE,oBAAoB;SAClC;QACD,IAAI,EAAE;YACJ,EAAE,EAAE,UAAU;YACd,EAAE,EAAE,aAAa;YACjB,EAAE,EAAE,WAAW;SAChB;KACF;IACD,eAAe,EAAE;QACf,OAAO,EAAE,SAAS;QAClB,IAAI,EAAE,IAAI;KACX;CACF,CACF,CAAC;AAwBF,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,CAAwB,SAAS,KAAK,CACnE,EACE,SAAS,EACT,cAAc,EACd,OAAO,EACP,IAAI,EACJ,OAAO,EACP,WAAW,EACX,YAAY,EACZ,QAAQ,EACR,kBAAkB,EAClB,kBAAkB,EAClB,GAAG,KAAK,EACT,EACD,GAAG;IAEH,MAAM,UAAU,GAAG,QAAQ,KAAK,KAAK,CAAC;IACtC,MAAM,eAAe,GAAG,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAEzE,OAAO,CACL,MAAC,IAAI,IACH,SAAS,EAAE,EAAE,CACX,aAAa,CAAC,EAAE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EACjD,UAAU,IAAI,YAAY,EAC1B,SAAS,CACV,aAEA,WAAW,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,2BAA2B,kBAAE,WAAW,GAAQ,CAAC,CAAC,CAAC,IAAI,EAC5E,KAAC,SAAS,IACR,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,kBAAkB,EACtC,kBAAkB,EAAE;oBAClB,QAAQ,EAAE,CAAC,CAAC,UAAU;oBACtB,GAAG,kBAAkB;iBACtB,EACD,SAAS,EAAE,EAAE,CAAC,wBAAwB,EAAE,cAAc,CAAC,KACnD,KAAK,GACT,EACD,YAAY,CAAC,CAAC,CAAC,KAAC,IAAI,IAAC,2BAA2B,kBAAE,YAAY,GAAQ,CAAC,CAAC,CAAC,IAAI,IACzE,CACR,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * InputOTP (web variant — React DOM).
3
+ *
4
+ * One-time password / verification code input powered by `input-otp`.
5
+ *
6
+ * <InputOTP maxLength={6} value={value} onChange={setValue}>
7
+ * <InputOTPGroup>
8
+ * <InputOTPSlot index={0} />
9
+ * <InputOTPSlot index={1} />
10
+ * <InputOTPSlot index={2} />
11
+ * </InputOTPGroup>
12
+ * <InputOTPSeparator />
13
+ * <InputOTPGroup>
14
+ * <InputOTPSlot index={3} />
15
+ * <InputOTPSlot index={4} />
16
+ * <InputOTPSlot index={5} />
17
+ * </InputOTPGroup>
18
+ * </InputOTP>
19
+ *
20
+ * Wiki: docs/components/InputOTP.md
21
+ */
22
+ import { type ComponentPropsWithoutRef } from 'react';
23
+ export declare const InputOTP: import("react").ForwardRefExoticComponent<ComponentPropsWithoutRef<import("react").ForwardRefExoticComponent<import("input-otp").OTPInputProps & import("react").RefAttributes<HTMLInputElement>>> & import("react").RefAttributes<HTMLInputElement>>;
24
+ export declare const InputOTPGroup: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
25
+ export interface InputOTPSlotProps extends ComponentPropsWithoutRef<'div'> {
26
+ index: number;
27
+ }
28
+ export declare const InputOTPSlot: import("react").ForwardRefExoticComponent<InputOTPSlotProps & import("react").RefAttributes<HTMLDivElement>>;
29
+ export declare const InputOTPSeparator: import("react").ForwardRefExoticComponent<Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
30
+ //# sourceMappingURL=InputOTP.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputOTP.d.ts","sourceRoot":"","sources":["../src/InputOTP.tsx"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAGL,KAAK,wBAAwB,EAE9B,MAAM,OAAO,CAAC;AAMf,eAAO,MAAM,QAAQ,uPAenB,CAAC;AAIH,eAAO,MAAM,aAAa,2MAWxB,CAAC;AAIH,MAAM,WAAW,iBAAkB,SAAQ,wBAAwB,CAAC,KAAK,CAAC;IACxE,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,YAAY,8GA+BxB,CAAC;AAIF,eAAO,MAAM,iBAAiB,2MAW5B,CAAC"}
@@ -0,0 +1,47 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ /**
4
+ * InputOTP (web variant — React DOM).
5
+ *
6
+ * One-time password / verification code input powered by `input-otp`.
7
+ *
8
+ * <InputOTP maxLength={6} value={value} onChange={setValue}>
9
+ * <InputOTPGroup>
10
+ * <InputOTPSlot index={0} />
11
+ * <InputOTPSlot index={1} />
12
+ * <InputOTPSlot index={2} />
13
+ * </InputOTPGroup>
14
+ * <InputOTPSeparator />
15
+ * <InputOTPGroup>
16
+ * <InputOTPSlot index={3} />
17
+ * <InputOTPSlot index={4} />
18
+ * <InputOTPSlot index={5} />
19
+ * </InputOTPGroup>
20
+ * </InputOTP>
21
+ *
22
+ * Wiki: docs/components/InputOTP.md
23
+ */
24
+ import { forwardRef, useContext, } from 'react';
25
+ import { OTPInput, OTPInputContext } from 'input-otp';
26
+ import { cn } from './internal/cn.js';
27
+ /* ── Root ──────────────────────────────────────────────────────────── */
28
+ export const InputOTP = forwardRef(function InputOTP({ className, containerClassName, ...props }, ref) {
29
+ return (_jsx(OTPInput, { ref: ref, containerClassName: cn('flex items-center gap-2 has-[:disabled]:opacity-50', containerClassName), className: cn('disabled:cursor-not-allowed', className), ...props }));
30
+ });
31
+ /* ── Group ─────────────────────────────────────────────────────────── */
32
+ export const InputOTPGroup = forwardRef(function InputOTPGroup({ className, ...props }, ref) {
33
+ return (_jsx("div", { ref: ref, className: cn('flex items-center', className), ...props }));
34
+ });
35
+ export const InputOTPSlot = forwardRef(function InputOTPSlot({ index, className, ...props }, ref) {
36
+ const inputOTPContext = useContext(OTPInputContext);
37
+ const slot = inputOTPContext.slots[index];
38
+ if (!slot)
39
+ return null;
40
+ const { char, hasFakeCaret, isActive } = slot;
41
+ return (_jsxs("div", { ref: ref, className: cn('relative flex h-10 w-10 items-center justify-center', 'border-y border-r border-border text-body-sm', 'transition-all duration-150', 'first:rounded-l-lg first:border-l last:rounded-r-lg', isActive && 'z-10 ring-2 ring-ring ring-offset-background', className), ...props, children: [char, hasFakeCaret && (_jsx("div", { className: "pointer-events-none absolute inset-0 flex items-center justify-center", children: _jsx("div", { className: "h-4 w-px animate-caret-blink bg-foreground duration-1000" }) }))] }));
42
+ });
43
+ /* ── Separator ────────────────────────────────────────────────────── */
44
+ export const InputOTPSeparator = forwardRef(function InputOTPSeparator({ ...props }, ref) {
45
+ return (_jsx("div", { ref: ref, role: "separator", ...props, children: _jsx("svg", { "aria-hidden": "true", viewBox: "0 0 16 16", fill: "none", stroke: "currentColor", strokeWidth: 2, className: "h-4 w-4 text-muted-foreground", children: _jsx("path", { strokeLinecap: "round", d: "M5 8h6" }) }) }));
46
+ });
47
+ //# sourceMappingURL=InputOTP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputOTP.js","sourceRoot":"","sources":["../src/InputOTP.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EACL,UAAU,EACV,UAAU,GAGX,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAEtC,0EAA0E;AAE1E,MAAM,CAAC,MAAM,QAAQ,GAAG,UAAU,CAGhC,SAAS,QAAQ,CAAC,EAAE,SAAS,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IAClE,OAAO,CACL,KAAC,QAAQ,IACP,GAAG,EAAE,GAAG,EACR,kBAAkB,EAAE,EAAE,CACpB,oDAAoD,EACpD,kBAAkB,CACnB,EACD,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,SAAS,CAAC,KACnD,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,0EAA0E;AAE1E,MAAM,CAAC,MAAM,aAAa,GAAG,UAAU,CAGrC,SAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IACnD,OAAO,CACL,cACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CAAC,mBAAmB,EAAE,SAAS,CAAC,KACzC,KAAK,GACT,CACH,CAAC;AACJ,CAAC,CAAC,CAAC;AAQH,MAAM,CAAC,MAAM,YAAY,GAAG,UAAU,CACpC,SAAS,YAAY,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IACvD,MAAM,eAAe,GAAG,UAAU,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE1C,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IAE9C,OAAO,CACL,eACE,GAAG,EAAE,GAAG,EACR,SAAS,EAAE,EAAE,CACX,qDAAqD,EACrD,8CAA8C,EAC9C,6BAA6B,EAC7B,qDAAqD,EACrD,QAAQ,IAAI,8CAA8C,EAC1D,SAAS,CACV,KACG,KAAK,aAER,IAAI,EACJ,YAAY,IAAI,CACf,cAAK,SAAS,EAAC,uEAAuE,YACpF,cAAK,SAAS,EAAC,0DAA0D,GAAG,GACxE,CACP,IACG,CACP,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,yEAAyE;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAAG,UAAU,CAGzC,SAAS,iBAAiB,CAAC,EAAE,GAAG,KAAK,EAAE,EAAE,GAAG;IAC5C,OAAO,CACL,cAAK,GAAG,EAAE,GAAG,EAAE,IAAI,EAAC,WAAW,KAAK,KAAK,YACvC,6BAAiB,MAAM,EAAC,OAAO,EAAC,WAAW,EAAC,IAAI,EAAC,MAAM,EAAC,MAAM,EAAC,cAAc,EAAC,WAAW,EAAE,CAAC,EAAE,SAAS,EAAC,+BAA+B,YACrI,eAAM,aAAa,EAAC,OAAO,EAAC,CAAC,EAAC,QAAQ,GAAG,GACrC,GACF,CACP,CAAC;AACJ,CAAC,CAAC,CAAC"}