@neut/ui 0.0.16 → 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/Bubble/Bubble.d.ts +3 -0
- package/dist/components/bubble/Bubble/Bubble.js +39 -0
- package/dist/components/bubble/Bubble/Bubble.js.map +1 -0
- package/dist/components/bubble/Bubble/Bubble.styles.d.ts +7 -0
- package/dist/components/bubble/Bubble/Bubble.styles.js +18 -0
- package/dist/components/bubble/Bubble/Bubble.styles.js.map +1 -0
- package/dist/components/bubble/Bubble/Bubble.types.d.ts +8 -0
- package/dist/components/bubble/Bubble/index.d.ts +2 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.d.ts +7 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.js +28 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.js.map +1 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.styles.d.ts +1 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.styles.js +6 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.styles.js.map +1 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.types.d.ts +3 -0
- package/dist/components/bubble/BubbleContent/index.d.ts +2 -0
- package/dist/components/bubble/BubbleGroup/BubbleGroup.d.ts +3 -0
- package/dist/components/bubble/BubbleGroup/BubbleGroup.js +24 -0
- package/dist/components/bubble/BubbleGroup/BubbleGroup.js.map +1 -0
- package/dist/components/bubble/BubbleGroup/BubbleGroup.types.d.ts +2 -0
- package/dist/components/bubble/BubbleGroup/index.d.ts +2 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.d.ts +6 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.js +42 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.js.map +1 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.styles.d.ts +4 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.styles.js +22 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.styles.js.map +1 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.types.d.ts +4 -0
- package/dist/components/bubble/BubbleReactions/index.d.ts +2 -0
- package/dist/components/bubble/index.d.ts +8 -0
- package/dist/components/bubble/index.js +5 -0
- 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.context.d.ts +3 -0
- package/dist/components/drawer/Drawer/Drawer.context.js +12 -0
- package/dist/components/drawer/Drawer/Drawer.context.js.map +1 -0
- package/dist/components/drawer/Drawer/Drawer.d.ts +7 -0
- package/dist/components/drawer/Drawer/Drawer.js +63 -0
- package/dist/components/drawer/Drawer/Drawer.js.map +1 -0
- package/dist/components/drawer/Drawer/Drawer.types.d.ts +50 -0
- package/dist/components/drawer/Drawer/create-change-event-details.d.ts +3 -0
- package/dist/components/drawer/Drawer/create-change-event-details.js +9 -0
- package/dist/components/drawer/Drawer/create-change-event-details.js.map +1 -0
- package/dist/components/drawer/Drawer/index.d.ts +3 -0
- package/dist/components/drawer/DrawerClose/DrawerClose.d.ts +5 -0
- package/dist/components/drawer/DrawerClose/DrawerClose.js +26 -0
- package/dist/components/drawer/DrawerClose/DrawerClose.js.map +1 -0
- package/dist/components/drawer/DrawerClose/index.d.ts +1 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.d.ts +6 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.js +103 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.js.map +1 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.styles.d.ts +10 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.styles.js +25 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.styles.js.map +1 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.types.d.ts +2 -0
- 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/index.d.ts +2 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.d.ts +14 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.js +36 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.js.map +1 -0
- package/dist/components/drawer/DrawerDescription/DrawerDescription.d.ts +2 -0
- package/dist/components/drawer/DrawerDescription/DrawerDescription.js +28 -0
- package/dist/components/drawer/DrawerDescription/DrawerDescription.js.map +1 -0
- package/dist/components/drawer/DrawerDescription/DrawerDescription.types.d.ts +2 -0
- package/dist/components/drawer/DrawerDescription/index.d.ts +2 -0
- package/dist/components/drawer/DrawerFooter/DrawerFooter.d.ts +2 -0
- package/dist/components/drawer/DrawerFooter/DrawerFooter.js +24 -0
- package/dist/components/drawer/DrawerFooter/DrawerFooter.js.map +1 -0
- package/dist/components/drawer/DrawerFooter/DrawerFooter.types.d.ts +2 -0
- package/dist/components/drawer/DrawerFooter/index.d.ts +2 -0
- package/dist/components/drawer/DrawerHeader/DrawerHeader.d.ts +2 -0
- package/dist/components/drawer/DrawerHeader/DrawerHeader.js +24 -0
- package/dist/components/drawer/DrawerHeader/DrawerHeader.js.map +1 -0
- package/dist/components/drawer/DrawerHeader/DrawerHeader.types.d.ts +2 -0
- package/dist/components/drawer/DrawerHeader/index.d.ts +2 -0
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.d.ts +3 -0
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js +43 -0
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js.map +1 -0
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.types.d.ts +2 -0
- package/dist/components/drawer/DrawerOverlay/index.d.ts +2 -0
- package/dist/components/drawer/DrawerPortal/DrawerPortal.d.ts +2 -0
- package/dist/components/drawer/DrawerPortal/DrawerPortal.js +10 -0
- package/dist/components/drawer/DrawerPortal/DrawerPortal.js.map +1 -0
- package/dist/components/drawer/DrawerPortal/DrawerPortal.types.d.ts +2 -0
- package/dist/components/drawer/DrawerPortal/index.d.ts +2 -0
- package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.d.ts +6 -0
- package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.js +27 -0
- package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.js.map +1 -0
- package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.types.d.ts +2 -0
- package/dist/components/drawer/DrawerSwipeHandle/index.d.ts +2 -0
- package/dist/components/drawer/DrawerTitle/DrawerTitle.d.ts +2 -0
- package/dist/components/drawer/DrawerTitle/DrawerTitle.js +28 -0
- package/dist/components/drawer/DrawerTitle/DrawerTitle.js.map +1 -0
- package/dist/components/drawer/DrawerTitle/DrawerTitle.types.d.ts +2 -0
- package/dist/components/drawer/DrawerTitle/index.d.ts +2 -0
- package/dist/components/drawer/DrawerTrigger/DrawerTrigger.d.ts +5 -0
- package/dist/components/drawer/DrawerTrigger/DrawerTrigger.js +38 -0
- package/dist/components/drawer/DrawerTrigger/DrawerTrigger.js.map +1 -0
- package/dist/components/drawer/DrawerTrigger/index.d.ts +1 -0
- package/dist/components/drawer/index.d.ts +20 -0
- package/dist/components/drawer/index.js +13 -0
- 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/hover-card/HoverCard/HoverCard.d.ts +7 -0
- package/dist/components/hover-card/HoverCard/HoverCard.js +47 -0
- package/dist/components/hover-card/HoverCard/HoverCard.js.map +1 -0
- package/dist/components/hover-card/HoverCard/index.d.ts +1 -0
- package/dist/components/hover-card/HoverCardContent/HoverCardContent.d.ts +6 -0
- package/dist/components/hover-card/HoverCardContent/HoverCardContent.js +74 -0
- package/dist/components/hover-card/HoverCardContent/HoverCardContent.js.map +1 -0
- package/dist/components/hover-card/HoverCardContent/index.d.ts +1 -0
- package/dist/components/hover-card/HoverCardContent/useHoverCardContent.d.ts +16 -0
- package/dist/components/hover-card/HoverCardContent/useHoverCardContent.js +58 -0
- package/dist/components/hover-card/HoverCardContent/useHoverCardContent.js.map +1 -0
- package/dist/components/hover-card/HoverCardTrigger/HoverCardTrigger.d.ts +4 -0
- package/dist/components/hover-card/HoverCardTrigger/HoverCardTrigger.js +40 -0
- package/dist/components/hover-card/HoverCardTrigger/HoverCardTrigger.js.map +1 -0
- package/dist/components/hover-card/HoverCardTrigger/index.d.ts +1 -0
- package/dist/components/hover-card/HoverCardTrigger/useHoverCardTrigger.d.ts +18 -0
- package/dist/components/hover-card/HoverCardTrigger/useHoverCardTrigger.js +34 -0
- package/dist/components/hover-card/HoverCardTrigger/useHoverCardTrigger.js.map +1 -0
- package/dist/components/hover-card/hover-card.context.d.ts +3 -0
- package/dist/components/hover-card/hover-card.context.js +12 -0
- package/dist/components/hover-card/hover-card.context.js.map +1 -0
- package/dist/components/hover-card/hover-card.types.d.ts +50 -0
- package/dist/components/hover-card/index.d.ts +4 -0
- package/dist/components/hover-card/index.js +4 -0
- 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.d.ts +7 -0
- package/dist/components/marker/Marker/Marker.js +35 -0
- package/dist/components/marker/Marker/Marker.js.map +1 -0
- package/dist/components/marker/Marker/Marker.styles.d.ts +3 -0
- package/dist/components/marker/Marker/Marker.styles.js +14 -0
- package/dist/components/marker/Marker/Marker.styles.js.map +1 -0
- package/dist/components/marker/Marker/Marker.types.d.ts +5 -0
- package/dist/components/marker/Marker/index.d.ts +3 -0
- package/dist/components/marker/MarkerContent/MarkerContent.d.ts +2 -0
- package/dist/components/marker/MarkerContent/MarkerContent.js +24 -0
- package/dist/components/marker/MarkerContent/MarkerContent.js.map +1 -0
- package/dist/components/marker/MarkerContent/MarkerContent.types.d.ts +2 -0
- package/dist/components/marker/MarkerContent/index.d.ts +2 -0
- package/dist/components/marker/MarkerIcon/MarkerIcon.d.ts +3 -0
- package/dist/components/marker/MarkerIcon/MarkerIcon.js +25 -0
- package/dist/components/marker/MarkerIcon/MarkerIcon.js.map +1 -0
- package/dist/components/marker/MarkerIcon/MarkerIcon.types.d.ts +2 -0
- package/dist/components/marker/MarkerIcon/index.d.ts +2 -0
- package/dist/components/marker/index.d.ts +6 -0
- package/dist/components/marker/index.js +5 -0
- package/dist/components/message/Message/Message.d.ts +3 -0
- package/dist/components/message/Message/Message.js +31 -0
- package/dist/components/message/Message/Message.js.map +1 -0
- package/dist/components/message/Message/Message.types.d.ts +5 -0
- package/dist/components/message/Message/index.d.ts +2 -0
- package/dist/components/message/MessageAvatar/MessageAvatar.d.ts +5 -0
- package/dist/components/message/MessageAvatar/MessageAvatar.js +24 -0
- package/dist/components/message/MessageAvatar/MessageAvatar.js.map +1 -0
- package/dist/components/message/MessageAvatar/MessageAvatar.types.d.ts +2 -0
- package/dist/components/message/MessageAvatar/index.d.ts +2 -0
- package/dist/components/message/MessageContent/MessageContent.d.ts +3 -0
- package/dist/components/message/MessageContent/MessageContent.js +24 -0
- package/dist/components/message/MessageContent/MessageContent.js.map +1 -0
- package/dist/components/message/MessageContent/MessageContent.types.d.ts +2 -0
- package/dist/components/message/MessageContent/index.d.ts +2 -0
- package/dist/components/message/MessageFooter/MessageFooter.d.ts +3 -0
- package/dist/components/message/MessageFooter/MessageFooter.js +24 -0
- package/dist/components/message/MessageFooter/MessageFooter.js.map +1 -0
- package/dist/components/message/MessageFooter/MessageFooter.types.d.ts +2 -0
- package/dist/components/message/MessageFooter/index.d.ts +2 -0
- package/dist/components/message/MessageGroup/MessageGroup.d.ts +3 -0
- package/dist/components/message/MessageGroup/MessageGroup.js +24 -0
- package/dist/components/message/MessageGroup/MessageGroup.js.map +1 -0
- package/dist/components/message/MessageGroup/MessageGroup.types.d.ts +2 -0
- package/dist/components/message/MessageGroup/index.d.ts +2 -0
- package/dist/components/message/MessageHeader/MessageHeader.d.ts +3 -0
- package/dist/components/message/MessageHeader/MessageHeader.js +24 -0
- package/dist/components/message/MessageHeader/MessageHeader.js.map +1 -0
- package/dist/components/message/MessageHeader/MessageHeader.types.d.ts +2 -0
- package/dist/components/message/MessageHeader/index.d.ts +2 -0
- package/dist/components/message/index.d.ts +12 -0
- package/dist/components/message/index.js +7 -0
- package/dist/components/message-scroller/MessageScroller/MessageScroller.d.ts +3 -0
- package/dist/components/message-scroller/MessageScroller/MessageScroller.js +35 -0
- package/dist/components/message-scroller/MessageScroller/MessageScroller.js.map +1 -0
- package/dist/components/message-scroller/MessageScroller/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerButton/MessageScrollerButton.d.ts +6 -0
- package/dist/components/message-scroller/MessageScrollerButton/MessageScrollerButton.js +90 -0
- package/dist/components/message-scroller/MessageScrollerButton/MessageScrollerButton.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerButton/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerContent/MessageScrollerContent.d.ts +6 -0
- package/dist/components/message-scroller/MessageScrollerContent/MessageScrollerContent.js +46 -0
- package/dist/components/message-scroller/MessageScrollerContent/MessageScrollerContent.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerContent/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerItem/MessageScrollerItem.d.ts +6 -0
- package/dist/components/message-scroller/MessageScrollerItem/MessageScrollerItem.js +42 -0
- package/dist/components/message-scroller/MessageScrollerItem/MessageScrollerItem.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerItem/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerProvider/MessageScrollerProvider.d.ts +4 -0
- package/dist/components/message-scroller/MessageScrollerProvider/MessageScrollerProvider.js +37 -0
- package/dist/components/message-scroller/MessageScrollerProvider/MessageScrollerProvider.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerProvider/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerViewport/MessageScrollerViewport.d.ts +6 -0
- package/dist/components/message-scroller/MessageScrollerViewport/MessageScrollerViewport.js +55 -0
- package/dist/components/message-scroller/MessageScrollerViewport/MessageScrollerViewport.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerViewport/index.d.ts +1 -0
- package/dist/components/message-scroller/index.d.ts +10 -0
- package/dist/components/message-scroller/index.js +10 -0
- 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.context.d.ts +3 -0
- package/dist/components/message-scroller/message-scroller.context.js +12 -0
- package/dist/components/message-scroller/message-scroller.context.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.types.d.ts +92 -0
- package/dist/components/message-scroller/message-scroller.utils.d.ts +14 -0
- package/dist/components/message-scroller/message-scroller.utils.js +10 -0
- package/dist/components/message-scroller/message-scroller.utils.js.map +1 -0
- 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/useMessageScroller.d.ts +6 -0
- package/dist/components/message-scroller/useMessageScroller.js +14 -0
- package/dist/components/message-scroller/useMessageScroller.js.map +1 -0
- package/dist/components/message-scroller/useMessageScrollerEngine.d.ts +15 -0
- package/dist/components/message-scroller/useMessageScrollerEngine.js +125 -0
- package/dist/components/message-scroller/useMessageScrollerEngine.js.map +1 -0
- package/dist/components/message-scroller/useMessageScrollerScrollable.d.ts +5 -0
- package/dist/components/message-scroller/useMessageScrollerScrollable.js +13 -0
- package/dist/components/message-scroller/useMessageScrollerScrollable.js.map +1 -0
- package/dist/components/message-scroller/useMessageScrollerVisibility.d.ts +7 -0
- package/dist/components/message-scroller/useMessageScrollerVisibility.js +17 -0
- package/dist/components/message-scroller/useMessageScrollerVisibility.js.map +1 -0
- 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/popover/PopoverContent/PopoverContent.utils.d.ts +6 -13
- package/dist/components/popover/PopoverContent/PopoverContent.utils.js +7 -30
- package/dist/components/popover/PopoverContent/PopoverContent.utils.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/Questionnaire/Questionnaire.d.ts +3 -0
- package/dist/components/questionnaire/Questionnaire/Questionnaire.js +68 -0
- package/dist/components/questionnaire/Questionnaire/Questionnaire.js.map +1 -0
- package/dist/components/questionnaire/Questionnaire/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireActions/QuestionnaireActions.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireActions/QuestionnaireActions.js +24 -0
- package/dist/components/questionnaire/QuestionnaireActions/QuestionnaireActions.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireActions/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireChoice/QuestionnaireChoice.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireChoice/QuestionnaireChoice.js +99 -0
- package/dist/components/questionnaire/QuestionnaireChoice/QuestionnaireChoice.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireChoice/index.d.ts +1 -0
- 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.d.ts +38 -0
- package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js +80 -0
- package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireChoices/QuestionnaireChoices.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireChoices/QuestionnaireChoices.js +28 -0
- package/dist/components/questionnaire/QuestionnaireChoices/QuestionnaireChoices.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireChoices/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireDescription/QuestionnaireDescription.d.ts +4 -0
- package/dist/components/questionnaire/QuestionnaireDescription/QuestionnaireDescription.js +30 -0
- package/dist/components/questionnaire/QuestionnaireDescription/QuestionnaireDescription.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireDescription/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireError/QuestionnaireError.d.ts +4 -0
- package/dist/components/questionnaire/QuestionnaireError/QuestionnaireError.js +43 -0
- package/dist/components/questionnaire/QuestionnaireError/QuestionnaireError.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireError/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireInput/QuestionnaireInput.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireInput/QuestionnaireInput.js +78 -0
- package/dist/components/questionnaire/QuestionnaireInput/QuestionnaireInput.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireInput/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.d.ts +37 -0
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js +61 -0
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js +88 -0
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireItem/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireNavigation/QuestionnaireNavigation.d.ts +5 -0
- package/dist/components/questionnaire/QuestionnaireNavigation/QuestionnaireNavigation.js +104 -0
- package/dist/components/questionnaire/QuestionnaireNavigation/QuestionnaireNavigation.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireNavigation/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireProgress/QuestionnaireProgress.d.ts +4 -0
- package/dist/components/questionnaire/QuestionnaireProgress/QuestionnaireProgress.js +62 -0
- package/dist/components/questionnaire/QuestionnaireProgress/QuestionnaireProgress.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireProgress/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireTitle/QuestionnaireTitle.d.ts +4 -0
- package/dist/components/questionnaire/QuestionnaireTitle/QuestionnaireTitle.js +27 -0
- package/dist/components/questionnaire/QuestionnaireTitle/QuestionnaireTitle.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireTitle/index.d.ts +1 -0
- package/dist/components/questionnaire/index.d.ts +12 -0
- package/dist/components/questionnaire/index.js +12 -0
- 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.context.d.ts +65 -0
- package/dist/components/questionnaire/questionnaire.context.js +18 -0
- package/dist/components/questionnaire/questionnaire.context.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.types.d.ts +82 -0
- package/dist/components/questionnaire/questionnaire.utils.d.ts +40 -0
- package/dist/components/questionnaire/questionnaire.utils.js +41 -0
- package/dist/components/questionnaire/questionnaire.utils.js.map +1 -0
- 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 +32 -0
- package/dist/components/questionnaire/useQuestionnaireItem.js +103 -0
- package/dist/components/questionnaire/useQuestionnaireItem.js.map +1 -0
- package/dist/components/questionnaire/useQuestionnaireRoot.d.ts +30 -0
- package/dist/components/questionnaire/useQuestionnaireRoot.js +123 -0
- package/dist/components/questionnaire/useQuestionnaireRoot.js.map +1 -0
- 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/ResizableHandle.d.ts +6 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.js +92 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.js.map +1 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.styles.d.ts +3 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.styles.js +6 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.styles.js.map +1 -0
- package/dist/components/resizable/ResizableHandle/index.d.ts +1 -0
- 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 +16 -0
- package/dist/components/resizable/ResizableHandle/useResizableHandle.js +39 -0
- package/dist/components/resizable/ResizableHandle/useResizableHandle.js.map +1 -0
- package/dist/components/resizable/ResizablePanel/ResizablePanel.d.ts +8 -0
- package/dist/components/resizable/ResizablePanel/ResizablePanel.js +64 -0
- package/dist/components/resizable/ResizablePanel/ResizablePanel.js.map +1 -0
- package/dist/components/resizable/ResizablePanel/index.d.ts +1 -0
- 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 +9 -0
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js +59 -0
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js.map +1 -0
- package/dist/components/resizable/ResizablePanelGroup/index.d.ts +1 -0
- 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/index.d.ts +4 -0
- package/dist/components/resizable/index.js +4 -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.context.d.ts +38 -0
- package/dist/components/resizable/resizable.context.js +12 -0
- package/dist/components/resizable/resizable.context.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.types.d.ts +76 -0
- package/dist/components/resizable/resizable.utils.d.ts +23 -0
- package/dist/components/resizable/resizable.utils.js +51 -0
- package/dist/components/resizable/resizable.utils.js.map +1 -0
- package/dist/components/resizable/useResizablePanelGroup.d.ts +22 -0
- package/dist/components/resizable/useResizablePanelGroup.js +74 -0
- package/dist/components/resizable/useResizablePanelGroup.js.map +1 -0
- 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 -4
- package/dist/components/scroll-arrows/ScrollArrowButton.js +13 -34
- package/dist/components/scroll-arrows/ScrollArrowButton.js.map +1 -1
- package/dist/components/scroll-arrows/ScrollArrows.d.ts +6 -2
- package/dist/components/scroll-arrows/ScrollArrows.js +16 -16
- package/dist/components/scroll-arrows/ScrollArrows.js.map +1 -1
- package/dist/components/scroll-arrows/ScrollArrows.types.d.ts +9 -2
- 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/Sheet/Sheet.d.ts +6 -0
- package/dist/components/sheet/Sheet/Sheet.js +10 -0
- package/dist/components/sheet/Sheet/Sheet.js.map +1 -0
- package/dist/components/sheet/Sheet/index.d.ts +1 -0
- package/dist/components/sheet/SheetClose/SheetClose.d.ts +6 -0
- package/dist/components/sheet/SheetClose/SheetClose.js +40 -0
- package/dist/components/sheet/SheetClose/SheetClose.js.map +1 -0
- package/dist/components/sheet/SheetClose/index.d.ts +1 -0
- package/dist/components/sheet/SheetContent/SheetContent.d.ts +6 -0
- package/dist/components/sheet/SheetContent/SheetContent.js +48 -0
- package/dist/components/sheet/SheetContent/SheetContent.js.map +1 -0
- package/dist/components/sheet/SheetContent/SheetContent.styles.d.ts +10 -0
- package/dist/components/sheet/SheetContent/SheetContent.styles.js +17 -0
- package/dist/components/sheet/SheetContent/SheetContent.styles.js.map +1 -0
- package/dist/components/sheet/SheetContent/index.d.ts +1 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.d.ts +2 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.js +25 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.js.map +1 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.styles.d.ts +1 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.styles.js +6 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.styles.js.map +1 -0
- package/dist/components/sheet/SheetDescription/index.d.ts +1 -0
- package/dist/components/sheet/SheetFooter/SheetFooter.d.ts +2 -0
- package/dist/components/sheet/SheetFooter/SheetFooter.js +24 -0
- package/dist/components/sheet/SheetFooter/SheetFooter.js.map +1 -0
- package/dist/components/sheet/SheetFooter/index.d.ts +1 -0
- package/dist/components/sheet/SheetHeader/SheetHeader.d.ts +2 -0
- package/dist/components/sheet/SheetHeader/SheetHeader.js +24 -0
- package/dist/components/sheet/SheetHeader/SheetHeader.js.map +1 -0
- package/dist/components/sheet/SheetHeader/index.d.ts +1 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.d.ts +3 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.js +25 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.js.map +1 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.styles.d.ts +1 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.styles.js +6 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.styles.js.map +1 -0
- package/dist/components/sheet/SheetTitle/index.d.ts +1 -0
- package/dist/components/sheet/SheetTrigger/SheetTrigger.d.ts +8 -0
- package/dist/components/sheet/SheetTrigger/SheetTrigger.js +32 -0
- package/dist/components/sheet/SheetTrigger/SheetTrigger.js.map +1 -0
- package/dist/components/sheet/SheetTrigger/index.d.ts +1 -0
- package/dist/components/sheet/index.d.ts +9 -0
- package/dist/components/sheet/index.js +9 -0
- package/dist/components/sheet/sheet.types.d.ts +19 -0
- 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/TooltipContent.js +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +5 -49
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +10 -39
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.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 +27 -39
- 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/useScrollEdges.d.ts +3 -0
- package/dist/hooks/useScrollEdges.js +18 -16
- package/dist/hooks/useScrollEdges.js.map +1 -1
- package/dist/hooks/useScrollLock.js +13 -16
- package/dist/hooks/useScrollLock.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.js +328 -260
- package/dist/lib/positioner/index.d.ts +2 -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/lib/positioner/utils/floating.d.ts +25 -0
- package/dist/lib/positioner/utils/floating.js +42 -0
- package/dist/lib/positioner/utils/floating.js.map +1 -0
- 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/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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxInput.js","names":["Show","createEffect","mergeProps","onCleanup","JSX","InputGroup","InputGroupAddon","InputGroupInput","clsx","useComboboxContext","ComboboxClear","ComboboxInput","props","placeholder","disabled","showClear","class","children","Element","ctx","local","mountedWithExternalReference","reference","undefined","inputEl","HTMLInputElement","open","focus","
|
|
1
|
+
{"version":3,"file":"ComboboxInput.js","names":["Show","createEffect","mergeProps","onCleanup","JSX","InputGroup","InputGroupAddon","InputGroupInput","clsx","useComboboxContext","ComboboxClear","ComboboxInput","props","placeholder","disabled","showClear","class","children","Element","ctx","local","mountedWithExternalReference","reference","undefined","inputEl","HTMLInputElement","open","focus","activeOptionId","value","filteredItems","activeIndex","optionId","hasValue","current","Array","isArray","length","onKeyDown","e","KeyboardEvent","list","key","preventDefault","setOpen","setActiveIndex","item","selectItem","close","_$createComponent","ref","el","setReference","role","aria-expanded","aria-controls","_$memo","listId","aria-activedescendant","aria-invalid","inputValue","onInput","next","String","setInputValue","setFilterValue","multiple","trim","setValue","onFocus","onClick","align","when","mergeProps","_$createComponent","_$memo","mergeProps$1","ComboboxInput","ctx","useComboboxContext","local","props","disabled","mountedWithExternalReference","inputEl","activeOptionId","value","hasValue","current","onKeyDown","list","item","createComponent","InputGroup","el","onCleanup","\"class\"","clsx","InputGroupInput","memo","next","InputGroupAddon","Show","ComboboxClear"],"sources":["../../../../src/components/combobox/ComboboxInput/ComboboxInput.tsx"],"sourcesContent":["import { Show, createEffect, mergeProps, onCleanup, type JSX } from \"solid-js\";\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupInput,\n} from \"~/components/input-group\";\nimport { clsx } from \"~/utils\";\nimport { useComboboxContext } from \"../Combobox/Combobox.context\";\nimport { ComboboxClear } from \"../ComboboxClear\";\n\nexport function ComboboxInput(props: {\n placeholder?: string;\n disabled?: boolean;\n showClear?: boolean;\n class?: string;\n \"aria-invalid\"?: string | boolean;\n children?: JSX.Element;\n}) {\n const ctx = useComboboxContext(\"ComboboxInput\");\n const local = mergeProps({ showClear: false }, props);\n const disabled = () => ctx.disabled() || !!local.disabled;\n // 当 ComboboxInput 作为 ComboboxContent 子组件时(Popup 模式),\n // 此时 reference 已经由 ComboboxTrigger 设置。打开弹层后自动聚焦输入框。\n const mountedWithExternalReference = ctx.reference() !== undefined;\n let inputEl: HTMLInputElement | undefined;\n\n createEffect(() => {\n if (ctx.open() && mountedWithExternalReference && inputEl) {\n inputEl.focus();\n }\n });\n\n /** 当前高亮项对应的 option 元素 id(没有高亮时为 undefined) */\n const activeOptionId = () => {\n const value = ctx.filteredItems()[ctx.activeIndex()];\n return value === undefined ? undefined : ctx.optionId(value);\n };\n\n const hasValue = () => {\n const current = ctx.value();\n if (current == null) return false;\n if (Array.isArray(current)) return current.length > 0;\n return current !== \"\";\n };\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (disabled()) return;\n const list = ctx.filteredItems();\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n ctx.setOpen(true, \"input-change\", e);\n ctx.setActiveIndex(\n list.length === 0 ? -1 : (ctx.activeIndex() + 1) % list.length,\n );\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n ctx.setOpen(true, \"input-change\", e);\n // 没有高亮时 ArrowUp 应落在**最后一项**:此前用\n // `(activeIndex - 1 + len) % len`,activeIndex 为 -1 时得到 len-2,\n // 三项时错误地停在第二项。\n ctx.setActiveIndex(\n list.length === 0\n ? -1\n : ctx.activeIndex() <= 0\n ? list.length - 1\n : ctx.activeIndex() - 1,\n );\n } else if (e.key === \"Home\") {\n // Home / End 跳到第一项 / 最后一项\n e.preventDefault();\n ctx.setOpen(true, \"input-change\", e);\n ctx.setActiveIndex(list.length === 0 ? -1 : 0);\n } else if (e.key === \"End\") {\n e.preventDefault();\n ctx.setOpen(true, \"input-change\", e);\n ctx.setActiveIndex(list.length === 0 ? -1 : list.length - 1);\n } else if (e.key === \"Enter\" && ctx.open()) {\n e.preventDefault();\n const item = ctx.filteredItems()[ctx.activeIndex()];\n if (item !== undefined) ctx.selectItem(item, e);\n } else if (e.key === \"Escape\" && ctx.open()) {\n e.preventDefault();\n ctx.close(\"escape-key\", e);\n }\n };\n\n return (\n <InputGroup\n ref={(el) => {\n if (!ctx.reference()) ctx.setReference(el);\n onCleanup(() => {\n if (ctx.reference() === el) ctx.setReference(undefined);\n });\n }}\n class={clsx(\"w-auto\", local.class)}\n >\n <InputGroupInput\n ref={(el) => {\n inputEl = el;\n }}\n // combobox 语义:输入框是 combobox 本体,浮层里的列表是它的 listbox\n role=\"combobox\"\n aria-expanded={ctx.open()}\n aria-controls={ctx.open() ? ctx.listId : undefined}\n aria-autocomplete=\"list\"\n // 高亮项通过 aria-activedescendant 表达(焦点始终留在输入框上)\n aria-activedescendant={activeOptionId()}\n placeholder={local.placeholder}\n disabled={disabled()}\n aria-invalid={local[\"aria-invalid\"] as any}\n value={ctx.inputValue()}\n onInput={(value) => {\n const next = String(value);\n ctx.setInputValue(next);\n ctx.setFilterValue(next);\n ctx.setOpen(true, \"input-change\");\n if (!ctx.multiple() && next.trim() === \"\") {\n ctx.setValue(null);\n ctx.setFilterValue(\"\");\n }\n }}\n onFocus={() => ctx.setOpen(true, \"input-focus\")}\n onClick={() => ctx.setOpen(true, \"trigger-press\")}\n onKeyDown={onKeyDown}\n />\n <InputGroupAddon align=\"inline-end\">\n <Show when={local.showClear && hasValue() && !disabled()}>\n <ComboboxClear />\n </Show>\n </InputGroupAddon>\n {local.children}\n </InputGroup>\n );\n}\n"],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ function m(i) {
|
|
|
9
9
|
let c = t("ComboboxItem"), m = u(() => c.isSelected(i.value)), h = u(() => c.filteredItems()[c.activeIndex()] === i.value), [g, _] = d(!1);
|
|
10
10
|
return (() => {
|
|
11
11
|
var t = p();
|
|
12
|
-
return t.$$click = () => {
|
|
13
|
-
i.disabled || c.selectItem(i.value);
|
|
12
|
+
return t.$$click = (e) => {
|
|
13
|
+
i.disabled || c.selectItem(i.value, e);
|
|
14
14
|
}, t.addEventListener("mouseleave", () => _(!1)), t.addEventListener("mouseenter", () => {
|
|
15
15
|
_(!0);
|
|
16
16
|
let e = c.filteredItems().indexOf(i.value);
|
|
@@ -23,13 +23,14 @@ function m(i) {
|
|
|
23
23
|
return r(f, { class: "pointer-events-none absolute right-2 size-4" });
|
|
24
24
|
}
|
|
25
25
|
}), null), a((r) => {
|
|
26
|
-
var a = i.disabled ? -1 : 0,
|
|
27
|
-
return a !== r.e && s(t, "
|
|
26
|
+
var a = c.optionId(i.value), o = i.disabled ? -1 : 0, l = m(), u = h() || g() ? "" : void 0, d = e("relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-none select-none", "data-highlighted:bg-accent data-highlighted:text-accent-foreground", i.disabled && "pointer-events-none opacity-50", i.class);
|
|
27
|
+
return a !== r.e && s(t, "id", r.e = a), o !== r.t && s(t, "tabindex", r.t = o), l !== r.a && s(t, "aria-selected", r.a = l), u !== r.o && s(t, "data-highlighted", r.o = u), d !== r.i && n(t, r.i = d), r;
|
|
28
28
|
}, {
|
|
29
29
|
e: void 0,
|
|
30
30
|
t: void 0,
|
|
31
31
|
a: void 0,
|
|
32
|
-
o: void 0
|
|
32
|
+
o: void 0,
|
|
33
|
+
i: void 0
|
|
33
34
|
}), t;
|
|
34
35
|
})();
|
|
35
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxItem.js","names":["Show","createMemo","createSignal","JSX","Check","clsx","useComboboxContext","ComboboxItem","props","value","children","Element","class","disabled","ctx","selected","isSelected","active","filteredItems","activeIndex","hovered","setHovered","_el$","_tmpl$","$$click","selectItem","addEventListener","index","indexOf","setActiveIndex","_$insert","_$createComponent","when","_$effect","_p$","_v$","_v$2","_v$3","undefined","_v$
|
|
1
|
+
{"version":3,"file":"ComboboxItem.js","names":["Show","createMemo","createSignal","JSX","Check","clsx","useComboboxContext","ComboboxItem","props","value","children","Element","class","disabled","ctx","selected","isSelected","active","filteredItems","activeIndex","hovered","setHovered","_el$","_tmpl$","$$click","event","selectItem","addEventListener","index","indexOf","setActiveIndex","_$insert","_$createComponent","when","_$effect","_p$","_v$","optionId","_v$2","_v$3","_v$4","undefined","_v$5","e","_$setAttribute","t","a","o","i","_$className","_$delegateEvents","_$createComponent","_$setAttribute","_$className","_$delegateEvents","_tmpl$","ComboboxItem","ctx","useComboboxContext","selected","createMemo","props","active","hovered","setHovered","createSignal","_el$","event","index","insert","createComponent","Show","Check","\"class\"","effect","_v$","_v$2","_v$3","_v$4","_v$5","clsx","_p$","setAttribute","className","delegateEvents"],"sources":["../../../../src/components/combobox/ComboboxItem/ComboboxItem.tsx"],"sourcesContent":["import { Show, createMemo, createSignal, type JSX } from \"solid-js\";\nimport { Check } from \"lucide-solid\";\nimport { clsx } from \"~/utils\";\nimport { useComboboxContext } from \"../Combobox/Combobox.context\";\n\nexport function ComboboxItem(props: {\n value: any;\n children?: JSX.Element;\n class?: string;\n disabled?: boolean;\n}) {\n const ctx = useComboboxContext(\"ComboboxItem\");\n const selected = createMemo(() => ctx.isSelected(props.value));\n const active = createMemo(\n () => ctx.filteredItems()[ctx.activeIndex()] === props.value,\n );\n const [hovered, setHovered] = createSignal(false);\n\n return (\n <div\n id={ctx.optionId(props.value)}\n data-slot=\"combobox-item\"\n role=\"option\"\n tabIndex={props.disabled ? -1 : 0}\n aria-selected={selected()}\n data-highlighted={active() || hovered() ? \"\" : undefined}\n class={clsx(\n \"relative flex w-full cursor-default items-center gap-2 rounded-md py-1 pr-8 pl-1.5 text-sm outline-none select-none\",\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground\",\n props.disabled && \"pointer-events-none opacity-50\",\n props.class,\n )}\n onMouseEnter={() => {\n setHovered(true);\n const index = ctx.filteredItems().indexOf(props.value);\n if (index !== -1) ctx.setActiveIndex(index);\n }}\n onMouseLeave={() => setHovered(false)}\n onClick={(event) => {\n if (!props.disabled) ctx.selectItem(props.value, event);\n }}\n >\n {props.children}\n <Show when={selected()}>\n <Check class=\"pointer-events-none absolute right-2 size-4\" />\n </Show>\n </div>\n );\n}\n"],"mappings":";;;;;;;AAKA,SAAgBO,EAAaC,GAK1B;CACD,IAAMM,IAAMR,EAAmB,cAAc,GACvCS,IAAWd,QAAiBa,EAAIE,WAAWR,EAAMC,KAAK,CAAC,GACvDQ,IAAShB,QACPa,EAAII,cAAc,CAAC,CAACJ,EAAIK,YAAY,OAAOX,EAAMC,KACzD,GACM,CAACW,GAASC,KAAcnB,EAAa,EAAK;CAEhD,cAAA;EAAA,IAAAoB,IAAAC,EAAA;EAaK,OAbLD,EAAAE,WAoBcC,MAAU;GAClB,AAAKjB,EAAMK,YAAUC,EAAIY,WAAWlB,EAAMC,OAAOgB,CAAK;EACxD,GAACH,EAAAK,iBAAA,oBAHmBN,EAAW,EAAK,CAAC,GAAAC,EAAAK,iBAAA,oBALjB;GAClBN,EAAW,EAAI;GACf,IAAMO,IAAQd,EAAII,cAAc,CAAC,CAACW,QAAQrB,EAAMC,KAAK;GACrD,AAAImB,MAAU,MAAId,EAAIgB,eAAeF,CAAK;EAC5C,CAAC,GAAAG,EAAAT,SAMAd,EAAME,UAAQ,IAAA,GAAAqB,EAAAT,GAAAU,EACdhC,GAAI;GAAA,IAACiC,OAAI;IAAA,OAAElB,EAAS;GAAC;GAAA,IAAAL,WAAA;IAAA,OAAAsB,EACnB5B,GAAK,EAAAqE,OAAA,8CAAA,CAAA;GAAA;EAAA,CAAA,GAAA,IAAA,GAAAvC,GAAAC,MAAA;GAAA,IAAAC,IAxBJtB,EAAIuB,SAAS7B,EAAMC,KAAK,GAAC6B,IAGnB9B,EAAMK,WAAW,KAAK,GAAC0B,IAClBxB,EAAS,GAACyB,IACPvB,EAAO,KAAKG,EAAQ,IAAI,KAAKqB,KAAAA,GAASC,IACjDrC,EACL,uHACA,sEACAG,EAAMK,YAAY,kCAClBL,EAAMI,KACR;GAAC,OAAAwB,MAAAD,EAAAQ,KAAAC,EAAAtB,GAAA,MAAAa,EAAAQ,IAAAP,CAAA,GAAAE,MAAAH,EAAAU,KAAAD,EAAAtB,GAAA,YAAAa,EAAAU,IAAAP,CAAA,GAAAC,MAAAJ,EAAAW,KAAAF,EAAAtB,GAAA,iBAAAa,EAAAW,IAAAP,CAAA,GAAAC,MAAAL,EAAAY,KAAAH,EAAAtB,GAAA,oBAAAa,EAAAY,IAAAP,CAAA,GAAAE,MAAAP,EAAAa,KAAAC,EAAA3B,GAAAa,EAAAa,IAAAN,CAAA,GAAAP;EAAA,GAAA;GAAAQ,GAAAF,KAAAA;GAAAI,GAAAJ,KAAAA;GAAAK,GAAAL,KAAAA;GAAAM,GAAAN,KAAAA;GAAAO,GAAAP,KAAAA;EAAA,CAAA,GAAAnB;CAAA,EAAA,CAAA;AAiBP;AAAC4B,EAAA,CAAA,OAAA,CAAA"}
|
|
@@ -1,23 +1,29 @@
|
|
|
1
1
|
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
2
|
import { ScrollArrows as t } from "../../scroll-arrows/ScrollArrows.js";
|
|
3
3
|
import { useComboboxContext as n } from "../Combobox/Combobox.context.js";
|
|
4
|
-
import { className as r, createComponent as i, effect as a, insert as o,
|
|
5
|
-
import { For as
|
|
4
|
+
import { className as r, createComponent as i, effect as a, insert as o, setAttribute as s, template as c, use as l } from "solid-js/web";
|
|
5
|
+
import { For as u, createSignal as d } from "solid-js";
|
|
6
6
|
//#region src/components/combobox/ComboboxList/ComboboxList.tsx
|
|
7
|
-
var
|
|
8
|
-
function
|
|
9
|
-
let
|
|
7
|
+
var f = /*#__PURE__*/ c("<div class=relative><div data-slot=combobox-list role=listbox>");
|
|
8
|
+
function p(c) {
|
|
9
|
+
let p = n("ComboboxList"), [m, h] = d(), g = () => p.isGrouped() ? p.items() : p.filteredItems();
|
|
10
10
|
return (() => {
|
|
11
|
-
var n =
|
|
12
|
-
return
|
|
11
|
+
var n = f(), d = n.firstChild;
|
|
12
|
+
return l(h, d), o(d, i(u, {
|
|
13
13
|
get each() {
|
|
14
|
-
return
|
|
14
|
+
return g();
|
|
15
15
|
},
|
|
16
|
-
children: (e, t) => typeof
|
|
17
|
-
})), o(n, i(t, { target:
|
|
16
|
+
children: (e, t) => typeof c.children == "function" ? c.children(e, t()) : c.children
|
|
17
|
+
})), o(n, i(t, { target: m }), null), a((t) => {
|
|
18
|
+
var n = p.listId, i = e("max-h-72 overflow-y-auto overscroll-contain p-1", "no-scrollbar [&::-webkit-scrollbar]:hidden", c.class);
|
|
19
|
+
return n !== t.e && s(d, "id", t.e = n), i !== t.t && r(d, t.t = i), t;
|
|
20
|
+
}, {
|
|
21
|
+
e: void 0,
|
|
22
|
+
t: void 0
|
|
23
|
+
}), n;
|
|
18
24
|
})();
|
|
19
25
|
}
|
|
20
26
|
//#endregion
|
|
21
|
-
export {
|
|
27
|
+
export { p as ComboboxList };
|
|
22
28
|
|
|
23
29
|
//# sourceMappingURL=ComboboxList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxList.js","names":["For","createSignal","JSX","clsx","ScrollArrows","useComboboxContext","ComboboxList","props","children","Element","item","index","class","ctx","listElement","setListElement","HTMLElement","listItems","isGrouped","items","filteredItems","_el$","_tmpl$","_el$2","firstChild","_$use","_$insert","_$createComponent","each","target","_$effect","_$className","_$createComponent","_$className","_tmpl$","ComboboxList","ctx","useComboboxContext","listElement","setListElement","createSignal","listItems","_el$","_el$2","use","insert","createComponent","For","props","item","index","ScrollArrows","effect","
|
|
1
|
+
{"version":3,"file":"ComboboxList.js","names":["For","createSignal","JSX","clsx","ScrollArrows","useComboboxContext","ComboboxList","props","children","Element","item","index","class","ctx","listElement","setListElement","HTMLElement","listItems","isGrouped","items","filteredItems","_el$","_tmpl$","_el$2","firstChild","_$use","_$insert","_$createComponent","each","target","_$effect","_p$","_v$","listId","_v$2","e","_$setAttribute","t","_$className","undefined","_$createComponent","_$setAttribute","_$className","_tmpl$","ComboboxList","ctx","useComboboxContext","listElement","setListElement","createSignal","listItems","_el$","_el$2","use","insert","createComponent","For","props","item","index","ScrollArrows","effect","_v$","_v$2","clsx","_p$","setAttribute","className"],"sources":["../../../../src/components/combobox/ComboboxList/ComboboxList.tsx"],"sourcesContent":["import { For, createSignal, type JSX } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { ScrollArrows } from \"~/components/scroll-arrows\";\nimport { useComboboxContext } from \"../Combobox/Combobox.context\";\n\nexport function ComboboxList(props: {\n children?: JSX.Element | ((item: any, index: number) => JSX.Element);\n class?: string;\n}) {\n const ctx = useComboboxContext(\"ComboboxList\");\n const [listElement, setListElement] = createSignal<HTMLElement>();\n const listItems = () => (ctx.isGrouped() ? ctx.items() : ctx.filteredItems());\n\n return (\n // 外层只做相对定位,供滚动箭头贴住列表上下沿;自身不滚动\n <div class=\"relative\">\n <div\n ref={setListElement}\n id={ctx.listId}\n data-slot=\"combobox-list\"\n class={clsx(\n \"max-h-72 overflow-y-auto overscroll-contain p-1\",\n \"no-scrollbar [&::-webkit-scrollbar]:hidden\",\n props.class,\n )}\n role=\"listbox\"\n >\n <For each={listItems()}>\n {(item, index) =>\n typeof props.children === \"function\"\n ? props.children(item, index())\n : props.children\n }\n </For>\n </div>\n <ScrollArrows target={listElement} />\n </div>\n );\n}\n"],"mappings":";;;;;;;AAKA,SAAgBM,EAAaC,GAG1B;CACD,IAAMM,IAAMR,EAAmB,cAAc,GACvC,CAACS,GAAaC,KAAkBd,EAA0B,GAC1DgB,UAAmBJ,EAAIK,UAAU,IAAIL,EAAIM,MAAM,IAAIN,EAAIO,cAAc;CAE3E,cACE;EAAA,IAAAC,IAAAC,EAAA,GAAAC,IAAAF,EAAAG;EAUK,OAVLC,EAGSV,GAAcQ,CAAA,GAAAG,EAAAH,GAAAI,EAUlB3B,GAAG;GAAA,IAAC4B,OAAI;IAAA,OAAEX,EAAU;GAAC;GAAAT,WAClBE,GAAMC,MACN,OAAOJ,EAAMC,YAAa,aACtBD,EAAMC,SAASE,GAAMC,EAAM,CAAC,IAC5BJ,EAAMC;EAAQ,CAAA,CAAA,GAAAkB,EAAAL,GAAAM,EAIvBvB,GAAY,EAACyB,QAAQf,EAAW,CAAA,GAAA,IAAA,GAAAgB,GAAAC,MAAA;GAAA,IAAAC,IAjB3BnB,EAAIoB,QAAMC,IAEP/B,EACL,mDACA,8CACAI,EAAMK,KACR;GAAC,OAAAoB,MAAAD,EAAAI,KAAAC,EAAAb,GAAA,MAAAQ,EAAAI,IAAAH,CAAA,GAAAE,MAAAH,EAAAM,KAAAC,EAAAf,GAAAQ,EAAAM,IAAAH,CAAA,GAAAH;EAAA,GAAA;GAAAI,GAAAI,KAAAA;GAAAF,GAAAE,KAAAA;EAAA,CAAA,GAAAlB;CAAA,EAAA,CAAA;AAcT"}
|
|
@@ -13,13 +13,20 @@ function o(o) {
|
|
|
13
13
|
},
|
|
14
14
|
variant: "outline",
|
|
15
15
|
"data-slot": "combobox-trigger",
|
|
16
|
+
"aria-haspopup": "listbox",
|
|
17
|
+
get "aria-expanded"() {
|
|
18
|
+
return s.open();
|
|
19
|
+
},
|
|
20
|
+
get "aria-controls"() {
|
|
21
|
+
return i(() => !!s.open())() ? s.listId : void 0;
|
|
22
|
+
},
|
|
16
23
|
get class() {
|
|
17
24
|
return e("h-8 [&_svg:not([class*='size-'])]:size-4 active:not-aria-[haspopup]:translate-y-0", o.class);
|
|
18
25
|
},
|
|
19
26
|
get disabled() {
|
|
20
27
|
return s.disabled() || o.disabled;
|
|
21
28
|
},
|
|
22
|
-
onClick: () => s.setOpen(!s.open()),
|
|
29
|
+
onClick: (e) => s.setOpen(!s.open(), "trigger-press", e),
|
|
23
30
|
get children() {
|
|
24
31
|
return [i(() => o.children), r(a, {
|
|
25
32
|
"data-slot": "combobox-trigger-icon",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ComboboxTrigger.js","names":["JSX","ChevronDown","clsx","useComboboxContext","InputGroupButton","ComboboxTrigger","props","children","Element","class","disabled","ctx","_$createComponent","ref","r$","_ref$","setReference","variant","
|
|
1
|
+
{"version":3,"file":"ComboboxTrigger.js","names":["JSX","ChevronDown","clsx","useComboboxContext","InputGroupButton","ComboboxTrigger","props","children","Element","class","disabled","ctx","_$createComponent","ref","r$","_ref$","setReference","variant","aria-expanded","open","aria-controls","_$memo","listId","undefined","onClick","event","setOpen","Event","_$createComponent","_$memo","ComboboxTrigger","ctx","useComboboxContext","createComponent","InputGroupButton","_ref$","r$","memo","\"class\"","clsx","props","event","ChevronDown"],"sources":["../../../../src/components/combobox/ComboboxTrigger/ComboboxTrigger.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport { ChevronDown } from \"lucide-solid\";\nimport { clsx } from \"~/utils\";\nimport { useComboboxContext } from \"../Combobox/Combobox.context\";\nimport { InputGroupButton } from \"~/components/input-group\";\n\nexport function ComboboxTrigger(props: {\n children?: JSX.Element;\n class?: string;\n disabled?: boolean;\n}) {\n const ctx = useComboboxContext(\"ComboboxTrigger\");\n return (\n <InputGroupButton\n ref={ctx.setReference}\n variant=\"outline\"\n data-slot=\"combobox-trigger\"\n // 触发器是弹出 listbox 的按钮\n aria-haspopup=\"listbox\"\n aria-expanded={ctx.open()}\n aria-controls={ctx.open() ? ctx.listId : undefined}\n class={clsx(\n \"h-8 [&_svg:not([class*='size-'])]:size-4 active:not-aria-[haspopup]:translate-y-0\",\n props.class,\n )}\n disabled={ctx.disabled() || props.disabled}\n onClick={(event) =>\n ctx.setOpen(!ctx.open(), \"trigger-press\", event as unknown as Event)\n }\n >\n {props.children}\n <ChevronDown\n data-slot=\"combobox-trigger-icon\"\n class=\"pointer-events-none size-4 text-muted-foreground\"\n />\n </InputGroupButton>\n );\n}\n"],"mappings":";;;;;;AAMA,SAAgBK,EAAgBC,GAI7B;CACD,IAAMK,IAAMR,EAAmB,iBAAiB;CAChD,OAAAS,EACGR,GAAgB;EAAAS,IAAAC,GAAA;GAAA,IAAAC,IACVJ,EAAIK;GAAY,OAAAD,KAAA,aAAAA,EAAAD,CAAA,IAAhBH,EAAIK,eAAYF;EAAA;EACrBG,SAAO;EAAA,aAAA;EAAA,iBAAA;EAAA,IAAA,kBAAA;GAAA,OAIQN,EAAIQ,KAAK;EAAC;EAAA,IAAA,kBAAA;GAAA,OACVE,QAAA,CAAA,CAAAV,EAAIQ,KAAK,CAAC,CAAA,CAAA,IAAGR,EAAIW,SAASC,KAAAA;EAAS;EAAA,IAAAe,QAAA;GAAA,OAC3CpC,EACL,qFACAI,EAAMG,KACR;EAAC;EAAA,IACDC,WAAQ;GAAA,OAAEC,EAAID,SAAS,KAAKJ,EAAMI;EAAQ;EAC1Cc,UAAUC,MACRd,EAAIe,QAAQ,CAACf,EAAIQ,KAAK,GAAG,iBAAiBM,CAAyB;EAAC,IAAAlB,WAAA;GAAA,OAAA,CAAAc,QAGrEf,EAAMC,QAAQ,GAAAK,EACdX,GAAW;IAAA,aAAA;IAAAqC,OAAA;GAAA,CAAA,CAAA;EAAA;CAAA,CAAA;AAMlB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { createVirtualElement as e } from "../../../lib/positioner/virtual-element.js";
|
|
2
|
+
import { useScrollLock as t } from "../../../hooks/useScrollLock.js";
|
|
3
3
|
import { ContextMenuContext as n } from "./ContextMenu.context.js";
|
|
4
4
|
import { createChangeEventDetails as r } from "../context-menu.utils.js";
|
|
5
5
|
import { createComponent as i } from "solid-js/web";
|
|
@@ -8,20 +8,22 @@ import { createEffect as a, createMemo as o, createSignal as s, createUniqueId a
|
|
|
8
8
|
var u = "[data-slot=\"context-menu-content\"],[data-slot=\"context-menu-sub-content\"]";
|
|
9
9
|
function d(d) {
|
|
10
10
|
let [f, p] = s(d.defaultOpen ?? !1), m = o(() => d.open === void 0 ? f() : d.open), h = o(() => !!d.disabled), g = o(() => d.loopFocus ?? !0), _ = o(() => d.orientation ?? "vertical"), v = o(() => d.highlightItemOnHover ?? !0), y = o(() => d.modal ?? !0);
|
|
11
|
-
|
|
11
|
+
t(() => m() && y(), { allowedSelector: u });
|
|
12
12
|
let [b, x] = s(!0), [S, C] = s(), [w, T] = s(), E = `context-menu-content-${c()}`, D = /* @__PURE__ */ new Set(), O = () => {
|
|
13
13
|
let e = S();
|
|
14
14
|
e && typeof e.focus == "function" && e.focus({ preventScroll: !0 });
|
|
15
15
|
}, k = (e, t, n) => {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
let i = r(t, n, S());
|
|
17
|
+
d.onOpenChange?.(e, i), !i.isCanceled && d.open === void 0 && p(e);
|
|
18
|
+
}, A = (t, n, r, i, a = "trigger-press") => {
|
|
19
|
+
h() || (T(e({
|
|
20
|
+
x: t,
|
|
20
21
|
y: n,
|
|
21
22
|
contextElement: r
|
|
22
23
|
})), m() || k(!0, a, i));
|
|
23
24
|
}, j = (e, t) => {
|
|
24
|
-
|
|
25
|
+
let n = m();
|
|
26
|
+
n && (k(!1, e, t), m() !== n && e !== "outside-press" && b() && O());
|
|
25
27
|
}, M = (e) => {
|
|
26
28
|
if (!e || !(e instanceof Element)) return !1;
|
|
27
29
|
for (let t of D) if (t.contains(e)) return !0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContextMenu.js","names":["createEffect","createMemo","createSignal","createUniqueId","onCleanup","JSX","createVirtualElement","VirtualElement","useScrollLock","ContextMenuContext","ContextMenuProps","ContextMenuChangeEventReason","ContextMenuContextValue","createChangeEventDetails","MENU_POPUP_SELECTOR","ContextMenu","props","Element","internalOpen","setInternalOpen","defaultOpen","open","undefined","disabled","loopFocus","orientation","highlightItemOnHover","modal","allowedSelector","finalFocus","setFinalFocus","trigger","setTrigger","HTMLElement","anchor","setAnchor","contentId","menuElements","Set","restoreFocus","el","focus","preventScroll","commit","next","reason","event","Event","onOpenChange","openAt","x","y","contextElement","closeAll","isInsideMenu","node","Node","contains","isInsideTrigger","registerMenuElement","add","delete","onPointerDown","e","PointerEvent","button","target","onContextMenu","MouseEvent","onKeyDown","KeyboardEvent","defaultPrevented","key","document","addEventListener","removeEventListener","ctx","_$createComponent","Provider","value","children","_$createComponent","MENU_POPUP_SELECTOR","ContextMenu","internalOpen","setInternalOpen","createSignal","props","open","createMemo","disabled","loopFocus","orientation","highlightItemOnHover","modal","finalFocus","setFinalFocus","trigger","setTrigger","anchor","setAnchor","contentId","createUniqueId","menuElements","restoreFocus","el","commit","next","createChangeEventDetails","reason","event","openAt","createVirtualElement","closeAll","isInsideMenu","node","isInsideTrigger","registerMenuElement","onPointerDown","onContextMenu","target","onKeyDown","onCleanup","ctx","createComponent","ContextMenuContext"],"sources":["../../../../src/components/context-menu/ContextMenu/ContextMenu.tsx"],"sourcesContent":["import {\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n onCleanup,\n type JSX,\n} from \"solid-js\";\nimport { createVirtualElement, type VirtualElement } from \"~/lib\";\nimport { useScrollLock } from \"~/hooks\";\nimport { ContextMenuContext } from \"./ContextMenu.context\";\nimport type { ContextMenuProps } from \"./ContextMenu.types\";\nimport type {\n ContextMenuChangeEventReason,\n ContextMenuContextValue,\n} from \"../context-menu.types\";\nimport { createChangeEventDetails } from \"../context-menu.utils\";\n\n/** 菜单自身(根菜单/子菜单)的 popup 容器,允许在锁滚动期间继续在菜单内部滚动 */\nconst MENU_POPUP_SELECTOR =\n '[data-slot=\"context-menu-content\"],[data-slot=\"context-menu-sub-content\"]';\n\n/**\n * ContextMenu 根组件:不渲染任何 DOM,只负责状态管理 + 提供 context。\n *\n * 这是 shadcn 基于 Base UI 的 ContextMenu 的 SolidJS 移植:Base UI 的 Root\n * 同样不渲染自己的 HTML 元素,只作为状态容器。\n *\n * 与普通菜单不同的地方在于\"锚点\":右键菜单的定位参照是鼠标点击的像素坐标,\n * 因此这里用 `createVirtualElement` 生成一个宽高为 0 的虚拟参照元素,\n * 再交给内容层用 position:fixed 定位(细节见 ContextMenuContent)。\n *\n * @example\n * ```tsx\n * <ContextMenu>\n * <ContextMenuTrigger>右键点击这里</ContextMenuTrigger>\n * <ContextMenuContent>\n * <ContextMenuItem>个人资料</ContextMenuItem>\n * </ContextMenuContent>\n * </ContextMenu>\n * ```\n */\nexport function ContextMenu(props: ContextMenuProps): JSX.Element {\n const [internalOpen, setInternalOpen] = createSignal(\n props.defaultOpen ?? false,\n );\n const open = createMemo(() =>\n props.open !== undefined ? props.open : internalOpen(),\n );\n const disabled = createMemo(() => !!props.disabled);\n const loopFocus = createMemo(() => props.loopFocus ?? true);\n const orientation = createMemo(() => props.orientation ?? \"vertical\");\n const highlightItemOnHover = createMemo(\n () => props.highlightItemOnHover ?? true,\n );\n const modal = createMemo(() => props.modal ?? true);\n\n // 打开期间锁定页面滚动(Base UI menu 的 modal 默认行为),关闭时恢复。\n // 菜单自身(含子菜单)允许继续滚动。\n useScrollLock(() => open() && modal(), {\n allowedSelector: MENU_POPUP_SELECTOR,\n });\n\n const [finalFocus, setFinalFocus] = createSignal(true);\n const [trigger, setTrigger] = createSignal<HTMLElement>();\n const [anchor, setAnchor] = createSignal<VirtualElement>();\n const contentId = `context-menu-content-${createUniqueId()}`;\n\n // 已挂载的浮层容器(根菜单 + 各级子菜单),用于判断指针是否落在菜单内部。\n // 这里刻意不用响应式结构:它只在事件回调里读取,变化本身不需要驱动渲染。\n const menuElements = new Set<HTMLElement>();\n\n const restoreFocus = () => {\n const el = trigger();\n if (el && typeof el.focus === \"function\") {\n el.focus({ preventScroll: true });\n }\n };\n\n const commit = (\n next: boolean,\n reason: ContextMenuChangeEventReason,\n event?: Event,\n ) => {\n if (props.open === undefined) setInternalOpen(next);\n props.onOpenChange?.(\n next,\n createChangeEventDetails(reason, event, trigger()),\n );\n };\n\n const openAt = (\n x: number,\n y: number,\n contextElement: Element | undefined,\n event?: Event,\n reason: ContextMenuChangeEventReason = \"trigger-press\",\n ) => {\n if (disabled()) return;\n // 每次打开都换一个新的虚拟元素:即使菜单已经打开,右键到新位置也会\n // 触发 positioner 重新计算(autoUpdate 之外的一条路径)。\n setAnchor(createVirtualElement({ x, y, contextElement }));\n if (!open()) commit(true, reason, event);\n };\n\n const closeAll = (reason: ContextMenuChangeEventReason, event?: Event) => {\n if (!open()) return;\n commit(false, reason, event);\n // 点击菜单外部时焦点应该留在用户刚点的目标上,不能把焦点抢回触发器。\n if (reason !== \"outside-press\" && finalFocus()) restoreFocus();\n };\n\n const isInsideMenu = (node: Node | null): boolean => {\n if (!node || !(node instanceof Element)) return false;\n for (const el of menuElements) {\n if (el.contains(node)) return true;\n }\n return false;\n };\n\n const isInsideTrigger = (node: Node | null): boolean => {\n if (!node || !(node instanceof Element)) return false;\n return !!trigger()?.contains(node);\n };\n\n const registerMenuElement = (el: HTMLElement) => {\n menuElements.add(el);\n return () => {\n menuElements.delete(el);\n };\n };\n\n // 打开期间绑定 document 级监听:点击外部/再次右键外部关闭 + Escape 兜底关闭。\n // 菜单内部的 Escape 会由浮层自己处理并 stopPropagation,不会走到这里。\n createEffect(() => {\n if (!open()) return;\n\n const onPointerDown = (e: PointerEvent) => {\n // 右键交给 contextmenu 处理:否则会先被这里关掉、又被触发器重新打开,\n // 中间闪一帧。\n if (e.button === 2) return;\n // 注意这里不把触发器算作\"内部\":菜单打开时左键点触发器应当关闭菜单。\n if (!isInsideMenu(e.target as Node | null)) {\n closeAll(\"outside-press\", e);\n }\n };\n\n const onContextMenu = (e: MouseEvent) => {\n const target = e.target as Node | null;\n // 在触发器上再次右键只更新锚点,由触发器自己的 contextmenu 处理。\n if (!isInsideMenu(target) && !isInsideTrigger(target)) {\n closeAll(\"outside-press\", e);\n }\n };\n\n const onKeyDown = (e: KeyboardEvent) => {\n // 菜单浮层自己处理 Escape 时会 preventDefault + stopPropagation。\n // 这里再检查一次 defaultPrevented:键盘事件在 Solid 里是委托到 document 的,\n // 同元素上的其它监听器不会被 stopPropagation 拦下,靠这个标记避免重复关闭。\n if (e.defaultPrevented) return;\n if (e.key === \"Escape\") closeAll(\"escape-key\", e);\n };\n\n document.addEventListener(\"pointerdown\", onPointerDown, true);\n document.addEventListener(\"contextmenu\", onContextMenu, true);\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => {\n document.removeEventListener(\"pointerdown\", onPointerDown, true);\n document.removeEventListener(\"contextmenu\", onContextMenu, true);\n document.removeEventListener(\"keydown\", onKeyDown);\n });\n });\n\n const ctx: ContextMenuContextValue = {\n open,\n disabled,\n loopFocus,\n orientation,\n highlightItemOnHover,\n trigger,\n setTrigger,\n anchor,\n contentId,\n finalFocus,\n setFinalFocus,\n openAt,\n closeAll,\n registerMenuElement,\n isInsideMenu,\n };\n\n return (\n <ContextMenuContext.Provider value={ctx}>\n {props.children}\n </ContextMenuContext.Provider>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ContextMenu.js","names":["createEffect","createMemo","createSignal","createUniqueId","onCleanup","JSX","createVirtualElement","VirtualElement","useScrollLock","ContextMenuContext","ContextMenuProps","ContextMenuChangeEventReason","ContextMenuContextValue","createChangeEventDetails","MENU_POPUP_SELECTOR","ContextMenu","props","Element","internalOpen","setInternalOpen","defaultOpen","open","undefined","disabled","loopFocus","orientation","highlightItemOnHover","modal","allowedSelector","finalFocus","setFinalFocus","trigger","setTrigger","HTMLElement","anchor","setAnchor","contentId","menuElements","Set","restoreFocus","el","focus","preventScroll","commit","next","reason","event","Event","details","onOpenChange","isCanceled","openAt","x","y","contextElement","closeAll","wasOpen","isInsideMenu","node","Node","contains","isInsideTrigger","registerMenuElement","add","delete","onPointerDown","e","PointerEvent","button","target","onContextMenu","MouseEvent","onKeyDown","KeyboardEvent","defaultPrevented","key","document","addEventListener","removeEventListener","ctx","_$createComponent","Provider","value","children","_$createComponent","MENU_POPUP_SELECTOR","ContextMenu","internalOpen","setInternalOpen","createSignal","props","open","createMemo","disabled","loopFocus","orientation","highlightItemOnHover","modal","finalFocus","setFinalFocus","trigger","setTrigger","anchor","setAnchor","contentId","createUniqueId","menuElements","restoreFocus","el","commit","details","createChangeEventDetails","reason","event","next","openAt","createVirtualElement","closeAll","wasOpen","isInsideMenu","node","isInsideTrigger","registerMenuElement","onPointerDown","onContextMenu","target","onKeyDown","onCleanup","ctx","createComponent","ContextMenuContext"],"sources":["../../../../src/components/context-menu/ContextMenu/ContextMenu.tsx"],"sourcesContent":["import {\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n onCleanup,\n type JSX,\n} from \"solid-js\";\nimport { createVirtualElement, type VirtualElement } from \"~/lib\";\nimport { useScrollLock } from \"~/hooks\";\nimport { ContextMenuContext } from \"./ContextMenu.context\";\nimport type { ContextMenuProps } from \"./ContextMenu.types\";\nimport type {\n ContextMenuChangeEventReason,\n ContextMenuContextValue,\n} from \"../context-menu.types\";\nimport { createChangeEventDetails } from \"../context-menu.utils\";\n\n/** 菜单自身(根菜单/子菜单)的 popup 容器,允许在锁滚动期间继续在菜单内部滚动 */\nconst MENU_POPUP_SELECTOR =\n '[data-slot=\"context-menu-content\"],[data-slot=\"context-menu-sub-content\"]';\n\n/**\n * ContextMenu 根组件:不渲染任何 DOM,只负责状态管理 + 提供 context。\n *\n * 这是 shadcn 基于 Base UI 的 ContextMenu 的 SolidJS 移植:Base UI 的 Root\n * 同样不渲染自己的 HTML 元素,只作为状态容器。\n *\n * 与普通菜单不同的地方在于\"锚点\":右键菜单的定位参照是鼠标点击的像素坐标,\n * 因此这里用 `createVirtualElement` 生成一个宽高为 0 的虚拟参照元素,\n * 再交给内容层用 position:fixed 定位(细节见 ContextMenuContent)。\n *\n * @example\n * ```tsx\n * <ContextMenu>\n * <ContextMenuTrigger>右键点击这里</ContextMenuTrigger>\n * <ContextMenuContent>\n * <ContextMenuItem>个人资料</ContextMenuItem>\n * </ContextMenuContent>\n * </ContextMenu>\n * ```\n */\nexport function ContextMenu(props: ContextMenuProps): JSX.Element {\n const [internalOpen, setInternalOpen] = createSignal(\n props.defaultOpen ?? false,\n );\n const open = createMemo(() =>\n props.open !== undefined ? props.open : internalOpen(),\n );\n const disabled = createMemo(() => !!props.disabled);\n const loopFocus = createMemo(() => props.loopFocus ?? true);\n const orientation = createMemo(() => props.orientation ?? \"vertical\");\n const highlightItemOnHover = createMemo(\n () => props.highlightItemOnHover ?? true,\n );\n const modal = createMemo(() => props.modal ?? true);\n\n // 打开期间锁定页面滚动(Base UI menu 的 modal 默认行为),关闭时恢复。\n // 菜单自身(含子菜单)允许继续滚动。\n useScrollLock(() => open() && modal(), {\n allowedSelector: MENU_POPUP_SELECTOR,\n });\n\n const [finalFocus, setFinalFocus] = createSignal(true);\n const [trigger, setTrigger] = createSignal<HTMLElement>();\n const [anchor, setAnchor] = createSignal<VirtualElement>();\n const contentId = `context-menu-content-${createUniqueId()}`;\n\n // 已挂载的浮层容器(根菜单 + 各级子菜单),用于判断指针是否落在菜单内部。\n // 这里刻意不用响应式结构:它只在事件回调里读取,变化本身不需要驱动渲染。\n const menuElements = new Set<HTMLElement>();\n\n const restoreFocus = () => {\n const el = trigger();\n if (el && typeof el.focus === \"function\") {\n el.focus({ preventScroll: true });\n }\n };\n\n const commit = (\n next: boolean,\n reason: ContextMenuChangeEventReason,\n event?: Event,\n ) => {\n const details = createChangeEventDetails(reason, event, trigger());\n // 先回调再落状态:调用方可以在 details.cancel() 里否决本次变更\n // (与 ToggleGroup / TimePicker / Drawer 一致,对齐 Base UI 的语义)\n props.onOpenChange?.(next, details);\n if (details.isCanceled) return;\n if (props.open === undefined) setInternalOpen(next);\n };\n\n const openAt = (\n x: number,\n y: number,\n contextElement: Element | undefined,\n event?: Event,\n reason: ContextMenuChangeEventReason = \"trigger-press\",\n ) => {\n if (disabled()) return;\n // 每次打开都换一个新的虚拟元素:即使菜单已经打开,右键到新位置也会\n // 触发 positioner 重新计算(autoUpdate 之外的一条路径)。\n setAnchor(createVirtualElement({ x, y, contextElement }));\n if (!open()) commit(true, reason, event);\n };\n\n const closeAll = (reason: ContextMenuChangeEventReason, event?: Event) => {\n const wasOpen = open();\n if (!wasOpen) return;\n commit(false, reason, event);\n // cancel() 之后菜单并没有真的关闭,因此也不该动焦点\n if (open() === wasOpen) return;\n // 点击菜单外部时焦点应该留在用户刚点的目标上,不能把焦点抢回触发器。\n if (reason !== \"outside-press\" && finalFocus()) restoreFocus();\n };\n\n const isInsideMenu = (node: Node | null): boolean => {\n if (!node || !(node instanceof Element)) return false;\n for (const el of menuElements) {\n if (el.contains(node)) return true;\n }\n return false;\n };\n\n const isInsideTrigger = (node: Node | null): boolean => {\n if (!node || !(node instanceof Element)) return false;\n return !!trigger()?.contains(node);\n };\n\n const registerMenuElement = (el: HTMLElement) => {\n menuElements.add(el);\n return () => {\n menuElements.delete(el);\n };\n };\n\n // 打开期间绑定 document 级监听:点击外部/再次右键外部关闭 + Escape 兜底关闭。\n // 菜单内部的 Escape 会由浮层自己处理并 stopPropagation,不会走到这里。\n createEffect(() => {\n if (!open()) return;\n\n const onPointerDown = (e: PointerEvent) => {\n // 右键交给 contextmenu 处理:否则会先被这里关掉、又被触发器重新打开,\n // 中间闪一帧。\n if (e.button === 2) return;\n // 注意这里不把触发器算作\"内部\":菜单打开时左键点触发器应当关闭菜单。\n if (!isInsideMenu(e.target as Node | null)) {\n closeAll(\"outside-press\", e);\n }\n };\n\n const onContextMenu = (e: MouseEvent) => {\n const target = e.target as Node | null;\n // 在触发器上再次右键只更新锚点,由触发器自己的 contextmenu 处理。\n if (!isInsideMenu(target) && !isInsideTrigger(target)) {\n closeAll(\"outside-press\", e);\n }\n };\n\n const onKeyDown = (e: KeyboardEvent) => {\n // 菜单浮层自己处理 Escape 时会 preventDefault + stopPropagation。\n // 这里再检查一次 defaultPrevented:键盘事件在 Solid 里是委托到 document 的,\n // 同元素上的其它监听器不会被 stopPropagation 拦下,靠这个标记避免重复关闭。\n if (e.defaultPrevented) return;\n if (e.key === \"Escape\") closeAll(\"escape-key\", e);\n };\n\n document.addEventListener(\"pointerdown\", onPointerDown, true);\n document.addEventListener(\"contextmenu\", onContextMenu, true);\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => {\n document.removeEventListener(\"pointerdown\", onPointerDown, true);\n document.removeEventListener(\"contextmenu\", onContextMenu, true);\n document.removeEventListener(\"keydown\", onKeyDown);\n });\n });\n\n const ctx: ContextMenuContextValue = {\n open,\n disabled,\n loopFocus,\n orientation,\n highlightItemOnHover,\n trigger,\n setTrigger,\n anchor,\n contentId,\n finalFocus,\n setFinalFocus,\n openAt,\n closeAll,\n registerMenuElement,\n isInsideMenu,\n };\n\n return (\n <ContextMenuContext.Provider value={ctx}>\n {props.children}\n </ContextMenuContext.Provider>\n );\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
import { ContextMenuItemEntry } from '../context-menu.types';
|
|
3
|
+
/**
|
|
4
|
+
* 浮层内的高亮导航。
|
|
5
|
+
*
|
|
6
|
+
* 单一职责:维护"当前高亮的是哪一项",并提供移动/跳到首尾的能力。
|
|
7
|
+
* 交互模型是焦点留在 popup 上、高亮用 `aria-activedescendant` 表达,
|
|
8
|
+
* 因此这里只改 id,不碰真实焦点。
|
|
9
|
+
*/
|
|
10
|
+
/** 键盘移动时的目标下标(-1 表示列表为空,调用方据此放弃) */
|
|
11
|
+
export declare function resolveNextActiveIndex(currentIndex: number, delta: 1 | -1, length: number, loopFocus: boolean): number;
|
|
12
|
+
export interface CreateHighlightOptions {
|
|
13
|
+
/** 全部菜单项(按 DOM 顺序),用于反查当前高亮项 */
|
|
14
|
+
orderedItems: Accessor<ContextMenuItemEntry[]>;
|
|
15
|
+
/** 可参与导航的菜单项(排除 disabled) */
|
|
16
|
+
enabledItems: Accessor<ContextMenuItemEntry[]>;
|
|
17
|
+
loopFocus: () => boolean;
|
|
18
|
+
/** 当前展开的子菜单项 id(没有展开时为 undefined) */
|
|
19
|
+
openPopupId: Accessor<string | undefined>;
|
|
20
|
+
/** 关闭已展开的子菜单 */
|
|
21
|
+
closeOpenPopup: () => void;
|
|
22
|
+
/** 本浮层是否打开;关闭时清空高亮,保证下次从第一项开始 */
|
|
23
|
+
open: Accessor<boolean>;
|
|
24
|
+
}
|
|
25
|
+
export interface HighlightNavigation {
|
|
26
|
+
activeId: Accessor<string | undefined>;
|
|
27
|
+
activeEntry: Accessor<ContextMenuItemEntry | undefined>;
|
|
28
|
+
setActiveId: (id: string | undefined) => void;
|
|
29
|
+
moveActive: (delta: 1 | -1) => void;
|
|
30
|
+
focusFirst: () => void;
|
|
31
|
+
focusLast: () => void;
|
|
32
|
+
}
|
|
33
|
+
export declare function createHighlight(options: CreateHighlightOptions): HighlightNavigation;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { createEffect as e, createMemo as t, createSignal as n } from "solid-js";
|
|
2
|
+
//#region src/components/context-menu/ContextMenuContent/context-menu.highlight.ts
|
|
3
|
+
function r(e, t, n, r) {
|
|
4
|
+
if (n <= 0) return -1;
|
|
5
|
+
if (e === -1) return t > 0 ? 0 : n - 1;
|
|
6
|
+
let i = e + t;
|
|
7
|
+
return i < 0 ? r ? n - 1 : 0 : i >= n ? r ? 0 : n - 1 : i;
|
|
8
|
+
}
|
|
9
|
+
function i(i) {
|
|
10
|
+
let [a, o] = n(), s = (e) => {
|
|
11
|
+
o(e);
|
|
12
|
+
let t = i.openPopupId();
|
|
13
|
+
t !== void 0 && t !== e && i.closeOpenPopup();
|
|
14
|
+
}, c = t(() => i.orderedItems().find((e) => e.id === a()));
|
|
15
|
+
return e(() => {
|
|
16
|
+
let e = c();
|
|
17
|
+
e && e.element.scrollIntoView({ block: "nearest" });
|
|
18
|
+
}), e(() => {
|
|
19
|
+
i.open() || (o(void 0), i.closeOpenPopup());
|
|
20
|
+
}), {
|
|
21
|
+
activeId: a,
|
|
22
|
+
activeEntry: c,
|
|
23
|
+
setActiveId: s,
|
|
24
|
+
moveActive(e) {
|
|
25
|
+
let t = i.enabledItems(), n = r(t.findIndex((e) => e.id === a()), e, t.length, i.loopFocus());
|
|
26
|
+
n !== -1 && s(t[n].id);
|
|
27
|
+
},
|
|
28
|
+
focusFirst() {
|
|
29
|
+
let e = i.enabledItems();
|
|
30
|
+
s(e.length > 0 ? e[0].id : void 0);
|
|
31
|
+
},
|
|
32
|
+
focusLast() {
|
|
33
|
+
let e = i.enabledItems();
|
|
34
|
+
s(e.length > 0 ? e[e.length - 1].id : void 0);
|
|
35
|
+
}
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { i as createHighlight, r as resolveNextActiveIndex };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=context-menu.highlight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-menu.highlight.js","names":["resolveNextActiveIndex","length","currentIndex","delta","next","loopFocus","createHighlight","activeId","setActiveIdInternal","createSignal","setActiveId","id","openId","options","activeEntry","createMemo","item","createEffect","entry","list","nextIndex"],"sources":["../../../../src/components/context-menu/ContextMenuContent/context-menu.highlight.ts"],"sourcesContent":["import {\n createEffect,\n createMemo,\n createSignal,\n type Accessor,\n} from \"solid-js\";\nimport type { ContextMenuItemEntry } from \"../context-menu.types\";\n\n/**\n * 浮层内的高亮导航。\n *\n * 单一职责:维护\"当前高亮的是哪一项\",并提供移动/跳到首尾的能力。\n * 交互模型是焦点留在 popup 上、高亮用 `aria-activedescendant` 表达,\n * 因此这里只改 id,不碰真实焦点。\n */\n\n/** 键盘移动时的目标下标(-1 表示列表为空,调用方据此放弃) */\nexport function resolveNextActiveIndex(\n currentIndex: number,\n delta: 1 | -1,\n length: number,\n loopFocus: boolean,\n): number {\n if (length <= 0) return -1;\n if (currentIndex === -1) return delta > 0 ? 0 : length - 1;\n\n const next = currentIndex + delta;\n if (next < 0) return loopFocus ? length - 1 : 0;\n if (next >= length) return loopFocus ? 0 : length - 1;\n return next;\n}\n\nexport interface CreateHighlightOptions {\n /** 全部菜单项(按 DOM 顺序),用于反查当前高亮项 */\n orderedItems: Accessor<ContextMenuItemEntry[]>;\n /** 可参与导航的菜单项(排除 disabled) */\n enabledItems: Accessor<ContextMenuItemEntry[]>;\n loopFocus: () => boolean;\n /** 当前展开的子菜单项 id(没有展开时为 undefined) */\n openPopupId: Accessor<string | undefined>;\n /** 关闭已展开的子菜单 */\n closeOpenPopup: () => void;\n /** 本浮层是否打开;关闭时清空高亮,保证下次从第一项开始 */\n open: Accessor<boolean>;\n}\n\nexport interface HighlightNavigation {\n activeId: Accessor<string | undefined>;\n activeEntry: Accessor<ContextMenuItemEntry | undefined>;\n setActiveId: (id: string | undefined) => void;\n moveActive: (delta: 1 | -1) => void;\n focusFirst: () => void;\n focusLast: () => void;\n}\n\nexport function createHighlight(\n options: CreateHighlightOptions,\n): HighlightNavigation {\n const [activeId, setActiveIdInternal] = createSignal<string | undefined>();\n\n /** 高亮某项;若高亮切到了别的项,顺手关掉已展开的子菜单 */\n const setActiveId = (id: string | undefined) => {\n setActiveIdInternal(id);\n const openId = options.openPopupId();\n if (openId !== undefined && openId !== id) options.closeOpenPopup();\n };\n\n const activeEntry = createMemo(() =>\n options.orderedItems().find((item) => item.id === activeId()),\n );\n\n // 高亮项变化时滚动到可见区域\n createEffect(() => {\n const entry = activeEntry();\n if (!entry) return;\n entry.element.scrollIntoView({ block: \"nearest\" });\n });\n\n // 关闭时清空高亮与子菜单状态\n createEffect(() => {\n if (options.open()) return;\n setActiveIdInternal(undefined);\n options.closeOpenPopup();\n });\n\n return {\n activeId,\n activeEntry,\n setActiveId,\n moveActive(delta) {\n const list = options.enabledItems();\n const currentIndex = list.findIndex((item) => item.id === activeId());\n const nextIndex = resolveNextActiveIndex(\n currentIndex,\n delta,\n list.length,\n options.loopFocus(),\n );\n if (nextIndex === -1) return;\n setActiveId(list[nextIndex]!.id);\n },\n focusFirst() {\n const list = options.enabledItems();\n setActiveId(list.length > 0 ? list[0]!.id : undefined);\n },\n focusLast() {\n const list = options.enabledItems();\n setActiveId(list.length > 0 ? list[list.length - 1]!.id : undefined);\n },\n };\n}\n"],"mappings":";;AAiBA,SAAgBA,EACd,GACA,GACA,GACA,GACQ;CACR,IAAIC,KAAU,GAAG,OAAO;CACxB,IAAIC,MAAiB,IAAI,OAAOC,IAAQ,IAAI,IAAIF,IAAS;CAEzD,IAAMG,IAAOF,IAAeC;CAG5B,OAFIC,IAAO,IAAUC,IAAYJ,IAAS,IAAI,IAC1CG,KAAQH,IAAeI,IAAY,IAAIJ,IAAS,IAC7CG;AACT;AAyBA,SAAgBE,EACd,GACqB;CACrB,IAAM,CAACC,GAAUC,KAAuBC,EAAiC,GAGnEC,KAAe,MAA2B;EAC9C,EAAoBC,CAAE;EACtB,IAAMC,IAASC,EAAQ,YAAY;EACnC,AAAID,MAAW,KAAA,KAAaA,MAAWD,KAAIE,EAAQ,eAAe;CACpE,GAEMC,IAAcC,QAClBF,EAAQ,aAAa,CAAC,CAAC,MAAM,MAASG,EAAK,OAAOT,EAAS,CAAC,CAC9D;CAgBA,OAbAU,QAAmB;EACjB,IAAMC,IAAQJ,EAAY;EAC1B,AAAKI,KACLA,EAAM,QAAQ,eAAe,EAAE,OAAO,UAAU,CAAC;CACnD,CAAC,GAGDD,QAAmB;EACjB,AAAIJ,EAAQ,KAAK,MACjBL,EAAoB,KAAA,CAAS,GAC7BK,EAAQ,eAAe;CACzB,CAAC,GAEM;EACL;EACA;EACA;EACA,WAAW,GAAO;GAChB,IAAMM,IAAON,EAAQ,aAAa,GAE5BO,IAAYpB,EADGmB,EAAK,WAAW,MAASH,EAAK,OAAOT,EAAS,CAEjE,GACAJ,GACAgB,EAAK,QACLN,EAAQ,UAAU,CACpB;GACA,AAAIO,MAAc,MAClBV,EAAYS,EAAKC,EAAU,CAAE,EAAE;EACjC;EACA,aAAa;GACX,IAAMD,IAAON,EAAQ,aAAa;GAClC,EAAYM,EAAK,SAAS,IAAIA,EAAK,EAAE,CAAE,KAAK,KAAA,CAAS;EACvD;EACA,YAAY;GACV,IAAMA,IAAON,EAAQ,aAAa;GAClC,EAAYM,EAAK,SAAS,IAAIA,EAAKA,EAAK,SAAS,EAAE,CAAE,KAAK,KAAA,CAAS;EACrE;CACF;AACF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
import { ContextMenuItemEntry } from '../context-menu.types';
|
|
3
|
+
/**
|
|
4
|
+
* 浮层内的菜单项集合。
|
|
5
|
+
*
|
|
6
|
+
* 单一职责:维护"这一层里注册了哪些菜单项",并给出两种派生视图——
|
|
7
|
+
* 按 DOM 顺序排好的全部项、以及其中未禁用的项。浮层之间的父子关系、
|
|
8
|
+
* 高亮与定位都不在这里。
|
|
9
|
+
*/
|
|
10
|
+
/** 按 DOM 顺序比较两个菜单项:A 在 B 之前返回 -1,之后返回 1,同一元素返回 0 */
|
|
11
|
+
export declare function compareItemElements(a: ContextMenuItemEntry, b: ContextMenuItemEntry): number;
|
|
12
|
+
export interface ItemCollection {
|
|
13
|
+
/** 按注册时机排列的原始列表(`orderedItems` 之前的状态) */
|
|
14
|
+
items: Accessor<ContextMenuItemEntry[]>;
|
|
15
|
+
registerItem: (entry: ContextMenuItemEntry) => () => void;
|
|
16
|
+
/**
|
|
17
|
+
* 按 DOM 顺序排序后的列表。
|
|
18
|
+
* 调用方常用 `<For>` 动态生成菜单项,注册顺序与实际渲染顺序可能不同,
|
|
19
|
+
* 而"上一项/下一项"必须按用户看到的顺序走。
|
|
20
|
+
*/
|
|
21
|
+
orderedItems: Accessor<ContextMenuItemEntry[]>;
|
|
22
|
+
/** 可参与键盘导航的项(排除 disabled) */
|
|
23
|
+
enabledItems: Accessor<ContextMenuItemEntry[]>;
|
|
24
|
+
}
|
|
25
|
+
export declare function createItemCollection(): ItemCollection;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { createMemo as e, createSignal as t } from "solid-js";
|
|
2
|
+
//#region src/components/context-menu/ContextMenuContent/context-menu.popup-items.ts
|
|
3
|
+
function n(e, t) {
|
|
4
|
+
return e.element === t.element ? 0 : e.element.compareDocumentPosition(t.element) & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;
|
|
5
|
+
}
|
|
6
|
+
function r() {
|
|
7
|
+
let [r, i] = t([]), a = e(() => [...r()].sort(n));
|
|
8
|
+
return {
|
|
9
|
+
items: r,
|
|
10
|
+
orderedItems: a,
|
|
11
|
+
enabledItems: e(() => a().filter((e) => !e.disabled())),
|
|
12
|
+
registerItem(e) {
|
|
13
|
+
return i((t) => [...t, e]), () => i((t) => t.filter((t) => t.id !== e.id));
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
//#endregion
|
|
18
|
+
export { n as compareItemElements, r as createItemCollection };
|
|
19
|
+
|
|
20
|
+
//# sourceMappingURL=context-menu.popup-items.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-menu.popup-items.js","names":["compareItemElements","a","b","createItemCollection","items","setItems","createSignal","orderedItems","createMemo","item","list","entry","it"],"sources":["../../../../src/components/context-menu/ContextMenuContent/context-menu.popup-items.ts"],"sourcesContent":["import { createMemo, createSignal, type Accessor } from \"solid-js\";\nimport type { ContextMenuItemEntry } from \"../context-menu.types\";\n\n/**\n * 浮层内的菜单项集合。\n *\n * 单一职责:维护\"这一层里注册了哪些菜单项\",并给出两种派生视图——\n * 按 DOM 顺序排好的全部项、以及其中未禁用的项。浮层之间的父子关系、\n * 高亮与定位都不在这里。\n */\n\n/** 按 DOM 顺序比较两个菜单项:A 在 B 之前返回 -1,之后返回 1,同一元素返回 0 */\nexport function compareItemElements(\n a: ContextMenuItemEntry,\n b: ContextMenuItemEntry,\n): number {\n if (a.element === b.element) return 0;\n const relation = a.element.compareDocumentPosition(b.element);\n return relation & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : 1;\n}\n\nexport interface ItemCollection {\n /** 按注册时机排列的原始列表(`orderedItems` 之前的状态) */\n items: Accessor<ContextMenuItemEntry[]>;\n registerItem: (entry: ContextMenuItemEntry) => () => void;\n /**\n * 按 DOM 顺序排序后的列表。\n * 调用方常用 `<For>` 动态生成菜单项,注册顺序与实际渲染顺序可能不同,\n * 而\"上一项/下一项\"必须按用户看到的顺序走。\n */\n orderedItems: Accessor<ContextMenuItemEntry[]>;\n /** 可参与键盘导航的项(排除 disabled) */\n enabledItems: Accessor<ContextMenuItemEntry[]>;\n}\n\nexport function createItemCollection(): ItemCollection {\n const [items, setItems] = createSignal<ContextMenuItemEntry[]>([]);\n\n const orderedItems = createMemo(() => [...items()].sort(compareItemElements));\n\n return {\n items,\n orderedItems,\n enabledItems: createMemo(() =>\n orderedItems().filter((item) => !item.disabled()),\n ),\n registerItem(entry) {\n setItems((list) => [...list, entry]);\n return () => setItems((list) => list.filter((it) => it.id !== entry.id));\n },\n };\n}\n"],"mappings":";;AAYA,SAAgBA,EACd,GACA,GACQ;CAGR,OAFIC,EAAE,YAAYC,EAAE,UAAgB,IACnBD,EAAE,QAAQ,wBAAwBC,EAAE,OAC9C,IAAW,KAAK,8BAA8B,KAAK;AAC5D;AAgBA,SAAgBC,IAAuC;CACrD,IAAM,CAACC,GAAOC,KAAYC,EAAqC,CAAC,CAAC,GAE3DC,IAAeC,QAAiB,CAAC,GAAGJ,EAAM,CAAC,CAAC,CAAC,KAAKJ,CAAmB,CAAC;CAE5E,OAAO;EACL;EACA;EACA,cAAcQ,QACZD,EAAa,CAAC,CAAC,QAAQ,MAAS,CAACE,EAAK,SAAS,CAAC,CAClD;EACA,aAAa,GAAO;GAElB,OADAJ,GAAU,MAAS,CAAC,GAAGK,GAAMC,CAAK,CAAC,SACtBN,GAAU,MAASK,EAAK,QAAQ,MAAOE,EAAG,OAAOD,EAAM,EAAE,CAAC;EACzE;CACF;AACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
import { Placement, Positioner, ReferenceElement } from '../../../lib';
|
|
3
|
+
import { ContextMenuAlign, ContextMenuSide } from '../context-menu.types';
|
|
4
|
+
export interface PopupPositionerOptions {
|
|
5
|
+
/** 定位锚点:根菜单是鼠标坐标的虚拟元素,子菜单是子菜单触发器 */
|
|
6
|
+
reference: Accessor<ReferenceElement | undefined>;
|
|
7
|
+
/** 负责定位的外层元素 */
|
|
8
|
+
positionerElement: Accessor<HTMLElement | undefined>;
|
|
9
|
+
side: Accessor<ContextMenuSide>;
|
|
10
|
+
align: Accessor<ContextMenuAlign>;
|
|
11
|
+
dir: Accessor<"ltr" | "rtl" | "auto" | undefined>;
|
|
12
|
+
sideOffset: Accessor<number>;
|
|
13
|
+
alignOffset: Accessor<number>;
|
|
14
|
+
collisionPadding: Accessor<number>;
|
|
15
|
+
}
|
|
16
|
+
export interface PopupPositioner {
|
|
17
|
+
pos: Positioner;
|
|
18
|
+
availableHeight: Accessor<number | undefined>;
|
|
19
|
+
placement: Accessor<Placement>;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* 浮层的定位配置。
|
|
23
|
+
*
|
|
24
|
+
* 单一职责:把 `side` / `align` / 偏移 / 碰撞内边距这些 props 翻译成
|
|
25
|
+
* middleware 组合(offset → flip → shift → size → hide → containingBlockOffset),
|
|
26
|
+
* 并把 size 中间件算出的可用高度暴露给调用方(用于 max-height 滚动)。
|
|
27
|
+
*
|
|
28
|
+
* `containingBlockOffset` 放在最后:Portal 里的浮层相对视口定位,
|
|
29
|
+
* 但祖先若有 `transform`,fixed 定位的参考系会变,需要补上这段偏移。
|
|
30
|
+
*/
|
|
31
|
+
export declare function createPopupPositioner(options: PopupPositionerOptions): PopupPositioner;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createPositioner as e } from "../../../lib/positioner/create-positioner.js";
|
|
2
|
+
import { offset as t } from "../../../lib/positioner/middleware/offset.js";
|
|
3
|
+
import { shift as n } from "../../../lib/positioner/middleware/shift.js";
|
|
4
|
+
import { flip as r } from "../../../lib/positioner/middleware/flip.js";
|
|
5
|
+
import { size as i } from "../../../lib/positioner/middleware/size.js";
|
|
6
|
+
import { hide as a } from "../../../lib/positioner/middleware/hide.js";
|
|
7
|
+
import { containingBlockOffset as o } from "../../../lib/positioner/middleware/containing-block-offset.js";
|
|
8
|
+
import { toContextMenuPlacement as s } from "../context-menu.utils.js";
|
|
9
|
+
import { createSignal as c } from "solid-js";
|
|
10
|
+
//#region src/components/context-menu/ContextMenuContent/context-menu.positioner.ts
|
|
11
|
+
function l(l) {
|
|
12
|
+
let [u, d] = c(), f = e(l.reference, l.positionerElement, {
|
|
13
|
+
placement: () => s(l.side(), l.align(), l.dir()),
|
|
14
|
+
strategy: "fixed",
|
|
15
|
+
middleware: () => [
|
|
16
|
+
t({
|
|
17
|
+
mainAxis: l.sideOffset(),
|
|
18
|
+
crossAxis: l.alignOffset()
|
|
19
|
+
}),
|
|
20
|
+
r(),
|
|
21
|
+
n({ padding: l.collisionPadding() }),
|
|
22
|
+
i({
|
|
23
|
+
padding: l.collisionPadding(),
|
|
24
|
+
apply: ({ availableHeight: e }) => d(e)
|
|
25
|
+
}),
|
|
26
|
+
a(),
|
|
27
|
+
o()
|
|
28
|
+
]
|
|
29
|
+
});
|
|
30
|
+
return {
|
|
31
|
+
pos: f,
|
|
32
|
+
availableHeight: u,
|
|
33
|
+
placement: f.placement
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
//#endregion
|
|
37
|
+
export { l as createPopupPositioner };
|
|
38
|
+
|
|
39
|
+
//# sourceMappingURL=context-menu.positioner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-menu.positioner.js","names":["createPopupPositioner","availableHeight","setAvailableHeight","createSignal","pos","createPositioner","options","toContextMenuPlacement","offset","flip","shift","size","hide","containingBlockOffset"],"sources":["../../../../src/components/context-menu/ContextMenuContent/context-menu.positioner.ts"],"sourcesContent":["import { createSignal, type Accessor } from \"solid-js\";\nimport {\n containingBlockOffset,\n createPositioner,\n flip,\n hide,\n offset,\n shift,\n size,\n type Placement,\n type Positioner,\n type ReferenceElement,\n} from \"~/lib\";\nimport type { ContextMenuAlign, ContextMenuSide } from \"../context-menu.types\";\nimport { toContextMenuPlacement } from \"../context-menu.utils\";\n\nexport interface PopupPositionerOptions {\n /** 定位锚点:根菜单是鼠标坐标的虚拟元素,子菜单是子菜单触发器 */\n reference: Accessor<ReferenceElement | undefined>;\n /** 负责定位的外层元素 */\n positionerElement: Accessor<HTMLElement | undefined>;\n side: Accessor<ContextMenuSide>;\n align: Accessor<ContextMenuAlign>;\n dir: Accessor<\"ltr\" | \"rtl\" | \"auto\" | undefined>;\n sideOffset: Accessor<number>;\n alignOffset: Accessor<number>;\n collisionPadding: Accessor<number>;\n}\n\nexport interface PopupPositioner {\n pos: Positioner;\n availableHeight: Accessor<number | undefined>;\n placement: Accessor<Placement>;\n}\n\n/**\n * 浮层的定位配置。\n *\n * 单一职责:把 `side` / `align` / 偏移 / 碰撞内边距这些 props 翻译成\n * middleware 组合(offset → flip → shift → size → hide → containingBlockOffset),\n * 并把 size 中间件算出的可用高度暴露给调用方(用于 max-height 滚动)。\n *\n * `containingBlockOffset` 放在最后:Portal 里的浮层相对视口定位,\n * 但祖先若有 `transform`,fixed 定位的参考系会变,需要补上这段偏移。\n */\nexport function createPopupPositioner(\n options: PopupPositionerOptions,\n): PopupPositioner {\n const [availableHeight, setAvailableHeight] = createSignal<number>();\n\n const pos = createPositioner(options.reference, options.positionerElement, {\n placement: () =>\n toContextMenuPlacement(options.side(), options.align(), options.dir()),\n strategy: \"fixed\",\n middleware: () => [\n offset({\n mainAxis: options.sideOffset(),\n crossAxis: options.alignOffset(),\n }),\n flip(),\n shift({ padding: options.collisionPadding() }),\n size({\n padding: options.collisionPadding(),\n apply: ({ availableHeight }) => setAvailableHeight(availableHeight),\n }),\n hide(),\n containingBlockOffset(),\n ],\n });\n\n return { pos, availableHeight, placement: pos.placement };\n}\n"],"mappings":";;;;;;;;;;AA6CA,SAAgBA,EACd,GACiB;CACjB,IAAM,CAACC,GAAiBC,KAAsBC,EAAqB,GAE7DC,IAAMC,EAAiBC,EAAQ,WAAWA,EAAQ,mBAAmB;EACzE,iBACEC,EAAuBD,EAAQ,KAAK,GAAGA,EAAQ,MAAM,GAAGA,EAAQ,IAAI,CAAC;EACvE,UAAU;EACV,kBAAkB;GAChBE,EAAO;IACL,UAAUF,EAAQ,WAAW;IAC7B,WAAWA,EAAQ,YAAY;GACjC,CAAC;GACDG,EAAK;GACLC,EAAM,EAAE,SAASJ,EAAQ,iBAAiB,EAAE,CAAC;GAC7CK,EAAK;IACH,SAASL,EAAQ,iBAAiB;IAClC,QAAQ,EAAE,yBAAsBJ,EAAmBD,CAAe;GACpE,CAAC;GACDW,EAAK;GACLC,EAAsB;EACxB;CACF,CAAC;CAED,OAAO;EAAE;EAAK;EAAiB,WAAWT,EAAI;CAAU;AAC1D"}
|