@neut/ui 0.0.8 → 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 (581) hide show
  1. package/README.md +83 -56
  2. package/README.zh-CN.md +137 -0
  3. package/dist/components/accordion/Accordion/Accordion.context.js.map +1 -1
  4. package/dist/components/accordion/Accordion/Accordion.js +21 -20
  5. package/dist/components/accordion/Accordion/Accordion.js.map +1 -1
  6. package/dist/components/accordion/Accordion/Accordion.styles.d.ts +2 -0
  7. package/dist/components/accordion/Accordion/Accordion.styles.js +7 -0
  8. package/dist/components/accordion/Accordion/Accordion.styles.js.map +1 -0
  9. package/dist/components/accordion/Accordion/useAccordion.js +1 -3
  10. package/dist/components/accordion/Accordion/useAccordion.js.map +1 -1
  11. package/dist/components/accordion/AccordionContent/AccordionContent.js +25 -21
  12. package/dist/components/accordion/AccordionContent/AccordionContent.js.map +1 -1
  13. package/dist/components/accordion/AccordionContent/AccordionContent.styles.d.ts +5 -0
  14. package/dist/components/accordion/AccordionContent/AccordionContent.styles.js +9 -0
  15. package/dist/components/accordion/AccordionContent/AccordionContent.styles.js.map +1 -0
  16. package/dist/components/accordion/AccordionContent/index.d.ts +1 -0
  17. package/dist/components/accordion/AccordionItem/AccordionItem.context.js.map +1 -1
  18. package/dist/components/accordion/AccordionItem/AccordionItem.js +19 -18
  19. package/dist/components/accordion/AccordionItem/AccordionItem.js.map +1 -1
  20. package/dist/components/accordion/AccordionItem/AccordionItem.styles.d.ts +2 -0
  21. package/dist/components/accordion/AccordionItem/AccordionItem.styles.js +6 -0
  22. package/dist/components/accordion/AccordionItem/AccordionItem.styles.js.map +1 -0
  23. package/dist/components/accordion/AccordionItem/index.d.ts +1 -0
  24. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js +26 -18
  25. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js.map +1 -1
  26. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.d.ts +6 -0
  27. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.js +10 -0
  28. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.js.map +1 -0
  29. package/dist/components/accordion/AccordionTrigger/index.d.ts +1 -0
  30. package/dist/components/accordion/index.d.ts +4 -4
  31. package/dist/components/accordion/index.js +6 -5
  32. package/dist/components/alert/Alert/Alert.js +1 -1
  33. package/dist/components/alert/Alert/Alert.js.map +1 -1
  34. package/dist/components/alert/Alert/Alert.styles.js +3 -3
  35. package/dist/components/alert/Alert/Alert.styles.js.map +1 -1
  36. package/dist/components/alert/AlertAction/AlertAction.js +2 -2
  37. package/dist/components/alert/AlertAction/AlertAction.js.map +1 -1
  38. package/dist/components/alert/AlertAction/AlertAction.styles.d.ts +2 -1
  39. package/dist/components/alert/AlertAction/AlertAction.styles.js +1 -1
  40. package/dist/components/alert/AlertAction/AlertAction.styles.js.map +1 -1
  41. package/dist/components/alert/AlertDescription/AlertDescription.js +2 -2
  42. package/dist/components/alert/AlertDescription/AlertDescription.js.map +1 -1
  43. package/dist/components/alert/AlertDescription/AlertDescription.styles.d.ts +2 -1
  44. package/dist/components/alert/AlertDescription/AlertDescription.styles.js +2 -2
  45. package/dist/components/alert/AlertDescription/AlertDescription.styles.js.map +1 -1
  46. package/dist/components/alert/AlertTitle/AlertTitle.js +2 -2
  47. package/dist/components/alert/AlertTitle/AlertTitle.js.map +1 -1
  48. package/dist/components/alert/AlertTitle/AlertTitle.styles.d.ts +2 -1
  49. package/dist/components/alert/AlertTitle/AlertTitle.styles.js +2 -2
  50. package/dist/components/alert/AlertTitle/AlertTitle.styles.js.map +1 -1
  51. package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.js.map +1 -1
  52. package/dist/components/alert-dialog/AlertDialog/AlertDialog.js +1 -1
  53. package/dist/components/alert-dialog/AlertDialog/AlertDialog.js.map +1 -1
  54. package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.js.map +1 -1
  55. package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js +3 -3
  56. package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js.map +1 -1
  57. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.js.map +1 -1
  58. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js +11 -11
  59. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js.map +1 -1
  60. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.d.ts +2 -1
  61. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js +2 -2
  62. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js.map +1 -1
  63. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js +2 -2
  64. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js.map +1 -1
  65. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.d.ts +2 -1
  66. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js +2 -2
  67. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js.map +1 -1
  68. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js +2 -2
  69. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js.map +1 -1
  70. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.d.ts +2 -1
  71. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js +2 -2
  72. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js.map +1 -1
  73. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js +2 -2
  74. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js.map +1 -1
  75. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.d.ts +2 -1
  76. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js +2 -2
  77. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js.map +1 -1
  78. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js +2 -2
  79. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js.map +1 -1
  80. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.d.ts +2 -1
  81. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js +2 -2
  82. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js.map +1 -1
  83. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js +2 -2
  84. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js.map +1 -1
  85. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.d.ts +2 -1
  86. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js +2 -2
  87. package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js.map +1 -1
  88. package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js +1 -1
  89. package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js.map +1 -1
  90. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js +2 -2
  91. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js.map +1 -1
  92. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.d.ts +2 -1
  93. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js +2 -2
  94. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js.map +1 -1
  95. package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.js.map +1 -1
  96. package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.js.map +1 -1
  97. package/dist/components/aspect-ratio/AspectRatio.js +1 -1
  98. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  99. package/dist/components/aspect-ratio/AspectRatio.styles.js.map +1 -1
  100. package/dist/components/avatar/Avatar/Avatar.context.js.map +1 -1
  101. package/dist/components/avatar/Avatar/Avatar.js +9 -9
  102. package/dist/components/avatar/Avatar/Avatar.js.map +1 -1
  103. package/dist/components/avatar/AvatarBadge/AvatarBadge.js +1 -1
  104. package/dist/components/avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  105. package/dist/components/avatar/AvatarFallback/AvatarFallback.js +1 -1
  106. package/dist/components/avatar/AvatarFallback/AvatarFallback.js.map +1 -1
  107. package/dist/components/avatar/AvatarGroup/AvatarGroup.js +1 -1
  108. package/dist/components/avatar/AvatarGroup/AvatarGroup.js.map +1 -1
  109. package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js +1 -1
  110. package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js.map +1 -1
  111. package/dist/components/avatar/AvatarImage/AvatarImage.js +1 -1
  112. package/dist/components/avatar/AvatarImage/AvatarImage.js.map +1 -1
  113. package/dist/components/badge/Badge.js +1 -1
  114. package/dist/components/badge/Badge.js.map +1 -1
  115. package/dist/components/badge/Badge.styles.js +9 -10
  116. package/dist/components/badge/Badge.styles.js.map +1 -1
  117. package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.js +1 -1
  118. package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.js.map +1 -1
  119. package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js +1 -1
  120. package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js.map +1 -1
  121. package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js +1 -1
  122. package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  123. package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js +6 -6
  124. package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
  125. package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js +1 -1
  126. package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js.map +1 -1
  127. package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js +1 -1
  128. package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js.map +1 -1
  129. package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js +1 -1
  130. package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js.map +1 -1
  131. package/dist/components/button/Button.js +34 -31
  132. package/dist/components/button/Button.js.map +1 -1
  133. package/dist/components/button/Button.styles.d.ts +1 -1
  134. package/dist/components/button/Button.styles.js +10 -10
  135. package/dist/components/button/Button.styles.js.map +1 -1
  136. package/dist/components/button/Button.types.d.ts +4 -30
  137. package/dist/components/button-group/ButtonGroup/ButtonGroup.js +1 -1
  138. package/dist/components/button-group/ButtonGroup/ButtonGroup.js.map +1 -1
  139. package/dist/components/button-group/ButtonGroup/ButtonGroup.styles.js.map +1 -1
  140. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.js +1 -1
  141. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.js.map +1 -1
  142. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.d.ts +2 -1
  143. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.js +2 -3
  144. package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.js.map +1 -1
  145. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js +2 -2
  146. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js.map +1 -1
  147. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.d.ts +2 -1
  148. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.js +2 -3
  149. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.js.map +1 -1
  150. package/dist/components/card/Card/Card.js +6 -6
  151. package/dist/components/card/Card/Card.js.map +1 -1
  152. package/dist/components/card/Card/Card.styles.d.ts +2 -1
  153. package/dist/components/card/Card/Card.styles.js +2 -2
  154. package/dist/components/card/Card/Card.styles.js.map +1 -1
  155. package/dist/components/card/CardAction/CardAction.js +2 -2
  156. package/dist/components/card/CardAction/CardAction.js.map +1 -1
  157. package/dist/components/card/CardAction/CardAction.styles.d.ts +2 -1
  158. package/dist/components/card/CardAction/CardAction.styles.js +1 -1
  159. package/dist/components/card/CardAction/CardAction.styles.js.map +1 -1
  160. package/dist/components/card/CardContent/CardContent.js +2 -2
  161. package/dist/components/card/CardContent/CardContent.js.map +1 -1
  162. package/dist/components/card/CardContent/CardContent.styles.d.ts +2 -1
  163. package/dist/components/card/CardContent/CardContent.styles.js +2 -2
  164. package/dist/components/card/CardContent/CardContent.styles.js.map +1 -1
  165. package/dist/components/card/CardDescription/CardDescription.js +2 -2
  166. package/dist/components/card/CardDescription/CardDescription.js.map +1 -1
  167. package/dist/components/card/CardDescription/CardDescription.styles.d.ts +2 -1
  168. package/dist/components/card/CardDescription/CardDescription.styles.js +2 -2
  169. package/dist/components/card/CardDescription/CardDescription.styles.js.map +1 -1
  170. package/dist/components/card/CardFooter/CardFooter.js +2 -2
  171. package/dist/components/card/CardFooter/CardFooter.js.map +1 -1
  172. package/dist/components/card/CardFooter/CardFooter.styles.d.ts +2 -1
  173. package/dist/components/card/CardFooter/CardFooter.styles.js +2 -2
  174. package/dist/components/card/CardFooter/CardFooter.styles.js.map +1 -1
  175. package/dist/components/card/CardHeader/CardHeader.js +2 -2
  176. package/dist/components/card/CardHeader/CardHeader.js.map +1 -1
  177. package/dist/components/card/CardHeader/CardHeader.styles.d.ts +2 -1
  178. package/dist/components/card/CardHeader/CardHeader.styles.js +2 -2
  179. package/dist/components/card/CardHeader/CardHeader.styles.js.map +1 -1
  180. package/dist/components/card/CardTitle/CardTitle.js +2 -2
  181. package/dist/components/card/CardTitle/CardTitle.js.map +1 -1
  182. package/dist/components/card/CardTitle/CardTitle.styles.d.ts +2 -1
  183. package/dist/components/card/CardTitle/CardTitle.styles.js +1 -1
  184. package/dist/components/card/CardTitle/CardTitle.styles.js.map +1 -1
  185. package/dist/components/carousel/Carousel/Carousel.context.js.map +1 -1
  186. package/dist/components/carousel/Carousel/Carousel.js +14 -13
  187. package/dist/components/carousel/Carousel/Carousel.js.map +1 -1
  188. package/dist/components/carousel/Carousel/Carousel.styles.d.ts +2 -0
  189. package/dist/components/carousel/Carousel/Carousel.styles.js +6 -0
  190. package/dist/components/carousel/Carousel/Carousel.styles.js.map +1 -0
  191. package/dist/components/carousel/Carousel/useAutoPlay.js.map +1 -1
  192. package/dist/components/carousel/Carousel/useCarousel.js.map +1 -1
  193. package/dist/components/carousel/Carousel/useKeyboardNavigation.js.map +1 -1
  194. package/dist/components/carousel/CarouselContent/CarouselContent.js +1 -1
  195. package/dist/components/carousel/CarouselContent/CarouselContent.js.map +1 -1
  196. package/dist/components/carousel/CarouselContent/useItemSizeMeasure.js.map +1 -1
  197. package/dist/components/carousel/CarouselDots/CarouselDots.js +1 -1
  198. package/dist/components/carousel/CarouselDots/CarouselDots.js.map +1 -1
  199. package/dist/components/carousel/CarouselItem/CarouselItem.js +4 -3
  200. package/dist/components/carousel/CarouselItem/CarouselItem.js.map +1 -1
  201. package/dist/components/carousel/CarouselNext/CarouselNext.js +4 -4
  202. package/dist/components/carousel/CarouselNext/CarouselNext.js.map +1 -1
  203. package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js +4 -4
  204. package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js.map +1 -1
  205. package/dist/components/checkbox/Checkbox/Checkbox.js +18 -18
  206. package/dist/components/checkbox/Checkbox/Checkbox.js.map +1 -1
  207. package/dist/components/checkbox/Checkbox/Checkbox.styles.js.map +1 -1
  208. package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.js +1 -1
  209. package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.js.map +1 -1
  210. package/dist/components/collapsible/Collapsible/Collapsible.context.js.map +1 -1
  211. package/dist/components/collapsible/Collapsible/Collapsible.js +1 -1
  212. package/dist/components/collapsible/Collapsible/Collapsible.js.map +1 -1
  213. package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.js +1 -1
  214. package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.js.map +1 -1
  215. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js +1 -1
  216. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js.map +1 -1
  217. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.types.d.ts +1 -1
  218. package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
  219. package/dist/components/dialog/Dialog/Dialog.js +1 -1
  220. package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
  221. package/dist/components/dialog/DialogClose/DialogClose.js +4 -6
  222. package/dist/components/dialog/DialogClose/DialogClose.js.map +1 -1
  223. package/dist/components/dialog/DialogClose/DialogClose.types.d.ts +2 -2
  224. package/dist/components/dialog/DialogContent/DialogContent.context.js.map +1 -1
  225. package/dist/components/dialog/DialogContent/DialogContent.js +10 -10
  226. package/dist/components/dialog/DialogContent/DialogContent.js.map +1 -1
  227. package/dist/components/dialog/DialogDescription/DialogDescription.js +1 -1
  228. package/dist/components/dialog/DialogDescription/DialogDescription.js.map +1 -1
  229. package/dist/components/dialog/DialogFooter/DialogFooter.js +1 -1
  230. package/dist/components/dialog/DialogFooter/DialogFooter.js.map +1 -1
  231. package/dist/components/dialog/DialogHeader/DialogHeader.js +1 -1
  232. package/dist/components/dialog/DialogHeader/DialogHeader.js.map +1 -1
  233. package/dist/components/dialog/DialogOverlay/DialogOverlay.js +1 -1
  234. package/dist/components/dialog/DialogOverlay/DialogOverlay.js.map +1 -1
  235. package/dist/components/dialog/DialogPortal/DialogPortal.js +1 -1
  236. package/dist/components/dialog/DialogPortal/DialogPortal.js.map +1 -1
  237. package/dist/components/dialog/DialogTitle/DialogTitle.js +1 -1
  238. package/dist/components/dialog/DialogTitle/DialogTitle.js.map +1 -1
  239. package/dist/components/dialog/DialogTrigger/DialogTrigger.js.map +1 -1
  240. package/dist/components/dialog/DialogTrigger/useDialogTrigger.js.map +1 -1
  241. package/dist/components/field/Field/Field.js +5 -5
  242. package/dist/components/field/Field/Field.js.map +1 -1
  243. package/dist/components/field/Field/Field.styles.js +1 -1
  244. package/dist/components/field/Field/Field.styles.js.map +1 -1
  245. package/dist/components/field/FieldContent/FieldContent.js +1 -1
  246. package/dist/components/field/FieldContent/FieldContent.js.map +1 -1
  247. package/dist/components/field/FieldDescription/FieldDescription.js +2 -2
  248. package/dist/components/field/FieldDescription/FieldDescription.js.map +1 -1
  249. package/dist/components/field/FieldError/FieldError.js +2 -2
  250. package/dist/components/field/FieldError/FieldError.js.map +1 -1
  251. package/dist/components/field/FieldGroup/FieldGroup.js +1 -1
  252. package/dist/components/field/FieldGroup/FieldGroup.js.map +1 -1
  253. package/dist/components/field/FieldLabel/FieldLabel.js +1 -1
  254. package/dist/components/field/FieldLabel/FieldLabel.js.map +1 -1
  255. package/dist/components/field/FieldLegend/FieldLegend.js +5 -5
  256. package/dist/components/field/FieldLegend/FieldLegend.js.map +1 -1
  257. package/dist/components/field/FieldSeparator/FieldSeparator.js +14 -14
  258. package/dist/components/field/FieldSeparator/FieldSeparator.js.map +1 -1
  259. package/dist/components/field/FieldSet/FieldSet.js +1 -1
  260. package/dist/components/field/FieldSet/FieldSet.js.map +1 -1
  261. package/dist/components/field/FieldTitle/FieldTitle.js +1 -1
  262. package/dist/components/field/FieldTitle/FieldTitle.js.map +1 -1
  263. package/dist/components/image/Image.config.js +1 -1
  264. package/dist/components/image/Image.config.js.map +1 -1
  265. package/dist/components/image/Image.js +13 -13
  266. package/dist/components/image/Image.js.map +1 -1
  267. package/dist/components/image/Image.utils.js +67 -67
  268. package/dist/components/image/Image.utils.js.map +1 -1
  269. package/dist/components/image/ImageElement.js +19 -19
  270. package/dist/components/image/ImageElement.js.map +1 -1
  271. package/dist/components/image/ImagePreload.js +1 -1
  272. package/dist/components/image/ImagePreload.js.map +1 -1
  273. package/dist/components/input/Input.js +13 -13
  274. package/dist/components/input/Input.js.map +1 -1
  275. package/dist/components/input-group/InputGroup/InputGroup.js +2 -2
  276. package/dist/components/input-group/InputGroup/InputGroup.js.map +1 -1
  277. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js +5 -5
  278. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js.map +1 -1
  279. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.styles.js +1 -1
  280. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.styles.js.map +1 -1
  281. package/dist/components/input-group/InputGroupButton/InputGroupButton.js +9 -9
  282. package/dist/components/input-group/InputGroupButton/InputGroupButton.js.map +1 -1
  283. package/dist/components/input-group/InputGroupButton/InputGroupButton.styles.js.map +1 -1
  284. package/dist/components/input-group/InputGroupButton/InputGroupButton.types.d.ts +2 -3
  285. package/dist/components/input-group/InputGroupInput/InputGroupInput.js.map +1 -1
  286. package/dist/components/input-group/InputGroupText/InputGroupText.js +2 -2
  287. package/dist/components/input-group/InputGroupText/InputGroupText.js.map +1 -1
  288. package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js.map +1 -1
  289. package/dist/components/item/Item/Item.js +9 -9
  290. package/dist/components/item/Item/Item.js.map +1 -1
  291. package/dist/components/item/Item/Item.styles.js +3 -3
  292. package/dist/components/item/Item/Item.styles.js.map +1 -1
  293. package/dist/components/item/ItemActions/ItemActions.js +1 -1
  294. package/dist/components/item/ItemActions/ItemActions.js.map +1 -1
  295. package/dist/components/item/ItemContent/ItemContent.js +1 -1
  296. package/dist/components/item/ItemContent/ItemContent.js.map +1 -1
  297. package/dist/components/item/ItemDescription/ItemDescription.js +2 -2
  298. package/dist/components/item/ItemDescription/ItemDescription.js.map +1 -1
  299. package/dist/components/item/ItemFooter/ItemFooter.js +1 -1
  300. package/dist/components/item/ItemFooter/ItemFooter.js.map +1 -1
  301. package/dist/components/item/ItemGroup/ItemGroup.js +1 -1
  302. package/dist/components/item/ItemGroup/ItemGroup.js.map +1 -1
  303. package/dist/components/item/ItemHeader/ItemHeader.js +1 -1
  304. package/dist/components/item/ItemHeader/ItemHeader.js.map +1 -1
  305. package/dist/components/item/ItemMedia/ItemMedia.js +5 -5
  306. package/dist/components/item/ItemMedia/ItemMedia.js.map +1 -1
  307. package/dist/components/item/ItemMedia/ItemMedia.styles.js.map +1 -1
  308. package/dist/components/item/ItemSeparator/ItemSeparator.js.map +1 -1
  309. package/dist/components/item/ItemTitle/ItemTitle.js +1 -1
  310. package/dist/components/item/ItemTitle/ItemTitle.js.map +1 -1
  311. package/dist/components/kbd/Kbd.js +2 -2
  312. package/dist/components/kbd/Kbd.js.map +1 -1
  313. package/dist/components/label/Label.js +1 -1
  314. package/dist/components/label/Label.js.map +1 -1
  315. package/dist/components/pagination/Pagination/Pagination.js +1 -1
  316. package/dist/components/pagination/Pagination/Pagination.js.map +1 -1
  317. package/dist/components/pagination/PaginationContent/PaginationContent.js +1 -1
  318. package/dist/components/pagination/PaginationContent/PaginationContent.js.map +1 -1
  319. package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js +1 -1
  320. package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js.map +1 -1
  321. package/dist/components/pagination/PaginationItem/PaginationItem.js +1 -1
  322. package/dist/components/pagination/PaginationItem/PaginationItem.js.map +1 -1
  323. package/dist/components/pagination/PaginationLink/PaginationLink.js +13 -10
  324. package/dist/components/pagination/PaginationLink/PaginationLink.js.map +1 -1
  325. package/dist/components/pagination/PaginationNext/PaginationNext.js +5 -5
  326. package/dist/components/pagination/PaginationNext/PaginationNext.js.map +1 -1
  327. package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js +5 -5
  328. package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js.map +1 -1
  329. package/dist/components/progress/Progress/Progress.context.js.map +1 -1
  330. package/dist/components/progress/Progress/Progress.js +1 -1
  331. package/dist/components/progress/Progress/Progress.js.map +1 -1
  332. package/dist/components/progress/ProgressIndicator/ProgressIndicator.js +1 -1
  333. package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -1
  334. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.d.ts +1 -1
  335. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js +1 -1
  336. package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js.map +1 -1
  337. package/dist/components/progress/ProgressLabel/ProgressLabel.js +1 -1
  338. package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -1
  339. package/dist/components/progress/ProgressTrack/ProgressTrack.js +1 -1
  340. package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -1
  341. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.d.ts +1 -1
  342. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js +1 -1
  343. package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js.map +1 -1
  344. package/dist/components/progress/ProgressValue/ProgressValue.js +1 -1
  345. package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -1
  346. package/dist/components/progress/ProgressValue/ProgressValue.styles.d.ts +1 -1
  347. package/dist/components/progress/ProgressValue/ProgressValue.styles.js +1 -1
  348. package/dist/components/progress/ProgressValue/ProgressValue.styles.js.map +1 -1
  349. package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js.map +1 -1
  350. package/dist/components/scroll-area/ScrollArea/ScrollArea.js +2 -2
  351. package/dist/components/scroll-area/ScrollArea/ScrollArea.js.map +1 -1
  352. package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js.map +1 -1
  353. package/dist/components/scroll-area/ScrollBar/ScrollBar.js +26 -26
  354. package/dist/components/scroll-area/ScrollBar/ScrollBar.js.map +1 -1
  355. package/dist/components/separator/Separator.js +7 -7
  356. package/dist/components/separator/Separator.js.map +1 -1
  357. package/dist/components/separator/Separator.styles.js +1 -1
  358. package/dist/components/separator/Separator.styles.js.map +1 -1
  359. package/dist/components/sidebar/Sidebar/Sidebar.js +10 -10
  360. package/dist/components/sidebar/Sidebar/Sidebar.js.map +1 -1
  361. package/dist/components/sidebar/Sidebar/index.d.ts +1 -0
  362. package/dist/components/sidebar/SidebarContent/SidebarContent.js +1 -1
  363. package/dist/components/sidebar/SidebarContent/SidebarContent.js.map +1 -1
  364. package/dist/components/sidebar/SidebarContent/index.d.ts +1 -0
  365. package/dist/components/sidebar/SidebarFooter/SidebarFooter.js +1 -1
  366. package/dist/components/sidebar/SidebarFooter/SidebarFooter.js.map +1 -1
  367. package/dist/components/sidebar/SidebarFooter/index.d.ts +1 -0
  368. package/dist/components/sidebar/SidebarGroup/SidebarGroup.js +1 -1
  369. package/dist/components/sidebar/SidebarGroup/SidebarGroup.js.map +1 -1
  370. package/dist/components/sidebar/SidebarGroup/index.d.ts +1 -0
  371. package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js +5 -5
  372. package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js.map +1 -1
  373. package/dist/components/sidebar/SidebarGroupAction/index.d.ts +1 -0
  374. package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js +1 -1
  375. package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js.map +1 -1
  376. package/dist/components/sidebar/SidebarGroupContent/index.d.ts +1 -0
  377. package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js +5 -5
  378. package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js.map +1 -1
  379. package/dist/components/sidebar/SidebarGroupLabel/index.d.ts +1 -0
  380. package/dist/components/sidebar/SidebarHeader/SidebarHeader.js +1 -1
  381. package/dist/components/sidebar/SidebarHeader/SidebarHeader.js.map +1 -1
  382. package/dist/components/sidebar/SidebarHeader/index.d.ts +1 -0
  383. package/dist/components/sidebar/SidebarInput/SidebarInput.js +1 -1
  384. package/dist/components/sidebar/SidebarInput/SidebarInput.js.map +1 -1
  385. package/dist/components/sidebar/SidebarInput/index.d.ts +1 -0
  386. package/dist/components/sidebar/SidebarInset/SidebarInset.js +2 -2
  387. package/dist/components/sidebar/SidebarInset/SidebarInset.js.map +1 -1
  388. package/dist/components/sidebar/SidebarInset/index.d.ts +1 -0
  389. package/dist/components/sidebar/SidebarMenu/SidebarMenu.js +1 -1
  390. package/dist/components/sidebar/SidebarMenu/SidebarMenu.js.map +1 -1
  391. package/dist/components/sidebar/SidebarMenu/index.d.ts +1 -0
  392. package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js +2 -2
  393. package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js.map +1 -1
  394. package/dist/components/sidebar/SidebarMenuBadge/index.d.ts +1 -0
  395. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js +47 -31
  396. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js.map +1 -1
  397. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.styles.js +5 -6
  398. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.styles.js.map +1 -1
  399. package/dist/components/sidebar/SidebarMenuButton/index.d.ts +1 -0
  400. package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js +1 -1
  401. package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js.map +1 -1
  402. package/dist/components/sidebar/SidebarMenuItem/index.d.ts +1 -0
  403. package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js +7 -7
  404. package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js.map +1 -1
  405. package/dist/components/sidebar/SidebarMenuSkeleton/index.d.ts +1 -0
  406. package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js +2 -2
  407. package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js.map +1 -1
  408. package/dist/components/sidebar/SidebarMenuSub/index.d.ts +1 -0
  409. package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js +9 -9
  410. package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js.map +1 -1
  411. package/dist/components/sidebar/SidebarMenuSubButton/index.d.ts +1 -0
  412. package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js +1 -1
  413. package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js.map +1 -1
  414. package/dist/components/sidebar/SidebarMenuSubItem/index.d.ts +1 -0
  415. package/dist/components/sidebar/SidebarProvider/SidebarProvider.consts.js +1 -1
  416. package/dist/components/sidebar/SidebarProvider/SidebarProvider.consts.js.map +1 -1
  417. package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js.map +1 -1
  418. package/dist/components/sidebar/SidebarProvider/SidebarProvider.js +17 -17
  419. package/dist/components/sidebar/SidebarProvider/SidebarProvider.js.map +1 -1
  420. package/dist/components/sidebar/SidebarRail/SidebarRail.js +2 -2
  421. package/dist/components/sidebar/SidebarRail/SidebarRail.js.map +1 -1
  422. package/dist/components/sidebar/SidebarRail/index.d.ts +1 -0
  423. package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js.map +1 -1
  424. package/dist/components/sidebar/SidebarSeparator/index.d.ts +1 -0
  425. package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js.map +1 -1
  426. package/dist/components/sidebar/SidebarTrigger/index.d.ts +1 -0
  427. package/dist/components/sidebar/index.d.ts +21 -21
  428. package/dist/components/skeleton/Skeleton.js +2 -2
  429. package/dist/components/skeleton/Skeleton.js.map +1 -1
  430. package/dist/components/slider/Slider/Slider.context.js.map +1 -1
  431. package/dist/components/slider/Slider/Slider.js +10 -10
  432. package/dist/components/slider/Slider/Slider.js.map +1 -1
  433. package/dist/components/slider/Slider/useSlider.js.map +1 -1
  434. package/dist/components/slider/SliderControl/SliderControl.js +1 -1
  435. package/dist/components/slider/SliderControl/SliderControl.js.map +1 -1
  436. package/dist/components/slider/SliderControl/useSliderControl.js.map +1 -1
  437. package/dist/components/slider/SliderIndicator/SliderIndicator.js +1 -1
  438. package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +1 -1
  439. package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js +1 -1
  440. package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js.map +1 -1
  441. package/dist/components/slider/SliderIndicator/useSliderIndicator.js.map +1 -1
  442. package/dist/components/slider/SliderThumb/SliderThumb.js +1 -1
  443. package/dist/components/slider/SliderThumb/SliderThumb.js.map +1 -1
  444. package/dist/components/slider/SliderThumb/SliderThumb.styles.js +1 -1
  445. package/dist/components/slider/SliderThumb/SliderThumb.styles.js.map +1 -1
  446. package/dist/components/slider/SliderThumb/useSliderThumb.js.map +1 -1
  447. package/dist/components/slider/SliderTrack/SliderTrack.js +1 -1
  448. package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -1
  449. package/dist/components/slider/SliderTrack/SliderTrack.styles.d.ts +1 -1
  450. package/dist/components/slider/SliderTrack/SliderTrack.styles.js +1 -1
  451. package/dist/components/slider/SliderTrack/SliderTrack.styles.js.map +1 -1
  452. package/dist/components/spinner/Spinner.js.map +1 -1
  453. package/dist/components/spinner/Spinner.styles.js.map +1 -1
  454. package/dist/components/switch/Switch.js +19 -19
  455. package/dist/components/switch/Switch.js.map +1 -1
  456. package/dist/components/switch/Switch.styles.js +2 -2
  457. package/dist/components/switch/Switch.styles.js.map +1 -1
  458. package/dist/components/textarea/Textarea.js +2 -2
  459. package/dist/components/textarea/Textarea.js.map +1 -1
  460. package/dist/components/toast/components/Assets.js +1 -1
  461. package/dist/components/toast/components/Assets.js.map +1 -1
  462. package/dist/components/toast/components/Toast.js +2 -5
  463. package/dist/components/toast/components/Toast.js.map +1 -1
  464. package/dist/components/toast/components/ToastActions.js +1 -1
  465. package/dist/components/toast/components/ToastActions.js.map +1 -1
  466. package/dist/components/toast/components/ToastContent.js +1 -1
  467. package/dist/components/toast/components/ToastContent.js.map +1 -1
  468. package/dist/components/toast/components/ToastIcon.js +1 -1
  469. package/dist/components/toast/components/ToastIcon.js.map +1 -1
  470. package/dist/components/toast/components/Toaster.js +1 -1
  471. package/dist/components/toast/components/Toaster.js.map +1 -1
  472. package/dist/components/toast/hooks/useSwipe.js.map +1 -1
  473. package/dist/components/toast/hooks/useTheme.js.map +1 -1
  474. package/dist/components/toast/hooks/useToastHeight.js.map +1 -1
  475. package/dist/components/toast/hooks/useToastSubscription.js +3 -2
  476. package/dist/components/toast/hooks/useToastSubscription.js.map +1 -1
  477. package/dist/components/toast/hooks/useToastTimer.js.map +1 -1
  478. package/dist/components/toast/hooks/useToasterKeyboard.js.map +1 -1
  479. package/dist/components/toast/hooks.js +3 -2
  480. package/dist/components/toast/hooks.js.map +1 -1
  481. package/dist/components/toast/state.js +5 -5
  482. package/dist/components/toast/state.js.map +1 -1
  483. package/dist/components/toast/utils.js.map +1 -1
  484. package/dist/components/tooltip/Tooltip/Tooltip.context.d.ts +2 -11
  485. package/dist/components/tooltip/Tooltip/Tooltip.context.js +4 -4
  486. package/dist/components/tooltip/Tooltip/Tooltip.context.js.map +1 -1
  487. package/dist/components/tooltip/Tooltip/Tooltip.d.ts +21 -5
  488. package/dist/components/tooltip/Tooltip/Tooltip.js +60 -23
  489. package/dist/components/tooltip/Tooltip/Tooltip.js.map +1 -1
  490. package/dist/components/tooltip/Tooltip/Tooltip.types.d.ts +58 -0
  491. package/dist/components/tooltip/Tooltip/index.d.ts +2 -0
  492. package/dist/components/tooltip/TooltipArrow/TooltipArrow.d.ts +34 -1
  493. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js +48 -12
  494. package/dist/components/tooltip/TooltipArrow/TooltipArrow.js.map +1 -1
  495. package/dist/components/tooltip/TooltipArrow/index.d.ts +1 -0
  496. package/dist/components/tooltip/TooltipContent/TooltipContent.context.d.ts +19 -5
  497. package/dist/components/tooltip/TooltipContent/TooltipContent.context.js +4 -4
  498. package/dist/components/tooltip/TooltipContent/TooltipContent.context.js.map +1 -1
  499. package/dist/components/tooltip/TooltipContent/TooltipContent.d.ts +10 -1
  500. package/dist/components/tooltip/TooltipContent/TooltipContent.js +60 -46
  501. package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
  502. package/dist/components/tooltip/TooltipContent/TooltipContent.types.d.ts +13 -3
  503. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +57 -6
  504. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +34 -58
  505. package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
  506. package/dist/components/tooltip/TooltipContent/index.d.ts +7 -0
  507. package/dist/components/tooltip/TooltipContent/useTooltipContent.d.ts +45 -8
  508. package/dist/components/tooltip/TooltipContent/useTooltipContent.js +70 -41
  509. package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
  510. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.d.ts +29 -0
  511. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js +10 -0
  512. package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js.map +1 -0
  513. package/dist/components/tooltip/TooltipGroup/TooltipGroup.d.ts +2 -0
  514. package/dist/components/tooltip/TooltipGroup/TooltipGroup.js +25 -0
  515. package/dist/components/tooltip/TooltipGroup/TooltipGroup.js.map +1 -0
  516. package/dist/components/tooltip/TooltipGroup/TooltipGroup.types.d.ts +10 -0
  517. package/dist/components/tooltip/TooltipGroup/index.d.ts +4 -0
  518. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.d.ts +4 -2
  519. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js +26 -6
  520. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js.map +1 -1
  521. package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.types.d.ts +3 -0
  522. package/dist/components/tooltip/TooltipTrigger/index.d.ts +3 -0
  523. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.d.ts +29 -2
  524. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js +27 -27
  525. package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js.map +1 -1
  526. package/dist/components/tooltip/index.d.ts +6 -0
  527. package/dist/components/tooltip/index.js +2 -1
  528. package/dist/hooks/useFontLoader.js +1 -1
  529. package/dist/hooks/useFontLoader.js.map +1 -1
  530. package/dist/index.js +155 -152
  531. package/dist/lib/index.d.ts +1 -0
  532. package/dist/lib/positioner/auto-update.d.ts +19 -0
  533. package/dist/lib/positioner/auto-update.js +20 -0
  534. package/dist/lib/positioner/auto-update.js.map +1 -0
  535. package/dist/lib/positioner/core/compute-position.d.ts +9 -0
  536. package/dist/lib/positioner/core/compute-position.js +47 -0
  537. package/dist/lib/positioner/core/compute-position.js.map +1 -0
  538. package/dist/lib/positioner/core/placement.d.ts +14 -0
  539. package/dist/lib/positioner/core/placement.js +45 -0
  540. package/dist/lib/positioner/core/placement.js.map +1 -0
  541. package/dist/lib/positioner/create-positioner.d.ts +63 -0
  542. package/dist/lib/positioner/create-positioner.js +51 -0
  543. package/dist/lib/positioner/create-positioner.js.map +1 -0
  544. package/dist/lib/positioner/index.d.ts +11 -0
  545. package/dist/lib/positioner/middleware/arrow.d.ts +23 -0
  546. package/dist/lib/positioner/middleware/arrow.js +23 -0
  547. package/dist/lib/positioner/middleware/arrow.js.map +1 -0
  548. package/dist/lib/positioner/middleware/containing-block-offset.d.ts +27 -0
  549. package/dist/lib/positioner/middleware/containing-block-offset.js +46 -0
  550. package/dist/lib/positioner/middleware/containing-block-offset.js.map +1 -0
  551. package/dist/lib/positioner/middleware/flip.d.ts +9 -0
  552. package/dist/lib/positioner/middleware/flip.js +54 -0
  553. package/dist/lib/positioner/middleware/flip.js.map +1 -0
  554. package/dist/lib/positioner/middleware/hide.d.ts +22 -0
  555. package/dist/lib/positioner/middleware/hide.js +19 -0
  556. package/dist/lib/positioner/middleware/hide.js.map +1 -0
  557. package/dist/lib/positioner/middleware/index.d.ts +13 -0
  558. package/dist/lib/positioner/middleware/offset.d.ts +10 -0
  559. package/dist/lib/positioner/middleware/offset.js +21 -0
  560. package/dist/lib/positioner/middleware/offset.js.map +1 -0
  561. package/dist/lib/positioner/middleware/shift.d.ts +13 -0
  562. package/dist/lib/positioner/middleware/shift.js +30 -0
  563. package/dist/lib/positioner/middleware/shift.js.map +1 -0
  564. package/dist/lib/positioner/middleware/size.d.ts +13 -0
  565. package/dist/lib/positioner/types.d.ts +74 -0
  566. package/dist/lib/positioner/utils/dom.d.ts +16 -0
  567. package/dist/lib/positioner/utils/dom.js +43 -0
  568. package/dist/lib/positioner/utils/dom.js.map +1 -0
  569. package/dist/lib/positioner/virtual-element.d.ts +21 -0
  570. package/dist/types/props.types.d.ts +10 -9
  571. package/dist/ui.css +2 -2
  572. package/dist/utils/clsx.js.map +1 -1
  573. package/dist/utils/index.d.ts +1 -0
  574. package/dist/utils/index.js +3 -2
  575. package/dist/utils/logger.d.ts +73 -0
  576. package/dist/utils/logger.js +37 -0
  577. package/dist/utils/logger.js.map +1 -0
  578. package/dist/utils/warn-once.js.map +1 -1
  579. package/package.json +13 -12
  580. package/dist/components/alert-dialog/AlertDialog/AlertDialog.styles.d.ts +0 -0
  581. package/dist/components/carousel/CarouselContent/CarouselContent.styles.d.ts +0 -0
package/README.md CHANGED
@@ -1,110 +1,137 @@
1
- ## Dome
1
+ # Neut
2
2
 
3
- 这是一个类似shadcn的solidjs组件库,与shadcn不同的是,本组件库不依赖于任何第三方组件库,相比shadcn的优势是能够避免上游组件库的bug,也更容易及时修复bug。
3
+ > **SolidJS Native Component Library, Zero External Dependencies**
4
4
 
5
- > [!warning]
6
- > 本项目仍在开发中,不推荐用于生产项目。
7
- > 本项目中部分组件代码并未完全参考shadcn。
5
+ Neut is inspired by [shadcn/ui](https://ui.shadcn.com), but reimplemented entirely from scratch with SolidJS. Unlike shadcn, Neut **does not depend on any upstream component library** (like `@radix-ui` or `@base-ui`).
8
6
 
9
- ## 使用
7
+ **Advantages:**
10
8
 
11
- 与shadcn类似,不需要安装本组件库,而是直接复制某个组件的代码,但也可安装本组件库作为依赖。
9
+ - **Fully Controllable**: All component source code lives in your project — modify them however you want.
10
+ - **No Upstream Limitations**: You won't get blocked by third-party component bugs (styling or logic). Fix issues without waiting for a release.
11
+ - **SolidJS Native**: Leverages SolidJS's fine-grained reactivity for better performance.
12
12
 
13
- ### 复制组件代码
13
+ **Let's be clear about the downsides:**
14
14
 
15
- > [!NOTE]
16
- > 为了尽最大可能实现组件的复制即可用,非基础组件之间虽然存在功能重叠但并没有引为依赖,比如`AlertDialog`和`Dialog`二者代码存在高度重叠,但相互独立,并未复用。
15
+ To be honest, because Neut doesn't rely on more mature upstream component libraries, it may not cover all edge cases. There will be fixable but still unresolved issues — such as bugs, accessibility gaps, etc. Therefore, **it is not recommended for large projects or scenarios with strict quality requirements**.
17
16
 
18
- 本组件的代码基于tailwindcss样式库,因此你需要安装tailwindcss作为开发依赖,具体安装方式请参考tailwindcss文档。
17
+ > [!WARNING]
18
+ >
19
+ > **Under active development — use with caution**
20
+ >
21
+ > The project is still evolving rapidly, APIs may change. **Do not use in production yet.**
19
22
 
20
- 除了tailwindcss外,本组件库还内置了两个样式文件:
23
+ ---
21
24
 
22
- - animate.css
23
- - toast.css
25
+ ## 🚀 Quick Start
24
26
 
25
- 在使用时需要在你项目的主样式文件中导入animate.css,如果你要复制或使用toast组件,也需要导入toast.css。
27
+ Neut follows a **"copy-paste, then use"** pattern (similar to shadcn), though you can also install it as a regular dependency.
26
28
 
27
- 需要注意的是,toast.css本身是临时性的样式文件,因为toast组件移植自sonner,尚未针对性地对toast的组件样式进行相应修改,但在未来的版本中一定会删除这个样式文件。
29
+ ### 1. Prerequisites (Peer Dependencies)
28
30
 
29
- 最终的项目结构类似于:
31
+ Before using any components, make sure these dependencies are installed in your project:
30
32
 
31
- ```
32
- - styles
33
- - animate.css
34
- - toast.css
35
- - index.css
36
- ```
33
+ | Dependency | Purpose | Install Command |
34
+ | :--------------------------- | :----------------------- | :------------------------------- |
35
+ | **Tailwind CSS** | Styling engine | `bun i -D tailwindcss` |
36
+ | **Lucide Solid** | Icon library | `bun i lucide-solid` |
37
+ | **Tailwind Merge** | Style merging tool | `bun i tailwind-merge` |
38
+ | **Class Variance Authority** | Style variant definition | `bun i class-variance-authority` |
37
39
 
38
- `index.css`文件头:
40
+ **Configure your stylesheet**
41
+
42
+ In your main stylesheet (e.g., `index.css` or `globals.css`), import in this order:
39
43
 
40
44
  ```css
41
- @import "tailwindcss";
45
+ @tailwind base;
46
+ @tailwind components;
47
+ @tailwind utilities;
48
+
49
+ /* Neut built-in styles (from animate.css and toast.css) */
42
50
  @import "./styles/animate.css";
43
51
  @import "./styles/toast.css";
44
52
  ```
45
53
 
46
- 除了样式文件外,还需要安装样式合并依赖`tailwind-merge`及样式定义依赖`class-variance-authority`:
47
-
48
- ```bash
49
- bun i tailwind-merge class-variance-authority
50
- ```
54
+ **Create a utility function**
51
55
 
52
- 然后在`lib/utils`中创建一个`clsx.ts`文件,内容如下:
56
+ Write a style merging function in `src/lib/utils/clsx.ts`:
53
57
 
54
58
  ```ts
55
59
  import { twMerge } from "tailwind-merge";
56
60
 
57
61
  export const clsx = (...classes: (string | undefined | false)[]): string => {
58
- return twMerge(classes.filter(Boolean));
62
+ return twMerge(classes.filter(Boolean));
59
63
  };
60
64
  ```
61
65
 
62
- 此外,本项目中的许多组件中使用了lucide-solid图标:
66
+ > [!NOTE]
67
+ > **About the stylesheet files**
68
+ > `toast.css` is currently a temporary solution (ported from Sonner). We will rewrite the styles later to remove this external dependency.
63
69
 
64
- ```bash
65
- bun i lucide-solid
66
- ```
70
+ ### 2. Method A: Copy the source code (recommended)
67
71
 
68
- 当然,并非所有组件都需要使用这两个样式依赖,具体可查看shacn文档。我正在考虑将这两个工具独立实现以减少对第三方库的依赖。
72
+ This is the most flexible approach. Non-primitive components may have overlapping functionality (e.g., `AlertDialog` and `Dialog`), but they are standalone and independent.
69
73
 
70
- 现在假如你需要使用`Button`组件,则可以直接复制`button`目录中的代码,在复制时你可以看到,本组件库出于可维护性和单一职责原则的考虑,所有组件的实现都并非放在单文件中,因此建议你直接克隆本项目到本地,然后复制组件目录到你的项目中,否则请按`button`的目录结构创建相对应的文件后复制每个文件中的相应代码:
74
+ 1. Check the component source code in the [GitHub repo - Components](https://github.com/thep0y/neut).
75
+ 2. Copy the directory of the component you need (e.g., `button`) into your project.
71
76
 
77
+ **Example directory structure:**
78
+
79
+ ```bash
80
+ src/
81
+ └── components/
82
+ └── button/
83
+ ├── Button.styles.ts # Styling logic
84
+ ├── Button.tsx # Component implementation
85
+ ├── Button.types.ts # Type definitions
86
+ └── index.ts # Export entry
72
87
  ```
73
- ./src/components/button/
74
- └── Button.styles.ts
75
- └── Button.tsx
76
- └── Button.types.ts
77
- └── index.ts
78
- ```
79
88
 
80
- ### 安装
89
+ ### 3. Method B: Install as a dependency
90
+
91
+ If you prefer version management, you can also install via a package manager.
81
92
 
82
- 本组件库也支持作为依赖安装:
93
+ **Install:**
83
94
 
84
95
  ```bash
85
96
  bun i @neut/ui
86
97
  ```
87
98
 
88
- 安装后需要在根样式文件中导入样式及注册样式资源:
99
+ **Import styles:**
100
+
101
+ Add this to your root stylesheet:
89
102
 
90
103
  ```css
91
- @import "tailwindcss";
92
104
  @import "../node_modules/@neut/ui/dist/ui.css";
93
105
  ```
94
106
 
95
- 然后即可如同其他组件库一样导入并使用组件:
107
+ **Use components:**
96
108
 
97
109
  ```tsx
98
110
  import { Button } from "@neut/ui";
99
111
 
100
- const App = () => {
101
- return <Button>Click me</Button>;
102
- };
112
+ function App() {
113
+ return <Button>Neut Button</Button>;
114
+ }
103
115
  ```
104
116
 
105
- 组件库的安装可以参考示例:https://github.com/thep0y/neut/tree/main/example
117
+ **Full example:** [Neut Example Project](https://github.com/thep0y/neut/tree/main/example)
118
+
119
+ ---
120
+
121
+ ## 📚 References & Acknowledgements
122
+
123
+ The project's design and inspiration come from these great projects:
124
+
125
+ - **shadcn/ui**: [Installation Guide](https://ui.shadcn.com/docs/installation)
126
+ - **Sonner**: [Getting Started](https://sonner.emilkowal.ski/getting-started)
127
+ - **SolidJS**: [Official Website](https://www.solidjs.com/)
128
+
129
+ ---
130
+
131
+ ## 💡 Why this pattern?
106
132
 
107
- ## 参考项目
133
+ Neut follows the philosophy of **"headless components"** and **"building your own blocks"**. That means:
108
134
 
109
- - shadcn: https://ui.shadcn.com/docs/installation
110
- - sonner: https://sonner.emilkowal.ski/getting-started
135
+ 1. **No overhead**: Only the code you actually include is used.
136
+ 2. **Freely customizable styles**: Tailwind classes are right in front of you — tweak them anytime.
137
+ 3. **Leverage SolidJS strengths**: Compared to React, SolidJS's fine-grained reactivity gives you high-performance components with less code and cleaner logic.
@@ -0,0 +1,137 @@
1
+ # Neut
2
+
3
+ > **SolidJS 原生组件库,零外部依赖**
4
+
5
+ Neut 的灵感来自 [shadcn/ui](https://ui.shadcn.com),但完全用 SolidJS 从头实现。和 shadcn 不一样的是,Neut **不依赖任何上游组件库**(比如 `@radix-ui` 或 `@base-ui`)。
6
+
7
+ **优点:**
8
+
9
+ - **完全可控**:所有组件源码都在你的项目里,想怎么改就怎么改。
10
+ - **不受上游限制**:不会因为第三方组件的样式或逻辑 Bug 而卡住,修问题不用等发版。
11
+ - **SolidJS 原生**:充分利用 SolidJS 的细粒度响应式,性能更好。
12
+
13
+ **缺点也要说清楚:**
14
+
15
+ 坦白讲,因为没有依赖那些更成熟的上游组件库,Neut 在一些边缘场景上可能覆盖不够,会有一些能修但还没修的缺陷,比如 Bug、无障碍支持等。所以**不建议用在大型项目或对质量要求严格的场景**。
16
+
17
+ > [!WARNING]
18
+ >
19
+ > **开发中,慎用**
20
+ >
21
+ > 项目还在活跃开发,API 可能会变,**生产环境先别用**。
22
+
23
+ ---
24
+
25
+ ## 🚀 快速上手
26
+
27
+ Neut 采用的是 **“复制即用”** 的模式(类似 shadcn),当然你也可以把它当成普通依赖来安装。
28
+
29
+ ### 1. 准备工作 (Peer Dependencies)
30
+
31
+ 用组件之前,先确保项目里装好了下面这些依赖:
32
+
33
+ | 依赖库 | 用途 | 安装命令 |
34
+ | :--------------------------- | :----------- | :------------------------------- |
35
+ | **Tailwind CSS** | 样式引擎 | `bun i -D tailwindcss` |
36
+ | **Lucide Solid** | 图标库 | `bun i lucide-solid` |
37
+ | **Tailwind Merge** | 样式合并工具 | `bun i tailwind-merge` |
38
+ | **Class Variance Authority** | 样式变体定义 | `bun i class-variance-authority` |
39
+
40
+ **配置样式文件**
41
+
42
+ 在主样式文件(比如 `index.css` 或 `globals.css`)里按顺序引入:
43
+
44
+ ```css
45
+ @tailwind base;
46
+ @tailwind components;
47
+ @tailwind utilities;
48
+
49
+ /* Neut 内置样式(来自 animate.css 和 toast.css) */
50
+ @import "./styles/animate.css";
51
+ @import "./styles/toast.css";
52
+ ```
53
+
54
+ **创建工具函数**
55
+
56
+ 在 `src/lib/utils/clsx.ts` 里写一个样式合并函数:
57
+
58
+ ```ts
59
+ import { twMerge } from "tailwind-merge";
60
+
61
+ export const clsx = (...classes: (string | undefined | false)[]): string => {
62
+ return twMerge(classes.filter(Boolean));
63
+ };
64
+ ```
65
+
66
+ > [!NOTE]
67
+ > **关于样式文件**
68
+ > `toast.css` 目前是临时方案(从 Sonner 移植过来的)。后面我们会重写样式,把这个外部依赖去掉。
69
+
70
+ ### 2. 方式 A:复制源码(推荐)
71
+
72
+ 这种方式最灵活。非基础组件之间可能存在功能重叠(比如 `AlertDialog` 和 `Dialog`),但各自独立,互不依赖。
73
+
74
+ 1. 去 [GitHub 仓库 - Components](https://github.com/thep0y/neut) 看组件源码。
75
+ 2. 把你需要的组件目录(比如 `button`)复制到项目里。
76
+
77
+ **目录结构示例:**
78
+
79
+ ```bash
80
+ src/
81
+ └── components/
82
+ └── button/
83
+ ├── Button.styles.ts # 样式逻辑
84
+ ├── Button.tsx # 组件实现
85
+ ├── Button.types.ts # 类型定义
86
+ └── index.ts # 导出入口
87
+ ```
88
+
89
+ ### 3. 方式 B:作为依赖安装
90
+
91
+ 如果想直接管理版本,也可以走包管理器安装。
92
+
93
+ **安装:**
94
+
95
+ ```bash
96
+ bun i @neut/ui
97
+ ```
98
+
99
+ **引入样式:**
100
+
101
+ 在根样式文件里加上:
102
+
103
+ ```css
104
+ @import "../node_modules/@neut/ui/dist/ui.css";
105
+ ```
106
+
107
+ **使用组件:**
108
+
109
+ ```tsx
110
+ import { Button } from "@neut/ui";
111
+
112
+ function App() {
113
+ return <Button>Neut Button</Button>;
114
+ }
115
+ ```
116
+
117
+ **完整示例参考:** [Neut Example Project](https://github.com/thep0y/neut/tree/main/example)
118
+
119
+ ---
120
+
121
+ ## 📚 参考与致谢
122
+
123
+ 项目设计和灵感来自下面这些优秀项目:
124
+
125
+ - **shadcn/ui**: [Installation Guide](https://ui.shadcn.com/docs/installation)
126
+ - **Sonner**: [Getting Started](https://sonner.emilkowal.ski/getting-started)
127
+ - **SolidJS**: [Official Website](https://www.solidjs.com/)
128
+
129
+ ---
130
+
131
+ ## 💡 为什么选这种模式?
132
+
133
+ Neut 遵循 **“无头组件”**和 **“自己搭积木”** 的理念。也就是说:
134
+
135
+ 1. **没有多余开销**:只用你实际引入的代码。
136
+ 2. **样式随便改**:Tailwind 的 class 就在你眼皮底下,想调就调。
137
+ 3. **发挥 SolidJS 优势**:相比 React,SolidJS 的细粒度响应式让组件在高性能的同时,代码量更少、逻辑更清爽。
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.context.js","names":["createContext","ParentProps","useContext","AccordionValue","createStore","produce","AccordionContextValue","orientation","isOpen","value","toggle","AccordionContext","AccordionProvider","props","defaultValue","multiple","onValueChange","openMap","setOpenMap","Record","reduce","acc","val","String","includes","undefined","current","next","filter","v","key","draft","isCurrentlyOpen","k","prev","Object","values","contextValue","_$createComponent","Provider","children","useAccordionContext","context","Error"],"sources":["../../../../src/components/accordion/Accordion/Accordion.context.tsx"],"sourcesContent":["import { createContext, type ParentProps, useContext } from \"solid-js\";\nimport type { AccordionValue } from \"./Accordion.types\";\nimport { createStore, produce } from \"solid-js/store\";\n\ninterface AccordionContextValue {\n orientation: \"horizontal\" | \"vertical\";\n isOpen: (value: string | number) => boolean;\n toggle: (value: string | number) => void;\n}\n\nconst AccordionContext = createContext<AccordionContextValue>();\n\nexport function AccordionProvider(\n props: ParentProps & {\n orientation: \"horizontal\" | \"vertical\";\n defaultValue?: AccordionValue[];\n value?: AccordionValue[];\n multiple?: boolean;\n onValueChange?: (value: (string | number)[]) => void;\n },\n) {\n const [openMap, setOpenMap] = createStore<\n Record<string, AccordionValue | undefined>\n >(\n (props.defaultValue ?? []).reduce(\n (acc, val) => {\n acc[String(val)] = val;\n return acc;\n },\n {} as Record<string, AccordionValue | undefined>,\n ),\n );\n\n const isOpen = (value: AccordionValue) => {\n if (props.value) {\n // 受控模式:依赖外部传入的数据\n return props.value.includes(value);\n }\n // 非受控模式:O(1) 的细粒度追踪,只订阅该 value 对应的 key\n return openMap[String(value)] !== undefined;\n };\n\n const toggle = (value: string | number) => {\n // 【受控模式】只通知外部,不改本地状态\n if (props.value) {\n const current = props.value;\n const next = current.includes(value)\n ? current.filter((v) => v !== value)\n : props.multiple\n ? [...current, value]\n : [value];\n props.onValueChange?.(next);\n return;\n }\n\n // 非受控模式:细粒度更新,只改动涉及的 key\n const key = String(value);\n\n if (!props.multiple) {\n // 单选:关闭其他,切换自己\n setOpenMap(\n produce((draft) => {\n const isCurrentlyOpen = draft[key] !== undefined;\n\n for (const k in draft) {\n draft[k] = undefined;\n }\n\n if (!isCurrentlyOpen) {\n draft[key] = value;\n }\n }),\n );\n } else {\n // 多选:切换自己\n setOpenMap(key, (prev) => (prev !== undefined ? undefined : value));\n }\n\n // 通知外部\n const next = Object.values(openMap).filter(\n (v): v is AccordionValue => v !== undefined,\n );\n props.onValueChange?.(next);\n };\n\n const contextValue: AccordionContextValue = {\n // 使用 getter 确保 props.orientation 改变时能响应\n get orientation() {\n return props.orientation;\n },\n isOpen,\n toggle,\n };\n\n return (\n <AccordionContext.Provider value={contextValue}>\n {props.children}\n </AccordionContext.Provider>\n );\n}\n\nexport const useAccordionContext = () => {\n const context = useContext(AccordionContext);\n if (!context)\n throw new Error(\"useAccordionContext must be used in AccordionProvider\");\n\n return context;\n};\n"],"mappings":";;;;AAUA,IAAMW,IAAmBX,GAAsC;AAE/D,SAAgBY,EACdC,GAOA;CACA,IAAM,CAACI,GAASC,KAAcd,GAG3BS,EAAMC,gBAAgB,EAAE,EAAEM,QACxBC,GAAKC,OACJD,EAAIE,OAAOD,EAAI,IAAIA,GACZD,IAET,EAAE,CAEN,CAAC;AA+DD,QAAAiB,EACG3B,EAAiB4B,UAAQ;EAAC9B,OAVe;GAE1C,IAAIF,cAAc;AAChB,WAAOM,EAAMN;;GAEfC,SAzDcC,MACVI,EAAMJ,QAEDI,EAAMJ,MAAMe,SAASf,EAAM,GAG7BQ,EAAQM,OAAOd,EAAM,MAAMgB,KAAAA;GAoDlCf,SAjDcD,MAA2B;AAEzC,QAAII,EAAMJ,OAAO;KACf,IAAMiB,IAAUb,EAAMJ,OAChBkB,IAAOD,EAAQF,SAASf,EAAM,GAChCiB,EAAQE,QAAQC,MAAMA,MAAMpB,EAAM,GAClCI,EAAME,WACJ,CAAC,GAAGW,GAASjB,EAAM,GACnB,CAACA,EAAM;AACbI,OAAMG,gBAAgBW,EAAK;AAC3B;;IAIF,IAAMG,IAAMP,OAAOd,EAAM;AAEzB,IAAKI,EAAME,WAiBTG,EAAWY,IAAMI,MAAUA,MAAST,KAAAA,IAAwBhB,IAAZgB,KAAAA,EAAmB,GAfnEP,EACEb,GAAS0B,MAAU;KACjB,IAAMC,IAAkBD,EAAMD,OAASL,KAAAA;AAEvC,UAAK,IAAMQ,KAAKF,EACdA,GAAME,KAAKR,KAAAA;AAGb,KAAKO,MACHD,EAAMD,KAAOrB;MAGnB,CAAC;IAOH,IAAMkB,IAAOQ,OAAOC,OAAOnB,EAAQ,CAACW,QACjCC,MAA2BA,MAAMJ,KAAAA,EACnC;AACDZ,MAAMG,gBAAgBW,EAAK;;GAU5B;EAG+C,IAAAa,WAAA;AAAA,UAC3C3B,EAAM2B;;EAAQ,CAAA;;AAKrB,IAAaC,UAA4B;CACvC,IAAMC,IAAUxC,EAAWS,EAAiB;AAC5C,KAAI,CAAC+B,EACH,OAAUC,MAAM,wDAAwD;AAE1E,QAAOD"}
1
+ {"version":3,"file":"Accordion.context.js","names":["createContext","ParentProps","useContext","AccordionValue","createStore","produce","AccordionContextValue","orientation","isOpen","value","toggle","AccordionContext","AccordionProvider","props","defaultValue","multiple","onValueChange","openMap","setOpenMap","Record","reduce","acc","val","String","includes","undefined","current","next","filter","v","key","draft","isCurrentlyOpen","k","prev","Object","values","contextValue","_$createComponent","Provider","children","useAccordionContext","context","Error"],"sources":["../../../../src/components/accordion/Accordion/Accordion.context.tsx"],"sourcesContent":["import { createContext, type ParentProps, useContext } from \"solid-js\";\nimport type { AccordionValue } from \"./Accordion.types\";\nimport { createStore, produce } from \"solid-js/store\";\n\ninterface AccordionContextValue {\n orientation: \"horizontal\" | \"vertical\";\n isOpen: (value: string | number) => boolean;\n toggle: (value: string | number) => void;\n}\n\nconst AccordionContext = createContext<AccordionContextValue>();\n\nexport function AccordionProvider(\n props: ParentProps & {\n orientation: \"horizontal\" | \"vertical\";\n defaultValue?: AccordionValue[];\n value?: AccordionValue[];\n multiple?: boolean;\n onValueChange?: (value: (string | number)[]) => void;\n },\n) {\n const [openMap, setOpenMap] = createStore<\n Record<string, AccordionValue | undefined>\n >(\n (props.defaultValue ?? []).reduce(\n (acc, val) => {\n acc[String(val)] = val;\n return acc;\n },\n {} as Record<string, AccordionValue | undefined>,\n ),\n );\n\n const isOpen = (value: AccordionValue) => {\n if (props.value) {\n // 受控模式:依赖外部传入的数据\n return props.value.includes(value);\n }\n // 非受控模式:O(1) 的细粒度追踪,只订阅该 value 对应的 key\n return openMap[String(value)] !== undefined;\n };\n\n const toggle = (value: string | number) => {\n // 【受控模式】只通知外部,不改本地状态\n if (props.value) {\n const current = props.value;\n const next = current.includes(value)\n ? current.filter((v) => v !== value)\n : props.multiple\n ? [...current, value]\n : [value];\n props.onValueChange?.(next);\n return;\n }\n\n // 非受控模式:细粒度更新,只改动涉及的 key\n const key = String(value);\n\n if (!props.multiple) {\n // 单选:关闭其他,切换自己\n setOpenMap(\n produce((draft) => {\n const isCurrentlyOpen = draft[key] !== undefined;\n\n for (const k in draft) {\n draft[k] = undefined;\n }\n\n if (!isCurrentlyOpen) {\n draft[key] = value;\n }\n }),\n );\n } else {\n // 多选:切换自己\n setOpenMap(key, (prev) => (prev !== undefined ? undefined : value));\n }\n\n // 通知外部\n const next = Object.values(openMap).filter(\n (v): v is AccordionValue => v !== undefined,\n );\n props.onValueChange?.(next);\n };\n\n const contextValue: AccordionContextValue = {\n // 使用 getter 确保 props.orientation 改变时能响应\n get orientation() {\n return props.orientation;\n },\n isOpen,\n toggle,\n };\n\n return (\n <AccordionContext.Provider value={contextValue}>\n {props.children}\n </AccordionContext.Provider>\n );\n}\n\nexport const useAccordionContext = () => {\n const context = useContext(AccordionContext);\n if (!context)\n throw new Error(\"useAccordionContext must be used in AccordionProvider\");\n\n return context;\n};\n"],"mappings":";;;;AAUA,IAAMW,IAAmBX,EAAqC;AAE9D,SAAgBY,EACdC,GAOA;CACA,IAAM,CAACI,GAASC,KAAcd,GAG3BS,EAAMC,gBAAgB,CAAA,EAAA,CAAIM,QACxBC,GAAKC,OACJD,EAAIE,OAAOD,CAAG,KAAKA,GACZD,IAET,CAAC,CACH,CACF;CA+DA,OAAAiB,EACG3B,EAAiB4B,UAAQ;EAAC9B,OAAO4B;GARlC,IAAI9B,cAAc;IAChB,OAAOM,EAAMN;GACf;GACAC,SAzDcC,MACVI,EAAMJ,QAEDI,EAAMJ,MAAMe,SAASf,CAAK,IAG5BQ,EAAQM,OAAOd,CAAK,OAAOgB,KAAAA;GAoDlCf,SAjDcD,MAA2B;IAEzC,IAAII,EAAMJ,OAAO;KACf,IAAMiB,IAAUb,EAAMJ,OAChBkB,IAAOD,EAAQF,SAASf,CAAK,IAC/BiB,EAAQE,QAAQC,MAAMA,MAAMpB,CAAK,IACjCI,EAAME,WACJ,CAAC,GAAGW,GAASjB,CAAK,IAClB,CAACA,CAAK;KACZI,EAAMG,gBAAgBW,CAAI;KAC1B;IACF;IAGA,IAAMG,IAAMP,OAAOd,CAAK;IAExB,AAAKI,EAAME,WAiBTG,EAAWY,IAAMI,MAAUA,MAAST,KAAAA,IAAwBhB,IAAZgB,KAAAA,CAAkB,IAflEP,EACEb,GAAS0B,MAAU;KACjB,IAAMC,IAAkBD,EAAMD,OAASL,KAAAA;KAEvC,KAAK,IAAMQ,KAAKF,GACdA,EAAME,KAAKR,KAAAA;KAGb,AAAKO,MACHD,EAAMD,KAAOrB;IAEjB,CAAC,CACH;IAOF,IAAMkB,IAAOQ,OAAOC,OAAOnB,CAAO,CAAC,CAACW,QACjCC,MAA2BA,MAAMJ,KAAAA,CACpC;IACAZ,EAAMG,gBAAgBW,CAAI;GAC5B;EAYoCU;EAAY,IAAAG,WAAA;GAAA,OAC3C3B,EAAM2B;EAAQ;CAAA,CAAA;AAGrB;AAEA,IAAaC,UAA4B;CACvC,IAAMC,IAAUxC,EAAWS,CAAgB;CAC3C,IAAI,CAAC+B,GACH,MAAUC,MAAM,uDAAuD;CAEzE,OAAOD;AACT"}
@@ -1,11 +1,12 @@
1
1
  import { clsx as e } from "../../../utils/clsx.js";
2
2
  import { AccordionProvider as t } from "./Accordion.context.js";
3
3
  import { useAccordion as n } from "./useAccordion.js";
4
- import { addEventListener as r, createComponent as i, delegateEvents as a, insert as o, mergeProps as s, spread as c, template as l } from "solid-js/web";
5
- import { mergeProps as u, splitProps as d } from "solid-js";
4
+ import r from "./Accordion.styles.js";
5
+ import { addEventListener as i, createComponent as a, delegateEvents as o, insert as s, mergeProps as c, spread as l, template as u } from "solid-js/web";
6
+ import { mergeProps as d, splitProps as f } from "solid-js";
6
7
  //#region src/components/accordion/Accordion/Accordion.tsx
7
- var f = /* @__PURE__ */ l("<section data-slot=accordion>"), p = (a) => {
8
- let [l, p] = d(u({
8
+ var p = /*#__PURE__*/ u("<section data-slot=accordion>"), m = (o) => {
9
+ let u = d({
9
10
  hiddenUntilFound: !1,
10
11
  loopFocus: !0,
11
12
  multiple: !1,
@@ -13,7 +14,7 @@ var f = /* @__PURE__ */ l("<section data-slot=accordion>"), p = (a) => {
13
14
  orientation: "vertical",
14
15
  keepMounted: !1,
15
16
  dir: "ltr"
16
- }, a), [
17
+ }, o), [m, h] = f(u, [
17
18
  "defaultValue",
18
19
  "value",
19
20
  "onValueChange",
@@ -27,43 +28,43 @@ var f = /* @__PURE__ */ l("<section data-slot=accordion>"), p = (a) => {
27
28
  "keepMounted",
28
29
  "dir",
29
30
  "children"
30
- ]), { handleKeyDown: m } = n();
31
+ ]), { handleKeyDown: g } = n();
31
32
  return (() => {
32
- var n = f();
33
- return r(n, "keydown", m, !0), c(n, s({
33
+ var n = p();
34
+ return i(n, "keydown", g, !0), l(n, c({
34
35
  get class() {
35
- return e("flex", "w-full", "flex-col", "max-w-lg", l.class);
36
+ return e(r, m.class);
36
37
  },
37
38
  get "data-orientation"() {
38
- return l.orientation;
39
+ return m.orientation;
39
40
  },
40
41
  get dir() {
41
- return l.dir;
42
+ return m.dir;
42
43
  }
43
- }, p), !1, !0), o(n, i(t, {
44
+ }, h), !1, !0), s(n, a(t, {
44
45
  get orientation() {
45
- return l.orientation;
46
+ return m.orientation;
46
47
  },
47
48
  get defaultValue() {
48
- return a.defaultValue;
49
+ return o.defaultValue;
49
50
  },
50
51
  get value() {
51
- return a.value;
52
+ return o.value;
52
53
  },
53
54
  get multiple() {
54
- return a.multiple;
55
+ return o.multiple;
55
56
  },
56
57
  get onValueChange() {
57
- return a.onValueChange;
58
+ return o.onValueChange;
58
59
  },
59
60
  get children() {
60
- return l.children;
61
+ return m.children;
61
62
  }
62
63
  })), n;
63
64
  })();
64
65
  };
65
- a(["keydown"]);
66
+ o(["keydown"]);
66
67
  //#endregion
67
- export { p as Accordion };
68
+ export { m as Accordion };
68
69
 
69
70
  //# sourceMappingURL=Accordion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Accordion.js","names":["mergeProps","splitProps","clsx","AccordionProvider","AccordionProps","useAccordion","Accordion","props","merged","hiddenUntilFound","loopFocus","multiple","disabled","orientation","keepMounted","dir","const","local","others","handleKeyDown","_el$","_tmpl$","_$addEventListener","_$spread","_$mergeProps","class","data-orientation","_$insert","_$createComponent","defaultValue","value","onValueChange","children","_$delegateEvents"],"sources":["../../../../src/components/accordion/Accordion/Accordion.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { AccordionProvider } from \"./Accordion.context\";\nimport type { AccordionProps } from \"./Accordion.types\";\nimport { useAccordion } from \"./useAccordion\";\n\nexport const Accordion = (props: AccordionProps) => {\n const merged = mergeProps(\n {\n hiddenUntilFound: false,\n loopFocus: true,\n multiple: false,\n disabled: false,\n orientation: \"vertical\",\n keepMounted: false,\n dir: \"ltr\",\n } as const,\n props,\n );\n\n const [local, others] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onValueChange\",\n \"hiddenUntilFound\",\n \"loopFocus\",\n \"multiple\",\n \"disabled\",\n \"orientation\",\n \"class\",\n \"classList\",\n \"keepMounted\",\n \"dir\",\n \"children\",\n ]);\n\n const { handleKeyDown } = useAccordion();\n\n return (\n <section\n class={clsx(\"flex\", \"w-full\", \"flex-col\", \"max-w-lg\", local.class)}\n data-orientation={local.orientation}\n data-slot=\"accordion\"\n dir={local.dir}\n onKeyDown={handleKeyDown}\n {...others}\n >\n <AccordionProvider\n orientation={local.orientation}\n defaultValue={props.defaultValue}\n value={props.value}\n multiple={props.multiple}\n onValueChange={props.onValueChange}\n >\n {/* children 是1个以上 AccordionItem */}\n {local.children}\n </AccordionProvider>\n </section>\n );\n};\n"],"mappings":";;;;;;4DAMaM,KAAaC,MAA0B;CAclD,IAAM,CAACU,GAAOC,KAAUjB,EAbTD,EACb;EACES,kBAAkB;EAClBC,WAAW;EACXC,UAAU;EACVC,UAAU;EACVC,aAAa;EACbC,aAAa;EACbC,KAAK;EACN,EACDR,EACD,EAE0C;EACzC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAEI,EAAEY,qBAAkBd,GAAc;AAExC,eAAA;EAAA,IAAAe,IAAAC,GAAA;AAiBqB,SAjBrBC,EAAAF,GAAA,WAMeD,GAAa,GAAA,EAAAI,EAAAH,GAAAI,EAAA;GAAA,IAAA,QAAA;AAAA,WAJjBtB,EAAK,QAAQ,UAAU,YAAY,YAAYe,EAAMQ,MAAM;;GAAA,IAAA,qBAAA;AAAA,WAChDR,EAAMJ;;GAAW,IAEnCE,MAAG;AAAA,WAAEE,EAAMF;;GAAG,EAEVG,EAAM,EAAA,IAAA,GAAA,EAAAS,EAAAP,GAAAQ,EAETzB,GAAiB;GAAA,IAChBU,cAAW;AAAA,WAAEI,EAAMJ;;GAAW,IAC9BgB,eAAY;AAAA,WAAEtB,EAAMsB;;GAAY,IAChCC,QAAK;AAAA,WAAEvB,EAAMuB;;GAAK,IAClBnB,WAAQ;AAAA,WAAEJ,EAAMI;;GAAQ,IACxBoB,gBAAa;AAAA,WAAExB,EAAMwB;;GAAa,IAAAC,WAAA;AAAA,WAGjCf,EAAMe;;GAAQ,CAAA,CAAA,EAAAZ;KAAA;;AAIrBa,EAAA,CAAA,UAAA,CAAA"}
1
+ {"version":3,"file":"Accordion.js","names":["mergeProps","splitProps","clsx","AccordionProvider","AccordionProps","useAccordion","s","Accordion","props","merged","hiddenUntilFound","loopFocus","multiple","disabled","orientation","keepMounted","dir","const","local","others","handleKeyDown","_el$","_tmpl$","_$addEventListener","_$spread","_$mergeProps","class","data-orientation","_$insert","_$createComponent","defaultValue","value","onValueChange","children","_$delegateEvents"],"sources":["../../../../src/components/accordion/Accordion/Accordion.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { AccordionProvider } from \"./Accordion.context\";\nimport type { AccordionProps } from \"./Accordion.types\";\nimport { useAccordion } from \"./useAccordion\";\nimport s from \"./Accordion.styles\";\n\nexport const Accordion = (props: AccordionProps) => {\n const merged = mergeProps(\n {\n hiddenUntilFound: false,\n loopFocus: true,\n multiple: false,\n disabled: false,\n orientation: \"vertical\",\n keepMounted: false,\n dir: \"ltr\",\n } as const,\n props,\n );\n\n const [local, others] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onValueChange\",\n \"hiddenUntilFound\",\n \"loopFocus\",\n \"multiple\",\n \"disabled\",\n \"orientation\",\n \"class\",\n \"classList\",\n \"keepMounted\",\n \"dir\",\n \"children\",\n ]);\n\n const { handleKeyDown } = useAccordion();\n\n return (\n <section\n class={clsx(s, local.class)}\n data-orientation={local.orientation}\n data-slot=\"accordion\"\n dir={local.dir}\n onKeyDown={handleKeyDown}\n {...others}\n >\n <AccordionProvider\n orientation={local.orientation}\n defaultValue={props.defaultValue}\n value={props.value}\n multiple={props.multiple}\n onValueChange={props.onValueChange}\n >\n {/* children 是1个以上 AccordionItem */}\n {local.children}\n </AccordionProvider>\n </section>\n );\n};\n"],"mappings":";;;;;;;0DAOaO,KAAaC,MAA0B;CAClD,IAAMC,IAAST,EACb;EACEU,kBAAkB;EAClBC,WAAW;EACXC,UAAU;EACVC,UAAU;EACVC,aAAa;EACbC,aAAa;EACbC,KAAK;CACP,GACAR,CACF,GAEM,CAACU,GAAOC,KAAUlB,EAAWQ,GAAQ;EACzC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEK,EAAEW,qBAAkBf,EAAa;CAEvC,cAAA;EAAA,IAAAgB,IAAAC,EAAA;EAiBqB,OAjBrBC,EAAAF,GAAA,WAMeD,GAAa,EAAA,GAAAI,EAAAH,GAAAI,EAAA;GAAA,IAAA,QAAA;IAAA,OAJjBvB,EAAKI,GAAGY,EAAMQ,KAAK;GAAC;GAAA,IAAA,qBAAA;IAAA,OACTR,EAAMJ;GAAW;GAAA,IAEnCE,MAAG;IAAA,OAAEE,EAAMF;GAAG;EAAA,GAEVG,CAAM,GAAA,IAAA,EAAA,GAAAS,EAAAP,GAAAQ,EAET1B,GAAiB;GAAA,IAChBW,cAAW;IAAA,OAAEI,EAAMJ;GAAW;GAAA,IAC9BgB,eAAY;IAAA,OAAEtB,EAAMsB;GAAY;GAAA,IAChCC,QAAK;IAAA,OAAEvB,EAAMuB;GAAK;GAAA,IAClBnB,WAAQ;IAAA,OAAEJ,EAAMI;GAAQ;GAAA,IACxBoB,gBAAa;IAAA,OAAExB,EAAMwB;GAAa;GAAA,IAAAC,WAAA;IAAA,OAGjCf,EAAMe;GAAQ;EAAA,CAAA,CAAA,GAAAZ;CAAA,EAAA,CAAA;AAIvB;AAAEa,EAAA,CAAA,SAAA,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const _default: string;
2
+ export default _default;
@@ -0,0 +1,7 @@
1
+ import { clsx as e } from "../../../utils/clsx.js";
2
+ //#region src/components/accordion/Accordion/Accordion.styles.ts
3
+ var t = e("flex", "w-full", "flex-col", "max-w-lg");
4
+ //#endregion
5
+ export { t as default };
6
+
7
+ //# sourceMappingURL=Accordion.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Accordion.styles.js","names":[],"sources":["../../../../src/components/accordion/Accordion/Accordion.styles.ts"],"sourcesContent":["import { clsx } from \"~/utils\";\n\nexport default clsx(\"flex\", \"w-full\", \"flex-col\", \"max-w-lg\");\n"],"mappings":";;AAEA,IAAA,IAAe,EAAK,QAAQ,UAAU,YAAY,UAAU"}
@@ -22,9 +22,7 @@ var e = () => ({ handleKeyDown: (e) => {
22
22
  case "Home":
23
23
  a = 0;
24
24
  break;
25
- case "End":
26
- a = r.length - 1;
27
- break;
25
+ case "End": a = r.length - 1;
28
26
  }
29
27
  r[a]?.focus();
30
28
  } });
@@ -1 +1 @@
1
- {"version":3,"file":"useAccordion.js","names":[],"sources":["../../../../src/components/accordion/Accordion/useAccordion.ts"],"sourcesContent":["export const useAccordion = () => {\n // 键盘无障碍导航\n const handleKeyDown = (e: KeyboardEvent) => {\n // 只有这四个键需要处理\n if (![\"ArrowDown\", \"ArrowUp\", \"Home\", \"End\"].includes(e.key)) return;\n\n // 确保当前焦点是在一个 Accordion Trigger 上\n const activeEl = document.activeElement as HTMLElement;\n if (!activeEl || activeEl.getAttribute(\"data-accordion-trigger\") === null)\n return;\n\n e.preventDefault(); // 阻止页面的默认滚动\n\n const container = e.currentTarget as HTMLElement;\n // 获取当前 Accordion 下所有未被禁用的 Trigger\n const triggers = Array.from(\n container.querySelectorAll(\"[data-accordion-trigger]:not([disabled])\"),\n ) as HTMLElement[];\n\n const currentIndex = triggers.indexOf(activeEl);\n if (currentIndex === -1) return;\n\n let nextIndex = currentIndex;\n\n switch (e.key) {\n case \"ArrowDown\":\n nextIndex = (currentIndex + 1) % triggers.length; // 循环向下\n break;\n case \"ArrowUp\":\n nextIndex = (currentIndex - 1 + triggers.length) % triggers.length; // 循环向上\n break;\n case \"Home\":\n nextIndex = 0; // 跳到第一个\n break;\n case \"End\":\n nextIndex = triggers.length - 1; // 跳到最后一个\n break;\n }\n\n // 聚焦到下一个元素\n triggers[nextIndex]?.focus();\n };\n\n return { handleKeyDown };\n};\n"],"mappings":";AAAA,IAAa,WA2CJ,EAAE,gBAzCc,MAAqB;AAE1C,KAAI,CAAC;EAAC;EAAa;EAAW;EAAQ;EAAM,CAAC,SAAS,EAAE,IAAI,CAAE;CAG9D,IAAM,IAAW,SAAS;AAC1B,KAAI,CAAC,KAAY,EAAS,aAAa,yBAAyB,KAAK,KACnE;AAEF,GAAE,gBAAgB;CAElB,IAAM,IAAY,EAAE,eAEd,IAAW,MAAM,KACrB,EAAU,iBAAiB,2CAA2C,CACvE,EAEK,IAAe,EAAS,QAAQ,EAAS;AAC/C,KAAI,MAAiB,GAAI;CAEzB,IAAI,IAAY;AAEhB,SAAQ,EAAE,KAAV;EACE,KAAK;AACH,QAAa,IAAe,KAAK,EAAS;AAC1C;EACF,KAAK;AACH,QAAa,IAAe,IAAI,EAAS,UAAU,EAAS;AAC5D;EACF,KAAK;AACH,OAAY;AACZ;EACF,KAAK;AACH,OAAY,EAAS,SAAS;AAC9B;;AAIJ,GAAS,IAAY,OAAO;GAGN"}
1
+ {"version":3,"file":"useAccordion.js","names":[],"sources":["../../../../src/components/accordion/Accordion/useAccordion.ts"],"sourcesContent":["export const useAccordion = () => {\n // 键盘无障碍导航\n const handleKeyDown = (e: KeyboardEvent) => {\n // 只有这四个键需要处理\n if (![\"ArrowDown\", \"ArrowUp\", \"Home\", \"End\"].includes(e.key)) return;\n\n // 确保当前焦点是在一个 Accordion Trigger 上\n const activeEl = document.activeElement as HTMLElement;\n if (!activeEl || activeEl.getAttribute(\"data-accordion-trigger\") === null)\n return;\n\n e.preventDefault(); // 阻止页面的默认滚动\n\n const container = e.currentTarget as HTMLElement;\n // 获取当前 Accordion 下所有未被禁用的 Trigger\n const triggers = Array.from(\n container.querySelectorAll(\"[data-accordion-trigger]:not([disabled])\"),\n ) as HTMLElement[];\n\n const currentIndex = triggers.indexOf(activeEl);\n if (currentIndex === -1) return;\n\n let nextIndex = currentIndex;\n\n switch (e.key) {\n case \"ArrowDown\":\n nextIndex = (currentIndex + 1) % triggers.length; // 循环向下\n break;\n case \"ArrowUp\":\n nextIndex = (currentIndex - 1 + triggers.length) % triggers.length; // 循环向上\n break;\n case \"Home\":\n nextIndex = 0; // 跳到第一个\n break;\n case \"End\":\n nextIndex = triggers.length - 1; // 跳到最后一个\n break;\n }\n\n // 聚焦到下一个元素\n triggers[nextIndex]?.focus();\n };\n\n return { handleKeyDown };\n};\n"],"mappings":";AAAA,IAAa,WA2CJ,EAAE,gBAzCc,MAAqB;CAE1C,IAAI,CAAC;EAAC;EAAa;EAAW;EAAQ;CAAK,CAAC,CAAC,SAAS,EAAE,GAAG,GAAG;CAG9D,IAAM,IAAW,SAAS;CAC1B,IAAI,CAAC,KAAY,EAAS,aAAa,wBAAwB,MAAM,MACnE;CAEF,EAAE,eAAe;CAEjB,IAAM,IAAY,EAAE,eAEd,IAAW,MAAM,KACrB,EAAU,iBAAiB,0CAA0C,CACvE,GAEM,IAAe,EAAS,QAAQ,CAAQ;CAC9C,IAAI,MAAiB,IAAI;CAEzB,IAAI,IAAY;CAEhB,QAAQ,EAAE,KAAV;EACE,KAAK;GACH,KAAa,IAAe,KAAK,EAAS;GAC1C;EACF,KAAK;GACH,KAAa,IAAe,IAAI,EAAS,UAAU,EAAS;GAC5D;EACF,KAAK;GACH,IAAY;GACZ;EACF,KAAK,OACH,IAAY,EAAS,SAAS;CAElC;CAGA,EAAS,EAAU,EAAE,MAAM;AAC7B,EAEuB"}
@@ -1,46 +1,50 @@
1
1
  import { clsx as e } from "../../../utils/clsx.js";
2
2
  import { useAccordionContext as t } from "../Accordion/Accordion.context.js";
3
3
  import { useAccordionItemContext as n } from "../AccordionItem/AccordionItem.context.js";
4
- import { className as r, createComponent as i, effect as a, insert as o, mergeProps as s, setAttribute as c, spread as l, template as u, use as d } from "solid-js/web";
5
- import { Show as f, createEffect as p, createSignal as m, on as h, splitProps as g, untrack as _ } from "solid-js";
4
+ import r from "./AccordionContent.styles.js";
5
+ import { className as i, createComponent as a, effect as o, insert as s, mergeProps as c, setAttribute as l, spread as u, template as d, use as f } from "solid-js/web";
6
+ import { Show as p, createEffect as m, createSignal as h, on as g, splitProps as _, untrack as v } from "solid-js";
6
7
  //#region src/components/accordion/AccordionContent/AccordionContent.tsx
7
- var v = /* @__PURE__ */ u("<div role=region class=\"overflow-hidden text-sm data-[open=true]:animate-accordion-down data-[open=false]:animate-accordion-up\"data-slot=accordion-content><div>"), y = (u) => {
8
- let { orientation: y } = t(), { triggerId: b, open: x, contentId: S } = n(), [C, w] = g(u, [
8
+ var y = /*#__PURE__*/ d("<div role=region data-slot=accordion-content><div>"), b = (d) => {
9
+ let { orientation: b } = t(), { triggerId: x, open: S, contentId: C } = n(), [w, T] = _(d, [
9
10
  "hiddenUntilFound",
10
11
  "keepMounted",
11
12
  "class",
12
13
  "classList",
13
14
  "children",
14
15
  "style"
15
- ]), [T, E] = m(_(x)), [D, O] = m(null), k;
16
- p(h(x, (e) => {
17
- e && E(!0);
18
- })), p(() => {
19
- T() && k && O(k.scrollHeight);
16
+ ]), [E, D] = h(v(S)), [O, k] = h(null), A;
17
+ m(g(S, (e) => {
18
+ e && D(!0);
19
+ })), m(() => {
20
+ E() && A && k(A.scrollHeight);
20
21
  });
21
- let A = (e) => {
22
- !x() && e.animationName === "accordion-up" && (E(!1), O(null));
22
+ let j = (e) => {
23
+ !S() && e.animationName === "accordion-up" && (D(!1), k(null));
23
24
  };
24
- return i(f, {
25
+ return a(p, {
25
26
  get when() {
26
- return T();
27
+ return E();
27
28
  },
28
29
  get children() {
29
- var t = v(), n = t.firstChild;
30
- t.addEventListener("animationend", A), c(t, "id", S), c(t, "aria-labelledby", b), c(t, "data-orientation", y), l(t, s({
30
+ var t = y(), n = t.firstChild;
31
+ t.addEventListener("animationend", j), l(t, "id", C), l(t, "aria-labelledby", x), l(t, "data-orientation", b), u(t, c({
32
+ get class() {
33
+ return r.content;
34
+ },
31
35
  get "data-open"() {
32
- return x() ? "true" : "false";
36
+ return S() ? "true" : "false";
33
37
  },
34
38
  get style() {
35
- return { "--accordion-panel-height": D() === null ? "auto" : `${D()}px` };
39
+ return { "--accordion-panel-height": O() === null ? "auto" : `${O()}px` };
36
40
  }
37
- }, w), !1, !0);
38
- var i = k;
39
- return typeof i == "function" ? d(i, n) : k = n, o(n, () => C.children), a(() => r(n, e("pb-2.5 pt-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", C.class))), t;
41
+ }, T), !1, !0);
42
+ var a = A;
43
+ return typeof a == "function" ? f(a, n) : A = n, s(n, () => w.children), o(() => i(n, e(r.wrapper, w.class))), t;
40
44
  }
41
45
  });
42
46
  };
43
47
  //#endregion
44
- export { y as AccordionContent };
48
+ export { b as AccordionContent };
45
49
 
46
50
  //# sourceMappingURL=AccordionContent.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"AccordionContent.js","names":["createEffect","createSignal","on","Show","splitProps","untrack","clsx","useAccordionContext","useAccordionItemContext","AccordionContentProps","AccordionContent","props","orientation","triggerId","open","contentId","local","others","mounted","setMounted","panelHeight","setPanelHeight","contentRef","HTMLDivElement","isOpen","scrollHeight","handleAnimationEnd","e","AnimationEvent","animationName","_$createComponent","when","children","_el$","_tmpl$","_el$2","firstChild","addEventListener","_$setAttribute","_$spread","_$mergeProps","data-open","style","_ref$","_$use","_$insert","_$effect","_$className","class"],"sources":["../../../../src/components/accordion/AccordionContent/AccordionContent.tsx"],"sourcesContent":["import {\n createEffect,\n createSignal,\n on,\n Show,\n splitProps,\n untrack,\n} from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useAccordionContext } from \"../Accordion/Accordion.context\";\nimport { useAccordionItemContext } from \"../AccordionItem/AccordionItem.context\";\nimport type { AccordionContentProps } from \"./AccordionContent.types\";\n\nexport const AccordionContent = (props: AccordionContentProps) => {\n const { orientation } = useAccordionContext();\n const { triggerId, open, contentId } = useAccordionItemContext();\n\n const [local, others] = splitProps(props, [\n \"hiddenUntilFound\",\n \"keepMounted\",\n \"class\",\n \"classList\",\n \"children\",\n \"style\",\n ]);\n\n // 控制 DOM 是否存在,用untrack避免追踪open变化\n const [mounted, setMounted] = createSignal(untrack(open));\n // 记录测量到的真实高度\n const [panelHeight, setPanelHeight] = createSignal<number | null>(null);\n\n let contentRef: HTMLDivElement | undefined;\n\n createEffect(\n on(open, (isOpen) => {\n if (isOpen) {\n setMounted(true);\n }\n }),\n );\n\n // 挂载后测量高度\n createEffect(() => {\n if (mounted() && contentRef) {\n // 临时让内容可见以测量真实高度\n setPanelHeight(contentRef.scrollHeight);\n }\n });\n\n const handleAnimationEnd = (e: AnimationEvent) => {\n if (!open() && e.animationName === \"accordion-up\") {\n setMounted(false);\n setPanelHeight(null);\n }\n };\n\n return (\n <Show when={mounted()}>\n <div\n id={contentId}\n role=\"region\"\n aria-labelledby={triggerId}\n class=\"overflow-hidden text-sm data-[open=true]:animate-accordion-down data-[open=false]:animate-accordion-up\"\n data-slot=\"accordion-content\"\n data-orientation={orientation}\n data-open={open() ? \"true\" : \"false\"}\n style={{\n \"--accordion-panel-height\":\n panelHeight() !== null ? `${panelHeight()}px` : \"auto\",\n }}\n onAnimationEnd={handleAnimationEnd}\n {...others}\n >\n <div\n ref={contentRef}\n class={clsx(\n \"pb-2.5 pt-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4\",\n local.class,\n )}\n >\n {local.children}\n </div>\n </div>\n </Show>\n );\n};\n"],"mappings":";;;;;;iMAaaU,KAAoBC,MAAiC;CAChE,IAAM,EAAEC,mBAAgBL,GAAqB,EACvC,EAAEM,cAAWC,SAAMC,iBAAcP,GAAyB,EAE1D,CAACQ,GAAOC,KAAUb,EAAWO,GAAO;EACxC;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAGI,CAACO,GAASC,KAAclB,EAAaI,EAAQS,EAAK,CAAC,EAEnD,CAACM,GAAaC,KAAkBpB,EAA4B,KAAK,EAEnEqB;AAWJtB,CATAA,EACEE,EAAGY,IAAOU,MAAW;AACnB,EAAIA,KACFL,EAAW,GAAK;GAGtB,CAAC,EAGDnB,QAAmB;AACjB,EAAIkB,GAAS,IAAII,KAEfD,EAAeC,EAAWG,aAAa;GAEzC;CAEF,IAAMC,KAAsBC,MAAsB;AAChD,EAAI,CAACb,GAAM,IAAIa,EAAEE,kBAAkB,mBACjCV,EAAW,GAAM,EACjBE,EAAe,KAAK;;AAIxB,QAAAS,EACG3B,GAAI;EAAA,IAAC4B,OAAI;AAAA,UAAEb,GAAS;;EAAA,IAAAc,WAAA;GAAA,IAAAC,IAAAC,GAAA,EAAAC,IAAAF,EAAAG;AAOYG,GAPZN,EAAAI,iBAAA,gBAaDX,EAAkB,EAAAY,EAAAL,GAAA,MAX9BlB,EAAS,EAAAuB,EAAAL,GAAA,mBAEIpB,EAAS,EAAAyB,EAAAL,GAAA,oBAGRrB,EAAW,EAAA2B,EAAAN,GAAAO,EAAA;IAAA,IAAA,cAAA;AAAA,YAClB1B,GAAM,GAAG,SAAS;;IAAO,IACpC4B,QAAK;AAAA,YAAE,EACL,4BACEtB,GAAa,KAAK,OAA8B,SAAvB,GAAGA,GAAa,CAAA,KAC5C;;IAAA,EAEGH,EAAM,EAAA,IAAA,GAAA;GAAA,IAAA0B,IAGHrB;AAIJ,UAJc,OAAAqB,KAAA,aAAAC,EAAAD,GAAAR,EAAA,GAAVb,IAAUa,GAAAU,EAAAV,SAMdnB,EAAMgB,SAAQ,EAAAc,QAAAC,EAAAZ,GALR7B,EACL,gHACAU,EAAMgC,MACP,CAAA,CAAA,EAAAf;;EAAA,CAAA"}
1
+ {"version":3,"file":"AccordionContent.js","names":["createEffect","createSignal","on","Show","splitProps","untrack","clsx","useAccordionContext","useAccordionItemContext","AccordionContentProps","s","AccordionContent","props","orientation","triggerId","open","contentId","local","others","mounted","setMounted","panelHeight","setPanelHeight","contentRef","HTMLDivElement","isOpen","scrollHeight","handleAnimationEnd","e","AnimationEvent","animationName","_$createComponent","when","children","_el$","_tmpl$","_el$2","firstChild","addEventListener","_$setAttribute","_$spread","_$mergeProps","class","content","data-open","style","_ref$","_$use","_$insert","_$effect","_$className","wrapper"],"sources":["../../../../src/components/accordion/AccordionContent/AccordionContent.tsx"],"sourcesContent":["import {\n createEffect,\n createSignal,\n on,\n Show,\n splitProps,\n untrack,\n} from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useAccordionContext } from \"../Accordion/Accordion.context\";\nimport { useAccordionItemContext } from \"../AccordionItem/AccordionItem.context\";\nimport type { AccordionContentProps } from \"./AccordionContent.types\";\nimport s from \"./AccordionContent.styles\";\n\nexport const AccordionContent = (props: AccordionContentProps) => {\n const { orientation } = useAccordionContext();\n const { triggerId, open, contentId } = useAccordionItemContext();\n\n const [local, others] = splitProps(props, [\n \"hiddenUntilFound\",\n \"keepMounted\",\n \"class\",\n \"classList\",\n \"children\",\n \"style\",\n ]);\n\n // 控制 DOM 是否存在,用untrack避免追踪open变化\n const [mounted, setMounted] = createSignal(untrack(open));\n // 记录测量到的真实高度\n const [panelHeight, setPanelHeight] = createSignal<number | null>(null);\n\n let contentRef: HTMLDivElement | undefined;\n\n createEffect(\n on(open, (isOpen) => {\n if (isOpen) {\n setMounted(true);\n }\n }),\n );\n\n // 挂载后测量高度\n createEffect(() => {\n if (mounted() && contentRef) {\n // 临时让内容可见以测量真实高度\n setPanelHeight(contentRef.scrollHeight);\n }\n });\n\n const handleAnimationEnd = (e: AnimationEvent) => {\n if (!open() && e.animationName === \"accordion-up\") {\n setMounted(false);\n setPanelHeight(null);\n }\n };\n\n return (\n <Show when={mounted()}>\n <div\n id={contentId}\n role=\"region\"\n aria-labelledby={triggerId}\n class={s.content}\n data-slot=\"accordion-content\"\n data-orientation={orientation}\n data-open={open() ? \"true\" : \"false\"}\n style={{\n \"--accordion-panel-height\":\n panelHeight() !== null ? `${panelHeight()}px` : \"auto\",\n }}\n onAnimationEnd={handleAnimationEnd}\n {...others}\n >\n <div ref={contentRef} class={clsx(s.wrapper, local.class)}>\n {local.children}\n </div>\n </div>\n </Show>\n );\n};\n"],"mappings":";;;;;;;+EAcaW,KAAoBC,MAAiC;CAChE,IAAM,EAAEC,mBAAgBN,EAAoB,GACtC,EAAEO,cAAWC,SAAMC,iBAAcR,EAAwB,GAEzD,CAACS,GAAOC,KAAUd,EAAWQ,GAAO;EACxC;EACA;EACA;EACA;EACA;EACA;CAAO,CACR,GAGK,CAACO,GAASC,KAAcnB,EAAaI,EAAQU,CAAI,CAAC,GAElD,CAACM,GAAaC,KAAkBrB,EAA4B,IAAI,GAElEsB;CAWJvB,AATAA,EACEE,EAAGa,IAAOU,MAAW;EACnB,AAAIA,KACFL,EAAW,EAAI;CAEnB,CAAC,CACH,GAGApB,QAAmB;EACjB,AAAImB,EAAQ,KAAKI,KAEfD,EAAeC,EAAWG,YAAY;CAE1C,CAAC;CAED,IAAMC,KAAsBC,MAAsB;EAChD,AAAI,CAACb,EAAK,KAAKa,EAAEE,kBAAkB,mBACjCV,EAAW,EAAK,GAChBE,EAAe,IAAI;CAEvB;CAEA,OAAAS,EACG5B,GAAI;EAAA,IAAC6B,OAAI;GAAA,OAAEb,EAAQ;EAAC;EAAA,IAAAc,WAAA;GAAA,IAAAC,IAAAC,EAAA,GAAAC,IAAAF,EAAAG;GAOYG,AAPZN,EAAAI,iBAAA,gBAaDX,CAAkB,GAAAY,EAAAL,GAAA,MAX9BlB,CAAS,GAAAuB,EAAAL,GAAA,mBAEIpB,CAAS,GAAAyB,EAAAL,GAAA,oBAGRrB,CAAW,GAAA2B,EAAAN,GAAAO,EAAA;IAAA,IAAA,QAAA;KAAA,OAFtB/B,EAAEiC;IAAO;IAAA,IAAA,cAAA;KAAA,OAGL5B,EAAK,IAAI,SAAS;IAAO;IAAA,IACpC8B,QAAK;KAAA,OAAE,EACL,4BACExB,EAAY,MAAM,OAA8B,SAAvB,GAAGA,EAAY,EAAC,IAC7C;IAAC;GAAA,GAEGH,CAAM,GAAA,IAAA,EAAA;GAAA,IAAA4B,IAEAvB;GAA+C,OAArC,OAAAuB,KAAA,aAAAC,EAAAD,GAAAV,CAAA,IAAVb,IAAUa,GAAAY,EAAAZ,SACjBnB,EAAMgB,QAAQ,GAAAgB,QAAAC,EAAAd,GADY9B,EAAKI,EAAEyC,SAASlC,EAAMyB,KAAK,CAAC,CAAA,GAAAR;EAAA;CAAA,CAAA;AAMjE"}
@@ -0,0 +1,5 @@
1
+ declare const classes: {
2
+ readonly content: "overflow-hidden text-sm data-[open=true]:animate-accordion-down data-[open=false]:animate-accordion-up";
3
+ readonly wrapper: "pb-2.5 pt-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4";
4
+ };
5
+ export default classes;
@@ -0,0 +1,9 @@
1
+ //#region src/components/accordion/AccordionContent/AccordionContent.styles.ts
2
+ var e = {
3
+ content: "overflow-hidden text-sm data-[open=true]:animate-accordion-down data-[open=false]:animate-accordion-up",
4
+ wrapper: "pb-2.5 pt-0 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4"
5
+ };
6
+ //#endregion
7
+ export { e as default };
8
+
9
+ //# sourceMappingURL=AccordionContent.styles.js.map