@neut/ui 0.0.9 → 0.0.11

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 (620) hide show
  1. package/dist/components/accordion/Accordion/Accordion.context.js.map +1 -1
  2. package/dist/components/accordion/Accordion/Accordion.js +21 -20
  3. package/dist/components/accordion/Accordion/Accordion.js.map +1 -1
  4. package/dist/components/accordion/Accordion/Accordion.styles.d.ts +2 -0
  5. package/dist/components/accordion/Accordion/Accordion.styles.js +7 -0
  6. package/dist/components/accordion/Accordion/Accordion.styles.js.map +1 -0
  7. package/dist/components/accordion/Accordion/useAccordion.js +1 -3
  8. package/dist/components/accordion/Accordion/useAccordion.js.map +1 -1
  9. package/dist/components/accordion/AccordionContent/AccordionContent.js +25 -21
  10. package/dist/components/accordion/AccordionContent/AccordionContent.js.map +1 -1
  11. package/dist/components/accordion/AccordionContent/AccordionContent.styles.d.ts +5 -0
  12. package/dist/components/accordion/AccordionContent/AccordionContent.styles.js +9 -0
  13. package/dist/components/accordion/AccordionContent/AccordionContent.styles.js.map +1 -0
  14. package/dist/components/accordion/AccordionContent/index.d.ts +1 -0
  15. package/dist/components/accordion/AccordionItem/AccordionItem.context.js.map +1 -1
  16. package/dist/components/accordion/AccordionItem/AccordionItem.js +19 -18
  17. package/dist/components/accordion/AccordionItem/AccordionItem.js.map +1 -1
  18. package/dist/components/accordion/AccordionItem/AccordionItem.styles.d.ts +2 -0
  19. package/dist/components/accordion/AccordionItem/AccordionItem.styles.js +6 -0
  20. package/dist/components/accordion/AccordionItem/AccordionItem.styles.js.map +1 -0
  21. package/dist/components/accordion/AccordionItem/index.d.ts +1 -0
  22. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js +26 -18
  23. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js.map +1 -1
  24. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.d.ts +6 -0
  25. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.js +10 -0
  26. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.js.map +1 -0
  27. package/dist/components/accordion/AccordionTrigger/index.d.ts +1 -0
  28. package/dist/components/accordion/index.d.ts +4 -4
  29. package/dist/components/accordion/index.js +6 -5
  30. package/dist/components/alert/Alert/Alert.js +1 -1
  31. package/dist/components/alert/Alert/Alert.js.map +1 -1
  32. package/dist/components/alert/Alert/Alert.styles.js +3 -3
  33. package/dist/components/alert/Alert/Alert.styles.js.map +1 -1
  34. package/dist/components/alert/AlertAction/AlertAction.js +2 -2
  35. package/dist/components/alert/AlertAction/AlertAction.js.map +1 -1
  36. package/dist/components/alert/AlertAction/AlertAction.styles.d.ts +2 -1
  37. package/dist/components/alert/AlertAction/AlertAction.styles.js +1 -1
  38. package/dist/components/alert/AlertAction/AlertAction.styles.js.map +1 -1
  39. package/dist/components/alert/AlertDescription/AlertDescription.js +2 -2
  40. package/dist/components/alert/AlertDescription/AlertDescription.js.map +1 -1
  41. package/dist/components/alert/AlertDescription/AlertDescription.styles.d.ts +2 -1
  42. package/dist/components/alert/AlertDescription/AlertDescription.styles.js +2 -2
  43. package/dist/components/alert/AlertDescription/AlertDescription.styles.js.map +1 -1
  44. package/dist/components/alert/AlertTitle/AlertTitle.js +2 -2
  45. package/dist/components/alert/AlertTitle/AlertTitle.js.map +1 -1
  46. package/dist/components/alert/AlertTitle/AlertTitle.styles.d.ts +2 -1
  47. package/dist/components/alert/AlertTitle/AlertTitle.styles.js +2 -2
  48. package/dist/components/alert/AlertTitle/AlertTitle.styles.js.map +1 -1
  49. package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.js.map +1 -1
  50. package/dist/components/alert-dialog/AlertDialog/AlertDialog.js +1 -1
  51. package/dist/components/alert-dialog/AlertDialog/AlertDialog.js.map +1 -1
  52. package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.js.map +1 -1
  53. package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js +3 -3
  54. package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js.map +1 -1
  55. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.js.map +1 -1
  56. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js +11 -11
  57. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js.map +1 -1
  58. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.d.ts +2 -1
  59. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js +2 -2
  60. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js.map +1 -1
  61. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js +2 -2
  62. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js.map +1 -1
  63. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.d.ts +2 -1
  64. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js +2 -2
  65. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js.map +1 -1
  66. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js +2 -2
  67. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js.map +1 -1
  68. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.d.ts +2 -1
  69. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js +2 -2
  70. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js.map +1 -1
  71. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js +2 -2
  72. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js.map +1 -1
  73. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.d.ts +2 -1
  74. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js +2 -2
  75. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js.map +1 -1
  76. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js +2 -2
  77. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js.map +1 -1
  78. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.d.ts +2 -1
  79. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js +2 -2
  80. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js.map +1 -1
  81. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js +2 -2
  82. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js.map +1 -1
  83. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.d.ts +2 -1
  84. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js +2 -2
  85. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js.map +1 -1
  86. package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js +1 -1
  87. package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js.map +1 -1
  88. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js +2 -2
  89. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js.map +1 -1
  90. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.d.ts +2 -1
  91. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js +2 -2
  92. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js.map +1 -1
  93. package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.js.map +1 -1
  94. package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.js.map +1 -1
  95. package/dist/components/aspect-ratio/AspectRatio.js +1 -1
  96. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  97. package/dist/components/aspect-ratio/AspectRatio.styles.js.map +1 -1
  98. package/dist/components/avatar/Avatar/Avatar.context.js.map +1 -1
  99. package/dist/components/avatar/Avatar/Avatar.js +9 -9
  100. package/dist/components/avatar/Avatar/Avatar.js.map +1 -1
  101. package/dist/components/avatar/AvatarBadge/AvatarBadge.js +1 -1
  102. package/dist/components/avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  103. package/dist/components/avatar/AvatarFallback/AvatarFallback.js +1 -1
  104. package/dist/components/avatar/AvatarFallback/AvatarFallback.js.map +1 -1
  105. package/dist/components/avatar/AvatarGroup/AvatarGroup.js +1 -1
  106. package/dist/components/avatar/AvatarGroup/AvatarGroup.js.map +1 -1
  107. package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js +1 -1
  108. package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js.map +1 -1
  109. package/dist/components/avatar/AvatarImage/AvatarImage.js +1 -1
  110. package/dist/components/avatar/AvatarImage/AvatarImage.js.map +1 -1
  111. package/dist/components/badge/Badge.js +1 -1
  112. package/dist/components/badge/Badge.js.map +1 -1
  113. package/dist/components/badge/Badge.styles.js +9 -10
  114. package/dist/components/badge/Badge.styles.js.map +1 -1
  115. package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.js +1 -1
  116. package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.js.map +1 -1
  117. package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js +1 -1
  118. package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js.map +1 -1
  119. package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js +1 -1
  120. package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  121. package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js +6 -6
  122. package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
  123. package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js +1 -1
  124. package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js.map +1 -1
  125. package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js +1 -1
  126. package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js.map +1 -1
  127. package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js +1 -1
  128. package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js.map +1 -1
  129. package/dist/components/button/Button.js +34 -31
  130. package/dist/components/button/Button.js.map +1 -1
  131. package/dist/components/button/Button.styles.d.ts +1 -1
  132. package/dist/components/button/Button.styles.js +10 -10
  133. package/dist/components/button/Button.styles.js.map +1 -1
  134. package/dist/components/button/Button.types.d.ts +4 -30
  135. package/dist/components/button-group/ButtonGroup/ButtonGroup.js +1 -1
  136. package/dist/components/button-group/ButtonGroup/ButtonGroup.js.map +1 -1
  137. package/dist/components/button-group/ButtonGroup/ButtonGroup.styles.js.map +1 -1
  138. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.js +1 -1
  139. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.js.map +1 -1
  140. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.d.ts +2 -1
  141. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.js +2 -3
  142. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.js.map +1 -1
  143. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js +2 -2
  144. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js.map +1 -1
  145. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.d.ts +2 -1
  146. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.js +2 -3
  147. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.js.map +1 -1
  148. package/dist/components/card/Card/Card.js +6 -6
  149. package/dist/components/card/Card/Card.js.map +1 -1
  150. package/dist/components/card/Card/Card.styles.d.ts +2 -1
  151. package/dist/components/card/Card/Card.styles.js +2 -2
  152. package/dist/components/card/Card/Card.styles.js.map +1 -1
  153. package/dist/components/card/CardAction/CardAction.js +2 -2
  154. package/dist/components/card/CardAction/CardAction.js.map +1 -1
  155. package/dist/components/card/CardAction/CardAction.styles.d.ts +2 -1
  156. package/dist/components/card/CardAction/CardAction.styles.js +1 -1
  157. package/dist/components/card/CardAction/CardAction.styles.js.map +1 -1
  158. package/dist/components/card/CardContent/CardContent.js +2 -2
  159. package/dist/components/card/CardContent/CardContent.js.map +1 -1
  160. package/dist/components/card/CardContent/CardContent.styles.d.ts +2 -1
  161. package/dist/components/card/CardContent/CardContent.styles.js +2 -2
  162. package/dist/components/card/CardContent/CardContent.styles.js.map +1 -1
  163. package/dist/components/card/CardDescription/CardDescription.js +2 -2
  164. package/dist/components/card/CardDescription/CardDescription.js.map +1 -1
  165. package/dist/components/card/CardDescription/CardDescription.styles.d.ts +2 -1
  166. package/dist/components/card/CardDescription/CardDescription.styles.js +2 -2
  167. package/dist/components/card/CardDescription/CardDescription.styles.js.map +1 -1
  168. package/dist/components/card/CardFooter/CardFooter.js +2 -2
  169. package/dist/components/card/CardFooter/CardFooter.js.map +1 -1
  170. package/dist/components/card/CardFooter/CardFooter.styles.d.ts +2 -1
  171. package/dist/components/card/CardFooter/CardFooter.styles.js +2 -2
  172. package/dist/components/card/CardFooter/CardFooter.styles.js.map +1 -1
  173. package/dist/components/card/CardHeader/CardHeader.js +2 -2
  174. package/dist/components/card/CardHeader/CardHeader.js.map +1 -1
  175. package/dist/components/card/CardHeader/CardHeader.styles.d.ts +2 -1
  176. package/dist/components/card/CardHeader/CardHeader.styles.js +2 -2
  177. package/dist/components/card/CardHeader/CardHeader.styles.js.map +1 -1
  178. package/dist/components/card/CardTitle/CardTitle.js +2 -2
  179. package/dist/components/card/CardTitle/CardTitle.js.map +1 -1
  180. package/dist/components/card/CardTitle/CardTitle.styles.d.ts +2 -1
  181. package/dist/components/card/CardTitle/CardTitle.styles.js +1 -1
  182. package/dist/components/card/CardTitle/CardTitle.styles.js.map +1 -1
  183. package/dist/components/carousel/Carousel/Carousel.context.js.map +1 -1
  184. package/dist/components/carousel/Carousel/Carousel.js +14 -13
  185. package/dist/components/carousel/Carousel/Carousel.js.map +1 -1
  186. package/dist/components/carousel/Carousel/Carousel.styles.d.ts +2 -0
  187. package/dist/components/carousel/Carousel/Carousel.styles.js +6 -0
  188. package/dist/components/carousel/Carousel/Carousel.styles.js.map +1 -0
  189. package/dist/components/carousel/Carousel/useAutoPlay.js.map +1 -1
  190. package/dist/components/carousel/Carousel/useCarousel.js.map +1 -1
  191. package/dist/components/carousel/Carousel/useKeyboardNavigation.js.map +1 -1
  192. package/dist/components/carousel/CarouselContent/CarouselContent.js +1 -1
  193. package/dist/components/carousel/CarouselContent/CarouselContent.js.map +1 -1
  194. package/dist/components/carousel/CarouselContent/useItemSizeMeasure.js.map +1 -1
  195. package/dist/components/carousel/CarouselDots/CarouselDots.js +1 -1
  196. package/dist/components/carousel/CarouselDots/CarouselDots.js.map +1 -1
  197. package/dist/components/carousel/CarouselItem/CarouselItem.js +4 -3
  198. package/dist/components/carousel/CarouselItem/CarouselItem.js.map +1 -1
  199. package/dist/components/carousel/CarouselNext/CarouselNext.js +4 -4
  200. package/dist/components/carousel/CarouselNext/CarouselNext.js.map +1 -1
  201. package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js +4 -4
  202. package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js.map +1 -1
  203. package/dist/components/checkbox/Checkbox/Checkbox.js +18 -18
  204. package/dist/components/checkbox/Checkbox/Checkbox.js.map +1 -1
  205. package/dist/components/checkbox/Checkbox/Checkbox.styles.js.map +1 -1
  206. package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.js +1 -1
  207. package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.js.map +1 -1
  208. package/dist/components/collapsible/Collapsible/Collapsible.context.js.map +1 -1
  209. package/dist/components/collapsible/Collapsible/Collapsible.js +1 -1
  210. package/dist/components/collapsible/Collapsible/Collapsible.js.map +1 -1
  211. package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.js +1 -1
  212. package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.js.map +1 -1
  213. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js +1 -1
  214. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js.map +1 -1
  215. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.types.d.ts +1 -1
  216. package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
  217. package/dist/components/dialog/Dialog/Dialog.js +1 -1
  218. package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
  219. package/dist/components/dialog/DialogClose/DialogClose.js +4 -6
  220. package/dist/components/dialog/DialogClose/DialogClose.js.map +1 -1
  221. package/dist/components/dialog/DialogClose/DialogClose.types.d.ts +2 -2
  222. package/dist/components/dialog/DialogContent/DialogContent.context.js.map +1 -1
  223. package/dist/components/dialog/DialogContent/DialogContent.js +10 -10
  224. package/dist/components/dialog/DialogContent/DialogContent.js.map +1 -1
  225. package/dist/components/dialog/DialogDescription/DialogDescription.js +1 -1
  226. package/dist/components/dialog/DialogDescription/DialogDescription.js.map +1 -1
  227. package/dist/components/dialog/DialogFooter/DialogFooter.js +1 -1
  228. package/dist/components/dialog/DialogFooter/DialogFooter.js.map +1 -1
  229. package/dist/components/dialog/DialogHeader/DialogHeader.js +1 -1
  230. package/dist/components/dialog/DialogHeader/DialogHeader.js.map +1 -1
  231. package/dist/components/dialog/DialogOverlay/DialogOverlay.js +1 -1
  232. package/dist/components/dialog/DialogOverlay/DialogOverlay.js.map +1 -1
  233. package/dist/components/dialog/DialogPortal/DialogPortal.js +1 -1
  234. package/dist/components/dialog/DialogPortal/DialogPortal.js.map +1 -1
  235. package/dist/components/dialog/DialogTitle/DialogTitle.js +1 -1
  236. package/dist/components/dialog/DialogTitle/DialogTitle.js.map +1 -1
  237. package/dist/components/dialog/DialogTrigger/DialogTrigger.js.map +1 -1
  238. package/dist/components/dialog/DialogTrigger/useDialogTrigger.js.map +1 -1
  239. package/dist/components/field/Field/Field.js +5 -5
  240. package/dist/components/field/Field/Field.js.map +1 -1
  241. package/dist/components/field/Field/Field.styles.js +1 -1
  242. package/dist/components/field/Field/Field.styles.js.map +1 -1
  243. package/dist/components/field/FieldContent/FieldContent.js +1 -1
  244. package/dist/components/field/FieldContent/FieldContent.js.map +1 -1
  245. package/dist/components/field/FieldDescription/FieldDescription.js +2 -2
  246. package/dist/components/field/FieldDescription/FieldDescription.js.map +1 -1
  247. package/dist/components/field/FieldError/FieldError.js +2 -2
  248. package/dist/components/field/FieldError/FieldError.js.map +1 -1
  249. package/dist/components/field/FieldGroup/FieldGroup.js +1 -1
  250. package/dist/components/field/FieldGroup/FieldGroup.js.map +1 -1
  251. package/dist/components/field/FieldLabel/FieldLabel.js +1 -1
  252. package/dist/components/field/FieldLabel/FieldLabel.js.map +1 -1
  253. package/dist/components/field/FieldLegend/FieldLegend.js +5 -5
  254. package/dist/components/field/FieldLegend/FieldLegend.js.map +1 -1
  255. package/dist/components/field/FieldSeparator/FieldSeparator.js +14 -14
  256. package/dist/components/field/FieldSeparator/FieldSeparator.js.map +1 -1
  257. package/dist/components/field/FieldSet/FieldSet.js +1 -1
  258. package/dist/components/field/FieldSet/FieldSet.js.map +1 -1
  259. package/dist/components/field/FieldTitle/FieldTitle.js +1 -1
  260. package/dist/components/field/FieldTitle/FieldTitle.js.map +1 -1
  261. package/dist/components/image/Image.config.js +1 -1
  262. package/dist/components/image/Image.config.js.map +1 -1
  263. package/dist/components/image/Image.js +13 -13
  264. package/dist/components/image/Image.js.map +1 -1
  265. package/dist/components/image/Image.utils.js +67 -67
  266. package/dist/components/image/Image.utils.js.map +1 -1
  267. package/dist/components/image/ImageElement.js +19 -19
  268. package/dist/components/image/ImageElement.js.map +1 -1
  269. package/dist/components/image/ImagePreload.js +1 -1
  270. package/dist/components/image/ImagePreload.js.map +1 -1
  271. package/dist/components/input/Input.js +13 -13
  272. package/dist/components/input/Input.js.map +1 -1
  273. package/dist/components/input-group/InputGroup/InputGroup.js +2 -2
  274. package/dist/components/input-group/InputGroup/InputGroup.js.map +1 -1
  275. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js +5 -5
  276. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js.map +1 -1
  277. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.styles.js +1 -1
  278. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.styles.js.map +1 -1
  279. package/dist/components/input-group/InputGroupButton/InputGroupButton.js +9 -9
  280. package/dist/components/input-group/InputGroupButton/InputGroupButton.js.map +1 -1
  281. package/dist/components/input-group/InputGroupButton/InputGroupButton.styles.js.map +1 -1
  282. package/dist/components/input-group/InputGroupButton/InputGroupButton.types.d.ts +2 -3
  283. package/dist/components/input-group/InputGroupInput/InputGroupInput.js.map +1 -1
  284. package/dist/components/input-group/InputGroupText/InputGroupText.js +2 -2
  285. package/dist/components/input-group/InputGroupText/InputGroupText.js.map +1 -1
  286. package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js.map +1 -1
  287. package/dist/components/item/Item/Item.js +9 -9
  288. package/dist/components/item/Item/Item.js.map +1 -1
  289. package/dist/components/item/Item/Item.styles.js +3 -3
  290. package/dist/components/item/Item/Item.styles.js.map +1 -1
  291. package/dist/components/item/ItemActions/ItemActions.js +1 -1
  292. package/dist/components/item/ItemActions/ItemActions.js.map +1 -1
  293. package/dist/components/item/ItemContent/ItemContent.js +1 -1
  294. package/dist/components/item/ItemContent/ItemContent.js.map +1 -1
  295. package/dist/components/item/ItemDescription/ItemDescription.js +2 -2
  296. package/dist/components/item/ItemDescription/ItemDescription.js.map +1 -1
  297. package/dist/components/item/ItemFooter/ItemFooter.js +1 -1
  298. package/dist/components/item/ItemFooter/ItemFooter.js.map +1 -1
  299. package/dist/components/item/ItemGroup/ItemGroup.js +1 -1
  300. package/dist/components/item/ItemGroup/ItemGroup.js.map +1 -1
  301. package/dist/components/item/ItemHeader/ItemHeader.js +1 -1
  302. package/dist/components/item/ItemHeader/ItemHeader.js.map +1 -1
  303. package/dist/components/item/ItemMedia/ItemMedia.js +5 -5
  304. package/dist/components/item/ItemMedia/ItemMedia.js.map +1 -1
  305. package/dist/components/item/ItemMedia/ItemMedia.styles.js.map +1 -1
  306. package/dist/components/item/ItemSeparator/ItemSeparator.js.map +1 -1
  307. package/dist/components/item/ItemTitle/ItemTitle.js +1 -1
  308. package/dist/components/item/ItemTitle/ItemTitle.js.map +1 -1
  309. package/dist/components/kbd/Kbd.js +2 -2
  310. package/dist/components/kbd/Kbd.js.map +1 -1
  311. package/dist/components/label/Label.js +1 -1
  312. package/dist/components/label/Label.js.map +1 -1
  313. package/dist/components/pagination/Pagination/Pagination.js +1 -1
  314. package/dist/components/pagination/Pagination/Pagination.js.map +1 -1
  315. package/dist/components/pagination/PaginationContent/PaginationContent.js +1 -1
  316. package/dist/components/pagination/PaginationContent/PaginationContent.js.map +1 -1
  317. package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js +1 -1
  318. package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js.map +1 -1
  319. package/dist/components/pagination/PaginationItem/PaginationItem.js +1 -1
  320. package/dist/components/pagination/PaginationItem/PaginationItem.js.map +1 -1
  321. package/dist/components/pagination/PaginationLink/PaginationLink.js +13 -10
  322. package/dist/components/pagination/PaginationLink/PaginationLink.js.map +1 -1
  323. package/dist/components/pagination/PaginationNext/PaginationNext.js +5 -5
  324. package/dist/components/pagination/PaginationNext/PaginationNext.js.map +1 -1
  325. package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js +5 -5
  326. package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js.map +1 -1
  327. package/dist/components/progress/Progress/Progress.context.js.map +1 -1
  328. package/dist/components/progress/Progress/Progress.js +1 -1
  329. package/dist/components/progress/Progress/Progress.js.map +1 -1
  330. package/dist/components/progress/ProgressIndicator/ProgressIndicator.js +1 -1
  331. package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -1
  332. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.d.ts +1 -1
  333. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js +1 -1
  334. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js.map +1 -1
  335. package/dist/components/progress/ProgressLabel/ProgressLabel.js +1 -1
  336. package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -1
  337. package/dist/components/progress/ProgressTrack/ProgressTrack.js +1 -1
  338. package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -1
  339. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.d.ts +1 -1
  340. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js +1 -1
  341. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js.map +1 -1
  342. package/dist/components/progress/ProgressValue/ProgressValue.js +1 -1
  343. package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -1
  344. package/dist/components/progress/ProgressValue/ProgressValue.styles.d.ts +1 -1
  345. package/dist/components/progress/ProgressValue/ProgressValue.styles.js +1 -1
  346. package/dist/components/progress/ProgressValue/ProgressValue.styles.js.map +1 -1
  347. package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js.map +1 -1
  348. package/dist/components/scroll-area/ScrollArea/ScrollArea.js +2 -2
  349. package/dist/components/scroll-area/ScrollArea/ScrollArea.js.map +1 -1
  350. package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js.map +1 -1
  351. package/dist/components/scroll-area/ScrollBar/ScrollBar.js +26 -26
  352. package/dist/components/scroll-area/ScrollBar/ScrollBar.js.map +1 -1
  353. package/dist/components/separator/Separator.js +7 -7
  354. package/dist/components/separator/Separator.js.map +1 -1
  355. package/dist/components/separator/Separator.styles.js +1 -1
  356. package/dist/components/separator/Separator.styles.js.map +1 -1
  357. package/dist/components/sidebar/Sidebar/Sidebar.js +10 -10
  358. package/dist/components/sidebar/Sidebar/Sidebar.js.map +1 -1
  359. package/dist/components/sidebar/Sidebar/index.d.ts +1 -0
  360. package/dist/components/sidebar/SidebarContent/SidebarContent.js +1 -1
  361. package/dist/components/sidebar/SidebarContent/SidebarContent.js.map +1 -1
  362. package/dist/components/sidebar/SidebarContent/index.d.ts +1 -0
  363. package/dist/components/sidebar/SidebarFooter/SidebarFooter.js +1 -1
  364. package/dist/components/sidebar/SidebarFooter/SidebarFooter.js.map +1 -1
  365. package/dist/components/sidebar/SidebarFooter/index.d.ts +1 -0
  366. package/dist/components/sidebar/SidebarGroup/SidebarGroup.js +1 -1
  367. package/dist/components/sidebar/SidebarGroup/SidebarGroup.js.map +1 -1
  368. package/dist/components/sidebar/SidebarGroup/index.d.ts +1 -0
  369. package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js +5 -5
  370. package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js.map +1 -1
  371. package/dist/components/sidebar/SidebarGroupAction/index.d.ts +1 -0
  372. package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js +1 -1
  373. package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js.map +1 -1
  374. package/dist/components/sidebar/SidebarGroupContent/index.d.ts +1 -0
  375. package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js +5 -5
  376. package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js.map +1 -1
  377. package/dist/components/sidebar/SidebarGroupLabel/index.d.ts +1 -0
  378. package/dist/components/sidebar/SidebarHeader/SidebarHeader.js +1 -1
  379. package/dist/components/sidebar/SidebarHeader/SidebarHeader.js.map +1 -1
  380. package/dist/components/sidebar/SidebarHeader/index.d.ts +1 -0
  381. package/dist/components/sidebar/SidebarInput/SidebarInput.js +1 -1
  382. package/dist/components/sidebar/SidebarInput/SidebarInput.js.map +1 -1
  383. package/dist/components/sidebar/SidebarInput/index.d.ts +1 -0
  384. package/dist/components/sidebar/SidebarInset/SidebarInset.js +2 -2
  385. package/dist/components/sidebar/SidebarInset/SidebarInset.js.map +1 -1
  386. package/dist/components/sidebar/SidebarInset/index.d.ts +1 -0
  387. package/dist/components/sidebar/SidebarMenu/SidebarMenu.js +1 -1
  388. package/dist/components/sidebar/SidebarMenu/SidebarMenu.js.map +1 -1
  389. package/dist/components/sidebar/SidebarMenu/index.d.ts +1 -0
  390. package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js +2 -2
  391. package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js.map +1 -1
  392. package/dist/components/sidebar/SidebarMenuBadge/index.d.ts +1 -0
  393. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js +47 -31
  394. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js.map +1 -1
  395. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.styles.js +5 -6
  396. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.styles.js.map +1 -1
  397. package/dist/components/sidebar/SidebarMenuButton/index.d.ts +1 -0
  398. package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js +1 -1
  399. package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js.map +1 -1
  400. package/dist/components/sidebar/SidebarMenuItem/index.d.ts +1 -0
  401. package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js +7 -7
  402. package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js.map +1 -1
  403. package/dist/components/sidebar/SidebarMenuSkeleton/index.d.ts +1 -0
  404. package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js +2 -2
  405. package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js.map +1 -1
  406. package/dist/components/sidebar/SidebarMenuSub/index.d.ts +1 -0
  407. package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js +9 -9
  408. package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js.map +1 -1
  409. package/dist/components/sidebar/SidebarMenuSubButton/index.d.ts +1 -0
  410. package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js +1 -1
  411. package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js.map +1 -1
  412. package/dist/components/sidebar/SidebarMenuSubItem/index.d.ts +1 -0
  413. package/dist/components/sidebar/SidebarProvider/SidebarProvider.consts.js +1 -1
  414. package/dist/components/sidebar/SidebarProvider/SidebarProvider.consts.js.map +1 -1
  415. package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js.map +1 -1
  416. package/dist/components/sidebar/SidebarProvider/SidebarProvider.js +17 -17
  417. package/dist/components/sidebar/SidebarProvider/SidebarProvider.js.map +1 -1
  418. package/dist/components/sidebar/SidebarRail/SidebarRail.js +2 -2
  419. package/dist/components/sidebar/SidebarRail/SidebarRail.js.map +1 -1
  420. package/dist/components/sidebar/SidebarRail/index.d.ts +1 -0
  421. package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js.map +1 -1
  422. package/dist/components/sidebar/SidebarSeparator/index.d.ts +1 -0
  423. package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js.map +1 -1
  424. package/dist/components/sidebar/SidebarTrigger/index.d.ts +1 -0
  425. package/dist/components/sidebar/index.d.ts +21 -21
  426. package/dist/components/skeleton/Skeleton.js +2 -2
  427. package/dist/components/skeleton/Skeleton.js.map +1 -1
  428. package/dist/components/slider/Slider/Slider.context.js.map +1 -1
  429. package/dist/components/slider/Slider/Slider.js +10 -10
  430. package/dist/components/slider/Slider/Slider.js.map +1 -1
  431. package/dist/components/slider/Slider/useSlider.js.map +1 -1
  432. package/dist/components/slider/SliderControl/SliderControl.js +1 -1
  433. package/dist/components/slider/SliderControl/SliderControl.js.map +1 -1
  434. package/dist/components/slider/SliderControl/useSliderControl.js.map +1 -1
  435. package/dist/components/slider/SliderIndicator/SliderIndicator.js +1 -1
  436. package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +1 -1
  437. package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js +1 -1
  438. package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js.map +1 -1
  439. package/dist/components/slider/SliderIndicator/useSliderIndicator.js.map +1 -1
  440. package/dist/components/slider/SliderThumb/SliderThumb.js +1 -1
  441. package/dist/components/slider/SliderThumb/SliderThumb.js.map +1 -1
  442. package/dist/components/slider/SliderThumb/SliderThumb.styles.js +1 -1
  443. package/dist/components/slider/SliderThumb/SliderThumb.styles.js.map +1 -1
  444. package/dist/components/slider/SliderThumb/useSliderThumb.js.map +1 -1
  445. package/dist/components/slider/SliderTrack/SliderTrack.js +1 -1
  446. package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -1
  447. package/dist/components/slider/SliderTrack/SliderTrack.styles.d.ts +1 -1
  448. package/dist/components/slider/SliderTrack/SliderTrack.styles.js +1 -1
  449. package/dist/components/slider/SliderTrack/SliderTrack.styles.js.map +1 -1
  450. package/dist/components/spinner/Spinner.js.map +1 -1
  451. package/dist/components/spinner/Spinner.styles.js.map +1 -1
  452. package/dist/components/switch/Switch.js +19 -19
  453. package/dist/components/switch/Switch.js.map +1 -1
  454. package/dist/components/switch/Switch.styles.js +2 -2
  455. package/dist/components/switch/Switch.styles.js.map +1 -1
  456. package/dist/components/tabs/Tabs/Tabs.context.d.ts +47 -0
  457. package/dist/components/tabs/Tabs/Tabs.context.js +54 -0
  458. package/dist/components/tabs/Tabs/Tabs.context.js.map +1 -0
  459. package/dist/components/tabs/Tabs/Tabs.d.ts +2 -0
  460. package/dist/components/tabs/Tabs/Tabs.js +71 -0
  461. package/dist/components/tabs/Tabs/Tabs.js.map +1 -0
  462. package/dist/components/tabs/Tabs/Tabs.types.d.ts +16 -0
  463. package/dist/components/tabs/Tabs/call-event-handler.d.ts +5 -0
  464. package/dist/components/tabs/Tabs/call-event-handler.js +9 -0
  465. package/dist/components/tabs/Tabs/call-event-handler.js.map +1 -0
  466. package/dist/components/tabs/Tabs/index.d.ts +2 -0
  467. package/dist/components/tabs/Tabs/useTabsKeyboard.d.ts +18 -0
  468. package/dist/components/tabs/Tabs/useTabsKeyboard.js +49 -0
  469. package/dist/components/tabs/Tabs/useTabsKeyboard.js.map +1 -0
  470. package/dist/components/tabs/TabsContent/TabsContent.d.ts +3 -0
  471. package/dist/components/tabs/TabsContent/TabsContent.js +52 -0
  472. package/dist/components/tabs/TabsContent/TabsContent.js.map +1 -0
  473. package/dist/components/tabs/TabsContent/TabsContent.types.d.ts +6 -0
  474. package/dist/components/tabs/TabsContent/index.d.ts +2 -0
  475. package/dist/components/tabs/TabsList/TabsList.context.d.ts +7 -0
  476. package/dist/components/tabs/TabsList/TabsList.context.js +11 -0
  477. package/dist/components/tabs/TabsList/TabsList.context.js.map +1 -0
  478. package/dist/components/tabs/TabsList/TabsList.d.ts +2 -0
  479. package/dist/components/tabs/TabsList/TabsList.js +48 -0
  480. package/dist/components/tabs/TabsList/TabsList.js.map +1 -0
  481. package/dist/components/tabs/TabsList/TabsList.styles.d.ts +3 -0
  482. package/dist/components/tabs/TabsList/TabsList.styles.js +13 -0
  483. package/dist/components/tabs/TabsList/TabsList.styles.js.map +1 -0
  484. package/dist/components/tabs/TabsList/TabsList.types.d.ts +7 -0
  485. package/dist/components/tabs/TabsList/index.d.ts +2 -0
  486. package/dist/components/tabs/TabsTrigger/TabsTrigger.d.ts +2 -0
  487. package/dist/components/tabs/TabsTrigger/TabsTrigger.js +71 -0
  488. package/dist/components/tabs/TabsTrigger/TabsTrigger.js.map +1 -0
  489. package/dist/components/tabs/TabsTrigger/TabsTrigger.styles.d.ts +1 -0
  490. package/dist/components/tabs/TabsTrigger/TabsTrigger.styles.js +7 -0
  491. package/dist/components/tabs/TabsTrigger/TabsTrigger.styles.js.map +1 -0
  492. package/dist/components/tabs/TabsTrigger/TabsTrigger.types.d.ts +6 -0
  493. package/dist/components/tabs/TabsTrigger/index.d.ts +2 -0
  494. package/dist/components/tabs/index.d.ts +4 -0
  495. package/dist/components/tabs/index.js +5 -0
  496. package/dist/components/textarea/Textarea.js +2 -2
  497. package/dist/components/textarea/Textarea.js.map +1 -1
  498. package/dist/components/toast/components/Assets.js +1 -1
  499. package/dist/components/toast/components/Assets.js.map +1 -1
  500. package/dist/components/toast/components/Toast.js +2 -5
  501. package/dist/components/toast/components/Toast.js.map +1 -1
  502. package/dist/components/toast/components/ToastActions.js +1 -1
  503. package/dist/components/toast/components/ToastActions.js.map +1 -1
  504. package/dist/components/toast/components/ToastContent.js +1 -1
  505. package/dist/components/toast/components/ToastContent.js.map +1 -1
  506. package/dist/components/toast/components/ToastIcon.js +1 -1
  507. package/dist/components/toast/components/ToastIcon.js.map +1 -1
  508. package/dist/components/toast/components/Toaster.js +1 -1
  509. package/dist/components/toast/components/Toaster.js.map +1 -1
  510. package/dist/components/toast/hooks/useSwipe.js.map +1 -1
  511. package/dist/components/toast/hooks/useTheme.js.map +1 -1
  512. package/dist/components/toast/hooks/useToastHeight.js.map +1 -1
  513. package/dist/components/toast/hooks/useToastSubscription.js +3 -2
  514. package/dist/components/toast/hooks/useToastSubscription.js.map +1 -1
  515. package/dist/components/toast/hooks/useToastTimer.js.map +1 -1
  516. package/dist/components/toast/hooks/useToasterKeyboard.js.map +1 -1
  517. package/dist/components/toast/hooks.js +3 -2
  518. package/dist/components/toast/hooks.js.map +1 -1
  519. package/dist/components/toast/state.js +5 -5
  520. package/dist/components/toast/state.js.map +1 -1
  521. package/dist/components/toast/utils.js.map +1 -1
  522. package/dist/components/tooltip/Tooltip/Tooltip.context.d.ts +2 -11
  523. package/dist/components/tooltip/Tooltip/Tooltip.context.js +4 -4
  524. package/dist/components/tooltip/Tooltip/Tooltip.context.js.map +1 -1
  525. package/dist/components/tooltip/Tooltip/Tooltip.d.ts +21 -5
  526. package/dist/components/tooltip/Tooltip/Tooltip.js +60 -23
  527. package/dist/components/tooltip/Tooltip/Tooltip.js.map +1 -1
  528. package/dist/components/tooltip/Tooltip/Tooltip.types.d.ts +58 -0
  529. package/dist/components/tooltip/Tooltip/index.d.ts +2 -0
  530. package/dist/components/tooltip/TooltipArrow/TooltipArrow.d.ts +34 -1
  531. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js +48 -12
  532. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js.map +1 -1
  533. package/dist/components/tooltip/TooltipArrow/index.d.ts +1 -0
  534. package/dist/components/tooltip/TooltipContent/TooltipContent.context.d.ts +19 -5
  535. package/dist/components/tooltip/TooltipContent/TooltipContent.context.js +4 -4
  536. package/dist/components/tooltip/TooltipContent/TooltipContent.context.js.map +1 -1
  537. package/dist/components/tooltip/TooltipContent/TooltipContent.d.ts +10 -1
  538. package/dist/components/tooltip/TooltipContent/TooltipContent.js +60 -46
  539. package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
  540. package/dist/components/tooltip/TooltipContent/TooltipContent.types.d.ts +13 -3
  541. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +57 -6
  542. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +34 -58
  543. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
  544. package/dist/components/tooltip/TooltipContent/index.d.ts +7 -0
  545. package/dist/components/tooltip/TooltipContent/useTooltipContent.d.ts +45 -8
  546. package/dist/components/tooltip/TooltipContent/useTooltipContent.js +70 -41
  547. package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
  548. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.d.ts +29 -0
  549. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js +10 -0
  550. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js.map +1 -0
  551. package/dist/components/tooltip/TooltipGroup/TooltipGroup.d.ts +2 -0
  552. package/dist/components/tooltip/TooltipGroup/TooltipGroup.js +25 -0
  553. package/dist/components/tooltip/TooltipGroup/TooltipGroup.js.map +1 -0
  554. package/dist/components/tooltip/TooltipGroup/TooltipGroup.types.d.ts +10 -0
  555. package/dist/components/tooltip/TooltipGroup/index.d.ts +4 -0
  556. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.d.ts +4 -2
  557. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js +26 -6
  558. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js.map +1 -1
  559. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.types.d.ts +3 -0
  560. package/dist/components/tooltip/TooltipTrigger/index.d.ts +3 -0
  561. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.d.ts +29 -2
  562. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js +27 -27
  563. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js.map +1 -1
  564. package/dist/components/tooltip/index.d.ts +6 -0
  565. package/dist/components/tooltip/index.js +2 -1
  566. package/dist/hooks/useFontLoader.js +1 -1
  567. package/dist/hooks/useFontLoader.js.map +1 -1
  568. package/dist/index.d.ts +1 -0
  569. package/dist/index.js +159 -152
  570. package/dist/lib/index.d.ts +1 -0
  571. package/dist/lib/positioner/auto-update.d.ts +19 -0
  572. package/dist/lib/positioner/auto-update.js +20 -0
  573. package/dist/lib/positioner/auto-update.js.map +1 -0
  574. package/dist/lib/positioner/core/compute-position.d.ts +9 -0
  575. package/dist/lib/positioner/core/compute-position.js +47 -0
  576. package/dist/lib/positioner/core/compute-position.js.map +1 -0
  577. package/dist/lib/positioner/core/placement.d.ts +14 -0
  578. package/dist/lib/positioner/core/placement.js +45 -0
  579. package/dist/lib/positioner/core/placement.js.map +1 -0
  580. package/dist/lib/positioner/create-positioner.d.ts +63 -0
  581. package/dist/lib/positioner/create-positioner.js +51 -0
  582. package/dist/lib/positioner/create-positioner.js.map +1 -0
  583. package/dist/lib/positioner/index.d.ts +11 -0
  584. package/dist/lib/positioner/middleware/arrow.d.ts +23 -0
  585. package/dist/lib/positioner/middleware/arrow.js +23 -0
  586. package/dist/lib/positioner/middleware/arrow.js.map +1 -0
  587. package/dist/lib/positioner/middleware/containing-block-offset.d.ts +27 -0
  588. package/dist/lib/positioner/middleware/containing-block-offset.js +46 -0
  589. package/dist/lib/positioner/middleware/containing-block-offset.js.map +1 -0
  590. package/dist/lib/positioner/middleware/flip.d.ts +9 -0
  591. package/dist/lib/positioner/middleware/flip.js +54 -0
  592. package/dist/lib/positioner/middleware/flip.js.map +1 -0
  593. package/dist/lib/positioner/middleware/hide.d.ts +22 -0
  594. package/dist/lib/positioner/middleware/hide.js +19 -0
  595. package/dist/lib/positioner/middleware/hide.js.map +1 -0
  596. package/dist/lib/positioner/middleware/index.d.ts +13 -0
  597. package/dist/lib/positioner/middleware/offset.d.ts +10 -0
  598. package/dist/lib/positioner/middleware/offset.js +21 -0
  599. package/dist/lib/positioner/middleware/offset.js.map +1 -0
  600. package/dist/lib/positioner/middleware/shift.d.ts +13 -0
  601. package/dist/lib/positioner/middleware/shift.js +30 -0
  602. package/dist/lib/positioner/middleware/shift.js.map +1 -0
  603. package/dist/lib/positioner/middleware/size.d.ts +13 -0
  604. package/dist/lib/positioner/types.d.ts +74 -0
  605. package/dist/lib/positioner/utils/dom.d.ts +16 -0
  606. package/dist/lib/positioner/utils/dom.js +43 -0
  607. package/dist/lib/positioner/utils/dom.js.map +1 -0
  608. package/dist/lib/positioner/virtual-element.d.ts +21 -0
  609. package/dist/types/props.types.d.ts +10 -9
  610. package/dist/ui.css +2 -2
  611. package/dist/utils/clsx.js.map +1 -1
  612. package/dist/utils/index.d.ts +1 -0
  613. package/dist/utils/index.js +3 -2
  614. package/dist/utils/logger.d.ts +73 -0
  615. package/dist/utils/logger.js +37 -0
  616. package/dist/utils/logger.js.map +1 -0
  617. package/dist/utils/warn-once.js.map +1 -1
  618. package/package.json +13 -12
  619. package/dist/components/alert-dialog/AlertDialog/AlertDialog.styles.d.ts +0 -0
  620. package/dist/components/carousel/CarouselContent/CarouselContent.styles.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.context.js","names":["createContext","createEffect","createSignal","Accessor","ParentProps","useContext","createStore","TabsValue","TriggerEntry","value","disabled","element","HTMLElement","TabsContextValue","setValue","isSelected","orientation","dir","loop","highlightedValue","setHighlightedValue","registerTrigger","entry","getTriggers","isFirstEnabled","isUsable","setTriggerId","id","getTriggerId","setContentId","getContentId","TabsContext","TabsProvider","props","defaultValue","onValueChange","internalValue","setInternalValue","triggerOrder","setTriggerOrder","ids","setIds","trigger","Record","content","next","undefined","v","current","active","document","activeElement","getAttribute","prev","filter","t","first","find","some","String","contextValue","_$createComponent","Provider","children","useTabsContext","context","Error"],"sources":["../../../../src/components/tabs/Tabs/Tabs.context.tsx"],"sourcesContent":["import {\n createContext,\n createEffect,\n createSignal,\n type Accessor,\n type ParentProps,\n useContext,\n} from \"solid-js\";\nimport { createStore } from \"solid-js/store\";\nimport type { TabsValue } from \"./Tabs.types\";\n\ninterface TriggerEntry {\n value: TabsValue;\n /** accessor,支持运行时 disabled 翻转 */\n disabled: () => boolean;\n element: HTMLElement;\n}\n\nexport interface TabsContextValue {\n /** 当前激活值(受控优先,否则内部状态) */\n value: Accessor<TabsValue | undefined>;\n setValue: (value: TabsValue) => void;\n isSelected: (value: TabsValue) => boolean;\n orientation: Accessor<\"horizontal\" | \"vertical\">;\n dir: Accessor<\"ltr\" | \"rtl\" | \"auto\">;\n loop: Accessor<boolean>;\n /**\n * 当前焦点高亮 tab,与激活值分离:\n * 默认(activateOnFocus=false)聚焦/键盘导航只更新高亮,不激活;\n * 激活只发生在点击(click)时。与 base-ui 的 highlighted/active 语义一致。\n */\n highlightedValue: Accessor<TabsValue | undefined>;\n setHighlightedValue: (value: TabsValue) => void;\n /** 按挂载顺序注册 trigger,返回注销函数;仅用于渲染期推导与键盘导航 */\n registerTrigger: (entry: TriggerEntry) => () => void;\n /** 已注册的 trigger 列表(挂载顺序) */\n getTriggers: () => TriggerEntry[];\n /** 无高亮时,该 value 是否为第一个可用 trigger(键盘 tabindex 起点) */\n isFirstEnabled: (value: TabsValue) => boolean;\n /** 该 value 对应的 trigger 当前是否可用(已注册且未 disabled) */\n isUsable: (value: TabsValue) => boolean;\n /** value -> triggerId / contentId 交叉注册,供 aria-controls / aria-labelledby 使用 */\n setTriggerId: (value: TabsValue, id: string) => void;\n getTriggerId: (value: TabsValue) => string | undefined;\n setContentId: (value: TabsValue, id: string) => void;\n getContentId: (value: TabsValue) => string | undefined;\n}\n\nconst TabsContext = createContext<TabsContextValue>();\n\nexport function TabsProvider(\n props: ParentProps & {\n defaultValue?: TabsValue;\n value?: TabsValue;\n onValueChange?: (value: TabsValue) => void;\n orientation: \"horizontal\" | \"vertical\";\n dir: \"ltr\" | \"rtl\" | \"auto\";\n loop: boolean;\n },\n) {\n const [internalValue, setInternalValue] = createSignal<TabsValue | undefined>(\n props.defaultValue,\n );\n const [highlightedValue, setHighlightedValue] = createSignal<\n TabsValue | undefined\n >();\n const [triggerOrder, setTriggerOrder] = createSignal<TriggerEntry[]>([]);\n const [ids, setIds] = createStore<{\n trigger: Record<string, string>;\n content: Record<string, string>;\n }>({ trigger: {}, content: {} });\n\n // 受控优先:props.value 存在时读外部值,否则读内部状态\n const value = (): TabsValue | undefined => props.value ?? internalValue();\n\n const setValue = (next: TabsValue) => {\n // 受控模式:只通知外部,不改本地状态\n if (props.value !== undefined) {\n props.onValueChange?.(next);\n return;\n }\n setInternalValue(next);\n props.onValueChange?.(next);\n };\n\n const isSelected = (v: TabsValue) => value() === v;\n\n // 对齐 base-ui:激活值变化时,若焦点不在 tab 上,将高亮同步到激活 tab\n // (键盘 roving focus 过程中不覆盖,保持相对当前位置导航)\n createEffect(() => {\n const current = value();\n if (current === undefined) return;\n const active = document.activeElement as HTMLElement | null;\n if (active?.getAttribute(\"role\") !== \"tab\") {\n setHighlightedValue(current);\n }\n });\n\n const registerTrigger = (entry: TriggerEntry) => {\n setTriggerOrder((prev) => [...prev, entry]);\n return () =>\n setTriggerOrder((prev) => prev.filter((t) => t.value !== entry.value));\n };\n\n const isFirstEnabled = (v: TabsValue) => {\n const first = triggerOrder().find((t) => !t.disabled());\n return first?.value === v;\n };\n\n const isUsable = (v: TabsValue) =>\n triggerOrder().some((t) => t.value === v && !t.disabled());\n\n const setTriggerId = (v: TabsValue, id: string) =>\n setIds(\"trigger\", String(v), id);\n const getTriggerId = (v: TabsValue) => ids.trigger[String(v)];\n const setContentId = (v: TabsValue, id: string) =>\n setIds(\"content\", String(v), id);\n const getContentId = (v: TabsValue) => ids.content[String(v)];\n\n const contextValue: TabsContextValue = {\n value,\n setValue,\n isSelected,\n orientation: () => props.orientation,\n dir: () => props.dir,\n loop: () => props.loop,\n highlightedValue,\n setHighlightedValue,\n registerTrigger,\n getTriggers: () => triggerOrder(),\n isFirstEnabled,\n isUsable,\n setTriggerId,\n getTriggerId,\n setContentId,\n getContentId,\n };\n\n return (\n <TabsContext.Provider value={contextValue}>\n {props.children}\n </TabsContext.Provider>\n );\n}\n\nexport const useTabsContext = () => {\n const context = useContext(TabsContext);\n if (!context)\n throw new Error(\"useTabsContext must be used within a <Tabs> component\");\n return context;\n};\n"],"mappings":";;;;AAgDA,IAAM+B,IAAc/B,EAAgC;AAEpD,SAAgBgC,EACdC,GAQA;CACA,IAAM,CAACG,GAAeC,KAAoBnC,EACxC+B,EAAMC,YACR,GACM,CAACf,GAAkBC,KAAuBlB,EAE9C,GACI,CAACoC,GAAcC,KAAmBrC,EAA6B,CAAA,CAAE,GACjE,CAACsC,GAAKC,KAAUnC,EAGnB;EAAEoC,SAAS,CAAC;EAAGE,SAAS,CAAC;CAAE,CAAC,GAGzBnC,UAAqCwB,EAAMxB,SAAS2B,EAAc,GAElEtB,KAAY+B,MAAoB;EAEpC,IAAIZ,EAAMxB,UAAUqC,KAAAA,GAAW;GAC7Bb,EAAME,gBAAgBU,CAAI;GAC1B;EACF;EAEAZ,AADAI,EAAiBQ,CAAI,GACrBZ,EAAME,gBAAgBU,CAAI;CAC5B,GAEM9B,KAAcgC,MAAiBtC,EAAM,MAAMsC;CAIjD9C,QAAmB;EACjB,IAAM+C,IAAUvC,EAAM;EAClBuC,MAAYF,KAAAA,KACDI,SAASC,eACZC,aAAa,MAAM,MAAM,SACnChC,EAAoB4B,CAAO;CAE/B,CAAC;CAuBD,IAAMY,IAAiC;EACrCnD;EACAK;EACAC;EACAC,mBAAmBiB,EAAMjB;EACzBC,WAAWgB,EAAMhB;EACjBC,YAAYe,EAAMf;EAClBC;EACAC;EACAC,kBA9BuBC,OACvBiB,GAAiBc,MAAS,CAAC,GAAGA,GAAM/B,CAAK,CAAC,SAExCiB,GAAiBc,MAASA,EAAKC,QAAQC,MAAMA,EAAE9C,UAAUa,EAAMb,KAAK,CAAC;EA4BvEc,mBAAmBe,EAAa;EAChCd,iBA1BsBuB,MACRT,EAAa,CAAC,CAACmB,MAAMF,MAAM,CAACA,EAAE7C,SAAS,CAC9C8C,CAAAA,EAAO/C,UAAUsC;EAyBxBtB,WAtBgBsB,MAChBT,EAAa,CAAC,CAACoB,MAAMH,MAAMA,EAAE9C,UAAUsC,KAAK,CAACQ,EAAE7C,SAAS,CAAC;EAsBzDgB,eApBoBqB,GAAcpB,MAClCc,EAAO,WAAWkB,OAAOZ,CAAC,GAAGpB,CAAE;EAoB/BC,eAnBoBmB,MAAiBP,EAAIE,QAAQiB,OAAOZ,CAAC;EAoBzDlB,eAnBoBkB,GAAcpB,MAClCc,EAAO,WAAWkB,OAAOZ,CAAC,GAAGpB,CAAE;EAmB/BG,eAlBoBiB,MAAiBP,EAAII,QAAQe,OAAOZ,CAAC;CAmB3D;CAEA,OAAAc,EACG9B,EAAY+B,UAAQ;EAACrD,OAAOmD;EAAY,IAAAG,WAAA;GAAA,OACtC9B,EAAM8B;EAAQ;CAAA,CAAA;AAGrB;AAEA,IAAaC,UAAuB;CAClC,IAAMC,IAAU5D,EAAW0B,CAAW;CACtC,IAAI,CAACkC,GACH,MAAUC,MAAM,uDAAuD;CACzE,OAAOD;AACT"}
@@ -0,0 +1,2 @@
1
+ import { TabsProps } from './Tabs.types';
2
+ export declare const Tabs: (props: TabsProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,71 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { TabsProvider as t } from "./Tabs.context.js";
3
+ import { createComponent as n, insert as r, mergeProps as i, spread as a, template as o } from "solid-js/web";
4
+ import { mergeProps as s, splitProps as c } from "solid-js";
5
+ //#region src/components/tabs/Tabs/Tabs.tsx
6
+ var l = /*#__PURE__*/ o("<div data-slot=tabs>"), u = (o) => {
7
+ let u = s({
8
+ orientation: "horizontal",
9
+ loop: !0,
10
+ dir: "ltr"
11
+ }, o), [d, f] = c(u, [
12
+ "defaultValue",
13
+ "value",
14
+ "onValueChange",
15
+ "orientation",
16
+ "loop",
17
+ "dir",
18
+ "class",
19
+ "classList",
20
+ "children"
21
+ ]), p = () => d.orientation === "vertical";
22
+ return (() => {
23
+ var o = l();
24
+ return a(o, i({
25
+ get "data-orientation"() {
26
+ return d.orientation;
27
+ },
28
+ get "data-vertical"() {
29
+ return p() ? "" : null;
30
+ },
31
+ get "data-horizontal"() {
32
+ return p() ? null : "";
33
+ },
34
+ get dir() {
35
+ return d.dir;
36
+ },
37
+ get class() {
38
+ return e("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col", d.class);
39
+ },
40
+ get classList() {
41
+ return d.classList;
42
+ }
43
+ }, f), !1, !0), r(o, n(t, {
44
+ get defaultValue() {
45
+ return d.defaultValue;
46
+ },
47
+ get value() {
48
+ return d.value;
49
+ },
50
+ get onValueChange() {
51
+ return d.onValueChange;
52
+ },
53
+ get orientation() {
54
+ return d.orientation;
55
+ },
56
+ get dir() {
57
+ return d.dir;
58
+ },
59
+ get loop() {
60
+ return d.loop;
61
+ },
62
+ get children() {
63
+ return d.children;
64
+ }
65
+ })), o;
66
+ })();
67
+ };
68
+ //#endregion
69
+ export { u as Tabs };
70
+
71
+ //# sourceMappingURL=Tabs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tabs.js","names":["mergeProps","splitProps","TabsProps","clsx","TabsProvider","Tabs","props","merged","orientation","loop","dir","const","local","others","isVertical","_el$","_tmpl$","_$spread","_$mergeProps","data-orientation","data-vertical","data-horizontal","class","classList","_$insert","_$createComponent","defaultValue","value","onValueChange","children"],"sources":["../../../../src/components/tabs/Tabs/Tabs.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport type { TabsProps } from \"./Tabs.types\";\nimport { clsx } from \"~/utils\";\nimport { TabsProvider } from \"./Tabs.context\";\n\nexport const Tabs = (props: TabsProps) => {\n const merged = mergeProps(\n {\n orientation: \"horizontal\",\n loop: true,\n dir: \"ltr\",\n } as const,\n props,\n );\n const [local, others] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onValueChange\",\n \"orientation\",\n \"loop\",\n \"dir\",\n \"class\",\n \"classList\",\n \"children\",\n ]);\n\n const isVertical = () => local.orientation === \"vertical\";\n\n return (\n <div\n data-slot=\"tabs\"\n data-orientation={local.orientation}\n // 现有样式依赖 group-data-vertical/tabs 与 group-data-horizontal/tabs,\n // 需要根元素上的 data-vertical / data-horizontal 属性才能生效\n data-vertical={isVertical() ? \"\" : null}\n data-horizontal={isVertical() ? null : \"\"}\n dir={local.dir}\n class={clsx(\n \"group/tabs flex gap-2 data-[orientation=horizontal]:flex-col\",\n local.class,\n )}\n classList={local.classList}\n {...others}\n >\n <TabsProvider\n defaultValue={local.defaultValue}\n value={local.value}\n onValueChange={local.onValueChange}\n orientation={local.orientation}\n dir={local.dir}\n loop={local.loop}\n >\n {local.children}\n </TabsProvider>\n </div>\n );\n};\n"],"mappings":";;;;;iDAKaK,KAAQC,MAAqB;CACxC,IAAMC,IAASP,EACb;EACEQ,aAAa;EACbC,MAAM;EACNC,KAAK;CACP,GACAJ,CACF,GACM,CAACM,GAAOC,KAAUZ,EAAWM,GAAQ;EACzC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEKO,UAAmBF,EAAMJ,gBAAgB;CAE/C,cAAA;EAAA,IAAAO,IAAAC,EAAA;EAwBqB,OAxBrBC,EAAAF,GAAAG,EAAA;GAAA,IAAA,qBAAA;IAAA,OAGsBN,EAAMJ;GAAW;GAAA,IAAA,kBAAA;IAAA,OAGpBM,EAAW,IAAI,KAAK;GAAI;GAAA,IAAA,oBAAA;IAAA,OACtBA,EAAW,IAAI,OAAO;GAAE;GAAA,IACzCJ,MAAG;IAAA,OAAEE,EAAMF;GAAG;GAAA,IAAA,QAAA;IAAA,OACPP,EACL,gEACAS,EAAMU,KACR;GAAC;GAAA,IACDC,YAAS;IAAA,OAAEX,EAAMW;GAAS;EAAA,GACtBV,CAAM,GAAA,IAAA,EAAA,GAAAW,EAAAT,GAAAU,EAETrB,GAAY;GAAA,IACXsB,eAAY;IAAA,OAAEd,EAAMc;GAAY;GAAA,IAChCC,QAAK;IAAA,OAAEf,EAAMe;GAAK;GAAA,IAClBC,gBAAa;IAAA,OAAEhB,EAAMgB;GAAa;GAAA,IAClCpB,cAAW;IAAA,OAAEI,EAAMJ;GAAW;GAAA,IAC9BE,MAAG;IAAA,OAAEE,EAAMF;GAAG;GAAA,IACdD,OAAI;IAAA,OAAEG,EAAMH;GAAI;GAAA,IAAAoB,WAAA;IAAA,OAEfjB,EAAMiB;GAAQ;EAAA,CAAA,CAAA,GAAAd;CAAA,EAAA,CAAA;AAIvB"}
@@ -0,0 +1,16 @@
1
+ import { BaseProps, PolymorphicProps } from '../../../types';
2
+ export type TabsValue = string | number;
3
+ interface BaseTabsProps extends BaseProps {
4
+ /** 非受控模式:初始激活值 */
5
+ defaultValue?: TabsValue;
6
+ /** 受控模式:激活值(提供后组件不再自管状态) */
7
+ value?: TabsValue;
8
+ /** 值变化回调(受控与非受控都会触发) */
9
+ onValueChange?: (value: TabsValue) => void;
10
+ /** 布局方向,默认 "horizontal" */
11
+ orientation?: "horizontal" | "vertical";
12
+ /** 方向键是否循环,默认 true */
13
+ loop?: boolean;
14
+ }
15
+ export type TabsProps = PolymorphicProps<"div", BaseTabsProps, false>;
16
+ export {};
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 调用用户传入的事件处理器(兼容 Solid 的函数或函数数组形式)。
3
+ * splitProps restKeys 提取出的事件类型是 EventHandlerUnion,不能直接调用。
4
+ */
5
+ export declare function callEventHandler<E extends Event>(handler: unknown, event: E): void;
@@ -0,0 +1,9 @@
1
+ //#region src/components/tabs/Tabs/call-event-handler.ts
2
+ function e(e, t) {
3
+ let n = Array.isArray(e) ? e : [e];
4
+ for (let e of n) typeof e == "function" && e(t);
5
+ }
6
+ //#endregion
7
+ export { e as callEventHandler };
8
+
9
+ //# sourceMappingURL=call-event-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-event-handler.js","names":[],"sources":["../../../../src/components/tabs/Tabs/call-event-handler.ts"],"sourcesContent":["/**\n * 调用用户传入的事件处理器(兼容 Solid 的函数或函数数组形式)。\n * splitProps restKeys 提取出的事件类型是 EventHandlerUnion,不能直接调用。\n */\nexport function callEventHandler<E extends Event>(\n handler: unknown,\n event: E,\n): void {\n const list = Array.isArray(handler) ? handler : [handler];\n for (const h of list) {\n if (typeof h === \"function\") (h as (e: E) => void)(event);\n }\n}\n"],"mappings":";AAIA,SAAgB,EACd,GACA,GACM;CACN,IAAM,IAAO,MAAM,QAAQ,CAAO,IAAI,IAAU,CAAC,CAAO;CACxD,KAAK,IAAM,KAAK,GACd,AAAI,OAAO,KAAM,cAAY,EAAsB,CAAK;AAE5D"}
@@ -0,0 +1,2 @@
1
+ export { Tabs } from './Tabs';
2
+ export * from './Tabs.types';
@@ -0,0 +1,18 @@
1
+ import { TabsContextValue } from './Tabs.context';
2
+ /**
3
+ * tablist 的 roving focus 键盘导航(纯逻辑,可在事件中独立单测)
4
+ *
5
+ * 方向映射:
6
+ * - horizontal + ltr: ArrowRight → next, ArrowLeft → prev
7
+ * - horizontal + rtl: 左右反转
8
+ * - vertical: ArrowDown → next, ArrowUp → prev
9
+ * - Home → 第一个,End → 最后一个
10
+ * - loop=true 环绕,false 边界停止;跳过 disabled 的 trigger
11
+ *
12
+ * 与 base-ui 一致:方向键只移动焦点(触发 onFocus 更新高亮),不激活;
13
+ * 激活靠点击(Enter/Space 触发 button 的 click)。activateOnFocus 时的
14
+ * 聚焦激活由 TabsTrigger 的 onFocus 处理,这里不做。
15
+ */
16
+ export declare function useTabsKeyboard(ctx: TabsContextValue): {
17
+ handleKeyDown: (e: KeyboardEvent) => void;
18
+ };
@@ -0,0 +1,49 @@
1
+ //#region src/components/tabs/Tabs/useTabsKeyboard.ts
2
+ var e = /* @__PURE__ */ new Set([
3
+ "ArrowLeft",
4
+ "ArrowRight",
5
+ "ArrowUp",
6
+ "ArrowDown",
7
+ "Home",
8
+ "End"
9
+ ]);
10
+ function t(t) {
11
+ return { handleKeyDown: (n) => {
12
+ if (!e.has(n.key)) return;
13
+ let r = document.activeElement;
14
+ if (r?.getAttribute("role") !== "tab") return;
15
+ let i = t.getTriggers().filter((e) => !e.disabled());
16
+ if (i.length === 0) return;
17
+ let a = i.findIndex((e) => e.element === r);
18
+ if (a === -1) return;
19
+ let o = t.orientation() === "vertical", s = t.dir(), c = s === "rtl" || s === "auto" && typeof document < "u" && document.documentElement.dir === "rtl", l;
20
+ switch (n.key) {
21
+ case "Home":
22
+ l = 0;
23
+ break;
24
+ case "End":
25
+ l = i.length - 1;
26
+ break;
27
+ case "ArrowLeft":
28
+ if (o) return;
29
+ l = a + (c ? 1 : -1);
30
+ break;
31
+ case "ArrowRight":
32
+ if (o) return;
33
+ l = a + (c ? -1 : 1);
34
+ break;
35
+ case "ArrowUp":
36
+ if (!o) return;
37
+ l = a - 1;
38
+ break;
39
+ case "ArrowDown":
40
+ if (!o) return;
41
+ l = a + 1;
42
+ }
43
+ l !== void 0 && (n.preventDefault(), l = t.loop() ? (l + i.length) % i.length : Math.min(i.length - 1, Math.max(0, l)), i[l].element.focus());
44
+ } };
45
+ }
46
+ //#endregion
47
+ export { t as useTabsKeyboard };
48
+
49
+ //# sourceMappingURL=useTabsKeyboard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTabsKeyboard.js","names":[],"sources":["../../../../src/components/tabs/Tabs/useTabsKeyboard.ts"],"sourcesContent":["import type { TabsContextValue } from \"./Tabs.context\";\n\nconst NAV_KEYS = new Set([\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n]);\n\n/**\n * tablist 的 roving focus 键盘导航(纯逻辑,可在事件中独立单测)\n *\n * 方向映射:\n * - horizontal + ltr: ArrowRight → next, ArrowLeft → prev\n * - horizontal + rtl: 左右反转\n * - vertical: ArrowDown → next, ArrowUp → prev\n * - Home → 第一个,End → 最后一个\n * - loop=true 环绕,false 边界停止;跳过 disabled 的 trigger\n *\n * 与 base-ui 一致:方向键只移动焦点(触发 onFocus 更新高亮),不激活;\n * 激活靠点击(Enter/Space 触发 button 的 click)。activateOnFocus 时的\n * 聚焦激活由 TabsTrigger 的 onFocus 处理,这里不做。\n */\nexport function useTabsKeyboard(ctx: TabsContextValue) {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (!NAV_KEYS.has(e.key)) return;\n\n const activeEl = document.activeElement as HTMLElement | null;\n // 只有焦点在 tab 上时才接管键盘\n if (activeEl?.getAttribute(\"role\") !== \"tab\") return;\n\n const tabs = ctx.getTriggers().filter((t) => !t.disabled());\n if (tabs.length === 0) return;\n\n const currentIndex = tabs.findIndex((t) => t.element === activeEl);\n if (currentIndex === -1) return;\n\n const isVertical = ctx.orientation() === \"vertical\";\n // dir=auto 时回退到文档实际方向\n const dir = ctx.dir();\n const isRTL =\n dir === \"rtl\" ||\n (dir === \"auto\" &&\n typeof document !== \"undefined\" &&\n document.documentElement.dir === \"rtl\");\n\n let nextIndex: number | undefined;\n switch (e.key) {\n case \"Home\":\n nextIndex = 0;\n break;\n case \"End\":\n nextIndex = tabs.length - 1;\n break;\n case \"ArrowLeft\":\n if (isVertical) return;\n nextIndex = currentIndex + (isRTL ? 1 : -1);\n break;\n case \"ArrowRight\":\n if (isVertical) return;\n nextIndex = currentIndex + (isRTL ? -1 : 1);\n break;\n case \"ArrowUp\":\n if (!isVertical) return;\n nextIndex = currentIndex - 1;\n break;\n case \"ArrowDown\":\n if (!isVertical) return;\n nextIndex = currentIndex + 1;\n break;\n }\n\n if (nextIndex === undefined) return;\n\n // 方向键与当前布局匹配,接管默认滚动行为\n e.preventDefault();\n\n if (ctx.loop()) {\n nextIndex = (nextIndex + tabs.length) % tabs.length;\n } else {\n nextIndex = Math.min(tabs.length - 1, Math.max(0, nextIndex));\n }\n\n // focus 触发 trigger 的 onFocus → 更新高亮(及 activateOnFocus 时激活)\n tabs[nextIndex].element.focus();\n };\n\n return { handleKeyDown };\n}\n"],"mappings":";AAEA,IAAM,oBAAW,IAAI,IAAI;CACvB;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAgBD,SAAgB,EAAgB,GAAuB;CAgErD,OAAO,EAAE,gBA/Dc,MAAqB;EAC1C,IAAI,CAAC,EAAS,IAAI,EAAE,GAAG,GAAG;EAE1B,IAAM,IAAW,SAAS;EAE1B,IAAI,GAAU,aAAa,MAAM,MAAM,OAAO;EAE9C,IAAM,IAAO,EAAI,YAAY,CAAC,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,CAAC;EAC1D,IAAI,EAAK,WAAW,GAAG;EAEvB,IAAM,IAAe,EAAK,WAAW,MAAM,EAAE,YAAY,CAAQ;EACjE,IAAI,MAAiB,IAAI;EAEzB,IAAM,IAAa,EAAI,YAAY,MAAM,YAEnC,IAAM,EAAI,IAAI,GACd,IACJ,MAAQ,SACP,MAAQ,UACP,OAAO,WAAa,OACpB,SAAS,gBAAgB,QAAQ,OAEjC;EACJ,QAAQ,EAAE,KAAV;GACE,KAAK;IACH,IAAY;IACZ;GACF,KAAK;IACH,IAAY,EAAK,SAAS;IAC1B;GACF,KAAK;IACH,IAAI,GAAY;IAChB,IAAY,KAAgB,IAAQ,IAAI;IACxC;GACF,KAAK;IACH,IAAI,GAAY;IAChB,IAAY,KAAgB,IAAQ,KAAK;IACzC;GACF,KAAK;IACH,IAAI,CAAC,GAAY;IACjB,IAAY,IAAe;IAC3B;GACF,KAAK;IACH,IAAI,CAAC,GAAY;IACjB,IAAY,IAAe;EAE/B;EAEI,MAAc,KAAA,MAGlB,EAAE,eAAe,GAEjB,AAGE,IAHE,EAAI,KAAK,KACE,IAAY,EAAK,UAAU,EAAK,SAEjC,KAAK,IAAI,EAAK,SAAS,GAAG,KAAK,IAAI,GAAG,CAAS,CAAC,GAI9D,EAAK,EAAU,CAAC,QAAQ,MAAM;CAChC,EAEuB;AACzB"}
@@ -0,0 +1,3 @@
1
+ import { JSX } from 'solid-js';
2
+ import { TabsContentProps } from './TabsContent.types';
3
+ export declare const TabsContent: (props: TabsContentProps) => JSX.Element;
@@ -0,0 +1,52 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { useTabsContext as t } from "../Tabs/Tabs.context.js";
3
+ import { createComponent as n, memo as r, mergeProps as i, setAttribute as a, spread as o, template as s } from "solid-js/web";
4
+ import { Show as c, createUniqueId as l, onMount as u, splitProps as d } from "solid-js";
5
+ //#region src/components/tabs/TabsContent/TabsContent.tsx
6
+ var f = /*#__PURE__*/ s("<div role=tabpanel data-slot=tabs-content tabindex=0>"), p = (s) => {
7
+ let [p, m] = d(s, [
8
+ "value",
9
+ "forceMount",
10
+ "class",
11
+ "classList",
12
+ "style"
13
+ ]), h = t(), g = `tabs-content-${l()}`;
14
+ u(() => h.setContentId(p.value, g));
15
+ let _ = () => h.isSelected(p.value), v = () => _() || !!p.forceMount, y = () => _() || !p.forceMount ? p.style : {
16
+ ...p.style,
17
+ display: "none"
18
+ };
19
+ return n(c, {
20
+ get when() {
21
+ return v();
22
+ },
23
+ get children() {
24
+ var t = f();
25
+ return a(t, "id", g), o(t, i({
26
+ get "aria-labelledby"() {
27
+ return h.getTriggerId(p.value);
28
+ },
29
+ get "data-active"() {
30
+ return _() ? "" : null;
31
+ },
32
+ get class() {
33
+ return e("flex-1 text-sm outline-none", p.class);
34
+ },
35
+ get classList() {
36
+ return p.classList;
37
+ }
38
+ }, m, {
39
+ get hidden() {
40
+ return r(() => !_())() && !!p.forceMount;
41
+ },
42
+ get style() {
43
+ return y();
44
+ }
45
+ }), !1, !1), t;
46
+ }
47
+ });
48
+ };
49
+ //#endregion
50
+ export { p as TabsContent };
51
+
52
+ //# sourceMappingURL=TabsContent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsContent.js","names":["createUniqueId","onMount","Show","splitProps","JSX","clsx","useTabsContext","TabsContentProps","TabsContent","props","local","others","ctx","id","contentId","setContentId","value","selected","isSelected","mounted","forceMount","style","CSSProperties","display","_$createComponent","when","children","_el$","_tmpl$","_$setAttribute","_$spread","_$mergeProps","aria-labelledby","getTriggerId","data-active","class","classList","hidden","_$memo"],"sources":["../../../../src/components/tabs/TabsContent/TabsContent.tsx"],"sourcesContent":["import { createUniqueId, onMount, Show, splitProps } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useTabsContext } from \"../Tabs/Tabs.context\";\nimport type { TabsContentProps } from \"./TabsContent.types\";\n\nexport const TabsContent = (props: TabsContentProps) => {\n const [local, others] = splitProps(props, [\n \"value\",\n \"forceMount\",\n \"class\",\n \"classList\",\n \"style\",\n ]);\n const ctx = useTabsContext();\n\n const id = createUniqueId();\n const contentId = `tabs-content-${id}`;\n\n onMount(() => ctx.setContentId(local.value, contentId));\n\n const selected = () => ctx.isSelected(local.value);\n const mounted = () => selected() || !!local.forceMount;\n\n // flex-1 的 display:flex 会覆盖 UA 的 [hidden] 规则,forceMount 隐藏必须显式 display:none\n const style = (): JSX.CSSProperties | undefined => {\n if (selected() || !local.forceMount) return local.style;\n return { ...local.style, display: \"none\" };\n };\n\n return (\n <Show when={mounted()}>\n <div\n id={contentId}\n role=\"tabpanel\"\n data-slot=\"tabs-content\"\n aria-labelledby={ctx.getTriggerId(local.value)}\n tabindex=\"0\"\n data-active={selected() ? \"\" : null}\n class={clsx(\"flex-1 text-sm outline-none\", local.class)}\n classList={local.classList}\n {...others}\n hidden={!selected() && !!local.forceMount}\n style={style()}\n />\n </Show>\n );\n};\n"],"mappings":";;;;;kFAMaQ,KAAeC,MAA4B;CACtD,IAAM,CAACC,GAAOC,KAAUR,EAAWM,GAAO;EACxC;EACA;EACA;EACA;EACA;CAAO,CACR,GACKG,IAAMN,EAAe,GAGrBQ,IAAY,gBADPd,EACuBa;CAElCZ,QAAcW,EAAIG,aAAaL,EAAMM,OAAOF,CAAS,CAAC;CAEtD,IAAMG,UAAiBL,EAAIM,WAAWR,EAAMM,KAAK,GAC3CG,UAAgBF,EAAS,KAAK,CAAC,CAACP,EAAMU,YAGtCC,UACAJ,EAAS,KAAK,CAACP,EAAMU,aAAmBV,EAAMW,QAC3C;EAAE,GAAGX,EAAMW;EAAOE,SAAS;CAAO;CAG3C,OAAAC,EACGtB,GAAI;EAAA,IAACuB,OAAI;GAAA,OAAEN,EAAQ;EAAC;EAAA,IAAAO,WAAA;GAAA,IAAAC,IAAAC,EAAA;GAYH,OAZGC,EAAAF,GAAA,MAEbb,CAAS,GAAAgB,EAAAH,GAAAI,EAAA;IAAA,IAAA,oBAAA;KAAA,OAGInB,EAAIqB,aAAavB,EAAMM,KAAK;IAAC;IAAA,IAAA,gBAAA;KAAA,OAEjCC,EAAS,IAAI,KAAK;IAAI;IAAA,IAAA,QAAA;KAAA,OAC5BZ,EAAK,+BAA+BK,EAAMyB,KAAK;IAAC;IAAA,IACvDC,YAAS;KAAA,OAAE1B,EAAM0B;IAAS;GAAA,GACtBzB,GAAM;IAAA,IACV0B,SAAM;KAAA,OAAEC,QAAA,CAACrB,EAAS,CAAC,CAAA,CAAA,KAAI,CAAC,CAACP,EAAMU;IAAU;IAAA,IACzCC,QAAK;KAAA,OAAEA,EAAM;IAAC;GAAA,CAAA,GAAA,IAAA,EAAA,GAAAM;EAAA;CAAA,CAAA;AAItB"}
@@ -0,0 +1,6 @@
1
+ import { BaseProps, PolymorphicProps } from '../../../types';
2
+ import { TabsValue } from '../Tabs/Tabs.types';
3
+ export type TabsContentProps = PolymorphicProps<"div", BaseProps & {
4
+ value: TabsValue;
5
+ forceMount?: boolean;
6
+ }, false>;
@@ -0,0 +1,2 @@
1
+ export { TabsContent } from './TabsContent';
2
+ export * from './TabsContent.types';
@@ -0,0 +1,7 @@
1
+ interface TabsListContextValue {
2
+ /** 聚焦是否激活 tab(base-ui 语义,默认 false:聚焦只高亮,点击才激活) */
3
+ activateOnFocus: boolean;
4
+ }
5
+ export declare const TabsListContext: import('solid-js').Context<TabsListContextValue | undefined>;
6
+ export declare const useTabsListContext: () => TabsListContextValue;
7
+ export {};
@@ -0,0 +1,11 @@
1
+ import { createContext as e, useContext as t } from "solid-js";
2
+ //#region src/components/tabs/TabsList/TabsList.context.ts
3
+ var n = e(), r = () => {
4
+ let e = t(n);
5
+ if (!e) throw Error("useTabsListContext must be used within a <TabsList> component");
6
+ return e;
7
+ };
8
+ //#endregion
9
+ export { n as TabsListContext, r as useTabsListContext };
10
+
11
+ //# sourceMappingURL=TabsList.context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsList.context.js","names":[],"sources":["../../../../src/components/tabs/TabsList/TabsList.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\n\ninterface TabsListContextValue {\n /** 聚焦是否激活 tab(base-ui 语义,默认 false:聚焦只高亮,点击才激活) */\n activateOnFocus: boolean;\n}\n\nexport const TabsListContext = createContext<TabsListContextValue>();\n\nexport const useTabsListContext = () => {\n const context = useContext(TabsListContext);\n if (!context)\n throw new Error(\n \"useTabsListContext must be used within a <TabsList> component\",\n );\n return context;\n};\n"],"mappings":";;AAOA,IAAa,IAAkB,EAAoC,GAEtD,UAA2B;CACtC,IAAM,IAAU,EAAW,CAAe;CAC1C,IAAI,CAAC,GACH,MAAU,MACR,+DACF;CACF,OAAO;AACT"}
@@ -0,0 +1,2 @@
1
+ import { TabsListProps } from './TabsList.types';
2
+ export declare const TabsList: (props: TabsListProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,48 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { useTabsContext as t } from "../Tabs/Tabs.context.js";
3
+ import { tabsListVariants as n } from "./TabsList.styles.js";
4
+ import { useTabsKeyboard as r } from "../Tabs/useTabsKeyboard.js";
5
+ import { callEventHandler as i } from "../Tabs/call-event-handler.js";
6
+ import { TabsListContext as a } from "./TabsList.context.js";
7
+ import { createComponent as o, mergeProps as s, spread as c, template as l } from "solid-js/web";
8
+ import { mergeProps as u, splitProps as d } from "solid-js";
9
+ //#region src/components/tabs/TabsList/TabsList.tsx
10
+ var f = /*#__PURE__*/ l("<div role=tablist data-slot=tabs-list>"), p = (l) => {
11
+ let p = u({
12
+ variant: "secondary",
13
+ activateOnFocus: !1
14
+ }, l), [m, h, g] = d(p, [
15
+ "variant",
16
+ "class",
17
+ "classList",
18
+ "activateOnFocus"
19
+ ], ["onKeyDown"]), _ = t(), { handleKeyDown: v } = r(_);
20
+ return o(a.Provider, {
21
+ get value() {
22
+ return { activateOnFocus: m.activateOnFocus };
23
+ },
24
+ get children() {
25
+ var t = f();
26
+ return c(t, s({
27
+ get "data-variant"() {
28
+ return m.variant;
29
+ },
30
+ get "aria-orientation"() {
31
+ return _.orientation() === "vertical" ? "vertical" : void 0;
32
+ },
33
+ get class() {
34
+ return e(n({ variant: m.variant }), m.class);
35
+ },
36
+ get classList() {
37
+ return m.classList;
38
+ }
39
+ }, g, { onKeyDown: (e) => {
40
+ v(e), i(h.onKeyDown, e);
41
+ } }), !1, !1), t;
42
+ }
43
+ });
44
+ };
45
+ //#endregion
46
+ export { p as TabsList };
47
+
48
+ //# sourceMappingURL=TabsList.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsList.js","names":["mergeProps","splitProps","TabsListProps","clsx","tabsListVariants","useTabsContext","useTabsKeyboard","callEventHandler","TabsListContext","TabsList","props","merged","variant","activateOnFocus","const","local","events","others","ctx","handleKeyDown","_$createComponent","Provider","value","children","_el$","_tmpl$","_$spread","_$mergeProps","data-variant","aria-orientation","orientation","undefined","class","classList","e","onKeyDown"],"sources":["../../../../src/components/tabs/TabsList/TabsList.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport type { TabsListProps } from \"./TabsList.types\";\nimport { clsx } from \"~/utils\";\nimport { tabsListVariants } from \"./TabsList.styles\";\nimport { useTabsContext } from \"../Tabs/Tabs.context\";\nimport { useTabsKeyboard } from \"../Tabs/useTabsKeyboard\";\nimport { callEventHandler } from \"../Tabs/call-event-handler\";\nimport { TabsListContext } from \"./TabsList.context\";\n\nexport const TabsList = (props: TabsListProps) => {\n const merged = mergeProps(\n { variant: \"secondary\", activateOnFocus: false } as const,\n props,\n );\n const [local, events, others] = splitProps(\n merged,\n [\"variant\", \"class\", \"classList\", \"activateOnFocus\"],\n [\"onKeyDown\"],\n );\n\n const ctx = useTabsContext();\n const { handleKeyDown } = useTabsKeyboard(ctx);\n\n return (\n <TabsListContext.Provider\n value={{ activateOnFocus: local.activateOnFocus }}\n >\n <div\n role=\"tablist\"\n data-slot=\"tabs-list\"\n data-variant={local.variant}\n aria-orientation={\n ctx.orientation() === \"vertical\" ? \"vertical\" : undefined\n }\n class={clsx(tabsListVariants({ variant: local.variant }), local.class)}\n classList={local.classList}\n {...others}\n onKeyDown={(e) => {\n handleKeyDown(e);\n callEventHandler(events.onKeyDown, e);\n }}\n />\n </TabsListContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;mEASaS,KAAYC,MAAyB;CAChD,IAAMC,IAASX,EACb;EAAEY,SAAS;EAAaC,iBAAiB;CAAM,GAC/CH,CACF,GACM,CAACK,GAAOC,GAAQC,KAAUhB,EAC9BU,GACA;EAAC;EAAW;EAAS;EAAa;CAAiB,GACnD,CAAC,WAAW,CACd,GAEMO,IAAMb,EAAe,GACrB,EAAEc,qBAAkBb,EAAgBY,CAAG;CAE7C,OAAAE,EACGZ,EAAgBa,UAAQ;EAAA,IACvBC,QAAK;GAAA,OAAE,EAAET,iBAAiBE,EAAMF,gBAAgB;EAAC;EAAA,IAAAU,WAAA;GAAA,IAAAC,IAAAC,EAAA;GAe9C,OAf8CC,EAAAF,GAAAG,EAAA;IAAA,IAAA,iBAAA;KAAA,OAKjCZ,EAAMH;IAAO;IAAA,IAAA,qBAAA;KAAA,OAEzBM,EAAIY,YAAY,MAAM,aAAa,aAAaC,KAAAA;IAAS;IAAA,IAAA,QAAA;KAAA,OAEpD5B,EAAKC,EAAiB,EAAEQ,SAASG,EAAMH,QAAQ,CAAC,GAAGG,EAAMiB,KAAK;IAAC;IAAA,IACtEC,YAAS;KAAA,OAAElB,EAAMkB;IAAS;GAAA,GACtBhB,GAAM,EAAA,YACEiB,MAAM;IAEhB3B,AADAY,EAAce,CAAC,GACf3B,EAAiBS,EAAOmB,WAAWD,CAAC;GACtC,EAAC,CAAA,GAAA,IAAA,EAAA,GAAAV;EAAA;CAAA,CAAA;AAIT"}
@@ -0,0 +1,3 @@
1
+ export declare const tabsListVariants: (props?: ({
2
+ variant?: "line" | "secondary" | null | undefined;
3
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,13 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ //#region src/components/tabs/TabsList/TabsList.styles.ts
3
+ var t = e("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-0.75 text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none", {
4
+ variants: { variant: {
5
+ secondary: "bg-muted",
6
+ line: "gap-1 bg-transparent"
7
+ } },
8
+ defaultVariants: { variant: "secondary" }
9
+ });
10
+ //#endregion
11
+ export { t as tabsListVariants };
12
+
13
+ //# sourceMappingURL=TabsList.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsList.styles.js","names":[],"sources":["../../../../src/components/tabs/TabsList/TabsList.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const tabsListVariants = cva(\n \"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-0.75 text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none\",\n {\n variants: {\n variant: {\n secondary: \"bg-muted\",\n line: \"gap-1 bg-transparent\",\n },\n },\n defaultVariants: {\n variant: \"secondary\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAa,IAAmB,EAC9B,0OACA;CACE,UAAU,EACR,SAAS;EACP,WAAW;EACX,MAAM;CACR,EACF;CACA,iBAAiB,EACf,SAAS,YACX;AACF,CACF"}
@@ -0,0 +1,7 @@
1
+ import { VariantProps } from 'class-variance-authority';
2
+ import { BaseProps, PolymorphicProps } from '../../../types';
3
+ import { tabsListVariants } from './TabsList.styles';
4
+ export type TabsListProps = PolymorphicProps<"div", BaseProps & VariantProps<typeof tabsListVariants> & {
5
+ /** 聚焦 tab 时是否同时激活,默认 false(与 base-ui 一致) */
6
+ activateOnFocus?: boolean;
7
+ }, false>;
@@ -0,0 +1,2 @@
1
+ export { TabsList } from './TabsList';
2
+ export * from './TabsList.types';
@@ -0,0 +1,2 @@
1
+ import { TabsTriggerProps } from './TabsTrigger.types';
2
+ export declare const TabsTrigger: (props: TabsTriggerProps) => import("solid-js").JSX.Element;
@@ -0,0 +1,71 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ import { useTabsContext as t } from "../Tabs/Tabs.context.js";
3
+ import { callEventHandler as n } from "../Tabs/call-event-handler.js";
4
+ import { useTabsListContext as r } from "../TabsList/TabsList.context.js";
5
+ import { tabsTriggerStyles as i } from "./TabsTrigger.styles.js";
6
+ import { mergeProps as a, setAttribute as o, spread as s, template as c, use as l } from "solid-js/web";
7
+ import { createUniqueId as u, onCleanup as d, onMount as f, splitProps as p } from "solid-js";
8
+ //#region src/components/tabs/TabsTrigger/TabsTrigger.tsx
9
+ var m = /*#__PURE__*/ c("<button type=button role=tab data-slot=tabs-trigger>"), h = (c) => {
10
+ let [h, g, _] = p(c, [
11
+ "value",
12
+ "class",
13
+ "classList",
14
+ "disabled"
15
+ ], ["onClick", "onFocus"]), v = t(), y = r(), b = `tabs-trigger-${u()}`, x, S = () => !!h.disabled, C = () => v.isSelected(h.value), w = () => {
16
+ if (S()) return -1;
17
+ let e = v.highlightedValue();
18
+ return e === h.value && v.isUsable(h.value) || (e === void 0 || !v.isUsable(e)) && v.isFirstEnabled(h.value) ? 0 : -1;
19
+ };
20
+ return f(() => {
21
+ v.setTriggerId(h.value, b), d(v.registerTrigger({
22
+ value: h.value,
23
+ disabled: S,
24
+ element: x
25
+ }));
26
+ }), (() => {
27
+ var t = m();
28
+ return l((e) => {
29
+ x = e;
30
+ }, t), o(t, "id", b), s(t, a({
31
+ get "data-active"() {
32
+ return C() ? "" : null;
33
+ },
34
+ get "data-highlighted"() {
35
+ return v.highlightedValue() === h.value ? "" : null;
36
+ },
37
+ get "aria-selected"() {
38
+ return C();
39
+ },
40
+ get "aria-controls"() {
41
+ return v.getContentId(h.value);
42
+ },
43
+ get "aria-disabled"() {
44
+ return S() ? "true" : void 0;
45
+ },
46
+ get tabindex() {
47
+ return w();
48
+ },
49
+ get disabled() {
50
+ return h.disabled;
51
+ },
52
+ get class() {
53
+ return e(i, h.class);
54
+ },
55
+ get classList() {
56
+ return h.classList;
57
+ }
58
+ }, _, {
59
+ onClick: (e) => {
60
+ S() || v.setValue(h.value), n(g.onClick, e);
61
+ },
62
+ onFocus: (e) => {
63
+ S() || (v.setHighlightedValue(h.value), y.activateOnFocus && v.setValue(h.value)), n(g.onFocus, e);
64
+ }
65
+ }), !1, !1), t;
66
+ })();
67
+ };
68
+ //#endregion
69
+ export { h as TabsTrigger };
70
+
71
+ //# sourceMappingURL=TabsTrigger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsTrigger.js","names":["createUniqueId","onCleanup","onMount","splitProps","clsx","useTabsContext","useTabsListContext","callEventHandler","tabsTriggerStyles","TabsTriggerProps","TabsTrigger","props","local","events","others","ctx","listCtx","id","triggerId","elementRef","HTMLButtonElement","disabled","selected","isSelected","value","tabIndex","highlighted","highlightedValue","isUsable","undefined","isFirstEnabled","setTriggerId","registerTrigger","element","_el$","_tmpl$","_$use","el","_$setAttribute","_$spread","_$mergeProps","data-active","data-highlighted","aria-selected","aria-controls","getContentId","aria-disabled","tabindex","class","classList","e","setValue","onClick","setHighlightedValue","activateOnFocus","onFocus"],"sources":["../../../../src/components/tabs/TabsTrigger/TabsTrigger.tsx"],"sourcesContent":["import { createUniqueId, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useTabsContext } from \"../Tabs/Tabs.context\";\nimport { useTabsListContext } from \"../TabsList/TabsList.context\";\nimport { callEventHandler } from \"../Tabs/call-event-handler\";\nimport { tabsTriggerStyles } from \"./TabsTrigger.styles\";\nimport type { TabsTriggerProps } from \"./TabsTrigger.types\";\n\nexport const TabsTrigger = (props: TabsTriggerProps) => {\n const [local, events, others] = splitProps(\n props,\n [\"value\", \"class\", \"classList\", \"disabled\"],\n [\"onClick\", \"onFocus\"],\n );\n const ctx = useTabsContext();\n const listCtx = useTabsListContext();\n\n const id = createUniqueId();\n const triggerId = `tabs-trigger-${id}`;\n\n let elementRef: HTMLButtonElement | undefined;\n\n const disabled = () => !!local.disabled;\n const selected = () => ctx.isSelected(local.value);\n\n // roving tabindex 跟随焦点高亮:高亮 tab 持 0;\n // 高亮为空或高亮指向的 trigger 不可用(disabled/卸载)时,\n // 首个可用 tab 持 0 作为键盘起点,避免 tablist 键盘不可达\n const tabIndex = () => {\n if (disabled()) return -1;\n const highlighted = ctx.highlightedValue();\n if (highlighted === local.value && ctx.isUsable(local.value)) return 0;\n if (\n (highlighted === undefined || !ctx.isUsable(highlighted)) &&\n ctx.isFirstEnabled(local.value)\n ) {\n return 0;\n }\n return -1;\n };\n\n onMount(() => {\n ctx.setTriggerId(local.value, triggerId);\n onCleanup(\n ctx.registerTrigger({\n value: local.value,\n disabled,\n element: elementRef!,\n }),\n );\n });\n\n return (\n <button\n type=\"button\"\n ref={(el) => {\n elementRef = el;\n }}\n role=\"tab\"\n id={triggerId}\n data-slot=\"tabs-trigger\"\n data-active={selected() ? \"\" : null}\n data-highlighted={ctx.highlightedValue() === local.value ? \"\" : null}\n aria-selected={selected()}\n aria-controls={ctx.getContentId(local.value)}\n aria-disabled={disabled() ? \"true\" : undefined}\n tabindex={tabIndex()}\n disabled={local.disabled}\n class={clsx(tabsTriggerStyles, local.class)}\n classList={local.classList}\n {...others}\n onClick={(e) => {\n // base-ui 语义:激活发生在点击(鼠标抬起/Enter/Space)时,\n // mousedown 触发的 focus 不激活\n if (!disabled()) ctx.setValue(local.value);\n callEventHandler(events.onClick, e);\n }}\n onFocus={(e) => {\n // 聚焦只更新高亮(roving focus);activateOnFocus 时聚焦即激活\n if (!disabled()) {\n ctx.setHighlightedValue(local.value);\n if (listCtx.activateOnFocus) ctx.setValue(local.value);\n }\n callEventHandler(events.onFocus, e);\n }}\n />\n );\n};\n"],"mappings":";;;;;;;;iFAQaU,KAAeC,MAA4B;CACtD,IAAM,CAACC,GAAOC,GAAQC,KAAUX,EAC9BQ,GACA;EAAC;EAAS;EAAS;EAAa;CAAU,GAC1C,CAAC,WAAW,SAAS,CACvB,GACMI,IAAMV,EAAe,GACrBW,IAAUV,EAAmB,GAG7BY,IAAY,gBADPlB,EACuBiB,KAE9BE,GAEEE,UAAiB,CAAC,CAACT,EAAMS,UACzBC,UAAiBP,EAAIQ,WAAWX,EAAMY,KAAK,GAK3CC,UAAiB;EACrB,IAAIJ,EAAS,GAAG,OAAO;EACvB,IAAMK,IAAcX,EAAIY,iBAAiB;EAQzC,OAPID,MAAgBd,EAAMY,SAAST,EAAIa,SAAShB,EAAMY,KAAK,MAExDE,MAAgBG,KAAAA,KAAa,CAACd,EAAIa,SAASF,CAAW,MACvDX,EAAIe,eAAelB,EAAMY,KAAK,IAEvB,IAEF;CACT;CAaA,OAXAtB,QAAc;EAEZD,AADAc,EAAIgB,aAAanB,EAAMY,OAAON,CAAS,GACvCjB,EACEc,EAAIiB,gBAAgB;GAClBR,OAAOZ,EAAMY;GACbH;GACAY,SAASd;EACX,CAAC,CACH;CACF,CAAC,UAED;EAAA,IAAAe,IAAAC,EAAA;EAgCK,OAhCLC,GAGUC,MAAO;GACXlB,IAAakB;EACf,GAACH,CAAA,GAAAI,EAAAJ,GAAA,MAEGhB,CAAS,GAAAqB,EAAAL,GAAAM,EAAA;GAAA,IAAA,gBAAA;IAAA,OAEAlB,EAAS,IAAI,KAAK;GAAI;GAAA,IAAA,qBAAA;IAAA,OACjBP,EAAIY,iBAAiB,MAAMf,EAAMY,QAAQ,KAAK;GAAI;GAAA,IAAA,kBAAA;IAAA,OACrDF,EAAS;GAAC;GAAA,IAAA,kBAAA;IAAA,OACVP,EAAI8B,aAAajC,EAAMY,KAAK;GAAC;GAAA,IAAA,kBAAA;IAAA,OAC7BH,EAAS,IAAI,SAASQ,KAAAA;GAAS;GAAA,IAC9CkB,WAAQ;IAAA,OAAEtB,EAAS;GAAC;GAAA,IACpBJ,WAAQ;IAAA,OAAET,EAAMS;GAAQ;GAAA,IAAA,QAAA;IAAA,OACjBjB,EAAKI,GAAmBI,EAAMoC,KAAK;GAAC;GAAA,IAC3CC,YAAS;IAAA,OAAErC,EAAMqC;GAAS;EAAA,GACtBnC,GAAM;GAAA,UACAoC,MAAM;IAId3C,AADKc,EAAS,KAAGN,EAAIoC,SAASvC,EAAMY,KAAK,GACzCjB,EAAiBM,EAAOuC,SAASF,CAAC;GACpC;GAAC,UACSA,MAAM;IAMd3C,AAJKc,EAAS,MACZN,EAAIsC,oBAAoBzC,EAAMY,KAAK,GAC/BR,EAAQsC,mBAAiBvC,EAAIoC,SAASvC,EAAMY,KAAK,IAEvDjB,EAAiBM,EAAO0C,SAASL,CAAC;GACpC;EAAC,CAAA,GAAA,IAAA,EAAA,GAAAhB;CAAA,EAAA,CAAA;AAGP"}
@@ -0,0 +1 @@
1
+ export declare const tabsTriggerStyles: string;
@@ -0,0 +1,7 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ //#region src/components/tabs/TabsTrigger/TabsTrigger.styles.ts
3
+ var t = e("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=secondary]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground", "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:-bottom-1.25 group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100");
4
+ //#endregion
5
+ export { t as tabsTriggerStyles };
6
+
7
+ //# sourceMappingURL=TabsTrigger.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TabsTrigger.styles.js","names":[],"sources":["../../../../src/components/tabs/TabsTrigger/TabsTrigger.styles.ts"],"sourcesContent":["import { clsx } from \"~/utils\";\n\nexport const tabsTriggerStyles = clsx(\n \"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=secondary]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent\",\n \"data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground\",\n \"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:-bottom-1.25 group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100\",\n);\n"],"mappings":";;AAEA,IAAa,IAAoB,EAC/B,g2BACA,iQACA,qJACA,qYACF"}
@@ -0,0 +1,6 @@
1
+ import { BaseProps, MouseEventHandler, PolymorphicProps } from '../../../types';
2
+ import { TabsValue } from '../Tabs/Tabs.types';
3
+ export type TabsTriggerProps = PolymorphicProps<"button", BaseProps & {
4
+ value: TabsValue;
5
+ onClick?: MouseEventHandler<"button">;
6
+ }, false>;
@@ -0,0 +1,2 @@
1
+ export { TabsTrigger } from './TabsTrigger';
2
+ export * from './TabsTrigger.types';
@@ -0,0 +1,4 @@
1
+ export * from './Tabs';
2
+ export * from './TabsList';
3
+ export * from './TabsTrigger';
4
+ export * from './TabsContent';
@@ -0,0 +1,5 @@
1
+ import { Tabs as e } from "./Tabs/Tabs.js";
2
+ import { TabsList as t } from "./TabsList/TabsList.js";
3
+ import { TabsTrigger as n } from "./TabsTrigger/TabsTrigger.js";
4
+ import { TabsContent as r } from "./TabsContent/TabsContent.js";
5
+ export { e as Tabs, r as TabsContent, t as TabsList, n as TabsTrigger };
@@ -2,12 +2,12 @@ import { clsx as e } from "../../utils/clsx.js";
2
2
  import { mergeProps as t, spread as n, template as r } from "solid-js/web";
3
3
  import { splitProps as i } from "solid-js";
4
4
  //#region src/components/textarea/Textarea.tsx
5
- var a = /* @__PURE__ */ r("<textarea data-slot=textarea>"), o = (r) => {
5
+ var a = /*#__PURE__*/ r("<textarea data-slot=textarea>"), o = (r) => {
6
6
  let [o, s] = i(r, ["class", "classList"]);
7
7
  return (() => {
8
8
  var r = a();
9
9
  return n(r, t({ get class() {
10
- return e("flex field-sizing-content min-h-16 w-full rounded-lg border border-neutral-200 dark:border-white/15 bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-neutral-500 dark:placeholder:text-neutral-400 focus-visible:border-neutral-400 dark:focus-visible:border-neutral-500 focus-visible:ring-3 focus-visible:ring-neutral-400/50 dark:focus-visible:ring-neutral-500/50 disabled:cursor-not-allowed disabled:bg-neutral-200/50 disabled:opacity-50 aria-invalid:border-red-600 aria-invalid:ring-3 aria-invalid:ring-red-600/20 md:text-sm dark:bg-white/4.5 dark:disabled:bg-white/12 dark:aria-invalid:border-red-400/50 dark:aria-invalid:ring-red-400/40", o.class);
10
+ return e("flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", o.class);
11
11
  } }, s), !1, !1), r;
12
12
  })();
13
13
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.js","names":["splitProps","TextareaProps","clsx","Textarea","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../src/components/textarea/Textarea.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { TextareaProps } from \"./Textarea.types\";\nimport { clsx } from \"~/utils\";\n\nexport const Textarea = (props: TextareaProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <textarea\n data-slot=\"textarea\"\n class={clsx(\n \"flex field-sizing-content min-h-16 w-full rounded-lg border border-neutral-200 dark:border-white/15 bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-neutral-500 dark:placeholder:text-neutral-400 focus-visible:border-neutral-400 dark:focus-visible:border-neutral-500 focus-visible:ring-3 focus-visible:ring-neutral-400/50 dark:focus-visible:ring-neutral-500/50 disabled:cursor-not-allowed disabled:bg-neutral-200/50 disabled:opacity-50 aria-invalid:border-red-600 aria-invalid:ring-3 aria-invalid:ring-red-600/20 md:text-sm dark:bg-white/4.5 dark:disabled:bg-white/12 dark:aria-invalid:border-red-400/50 dark:aria-invalid:ring-red-400/40\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;4DAIaG,KAAYC,MAAyB;CAChD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,YAAY,CAAC;AAEjE,eAAA;EAAA,IAAAG,IAAAC,GAAA;AAOc,SAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;AAAA,UAGWR,EACL,qqBACAG,EAAMM,MACP;KAAA,EACGL,EAAM,EAAA,IAAA,GAAA,EAAAC;KAAA"}
1
+ {"version":3,"file":"Textarea.js","names":["splitProps","TextareaProps","clsx","Textarea","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../src/components/textarea/Textarea.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { TextareaProps } from \"./Textarea.types\";\nimport { clsx } from \"~/utils\";\n\nexport const Textarea = (props: TextareaProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <textarea\n data-slot=\"textarea\"\n class={clsx(\n \"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;0DAIaG,KAAYC,MAAyB;CAChD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAGWR,EACL,0hBACAG,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}