@neut/ui 0.0.17 → 0.0.18

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 (707) hide show
  1. package/dist/components/accordion/Accordion/Accordion.js +3 -0
  2. package/dist/components/accordion/Accordion/Accordion.js.map +1 -1
  3. package/dist/components/accordion/AccordionContent/AccordionContent.js +27 -21
  4. package/dist/components/accordion/AccordionContent/AccordionContent.js.map +1 -1
  5. package/dist/components/accordion/AccordionItem/AccordionItem.js +3 -0
  6. package/dist/components/accordion/AccordionItem/AccordionItem.js.map +1 -1
  7. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js +19 -18
  8. package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js.map +1 -1
  9. package/dist/components/alert/Alert/Alert.js +8 -3
  10. package/dist/components/alert/Alert/Alert.js.map +1 -1
  11. package/dist/components/alert/AlertAction/AlertAction.js +8 -3
  12. package/dist/components/alert/AlertAction/AlertAction.js.map +1 -1
  13. package/dist/components/alert/AlertDescription/AlertDescription.js +8 -3
  14. package/dist/components/alert/AlertDescription/AlertDescription.js.map +1 -1
  15. package/dist/components/alert/AlertTitle/AlertTitle.js +8 -3
  16. package/dist/components/alert/AlertTitle/AlertTitle.js.map +1 -1
  17. package/dist/components/alert-dialog/AlertDialog/AlertDialog.d.ts +3 -1
  18. package/dist/components/alert-dialog/AlertDialog/AlertDialog.js +6 -1
  19. package/dist/components/alert-dialog/AlertDialog/AlertDialog.js.map +1 -1
  20. package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js +9 -7
  21. package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js.map +1 -1
  22. package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.types.d.ts +9 -3
  23. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js +8 -3
  24. package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js.map +1 -1
  25. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js +8 -3
  26. package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js.map +1 -1
  27. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js +8 -3
  28. package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js.map +1 -1
  29. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js +8 -3
  30. package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js.map +1 -1
  31. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js +8 -3
  32. package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js.map +1 -1
  33. package/dist/components/aspect-ratio/AspectRatio.js +3 -0
  34. package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
  35. package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js +15 -7
  36. package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js.map +1 -1
  37. package/dist/components/avatar/Avatar/Avatar.context.d.ts +7 -0
  38. package/dist/components/avatar/Avatar/Avatar.context.js +1 -1
  39. package/dist/components/avatar/Avatar/Avatar.context.js.map +1 -1
  40. package/dist/components/avatar/Avatar/Avatar.js +7 -2
  41. package/dist/components/avatar/Avatar/Avatar.js.map +1 -1
  42. package/dist/components/avatar/AvatarBadge/AvatarBadge.js +8 -3
  43. package/dist/components/avatar/AvatarBadge/AvatarBadge.js.map +1 -1
  44. package/dist/components/avatar/AvatarFallback/AvatarFallback.js +10 -5
  45. package/dist/components/avatar/AvatarFallback/AvatarFallback.js.map +1 -1
  46. package/dist/components/avatar/AvatarGroup/AvatarGroup.js +8 -3
  47. package/dist/components/avatar/AvatarGroup/AvatarGroup.js.map +1 -1
  48. package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js +8 -3
  49. package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js.map +1 -1
  50. package/dist/components/avatar/AvatarImage/AvatarImage.js +19 -12
  51. package/dist/components/avatar/AvatarImage/AvatarImage.js.map +1 -1
  52. package/dist/components/badge/Badge.js +9 -4
  53. package/dist/components/badge/Badge.js.map +1 -1
  54. package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js +8 -3
  55. package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js.map +1 -1
  56. package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js +8 -3
  57. package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
  58. package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js +3 -0
  59. package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
  60. package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js +8 -3
  61. package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js.map +1 -1
  62. package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js +8 -3
  63. package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js.map +1 -1
  64. package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js +8 -3
  65. package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js.map +1 -1
  66. package/dist/components/bubble/BubbleContent/BubbleContent.js +21 -10
  67. package/dist/components/bubble/BubbleContent/BubbleContent.js.map +1 -1
  68. package/dist/components/button/Button.js +3 -0
  69. package/dist/components/button/Button.js.map +1 -1
  70. package/dist/components/button-group/ButtonGroup/ButtonGroup.js +3 -0
  71. package/dist/components/button-group/ButtonGroup/ButtonGroup.js.map +1 -1
  72. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js +16 -7
  73. package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js.map +1 -1
  74. package/dist/components/calendar/Calendar/Calendar.d.ts +2 -3
  75. package/dist/components/calendar/Calendar/Calendar.js +89 -264
  76. package/dist/components/calendar/Calendar/Calendar.js.map +1 -1
  77. package/dist/components/calendar/Calendar/Calendar.options.d.ts +43 -0
  78. package/dist/components/calendar/Calendar/Calendar.options.js +38 -0
  79. package/dist/components/calendar/Calendar/Calendar.options.js.map +1 -0
  80. package/dist/components/calendar/Calendar/Calendar.selection.d.ts +16 -0
  81. package/dist/components/calendar/Calendar/Calendar.selection.js +50 -0
  82. package/dist/components/calendar/Calendar/Calendar.selection.js.map +1 -0
  83. package/dist/components/calendar/Calendar/Calendar.styles.d.ts +8 -0
  84. package/dist/components/calendar/Calendar/Calendar.styles.js +32 -0
  85. package/dist/components/calendar/Calendar/Calendar.styles.js.map +1 -0
  86. package/dist/components/calendar/Calendar/Calendar.utils.d.ts +3 -1
  87. package/dist/components/calendar/Calendar/Calendar.utils.js +4 -1
  88. package/dist/components/calendar/Calendar/Calendar.utils.js.map +1 -1
  89. package/dist/components/calendar/Calendar/CalendarDay.d.ts +28 -0
  90. package/dist/components/calendar/Calendar/CalendarDay.js +41 -0
  91. package/dist/components/calendar/Calendar/CalendarDay.js.map +1 -0
  92. package/dist/components/calendar/Calendar/CalendarMonth.d.ts +35 -0
  93. package/dist/components/calendar/Calendar/CalendarMonth.js +127 -0
  94. package/dist/components/calendar/Calendar/CalendarMonth.js.map +1 -0
  95. package/dist/components/calendar/Calendar/CalendarMonthCaption.d.ts +22 -0
  96. package/dist/components/calendar/Calendar/CalendarMonthCaption.js +103 -0
  97. package/dist/components/calendar/Calendar/CalendarMonthCaption.js.map +1 -0
  98. package/dist/components/calendar/index.js +3 -2
  99. package/dist/components/card/Card/Card.js +3 -0
  100. package/dist/components/card/Card/Card.js.map +1 -1
  101. package/dist/components/card/CardAction/CardAction.js +8 -3
  102. package/dist/components/card/CardAction/CardAction.js.map +1 -1
  103. package/dist/components/card/CardContent/CardContent.js +8 -3
  104. package/dist/components/card/CardContent/CardContent.js.map +1 -1
  105. package/dist/components/card/CardDescription/CardDescription.js +8 -3
  106. package/dist/components/card/CardDescription/CardDescription.js.map +1 -1
  107. package/dist/components/card/CardFooter/CardFooter.js +8 -3
  108. package/dist/components/card/CardFooter/CardFooter.js.map +1 -1
  109. package/dist/components/card/CardHeader/CardHeader.js +8 -3
  110. package/dist/components/card/CardHeader/CardHeader.js.map +1 -1
  111. package/dist/components/card/CardTitle/CardTitle.js +8 -3
  112. package/dist/components/card/CardTitle/CardTitle.js.map +1 -1
  113. package/dist/components/carousel/Carousel/Carousel.context.js +1 -1
  114. package/dist/components/carousel/Carousel/Carousel.context.js.map +1 -1
  115. package/dist/components/carousel/Carousel/Carousel.js +19 -12
  116. package/dist/components/carousel/Carousel/Carousel.js.map +1 -1
  117. package/dist/components/carousel/Carousel/useKeyboardNavigation.d.ts +11 -1
  118. package/dist/components/carousel/Carousel/useKeyboardNavigation.js +5 -4
  119. package/dist/components/carousel/Carousel/useKeyboardNavigation.js.map +1 -1
  120. package/dist/components/carousel/CarouselContent/CarouselContent.js +8 -3
  121. package/dist/components/carousel/CarouselContent/CarouselContent.js.map +1 -1
  122. package/dist/components/carousel/CarouselNext/CarouselNext.js +29 -16
  123. package/dist/components/carousel/CarouselNext/CarouselNext.js.map +1 -1
  124. package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js +29 -16
  125. package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js.map +1 -1
  126. package/dist/components/checkbox/Checkbox/Checkbox.js +32 -25
  127. package/dist/components/checkbox/Checkbox/Checkbox.js.map +1 -1
  128. package/dist/components/collapsible/Collapsible/Collapsible.context.js +1 -1
  129. package/dist/components/collapsible/Collapsible/Collapsible.context.js.map +1 -1
  130. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js +13 -12
  131. package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js.map +1 -1
  132. package/dist/components/combobox/Combobox/Combobox.js +52 -52
  133. package/dist/components/combobox/Combobox/Combobox.js.map +1 -1
  134. package/dist/components/combobox/Combobox/Combobox.types.d.ts +15 -6
  135. package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js +7 -3
  136. package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js.map +1 -1
  137. package/dist/components/combobox/ComboboxClear/ComboboxClear.js +1 -1
  138. package/dist/components/combobox/ComboboxClear/ComboboxClear.js.map +1 -1
  139. package/dist/components/combobox/ComboboxInput/ComboboxInput.js +26 -10
  140. package/dist/components/combobox/ComboboxInput/ComboboxInput.js.map +1 -1
  141. package/dist/components/combobox/ComboboxItem/ComboboxItem.js +6 -5
  142. package/dist/components/combobox/ComboboxItem/ComboboxItem.js.map +1 -1
  143. package/dist/components/combobox/ComboboxList/ComboboxList.js +17 -11
  144. package/dist/components/combobox/ComboboxList/ComboboxList.js.map +1 -1
  145. package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js +8 -1
  146. package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js.map +1 -1
  147. package/dist/components/context-menu/ContextMenu/ContextMenu.js +10 -8
  148. package/dist/components/context-menu/ContextMenu/ContextMenu.js.map +1 -1
  149. package/dist/components/context-menu/ContextMenuContent/context-menu.highlight.d.ts +33 -0
  150. package/dist/components/context-menu/ContextMenuContent/context-menu.highlight.js +41 -0
  151. package/dist/components/context-menu/ContextMenuContent/context-menu.highlight.js.map +1 -0
  152. package/dist/components/context-menu/ContextMenuContent/context-menu.popup-items.d.ts +25 -0
  153. package/dist/components/context-menu/ContextMenuContent/context-menu.popup-items.js +20 -0
  154. package/dist/components/context-menu/ContextMenuContent/context-menu.popup-items.js.map +1 -0
  155. package/dist/components/context-menu/ContextMenuContent/context-menu.positioner.d.ts +31 -0
  156. package/dist/components/context-menu/ContextMenuContent/context-menu.positioner.js +39 -0
  157. package/dist/components/context-menu/ContextMenuContent/context-menu.positioner.js.map +1 -0
  158. package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js +70 -136
  159. package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js.map +1 -1
  160. package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js +2 -1
  161. package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js.map +1 -1
  162. package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js +20 -10
  163. package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js.map +1 -1
  164. package/dist/components/context-menu/ContextMenuTrigger/context-menu.long-press.d.ts +24 -0
  165. package/dist/components/context-menu/ContextMenuTrigger/context-menu.long-press.js +26 -0
  166. package/dist/components/context-menu/ContextMenuTrigger/context-menu.long-press.js.map +1 -0
  167. package/dist/components/context-menu/ContextMenuTrigger/context-menu.trigger.utils.d.ts +35 -0
  168. package/dist/components/context-menu/ContextMenuTrigger/context-menu.trigger.utils.js +17 -0
  169. package/dist/components/context-menu/ContextMenuTrigger/context-menu.trigger.utils.js.map +1 -0
  170. package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.d.ts +9 -11
  171. package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js +36 -33
  172. package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js.map +1 -1
  173. package/dist/components/context-menu/context-menu.keyboard.d.ts +29 -0
  174. package/dist/components/context-menu/context-menu.keyboard.js +52 -0
  175. package/dist/components/context-menu/context-menu.keyboard.js.map +1 -0
  176. package/dist/components/context-menu/context-menu.typeahead.d.ts +27 -0
  177. package/dist/components/context-menu/context-menu.typeahead.js +19 -0
  178. package/dist/components/context-menu/context-menu.typeahead.js.map +1 -0
  179. package/dist/components/context-menu/context-menu.utils.d.ts +5 -2
  180. package/dist/components/context-menu/context-menu.utils.js +17 -39
  181. package/dist/components/context-menu/context-menu.utils.js.map +1 -1
  182. package/dist/components/date-picker/DatePicker/DatePicker.js +6 -0
  183. package/dist/components/date-picker/DatePicker/DatePicker.js.map +1 -1
  184. package/dist/components/dialog/Dialog/Dialog.context.js +1 -1
  185. package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
  186. package/dist/components/dialog/Dialog/Dialog.js +24 -15
  187. package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
  188. package/dist/components/dialog/Dialog/Dialog.types.d.ts +5 -0
  189. package/dist/components/dialog/DialogClose/DialogClose.js +20 -19
  190. package/dist/components/dialog/DialogClose/DialogClose.js.map +1 -1
  191. package/dist/components/dialog/DialogContent/DialogContent.context.js +1 -1
  192. package/dist/components/dialog/DialogContent/DialogContent.context.js.map +1 -1
  193. package/dist/components/dialog/DialogDescription/DialogDescription.js +8 -3
  194. package/dist/components/dialog/DialogDescription/DialogDescription.js.map +1 -1
  195. package/dist/components/dialog/DialogFooter/DialogFooter.js +8 -3
  196. package/dist/components/dialog/DialogFooter/DialogFooter.js.map +1 -1
  197. package/dist/components/dialog/DialogHeader/DialogHeader.js +8 -3
  198. package/dist/components/dialog/DialogHeader/DialogHeader.js.map +1 -1
  199. package/dist/components/dialog/DialogOverlay/DialogOverlay.js +3 -0
  200. package/dist/components/dialog/DialogOverlay/DialogOverlay.js.map +1 -1
  201. package/dist/components/dialog/DialogSurface/DialogSurface.js +34 -26
  202. package/dist/components/dialog/DialogSurface/DialogSurface.js.map +1 -1
  203. package/dist/components/dialog/DialogTitle/DialogTitle.js +8 -3
  204. package/dist/components/dialog/DialogTitle/DialogTitle.js.map +1 -1
  205. package/dist/components/drawer/Drawer/Drawer.js +1 -1
  206. package/dist/components/drawer/Drawer/Drawer.js.map +1 -1
  207. package/dist/components/drawer/Drawer/create-change-event-details.js +4 -20
  208. package/dist/components/drawer/Drawer/create-change-event-details.js.map +1 -1
  209. package/dist/components/drawer/DrawerContent/drawer-swipe.utils.d.ts +32 -0
  210. package/dist/components/drawer/DrawerContent/drawer-swipe.utils.js +36 -0
  211. package/dist/components/drawer/DrawerContent/drawer-swipe.utils.js.map +1 -0
  212. package/dist/components/drawer/DrawerContent/useDrawerSwipe.d.ts +3 -0
  213. package/dist/components/drawer/DrawerContent/useDrawerSwipe.js +22 -42
  214. package/dist/components/drawer/DrawerContent/useDrawerSwipe.js.map +1 -1
  215. package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js +1 -1
  216. package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js.map +1 -1
  217. package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js +7 -7
  218. package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js.map +1 -1
  219. package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.d.ts +7 -1
  220. package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js +10 -10
  221. package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js.map +1 -1
  222. package/dist/components/field/Field/Field.js +3 -0
  223. package/dist/components/field/Field/Field.js.map +1 -1
  224. package/dist/components/field/FieldContent/FieldContent.js +8 -3
  225. package/dist/components/field/FieldContent/FieldContent.js.map +1 -1
  226. package/dist/components/field/FieldDescription/FieldDescription.js +8 -3
  227. package/dist/components/field/FieldDescription/FieldDescription.js.map +1 -1
  228. package/dist/components/field/FieldError/FieldError.js +8 -3
  229. package/dist/components/field/FieldError/FieldError.js.map +1 -1
  230. package/dist/components/field/FieldGroup/FieldGroup.js +8 -3
  231. package/dist/components/field/FieldGroup/FieldGroup.js.map +1 -1
  232. package/dist/components/field/FieldLabel/FieldLabel.js +3 -0
  233. package/dist/components/field/FieldLabel/FieldLabel.js.map +1 -1
  234. package/dist/components/field/FieldLegend/FieldLegend.js +3 -0
  235. package/dist/components/field/FieldLegend/FieldLegend.js.map +1 -1
  236. package/dist/components/field/FieldSeparator/FieldSeparator.js +3 -0
  237. package/dist/components/field/FieldSeparator/FieldSeparator.js.map +1 -1
  238. package/dist/components/field/FieldSet/FieldSet.js +8 -3
  239. package/dist/components/field/FieldSet/FieldSet.js.map +1 -1
  240. package/dist/components/field/FieldTitle/FieldTitle.js +8 -3
  241. package/dist/components/field/FieldTitle/FieldTitle.js.map +1 -1
  242. package/dist/components/image/Image.utils.d.ts +14 -16
  243. package/dist/components/image/Image.utils.js +146 -190
  244. package/dist/components/image/Image.utils.js.map +1 -1
  245. package/dist/components/image/ImageElement.js +31 -27
  246. package/dist/components/image/ImageElement.js.map +1 -1
  247. package/dist/components/image/lib/blur.d.ts +31 -0
  248. package/dist/components/image/lib/blur.js +24 -0
  249. package/dist/components/image/lib/blur.js.map +1 -0
  250. package/dist/components/image/lib/dev-checks.d.ts +52 -0
  251. package/dist/components/image/lib/handle-loading.d.ts +13 -0
  252. package/dist/components/image/lib/handle-loading.js +20 -0
  253. package/dist/components/image/lib/handle-loading.js.map +1 -0
  254. package/dist/components/image/lib/loader.d.ts +39 -0
  255. package/dist/components/image/lib/loader.js +57 -0
  256. package/dist/components/image/lib/loader.js.map +1 -0
  257. package/dist/components/image/lib/static-import.d.ts +14 -0
  258. package/dist/components/image/lib/static-import.js +17 -0
  259. package/dist/components/image/lib/static-import.js.map +1 -0
  260. package/dist/components/input-group/InputGroup/InputGroup.js +8 -3
  261. package/dist/components/input-group/InputGroup/InputGroup.js.map +1 -1
  262. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js +3 -0
  263. package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js.map +1 -1
  264. package/dist/components/input-group/InputGroupButton/InputGroupButton.js +3 -0
  265. package/dist/components/input-group/InputGroupButton/InputGroupButton.js.map +1 -1
  266. package/dist/components/input-group/InputGroupInput/InputGroupInput.js +3 -0
  267. package/dist/components/input-group/InputGroupInput/InputGroupInput.js.map +1 -1
  268. package/dist/components/input-group/InputGroupText/InputGroupText.js +8 -3
  269. package/dist/components/input-group/InputGroupText/InputGroupText.js.map +1 -1
  270. package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js +3 -0
  271. package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js.map +1 -1
  272. package/dist/components/item/Item/Item.js +9 -0
  273. package/dist/components/item/Item/Item.js.map +1 -1
  274. package/dist/components/item/ItemActions/ItemActions.js +8 -3
  275. package/dist/components/item/ItemActions/ItemActions.js.map +1 -1
  276. package/dist/components/item/ItemContent/ItemContent.js +8 -3
  277. package/dist/components/item/ItemContent/ItemContent.js.map +1 -1
  278. package/dist/components/item/ItemDescription/ItemDescription.js +8 -3
  279. package/dist/components/item/ItemDescription/ItemDescription.js.map +1 -1
  280. package/dist/components/item/ItemFooter/ItemFooter.js +8 -3
  281. package/dist/components/item/ItemFooter/ItemFooter.js.map +1 -1
  282. package/dist/components/item/ItemGroup/ItemGroup.js +8 -3
  283. package/dist/components/item/ItemGroup/ItemGroup.js.map +1 -1
  284. package/dist/components/item/ItemHeader/ItemHeader.js +8 -3
  285. package/dist/components/item/ItemHeader/ItemHeader.js.map +1 -1
  286. package/dist/components/item/ItemMedia/ItemMedia.js +3 -0
  287. package/dist/components/item/ItemMedia/ItemMedia.js.map +1 -1
  288. package/dist/components/item/ItemSeparator/ItemSeparator.js +3 -0
  289. package/dist/components/item/ItemSeparator/ItemSeparator.js.map +1 -1
  290. package/dist/components/item/ItemTitle/ItemTitle.js +8 -3
  291. package/dist/components/item/ItemTitle/ItemTitle.js.map +1 -1
  292. package/dist/components/kbd/Kbd.js +16 -6
  293. package/dist/components/kbd/Kbd.js.map +1 -1
  294. package/dist/components/label/Label.js +3 -0
  295. package/dist/components/label/Label.js.map +1 -1
  296. package/dist/components/marker/Marker/Marker.styles.d.ts +1 -1
  297. package/dist/components/message-scroller/message-scroller.anchoring.d.ts +60 -0
  298. package/dist/components/message-scroller/message-scroller.anchoring.js +139 -0
  299. package/dist/components/message-scroller/message-scroller.anchoring.js.map +1 -0
  300. package/dist/components/message-scroller/message-scroller.anchors.d.ts +12 -0
  301. package/dist/components/message-scroller/message-scroller.anchors.js +23 -0
  302. package/dist/components/message-scroller/message-scroller.anchors.js.map +1 -0
  303. package/dist/components/message-scroller/message-scroller.commands.d.ts +43 -0
  304. package/dist/components/message-scroller/message-scroller.commands.js +51 -0
  305. package/dist/components/message-scroller/message-scroller.commands.js.map +1 -0
  306. package/dist/components/message-scroller/message-scroller.dom-measure.d.ts +29 -0
  307. package/dist/components/message-scroller/message-scroller.dom-measure.js +37 -0
  308. package/dist/components/message-scroller/message-scroller.dom-measure.js.map +1 -0
  309. package/dist/components/message-scroller/message-scroller.measure.d.ts +27 -0
  310. package/dist/components/message-scroller/message-scroller.measure.js +21 -0
  311. package/dist/components/message-scroller/message-scroller.measure.js.map +1 -0
  312. package/dist/components/message-scroller/message-scroller.scroll-state.d.ts +54 -0
  313. package/dist/components/message-scroller/message-scroller.scroll-state.js +74 -0
  314. package/dist/components/message-scroller/message-scroller.scroll-state.js.map +1 -0
  315. package/dist/components/message-scroller/message-scroller.scroll-target.d.ts +27 -0
  316. package/dist/components/message-scroller/message-scroller.scroll-target.js +33 -0
  317. package/dist/components/message-scroller/message-scroller.scroll-target.js.map +1 -0
  318. package/dist/components/message-scroller/message-scroller.utils.d.ts +7 -0
  319. package/dist/components/message-scroller/message-scroller.utils.js +3 -2
  320. package/dist/components/message-scroller/message-scroller.utils.js.map +1 -1
  321. package/dist/components/message-scroller/message-scroller.visibility.d.ts +43 -0
  322. package/dist/components/message-scroller/message-scroller.visibility.js +82 -0
  323. package/dist/components/message-scroller/message-scroller.visibility.js.map +1 -0
  324. package/dist/components/message-scroller/useMessageScrollerEngine.js +87 -337
  325. package/dist/components/message-scroller/useMessageScrollerEngine.js.map +1 -1
  326. package/dist/components/number-input/NumberInput/NumberInput.js +21 -19
  327. package/dist/components/number-input/NumberInput/NumberInput.js.map +1 -1
  328. package/dist/components/number-input/NumberInput/NumberInput.utils.d.ts +6 -2
  329. package/dist/components/number-input/NumberInput/NumberInput.utils.js +1 -3
  330. package/dist/components/number-input/NumberInput/NumberInput.utils.js.map +1 -1
  331. package/dist/components/number-input/NumberInput/create-change-event-details.d.ts +1 -2
  332. package/dist/components/number-input/NumberInput/create-change-event-details.js +4 -20
  333. package/dist/components/number-input/NumberInput/create-change-event-details.js.map +1 -1
  334. package/dist/components/pagination/Pagination/Pagination.js +8 -3
  335. package/dist/components/pagination/Pagination/Pagination.js.map +1 -1
  336. package/dist/components/pagination/PaginationContent/PaginationContent.js +8 -3
  337. package/dist/components/pagination/PaginationContent/PaginationContent.js.map +1 -1
  338. package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js +8 -3
  339. package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js.map +1 -1
  340. package/dist/components/pagination/PaginationLink/PaginationLink.js +3 -0
  341. package/dist/components/pagination/PaginationLink/PaginationLink.js.map +1 -1
  342. package/dist/components/pagination/PaginationNext/PaginationNext.js +3 -0
  343. package/dist/components/pagination/PaginationNext/PaginationNext.js.map +1 -1
  344. package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js +3 -0
  345. package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js.map +1 -1
  346. package/dist/components/popover/PopoverContent/PopoverContent.js +3 -0
  347. package/dist/components/popover/PopoverContent/PopoverContent.js.map +1 -1
  348. package/dist/components/progress/Progress/Progress.context.js +1 -1
  349. package/dist/components/progress/Progress/Progress.context.js.map +1 -1
  350. package/dist/components/progress/Progress/Progress.js +3 -0
  351. package/dist/components/progress/Progress/Progress.js.map +1 -1
  352. package/dist/components/progress/ProgressIndicator/ProgressIndicator.js +3 -0
  353. package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -1
  354. package/dist/components/progress/ProgressLabel/ProgressLabel.js +8 -3
  355. package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -1
  356. package/dist/components/progress/ProgressTrack/ProgressTrack.js +3 -0
  357. package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -1
  358. package/dist/components/progress/ProgressValue/ProgressValue.js +8 -3
  359. package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -1
  360. package/dist/components/questionnaire/QuestionnaireChoice/questionnaire-choice.utils.d.ts +48 -0
  361. package/dist/components/questionnaire/QuestionnaireChoice/questionnaire-choice.utils.js +23 -0
  362. package/dist/components/questionnaire/QuestionnaireChoice/questionnaire-choice.utils.js.map +1 -0
  363. package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js +62 -49
  364. package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js.map +1 -1
  365. package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js +4 -1
  366. package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js.map +1 -1
  367. package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js +1 -2
  368. package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js.map +1 -1
  369. package/dist/components/questionnaire/questionnaire.answers.d.ts +42 -0
  370. package/dist/components/questionnaire/questionnaire.answers.js +62 -0
  371. package/dist/components/questionnaire/questionnaire.answers.js.map +1 -0
  372. package/dist/components/questionnaire/questionnaire.aria.d.ts +34 -0
  373. package/dist/components/questionnaire/questionnaire.aria.js +28 -0
  374. package/dist/components/questionnaire/questionnaire.aria.js.map +1 -0
  375. package/dist/components/questionnaire/questionnaire.dom-watch.d.ts +9 -0
  376. package/dist/components/questionnaire/questionnaire.dom-watch.js +18 -0
  377. package/dist/components/questionnaire/questionnaire.dom-watch.js.map +1 -0
  378. package/dist/components/questionnaire/questionnaire.focus.d.ts +26 -0
  379. package/dist/components/questionnaire/questionnaire.focus.js +19 -0
  380. package/dist/components/questionnaire/questionnaire.focus.js.map +1 -0
  381. package/dist/components/questionnaire/questionnaire.item-view.d.ts +50 -0
  382. package/dist/components/questionnaire/questionnaire.item-view.js +36 -0
  383. package/dist/components/questionnaire/questionnaire.item-view.js.map +1 -0
  384. package/dist/components/questionnaire/questionnaire.keys.d.ts +29 -0
  385. package/dist/components/questionnaire/questionnaire.keys.js +34 -0
  386. package/dist/components/questionnaire/questionnaire.keys.js.map +1 -0
  387. package/dist/components/questionnaire/questionnaire.registry.d.ts +21 -0
  388. package/dist/components/questionnaire/questionnaire.registry.js +15 -0
  389. package/dist/components/questionnaire/questionnaire.registry.js.map +1 -0
  390. package/dist/components/questionnaire/questionnaire.shortcuts.d.ts +24 -0
  391. package/dist/components/questionnaire/questionnaire.shortcuts.js +31 -0
  392. package/dist/components/questionnaire/questionnaire.shortcuts.js.map +1 -0
  393. package/dist/components/questionnaire/questionnaire.utils.d.ts +17 -1
  394. package/dist/components/questionnaire/questionnaire.utils.js +5 -2
  395. package/dist/components/questionnaire/questionnaire.utils.js.map +1 -1
  396. package/dist/components/questionnaire/questionnaire.validation.d.ts +43 -0
  397. package/dist/components/questionnaire/questionnaire.validation.js +17 -0
  398. package/dist/components/questionnaire/questionnaire.validation.js.map +1 -0
  399. package/dist/components/questionnaire/useQuestionnaireItem.d.ts +0 -2
  400. package/dist/components/questionnaire/useQuestionnaireItem.js +83 -121
  401. package/dist/components/questionnaire/useQuestionnaireItem.js.map +1 -1
  402. package/dist/components/questionnaire/useQuestionnaireRoot.js +78 -99
  403. package/dist/components/questionnaire/useQuestionnaireRoot.js.map +1 -1
  404. package/dist/components/radio-group/RadioGroup/RadioGroup.js +3 -0
  405. package/dist/components/radio-group/RadioGroup/RadioGroup.js.map +1 -1
  406. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js +3 -0
  407. package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js.map +1 -1
  408. package/dist/components/resizable/ResizableHandle/resizable.handle-drag.d.ts +37 -0
  409. package/dist/components/resizable/ResizableHandle/resizable.handle-drag.js +37 -0
  410. package/dist/components/resizable/ResizableHandle/resizable.handle-drag.js.map +1 -0
  411. package/dist/components/resizable/ResizableHandle/resizable.handle-keys.d.ts +24 -0
  412. package/dist/components/resizable/ResizableHandle/resizable.handle-keys.js +36 -0
  413. package/dist/components/resizable/ResizableHandle/resizable.handle-keys.js.map +1 -0
  414. package/dist/components/resizable/ResizableHandle/useResizableHandle.d.ts +3 -4
  415. package/dist/components/resizable/ResizableHandle/useResizableHandle.js +30 -63
  416. package/dist/components/resizable/ResizableHandle/useResizableHandle.js.map +1 -1
  417. package/dist/components/resizable/ResizablePanel/ResizablePanel.d.ts +4 -2
  418. package/dist/components/resizable/ResizablePanel/ResizablePanel.js +23 -50
  419. package/dist/components/resizable/ResizablePanel/ResizablePanel.js.map +1 -1
  420. package/dist/components/resizable/ResizablePanel/useResizablePanel.d.ts +30 -0
  421. package/dist/components/resizable/ResizablePanel/useResizablePanel.js +37 -0
  422. package/dist/components/resizable/ResizablePanel/useResizablePanel.js.map +1 -0
  423. package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.d.ts +4 -1
  424. package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js +10 -17
  425. package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js.map +1 -1
  426. package/dist/components/resizable/ResizablePanelGroup/useDragCursor.d.ts +11 -0
  427. package/dist/components/resizable/ResizablePanelGroup/useDragCursor.js +17 -0
  428. package/dist/components/resizable/ResizablePanelGroup/useDragCursor.js.map +1 -0
  429. package/dist/components/resizable/resizable.collapse.d.ts +27 -0
  430. package/dist/components/resizable/resizable.collapse.js +24 -0
  431. package/dist/components/resizable/resizable.collapse.js.map +1 -0
  432. package/dist/components/resizable/resizable.commands.d.ts +32 -0
  433. package/dist/components/resizable/resizable.commands.js +40 -0
  434. package/dist/components/resizable/resizable.commands.js.map +1 -0
  435. package/dist/components/resizable/resizable.constraints.d.ts +23 -0
  436. package/dist/components/resizable/resizable.constraints.js +32 -0
  437. package/dist/components/resizable/resizable.constraints.js.map +1 -0
  438. package/dist/components/resizable/resizable.lifecycle.d.ts +35 -0
  439. package/dist/components/resizable/resizable.lifecycle.js +32 -0
  440. package/dist/components/resizable/resizable.lifecycle.js.map +1 -0
  441. package/dist/components/resizable/resizable.registry.d.ts +31 -0
  442. package/dist/components/resizable/resizable.registry.js +38 -0
  443. package/dist/components/resizable/resizable.registry.js.map +1 -0
  444. package/dist/components/resizable/resizable.reporting.d.ts +36 -0
  445. package/dist/components/resizable/resizable.reporting.js +33 -0
  446. package/dist/components/resizable/resizable.reporting.js.map +1 -0
  447. package/dist/components/resizable/resizable.resize.d.ts +47 -0
  448. package/dist/components/resizable/resizable.resize.js +28 -0
  449. package/dist/components/resizable/resizable.resize.js.map +1 -0
  450. package/dist/components/resizable/resizable.sizes.d.ts +31 -0
  451. package/dist/components/resizable/resizable.sizes.js +46 -0
  452. package/dist/components/resizable/resizable.sizes.js.map +1 -0
  453. package/dist/components/resizable/resizable.storage.d.ts +17 -0
  454. package/dist/components/resizable/resizable.storage.js +29 -0
  455. package/dist/components/resizable/resizable.storage.js.map +1 -0
  456. package/dist/components/resizable/resizable.utils.d.ts +10 -3
  457. package/dist/components/resizable/resizable.utils.js +16 -10
  458. package/dist/components/resizable/resizable.utils.js.map +1 -1
  459. package/dist/components/resizable/useResizablePanelGroup.js +62 -164
  460. package/dist/components/resizable/useResizablePanelGroup.js.map +1 -1
  461. package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js +1 -1
  462. package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js.map +1 -1
  463. package/dist/components/scroll-area/ScrollArea/ScrollArea.d.ts +9 -0
  464. package/dist/components/scroll-area/ScrollArea/ScrollArea.js +28 -39
  465. package/dist/components/scroll-area/ScrollArea/ScrollArea.js.map +1 -1
  466. package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js +3 -3
  467. package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js.map +1 -1
  468. package/dist/components/scroll-area/ScrollArea/useScrollAreaMetrics.d.ts +22 -0
  469. package/dist/components/scroll-area/ScrollArea/useScrollAreaMetrics.js +34 -0
  470. package/dist/components/scroll-area/ScrollArea/useScrollAreaMetrics.js.map +1 -0
  471. package/dist/components/scroll-area/ScrollBar/ScrollBar.d.ts +8 -0
  472. package/dist/components/scroll-area/ScrollBar/ScrollBar.js +38 -71
  473. package/dist/components/scroll-area/ScrollBar/ScrollBar.js.map +1 -1
  474. package/dist/components/scroll-area/ScrollBar/ScrollBar.utils.d.ts +56 -0
  475. package/dist/components/scroll-area/ScrollBar/ScrollBar.utils.js +61 -0
  476. package/dist/components/scroll-area/ScrollBar/ScrollBar.utils.js.map +1 -0
  477. package/dist/components/scroll-area/ScrollBar/scroll-bar.thumb-drag.d.ts +25 -0
  478. package/dist/components/scroll-area/ScrollBar/scroll-bar.thumb-drag.js +26 -0
  479. package/dist/components/scroll-area/ScrollBar/scroll-bar.thumb-drag.js.map +1 -0
  480. package/dist/components/scroll-area/ScrollBar/useScrollBarInteraction.d.ts +19 -0
  481. package/dist/components/scroll-area/ScrollBar/useScrollBarInteraction.js +37 -0
  482. package/dist/components/scroll-area/ScrollBar/useScrollBarInteraction.js.map +1 -0
  483. package/dist/components/scroll-arrows/ScrollArrowButton.d.ts +5 -7
  484. package/dist/components/scroll-arrows/ScrollArrowButton.js +14 -44
  485. package/dist/components/scroll-arrows/ScrollArrowButton.js.map +1 -1
  486. package/dist/components/scroll-arrows/ScrollArrows.d.ts +4 -3
  487. package/dist/components/scroll-arrows/ScrollArrows.js +16 -22
  488. package/dist/components/scroll-arrows/ScrollArrows.js.map +1 -1
  489. package/dist/components/scroll-arrows/ScrollArrows.types.d.ts +7 -7
  490. package/dist/components/scroll-arrows/useHoverScroll.d.ts +29 -0
  491. package/dist/components/scroll-arrows/useHoverScroll.js +39 -0
  492. package/dist/components/scroll-arrows/useHoverScroll.js.map +1 -0
  493. package/dist/components/select/SelectContent/useSelectContent.js +3 -3
  494. package/dist/components/select/SelectGroup/SelectGroup.d.ts +8 -2
  495. package/dist/components/select/SelectGroup/SelectGroup.js +20 -6
  496. package/dist/components/select/SelectGroup/SelectGroup.js.map +1 -1
  497. package/dist/components/select/SelectGroup/SelectGroup.types.d.ts +9 -0
  498. package/dist/components/select/SelectGroup/index.d.ts +1 -0
  499. package/dist/components/select/SelectTrigger/SelectTrigger.js.map +1 -1
  500. package/dist/components/select/SelectTrigger/useSelectTrigger.js +1 -1
  501. package/dist/components/select/SelectTrigger/useSelectTrigger.js.map +1 -1
  502. package/dist/components/separator/Separator.js +3 -0
  503. package/dist/components/separator/Separator.js.map +1 -1
  504. package/dist/components/sheet/SheetClose/SheetClose.js +18 -17
  505. package/dist/components/sheet/SheetClose/SheetClose.js.map +1 -1
  506. package/dist/components/sidebar/Sidebar/Sidebar.js +14 -6
  507. package/dist/components/sidebar/Sidebar/Sidebar.js.map +1 -1
  508. package/dist/components/sidebar/SidebarContent/SidebarContent.js +8 -3
  509. package/dist/components/sidebar/SidebarContent/SidebarContent.js.map +1 -1
  510. package/dist/components/sidebar/SidebarFooter/SidebarFooter.js +8 -3
  511. package/dist/components/sidebar/SidebarFooter/SidebarFooter.js.map +1 -1
  512. package/dist/components/sidebar/SidebarGroup/SidebarGroup.js +8 -3
  513. package/dist/components/sidebar/SidebarGroup/SidebarGroup.js.map +1 -1
  514. package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js +3 -0
  515. package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js.map +1 -1
  516. package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js +8 -3
  517. package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js.map +1 -1
  518. package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js +3 -0
  519. package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js.map +1 -1
  520. package/dist/components/sidebar/SidebarHeader/SidebarHeader.js +8 -3
  521. package/dist/components/sidebar/SidebarHeader/SidebarHeader.js.map +1 -1
  522. package/dist/components/sidebar/SidebarInput/SidebarInput.js +3 -0
  523. package/dist/components/sidebar/SidebarInput/SidebarInput.js.map +1 -1
  524. package/dist/components/sidebar/SidebarInset/SidebarInset.js +8 -3
  525. package/dist/components/sidebar/SidebarInset/SidebarInset.js.map +1 -1
  526. package/dist/components/sidebar/SidebarMenu/SidebarMenu.js +8 -3
  527. package/dist/components/sidebar/SidebarMenu/SidebarMenu.js.map +1 -1
  528. package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js +8 -3
  529. package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js.map +1 -1
  530. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js +6 -0
  531. package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js.map +1 -1
  532. package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js +8 -3
  533. package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js.map +1 -1
  534. package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js +8 -3
  535. package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js.map +1 -1
  536. package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js +8 -3
  537. package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js.map +1 -1
  538. package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js +3 -0
  539. package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js.map +1 -1
  540. package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js +8 -3
  541. package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js.map +1 -1
  542. package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js +1 -1
  543. package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js.map +1 -1
  544. package/dist/components/sidebar/SidebarProvider/SidebarProvider.js +30 -27
  545. package/dist/components/sidebar/SidebarProvider/SidebarProvider.js.map +1 -1
  546. package/dist/components/sidebar/SidebarProvider/useIsMobile.d.ts +10 -0
  547. package/dist/components/sidebar/SidebarProvider/useIsMobile.js +14 -0
  548. package/dist/components/sidebar/SidebarProvider/useIsMobile.js.map +1 -0
  549. package/dist/components/sidebar/SidebarRail/SidebarRail.js +8 -3
  550. package/dist/components/sidebar/SidebarRail/SidebarRail.js.map +1 -1
  551. package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js +3 -0
  552. package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js.map +1 -1
  553. package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js +3 -0
  554. package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js.map +1 -1
  555. package/dist/components/skeleton/Skeleton.js +8 -3
  556. package/dist/components/skeleton/Skeleton.js.map +1 -1
  557. package/dist/components/slider/Slider/Slider.context.js +1 -1
  558. package/dist/components/slider/Slider/Slider.context.js.map +1 -1
  559. package/dist/components/slider/Slider/Slider.js +3 -0
  560. package/dist/components/slider/Slider/Slider.js.map +1 -1
  561. package/dist/components/slider/SliderControl/SliderControl.js +4 -1
  562. package/dist/components/slider/SliderControl/SliderControl.js.map +1 -1
  563. package/dist/components/slider/SliderIndicator/SliderIndicator.js +3 -0
  564. package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +1 -1
  565. package/dist/components/slider/SliderThumb/SliderThumb.js +18 -3
  566. package/dist/components/slider/SliderThumb/SliderThumb.js.map +1 -1
  567. package/dist/components/slider/SliderThumb/useSliderThumb.d.ts +1 -0
  568. package/dist/components/slider/SliderThumb/useSliderThumb.js +3 -2
  569. package/dist/components/slider/SliderThumb/useSliderThumb.js.map +1 -1
  570. package/dist/components/slider/SliderTrack/SliderTrack.js +3 -0
  571. package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -1
  572. package/dist/components/spinner/Spinner.js +3 -0
  573. package/dist/components/spinner/Spinner.js.map +1 -1
  574. package/dist/components/switch/Switch.js +7 -0
  575. package/dist/components/switch/Switch.js.map +1 -1
  576. package/dist/components/tabs/Tabs/Tabs.context.js +1 -1
  577. package/dist/components/tabs/Tabs/Tabs.context.js.map +1 -1
  578. package/dist/components/tabs/Tabs/useTabsKeyboard.d.ts +7 -11
  579. package/dist/components/tabs/Tabs/useTabsKeyboard.js +8 -42
  580. package/dist/components/tabs/Tabs/useTabsKeyboard.js.map +1 -1
  581. package/dist/components/tabs/TabsList/TabsList.context.js +1 -1
  582. package/dist/components/tabs/TabsList/TabsList.context.js.map +1 -1
  583. package/dist/components/tabs/TabsList/TabsList.js +10 -10
  584. package/dist/components/tabs/TabsList/TabsList.js.map +1 -1
  585. package/dist/components/tabs/TabsTrigger/TabsTrigger.js +8 -8
  586. package/dist/components/tabs/TabsTrigger/TabsTrigger.js.map +1 -1
  587. package/dist/components/textarea/Textarea.js +8 -3
  588. package/dist/components/textarea/Textarea.js.map +1 -1
  589. package/dist/components/time-picker/TimePicker/create-change-event-details.d.ts +1 -2
  590. package/dist/components/time-picker/TimePicker/create-change-event-details.js +4 -20
  591. package/dist/components/time-picker/TimePicker/create-change-event-details.js.map +1 -1
  592. package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js +1 -3
  593. package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js.map +1 -1
  594. package/dist/components/time-picker/TimePickerColumn/time-picker.column-utils.d.ts +34 -0
  595. package/dist/components/time-picker/TimePickerColumn/time-picker.column-utils.js +43 -0
  596. package/dist/components/time-picker/TimePickerColumn/time-picker.column-utils.js.map +1 -0
  597. package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js +34 -59
  598. package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js.map +1 -1
  599. package/dist/components/toast/Toast/Toast.d.ts +8 -2
  600. package/dist/components/toast/Toast/Toast.js +92 -146
  601. package/dist/components/toast/Toast/Toast.js.map +1 -1
  602. package/dist/components/toast/Toast/Toast.types.d.ts +1 -1
  603. package/dist/components/toast/Toast/Toast.types.js.map +1 -1
  604. package/dist/components/toast/Toast/Toast.utils.d.ts +47 -0
  605. package/dist/components/toast/Toast/Toast.utils.js +47 -0
  606. package/dist/components/toast/Toast/Toast.utils.js.map +1 -0
  607. package/dist/components/toast/Toast/ToastActionButton.d.ts +16 -0
  608. package/dist/components/toast/Toast/ToastActionButton.js +27 -0
  609. package/dist/components/toast/Toast/ToastActionButton.js.map +1 -0
  610. package/dist/components/toast/Toast/ToastActions.d.ts +12 -0
  611. package/dist/components/toast/Toast/ToastActions.js +65 -0
  612. package/dist/components/toast/Toast/ToastActions.js.map +1 -0
  613. package/dist/components/toast/Toast/ToastCloseButton.d.ts +12 -0
  614. package/dist/components/toast/Toast/ToastCloseButton.js +26 -0
  615. package/dist/components/toast/Toast/ToastCloseButton.js.map +1 -0
  616. package/dist/components/toast/Toast/ToastContent.d.ts +8 -0
  617. package/dist/components/toast/Toast/ToastContent.js +30 -0
  618. package/dist/components/toast/Toast/ToastContent.js.map +1 -0
  619. package/dist/components/toast/Toast/ToastIcon.d.ts +14 -0
  620. package/dist/components/toast/Toast/ToastIcon.js +36 -0
  621. package/dist/components/toast/Toast/ToastIcon.js.map +1 -0
  622. package/dist/components/toast/Toast/useToastLifecycle.d.ts +29 -0
  623. package/dist/components/toast/Toast/useToastLifecycle.js +30 -0
  624. package/dist/components/toast/Toast/useToastLifecycle.js.map +1 -0
  625. package/dist/components/toast/Toaster/ToastViewport.d.ts +33 -0
  626. package/dist/components/toast/Toaster/ToastViewport.js +73 -0
  627. package/dist/components/toast/Toaster/ToastViewport.js.map +1 -0
  628. package/dist/components/toast/Toaster/Toaster.d.ts +4 -0
  629. package/dist/components/toast/Toaster/Toaster.js +64 -82
  630. package/dist/components/toast/Toaster/Toaster.js.map +1 -1
  631. package/dist/components/toast/Toaster/Toaster.utils.d.ts +15 -0
  632. package/dist/components/toast/Toaster/Toaster.utils.js +4 -1
  633. package/dist/components/toast/Toaster/Toaster.utils.js.map +1 -1
  634. package/dist/components/toast/Toaster/useToaster.d.ts +28 -0
  635. package/dist/components/toast/Toaster/useToaster.js +26 -0
  636. package/dist/components/toast/Toaster/useToaster.js.map +1 -0
  637. package/dist/components/toast/index.js +4 -3
  638. package/dist/components/toast/state/promise-toast.d.ts +17 -0
  639. package/dist/components/toast/state/promise-toast.js +33 -0
  640. package/dist/components/toast/state/promise-toast.js.map +1 -0
  641. package/dist/components/toast/state/store.d.ts +21 -0
  642. package/dist/components/toast/state/store.js +45 -0
  643. package/dist/components/toast/state/store.js.map +1 -0
  644. package/dist/components/toast/state/toast.d.ts +9 -10
  645. package/dist/components/toast/state/toast.js +30 -89
  646. package/dist/components/toast/state/toast.js.map +1 -1
  647. package/dist/components/toggle/Toggle/Toggle.js +2 -1
  648. package/dist/components/toggle/Toggle/Toggle.js.map +1 -1
  649. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js +1 -1
  650. package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js.map +1 -1
  651. package/dist/components/toggle-group/ToggleGroup/create-change-event-details.d.ts +6 -2
  652. package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js +4 -20
  653. package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js.map +1 -1
  654. package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.d.ts +7 -10
  655. package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js +10 -40
  656. package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js.map +1 -1
  657. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js +5 -5
  658. package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js.map +1 -1
  659. package/dist/components/tooltip/TooltipContent/usePresence.d.ts +27 -0
  660. package/dist/components/tooltip/TooltipContent/usePresence.js +24 -0
  661. package/dist/components/tooltip/TooltipContent/usePresence.js.map +1 -0
  662. package/dist/components/tooltip/TooltipContent/useTooltipContent.js +22 -35
  663. package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
  664. package/dist/hooks/useFontLoader.js +1 -1
  665. package/dist/hooks/useFontLoader.js.map +1 -1
  666. package/dist/hooks/useScrollLock.js +13 -16
  667. package/dist/hooks/useScrollLock.js.map +1 -1
  668. package/dist/index.js +328 -320
  669. package/dist/lib/positioner/index.d.ts +1 -0
  670. package/dist/lib/positioner/utils/dom.d.ts +8 -0
  671. package/dist/lib/positioner/utils/dom.js +1 -1
  672. package/dist/lib/positioner/utils/dom.js.map +1 -1
  673. package/dist/types/props.types.d.ts +1 -1
  674. package/dist/ui.css +1 -1
  675. package/dist/utils/call-event-handler.d.ts +16 -0
  676. package/dist/utils/call-event-handler.js +15 -0
  677. package/dist/utils/call-event-handler.js.map +1 -0
  678. package/dist/utils/clsx.d.ts +1 -1
  679. package/dist/utils/clsx.js +2 -7
  680. package/dist/utils/create-change-event-details.d.ts +25 -0
  681. package/dist/utils/create-change-event-details.js +25 -0
  682. package/dist/utils/create-change-event-details.js.map +1 -0
  683. package/dist/utils/get-style.d.ts +7 -9
  684. package/dist/utils/get-style.js +16 -0
  685. package/dist/utils/get-style.js.map +1 -0
  686. package/dist/utils/index.d.ts +8 -0
  687. package/dist/utils/index.js +7 -1
  688. package/dist/utils/number.d.ts +7 -0
  689. package/dist/utils/number.js +8 -0
  690. package/dist/utils/number.js.map +1 -0
  691. package/dist/utils/roving-navigation.d.ts +64 -0
  692. package/dist/utils/roving-navigation.js +66 -0
  693. package/dist/utils/roving-navigation.js.map +1 -0
  694. package/dist/utils/string.d.ts +17 -0
  695. package/dist/utils/string.js +11 -0
  696. package/dist/utils/string.js.map +1 -0
  697. package/package.json +18 -7
  698. package/dist/components/carousel/Carousel/Carousel.utils.d.ts +0 -0
  699. package/dist/components/field/FieldError/useFieldError.d.ts +0 -0
  700. package/dist/components/hover-card/hover-card.utils.d.ts +0 -6
  701. package/dist/components/tabs/Tabs/call-event-handler.d.ts +0 -5
  702. package/dist/components/tabs/Tabs/call-event-handler.js +0 -9
  703. package/dist/components/tabs/Tabs/call-event-handler.js.map +0 -1
  704. package/dist/components/toggle-group/call-event-handler.d.ts +0 -5
  705. package/dist/components/toggle-group/call-event-handler.js +0 -9
  706. package/dist/components/toggle-group/call-event-handler.js.map +0 -1
  707. package/dist/utils/clsx.js.map +0 -1
@@ -63,6 +63,9 @@ function m(o) {
63
63
  },
64
64
  get class() {
65
65
  return e("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border border-input outline-none transition-colors", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "disabled:cursor-not-allowed disabled:opacity-50", "aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary", "dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", "data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary", h.class);
66
+ },
67
+ get classList() {
68
+ return h.classList;
66
69
  }
67
70
  }, g), !1, !0), r(t, n(c, {
68
71
  get when() {
@@ -1 +1 @@
1
- {"version":3,"file":"RadioGroupItem.js","names":["Show","createMemo","onCleanup","splitProps","clsx","useRadioGroupContext","RadioGroupItemProps","RadioGroupItem","props","ctx","local","rest","checked","value","isDisabled","disabled","select","setValue","unregister","attachListeners","el","HTMLButtonElement","onClick","onKeyDown","e","KeyboardEvent","key","preventDefault","includes","group","closest","HTMLElement","values","Array","from","querySelectorAll","map","item","dataset","filter","undefined","length","currentIndex","indexOf","direction","nextIndex","nextValue","focusItem","addEventListener","registerItem","removeEventListener","_el$","_tmpl$2","_$use","_$spread","_$mergeProps","aria-checked","data-value","data-checked","style","dir","class","_$insert","_$createComponent","when","children","_tmpl$","_$mergeProps","_$createComponent","_tmpl$","_tmpl$2","RadioGroupItem","ctx","useRadioGroupContext","local","rest","splitProps","props","checked","createMemo","isDisabled","select","unregister","attachListeners","onClick","onKeyDown","e","group","el","values","item","value","nextValue","onCleanup","_el$","use","spread","mergeProps","\"class\"","clsx","insert","createComponent","Show"],"sources":["../../../../src/components/radio-group/RadioGroupItem/RadioGroupItem.tsx"],"sourcesContent":["import { Show, createMemo, onCleanup, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useRadioGroupContext } from \"../RadioGroup\";\nimport type { RadioGroupItemProps } from \"./RadioGroupItem.types\";\n\n/**\n * RadioGroupItem:一个 role=\"radio\" 的按钮。选中时内部渲染指示圆点。\n * 通过 context 读取 RadioGroup 的选中值和禁用状态,支持受控/非受控。\n */\nexport function RadioGroupItem(props: RadioGroupItemProps) {\n const ctx = useRadioGroupContext(\"RadioGroupItem\");\n\n const [local, rest] = splitProps(props, [\n \"value\",\n \"disabled\",\n \"class\",\n \"classList\",\n \"style\",\n \"dir\",\n \"children\",\n ]);\n\n const checked = createMemo(() => ctx.value() === local.value);\n const isDisabled = () => ctx.disabled() || !!local.disabled;\n\n const select = () => {\n if (isDisabled()) return;\n ctx.setValue(local.value);\n };\n\n let unregister: (() => void) | undefined;\n\n const attachListeners = (el: HTMLButtonElement) => {\n const onClick = () => select();\n const onKeyDown = (e: KeyboardEvent) => {\n if (isDisabled()) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n select();\n return;\n }\n\n if ([\"ArrowDown\", \"ArrowRight\", \"ArrowUp\", \"ArrowLeft\"].includes(e.key)) {\n e.preventDefault();\n const group = el.closest<HTMLElement>('[data-slot=\"radio-group\"]');\n const values = Array.from(\n group?.querySelectorAll<HTMLElement>(\n '[data-slot=\"radio-group-item\"]',\n ) ?? [],\n )\n .map((item) => item.dataset.value)\n .filter((value): value is string => value !== undefined);\n if (values.length === 0) return;\n const currentIndex = values.indexOf(local.value);\n const direction =\n e.key === \"ArrowDown\" || e.key === \"ArrowRight\" ? 1 : -1;\n const nextIndex =\n (currentIndex + direction + values.length) % values.length;\n const nextValue = values[nextIndex];\n ctx.setValue(nextValue);\n ctx.focusItem(nextValue);\n }\n };\n\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"keydown\", onKeyDown);\n unregister = ctx.registerItem(local.value, el);\n\n onCleanup(() => {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"keydown\", onKeyDown);\n unregister?.();\n });\n };\n\n return (\n <button\n ref={attachListeners}\n type=\"button\"\n role=\"radio\"\n aria-checked={checked()}\n data-slot=\"radio-group-item\"\n data-value={local.value}\n data-checked={checked() ? \"\" : undefined}\n disabled={isDisabled()}\n style={local.style}\n dir={local.dir}\n class={clsx(\n \"group/radio-group-item peer relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border border-input outline-none transition-colors\",\n \"focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary\",\n \"dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n \"data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary\",\n local.class,\n )}\n {...rest}\n >\n <Show when={checked()}>\n <span\n data-slot=\"radio-group-indicator\"\n class=\"size-2 rounded-full bg-primary-foreground\"\n />\n </Show>\n </button>\n );\n}\n"],"mappings":";;;;;;AASA,SAAgBO,EAAeC,GAA4B;CACzD,IAAMC,IAAMJ,EAAqB,gBAAgB,GAE3C,CAACK,GAAOC,KAAQR,EAAWK,GAAO;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEKI,IAAUX,QAAiBQ,EAAII,MAAM,MAAMH,EAAMG,KAAK,GACtDC,UAAmBL,EAAIM,SAAS,KAAK,CAAC,CAACL,EAAMK,UAE7CC,UAAe;EACnB,AAAIF,EAAW,KACfL,EAAIQ,SAASP,EAAMG,KAAK;CAC1B,GAEIK,GAEEC,KAAmBC,MAA0B;EACjD,IAAME,UAAgBN,EAAO,GACvBO,KAAaC,MAAqB;GACtC,IAAIV,GAAW,GACf;QAAIU,EAAEE,QAAQ,WAAWF,EAAEE,QAAQ,KAAK;KAEtCV,AADAQ,EAAEG,eAAe,GACjBX,EAAO;KACP;IACF;IAEA,IAAI;KAAC;KAAa;KAAc;KAAW;IAAW,CAAC,CAACY,SAASJ,EAAEE,GAAG,GAAG;KACvEF,EAAEG,eAAe;KACjB,IAAME,IAAQT,EAAGU,QAAqB,6BAA2B,GAC3DE,IAASC,MAAMC,KACnBL,GAAOM,iBACL,kCACF,KAAK,CAAA,CACP,CAAC,CACEC,KAAKC,MAASA,EAAKC,QAAQzB,KAAK,CAAC,CACjC0B,QAAQ1B,MAA2BA,MAAU2B,KAAAA,CAAS;KACzD,IAAIR,EAAOS,WAAW,GAAG;KAMzB,IAAMK,IAAYd,GALGA,EAAOW,QAAQjC,EAAMG,KAIvC6B,KAFDlB,EAAEE,QAAQ,eAAeF,EAAEE,QAAQ,eAAe,IAAI,MAE1BM,EAAOS,UAAUT,EAAOS;KAGtDhC,AADAA,EAAIQ,SAAS6B,CAAS,GACtBrC,EAAIsC,UAAUD,CAAS;IACzB;GArBA;EAsBF;EAMA5C,AAJAkB,EAAG4B,iBAAiB,SAAS1B,CAAO,GACpCF,EAAG4B,iBAAiB,WAAWzB,CAAS,GACxCL,IAAaT,EAAIwC,aAAavC,EAAMG,OAAOO,CAAE,GAE7ClB,QAAgB;GAGdgB,AAFAE,EAAG8B,oBAAoB,SAAS5B,CAAO,GACvCF,EAAG8B,oBAAoB,WAAW3B,CAAS,GAC3CL,IAAa;EACf,CAAC;CACH;CAEA,cAAA;EAAA,IAAAiC,IAAAC,EAAA;EAuByB,OAvBzBC,EAESlC,GAAegC,CAAA,GAAAG,EAAAH,GAAAI,EAAA;GAAA,IAAA,iBAAA;IAAA,OAGN3C,EAAQ;GAAC;GAAA,IAAA,eAAA;IAAA,OAEXF,EAAMG;GAAK;GAAA,IAAA,iBAAA;IAAA,OACTD,EAAQ,IAAI,KAAK4B,KAAAA;GAAS;GAAA,IACxCzB,WAAQ;IAAA,OAAED,EAAW;GAAC;GAAA,IACtB6C,QAAK;IAAA,OAAEjD,EAAMiD;GAAK;GAAA,IAClBC,MAAG;IAAA,OAAElD,EAAMkD;GAAG;GAAA,IAAAsC,QAAA;IAAA,OACP9F,EACL,uKACA,6EACA,mDACA,iIACA,kGACA,yHACAM,EAAMmD,KACR;GAAC;EAAA,GACGlD,CAAI,GAAA,IAAA,EAAA,GAAAmD,EAAAX,GAAAY,EAEP/D,GAAI;GAAA,IAACgE,OAAI;IAAA,OAAEpD,EAAQ;GAAC;GAAA,IAAAqD,WAAA;IAAA,OAAAC,EAAA;GAAA;EAAA,CAAA,CAAA,GAAAf;CAAA,EAAA,CAAA;AAQ3B"}
1
+ {"version":3,"file":"RadioGroupItem.js","names":["Show","createMemo","onCleanup","splitProps","clsx","useRadioGroupContext","RadioGroupItemProps","RadioGroupItem","props","ctx","local","rest","checked","value","isDisabled","disabled","select","setValue","unregister","attachListeners","el","HTMLButtonElement","onClick","onKeyDown","e","KeyboardEvent","key","preventDefault","includes","group","closest","HTMLElement","values","Array","from","querySelectorAll","map","item","dataset","filter","undefined","length","currentIndex","indexOf","direction","nextIndex","nextValue","focusItem","addEventListener","registerItem","removeEventListener","_el$","_tmpl$2","_$use","_$spread","_$mergeProps","aria-checked","data-value","data-checked","style","dir","class","classList","_$insert","_$createComponent","when","children","_tmpl$","_$mergeProps","_$createComponent","_tmpl$","_tmpl$2","RadioGroupItem","ctx","useRadioGroupContext","local","rest","splitProps","props","checked","createMemo","isDisabled","select","unregister","attachListeners","onClick","onKeyDown","e","group","el","values","item","value","nextValue","onCleanup","_el$","use","spread","mergeProps","\"class\"","clsx","insert","createComponent","Show"],"sources":["../../../../src/components/radio-group/RadioGroupItem/RadioGroupItem.tsx"],"sourcesContent":["import { Show, createMemo, onCleanup, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useRadioGroupContext } from \"../RadioGroup\";\nimport type { RadioGroupItemProps } from \"./RadioGroupItem.types\";\n\n/**\n * RadioGroupItem:一个 role=\"radio\" 的按钮。选中时内部渲染指示圆点。\n * 通过 context 读取 RadioGroup 的选中值和禁用状态,支持受控/非受控。\n */\nexport function RadioGroupItem(props: RadioGroupItemProps) {\n const ctx = useRadioGroupContext(\"RadioGroupItem\");\n\n const [local, rest] = splitProps(props, [\n \"value\",\n \"disabled\",\n \"class\",\n \"classList\",\n \"style\",\n \"dir\",\n \"children\",\n ]);\n\n const checked = createMemo(() => ctx.value() === local.value);\n const isDisabled = () => ctx.disabled() || !!local.disabled;\n\n const select = () => {\n if (isDisabled()) return;\n ctx.setValue(local.value);\n };\n\n let unregister: (() => void) | undefined;\n\n const attachListeners = (el: HTMLButtonElement) => {\n const onClick = () => select();\n const onKeyDown = (e: KeyboardEvent) => {\n if (isDisabled()) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n select();\n return;\n }\n\n if ([\"ArrowDown\", \"ArrowRight\", \"ArrowUp\", \"ArrowLeft\"].includes(e.key)) {\n e.preventDefault();\n const group = el.closest<HTMLElement>('[data-slot=\"radio-group\"]');\n const values = Array.from(\n group?.querySelectorAll<HTMLElement>(\n '[data-slot=\"radio-group-item\"]',\n ) ?? [],\n )\n .map((item) => item.dataset.value)\n .filter((value): value is string => value !== undefined);\n if (values.length === 0) return;\n const currentIndex = values.indexOf(local.value);\n const direction =\n e.key === \"ArrowDown\" || e.key === \"ArrowRight\" ? 1 : -1;\n const nextIndex =\n (currentIndex + direction + values.length) % values.length;\n const nextValue = values[nextIndex];\n ctx.setValue(nextValue);\n ctx.focusItem(nextValue);\n }\n };\n\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"keydown\", onKeyDown);\n unregister = ctx.registerItem(local.value, el);\n\n onCleanup(() => {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"keydown\", onKeyDown);\n unregister?.();\n });\n };\n\n return (\n <button\n ref={attachListeners}\n type=\"button\"\n role=\"radio\"\n aria-checked={checked()}\n data-slot=\"radio-group-item\"\n data-value={local.value}\n data-checked={checked() ? \"\" : undefined}\n disabled={isDisabled()}\n style={local.style}\n dir={local.dir}\n class={clsx(\n \"group/radio-group-item peer relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border border-input outline-none transition-colors\",\n \"focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary\",\n \"dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n \"data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary\",\n local.class,\n )}\n classList={local.classList}\n {...rest}\n >\n <Show when={checked()}>\n <span\n data-slot=\"radio-group-indicator\"\n class=\"size-2 rounded-full bg-primary-foreground\"\n />\n </Show>\n </button>\n );\n}\n"],"mappings":";;;;;;AASA,SAAgBO,EAAeC,GAA4B;CACzD,IAAMC,IAAMJ,EAAqB,gBAAgB,GAE3C,CAACK,GAAOC,KAAQR,EAAWK,GAAO;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEKI,IAAUX,QAAiBQ,EAAII,MAAM,MAAMH,EAAMG,KAAK,GACtDC,UAAmBL,EAAIM,SAAS,KAAK,CAAC,CAACL,EAAMK,UAE7CC,UAAe;EACnB,AAAIF,EAAW,KACfL,EAAIQ,SAASP,EAAMG,KAAK;CAC1B,GAEIK,GAEEC,KAAmBC,MAA0B;EACjD,IAAME,UAAgBN,EAAO,GACvBO,KAAaC,MAAqB;GACtC,IAAIV,GAAW,GACf;QAAIU,EAAEE,QAAQ,WAAWF,EAAEE,QAAQ,KAAK;KAEtCV,AADAQ,EAAEG,eAAe,GACjBX,EAAO;KACP;IACF;IAEA,IAAI;KAAC;KAAa;KAAc;KAAW;IAAW,CAAC,CAACY,SAASJ,EAAEE,GAAG,GAAG;KACvEF,EAAEG,eAAe;KACjB,IAAME,IAAQT,EAAGU,QAAqB,6BAA2B,GAC3DE,IAASC,MAAMC,KACnBL,GAAOM,iBACL,kCACF,KAAK,CAAA,CACP,CAAC,CACEC,KAAKC,MAASA,EAAKC,QAAQzB,KAAK,CAAC,CACjC0B,QAAQ1B,MAA2BA,MAAU2B,KAAAA,CAAS;KACzD,IAAIR,EAAOS,WAAW,GAAG;KAMzB,IAAMK,IAAYd,GALGA,EAAOW,QAAQjC,EAAMG,KAIvC6B,KAFDlB,EAAEE,QAAQ,eAAeF,EAAEE,QAAQ,eAAe,IAAI,MAE1BM,EAAOS,UAAUT,EAAOS;KAGtDhC,AADAA,EAAIQ,SAAS6B,CAAS,GACtBrC,EAAIsC,UAAUD,CAAS;IACzB;GArBA;EAsBF;EAMA5C,AAJAkB,EAAG4B,iBAAiB,SAAS1B,CAAO,GACpCF,EAAG4B,iBAAiB,WAAWzB,CAAS,GACxCL,IAAaT,EAAIwC,aAAavC,EAAMG,OAAOO,CAAE,GAE7ClB,QAAgB;GAGdgB,AAFAE,EAAG8B,oBAAoB,SAAS5B,CAAO,GACvCF,EAAG8B,oBAAoB,WAAW3B,CAAS,GAC3CL,IAAa;EACf,CAAC;CACH;CAEA,cAAA;EAAA,IAAAiC,IAAAC,EAAA;EAwByB,OAxBzBC,EAESlC,GAAegC,CAAA,GAAAG,EAAAH,GAAAI,EAAA;GAAA,IAAA,iBAAA;IAAA,OAGN3C,EAAQ;GAAC;GAAA,IAAA,eAAA;IAAA,OAEXF,EAAMG;GAAK;GAAA,IAAA,iBAAA;IAAA,OACTD,EAAQ,IAAI,KAAK4B,KAAAA;GAAS;GAAA,IACxCzB,WAAQ;IAAA,OAAED,EAAW;GAAC;GAAA,IACtB6C,QAAK;IAAA,OAAEjD,EAAMiD;GAAK;GAAA,IAClBC,MAAG;IAAA,OAAElD,EAAMkD;GAAG;GAAA,IAAAuC,QAAA;IAAA,OACP/F,EACL,uKACA,6EACA,mDACA,iIACA,kGACA,yHACAM,EAAMmD,KACR;GAAC;GAAA,IACDC,YAAS;IAAA,OAAEpD,EAAMoD;GAAS;EAAA,GACtBnD,CAAI,GAAA,IAAA,EAAA,GAAAoD,EAAAZ,GAAAa,EAEPhE,GAAI;GAAA,IAACiE,OAAI;IAAA,OAAErD,EAAQ;GAAC;GAAA,IAAAsD,WAAA;IAAA,OAAAC,EAAA;GAAA;EAAA,CAAA,CAAA,GAAAhB;CAAA,EAAA,CAAA;AAQ3B"}
@@ -0,0 +1,37 @@
1
+ import { ResizableOrientation } from '../resizable.types';
2
+ export interface HandleDragContext {
3
+ orientation: () => ResizableOrientation;
4
+ isRtl: () => boolean;
5
+ /** 沿主轴的可拖拽长度(px),用于 px → % 换算 */
6
+ groupSizePx: () => number;
7
+ resolveAdjacent: (handle: HTMLElement) => {
8
+ prevSize: number;
9
+ total: number;
10
+ } | undefined;
11
+ setAdjacentSize: (handle: HTMLElement, targetPrevSize: number) => void;
12
+ beginDrag: () => void;
13
+ endDrag: () => void;
14
+ commitLayout: () => void;
15
+ }
16
+ export interface HandleDragOptions {
17
+ disabled: () => boolean;
18
+ onDragging?: (dragging: boolean) => void;
19
+ }
20
+ export interface HandleDragHandlers {
21
+ onPointerDown: (event: PointerEvent) => void;
22
+ onPointerMove: (event: PointerEvent) => void;
23
+ onPointerUp: (event: PointerEvent) => void;
24
+ /** 卸载时调用:取消尚未落地的帧 */
25
+ dispose: () => void;
26
+ }
27
+ /**
28
+ * 分隔条的一次拖拽生命周期。
29
+ *
30
+ * 单一职责:从 pointerdown 建立拖拽会话,pointermove 把位移换算成百分比、
31
+ * 用 `requestAnimationFrame` 合并成每帧一次写入,pointerup 结算并提交布局。
32
+ *
33
+ * - pointer capture 保证指针移出元素后仍能继续拖拽;
34
+ * - px → % 用 group 主轴尺寸换算(为 0 时按 1px 兜底),横向在 RTL 下取反;
35
+ * - 与布局引擎的交互全部通过 `ctx` 注入,因此可以脱离引擎单独驱动。
36
+ */
37
+ export declare function createHandleDrag(ctx: HandleDragContext, options: HandleDragOptions): HandleDragHandlers;
@@ -0,0 +1,37 @@
1
+ //#region src/components/resizable/ResizableHandle/resizable.handle-drag.ts
2
+ function e(e, t) {
3
+ let n, r = (t) => e.orientation() === "horizontal" ? t.clientX : t.clientY, i = () => e.orientation() === "horizontal" && e.isRtl() ? -1 : 1, a = () => {
4
+ n && (n.frame = null, n.pending !== null && e.setAdjacentSize(n.handle, n.pending));
5
+ };
6
+ return {
7
+ onPointerDown: (i) => {
8
+ if (t.disabled() || i.button !== 0) return;
9
+ let a = i.currentTarget, o = e.resolveAdjacent(a);
10
+ o && (i.preventDefault(), a.setPointerCapture(i.pointerId), n = {
11
+ pointerId: i.pointerId,
12
+ handle: a,
13
+ startCoordinate: r(i),
14
+ startPrevSize: o.prevSize,
15
+ frame: null,
16
+ pending: null
17
+ }, e.beginDrag(), t.onDragging?.(!0));
18
+ },
19
+ onPointerMove: (t) => {
20
+ if (!n || n.pointerId !== t.pointerId || !t.currentTarget.hasPointerCapture(t.pointerId)) return;
21
+ let o = e.groupSizePx() || 1, s = (r(t) - n.startCoordinate) * i();
22
+ n.pending = n.startPrevSize + s / o * 100, n.frame === null && (n.frame = requestAnimationFrame(a));
23
+ },
24
+ onPointerUp: (r) => {
25
+ if (!n || n.pointerId !== r.pointerId) return;
26
+ let i = r.currentTarget;
27
+ n.frame !== null && (cancelAnimationFrame(n.frame), n.frame = null, n.pending !== null && e.setAdjacentSize(n.handle, n.pending)), i.hasPointerCapture(r.pointerId) && i.releasePointerCapture(r.pointerId), n = void 0, e.endDrag(), t.onDragging?.(!1), e.commitLayout();
28
+ },
29
+ dispose() {
30
+ n?.frame != null && cancelAnimationFrame(n.frame), n = void 0;
31
+ }
32
+ };
33
+ }
34
+ //#endregion
35
+ export { e as createHandleDrag };
36
+
37
+ //# sourceMappingURL=resizable.handle-drag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizable.handle-drag.js","names":["createHandleDrag","drag","axisCoordinate","ctx","event","dragSign","flush","options","handle","adjacent","sizePx","deltaPx"],"sources":["../../../../src/components/resizable/ResizableHandle/resizable.handle-drag.ts"],"sourcesContent":["import type { ResizableOrientation } from \"../resizable.types\";\n\nexport interface HandleDragContext {\n orientation: () => ResizableOrientation;\n isRtl: () => boolean;\n /** 沿主轴的可拖拽长度(px),用于 px → % 换算 */\n groupSizePx: () => number;\n resolveAdjacent: (\n handle: HTMLElement,\n ) => { prevSize: number; total: number } | undefined;\n setAdjacentSize: (handle: HTMLElement, targetPrevSize: number) => void;\n beginDrag: () => void;\n endDrag: () => void;\n commitLayout: () => void;\n}\n\nexport interface HandleDragOptions {\n disabled: () => boolean;\n onDragging?: (dragging: boolean) => void;\n}\n\nexport interface HandleDragHandlers {\n onPointerDown: (event: PointerEvent) => void;\n onPointerMove: (event: PointerEvent) => void;\n onPointerUp: (event: PointerEvent) => void;\n /** 卸载时调用:取消尚未落地的帧 */\n dispose: () => void;\n}\n\ninterface DragState {\n pointerId: number;\n handle: HTMLElement;\n startCoordinate: number;\n startPrevSize: number;\n frame: number | null;\n pending: number | null;\n}\n\n/**\n * 分隔条的一次拖拽生命周期。\n *\n * 单一职责:从 pointerdown 建立拖拽会话,pointermove 把位移换算成百分比、\n * 用 `requestAnimationFrame` 合并成每帧一次写入,pointerup 结算并提交布局。\n *\n * - pointer capture 保证指针移出元素后仍能继续拖拽;\n * - px → % 用 group 主轴尺寸换算(为 0 时按 1px 兜底),横向在 RTL 下取反;\n * - 与布局引擎的交互全部通过 `ctx` 注入,因此可以脱离引擎单独驱动。\n */\nexport function createHandleDrag(\n ctx: HandleDragContext,\n options: HandleDragOptions,\n): HandleDragHandlers {\n let drag: DragState | undefined;\n\n const axisCoordinate = (event: PointerEvent) =>\n ctx.orientation() === \"horizontal\" ? event.clientX : event.clientY;\n\n /** 横向 RTL 时位移方向取反(纵向始终正向) */\n const dragSign = () => {\n if (ctx.orientation() !== \"horizontal\") return 1;\n return ctx.isRtl() ? -1 : 1;\n };\n\n const flush = () => {\n if (!drag) return;\n drag.frame = null;\n if (drag.pending !== null) ctx.setAdjacentSize(drag.handle, drag.pending);\n };\n\n const onPointerDown = (event: PointerEvent) => {\n if (options.disabled() || event.button !== 0) return;\n\n const handle = event.currentTarget as HTMLElement;\n const adjacent = ctx.resolveAdjacent(handle);\n if (!adjacent) return;\n\n event.preventDefault();\n handle.setPointerCapture(event.pointerId);\n drag = {\n pointerId: event.pointerId,\n handle,\n startCoordinate: axisCoordinate(event),\n startPrevSize: adjacent.prevSize,\n frame: null,\n pending: null,\n };\n ctx.beginDrag();\n options.onDragging?.(true);\n };\n\n const onPointerMove = (event: PointerEvent) => {\n if (!drag || drag.pointerId !== event.pointerId) return;\n\n const handle = event.currentTarget as HTMLElement;\n if (!handle.hasPointerCapture(event.pointerId)) return;\n\n const sizePx = ctx.groupSizePx() || 1;\n const deltaPx = (axisCoordinate(event) - drag.startCoordinate) * dragSign();\n drag.pending = drag.startPrevSize + (deltaPx / sizePx) * 100;\n\n // 每帧最多写一次 store,避免高频 pointermove 造成布局抖动\n if (drag.frame === null) {\n drag.frame = requestAnimationFrame(flush);\n }\n };\n\n const onPointerUp = (event: PointerEvent) => {\n if (!drag || drag.pointerId !== event.pointerId) return;\n\n const handle = event.currentTarget as HTMLElement;\n if (drag.frame !== null) {\n cancelAnimationFrame(drag.frame);\n drag.frame = null;\n if (drag.pending !== null) ctx.setAdjacentSize(drag.handle, drag.pending);\n }\n if (handle.hasPointerCapture(event.pointerId)) {\n handle.releasePointerCapture(event.pointerId);\n }\n\n drag = undefined;\n ctx.endDrag();\n options.onDragging?.(false);\n ctx.commitLayout();\n };\n\n return {\n onPointerDown,\n onPointerMove,\n onPointerUp,\n dispose() {\n if (drag?.frame != null) cancelAnimationFrame(drag.frame);\n drag = undefined;\n },\n };\n}\n"],"mappings":";AAgDA,SAAgBA,EACd,GACA,GACoB;CACpB,IAAIC,GAEEC,KAAkB,MACtBC,EAAI,YAAY,MAAM,eAAeC,EAAM,UAAUA,EAAM,SAGvDC,UACAF,EAAI,YAAY,MAAM,gBACnBA,EAAI,MAAM,IAAI,KAAK,GAGtBG,UAAc;EAClB,AAAKL,MACL,EAAK,QAAQ,MACTA,EAAK,YAAY,QAAME,EAAI,gBAAgBF,EAAK,QAAQA,EAAK,OAAO;CAC1E;CA0DA,OAAO;EACL,gBAzDqB,MAAwB;GAC7C,IAAIM,EAAQ,SAAS,KAAKH,EAAM,WAAW,GAAG;GAE9C,IAAMI,IAASJ,EAAM,eACfK,IAAWN,EAAI,gBAAgBK,CAAM;GAC3C,AAAKC,MAELL,EAAM,eAAe,GACrBI,EAAO,kBAAkBJ,EAAM,SAAS,GACxC,IAAO;IACL,WAAWA,EAAM;IACjB;IACA,iBAAiBF,EAAeE,CAAK;IACrC,eAAeK,EAAS;IACxB,OAAO;IACP,SAAS;GACX,GACAN,EAAI,UAAU,GACdI,EAAQ,aAAa,EAAI;EAC3B;EAuCE,gBArCqB,MAAwB;GAI7C,IAHI,CAACN,KAAQA,EAAK,cAAcG,EAAM,aAGlC,CADWA,EAAM,cACT,kBAAkBA,EAAM,SAAS,GAAG;GAEhD,IAAMM,IAASP,EAAI,YAAY,KAAK,GAC9BQ,KAAWT,EAAeE,CAAK,IAAIH,EAAK,mBAAmBI,EAAS;GAI1E,AAHA,EAAK,UAAUJ,EAAK,gBAAiBU,IAAUD,IAAU,KAGrDT,EAAK,UAAU,SACjB,EAAK,QAAQ,sBAAsBK,CAAK;EAE5C;EAwBE,cAtBmB,MAAwB;GAC3C,IAAI,CAACL,KAAQA,EAAK,cAAcG,EAAM,WAAW;GAEjD,IAAMI,IAASJ,EAAM;GAarB,AAZIH,EAAK,UAAU,SACjB,qBAAqBA,EAAK,KAAK,GAC/B,EAAK,QAAQ,MACTA,EAAK,YAAY,QAAME,EAAI,gBAAgBF,EAAK,QAAQA,EAAK,OAAO,IAEtEO,EAAO,kBAAkBJ,EAAM,SAAS,KAC1CI,EAAO,sBAAsBJ,EAAM,SAAS,GAG9C,IAAO,KAAA,GACPD,EAAI,QAAQ,GACZI,EAAQ,aAAa,EAAK,GAC1BJ,EAAI,aAAa;EACnB;EAME,UAAU;GAER,AADIF,GAAM,SAAS,QAAM,qBAAqBA,EAAK,KAAK,GACxD,IAAO,KAAA;EACT;CACF;AACF"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * Resizable 分隔条的键盘调整。
3
+ *
4
+ * 单一职责:把按键翻译成"调整相邻面板"的动作。方向键按 `stepPercent` 微调,
5
+ * Home/End 推到两端,Enter/Space 切换相邻可折叠面板;其余按键原样放行。
6
+ *
7
+ * 不持有拖拽状态、不读 DOM 尺寸——`stepPercent`(一次按键移动多少百分比)
8
+ * 与 `rtl`(横向且书写方向为 RTL 时方向取反)都由调用方先算好。
9
+ */
10
+ export interface ResizableHandleKeysContext {
11
+ /** 一次按键移动的百分比(已按 keyboardResizeBy / 主轴尺寸换算) */
12
+ stepPercent: number;
13
+ /** 横向且 RTL:左右方向语义取反 */
14
+ rtl: boolean;
15
+ /** 解析句柄两侧的面板(没有相邻对时 Home/End 不动作) */
16
+ resolveAdjacent: (handle: HTMLElement) => {
17
+ total: number;
18
+ } | undefined;
19
+ nudgeAdjacent: (handle: HTMLElement, deltaPercent: number) => void;
20
+ setAdjacentSize: (handle: HTMLElement, targetPrevSize: number) => void;
21
+ commitLayout: () => void;
22
+ toggleHandleCollapse: (handle: HTMLElement) => void;
23
+ }
24
+ export declare function handleResizableHandleKeyDown(event: KeyboardEvent, handle: HTMLElement, ctx: ResizableHandleKeysContext): void;
@@ -0,0 +1,36 @@
1
+ //#region src/components/resizable/ResizableHandle/resizable.handle-keys.ts
2
+ function e(e, t, n) {
3
+ let { stepPercent: r, rtl: i } = n, a = !0;
4
+ switch (e.key) {
5
+ case "ArrowLeft":
6
+ n.nudgeAdjacent(t, i ? r : -r);
7
+ break;
8
+ case "ArrowRight":
9
+ n.nudgeAdjacent(t, i ? -r : r);
10
+ break;
11
+ case "ArrowUp":
12
+ n.nudgeAdjacent(t, -r);
13
+ break;
14
+ case "ArrowDown":
15
+ n.nudgeAdjacent(t, r);
16
+ break;
17
+ case "Home":
18
+ n.resolveAdjacent(t) && (n.setAdjacentSize(t, 0), n.commitLayout());
19
+ break;
20
+ case "End": {
21
+ let e = n.resolveAdjacent(t);
22
+ e && (n.setAdjacentSize(t, e.total), n.commitLayout());
23
+ break;
24
+ }
25
+ case "Enter":
26
+ case " ":
27
+ n.toggleHandleCollapse(t);
28
+ break;
29
+ default: a = !1;
30
+ }
31
+ a && e.preventDefault();
32
+ }
33
+ //#endregion
34
+ export { e as handleResizableHandleKeyDown };
35
+
36
+ //# sourceMappingURL=resizable.handle-keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizable.handle-keys.js","names":["handleResizableHandleKeyDown","step","ctx","handled","event","handle","rtl","adjacent"],"sources":["../../../../src/components/resizable/ResizableHandle/resizable.handle-keys.ts"],"sourcesContent":["/**\n * Resizable 分隔条的键盘调整。\n *\n * 单一职责:把按键翻译成\"调整相邻面板\"的动作。方向键按 `stepPercent` 微调,\n * Home/End 推到两端,Enter/Space 切换相邻可折叠面板;其余按键原样放行。\n *\n * 不持有拖拽状态、不读 DOM 尺寸——`stepPercent`(一次按键移动多少百分比)\n * 与 `rtl`(横向且书写方向为 RTL 时方向取反)都由调用方先算好。\n */\nexport interface ResizableHandleKeysContext {\n /** 一次按键移动的百分比(已按 keyboardResizeBy / 主轴尺寸换算) */\n stepPercent: number;\n /** 横向且 RTL:左右方向语义取反 */\n rtl: boolean;\n /** 解析句柄两侧的面板(没有相邻对时 Home/End 不动作) */\n resolveAdjacent: (handle: HTMLElement) => { total: number } | undefined;\n nudgeAdjacent: (handle: HTMLElement, deltaPercent: number) => void;\n setAdjacentSize: (handle: HTMLElement, targetPrevSize: number) => void;\n commitLayout: () => void;\n toggleHandleCollapse: (handle: HTMLElement) => void;\n}\n\nexport function handleResizableHandleKeyDown(\n event: KeyboardEvent,\n handle: HTMLElement,\n ctx: ResizableHandleKeysContext,\n): void {\n const { stepPercent: step, rtl } = ctx;\n let handled = true;\n\n switch (event.key) {\n case \"ArrowLeft\":\n ctx.nudgeAdjacent(handle, rtl ? step : -step);\n break;\n case \"ArrowRight\":\n ctx.nudgeAdjacent(handle, rtl ? -step : step);\n break;\n case \"ArrowUp\":\n ctx.nudgeAdjacent(handle, -step);\n break;\n case \"ArrowDown\":\n ctx.nudgeAdjacent(handle, step);\n break;\n case \"Home\": {\n const adjacent = ctx.resolveAdjacent(handle);\n if (adjacent) {\n ctx.setAdjacentSize(handle, 0);\n ctx.commitLayout();\n }\n break;\n }\n case \"End\": {\n const adjacent = ctx.resolveAdjacent(handle);\n if (adjacent) {\n ctx.setAdjacentSize(handle, adjacent.total);\n ctx.commitLayout();\n }\n break;\n }\n case \"Enter\":\n case \" \":\n ctx.toggleHandleCollapse(handle);\n break;\n default:\n handled = false;\n }\n\n if (handled) event.preventDefault();\n}\n"],"mappings":";AAsBA,SAAgBA,EACd,GACA,GACA,GACM;CACN,IAAM,EAAE,aAAaC,GAAM,WAAQC,GAC/BC,IAAU;CAEd,QAAQC,EAAM,KAAd;EACE,KAAK;GACH,EAAI,cAAcC,GAAQC,IAAML,IAAO,CAACA,CAAI;GAC5C;EACF,KAAK;GACH,EAAI,cAAcI,GAAQC,IAAM,CAACL,IAAOA,CAAI;GAC5C;EACF,KAAK;GACH,EAAI,cAAcI,GAAQ,CAACJ,CAAI;GAC/B;EACF,KAAK;GACH,EAAI,cAAcI,GAAQJ,CAAI;GAC9B;EACF,KAAK;GAEH,AADiBC,EAAI,gBAAgBG,CACjC,MACFH,EAAI,gBAAgBG,GAAQ,CAAC,GAC7BH,EAAI,aAAa;GAEnB;EAEF,KAAK,OAAO;GACV,IAAMK,IAAWL,EAAI,gBAAgBG,CAAM;GAC3C,AAAIE,MACFL,EAAI,gBAAgBG,GAAQE,EAAS,KAAK,GAC1CL,EAAI,aAAa;GAEnB;EACF;EACA,KAAK;EACL,KAAK;GACH,EAAI,qBAAqBG,CAAM;GAC/B;EACF,SACE,IAAU;CACd;CAEA,AAAIF,KAASC,EAAM,eAAe;AACpC"}
@@ -3,10 +3,9 @@ interface Options {
3
3
  onDragging?: (dragging: boolean) => void;
4
4
  }
5
5
  /**
6
- * Handle 的拖拽与键盘交互:
7
- * - pointer capture 保证指针移出元素后仍能继续拖拽;
8
- * - pointermove 用 rAF 合并,避免每个事件都写一次 store(布局抖动);
9
- * - px -> % 用 group 主轴尺寸换算,横向在 RTL 下取反。
6
+ * Handle 的交互接线:指针拖拽交给 `createHandleDrag`(capture + rAF 合并),
7
+ * 键盘调整交给 `handleResizableHandleKeyDown`;本 hook 只负责把
8
+ * panel group 的 context 与自身 props 转接过去。
10
9
  */
11
10
  export declare function useResizableHandle(options: Options): {
12
11
  onPointerDown: (event: PointerEvent) => void;
@@ -1,72 +1,39 @@
1
1
  import { useResizablePanelGroupContext as e } from "../resizable.context.js";
2
- import { onCleanup as t } from "solid-js";
2
+ import { createHandleDrag as t } from "./resizable.handle-drag.js";
3
+ import { handleResizableHandleKeyDown as n } from "./resizable.handle-keys.js";
4
+ import { onCleanup as r } from "solid-js";
3
5
  //#region src/components/resizable/ResizableHandle/useResizableHandle.ts
4
- function n(n) {
5
- let r = e("ResizableHandle"), i;
6
- t(() => {
7
- i?.frame != null && cancelAnimationFrame(i.frame), i = void 0;
8
- });
9
- let a = (e) => r.orientation() === "horizontal" ? e.clientX : e.clientY, o = () => r.orientation() === "horizontal" && r.isRtl() ? -1 : 1, s = () => {
10
- i && (i.frame = null, i.pending !== null && r.setAdjacentSize(i.handle, i.pending));
11
- };
12
- return {
13
- onPointerDown: (e) => {
14
- if (n.disabled() || e.button !== 0) return;
15
- let t = e.currentTarget, o = r.resolveAdjacent(t);
16
- o && (e.preventDefault(), t.setPointerCapture(e.pointerId), i = {
17
- pointerId: e.pointerId,
18
- handle: t,
19
- startCoordinate: a(e),
20
- startPrevSize: o.prevSize,
21
- frame: null,
22
- pending: null
23
- }, r.beginDrag(), n.onDragging?.(!0));
24
- },
25
- onPointerMove: (e) => {
26
- if (!i || i.pointerId !== e.pointerId || !e.currentTarget.hasPointerCapture(e.pointerId)) return;
27
- let t = r.groupSizePx() || 1, n = (a(e) - i.startCoordinate) * o();
28
- i.pending = i.startPrevSize + n / t * 100, i.frame === null && (i.frame = requestAnimationFrame(s));
29
- },
30
- onPointerUp: (e) => {
31
- if (!i || i.pointerId !== e.pointerId) return;
32
- let t = e.currentTarget;
33
- i.frame !== null && (cancelAnimationFrame(i.frame), i.frame = null, i.pending !== null && r.setAdjacentSize(i.handle, i.pending)), t.hasPointerCapture(e.pointerId) && t.releasePointerCapture(e.pointerId), i = void 0, r.endDrag(), n.onDragging?.(!1), r.commitLayout();
34
- },
6
+ function i(i) {
7
+ let a = e("ResizableHandle"), o = t({
8
+ orientation: () => a.orientation(),
9
+ isRtl: () => a.isRtl(),
10
+ groupSizePx: () => a.groupSizePx(),
11
+ resolveAdjacent: (e) => a.resolveAdjacent(e),
12
+ setAdjacentSize: (e, t) => a.setAdjacentSize(e, t),
13
+ beginDrag: () => a.beginDrag(),
14
+ endDrag: () => a.endDrag(),
15
+ commitLayout: () => a.commitLayout()
16
+ }, i);
17
+ return r(o.dispose), {
18
+ onPointerDown: o.onPointerDown,
19
+ onPointerMove: o.onPointerMove,
20
+ onPointerUp: o.onPointerUp,
35
21
  onKeyDown: (e) => {
36
- if (n.disabled()) return;
37
- let t = e.currentTarget, i = r.keyboardResizeBy() / (r.groupSizePx() || 1) * 100, a = r.orientation() === "horizontal" && r.isRtl(), o = !0;
38
- switch (e.key) {
39
- case "ArrowLeft":
40
- r.nudgeAdjacent(t, a ? i : -i);
41
- break;
42
- case "ArrowRight":
43
- r.nudgeAdjacent(t, a ? -i : i);
44
- break;
45
- case "ArrowUp":
46
- r.nudgeAdjacent(t, -i);
47
- break;
48
- case "ArrowDown":
49
- r.nudgeAdjacent(t, i);
50
- break;
51
- case "Home":
52
- r.resolveAdjacent(t) && (r.setAdjacentSize(t, 0), r.commitLayout());
53
- break;
54
- case "End": {
55
- let e = r.resolveAdjacent(t);
56
- e && (r.setAdjacentSize(t, e.total), r.commitLayout());
57
- break;
58
- }
59
- case "Enter":
60
- case " ":
61
- r.toggleHandleCollapse(t);
62
- break;
63
- default: o = !1;
64
- }
65
- o && e.preventDefault();
22
+ if (i.disabled()) return;
23
+ let t = e.currentTarget;
24
+ n(e, t, {
25
+ stepPercent: a.keyboardResizeBy() / (a.groupSizePx() || 1) * 100,
26
+ rtl: a.orientation() === "horizontal" && a.isRtl(),
27
+ resolveAdjacent: (e) => a.resolveAdjacent(e),
28
+ nudgeAdjacent: (e, t) => a.nudgeAdjacent(e, t),
29
+ setAdjacentSize: (e, t) => a.setAdjacentSize(e, t),
30
+ commitLayout: () => a.commitLayout(),
31
+ toggleHandleCollapse: (e) => a.toggleHandleCollapse(e)
32
+ });
66
33
  }
67
34
  };
68
35
  }
69
36
  //#endregion
70
- export { n as useResizableHandle };
37
+ export { i as useResizableHandle };
71
38
 
72
39
  //# sourceMappingURL=useResizableHandle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useResizableHandle.js","names":["useResizableHandle","ctx","useResizablePanelGroupContext","drag","axisCoordinate","event","dragSign","flush","options","handle","adjacent","sizePx","deltaPx","step","rtl","handled"],"sources":["../../../../src/components/resizable/ResizableHandle/useResizableHandle.ts"],"sourcesContent":["import { onCleanup } from \"solid-js\";\nimport { useResizablePanelGroupContext } from \"../resizable.context\";\n\ninterface DragState {\n pointerId: number;\n handle: HTMLElement;\n startCoordinate: number;\n startPrevSize: number;\n frame: number | null;\n pending: number | null;\n}\n\ninterface Options {\n disabled: () => boolean;\n onDragging?: (dragging: boolean) => void;\n}\n\n/**\n * Handle 的拖拽与键盘交互:\n * - pointer capture 保证指针移出元素后仍能继续拖拽;\n * - pointermove 用 rAF 合并,避免每个事件都写一次 store(布局抖动);\n * - px -> % 用 group 主轴尺寸换算,横向在 RTL 下取反。\n */\nexport function useResizableHandle(options: Options) {\n const ctx = useResizablePanelGroupContext(\"ResizableHandle\");\n let drag: DragState | undefined;\n\n onCleanup(() => {\n if (drag?.frame != null) cancelAnimationFrame(drag.frame);\n drag = undefined;\n });\n\n const axisCoordinate = (event: PointerEvent) =>\n ctx.orientation() === \"horizontal\" ? event.clientX : event.clientY;\n\n const dragSign = () => {\n if (ctx.orientation() !== \"horizontal\") return 1;\n return ctx.isRtl() ? -1 : 1;\n };\n\n const flush = () => {\n if (!drag) return;\n drag.frame = null;\n if (drag.pending !== null) ctx.setAdjacentSize(drag.handle, drag.pending);\n };\n\n const onPointerDown = (event: PointerEvent) => {\n if (options.disabled() || event.button !== 0) return;\n const handle = event.currentTarget as HTMLElement;\n const adjacent = ctx.resolveAdjacent(handle);\n if (!adjacent) return;\n event.preventDefault();\n handle.setPointerCapture(event.pointerId);\n drag = {\n pointerId: event.pointerId,\n handle,\n startCoordinate: axisCoordinate(event),\n startPrevSize: adjacent.prevSize,\n frame: null,\n pending: null,\n };\n ctx.beginDrag();\n options.onDragging?.(true);\n };\n\n const onPointerMove = (event: PointerEvent) => {\n if (!drag || drag.pointerId !== event.pointerId) return;\n const handle = event.currentTarget as HTMLElement;\n if (!handle.hasPointerCapture(event.pointerId)) return;\n const sizePx = ctx.groupSizePx() || 1;\n const deltaPx = (axisCoordinate(event) - drag.startCoordinate) * dragSign();\n drag.pending = drag.startPrevSize + (deltaPx / sizePx) * 100;\n if (drag.frame === null) {\n drag.frame = requestAnimationFrame(flush);\n }\n };\n\n const endDrag = (event: PointerEvent) => {\n if (!drag || drag.pointerId !== event.pointerId) return;\n const handle = event.currentTarget as HTMLElement;\n if (drag.frame !== null) {\n cancelAnimationFrame(drag.frame);\n drag.frame = null;\n if (drag.pending !== null) ctx.setAdjacentSize(drag.handle, drag.pending);\n }\n if (handle.hasPointerCapture(event.pointerId)) {\n handle.releasePointerCapture(event.pointerId);\n }\n drag = undefined;\n ctx.endDrag();\n options.onDragging?.(false);\n ctx.commitLayout();\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (options.disabled()) return;\n const handle = event.currentTarget as HTMLElement;\n const step = (ctx.keyboardResizeBy() / (ctx.groupSizePx() || 1)) * 100;\n const rtl = ctx.orientation() === \"horizontal\" && ctx.isRtl();\n let handled = true;\n switch (event.key) {\n case \"ArrowLeft\":\n ctx.nudgeAdjacent(handle, rtl ? step : -step);\n break;\n case \"ArrowRight\":\n ctx.nudgeAdjacent(handle, rtl ? -step : step);\n break;\n case \"ArrowUp\":\n ctx.nudgeAdjacent(handle, -step);\n break;\n case \"ArrowDown\":\n ctx.nudgeAdjacent(handle, step);\n break;\n case \"Home\": {\n const adjacent = ctx.resolveAdjacent(handle);\n if (adjacent) {\n ctx.setAdjacentSize(handle, 0);\n ctx.commitLayout();\n }\n break;\n }\n case \"End\": {\n const adjacent = ctx.resolveAdjacent(handle);\n if (adjacent) {\n ctx.setAdjacentSize(handle, adjacent.total);\n ctx.commitLayout();\n }\n break;\n }\n case \"Enter\":\n case \" \":\n ctx.toggleHandleCollapse(handle);\n break;\n default:\n handled = false;\n }\n if (handled) event.preventDefault();\n };\n\n return { onPointerDown, onPointerMove, onPointerUp: endDrag, onKeyDown };\n}\n"],"mappings":";;;AAuBA,SAAgBA,EAAmB,GAAkB;CACnD,IAAMC,IAAMC,EAA8B,iBAAiB,GACvDC;CAEJ,QAAgB;EAEd,AADIA,GAAM,SAAS,QAAM,qBAAqBA,EAAK,KAAK,GACxD,IAAO,KAAA;CACT,CAAC;CAED,IAAMC,KAAkB,MACtBH,EAAI,YAAY,MAAM,eAAeI,EAAM,UAAUA,EAAM,SAEvDC,UACAL,EAAI,YAAY,MAAM,gBACnBA,EAAI,MAAM,IAAI,KAAK,GAGtBM,UAAc;EAClB,AAAKJ,MACL,EAAK,QAAQ,MACTA,EAAK,YAAY,QAAMF,EAAI,gBAAgBE,EAAK,QAAQA,EAAK,OAAO;CAC1E;CA+FA,OAAO;EAAE,gBA7Fc,MAAwB;GAC7C,IAAIK,EAAQ,SAAS,KAAKH,EAAM,WAAW,GAAG;GAC9C,IAAMI,IAASJ,EAAM,eACfK,IAAWT,EAAI,gBAAgBQ,CAAM;GAC3C,AAAKC,MACLL,EAAM,eAAe,GACrBI,EAAO,kBAAkBJ,EAAM,SAAS,GACxC,IAAO;IACL,WAAWA,EAAM;IACjB;IACA,iBAAiBD,EAAeC,CAAK;IACrC,eAAeK,EAAS;IACxB,OAAO;IACP,SAAS;GACX,GACAT,EAAI,UAAU,GACdO,EAAQ,aAAa,EAAI;EAC3B;EA4EwB,gBA1ED,MAAwB;GAG7C,IAFI,CAACL,KAAQA,EAAK,cAAcE,EAAM,aAElC,CADWA,EAAM,cACT,kBAAkBA,EAAM,SAAS,GAAG;GAChD,IAAMM,IAASV,EAAI,YAAY,KAAK,GAC9BW,KAAWR,EAAeC,CAAK,IAAIF,EAAK,mBAAmBG,EAAS;GAE1E,AADA,EAAK,UAAUH,EAAK,gBAAiBS,IAAUD,IAAU,KACrDR,EAAK,UAAU,SACjB,EAAK,QAAQ,sBAAsBI,CAAK;EAE5C;EAgEuC,cA9DtB,MAAwB;GACvC,IAAI,CAACJ,KAAQA,EAAK,cAAcE,EAAM,WAAW;GACjD,IAAMI,IAASJ,EAAM;GAYrB,AAXIF,EAAK,UAAU,SACjB,qBAAqBA,EAAK,KAAK,GAC/B,EAAK,QAAQ,MACTA,EAAK,YAAY,QAAMF,EAAI,gBAAgBE,EAAK,QAAQA,EAAK,OAAO,IAEtEM,EAAO,kBAAkBJ,EAAM,SAAS,KAC1CI,EAAO,sBAAsBJ,EAAM,SAAS,GAE9C,IAAO,KAAA,GACPJ,EAAI,QAAQ,GACZO,EAAQ,aAAa,EAAK,GAC1BP,EAAI,aAAa;EACnB;EA+C6D,YA7C1C,MAAyB;GAC1C,IAAIO,EAAQ,SAAS,GAAG;GACxB,IAAMC,IAASJ,EAAM,eACfQ,IAAQZ,EAAI,iBAAiB,KAAKA,EAAI,YAAY,KAAK,KAAM,KAC7Da,IAAMb,EAAI,YAAY,MAAM,gBAAgBA,EAAI,MAAM,GACxDc,IAAU;GACd,QAAQV,EAAM,KAAd;IACE,KAAK;KACH,EAAI,cAAcI,GAAQK,IAAMD,IAAO,CAACA,CAAI;KAC5C;IACF,KAAK;KACH,EAAI,cAAcJ,GAAQK,IAAM,CAACD,IAAOA,CAAI;KAC5C;IACF,KAAK;KACH,EAAI,cAAcJ,GAAQ,CAACI,CAAI;KAC/B;IACF,KAAK;KACH,EAAI,cAAcJ,GAAQI,CAAI;KAC9B;IACF,KAAK;KAEH,AADiBZ,EAAI,gBAAgBQ,CACjC,MACFR,EAAI,gBAAgBQ,GAAQ,CAAC,GAC7BR,EAAI,aAAa;KAEnB;IAEF,KAAK,OAAO;KACV,IAAMS,IAAWT,EAAI,gBAAgBQ,CAAM;KAC3C,AAAIC,MACFT,EAAI,gBAAgBQ,GAAQC,EAAS,KAAK,GAC1CT,EAAI,aAAa;KAEnB;IACF;IACA,KAAK;IACL,KAAK;KACH,EAAI,qBAAqBQ,CAAM;KAC/B;IACF,SACE,IAAU;GACd;GACA,AAAIM,KAASV,EAAM,eAAe;EACpC;CAEuE;AACzE"}
1
+ {"version":3,"file":"useResizableHandle.js","names":["useResizableHandle","ctx","useResizablePanelGroupContext","drag","createHandleDrag","handle","size","options","onCleanup","event","target","delta"],"sources":["../../../../src/components/resizable/ResizableHandle/useResizableHandle.ts"],"sourcesContent":["import { onCleanup } from \"solid-js\";\nimport { useResizablePanelGroupContext } from \"../resizable.context\";\nimport { createHandleDrag } from \"./resizable.handle-drag\";\nimport { handleResizableHandleKeyDown } from \"./resizable.handle-keys\";\n\ninterface Options {\n disabled: () => boolean;\n onDragging?: (dragging: boolean) => void;\n}\n\n/**\n * Handle 的交互接线:指针拖拽交给 `createHandleDrag`(capture + rAF 合并),\n * 键盘调整交给 `handleResizableHandleKeyDown`;本 hook 只负责把\n * panel group 的 context 与自身 props 转接过去。\n */\nexport function useResizableHandle(options: Options) {\n const ctx = useResizablePanelGroupContext(\"ResizableHandle\");\n\n const drag = createHandleDrag(\n {\n orientation: () => ctx.orientation(),\n isRtl: () => ctx.isRtl(),\n groupSizePx: () => ctx.groupSizePx(),\n resolveAdjacent: (handle) => ctx.resolveAdjacent(handle),\n setAdjacentSize: (handle, size) => ctx.setAdjacentSize(handle, size),\n beginDrag: () => ctx.beginDrag(),\n endDrag: () => ctx.endDrag(),\n commitLayout: () => ctx.commitLayout(),\n },\n options,\n );\n\n onCleanup(drag.dispose);\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (options.disabled()) return;\n\n const handle = event.currentTarget as HTMLElement;\n handleResizableHandleKeyDown(event, handle, {\n stepPercent: (ctx.keyboardResizeBy() / (ctx.groupSizePx() || 1)) * 100,\n rtl: ctx.orientation() === \"horizontal\" && ctx.isRtl(),\n resolveAdjacent: (target) => ctx.resolveAdjacent(target),\n nudgeAdjacent: (target, delta) => ctx.nudgeAdjacent(target, delta),\n setAdjacentSize: (target, size) => ctx.setAdjacentSize(target, size),\n commitLayout: () => ctx.commitLayout(),\n toggleHandleCollapse: (target) => ctx.toggleHandleCollapse(target),\n });\n };\n\n return {\n onPointerDown: drag.onPointerDown,\n onPointerMove: drag.onPointerMove,\n onPointerUp: drag.onPointerUp,\n onKeyDown,\n };\n}\n"],"mappings":";;;;;AAeA,SAAgBA,EAAmB,GAAkB;CACnD,IAAMC,IAAMC,EAA8B,iBAAiB,GAErDC,IAAOC,EACX;EACE,mBAAmBH,EAAI,YAAY;EACnC,aAAaA,EAAI,MAAM;EACvB,mBAAmBA,EAAI,YAAY;EACnC,kBAAkB,MAAWA,EAAI,gBAAgBI,CAAM;EACvD,kBAAkB,GAAQ,MAASJ,EAAI,gBAAgBI,GAAQC,CAAI;EACnE,iBAAiBL,EAAI,UAAU;EAC/B,eAAeA,EAAI,QAAQ;EAC3B,oBAAoBA,EAAI,aAAa;CACvC,GACAM,CACF;CAmBA,OAjBAC,EAAUL,EAAK,OAAO,GAiBf;EACL,eAAeA,EAAK;EACpB,eAAeA,EAAK;EACpB,aAAaA,EAAK;EAClB,YAnBiB,MAAyB;GAC1C,IAAII,EAAQ,SAAS,GAAG;GAExB,IAAMF,IAASI,EAAM;GACrB,EAA6BA,GAAOJ,GAAQ;IAC1C,aAAcJ,EAAI,iBAAiB,KAAKA,EAAI,YAAY,KAAK,KAAM;IACnE,KAAKA,EAAI,YAAY,MAAM,gBAAgBA,EAAI,MAAM;IACrD,kBAAkB,MAAWA,EAAI,gBAAgBS,CAAM;IACvD,gBAAgB,GAAQ,MAAUT,EAAI,cAAcS,GAAQC,CAAK;IACjE,kBAAkB,GAAQ,MAASV,EAAI,gBAAgBS,GAAQJ,CAAI;IACnE,oBAAoBL,EAAI,aAAa;IACrC,uBAAuB,MAAWA,EAAI,qBAAqBS,CAAM;GACnE,CAAC;EACH;CAOA;AACF"}
@@ -1,6 +1,8 @@
1
1
  import { ResizablePanelProps } from '../resizable.types';
2
2
  /**
3
- * 一个可调整的面板。尺寸以百分比权重存在引擎里,这里只把它映射成 `flex-grow`,
4
- * 所以拖拽只会改两个面板的 style,内容不会重渲染。
3
+ * 一个可调整的面板。尺寸以百分比权重存在引擎里,这里只把它映射成 `flex-grow`,
4
+ * 所以拖拽只会改两个面板的 style,内容不会重渲染。
5
+ *
6
+ * 注册与命令式句柄逻辑在 `useResizablePanel`,本文件只负责渲染与属性透传。
5
7
  */
6
8
  export declare function ResizablePanel(props: ResizablePanelProps): import('solid-js').JSX.Element;
@@ -1,17 +1,18 @@
1
1
  import { clsx as e } from "../../../utils/clsx.js";
2
2
  import { useResizablePanelGroupContext as t } from "../resizable.context.js";
3
- import { parseSize as n, roundPercent as r, toKebabCase as i } from "../resizable.utils.js";
3
+ import { buildPanelStyleText as n, roundPercent as r } from "../resizable.utils.js";
4
+ import { useResizablePanel as i } from "./useResizablePanel.js";
4
5
  import { insert as a, mergeProps as o, spread as s, template as c, use as l } from "solid-js/web";
5
- import { createUniqueId as u, mergeProps as d, onCleanup as f, splitProps as p } from "solid-js";
6
+ import { createUniqueId as u, mergeProps as d, splitProps as f } from "solid-js";
6
7
  //#region src/components/resizable/ResizablePanel/ResizablePanel.tsx
7
- var m = /*#__PURE__*/ c("<div>");
8
- function h(c) {
9
- let h = t("ResizablePanel"), g = d({
8
+ var p = /*#__PURE__*/ c("<div>");
9
+ function m(c) {
10
+ let m = t("ResizablePanel"), h = d({
10
11
  minSize: 0,
11
12
  maxSize: 100,
12
13
  collapsible: !1,
13
14
  collapsedSize: 0
14
- }, c), [_, v] = p(g, [
15
+ }, c), [g, _] = f(h, [
15
16
  "id",
16
17
  "defaultSize",
17
18
  "minSize",
@@ -26,66 +27,38 @@ function h(c) {
26
27
  "classList",
27
28
  "style",
28
29
  "children"
29
- ]), y = _.id ?? u(), b = _.defaultSize === void 0 ? 1 : n(_.defaultSize, 1), x = () => h.sizes()[y] ?? b, S = () => {
30
- let e = [
31
- `flex-grow:${x()}`,
32
- "flex-shrink:1",
33
- "flex-basis:0%"
34
- ], t = _.style;
35
- if (typeof t == "string") e.push(t);
36
- else if (t && typeof t == "object") for (let [n, r] of Object.entries(t)) r != null && e.push(`${i(n)}:${r}`);
37
- return e.join(";");
38
- };
30
+ ]), v = g.id ?? u(), { size: y, register: b } = i({
31
+ ctx: m,
32
+ id: v,
33
+ local: g
34
+ });
39
35
  return (() => {
40
- var t = m();
41
- return l((e) => {
42
- let t = {
43
- id: y,
44
- element: e,
45
- minSize: () => n(_.minSize, 0),
46
- maxSize: () => n(_.maxSize, 100),
47
- collapsible: () => _.collapsible,
48
- collapsedSize: () => n(_.collapsedSize, 0),
49
- defaultSize: _.defaultSize === void 0 ? void 0 : n(_.defaultSize, 0),
50
- onResize: (e) => _.onResize?.(e),
51
- onCollapse: () => _.onCollapse?.(),
52
- onExpand: () => _.onExpand?.()
53
- }, r = h.registerPanel(t);
54
- _.panelRef?.({
55
- collapse: () => h.collapsePanel(y),
56
- expand: () => h.expandPanel(y),
57
- resize: (e) => h.setPanelSize(y, e),
58
- getSize: () => h.getPanelSize(y),
59
- isCollapsed: () => h.isPanelCollapsed(y),
60
- isExpanded: () => !h.isPanelCollapsed(y)
61
- }), f(() => {
62
- r(), _.panelRef?.(void 0);
63
- });
64
- }, t), s(t, o(v, {
36
+ var t = p();
37
+ return l(b, t), s(t, o(_, {
65
38
  get id() {
66
- return _.id;
39
+ return g.id;
67
40
  },
68
41
  "data-slot": "resizable-panel",
69
- "data-panel-id": y,
42
+ "data-panel-id": v,
70
43
  get "data-panel-size"() {
71
- return r(x());
44
+ return r(y());
72
45
  },
73
46
  get "data-panel-collapsed"() {
74
- return h.isPanelCollapsed(y) ? "" : void 0;
47
+ return m.isPanelCollapsed(v) ? "" : void 0;
75
48
  },
76
49
  get style() {
77
- return S();
50
+ return n(y(), g.style);
78
51
  },
79
52
  get class() {
80
- return e("relative min-h-0 min-w-0 overflow-hidden", _.class);
53
+ return e("relative min-h-0 min-w-0 overflow-hidden", g.class);
81
54
  },
82
55
  get classList() {
83
- return _.classList;
56
+ return g.classList;
84
57
  }
85
- }), !1, !0), a(t, () => _.children), t;
58
+ }), !1, !0), a(t, () => g.children), t;
86
59
  })();
87
60
  }
88
61
  //#endregion
89
- export { h as ResizablePanel };
62
+ export { m as ResizablePanel };
90
63
 
91
64
  //# sourceMappingURL=ResizablePanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ResizablePanel.js","names":["createUniqueId","mergeProps","onCleanup","splitProps","clsx","useResizablePanelGroupContext","parseSize","roundPercent","toKebabCase","ResizablePanelMeta","ResizablePanelProps","ResizablePanel","props","ctx","merged","minSize","maxSize","collapsible","collapsedSize","const","local","rest","id","fallbackSize","defaultSize","undefined","size","sizes","styleText","parts","extra","style","push","key","value","Object","entries","join","_el$","_tmpl$","_$use","el","meta","element","onResize","onCollapse","onExpand","unregister","registerPanel","panelRef","collapse","collapsePanel","expand","expandPanel","resize","setPanelSize","getSize","getPanelSize","isCollapsed","isPanelCollapsed","isExpanded","_$spread","_$mergeProps","data-panel-size","data-panel-collapsed","class","classList","_$insert","children","mergeProps","_$mergeProps","mergeProps$1","_tmpl$","ResizablePanel","ctx","useResizablePanelGroupContext","merged","props","local","rest","splitProps","id","createUniqueId","fallbackSize","parseSize","size","styleText","parts","extra","key","value","toKebabCase","_el$","use","meta","el","unregister","onCleanup","spread","mergeProps","roundPercent","\"class\"","clsx","insert"],"sources":["../../../../src/components/resizable/ResizablePanel/ResizablePanel.tsx"],"sourcesContent":["import { createUniqueId, mergeProps, onCleanup, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useResizablePanelGroupContext } from \"../resizable.context\";\nimport { parseSize, roundPercent, toKebabCase } from \"../resizable.utils\";\nimport type {\n ResizablePanelMeta,\n ResizablePanelProps,\n} from \"../resizable.types\";\n\n/**\n * 一个可调整的面板。尺寸以百分比权重存在引擎里,这里只把它映射成 `flex-grow`,\n * 所以拖拽只会改两个面板的 style,内容不会重渲染。\n */\nexport function ResizablePanel(props: ResizablePanelProps) {\n const ctx = useResizablePanelGroupContext(\"ResizablePanel\");\n const merged = mergeProps(\n { minSize: 0, maxSize: 100, collapsible: false, collapsedSize: 0 } as const,\n props,\n );\n const [local, rest] = splitProps(merged, [\n \"id\",\n \"defaultSize\",\n \"minSize\",\n \"maxSize\",\n \"collapsible\",\n \"collapsedSize\",\n \"onResize\",\n \"onCollapse\",\n \"onExpand\",\n \"panelRef\",\n \"class\",\n \"classList\",\n \"style\",\n \"children\",\n ]);\n\n const id = local.id ?? createUniqueId();\n // 引擎初始化前的 fallback(例如 SSR 首屏):按 defaultSize 比例,未指定则等分。\n // 初始化后 store 里就是归一化到 100 的百分比。\n const fallbackSize =\n local.defaultSize === undefined ? 1 : parseSize(local.defaultSize, 1);\n const size = () => ctx.sizes()[id] ?? fallbackSize;\n\n // 用字符串形式声明 style:模板字面量会被 Solid 包进 effect,尺寸变化时能可靠更新;\n // 对象形式里的 getter 不保证被编译器识别为动态。\n const styleText = () => {\n const parts = [`flex-grow:${size()}`, \"flex-shrink:1\", \"flex-basis:0%\"];\n const extra = local.style;\n if (typeof extra === \"string\") parts.push(extra);\n else if (extra && typeof extra === \"object\") {\n for (const [key, value] of Object.entries(extra)) {\n if (value === null || value === undefined) continue;\n parts.push(`${toKebabCase(key)}:${value}`);\n }\n }\n return parts.join(\";\");\n };\n\n return (\n <div\n {...rest}\n id={local.id}\n ref={(el) => {\n const meta: ResizablePanelMeta = {\n id,\n element: el,\n minSize: () => parseSize(local.minSize, 0),\n maxSize: () => parseSize(local.maxSize, 100),\n collapsible: () => local.collapsible,\n collapsedSize: () => parseSize(local.collapsedSize, 0),\n defaultSize:\n local.defaultSize === undefined\n ? undefined\n : parseSize(local.defaultSize, 0),\n onResize: (value) => local.onResize?.(value),\n onCollapse: () => local.onCollapse?.(),\n onExpand: () => local.onExpand?.(),\n };\n const unregister = ctx.registerPanel(meta);\n local.panelRef?.({\n collapse: () => ctx.collapsePanel(id),\n expand: () => ctx.expandPanel(id),\n resize: (value) => ctx.setPanelSize(id, value),\n getSize: () => ctx.getPanelSize(id),\n isCollapsed: () => ctx.isPanelCollapsed(id),\n isExpanded: () => !ctx.isPanelCollapsed(id),\n });\n onCleanup(() => {\n unregister();\n local.panelRef?.(undefined);\n });\n }}\n data-slot=\"resizable-panel\"\n data-panel-id={id}\n data-panel-size={roundPercent(size())}\n data-panel-collapsed={ctx.isPanelCollapsed(id) ? \"\" : undefined}\n style={styleText()}\n class={clsx(\"relative min-h-0 min-w-0 overflow-hidden\", local.class)}\n classList={local.classList}\n >\n {local.children}\n </div>\n );\n}\n"],"mappings":";;;;;;;AAaA,SAAgBW,EAAeC,GAA4B;CACzD,IAAMC,IAAMR,EAA8B,gBAAgB,GACpDS,IAASb,EACb;EAAEc,SAAS;EAAGC,SAAS;EAAKC,aAAa;EAAOC,eAAe;CAAE,GACjEN,CACF,GACM,CAACQ,GAAOC,KAAQlB,EAAWW,GAAQ;EACvC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEKQ,IAAKF,EAAME,MAAMtB,EAAe,GAGhCuB,IACJH,EAAMI,gBAAgBC,KAAAA,IAAY,IAAInB,EAAUc,EAAMI,aAAa,CAAC,GAChEE,UAAab,EAAIc,MAAM,CAAC,CAACL,MAAOC,GAIhCK,UAAkB;EACtB,IAAMC,IAAQ;GAAC,aAAaH,EAAK;GAAK;GAAiB;EAAe,GAChEI,IAAQV,EAAMW;EACpB,IAAI,OAAOD,KAAU,UAAUD,EAAMG,KAAKF,CAAK;OAC1C,IAAIA,KAAS,OAAOA,KAAU,UACjC,KAAK,IAAM,CAACG,GAAKC,MAAUC,OAAOC,QAAQN,CAAK,GAC7C,AAAII,KAAU,QACdL,EAAMG,KAAK,GAAGxB,EAAYyB,CAAG,EAAC,GAAIC,GAAO;EAG7C,OAAOL,EAAMQ,KAAK,GAAG;CACvB;CAEA,cAAA;EAAA,IAAAC,IAAAC,EAAA;EA0CmB,OA1CnBC,GAIUC,MAAO;GACX,IAAMC,IAA2B;IAC/BpB;IACAqB,SAASF;IACT1B,eAAeT,EAAUc,EAAML,SAAS,CAAC;IACzCC,eAAeV,EAAUc,EAAMJ,SAAS,GAAG;IAC3CC,mBAAmBG,EAAMH;IACzBC,qBAAqBZ,EAAUc,EAAMF,eAAe,CAAC;IACrDM,aACEJ,EAAMI,gBAAgBC,KAAAA,IAClBA,KAAAA,IACAnB,EAAUc,EAAMI,aAAa,CAAC;IACpCoB,WAAWV,MAAUd,EAAMwB,WAAWV,CAAK;IAC3CW,kBAAkBzB,EAAMyB,aAAa;IACrCC,gBAAgB1B,EAAM0B,WAAW;GACnC,GACMC,IAAalC,EAAImC,cAAcN,CAAI;GASzCxC,AARAkB,EAAM6B,WAAW;IACfC,gBAAgBrC,EAAIsC,cAAc7B,CAAE;IACpC8B,cAAcvC,EAAIwC,YAAY/B,CAAE;IAChCgC,SAASpB,MAAUrB,EAAI0C,aAAajC,GAAIY,CAAK;IAC7CsB,eAAe3C,EAAI4C,aAAanC,CAAE;IAClCoC,mBAAmB7C,EAAI8C,iBAAiBrC,CAAE;IAC1CsC,kBAAkB,CAAC/C,EAAI8C,iBAAiBrC,CAAE;GAC5C,CAAC,GACDpB,QAAgB;IAEdkB,AADA2B,EAAW,GACX3B,EAAM6B,WAAWxB,KAAAA,CAAS;GAC5B,CAAC;EACH,GAACa,CAAA,GAAAuB,EAAAvB,GAAAwB,EA/BGzC,GAAI;GAAA,IACRC,KAAE;IAAA,OAAEF,EAAME;GAAE;GAAA,aA+BF;GAAiB,iBACZA;GAAE,IAAA,oBAAA;IAAA,OACAf,EAAamB,EAAK,CAAC;GAAC;GAAA,IAAA,yBAAA;IAAA,OACfb,EAAI8C,iBAAiBrC,CAAE,IAAI,KAAKG,KAAAA;GAAS;GAAA,IAC/DM,QAAK;IAAA,OAAEH,EAAU;GAAC;GAAA,IAAAyE,QAAA;IAAA,OACXjG,EAAK,4CAA4CgB,EAAM6C,KAAK;GAAC;GAAA,IACpEC,YAAS;IAAA,OAAE9C,EAAM8C;GAAS;EAAA,CAAA,GAAA,IAAA,EAAA,GAAAC,EAAA7B,SAEzBlB,EAAMgD,QAAQ,GAAA9B;CAAA,EAAA,CAAA;AAGrB"}
1
+ {"version":3,"file":"ResizablePanel.js","names":["createUniqueId","mergeProps","splitProps","clsx","useResizablePanelGroupContext","buildPanelStyleText","roundPercent","ResizablePanelProps","useResizablePanel","ResizablePanel","props","ctx","merged","minSize","maxSize","collapsible","collapsedSize","const","local","rest","id","size","register","_el$","_tmpl$","_$use","_$spread","_$mergeProps","data-panel-size","data-panel-collapsed","isPanelCollapsed","undefined","style","class","classList","_$insert","children","mergeProps","_$mergeProps","mergeProps$1","_tmpl$","ResizablePanel","ctx","useResizablePanelGroupContext","merged","props","local","rest","splitProps","id","createUniqueId","useResizablePanel","_el$","use","register","spread","mergeProps","roundPercent","size","buildPanelStyleText","\"class\"","clsx","insert"],"sources":["../../../../src/components/resizable/ResizablePanel/ResizablePanel.tsx"],"sourcesContent":["import { createUniqueId, mergeProps, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useResizablePanelGroupContext } from \"../resizable.context\";\nimport { buildPanelStyleText, roundPercent } from \"../resizable.utils\";\nimport type { ResizablePanelProps } from \"../resizable.types\";\nimport { useResizablePanel } from \"./useResizablePanel\";\n\n/**\n * 一个可调整的面板。尺寸以百分比权重存在引擎里,这里只把它映射成 `flex-grow`,\n * 所以拖拽只会改两个面板的 style,内容不会重渲染。\n *\n * 注册与命令式句柄逻辑在 `useResizablePanel`,本文件只负责渲染与属性透传。\n */\nexport function ResizablePanel(props: ResizablePanelProps) {\n const ctx = useResizablePanelGroupContext(\"ResizablePanel\");\n const merged = mergeProps(\n { minSize: 0, maxSize: 100, collapsible: false, collapsedSize: 0 } as const,\n props,\n );\n const [local, rest] = splitProps(merged, [\n \"id\",\n \"defaultSize\",\n \"minSize\",\n \"maxSize\",\n \"collapsible\",\n \"collapsedSize\",\n \"onResize\",\n \"onCollapse\",\n \"onExpand\",\n \"panelRef\",\n \"class\",\n \"classList\",\n \"style\",\n \"children\",\n ]);\n\n // 自动 id 只用于引擎/持久化,不回写到 DOM 的 id 属性(只有显式传入才透传)\n const id = local.id ?? createUniqueId();\n const { size, register } = useResizablePanel({ ctx, id, local });\n\n return (\n <div\n {...rest}\n id={local.id}\n ref={register}\n data-slot=\"resizable-panel\"\n data-panel-id={id}\n data-panel-size={roundPercent(size())}\n data-panel-collapsed={ctx.isPanelCollapsed(id) ? \"\" : undefined}\n style={buildPanelStyleText(size(), local.style)}\n class={clsx(\"relative min-h-0 min-w-0 overflow-hidden\", local.class)}\n classList={local.classList}\n >\n {local.children}\n </div>\n );\n}\n"],"mappings":";;;;;;;;AAaA,SAAgBS,EAAeC,GAA4B;CACzD,IAAMC,IAAMP,EAA8B,gBAAgB,GACpDQ,IAASX,EACb;EAAEY,SAAS;EAAGC,SAAS;EAAKC,aAAa;EAAOC,eAAe;CAAE,GACjEN,CACF,GACM,CAACQ,GAAOC,KAAQjB,EAAWU,GAAQ;EACvC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAGKQ,IAAKF,EAAME,MAAMpB,EAAe,GAChC,EAAEqB,SAAMC,gBAAad,EAAkB;EAAEG;EAAKS;EAAIF;CAAM,CAAC;CAE/D,cAAA;EAAA,IAAAK,IAAAC,EAAA;EAamB,OAbnBC,EAISH,GAAQC,CAAA,GAAAG,EAAAH,GAAAI,EAFTR,GAAI;GAAA,IACRC,KAAE;IAAA,OAAEF,EAAME;GAAE;GAAA,aAEF;GAAiB,iBACZA;GAAE,IAAA,oBAAA;IAAA,OACAd,EAAae,EAAK,CAAC;GAAC;GAAA,IAAA,yBAAA;IAAA,OACfV,EAAImB,iBAAiBV,CAAE,IAAI,KAAKW,KAAAA;GAAS;GAAA,IAC/DC,QAAK;IAAA,OAAE3B,EAAoBgB,EAAK,GAAGH,EAAMc,KAAK;GAAC;GAAA,IAAA4B,QAAA;IAAA,OACxCzD,EAAK,4CAA4Ce,EAAMe,KAAK;GAAC;GAAA,IACpEC,YAAS;IAAA,OAAEhB,EAAMgB;GAAS;EAAA,CAAA,GAAA,IAAA,EAAA,GAAAC,EAAAZ,SAEzBL,EAAMkB,QAAQ,GAAAb;CAAA,EAAA,CAAA;AAGrB"}
@@ -0,0 +1,30 @@
1
+ import { ResizablePanelGroupContextValue } from '../resizable.context';
2
+ import { ResizablePanelHandle, ResizableSize } from '../resizable.types';
3
+ /** 面板自己的配置(由 splitProps 得到,属性保持响应式读取) */
4
+ export interface ResizablePanelLocal {
5
+ defaultSize?: ResizableSize;
6
+ minSize: ResizableSize;
7
+ maxSize: ResizableSize;
8
+ collapsible: boolean;
9
+ collapsedSize: ResizableSize;
10
+ onResize?: (size: number) => void;
11
+ onCollapse?: () => void;
12
+ onExpand?: () => void;
13
+ panelRef?: (handle: ResizablePanelHandle | undefined) => void;
14
+ }
15
+ export interface UseResizablePanelOptions {
16
+ ctx: ResizablePanelGroupContextValue;
17
+ id: string;
18
+ local: ResizablePanelLocal;
19
+ }
20
+ /**
21
+ * 面板的"注册与尺寸"逻辑:把 props 里的约束摊成引擎需要的 `ResizablePanelMeta`,
22
+ * 在 ref 回调里注册/注销,并把命令式句柄交给 `panelRef`。
23
+ *
24
+ * 渲染层因此只需要消费 `size()` 与 `ref={register}`,
25
+ * 不再关心 meta 的形状、注册时机与句柄方法。
26
+ */
27
+ export declare function useResizablePanel(options: UseResizablePanelOptions): {
28
+ size: () => number;
29
+ register: (element: HTMLElement) => void;
30
+ };
@@ -0,0 +1,37 @@
1
+ import { parseSize as e } from "../resizable.utils.js";
2
+ import { onCleanup as t } from "solid-js";
3
+ //#region src/components/resizable/ResizablePanel/useResizablePanel.ts
4
+ function n(n) {
5
+ let { ctx: r, id: i, local: a } = n, o = a.defaultSize === void 0 ? 1 : e(a.defaultSize, 1), s = () => r.sizes()[i] ?? o, c = (t) => ({
6
+ id: i,
7
+ element: t,
8
+ minSize: () => e(a.minSize, 0),
9
+ maxSize: () => e(a.maxSize, 100),
10
+ collapsible: () => a.collapsible,
11
+ collapsedSize: () => e(a.collapsedSize, 0),
12
+ defaultSize: a.defaultSize === void 0 ? void 0 : e(a.defaultSize, 0),
13
+ onResize: (e) => a.onResize?.(e),
14
+ onCollapse: () => a.onCollapse?.(),
15
+ onExpand: () => a.onExpand?.()
16
+ }), l = {
17
+ collapse: () => r.collapsePanel(i),
18
+ expand: () => r.expandPanel(i),
19
+ resize: (e) => r.setPanelSize(i, e),
20
+ getSize: () => r.getPanelSize(i),
21
+ isCollapsed: () => r.isPanelCollapsed(i),
22
+ isExpanded: () => !r.isPanelCollapsed(i)
23
+ };
24
+ return {
25
+ size: s,
26
+ register: (e) => {
27
+ let n = r.registerPanel(c(e));
28
+ a.panelRef?.(l), t(() => {
29
+ n(), a.panelRef?.(void 0);
30
+ });
31
+ }
32
+ };
33
+ }
34
+ //#endregion
35
+ export { n as useResizablePanel };
36
+
37
+ //# sourceMappingURL=useResizablePanel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useResizablePanel.js","names":["useResizablePanel","options","fallbackSize","local","parseSize","size","ctx","id","buildMeta","value","handle","unregister","element","onCleanup"],"sources":["../../../../src/components/resizable/ResizablePanel/useResizablePanel.ts"],"sourcesContent":["import { onCleanup } from \"solid-js\";\nimport type { ResizablePanelGroupContextValue } from \"../resizable.context\";\nimport type {\n ResizablePanelHandle,\n ResizablePanelMeta,\n ResizableSize,\n} from \"../resizable.types\";\nimport { parseSize } from \"../resizable.utils\";\n\n/** 面板自己的配置(由 splitProps 得到,属性保持响应式读取) */\nexport interface ResizablePanelLocal {\n defaultSize?: ResizableSize;\n minSize: ResizableSize;\n maxSize: ResizableSize;\n collapsible: boolean;\n collapsedSize: ResizableSize;\n onResize?: (size: number) => void;\n onCollapse?: () => void;\n onExpand?: () => void;\n panelRef?: (handle: ResizablePanelHandle | undefined) => void;\n}\n\nexport interface UseResizablePanelOptions {\n ctx: ResizablePanelGroupContextValue;\n id: string;\n local: ResizablePanelLocal;\n}\n\n/**\n * 面板的\"注册与尺寸\"逻辑:把 props 里的约束摊成引擎需要的 `ResizablePanelMeta`,\n * 在 ref 回调里注册/注销,并把命令式句柄交给 `panelRef`。\n *\n * 渲染层因此只需要消费 `size()` 与 `ref={register}`,\n * 不再关心 meta 的形状、注册时机与句柄方法。\n */\nexport function useResizablePanel(options: UseResizablePanelOptions) {\n const { ctx, id, local } = options;\n\n // 引擎初始化前的 fallback(例如 SSR 首屏):按 defaultSize 比例,未指定则等分。\n // 初始化后 store 里就是归一化到 100 的百分比。\n const fallbackSize =\n local.defaultSize === undefined ? 1 : parseSize(local.defaultSize, 1);\n\n const size = () => ctx.sizes()[id] ?? fallbackSize;\n\n const buildMeta = (element: HTMLElement): ResizablePanelMeta => ({\n id,\n element,\n minSize: () => parseSize(local.minSize, 0),\n maxSize: () => parseSize(local.maxSize, 100),\n collapsible: () => local.collapsible,\n collapsedSize: () => parseSize(local.collapsedSize, 0),\n defaultSize:\n local.defaultSize === undefined\n ? undefined\n : parseSize(local.defaultSize, 0),\n onResize: (value) => local.onResize?.(value),\n onCollapse: () => local.onCollapse?.(),\n onExpand: () => local.onExpand?.(),\n });\n\n const handle: ResizablePanelHandle = {\n collapse: () => ctx.collapsePanel(id),\n expand: () => ctx.expandPanel(id),\n resize: (value) => ctx.setPanelSize(id, value),\n getSize: () => ctx.getPanelSize(id),\n isCollapsed: () => ctx.isPanelCollapsed(id),\n isExpanded: () => !ctx.isPanelCollapsed(id),\n };\n\n /** 供 `ref` 使用:注册 meta、暴露句柄,卸载时按相反顺序回收 */\n const register = (element: HTMLElement) => {\n const unregister = ctx.registerPanel(buildMeta(element));\n local.panelRef?.(handle);\n onCleanup(() => {\n unregister();\n local.panelRef?.(undefined);\n });\n };\n\n return { size, register };\n}\n"],"mappings":";;;AAmCA,SAAgBA,EAAkB,GAAmC;CACnE,IAAM,EAAE,QAAK,OAAI,aAAUC,GAIrBC,IACJC,EAAM,gBAAgB,KAAA,IAAY,IAAIC,EAAUD,EAAM,aAAa,CAAC,GAEhEE,UAAaC,EAAI,MAAM,CAAC,CAACC,MAAOL,GAEhCM,KAAa,OAA8C;EAC/D;EACA;EACA,eAAeJ,EAAUD,EAAM,SAAS,CAAC;EACzC,eAAeC,EAAUD,EAAM,SAAS,GAAG;EAC3C,mBAAmBA,EAAM;EACzB,qBAAqBC,EAAUD,EAAM,eAAe,CAAC;EACrD,aACEA,EAAM,gBAAgB,KAAA,IAClB,KAAA,IACAC,EAAUD,EAAM,aAAa,CAAC;EACpC,WAAW,MAAUA,EAAM,WAAWM,CAAK;EAC3C,kBAAkBN,EAAM,aAAa;EACrC,gBAAgBA,EAAM,WAAW;CACnC,IAEMO,IAA+B;EACnC,gBAAgBJ,EAAI,cAAcC,CAAE;EACpC,cAAcD,EAAI,YAAYC,CAAE;EAChC,SAAS,MAAUD,EAAI,aAAaC,GAAIE,CAAK;EAC7C,eAAeH,EAAI,aAAaC,CAAE;EAClC,mBAAmBD,EAAI,iBAAiBC,CAAE;EAC1C,kBAAkB,CAACD,EAAI,iBAAiBC,CAAE;CAC5C;CAYA,OAAO;EAAE;EAAM,WATG,MAAyB;GACzC,IAAMI,IAAaL,EAAI,cAAcE,EAAUI,CAAO,CAAC;GAEvD,AADAT,EAAM,WAAWO,CAAM,GACvBG,QAAgB;IAEd,AADAF,EAAW,GACXR,EAAM,WAAW,KAAA,CAAS;GAC5B,CAAC;EACH;CAEwB;AAC1B"}
@@ -1,6 +1,9 @@
1
1
  import { ResizablePanelGroupProps } from '../resizable.types';
2
2
  /**
3
- * 可调整布局的根:声明排列方向与初始/持久化布局,向下提供 context。
3
+ * 可调整布局的根:声明排列方向与初始/持久化布局,向下提供 context。
4
4
  * 子节点按 `Panel / Handle / Panel ...` 交替组合。
5
+ *
6
+ * 布局引擎在 `useResizablePanelGroup`,拖拽光标在 `useDragCursor`,
7
+ * 本文件只负责默认值合并与框架渲染。
5
8
  */
6
9
  export declare function ResizablePanelGroup(props: ResizablePanelGroupProps): import('solid-js').JSX.Element;