@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.
- package/dist/components/accordion/Accordion/Accordion.js +3 -0
- package/dist/components/accordion/Accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/AccordionContent/AccordionContent.js +27 -21
- package/dist/components/accordion/AccordionContent/AccordionContent.js.map +1 -1
- package/dist/components/accordion/AccordionItem/AccordionItem.js +3 -0
- package/dist/components/accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js +19 -18
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js.map +1 -1
- package/dist/components/alert/Alert/Alert.js +8 -3
- package/dist/components/alert/Alert/Alert.js.map +1 -1
- package/dist/components/alert/AlertAction/AlertAction.js +8 -3
- package/dist/components/alert/AlertAction/AlertAction.js.map +1 -1
- package/dist/components/alert/AlertDescription/AlertDescription.js +8 -3
- package/dist/components/alert/AlertDescription/AlertDescription.js.map +1 -1
- package/dist/components/alert/AlertTitle/AlertTitle.js +8 -3
- package/dist/components/alert/AlertTitle/AlertTitle.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.d.ts +3 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js +6 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js +9 -7
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.types.d.ts +9 -3
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js +8 -3
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js +8 -3
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js +8 -3
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js +8 -3
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js +8 -3
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js.map +1 -1
- package/dist/components/aspect-ratio/AspectRatio.js +3 -0
- package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
- package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js +15 -7
- package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js.map +1 -1
- package/dist/components/avatar/Avatar/Avatar.context.d.ts +7 -0
- package/dist/components/avatar/Avatar/Avatar.context.js +1 -1
- package/dist/components/avatar/Avatar/Avatar.context.js.map +1 -1
- package/dist/components/avatar/Avatar/Avatar.js +7 -2
- package/dist/components/avatar/Avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/AvatarBadge/AvatarBadge.js +8 -3
- package/dist/components/avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/components/avatar/AvatarFallback/AvatarFallback.js +10 -5
- package/dist/components/avatar/AvatarFallback/AvatarFallback.js.map +1 -1
- package/dist/components/avatar/AvatarGroup/AvatarGroup.js +8 -3
- package/dist/components/avatar/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js +8 -3
- package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js.map +1 -1
- package/dist/components/avatar/AvatarImage/AvatarImage.js +19 -12
- package/dist/components/avatar/AvatarImage/AvatarImage.js.map +1 -1
- package/dist/components/badge/Badge.js +9 -4
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js +3 -0
- package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js.map +1 -1
- package/dist/components/bubble/BubbleContent/BubbleContent.js +21 -10
- package/dist/components/bubble/BubbleContent/BubbleContent.js.map +1 -1
- package/dist/components/button/Button.js +3 -0
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/button-group/ButtonGroup/ButtonGroup.js +3 -0
- package/dist/components/button-group/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js +16 -7
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js.map +1 -1
- package/dist/components/calendar/Calendar/Calendar.d.ts +2 -3
- package/dist/components/calendar/Calendar/Calendar.js +89 -264
- package/dist/components/calendar/Calendar/Calendar.js.map +1 -1
- package/dist/components/calendar/Calendar/Calendar.options.d.ts +43 -0
- package/dist/components/calendar/Calendar/Calendar.options.js +38 -0
- package/dist/components/calendar/Calendar/Calendar.options.js.map +1 -0
- package/dist/components/calendar/Calendar/Calendar.selection.d.ts +16 -0
- package/dist/components/calendar/Calendar/Calendar.selection.js +50 -0
- package/dist/components/calendar/Calendar/Calendar.selection.js.map +1 -0
- package/dist/components/calendar/Calendar/Calendar.styles.d.ts +8 -0
- package/dist/components/calendar/Calendar/Calendar.styles.js +32 -0
- package/dist/components/calendar/Calendar/Calendar.styles.js.map +1 -0
- package/dist/components/calendar/Calendar/Calendar.utils.d.ts +3 -1
- package/dist/components/calendar/Calendar/Calendar.utils.js +4 -1
- package/dist/components/calendar/Calendar/Calendar.utils.js.map +1 -1
- package/dist/components/calendar/Calendar/CalendarDay.d.ts +28 -0
- package/dist/components/calendar/Calendar/CalendarDay.js +41 -0
- package/dist/components/calendar/Calendar/CalendarDay.js.map +1 -0
- package/dist/components/calendar/Calendar/CalendarMonth.d.ts +35 -0
- package/dist/components/calendar/Calendar/CalendarMonth.js +127 -0
- package/dist/components/calendar/Calendar/CalendarMonth.js.map +1 -0
- package/dist/components/calendar/Calendar/CalendarMonthCaption.d.ts +22 -0
- package/dist/components/calendar/Calendar/CalendarMonthCaption.js +103 -0
- package/dist/components/calendar/Calendar/CalendarMonthCaption.js.map +1 -0
- package/dist/components/calendar/index.js +3 -2
- package/dist/components/card/Card/Card.js +3 -0
- package/dist/components/card/Card/Card.js.map +1 -1
- package/dist/components/card/CardAction/CardAction.js +8 -3
- package/dist/components/card/CardAction/CardAction.js.map +1 -1
- package/dist/components/card/CardContent/CardContent.js +8 -3
- package/dist/components/card/CardContent/CardContent.js.map +1 -1
- package/dist/components/card/CardDescription/CardDescription.js +8 -3
- package/dist/components/card/CardDescription/CardDescription.js.map +1 -1
- package/dist/components/card/CardFooter/CardFooter.js +8 -3
- package/dist/components/card/CardFooter/CardFooter.js.map +1 -1
- package/dist/components/card/CardHeader/CardHeader.js +8 -3
- package/dist/components/card/CardHeader/CardHeader.js.map +1 -1
- package/dist/components/card/CardTitle/CardTitle.js +8 -3
- package/dist/components/card/CardTitle/CardTitle.js.map +1 -1
- package/dist/components/carousel/Carousel/Carousel.context.js +1 -1
- package/dist/components/carousel/Carousel/Carousel.context.js.map +1 -1
- package/dist/components/carousel/Carousel/Carousel.js +19 -12
- package/dist/components/carousel/Carousel/Carousel.js.map +1 -1
- package/dist/components/carousel/Carousel/useKeyboardNavigation.d.ts +11 -1
- package/dist/components/carousel/Carousel/useKeyboardNavigation.js +5 -4
- package/dist/components/carousel/Carousel/useKeyboardNavigation.js.map +1 -1
- package/dist/components/carousel/CarouselContent/CarouselContent.js +8 -3
- package/dist/components/carousel/CarouselContent/CarouselContent.js.map +1 -1
- package/dist/components/carousel/CarouselNext/CarouselNext.js +29 -16
- package/dist/components/carousel/CarouselNext/CarouselNext.js.map +1 -1
- package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js +29 -16
- package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js.map +1 -1
- package/dist/components/checkbox/Checkbox/Checkbox.js +32 -25
- package/dist/components/checkbox/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.context.js +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.context.js.map +1 -1
- package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js +13 -12
- package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js.map +1 -1
- package/dist/components/combobox/Combobox/Combobox.js +52 -52
- package/dist/components/combobox/Combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/Combobox/Combobox.types.d.ts +15 -6
- package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js +7 -3
- package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js.map +1 -1
- package/dist/components/combobox/ComboboxClear/ComboboxClear.js +1 -1
- package/dist/components/combobox/ComboboxClear/ComboboxClear.js.map +1 -1
- package/dist/components/combobox/ComboboxInput/ComboboxInput.js +26 -10
- package/dist/components/combobox/ComboboxInput/ComboboxInput.js.map +1 -1
- package/dist/components/combobox/ComboboxItem/ComboboxItem.js +6 -5
- package/dist/components/combobox/ComboboxItem/ComboboxItem.js.map +1 -1
- package/dist/components/combobox/ComboboxList/ComboboxList.js +17 -11
- package/dist/components/combobox/ComboboxList/ComboboxList.js.map +1 -1
- package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js +8 -1
- package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js.map +1 -1
- package/dist/components/context-menu/ContextMenu/ContextMenu.js +10 -8
- package/dist/components/context-menu/ContextMenu/ContextMenu.js.map +1 -1
- package/dist/components/context-menu/ContextMenuContent/context-menu.highlight.d.ts +33 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.highlight.js +41 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.highlight.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.popup-items.d.ts +25 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.popup-items.js +20 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.popup-items.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.positioner.d.ts +31 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.positioner.js +39 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.positioner.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js +70 -136
- package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js.map +1 -1
- package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js +2 -1
- package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js.map +1 -1
- package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js +20 -10
- package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js.map +1 -1
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.long-press.d.ts +24 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.long-press.js +26 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.long-press.js.map +1 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.trigger.utils.d.ts +35 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.trigger.utils.js +17 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.trigger.utils.js.map +1 -0
- package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.d.ts +9 -11
- package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js +36 -33
- package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js.map +1 -1
- package/dist/components/context-menu/context-menu.keyboard.d.ts +29 -0
- package/dist/components/context-menu/context-menu.keyboard.js +52 -0
- package/dist/components/context-menu/context-menu.keyboard.js.map +1 -0
- package/dist/components/context-menu/context-menu.typeahead.d.ts +27 -0
- package/dist/components/context-menu/context-menu.typeahead.js +19 -0
- package/dist/components/context-menu/context-menu.typeahead.js.map +1 -0
- package/dist/components/context-menu/context-menu.utils.d.ts +5 -2
- package/dist/components/context-menu/context-menu.utils.js +17 -39
- package/dist/components/context-menu/context-menu.utils.js.map +1 -1
- package/dist/components/date-picker/DatePicker/DatePicker.js +6 -0
- package/dist/components/date-picker/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.context.js +1 -1
- package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.js +24 -15
- package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.types.d.ts +5 -0
- package/dist/components/dialog/DialogClose/DialogClose.js +20 -19
- package/dist/components/dialog/DialogClose/DialogClose.js.map +1 -1
- package/dist/components/dialog/DialogContent/DialogContent.context.js +1 -1
- package/dist/components/dialog/DialogContent/DialogContent.context.js.map +1 -1
- package/dist/components/dialog/DialogDescription/DialogDescription.js +8 -3
- package/dist/components/dialog/DialogDescription/DialogDescription.js.map +1 -1
- package/dist/components/dialog/DialogFooter/DialogFooter.js +8 -3
- package/dist/components/dialog/DialogFooter/DialogFooter.js.map +1 -1
- package/dist/components/dialog/DialogHeader/DialogHeader.js +8 -3
- package/dist/components/dialog/DialogHeader/DialogHeader.js.map +1 -1
- package/dist/components/dialog/DialogOverlay/DialogOverlay.js +3 -0
- package/dist/components/dialog/DialogOverlay/DialogOverlay.js.map +1 -1
- package/dist/components/dialog/DialogSurface/DialogSurface.js +34 -26
- package/dist/components/dialog/DialogSurface/DialogSurface.js.map +1 -1
- package/dist/components/dialog/DialogTitle/DialogTitle.js +8 -3
- package/dist/components/dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/components/drawer/Drawer/Drawer.js +1 -1
- package/dist/components/drawer/Drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/Drawer/create-change-event-details.js +4 -20
- package/dist/components/drawer/Drawer/create-change-event-details.js.map +1 -1
- package/dist/components/drawer/DrawerContent/drawer-swipe.utils.d.ts +32 -0
- package/dist/components/drawer/DrawerContent/drawer-swipe.utils.js +36 -0
- package/dist/components/drawer/DrawerContent/drawer-swipe.utils.js.map +1 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.d.ts +3 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.js +22 -42
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.js.map +1 -1
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js +1 -1
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js +7 -7
- package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.d.ts +7 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js +10 -10
- package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js.map +1 -1
- package/dist/components/field/Field/Field.js +3 -0
- package/dist/components/field/Field/Field.js.map +1 -1
- package/dist/components/field/FieldContent/FieldContent.js +8 -3
- package/dist/components/field/FieldContent/FieldContent.js.map +1 -1
- package/dist/components/field/FieldDescription/FieldDescription.js +8 -3
- package/dist/components/field/FieldDescription/FieldDescription.js.map +1 -1
- package/dist/components/field/FieldError/FieldError.js +8 -3
- package/dist/components/field/FieldError/FieldError.js.map +1 -1
- package/dist/components/field/FieldGroup/FieldGroup.js +8 -3
- package/dist/components/field/FieldGroup/FieldGroup.js.map +1 -1
- package/dist/components/field/FieldLabel/FieldLabel.js +3 -0
- package/dist/components/field/FieldLabel/FieldLabel.js.map +1 -1
- package/dist/components/field/FieldLegend/FieldLegend.js +3 -0
- package/dist/components/field/FieldLegend/FieldLegend.js.map +1 -1
- package/dist/components/field/FieldSeparator/FieldSeparator.js +3 -0
- package/dist/components/field/FieldSeparator/FieldSeparator.js.map +1 -1
- package/dist/components/field/FieldSet/FieldSet.js +8 -3
- package/dist/components/field/FieldSet/FieldSet.js.map +1 -1
- package/dist/components/field/FieldTitle/FieldTitle.js +8 -3
- package/dist/components/field/FieldTitle/FieldTitle.js.map +1 -1
- package/dist/components/image/Image.utils.d.ts +14 -16
- package/dist/components/image/Image.utils.js +146 -190
- package/dist/components/image/Image.utils.js.map +1 -1
- package/dist/components/image/ImageElement.js +31 -27
- package/dist/components/image/ImageElement.js.map +1 -1
- package/dist/components/image/lib/blur.d.ts +31 -0
- package/dist/components/image/lib/blur.js +24 -0
- package/dist/components/image/lib/blur.js.map +1 -0
- package/dist/components/image/lib/dev-checks.d.ts +52 -0
- package/dist/components/image/lib/handle-loading.d.ts +13 -0
- package/dist/components/image/lib/handle-loading.js +20 -0
- package/dist/components/image/lib/handle-loading.js.map +1 -0
- package/dist/components/image/lib/loader.d.ts +39 -0
- package/dist/components/image/lib/loader.js +57 -0
- package/dist/components/image/lib/loader.js.map +1 -0
- package/dist/components/image/lib/static-import.d.ts +14 -0
- package/dist/components/image/lib/static-import.js +17 -0
- package/dist/components/image/lib/static-import.js.map +1 -0
- package/dist/components/input-group/InputGroup/InputGroup.js +8 -3
- package/dist/components/input-group/InputGroup/InputGroup.js.map +1 -1
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js +3 -0
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js.map +1 -1
- package/dist/components/input-group/InputGroupButton/InputGroupButton.js +3 -0
- package/dist/components/input-group/InputGroupButton/InputGroupButton.js.map +1 -1
- package/dist/components/input-group/InputGroupInput/InputGroupInput.js +3 -0
- package/dist/components/input-group/InputGroupInput/InputGroupInput.js.map +1 -1
- package/dist/components/input-group/InputGroupText/InputGroupText.js +8 -3
- package/dist/components/input-group/InputGroupText/InputGroupText.js.map +1 -1
- package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js +3 -0
- package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js.map +1 -1
- package/dist/components/item/Item/Item.js +9 -0
- package/dist/components/item/Item/Item.js.map +1 -1
- package/dist/components/item/ItemActions/ItemActions.js +8 -3
- package/dist/components/item/ItemActions/ItemActions.js.map +1 -1
- package/dist/components/item/ItemContent/ItemContent.js +8 -3
- package/dist/components/item/ItemContent/ItemContent.js.map +1 -1
- package/dist/components/item/ItemDescription/ItemDescription.js +8 -3
- package/dist/components/item/ItemDescription/ItemDescription.js.map +1 -1
- package/dist/components/item/ItemFooter/ItemFooter.js +8 -3
- package/dist/components/item/ItemFooter/ItemFooter.js.map +1 -1
- package/dist/components/item/ItemGroup/ItemGroup.js +8 -3
- package/dist/components/item/ItemGroup/ItemGroup.js.map +1 -1
- package/dist/components/item/ItemHeader/ItemHeader.js +8 -3
- package/dist/components/item/ItemHeader/ItemHeader.js.map +1 -1
- package/dist/components/item/ItemMedia/ItemMedia.js +3 -0
- package/dist/components/item/ItemMedia/ItemMedia.js.map +1 -1
- package/dist/components/item/ItemSeparator/ItemSeparator.js +3 -0
- package/dist/components/item/ItemSeparator/ItemSeparator.js.map +1 -1
- package/dist/components/item/ItemTitle/ItemTitle.js +8 -3
- package/dist/components/item/ItemTitle/ItemTitle.js.map +1 -1
- package/dist/components/kbd/Kbd.js +16 -6
- package/dist/components/kbd/Kbd.js.map +1 -1
- package/dist/components/label/Label.js +3 -0
- package/dist/components/label/Label.js.map +1 -1
- package/dist/components/marker/Marker/Marker.styles.d.ts +1 -1
- package/dist/components/message-scroller/message-scroller.anchoring.d.ts +60 -0
- package/dist/components/message-scroller/message-scroller.anchoring.js +139 -0
- package/dist/components/message-scroller/message-scroller.anchoring.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.anchors.d.ts +12 -0
- package/dist/components/message-scroller/message-scroller.anchors.js +23 -0
- package/dist/components/message-scroller/message-scroller.anchors.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.commands.d.ts +43 -0
- package/dist/components/message-scroller/message-scroller.commands.js +51 -0
- package/dist/components/message-scroller/message-scroller.commands.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.dom-measure.d.ts +29 -0
- package/dist/components/message-scroller/message-scroller.dom-measure.js +37 -0
- package/dist/components/message-scroller/message-scroller.dom-measure.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.measure.d.ts +27 -0
- package/dist/components/message-scroller/message-scroller.measure.js +21 -0
- package/dist/components/message-scroller/message-scroller.measure.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.scroll-state.d.ts +54 -0
- package/dist/components/message-scroller/message-scroller.scroll-state.js +74 -0
- package/dist/components/message-scroller/message-scroller.scroll-state.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.scroll-target.d.ts +27 -0
- package/dist/components/message-scroller/message-scroller.scroll-target.js +33 -0
- package/dist/components/message-scroller/message-scroller.scroll-target.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.utils.d.ts +7 -0
- package/dist/components/message-scroller/message-scroller.utils.js +3 -2
- package/dist/components/message-scroller/message-scroller.utils.js.map +1 -1
- package/dist/components/message-scroller/message-scroller.visibility.d.ts +43 -0
- package/dist/components/message-scroller/message-scroller.visibility.js +82 -0
- package/dist/components/message-scroller/message-scroller.visibility.js.map +1 -0
- package/dist/components/message-scroller/useMessageScrollerEngine.js +87 -337
- package/dist/components/message-scroller/useMessageScrollerEngine.js.map +1 -1
- package/dist/components/number-input/NumberInput/NumberInput.js +21 -19
- package/dist/components/number-input/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/number-input/NumberInput/NumberInput.utils.d.ts +6 -2
- package/dist/components/number-input/NumberInput/NumberInput.utils.js +1 -3
- package/dist/components/number-input/NumberInput/NumberInput.utils.js.map +1 -1
- package/dist/components/number-input/NumberInput/create-change-event-details.d.ts +1 -2
- package/dist/components/number-input/NumberInput/create-change-event-details.js +4 -20
- package/dist/components/number-input/NumberInput/create-change-event-details.js.map +1 -1
- package/dist/components/pagination/Pagination/Pagination.js +8 -3
- package/dist/components/pagination/Pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationContent/PaginationContent.js +8 -3
- package/dist/components/pagination/PaginationContent/PaginationContent.js.map +1 -1
- package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js +8 -3
- package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js.map +1 -1
- package/dist/components/pagination/PaginationLink/PaginationLink.js +3 -0
- package/dist/components/pagination/PaginationLink/PaginationLink.js.map +1 -1
- package/dist/components/pagination/PaginationNext/PaginationNext.js +3 -0
- package/dist/components/pagination/PaginationNext/PaginationNext.js.map +1 -1
- package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js +3 -0
- package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js.map +1 -1
- package/dist/components/popover/PopoverContent/PopoverContent.js +3 -0
- package/dist/components/popover/PopoverContent/PopoverContent.js.map +1 -1
- package/dist/components/progress/Progress/Progress.context.js +1 -1
- package/dist/components/progress/Progress/Progress.context.js.map +1 -1
- package/dist/components/progress/Progress/Progress.js +3 -0
- package/dist/components/progress/Progress/Progress.js.map +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.js +3 -0
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -1
- package/dist/components/progress/ProgressLabel/ProgressLabel.js +8 -3
- package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.js +3 -0
- package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.js +8 -3
- package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -1
- package/dist/components/questionnaire/QuestionnaireChoice/questionnaire-choice.utils.d.ts +48 -0
- package/dist/components/questionnaire/QuestionnaireChoice/questionnaire-choice.utils.js +23 -0
- package/dist/components/questionnaire/QuestionnaireChoice/questionnaire-choice.utils.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js +62 -49
- package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js.map +1 -1
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js +4 -1
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js.map +1 -1
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js +1 -2
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js.map +1 -1
- package/dist/components/questionnaire/questionnaire.answers.d.ts +42 -0
- package/dist/components/questionnaire/questionnaire.answers.js +62 -0
- package/dist/components/questionnaire/questionnaire.answers.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.aria.d.ts +34 -0
- package/dist/components/questionnaire/questionnaire.aria.js +28 -0
- package/dist/components/questionnaire/questionnaire.aria.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.dom-watch.d.ts +9 -0
- package/dist/components/questionnaire/questionnaire.dom-watch.js +18 -0
- package/dist/components/questionnaire/questionnaire.dom-watch.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.focus.d.ts +26 -0
- package/dist/components/questionnaire/questionnaire.focus.js +19 -0
- package/dist/components/questionnaire/questionnaire.focus.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.item-view.d.ts +50 -0
- package/dist/components/questionnaire/questionnaire.item-view.js +36 -0
- package/dist/components/questionnaire/questionnaire.item-view.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.keys.d.ts +29 -0
- package/dist/components/questionnaire/questionnaire.keys.js +34 -0
- package/dist/components/questionnaire/questionnaire.keys.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.registry.d.ts +21 -0
- package/dist/components/questionnaire/questionnaire.registry.js +15 -0
- package/dist/components/questionnaire/questionnaire.registry.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.shortcuts.d.ts +24 -0
- package/dist/components/questionnaire/questionnaire.shortcuts.js +31 -0
- package/dist/components/questionnaire/questionnaire.shortcuts.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.utils.d.ts +17 -1
- package/dist/components/questionnaire/questionnaire.utils.js +5 -2
- package/dist/components/questionnaire/questionnaire.utils.js.map +1 -1
- package/dist/components/questionnaire/questionnaire.validation.d.ts +43 -0
- package/dist/components/questionnaire/questionnaire.validation.js +17 -0
- package/dist/components/questionnaire/questionnaire.validation.js.map +1 -0
- package/dist/components/questionnaire/useQuestionnaireItem.d.ts +0 -2
- package/dist/components/questionnaire/useQuestionnaireItem.js +83 -121
- package/dist/components/questionnaire/useQuestionnaireItem.js.map +1 -1
- package/dist/components/questionnaire/useQuestionnaireRoot.js +78 -99
- package/dist/components/questionnaire/useQuestionnaireRoot.js.map +1 -1
- package/dist/components/radio-group/RadioGroup/RadioGroup.js +3 -0
- package/dist/components/radio-group/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js +3 -0
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js.map +1 -1
- package/dist/components/resizable/ResizableHandle/resizable.handle-drag.d.ts +37 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-drag.js +37 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-drag.js.map +1 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-keys.d.ts +24 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-keys.js +36 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-keys.js.map +1 -0
- package/dist/components/resizable/ResizableHandle/useResizableHandle.d.ts +3 -4
- package/dist/components/resizable/ResizableHandle/useResizableHandle.js +30 -63
- package/dist/components/resizable/ResizableHandle/useResizableHandle.js.map +1 -1
- package/dist/components/resizable/ResizablePanel/ResizablePanel.d.ts +4 -2
- package/dist/components/resizable/ResizablePanel/ResizablePanel.js +23 -50
- package/dist/components/resizable/ResizablePanel/ResizablePanel.js.map +1 -1
- package/dist/components/resizable/ResizablePanel/useResizablePanel.d.ts +30 -0
- package/dist/components/resizable/ResizablePanel/useResizablePanel.js +37 -0
- package/dist/components/resizable/ResizablePanel/useResizablePanel.js.map +1 -0
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.d.ts +4 -1
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js +10 -17
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js.map +1 -1
- package/dist/components/resizable/ResizablePanelGroup/useDragCursor.d.ts +11 -0
- package/dist/components/resizable/ResizablePanelGroup/useDragCursor.js +17 -0
- package/dist/components/resizable/ResizablePanelGroup/useDragCursor.js.map +1 -0
- package/dist/components/resizable/resizable.collapse.d.ts +27 -0
- package/dist/components/resizable/resizable.collapse.js +24 -0
- package/dist/components/resizable/resizable.collapse.js.map +1 -0
- package/dist/components/resizable/resizable.commands.d.ts +32 -0
- package/dist/components/resizable/resizable.commands.js +40 -0
- package/dist/components/resizable/resizable.commands.js.map +1 -0
- package/dist/components/resizable/resizable.constraints.d.ts +23 -0
- package/dist/components/resizable/resizable.constraints.js +32 -0
- package/dist/components/resizable/resizable.constraints.js.map +1 -0
- package/dist/components/resizable/resizable.lifecycle.d.ts +35 -0
- package/dist/components/resizable/resizable.lifecycle.js +32 -0
- package/dist/components/resizable/resizable.lifecycle.js.map +1 -0
- package/dist/components/resizable/resizable.registry.d.ts +31 -0
- package/dist/components/resizable/resizable.registry.js +38 -0
- package/dist/components/resizable/resizable.registry.js.map +1 -0
- package/dist/components/resizable/resizable.reporting.d.ts +36 -0
- package/dist/components/resizable/resizable.reporting.js +33 -0
- package/dist/components/resizable/resizable.reporting.js.map +1 -0
- package/dist/components/resizable/resizable.resize.d.ts +47 -0
- package/dist/components/resizable/resizable.resize.js +28 -0
- package/dist/components/resizable/resizable.resize.js.map +1 -0
- package/dist/components/resizable/resizable.sizes.d.ts +31 -0
- package/dist/components/resizable/resizable.sizes.js +46 -0
- package/dist/components/resizable/resizable.sizes.js.map +1 -0
- package/dist/components/resizable/resizable.storage.d.ts +17 -0
- package/dist/components/resizable/resizable.storage.js +29 -0
- package/dist/components/resizable/resizable.storage.js.map +1 -0
- package/dist/components/resizable/resizable.utils.d.ts +10 -3
- package/dist/components/resizable/resizable.utils.js +16 -10
- package/dist/components/resizable/resizable.utils.js.map +1 -1
- package/dist/components/resizable/useResizablePanelGroup.js +62 -164
- package/dist/components/resizable/useResizablePanelGroup.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.d.ts +9 -0
- package/dist/components/scroll-area/ScrollArea/ScrollArea.js +28 -39
- package/dist/components/scroll-area/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js +3 -3
- package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/useScrollAreaMetrics.d.ts +22 -0
- package/dist/components/scroll-area/ScrollArea/useScrollAreaMetrics.js +34 -0
- package/dist/components/scroll-area/ScrollArea/useScrollAreaMetrics.js.map +1 -0
- package/dist/components/scroll-area/ScrollBar/ScrollBar.d.ts +8 -0
- package/dist/components/scroll-area/ScrollBar/ScrollBar.js +38 -71
- package/dist/components/scroll-area/ScrollBar/ScrollBar.js.map +1 -1
- package/dist/components/scroll-area/ScrollBar/ScrollBar.utils.d.ts +56 -0
- package/dist/components/scroll-area/ScrollBar/ScrollBar.utils.js +61 -0
- package/dist/components/scroll-area/ScrollBar/ScrollBar.utils.js.map +1 -0
- package/dist/components/scroll-area/ScrollBar/scroll-bar.thumb-drag.d.ts +25 -0
- package/dist/components/scroll-area/ScrollBar/scroll-bar.thumb-drag.js +26 -0
- package/dist/components/scroll-area/ScrollBar/scroll-bar.thumb-drag.js.map +1 -0
- package/dist/components/scroll-area/ScrollBar/useScrollBarInteraction.d.ts +19 -0
- package/dist/components/scroll-area/ScrollBar/useScrollBarInteraction.js +37 -0
- package/dist/components/scroll-area/ScrollBar/useScrollBarInteraction.js.map +1 -0
- package/dist/components/scroll-arrows/ScrollArrowButton.d.ts +5 -7
- package/dist/components/scroll-arrows/ScrollArrowButton.js +14 -44
- package/dist/components/scroll-arrows/ScrollArrowButton.js.map +1 -1
- package/dist/components/scroll-arrows/ScrollArrows.d.ts +4 -3
- package/dist/components/scroll-arrows/ScrollArrows.js +16 -22
- package/dist/components/scroll-arrows/ScrollArrows.js.map +1 -1
- package/dist/components/scroll-arrows/ScrollArrows.types.d.ts +7 -7
- package/dist/components/scroll-arrows/useHoverScroll.d.ts +29 -0
- package/dist/components/scroll-arrows/useHoverScroll.js +39 -0
- package/dist/components/scroll-arrows/useHoverScroll.js.map +1 -0
- package/dist/components/select/SelectContent/useSelectContent.js +3 -3
- package/dist/components/select/SelectGroup/SelectGroup.d.ts +8 -2
- package/dist/components/select/SelectGroup/SelectGroup.js +20 -6
- package/dist/components/select/SelectGroup/SelectGroup.js.map +1 -1
- package/dist/components/select/SelectGroup/SelectGroup.types.d.ts +9 -0
- package/dist/components/select/SelectGroup/index.d.ts +1 -0
- package/dist/components/select/SelectTrigger/SelectTrigger.js.map +1 -1
- package/dist/components/select/SelectTrigger/useSelectTrigger.js +1 -1
- package/dist/components/select/SelectTrigger/useSelectTrigger.js.map +1 -1
- package/dist/components/separator/Separator.js +3 -0
- package/dist/components/separator/Separator.js.map +1 -1
- package/dist/components/sheet/SheetClose/SheetClose.js +18 -17
- package/dist/components/sheet/SheetClose/SheetClose.js.map +1 -1
- package/dist/components/sidebar/Sidebar/Sidebar.js +14 -6
- package/dist/components/sidebar/Sidebar/Sidebar.js.map +1 -1
- package/dist/components/sidebar/SidebarContent/SidebarContent.js +8 -3
- package/dist/components/sidebar/SidebarContent/SidebarContent.js.map +1 -1
- package/dist/components/sidebar/SidebarFooter/SidebarFooter.js +8 -3
- package/dist/components/sidebar/SidebarFooter/SidebarFooter.js.map +1 -1
- package/dist/components/sidebar/SidebarGroup/SidebarGroup.js +8 -3
- package/dist/components/sidebar/SidebarGroup/SidebarGroup.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js +3 -0
- package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js +8 -3
- package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js +3 -0
- package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js.map +1 -1
- package/dist/components/sidebar/SidebarHeader/SidebarHeader.js +8 -3
- package/dist/components/sidebar/SidebarHeader/SidebarHeader.js.map +1 -1
- package/dist/components/sidebar/SidebarInput/SidebarInput.js +3 -0
- package/dist/components/sidebar/SidebarInput/SidebarInput.js.map +1 -1
- package/dist/components/sidebar/SidebarInset/SidebarInset.js +8 -3
- package/dist/components/sidebar/SidebarInset/SidebarInset.js.map +1 -1
- package/dist/components/sidebar/SidebarMenu/SidebarMenu.js +8 -3
- package/dist/components/sidebar/SidebarMenu/SidebarMenu.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js +8 -3
- package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js +6 -0
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js +8 -3
- package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js +8 -3
- package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js +8 -3
- package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js +3 -0
- package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js +8 -3
- package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js.map +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js.map +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.js +30 -27
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.js.map +1 -1
- package/dist/components/sidebar/SidebarProvider/useIsMobile.d.ts +10 -0
- package/dist/components/sidebar/SidebarProvider/useIsMobile.js +14 -0
- package/dist/components/sidebar/SidebarProvider/useIsMobile.js.map +1 -0
- package/dist/components/sidebar/SidebarRail/SidebarRail.js +8 -3
- package/dist/components/sidebar/SidebarRail/SidebarRail.js.map +1 -1
- package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js +3 -0
- package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js.map +1 -1
- package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js +3 -0
- package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js.map +1 -1
- package/dist/components/skeleton/Skeleton.js +8 -3
- package/dist/components/skeleton/Skeleton.js.map +1 -1
- package/dist/components/slider/Slider/Slider.context.js +1 -1
- package/dist/components/slider/Slider/Slider.context.js.map +1 -1
- package/dist/components/slider/Slider/Slider.js +3 -0
- package/dist/components/slider/Slider/Slider.js.map +1 -1
- package/dist/components/slider/SliderControl/SliderControl.js +4 -1
- package/dist/components/slider/SliderControl/SliderControl.js.map +1 -1
- package/dist/components/slider/SliderIndicator/SliderIndicator.js +3 -0
- package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +1 -1
- package/dist/components/slider/SliderThumb/SliderThumb.js +18 -3
- package/dist/components/slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/components/slider/SliderThumb/useSliderThumb.d.ts +1 -0
- package/dist/components/slider/SliderThumb/useSliderThumb.js +3 -2
- package/dist/components/slider/SliderThumb/useSliderThumb.js.map +1 -1
- package/dist/components/slider/SliderTrack/SliderTrack.js +3 -0
- package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -1
- package/dist/components/spinner/Spinner.js +3 -0
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/switch/Switch.js +7 -0
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/tabs/Tabs/Tabs.context.js +1 -1
- package/dist/components/tabs/Tabs/Tabs.context.js.map +1 -1
- package/dist/components/tabs/Tabs/useTabsKeyboard.d.ts +7 -11
- package/dist/components/tabs/Tabs/useTabsKeyboard.js +8 -42
- package/dist/components/tabs/Tabs/useTabsKeyboard.js.map +1 -1
- package/dist/components/tabs/TabsList/TabsList.context.js +1 -1
- package/dist/components/tabs/TabsList/TabsList.context.js.map +1 -1
- package/dist/components/tabs/TabsList/TabsList.js +10 -10
- package/dist/components/tabs/TabsList/TabsList.js.map +1 -1
- package/dist/components/tabs/TabsTrigger/TabsTrigger.js +8 -8
- package/dist/components/tabs/TabsTrigger/TabsTrigger.js.map +1 -1
- package/dist/components/textarea/Textarea.js +8 -3
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/time-picker/TimePicker/create-change-event-details.d.ts +1 -2
- package/dist/components/time-picker/TimePicker/create-change-event-details.js +4 -20
- package/dist/components/time-picker/TimePicker/create-change-event-details.js.map +1 -1
- package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js +1 -3
- package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js.map +1 -1
- package/dist/components/time-picker/TimePickerColumn/time-picker.column-utils.d.ts +34 -0
- package/dist/components/time-picker/TimePickerColumn/time-picker.column-utils.js +43 -0
- package/dist/components/time-picker/TimePickerColumn/time-picker.column-utils.js.map +1 -0
- package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js +34 -59
- package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js.map +1 -1
- package/dist/components/toast/Toast/Toast.d.ts +8 -2
- package/dist/components/toast/Toast/Toast.js +92 -146
- package/dist/components/toast/Toast/Toast.js.map +1 -1
- package/dist/components/toast/Toast/Toast.types.d.ts +1 -1
- package/dist/components/toast/Toast/Toast.types.js.map +1 -1
- package/dist/components/toast/Toast/Toast.utils.d.ts +47 -0
- package/dist/components/toast/Toast/Toast.utils.js +47 -0
- package/dist/components/toast/Toast/Toast.utils.js.map +1 -0
- package/dist/components/toast/Toast/ToastActionButton.d.ts +16 -0
- package/dist/components/toast/Toast/ToastActionButton.js +27 -0
- package/dist/components/toast/Toast/ToastActionButton.js.map +1 -0
- package/dist/components/toast/Toast/ToastActions.d.ts +12 -0
- package/dist/components/toast/Toast/ToastActions.js +65 -0
- package/dist/components/toast/Toast/ToastActions.js.map +1 -0
- package/dist/components/toast/Toast/ToastCloseButton.d.ts +12 -0
- package/dist/components/toast/Toast/ToastCloseButton.js +26 -0
- package/dist/components/toast/Toast/ToastCloseButton.js.map +1 -0
- package/dist/components/toast/Toast/ToastContent.d.ts +8 -0
- package/dist/components/toast/Toast/ToastContent.js +30 -0
- package/dist/components/toast/Toast/ToastContent.js.map +1 -0
- package/dist/components/toast/Toast/ToastIcon.d.ts +14 -0
- package/dist/components/toast/Toast/ToastIcon.js +36 -0
- package/dist/components/toast/Toast/ToastIcon.js.map +1 -0
- package/dist/components/toast/Toast/useToastLifecycle.d.ts +29 -0
- package/dist/components/toast/Toast/useToastLifecycle.js +30 -0
- package/dist/components/toast/Toast/useToastLifecycle.js.map +1 -0
- package/dist/components/toast/Toaster/ToastViewport.d.ts +33 -0
- package/dist/components/toast/Toaster/ToastViewport.js +73 -0
- package/dist/components/toast/Toaster/ToastViewport.js.map +1 -0
- package/dist/components/toast/Toaster/Toaster.d.ts +4 -0
- package/dist/components/toast/Toaster/Toaster.js +64 -82
- package/dist/components/toast/Toaster/Toaster.js.map +1 -1
- package/dist/components/toast/Toaster/Toaster.utils.d.ts +15 -0
- package/dist/components/toast/Toaster/Toaster.utils.js +4 -1
- package/dist/components/toast/Toaster/Toaster.utils.js.map +1 -1
- package/dist/components/toast/Toaster/useToaster.d.ts +28 -0
- package/dist/components/toast/Toaster/useToaster.js +26 -0
- package/dist/components/toast/Toaster/useToaster.js.map +1 -0
- package/dist/components/toast/index.js +4 -3
- package/dist/components/toast/state/promise-toast.d.ts +17 -0
- package/dist/components/toast/state/promise-toast.js +33 -0
- package/dist/components/toast/state/promise-toast.js.map +1 -0
- package/dist/components/toast/state/store.d.ts +21 -0
- package/dist/components/toast/state/store.js +45 -0
- package/dist/components/toast/state/store.js.map +1 -0
- package/dist/components/toast/state/toast.d.ts +9 -10
- package/dist/components/toast/state/toast.js +30 -89
- package/dist/components/toast/state/toast.js.map +1 -1
- package/dist/components/toggle/Toggle/Toggle.js +2 -1
- package/dist/components/toggle/Toggle/Toggle.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js +1 -1
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.d.ts +6 -2
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js +4 -20
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.d.ts +7 -10
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js +10 -40
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js +5 -5
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/usePresence.d.ts +27 -0
- package/dist/components/tooltip/TooltipContent/usePresence.js +24 -0
- package/dist/components/tooltip/TooltipContent/usePresence.js.map +1 -0
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js +22 -35
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
- package/dist/hooks/useFontLoader.js +1 -1
- package/dist/hooks/useFontLoader.js.map +1 -1
- package/dist/hooks/useScrollLock.js +13 -16
- package/dist/hooks/useScrollLock.js.map +1 -1
- package/dist/index.js +328 -320
- package/dist/lib/positioner/index.d.ts +1 -0
- package/dist/lib/positioner/utils/dom.d.ts +8 -0
- package/dist/lib/positioner/utils/dom.js +1 -1
- package/dist/lib/positioner/utils/dom.js.map +1 -1
- package/dist/types/props.types.d.ts +1 -1
- package/dist/ui.css +1 -1
- package/dist/utils/call-event-handler.d.ts +16 -0
- package/dist/utils/call-event-handler.js +15 -0
- package/dist/utils/call-event-handler.js.map +1 -0
- package/dist/utils/clsx.d.ts +1 -1
- package/dist/utils/clsx.js +2 -7
- package/dist/utils/create-change-event-details.d.ts +25 -0
- package/dist/utils/create-change-event-details.js +25 -0
- package/dist/utils/create-change-event-details.js.map +1 -0
- package/dist/utils/get-style.d.ts +7 -9
- package/dist/utils/get-style.js +16 -0
- package/dist/utils/get-style.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.js +7 -1
- package/dist/utils/number.d.ts +7 -0
- package/dist/utils/number.js +8 -0
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/roving-navigation.d.ts +64 -0
- package/dist/utils/roving-navigation.js +66 -0
- package/dist/utils/roving-navigation.js.map +1 -0
- package/dist/utils/string.d.ts +17 -0
- package/dist/utils/string.js +11 -0
- package/dist/utils/string.js.map +1 -0
- package/package.json +18 -7
- package/dist/components/carousel/Carousel/Carousel.utils.d.ts +0 -0
- package/dist/components/field/FieldError/useFieldError.d.ts +0 -0
- package/dist/components/hover-card/hover-card.utils.d.ts +0 -6
- package/dist/components/tabs/Tabs/call-event-handler.d.ts +0 -5
- package/dist/components/tabs/Tabs/call-event-handler.js +0 -9
- package/dist/components/tabs/Tabs/call-event-handler.js.map +0 -1
- package/dist/components/toggle-group/call-event-handler.d.ts +0 -5
- package/dist/components/toggle-group/call-event-handler.js +0 -9
- package/dist/components/toggle-group/call-event-handler.js.map +0 -1
- 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;
|
|
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
|
-
*
|
|
8
|
-
*
|
|
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 {
|
|
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
|
|
5
|
-
let
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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 (
|
|
37
|
-
let t = e.currentTarget
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
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 {
|
|
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","
|
|
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
|
-
*
|
|
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 {
|
|
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,
|
|
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
|
|
8
|
-
function
|
|
9
|
-
let
|
|
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), [
|
|
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
|
-
]),
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
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 =
|
|
41
|
-
return l(
|
|
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
|
|
39
|
+
return g.id;
|
|
67
40
|
},
|
|
68
41
|
"data-slot": "resizable-panel",
|
|
69
|
-
"data-panel-id":
|
|
42
|
+
"data-panel-id": v,
|
|
70
43
|
get "data-panel-size"() {
|
|
71
|
-
return r(
|
|
44
|
+
return r(y());
|
|
72
45
|
},
|
|
73
46
|
get "data-panel-collapsed"() {
|
|
74
|
-
return
|
|
47
|
+
return m.isPanelCollapsed(v) ? "" : void 0;
|
|
75
48
|
},
|
|
76
49
|
get style() {
|
|
77
|
-
return
|
|
50
|
+
return n(y(), g.style);
|
|
78
51
|
},
|
|
79
52
|
get class() {
|
|
80
|
-
return e("relative min-h-0 min-w-0 overflow-hidden",
|
|
53
|
+
return e("relative min-h-0 min-w-0 overflow-hidden", g.class);
|
|
81
54
|
},
|
|
82
55
|
get classList() {
|
|
83
|
-
return
|
|
56
|
+
return g.classList;
|
|
84
57
|
}
|
|
85
|
-
}), !1, !0), a(t, () =>
|
|
58
|
+
}), !1, !0), a(t, () => g.children), t;
|
|
86
59
|
})();
|
|
87
60
|
}
|
|
88
61
|
//#endregion
|
|
89
|
-
export {
|
|
62
|
+
export { m as ResizablePanel };
|
|
90
63
|
|
|
91
64
|
//# sourceMappingURL=ResizablePanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ResizablePanel.js","names":["createUniqueId","mergeProps","
|
|
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
|
-
*
|
|
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;
|