@bigbinary/neeto-atoms 1.0.5 → 1.0.7

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 (503) hide show
  1. package/dist/DataTable-Y4POx0WN.js +3737 -0
  2. package/dist/DataTable-Y4POx0WN.js.map +1 -0
  3. package/dist/button-COIbN8dg.js +40 -0
  4. package/dist/button-COIbN8dg.js.map +1 -0
  5. package/dist/check-Cpkv29p1.js +15 -0
  6. package/dist/check-Cpkv29p1.js.map +1 -0
  7. package/dist/chevron-down-BNi0ntys.js +15 -0
  8. package/dist/chevron-down-BNi0ntys.js.map +1 -0
  9. package/dist/chevron-left-BDoT8E2-.js +15 -0
  10. package/dist/chevron-left-BDoT8E2-.js.map +1 -0
  11. package/dist/chevron-right-DQnrO-ek.js +15 -0
  12. package/dist/chevron-right-DQnrO-ek.js.map +1 -0
  13. package/dist/chevron-up-Bf2G3AAU.js +15 -0
  14. package/dist/chevron-up-Bf2G3AAU.js.map +1 -0
  15. package/dist/cjs/DataTable-DJw2SZ7b.js +3764 -0
  16. package/dist/cjs/DataTable-DJw2SZ7b.js.map +1 -0
  17. package/dist/cjs/button-B8XGl69v.js +63 -0
  18. package/dist/cjs/button-B8XGl69v.js.map +1 -0
  19. package/dist/cjs/check-BQgcDXys.js +17 -0
  20. package/dist/cjs/check-BQgcDXys.js.map +1 -0
  21. package/dist/cjs/chevron-down-CPsWSS51.js +17 -0
  22. package/dist/cjs/chevron-down-CPsWSS51.js.map +1 -0
  23. package/dist/cjs/chevron-left-BldoOh5p.js +17 -0
  24. package/dist/cjs/chevron-left-BldoOh5p.js.map +1 -0
  25. package/dist/cjs/chevron-right-0jNdwX2Q.js +17 -0
  26. package/dist/cjs/chevron-right-0jNdwX2Q.js.map +1 -0
  27. package/dist/cjs/chevron-up-BpwpBnZU.js +17 -0
  28. package/dist/cjs/chevron-up-BpwpBnZU.js.map +1 -0
  29. package/dist/cjs/components/DataTable.js +53 -0
  30. package/dist/cjs/components/DataTable.js.map +1 -0
  31. package/dist/cjs/createLucideIcon-D0tRgV6l.js +149 -0
  32. package/dist/cjs/createLucideIcon-D0tRgV6l.js.map +1 -0
  33. package/dist/cjs/dialog-DzNWLbJ6.js +50 -0
  34. package/dist/cjs/dialog-DzNWLbJ6.js.map +1 -0
  35. package/dist/cjs/ellipsis-4aubOI2n.js +21 -0
  36. package/dist/cjs/ellipsis-4aubOI2n.js.map +1 -0
  37. package/dist/cjs/floating-ui.react-dom-B4Aw6O7R.js +2293 -0
  38. package/dist/cjs/floating-ui.react-dom-B4Aw6O7R.js.map +1 -0
  39. package/dist/cjs/index-9jC1advf.js +34 -0
  40. package/dist/cjs/index-9jC1advf.js.map +1 -0
  41. package/dist/cjs/index-BZhTddX0.js +47 -0
  42. package/dist/cjs/index-BZhTddX0.js.map +1 -0
  43. package/dist/cjs/index-Bf0WsHta.js +63 -0
  44. package/dist/cjs/index-Bf0WsHta.js.map +1 -0
  45. package/dist/cjs/index-BqCr1H3u.js +173 -0
  46. package/dist/cjs/index-BqCr1H3u.js.map +1 -0
  47. package/dist/cjs/index-BrpkRQoS.js +99 -0
  48. package/dist/cjs/index-BrpkRQoS.js.map +1 -0
  49. package/dist/cjs/index-Bvu9MiFi.js +247 -0
  50. package/dist/cjs/index-Bvu9MiFi.js.map +1 -0
  51. package/dist/cjs/index-BwAq9ba8.js +38 -0
  52. package/dist/cjs/index-BwAq9ba8.js.map +1 -0
  53. package/dist/cjs/index-C9ICrOhM.js +328 -0
  54. package/dist/cjs/index-C9ICrOhM.js.map +1 -0
  55. package/dist/cjs/index-CB9xFokC.js +59 -0
  56. package/dist/cjs/index-CB9xFokC.js.map +1 -0
  57. package/dist/cjs/index-CCdG4z4E.js +30 -0
  58. package/dist/cjs/index-CCdG4z4E.js.map +1 -0
  59. package/dist/cjs/index-CF951Pw9.js +38 -0
  60. package/dist/cjs/index-CF951Pw9.js.map +1 -0
  61. package/dist/cjs/index-CGUGhyIp.js +103 -0
  62. package/dist/cjs/index-CGUGhyIp.js.map +1 -0
  63. package/dist/cjs/index-CGet1HH4.js +953 -0
  64. package/dist/cjs/index-CGet1HH4.js.map +1 -0
  65. package/dist/cjs/index-COPkC3I5.js +14 -0
  66. package/dist/cjs/index-COPkC3I5.js.map +1 -0
  67. package/dist/cjs/index-Ch55j1or.js +176 -0
  68. package/dist/cjs/index-Ch55j1or.js.map +1 -0
  69. package/dist/cjs/index-ChSOMM8b.js +1153 -0
  70. package/dist/cjs/index-ChSOMM8b.js.map +1 -0
  71. package/dist/cjs/index-CyrAgb4H.js +93 -0
  72. package/dist/cjs/index-CyrAgb4H.js.map +1 -0
  73. package/dist/cjs/index-D-iDn9RI.js +63 -0
  74. package/dist/cjs/index-D-iDn9RI.js.map +1 -0
  75. package/dist/cjs/index-DAds6mf_.js +433 -0
  76. package/dist/cjs/index-DAds6mf_.js.map +1 -0
  77. package/dist/cjs/index-DMbj7vXd.js +152 -0
  78. package/dist/cjs/index-DMbj7vXd.js.map +1 -0
  79. package/dist/cjs/index-DR7GJU4J.js +248 -0
  80. package/dist/cjs/index-DR7GJU4J.js.map +1 -0
  81. package/dist/cjs/index-DcCSSgb7.js +153 -0
  82. package/dist/cjs/index-DcCSSgb7.js.map +1 -0
  83. package/dist/cjs/index-Df-Ffa3s.js +43 -0
  84. package/dist/cjs/index-Df-Ffa3s.js.map +1 -0
  85. package/dist/cjs/index-DnKJmaCq.js +8 -0
  86. package/dist/cjs/index-DnKJmaCq.js.map +1 -0
  87. package/dist/cjs/index-DuNgWCXZ.js +113 -0
  88. package/dist/cjs/index-DuNgWCXZ.js.map +1 -0
  89. package/dist/cjs/index-EyWRfsCG.js +9 -0
  90. package/dist/cjs/index-EyWRfsCG.js.map +1 -0
  91. package/dist/cjs/index-lWVw05cs.js +35 -0
  92. package/dist/cjs/index-lWVw05cs.js.map +1 -0
  93. package/dist/cjs/index.js +53 -66849
  94. package/dist/cjs/index.js.map +1 -1
  95. package/dist/cjs/input-CgKPISj_.js +11 -0
  96. package/dist/cjs/input-CgKPISj_.js.map +1 -0
  97. package/dist/cjs/input-group-DoK0-4fL.js +66 -0
  98. package/dist/cjs/input-group-DoK0-4fL.js.map +1 -0
  99. package/dist/cjs/label-Bdc9ytTI.js +52 -0
  100. package/dist/cjs/label-Bdc9ytTI.js.map +1 -0
  101. package/dist/cjs/loader-circle-Bw7zP2Gn.js +17 -0
  102. package/dist/cjs/loader-circle-Bw7zP2Gn.js.map +1 -0
  103. package/dist/cjs/primitives/Accordion.js +340 -0
  104. package/dist/cjs/primitives/Accordion.js.map +1 -0
  105. package/dist/cjs/primitives/Alert.js +40 -0
  106. package/dist/cjs/primitives/Alert.js.map +1 -0
  107. package/dist/cjs/primitives/AlertDialog.js +256 -0
  108. package/dist/cjs/primitives/AlertDialog.js.map +1 -0
  109. package/dist/cjs/primitives/AspectRatio.js +75 -0
  110. package/dist/cjs/primitives/AspectRatio.js.map +1 -0
  111. package/dist/cjs/primitives/Avatar.js +189 -0
  112. package/dist/cjs/primitives/Avatar.js.map +1 -0
  113. package/dist/cjs/primitives/Badge.js +34 -0
  114. package/dist/cjs/primitives/Badge.js.map +1 -0
  115. package/dist/cjs/primitives/Breadcrumb.js +50 -0
  116. package/dist/cjs/primitives/Breadcrumb.js.map +1 -0
  117. package/dist/cjs/primitives/Button.js +16 -0
  118. package/dist/cjs/primitives/Button.js.map +1 -0
  119. package/dist/cjs/primitives/ButtonGroup.js +43 -0
  120. package/dist/cjs/primitives/ButtonGroup.js.map +1 -0
  121. package/dist/cjs/primitives/Calendar.js +8030 -0
  122. package/dist/cjs/primitives/Calendar.js.map +1 -0
  123. package/dist/cjs/primitives/Card.js +43 -0
  124. package/dist/cjs/primitives/Card.js.map +1 -0
  125. package/dist/cjs/primitives/Carousel.js +1867 -0
  126. package/dist/cjs/primitives/Carousel.js.map +1 -0
  127. package/dist/cjs/primitives/Chart.js +18787 -0
  128. package/dist/cjs/primitives/Chart.js.map +1 -0
  129. package/dist/cjs/primitives/Checkbox.js +304 -0
  130. package/dist/cjs/primitives/Checkbox.js.map +1 -0
  131. package/dist/cjs/primitives/Collapsible.js +33 -0
  132. package/dist/cjs/primitives/Collapsible.js.map +1 -0
  133. package/dist/cjs/primitives/Combobox.js +10288 -0
  134. package/dist/cjs/primitives/Combobox.js.map +1 -0
  135. package/dist/cjs/primitives/Command.js +248 -0
  136. package/dist/cjs/primitives/Command.js.map +1 -0
  137. package/dist/cjs/primitives/ContextMenu.js +404 -0
  138. package/dist/cjs/primitives/ContextMenu.js.map +1 -0
  139. package/dist/cjs/primitives/Dialog.js +48 -0
  140. package/dist/cjs/primitives/Dialog.js.map +1 -0
  141. package/dist/cjs/primitives/Drawer.js +1715 -0
  142. package/dist/cjs/primitives/Drawer.js.map +1 -0
  143. package/dist/cjs/primitives/DropdownMenu.js +383 -0
  144. package/dist/cjs/primitives/DropdownMenu.js.map +1 -0
  145. package/dist/cjs/primitives/Empty.js +50 -0
  146. package/dist/cjs/primitives/Empty.js.map +1 -0
  147. package/dist/cjs/primitives/Field.js +95 -0
  148. package/dist/cjs/primitives/Field.js.map +1 -0
  149. package/dist/cjs/primitives/HoverCard.js +291 -0
  150. package/dist/cjs/primitives/HoverCard.js.map +1 -0
  151. package/dist/cjs/primitives/Input.js +10 -0
  152. package/dist/cjs/primitives/Input.js.map +1 -0
  153. package/dist/cjs/primitives/InputGroup.js +27 -0
  154. package/dist/cjs/primitives/InputGroup.js.map +1 -0
  155. package/dist/cjs/primitives/InputOTP.js +84 -0
  156. package/dist/cjs/primitives/InputOTP.js.map +1 -0
  157. package/dist/cjs/primitives/Item.js +96 -0
  158. package/dist/cjs/primitives/Item.js.map +1 -0
  159. package/dist/cjs/primitives/Kbd.js +18 -0
  160. package/dist/cjs/primitives/Kbd.js.map +1 -0
  161. package/dist/cjs/primitives/Label.js +14 -0
  162. package/dist/cjs/primitives/Label.js.map +1 -0
  163. package/dist/cjs/primitives/Menubar.js +547 -0
  164. package/dist/cjs/primitives/Menubar.js.map +1 -0
  165. package/dist/cjs/primitives/NativeSelect.js +26 -0
  166. package/dist/cjs/primitives/NativeSelect.js.map +1 -0
  167. package/dist/cjs/primitives/NavigationMenu.js +856 -0
  168. package/dist/cjs/primitives/NavigationMenu.js.map +1 -0
  169. package/dist/cjs/primitives/Pagination.js +52 -0
  170. package/dist/cjs/primitives/Pagination.js.map +1 -0
  171. package/dist/cjs/primitives/Popover.js +444 -0
  172. package/dist/cjs/primitives/Popover.js.map +1 -0
  173. package/dist/cjs/primitives/Progress.js +125 -0
  174. package/dist/cjs/primitives/Progress.js.map +1 -0
  175. package/dist/cjs/primitives/RadioGroup.js +322 -0
  176. package/dist/cjs/primitives/RadioGroup.js.map +1 -0
  177. package/dist/cjs/primitives/Resizable.js +2051 -0
  178. package/dist/cjs/primitives/Resizable.js.map +1 -0
  179. package/dist/cjs/primitives/ScrollArea.js +754 -0
  180. package/dist/cjs/primitives/ScrollArea.js.map +1 -0
  181. package/dist/cjs/primitives/Select.js +1318 -0
  182. package/dist/cjs/primitives/Select.js.map +1 -0
  183. package/dist/cjs/primitives/Separator.js +14 -0
  184. package/dist/cjs/primitives/Separator.js.map +1 -0
  185. package/dist/cjs/primitives/Sheet.js +44 -0
  186. package/dist/cjs/primitives/Sheet.js.map +1 -0
  187. package/dist/cjs/primitives/Sidebar.js +310 -0
  188. package/dist/cjs/primitives/Sidebar.js.map +1 -0
  189. package/dist/cjs/primitives/Skeleton.js +10 -0
  190. package/dist/cjs/primitives/Skeleton.js.map +1 -0
  191. package/dist/cjs/primitives/Slider.js +591 -0
  192. package/dist/cjs/primitives/Slider.js.map +1 -0
  193. package/dist/cjs/primitives/Sonner.js +1260 -0
  194. package/dist/cjs/primitives/Sonner.js.map +1 -0
  195. package/dist/cjs/primitives/Spinner.js +16 -0
  196. package/dist/cjs/primitives/Spinner.js.map +1 -0
  197. package/dist/cjs/primitives/Switch.js +184 -0
  198. package/dist/cjs/primitives/Switch.js.map +1 -0
  199. package/dist/cjs/primitives/Table.js +45 -0
  200. package/dist/cjs/primitives/Table.js.map +1 -0
  201. package/dist/cjs/primitives/Tabs.js +250 -0
  202. package/dist/cjs/primitives/Tabs.js.map +1 -0
  203. package/dist/cjs/primitives/Textarea.js +10 -0
  204. package/dist/cjs/primitives/Textarea.js.map +1 -0
  205. package/dist/cjs/primitives/Toggle.js +19 -0
  206. package/dist/cjs/primitives/Toggle.js.map +1 -0
  207. package/dist/cjs/primitives/ToggleGroup.js +221 -0
  208. package/dist/cjs/primitives/ToggleGroup.js.map +1 -0
  209. package/dist/cjs/primitives/Tooltip.js +33 -0
  210. package/dist/cjs/primitives/Tooltip.js.map +1 -0
  211. package/dist/cjs/primitives/Typography.js +105 -0
  212. package/dist/cjs/primitives/Typography.js.map +1 -0
  213. package/dist/cjs/primitives/index.js +422 -0
  214. package/dist/cjs/primitives/index.js.map +1 -0
  215. package/dist/cjs/reselect-CeyIIDM-.js +457 -0
  216. package/dist/cjs/reselect-CeyIIDM-.js.map +1 -0
  217. package/dist/cjs/separator-CPy2gyg1.js +58 -0
  218. package/dist/cjs/separator-CPy2gyg1.js.map +1 -0
  219. package/dist/cjs/sheet-nHSYZxAA.js +48 -0
  220. package/dist/cjs/sheet-nHSYZxAA.js.map +1 -0
  221. package/dist/cjs/skeleton-DffZ8bV7.js +11 -0
  222. package/dist/cjs/skeleton-DffZ8bV7.js.map +1 -0
  223. package/dist/cjs/textarea-CZSSY75H.js +11 -0
  224. package/dist/cjs/textarea-CZSSY75H.js.map +1 -0
  225. package/dist/cjs/toggle-CaqzT8dI.js +84 -0
  226. package/dist/cjs/toggle-CaqzT8dI.js.map +1 -0
  227. package/dist/cjs/tooltip-CRkOMh1b.js +542 -0
  228. package/dist/cjs/tooltip-CRkOMh1b.js.map +1 -0
  229. package/dist/cjs/use-mobile-B-UYxtqX.js +41 -0
  230. package/dist/cjs/use-mobile-B-UYxtqX.js.map +1 -0
  231. package/dist/cjs/utils-CTr7wn5d.js +3210 -0
  232. package/dist/cjs/utils-CTr7wn5d.js.map +1 -0
  233. package/dist/cjs/x-Brw3FJst.js +20 -0
  234. package/dist/cjs/x-Brw3FJst.js.map +1 -0
  235. package/dist/components/DataTable/DataTable.d.ts +1 -1
  236. package/dist/components/DataTable/types.d.ts +0 -5
  237. package/dist/components/DataTable.js +41 -0
  238. package/dist/components/DataTable.js.map +1 -0
  239. package/dist/createLucideIcon-C8ycilSN.js +147 -0
  240. package/dist/createLucideIcon-C8ycilSN.js.map +1 -0
  241. package/dist/dialog-C97DOTvO.js +39 -0
  242. package/dist/dialog-C97DOTvO.js.map +1 -0
  243. package/dist/ellipsis-lb8Ws6br.js +19 -0
  244. package/dist/ellipsis-lb8Ws6br.js.map +1 -0
  245. package/dist/floating-ui.react-dom-CcGbtPEK.js +2243 -0
  246. package/dist/floating-ui.react-dom-CcGbtPEK.js.map +1 -0
  247. package/dist/index-0o2E3Cnw.js +146 -0
  248. package/dist/index-0o2E3Cnw.js.map +1 -0
  249. package/dist/index-30QpKM0j.js +16 -0
  250. package/dist/index-30QpKM0j.js.map +1 -0
  251. package/dist/index-B4_fVWDx.js +1129 -0
  252. package/dist/index-B4_fVWDx.js.map +1 -0
  253. package/dist/index-BA158WEj.js +12 -0
  254. package/dist/index-BA158WEj.js.map +1 -0
  255. package/dist/index-BNPynZWM.js +225 -0
  256. package/dist/index-BNPynZWM.js.map +1 -0
  257. package/dist/index-BYZaLNq1.js +41 -0
  258. package/dist/index-BYZaLNq1.js.map +1 -0
  259. package/dist/index-BfAAoDv6.js +7 -0
  260. package/dist/index-BfAAoDv6.js.map +1 -0
  261. package/dist/index-BtkPdosV.js +40 -0
  262. package/dist/index-BtkPdosV.js.map +1 -0
  263. package/dist/index-BwxI_qgh.js +915 -0
  264. package/dist/index-BwxI_qgh.js.map +1 -0
  265. package/dist/index-ByEpUy7w.js +302 -0
  266. package/dist/index-ByEpUy7w.js.map +1 -0
  267. package/dist/index-CSMSzzKM.js +93 -0
  268. package/dist/index-CSMSzzKM.js.map +1 -0
  269. package/dist/index-CSUSJzOJ.js +13 -0
  270. package/dist/index-CSUSJzOJ.js.map +1 -0
  271. package/dist/index-CSggBaQF.js +36 -0
  272. package/dist/index-CSggBaQF.js.map +1 -0
  273. package/dist/index-CfriMyrd.js +91 -0
  274. package/dist/index-CfriMyrd.js.map +1 -0
  275. package/dist/index-CiyxEyB0.js +80 -0
  276. package/dist/index-CiyxEyB0.js.map +1 -0
  277. package/dist/index-Cor698lu.js +71 -0
  278. package/dist/index-Cor698lu.js.map +1 -0
  279. package/dist/index-D7Zy7P05.js +45 -0
  280. package/dist/index-D7Zy7P05.js.map +1 -0
  281. package/dist/index-DNzunGHb.js +12 -0
  282. package/dist/index-DNzunGHb.js.map +1 -0
  283. package/dist/index-DOzu5J1s.js +8 -0
  284. package/dist/index-DOzu5J1s.js.map +1 -0
  285. package/dist/index-DZXbzIgC.js +6 -0
  286. package/dist/index-DZXbzIgC.js.map +1 -0
  287. package/dist/index-Dd1i1d2M.js +155 -0
  288. package/dist/index-Dd1i1d2M.js.map +1 -0
  289. package/dist/index-DhnfW8wQ.js +128 -0
  290. package/dist/index-DhnfW8wQ.js.map +1 -0
  291. package/dist/index-PF0ms7Xn.js +402 -0
  292. package/dist/index-PF0ms7Xn.js.map +1 -0
  293. package/dist/index-fV_U4ZJM.js +18 -0
  294. package/dist/index-fV_U4ZJM.js.map +1 -0
  295. package/dist/index-j_qxDBFl.js +224 -0
  296. package/dist/index-j_qxDBFl.js.map +1 -0
  297. package/dist/index-yFgkK_AM.js +131 -0
  298. package/dist/index-yFgkK_AM.js.map +1 -0
  299. package/dist/index-zW4GjM5L.js +16 -0
  300. package/dist/index-zW4GjM5L.js.map +1 -0
  301. package/dist/index.d.ts +0 -55
  302. package/dist/index.js +41 -66515
  303. package/dist/index.js.map +1 -1
  304. package/dist/input-GLCCE2kT.js +9 -0
  305. package/dist/input-GLCCE2kT.js.map +1 -0
  306. package/dist/input-group-CDBpz6Pb.js +59 -0
  307. package/dist/input-group-CDBpz6Pb.js.map +1 -0
  308. package/dist/label-B4qDF3W1.js +30 -0
  309. package/dist/label-B4qDF3W1.js.map +1 -0
  310. package/dist/loader-circle-DycHUAWN.js +15 -0
  311. package/dist/loader-circle-DycHUAWN.js.map +1 -0
  312. package/dist/primitives/Accordion.js +331 -0
  313. package/dist/primitives/Accordion.js.map +1 -0
  314. package/dist/primitives/Alert.js +35 -0
  315. package/dist/primitives/Alert.js.map +1 -0
  316. package/dist/primitives/AlertDialog.js +223 -0
  317. package/dist/primitives/AlertDialog.js.map +1 -0
  318. package/dist/primitives/AspectRatio.js +53 -0
  319. package/dist/primitives/AspectRatio.js.map +1 -0
  320. package/dist/primitives/Avatar.js +162 -0
  321. package/dist/primitives/Avatar.js.map +1 -0
  322. package/dist/primitives/Badge.js +31 -0
  323. package/dist/primitives/Badge.js.map +1 -0
  324. package/dist/primitives/Breadcrumb.js +42 -0
  325. package/dist/primitives/Breadcrumb.js.map +1 -0
  326. package/dist/{components → primitives}/Button.d.ts +1 -1
  327. package/dist/primitives/Button.js +14 -0
  328. package/dist/primitives/Button.js.map +1 -0
  329. package/dist/primitives/ButtonGroup.js +38 -0
  330. package/dist/primitives/ButtonGroup.js.map +1 -0
  331. package/dist/primitives/Calendar.js +8008 -0
  332. package/dist/primitives/Calendar.js.map +1 -0
  333. package/dist/primitives/Card.js +35 -0
  334. package/dist/primitives/Card.js.map +1 -0
  335. package/dist/{components → primitives}/Carousel.d.ts +1 -1
  336. package/dist/primitives/Carousel.js +1841 -0
  337. package/dist/primitives/Carousel.js.map +1 -0
  338. package/dist/primitives/Chart.js +18761 -0
  339. package/dist/primitives/Chart.js.map +1 -0
  340. package/dist/primitives/Checkbox.js +282 -0
  341. package/dist/primitives/Checkbox.js.map +1 -0
  342. package/dist/primitives/Collapsible.js +29 -0
  343. package/dist/primitives/Collapsible.js.map +1 -0
  344. package/dist/primitives/Combobox.js +10251 -0
  345. package/dist/primitives/Combobox.js.map +1 -0
  346. package/dist/primitives/Command.js +218 -0
  347. package/dist/primitives/Command.js.map +1 -0
  348. package/dist/primitives/ContextMenu.js +368 -0
  349. package/dist/primitives/ContextMenu.js.map +1 -0
  350. package/dist/primitives/Dialog.js +37 -0
  351. package/dist/primitives/Dialog.js.map +1 -0
  352. package/dist/primitives/Drawer.js +1685 -0
  353. package/dist/primitives/Drawer.js.map +1 -0
  354. package/dist/primitives/DropdownMenu.js +347 -0
  355. package/dist/primitives/DropdownMenu.js.map +1 -0
  356. package/dist/primitives/Empty.js +43 -0
  357. package/dist/primitives/Empty.js.map +1 -0
  358. package/dist/primitives/Field.js +84 -0
  359. package/dist/primitives/Field.js.map +1 -0
  360. package/dist/primitives/HoverCard.js +267 -0
  361. package/dist/primitives/HoverCard.js.map +1 -0
  362. package/dist/primitives/Input.js +8 -0
  363. package/dist/primitives/Input.js.map +1 -0
  364. package/dist/primitives/InputGroup.js +20 -0
  365. package/dist/primitives/InputGroup.js.map +1 -0
  366. package/dist/primitives/InputOTP.js +59 -0
  367. package/dist/primitives/InputOTP.js.map +1 -0
  368. package/dist/primitives/Item.js +85 -0
  369. package/dist/primitives/Item.js.map +1 -0
  370. package/dist/primitives/Kbd.js +15 -0
  371. package/dist/primitives/Kbd.js.map +1 -0
  372. package/dist/primitives/Label.js +12 -0
  373. package/dist/primitives/Label.js.map +1 -0
  374. package/dist/primitives/Menubar.js +510 -0
  375. package/dist/primitives/Menubar.js.map +1 -0
  376. package/dist/primitives/NativeSelect.js +22 -0
  377. package/dist/primitives/NativeSelect.js.map +1 -0
  378. package/dist/primitives/NavigationMenu.js +823 -0
  379. package/dist/primitives/NavigationMenu.js.map +1 -0
  380. package/dist/primitives/Pagination.js +44 -0
  381. package/dist/primitives/Pagination.js.map +1 -0
  382. package/dist/primitives/Popover.js +416 -0
  383. package/dist/primitives/Popover.js.map +1 -0
  384. package/dist/primitives/Progress.js +103 -0
  385. package/dist/primitives/Progress.js.map +1 -0
  386. package/dist/primitives/RadioGroup.js +299 -0
  387. package/dist/primitives/RadioGroup.js.map +1 -0
  388. package/dist/primitives/Resizable.js +2047 -0
  389. package/dist/primitives/Resizable.js.map +1 -0
  390. package/dist/primitives/ScrollArea.js +731 -0
  391. package/dist/primitives/ScrollArea.js.map +1 -0
  392. package/dist/primitives/Select.js +1286 -0
  393. package/dist/primitives/Select.js.map +1 -0
  394. package/dist/primitives/Separator.js +12 -0
  395. package/dist/primitives/Separator.js.map +1 -0
  396. package/dist/primitives/Sheet.js +35 -0
  397. package/dist/primitives/Sheet.js.map +1 -0
  398. package/dist/primitives/Sidebar.js +265 -0
  399. package/dist/primitives/Sidebar.js.map +1 -0
  400. package/dist/primitives/Skeleton.js +8 -0
  401. package/dist/primitives/Skeleton.js.map +1 -0
  402. package/dist/primitives/Slider.js +569 -0
  403. package/dist/primitives/Slider.js.map +1 -0
  404. package/dist/primitives/Sonner.js +1236 -0
  405. package/dist/primitives/Sonner.js.map +1 -0
  406. package/dist/primitives/Spinner.js +14 -0
  407. package/dist/primitives/Spinner.js.map +1 -0
  408. package/dist/primitives/Switch.js +162 -0
  409. package/dist/primitives/Switch.js.map +1 -0
  410. package/dist/{components → primitives}/Table.d.ts +2 -2
  411. package/dist/primitives/Table.js +36 -0
  412. package/dist/primitives/Table.js.map +1 -0
  413. package/dist/primitives/Tabs.js +224 -0
  414. package/dist/primitives/Tabs.js.map +1 -0
  415. package/dist/primitives/Textarea.js +8 -0
  416. package/dist/primitives/Textarea.js.map +1 -0
  417. package/dist/primitives/Toggle.js +17 -0
  418. package/dist/primitives/Toggle.js.map +1 -0
  419. package/dist/primitives/ToggleGroup.js +199 -0
  420. package/dist/primitives/ToggleGroup.js.map +1 -0
  421. package/dist/primitives/Tooltip.js +28 -0
  422. package/dist/primitives/Tooltip.js.map +1 -0
  423. package/dist/{components → primitives}/Typography.d.ts +1 -1
  424. package/dist/primitives/Typography.js +83 -0
  425. package/dist/primitives/Typography.js.map +1 -0
  426. package/dist/primitives/index.d.ts +55 -0
  427. package/dist/primitives/index.js +110 -0
  428. package/dist/primitives/index.js.map +1 -0
  429. package/dist/reselect-CABQm5hA.js +448 -0
  430. package/dist/reselect-CABQm5hA.js.map +1 -0
  431. package/dist/separator-BbhgePmX.js +36 -0
  432. package/dist/separator-BbhgePmX.js.map +1 -0
  433. package/dist/shadcn/components/badge.d.ts +1 -1
  434. package/dist/shadcn/components/button.d.ts +2 -2
  435. package/dist/shadcn/components/typography.d.ts +2 -2
  436. package/dist/sheet-D1ngftfX.js +39 -0
  437. package/dist/sheet-D1ngftfX.js.map +1 -0
  438. package/dist/skeleton-AR83txPr.js +9 -0
  439. package/dist/skeleton-AR83txPr.js.map +1 -0
  440. package/dist/textarea-BSZwxzjQ.js +9 -0
  441. package/dist/textarea-BSZwxzjQ.js.map +1 -0
  442. package/dist/toggle-2k9K8a5c.js +60 -0
  443. package/dist/toggle-2k9K8a5c.js.map +1 -0
  444. package/dist/tooltip-D5soNrAP.js +517 -0
  445. package/dist/tooltip-D5soNrAP.js.map +1 -0
  446. package/dist/use-mobile-IRjN_mlT.js +19 -0
  447. package/dist/use-mobile-IRjN_mlT.js.map +1 -0
  448. package/dist/utils-DdHUxIdC.js +3207 -0
  449. package/dist/utils-DdHUxIdC.js.map +1 -0
  450. package/dist/x-_o2T3n6D.js +18 -0
  451. package/dist/x-_o2T3n6D.js.map +1 -0
  452. package/package.json +53 -33
  453. /package/dist/{components → primitives}/Accordion.d.ts +0 -0
  454. /package/dist/{components → primitives}/Alert.d.ts +0 -0
  455. /package/dist/{components → primitives}/AlertDialog.d.ts +0 -0
  456. /package/dist/{components → primitives}/AspectRatio.d.ts +0 -0
  457. /package/dist/{components → primitives}/Avatar.d.ts +0 -0
  458. /package/dist/{components → primitives}/Badge.d.ts +0 -0
  459. /package/dist/{components → primitives}/Breadcrumb.d.ts +0 -0
  460. /package/dist/{components → primitives}/ButtonGroup.d.ts +0 -0
  461. /package/dist/{components → primitives}/Calendar.d.ts +0 -0
  462. /package/dist/{components → primitives}/Card.d.ts +0 -0
  463. /package/dist/{components → primitives}/Chart.d.ts +0 -0
  464. /package/dist/{components → primitives}/Checkbox.d.ts +0 -0
  465. /package/dist/{components → primitives}/Collapsible.d.ts +0 -0
  466. /package/dist/{components → primitives}/Combobox.d.ts +0 -0
  467. /package/dist/{components → primitives}/Command.d.ts +0 -0
  468. /package/dist/{components → primitives}/ContextMenu.d.ts +0 -0
  469. /package/dist/{components → primitives}/Dialog.d.ts +0 -0
  470. /package/dist/{components → primitives}/Drawer.d.ts +0 -0
  471. /package/dist/{components → primitives}/DropdownMenu.d.ts +0 -0
  472. /package/dist/{components → primitives}/Empty.d.ts +0 -0
  473. /package/dist/{components → primitives}/Field.d.ts +0 -0
  474. /package/dist/{components → primitives}/HoverCard.d.ts +0 -0
  475. /package/dist/{components → primitives}/Input.d.ts +0 -0
  476. /package/dist/{components → primitives}/InputGroup.d.ts +0 -0
  477. /package/dist/{components → primitives}/InputOTP.d.ts +0 -0
  478. /package/dist/{components → primitives}/Item.d.ts +0 -0
  479. /package/dist/{components → primitives}/Kbd.d.ts +0 -0
  480. /package/dist/{components → primitives}/Label.d.ts +0 -0
  481. /package/dist/{components → primitives}/Menubar.d.ts +0 -0
  482. /package/dist/{components → primitives}/NativeSelect.d.ts +0 -0
  483. /package/dist/{components → primitives}/NavigationMenu.d.ts +0 -0
  484. /package/dist/{components → primitives}/Pagination.d.ts +0 -0
  485. /package/dist/{components → primitives}/Popover.d.ts +0 -0
  486. /package/dist/{components → primitives}/Progress.d.ts +0 -0
  487. /package/dist/{components → primitives}/RadioGroup.d.ts +0 -0
  488. /package/dist/{components → primitives}/Resizable.d.ts +0 -0
  489. /package/dist/{components → primitives}/ScrollArea.d.ts +0 -0
  490. /package/dist/{components → primitives}/Select.d.ts +0 -0
  491. /package/dist/{components → primitives}/Separator.d.ts +0 -0
  492. /package/dist/{components → primitives}/Sheet.d.ts +0 -0
  493. /package/dist/{components → primitives}/Sidebar.d.ts +0 -0
  494. /package/dist/{components → primitives}/Skeleton.d.ts +0 -0
  495. /package/dist/{components → primitives}/Slider.d.ts +0 -0
  496. /package/dist/{components → primitives}/Sonner.d.ts +0 -0
  497. /package/dist/{components → primitives}/Spinner.d.ts +0 -0
  498. /package/dist/{components → primitives}/Switch.d.ts +0 -0
  499. /package/dist/{components → primitives}/Tabs.d.ts +0 -0
  500. /package/dist/{components → primitives}/Textarea.d.ts +0 -0
  501. /package/dist/{components → primitives}/Toggle.d.ts +0 -0
  502. /package/dist/{components → primitives}/ToggleGroup.d.ts +0 -0
  503. /package/dist/{components → primitives}/Tooltip.d.ts +0 -0
@@ -0,0 +1,517 @@
1
+ import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
+ import { c as cn } from './utils-DdHUxIdC.js';
3
+ import * as React from 'react';
4
+ import { c as composeEventHandlers } from './index-DNzunGHb.js';
5
+ import { u as useComposedRefs } from './index-BtkPdosV.js';
6
+ import { c as createContextScope } from './index-CiyxEyB0.js';
7
+ import { D as DismissableLayer } from './index-BNPynZWM.js';
8
+ import { u as useId } from './index-zW4GjM5L.js';
9
+ import { R as Root2, a as Arrow, A as Anchor, c as createPopperScope, C as Content } from './index-ByEpUy7w.js';
10
+ import { P as Portal$1 } from './index-fV_U4ZJM.js';
11
+ import { P as Presence } from './index-yFgkK_AM.js';
12
+ import { P as Primitive } from './index-DhnfW8wQ.js';
13
+ import { u as useControllableState } from './index-Cor698lu.js';
14
+ import { R as Root } from './index-CSggBaQF.js';
15
+
16
+ // src/slot.tsx
17
+ var SLOTTABLE_IDENTIFIER = Symbol("radix.slottable");
18
+ // @__NO_SIDE_EFFECTS__
19
+ function createSlottable(ownerName) {
20
+ const Slottable2 = ({ children }) => {
21
+ return /* @__PURE__ */ jsx(Fragment, { children });
22
+ };
23
+ Slottable2.displayName = `${ownerName}.Slottable`;
24
+ Slottable2.__radixId = SLOTTABLE_IDENTIFIER;
25
+ return Slottable2;
26
+ }
27
+
28
+ var [createTooltipContext] = createContextScope("Tooltip", [
29
+ createPopperScope
30
+ ]);
31
+ var usePopperScope = createPopperScope();
32
+ var PROVIDER_NAME = "TooltipProvider";
33
+ var DEFAULT_DELAY_DURATION = 700;
34
+ var TOOLTIP_OPEN = "tooltip.open";
35
+ var [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);
36
+ var TooltipProvider$1 = (props) => {
37
+ const {
38
+ __scopeTooltip,
39
+ delayDuration = DEFAULT_DELAY_DURATION,
40
+ skipDelayDuration = 300,
41
+ disableHoverableContent = false,
42
+ children
43
+ } = props;
44
+ const isOpenDelayedRef = React.useRef(true);
45
+ const isPointerInTransitRef = React.useRef(false);
46
+ const skipDelayTimerRef = React.useRef(0);
47
+ React.useEffect(() => {
48
+ const skipDelayTimer = skipDelayTimerRef.current;
49
+ return () => window.clearTimeout(skipDelayTimer);
50
+ }, []);
51
+ return /* @__PURE__ */ jsx(
52
+ TooltipProviderContextProvider,
53
+ {
54
+ scope: __scopeTooltip,
55
+ isOpenDelayedRef,
56
+ delayDuration,
57
+ onOpen: React.useCallback(() => {
58
+ window.clearTimeout(skipDelayTimerRef.current);
59
+ isOpenDelayedRef.current = false;
60
+ }, []),
61
+ onClose: React.useCallback(() => {
62
+ window.clearTimeout(skipDelayTimerRef.current);
63
+ skipDelayTimerRef.current = window.setTimeout(
64
+ () => isOpenDelayedRef.current = true,
65
+ skipDelayDuration
66
+ );
67
+ }, [skipDelayDuration]),
68
+ isPointerInTransitRef,
69
+ onPointerInTransitChange: React.useCallback((inTransit) => {
70
+ isPointerInTransitRef.current = inTransit;
71
+ }, []),
72
+ disableHoverableContent,
73
+ children
74
+ }
75
+ );
76
+ };
77
+ TooltipProvider$1.displayName = PROVIDER_NAME;
78
+ var TOOLTIP_NAME = "Tooltip";
79
+ var [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);
80
+ var Tooltip$1 = (props) => {
81
+ const {
82
+ __scopeTooltip,
83
+ children,
84
+ open: openProp,
85
+ defaultOpen,
86
+ onOpenChange,
87
+ disableHoverableContent: disableHoverableContentProp,
88
+ delayDuration: delayDurationProp
89
+ } = props;
90
+ const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);
91
+ const popperScope = usePopperScope(__scopeTooltip);
92
+ const [trigger, setTrigger] = React.useState(null);
93
+ const contentId = useId();
94
+ const openTimerRef = React.useRef(0);
95
+ const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;
96
+ const delayDuration = delayDurationProp ?? providerContext.delayDuration;
97
+ const wasOpenDelayedRef = React.useRef(false);
98
+ const [open, setOpen] = useControllableState({
99
+ prop: openProp,
100
+ defaultProp: defaultOpen ?? false,
101
+ onChange: (open2) => {
102
+ if (open2) {
103
+ providerContext.onOpen();
104
+ document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));
105
+ } else {
106
+ providerContext.onClose();
107
+ }
108
+ onOpenChange?.(open2);
109
+ },
110
+ caller: TOOLTIP_NAME
111
+ });
112
+ const stateAttribute = React.useMemo(() => {
113
+ return open ? wasOpenDelayedRef.current ? "delayed-open" : "instant-open" : "closed";
114
+ }, [open]);
115
+ const handleOpen = React.useCallback(() => {
116
+ window.clearTimeout(openTimerRef.current);
117
+ openTimerRef.current = 0;
118
+ wasOpenDelayedRef.current = false;
119
+ setOpen(true);
120
+ }, [setOpen]);
121
+ const handleClose = React.useCallback(() => {
122
+ window.clearTimeout(openTimerRef.current);
123
+ openTimerRef.current = 0;
124
+ setOpen(false);
125
+ }, [setOpen]);
126
+ const handleDelayedOpen = React.useCallback(() => {
127
+ window.clearTimeout(openTimerRef.current);
128
+ openTimerRef.current = window.setTimeout(() => {
129
+ wasOpenDelayedRef.current = true;
130
+ setOpen(true);
131
+ openTimerRef.current = 0;
132
+ }, delayDuration);
133
+ }, [delayDuration, setOpen]);
134
+ React.useEffect(() => {
135
+ return () => {
136
+ if (openTimerRef.current) {
137
+ window.clearTimeout(openTimerRef.current);
138
+ openTimerRef.current = 0;
139
+ }
140
+ };
141
+ }, []);
142
+ return /* @__PURE__ */ jsx(Root2, { ...popperScope, children: /* @__PURE__ */ jsx(
143
+ TooltipContextProvider,
144
+ {
145
+ scope: __scopeTooltip,
146
+ contentId,
147
+ open,
148
+ stateAttribute,
149
+ trigger,
150
+ onTriggerChange: setTrigger,
151
+ onTriggerEnter: React.useCallback(() => {
152
+ if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();
153
+ else handleOpen();
154
+ }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),
155
+ onTriggerLeave: React.useCallback(() => {
156
+ if (disableHoverableContent) {
157
+ handleClose();
158
+ } else {
159
+ window.clearTimeout(openTimerRef.current);
160
+ openTimerRef.current = 0;
161
+ }
162
+ }, [handleClose, disableHoverableContent]),
163
+ onOpen: handleOpen,
164
+ onClose: handleClose,
165
+ disableHoverableContent,
166
+ children
167
+ }
168
+ ) });
169
+ };
170
+ Tooltip$1.displayName = TOOLTIP_NAME;
171
+ var TRIGGER_NAME = "TooltipTrigger";
172
+ var TooltipTrigger$1 = React.forwardRef(
173
+ (props, forwardedRef) => {
174
+ const { __scopeTooltip, ...triggerProps } = props;
175
+ const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);
176
+ const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);
177
+ const popperScope = usePopperScope(__scopeTooltip);
178
+ const ref = React.useRef(null);
179
+ const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);
180
+ const isPointerDownRef = React.useRef(false);
181
+ const hasPointerMoveOpenedRef = React.useRef(false);
182
+ const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);
183
+ React.useEffect(() => {
184
+ return () => document.removeEventListener("pointerup", handlePointerUp);
185
+ }, [handlePointerUp]);
186
+ return /* @__PURE__ */ jsx(Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(
187
+ Primitive.button,
188
+ {
189
+ "aria-describedby": context.open ? context.contentId : void 0,
190
+ "data-state": context.stateAttribute,
191
+ ...triggerProps,
192
+ ref: composedRefs,
193
+ onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {
194
+ if (event.pointerType === "touch") return;
195
+ if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {
196
+ context.onTriggerEnter();
197
+ hasPointerMoveOpenedRef.current = true;
198
+ }
199
+ }),
200
+ onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {
201
+ context.onTriggerLeave();
202
+ hasPointerMoveOpenedRef.current = false;
203
+ }),
204
+ onPointerDown: composeEventHandlers(props.onPointerDown, () => {
205
+ if (context.open) {
206
+ context.onClose();
207
+ }
208
+ isPointerDownRef.current = true;
209
+ document.addEventListener("pointerup", handlePointerUp, { once: true });
210
+ }),
211
+ onFocus: composeEventHandlers(props.onFocus, () => {
212
+ if (!isPointerDownRef.current) context.onOpen();
213
+ }),
214
+ onBlur: composeEventHandlers(props.onBlur, context.onClose),
215
+ onClick: composeEventHandlers(props.onClick, context.onClose)
216
+ }
217
+ ) });
218
+ }
219
+ );
220
+ TooltipTrigger$1.displayName = TRIGGER_NAME;
221
+ var PORTAL_NAME = "TooltipPortal";
222
+ var [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {
223
+ forceMount: void 0
224
+ });
225
+ var TooltipPortal = (props) => {
226
+ const { __scopeTooltip, forceMount, children, container } = props;
227
+ const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);
228
+ return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(Portal$1, { asChild: true, container, children }) }) });
229
+ };
230
+ TooltipPortal.displayName = PORTAL_NAME;
231
+ var CONTENT_NAME = "TooltipContent";
232
+ var TooltipContent$1 = React.forwardRef(
233
+ (props, forwardedRef) => {
234
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);
235
+ const { forceMount = portalContext.forceMount, side = "top", ...contentProps } = props;
236
+ const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);
237
+ return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });
238
+ }
239
+ );
240
+ var TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {
241
+ const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);
242
+ const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);
243
+ const ref = React.useRef(null);
244
+ const composedRefs = useComposedRefs(forwardedRef, ref);
245
+ const [pointerGraceArea, setPointerGraceArea] = React.useState(null);
246
+ const { trigger, onClose } = context;
247
+ const content = ref.current;
248
+ const { onPointerInTransitChange } = providerContext;
249
+ const handleRemoveGraceArea = React.useCallback(() => {
250
+ setPointerGraceArea(null);
251
+ onPointerInTransitChange(false);
252
+ }, [onPointerInTransitChange]);
253
+ const handleCreateGraceArea = React.useCallback(
254
+ (event, hoverTarget) => {
255
+ const currentTarget = event.currentTarget;
256
+ const exitPoint = { x: event.clientX, y: event.clientY };
257
+ const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());
258
+ const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);
259
+ const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());
260
+ const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);
261
+ setPointerGraceArea(graceArea);
262
+ onPointerInTransitChange(true);
263
+ },
264
+ [onPointerInTransitChange]
265
+ );
266
+ React.useEffect(() => {
267
+ return () => handleRemoveGraceArea();
268
+ }, [handleRemoveGraceArea]);
269
+ React.useEffect(() => {
270
+ if (trigger && content) {
271
+ const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);
272
+ const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);
273
+ trigger.addEventListener("pointerleave", handleTriggerLeave);
274
+ content.addEventListener("pointerleave", handleContentLeave);
275
+ return () => {
276
+ trigger.removeEventListener("pointerleave", handleTriggerLeave);
277
+ content.removeEventListener("pointerleave", handleContentLeave);
278
+ };
279
+ }
280
+ }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);
281
+ React.useEffect(() => {
282
+ if (pointerGraceArea) {
283
+ const handleTrackPointerGrace = (event) => {
284
+ const target = event.target;
285
+ const pointerPosition = { x: event.clientX, y: event.clientY };
286
+ const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);
287
+ const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);
288
+ if (hasEnteredTarget) {
289
+ handleRemoveGraceArea();
290
+ } else if (isPointerOutsideGraceArea) {
291
+ handleRemoveGraceArea();
292
+ onClose();
293
+ }
294
+ };
295
+ document.addEventListener("pointermove", handleTrackPointerGrace);
296
+ return () => document.removeEventListener("pointermove", handleTrackPointerGrace);
297
+ }
298
+ }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);
299
+ return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });
300
+ });
301
+ var [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });
302
+ var Slottable = createSlottable("TooltipContent");
303
+ var TooltipContentImpl = React.forwardRef(
304
+ (props, forwardedRef) => {
305
+ const {
306
+ __scopeTooltip,
307
+ children,
308
+ "aria-label": ariaLabel,
309
+ onEscapeKeyDown,
310
+ onPointerDownOutside,
311
+ ...contentProps
312
+ } = props;
313
+ const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);
314
+ const popperScope = usePopperScope(__scopeTooltip);
315
+ const { onClose } = context;
316
+ React.useEffect(() => {
317
+ document.addEventListener(TOOLTIP_OPEN, onClose);
318
+ return () => document.removeEventListener(TOOLTIP_OPEN, onClose);
319
+ }, [onClose]);
320
+ React.useEffect(() => {
321
+ if (context.trigger) {
322
+ const handleScroll = (event) => {
323
+ const target = event.target;
324
+ if (target?.contains(context.trigger)) onClose();
325
+ };
326
+ window.addEventListener("scroll", handleScroll, { capture: true });
327
+ return () => window.removeEventListener("scroll", handleScroll, { capture: true });
328
+ }
329
+ }, [context.trigger, onClose]);
330
+ return /* @__PURE__ */ jsx(
331
+ DismissableLayer,
332
+ {
333
+ asChild: true,
334
+ disableOutsidePointerEvents: false,
335
+ onEscapeKeyDown,
336
+ onPointerDownOutside,
337
+ onFocusOutside: (event) => event.preventDefault(),
338
+ onDismiss: onClose,
339
+ children: /* @__PURE__ */ jsxs(
340
+ Content,
341
+ {
342
+ "data-state": context.stateAttribute,
343
+ ...popperScope,
344
+ ...contentProps,
345
+ ref: forwardedRef,
346
+ style: {
347
+ ...contentProps.style,
348
+ // re-namespace exposed content custom properties
349
+ ...{
350
+ "--radix-tooltip-content-transform-origin": "var(--radix-popper-transform-origin)",
351
+ "--radix-tooltip-content-available-width": "var(--radix-popper-available-width)",
352
+ "--radix-tooltip-content-available-height": "var(--radix-popper-available-height)",
353
+ "--radix-tooltip-trigger-width": "var(--radix-popper-anchor-width)",
354
+ "--radix-tooltip-trigger-height": "var(--radix-popper-anchor-height)"
355
+ }
356
+ },
357
+ children: [
358
+ /* @__PURE__ */ jsx(Slottable, { children }),
359
+ /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(Root, { id: context.contentId, role: "tooltip", children: ariaLabel || children }) })
360
+ ]
361
+ }
362
+ )
363
+ }
364
+ );
365
+ }
366
+ );
367
+ TooltipContent$1.displayName = CONTENT_NAME;
368
+ var ARROW_NAME = "TooltipArrow";
369
+ var TooltipArrow = React.forwardRef(
370
+ (props, forwardedRef) => {
371
+ const { __scopeTooltip, ...arrowProps } = props;
372
+ const popperScope = usePopperScope(__scopeTooltip);
373
+ const visuallyHiddenContentContext = useVisuallyHiddenContentContext(
374
+ ARROW_NAME,
375
+ __scopeTooltip
376
+ );
377
+ return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
378
+ }
379
+ );
380
+ TooltipArrow.displayName = ARROW_NAME;
381
+ function getExitSideFromRect(point, rect) {
382
+ const top = Math.abs(rect.top - point.y);
383
+ const bottom = Math.abs(rect.bottom - point.y);
384
+ const right = Math.abs(rect.right - point.x);
385
+ const left = Math.abs(rect.left - point.x);
386
+ switch (Math.min(top, bottom, right, left)) {
387
+ case left:
388
+ return "left";
389
+ case right:
390
+ return "right";
391
+ case top:
392
+ return "top";
393
+ case bottom:
394
+ return "bottom";
395
+ default:
396
+ throw new Error("unreachable");
397
+ }
398
+ }
399
+ function getPaddedExitPoints(exitPoint, exitSide, padding = 5) {
400
+ const paddedExitPoints = [];
401
+ switch (exitSide) {
402
+ case "top":
403
+ paddedExitPoints.push(
404
+ { x: exitPoint.x - padding, y: exitPoint.y + padding },
405
+ { x: exitPoint.x + padding, y: exitPoint.y + padding }
406
+ );
407
+ break;
408
+ case "bottom":
409
+ paddedExitPoints.push(
410
+ { x: exitPoint.x - padding, y: exitPoint.y - padding },
411
+ { x: exitPoint.x + padding, y: exitPoint.y - padding }
412
+ );
413
+ break;
414
+ case "left":
415
+ paddedExitPoints.push(
416
+ { x: exitPoint.x + padding, y: exitPoint.y - padding },
417
+ { x: exitPoint.x + padding, y: exitPoint.y + padding }
418
+ );
419
+ break;
420
+ case "right":
421
+ paddedExitPoints.push(
422
+ { x: exitPoint.x - padding, y: exitPoint.y - padding },
423
+ { x: exitPoint.x - padding, y: exitPoint.y + padding }
424
+ );
425
+ break;
426
+ }
427
+ return paddedExitPoints;
428
+ }
429
+ function getPointsFromRect(rect) {
430
+ const { top, right, bottom, left } = rect;
431
+ return [
432
+ { x: left, y: top },
433
+ { x: right, y: top },
434
+ { x: right, y: bottom },
435
+ { x: left, y: bottom }
436
+ ];
437
+ }
438
+ function isPointInPolygon(point, polygon) {
439
+ const { x, y } = point;
440
+ let inside = false;
441
+ for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {
442
+ const ii = polygon[i];
443
+ const jj = polygon[j];
444
+ const xi = ii.x;
445
+ const yi = ii.y;
446
+ const xj = jj.x;
447
+ const yj = jj.y;
448
+ const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;
449
+ if (intersect) inside = !inside;
450
+ }
451
+ return inside;
452
+ }
453
+ function getHull(points) {
454
+ const newPoints = points.slice();
455
+ newPoints.sort((a, b) => {
456
+ if (a.x < b.x) return -1;
457
+ else if (a.x > b.x) return 1;
458
+ else if (a.y < b.y) return -1;
459
+ else if (a.y > b.y) return 1;
460
+ else return 0;
461
+ });
462
+ return getHullPresorted(newPoints);
463
+ }
464
+ function getHullPresorted(points) {
465
+ if (points.length <= 1) return points.slice();
466
+ const upperHull = [];
467
+ for (let i = 0; i < points.length; i++) {
468
+ const p = points[i];
469
+ while (upperHull.length >= 2) {
470
+ const q = upperHull[upperHull.length - 1];
471
+ const r = upperHull[upperHull.length - 2];
472
+ if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();
473
+ else break;
474
+ }
475
+ upperHull.push(p);
476
+ }
477
+ upperHull.pop();
478
+ const lowerHull = [];
479
+ for (let i = points.length - 1; i >= 0; i--) {
480
+ const p = points[i];
481
+ while (lowerHull.length >= 2) {
482
+ const q = lowerHull[lowerHull.length - 1];
483
+ const r = lowerHull[lowerHull.length - 2];
484
+ if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();
485
+ else break;
486
+ }
487
+ lowerHull.push(p);
488
+ }
489
+ lowerHull.pop();
490
+ if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {
491
+ return upperHull;
492
+ } else {
493
+ return upperHull.concat(lowerHull);
494
+ }
495
+ }
496
+ var Provider = TooltipProvider$1;
497
+ var Root3 = Tooltip$1;
498
+ var Trigger = TooltipTrigger$1;
499
+ var Portal = TooltipPortal;
500
+ var Content2 = TooltipContent$1;
501
+ var Arrow2 = TooltipArrow;
502
+
503
+ function TooltipProvider({ delayDuration = 0, ...props }) {
504
+ return (jsx(Provider, { "data-slot": "tooltip-provider", delayDuration: delayDuration, ...props }));
505
+ }
506
+ function Tooltip({ ...props }) {
507
+ return jsx(Root3, { "data-slot": "tooltip", ...props });
508
+ }
509
+ function TooltipTrigger({ ...props }) {
510
+ return jsx(Trigger, { "data-slot": "tooltip-trigger", ...props });
511
+ }
512
+ function TooltipContent({ className, sideOffset = 0, children, ...props }) {
513
+ return (jsx(Portal, { children: jsxs(Content2, { "data-slot": "tooltip-content", sideOffset: sideOffset, className: cn("z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pe-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", className), ...props, children: [children, jsx(Arrow2, { className: "z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground" })] }) }));
514
+ }
515
+
516
+ export { Tooltip as T, TooltipContent as a, TooltipProvider as b, TooltipTrigger as c };
517
+ //# sourceMappingURL=tooltip-D5soNrAP.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip-D5soNrAP.js","sources":["../node_modules/@radix-ui/react-tooltip/node_modules/@radix-ui/react-slot/dist/index.mjs","../node_modules/@radix-ui/react-tooltip/dist/index.mjs","../src/shadcn/components/tooltip.tsx"],"sourcesContent":["// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","import * as React from \"react\"\nimport { Tooltip as TooltipPrimitive } from \"radix-ui\"\n\nimport { cn } from \"src/shadcn/lib/utils\"\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n )\n}\n\nfunction Tooltip({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n}\n\nfunction TooltipTrigger({\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n \"z-50 inline-flex w-fit max-w-xs origin-(--radix-tooltip-content-transform-origin) items-center gap-1.5 rounded-md bg-foreground px-3 py-1.5 text-xs text-background has-data-[slot=kbd]:pe-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px] bg-foreground fill-foreground\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n )\n}\n\nexport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger }\n"],"names":["Fragment2","TooltipProvider","Tooltip","PopperPrimitive.Root","TooltipTrigger","PopperPrimitive.Anchor","PortalPrimitive","TooltipContent","PopperPrimitive.Content","VisuallyHiddenPrimitive.Root","PopperPrimitive.Arrow","_jsx","TooltipPrimitive.Provider","TooltipPrimitive.Root","TooltipPrimitive.Trigger","TooltipPrimitive.Portal","_jsxs","TooltipPrimitive.Content","TooltipPrimitive.Arrow"],"mappings":"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","x_google_ignoreList":[0,1]}
@@ -0,0 +1,19 @@
1
+ import * as React from 'react';
2
+
3
+ const MOBILE_BREAKPOINT = 768;
4
+ function useIsMobile() {
5
+ const [isMobile, setIsMobile] = React.useState(undefined);
6
+ React.useEffect(() => {
7
+ const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);
8
+ const onChange = () => {
9
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
10
+ };
11
+ mql.addEventListener("change", onChange);
12
+ setIsMobile(window.innerWidth < MOBILE_BREAKPOINT);
13
+ return () => mql.removeEventListener("change", onChange);
14
+ }, []);
15
+ return !!isMobile;
16
+ }
17
+
18
+ export { useIsMobile as u };
19
+ //# sourceMappingURL=use-mobile-IRjN_mlT.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mobile-IRjN_mlT.js","sources":["../src/shadcn/hooks/use-mobile.ts"],"sourcesContent":["import * as React from \"react\"\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener(\"change\", onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener(\"change\", onChange)\n }, [])\n\n return !!isMobile\n}\n"],"names":[],"mappings":";;AAEA,MAAM,iBAAiB,GAAG,GAAG;SAEb,WAAW,GAAA;AACzB,IAAA,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAsB,SAAS,CAAC;AAE9E,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;AACnB,QAAA,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,CAAA,YAAA,EAAe,iBAAiB,GAAG,CAAC,CAAA,GAAA,CAAK,CAAC;QACxE,MAAM,QAAQ,GAAG,MAAK;AACpB,YAAA,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC;AACpD,QAAA,CAAC;AACD,QAAA,GAAG,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC;AACxC,QAAA,WAAW,CAAC,MAAM,CAAC,UAAU,GAAG,iBAAiB,CAAC;QAClD,OAAO,MAAM,GAAG,CAAC,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC1D,CAAC,EAAE,EAAE,CAAC;IAEN,OAAO,CAAC,CAAC,QAAQ;AACnB;;;;"}