@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
@@ -0,0 +1,63 @@
1
+ import { Accessor } from 'solid-js';
2
+ import { Middleware, MiddlewareData, Placement, ReferenceElement, Strategy } from './types';
3
+ import { AutoUpdateOptions } from './auto-update';
4
+ type MaybeAccessor<T> = T | Accessor<T>;
5
+ export interface CreatePositionerOptions {
6
+ /** 期望的初始/首选摆放位置,默认 'bottom' */
7
+ placement?: MaybeAccessor<Placement>;
8
+ /** 定位方式:'absolute' 需要 floating 挂在 body 下且无非 static 定位祖先;不确定就用 'fixed' */
9
+ strategy?: MaybeAccessor<Strategy>;
10
+ /** middleware 数组,顺序执行,如 [offset(8), flip(), shift({padding: 8})] */
11
+ middleware?: MaybeAccessor<Middleware[]>;
12
+ /** 是否在滚动/尺寸变化时自动重新计算,默认 true;也可传细粒度配置 */
13
+ autoUpdate?: boolean | AutoUpdateOptions;
14
+ }
15
+ export interface Positioner {
16
+ /** floating 元素相对定位坐标系的 x(细粒度信号,只在数值变化时更新) */
17
+ x: Accessor<number>;
18
+ /** floating 元素相对定位坐标系的 y(细粒度信号,只在数值变化时更新) */
19
+ y: Accessor<number>;
20
+ /** 经过 middleware(如 flip)调整后的最终 placement */
21
+ placement: Accessor<Placement>;
22
+ /** 实际生效的定位策略 */
23
+ strategy: Accessor<Strategy>;
24
+ /** 各 middleware 产出的附加数据,例如 arrow 的偏移量 */
25
+ middlewareData: Accessor<MiddlewareData>;
26
+ /** 是否已完成至少一次定位计算,可用于首次渲染前隐藏 floating 元素避免闪烁 */
27
+ isPositioned: Accessor<boolean>;
28
+ /** 手动触发一次重新计算 */
29
+ update: () => void;
30
+ /** 可直接展开到 style 上的便捷样式对象 */
31
+ floatingStyles: Accessor<{
32
+ position: Strategy;
33
+ top: string;
34
+ left: string;
35
+ transform: string;
36
+ }>;
37
+ }
38
+ /**
39
+ * Solid 的细粒度浮窗定位 primitive。
40
+ *
41
+ * 传入 reference / floating 两个元素访问器,返回一组独立的响应式信号
42
+ * (x、y、placement 等分别更新,不会因为其中一个变化而让另一个也重新渲染),
43
+ * 上层组件(tooltip / dropdown / popover)只需订阅自己关心的信号。
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * const [reference, setReference] = createSignal<HTMLElement>();
48
+ * const [floating, setFloating] = createSignal<HTMLElement>();
49
+ * const pos = createPositioner(reference, floating, {
50
+ * placement: "bottom-start",
51
+ * middleware: [offset(8), flip(), shift({ padding: 8 })],
52
+ * });
53
+ *
54
+ * <button ref={setReference}>trigger</button>
55
+ * <Show when={open()}>
56
+ * <Portal>
57
+ * <div ref={setFloating} style={pos.floatingStyles()}>内容</div>
58
+ * </Portal>
59
+ * </Show>
60
+ * ```
61
+ */
62
+ export declare function createPositioner(reference: Accessor<ReferenceElement | null | undefined>, floating: Accessor<HTMLElement | null | undefined>, options?: CreatePositionerOptions): Positioner;
63
+ export {};
@@ -0,0 +1,51 @@
1
+ import { computePosition as e } from "./core/compute-position.js";
2
+ import { autoUpdate as t } from "./auto-update.js";
3
+ import { createEffect as n, createMemo as r, createSignal as i, onCleanup as a } from "solid-js";
4
+ //#region src/lib/positioner/create-positioner.ts
5
+ function o(e, t) {
6
+ return e === void 0 ? t : typeof e == "function" ? e() : e;
7
+ }
8
+ function s(s, c, l = {}) {
9
+ let [u, d] = i(0), [f, p] = i(0), [m, h] = i(o(l.placement, "bottom")), [g, _] = i(o(l.strategy, "absolute")), [v, y] = i({}), [b, x] = i(!1), S = () => {
10
+ let t = s(), n = c();
11
+ if (!t || !n) {
12
+ x(!1);
13
+ return;
14
+ }
15
+ let r = e(t, n, {
16
+ placement: o(l.placement, "bottom"),
17
+ strategy: o(l.strategy, "absolute"),
18
+ middleware: o(l.middleware, [])
19
+ });
20
+ d(r.x), p(r.y), h(r.placement), _(r.strategy), y(r.middlewareData), x(!0);
21
+ };
22
+ return n(() => {
23
+ let e = s(), n = c();
24
+ if (o(l.placement, "bottom"), o(l.strategy, "absolute"), o(l.middleware, []), !e || !n) {
25
+ x(!1);
26
+ return;
27
+ }
28
+ if (S(), l.autoUpdate !== !1) {
29
+ let r = t(e, n, S, typeof l.autoUpdate == "object" ? l.autoUpdate : {});
30
+ a(r);
31
+ }
32
+ }), {
33
+ x: u,
34
+ y: f,
35
+ placement: m,
36
+ strategy: g,
37
+ middlewareData: v,
38
+ isPositioned: b,
39
+ update: S,
40
+ floatingStyles: r(() => ({
41
+ position: g(),
42
+ top: "0px",
43
+ left: "0px",
44
+ transform: `translate(${Math.round(u())}px, ${Math.round(f())}px)`
45
+ }))
46
+ };
47
+ }
48
+ //#endregion
49
+ export { s as createPositioner };
50
+
51
+ //# sourceMappingURL=create-positioner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-positioner.js","names":[],"sources":["../../../src/lib/positioner/create-positioner.ts"],"sourcesContent":["import {\n createEffect,\n createMemo,\n createSignal,\n onCleanup,\n type Accessor,\n} from \"solid-js\";\nimport type {\n Middleware,\n MiddlewareData,\n Placement,\n ReferenceElement,\n Strategy,\n} from \"./types\";\nimport { computePosition } from \"./core/compute-position\";\nimport {\n autoUpdate as attachAutoUpdate,\n type AutoUpdateOptions,\n} from \"./auto-update\";\n\ntype MaybeAccessor<T> = T | Accessor<T>;\n\nfunction unwrap<T>(value: MaybeAccessor<T> | undefined, fallback: T): T {\n if (value === undefined) return fallback;\n return typeof value === \"function\" ? (value as Accessor<T>)() : value;\n}\n\nexport interface CreatePositionerOptions {\n /** 期望的初始/首选摆放位置,默认 'bottom' */\n placement?: MaybeAccessor<Placement>;\n /** 定位方式:'absolute' 需要 floating 挂在 body 下且无非 static 定位祖先;不确定就用 'fixed' */\n strategy?: MaybeAccessor<Strategy>;\n /** middleware 数组,顺序执行,如 [offset(8), flip(), shift({padding: 8})] */\n middleware?: MaybeAccessor<Middleware[]>;\n /** 是否在滚动/尺寸变化时自动重新计算,默认 true;也可传细粒度配置 */\n autoUpdate?: boolean | AutoUpdateOptions;\n}\n\nexport interface Positioner {\n /** floating 元素相对定位坐标系的 x(细粒度信号,只在数值变化时更新) */\n x: Accessor<number>;\n /** floating 元素相对定位坐标系的 y(细粒度信号,只在数值变化时更新) */\n y: Accessor<number>;\n /** 经过 middleware(如 flip)调整后的最终 placement */\n placement: Accessor<Placement>;\n /** 实际生效的定位策略 */\n strategy: Accessor<Strategy>;\n /** 各 middleware 产出的附加数据,例如 arrow 的偏移量 */\n middlewareData: Accessor<MiddlewareData>;\n /** 是否已完成至少一次定位计算,可用于首次渲染前隐藏 floating 元素避免闪烁 */\n isPositioned: Accessor<boolean>;\n /** 手动触发一次重新计算 */\n update: () => void;\n /** 可直接展开到 style 上的便捷样式对象 */\n floatingStyles: Accessor<{\n position: Strategy;\n top: string;\n left: string;\n transform: string;\n }>;\n}\n\n/**\n * Solid 的细粒度浮窗定位 primitive。\n *\n * 传入 reference / floating 两个元素访问器,返回一组独立的响应式信号\n * (x、y、placement 等分别更新,不会因为其中一个变化而让另一个也重新渲染),\n * 上层组件(tooltip / dropdown / popover)只需订阅自己关心的信号。\n *\n * @example\n * ```tsx\n * const [reference, setReference] = createSignal<HTMLElement>();\n * const [floating, setFloating] = createSignal<HTMLElement>();\n * const pos = createPositioner(reference, floating, {\n * placement: \"bottom-start\",\n * middleware: [offset(8), flip(), shift({ padding: 8 })],\n * });\n *\n * <button ref={setReference}>trigger</button>\n * <Show when={open()}>\n * <Portal>\n * <div ref={setFloating} style={pos.floatingStyles()}>内容</div>\n * </Portal>\n * </Show>\n * ```\n */\nexport function createPositioner(\n reference: Accessor<ReferenceElement | null | undefined>,\n floating: Accessor<HTMLElement | null | undefined>,\n options: CreatePositionerOptions = {},\n): Positioner {\n const [x, setX] = createSignal(0);\n const [y, setY] = createSignal(0);\n const [placement, setPlacement] = createSignal<Placement>(\n unwrap(options.placement, \"bottom\"),\n );\n const [strategy, setStrategy] = createSignal<Strategy>(\n unwrap(options.strategy, \"absolute\"),\n );\n const [middlewareData, setMiddlewareData] = createSignal<MiddlewareData>({});\n const [isPositioned, setIsPositioned] = createSignal(false);\n\n const update = () => {\n const refEl = reference();\n const floatEl = floating();\n if (!refEl || !floatEl) {\n setIsPositioned(false);\n return;\n }\n\n const result = computePosition(refEl, floatEl, {\n placement: unwrap(options.placement, \"bottom\"),\n strategy: unwrap(options.strategy, \"absolute\"),\n middleware: unwrap(options.middleware, []),\n });\n\n // 每个 setter 只有在值真正变化时才会触发下游更新(Solid 信号默认行为),\n // 这就是“细粒度”的关键:只订阅 x 的节点不会因为 middlewareData 变化而重跑。\n setX(result.x);\n setY(result.y);\n setPlacement(result.placement);\n setStrategy(result.strategy);\n setMiddlewareData(result.middlewareData);\n setIsPositioned(true);\n };\n\n createEffect(() => {\n const refEl = reference();\n const floatEl = floating();\n // 主动读取,建立依赖:placement/strategy/middleware 若是响应式访问器,\n // 变化时也会重新进入这个 effect 并重新计算 + 重新挂 autoUpdate。\n unwrap(options.placement, \"bottom\");\n unwrap(options.strategy, \"absolute\");\n unwrap(options.middleware, []);\n\n if (!refEl || !floatEl) {\n setIsPositioned(false);\n return;\n }\n\n update();\n\n if (options.autoUpdate !== false) {\n const cleanup = attachAutoUpdate(\n refEl,\n floatEl,\n update,\n typeof options.autoUpdate === \"object\" ? options.autoUpdate : {},\n );\n onCleanup(cleanup);\n }\n });\n\n const floatingStyles = createMemo(() => ({\n position: strategy(),\n top: \"0px\",\n left: \"0px\",\n // 用 transform 而非 top/left 赋值,避免触发 layout,性能更好\n transform: `translate(${Math.round(x())}px, ${Math.round(y())}px)`,\n }));\n\n return {\n x,\n y,\n placement,\n strategy,\n middlewareData,\n isPositioned,\n update,\n floatingStyles,\n };\n}\n"],"mappings":";;;;AAsBA,SAAS,EAAU,GAAqC,GAAgB;CAEtE,OADI,MAAU,KAAA,IAAkB,IACzB,OAAO,KAAU,aAAc,EAAsB,IAAI;AAClE;AA6DA,SAAgB,EACd,GACA,GACA,IAAmC,CAAC,GACxB;CACZ,IAAM,CAAC,GAAG,KAAQ,EAAa,CAAC,GAC1B,CAAC,GAAG,KAAQ,EAAa,CAAC,GAC1B,CAAC,GAAW,KAAgB,EAChC,EAAO,EAAQ,WAAW,QAAQ,CACpC,GACM,CAAC,GAAU,KAAe,EAC9B,EAAO,EAAQ,UAAU,UAAU,CACrC,GACM,CAAC,GAAgB,KAAqB,EAA6B,CAAC,CAAC,GACrE,CAAC,GAAc,KAAmB,EAAa,EAAK,GAEpD,UAAe;EACnB,IAAM,IAAQ,EAAU,GAClB,IAAU,EAAS;EACzB,IAAI,CAAC,KAAS,CAAC,GAAS;GACtB,EAAgB,EAAK;GACrB;EACF;EAEA,IAAM,IAAS,EAAgB,GAAO,GAAS;GAC7C,WAAW,EAAO,EAAQ,WAAW,QAAQ;GAC7C,UAAU,EAAO,EAAQ,UAAU,UAAU;GAC7C,YAAY,EAAO,EAAQ,YAAY,CAAC,CAAC;EAC3C,CAAC;EASD,AALA,EAAK,EAAO,CAAC,GACb,EAAK,EAAO,CAAC,GACb,EAAa,EAAO,SAAS,GAC7B,EAAY,EAAO,QAAQ,GAC3B,EAAkB,EAAO,cAAc,GACvC,EAAgB,EAAI;CACtB;CAqCA,OAnCA,QAAmB;EACjB,IAAM,IAAQ,EAAU,GAClB,IAAU,EAAS;EAOzB,IAJA,EAAO,EAAQ,WAAW,QAAQ,GAClC,EAAO,EAAQ,UAAU,UAAU,GACnC,EAAO,EAAQ,YAAY,CAAC,CAAC,GAEzB,CAAC,KAAS,CAAC,GAAS;GACtB,EAAgB,EAAK;GACrB;EACF;EAIA,IAFA,EAAO,GAEH,EAAQ,eAAe,IAAO;GAChC,IAAM,IAAU,EACd,GACA,GACA,GACA,OAAO,EAAQ,cAAe,WAAW,EAAQ,aAAa,CAAC,CACjE;GACA,EAAU,CAAO;EACnB;CACF,CAAC,GAUM;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA,gBAhBqB,SAAkB;GACvC,UAAU,EAAS;GACnB,KAAK;GACL,MAAM;GAEN,WAAW,aAAa,KAAK,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC,EAAE;EAChE,EAUE;CACF;AACF"}
@@ -0,0 +1,11 @@
1
+ export { createPositioner } from './create-positioner';
2
+ export type { CreatePositionerOptions, Positioner } from './create-positioner';
3
+ export { computePosition } from './core/compute-position';
4
+ export { getSide, getAlignment, getOppositePlacement, getOppositeAlignmentPlacement, ALL_PLACEMENTS, } from './core/placement';
5
+ export { autoUpdate } from './auto-update';
6
+ export type { AutoUpdateOptions } from './auto-update';
7
+ export { createVirtualElement } from './virtual-element';
8
+ export type { PointOptions } from './virtual-element';
9
+ export { offset, shift, flip, arrow, size, hide, containingBlockOffset, } from './middleware';
10
+ export type { OffsetOptions, OffsetValue, ShiftOptions, FlipOptions, ArrowOptions, ArrowData, SizeOptions, SizeAvailableSpace, HideOptions, HideData, } from './middleware';
11
+ export type { Placement, Side, Alignment, AlignedPlacement, Strategy, Axis, Coords, Rect, ElementRects, Elements, ReferenceElement, VirtualElement, Middleware, MiddlewareData, MiddlewareState, MiddlewareReturn, ComputePositionConfig, ComputePositionReturn, Boundary, } from './types';
@@ -0,0 +1,23 @@
1
+ import { Middleware } from '../types';
2
+ import { getSide } from '../core/placement';
3
+ export interface ArrowOptions {
4
+ /**
5
+ * 箭头 DOM 元素,或返回该元素的函数(Solid 场景下常传一个访问器)。
6
+ * 类型是 Element 而不是 HTMLElement,是为了兼容 SVG 场景下用 <svg> 画箭头的写法
7
+ * (SVGSVGElement 不是 HTMLElement 的子类型)。
8
+ */
9
+ element: Element | undefined | (() => Element | undefined);
10
+ /** 箭头距 floating 边缘的最小间距,默认 4 */
11
+ padding?: number;
12
+ }
13
+ export interface ArrowData {
14
+ x?: number;
15
+ y?: number;
16
+ /** 箭头应贴靠 floating 的哪一侧(与 floating 的 placement 主边相同) */
17
+ side: ReturnType<typeof getSide>;
18
+ }
19
+ /**
20
+ * 计算箭头相对 floating 元素左上角的 x/y 偏移,
21
+ * 使其始终指向 reference 元素中心,同时不超出 floating 边界。
22
+ */
23
+ export declare function arrow(options: ArrowOptions): Middleware;
@@ -0,0 +1,23 @@
1
+ import { getSide as e, isVerticalSide as t } from "../core/placement.js";
2
+ //#region src/lib/positioner/middleware/arrow.ts
3
+ function n(n) {
4
+ return {
5
+ name: "arrow",
6
+ fn(r) {
7
+ let i = typeof n.element == "function" ? n.element() : n.element, a = e(r.placement);
8
+ if (!i) return { data: { side: a } };
9
+ let { rects: o, x: s, y: c } = r, l = n.padding ?? 4, u = t(a), d = i.getBoundingClientRect(), f = d.width || 0, p = d.height || 0, m = r.elements.floating.getBoundingClientRect(), h = u ? m.width : m.height, g = u ? f : p, _ = (u ? o.reference.x + o.reference.width / 2 - s : o.reference.y + o.reference.height / 2 - c) - g / 2, v = l, y = h - g - l;
10
+ return _ = Math.min(Math.max(_, v), Math.max(v, y)), { data: u ? {
11
+ x: _,
12
+ side: a
13
+ } : {
14
+ y: _,
15
+ side: a
16
+ } };
17
+ }
18
+ };
19
+ }
20
+ //#endregion
21
+ export { n as arrow };
22
+
23
+ //# sourceMappingURL=arrow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrow.js","names":[],"sources":["../../../../src/lib/positioner/middleware/arrow.ts"],"sourcesContent":["import type { Middleware } from \"../types\";\nimport { getSide, isVerticalSide } from \"../core/placement\";\n\nexport interface ArrowOptions {\n /**\n * 箭头 DOM 元素,或返回该元素的函数(Solid 场景下常传一个访问器)。\n * 类型是 Element 而不是 HTMLElement,是为了兼容 SVG 场景下用 <svg> 画箭头的写法\n * (SVGSVGElement 不是 HTMLElement 的子类型)。\n */\n element: Element | undefined | (() => Element | undefined);\n /** 箭头距 floating 边缘的最小间距,默认 4 */\n padding?: number;\n}\n\nexport interface ArrowData {\n x?: number;\n y?: number;\n /** 箭头应贴靠 floating 的哪一侧(与 floating 的 placement 主边相同) */\n side: ReturnType<typeof getSide>;\n}\n\n/**\n * 计算箭头相对 floating 元素左上角的 x/y 偏移,\n * 使其始终指向 reference 元素中心,同时不超出 floating 边界。\n */\nexport function arrow(options: ArrowOptions): Middleware {\n return {\n name: \"arrow\",\n fn(state) {\n const el =\n typeof options.element === \"function\"\n ? options.element()\n : options.element;\n const side = getSide(state.placement);\n if (!el) return { data: { side } };\n\n const { rects, x, y } = state;\n const padding = options.padding ?? 4;\n const vertical = isVerticalSide(side);\n\n // 用 getBoundingClientRect 而不是 offsetWidth/offsetHeight:后者只有\n // HTMLElement 才有,SVG 元素(比如 <svg>/<g>)没有这两个属性;\n // getBoundingClientRect 对所有 Element 都通用,只要箭头本身没有做\n // CSS transform(本库的 TooltipArrow 就是特意不用 rotate 来避免这个问题)。\n const arrowRect = el.getBoundingClientRect();\n const arrowWidth = arrowRect.width || 0;\n const arrowHeight = arrowRect.height || 0;\n\n // 关键:floating 的宽高现读现用,不用 state.rects.floating(那是这一轮\n // computePosition 刚开始时缓存的值)。如果 arrow 前面排了 size 这类会\n // 通过 apply 回调产生 DOM 副作用(比如响应式地改 max-width)的 middleware,\n // 而且这次副作用刚好同步生效了,state.rects.floating 就会是“改之前”的\n // 旧尺寸,用它算出来的箭头位置会带着一个固定的偏移量,跟最终实际渲染的\n // 盒子宽度对不上。这里现场重新measure,保证永远拿到当下最新的尺寸。\n const freshFloatingRect = state.elements.floating.getBoundingClientRect();\n const axisLen = vertical\n ? freshFloatingRect.width\n : freshFloatingRect.height;\n const arrowLen = vertical ? arrowWidth : arrowHeight;\n\n // reference 中心点相对 floating 左上角的位置\n const refCenter = vertical\n ? rects.reference.x + rects.reference.width / 2 - x\n : rects.reference.y + rects.reference.height / 2 - y;\n\n let pos = refCenter - arrowLen / 2;\n const min = padding;\n const max = axisLen - arrowLen - padding;\n pos = Math.min(Math.max(pos, min), Math.max(min, max));\n\n const data: ArrowData = vertical ? { x: pos, side } : { y: pos, side };\n return { data };\n },\n };\n}\n"],"mappings":";;AAyBA,SAAgB,EAAM,GAAmC;CACvD,OAAO;EACL,MAAM;EACN,GAAG,GAAO;GACR,IAAM,IACJ,OAAO,EAAQ,WAAY,aACvB,EAAQ,QAAQ,IAChB,EAAQ,SACR,IAAO,EAAQ,EAAM,SAAS;GACpC,IAAI,CAAC,GAAI,OAAO,EAAE,MAAM,EAAE,QAAK,EAAE;GAEjC,IAAM,EAAE,UAAO,MAAG,SAAM,GAClB,IAAU,EAAQ,WAAW,GAC7B,IAAW,EAAe,CAAI,GAM9B,IAAY,EAAG,sBAAsB,GACrC,IAAa,EAAU,SAAS,GAChC,IAAc,EAAU,UAAU,GAQlC,IAAoB,EAAM,SAAS,SAAS,sBAAsB,GAClE,IAAU,IACZ,EAAkB,QAClB,EAAkB,QAChB,IAAW,IAAW,IAAa,GAOrC,KAJc,IACd,EAAM,UAAU,IAAI,EAAM,UAAU,QAAQ,IAAI,IAChD,EAAM,UAAU,IAAI,EAAM,UAAU,SAAS,IAAI,KAE/B,IAAW,GAC3B,IAAM,GACN,IAAM,IAAU,IAAW;GAIjC,OAHA,IAAM,KAAK,IAAI,KAAK,IAAI,GAAK,CAAG,GAAG,KAAK,IAAI,GAAK,CAAG,CAAC,GAG9C,EAAE,MADe,IAAW;IAAE,GAAG;IAAK;GAAK,IAAI;IAAE,GAAG;IAAK;GAAK,EACvD;EAChB;CACF;AACF"}
@@ -0,0 +1,27 @@
1
+ import { Middleware } from '../types';
2
+ /**
3
+ * 修正因祖先元素设置了 transform / filter / perspective / backdrop-filter /
4
+ * will-change / contain 等 CSS 属性,导致 position:fixed(部分情况下
5
+ * position:absolute 也一样)的包含块被从“视口”重新定义成该祖先自身,
6
+ * 从而让按视口坐标算出来的 x/y 出现系统性偏移的问题。
7
+ *
8
+ * 典型症状:demo 页面里定位完全正常,放进真实项目(尤其是大量使用
9
+ * transform 做拖拽/缩放/面板动画的应用,比如设计工具、看板、画布编辑器)
10
+ * 后,浮层整体固定偏移某个方向,但相对位置关系(比如箭头跟着内容一起偏)
11
+ * 保持不变——这正是“坐标系被祖先重新定义”而不是“定位算法算错了”的特征。
12
+ *
13
+ * 原理:从 floating 元素实际的 DOM 父节点开始向上查找,找到第一个会重新
14
+ * 定义包含块的祖先,用它的 getBoundingClientRect() 反推出这个“意外包含块”
15
+ * 相对视口的偏移量,从最终坐标里减掉,抵消这个偏移。
16
+ *
17
+ * 局限:只处理纯平移类的偏移(比如 translate、面板展开动画、GPU 加速常见的
18
+ * translateZ(0))。如果那个祖先同时还做了 scale/rotate,这里不会做矩阵换算,
19
+ * 位置依然会有偏差——遇到这种情况,更彻底的办法是让 Portal 挂载点脱离那个
20
+ * 祖先(比如手动把挂载点换成真正不受影响的 document.body,而不是应用内部
21
+ * 某个嵌套很深的容器)。
22
+ *
23
+ * 建议放在 middleware 数组的最后一位——它修正的是“最终要写进 DOM 的坐标”,
24
+ * 前面 offset/flip/shift/size/arrow 等都在统一的视口坐标系里计算,不受影响,
25
+ * 只有真正落地前的这一步需要额外修正。
26
+ */
27
+ export declare function containingBlockOffset(): Middleware;
@@ -0,0 +1,46 @@
1
+ //#region src/lib/positioner/middleware/containing-block-offset.ts
2
+ var e = [
3
+ "transform",
4
+ "perspective",
5
+ "filter",
6
+ "backdropFilter"
7
+ ];
8
+ function t(t) {
9
+ for (let n of e) {
10
+ let e = t[n];
11
+ if (e && e !== "none") return !0;
12
+ }
13
+ let n = t.willChange || "";
14
+ if (/transform|perspective|filter/.test(n)) return !0;
15
+ let r = t.contain || "";
16
+ return !!/paint|layout|strict|content/.test(r);
17
+ }
18
+ function n() {
19
+ return {
20
+ name: "containingBlockOffset",
21
+ fn(e) {
22
+ let n = e.elements.floating.parentElement, r = 0, i = 0, a = null;
23
+ for (; n && n !== document.documentElement;) {
24
+ if (t(getComputedStyle(n))) {
25
+ let e = n.getBoundingClientRect();
26
+ r = e.x, i = e.y, a = n;
27
+ break;
28
+ }
29
+ n = n.parentElement;
30
+ }
31
+ return !a || r === 0 && i === 0 ? { data: { ancestor: null } } : {
32
+ x: e.x - r,
33
+ y: e.y - i,
34
+ data: {
35
+ ancestor: a,
36
+ offsetX: r,
37
+ offsetY: i
38
+ }
39
+ };
40
+ }
41
+ };
42
+ }
43
+ //#endregion
44
+ export { n as containingBlockOffset };
45
+
46
+ //# sourceMappingURL=containing-block-offset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"containing-block-offset.js","names":[],"sources":["../../../../src/lib/positioner/middleware/containing-block-offset.ts"],"sourcesContent":["import type { Middleware } from \"../types\";\n\nconst TRANSFORM_STYLE_PROPS = [\n \"transform\",\n \"perspective\",\n \"filter\",\n \"backdropFilter\",\n] as const;\n\nfunction establishesContainingBlock(style: CSSStyleDeclaration): boolean {\n for (const prop of TRANSFORM_STYLE_PROPS) {\n const value = style[prop as keyof CSSStyleDeclaration] as\n | string\n | undefined;\n if (value && value !== \"none\") return true;\n }\n const willChange = style.willChange || \"\";\n if (/transform|perspective|filter/.test(willChange)) return true;\n const contain = style.contain || \"\";\n if (/paint|layout|strict|content/.test(contain)) return true;\n return false;\n}\n\n/**\n * 修正因祖先元素设置了 transform / filter / perspective / backdrop-filter /\n * will-change / contain 等 CSS 属性,导致 position:fixed(部分情况下\n * position:absolute 也一样)的包含块被从“视口”重新定义成该祖先自身,\n * 从而让按视口坐标算出来的 x/y 出现系统性偏移的问题。\n *\n * 典型症状:demo 页面里定位完全正常,放进真实项目(尤其是大量使用\n * transform 做拖拽/缩放/面板动画的应用,比如设计工具、看板、画布编辑器)\n * 后,浮层整体固定偏移某个方向,但相对位置关系(比如箭头跟着内容一起偏)\n * 保持不变——这正是“坐标系被祖先重新定义”而不是“定位算法算错了”的特征。\n *\n * 原理:从 floating 元素实际的 DOM 父节点开始向上查找,找到第一个会重新\n * 定义包含块的祖先,用它的 getBoundingClientRect() 反推出这个“意外包含块”\n * 相对视口的偏移量,从最终坐标里减掉,抵消这个偏移。\n *\n * 局限:只处理纯平移类的偏移(比如 translate、面板展开动画、GPU 加速常见的\n * translateZ(0))。如果那个祖先同时还做了 scale/rotate,这里不会做矩阵换算,\n * 位置依然会有偏差——遇到这种情况,更彻底的办法是让 Portal 挂载点脱离那个\n * 祖先(比如手动把挂载点换成真正不受影响的 document.body,而不是应用内部\n * 某个嵌套很深的容器)。\n *\n * 建议放在 middleware 数组的最后一位——它修正的是“最终要写进 DOM 的坐标”,\n * 前面 offset/flip/shift/size/arrow 等都在统一的视口坐标系里计算,不受影响,\n * 只有真正落地前的这一步需要额外修正。\n */\nexport function containingBlockOffset(): Middleware {\n return {\n name: \"containingBlockOffset\",\n fn(state) {\n const floatingEl = state.elements.floating;\n let node: Element | null = floatingEl.parentElement;\n let offsetX = 0;\n let offsetY = 0;\n let foundAncestor: Element | null = null;\n\n while (node && node !== document.documentElement) {\n const style = getComputedStyle(node);\n if (establishesContainingBlock(style)) {\n const rect = node.getBoundingClientRect();\n offsetX = rect.x;\n offsetY = rect.y;\n foundAncestor = node;\n break;\n }\n node = node.parentElement;\n }\n\n if (!foundAncestor || (offsetX === 0 && offsetY === 0)) {\n return { data: { ancestor: null } };\n }\n\n return {\n x: state.x - offsetX,\n y: state.y - offsetY,\n data: { ancestor: foundAncestor, offsetX, offsetY },\n };\n },\n };\n}\n"],"mappings":";AAEA,IAAM,IAAwB;CAC5B;CACA;CACA;CACA;AACF;AAEA,SAAS,EAA2B,GAAqC;CACvE,KAAK,IAAM,KAAQ,GAAuB;EACxC,IAAM,IAAQ,EAAM;EAGpB,IAAI,KAAS,MAAU,QAAQ,OAAO;CACxC;CACA,IAAM,IAAa,EAAM,cAAc;CACvC,IAAI,+BAA+B,KAAK,CAAU,GAAG,OAAO;CAC5D,IAAM,IAAU,EAAM,WAAW;CAEjC,OADA,EAAI,8BAA8B,KAAK,CAAO;AAEhD;AA2BA,SAAgB,IAAoC;CAClD,OAAO;EACL,MAAM;EACN,GAAG,GAAO;GAER,IAAI,IADe,EAAM,SAAS,SACI,eAClC,IAAU,GACV,IAAU,GACV,IAAgC;GAEpC,OAAO,KAAQ,MAAS,SAAS,kBAAiB;IAEhD,IAAI,EADU,iBAAiB,CACA,CAAK,GAAG;KACrC,IAAM,IAAO,EAAK,sBAAsB;KAGxC,AAFA,IAAU,EAAK,GACf,IAAU,EAAK,GACf,IAAgB;KAChB;IACF;IACA,IAAO,EAAK;GACd;GAMA,OAJI,CAAC,KAAkB,MAAY,KAAK,MAAY,IAC3C,EAAE,MAAM,EAAE,UAAU,KAAK,EAAE,IAG7B;IACL,GAAG,EAAM,IAAI;IACb,GAAG,EAAM,IAAI;IACb,MAAM;KAAE,UAAU;KAAe;KAAS;IAAQ;GACpD;EACF;CACF;AACF"}
@@ -0,0 +1,9 @@
1
+ import { Boundary, Middleware, Placement } from '../types';
2
+ export interface FlipOptions {
3
+ padding?: number;
4
+ boundary?: Boundary;
5
+ /** 翻转候选 placement 列表,按顺序尝试,默认只翻转到正对面 */
6
+ fallbackPlacements?: Placement[];
7
+ }
8
+ /** 当主轴方向空间不够时,翻转到相对的 placement(如 bottom -> top) */
9
+ export declare function flip(options?: FlipOptions): Middleware;
@@ -0,0 +1,54 @@
1
+ import { getViewportBoundary as e } from "../utils/dom.js";
2
+ import { computeCoordsFromPlacement as t, getOppositePlacement as n, getSide as r } from "../core/placement.js";
3
+ //#region src/lib/positioner/middleware/flip.ts
4
+ function i(e, t, n, r, i) {
5
+ return {
6
+ top: i.y - t,
7
+ left: i.x - e,
8
+ right: e + n - (i.x + i.width),
9
+ bottom: t + r - (i.y + i.height)
10
+ };
11
+ }
12
+ function a(e, t) {
13
+ switch (e) {
14
+ case "top": return t.top;
15
+ case "bottom": return t.bottom;
16
+ case "left": return t.left;
17
+ case "right": return t.right;
18
+ }
19
+ }
20
+ function o(o = {}) {
21
+ return {
22
+ name: "flip",
23
+ fn(s) {
24
+ let { x: c, y: l, rects: u, placement: d, strategy: f, middlewareData: p, initialPlacement: m } = s;
25
+ if (p.flip?.flipped) return {};
26
+ let { padding: h = 0 } = o, g = o.boundary ?? e(f, h), _ = i(c, l, u.floating.width, u.floating.height, g), v = a(r(d), _);
27
+ if (v <= 0) return {};
28
+ let y = o.fallbackPlacements ?? [n(m)], b = null;
29
+ for (let e of y) {
30
+ if (e === d) continue;
31
+ let n = t(u, e), o = i(n.x, n.y, u.floating.width, u.floating.height, g), s = a(r(e), o);
32
+ if (s <= 0) {
33
+ b = {
34
+ placement: e,
35
+ overflow: s
36
+ };
37
+ break;
38
+ }
39
+ (!b || s < b.overflow) && (b = {
40
+ placement: e,
41
+ overflow: s
42
+ });
43
+ }
44
+ return !b || b.overflow >= v ? {} : {
45
+ reset: { placement: b.placement },
46
+ data: { flipped: !0 }
47
+ };
48
+ }
49
+ };
50
+ }
51
+ //#endregion
52
+ export { o as flip };
53
+
54
+ //# sourceMappingURL=flip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flip.js","names":[],"sources":["../../../../src/lib/positioner/middleware/flip.ts"],"sourcesContent":["import type { Boundary, Middleware, Placement, Side } from \"../types\";\nimport { getViewportBoundary } from \"../utils/dom\";\nimport {\n computeCoordsFromPlacement,\n getOppositePlacement,\n getSide,\n} from \"../core/placement\";\n\nexport interface FlipOptions {\n padding?: number;\n boundary?: Boundary;\n /** 翻转候选 placement 列表,按顺序尝试,默认只翻转到正对面 */\n fallbackPlacements?: Placement[];\n}\n\ninterface SideOverflow {\n top: number;\n right: number;\n bottom: number;\n left: number;\n}\n\nfunction getSideOverflow(\n x: number,\n y: number,\n width: number,\n height: number,\n boundary: Boundary,\n): SideOverflow {\n return {\n top: boundary.y - y,\n left: boundary.x - x,\n right: x + width - (boundary.x + boundary.width),\n bottom: y + height - (boundary.y + boundary.height),\n };\n}\n\n/** 取某个 placement 主轴方向对应的溢出量(正数代表溢出了多少像素) */\nfunction getMainAxisOverflow(side: Side, overflow: SideOverflow): number {\n switch (side) {\n case \"top\":\n return overflow.top;\n case \"bottom\":\n return overflow.bottom;\n case \"left\":\n return overflow.left;\n case \"right\":\n return overflow.right;\n }\n}\n\n/** 当主轴方向空间不够时,翻转到相对的 placement(如 bottom -> top) */\nexport function flip(options: FlipOptions = {}): Middleware {\n return {\n name: \"flip\",\n fn(state) {\n const {\n x,\n y,\n rects,\n placement,\n strategy,\n middlewareData,\n initialPlacement,\n } = state;\n\n // 已经翻转过一次就不再继续翻,避免来回震荡\n if (middlewareData.flip?.flipped) return {};\n\n const { padding = 0 } = options;\n const boundary =\n options.boundary ?? getViewportBoundary(strategy, padding);\n\n const currentOverflow = getSideOverflow(\n x,\n y,\n rects.floating.width,\n rects.floating.height,\n boundary,\n );\n const currentMainOverflow = getMainAxisOverflow(\n getSide(placement),\n currentOverflow,\n );\n\n // 当前方向够放,不需要翻\n if (currentMainOverflow <= 0) return {};\n\n const candidates = options.fallbackPlacements ?? [\n getOppositePlacement(initialPlacement),\n ];\n\n let best: { placement: Placement; overflow: number } | null = null;\n\n for (const candidate of candidates) {\n if (candidate === placement) continue;\n\n // 关键修复点:真正代入候选 placement 算出它的坐标,再算它自己的真实溢出量,\n // 而不是用当前(本就溢出的)placement 的 overflow 去做错误的镜像估算。\n const candidateCoords = computeCoordsFromPlacement(rects, candidate);\n const candidateOverflow = getSideOverflow(\n candidateCoords.x,\n candidateCoords.y,\n rects.floating.width,\n rects.floating.height,\n boundary,\n );\n const candidateMainOverflow = getMainAxisOverflow(\n getSide(candidate),\n candidateOverflow,\n );\n\n if (candidateMainOverflow <= 0) {\n best = { placement: candidate, overflow: candidateMainOverflow };\n break; // 找到完全不溢出的候选,直接采用\n }\n if (!best || candidateMainOverflow < best.overflow) {\n best = { placement: candidate, overflow: candidateMainOverflow };\n }\n }\n\n // 没有候选,或翻过去也不比现在好,就不翻\n if (!best || best.overflow >= currentMainOverflow) return {};\n\n return {\n reset: { placement: best.placement },\n data: { flipped: true },\n };\n },\n };\n}\n"],"mappings":";;;AAsBA,SAAS,EACP,GACA,GACA,GACA,GACA,GACc;CACd,OAAO;EACL,KAAK,EAAS,IAAI;EAClB,MAAM,EAAS,IAAI;EACnB,OAAO,IAAI,KAAS,EAAS,IAAI,EAAS;EAC1C,QAAQ,IAAI,KAAU,EAAS,IAAI,EAAS;CAC9C;AACF;AAGA,SAAS,EAAoB,GAAY,GAAgC;CACvE,QAAQ,GAAR;EACE,KAAK,OACH,OAAO,EAAS;EAClB,KAAK,UACH,OAAO,EAAS;EAClB,KAAK,QACH,OAAO,EAAS;EAClB,KAAK,SACH,OAAO,EAAS;CACpB;AACF;AAGA,SAAgB,EAAK,IAAuB,CAAC,GAAe;CAC1D,OAAO;EACL,MAAM;EACN,GAAG,GAAO;GACR,IAAM,EACJ,MACA,MACA,UACA,cACA,aACA,mBACA,wBACE;GAGJ,IAAI,EAAe,MAAM,SAAS,OAAO,CAAC;GAE1C,IAAM,EAAE,aAAU,MAAM,GAClB,IACJ,EAAQ,YAAY,EAAoB,GAAU,CAAO,GAErD,IAAkB,EACtB,GACA,GACA,EAAM,SAAS,OACf,EAAM,SAAS,QACf,CACF,GACM,IAAsB,EAC1B,EAAQ,CAAS,GACjB,CACF;GAGA,IAAI,KAAuB,GAAG,OAAO,CAAC;GAEtC,IAAM,IAAa,EAAQ,sBAAsB,CAC/C,EAAqB,CAAgB,CACvC,GAEI,IAA0D;GAE9D,KAAK,IAAM,KAAa,GAAY;IAClC,IAAI,MAAc,GAAW;IAI7B,IAAM,IAAkB,EAA2B,GAAO,CAAS,GAC7D,IAAoB,EACxB,EAAgB,GAChB,EAAgB,GAChB,EAAM,SAAS,OACf,EAAM,SAAS,QACf,CACF,GACM,IAAwB,EAC5B,EAAQ,CAAS,GACjB,CACF;IAEA,IAAI,KAAyB,GAAG;KAC9B,IAAO;MAAE,WAAW;MAAW,UAAU;KAAsB;KAC/D;IACF;IACA,CAAI,CAAC,KAAQ,IAAwB,EAAK,cACxC,IAAO;KAAE,WAAW;KAAW,UAAU;IAAsB;GAEnE;GAKA,OAFI,CAAC,KAAQ,EAAK,YAAY,IAA4B,CAAC,IAEpD;IACL,OAAO,EAAE,WAAW,EAAK,UAAU;IACnC,MAAM,EAAE,SAAS,GAAK;GACxB;EACF;CACF;AACF"}
@@ -0,0 +1,22 @@
1
+ import { Boundary, Middleware } from '../types';
2
+ export interface HideOptions {
3
+ padding?: number;
4
+ boundary?: Boundary;
5
+ /**
6
+ * 'referenceHidden':reference 元素被自身滚动容器完全裁掉(比如滚出了可滚动的父级)
7
+ * 'escaped':floating 元素虽然还在视口内,但已经完全脱离了 reference 所在的边界
8
+ *(比如 reference 在一个卡片里被横向滚动挡住了一半,虽然 floating 还能摆在视口里,
9
+ * 但已经不该再显示,否则看起来像是"飘"在别的内容上)
10
+ * 默认只做 referenceHidden 检测,这是最常见也最需要的场景。
11
+ */
12
+ strategy?: "referenceHidden" | "escaped";
13
+ }
14
+ export interface HideData {
15
+ referenceHidden?: boolean;
16
+ escaped?: boolean;
17
+ }
18
+ /**
19
+ * 不改变坐标,只产出"是否应该隐藏浮层"的判断数据,交给上层组件决定要不要渲染。
20
+ * 用法:在业务组件里读 `middlewareData().hide?.referenceHidden`,为 true 时关闭浮层。
21
+ */
22
+ export declare function hide(options?: HideOptions): Middleware;
@@ -0,0 +1,19 @@
1
+ import { getRectRelativeTo as e, getViewportBoundary as t } from "../utils/dom.js";
2
+ //#region src/lib/positioner/middleware/hide.ts
3
+ function n(n = {}) {
4
+ return {
5
+ name: "hide",
6
+ fn(r) {
7
+ let { x: i, y: a, rects: o, strategy: s, elements: c } = r, { padding: l = 0, strategy: u = "referenceHidden" } = n, d = n.boundary ?? t(s, l), f = {};
8
+ if (u === "referenceHidden") {
9
+ let t = e(c.reference, s);
10
+ f.referenceHidden = t.x + t.width <= d.x || t.y + t.height <= d.y || t.x >= d.x + d.width || t.y >= d.y + d.height;
11
+ }
12
+ return u === "escaped" && (f.escaped = i + o.floating.width <= d.x || a + o.floating.height <= d.y || i >= d.x + d.width || a >= d.y + d.height), { data: f };
13
+ }
14
+ };
15
+ }
16
+ //#endregion
17
+ export { n as hide };
18
+
19
+ //# sourceMappingURL=hide.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hide.js","names":[],"sources":["../../../../src/lib/positioner/middleware/hide.ts"],"sourcesContent":["import type { Boundary, Middleware } from \"../types\";\nimport { getViewportBoundary, getRectRelativeTo } from \"../utils/dom\";\n\nexport interface HideOptions {\n padding?: number;\n boundary?: Boundary;\n /**\n * 'referenceHidden':reference 元素被自身滚动容器完全裁掉(比如滚出了可滚动的父级)\n * 'escaped':floating 元素虽然还在视口内,但已经完全脱离了 reference 所在的边界\n *(比如 reference 在一个卡片里被横向滚动挡住了一半,虽然 floating 还能摆在视口里,\n * 但已经不该再显示,否则看起来像是\"飘\"在别的内容上)\n * 默认只做 referenceHidden 检测,这是最常见也最需要的场景。\n */\n strategy?: \"referenceHidden\" | \"escaped\";\n}\n\nexport interface HideData {\n referenceHidden?: boolean;\n escaped?: boolean;\n}\n\n/**\n * 不改变坐标,只产出\"是否应该隐藏浮层\"的判断数据,交给上层组件决定要不要渲染。\n * 用法:在业务组件里读 `middlewareData().hide?.referenceHidden`,为 true 时关闭浮层。\n */\nexport function hide(options: HideOptions = {}): Middleware {\n return {\n name: \"hide\",\n fn(state) {\n const { x, y, rects, strategy: positionStrategy, elements } = state;\n const { padding = 0, strategy = \"referenceHidden\" } = options;\n const boundary =\n options.boundary ?? getViewportBoundary(positionStrategy, padding);\n\n const data: HideData = {};\n\n if (strategy === \"referenceHidden\") {\n const refRect = getRectRelativeTo(elements.reference, positionStrategy);\n const referenceHidden =\n refRect.x + refRect.width <= boundary.x ||\n refRect.y + refRect.height <= boundary.y ||\n refRect.x >= boundary.x + boundary.width ||\n refRect.y >= boundary.y + boundary.height;\n data.referenceHidden = referenceHidden;\n }\n\n if (strategy === \"escaped\") {\n const escaped =\n x + rects.floating.width <= boundary.x ||\n y + rects.floating.height <= boundary.y ||\n x >= boundary.x + boundary.width ||\n y >= boundary.y + boundary.height;\n data.escaped = escaped;\n }\n\n return { data };\n },\n };\n}\n"],"mappings":";;AAyBA,SAAgB,EAAK,IAAuB,CAAC,GAAe;CAC1D,OAAO;EACL,MAAM;EACN,GAAG,GAAO;GACR,IAAM,EAAE,MAAG,MAAG,UAAO,UAAU,GAAkB,gBAAa,GACxD,EAAE,aAAU,GAAG,cAAW,sBAAsB,GAChD,IACJ,EAAQ,YAAY,EAAoB,GAAkB,CAAO,GAE7D,IAAiB,CAAC;GAExB,IAAI,MAAa,mBAAmB;IAClC,IAAM,IAAU,EAAkB,EAAS,WAAW,CAAgB;IAMtE,EAAK,kBAJH,EAAQ,IAAI,EAAQ,SAAS,EAAS,KACtC,EAAQ,IAAI,EAAQ,UAAU,EAAS,KACvC,EAAQ,KAAK,EAAS,IAAI,EAAS,SACnC,EAAQ,KAAK,EAAS,IAAI,EAAS;GAEvC;GAWA,OATI,MAAa,cAMf,EAAK,UAJH,IAAI,EAAM,SAAS,SAAS,EAAS,KACrC,IAAI,EAAM,SAAS,UAAU,EAAS,KACtC,KAAK,EAAS,IAAI,EAAS,SAC3B,KAAK,EAAS,IAAI,EAAS,SAIxB,EAAE,QAAK;EAChB;CACF;AACF"}
@@ -0,0 +1,13 @@
1
+ export { offset } from './offset';
2
+ export type { OffsetOptions, OffsetValue } from './offset';
3
+ export { shift } from './shift';
4
+ export type { ShiftOptions } from './shift';
5
+ export { flip } from './flip';
6
+ export type { FlipOptions } from './flip';
7
+ export { arrow } from './arrow';
8
+ export type { ArrowOptions, ArrowData } from './arrow';
9
+ export { size } from './size';
10
+ export type { SizeOptions, SizeAvailableSpace } from './size';
11
+ export { hide } from './hide';
12
+ export type { HideOptions, HideData } from './hide';
13
+ export { containingBlockOffset } from './containing-block-offset';
@@ -0,0 +1,10 @@
1
+ import { Middleware } from '../types';
2
+ export interface OffsetValue {
3
+ /** 沿主轴方向的偏移(远离/靠近 reference),默认 0 */
4
+ mainAxis?: number;
5
+ /** 沿交叉轴方向的偏移(左右或上下平移),默认 0 */
6
+ crossAxis?: number;
7
+ }
8
+ export type OffsetOptions = number | OffsetValue;
9
+ /** 让 floating 元素与 reference 保持一定间距,或沿对齐轴做微调 */
10
+ export declare function offset(value?: OffsetOptions): Middleware;
@@ -0,0 +1,21 @@
1
+ import { getSide as e, isVerticalSide as t } from "../core/placement.js";
2
+ //#region src/lib/positioner/middleware/offset.ts
3
+ function n(n = 0) {
4
+ return {
5
+ name: "offset",
6
+ fn(r) {
7
+ let { x: i, y: a, placement: o } = r, s = e(o), c = t(s), l = typeof n == "number" ? n : n.mainAxis ?? 0, u = typeof n == "number" ? 0 : n.crossAxis ?? 0, d = l * (s === "bottom" || s === "right" ? 1 : -1);
8
+ return c ? {
9
+ x: i + u,
10
+ y: a + d
11
+ } : {
12
+ x: i + d,
13
+ y: a + u
14
+ };
15
+ }
16
+ };
17
+ }
18
+ //#endregion
19
+ export { n as offset };
20
+
21
+ //# sourceMappingURL=offset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"offset.js","names":[],"sources":["../../../../src/lib/positioner/middleware/offset.ts"],"sourcesContent":["import type { Middleware } from \"../types\";\nimport { getSide, isVerticalSide } from \"../core/placement\";\n\nexport interface OffsetValue {\n /** 沿主轴方向的偏移(远离/靠近 reference),默认 0 */\n mainAxis?: number;\n /** 沿交叉轴方向的偏移(左右或上下平移),默认 0 */\n crossAxis?: number;\n}\n\nexport type OffsetOptions = number | OffsetValue;\n\n/** 让 floating 元素与 reference 保持一定间距,或沿对齐轴做微调 */\nexport function offset(value: OffsetOptions = 0): Middleware {\n return {\n name: \"offset\",\n fn(state) {\n const { x, y, placement } = state;\n const side = getSide(placement);\n const vertical = isVerticalSide(side);\n\n const mainAxis =\n typeof value === \"number\" ? value : (value.mainAxis ?? 0);\n const crossAxis = typeof value === \"number\" ? 0 : (value.crossAxis ?? 0);\n\n // top/left 是\"负方向\",bottom/right 是\"正方向\"\n const mainSign = side === \"bottom\" || side === \"right\" ? 1 : -1;\n\n const diffMain = mainAxis * mainSign;\n\n return vertical\n ? { x: x + crossAxis, y: y + diffMain }\n : { x: x + diffMain, y: y + crossAxis };\n },\n };\n}\n"],"mappings":";;AAaA,SAAgB,EAAO,IAAuB,GAAe;CAC3D,OAAO;EACL,MAAM;EACN,GAAG,GAAO;GACR,IAAM,EAAE,MAAG,MAAG,iBAAc,GACtB,IAAO,EAAQ,CAAS,GACxB,IAAW,EAAe,CAAI,GAE9B,IACJ,OAAO,KAAU,WAAW,IAAS,EAAM,YAAY,GACnD,IAAY,OAAO,KAAU,WAAW,IAAK,EAAM,aAAa,GAKhE,IAAW,KAFA,MAAS,YAAY,MAAS,UAAU,IAAI;GAI7D,OAAO,IACH;IAAE,GAAG,IAAI;IAAW,GAAG,IAAI;GAAS,IACpC;IAAE,GAAG,IAAI;IAAU,GAAG,IAAI;GAAU;EAC1C;CACF;AACF"}
@@ -0,0 +1,13 @@
1
+ import { Boundary, Middleware } from '../types';
2
+ export interface ShiftOptions {
3
+ /** 距边界的最小间距,默认 0 */
4
+ padding?: number;
5
+ /** 自定义边界矩形,默认使用视口 */
6
+ boundary?: Boundary;
7
+ /** 是否限制主轴方向(如 top/bottom placement 的 y 方向),默认 true */
8
+ mainAxis?: boolean;
9
+ /** 是否限制交叉轴方向(如 top/bottom placement 的 x 方向),默认 true */
10
+ crossAxis?: boolean;
11
+ }
12
+ /** 平移 floating 元素,使其尽量停留在边界(默认视口)内,不做 placement 翻转 */
13
+ export declare function shift(options?: ShiftOptions): Middleware;
@@ -0,0 +1,30 @@
1
+ import { getViewportBoundary as e } from "../utils/dom.js";
2
+ //#region src/lib/positioner/middleware/shift.ts
3
+ function t(t = {}) {
4
+ return {
5
+ name: "shift",
6
+ fn(n) {
7
+ let { x: r, y: i, rects: a, strategy: o } = n, { padding: s = 0, mainAxis: c = !0, crossAxis: l = !0 } = t, u = t.boundary ?? e(o, s), d = r, f = i;
8
+ if (l) {
9
+ let e = u.x, t = u.x + u.width - a.floating.width;
10
+ d = Math.min(Math.max(r, e), Math.max(e, t));
11
+ }
12
+ if (c) {
13
+ let e = u.y, t = u.y + u.height - a.floating.height;
14
+ f = Math.min(Math.max(i, e), Math.max(e, t));
15
+ }
16
+ return {
17
+ x: d,
18
+ y: f,
19
+ data: {
20
+ x: d - r,
21
+ y: f - i
22
+ }
23
+ };
24
+ }
25
+ };
26
+ }
27
+ //#endregion
28
+ export { t as shift };
29
+
30
+ //# sourceMappingURL=shift.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shift.js","names":[],"sources":["../../../../src/lib/positioner/middleware/shift.ts"],"sourcesContent":["import type { Boundary, Middleware } from \"../types\";\nimport { getViewportBoundary } from \"../utils/dom\";\n\nexport interface ShiftOptions {\n /** 距边界的最小间距,默认 0 */\n padding?: number;\n /** 自定义边界矩形,默认使用视口 */\n boundary?: Boundary;\n /** 是否限制主轴方向(如 top/bottom placement 的 y 方向),默认 true */\n mainAxis?: boolean;\n /** 是否限制交叉轴方向(如 top/bottom placement 的 x 方向),默认 true */\n crossAxis?: boolean;\n}\n\n/** 平移 floating 元素,使其尽量停留在边界(默认视口)内,不做 placement 翻转 */\nexport function shift(options: ShiftOptions = {}): Middleware {\n return {\n name: \"shift\",\n fn(state) {\n const { x, y, rects, strategy } = state;\n const { padding = 0, mainAxis = true, crossAxis = true } = options;\n const boundary =\n options.boundary ?? getViewportBoundary(strategy, padding);\n\n let nextX = x;\n let nextY = y;\n\n if (crossAxis) {\n const minX = boundary.x;\n const maxX = boundary.x + boundary.width - rects.floating.width;\n nextX = Math.min(Math.max(x, minX), Math.max(minX, maxX));\n }\n\n if (mainAxis) {\n const minY = boundary.y;\n const maxY = boundary.y + boundary.height - rects.floating.height;\n nextY = Math.min(Math.max(y, minY), Math.max(minY, maxY));\n }\n\n return {\n x: nextX,\n y: nextY,\n data: { x: nextX - x, y: nextY - y },\n };\n },\n };\n}\n"],"mappings":";;AAeA,SAAgB,EAAM,IAAwB,CAAC,GAAe;CAC5D,OAAO;EACL,MAAM;EACN,GAAG,GAAO;GACR,IAAM,EAAE,MAAG,MAAG,UAAO,gBAAa,GAC5B,EAAE,aAAU,GAAG,cAAW,IAAM,eAAY,OAAS,GACrD,IACJ,EAAQ,YAAY,EAAoB,GAAU,CAAO,GAEvD,IAAQ,GACR,IAAQ;GAEZ,IAAI,GAAW;IACb,IAAM,IAAO,EAAS,GAChB,IAAO,EAAS,IAAI,EAAS,QAAQ,EAAM,SAAS;IAC1D,IAAQ,KAAK,IAAI,KAAK,IAAI,GAAG,CAAI,GAAG,KAAK,IAAI,GAAM,CAAI,CAAC;GAC1D;GAEA,IAAI,GAAU;IACZ,IAAM,IAAO,EAAS,GAChB,IAAO,EAAS,IAAI,EAAS,SAAS,EAAM,SAAS;IAC3D,IAAQ,KAAK,IAAI,KAAK,IAAI,GAAG,CAAI,GAAG,KAAK,IAAI,GAAM,CAAI,CAAC;GAC1D;GAEA,OAAO;IACL,GAAG;IACH,GAAG;IACH,MAAM;KAAE,GAAG,IAAQ;KAAG,GAAG,IAAQ;IAAE;GACrC;EACF;CACF;AACF"}
@@ -0,0 +1,13 @@
1
+ import { Boundary, Middleware, MiddlewareState } from '../types';
2
+ export interface SizeAvailableSpace {
3
+ availableWidth: number;
4
+ availableHeight: number;
5
+ }
6
+ export interface SizeOptions {
7
+ padding?: number;
8
+ boundary?: Boundary;
9
+ /** 拿到可用空间后自行处理,比如设置 floating 的 maxHeight */
10
+ apply?: (space: SizeAvailableSpace, state: MiddlewareState) => void;
11
+ }
12
+ /** 计算 floating 在当前边界内的可用宽高,交给 apply 回调去应用(如设置 max-height 实现滚动) */
13
+ export declare function size(options?: SizeOptions): Middleware;
@@ -0,0 +1,74 @@
1
+ export type Side = "top" | "right" | "bottom" | "left";
2
+ export type Alignment = "start" | "end";
3
+ export type AlignedPlacement = `${Side}-${Alignment}`;
4
+ export type Placement = Side | AlignedPlacement;
5
+ export type Strategy = "absolute" | "fixed";
6
+ export type Axis = "x" | "y";
7
+ export interface Coords {
8
+ x: number;
9
+ y: number;
10
+ }
11
+ export interface Rect extends Coords {
12
+ width: number;
13
+ height: number;
14
+ }
15
+ export interface ElementRects {
16
+ reference: Rect;
17
+ floating: Rect;
18
+ }
19
+ export interface Elements {
20
+ reference: ReferenceElement;
21
+ floating: HTMLElement;
22
+ }
23
+ /**
24
+ * 虚拟参照元素:用于锚定到一个不存在真实 DOM 节点的位置,
25
+ * 最典型的场景就是右键菜单——锚点是鼠标点击的那个像素坐标,不是某个元素。
26
+ * 只要实现 getBoundingClientRect() 就能像真实 HTMLElement 一样参与定位计算。
27
+ */
28
+ export interface VirtualElement {
29
+ getBoundingClientRect(): Rect;
30
+ /**
31
+ * 可选:关联一个真实 DOM 节点,autoUpdate 会用它去查找可滚动祖先容器
32
+ * (虚拟元素本身没有父节点链,无法直接判断哪些祖先滚动会影响这个点的位置)。
33
+ */
34
+ contextElement?: Element;
35
+ }
36
+ export type ReferenceElement = Element | VirtualElement;
37
+ export interface MiddlewareData {
38
+ [key: string]: any;
39
+ }
40
+ /** 传给每个 middleware 的当前计算状态 */
41
+ export interface MiddlewareState extends Coords {
42
+ initialPlacement: Placement;
43
+ placement: Placement;
44
+ strategy: Strategy;
45
+ rects: ElementRects;
46
+ elements: Elements;
47
+ middlewareData: MiddlewareData;
48
+ }
49
+ export interface MiddlewareReturn extends Partial<Coords> {
50
+ data?: any;
51
+ /**
52
+ * 若返回该字段,表示需要用新的 placement 重新计算一轮,
53
+ * 主循环会用新 placement 重跑一次(用于 flip 等场景)。
54
+ */
55
+ reset?: boolean | {
56
+ placement?: Placement;
57
+ };
58
+ }
59
+ export interface Middleware {
60
+ name: string;
61
+ fn(state: MiddlewareState): MiddlewareReturn;
62
+ }
63
+ export interface ComputePositionConfig {
64
+ placement?: Placement;
65
+ strategy?: Strategy;
66
+ middleware?: Middleware[];
67
+ }
68
+ export interface ComputePositionReturn extends Coords {
69
+ placement: Placement;
70
+ strategy: Strategy;
71
+ middlewareData: MiddlewareData;
72
+ }
73
+ export interface Boundary extends Rect {
74
+ }