@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
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
//#region src/components/questionnaire/questionnaire.utils.ts
|
|
2
|
+
function e(e) {
|
|
3
|
+
return Array.isArray(e) ? e.some((e) => String(e).trim().length > 0) : e != null && String(e).trim().length > 0;
|
|
4
|
+
}
|
|
5
|
+
function t(e) {
|
|
6
|
+
return e === "letters" ? Array.from({ length: 26 }, (e, t) => String.fromCharCode(65 + t)) : e === "numbers" ? Array.from({ length: 9 }, (e, t) => String(t + 1)) : [];
|
|
7
|
+
}
|
|
8
|
+
function n(e, n) {
|
|
9
|
+
let r = n === "letters" ? e.toUpperCase() : e;
|
|
10
|
+
return t(n).includes(r) ? r : null;
|
|
11
|
+
}
|
|
12
|
+
function r(e, t) {
|
|
13
|
+
return [e, t ? "Enter" : null].filter(Boolean).join(" ") || void 0;
|
|
14
|
+
}
|
|
15
|
+
function i(t) {
|
|
16
|
+
return t.type === "choice" ? t.element.checked : t.element.hasAttribute("name") && e(t.element.value);
|
|
17
|
+
}
|
|
18
|
+
function a(e) {
|
|
19
|
+
return e instanceof HTMLTextAreaElement || e instanceof HTMLSelectElement ? !0 : e instanceof HTMLInputElement ? ![
|
|
20
|
+
"button",
|
|
21
|
+
"checkbox",
|
|
22
|
+
"radio",
|
|
23
|
+
"reset",
|
|
24
|
+
"submit"
|
|
25
|
+
].includes(e.type) : e instanceof HTMLElement && e.isContentEditable;
|
|
26
|
+
}
|
|
27
|
+
function o(e) {
|
|
28
|
+
return e instanceof HTMLInputElement && e.type === "radio";
|
|
29
|
+
}
|
|
30
|
+
function s(e, t) {
|
|
31
|
+
if (e === t || !e.isConnected || !t.isConnected) return 0;
|
|
32
|
+
let n = e.compareDocumentPosition(t);
|
|
33
|
+
return n & Node.DOCUMENT_POSITION_FOLLOWING ? -1 : n & Node.DOCUMENT_POSITION_PRECEDING ? 1 : 0;
|
|
34
|
+
}
|
|
35
|
+
function c(e) {
|
|
36
|
+
return e.disabled || e.element.disabled;
|
|
37
|
+
}
|
|
38
|
+
//#endregion
|
|
39
|
+
export { s as compareDocumentOrder, e as hasText, c as isAnswerDisabled, i as isAnswerFilled, o as isNativeRadio, a as isTypingElement, r as keyShortcutText, n as normalizeShortcut, t as shortcutAlphabet };
|
|
40
|
+
|
|
41
|
+
//# sourceMappingURL=questionnaire.utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questionnaire.utils.js","names":["hasText","value","item","shortcutAlphabet","mode","index","normalizeShortcut","normalized","key","keyShortcutText","shortcut","enterEnabled","isAnswerFilled","entry","isTypingElement","element","isNativeRadio","compareDocumentOrder","a","b","position","isAnswerDisabled"],"sources":["../../../src/components/questionnaire/questionnaire.utils.ts"],"sourcesContent":["import type { QuestionnaireShortcutMode } from \"./questionnaire.types\";\n\n/** 字符串/数组是否含有非空白内容(与上游 ce 一致) */\nexport function hasText(value: unknown): boolean {\n if (Array.isArray(value)) {\n return value.some((item) => String(item).trim().length > 0);\n }\n return value != null && String(value).trim().length > 0;\n}\n\n/** 按模式生成快捷键字母表:letters = A..Z,numbers = 1..9 */\nexport function shortcutAlphabet(\n mode: QuestionnaireShortcutMode | null,\n): string[] {\n if (mode === \"letters\") {\n return Array.from({ length: 26 }, (_, index) =>\n String.fromCharCode(65 + index),\n );\n }\n if (mode === \"numbers\") {\n return Array.from({ length: 9 }, (_, index) => String(index + 1));\n }\n return [];\n}\n\n/** 把按下的键规范成快捷键(字母大小写无关),不匹配返回 null */\nexport function normalizeShortcut(\n key: string,\n mode: QuestionnaireShortcutMode | null,\n): string | null {\n const normalized = mode === \"letters\" ? key.toUpperCase() : key;\n return shortcutAlphabet(mode).includes(normalized) ? normalized : null;\n}\n\n/** 拼 aria-keyshortcuts:有启用状态时额外附上 Enter */\nexport function keyShortcutText(\n shortcut: string | null,\n enterEnabled: boolean,\n): string | undefined {\n return (\n [shortcut, enterEnabled ? \"Enter\" : null].filter(Boolean).join(\" \") ||\n undefined\n );\n}\n\n/** 判断答案控件当前是否有值(choice 看 checked,input 看 name+value) */\nexport function isAnswerFilled(entry: {\n type: \"choice\" | \"input\";\n element: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;\n}): boolean {\n if (entry.type === \"choice\") {\n return (entry.element as HTMLInputElement).checked;\n }\n return entry.element.hasAttribute(\"name\") && hasText(entry.element.value);\n}\n\n/** 文本类输入框为空(用于原生校验) */\nexport function isTextInputEmpty(entry: {\n type: \"choice\" | \"input\";\n element: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;\n}): boolean {\n return (\n entry.type === \"input\" &&\n [\"email\", \"password\", \"search\", \"tel\", \"text\", \"url\"].includes(\n entry.element.type,\n ) &&\n !hasText(entry.element.value)\n );\n}\n\n/** 是否为可输入文本的控件(用于决定方向键是否应当导航而非移动焦点) */\nexport function isTypingElement(element: EventTarget | null): boolean {\n if (element instanceof HTMLTextAreaElement) return true;\n if (element instanceof HTMLSelectElement) return true;\n if (element instanceof HTMLInputElement) {\n return ![\"button\", \"checkbox\", \"radio\", \"reset\", \"submit\"].includes(\n element.type,\n );\n }\n return element instanceof HTMLElement && element.isContentEditable;\n}\n\nexport function isNativeRadio(element: EventTarget | null): boolean {\n return element instanceof HTMLInputElement && element.type === \"radio\";\n}\n\n/**\n * 按文档顺序比较两个元素。\n *\n * **只在两个元素都连在文档里时**才比较:`QuestionnaireItem` 是在 ref 里注册的,\n * 而 Solid 的 ref 在节点插入文档**之前**触发,此刻 fieldset 还是分离节点。\n * 分离节点的 `compareDocumentPosition` 返回的是「实现相关」的 FOLLOWING/\n * PRECEDING(jsdom 恒为 FOLLOWING),据此排序会把题目顺序整体颠倒。\n * 这种情况返回 0(视为等价),由调用方回退到注册顺序。\n */\nexport function compareDocumentOrder(a: Element, b: Element): number {\n if (a === b) return 0;\n if (!a.isConnected || !b.isConnected) return 0;\n const position = a.compareDocumentPosition(b);\n if (position & Node.DOCUMENT_POSITION_FOLLOWING) return -1;\n if (position & Node.DOCUMENT_POSITION_PRECEDING) return 1;\n return 0;\n}\n\n/**\n * 答案是否处于禁用态:组件层标记(`disabled` prop)或原生控件自身禁用。\n * 判定被\"状态推导 / 焦点移动 / 校验\"共用,因此集中在这里。\n */\nexport function isAnswerDisabled(entry: {\n disabled: boolean;\n element: HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;\n}): boolean {\n return entry.disabled || entry.element.disabled;\n}\n"],"mappings":";AAGA,SAAgBA,EAAQ,GAAyB;CAI/C,OAHI,MAAM,QAAQC,CAAK,IACdA,EAAM,MAAM,MAAS,OAAOC,CAAI,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,IAErDD,KAAS,QAAQ,OAAOA,CAAK,CAAC,CAAC,KAAK,CAAC,CAAC,SAAS;AACxD;AAGA,SAAgBE,EACd,GACU;CASV,OARIC,MAAS,YACJ,MAAM,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,MACpC,OAAO,aAAa,KAAKC,CAAK,CAChC,IAEED,MAAS,YACJ,MAAM,KAAK,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAU,OAAOC,IAAQ,CAAC,CAAC,IAE3D,CAAC;AACV;AAGA,SAAgBC,EACd,GACA,GACe;CACf,IAAMC,IAAaH,MAAS,YAAYI,EAAI,YAAY,IAAIA;CAC5D,OAAOL,EAAiBC,CAAI,CAAC,CAAC,SAASG,CAAU,IAAIA,IAAa;AACpE;AAGA,SAAgBE,EACd,GACA,GACoB;CACpB,OACE,CAACC,GAAUC,IAAe,UAAU,IAAI,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG,KAClE,KAAA;AAEJ;AAGA,SAAgBC,EAAe,GAGnB;CAIV,OAHIC,EAAM,SAAS,WACTA,EAAM,QAA6B,UAEtCA,EAAM,QAAQ,aAAa,MAAM,KAAKb,EAAQa,EAAM,QAAQ,KAAK;AAC1E;AAiBA,SAAgBC,EAAgB,GAAsC;CAQpE,OAPIC,aAAmB,uBACnBA,aAAmB,oBAA0B,KAC7CA,aAAmB,mBACd,CAAC;EAAC;EAAU;EAAY;EAAS;EAAS;CAAQ,CAAC,CAAC,SACzDA,EAAQ,IACV,IAEKA,aAAmB,eAAeA,EAAQ;AACnD;AAEA,SAAgBC,EAAc,GAAsC;CAClE,OAAOD,aAAmB,oBAAoBA,EAAQ,SAAS;AACjE;AAWA,SAAgBE,EAAqB,GAAY,GAAoB;CAEnE,IADIC,MAAMC,KACN,CAACD,EAAE,eAAe,CAACC,EAAE,aAAa,OAAO;CAC7C,IAAMC,IAAWF,EAAE,wBAAwBC,CAAC;CAG5C,OAFIC,IAAW,KAAK,8BAAoC,KACpDA,IAAW,KAAK,8BAAoC,IACjD;AACT;AAMA,SAAgBC,EAAiB,GAGrB;CACV,OAAOR,EAAM,YAAYA,EAAM,QAAQ;AACzC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { QuestionnaireAnswerEntry } from './questionnaire.context';
|
|
2
|
+
import { QuestionnaireItemStatus } from './questionnaire.types';
|
|
3
|
+
/**
|
|
4
|
+
* 题目校验的判定。
|
|
5
|
+
*
|
|
6
|
+
* 单一职责:回答"这一题现在算不算无效""它是否满足要求""哪个原生控件先报错"。
|
|
7
|
+
* 全部是纯函数——焦点与 `reportValidity` 这类副作用留给调用方,
|
|
8
|
+
* 因此每条分支都能脱离 DOM 单独断言。
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* 是否展示错误态:
|
|
12
|
+
* - 禁用的题目永远不报错;
|
|
13
|
+
* - 已跳过的题目不报错;
|
|
14
|
+
* - 显式传入的 `invalid` 优先(受控);
|
|
15
|
+
* - 否则只在**用户交互过**之后才报错,且满足要求时不报错。
|
|
16
|
+
*
|
|
17
|
+
* 注:进入这里时 `skippable` 必为 false(上面的条件已排除),
|
|
18
|
+
* 表达式里的 `skippable` 是迁移前就有的冗余分支,保留以维持原语义。
|
|
19
|
+
*/
|
|
20
|
+
export declare function resolveItemInvalid(input: {
|
|
21
|
+
disabled: boolean;
|
|
22
|
+
invalid: boolean;
|
|
23
|
+
skippable: boolean;
|
|
24
|
+
touched: boolean;
|
|
25
|
+
answeredOk: boolean;
|
|
26
|
+
}): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* 是否满足要求:
|
|
29
|
+
* - 禁用视为满足;
|
|
30
|
+
* - 已跳过且非必填视为满足;
|
|
31
|
+
* - 否则必须已作答且没有外部传入的 invalid。
|
|
32
|
+
*/
|
|
33
|
+
export declare function isItemSatisfied(input: {
|
|
34
|
+
disabled: boolean;
|
|
35
|
+
status: QuestionnaireItemStatus;
|
|
36
|
+
required: boolean;
|
|
37
|
+
invalid: boolean;
|
|
38
|
+
}): boolean;
|
|
39
|
+
/**
|
|
40
|
+
* 找出第一个"有值且原生校验不通过"的答案控件。
|
|
41
|
+
* 只有它参与原生报错——空控件交给自定义校验,避免必填项的浏览器气泡到处弹。
|
|
42
|
+
*/
|
|
43
|
+
export declare function findNativeInvalidAnswer(answers: readonly QuestionnaireAnswerEntry[]): QuestionnaireAnswerEntry | undefined;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { isAnswerFilled as e } from "./questionnaire.utils.js";
|
|
2
|
+
//#region src/components/questionnaire/questionnaire.validation.ts
|
|
3
|
+
function t(e) {
|
|
4
|
+
let { disabled: t, invalid: n, skippable: r, touched: i, answeredOk: a } = e;
|
|
5
|
+
return t || r ? !1 : n ? !0 : i && !(r || !n && a);
|
|
6
|
+
}
|
|
7
|
+
function n(e) {
|
|
8
|
+
let { disabled: t, status: n, required: r, invalid: i } = e;
|
|
9
|
+
return t || n === "skipped" && !r ? !0 : !i && n === "answered";
|
|
10
|
+
}
|
|
11
|
+
function r(t) {
|
|
12
|
+
return t.find((t) => e(t) && t.element.willValidate && !t.element.validity.valid);
|
|
13
|
+
}
|
|
14
|
+
//#endregion
|
|
15
|
+
export { r as findNativeInvalidAnswer, n as isItemSatisfied, t as resolveItemInvalid };
|
|
16
|
+
|
|
17
|
+
//# sourceMappingURL=questionnaire.validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"questionnaire.validation.js","names":["resolveItemInvalid","input","disabled","skippable","invalid","touched","answeredOk","isItemSatisfied","status","required","findNativeInvalidAnswer","answers","isAnswerFilled","entry"],"sources":["../../../src/components/questionnaire/questionnaire.validation.ts"],"sourcesContent":["import type { QuestionnaireAnswerEntry } from \"./questionnaire.context\";\nimport type { QuestionnaireItemStatus } from \"./questionnaire.types\";\nimport { isAnswerFilled } from \"./questionnaire.utils\";\n\n/**\n * 题目校验的判定。\n *\n * 单一职责:回答\"这一题现在算不算无效\"\"它是否满足要求\"\"哪个原生控件先报错\"。\n * 全部是纯函数——焦点与 `reportValidity` 这类副作用留给调用方,\n * 因此每条分支都能脱离 DOM 单独断言。\n */\n\n/**\n * 是否展示错误态:\n * - 禁用的题目永远不报错;\n * - 已跳过的题目不报错;\n * - 显式传入的 `invalid` 优先(受控);\n * - 否则只在**用户交互过**之后才报错,且满足要求时不报错。\n *\n * 注:进入这里时 `skippable` 必为 false(上面的条件已排除),\n * 表达式里的 `skippable` 是迁移前就有的冗余分支,保留以维持原语义。\n */\nexport function resolveItemInvalid(input: {\n disabled: boolean;\n invalid: boolean;\n skippable: boolean;\n touched: boolean;\n answeredOk: boolean;\n}): boolean {\n const { disabled, invalid, skippable, touched, answeredOk } = input;\n if (disabled || skippable) return false;\n if (invalid) return true;\n return touched && !(skippable || (!invalid && answeredOk));\n}\n\n/**\n * 是否满足要求:\n * - 禁用视为满足;\n * - 已跳过且非必填视为满足;\n * - 否则必须已作答且没有外部传入的 invalid。\n */\nexport function isItemSatisfied(input: {\n disabled: boolean;\n status: QuestionnaireItemStatus;\n required: boolean;\n invalid: boolean;\n}): boolean {\n const { disabled, status, required, invalid } = input;\n if (disabled) return true;\n if (status === \"skipped\" && !required) return true;\n return !invalid && status === \"answered\";\n}\n\n/**\n * 找出第一个\"有值且原生校验不通过\"的答案控件。\n * 只有它参与原生报错——空控件交给自定义校验,避免必填项的浏览器气泡到处弹。\n */\nexport function findNativeInvalidAnswer(\n answers: readonly QuestionnaireAnswerEntry[],\n): QuestionnaireAnswerEntry | undefined {\n return answers.find(\n (entry) =>\n isAnswerFilled(entry) &&\n entry.element.willValidate &&\n !entry.element.validity.valid,\n );\n}\n"],"mappings":";;AAsBA,SAAgBA,EAAmB,GAMvB;CACV,IAAM,EAAE,aAAU,YAAS,cAAW,YAAS,kBAAeC;CAG9D,OAFIC,KAAYC,IAAkB,KAC9BC,IAAgB,KACbC,KAAW,EAAEF,KAAc,CAACC,KAAWE;AAChD;AAQA,SAAgBC,EAAgB,GAKpB;CACV,IAAM,EAAE,aAAU,WAAQ,aAAU,eAAYN;CAGhD,OAFIC,KACAM,MAAW,aAAa,CAACC,IAAiB,KACvC,CAACL,KAAWI,MAAW;AAChC;AAMA,SAAgBE,EACd,GACsC;CACtC,OAAOC,EAAQ,MACZ,MACCC,EAAeC,CAAK,KACpBA,EAAM,QAAQ,gBACd,CAACA,EAAM,QAAQ,SAAS,KAC5B;AACF"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
import { QuestionnaireItemContextValue } from './questionnaire.context';
|
|
3
|
+
interface Options {
|
|
4
|
+
name: string;
|
|
5
|
+
required: Accessor<boolean>;
|
|
6
|
+
multiple: Accessor<boolean>;
|
|
7
|
+
disabled: Accessor<boolean>;
|
|
8
|
+
invalid: Accessor<boolean>;
|
|
9
|
+
}
|
|
10
|
+
export interface QuestionnaireItemDomProps {
|
|
11
|
+
"aria-describedby": string | undefined;
|
|
12
|
+
"aria-invalid": boolean | undefined;
|
|
13
|
+
"aria-keyshortcuts": string | undefined;
|
|
14
|
+
disabled: boolean;
|
|
15
|
+
hidden: boolean;
|
|
16
|
+
inert: boolean;
|
|
17
|
+
tabIndex: number;
|
|
18
|
+
}
|
|
19
|
+
export interface UseQuestionnaireItemResult {
|
|
20
|
+
context: QuestionnaireItemContextValue;
|
|
21
|
+
/** 反应式:每次读取都根据当前 active/invalid 重新计算 */
|
|
22
|
+
itemProps: () => QuestionnaireItemDomProps;
|
|
23
|
+
describedBy: () => string | undefined;
|
|
24
|
+
keyshortcuts: () => string | undefined;
|
|
25
|
+
/** 在 fieldset 的 ref 里调用:登记 DOM 元素并把句柄注册到 Root */
|
|
26
|
+
registerElement: (element: HTMLElement) => () => void;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 单个题目的状态:答案注册与选中、跳过、校验、快捷键,以及给 Root 的句柄。
|
|
30
|
+
*/
|
|
31
|
+
export declare function useQuestionnaireItem(options: Options): UseQuestionnaireItemResult;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { useQuestionnaireRootContext as e } from "./questionnaire.context.js";
|
|
2
|
+
import { buildDescribedBy as t, buildItemKeyshortcuts as n, createIdRegistry as r } from "./questionnaire.aria.js";
|
|
3
|
+
import { createAnswerBookkeeping as i } from "./questionnaire.answers.js";
|
|
4
|
+
import { focusItem as a, moveAnswerFocus as o } from "./questionnaire.focus.js";
|
|
5
|
+
import { buildShortcutByAnswerId as s, buildShortcutByChoiceValue as c, findAnswerByShortcut as l } from "./questionnaire.shortcuts.js";
|
|
6
|
+
import { findNativeInvalidAnswer as u, isItemSatisfied as d, resolveItemInvalid as f } from "./questionnaire.validation.js";
|
|
7
|
+
import { createMemo as p, createSignal as m } from "solid-js";
|
|
8
|
+
//#region src/components/questionnaire/useQuestionnaireItem.ts
|
|
9
|
+
function h(h) {
|
|
10
|
+
let g = e("QuestionnaireItem"), [_, v] = m(), y = i({
|
|
11
|
+
multiple: h.multiple,
|
|
12
|
+
required: h.required
|
|
13
|
+
}), { answers: b, selections: x, touched: S, resetVersion: C, status: w, skippable: T, answeredOk: E, hasInputAnswer: D, registerAnswerControl: O, registerAnswerSelection: k, setAnswerDefault: A, setAnswerSelectionFromInteraction: j, syncControlledAnswerSelection: M, getAnswerByElement: N } = y, P = r(), F = r(), I = p(() => g.activeItemName() === h.name), L = p(() => f({
|
|
14
|
+
disabled: h.disabled(),
|
|
15
|
+
invalid: h.invalid(),
|
|
16
|
+
skippable: T(),
|
|
17
|
+
touched: S(),
|
|
18
|
+
answeredOk: E()
|
|
19
|
+
})), R = () => a(_()), z = () => {
|
|
20
|
+
if (y.markTouched(), !d({
|
|
21
|
+
disabled: h.disabled(),
|
|
22
|
+
status: w(),
|
|
23
|
+
required: h.required(),
|
|
24
|
+
invalid: h.invalid()
|
|
25
|
+
})) return !1;
|
|
26
|
+
if (!g.nativeValidation()) return !0;
|
|
27
|
+
let e = u(b());
|
|
28
|
+
return !e || (e.element.focus(), e.element.reportValidity(), !1);
|
|
29
|
+
}, B = p(() => c(g.itemDefinitions()?.get(h.name), g.shortcuts())), V = p(() => s(b(), B() !== null, g.shortcuts())), H = (e) => l(e, {
|
|
30
|
+
byChoiceValue: B(),
|
|
31
|
+
byAnswerId: V(),
|
|
32
|
+
answers: b()
|
|
33
|
+
}), U = (e, t) => o({
|
|
34
|
+
scope: _(),
|
|
35
|
+
target: e,
|
|
36
|
+
direction: t,
|
|
37
|
+
answers: b()
|
|
38
|
+
}), W = () => t(P.ids(), F.ids(), L()), G = () => n({
|
|
39
|
+
active: I(),
|
|
40
|
+
hasAnswers: b().length > 0,
|
|
41
|
+
first: g.state().first,
|
|
42
|
+
last: g.state().last,
|
|
43
|
+
status: w()
|
|
44
|
+
});
|
|
45
|
+
return {
|
|
46
|
+
context: {
|
|
47
|
+
name: h.name,
|
|
48
|
+
active: I,
|
|
49
|
+
disabled: h.disabled,
|
|
50
|
+
invalid: L,
|
|
51
|
+
multiple: h.multiple,
|
|
52
|
+
required: h.required,
|
|
53
|
+
status: w,
|
|
54
|
+
hasInputAnswer: D,
|
|
55
|
+
selectedAnswerIds: x,
|
|
56
|
+
resetVersion: C,
|
|
57
|
+
shortcutByAnswerId: V,
|
|
58
|
+
shortcutByChoiceValue: B,
|
|
59
|
+
shortcuts: g.shortcuts,
|
|
60
|
+
registerAnswerControl: O,
|
|
61
|
+
registerAnswerSelection: k,
|
|
62
|
+
registerDescription: P.register,
|
|
63
|
+
registerError: F.register,
|
|
64
|
+
setAnswerDefault: A,
|
|
65
|
+
setAnswerSelectionFromInteraction: j,
|
|
66
|
+
syncControlledAnswerSelection: M
|
|
67
|
+
},
|
|
68
|
+
itemProps: () => ({
|
|
69
|
+
"aria-describedby": W(),
|
|
70
|
+
"aria-invalid": L() || void 0,
|
|
71
|
+
"aria-keyshortcuts": G(),
|
|
72
|
+
disabled: h.disabled(),
|
|
73
|
+
hidden: !I(),
|
|
74
|
+
inert: !I(),
|
|
75
|
+
tabIndex: -1
|
|
76
|
+
}),
|
|
77
|
+
registerElement: (e) => {
|
|
78
|
+
v(e);
|
|
79
|
+
let t = {
|
|
80
|
+
name: h.name,
|
|
81
|
+
element: e,
|
|
82
|
+
disabled: h.disabled,
|
|
83
|
+
required: h.required,
|
|
84
|
+
status: w,
|
|
85
|
+
validate: z,
|
|
86
|
+
focus: R,
|
|
87
|
+
focusInvalid: R,
|
|
88
|
+
skip: y.skip,
|
|
89
|
+
reset: y.reset,
|
|
90
|
+
getAnswerByElement: N,
|
|
91
|
+
getAnswerByShortcut: H,
|
|
92
|
+
moveAnswerFocus: U
|
|
93
|
+
};
|
|
94
|
+
return g.registerItem(t);
|
|
95
|
+
},
|
|
96
|
+
describedBy: W,
|
|
97
|
+
keyshortcuts: G
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
//#endregion
|
|
101
|
+
export { h as useQuestionnaireItem };
|
|
102
|
+
|
|
103
|
+
//# sourceMappingURL=useQuestionnaireItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQuestionnaireItem.js","names":["moveAnswerFocus","moveAnswerFocusInItem","useQuestionnaireItem","root","useQuestionnaireRootContext","element","setElement","createSignal","book","createAnswerBookkeeping","options","descriptions","createIdRegistry","errors","active","createMemo","invalid","resolveItemInvalid","skippable","touched","answeredOk","focus","focusItem","validate","isItemSatisfied","status","answer","findNativeInvalidAnswer","answers","shortcutByChoiceValue","buildShortcutByChoiceValue","shortcutByAnswerId","buildShortcutByAnswerId","getAnswerByShortcut","findAnswerByShortcut","shortcut","moveAnswerFocus$1","moveAnswerFocus","describedBy","buildDescribedBy","keyshortcuts","buildItemKeyshortcuts","selections","target","handle"],"sources":["../../../src/components/questionnaire/useQuestionnaireItem.ts"],"sourcesContent":["import { createMemo, createSignal, type Accessor } from \"solid-js\";\nimport {\n useQuestionnaireRootContext,\n type QuestionnaireItemContextValue,\n type QuestionnaireItemHandle,\n} from \"./questionnaire.context\";\nimport {\n buildDescribedBy,\n buildItemKeyshortcuts,\n createIdRegistry,\n} from \"./questionnaire.aria\";\nimport { createAnswerBookkeeping } from \"./questionnaire.answers\";\nimport {\n focusItem,\n moveAnswerFocus as moveAnswerFocusInItem,\n} from \"./questionnaire.focus\";\nimport {\n buildShortcutByAnswerId,\n buildShortcutByChoiceValue,\n findAnswerByShortcut,\n} from \"./questionnaire.shortcuts\";\nimport {\n findNativeInvalidAnswer,\n isItemSatisfied,\n resolveItemInvalid,\n} from \"./questionnaire.validation\";\n\ninterface Options {\n name: string;\n required: Accessor<boolean>;\n multiple: Accessor<boolean>;\n disabled: Accessor<boolean>;\n invalid: Accessor<boolean>;\n}\n\nexport interface QuestionnaireItemDomProps {\n \"aria-describedby\": string | undefined;\n \"aria-invalid\": boolean | undefined;\n \"aria-keyshortcuts\": string | undefined;\n disabled: boolean;\n hidden: boolean;\n inert: boolean;\n tabIndex: number;\n}\n\nexport interface UseQuestionnaireItemResult {\n context: QuestionnaireItemContextValue;\n /** 反应式:每次读取都根据当前 active/invalid 重新计算 */\n itemProps: () => QuestionnaireItemDomProps;\n describedBy: () => string | undefined;\n keyshortcuts: () => string | undefined;\n /** 在 fieldset 的 ref 里调用:登记 DOM 元素并把句柄注册到 Root */\n registerElement: (element: HTMLElement) => () => void;\n}\n\n/**\n * 单个题目的状态:答案注册与选中、跳过、校验、快捷键,以及给 Root 的句柄。\n */\nexport function useQuestionnaireItem(\n options: Options,\n): UseQuestionnaireItemResult {\n const root = useQuestionnaireRootContext(\"QuestionnaireItem\");\n\n const [element, setElement] = createSignal<HTMLElement>();\n\n const book = createAnswerBookkeeping({\n multiple: options.multiple,\n required: options.required,\n });\n const {\n answers,\n selections,\n touched,\n resetVersion,\n status,\n skippable,\n answeredOk,\n hasInputAnswer,\n registerAnswerControl,\n registerAnswerSelection,\n setAnswerDefault,\n setAnswerSelectionFromInteraction,\n syncControlledAnswerSelection,\n getAnswerByElement,\n } = book;\n\n const descriptions = createIdRegistry();\n const errors = createIdRegistry();\n\n const active = createMemo(() => root.activeItemName() === options.name);\n\n const invalid = createMemo(() =>\n resolveItemInvalid({\n disabled: options.disabled(),\n invalid: options.invalid(),\n skippable: skippable(),\n touched: touched(),\n answeredOk: answeredOk(),\n }),\n );\n\n const focus = () => focusItem(element());\n\n const validate = () => {\n book.markTouched();\n const satisfied = isItemSatisfied({\n disabled: options.disabled(),\n status: status(),\n required: options.required(),\n invalid: options.invalid(),\n });\n if (!satisfied) return false;\n if (!root.nativeValidation()) return true;\n\n const answer = findNativeInvalidAnswer(answers());\n if (!answer) return true;\n answer.element.focus();\n answer.element.reportValidity();\n return false;\n };\n\n const shortcutByChoiceValue = createMemo(() =>\n buildShortcutByChoiceValue(\n root.itemDefinitions()?.get(options.name),\n root.shortcuts(),\n ),\n );\n\n const shortcutByAnswerId = createMemo(() =>\n buildShortcutByAnswerId(\n answers(),\n shortcutByChoiceValue() !== null,\n root.shortcuts(),\n ),\n );\n\n const getAnswerByShortcut = (shortcut: string) =>\n findAnswerByShortcut(shortcut, {\n byChoiceValue: shortcutByChoiceValue(),\n byAnswerId: shortcutByAnswerId(),\n answers: answers(),\n });\n\n const moveAnswerFocus = (target: Element, direction: \"next\" | \"previous\") =>\n moveAnswerFocusInItem({\n scope: element(),\n target,\n direction,\n answers: answers(),\n });\n\n const describedBy = () =>\n buildDescribedBy(descriptions.ids(), errors.ids(), invalid());\n\n const keyshortcuts = () =>\n buildItemKeyshortcuts({\n active: active(),\n hasAnswers: answers().length > 0,\n first: root.state().first,\n last: root.state().last,\n status: status(),\n });\n\n const context: QuestionnaireItemContextValue = {\n name: options.name,\n active,\n disabled: options.disabled,\n invalid,\n multiple: options.multiple,\n required: options.required,\n status,\n hasInputAnswer,\n selectedAnswerIds: selections,\n resetVersion,\n shortcutByAnswerId,\n shortcutByChoiceValue,\n shortcuts: root.shortcuts,\n registerAnswerControl,\n registerAnswerSelection,\n registerDescription: descriptions.register,\n registerError: errors.register,\n setAnswerDefault,\n setAnswerSelectionFromInteraction,\n syncControlledAnswerSelection,\n };\n\n const registerElement = (target: HTMLElement) => {\n setElement(target);\n const handle: QuestionnaireItemHandle = {\n name: options.name,\n element: target,\n disabled: options.disabled,\n required: options.required,\n status,\n validate,\n focus,\n focusInvalid: focus,\n skip: book.skip,\n reset: book.reset,\n getAnswerByElement,\n getAnswerByShortcut,\n moveAnswerFocus,\n };\n return root.registerItem(handle);\n };\n\n return {\n context,\n itemProps: () => ({\n \"aria-describedby\": describedBy(),\n \"aria-invalid\": invalid() || undefined,\n \"aria-keyshortcuts\": keyshortcuts(),\n disabled: options.disabled(),\n hidden: !active(),\n inert: !active(),\n tabIndex: -1,\n }),\n registerElement,\n describedBy,\n keyshortcuts,\n };\n}\n"],"mappings":";;;;;;;;AA0DA,SAAgBE,EACd,GAC4B;CAC5B,IAAMC,IAAOC,EAA4B,mBAAmB,GAEtD,CAACC,GAASC,KAAcC,EAA0B,GAElDC,IAAOC,EAAwB;EACnC,UAAUC,EAAQ;EAClB,UAAUA,EAAQ;CACpB,CAAC,GACK,EACJ,YACA,eACA,YACA,iBACA,WACA,cACA,eACA,mBACA,0BACA,4BACA,qBACA,sCACA,kCACA,0BACEF,GAEEG,IAAeC,EAAiB,GAChCC,IAASD,EAAiB,GAE1BE,IAASC,QAAiBZ,EAAK,eAAe,MAAMO,EAAQ,IAAI,GAEhEM,IAAUD,QACdE,EAAmB;EACjB,UAAUP,EAAQ,SAAS;EAC3B,SAASA,EAAQ,QAAQ;EACzB,WAAWQ,EAAU;EACrB,SAASC,EAAQ;EACjB,YAAYC,EAAW;CACzB,CAAC,CACH,GAEMC,UAAcC,EAAUjB,EAAQ,CAAC,GAEjCkB,UAAiB;EAQrB,IAPAf,EAAK,YAAY,GAOb,CANcgB,EAAgB;GAChC,UAAUd,EAAQ,SAAS;GAC3B,QAAQe,EAAO;GACf,UAAUf,EAAQ,SAAS;GAC3B,SAASA,EAAQ,QAAQ;EAC3B,CACK,GAAW,OAAO;EACvB,IAAI,CAACP,EAAK,iBAAiB,GAAG,OAAO;EAErC,IAAMuB,IAASC,EAAwBC,EAAQ,CAAC;EAIhD,OAHA,CAAKF,MACLA,EAAO,QAAQ,MAAM,GACrBA,EAAO,QAAQ,eAAe,GACvB;CACT,GAEMG,IAAwBd,QAC5Be,EACE3B,EAAK,gBAAgB,CAAC,EAAE,IAAIO,EAAQ,IAAI,GACxCP,EAAK,UAAU,CACjB,CACF,GAEM4B,IAAqBhB,QACzBiB,EACEJ,EAAQ,GACRC,EAAsB,MAAM,MAC5B1B,EAAK,UAAU,CACjB,CACF,GAEM8B,KAAuB,MAC3BC,EAAqBC,GAAU;EAC7B,eAAeN,EAAsB;EACrC,YAAYE,EAAmB;EAC/B,SAASH,EAAQ;CACnB,CAAC,GAEG5B,KAAmB,GAAiB,MACxCC,EAAsB;EACpB,OAAOI,EAAQ;EACf;EACA;EACA,SAASuB,EAAQ;CACnB,CAAC,GAEGU,UACJC,EAAiB5B,EAAa,IAAI,GAAGE,EAAO,IAAI,GAAGG,EAAQ,CAAC,GAExDwB,UACJC,EAAsB;EACpB,QAAQ3B,EAAO;EACf,YAAYc,EAAQ,CAAC,CAAC,SAAS;EAC/B,OAAOzB,EAAK,MAAM,CAAC,CAAC;EACpB,MAAMA,EAAK,MAAM,CAAC,CAAC;EACnB,QAAQsB,EAAO;CACjB,CAAC;CA6CH,OAAO;EACL;GA3CA,MAAMf,EAAQ;GACd;GACA,UAAUA,EAAQ;GAClB;GACA,UAAUA,EAAQ;GAClB,UAAUA,EAAQ;GAClB;GACA;GACA,mBAAmBgC;GACnB;GACA;GACA;GACA,WAAWvC,EAAK;GAChB;GACA;GACA,qBAAqBQ,EAAa;GAClC,eAAeE,EAAO;GACtB;GACA;GACA;EAwBA;EACA,kBAAkB;GAChB,oBAAoByB,EAAY;GAChC,gBAAgBtB,EAAQ,KAAK,KAAA;GAC7B,qBAAqBwB,EAAa;GAClC,UAAU9B,EAAQ,SAAS;GAC3B,QAAQ,CAACI,EAAO;GAChB,OAAO,CAACA,EAAO;GACf,UAAU;EACZ;EACA,kBA/BuB,MAAwB;GAC/C,EAAW6B,CAAM;GACjB,IAAMC,IAAkC;IACtC,MAAMlC,EAAQ;IACd,SAASiC;IACT,UAAUjC,EAAQ;IAClB,UAAUA,EAAQ;IAClB;IACA;IACA;IACA,cAAcW;IACd,MAAMb,EAAK;IACX,OAAOA,EAAK;IACZ;IACA;IACA,iBAAA4B;GACF;GACA,OAAOjC,EAAK,aAAayC,CAAM;EACjC;EAcE;EACA;CACF;AACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
import { QuestionnaireRootContextValue } from './questionnaire.context';
|
|
3
|
+
import { QuestionnaireItemDefinition, QuestionnaireShortcutMode } from './questionnaire.types';
|
|
4
|
+
interface Options {
|
|
5
|
+
item: Accessor<string | undefined>;
|
|
6
|
+
defaultItem: Accessor<string | undefined>;
|
|
7
|
+
items: Accessor<readonly QuestionnaireItemDefinition[] | undefined>;
|
|
8
|
+
shortcuts: Accessor<QuestionnaireShortcutMode | undefined>;
|
|
9
|
+
noValidate: Accessor<boolean | undefined>;
|
|
10
|
+
onItemChange: (item: string) => void;
|
|
11
|
+
onReset?: (event: Event) => void;
|
|
12
|
+
onSubmit?: (event: SubmitEvent) => void;
|
|
13
|
+
formRef: Accessor<HTMLFormElement | undefined>;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Questionnaire 根状态机:
|
|
17
|
+
* - 注册各 Item(按 DOM 顺序排序),维护激活项与进度;
|
|
18
|
+
* - 导航(上一题/下一题/跳过/提交)与校验;
|
|
19
|
+
* - 键盘:Mod+Enter 提交、上下箭头在答案间移动、左右箭头切题、方向键/Esc/快捷键。
|
|
20
|
+
*/
|
|
21
|
+
export declare function useQuestionnaireRoot(options: Options): {
|
|
22
|
+
context: QuestionnaireRootContextValue;
|
|
23
|
+
formProps: {
|
|
24
|
+
"data-shortcuts": string | undefined;
|
|
25
|
+
onKeyDown: (event: KeyboardEvent) => void;
|
|
26
|
+
onSubmit: (event: SubmitEvent) => void;
|
|
27
|
+
onReset: (event: Event) => void;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
export {};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { createDomVersionWatcher as e } from "./questionnaire.dom-watch.js";
|
|
2
|
+
import { createItemView as t, resolveActiveName as n } from "./questionnaire.item-view.js";
|
|
3
|
+
import { handleQuestionnaireKeyDown as r } from "./questionnaire.keys.js";
|
|
4
|
+
import { createItemRegistry as i } from "./questionnaire.registry.js";
|
|
5
|
+
import { createEffect as a, createSignal as o } from "solid-js";
|
|
6
|
+
//#region src/components/questionnaire/useQuestionnaireRoot.ts
|
|
7
|
+
function s(s) {
|
|
8
|
+
let c = i(), l = e(s.formRef), [u, d] = o(null), f = null, p = t({
|
|
9
|
+
registered: c.items,
|
|
10
|
+
domVersion: l,
|
|
11
|
+
controlledItem: s.item,
|
|
12
|
+
internalName: u,
|
|
13
|
+
definitions: s.items
|
|
14
|
+
}), { enabled: m, activeName: h, activeItem: g, total: _, index: v, first: y, last: b } = p, { current: x, itemDefinitions: S } = p, C = () => n({
|
|
15
|
+
enabled: m(),
|
|
16
|
+
controlledItem: s.item(),
|
|
17
|
+
defaultItem: s.defaultItem()
|
|
18
|
+
});
|
|
19
|
+
a(() => {
|
|
20
|
+
if (s.item() !== void 0) return;
|
|
21
|
+
let e = m(), t = h();
|
|
22
|
+
if (t && e.some((e) => e.name === t)) return;
|
|
23
|
+
let n = C();
|
|
24
|
+
n !== t && d(n);
|
|
25
|
+
});
|
|
26
|
+
let w = c.register, T = (e, t = "item") => {
|
|
27
|
+
if (e) {
|
|
28
|
+
if (e === h()) {
|
|
29
|
+
t === "invalid" && g()?.focusInvalid();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
f = {
|
|
33
|
+
name: e,
|
|
34
|
+
target: t
|
|
35
|
+
}, s.item() === void 0 && d(e), s.onItemChange?.(e);
|
|
36
|
+
}
|
|
37
|
+
}, E = () => s.formRef()?.requestSubmit(), D = () => {
|
|
38
|
+
let e = g();
|
|
39
|
+
if (!e) return;
|
|
40
|
+
if (!e.validate()) {
|
|
41
|
+
e.focusInvalid();
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
let t = m(), n = t.indexOf(e);
|
|
45
|
+
n < 0 || n >= t.length - 1 || T(t[n + 1].name);
|
|
46
|
+
}, O = () => {
|
|
47
|
+
let e = m(), t = v();
|
|
48
|
+
t <= 0 || T(e[t - 1].name);
|
|
49
|
+
}, k = () => {
|
|
50
|
+
let e = g();
|
|
51
|
+
if (!e || e.required()) return;
|
|
52
|
+
if (e.skip(), b()) {
|
|
53
|
+
queueMicrotask(E);
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
let t = m(), n = t.indexOf(e);
|
|
57
|
+
T(t[n + 1].name);
|
|
58
|
+
}, A = () => {
|
|
59
|
+
b() ? E() : D();
|
|
60
|
+
};
|
|
61
|
+
return a(() => {
|
|
62
|
+
let e = h();
|
|
63
|
+
if (!f || f.name !== e) return;
|
|
64
|
+
let t = f.target;
|
|
65
|
+
f = null;
|
|
66
|
+
let n = m().find((t) => t.name === e);
|
|
67
|
+
n && queueMicrotask(() => {
|
|
68
|
+
t === "invalid" ? n.focusInvalid() : n.focus();
|
|
69
|
+
});
|
|
70
|
+
}), {
|
|
71
|
+
context: {
|
|
72
|
+
state: () => ({
|
|
73
|
+
current: x(),
|
|
74
|
+
first: y(),
|
|
75
|
+
last: b(),
|
|
76
|
+
total: _()
|
|
77
|
+
}),
|
|
78
|
+
activeItemName: h,
|
|
79
|
+
activeItemRequired: () => g()?.required() ?? null,
|
|
80
|
+
activeItemStatus: () => g()?.status() ?? null,
|
|
81
|
+
shortcuts: () => s.shortcuts() ?? null,
|
|
82
|
+
nativeValidation: () => s.noValidate() === !1,
|
|
83
|
+
itemDefinitions: S,
|
|
84
|
+
registerItem: w,
|
|
85
|
+
goNext: D,
|
|
86
|
+
goPrevious: O,
|
|
87
|
+
skipCurrent: k,
|
|
88
|
+
requestSubmit: E
|
|
89
|
+
},
|
|
90
|
+
formProps: {
|
|
91
|
+
"data-shortcuts": s.shortcuts(),
|
|
92
|
+
onKeyDown: (e) => {
|
|
93
|
+
let t = g();
|
|
94
|
+
t && r(e, {
|
|
95
|
+
item: t,
|
|
96
|
+
status: () => t.status(),
|
|
97
|
+
shortcuts: s.shortcuts() ?? null,
|
|
98
|
+
goNext: D,
|
|
99
|
+
goPrevious: O,
|
|
100
|
+
submitOrNext: A
|
|
101
|
+
});
|
|
102
|
+
},
|
|
103
|
+
onSubmit: (e) => {
|
|
104
|
+
let t = m().find((e) => !e.validate());
|
|
105
|
+
if (t) {
|
|
106
|
+
e.preventDefault(), T(t.name, "invalid");
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
s.onSubmit?.(e);
|
|
110
|
+
},
|
|
111
|
+
onReset: (e) => {
|
|
112
|
+
if (s.onReset?.(e), !e.defaultPrevented) {
|
|
113
|
+
for (let e of m()) e.reset();
|
|
114
|
+
T(C());
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
};
|
|
119
|
+
}
|
|
120
|
+
//#endregion
|
|
121
|
+
export { s as useQuestionnaireRoot };
|
|
122
|
+
|
|
123
|
+
//# sourceMappingURL=useQuestionnaireRoot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useQuestionnaireRoot.js","names":["useQuestionnaireRoot","registry","createItemRegistry","domVersion","createDomVersionWatcher","options","internalName","setInternalName","createSignal","pendingFocus","view","createItemView","resolveName","resolveActiveName","enabled","list","name","activeName","entry","next","registerItem","navigate","target","activeItem","requestSubmit","goNext","item","position","goPrevious","index","skipCurrent","last","submitOrNext","createEffect","handle","current","first","total","handleQuestionnaireKeyDown","event","invalid"],"sources":["../../../src/components/questionnaire/useQuestionnaireRoot.ts"],"sourcesContent":["import { createEffect, createSignal, type Accessor } from \"solid-js\";\nimport type { QuestionnaireRootContextValue } from \"./questionnaire.context\";\nimport type {\n QuestionnaireItemDefinition,\n QuestionnaireShortcutMode,\n} from \"./questionnaire.types\";\nimport { createDomVersionWatcher } from \"./questionnaire.dom-watch\";\nimport { createItemView, resolveActiveName } from \"./questionnaire.item-view\";\nimport { handleQuestionnaireKeyDown } from \"./questionnaire.keys\";\nimport { createItemRegistry } from \"./questionnaire.registry\";\n\ninterface Options {\n item: Accessor<string | undefined>;\n defaultItem: Accessor<string | undefined>;\n items: Accessor<readonly QuestionnaireItemDefinition[] | undefined>;\n shortcuts: Accessor<QuestionnaireShortcutMode | undefined>;\n noValidate: Accessor<boolean | undefined>;\n onItemChange: (item: string) => void;\n onReset?: (event: Event) => void;\n onSubmit?: (event: SubmitEvent) => void;\n formRef: Accessor<HTMLFormElement | undefined>;\n}\n\n/**\n * Questionnaire 根状态机:\n * - 注册各 Item(按 DOM 顺序排序),维护激活项与进度;\n * - 导航(上一题/下一题/跳过/提交)与校验;\n * - 键盘:Mod+Enter 提交、上下箭头在答案间移动、左右箭头切题、方向键/Esc/快捷键。\n */\nexport function useQuestionnaireRoot(options: Options): {\n context: QuestionnaireRootContextValue;\n formProps: {\n \"data-shortcuts\": string | undefined;\n onKeyDown: (event: KeyboardEvent) => void;\n onSubmit: (event: SubmitEvent) => void;\n onReset: (event: Event) => void;\n };\n} {\n const registry = createItemRegistry();\n const domVersion = createDomVersionWatcher(options.formRef);\n const [internalName, setInternalName] = createSignal<string | null>(null);\n let pendingFocus: { name: string; target: \"item\" | \"invalid\" } | null = null;\n\n const view = createItemView({\n registered: registry.items,\n domVersion,\n controlledItem: options.item,\n internalName,\n definitions: options.items,\n });\n const { enabled, activeName, activeItem, total, index, first, last } = view;\n const { current, itemDefinitions } = view;\n\n const resolveName = () =>\n resolveActiveName({\n enabled: enabled(),\n controlledItem: options.item(),\n defaultItem: options.defaultItem(),\n });\n\n // 激活项不可用时回退到定义/第一个可用项\n createEffect(() => {\n if (options.item() !== undefined) return;\n const list = enabled();\n const name = activeName();\n if (name && list.some((entry) => entry.name === name)) return;\n const next = resolveName();\n if (next !== name) setInternalName(next);\n });\n\n const registerItem = registry.register;\n\n const navigate = (\n name: string | null,\n target: \"item\" | \"invalid\" = \"item\",\n ) => {\n if (!name) return;\n if (name === activeName()) {\n if (target === \"invalid\") activeItem()?.focusInvalid();\n return;\n }\n pendingFocus = { name, target };\n if (options.item() === undefined) setInternalName(name);\n options.onItemChange?.(name);\n };\n\n const requestSubmit = () => options.formRef()?.requestSubmit();\n\n const goNext = () => {\n const item = activeItem();\n if (!item) return;\n if (!item.validate()) {\n item.focusInvalid();\n return;\n }\n const list = enabled();\n const position = list.indexOf(item);\n if (position < 0 || position >= list.length - 1) return;\n navigate(list[position + 1]!.name);\n };\n\n const goPrevious = () => {\n const list = enabled();\n const position = index();\n if (position <= 0) return;\n navigate(list[position - 1]!.name);\n };\n\n const skipCurrent = () => {\n const item = activeItem();\n if (!item || item.required()) return;\n item.skip();\n if (last()) {\n queueMicrotask(requestSubmit);\n return;\n }\n const list = enabled();\n const position = list.indexOf(item);\n // 走到这里说明 last() 为 false,即 position 必然小于末位;\n // 且 position 与 item-view 的 index() 同源于 enabled(),因此下一项一定存在\n navigate(list[position + 1].name);\n };\n\n const submitOrNext = () => {\n if (last()) requestSubmit();\n else goNext();\n };\n\n const handleSubmit = (event: SubmitEvent) => {\n const invalid = enabled().find((item) => !item.validate());\n if (invalid) {\n event.preventDefault();\n navigate(invalid.name, \"invalid\");\n return;\n }\n options.onSubmit?.(event);\n };\n\n const handleReset = (event: Event) => {\n options.onReset?.(event);\n if (event.defaultPrevented) return;\n for (const item of enabled()) item.reset();\n navigate(resolveName());\n };\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const item = activeItem();\n if (!item) return;\n\n handleQuestionnaireKeyDown(event, {\n item,\n status: () => item.status(),\n shortcuts: options.shortcuts() ?? null,\n goNext,\n goPrevious,\n submitOrNext,\n });\n };\n\n // 导航后聚焦新激活项(或它的首个答案控件)\n createEffect(() => {\n const name = activeName();\n if (!pendingFocus || pendingFocus.name !== name) return;\n const target = pendingFocus.target;\n pendingFocus = null;\n const handle = enabled().find((item) => item.name === name);\n if (!handle) return;\n queueMicrotask(() => {\n if (target === \"invalid\") handle.focusInvalid();\n else handle.focus();\n });\n });\n\n const context: QuestionnaireRootContextValue = {\n state: () => ({\n current: current(),\n first: first(),\n last: last(),\n total: total(),\n }),\n activeItemName: activeName,\n activeItemRequired: () => activeItem()?.required() ?? null,\n activeItemStatus: () => activeItem()?.status() ?? null,\n shortcuts: () => options.shortcuts() ?? null,\n nativeValidation: () => options.noValidate() === false,\n itemDefinitions,\n registerItem,\n goNext,\n goPrevious,\n skipCurrent,\n requestSubmit,\n };\n\n return {\n context,\n formProps: {\n \"data-shortcuts\": options.shortcuts(),\n onKeyDown: handleKeyDown,\n onSubmit: handleSubmit,\n onReset: handleReset,\n },\n };\n}\n"],"mappings":";;;;;;AA6BA,SAAgBA,EAAqB,GAQnC;CACA,IAAMC,IAAWC,EAAmB,GAC9BC,IAAaC,EAAwBC,EAAQ,OAAO,GACpD,CAACC,GAAcC,KAAmBC,EAA4B,IAAI,GACpEC,IAAoE,MAElEC,IAAOC,EAAe;EAC1B,YAAYV,EAAS;EACrB;EACA,gBAAgBI,EAAQ;EACxB;EACA,aAAaA,EAAQ;CACvB,CAAC,GACK,EAAE,YAAS,eAAY,eAAY,UAAO,UAAO,UAAO,YAASK,GACjE,EAAE,YAAS,uBAAoBA,GAE/BE,UACJC,EAAkB;EAChB,SAASC,EAAQ;EACjB,gBAAgBT,EAAQ,KAAK;EAC7B,aAAaA,EAAQ,YAAY;CACnC,CAAC;CAGH,QAAmB;EACjB,IAAIA,EAAQ,KAAK,MAAM,KAAA,GAAW;EAClC,IAAMU,IAAOD,EAAQ,GACfE,IAAOC,EAAW;EACxB,IAAID,KAAQD,EAAK,MAAM,MAAUG,EAAM,SAASF,CAAI,GAAG;EACvD,IAAMG,IAAOP,EAAY;EACzB,AAAIO,MAASH,KAAMT,EAAgBY,CAAI;CACzC,CAAC;CAED,IAAMC,IAAenB,EAAS,UAExBoB,KACJ,GACA,IAA6B,WAC1B;EACH,IAAKL,GACL;OAAIA,MAASC,EAAW,GAAG;IACzB,AAAIK,MAAW,aAAWC,EAAW,CAAC,EAAE,aAAa;IACrD;GACF;GAGA,AAFA,IAAe;IAAE;IAAM;GAAO,GAC1BlB,EAAQ,KAAK,MAAM,KAAA,KAAWE,EAAgBS,CAAI,GACtDX,EAAQ,eAAeW,CAAI;EAH3B;CAIF,GAEMQ,UAAsBnB,EAAQ,QAAQ,CAAC,EAAE,cAAc,GAEvDoB,UAAe;EACnB,IAAMC,IAAOH,EAAW;EACxB,IAAI,CAACG,GAAM;EACX,IAAI,CAACA,EAAK,SAAS,GAAG;GACpB,EAAK,aAAa;GAClB;EACF;EACA,IAAMX,IAAOD,EAAQ,GACfa,IAAWZ,EAAK,QAAQW,CAAI;EAClC,AAAIC,IAAW,KAAKA,KAAYZ,EAAK,SAAS,KAC9CM,EAASN,EAAKY,IAAW,EAAE,CAAE,IAAI;CACnC,GAEMC,UAAmB;EACvB,IAAMb,IAAOD,EAAQ,GACfa,IAAWE,EAAM;EACvB,AAAIF,KAAY,KAChBN,EAASN,EAAKY,IAAW,EAAE,CAAE,IAAI;CACnC,GAEMG,UAAoB;EACxB,IAAMJ,IAAOH,EAAW;EACxB,IAAI,CAACG,KAAQA,EAAK,SAAS,GAAG;EAE9B,IADAA,EAAK,KAAK,GACNK,EAAK,GAAG;GACV,eAAeP,CAAa;GAC5B;EACF;EACA,IAAMT,IAAOD,EAAQ,GACfa,IAAWZ,EAAK,QAAQW,CAAI;EAGlC,EAASX,EAAKY,IAAW,EAAE,CAAC,IAAI;CAClC,GAEMK,UAAqB;EACzB,AAAID,EAAK,IAAGP,EAAc,IACrBC,EAAO;CACd;CAmEA,OAjCAQ,QAAmB;EACjB,IAAMjB,IAAOC,EAAW;EACxB,IAAI,CAACR,KAAgBA,EAAa,SAASO,GAAM;EACjD,IAAMM,IAASb,EAAa;EAC5B,IAAe;EACf,IAAMyB,IAASpB,EAAQ,CAAC,CAAC,MAAM,MAASY,EAAK,SAASV,CAAI;EAC1D,AAAKkB,KACL,qBAAqB;GACnB,AAAIZ,MAAW,YAAWY,EAAO,aAAa,IACzCA,EAAO,MAAM;EACpB,CAAC;CACH,CAAC,GAsBM;EACL,SAAA;GApBA,cAAc;IACZ,SAASC,EAAQ;IACjB,OAAOC,EAAM;IACb,MAAML,EAAK;IACX,OAAOM,EAAM;GACf;GACA,gBAAgBpB;GAChB,0BAA0BM,EAAW,CAAC,EAAE,SAAS,KAAK;GACtD,wBAAwBA,EAAW,CAAC,EAAE,OAAO,KAAK;GAClD,iBAAiBlB,EAAQ,UAAU,KAAK;GACxC,wBAAwBA,EAAQ,WAAW,MAAM;GACjD;GACA;GACA;GACA;GACA;GACA;EAIA;EACA,WAAW;GACT,kBAAkBA,EAAQ,UAAU;GACpC,YApDmB,MAAyB;IAC9C,IAAMqB,IAAOH,EAAW;IACxB,AAAKG,KAELY,EAA2BC,GAAO;KAChC;KACA,cAAcb,EAAK,OAAO;KAC1B,WAAWrB,EAAQ,UAAU,KAAK;KAClC;KACA;KACA;IACF,CAAC;GACH;GAyCI,WAtEkB,MAAuB;IAC3C,IAAMmC,IAAU1B,EAAQ,CAAC,CAAC,MAAM,MAAS,CAACY,EAAK,SAAS,CAAC;IACzD,IAAIc,GAAS;KAEX,AADAD,EAAM,eAAe,GACrBlB,EAASmB,EAAQ,MAAM,SAAS;KAChC;IACF;IACA,EAAQ,WAAWD,CAAK;GAC1B;GA+DI,UA7DiB,MAAiB;IAEpC,IADAlC,EAAQ,UAAUkC,CAAK,GACnB,GAAM,kBACV;UAAK,IAAMb,KAAQZ,EAAQ,GAAG,EAAK,MAAM;KACzC,EAASF,EAAY,CAAC;IADmB;GAE3C;EAyDE;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroup.js","names":["createMemo","createSignal","splitProps","JSX","clsx","RadioGroupContext","RadioGroupContextValue","RadioGroupProps","RadioGroup","props","Element","local","rest","internalValue","setInternalValue","defaultValue","value","undefined","disabled","itemElements","Map","HTMLElement","setValue","next","onValueChange","registerItem","itemValue","element","set","get","delete","focusItem","focus","ctx","name","_el$","_tmpl$","_$spread","_$mergeProps","class","style","dir","_$insert","_$createComponent","Provider","children","_$mergeProps","_$createComponent","_tmpl$","RadioGroup","local","rest","splitProps","props","internalValue","setInternalValue","createSignal","value","createMemo","disabled","itemElements","ctx","next","itemValue","element","_el$","spread","mergeProps","\"class\"","clsx","insert","createComponent","RadioGroupContext"],"sources":["../../../../src/components/radio-group/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { createMemo, createSignal, splitProps, type JSX } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { RadioGroupContext } from \"./RadioGroup.context\";\nimport type {\n RadioGroupContextValue,\n RadioGroupProps,\n} from \"./RadioGroup.types\";\n\n/**\n * RadioGroup 根组件:渲染一个 <div role=\"radiogroup\">,并向下提供选中值、\n * 禁用状态和 item 注册方法。选中值支持受控(value)和非受控(defaultValue)。\n *\n * @example\n * ```tsx\n * <RadioGroup defaultValue=\"comfortable\">\n * <RadioGroupItem value=\"default\" />\n * <RadioGroupItem value=\"comfortable\" />\n * </RadioGroup>\n * ```\n */\nexport function RadioGroup(props: RadioGroupProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"defaultValue\",\n \"onValueChange\",\n \"disabled\",\n \"name\",\n \"class\",\n \"classList\",\n \"style\",\n \"dir\",\n \"children\",\n ]);\n\n const [internalValue, setInternalValue] = createSignal(local.defaultValue);\n const value = createMemo(() =>\n local.value !== undefined ? local.value : internalValue(),\n );\n const disabled = createMemo(() => !!local.disabled);\n\n const itemElements = new Map<string, HTMLElement>();\n\n const setValue = (next: string) => {\n if (local.value === undefined) setInternalValue(next);\n local.onValueChange?.(next);\n };\n\n const registerItem = (itemValue: string, element: HTMLElement) => {\n itemElements.set(itemValue, element);\n return () => {\n if (itemElements.get(itemValue) === element) {\n itemElements.delete(itemValue);\n }\n };\n };\n\n const focusItem = (itemValue: string) => {\n itemElements.get(itemValue)?.focus();\n };\n\n const ctx: RadioGroupContextValue = {\n value,\n setValue,\n disabled,\n name: local.name,\n registerItem,\n focusItem,\n };\n\n return (\n <div\n role=\"radiogroup\"\n data-slot=\"radio-group\"\n class={clsx(\"grid w-full gap-2\", local.class)}\n style={local.style}\n dir={local.dir}\n {...rest}\n >\n <RadioGroupContext.Provider value={ctx}>\n {local.children}\n </RadioGroupContext.Provider>\n </div>\n );\n}\n"],"mappings":";;;;;;AAoBA,SAAgBQ,EAAWC,GAAqC;CAC9D,IAAM,CAACE,GAAOC,KAAQV,EAAWO,GAAO;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEK,CAACI,GAAeC,KAAoBb,EAAaU,EAAMI,YAAY,GACnEC,IAAQhB,QACZW,EAAMK,UAAUC,KAAAA,IAA0BJ,EAAc,IAA5BF,EAAMK,KACpC,GACME,IAAWlB,QAAiB,CAAC,CAACW,EAAMO,QAAQ,GAE5CC,oBAAe,IAAIC,IAAyB,GAoB5Ca,IAA8B;EAClCjB;EACAM,WApBgBC,MAAiB;GAEjCZ,AADIA,EAAMK,UAAUC,KAAAA,KAAWH,EAAiBS,CAAI,GACpDZ,EAAMa,gBAAgBD,CAAI;EAC5B;EAkBEL;EACAgB,MAAMvB,EAAMuB;EACZT,eAlBoBC,GAAmBC,OACvCR,EAAaS,IAAIF,GAAWC,CAAO,SACtB;GACX,AAAIR,EAAaU,IAAIH,CAAS,MAAMC,KAClCR,EAAaW,OAAOJ,CAAS;EAEjC;EAaAK,YAViBL,MAAsB;GACvCP,EAAaU,IAAIH,CAAS,CAAC,EAAEM,MAAM;EACrC;CASA;CAEA,cAAA;EAAA,IAAAG,IAAAC,EAAA;
|
|
1
|
+
{"version":3,"file":"RadioGroup.js","names":["createMemo","createSignal","splitProps","JSX","clsx","RadioGroupContext","RadioGroupContextValue","RadioGroupProps","RadioGroup","props","Element","local","rest","internalValue","setInternalValue","defaultValue","value","undefined","disabled","itemElements","Map","HTMLElement","setValue","next","onValueChange","registerItem","itemValue","element","set","get","delete","focusItem","focus","ctx","name","_el$","_tmpl$","_$spread","_$mergeProps","class","classList","style","dir","_$insert","_$createComponent","Provider","children","_$mergeProps","_$createComponent","_tmpl$","RadioGroup","local","rest","splitProps","props","internalValue","setInternalValue","createSignal","value","createMemo","disabled","itemElements","ctx","next","itemValue","element","_el$","spread","mergeProps","\"class\"","clsx","insert","createComponent","RadioGroupContext"],"sources":["../../../../src/components/radio-group/RadioGroup/RadioGroup.tsx"],"sourcesContent":["import { createMemo, createSignal, splitProps, type JSX } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { RadioGroupContext } from \"./RadioGroup.context\";\nimport type {\n RadioGroupContextValue,\n RadioGroupProps,\n} from \"./RadioGroup.types\";\n\n/**\n * RadioGroup 根组件:渲染一个 <div role=\"radiogroup\">,并向下提供选中值、\n * 禁用状态和 item 注册方法。选中值支持受控(value)和非受控(defaultValue)。\n *\n * @example\n * ```tsx\n * <RadioGroup defaultValue=\"comfortable\">\n * <RadioGroupItem value=\"default\" />\n * <RadioGroupItem value=\"comfortable\" />\n * </RadioGroup>\n * ```\n */\nexport function RadioGroup(props: RadioGroupProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"defaultValue\",\n \"onValueChange\",\n \"disabled\",\n \"name\",\n \"class\",\n \"classList\",\n \"style\",\n \"dir\",\n \"children\",\n ]);\n\n const [internalValue, setInternalValue] = createSignal(local.defaultValue);\n const value = createMemo(() =>\n local.value !== undefined ? local.value : internalValue(),\n );\n const disabled = createMemo(() => !!local.disabled);\n\n const itemElements = new Map<string, HTMLElement>();\n\n const setValue = (next: string) => {\n if (local.value === undefined) setInternalValue(next);\n local.onValueChange?.(next);\n };\n\n const registerItem = (itemValue: string, element: HTMLElement) => {\n itemElements.set(itemValue, element);\n return () => {\n if (itemElements.get(itemValue) === element) {\n itemElements.delete(itemValue);\n }\n };\n };\n\n const focusItem = (itemValue: string) => {\n itemElements.get(itemValue)?.focus();\n };\n\n const ctx: RadioGroupContextValue = {\n value,\n setValue,\n disabled,\n name: local.name,\n registerItem,\n focusItem,\n };\n\n return (\n <div\n role=\"radiogroup\"\n data-slot=\"radio-group\"\n class={clsx(\"grid w-full gap-2\", local.class)}\n classList={local.classList}\n style={local.style}\n dir={local.dir}\n {...rest}\n >\n <RadioGroupContext.Provider value={ctx}>\n {local.children}\n </RadioGroupContext.Provider>\n </div>\n );\n}\n"],"mappings":";;;;;;AAoBA,SAAgBQ,EAAWC,GAAqC;CAC9D,IAAM,CAACE,GAAOC,KAAQV,EAAWO,GAAO;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEK,CAACI,GAAeC,KAAoBb,EAAaU,EAAMI,YAAY,GACnEC,IAAQhB,QACZW,EAAMK,UAAUC,KAAAA,IAA0BJ,EAAc,IAA5BF,EAAMK,KACpC,GACME,IAAWlB,QAAiB,CAAC,CAACW,EAAMO,QAAQ,GAE5CC,oBAAe,IAAIC,IAAyB,GAoB5Ca,IAA8B;EAClCjB;EACAM,WApBgBC,MAAiB;GAEjCZ,AADIA,EAAMK,UAAUC,KAAAA,KAAWH,EAAiBS,CAAI,GACpDZ,EAAMa,gBAAgBD,CAAI;EAC5B;EAkBEL;EACAgB,MAAMvB,EAAMuB;EACZT,eAlBoBC,GAAmBC,OACvCR,EAAaS,IAAIF,GAAWC,CAAO,SACtB;GACX,AAAIR,EAAaU,IAAIH,CAAS,MAAMC,KAClCR,EAAaW,OAAOJ,CAAS;EAEjC;EAaAK,YAViBL,MAAsB;GACvCP,EAAaU,IAAIH,CAAS,CAAC,EAAEM,MAAM;EACrC;CASA;CAEA,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAWqB,OAXrBC,EAAAF,GAAAG,EAAA;GAAA,IAAA+B,QAAA;IAAA,OAIWjE,EAAK,qBAAqBO,EAAM4B,KAAK;GAAC;GAAA,IAC7CC,YAAS;IAAA,OAAE7B,EAAM6B;GAAS;GAAA,IAC1BC,QAAK;IAAA,OAAE9B,EAAM8B;GAAK;GAAA,IAClBC,MAAG;IAAA,OAAE/B,EAAM+B;GAAG;EAAA,GACV9B,CAAI,GAAA,IAAA,EAAA,GAAA+B,EAAAR,GAAAS,EAEPvC,EAAkBwC,UAAQ;GAAC7B,OAAOiB;GAAG,IAAAa,WAAA;IAAA,OACnCnC,EAAMmC;GAAQ;EAAA,CAAA,CAAA,GAAAX;CAAA,EAAA,CAAA;AAIvB"}
|
|
@@ -63,6 +63,9 @@ function m(o) {
|
|
|
63
63
|
},
|
|
64
64
|
get class() {
|
|
65
65
|
return e("group/radio-group-item peer relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border border-input outline-none transition-colors", "focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50", "disabled:cursor-not-allowed disabled:opacity-50", "aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary", "dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", "data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary", h.class);
|
|
66
|
+
},
|
|
67
|
+
get classList() {
|
|
68
|
+
return h.classList;
|
|
66
69
|
}
|
|
67
70
|
}, g), !1, !0), r(t, n(c, {
|
|
68
71
|
get when() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RadioGroupItem.js","names":["Show","createMemo","onCleanup","splitProps","clsx","useRadioGroupContext","RadioGroupItemProps","RadioGroupItem","props","ctx","local","rest","checked","value","isDisabled","disabled","select","setValue","unregister","attachListeners","el","HTMLButtonElement","onClick","onKeyDown","e","KeyboardEvent","key","preventDefault","includes","group","closest","HTMLElement","values","Array","from","querySelectorAll","map","item","dataset","filter","undefined","length","currentIndex","indexOf","direction","nextIndex","nextValue","focusItem","addEventListener","registerItem","removeEventListener","_el$","_tmpl$2","_$use","_$spread","_$mergeProps","aria-checked","data-value","data-checked","style","dir","class","_$insert","_$createComponent","when","children","_tmpl$","_$mergeProps","_$createComponent","_tmpl$","_tmpl$2","RadioGroupItem","ctx","useRadioGroupContext","local","rest","splitProps","props","checked","createMemo","isDisabled","select","unregister","attachListeners","onClick","onKeyDown","e","group","el","values","item","value","nextValue","onCleanup","_el$","use","spread","mergeProps","\"class\"","clsx","insert","createComponent","Show"],"sources":["../../../../src/components/radio-group/RadioGroupItem/RadioGroupItem.tsx"],"sourcesContent":["import { Show, createMemo, onCleanup, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useRadioGroupContext } from \"../RadioGroup\";\nimport type { RadioGroupItemProps } from \"./RadioGroupItem.types\";\n\n/**\n * RadioGroupItem:一个 role=\"radio\" 的按钮。选中时内部渲染指示圆点。\n * 通过 context 读取 RadioGroup 的选中值和禁用状态,支持受控/非受控。\n */\nexport function RadioGroupItem(props: RadioGroupItemProps) {\n const ctx = useRadioGroupContext(\"RadioGroupItem\");\n\n const [local, rest] = splitProps(props, [\n \"value\",\n \"disabled\",\n \"class\",\n \"classList\",\n \"style\",\n \"dir\",\n \"children\",\n ]);\n\n const checked = createMemo(() => ctx.value() === local.value);\n const isDisabled = () => ctx.disabled() || !!local.disabled;\n\n const select = () => {\n if (isDisabled()) return;\n ctx.setValue(local.value);\n };\n\n let unregister: (() => void) | undefined;\n\n const attachListeners = (el: HTMLButtonElement) => {\n const onClick = () => select();\n const onKeyDown = (e: KeyboardEvent) => {\n if (isDisabled()) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n select();\n return;\n }\n\n if ([\"ArrowDown\", \"ArrowRight\", \"ArrowUp\", \"ArrowLeft\"].includes(e.key)) {\n e.preventDefault();\n const group = el.closest<HTMLElement>('[data-slot=\"radio-group\"]');\n const values = Array.from(\n group?.querySelectorAll<HTMLElement>(\n '[data-slot=\"radio-group-item\"]',\n ) ?? [],\n )\n .map((item) => item.dataset.value)\n .filter((value): value is string => value !== undefined);\n if (values.length === 0) return;\n const currentIndex = values.indexOf(local.value);\n const direction =\n e.key === \"ArrowDown\" || e.key === \"ArrowRight\" ? 1 : -1;\n const nextIndex =\n (currentIndex + direction + values.length) % values.length;\n const nextValue = values[nextIndex];\n ctx.setValue(nextValue);\n ctx.focusItem(nextValue);\n }\n };\n\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"keydown\", onKeyDown);\n unregister = ctx.registerItem(local.value, el);\n\n onCleanup(() => {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"keydown\", onKeyDown);\n unregister?.();\n });\n };\n\n return (\n <button\n ref={attachListeners}\n type=\"button\"\n role=\"radio\"\n aria-checked={checked()}\n data-slot=\"radio-group-item\"\n data-value={local.value}\n data-checked={checked() ? \"\" : undefined}\n disabled={isDisabled()}\n style={local.style}\n dir={local.dir}\n class={clsx(\n \"group/radio-group-item peer relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border border-input outline-none transition-colors\",\n \"focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary\",\n \"dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n \"data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary\",\n local.class,\n )}\n {...rest}\n >\n <Show when={checked()}>\n <span\n data-slot=\"radio-group-indicator\"\n class=\"size-2 rounded-full bg-primary-foreground\"\n />\n </Show>\n </button>\n );\n}\n"],"mappings":";;;;;;AASA,SAAgBO,EAAeC,GAA4B;CACzD,IAAMC,IAAMJ,EAAqB,gBAAgB,GAE3C,CAACK,GAAOC,KAAQR,EAAWK,GAAO;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEKI,IAAUX,QAAiBQ,EAAII,MAAM,MAAMH,EAAMG,KAAK,GACtDC,UAAmBL,EAAIM,SAAS,KAAK,CAAC,CAACL,EAAMK,UAE7CC,UAAe;EACnB,AAAIF,EAAW,KACfL,EAAIQ,SAASP,EAAMG,KAAK;CAC1B,GAEIK,GAEEC,KAAmBC,MAA0B;EACjD,IAAME,UAAgBN,EAAO,GACvBO,KAAaC,MAAqB;GACtC,IAAIV,GAAW,GACf;QAAIU,EAAEE,QAAQ,WAAWF,EAAEE,QAAQ,KAAK;KAEtCV,AADAQ,EAAEG,eAAe,GACjBX,EAAO;KACP;IACF;IAEA,IAAI;KAAC;KAAa;KAAc;KAAW;IAAW,CAAC,CAACY,SAASJ,EAAEE,GAAG,GAAG;KACvEF,EAAEG,eAAe;KACjB,IAAME,IAAQT,EAAGU,QAAqB,6BAA2B,GAC3DE,IAASC,MAAMC,KACnBL,GAAOM,iBACL,kCACF,KAAK,CAAA,CACP,CAAC,CACEC,KAAKC,MAASA,EAAKC,QAAQzB,KAAK,CAAC,CACjC0B,QAAQ1B,MAA2BA,MAAU2B,KAAAA,CAAS;KACzD,IAAIR,EAAOS,WAAW,GAAG;KAMzB,IAAMK,IAAYd,GALGA,EAAOW,QAAQjC,EAAMG,KAIvC6B,KAFDlB,EAAEE,QAAQ,eAAeF,EAAEE,QAAQ,eAAe,IAAI,MAE1BM,EAAOS,UAAUT,EAAOS;KAGtDhC,AADAA,EAAIQ,SAAS6B,CAAS,GACtBrC,EAAIsC,UAAUD,CAAS;IACzB;GArBA;EAsBF;EAMA5C,AAJAkB,EAAG4B,iBAAiB,SAAS1B,CAAO,GACpCF,EAAG4B,iBAAiB,WAAWzB,CAAS,GACxCL,IAAaT,EAAIwC,aAAavC,EAAMG,OAAOO,CAAE,GAE7ClB,QAAgB;GAGdgB,AAFAE,EAAG8B,oBAAoB,SAAS5B,CAAO,GACvCF,EAAG8B,oBAAoB,WAAW3B,CAAS,GAC3CL,IAAa;EACf,CAAC;CACH;CAEA,cAAA;EAAA,IAAAiC,IAAAC,EAAA;
|
|
1
|
+
{"version":3,"file":"RadioGroupItem.js","names":["Show","createMemo","onCleanup","splitProps","clsx","useRadioGroupContext","RadioGroupItemProps","RadioGroupItem","props","ctx","local","rest","checked","value","isDisabled","disabled","select","setValue","unregister","attachListeners","el","HTMLButtonElement","onClick","onKeyDown","e","KeyboardEvent","key","preventDefault","includes","group","closest","HTMLElement","values","Array","from","querySelectorAll","map","item","dataset","filter","undefined","length","currentIndex","indexOf","direction","nextIndex","nextValue","focusItem","addEventListener","registerItem","removeEventListener","_el$","_tmpl$2","_$use","_$spread","_$mergeProps","aria-checked","data-value","data-checked","style","dir","class","classList","_$insert","_$createComponent","when","children","_tmpl$","_$mergeProps","_$createComponent","_tmpl$","_tmpl$2","RadioGroupItem","ctx","useRadioGroupContext","local","rest","splitProps","props","checked","createMemo","isDisabled","select","unregister","attachListeners","onClick","onKeyDown","e","group","el","values","item","value","nextValue","onCleanup","_el$","use","spread","mergeProps","\"class\"","clsx","insert","createComponent","Show"],"sources":["../../../../src/components/radio-group/RadioGroupItem/RadioGroupItem.tsx"],"sourcesContent":["import { Show, createMemo, onCleanup, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useRadioGroupContext } from \"../RadioGroup\";\nimport type { RadioGroupItemProps } from \"./RadioGroupItem.types\";\n\n/**\n * RadioGroupItem:一个 role=\"radio\" 的按钮。选中时内部渲染指示圆点。\n * 通过 context 读取 RadioGroup 的选中值和禁用状态,支持受控/非受控。\n */\nexport function RadioGroupItem(props: RadioGroupItemProps) {\n const ctx = useRadioGroupContext(\"RadioGroupItem\");\n\n const [local, rest] = splitProps(props, [\n \"value\",\n \"disabled\",\n \"class\",\n \"classList\",\n \"style\",\n \"dir\",\n \"children\",\n ]);\n\n const checked = createMemo(() => ctx.value() === local.value);\n const isDisabled = () => ctx.disabled() || !!local.disabled;\n\n const select = () => {\n if (isDisabled()) return;\n ctx.setValue(local.value);\n };\n\n let unregister: (() => void) | undefined;\n\n const attachListeners = (el: HTMLButtonElement) => {\n const onClick = () => select();\n const onKeyDown = (e: KeyboardEvent) => {\n if (isDisabled()) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n select();\n return;\n }\n\n if ([\"ArrowDown\", \"ArrowRight\", \"ArrowUp\", \"ArrowLeft\"].includes(e.key)) {\n e.preventDefault();\n const group = el.closest<HTMLElement>('[data-slot=\"radio-group\"]');\n const values = Array.from(\n group?.querySelectorAll<HTMLElement>(\n '[data-slot=\"radio-group-item\"]',\n ) ?? [],\n )\n .map((item) => item.dataset.value)\n .filter((value): value is string => value !== undefined);\n if (values.length === 0) return;\n const currentIndex = values.indexOf(local.value);\n const direction =\n e.key === \"ArrowDown\" || e.key === \"ArrowRight\" ? 1 : -1;\n const nextIndex =\n (currentIndex + direction + values.length) % values.length;\n const nextValue = values[nextIndex];\n ctx.setValue(nextValue);\n ctx.focusItem(nextValue);\n }\n };\n\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"keydown\", onKeyDown);\n unregister = ctx.registerItem(local.value, el);\n\n onCleanup(() => {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"keydown\", onKeyDown);\n unregister?.();\n });\n };\n\n return (\n <button\n ref={attachListeners}\n type=\"button\"\n role=\"radio\"\n aria-checked={checked()}\n data-slot=\"radio-group-item\"\n data-value={local.value}\n data-checked={checked() ? \"\" : undefined}\n disabled={isDisabled()}\n style={local.style}\n dir={local.dir}\n class={clsx(\n \"group/radio-group-item peer relative flex aspect-square size-4 shrink-0 items-center justify-center rounded-full border border-input outline-none transition-colors\",\n \"focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50\",\n \"disabled:cursor-not-allowed disabled:opacity-50\",\n \"aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary\",\n \"dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n \"data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary\",\n local.class,\n )}\n classList={local.classList}\n {...rest}\n >\n <Show when={checked()}>\n <span\n data-slot=\"radio-group-indicator\"\n class=\"size-2 rounded-full bg-primary-foreground\"\n />\n </Show>\n </button>\n );\n}\n"],"mappings":";;;;;;AASA,SAAgBO,EAAeC,GAA4B;CACzD,IAAMC,IAAMJ,EAAqB,gBAAgB,GAE3C,CAACK,GAAOC,KAAQR,EAAWK,GAAO;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEKI,IAAUX,QAAiBQ,EAAII,MAAM,MAAMH,EAAMG,KAAK,GACtDC,UAAmBL,EAAIM,SAAS,KAAK,CAAC,CAACL,EAAMK,UAE7CC,UAAe;EACnB,AAAIF,EAAW,KACfL,EAAIQ,SAASP,EAAMG,KAAK;CAC1B,GAEIK,GAEEC,KAAmBC,MAA0B;EACjD,IAAME,UAAgBN,EAAO,GACvBO,KAAaC,MAAqB;GACtC,IAAIV,GAAW,GACf;QAAIU,EAAEE,QAAQ,WAAWF,EAAEE,QAAQ,KAAK;KAEtCV,AADAQ,EAAEG,eAAe,GACjBX,EAAO;KACP;IACF;IAEA,IAAI;KAAC;KAAa;KAAc;KAAW;IAAW,CAAC,CAACY,SAASJ,EAAEE,GAAG,GAAG;KACvEF,EAAEG,eAAe;KACjB,IAAME,IAAQT,EAAGU,QAAqB,6BAA2B,GAC3DE,IAASC,MAAMC,KACnBL,GAAOM,iBACL,kCACF,KAAK,CAAA,CACP,CAAC,CACEC,KAAKC,MAASA,EAAKC,QAAQzB,KAAK,CAAC,CACjC0B,QAAQ1B,MAA2BA,MAAU2B,KAAAA,CAAS;KACzD,IAAIR,EAAOS,WAAW,GAAG;KAMzB,IAAMK,IAAYd,GALGA,EAAOW,QAAQjC,EAAMG,KAIvC6B,KAFDlB,EAAEE,QAAQ,eAAeF,EAAEE,QAAQ,eAAe,IAAI,MAE1BM,EAAOS,UAAUT,EAAOS;KAGtDhC,AADAA,EAAIQ,SAAS6B,CAAS,GACtBrC,EAAIsC,UAAUD,CAAS;IACzB;GArBA;EAsBF;EAMA5C,AAJAkB,EAAG4B,iBAAiB,SAAS1B,CAAO,GACpCF,EAAG4B,iBAAiB,WAAWzB,CAAS,GACxCL,IAAaT,EAAIwC,aAAavC,EAAMG,OAAOO,CAAE,GAE7ClB,QAAgB;GAGdgB,AAFAE,EAAG8B,oBAAoB,SAAS5B,CAAO,GACvCF,EAAG8B,oBAAoB,WAAW3B,CAAS,GAC3CL,IAAa;EACf,CAAC;CACH;CAEA,cAAA;EAAA,IAAAiC,IAAAC,EAAA;EAwByB,OAxBzBC,EAESlC,GAAegC,CAAA,GAAAG,EAAAH,GAAAI,EAAA;GAAA,IAAA,iBAAA;IAAA,OAGN3C,EAAQ;GAAC;GAAA,IAAA,eAAA;IAAA,OAEXF,EAAMG;GAAK;GAAA,IAAA,iBAAA;IAAA,OACTD,EAAQ,IAAI,KAAK4B,KAAAA;GAAS;GAAA,IACxCzB,WAAQ;IAAA,OAAED,EAAW;GAAC;GAAA,IACtB6C,QAAK;IAAA,OAAEjD,EAAMiD;GAAK;GAAA,IAClBC,MAAG;IAAA,OAAElD,EAAMkD;GAAG;GAAA,IAAAuC,QAAA;IAAA,OACP/F,EACL,uKACA,6EACA,mDACA,iIACA,kGACA,yHACAM,EAAMmD,KACR;GAAC;GAAA,IACDC,YAAS;IAAA,OAAEpD,EAAMoD;GAAS;EAAA,GACtBnD,CAAI,GAAA,IAAA,EAAA,GAAAoD,EAAAZ,GAAAa,EAEPhE,GAAI;GAAA,IAACiE,OAAI;IAAA,OAAErD,EAAQ;GAAC;GAAA,IAAAsD,WAAA;IAAA,OAAAC,EAAA;GAAA;EAAA,CAAA,CAAA,GAAAhB;CAAA,EAAA,CAAA;AAQ3B"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ResizableHandleProps } from '../resizable.types';
|
|
2
|
+
/**
|
|
3
|
+
* 两个面板之间的分隔条:支持拖拽、方向键、Home/End、Enter/Space 折叠。
|
|
4
|
+
* 默认只有 1px 可见线,靠 `::after` 扩大命中区域;`withHandle` 时显示抓手。
|
|
5
|
+
*/
|
|
6
|
+
export declare function ResizableHandle(props: ResizableHandleProps): import('solid-js').JSX.Element;
|