@neut/ui 0.0.9 → 0.0.10

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 (579) 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/textarea/Textarea.js +2 -2
  457. package/dist/components/textarea/Textarea.js.map +1 -1
  458. package/dist/components/toast/components/Assets.js +1 -1
  459. package/dist/components/toast/components/Assets.js.map +1 -1
  460. package/dist/components/toast/components/Toast.js +2 -5
  461. package/dist/components/toast/components/Toast.js.map +1 -1
  462. package/dist/components/toast/components/ToastActions.js +1 -1
  463. package/dist/components/toast/components/ToastActions.js.map +1 -1
  464. package/dist/components/toast/components/ToastContent.js +1 -1
  465. package/dist/components/toast/components/ToastContent.js.map +1 -1
  466. package/dist/components/toast/components/ToastIcon.js +1 -1
  467. package/dist/components/toast/components/ToastIcon.js.map +1 -1
  468. package/dist/components/toast/components/Toaster.js +1 -1
  469. package/dist/components/toast/components/Toaster.js.map +1 -1
  470. package/dist/components/toast/hooks/useSwipe.js.map +1 -1
  471. package/dist/components/toast/hooks/useTheme.js.map +1 -1
  472. package/dist/components/toast/hooks/useToastHeight.js.map +1 -1
  473. package/dist/components/toast/hooks/useToastSubscription.js +3 -2
  474. package/dist/components/toast/hooks/useToastSubscription.js.map +1 -1
  475. package/dist/components/toast/hooks/useToastTimer.js.map +1 -1
  476. package/dist/components/toast/hooks/useToasterKeyboard.js.map +1 -1
  477. package/dist/components/toast/hooks.js +3 -2
  478. package/dist/components/toast/hooks.js.map +1 -1
  479. package/dist/components/toast/state.js +5 -5
  480. package/dist/components/toast/state.js.map +1 -1
  481. package/dist/components/toast/utils.js.map +1 -1
  482. package/dist/components/tooltip/Tooltip/Tooltip.context.d.ts +2 -11
  483. package/dist/components/tooltip/Tooltip/Tooltip.context.js +4 -4
  484. package/dist/components/tooltip/Tooltip/Tooltip.context.js.map +1 -1
  485. package/dist/components/tooltip/Tooltip/Tooltip.d.ts +21 -5
  486. package/dist/components/tooltip/Tooltip/Tooltip.js +60 -23
  487. package/dist/components/tooltip/Tooltip/Tooltip.js.map +1 -1
  488. package/dist/components/tooltip/Tooltip/Tooltip.types.d.ts +58 -0
  489. package/dist/components/tooltip/Tooltip/index.d.ts +2 -0
  490. package/dist/components/tooltip/TooltipArrow/TooltipArrow.d.ts +34 -1
  491. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js +48 -12
  492. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js.map +1 -1
  493. package/dist/components/tooltip/TooltipArrow/index.d.ts +1 -0
  494. package/dist/components/tooltip/TooltipContent/TooltipContent.context.d.ts +19 -5
  495. package/dist/components/tooltip/TooltipContent/TooltipContent.context.js +4 -4
  496. package/dist/components/tooltip/TooltipContent/TooltipContent.context.js.map +1 -1
  497. package/dist/components/tooltip/TooltipContent/TooltipContent.d.ts +10 -1
  498. package/dist/components/tooltip/TooltipContent/TooltipContent.js +60 -46
  499. package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
  500. package/dist/components/tooltip/TooltipContent/TooltipContent.types.d.ts +13 -3
  501. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +57 -6
  502. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +34 -58
  503. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
  504. package/dist/components/tooltip/TooltipContent/index.d.ts +7 -0
  505. package/dist/components/tooltip/TooltipContent/useTooltipContent.d.ts +45 -8
  506. package/dist/components/tooltip/TooltipContent/useTooltipContent.js +70 -41
  507. package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
  508. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.d.ts +29 -0
  509. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js +10 -0
  510. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js.map +1 -0
  511. package/dist/components/tooltip/TooltipGroup/TooltipGroup.d.ts +2 -0
  512. package/dist/components/tooltip/TooltipGroup/TooltipGroup.js +25 -0
  513. package/dist/components/tooltip/TooltipGroup/TooltipGroup.js.map +1 -0
  514. package/dist/components/tooltip/TooltipGroup/TooltipGroup.types.d.ts +10 -0
  515. package/dist/components/tooltip/TooltipGroup/index.d.ts +4 -0
  516. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.d.ts +4 -2
  517. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js +26 -6
  518. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js.map +1 -1
  519. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.types.d.ts +3 -0
  520. package/dist/components/tooltip/TooltipTrigger/index.d.ts +3 -0
  521. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.d.ts +29 -2
  522. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js +27 -27
  523. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js.map +1 -1
  524. package/dist/components/tooltip/index.d.ts +6 -0
  525. package/dist/components/tooltip/index.js +2 -1
  526. package/dist/hooks/useFontLoader.js +1 -1
  527. package/dist/hooks/useFontLoader.js.map +1 -1
  528. package/dist/index.js +155 -152
  529. package/dist/lib/index.d.ts +1 -0
  530. package/dist/lib/positioner/auto-update.d.ts +19 -0
  531. package/dist/lib/positioner/auto-update.js +20 -0
  532. package/dist/lib/positioner/auto-update.js.map +1 -0
  533. package/dist/lib/positioner/core/compute-position.d.ts +9 -0
  534. package/dist/lib/positioner/core/compute-position.js +47 -0
  535. package/dist/lib/positioner/core/compute-position.js.map +1 -0
  536. package/dist/lib/positioner/core/placement.d.ts +14 -0
  537. package/dist/lib/positioner/core/placement.js +45 -0
  538. package/dist/lib/positioner/core/placement.js.map +1 -0
  539. package/dist/lib/positioner/create-positioner.d.ts +63 -0
  540. package/dist/lib/positioner/create-positioner.js +51 -0
  541. package/dist/lib/positioner/create-positioner.js.map +1 -0
  542. package/dist/lib/positioner/index.d.ts +11 -0
  543. package/dist/lib/positioner/middleware/arrow.d.ts +23 -0
  544. package/dist/lib/positioner/middleware/arrow.js +23 -0
  545. package/dist/lib/positioner/middleware/arrow.js.map +1 -0
  546. package/dist/lib/positioner/middleware/containing-block-offset.d.ts +27 -0
  547. package/dist/lib/positioner/middleware/containing-block-offset.js +46 -0
  548. package/dist/lib/positioner/middleware/containing-block-offset.js.map +1 -0
  549. package/dist/lib/positioner/middleware/flip.d.ts +9 -0
  550. package/dist/lib/positioner/middleware/flip.js +54 -0
  551. package/dist/lib/positioner/middleware/flip.js.map +1 -0
  552. package/dist/lib/positioner/middleware/hide.d.ts +22 -0
  553. package/dist/lib/positioner/middleware/hide.js +19 -0
  554. package/dist/lib/positioner/middleware/hide.js.map +1 -0
  555. package/dist/lib/positioner/middleware/index.d.ts +13 -0
  556. package/dist/lib/positioner/middleware/offset.d.ts +10 -0
  557. package/dist/lib/positioner/middleware/offset.js +21 -0
  558. package/dist/lib/positioner/middleware/offset.js.map +1 -0
  559. package/dist/lib/positioner/middleware/shift.d.ts +13 -0
  560. package/dist/lib/positioner/middleware/shift.js +30 -0
  561. package/dist/lib/positioner/middleware/shift.js.map +1 -0
  562. package/dist/lib/positioner/middleware/size.d.ts +13 -0
  563. package/dist/lib/positioner/types.d.ts +74 -0
  564. package/dist/lib/positioner/utils/dom.d.ts +16 -0
  565. package/dist/lib/positioner/utils/dom.js +43 -0
  566. package/dist/lib/positioner/utils/dom.js.map +1 -0
  567. package/dist/lib/positioner/virtual-element.d.ts +21 -0
  568. package/dist/types/props.types.d.ts +10 -9
  569. package/dist/ui.css +2 -2
  570. package/dist/utils/clsx.js.map +1 -1
  571. package/dist/utils/index.d.ts +1 -0
  572. package/dist/utils/index.js +3 -2
  573. package/dist/utils/logger.d.ts +73 -0
  574. package/dist/utils/logger.js +37 -0
  575. package/dist/utils/logger.js.map +1 -0
  576. package/dist/utils/warn-once.js.map +1 -1
  577. package/package.json +13 -12
  578. package/dist/components/alert-dialog/AlertDialog/AlertDialog.styles.d.ts +0 -0
  579. package/dist/components/carousel/CarouselContent/CarouselContent.styles.d.ts +0 -0
@@ -1,76 +1,90 @@
1
- import { clsx as e } from "../../../utils/clsx.js";
2
- import { useTooltipContext as t } from "../Tooltip/Tooltip.context.js";
3
- import { TooltipContentContext as n } from "./TooltipContent.context.js";
1
+ import { getAlignment as e, getSide as t } from "../../../lib/positioner/core/placement.js";
2
+ import { getTransformOrigin as n } from "./TooltipContent.utils.js";
4
3
  import { useTooltipContent as r } from "./useTooltipContent.js";
5
- import { Portal as i, createComponent as a, insert as o, mergeProps as s, spread as c, template as l, use as u } from "solid-js/web";
6
- import { Show as d, createMemo as f, createSignal as p, mergeProps as m, splitProps as h } from "solid-js";
4
+ import { TooltipContentContext as i } from "./TooltipContent.context.js";
5
+ import { Portal as a, createComponent as o, effect as s, insert as c, mergeProps as l, setAttribute as u, spread as d, style as f, template as p, use as m } from "solid-js/web";
6
+ import { Show as h, onCleanup as g, splitProps as _ } from "solid-js";
7
7
  //#region src/components/tooltip/TooltipContent/TooltipContent.tsx
8
- var g = /* @__PURE__ */ l("<div data-slot=tooltip-content role=tooltip>"), _ = (l) => {
9
- let _ = t(), [v, y] = h(m({
10
- side: "top",
11
- align: "center",
12
- alignOffset: 0,
13
- sideOffset: 4
14
- }, l), [
8
+ var v = /*#__PURE__*/ p("<div style=z-index:1000><div><div role=tooltip>");
9
+ function y(...e) {
10
+ return e.filter(Boolean).join(" ");
11
+ }
12
+ function b(p) {
13
+ let { ctx: b, pos: x, mounted: S, animationState: C, setArrowElement: w, setContentElement: T, slideStyle: E } = r(() => p), [D, O] = _(p, [
15
14
  "side",
16
15
  "align",
17
- "alignOffset",
18
16
  "sideOffset",
17
+ "alignOffset",
18
+ "collisionPadding",
19
19
  "class",
20
- "classList",
20
+ "style",
21
21
  "children"
22
- ]), [b, x] = p(), { shouldRender: S, position: C } = r(b, () => v), w = f(() => _.open());
23
- return a(d, {
22
+ ]);
23
+ return o(h, {
24
24
  get when() {
25
25
  return S();
26
26
  },
27
27
  get children() {
28
- return a(i, { get children() {
29
- var t = g();
30
- return u(x, t), c(t, s({
31
- get "data-open"() {
32
- return w() || void 0;
28
+ return o(a, { get children() {
29
+ var r = v(), a = r.firstChild, p = a.firstChild;
30
+ return m((e) => {
31
+ b.setFloating(e), g(() => b.setFloating(void 0));
32
+ }, r), m(T, p), d(p, l({
33
+ get id() {
34
+ return b.contentId;
33
35
  },
34
- get "data-closed"() {
35
- return !w() || void 0;
36
- },
37
- get "data-align"() {
38
- return C.align;
36
+ get "data-state"() {
37
+ return C();
39
38
  },
40
39
  get "data-side"() {
41
- return C.side;
40
+ return t(x.placement());
42
41
  },
43
- get id() {
44
- return _.contentId;
42
+ get "data-align"() {
43
+ return e(x.placement()) ?? "center";
45
44
  },
46
- get class() {
47
- return e("fixed z-50 pointer-events-none inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-neutral-950 dark:bg-neutral-50 px-3 py-1.5 text-xs text-white dark:text-neutral-950 has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95", v.class);
45
+ get onMouseEnter() {
46
+ return b.keepOpen;
47
+ },
48
+ get onMouseLeave() {
49
+ return b.requestClose;
48
50
  },
49
51
  get style() {
50
52
  return {
51
- top: `${C.top}px`,
52
- left: `${C.left}px`,
53
- visibility: C.top === 0 ? "hidden" : "visible"
53
+ "transform-origin": n(x.placement()),
54
+ ...typeof D.style == "object" ? D.style : void 0
54
55
  };
56
+ },
57
+ get class() {
58
+ return y("max-w-xs rounded-md px-3 py-1.5 text-xs leading-relaxed shadow-md", "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95", "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95", "data-[side=top]:slide-in-from-bottom-2", "data-[side=bottom]:slide-in-from-top-2", "data-[side=left]:slide-in-from-right-2", "data-[side=right]:slide-in-from-left-2", "bg-foreground text-background", D.class);
55
59
  }
56
- }, y), !1, !0), o(t, a(n.Provider, {
57
- value: {
58
- get side() {
59
- return C.side;
60
- },
61
- get align() {
62
- return C.align;
63
- }
60
+ }, O), !1, !0), c(p, o(i.Provider, {
61
+ get value() {
62
+ return {
63
+ middlewareData: x.middlewareData,
64
+ placement: x.placement,
65
+ setArrowElement: w,
66
+ animationState: C
67
+ };
64
68
  },
65
69
  get children() {
66
- return v.children;
70
+ return D.children;
67
71
  }
68
- })), t;
72
+ })), s((e) => {
73
+ var t = x.placement(), n = {
74
+ ...x.floatingStyles(),
75
+ opacity: +!!x.isPositioned()
76
+ }, i = E();
77
+ return t !== e.e && u(r, "data-placement", e.e = t), e.t = f(r, n, e.t), e.a = f(a, i, e.a), e;
78
+ }, {
79
+ e: void 0,
80
+ t: void 0,
81
+ a: void 0
82
+ }), r;
69
83
  } });
70
84
  }
71
85
  });
72
- };
86
+ }
73
87
  //#endregion
74
- export { _ as TooltipContent };
88
+ export { b as TooltipContent };
75
89
 
76
90
  //# sourceMappingURL=TooltipContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipContent.js","names":["createMemo","createSignal","mergeProps","Show","splitProps","useTooltipContext","Portal","TooltipContentProps","clsx","TooltipContentContext","useTooltipContent","TooltipContent","props","ctx","merged","side","align","alignOffset","sideOffset","const","local","others","ref","setRef","HTMLDivElement","shouldRender","position","isOpen","open","_$createComponent","when","children","_el$","_tmpl$","_$use","_$spread","_$mergeProps","data-open","undefined","data-closed","data-align","data-side","id","contentId","class","style","top","left","visibility","_$insert","Provider","value"],"sources":["../../../../src/components/tooltip/TooltipContent/TooltipContent.tsx"],"sourcesContent":["import {\n createMemo,\n createSignal,\n mergeProps,\n Show,\n splitProps,\n} from \"solid-js\";\nimport { useTooltipContext } from \"../Tooltip/Tooltip.context\";\nimport { Portal } from \"solid-js/web\";\nimport type { TooltipContentProps } from \"./TooltipContent.types\";\nimport { clsx } from \"~/utils\";\nimport { TooltipContentContext } from \"./TooltipContent.context\";\nimport { useTooltipContent } from \"./useTooltipContent\";\n\nexport const TooltipContent = (props: TooltipContentProps) => {\n const ctx = useTooltipContext();\n\n const merged = mergeProps(\n { side: \"top\", align: \"center\", alignOffset: 0, sideOffset: 4 } as const,\n props,\n );\n const [local, others] = splitProps(merged, [\n \"side\",\n \"align\",\n \"alignOffset\",\n \"sideOffset\",\n \"class\",\n \"classList\",\n \"children\",\n ]);\n\n const [ref, setRef] = createSignal<HTMLDivElement>();\n\n const { shouldRender, position } = useTooltipContent(ref, () => local);\n\n const isOpen = createMemo(() => ctx.open());\n\n return (\n <Show when={shouldRender()}>\n <Portal>\n <div\n ref={setRef}\n data-slot=\"tooltip-content\"\n data-open={isOpen() || undefined}\n data-closed={!isOpen() || undefined}\n data-align={position.align}\n data-side={position.side}\n id={ctx.contentId}\n role=\"tooltip\"\n class={clsx(\n \"fixed z-50 pointer-events-none inline-flex w-fit max-w-xs origin-(--transform-origin) items-center gap-1.5 rounded-md bg-neutral-950 dark:bg-neutral-50 px-3 py-1.5 text-xs text-white dark:text-neutral-950 has-data-[slot=kbd]:pr-1.5 data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 **:data-[slot=kbd]:relative **:data-[slot=kbd]:isolate **:data-[slot=kbd]:z-50 **:data-[slot=kbd]:rounded-sm data-[state=delayed-open]:animate-in data-[state=delayed-open]:fade-in-0 data-[state=delayed-open]:zoom-in-95 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95\",\n local.class,\n )}\n style={{\n top: `${position.top}px`,\n left: `${position.left}px`,\n visibility: position.top === 0 ? \"hidden\" : \"visible\",\n }}\n {...others}\n >\n <TooltipContentContext.Provider\n value={{\n get side() {\n return position.side;\n },\n get align() {\n return position.align;\n },\n }}\n >\n {local.children}\n </TooltipContentContext.Provider>\n </div>\n </Portal>\n </Show>\n );\n};\n"],"mappings":";;;;;;;2EAcaW,KAAkBC,MAA+B;CAC5D,IAAMC,IAAMR,GAAmB,EAMzB,CAACe,GAAOC,KAAUjB,EAJTF,EACb;EAAEa,MAAM;EAAOC,OAAO;EAAUC,aAAa;EAAGC,YAAY;EAAG,EAC/DN,EACD,EAC0C;EACzC;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAEI,CAACU,GAAKC,KAAUtB,GAA8B,EAE9C,EAAEwB,iBAAcC,gBAAahB,EAAkBY,SAAWF,EAAM,EAEhEO,IAAS3B,QAAiBa,EAAIe,MAAM,CAAC;AAE3C,QAAAC,EACG1B,GAAI;EAAA,IAAC2B,OAAI;AAAA,UAAEL,GAAc;;EAAA,IAAAM,WAAA;AAAA,UAAAF,EACvBvB,GAAM,EAAA,IAAAyB,WAAA;IAAA,IAAAC,IAAAC,GAAA;AA+Bc,WA/BdC,EAEEX,GAAMS,EAAA,EAAAG,EAAAH,GAAAI,EAAA;KAAA,IAAA,cAAA;AAAA,aAEAT,GAAQ,IAAIW,KAAAA;;KAAS,IAAA,gBAAA;AAAA,aACnB,CAACX,GAAQ,IAAIW,KAAAA;;KAAS,IAAA,eAAA;AAAA,aACvBZ,EAASV;;KAAK,IAAA,cAAA;AAAA,aACfU,EAASX;;KAAI,IACxB2B,KAAE;AAAA,aAAE7B,EAAI8B;;KAAS,IAAA,QAAA;AAAA,aAEVnC,EACL,k0BACAY,EAAMwB,MACP;;KAAA,IACDC,QAAK;AAAA,aAAE;OACLC,KAAK,GAAGpB,EAASoB,IAAG;OACpBC,MAAM,GAAGrB,EAASqB,KAAI;OACtBC,YAAYtB,EAASoB,QAAQ,IAAI,WAAW;OAC7C;;KAAA,EACGzB,EAAM,EAAA,IAAA,GAAA,EAAA4B,EAAAjB,GAAAH,EAETpB,EAAsByC,UAAQ;KAC7BC,OAAO;MACL,IAAIpC,OAAO;AACT,cAAOW,EAASX;;MAElB,IAAIC,QAAQ;AACV,cAAOU,EAASV;;MAEnB;KAAA,IAAAe,WAAA;AAAA,aAEAX,EAAMW;;KAAQ,CAAA,CAAA,EAAAC;MAAA,CAAA;;EAAA,CAAA"}
1
+ {"version":3,"file":"TooltipContent.js","names":["Show","onCleanup","splitProps","Portal","useTooltipContent","TooltipContentContext","getTransformOrigin","getSide","getAlignment","TooltipContentProps","cn","classes","Array","filter","Boolean","join","TooltipContent","props","ctx","pos","mounted","animationState","setArrowElement","setContentElement","slideStyle","local","rest","_$createComponent","when","children","_el$","_tmpl$","_el$2","firstChild","_el$3","_$use","el","setFloating","undefined","_$spread","_$mergeProps","id","contentId","data-state","data-side","placement","data-align","onMouseEnter","keepOpen","onMouseLeave","requestClose","style","class","_$insert","Provider","value","middlewareData","_$effect","_p$","_v$","_v$2","floatingStyles","opacity","isPositioned","_v$3","e","_$setAttribute","t","_$style","a"],"sources":["../../../../src/components/tooltip/TooltipContent/TooltipContent.tsx"],"sourcesContent":["import { Show, onCleanup, splitProps } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { useTooltipContent } from \"./useTooltipContent\";\nimport { TooltipContentContext } from \"./TooltipContent.context\";\nimport { getTransformOrigin } from \"./TooltipContent.utils\";\nimport { getSide, getAlignment } from \"~/lib\";\nimport type { TooltipContentProps } from \"./TooltipContent.types\";\n\nfunction cn(...classes: Array<string | false | undefined | null>): string {\n return classes.filter(Boolean).join(\" \");\n}\n\n/**\n * Tooltip 的浮层内容。挂 Portal 到 body,用 position:fixed 定位。\n *\n * 内容本身默认是可以 hover 的(不是 pointer-events:none):鼠标移进 content\n * 会取消待执行的关闭计时器(ctx.keepOpen),移出才真正走 closeDelay 关闭——\n * 这样用户可以把鼠标从 trigger 移动到 tooltip 上选中里面的文字,不会因为\n * \"离开 trigger 就关闭\" 而选不到。如果你的 tooltip 内容很简单、不需要这个特性,\n * 可以自己在外面包一层设置 pointer-events: none。\n */\nexport function TooltipContent(props: TooltipContentProps) {\n const {\n ctx,\n pos,\n mounted,\n animationState,\n setArrowElement,\n setContentElement,\n slideStyle,\n } = useTooltipContent(() => props);\n\n // 只摘出内部要单独处理的几个字段,剩下的(style、data-*、onXxx 等任意原生\n // prop)原样透传给内层元素——和 TooltipTrigger 是同一套约定。\n const [local, rest] = splitProps(props, [\n \"side\",\n \"align\",\n \"sideOffset\",\n \"alignOffset\",\n \"collisionPadding\",\n \"class\",\n \"style\",\n \"children\",\n ]);\n\n return (\n <Show when={mounted()}>\n <Portal>\n {/*\n 外层:只负责定位(position:fixed 来自 floatingStyles),不设 overflow,\n 也不参与任何动画——它的 transform 已经被占用来做定位(translate(x,y)),\n 如果别的动画也要控制 transform 会互相冲突,所以动画都放在下面两层。\n */}\n <div\n ref={(el) => {\n ctx.setFloating(el);\n // Solid 的 ref 回调只在元素创建时触发一次,元素被移除时不会自动\n // 再调用一次传 undefined(这是 React 的约定,不是 Solid 的)。\n // 不手动清空的话,ctx.floating() 会一直指向一个已经从 DOM 里\n // 摘除的\"僵尸节点\",直到下次重新打开——期间如果被别处读取\n // (比如 TooltipGroup 抢占时读取矩形),getBoundingClientRect()\n // 对一个 detached 元素规范规定就是返回全 0 的矩形,会造成\n // \"滑动效果从左上角(0,0)滑入\"这种明显错误的观感。\n onCleanup(() => ctx.setFloating(undefined));\n }}\n data-placement={pos.placement()}\n style={{\n ...pos.floatingStyles(),\n \"z-index\": 1000,\n opacity: pos.isPositioned() ? 1 : 0,\n }}\n >\n {/*\n 滑动层:命中 <TooltipGroup> 抢占时,用来把整个 tooltip(内容+箭头)\n 从旧 tooltip 的位置平移过来(FLIP 技术,细节见 useTooltipContent 里\n 的 slideOffset 计算)。平时 slideStyle() 是空对象,这一层形同不存在。\n\n 这一层必须夹在\"定位层\"和\"样式/动画层\"之间、而不是随便找个地方加:\n 它自己也会用到 transform(滑动过程中),如果和定位层共用一个元素会\n 跟 translate(x,y) 冲突(原因同上);但它又不能在样式层(overflow:auto\n 那层)的下面/内部,因为箭头的 position:absolute 是故意跳过样式层、\n 以\"最近的已定位祖先\"为基准的(这是修复箭头戳出来触发滚动条那次的\n 设计),如果滑动层的 transform 出现在样式层内部,箭头的定位基准就会\n 变成滑动层而不是外层——效果上依然正确(滑动层的盒子和外层几乎重合),\n 但为了让\"定位基准\"这件事始终清晰、不产生\"技术上是谁、视觉上又是谁\"\n 的心智负担,把滑动层放在外层和样式层之间、维持这条链路的清晰顺序。\n */}\n <div style={slideStyle()}>\n {/*\n 内层:真正的视觉样式 + 进出场动画。\n data-state 跟着 animationState 走(不是 isVisible/mounted):\n - isVisible 变 false 的瞬间,animationState 立刻跟着变 closed,\n 触发退场动画的 class;\n - isVisible 变 true 时,animationState 会晚一帧才变 open,\n 留出时间让箭头(TooltipArrow)完成挂载、注册给 arrow middleware、\n 算出正确的位置偏移(细节见 useTooltipContent 里的注释);\n - mounted 会比 animationState 变 closed 更晚才变 false(见下面的\n Presence 逻辑),留出时间让退场动画播完。\n\n data-[state=open]/data-[state=closed] 这套 class 依赖 tailwindcss-animate\n 插件提供的 animate-in/animate-out/fade-in-0/zoom-in-95 等工具类——\n 如果你的项目还没装,`npm install tailwindcss-animate` 并在 tailwind\n config 里加上这个 plugin 即可;不想装的话,把这几个 data-[state=...]\n class 换成你自己写的 @keyframes + 对应 class 也一样能工作,\n Presence 逻辑(mounted 延迟卸载)不依赖具体用了哪套动画实现。\n\n 箭头(TooltipArrow)不依赖\"作为这个元素的子节点、被动继承这里的\n transform/opacity 动画\"这种隐式机制——它自己也从 context 里读到\n 同一个 animationState,独立播放一份自己的入场/退场动画,两者由\n 同一个信号同步触发。\n\n data-side/data-align 是从最终生效的 placement 拆出来的,驱动上面\n 这几条方向感知的 slide-in class,也顺带给 transform-origin 提供了\n 依据——缩放动画的锚点会落在\"贴近 trigger 的那条边\"上(细节见\n TooltipContent.utils.ts 里的 getTransformOrigin),而不是默认的\n 几何中心,这样整个入场效果才会像是\"从 trigger 那里长出来\",\n 贴近 shadcn 的实际观感。\n\n 特意没有 overflow:auto / max-height,tooltip 不支持内容超长时滚动——\n 宽度上限靠下面静态的 max-w-xs class 兜底,让文字自然换行;高度完全\n 不做限制。这不只是为了贴近 shadcn/Radix 的行为(它们的 tooltip 也不\n 允许滚动),还避免了一个真实踩过的坑:overflow:auto 配合这里的\n zoom-in-95 动画(会给这个元素加一个非 none 的 transform,CSS 规范\n 规定这会让它变成子元素新的包含块)曾经导致箭头戳出边缘的那部分被\n 误判成\"可滚动溢出\",表现为打开瞬间闪一下滚动条、箭头跟着被遮住,\n 动画播完滚动条消失、箭头才重新出现。去掉滚动能力后这个耦合从根上\n 就不存在了。\n */}\n <div\n ref={setContentElement}\n id={ctx.contentId}\n role=\"tooltip\"\n data-state={animationState()}\n data-side={getSide(pos.placement())}\n data-align={getAlignment(pos.placement()) ?? \"center\"}\n onMouseEnter={ctx.keepOpen}\n onMouseLeave={ctx.requestClose}\n style={{\n \"transform-origin\": getTransformOrigin(pos.placement()),\n ...(typeof local.style === \"object\" ? local.style : undefined),\n }}\n class={cn(\n \"max-w-xs rounded-md px-3 py-1.5 text-xs leading-relaxed shadow-md\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n // 方向感知的滑入:不只是原地淡入缩放,还从\"贴近 trigger 的反方向\"\n // 轻微位移过来——比如 placement 是 top(content 在 trigger 上方),\n // 就从下方 8px(slide-in-from-bottom-2)滑上来,视觉上更像是从\n // trigger 那里\"冒出来\",而不是凭空原地出现。只在打开时生效,\n // 贴近 shadcn 的实际行为(它们的退场动画没有对应的滑出位移)。\n \"data-[side=top]:slide-in-from-bottom-2\",\n \"data-[side=bottom]:slide-in-from-top-2\",\n \"data-[side=left]:slide-in-from-right-2\",\n \"data-[side=right]:slide-in-from-left-2\",\n \"bg-foreground text-background\",\n local.class,\n )}\n {...rest}\n >\n <TooltipContentContext.Provider\n value={{\n middlewareData: pos.middlewareData,\n placement: pos.placement,\n setArrowElement,\n animationState,\n }}\n >\n {local.children}\n </TooltipContentContext.Provider>\n </div>\n </div>\n </div>\n </Portal>\n </Show>\n );\n}\n"],"mappings":";;;;;;;;AAQA,SAASU,EAAG,GAAGC,GAA2D;CACxE,OAAOA,EAAQE,OAAOC,OAAO,CAAC,CAACC,KAAK,GAAG;AACzC;AAWA,SAAgBC,EAAeC,GAA4B;CACzD,IAAM,EACJC,QACAC,QACAC,YACAC,mBACAC,oBACAC,sBACAC,kBACEpB,QAAwBa,CAAK,GAI3B,CAACQ,GAAOC,KAAQxB,EAAWe,GAAO;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX;CAED,OAAAU,EACG3B,GAAI;EAAA,IAAC4B,OAAI;GAAA,OAAER,EAAQ;EAAC;EAAA,IAAAS,WAAA;GAAA,OAAAF,EAClBxB,GAAM,EAAA,IAAA0B,WAAA;IAAA,IAAAC,IAAAC,EAAA,GAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC;IAwCqB,OAxCrBE,GAOGC,MAAO;KASXnC,AARAiB,EAAImB,YAAYD,CAAE,GAQlBnC,QAAgBiB,EAAImB,YAAYC,KAAAA,CAAS,CAAC;IAC5C,GAACR,CAAA,GAAAK,EAiEQZ,GAAiBW,CAAA,GAAAK,EAAAL,GAAAM,EAAA;KAAA,IACtBC,KAAE;MAAA,OAAEvB,EAAIwB;KAAS;KAAA,IAAA,eAAA;MAAA,OAELrB,EAAe;KAAC;KAAA,IAAA,cAAA;MAAA,OACjBd,EAAQY,EAAI0B,UAAU,CAAC;KAAC;KAAA,IAAA,eAAA;MAAA,OACvBrC,EAAaW,EAAI0B,UAAU,CAAC,KAAK;KAAQ;KAAA,IACrDE,eAAY;MAAA,OAAE7B,EAAI8B;KAAQ;KAAA,IAC1BC,eAAY;MAAA,OAAE/B,EAAIgC;KAAY;KAAA,IAC9BC,QAAK;MAAA,OAAE;OACL,oBAAoB7C,EAAmBa,EAAI0B,UAAU,CAAC;OACtD,GAAI,OAAOpB,EAAM0B,SAAU,WAAW1B,EAAM0B,QAAQb,KAAAA;MACtD;KAAC;KAAA,IAAA,QAAA;MAAA,OACM5B,EACL,qEACA,yFACA,kGAMA,0CACA,0CACA,0CACA,0CACA,iCACAe,EAAM2B,KACR;KAAC;IAAA,GACG1B,CAAI,GAAA,IAAA,EAAA,GAAA2B,EAAAnB,GAAAP,EAEPtB,EAAsBiD,UAAQ;KAAA,IAC7BC,QAAK;MAAA,OAAE;OACLC,gBAAgBrC,EAAIqC;OACpBX,WAAW1B,EAAI0B;OACfvB;OACAD;MACF;KAAC;KAAA,IAAAQ,WAAA;MAAA,OAEAJ,EAAMI;KAAQ;IAAA,CAAA,CAAA,GAAA4B,GAAAC,MAAA;KAAA,IAAAC,IAtGLxC,EAAI0B,UAAU,GAACe,IACxB;MACL,GAAGzC,EAAI0C,eAAe;MAEtBC,SAAS3C,KAAI4C,aAAa;KAC5B,GAACC,IAiBWxC,EAAW;KAAC,OAAAmC,MAAAD,EAAAO,KAAAC,EAAApC,GAAA,kBAAA4B,EAAAO,IAAAN,CAAA,GAAAD,EAAAS,IAAAC,EAAAtC,GAAA8B,GAAAF,EAAAS,CAAA,GAAAT,EAAAW,IAAAD,EAAApC,GAAAgC,GAAAN,EAAAW,CAAA,GAAAX;IAAA,GAAA;KAAAO,GAAA3B,KAAAA;KAAA6B,GAAA7B,KAAAA;KAAA+B,GAAA/B,KAAAA;IAAA,CAAA,GAAAR;GAAA,EAAA,CAAA;EAAA;CAAA,CAAA;AAwFlC"}
@@ -1,9 +1,19 @@
1
+ import { Alignment, Side } from '../../../lib';
1
2
  import { BaseProps, PolymorphicProps } from '../../../types';
2
3
  interface BaseTooltipContentProps extends BaseProps {
3
- side?: "top" | "bottom" | "left" | "right";
4
- align?: "start" | "center" | "end";
5
- alignOffset?: number;
4
+ /** 贴 trigger 的哪一侧,默认 'top' */
5
+ side?: Side;
6
+ /** 沿边对齐方式,默认 'center'(不偏移,居中对齐) */
7
+ align?: Alignment | "center";
8
+ /** 沿主轴(side 指向的方向)与 trigger 之间的间距(像素),默认 8 */
6
9
  sideOffset?: number;
10
+ /**
11
+ * 沿交叉轴(对齐方向)的偏移(像素),默认 0——align 是 'start'/'end' 时
12
+ * 微调对齐位置用。底层直接对应 offset middleware 的 crossAxis。
13
+ */
14
+ alignOffset?: number;
15
+ /** 距视口边缘的最小间距(像素),用于 flip/shift 的边界检测,默认 8 */
16
+ collisionPadding?: number;
7
17
  }
8
18
  export type TooltipContentProps = PolymorphicProps<"div", BaseTooltipContentProps, false>;
9
19
  export {};
@@ -1,6 +1,57 @@
1
- export declare function computePosition(trigger: HTMLElement, content: HTMLElement, side: "top" | "bottom" | "left" | "right", align: "start" | "center" | "end", alignOffset: number, sideOffset: number): {
2
- top: number;
3
- left: number;
4
- side: "left" | "right" | "bottom" | "top";
5
- align: "center" | "start" | "end";
6
- };
1
+ import { Middleware, Placement, Side, Alignment } from '../../../lib';
2
+ /**
3
+ * 把 shadcn/Radix 风格的 side + align 拆分参数,转换成核心库统一用的
4
+ * `Placement` 字符串(比如 side='top' + align='start' → 'top-start')。
5
+ * align 是 'center'(默认对齐、不偏移)时不带后缀,直接是 side 本身。
6
+ */
7
+ export declare function toPlacement(side: Side, align: Alignment | "center"): Placement;
8
+ /**
9
+ * 根据最终生效的 placement,算出缩放动画应该以哪个点为锚点(CSS transform-origin)。
10
+ * 锚点应该落在"贴近 trigger 的那条边"上——比如 placement 是 'top'(content 在
11
+ * trigger 上方),锚点就该是 content 自己的底边,缩放动画看起来才会像是
12
+ * "从 trigger 那里长出来",而不是原地放大缩小(默认的 transform-origin 是
13
+ * 几何中心 50% 50%,视觉上和"从哪个方向冒出来"没有任何关联)。
14
+ * 交叉轴(对齐方向)同理:align 是 start 就贴左/上边,end 就贴右/下边。
15
+ */
16
+ export declare function getTransformOrigin(placement: Placement): string;
17
+ export interface BuildTooltipMiddlewareOptions {
18
+ sideOffset: number;
19
+ /** 沿交叉轴(对齐方向)的偏移,对应 offset middleware 的 crossAxis */
20
+ alignOffset: number;
21
+ collisionPadding: number;
22
+ arrowElement: () => Element | undefined;
23
+ }
24
+ /**
25
+ * Tooltip 定位管线的固定配方:
26
+ *
27
+ * 1. offset — 沿主轴保持 sideOffset 间距,沿交叉轴偏移 alignOffset
28
+ * 2. flip — 主轴方向放不下就翻到对面(比如上方没空间就翻到下方)
29
+ * 3. shift — 翻转后仍溢出,就在不换边的前提下贴边平移
30
+ * 4. arrow — 算出箭头相对 content 的偏移,让它始终指向 trigger 中心
31
+ * 5. hide — trigger 被自己的滚动容器完全裁掉时标记隐藏
32
+ * 6. containingBlockOffset — 修正祖先元素 transform 等属性导致的 position:fixed
33
+ * 包含块偏移(demo 里通常不出现,放进有大量 transform 的真实项目后才会暴露,
34
+ * 详见该 middleware 自身的注释)。放在最后一位,因为它修正的是"最终要写进
35
+ * DOM 的坐标",前面几步都在统一的视口坐标系里计算,不受这个偏移影响。
36
+ *
37
+ * 特意没有用 size 中间件去动态限制 max-height、允许内容超长时滚动——
38
+ * tooltip 不应该出现滚动条(这不是本库的一般性限制,是 tooltip 这个组件
39
+ * 类型本身该有的样子,shadcn/Radix 的 Tooltip 也是这么做的)。宽度上限
40
+ * 靠 TooltipContent.tsx 里静态的 `max-w-xs` class 兜底,让文字自然换行;
41
+ * 高度完全不做限制,交给内容自身的实际高度决定。
42
+ *
43
+ * 这个决定还有一个技术上的原因:早先的实现里试过用 size 中间件动态算
44
+ * max-height 配合 overflow:auto 实现"超长内容可滚动",结果发现内层元素
45
+ * 一旦同时具备 overflow:auto 和入场动画(zoom-in-95 会给它加一个 transform),
46
+ * 动画播放期间 transform 会让这个元素变成箭头新的包含块(CSS 规范:非 none
47
+ * 的 transform 会创建包含块),箭头戳出内层边缘的那部分又会被算进内层的
48
+ * 可滚动溢出区域——于是出现了"打开瞬间闪一下滚动条,箭头跟着被遮住,
49
+ * 动画播完滚动条消失、箭头才重新出现"这种诡异现象。去掉滚动能力后,
50
+ * 这个耦合从根上就不存在了。
51
+ *
52
+ * 顺序不能随便换:arrow 必须在 shift/flip 之后(要用最终坐标才能算对偏移),
53
+ * containingBlockOffset 必须在所有其他 middleware 之后。
54
+ *
55
+ * 单独抽成函数是为了让 useTooltipContent 保持简洁,也方便针对这套管线单独测试。
56
+ */
57
+ export declare function createTooltipMiddleware(options: BuildTooltipMiddlewareOptions): Middleware[];
@@ -1,64 +1,40 @@
1
+ import { getAlignment as e, getSide as t } from "../../../lib/positioner/core/placement.js";
2
+ import { offset as n } from "../../../lib/positioner/middleware/offset.js";
3
+ import { shift as r } from "../../../lib/positioner/middleware/shift.js";
4
+ import { flip as i } from "../../../lib/positioner/middleware/flip.js";
5
+ import { arrow as a } from "../../../lib/positioner/middleware/arrow.js";
6
+ import { hide as o } from "../../../lib/positioner/middleware/hide.js";
7
+ import { containingBlockOffset as s } from "../../../lib/positioner/middleware/containing-block-offset.js";
1
8
  //#region src/components/tooltip/TooltipContent/TooltipContent.utils.ts
2
- function e(e, t, n, r, i, a) {
3
- let o = e.getBoundingClientRect(), s = t.offsetWidth, c = t.offsetHeight, l = window.innerWidth, u = window.innerHeight, d = 0, f = 0, p = n, m = r;
4
- switch (n) {
5
- case "top":
6
- o.top < c + a && o.bottom + a + c <= u && (p = "bottom");
7
- break;
8
- case "bottom":
9
- o.bottom + a + c > u && o.top - a - c >= 0 && (p = "top");
10
- break;
11
- case "left":
12
- o.left < s + a && o.right + a + s <= l && (p = "right");
13
- break;
14
- case "right":
15
- o.right + a + s > l && o.left - a - s >= 0 && (p = "left");
16
- break;
17
- }
18
- switch (p) {
19
- case "top":
20
- d = o.top - c - a;
21
- break;
22
- case "bottom":
23
- d = o.bottom + a;
24
- break;
25
- case "left":
26
- f = o.left - s - a;
27
- break;
28
- case "right":
29
- f = o.right + a;
30
- break;
31
- }
32
- if (p === "top" || p === "bottom") switch (r) {
33
- case "start":
34
- f = o.left + i;
35
- break;
36
- case "center":
37
- f = o.left + o.width / 2 - s / 2 + i;
38
- break;
39
- case "end":
40
- f = o.right - s - i;
41
- break;
42
- }
43
- else switch (r) {
44
- case "start":
45
- d = o.top + i;
46
- break;
47
- case "center":
48
- d = o.top + o.height / 2 - c / 2 + i;
49
- break;
50
- case "end":
51
- d = o.bottom - c - i;
52
- break;
9
+ function c(e, t) {
10
+ return t === "center" ? e : `${e}-${t}`;
11
+ }
12
+ function l(n) {
13
+ let r = t(n), i = e(n), a = i === "start" ? "0%" : i === "end" ? "100%" : "50%";
14
+ switch (r) {
15
+ case "top": return `${a} 100%`;
16
+ case "bottom": return `${a} 0%`;
17
+ case "left": return `100% ${a}`;
18
+ case "right": return `0% ${a}`;
53
19
  }
54
- return p === "top" || p === "bottom" ? f < 4 ? (f = 4, m = "start") : f + s > l - 4 && (f = l - s - 4, m = "end") : d < 4 ? (d = 4, m = "start") : d + c > u - 4 && (d = u - c - 4, m = "end"), {
55
- top: d,
56
- left: f,
57
- side: p,
58
- align: m
59
- };
20
+ }
21
+ function u(e) {
22
+ return [
23
+ n({
24
+ mainAxis: e.sideOffset,
25
+ crossAxis: e.alignOffset
26
+ }),
27
+ i(),
28
+ r({ padding: e.collisionPadding }),
29
+ a({
30
+ element: e.arrowElement,
31
+ padding: 6
32
+ }),
33
+ o(),
34
+ s()
35
+ ];
60
36
  }
61
37
  //#endregion
62
- export { e as computePosition };
38
+ export { u as createTooltipMiddleware, l as getTransformOrigin, c as toPlacement };
63
39
 
64
40
  //# sourceMappingURL=TooltipContent.utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TooltipContent.utils.js","names":[],"sources":["../../../../src/components/tooltip/TooltipContent/TooltipContent.utils.ts"],"sourcesContent":["export function computePosition(\n trigger: HTMLElement,\n content: HTMLElement,\n side: \"top\" | \"bottom\" | \"left\" | \"right\",\n align: \"start\" | \"center\" | \"end\",\n alignOffset: number,\n sideOffset: number,\n) {\n const rect = trigger.getBoundingClientRect();\n const contentWidth = content.offsetWidth;\n const contentHeight = content.offsetHeight;\n const vw = window.innerWidth;\n const vh = window.innerHeight;\n const MARGIN = 4;\n\n let top = 0;\n let left = 0;\n let resolvedSide = side;\n let resolvedAlign = align;\n\n // --- Flip:优先检测对侧是否有足够空间,再决定最终 side ---\n switch (side) {\n case \"top\":\n if (\n rect.top < contentHeight + sideOffset &&\n rect.bottom + sideOffset + contentHeight <= vh\n ) {\n resolvedSide = \"bottom\";\n }\n break;\n case \"bottom\":\n if (\n rect.bottom + sideOffset + contentHeight > vh &&\n rect.top - sideOffset - contentHeight >= 0\n ) {\n resolvedSide = \"top\";\n }\n break;\n case \"left\":\n if (\n rect.left < contentWidth + sideOffset &&\n rect.right + sideOffset + contentWidth <= vw\n ) {\n resolvedSide = \"right\";\n }\n break;\n case \"right\":\n if (\n rect.right + sideOffset + contentWidth > vw &&\n rect.left - sideOffset - contentWidth >= 0\n ) {\n resolvedSide = \"left\";\n }\n break;\n }\n\n // --- 主轴位置(基于 resolvedSide)---\n switch (resolvedSide) {\n case \"top\":\n top = rect.top - contentHeight - sideOffset;\n break;\n case \"bottom\":\n top = rect.bottom + sideOffset;\n break;\n case \"left\":\n left = rect.left - contentWidth - sideOffset;\n break;\n case \"right\":\n left = rect.right + sideOffset;\n break;\n }\n\n // --- 交叉轴位置(align)---\n if (resolvedSide === \"top\" || resolvedSide === \"bottom\") {\n switch (align) {\n case \"start\":\n left = rect.left + alignOffset;\n break;\n case \"center\":\n left = rect.left + rect.width / 2 - contentWidth / 2 + alignOffset;\n break;\n case \"end\":\n left = rect.right - contentWidth - alignOffset;\n break;\n }\n } else {\n switch (align) {\n case \"start\":\n top = rect.top + alignOffset;\n break;\n case \"center\":\n top = rect.top + rect.height / 2 - contentHeight / 2 + alignOffset;\n break;\n case \"end\":\n top = rect.bottom - contentHeight - alignOffset;\n break;\n }\n }\n\n // --- Shift:贴边平移,并更新 resolvedAlign ---\n if (resolvedSide === \"top\" || resolvedSide === \"bottom\") {\n if (left < MARGIN) {\n left = MARGIN;\n resolvedAlign = \"start\";\n } else if (left + contentWidth > vw - MARGIN) {\n left = vw - contentWidth - MARGIN;\n resolvedAlign = \"end\";\n }\n } else {\n if (top < MARGIN) {\n top = MARGIN;\n resolvedAlign = \"start\";\n } else if (top + contentHeight > vh - MARGIN) {\n top = vh - contentHeight - MARGIN;\n resolvedAlign = \"end\";\n }\n }\n\n return { top, left, side: resolvedSide, align: resolvedAlign };\n}\n"],"mappings":";AAAA,SAAgB,EACd,GACA,GACA,GACA,GACA,GACA,GACA;CACA,IAAM,IAAO,EAAQ,uBAAuB,EACtC,IAAe,EAAQ,aACvB,IAAgB,EAAQ,cACxB,IAAK,OAAO,YACZ,IAAK,OAAO,aAGd,IAAM,GACN,IAAO,GACP,IAAe,GACf,IAAgB;AAGpB,SAAQ,GAAR;EACE,KAAK;AACH,GACE,EAAK,MAAM,IAAgB,KAC3B,EAAK,SAAS,IAAa,KAAiB,MAE5C,IAAe;AAEjB;EACF,KAAK;AACH,GACE,EAAK,SAAS,IAAa,IAAgB,KAC3C,EAAK,MAAM,IAAa,KAAiB,MAEzC,IAAe;AAEjB;EACF,KAAK;AACH,GACE,EAAK,OAAO,IAAe,KAC3B,EAAK,QAAQ,IAAa,KAAgB,MAE1C,IAAe;AAEjB;EACF,KAAK;AACH,GACE,EAAK,QAAQ,IAAa,IAAe,KACzC,EAAK,OAAO,IAAa,KAAgB,MAEzC,IAAe;AAEjB;;AAIJ,SAAQ,GAAR;EACE,KAAK;AACH,OAAM,EAAK,MAAM,IAAgB;AACjC;EACF,KAAK;AACH,OAAM,EAAK,SAAS;AACpB;EACF,KAAK;AACH,OAAO,EAAK,OAAO,IAAe;AAClC;EACF,KAAK;AACH,OAAO,EAAK,QAAQ;AACpB;;AAIJ,KAAI,MAAiB,SAAS,MAAiB,SAC7C,SAAQ,GAAR;EACE,KAAK;AACH,OAAO,EAAK,OAAO;AACnB;EACF,KAAK;AACH,OAAO,EAAK,OAAO,EAAK,QAAQ,IAAI,IAAe,IAAI;AACvD;EACF,KAAK;AACH,OAAO,EAAK,QAAQ,IAAe;AACnC;;KAGJ,SAAQ,GAAR;EACE,KAAK;AACH,OAAM,EAAK,MAAM;AACjB;EACF,KAAK;AACH,OAAM,EAAK,MAAM,EAAK,SAAS,IAAI,IAAgB,IAAI;AACvD;EACF,KAAK;AACH,OAAM,EAAK,SAAS,IAAgB;AACpC;;AAuBN,QAlBI,MAAiB,SAAS,MAAiB,WACzC,IAAO,KACT,IAAO,GACP,IAAgB,WACP,IAAO,IAAe,IAAK,MACpC,IAAO,IAAK,IAAe,GAC3B,IAAgB,SAGd,IAAM,KACR,IAAM,GACN,IAAgB,WACP,IAAM,IAAgB,IAAK,MACpC,IAAM,IAAK,IAAgB,GAC3B,IAAgB,QAIb;EAAE;EAAK;EAAM,MAAM;EAAc,OAAO;EAAe"}
1
+ {"version":3,"file":"TooltipContent.utils.js","names":[],"sources":["../../../../src/components/tooltip/TooltipContent/TooltipContent.utils.ts"],"sourcesContent":["import {\n offset,\n flip,\n shift,\n arrow,\n hide,\n containingBlockOffset,\n getSide,\n getAlignment,\n type Middleware,\n type Placement,\n type Side,\n type Alignment,\n} from \"~/lib\";\n\n/**\n * 把 shadcn/Radix 风格的 side + align 拆分参数,转换成核心库统一用的\n * `Placement` 字符串(比如 side='top' + align='start' → 'top-start')。\n * align 是 'center'(默认对齐、不偏移)时不带后缀,直接是 side 本身。\n */\nexport function toPlacement(\n side: Side,\n align: Alignment | \"center\",\n): Placement {\n return align === \"center\" ? side : (`${side}-${align}` as Placement);\n}\n\n/**\n * 根据最终生效的 placement,算出缩放动画应该以哪个点为锚点(CSS transform-origin)。\n * 锚点应该落在\"贴近 trigger 的那条边\"上——比如 placement 是 'top'(content 在\n * trigger 上方),锚点就该是 content 自己的底边,缩放动画看起来才会像是\n * \"从 trigger 那里长出来\",而不是原地放大缩小(默认的 transform-origin 是\n * 几何中心 50% 50%,视觉上和\"从哪个方向冒出来\"没有任何关联)。\n * 交叉轴(对齐方向)同理:align 是 start 就贴左/上边,end 就贴右/下边。\n */\nexport function getTransformOrigin(placement: Placement): string {\n const side = getSide(placement);\n const align = getAlignment(placement);\n const crossAxisOrigin =\n align === \"start\" ? \"0%\" : align === \"end\" ? \"100%\" : \"50%\";\n\n switch (side) {\n case \"top\":\n return `${crossAxisOrigin} 100%`;\n case \"bottom\":\n return `${crossAxisOrigin} 0%`;\n case \"left\":\n return `100% ${crossAxisOrigin}`;\n case \"right\":\n return `0% ${crossAxisOrigin}`;\n }\n}\n\nexport interface BuildTooltipMiddlewareOptions {\n sideOffset: number;\n /** 沿交叉轴(对齐方向)的偏移,对应 offset middleware 的 crossAxis */\n alignOffset: number;\n collisionPadding: number;\n arrowElement: () => Element | undefined;\n}\n\n/**\n * Tooltip 定位管线的固定配方:\n *\n * 1. offset — 沿主轴保持 sideOffset 间距,沿交叉轴偏移 alignOffset\n * 2. flip — 主轴方向放不下就翻到对面(比如上方没空间就翻到下方)\n * 3. shift — 翻转后仍溢出,就在不换边的前提下贴边平移\n * 4. arrow — 算出箭头相对 content 的偏移,让它始终指向 trigger 中心\n * 5. hide — trigger 被自己的滚动容器完全裁掉时标记隐藏\n * 6. containingBlockOffset — 修正祖先元素 transform 等属性导致的 position:fixed\n * 包含块偏移(demo 里通常不出现,放进有大量 transform 的真实项目后才会暴露,\n * 详见该 middleware 自身的注释)。放在最后一位,因为它修正的是\"最终要写进\n * DOM 的坐标\",前面几步都在统一的视口坐标系里计算,不受这个偏移影响。\n *\n * 特意没有用 size 中间件去动态限制 max-height、允许内容超长时滚动——\n * tooltip 不应该出现滚动条(这不是本库的一般性限制,是 tooltip 这个组件\n * 类型本身该有的样子,shadcn/Radix 的 Tooltip 也是这么做的)。宽度上限\n * 靠 TooltipContent.tsx 里静态的 `max-w-xs` class 兜底,让文字自然换行;\n * 高度完全不做限制,交给内容自身的实际高度决定。\n *\n * 这个决定还有一个技术上的原因:早先的实现里试过用 size 中间件动态算\n * max-height 配合 overflow:auto 实现\"超长内容可滚动\",结果发现内层元素\n * 一旦同时具备 overflow:auto 和入场动画(zoom-in-95 会给它加一个 transform),\n * 动画播放期间 transform 会让这个元素变成箭头新的包含块(CSS 规范:非 none\n * 的 transform 会创建包含块),箭头戳出内层边缘的那部分又会被算进内层的\n * 可滚动溢出区域——于是出现了\"打开瞬间闪一下滚动条,箭头跟着被遮住,\n * 动画播完滚动条消失、箭头才重新出现\"这种诡异现象。去掉滚动能力后,\n * 这个耦合从根上就不存在了。\n *\n * 顺序不能随便换:arrow 必须在 shift/flip 之后(要用最终坐标才能算对偏移),\n * containingBlockOffset 必须在所有其他 middleware 之后。\n *\n * 单独抽成函数是为了让 useTooltipContent 保持简洁,也方便针对这套管线单独测试。\n */\nexport function createTooltipMiddleware(\n options: BuildTooltipMiddlewareOptions,\n): Middleware[] {\n return [\n offset({ mainAxis: options.sideOffset, crossAxis: options.alignOffset }),\n flip(),\n shift({ padding: options.collisionPadding }),\n arrow({ element: options.arrowElement, padding: 6 }),\n hide(),\n containingBlockOffset(),\n ];\n}\n"],"mappings":";;;;;;;;AAoBA,SAAgB,EACd,GACA,GACW;CACX,OAAO,MAAU,WAAW,IAAQ,GAAG,EAAK,GAAG;AACjD;AAUA,SAAgB,EAAmB,GAA8B;CAC/D,IAAM,IAAO,EAAQ,CAAS,GACxB,IAAQ,EAAa,CAAS,GAC9B,IACJ,MAAU,UAAU,OAAO,MAAU,QAAQ,SAAS;CAExD,QAAQ,GAAR;EACE,KAAK,OACH,OAAO,GAAG,EAAgB;EAC5B,KAAK,UACH,OAAO,GAAG,EAAgB;EAC5B,KAAK,QACH,OAAO,QAAQ;EACjB,KAAK,SACH,OAAO,MAAM;CACjB;AACF;AA2CA,SAAgB,EACd,GACc;CACd,OAAO;EACL,EAAO;GAAE,UAAU,EAAQ;GAAY,WAAW,EAAQ;EAAY,CAAC;EACvE,EAAK;EACL,EAAM,EAAE,SAAS,EAAQ,iBAAiB,CAAC;EAC3C,EAAM;GAAE,SAAS,EAAQ;GAAc,SAAS;EAAE,CAAC;EACnD,EAAK;EACL,EAAsB;CACxB;AACF"}
@@ -1 +1,8 @@
1
1
  export { TooltipContent } from './TooltipContent';
2
+ export { TooltipContentContext, useTooltipContentContext, } from './TooltipContent.context';
3
+ export type { TooltipContentContextValue } from './TooltipContent.context';
4
+ export type { TooltipContentProps } from './TooltipContent.types';
5
+ export { createTooltipMiddleware, getTransformOrigin, toPlacement, } from './TooltipContent.utils';
6
+ export type { BuildTooltipMiddlewareOptions } from './TooltipContent.utils';
7
+ export { useTooltipContent } from './useTooltipContent';
8
+ export type { UseTooltipContentResult } from './useTooltipContent';
@@ -1,10 +1,47 @@
1
+ import { Positioner } from '../../../lib';
2
+ import { useTooltipContext } from '../Tooltip/Tooltip.context';
1
3
  import { TooltipContentProps } from './TooltipContent.types';
2
- export declare const useTooltipContent: (ref: () => HTMLDivElement | undefined, local: () => Required<Pick<TooltipContentProps, "side" | "align" | "alignOffset" | "sideOffset">>) => {
3
- shouldRender: import('solid-js').Accessor<boolean>;
4
- position: {
5
- top: number;
6
- left: number;
7
- side: "left" | "right" | "bottom" | "top";
8
- align: "center" | "start" | "end";
4
+ export interface UseTooltipContentResult {
5
+ ctx: ReturnType<typeof useTooltipContext>;
6
+ pos: Positioner;
7
+ /** 综合了 open 状态 + hide 中间件的 referenceHidden 判断,代表"逻辑上应不应该打开" */
8
+ isVisible: () => boolean;
9
+ /**
10
+ * 代表"DOM 里要不要还留着这个节点"。isVisible 变 false 之后,mounted 不会立刻
11
+ * 跟着变 false,而是等退场动画播完(或者兜底超时)才变——展示层应该用它来控制
12
+ * <Show>,而不是直接用 isVisible,否则退场动画根本来不及播放就被卸载了。
13
+ */
14
+ mounted: () => boolean;
15
+ /**
16
+ * 真正用来驱动 data-state(进而驱动 CSS 进出场动画 class)的状态,
17
+ * 展示层应该用它,而不是直接用 isVisible。
18
+ *
19
+ * 和 isVisible 的区别只在"打开"这一侧:isVisible 变 true 的瞬间,
20
+ * animationState 不会立刻跟着变 "open",而是等一帧(requestAnimationFrame)
21
+ * 之后才变——这一帧的间隙用来让箭头(TooltipArrow)完成挂载、把自己注册给
22
+ * arrow middleware、拿到正确的位置偏移。如果不等这一帧,动画会在箭头位置
23
+ * 还没算对的时候就开始播放,播到一半箭头才"跳"到正确位置,看起来就像是
24
+ * 箭头比内容慢一拍——这正是因为内容的淡入/缩放靠的是 CSS 动画(父元素的
25
+ * opacity/transform 会连带影响所有子元素,包括箭头,两者本该同步),而箭头
26
+ * 的具体位置靠的是 JS 算出来的 left/top,这是两套完全独立的机制,只有当
27
+ * "开始播放动画"这个时间点晚于"箭头位置算完",才能保证两者观感一致。
28
+ * 关闭这一侧不需要这个延迟,isVisible 变 false 时 animationState 立刻跟着变。
29
+ */
30
+ animationState: () => "open" | "closed";
31
+ arrowElement: () => Element | undefined;
32
+ setArrowElement: (el: Element) => void;
33
+ /** 内层内容元素(真正播放进出场动画的那一层),TooltipContent 需要把它 ref 进来 */
34
+ contentElement: () => HTMLElement | undefined;
35
+ setContentElement: (el: HTMLElement) => void;
36
+ /**
37
+ * 加在"滑动层"(定位层和内容层之间的中间那层)上的 style。
38
+ * 命中 TooltipGroup 抢占时会有一个非零初始偏移,下一帧起会用 CSS transition
39
+ * 平滑归零,从而制造出"从旧 tooltip 位置滑到新位置"的效果;平时是空对象,
40
+ * 不产生任何影响。
41
+ */
42
+ slideStyle: () => {
43
+ transform?: string;
44
+ transition?: string;
9
45
  };
10
- };
46
+ }
47
+ export declare function useTooltipContent(props: () => TooltipContentProps): UseTooltipContentResult;
@@ -1,48 +1,77 @@
1
1
  import { useTooltipContext as e } from "../Tooltip/Tooltip.context.js";
2
- import { computePosition as t } from "./TooltipContent.utils.js";
3
- import { createEffect as n, createSignal as r, onCleanup as i, onMount as a, untrack as o } from "solid-js";
4
- import { createStore as s } from "solid-js/store";
2
+ import { createPositioner as t } from "../../../lib/positioner/create-positioner.js";
3
+ import { createTooltipMiddleware as n, toPlacement as r } from "./TooltipContent.utils.js";
4
+ import { createEffect as i, createMemo as a, createSignal as o, onCleanup as s } from "solid-js";
5
5
  //#region src/components/tooltip/TooltipContent/useTooltipContent.ts
6
- var c = (c, l) => {
7
- let u = e(), [d, f] = s({
8
- top: 0,
9
- left: 0,
10
- side: o(() => l().side),
11
- align: o(() => l().align)
12
- }), [p, m] = r(o(u.open)), h = (e) => {
13
- if (!u.triggerRef || !e) return;
14
- let { top: n, left: r, side: i, align: a } = t(u.triggerRef, e, l().side, l().align, l().alignOffset, l().sideOffset);
15
- f({
16
- top: n,
17
- left: r,
18
- side: i,
19
- align: a
20
- });
21
- }, g = () => h(c());
22
- return a(() => {
23
- window.addEventListener("scroll", g, { passive: !0 }), window.addEventListener("resize", g, { passive: !0 });
24
- }), i(() => {
25
- window.removeEventListener("scroll", g), window.removeEventListener("resize", g);
26
- }), n(() => {
27
- if (u.open()) {
28
- m(!0), requestAnimationFrame(() => {
29
- requestAnimationFrame(() => h(c()));
30
- });
31
- return;
6
+ var c = 300;
7
+ function l(l) {
8
+ let u = e("TooltipContent"), [d, f] = o(), [p, m] = o(), h = t(u.reference, u.floating, {
9
+ placement: () => r(l().side ?? "top", l().align ?? "center"),
10
+ strategy: "fixed",
11
+ middleware: () => n({
12
+ sideOffset: l().sideOffset ?? 8,
13
+ alignOffset: l().alignOffset ?? 0,
14
+ collisionPadding: l().collisionPadding ?? 8,
15
+ arrowElement: d
16
+ })
17
+ }), g = a(() => u.open() && !h.middlewareData().hide?.referenceHidden), [_, v] = o("closed");
18
+ i(() => {
19
+ if (g()) {
20
+ let e = requestAnimationFrame(() => v("open"));
21
+ s(() => cancelAnimationFrame(e));
22
+ } else v("closed");
23
+ });
24
+ let [y, b] = o();
25
+ i(() => {
26
+ if (!S()) return;
27
+ let e = u.pendingSlideFrom();
28
+ if (!e || !h.isPositioned()) return;
29
+ let t = e.x - h.x(), n = e.y - h.y();
30
+ b({
31
+ x: t,
32
+ y: n
33
+ }), u.clearPendingSlideFrom(), requestAnimationFrame(() => b({
34
+ x: 0,
35
+ y: 0
36
+ }));
37
+ });
38
+ let x = a(() => {
39
+ let e = y();
40
+ if (!e) return {};
41
+ let t = e.x === 0 && e.y === 0;
42
+ return {
43
+ transform: `translate(${e.x}px, ${e.y}px)`,
44
+ transition: t ? "transform 150ms ease" : void 0
45
+ };
46
+ }), [S, C] = o(g());
47
+ return i((e) => {
48
+ let t = g(), n = p();
49
+ if (t) C(!0);
50
+ else if (e && n) if (u.consumeSuppressExitAnimation()) C(!1);
51
+ else {
52
+ let e = (e) => {
53
+ e.target === n && C(!1);
54
+ };
55
+ n.addEventListener("animationend", e), s(() => n.removeEventListener("animationend", e));
56
+ let t = window.setTimeout(() => C(!1), c);
57
+ s(() => window.clearTimeout(t));
32
58
  }
33
- let e = c();
34
- if (!e) {
35
- m(!1);
36
- return;
37
- }
38
- let t = () => m(!1);
39
- e.addEventListener("animationend", t, { once: !0 }), e.addEventListener("transitionend", t, { once: !0 });
40
- }), {
41
- shouldRender: p,
42
- position: d
59
+ else t || C(!1);
60
+ return t;
61
+ }, g()), {
62
+ ctx: u,
63
+ pos: h,
64
+ isVisible: g,
65
+ mounted: S,
66
+ animationState: _,
67
+ arrowElement: d,
68
+ setArrowElement: f,
69
+ contentElement: p,
70
+ setContentElement: m,
71
+ slideStyle: x
43
72
  };
44
- };
73
+ }
45
74
  //#endregion
46
- export { c as useTooltipContent };
75
+ export { l as useTooltipContent };
47
76
 
48
77
  //# sourceMappingURL=useTooltipContent.js.map