@stevederico/skateboard-ui 3.12.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +37 -31
  3. package/dist/components/core/Command.js +33 -7
  4. package/dist/shadcn/ui/accordion.d.ts +1 -6
  5. package/dist/shadcn/ui/accordion.js +3 -17
  6. package/dist/shadcn/ui/alert-dialog.d.ts +1 -18
  7. package/dist/shadcn/ui/alert-dialog.js +3 -43
  8. package/dist/shadcn/ui/alert.d.ts +1 -13
  9. package/dist/shadcn/ui/alert.js +3 -28
  10. package/dist/shadcn/ui/aspect-ratio.d.ts +1 -4
  11. package/dist/shadcn/ui/aspect-ratio.js +3 -8
  12. package/dist/shadcn/ui/avatar.d.ts +1 -11
  13. package/dist/shadcn/ui/avatar.js +3 -24
  14. package/dist/shadcn/ui/badge.d.ts +1 -14
  15. package/dist/shadcn/ui/badge.js +3 -33
  16. package/dist/shadcn/ui/breadcrumb.d.ts +1 -10
  17. package/dist/shadcn/ui/breadcrumb.js +3 -37
  18. package/dist/shadcn/ui/button-group.d.ts +1 -13
  19. package/dist/shadcn/ui/button-group.js +3 -36
  20. package/dist/shadcn/ui/button.d.ts +1 -34
  21. package/dist/shadcn/ui/button.js +3 -53
  22. package/dist/shadcn/ui/calendar.d.ts +1 -13
  23. package/dist/shadcn/ui/calendar.js +3 -75
  24. package/dist/shadcn/ui/card.d.ts +1 -11
  25. package/dist/shadcn/ui/card.js +3 -25
  26. package/dist/shadcn/ui/checkbox.d.ts +1 -3
  27. package/dist/shadcn/ui/checkbox.js +3 -9
  28. package/dist/shadcn/ui/collapsible.d.ts +1 -5
  29. package/dist/shadcn/ui/collapsible.js +3 -13
  30. package/dist/shadcn/ui/command.d.ts +1 -19
  31. package/dist/shadcn/ui/command.js +3 -35
  32. package/dist/shadcn/ui/context-menu.d.ts +1 -29
  33. package/dist/shadcn/ui/context-menu.js +3 -52
  34. package/dist/shadcn/ui/dialog.d.ts +1 -17
  35. package/dist/shadcn/ui/dialog.js +3 -38
  36. package/dist/shadcn/ui/drawer.d.ts +1 -13
  37. package/dist/shadcn/ui/drawer.js +3 -196
  38. package/dist/shadcn/ui/dropdown-menu.d.ts +1 -29
  39. package/dist/shadcn/ui/dropdown-menu.js +3 -52
  40. package/dist/shadcn/ui/empty.d.ts +1 -14
  41. package/dist/shadcn/ui/empty.js +3 -33
  42. package/dist/shadcn/ui/field.d.ts +1 -28
  43. package/dist/shadcn/ui/field.js +3 -68
  44. package/dist/shadcn/ui/hover-card.d.ts +1 -5
  45. package/dist/shadcn/ui/hover-card.js +3 -14
  46. package/dist/shadcn/ui/input-group.d.ts +1 -28
  47. package/dist/shadcn/ui/input-group.js +3 -58
  48. package/dist/shadcn/ui/input.d.ts +1 -3
  49. package/dist/shadcn/ui/input.js +3 -8
  50. package/dist/shadcn/ui/item.d.ts +1 -34
  51. package/dist/shadcn/ui/item.js +3 -79
  52. package/dist/shadcn/ui/kbd.d.ts +1 -3
  53. package/dist/shadcn/ui/kbd.js +3 -9
  54. package/dist/shadcn/ui/label.d.ts +1 -3
  55. package/dist/shadcn/ui/label.js +3 -8
  56. package/dist/shadcn/ui/menubar.d.ts +1 -29
  57. package/dist/shadcn/ui/menubar.js +3 -57
  58. package/dist/shadcn/ui/navigation-menu.d.ts +1 -13
  59. package/dist/shadcn/ui/navigation-menu.js +3 -31
  60. package/dist/shadcn/ui/pagination.d.ts +1 -17
  61. package/dist/shadcn/ui/pagination.js +3 -27
  62. package/dist/shadcn/ui/popover.d.ts +1 -9
  63. package/dist/shadcn/ui/popover.js +3 -24
  64. package/dist/shadcn/ui/progress.d.ts +1 -7
  65. package/dist/shadcn/ui/progress.js +3 -20
  66. package/dist/shadcn/ui/radio-group.d.ts +1 -5
  67. package/dist/shadcn/ui/radio-group.js +3 -12
  68. package/dist/shadcn/ui/scroll-area.d.ts +1 -5
  69. package/dist/shadcn/ui/scroll-area.js +3 -12
  70. package/dist/shadcn/ui/select.d.ts +1 -15
  71. package/dist/shadcn/ui/select.js +3 -35
  72. package/dist/shadcn/ui/separator.d.ts +1 -3
  73. package/dist/shadcn/ui/separator.js +3 -8
  74. package/dist/shadcn/ui/sheet.d.ts +1 -14
  75. package/dist/shadcn/ui/sheet.js +3 -38
  76. package/dist/shadcn/ui/sidebar.d.ts +1 -70
  77. package/dist/shadcn/ui/sidebar.js +3 -256
  78. package/dist/shadcn/ui/skeleton.d.ts +1 -2
  79. package/dist/shadcn/ui/skeleton.js +3 -6
  80. package/dist/shadcn/ui/slider.d.ts +1 -3
  81. package/dist/shadcn/ui/slider.js +3 -12
  82. package/dist/shadcn/ui/spinner.d.ts +1 -2
  83. package/dist/shadcn/ui/spinner.js +3 -7
  84. package/dist/shadcn/ui/switch.d.ts +1 -5
  85. package/dist/shadcn/ui/switch.js +3 -8
  86. package/dist/shadcn/ui/table.d.ts +1 -10
  87. package/dist/shadcn/ui/table.js +3 -29
  88. package/dist/shadcn/ui/tabs.d.ts +1 -13
  89. package/dist/shadcn/ui/tabs.js +3 -29
  90. package/dist/shadcn/ui/textarea.d.ts +1 -3
  91. package/dist/shadcn/ui/textarea.js +3 -7
  92. package/dist/shadcn/ui/toggle-group.d.ts +1 -11
  93. package/dist/shadcn/ui/toggle-group.js +3 -25
  94. package/dist/shadcn/ui/toggle.d.ts +1 -15
  95. package/dist/shadcn/ui/toggle.js +3 -26
  96. package/dist/shadcn/ui/tooltip.d.ts +1 -6
  97. package/dist/shadcn/ui/tooltip.js +3 -17
  98. package/dist/ui/accordion.d.ts +21 -0
  99. package/dist/ui/accordion.js +67 -0
  100. package/dist/ui/alert-dialog.d.ts +32 -0
  101. package/dist/ui/alert-dialog.js +102 -0
  102. package/dist/ui/alert.d.ts +13 -0
  103. package/dist/ui/alert.js +28 -0
  104. package/dist/ui/aspect-ratio.d.ts +5 -0
  105. package/dist/ui/aspect-ratio.js +9 -0
  106. package/dist/ui/avatar.d.ts +14 -0
  107. package/dist/ui/avatar.js +49 -0
  108. package/dist/ui/badge.d.ts +22 -0
  109. package/dist/ui/badge.js +26 -0
  110. package/dist/ui/breadcrumb.d.ts +13 -0
  111. package/dist/ui/breadcrumb.js +29 -0
  112. package/dist/ui/button-group.d.ts +21 -0
  113. package/dist/ui/button-group.js +29 -0
  114. package/dist/ui/button.d.ts +38 -0
  115. package/dist/ui/button.js +49 -0
  116. package/dist/ui/calendar.d.ts +13 -0
  117. package/dist/ui/calendar.js +75 -0
  118. package/dist/ui/card.d.ts +11 -0
  119. package/dist/ui/card.js +25 -0
  120. package/dist/ui/checkbox.d.ts +17 -0
  121. package/dist/ui/checkbox.js +25 -0
  122. package/dist/ui/collapsible.d.ts +11 -0
  123. package/dist/ui/collapsible.js +40 -0
  124. package/dist/ui/command.d.ts +19 -0
  125. package/dist/ui/command.js +35 -0
  126. package/dist/ui/context-menu.d.ts +53 -0
  127. package/dist/ui/context-menu.js +372 -0
  128. package/dist/ui/dialog.d.ts +40 -0
  129. package/dist/ui/dialog.js +109 -0
  130. package/dist/ui/drawer.d.ts +36 -0
  131. package/dist/ui/drawer.js +243 -0
  132. package/dist/ui/dropdown-menu.d.ts +61 -0
  133. package/dist/ui/dropdown-menu.js +347 -0
  134. package/dist/ui/empty.d.ts +14 -0
  135. package/dist/ui/empty.js +33 -0
  136. package/dist/ui/field.d.ts +28 -0
  137. package/dist/ui/field.js +68 -0
  138. package/dist/ui/hover-card.d.ts +32 -0
  139. package/dist/ui/hover-card.js +119 -0
  140. package/dist/ui/input-group.d.ts +28 -0
  141. package/dist/ui/input-group.js +58 -0
  142. package/dist/ui/input.d.ts +3 -0
  143. package/dist/ui/input.js +7 -0
  144. package/dist/ui/item.d.ts +41 -0
  145. package/dist/ui/item.js +69 -0
  146. package/dist/ui/kbd.d.ts +4 -0
  147. package/dist/ui/kbd.js +10 -0
  148. package/dist/ui/label.d.ts +3 -0
  149. package/dist/ui/label.js +8 -0
  150. package/dist/ui/menubar.d.ts +59 -0
  151. package/dist/ui/menubar.js +397 -0
  152. package/dist/ui/navigation-menu.d.ts +24 -0
  153. package/dist/ui/navigation-menu.js +203 -0
  154. package/dist/ui/pagination.d.ts +17 -0
  155. package/dist/ui/pagination.js +36 -0
  156. package/dist/ui/popover.d.ts +25 -0
  157. package/dist/ui/popover.js +126 -0
  158. package/dist/ui/portal.d.ts +7 -0
  159. package/dist/ui/portal.js +12 -0
  160. package/dist/ui/progress.d.ts +15 -0
  161. package/dist/ui/progress.js +36 -0
  162. package/dist/ui/radio-group.d.ts +17 -0
  163. package/dist/ui/radio-group.js +66 -0
  164. package/dist/ui/scroll-area.d.ts +9 -0
  165. package/dist/ui/scroll-area.js +72 -0
  166. package/dist/ui/select.d.ts +37 -0
  167. package/dist/ui/select.js +226 -0
  168. package/dist/ui/separator.d.ts +14 -0
  169. package/dist/ui/separator.js +13 -0
  170. package/dist/ui/sheet.d.ts +31 -0
  171. package/dist/ui/sheet.js +121 -0
  172. package/dist/ui/sidebar.d.ts +86 -0
  173. package/dist/ui/sidebar.js +211 -0
  174. package/dist/ui/skeleton.d.ts +3 -0
  175. package/dist/ui/skeleton.js +7 -0
  176. package/dist/ui/slider.d.ts +18 -0
  177. package/dist/ui/slider.js +94 -0
  178. package/dist/ui/slot.d.ts +27 -0
  179. package/dist/ui/slot.js +62 -0
  180. package/dist/ui/spinner.d.ts +3 -0
  181. package/dist/ui/spinner.js +8 -0
  182. package/dist/ui/switch.d.ts +17 -0
  183. package/dist/ui/switch.js +23 -0
  184. package/dist/ui/table.d.ts +10 -0
  185. package/dist/ui/table.js +29 -0
  186. package/dist/ui/tabs.d.ts +29 -0
  187. package/dist/ui/tabs.js +96 -0
  188. package/dist/ui/textarea.d.ts +3 -0
  189. package/dist/ui/textarea.js +7 -0
  190. package/dist/ui/toggle-group.d.ts +23 -0
  191. package/dist/ui/toggle-group.js +52 -0
  192. package/dist/ui/toggle.d.ts +25 -0
  193. package/dist/ui/toggle.js +41 -0
  194. package/dist/ui/tooltip.d.ts +25 -0
  195. package/dist/ui/tooltip.js +90 -0
  196. package/dist/ui/use-controllable-state.d.ts +10 -0
  197. package/dist/ui/use-controllable-state.js +17 -0
  198. package/dist/ui/use-dismiss.d.ts +10 -0
  199. package/dist/ui/use-dismiss.js +51 -0
  200. package/dist/ui/use-floating.d.ts +42 -0
  201. package/dist/ui/use-floating.js +136 -0
  202. package/dist/ui/use-presence.d.ts +8 -0
  203. package/dist/ui/use-presence.js +48 -0
  204. package/dist/ui/use-typeahead.d.ts +19 -0
  205. package/dist/ui/use-typeahead.js +64 -0
  206. package/package.json +6 -1
  207. package/dist/shadcn/lib/base-ui/LICENSE +0 -21
  208. package/dist/shadcn/lib/base-ui/_chunk-000kmre8.js +0 -150
  209. package/dist/shadcn/lib/base-ui/_chunk-1vw45v38.js +0 -64
  210. package/dist/shadcn/lib/base-ui/_chunk-23rx7haq.js +0 -81
  211. package/dist/shadcn/lib/base-ui/_chunk-242gh8ph.js +0 -230
  212. package/dist/shadcn/lib/base-ui/_chunk-26cc610z.js +0 -6
  213. package/dist/shadcn/lib/base-ui/_chunk-2z044bba.js +0 -5890
  214. package/dist/shadcn/lib/base-ui/_chunk-3cpd1vjz.js +0 -13
  215. package/dist/shadcn/lib/base-ui/_chunk-3enq1vat.js +0 -82
  216. package/dist/shadcn/lib/base-ui/_chunk-3xpke33f.js +0 -23
  217. package/dist/shadcn/lib/base-ui/_chunk-451nqgsa.js +0 -6
  218. package/dist/shadcn/lib/base-ui/_chunk-4maf6pas.js +0 -11
  219. package/dist/shadcn/lib/base-ui/_chunk-4zhfq4d3.js +0 -16
  220. package/dist/shadcn/lib/base-ui/_chunk-5gaqyne5.js +0 -21
  221. package/dist/shadcn/lib/base-ui/_chunk-5tt5hk59.js +0 -4
  222. package/dist/shadcn/lib/base-ui/_chunk-5tze5c8q.js +0 -13
  223. package/dist/shadcn/lib/base-ui/_chunk-5xmdvndx.js +0 -225
  224. package/dist/shadcn/lib/base-ui/_chunk-6adaer33.js +0 -435
  225. package/dist/shadcn/lib/base-ui/_chunk-6ejf1z1r.js +0 -9
  226. package/dist/shadcn/lib/base-ui/_chunk-6kqramh9.js +0 -27
  227. package/dist/shadcn/lib/base-ui/_chunk-7b9dc493.js +0 -14
  228. package/dist/shadcn/lib/base-ui/_chunk-8a9vv8am.js +0 -89
  229. package/dist/shadcn/lib/base-ui/_chunk-8ctgmf06.js +0 -129
  230. package/dist/shadcn/lib/base-ui/_chunk-8ganmsbg.js +0 -54
  231. package/dist/shadcn/lib/base-ui/_chunk-8xaqxgck.js +0 -15
  232. package/dist/shadcn/lib/base-ui/_chunk-95tf2rxq.js +0 -62
  233. package/dist/shadcn/lib/base-ui/_chunk-9x63vfqj.js +0 -70
  234. package/dist/shadcn/lib/base-ui/_chunk-ase0ydtt.js +0 -9
  235. package/dist/shadcn/lib/base-ui/_chunk-b0nc8wq7.js +0 -34
  236. package/dist/shadcn/lib/base-ui/_chunk-b5ya6xds.js +0 -10
  237. package/dist/shadcn/lib/base-ui/_chunk-b6dkjkbw.js +0 -43
  238. package/dist/shadcn/lib/base-ui/_chunk-c2bz952e.js +0 -19
  239. package/dist/shadcn/lib/base-ui/_chunk-cdgfsr3q.js +0 -15
  240. package/dist/shadcn/lib/base-ui/_chunk-cdj8cpx5.js +0 -347
  241. package/dist/shadcn/lib/base-ui/_chunk-cgptgywc.js +0 -104
  242. package/dist/shadcn/lib/base-ui/_chunk-cwvtvwc7.js +0 -35
  243. package/dist/shadcn/lib/base-ui/_chunk-dan0mva4.js +0 -23
  244. package/dist/shadcn/lib/base-ui/_chunk-dzvjwv25.js +0 -0
  245. package/dist/shadcn/lib/base-ui/_chunk-e13rsb6b.js +0 -184
  246. package/dist/shadcn/lib/base-ui/_chunk-e56mpvk1.js +0 -118
  247. package/dist/shadcn/lib/base-ui/_chunk-e6k2ecs7.js +0 -48
  248. package/dist/shadcn/lib/base-ui/_chunk-ebyxgtb4.js +0 -29
  249. package/dist/shadcn/lib/base-ui/_chunk-f2wttwrf.js +0 -39
  250. package/dist/shadcn/lib/base-ui/_chunk-fdzctasg.js +0 -38
  251. package/dist/shadcn/lib/base-ui/_chunk-ffpjy0ta.js +0 -39
  252. package/dist/shadcn/lib/base-ui/_chunk-fqry7pew.js +0 -603
  253. package/dist/shadcn/lib/base-ui/_chunk-ghn1tzt8.js +0 -84
  254. package/dist/shadcn/lib/base-ui/_chunk-gy0bpkmx.js +0 -12
  255. package/dist/shadcn/lib/base-ui/_chunk-hm5h9vsk.js +0 -16
  256. package/dist/shadcn/lib/base-ui/_chunk-htdj1jps.js +0 -833
  257. package/dist/shadcn/lib/base-ui/_chunk-j29xjete.js +0 -146
  258. package/dist/shadcn/lib/base-ui/_chunk-j3qkyd10.js +0 -50
  259. package/dist/shadcn/lib/base-ui/_chunk-ktvsd5k6.js +0 -2386
  260. package/dist/shadcn/lib/base-ui/_chunk-kw8nnq00.js +0 -546
  261. package/dist/shadcn/lib/base-ui/_chunk-m307wpdj.js +0 -18
  262. package/dist/shadcn/lib/base-ui/_chunk-mnd0j7v9.js +0 -15
  263. package/dist/shadcn/lib/base-ui/_chunk-n11h505c.js +0 -32
  264. package/dist/shadcn/lib/base-ui/_chunk-p0e2qacz.js +0 -26
  265. package/dist/shadcn/lib/base-ui/_chunk-pv7b791x.js +0 -106
  266. package/dist/shadcn/lib/base-ui/_chunk-q5cg71p7.js +0 -83
  267. package/dist/shadcn/lib/base-ui/_chunk-qbezxj1g.js +0 -385
  268. package/dist/shadcn/lib/base-ui/_chunk-qmsqz6nt.js +0 -15
  269. package/dist/shadcn/lib/base-ui/_chunk-rrh8rt4v.js +0 -65
  270. package/dist/shadcn/lib/base-ui/_chunk-s5pwkz8v.js +0 -25
  271. package/dist/shadcn/lib/base-ui/_chunk-svxv97ph.js +0 -218
  272. package/dist/shadcn/lib/base-ui/_chunk-t7ppm3t0.js +0 -68
  273. package/dist/shadcn/lib/base-ui/_chunk-vg16xxmb.js +0 -52
  274. package/dist/shadcn/lib/base-ui/_chunk-vgkfmtbe.js +0 -21
  275. package/dist/shadcn/lib/base-ui/_chunk-watha94s.js +0 -14
  276. package/dist/shadcn/lib/base-ui/_chunk-wdqynnjf.js +0 -35
  277. package/dist/shadcn/lib/base-ui/_chunk-wx2nxg0p.js +0 -15
  278. package/dist/shadcn/lib/base-ui/_chunk-x11e1k9r.js +0 -0
  279. package/dist/shadcn/lib/base-ui/_chunk-x8xehj6d.js +0 -302
  280. package/dist/shadcn/lib/base-ui/_chunk-xcqbtm2f.js +0 -28
  281. package/dist/shadcn/lib/base-ui/_chunk-ytnp24gq.js +0 -328
  282. package/dist/shadcn/lib/base-ui/_chunk-yzr7eg4b.js +0 -6
  283. package/dist/shadcn/lib/base-ui/_chunk-zk4mtm9m.js +0 -9
  284. package/dist/shadcn/lib/base-ui/accordion.d.ts +0 -447
  285. package/dist/shadcn/lib/base-ui/accordion.js +0 -630
  286. package/dist/shadcn/lib/base-ui/alert-dialog.d.ts +0 -1467
  287. package/dist/shadcn/lib/base-ui/alert-dialog.js +0 -98
  288. package/dist/shadcn/lib/base-ui/avatar.d.ts +0 -123
  289. package/dist/shadcn/lib/base-ui/avatar.js +0 -235
  290. package/dist/shadcn/lib/base-ui/button.d.ts +0 -84
  291. package/dist/shadcn/lib/base-ui/button.js +0 -51
  292. package/dist/shadcn/lib/base-ui/checkbox.d.ts +0 -341
  293. package/dist/shadcn/lib/base-ui/checkbox.js +0 -501
  294. package/dist/shadcn/lib/base-ui/collapsible.d.ts +0 -291
  295. package/dist/shadcn/lib/base-ui/collapsible.js +0 -264
  296. package/dist/shadcn/lib/base-ui/context-menu.d.ts +0 -2213
  297. package/dist/shadcn/lib/base-ui/context-menu.js +0 -323
  298. package/dist/shadcn/lib/base-ui/dialog.d.ts +0 -1448
  299. package/dist/shadcn/lib/base-ui/dialog.js +0 -79
  300. package/dist/shadcn/lib/base-ui/input.d.ts +0 -506
  301. package/dist/shadcn/lib/base-ui/input.js +0 -1027
  302. package/dist/shadcn/lib/base-ui/menu.d.ts +0 -2275
  303. package/dist/shadcn/lib/base-ui/menu.js +0 -60
  304. package/dist/shadcn/lib/base-ui/menubar.d.ts +0 -48
  305. package/dist/shadcn/lib/base-ui/menubar.js +0 -156
  306. package/dist/shadcn/lib/base-ui/merge-props.d.ts +0 -70
  307. package/dist/shadcn/lib/base-ui/merge-props.js +0 -15
  308. package/dist/shadcn/lib/base-ui/navigation-menu.d.ts +0 -825
  309. package/dist/shadcn/lib/base-ui/navigation-menu.js +0 -1849
  310. package/dist/shadcn/lib/base-ui/popover.d.ts +0 -1743
  311. package/dist/shadcn/lib/base-ui/popover.js +0 -1089
  312. package/dist/shadcn/lib/base-ui/preview-card.d.ts +0 -1608
  313. package/dist/shadcn/lib/base-ui/preview-card.js +0 -919
  314. package/dist/shadcn/lib/base-ui/progress.d.ts +0 -172
  315. package/dist/shadcn/lib/base-ui/progress.js +0 -272
  316. package/dist/shadcn/lib/base-ui/radio-group.d.ts +0 -260
  317. package/dist/shadcn/lib/base-ui/radio-group.js +0 -239
  318. package/dist/shadcn/lib/base-ui/radio.d.ts +0 -176
  319. package/dist/shadcn/lib/base-ui/radio.js +0 -387
  320. package/dist/shadcn/lib/base-ui/scroll-area.d.ts +0 -241
  321. package/dist/shadcn/lib/base-ui/scroll-area.js +0 -1055
  322. package/dist/shadcn/lib/base-ui/select.d.ts +0 -1266
  323. package/dist/shadcn/lib/base-ui/select.js +0 -2450
  324. package/dist/shadcn/lib/base-ui/separator.d.ts +0 -76
  325. package/dist/shadcn/lib/base-ui/separator.js +0 -11
  326. package/dist/shadcn/lib/base-ui/slider.d.ts +0 -551
  327. package/dist/shadcn/lib/base-ui/slider.js +0 -1583
  328. package/dist/shadcn/lib/base-ui/switch.d.ts +0 -313
  329. package/dist/shadcn/lib/base-ui/switch.js +0 -326
  330. package/dist/shadcn/lib/base-ui/tabs.d.ts +0 -406
  331. package/dist/shadcn/lib/base-ui/tabs.js +0 -915
  332. package/dist/shadcn/lib/base-ui/toggle-group.d.ts +0 -235
  333. package/dist/shadcn/lib/base-ui/toggle-group.js +0 -145
  334. package/dist/shadcn/lib/base-ui/toggle.d.ts +0 -224
  335. package/dist/shadcn/lib/base-ui/toggle.js +0 -127
  336. package/dist/shadcn/lib/base-ui/tooltip.d.ts +0 -1656
  337. package/dist/shadcn/lib/base-ui/tooltip.js +0 -920
  338. package/dist/shadcn/lib/base-ui/use-render.d.ts +0 -87
  339. package/dist/shadcn/lib/base-ui/use-render.js +0 -15
@@ -1,915 +0,0 @@
1
- /* @base-ui/react 1.5.0 — vendored (MIT — MUI Inc).
2
- * Refresh: scripts/vendor-base-ui.js (see header for instructions).
3
- * Do not edit by hand. */
4
- import {
5
- useIsHydrating
6
- } from "./_chunk-p0e2qacz.js";
7
- import {
8
- useCSPContext
9
- } from "./_chunk-watha94s.js";
10
- import {
11
- CompositeRoot
12
- } from "./_chunk-cdj8cpx5.js";
13
- import {
14
- ACTIVE_COMPOSITE_ITEM
15
- } from "./_chunk-5tt5hk59.js";
16
- import"./_chunk-dzvjwv25.js";
17
- import {
18
- useCompositeItem
19
- } from "./_chunk-j3qkyd10.js";
20
- import {
21
- getCssDimensions
22
- } from "./_chunk-xcqbtm2f.js";
23
- import {
24
- useCompositeListItem
25
- } from "./_chunk-3enq1vat.js";
26
- import"./_chunk-26cc610z.js";
27
- import {
28
- CompositeList
29
- } from "./_chunk-j29xjete.js";
30
- import"./_chunk-3xpke33f.js";
31
- import"./_chunk-gy0bpkmx.js";
32
- import {
33
- useControlled
34
- } from "./_chunk-9x63vfqj.js";
35
- import {
36
- inertValue
37
- } from "./_chunk-3cpd1vjz.js";
38
- import"./_chunk-1vw45v38.js";
39
- import {
40
- activeElement,
41
- contains
42
- } from "./_chunk-cgptgywc.js";
43
- import"./_chunk-pv7b791x.js";
44
- import"./_chunk-kw8nnq00.js";
45
- import"./_chunk-rrh8rt4v.js";
46
- import"./_chunk-x11e1k9r.js";
47
- import {
48
- ownerDocument
49
- } from "./_chunk-451nqgsa.js";
50
- import {
51
- createChangeEventDetails,
52
- exports_reason_parts
53
- } from "./_chunk-e56mpvk1.js";
54
- import {
55
- useBaseUiId
56
- } from "./_chunk-wdqynnjf.js";
57
- import {
58
- TransitionStatusDataAttributes,
59
- transitionStatusMapping,
60
- useOpenChangeComplete,
61
- useTransitionStatus
62
- } from "./_chunk-e13rsb6b.js";
63
- import"./_chunk-zk4mtm9m.js";
64
- import"./_chunk-8a9vv8am.js";
65
- import"./_chunk-6ejf1z1r.js";
66
- import {
67
- useButton
68
- } from "./_chunk-5xmdvndx.js";
69
- import"./_chunk-hm5h9vsk.js";
70
- import"./_chunk-cdgfsr3q.js";
71
- import"./_chunk-000kmre8.js";
72
- import {
73
- useStableCallback
74
- } from "./_chunk-cwvtvwc7.js";
75
- import {
76
- useIsoLayoutEffect
77
- } from "./_chunk-5tze5c8q.js";
78
- import {
79
- EMPTY_ARRAY,
80
- useRenderElement
81
- } from "./_chunk-x8xehj6d.js";
82
- import {
83
- __export
84
- } from "./_chunk-svxv97ph.js";
85
-
86
- // node_modules/@base-ui/react/esm/tabs/index.parts.js
87
- var exports_index_parts = {};
88
- __export(exports_index_parts, {
89
- Tab: () => TabsTab,
90
- Root: () => TabsRoot,
91
- Panel: () => TabsPanel,
92
- List: () => TabsList,
93
- Indicator: () => TabsIndicator
94
- });
95
-
96
- // node_modules/@base-ui/react/esm/tabs/root/TabsRoot.js
97
- import * as React2 from "react";
98
-
99
- // node_modules/@base-ui/react/esm/tabs/root/TabsRootContext.js
100
- import * as React from "react";
101
- "use client";
102
- var TabsRootContext = /* @__PURE__ */ React.createContext(undefined);
103
- if (true)
104
- TabsRootContext.displayName = "TabsRootContext";
105
- function useTabsRootContext() {
106
- const context = React.useContext(TabsRootContext);
107
- if (context === undefined) {
108
- throw new Error("Base UI: TabsRootContext is missing. Tabs parts must be placed within <Tabs.Root>.");
109
- }
110
- return context;
111
- }
112
-
113
- // node_modules/@base-ui/react/esm/tabs/root/TabsRootDataAttributes.js
114
- var TabsRootDataAttributes = /* @__PURE__ */ function(TabsRootDataAttributes2) {
115
- TabsRootDataAttributes2["activationDirection"] = "data-activation-direction";
116
- TabsRootDataAttributes2["orientation"] = "data-orientation";
117
- return TabsRootDataAttributes2;
118
- }({});
119
-
120
- // node_modules/@base-ui/react/esm/tabs/root/stateAttributesMapping.js
121
- var tabsStateAttributesMapping = {
122
- tabActivationDirection: (dir) => ({
123
- [TabsRootDataAttributes.activationDirection]: dir
124
- })
125
- };
126
-
127
- // node_modules/@base-ui/react/esm/tabs/root/TabsRoot.js
128
- import { jsx as _jsx } from "react/jsx-runtime";
129
- "use client";
130
- var TabsRoot = /* @__PURE__ */ React2.forwardRef(function TabsRoot2(componentProps, forwardedRef) {
131
- const {
132
- className,
133
- defaultValue: defaultValueProp = 0,
134
- onValueChange: onValueChangeProp,
135
- orientation = "horizontal",
136
- render,
137
- value: valueProp,
138
- style,
139
- ...elementProps
140
- } = componentProps;
141
- const hasExplicitDefaultValueProp = componentProps.defaultValue !== undefined;
142
- const tabPanelRefs = React2.useRef([]);
143
- const [mountedTabPanels, setMountedTabPanels] = React2.useState(() => new Map);
144
- const [value, setValue] = useControlled({
145
- controlled: valueProp,
146
- default: defaultValueProp,
147
- name: "Tabs",
148
- state: "value"
149
- });
150
- const isControlled = valueProp !== undefined;
151
- const [tabMap, setTabMap] = React2.useState(() => new Map);
152
- const getTabElementBySelectedValue = React2.useCallback((selectedValue) => {
153
- if (selectedValue === undefined) {
154
- return null;
155
- }
156
- for (const [tabElement, tabMetadata] of tabMap.entries()) {
157
- if (tabMetadata != null && selectedValue === (tabMetadata.value ?? tabMetadata.index)) {
158
- return tabElement;
159
- }
160
- }
161
- return null;
162
- }, [tabMap]);
163
- const [activationDirectionState, setActivationDirectionState] = React2.useState(() => ({
164
- previousValue: value,
165
- tabActivationDirection: "none"
166
- }));
167
- const {
168
- previousValue,
169
- tabActivationDirection: committedTabActivationDirection
170
- } = activationDirectionState;
171
- let tabActivationDirection = committedTabActivationDirection;
172
- let directionComputationIncomplete = false;
173
- if (previousValue !== value) {
174
- tabActivationDirection = computeActivationDirection(previousValue, value, orientation, tabMap);
175
- directionComputationIncomplete = previousValue != null && value != null && getTabElementBySelectedValue(value) == null;
176
- }
177
- const nextPreviousValue = directionComputationIncomplete ? previousValue : value;
178
- const shouldSyncActivationDirectionState = previousValue !== nextPreviousValue || committedTabActivationDirection !== tabActivationDirection;
179
- useIsoLayoutEffect(() => {
180
- if (!shouldSyncActivationDirectionState) {
181
- return;
182
- }
183
- setActivationDirectionState({
184
- previousValue: nextPreviousValue,
185
- tabActivationDirection
186
- });
187
- }, [nextPreviousValue, shouldSyncActivationDirectionState, tabActivationDirection]);
188
- const onValueChange = useStableCallback((newValue, eventDetails) => {
189
- const activationDirection = computeActivationDirection(value, newValue, orientation, tabMap);
190
- eventDetails.activationDirection = activationDirection;
191
- onValueChangeProp?.(newValue, eventDetails);
192
- if (eventDetails.isCanceled) {
193
- return;
194
- }
195
- setValue(newValue);
196
- });
197
- const notifyAutomaticValueChange = useStableCallback((nextValue, reason) => {
198
- onValueChangeProp?.(nextValue, createChangeEventDetails(reason, undefined, undefined, {
199
- activationDirection: "none"
200
- }));
201
- });
202
- const registerMountedTabPanel = useStableCallback((panelValue, panelId) => {
203
- setMountedTabPanels((prev) => {
204
- if (prev.get(panelValue) === panelId) {
205
- return prev;
206
- }
207
- const next = new Map(prev);
208
- next.set(panelValue, panelId);
209
- return next;
210
- });
211
- });
212
- const unregisterMountedTabPanel = useStableCallback((panelValue, panelId) => {
213
- setMountedTabPanels((prev) => {
214
- if (!prev.has(panelValue) || prev.get(panelValue) !== panelId) {
215
- return prev;
216
- }
217
- const next = new Map(prev);
218
- next.delete(panelValue);
219
- return next;
220
- });
221
- });
222
- const getTabPanelIdByValue = React2.useCallback((tabValue) => {
223
- return mountedTabPanels.get(tabValue);
224
- }, [mountedTabPanels]);
225
- const getTabIdByPanelValue = React2.useCallback((tabPanelValue) => {
226
- for (const tabMetadata of tabMap.values()) {
227
- if (tabPanelValue === tabMetadata?.value) {
228
- return tabMetadata?.id;
229
- }
230
- }
231
- return;
232
- }, [tabMap]);
233
- const tabsContextValue = React2.useMemo(() => ({
234
- getTabElementBySelectedValue,
235
- getTabIdByPanelValue,
236
- getTabPanelIdByValue,
237
- onValueChange,
238
- orientation,
239
- registerMountedTabPanel,
240
- setTabMap,
241
- unregisterMountedTabPanel,
242
- tabActivationDirection,
243
- value
244
- }), [getTabElementBySelectedValue, getTabIdByPanelValue, getTabPanelIdByValue, onValueChange, orientation, registerMountedTabPanel, setTabMap, unregisterMountedTabPanel, tabActivationDirection, value]);
245
- const selectedTabMetadata = React2.useMemo(() => {
246
- for (const tabMetadata of tabMap.values()) {
247
- if (tabMetadata != null && tabMetadata.value === value) {
248
- return tabMetadata;
249
- }
250
- }
251
- return;
252
- }, [tabMap, value]);
253
- const firstEnabledTabValue = React2.useMemo(() => {
254
- for (const tabMetadata of tabMap.values()) {
255
- if (tabMetadata != null && !tabMetadata.disabled) {
256
- return tabMetadata.value;
257
- }
258
- }
259
- return;
260
- }, [tabMap]);
261
- const shouldNotifyInitialValueChangeRef = React2.useRef(!hasExplicitDefaultValueProp);
262
- const shouldHonorDisabledDefaultValueRef = React2.useRef(hasExplicitDefaultValueProp);
263
- const didRegisterTabsRef = React2.useRef(false);
264
- useIsoLayoutEffect(() => {
265
- if (isControlled) {
266
- return;
267
- }
268
- function commitAutomaticValueChange(fallbackValue, fallbackReason) {
269
- setValue(fallbackValue);
270
- setActivationDirectionState((prev) => {
271
- if (prev.previousValue === fallbackValue && prev.tabActivationDirection === "none") {
272
- return prev;
273
- }
274
- return {
275
- previousValue: fallbackValue,
276
- tabActivationDirection: "none"
277
- };
278
- });
279
- notifyAutomaticValueChange(fallbackValue, fallbackReason);
280
- shouldNotifyInitialValueChangeRef.current = false;
281
- }
282
- if (tabMap.size === 0) {
283
- if (!didRegisterTabsRef.current || value === null) {
284
- return;
285
- }
286
- commitAutomaticValueChange(null, exports_reason_parts.missing);
287
- return;
288
- }
289
- didRegisterTabsRef.current = true;
290
- const selectionIsDisabled = selectedTabMetadata?.disabled;
291
- const selectionIsMissing = selectedTabMetadata == null && value !== null;
292
- if (!selectionIsDisabled && value === defaultValueProp) {
293
- shouldHonorDisabledDefaultValueRef.current = false;
294
- }
295
- if (shouldHonorDisabledDefaultValueRef.current && selectionIsDisabled && value === defaultValueProp) {
296
- return;
297
- }
298
- const shouldNotifyInitialValueChange = shouldNotifyInitialValueChangeRef.current;
299
- if (selectionIsDisabled || selectionIsMissing) {
300
- const fallbackValue = firstEnabledTabValue ?? null;
301
- if (value === fallbackValue) {
302
- shouldNotifyInitialValueChangeRef.current = false;
303
- return;
304
- }
305
- let fallbackReason = exports_reason_parts.missing;
306
- if (shouldNotifyInitialValueChange) {
307
- fallbackReason = exports_reason_parts.initial;
308
- } else if (selectionIsDisabled) {
309
- fallbackReason = exports_reason_parts.disabled;
310
- }
311
- commitAutomaticValueChange(fallbackValue, fallbackReason);
312
- return;
313
- }
314
- if (shouldNotifyInitialValueChange && selectedTabMetadata != null) {
315
- notifyAutomaticValueChange(value, exports_reason_parts.initial);
316
- shouldNotifyInitialValueChangeRef.current = false;
317
- }
318
- }, [defaultValueProp, firstEnabledTabValue, isControlled, notifyAutomaticValueChange, selectedTabMetadata, setValue, tabMap, value]);
319
- const state = {
320
- orientation,
321
- tabActivationDirection
322
- };
323
- const element = useRenderElement("div", componentProps, {
324
- state,
325
- ref: forwardedRef,
326
- props: elementProps,
327
- stateAttributesMapping: tabsStateAttributesMapping
328
- });
329
- return /* @__PURE__ */ _jsx(TabsRootContext.Provider, {
330
- value: tabsContextValue,
331
- children: /* @__PURE__ */ _jsx(CompositeList, {
332
- elementsRef: tabPanelRefs,
333
- children: element
334
- })
335
- });
336
- });
337
- if (true)
338
- TabsRoot.displayName = "TabsRoot";
339
- function computeActivationDirection(oldValue, newValue, orientation, tabMap) {
340
- if (oldValue == null || newValue == null) {
341
- return "none";
342
- }
343
- let oldTab = null;
344
- let newTab = null;
345
- for (const [tabElement, tabMetadata] of tabMap.entries()) {
346
- if (tabMetadata == null) {
347
- continue;
348
- }
349
- const tabValue = tabMetadata.value ?? tabMetadata.index;
350
- if (oldValue === tabValue) {
351
- oldTab = tabElement;
352
- }
353
- if (newValue === tabValue) {
354
- newTab = tabElement;
355
- }
356
- if (oldTab != null && newTab != null) {
357
- break;
358
- }
359
- }
360
- if (oldTab == null || newTab == null) {
361
- if (oldTab !== newTab && (typeof oldValue === "number" || typeof oldValue === "string") && typeof oldValue === typeof newValue) {
362
- if (orientation === "horizontal") {
363
- return newValue > oldValue ? "right" : "left";
364
- }
365
- return newValue > oldValue ? "down" : "up";
366
- }
367
- return "none";
368
- }
369
- const oldRect = oldTab.getBoundingClientRect();
370
- const newRect = newTab.getBoundingClientRect();
371
- if (orientation === "horizontal") {
372
- if (newRect.left < oldRect.left) {
373
- return "left";
374
- }
375
- if (newRect.left > oldRect.left) {
376
- return "right";
377
- }
378
- } else {
379
- if (newRect.top < oldRect.top) {
380
- return "up";
381
- }
382
- if (newRect.top > oldRect.top) {
383
- return "down";
384
- }
385
- }
386
- return "none";
387
- }
388
- // node_modules/@base-ui/react/esm/tabs/tab/TabsTab.js
389
- import * as React4 from "react";
390
-
391
- // node_modules/@base-ui/react/esm/tabs/list/TabsListContext.js
392
- import * as React3 from "react";
393
- "use client";
394
- var TabsListContext = /* @__PURE__ */ React3.createContext(undefined);
395
- if (true)
396
- TabsListContext.displayName = "TabsListContext";
397
- function useTabsListContext() {
398
- const context = React3.useContext(TabsListContext);
399
- if (context === undefined) {
400
- throw new Error("Base UI: TabsListContext is missing. TabsList parts must be placed within <Tabs.List>.");
401
- }
402
- return context;
403
- }
404
-
405
- // node_modules/@base-ui/react/esm/tabs/tab/TabsTab.js
406
- "use client";
407
- var TabsTab = /* @__PURE__ */ React4.forwardRef(function TabsTab2(componentProps, forwardedRef) {
408
- const {
409
- className,
410
- disabled = false,
411
- render,
412
- value,
413
- id: idProp,
414
- nativeButton = true,
415
- style,
416
- ...elementProps
417
- } = componentProps;
418
- const {
419
- value: activeTabValue,
420
- getTabPanelIdByValue,
421
- orientation
422
- } = useTabsRootContext();
423
- const {
424
- activateOnFocus,
425
- highlightedTabIndex,
426
- onTabActivation,
427
- registerTabResizeObserverElement,
428
- setHighlightedTabIndex,
429
- tabsListElement
430
- } = useTabsListContext();
431
- const id = useBaseUiId(idProp);
432
- const tabMetadata = React4.useMemo(() => ({
433
- disabled,
434
- id,
435
- value
436
- }), [disabled, id, value]);
437
- const {
438
- compositeProps,
439
- compositeRef,
440
- index
441
- } = useCompositeItem({
442
- metadata: tabMetadata
443
- });
444
- const active = value === activeTabValue;
445
- const isNavigatingRef = React4.useRef(false);
446
- const tabElementRef = React4.useRef(null);
447
- React4.useEffect(() => {
448
- const tabElement = tabElementRef.current;
449
- if (!tabElement) {
450
- return;
451
- }
452
- return registerTabResizeObserverElement(tabElement);
453
- }, [registerTabResizeObserverElement]);
454
- useIsoLayoutEffect(() => {
455
- if (isNavigatingRef.current) {
456
- isNavigatingRef.current = false;
457
- return;
458
- }
459
- if (!(active && index > -1 && highlightedTabIndex !== index)) {
460
- return;
461
- }
462
- const listElement = tabsListElement;
463
- if (listElement != null) {
464
- const activeEl = activeElement(ownerDocument(listElement));
465
- if (activeEl && contains(listElement, activeEl)) {
466
- return;
467
- }
468
- }
469
- if (!disabled) {
470
- setHighlightedTabIndex(index);
471
- }
472
- }, [active, index, highlightedTabIndex, setHighlightedTabIndex, disabled, tabsListElement]);
473
- const {
474
- getButtonProps,
475
- buttonRef
476
- } = useButton({
477
- disabled,
478
- native: nativeButton,
479
- focusableWhenDisabled: true
480
- });
481
- const tabPanelId = getTabPanelIdByValue(value);
482
- const isPressingRef = React4.useRef(false);
483
- const isMainButtonRef = React4.useRef(false);
484
- function onClick(event) {
485
- if (active || disabled) {
486
- return;
487
- }
488
- onTabActivation(value, createChangeEventDetails(exports_reason_parts.none, event.nativeEvent, undefined, {
489
- activationDirection: "none"
490
- }));
491
- }
492
- function onFocus(event) {
493
- if (active) {
494
- return;
495
- }
496
- if (index > -1 && !disabled) {
497
- setHighlightedTabIndex(index);
498
- }
499
- if (disabled) {
500
- return;
501
- }
502
- if (activateOnFocus && (!isPressingRef.current || isPressingRef.current && isMainButtonRef.current)) {
503
- onTabActivation(value, createChangeEventDetails(exports_reason_parts.none, event.nativeEvent, undefined, {
504
- activationDirection: "none"
505
- }));
506
- }
507
- }
508
- function onPointerDown(event) {
509
- if (active || disabled) {
510
- return;
511
- }
512
- isPressingRef.current = true;
513
- function handlePointerUp() {
514
- isPressingRef.current = false;
515
- isMainButtonRef.current = false;
516
- }
517
- if (!event.button || event.button === 0) {
518
- isMainButtonRef.current = true;
519
- const doc = ownerDocument(event.currentTarget);
520
- doc.addEventListener("pointerup", handlePointerUp, {
521
- once: true
522
- });
523
- }
524
- }
525
- const state = {
526
- disabled,
527
- active,
528
- orientation
529
- };
530
- const element = useRenderElement("button", componentProps, {
531
- state,
532
- ref: [forwardedRef, buttonRef, compositeRef, tabElementRef],
533
- props: [compositeProps, {
534
- role: "tab",
535
- "aria-controls": tabPanelId,
536
- "aria-selected": active,
537
- id,
538
- onClick,
539
- onFocus,
540
- onPointerDown,
541
- [ACTIVE_COMPOSITE_ITEM]: active ? "" : undefined,
542
- onKeyDownCapture() {
543
- isNavigatingRef.current = true;
544
- }
545
- }, elementProps, getButtonProps]
546
- });
547
- return element;
548
- });
549
- if (true)
550
- TabsTab.displayName = "TabsTab";
551
- // node_modules/@base-ui/react/esm/tabs/indicator/TabsIndicator.js
552
- import * as React6 from "react";
553
-
554
- // node_modules/@base-ui/utils/esm/useForcedRerendering.js
555
- import * as React5 from "react";
556
- "use client";
557
- function useForcedRerendering() {
558
- const [, setState] = React5.useState({});
559
- return React5.useCallback(() => {
560
- setState({});
561
- }, []);
562
- }
563
-
564
- // node_modules/@base-ui/react/esm/tabs/indicator/prehydrationScript.min.js
565
- var script = '!function(){const t=document.currentScript.previousElementSibling;if(!t)return;const e=t.closest(\'[role="tablist"]\');if(!e)return;const i=e.querySelector("[data-active]");if(!i)return;if(0===i.offsetWidth||0===e.offsetWidth)return;let o=0,n=0,h=0,l=0,r=0,f=0;function s(t){const e=getComputedStyle(t);let i=parseFloat(e.width)||0,o=parseFloat(e.height)||0;return(Math.round(i)!==t.offsetWidth||Math.round(o)!==t.offsetHeight)&&(i=t.offsetWidth,o=t.offsetHeight),{width:i,height:o}}if(null!=i&&null!=e){const{width:t,height:c}=s(i),{width:u,height:d}=s(e),a=i.getBoundingClientRect(),g=e.getBoundingClientRect(),p=u>0?g.width/u:1,b=d>0?g.height/d:1;if(Math.abs(p)>Number.EPSILON&&Math.abs(b)>Number.EPSILON){const t=a.left-g.left,i=a.top-g.top;o=t/p+e.scrollLeft-e.clientLeft,h=i/b+e.scrollTop-e.clientTop}else o=i.offsetLeft,h=i.offsetTop;r=t,f=c,n=e.scrollWidth-o-r,l=e.scrollHeight-h-f}function c(e,i){t.style.setProperty(`--active-tab-${e}`,`${i}px`)}c("left",o),c("right",n),c("top",h),c("bottom",l),c("width",r),c("height",f),r>0&&f>0&&t.removeAttribute("hidden")}();';
566
-
567
- // node_modules/@base-ui/react/esm/tabs/indicator/TabsIndicatorCssVars.js
568
- var TabsIndicatorCssVars = /* @__PURE__ */ function(TabsIndicatorCssVars2) {
569
- TabsIndicatorCssVars2["activeTabLeft"] = "--active-tab-left";
570
- TabsIndicatorCssVars2["activeTabRight"] = "--active-tab-right";
571
- TabsIndicatorCssVars2["activeTabTop"] = "--active-tab-top";
572
- TabsIndicatorCssVars2["activeTabBottom"] = "--active-tab-bottom";
573
- TabsIndicatorCssVars2["activeTabWidth"] = "--active-tab-width";
574
- TabsIndicatorCssVars2["activeTabHeight"] = "--active-tab-height";
575
- return TabsIndicatorCssVars2;
576
- }({});
577
-
578
- // node_modules/@base-ui/react/esm/tabs/indicator/TabsIndicator.js
579
- import { jsx as _jsx2, jsxs as _jsxs } from "react/jsx-runtime";
580
- "use client";
581
- var stateAttributesMapping = {
582
- ...tabsStateAttributesMapping,
583
- activeTabPosition: () => null,
584
- activeTabSize: () => null
585
- };
586
- var TabsIndicator = /* @__PURE__ */ React6.forwardRef(function TabsIndicator2(componentProps, forwardedRef) {
587
- const {
588
- className,
589
- render,
590
- renderBeforeHydration = false,
591
- style: styleProp,
592
- ...elementProps
593
- } = componentProps;
594
- const {
595
- nonce
596
- } = useCSPContext();
597
- const {
598
- getTabElementBySelectedValue,
599
- orientation,
600
- tabActivationDirection,
601
- value
602
- } = useTabsRootContext();
603
- const {
604
- tabsListElement,
605
- registerIndicatorUpdateListener
606
- } = useTabsListContext();
607
- const isHydrating = useIsHydrating();
608
- const rerender = useForcedRerendering();
609
- React6.useEffect(() => {
610
- return registerIndicatorUpdateListener(rerender);
611
- }, [registerIndicatorUpdateListener, rerender]);
612
- let left = 0;
613
- let right = 0;
614
- let top = 0;
615
- let bottom = 0;
616
- let width = 0;
617
- let height = 0;
618
- let isTabSelected = false;
619
- if (value != null && tabsListElement != null) {
620
- const activeTab = getTabElementBySelectedValue(value);
621
- isTabSelected = true;
622
- if (activeTab != null) {
623
- const {
624
- width: computedWidth,
625
- height: computedHeight
626
- } = getCssDimensions(activeTab);
627
- const {
628
- width: tabListWidth,
629
- height: tabListHeight
630
- } = getCssDimensions(tabsListElement);
631
- const tabRect = activeTab.getBoundingClientRect();
632
- const tabsListRect = tabsListElement.getBoundingClientRect();
633
- const scaleX = tabListWidth > 0 ? tabsListRect.width / tabListWidth : 1;
634
- const scaleY = tabListHeight > 0 ? tabsListRect.height / tabListHeight : 1;
635
- const hasNonZeroScale = Math.abs(scaleX) > Number.EPSILON && Math.abs(scaleY) > Number.EPSILON;
636
- if (hasNonZeroScale) {
637
- const tabLeftDelta = tabRect.left - tabsListRect.left;
638
- const tabTopDelta = tabRect.top - tabsListRect.top;
639
- left = tabLeftDelta / scaleX + tabsListElement.scrollLeft - tabsListElement.clientLeft;
640
- top = tabTopDelta / scaleY + tabsListElement.scrollTop - tabsListElement.clientTop;
641
- } else {
642
- left = activeTab.offsetLeft;
643
- top = activeTab.offsetTop;
644
- }
645
- width = computedWidth;
646
- height = computedHeight;
647
- right = tabsListElement.scrollWidth - left - width;
648
- bottom = tabsListElement.scrollHeight - top - height;
649
- }
650
- }
651
- const activeTabPosition = isTabSelected ? {
652
- left,
653
- right,
654
- top,
655
- bottom
656
- } : null;
657
- const activeTabSize = isTabSelected ? {
658
- width,
659
- height
660
- } : null;
661
- const style = isTabSelected ? {
662
- [TabsIndicatorCssVars.activeTabLeft]: `${left}px`,
663
- [TabsIndicatorCssVars.activeTabRight]: `${right}px`,
664
- [TabsIndicatorCssVars.activeTabTop]: `${top}px`,
665
- [TabsIndicatorCssVars.activeTabBottom]: `${bottom}px`,
666
- [TabsIndicatorCssVars.activeTabWidth]: `${width}px`,
667
- [TabsIndicatorCssVars.activeTabHeight]: `${height}px`
668
- } : undefined;
669
- const displayIndicator = isTabSelected && width > 0 && height > 0;
670
- const state = {
671
- orientation,
672
- activeTabPosition,
673
- activeTabSize,
674
- tabActivationDirection
675
- };
676
- const element = useRenderElement("span", componentProps, {
677
- state,
678
- ref: forwardedRef,
679
- props: [{
680
- role: "presentation",
681
- style,
682
- hidden: !displayIndicator
683
- }, elementProps, {
684
- suppressHydrationWarning: true
685
- }],
686
- stateAttributesMapping
687
- });
688
- if (value == null) {
689
- return null;
690
- }
691
- return /* @__PURE__ */ _jsxs(React6.Fragment, {
692
- children: [element, isHydrating && renderBeforeHydration && /* @__PURE__ */ _jsx2("script", {
693
- nonce,
694
- dangerouslySetInnerHTML: {
695
- __html: script
696
- },
697
- suppressHydrationWarning: true
698
- })]
699
- });
700
- });
701
- if (true)
702
- TabsIndicator.displayName = "TabsIndicator";
703
- // node_modules/@base-ui/react/esm/tabs/panel/TabsPanel.js
704
- import * as React7 from "react";
705
-
706
- // node_modules/@base-ui/react/esm/tabs/panel/TabsPanelDataAttributes.js
707
- var TabsPanelDataAttributes = function(TabsPanelDataAttributes2) {
708
- TabsPanelDataAttributes2["index"] = "data-index";
709
- TabsPanelDataAttributes2["activationDirection"] = "data-activation-direction";
710
- TabsPanelDataAttributes2["orientation"] = "data-orientation";
711
- TabsPanelDataAttributes2["hidden"] = "data-hidden";
712
- TabsPanelDataAttributes2[TabsPanelDataAttributes2["startingStyle"] = TransitionStatusDataAttributes.startingStyle] = "startingStyle";
713
- TabsPanelDataAttributes2[TabsPanelDataAttributes2["endingStyle"] = TransitionStatusDataAttributes.endingStyle] = "endingStyle";
714
- return TabsPanelDataAttributes2;
715
- }({});
716
-
717
- // node_modules/@base-ui/react/esm/tabs/panel/TabsPanel.js
718
- "use client";
719
- var stateAttributesMapping2 = {
720
- ...tabsStateAttributesMapping,
721
- ...transitionStatusMapping
722
- };
723
- var TabsPanel = /* @__PURE__ */ React7.forwardRef(function TabsPanel2(componentProps, forwardedRef) {
724
- const {
725
- className,
726
- value,
727
- render,
728
- keepMounted = false,
729
- style,
730
- ...elementProps
731
- } = componentProps;
732
- const {
733
- value: selectedValue,
734
- getTabIdByPanelValue,
735
- orientation,
736
- tabActivationDirection,
737
- registerMountedTabPanel,
738
- unregisterMountedTabPanel
739
- } = useTabsRootContext();
740
- const id = useBaseUiId();
741
- const metadata = React7.useMemo(() => ({
742
- id,
743
- value
744
- }), [id, value]);
745
- const {
746
- ref: listItemRef,
747
- index
748
- } = useCompositeListItem({
749
- metadata
750
- });
751
- const open = value === selectedValue;
752
- const {
753
- mounted,
754
- transitionStatus,
755
- setMounted
756
- } = useTransitionStatus(open);
757
- const hidden = !mounted;
758
- const correspondingTabId = getTabIdByPanelValue(value);
759
- const state = {
760
- hidden,
761
- orientation,
762
- tabActivationDirection,
763
- transitionStatus
764
- };
765
- const panelRef = React7.useRef(null);
766
- const element = useRenderElement("div", componentProps, {
767
- state,
768
- ref: [forwardedRef, listItemRef, panelRef],
769
- props: [{
770
- "aria-labelledby": correspondingTabId,
771
- hidden,
772
- id,
773
- role: "tabpanel",
774
- tabIndex: open ? 0 : -1,
775
- inert: inertValue(!open),
776
- [TabsPanelDataAttributes.index]: index
777
- }, elementProps],
778
- stateAttributesMapping: stateAttributesMapping2
779
- });
780
- useOpenChangeComplete({
781
- open,
782
- ref: panelRef,
783
- onComplete() {
784
- if (!open) {
785
- setMounted(false);
786
- }
787
- }
788
- });
789
- useIsoLayoutEffect(() => {
790
- if (hidden && !keepMounted) {
791
- return;
792
- }
793
- if (id == null) {
794
- return;
795
- }
796
- registerMountedTabPanel(value, id);
797
- return () => {
798
- unregisterMountedTabPanel(value, id);
799
- };
800
- }, [hidden, keepMounted, value, id, registerMountedTabPanel, unregisterMountedTabPanel]);
801
- const shouldRender = keepMounted || mounted;
802
- if (!shouldRender) {
803
- return null;
804
- }
805
- return element;
806
- });
807
- if (true)
808
- TabsPanel.displayName = "TabsPanel";
809
- // node_modules/@base-ui/react/esm/tabs/list/TabsList.js
810
- import * as React8 from "react";
811
- import { jsx as _jsx3 } from "react/jsx-runtime";
812
- "use client";
813
- var TabsList = /* @__PURE__ */ React8.forwardRef(function TabsList2(componentProps, forwardedRef) {
814
- const {
815
- activateOnFocus = false,
816
- className,
817
- loopFocus = true,
818
- render,
819
- style,
820
- ...elementProps
821
- } = componentProps;
822
- const {
823
- onValueChange,
824
- orientation,
825
- value,
826
- setTabMap,
827
- tabActivationDirection
828
- } = useTabsRootContext();
829
- const [highlightedTabIndex, setHighlightedTabIndex] = React8.useState(0);
830
- const [tabsListElement, setTabsListElement] = React8.useState(null);
831
- const indicatorUpdateListenersRef = React8.useRef(new Set);
832
- const tabResizeObserverElementsRef = React8.useRef(new Set);
833
- const resizeObserverRef = React8.useRef(null);
834
- React8.useEffect(() => {
835
- if (typeof ResizeObserver === "undefined") {
836
- return;
837
- }
838
- const resizeObserver = new ResizeObserver(() => {
839
- indicatorUpdateListenersRef.current.forEach((listener) => {
840
- listener();
841
- });
842
- });
843
- resizeObserverRef.current = resizeObserver;
844
- if (tabsListElement) {
845
- resizeObserver.observe(tabsListElement);
846
- }
847
- tabResizeObserverElementsRef.current.forEach((element) => {
848
- resizeObserver.observe(element);
849
- });
850
- return () => {
851
- resizeObserver.disconnect();
852
- resizeObserverRef.current = null;
853
- };
854
- }, [tabsListElement]);
855
- const registerIndicatorUpdateListener = useStableCallback((listener) => {
856
- indicatorUpdateListenersRef.current.add(listener);
857
- return () => {
858
- indicatorUpdateListenersRef.current.delete(listener);
859
- };
860
- });
861
- const registerTabResizeObserverElement = useStableCallback((element) => {
862
- tabResizeObserverElementsRef.current.add(element);
863
- resizeObserverRef.current?.observe(element);
864
- return () => {
865
- tabResizeObserverElementsRef.current.delete(element);
866
- resizeObserverRef.current?.unobserve(element);
867
- };
868
- });
869
- const onTabActivation = useStableCallback((newValue, eventDetails) => {
870
- if (newValue !== value) {
871
- onValueChange(newValue, eventDetails);
872
- }
873
- });
874
- const state = {
875
- orientation,
876
- tabActivationDirection
877
- };
878
- const defaultProps = {
879
- "aria-orientation": orientation === "vertical" ? "vertical" : undefined,
880
- role: "tablist"
881
- };
882
- const tabsListContextValue = React8.useMemo(() => ({
883
- activateOnFocus,
884
- highlightedTabIndex,
885
- registerIndicatorUpdateListener,
886
- registerTabResizeObserverElement,
887
- onTabActivation,
888
- setHighlightedTabIndex,
889
- tabsListElement
890
- }), [activateOnFocus, highlightedTabIndex, registerIndicatorUpdateListener, registerTabResizeObserverElement, onTabActivation, setHighlightedTabIndex, tabsListElement]);
891
- return /* @__PURE__ */ _jsx3(TabsListContext.Provider, {
892
- value: tabsListContextValue,
893
- children: /* @__PURE__ */ _jsx3(CompositeRoot, {
894
- render,
895
- className,
896
- style,
897
- state,
898
- refs: [forwardedRef, setTabsListElement],
899
- props: [defaultProps, elementProps],
900
- stateAttributesMapping: tabsStateAttributesMapping,
901
- highlightedIndex: highlightedTabIndex,
902
- enableHomeAndEndKeys: true,
903
- loopFocus,
904
- orientation,
905
- onHighlightedIndexChange: setHighlightedTabIndex,
906
- onMapChange: setTabMap,
907
- disabledIndices: EMPTY_ARRAY
908
- })
909
- });
910
- });
911
- if (true)
912
- TabsList.displayName = "TabsList";
913
- export {
914
- exports_index_parts as Tabs
915
- };