@neut/ui 0.0.17 → 0.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/accordion/Accordion/Accordion.js +3 -0
- package/dist/components/accordion/Accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/AccordionContent/AccordionContent.js +27 -21
- package/dist/components/accordion/AccordionContent/AccordionContent.js.map +1 -1
- package/dist/components/accordion/AccordionItem/AccordionItem.js +3 -0
- package/dist/components/accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js +19 -18
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js.map +1 -1
- package/dist/components/alert/Alert/Alert.js +8 -3
- package/dist/components/alert/Alert/Alert.js.map +1 -1
- package/dist/components/alert/AlertAction/AlertAction.js +8 -3
- package/dist/components/alert/AlertAction/AlertAction.js.map +1 -1
- package/dist/components/alert/AlertDescription/AlertDescription.js +8 -3
- package/dist/components/alert/AlertDescription/AlertDescription.js.map +1 -1
- package/dist/components/alert/AlertTitle/AlertTitle.js +8 -3
- package/dist/components/alert/AlertTitle/AlertTitle.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.d.ts +3 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js +6 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js +9 -7
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.types.d.ts +9 -3
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js +8 -3
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js +8 -3
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js +8 -3
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js +8 -3
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js +8 -3
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js.map +1 -1
- package/dist/components/aspect-ratio/AspectRatio.js +3 -0
- package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
- package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js +15 -7
- package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js.map +1 -1
- package/dist/components/avatar/Avatar/Avatar.context.d.ts +7 -0
- package/dist/components/avatar/Avatar/Avatar.context.js +1 -1
- package/dist/components/avatar/Avatar/Avatar.context.js.map +1 -1
- package/dist/components/avatar/Avatar/Avatar.js +7 -2
- package/dist/components/avatar/Avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/AvatarBadge/AvatarBadge.js +8 -3
- package/dist/components/avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/components/avatar/AvatarFallback/AvatarFallback.js +10 -5
- package/dist/components/avatar/AvatarFallback/AvatarFallback.js.map +1 -1
- package/dist/components/avatar/AvatarGroup/AvatarGroup.js +8 -3
- package/dist/components/avatar/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js +8 -3
- package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js.map +1 -1
- package/dist/components/avatar/AvatarImage/AvatarImage.js +19 -12
- package/dist/components/avatar/AvatarImage/AvatarImage.js.map +1 -1
- package/dist/components/badge/Badge.js +9 -4
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js +3 -0
- package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js +8 -3
- package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js.map +1 -1
- package/dist/components/bubble/BubbleContent/BubbleContent.js +21 -10
- package/dist/components/bubble/BubbleContent/BubbleContent.js.map +1 -1
- package/dist/components/button/Button.js +3 -0
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/button-group/ButtonGroup/ButtonGroup.js +3 -0
- package/dist/components/button-group/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js +16 -7
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js.map +1 -1
- package/dist/components/calendar/Calendar/Calendar.d.ts +2 -3
- package/dist/components/calendar/Calendar/Calendar.js +89 -264
- package/dist/components/calendar/Calendar/Calendar.js.map +1 -1
- package/dist/components/calendar/Calendar/Calendar.options.d.ts +43 -0
- package/dist/components/calendar/Calendar/Calendar.options.js +38 -0
- package/dist/components/calendar/Calendar/Calendar.options.js.map +1 -0
- package/dist/components/calendar/Calendar/Calendar.selection.d.ts +16 -0
- package/dist/components/calendar/Calendar/Calendar.selection.js +50 -0
- package/dist/components/calendar/Calendar/Calendar.selection.js.map +1 -0
- package/dist/components/calendar/Calendar/Calendar.styles.d.ts +8 -0
- package/dist/components/calendar/Calendar/Calendar.styles.js +32 -0
- package/dist/components/calendar/Calendar/Calendar.styles.js.map +1 -0
- package/dist/components/calendar/Calendar/Calendar.utils.d.ts +3 -1
- package/dist/components/calendar/Calendar/Calendar.utils.js +4 -1
- package/dist/components/calendar/Calendar/Calendar.utils.js.map +1 -1
- package/dist/components/calendar/Calendar/CalendarDay.d.ts +28 -0
- package/dist/components/calendar/Calendar/CalendarDay.js +41 -0
- package/dist/components/calendar/Calendar/CalendarDay.js.map +1 -0
- package/dist/components/calendar/Calendar/CalendarMonth.d.ts +35 -0
- package/dist/components/calendar/Calendar/CalendarMonth.js +127 -0
- package/dist/components/calendar/Calendar/CalendarMonth.js.map +1 -0
- package/dist/components/calendar/Calendar/CalendarMonthCaption.d.ts +22 -0
- package/dist/components/calendar/Calendar/CalendarMonthCaption.js +103 -0
- package/dist/components/calendar/Calendar/CalendarMonthCaption.js.map +1 -0
- package/dist/components/calendar/index.js +3 -2
- package/dist/components/card/Card/Card.js +3 -0
- package/dist/components/card/Card/Card.js.map +1 -1
- package/dist/components/card/CardAction/CardAction.js +8 -3
- package/dist/components/card/CardAction/CardAction.js.map +1 -1
- package/dist/components/card/CardContent/CardContent.js +8 -3
- package/dist/components/card/CardContent/CardContent.js.map +1 -1
- package/dist/components/card/CardDescription/CardDescription.js +8 -3
- package/dist/components/card/CardDescription/CardDescription.js.map +1 -1
- package/dist/components/card/CardFooter/CardFooter.js +8 -3
- package/dist/components/card/CardFooter/CardFooter.js.map +1 -1
- package/dist/components/card/CardHeader/CardHeader.js +8 -3
- package/dist/components/card/CardHeader/CardHeader.js.map +1 -1
- package/dist/components/card/CardTitle/CardTitle.js +8 -3
- package/dist/components/card/CardTitle/CardTitle.js.map +1 -1
- package/dist/components/carousel/Carousel/Carousel.context.js +1 -1
- package/dist/components/carousel/Carousel/Carousel.context.js.map +1 -1
- package/dist/components/carousel/Carousel/Carousel.js +19 -12
- package/dist/components/carousel/Carousel/Carousel.js.map +1 -1
- package/dist/components/carousel/Carousel/useKeyboardNavigation.d.ts +11 -1
- package/dist/components/carousel/Carousel/useKeyboardNavigation.js +5 -4
- package/dist/components/carousel/Carousel/useKeyboardNavigation.js.map +1 -1
- package/dist/components/carousel/CarouselContent/CarouselContent.js +8 -3
- package/dist/components/carousel/CarouselContent/CarouselContent.js.map +1 -1
- package/dist/components/carousel/CarouselNext/CarouselNext.js +29 -16
- package/dist/components/carousel/CarouselNext/CarouselNext.js.map +1 -1
- package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js +29 -16
- package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js.map +1 -1
- package/dist/components/checkbox/Checkbox/Checkbox.js +32 -25
- package/dist/components/checkbox/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.context.js +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.context.js.map +1 -1
- package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js +13 -12
- package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js.map +1 -1
- package/dist/components/combobox/Combobox/Combobox.js +52 -52
- package/dist/components/combobox/Combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/Combobox/Combobox.types.d.ts +15 -6
- package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js +7 -3
- package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js.map +1 -1
- package/dist/components/combobox/ComboboxClear/ComboboxClear.js +1 -1
- package/dist/components/combobox/ComboboxClear/ComboboxClear.js.map +1 -1
- package/dist/components/combobox/ComboboxInput/ComboboxInput.js +26 -10
- package/dist/components/combobox/ComboboxInput/ComboboxInput.js.map +1 -1
- package/dist/components/combobox/ComboboxItem/ComboboxItem.js +6 -5
- package/dist/components/combobox/ComboboxItem/ComboboxItem.js.map +1 -1
- package/dist/components/combobox/ComboboxList/ComboboxList.js +17 -11
- package/dist/components/combobox/ComboboxList/ComboboxList.js.map +1 -1
- package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js +8 -1
- package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js.map +1 -1
- package/dist/components/context-menu/ContextMenu/ContextMenu.js +10 -8
- package/dist/components/context-menu/ContextMenu/ContextMenu.js.map +1 -1
- package/dist/components/context-menu/ContextMenuContent/context-menu.highlight.d.ts +33 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.highlight.js +41 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.highlight.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.popup-items.d.ts +25 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.popup-items.js +20 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.popup-items.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.positioner.d.ts +31 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.positioner.js +39 -0
- package/dist/components/context-menu/ContextMenuContent/context-menu.positioner.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js +70 -136
- package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js.map +1 -1
- package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js +2 -1
- package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js.map +1 -1
- package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js +20 -10
- package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js.map +1 -1
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.long-press.d.ts +24 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.long-press.js +26 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.long-press.js.map +1 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.trigger.utils.d.ts +35 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.trigger.utils.js +17 -0
- package/dist/components/context-menu/ContextMenuTrigger/context-menu.trigger.utils.js.map +1 -0
- package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.d.ts +9 -11
- package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js +36 -33
- package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js.map +1 -1
- package/dist/components/context-menu/context-menu.keyboard.d.ts +29 -0
- package/dist/components/context-menu/context-menu.keyboard.js +52 -0
- package/dist/components/context-menu/context-menu.keyboard.js.map +1 -0
- package/dist/components/context-menu/context-menu.typeahead.d.ts +27 -0
- package/dist/components/context-menu/context-menu.typeahead.js +19 -0
- package/dist/components/context-menu/context-menu.typeahead.js.map +1 -0
- package/dist/components/context-menu/context-menu.utils.d.ts +5 -2
- package/dist/components/context-menu/context-menu.utils.js +17 -39
- package/dist/components/context-menu/context-menu.utils.js.map +1 -1
- package/dist/components/date-picker/DatePicker/DatePicker.js +6 -0
- package/dist/components/date-picker/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.context.js +1 -1
- package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.js +24 -15
- package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.types.d.ts +5 -0
- package/dist/components/dialog/DialogClose/DialogClose.js +20 -19
- package/dist/components/dialog/DialogClose/DialogClose.js.map +1 -1
- package/dist/components/dialog/DialogContent/DialogContent.context.js +1 -1
- package/dist/components/dialog/DialogContent/DialogContent.context.js.map +1 -1
- package/dist/components/dialog/DialogDescription/DialogDescription.js +8 -3
- package/dist/components/dialog/DialogDescription/DialogDescription.js.map +1 -1
- package/dist/components/dialog/DialogFooter/DialogFooter.js +8 -3
- package/dist/components/dialog/DialogFooter/DialogFooter.js.map +1 -1
- package/dist/components/dialog/DialogHeader/DialogHeader.js +8 -3
- package/dist/components/dialog/DialogHeader/DialogHeader.js.map +1 -1
- package/dist/components/dialog/DialogOverlay/DialogOverlay.js +3 -0
- package/dist/components/dialog/DialogOverlay/DialogOverlay.js.map +1 -1
- package/dist/components/dialog/DialogSurface/DialogSurface.js +34 -26
- package/dist/components/dialog/DialogSurface/DialogSurface.js.map +1 -1
- package/dist/components/dialog/DialogTitle/DialogTitle.js +8 -3
- package/dist/components/dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/components/drawer/Drawer/Drawer.js +1 -1
- package/dist/components/drawer/Drawer/Drawer.js.map +1 -1
- package/dist/components/drawer/Drawer/create-change-event-details.js +4 -20
- package/dist/components/drawer/Drawer/create-change-event-details.js.map +1 -1
- package/dist/components/drawer/DrawerContent/drawer-swipe.utils.d.ts +32 -0
- package/dist/components/drawer/DrawerContent/drawer-swipe.utils.js +36 -0
- package/dist/components/drawer/DrawerContent/drawer-swipe.utils.js.map +1 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.d.ts +3 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.js +22 -42
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.js.map +1 -1
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js +1 -1
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js +7 -7
- package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js.map +1 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.d.ts +7 -1
- package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js +10 -10
- package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js.map +1 -1
- package/dist/components/field/Field/Field.js +3 -0
- package/dist/components/field/Field/Field.js.map +1 -1
- package/dist/components/field/FieldContent/FieldContent.js +8 -3
- package/dist/components/field/FieldContent/FieldContent.js.map +1 -1
- package/dist/components/field/FieldDescription/FieldDescription.js +8 -3
- package/dist/components/field/FieldDescription/FieldDescription.js.map +1 -1
- package/dist/components/field/FieldError/FieldError.js +8 -3
- package/dist/components/field/FieldError/FieldError.js.map +1 -1
- package/dist/components/field/FieldGroup/FieldGroup.js +8 -3
- package/dist/components/field/FieldGroup/FieldGroup.js.map +1 -1
- package/dist/components/field/FieldLabel/FieldLabel.js +3 -0
- package/dist/components/field/FieldLabel/FieldLabel.js.map +1 -1
- package/dist/components/field/FieldLegend/FieldLegend.js +3 -0
- package/dist/components/field/FieldLegend/FieldLegend.js.map +1 -1
- package/dist/components/field/FieldSeparator/FieldSeparator.js +3 -0
- package/dist/components/field/FieldSeparator/FieldSeparator.js.map +1 -1
- package/dist/components/field/FieldSet/FieldSet.js +8 -3
- package/dist/components/field/FieldSet/FieldSet.js.map +1 -1
- package/dist/components/field/FieldTitle/FieldTitle.js +8 -3
- package/dist/components/field/FieldTitle/FieldTitle.js.map +1 -1
- package/dist/components/image/Image.utils.d.ts +14 -16
- package/dist/components/image/Image.utils.js +146 -190
- package/dist/components/image/Image.utils.js.map +1 -1
- package/dist/components/image/ImageElement.js +31 -27
- package/dist/components/image/ImageElement.js.map +1 -1
- package/dist/components/image/lib/blur.d.ts +31 -0
- package/dist/components/image/lib/blur.js +24 -0
- package/dist/components/image/lib/blur.js.map +1 -0
- package/dist/components/image/lib/dev-checks.d.ts +52 -0
- package/dist/components/image/lib/handle-loading.d.ts +13 -0
- package/dist/components/image/lib/handle-loading.js +20 -0
- package/dist/components/image/lib/handle-loading.js.map +1 -0
- package/dist/components/image/lib/loader.d.ts +39 -0
- package/dist/components/image/lib/loader.js +57 -0
- package/dist/components/image/lib/loader.js.map +1 -0
- package/dist/components/image/lib/static-import.d.ts +14 -0
- package/dist/components/image/lib/static-import.js +17 -0
- package/dist/components/image/lib/static-import.js.map +1 -0
- package/dist/components/input-group/InputGroup/InputGroup.js +8 -3
- package/dist/components/input-group/InputGroup/InputGroup.js.map +1 -1
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js +3 -0
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js.map +1 -1
- package/dist/components/input-group/InputGroupButton/InputGroupButton.js +3 -0
- package/dist/components/input-group/InputGroupButton/InputGroupButton.js.map +1 -1
- package/dist/components/input-group/InputGroupInput/InputGroupInput.js +3 -0
- package/dist/components/input-group/InputGroupInput/InputGroupInput.js.map +1 -1
- package/dist/components/input-group/InputGroupText/InputGroupText.js +8 -3
- package/dist/components/input-group/InputGroupText/InputGroupText.js.map +1 -1
- package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js +3 -0
- package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js.map +1 -1
- package/dist/components/item/Item/Item.js +9 -0
- package/dist/components/item/Item/Item.js.map +1 -1
- package/dist/components/item/ItemActions/ItemActions.js +8 -3
- package/dist/components/item/ItemActions/ItemActions.js.map +1 -1
- package/dist/components/item/ItemContent/ItemContent.js +8 -3
- package/dist/components/item/ItemContent/ItemContent.js.map +1 -1
- package/dist/components/item/ItemDescription/ItemDescription.js +8 -3
- package/dist/components/item/ItemDescription/ItemDescription.js.map +1 -1
- package/dist/components/item/ItemFooter/ItemFooter.js +8 -3
- package/dist/components/item/ItemFooter/ItemFooter.js.map +1 -1
- package/dist/components/item/ItemGroup/ItemGroup.js +8 -3
- package/dist/components/item/ItemGroup/ItemGroup.js.map +1 -1
- package/dist/components/item/ItemHeader/ItemHeader.js +8 -3
- package/dist/components/item/ItemHeader/ItemHeader.js.map +1 -1
- package/dist/components/item/ItemMedia/ItemMedia.js +3 -0
- package/dist/components/item/ItemMedia/ItemMedia.js.map +1 -1
- package/dist/components/item/ItemSeparator/ItemSeparator.js +3 -0
- package/dist/components/item/ItemSeparator/ItemSeparator.js.map +1 -1
- package/dist/components/item/ItemTitle/ItemTitle.js +8 -3
- package/dist/components/item/ItemTitle/ItemTitle.js.map +1 -1
- package/dist/components/kbd/Kbd.js +16 -6
- package/dist/components/kbd/Kbd.js.map +1 -1
- package/dist/components/label/Label.js +3 -0
- package/dist/components/label/Label.js.map +1 -1
- package/dist/components/marker/Marker/Marker.styles.d.ts +1 -1
- package/dist/components/message-scroller/message-scroller.anchoring.d.ts +60 -0
- package/dist/components/message-scroller/message-scroller.anchoring.js +139 -0
- package/dist/components/message-scroller/message-scroller.anchoring.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.anchors.d.ts +12 -0
- package/dist/components/message-scroller/message-scroller.anchors.js +23 -0
- package/dist/components/message-scroller/message-scroller.anchors.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.commands.d.ts +43 -0
- package/dist/components/message-scroller/message-scroller.commands.js +51 -0
- package/dist/components/message-scroller/message-scroller.commands.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.dom-measure.d.ts +29 -0
- package/dist/components/message-scroller/message-scroller.dom-measure.js +37 -0
- package/dist/components/message-scroller/message-scroller.dom-measure.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.measure.d.ts +27 -0
- package/dist/components/message-scroller/message-scroller.measure.js +21 -0
- package/dist/components/message-scroller/message-scroller.measure.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.scroll-state.d.ts +54 -0
- package/dist/components/message-scroller/message-scroller.scroll-state.js +74 -0
- package/dist/components/message-scroller/message-scroller.scroll-state.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.scroll-target.d.ts +27 -0
- package/dist/components/message-scroller/message-scroller.scroll-target.js +33 -0
- package/dist/components/message-scroller/message-scroller.scroll-target.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.utils.d.ts +7 -0
- package/dist/components/message-scroller/message-scroller.utils.js +3 -2
- package/dist/components/message-scroller/message-scroller.utils.js.map +1 -1
- package/dist/components/message-scroller/message-scroller.visibility.d.ts +43 -0
- package/dist/components/message-scroller/message-scroller.visibility.js +82 -0
- package/dist/components/message-scroller/message-scroller.visibility.js.map +1 -0
- package/dist/components/message-scroller/useMessageScrollerEngine.js +87 -337
- package/dist/components/message-scroller/useMessageScrollerEngine.js.map +1 -1
- package/dist/components/number-input/NumberInput/NumberInput.js +21 -19
- package/dist/components/number-input/NumberInput/NumberInput.js.map +1 -1
- package/dist/components/number-input/NumberInput/NumberInput.utils.d.ts +6 -2
- package/dist/components/number-input/NumberInput/NumberInput.utils.js +1 -3
- package/dist/components/number-input/NumberInput/NumberInput.utils.js.map +1 -1
- package/dist/components/number-input/NumberInput/create-change-event-details.d.ts +1 -2
- package/dist/components/number-input/NumberInput/create-change-event-details.js +4 -20
- package/dist/components/number-input/NumberInput/create-change-event-details.js.map +1 -1
- package/dist/components/pagination/Pagination/Pagination.js +8 -3
- package/dist/components/pagination/Pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationContent/PaginationContent.js +8 -3
- package/dist/components/pagination/PaginationContent/PaginationContent.js.map +1 -1
- package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js +8 -3
- package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js.map +1 -1
- package/dist/components/pagination/PaginationLink/PaginationLink.js +3 -0
- package/dist/components/pagination/PaginationLink/PaginationLink.js.map +1 -1
- package/dist/components/pagination/PaginationNext/PaginationNext.js +3 -0
- package/dist/components/pagination/PaginationNext/PaginationNext.js.map +1 -1
- package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js +3 -0
- package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js.map +1 -1
- package/dist/components/popover/PopoverContent/PopoverContent.js +3 -0
- package/dist/components/popover/PopoverContent/PopoverContent.js.map +1 -1
- package/dist/components/progress/Progress/Progress.context.js +1 -1
- package/dist/components/progress/Progress/Progress.context.js.map +1 -1
- package/dist/components/progress/Progress/Progress.js +3 -0
- package/dist/components/progress/Progress/Progress.js.map +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.js +3 -0
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -1
- package/dist/components/progress/ProgressLabel/ProgressLabel.js +8 -3
- package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.js +3 -0
- package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.js +8 -3
- package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -1
- package/dist/components/questionnaire/QuestionnaireChoice/questionnaire-choice.utils.d.ts +48 -0
- package/dist/components/questionnaire/QuestionnaireChoice/questionnaire-choice.utils.js +23 -0
- package/dist/components/questionnaire/QuestionnaireChoice/questionnaire-choice.utils.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js +62 -49
- package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js.map +1 -1
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js +4 -1
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js.map +1 -1
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js +1 -2
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js.map +1 -1
- package/dist/components/questionnaire/questionnaire.answers.d.ts +42 -0
- package/dist/components/questionnaire/questionnaire.answers.js +62 -0
- package/dist/components/questionnaire/questionnaire.answers.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.aria.d.ts +34 -0
- package/dist/components/questionnaire/questionnaire.aria.js +28 -0
- package/dist/components/questionnaire/questionnaire.aria.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.dom-watch.d.ts +9 -0
- package/dist/components/questionnaire/questionnaire.dom-watch.js +18 -0
- package/dist/components/questionnaire/questionnaire.dom-watch.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.focus.d.ts +26 -0
- package/dist/components/questionnaire/questionnaire.focus.js +19 -0
- package/dist/components/questionnaire/questionnaire.focus.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.item-view.d.ts +50 -0
- package/dist/components/questionnaire/questionnaire.item-view.js +36 -0
- package/dist/components/questionnaire/questionnaire.item-view.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.keys.d.ts +29 -0
- package/dist/components/questionnaire/questionnaire.keys.js +34 -0
- package/dist/components/questionnaire/questionnaire.keys.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.registry.d.ts +21 -0
- package/dist/components/questionnaire/questionnaire.registry.js +15 -0
- package/dist/components/questionnaire/questionnaire.registry.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.shortcuts.d.ts +24 -0
- package/dist/components/questionnaire/questionnaire.shortcuts.js +31 -0
- package/dist/components/questionnaire/questionnaire.shortcuts.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.utils.d.ts +17 -1
- package/dist/components/questionnaire/questionnaire.utils.js +5 -2
- package/dist/components/questionnaire/questionnaire.utils.js.map +1 -1
- package/dist/components/questionnaire/questionnaire.validation.d.ts +43 -0
- package/dist/components/questionnaire/questionnaire.validation.js +17 -0
- package/dist/components/questionnaire/questionnaire.validation.js.map +1 -0
- package/dist/components/questionnaire/useQuestionnaireItem.d.ts +0 -2
- package/dist/components/questionnaire/useQuestionnaireItem.js +83 -121
- package/dist/components/questionnaire/useQuestionnaireItem.js.map +1 -1
- package/dist/components/questionnaire/useQuestionnaireRoot.js +78 -99
- package/dist/components/questionnaire/useQuestionnaireRoot.js.map +1 -1
- package/dist/components/radio-group/RadioGroup/RadioGroup.js +3 -0
- package/dist/components/radio-group/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js +3 -0
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js.map +1 -1
- package/dist/components/resizable/ResizableHandle/resizable.handle-drag.d.ts +37 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-drag.js +37 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-drag.js.map +1 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-keys.d.ts +24 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-keys.js +36 -0
- package/dist/components/resizable/ResizableHandle/resizable.handle-keys.js.map +1 -0
- package/dist/components/resizable/ResizableHandle/useResizableHandle.d.ts +3 -4
- package/dist/components/resizable/ResizableHandle/useResizableHandle.js +30 -63
- package/dist/components/resizable/ResizableHandle/useResizableHandle.js.map +1 -1
- package/dist/components/resizable/ResizablePanel/ResizablePanel.d.ts +4 -2
- package/dist/components/resizable/ResizablePanel/ResizablePanel.js +23 -50
- package/dist/components/resizable/ResizablePanel/ResizablePanel.js.map +1 -1
- package/dist/components/resizable/ResizablePanel/useResizablePanel.d.ts +30 -0
- package/dist/components/resizable/ResizablePanel/useResizablePanel.js +37 -0
- package/dist/components/resizable/ResizablePanel/useResizablePanel.js.map +1 -0
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.d.ts +4 -1
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js +10 -17
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js.map +1 -1
- package/dist/components/resizable/ResizablePanelGroup/useDragCursor.d.ts +11 -0
- package/dist/components/resizable/ResizablePanelGroup/useDragCursor.js +17 -0
- package/dist/components/resizable/ResizablePanelGroup/useDragCursor.js.map +1 -0
- package/dist/components/resizable/resizable.collapse.d.ts +27 -0
- package/dist/components/resizable/resizable.collapse.js +24 -0
- package/dist/components/resizable/resizable.collapse.js.map +1 -0
- package/dist/components/resizable/resizable.commands.d.ts +32 -0
- package/dist/components/resizable/resizable.commands.js +40 -0
- package/dist/components/resizable/resizable.commands.js.map +1 -0
- package/dist/components/resizable/resizable.constraints.d.ts +23 -0
- package/dist/components/resizable/resizable.constraints.js +32 -0
- package/dist/components/resizable/resizable.constraints.js.map +1 -0
- package/dist/components/resizable/resizable.lifecycle.d.ts +35 -0
- package/dist/components/resizable/resizable.lifecycle.js +32 -0
- package/dist/components/resizable/resizable.lifecycle.js.map +1 -0
- package/dist/components/resizable/resizable.registry.d.ts +31 -0
- package/dist/components/resizable/resizable.registry.js +38 -0
- package/dist/components/resizable/resizable.registry.js.map +1 -0
- package/dist/components/resizable/resizable.reporting.d.ts +36 -0
- package/dist/components/resizable/resizable.reporting.js +33 -0
- package/dist/components/resizable/resizable.reporting.js.map +1 -0
- package/dist/components/resizable/resizable.resize.d.ts +47 -0
- package/dist/components/resizable/resizable.resize.js +28 -0
- package/dist/components/resizable/resizable.resize.js.map +1 -0
- package/dist/components/resizable/resizable.sizes.d.ts +31 -0
- package/dist/components/resizable/resizable.sizes.js +46 -0
- package/dist/components/resizable/resizable.sizes.js.map +1 -0
- package/dist/components/resizable/resizable.storage.d.ts +17 -0
- package/dist/components/resizable/resizable.storage.js +29 -0
- package/dist/components/resizable/resizable.storage.js.map +1 -0
- package/dist/components/resizable/resizable.utils.d.ts +10 -3
- package/dist/components/resizable/resizable.utils.js +16 -10
- package/dist/components/resizable/resizable.utils.js.map +1 -1
- package/dist/components/resizable/useResizablePanelGroup.js +62 -164
- package/dist/components/resizable/useResizablePanelGroup.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.d.ts +9 -0
- package/dist/components/scroll-area/ScrollArea/ScrollArea.js +28 -39
- package/dist/components/scroll-area/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js +3 -3
- package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/useScrollAreaMetrics.d.ts +22 -0
- package/dist/components/scroll-area/ScrollArea/useScrollAreaMetrics.js +34 -0
- package/dist/components/scroll-area/ScrollArea/useScrollAreaMetrics.js.map +1 -0
- package/dist/components/scroll-area/ScrollBar/ScrollBar.d.ts +8 -0
- package/dist/components/scroll-area/ScrollBar/ScrollBar.js +38 -71
- package/dist/components/scroll-area/ScrollBar/ScrollBar.js.map +1 -1
- package/dist/components/scroll-area/ScrollBar/ScrollBar.utils.d.ts +56 -0
- package/dist/components/scroll-area/ScrollBar/ScrollBar.utils.js +61 -0
- package/dist/components/scroll-area/ScrollBar/ScrollBar.utils.js.map +1 -0
- package/dist/components/scroll-area/ScrollBar/scroll-bar.thumb-drag.d.ts +25 -0
- package/dist/components/scroll-area/ScrollBar/scroll-bar.thumb-drag.js +26 -0
- package/dist/components/scroll-area/ScrollBar/scroll-bar.thumb-drag.js.map +1 -0
- package/dist/components/scroll-area/ScrollBar/useScrollBarInteraction.d.ts +19 -0
- package/dist/components/scroll-area/ScrollBar/useScrollBarInteraction.js +37 -0
- package/dist/components/scroll-area/ScrollBar/useScrollBarInteraction.js.map +1 -0
- package/dist/components/scroll-arrows/ScrollArrowButton.d.ts +5 -7
- package/dist/components/scroll-arrows/ScrollArrowButton.js +14 -44
- package/dist/components/scroll-arrows/ScrollArrowButton.js.map +1 -1
- package/dist/components/scroll-arrows/ScrollArrows.d.ts +4 -3
- package/dist/components/scroll-arrows/ScrollArrows.js +16 -22
- package/dist/components/scroll-arrows/ScrollArrows.js.map +1 -1
- package/dist/components/scroll-arrows/ScrollArrows.types.d.ts +7 -7
- package/dist/components/scroll-arrows/useHoverScroll.d.ts +29 -0
- package/dist/components/scroll-arrows/useHoverScroll.js +39 -0
- package/dist/components/scroll-arrows/useHoverScroll.js.map +1 -0
- package/dist/components/select/SelectContent/useSelectContent.js +3 -3
- package/dist/components/select/SelectGroup/SelectGroup.d.ts +8 -2
- package/dist/components/select/SelectGroup/SelectGroup.js +20 -6
- package/dist/components/select/SelectGroup/SelectGroup.js.map +1 -1
- package/dist/components/select/SelectGroup/SelectGroup.types.d.ts +9 -0
- package/dist/components/select/SelectGroup/index.d.ts +1 -0
- package/dist/components/select/SelectTrigger/SelectTrigger.js.map +1 -1
- package/dist/components/select/SelectTrigger/useSelectTrigger.js +1 -1
- package/dist/components/select/SelectTrigger/useSelectTrigger.js.map +1 -1
- package/dist/components/separator/Separator.js +3 -0
- package/dist/components/separator/Separator.js.map +1 -1
- package/dist/components/sheet/SheetClose/SheetClose.js +18 -17
- package/dist/components/sheet/SheetClose/SheetClose.js.map +1 -1
- package/dist/components/sidebar/Sidebar/Sidebar.js +14 -6
- package/dist/components/sidebar/Sidebar/Sidebar.js.map +1 -1
- package/dist/components/sidebar/SidebarContent/SidebarContent.js +8 -3
- package/dist/components/sidebar/SidebarContent/SidebarContent.js.map +1 -1
- package/dist/components/sidebar/SidebarFooter/SidebarFooter.js +8 -3
- package/dist/components/sidebar/SidebarFooter/SidebarFooter.js.map +1 -1
- package/dist/components/sidebar/SidebarGroup/SidebarGroup.js +8 -3
- package/dist/components/sidebar/SidebarGroup/SidebarGroup.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js +3 -0
- package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js +8 -3
- package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js +3 -0
- package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js.map +1 -1
- package/dist/components/sidebar/SidebarHeader/SidebarHeader.js +8 -3
- package/dist/components/sidebar/SidebarHeader/SidebarHeader.js.map +1 -1
- package/dist/components/sidebar/SidebarInput/SidebarInput.js +3 -0
- package/dist/components/sidebar/SidebarInput/SidebarInput.js.map +1 -1
- package/dist/components/sidebar/SidebarInset/SidebarInset.js +8 -3
- package/dist/components/sidebar/SidebarInset/SidebarInset.js.map +1 -1
- package/dist/components/sidebar/SidebarMenu/SidebarMenu.js +8 -3
- package/dist/components/sidebar/SidebarMenu/SidebarMenu.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js +8 -3
- package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js +6 -0
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js +8 -3
- package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js +8 -3
- package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js +8 -3
- package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js +3 -0
- package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js +8 -3
- package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js.map +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js.map +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.js +30 -27
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.js.map +1 -1
- package/dist/components/sidebar/SidebarProvider/useIsMobile.d.ts +10 -0
- package/dist/components/sidebar/SidebarProvider/useIsMobile.js +14 -0
- package/dist/components/sidebar/SidebarProvider/useIsMobile.js.map +1 -0
- package/dist/components/sidebar/SidebarRail/SidebarRail.js +8 -3
- package/dist/components/sidebar/SidebarRail/SidebarRail.js.map +1 -1
- package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js +3 -0
- package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js.map +1 -1
- package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js +3 -0
- package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js.map +1 -1
- package/dist/components/skeleton/Skeleton.js +8 -3
- package/dist/components/skeleton/Skeleton.js.map +1 -1
- package/dist/components/slider/Slider/Slider.context.js +1 -1
- package/dist/components/slider/Slider/Slider.context.js.map +1 -1
- package/dist/components/slider/Slider/Slider.js +3 -0
- package/dist/components/slider/Slider/Slider.js.map +1 -1
- package/dist/components/slider/SliderControl/SliderControl.js +4 -1
- package/dist/components/slider/SliderControl/SliderControl.js.map +1 -1
- package/dist/components/slider/SliderIndicator/SliderIndicator.js +3 -0
- package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +1 -1
- package/dist/components/slider/SliderThumb/SliderThumb.js +18 -3
- package/dist/components/slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/components/slider/SliderThumb/useSliderThumb.d.ts +1 -0
- package/dist/components/slider/SliderThumb/useSliderThumb.js +3 -2
- package/dist/components/slider/SliderThumb/useSliderThumb.js.map +1 -1
- package/dist/components/slider/SliderTrack/SliderTrack.js +3 -0
- package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -1
- package/dist/components/spinner/Spinner.js +3 -0
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/switch/Switch.js +7 -0
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/tabs/Tabs/Tabs.context.js +1 -1
- package/dist/components/tabs/Tabs/Tabs.context.js.map +1 -1
- package/dist/components/tabs/Tabs/useTabsKeyboard.d.ts +7 -11
- package/dist/components/tabs/Tabs/useTabsKeyboard.js +8 -42
- package/dist/components/tabs/Tabs/useTabsKeyboard.js.map +1 -1
- package/dist/components/tabs/TabsList/TabsList.context.js +1 -1
- package/dist/components/tabs/TabsList/TabsList.context.js.map +1 -1
- package/dist/components/tabs/TabsList/TabsList.js +10 -10
- package/dist/components/tabs/TabsList/TabsList.js.map +1 -1
- package/dist/components/tabs/TabsTrigger/TabsTrigger.js +8 -8
- package/dist/components/tabs/TabsTrigger/TabsTrigger.js.map +1 -1
- package/dist/components/textarea/Textarea.js +8 -3
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/time-picker/TimePicker/create-change-event-details.d.ts +1 -2
- package/dist/components/time-picker/TimePicker/create-change-event-details.js +4 -20
- package/dist/components/time-picker/TimePicker/create-change-event-details.js.map +1 -1
- package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js +1 -3
- package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js.map +1 -1
- package/dist/components/time-picker/TimePickerColumn/time-picker.column-utils.d.ts +34 -0
- package/dist/components/time-picker/TimePickerColumn/time-picker.column-utils.js +43 -0
- package/dist/components/time-picker/TimePickerColumn/time-picker.column-utils.js.map +1 -0
- package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js +34 -59
- package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js.map +1 -1
- package/dist/components/toast/Toast/Toast.d.ts +8 -2
- package/dist/components/toast/Toast/Toast.js +92 -146
- package/dist/components/toast/Toast/Toast.js.map +1 -1
- package/dist/components/toast/Toast/Toast.types.d.ts +1 -1
- package/dist/components/toast/Toast/Toast.types.js.map +1 -1
- package/dist/components/toast/Toast/Toast.utils.d.ts +47 -0
- package/dist/components/toast/Toast/Toast.utils.js +47 -0
- package/dist/components/toast/Toast/Toast.utils.js.map +1 -0
- package/dist/components/toast/Toast/ToastActionButton.d.ts +16 -0
- package/dist/components/toast/Toast/ToastActionButton.js +27 -0
- package/dist/components/toast/Toast/ToastActionButton.js.map +1 -0
- package/dist/components/toast/Toast/ToastActions.d.ts +12 -0
- package/dist/components/toast/Toast/ToastActions.js +65 -0
- package/dist/components/toast/Toast/ToastActions.js.map +1 -0
- package/dist/components/toast/Toast/ToastCloseButton.d.ts +12 -0
- package/dist/components/toast/Toast/ToastCloseButton.js +26 -0
- package/dist/components/toast/Toast/ToastCloseButton.js.map +1 -0
- package/dist/components/toast/Toast/ToastContent.d.ts +8 -0
- package/dist/components/toast/Toast/ToastContent.js +30 -0
- package/dist/components/toast/Toast/ToastContent.js.map +1 -0
- package/dist/components/toast/Toast/ToastIcon.d.ts +14 -0
- package/dist/components/toast/Toast/ToastIcon.js +36 -0
- package/dist/components/toast/Toast/ToastIcon.js.map +1 -0
- package/dist/components/toast/Toast/useToastLifecycle.d.ts +29 -0
- package/dist/components/toast/Toast/useToastLifecycle.js +30 -0
- package/dist/components/toast/Toast/useToastLifecycle.js.map +1 -0
- package/dist/components/toast/Toaster/ToastViewport.d.ts +33 -0
- package/dist/components/toast/Toaster/ToastViewport.js +73 -0
- package/dist/components/toast/Toaster/ToastViewport.js.map +1 -0
- package/dist/components/toast/Toaster/Toaster.d.ts +4 -0
- package/dist/components/toast/Toaster/Toaster.js +64 -82
- package/dist/components/toast/Toaster/Toaster.js.map +1 -1
- package/dist/components/toast/Toaster/Toaster.utils.d.ts +15 -0
- package/dist/components/toast/Toaster/Toaster.utils.js +4 -1
- package/dist/components/toast/Toaster/Toaster.utils.js.map +1 -1
- package/dist/components/toast/Toaster/useToaster.d.ts +28 -0
- package/dist/components/toast/Toaster/useToaster.js +26 -0
- package/dist/components/toast/Toaster/useToaster.js.map +1 -0
- package/dist/components/toast/index.js +4 -3
- package/dist/components/toast/state/promise-toast.d.ts +17 -0
- package/dist/components/toast/state/promise-toast.js +33 -0
- package/dist/components/toast/state/promise-toast.js.map +1 -0
- package/dist/components/toast/state/store.d.ts +21 -0
- package/dist/components/toast/state/store.js +45 -0
- package/dist/components/toast/state/store.js.map +1 -0
- package/dist/components/toast/state/toast.d.ts +9 -10
- package/dist/components/toast/state/toast.js +30 -89
- package/dist/components/toast/state/toast.js.map +1 -1
- package/dist/components/toggle/Toggle/Toggle.js +2 -1
- package/dist/components/toggle/Toggle/Toggle.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js +1 -1
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.d.ts +6 -2
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js +4 -20
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.d.ts +7 -10
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js +10 -40
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js +5 -5
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/usePresence.d.ts +27 -0
- package/dist/components/tooltip/TooltipContent/usePresence.js +24 -0
- package/dist/components/tooltip/TooltipContent/usePresence.js.map +1 -0
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js +22 -35
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
- package/dist/hooks/useFontLoader.js +1 -1
- package/dist/hooks/useFontLoader.js.map +1 -1
- package/dist/hooks/useScrollLock.js +13 -16
- package/dist/hooks/useScrollLock.js.map +1 -1
- package/dist/index.js +328 -320
- package/dist/lib/positioner/index.d.ts +1 -0
- package/dist/lib/positioner/utils/dom.d.ts +8 -0
- package/dist/lib/positioner/utils/dom.js +1 -1
- package/dist/lib/positioner/utils/dom.js.map +1 -1
- package/dist/types/props.types.d.ts +1 -1
- package/dist/ui.css +1 -1
- package/dist/utils/call-event-handler.d.ts +16 -0
- package/dist/utils/call-event-handler.js +15 -0
- package/dist/utils/call-event-handler.js.map +1 -0
- package/dist/utils/clsx.d.ts +1 -1
- package/dist/utils/clsx.js +2 -7
- package/dist/utils/create-change-event-details.d.ts +25 -0
- package/dist/utils/create-change-event-details.js +25 -0
- package/dist/utils/create-change-event-details.js.map +1 -0
- package/dist/utils/get-style.d.ts +7 -9
- package/dist/utils/get-style.js +16 -0
- package/dist/utils/get-style.js.map +1 -0
- package/dist/utils/index.d.ts +8 -0
- package/dist/utils/index.js +7 -1
- package/dist/utils/number.d.ts +7 -0
- package/dist/utils/number.js +8 -0
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/roving-navigation.d.ts +64 -0
- package/dist/utils/roving-navigation.js +66 -0
- package/dist/utils/roving-navigation.js.map +1 -0
- package/dist/utils/string.d.ts +17 -0
- package/dist/utils/string.js +11 -0
- package/dist/utils/string.js.map +1 -0
- package/package.json +18 -7
- package/dist/components/carousel/Carousel/Carousel.utils.d.ts +0 -0
- package/dist/components/field/FieldError/useFieldError.d.ts +0 -0
- package/dist/components/hover-card/hover-card.utils.d.ts +0 -6
- package/dist/components/tabs/Tabs/call-event-handler.d.ts +0 -5
- package/dist/components/tabs/Tabs/call-event-handler.js +0 -9
- package/dist/components/tabs/Tabs/call-event-handler.js.map +0 -1
- package/dist/components/toggle-group/call-event-handler.d.ts +0 -5
- package/dist/components/toggle-group/call-event-handler.js +0 -9
- package/dist/components/toggle-group/call-event-handler.js.map +0 -1
- package/dist/utils/clsx.js.map +0 -1
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { className as t, createComponent as n, delegateEvents as r, effect as i, insert as a, setAttribute as o, template as s } from "solid-js/web";
|
|
3
|
+
import { X as c } from "lucide-solid";
|
|
4
|
+
//#region src/components/toast/Toast/ToastCloseButton.tsx
|
|
5
|
+
var l = /*#__PURE__*/ s("<button type=button data-slot=toast-close>");
|
|
6
|
+
function u(r) {
|
|
7
|
+
return (() => {
|
|
8
|
+
var s = l();
|
|
9
|
+
return s.$$click = () => r.onClose(), a(s, n(c, { class: "size-3.5" })), i((n) => {
|
|
10
|
+
var i = r.ariaLabel ?? "Close toast", a = e("absolute top-2.5 right-2.5 flex size-5 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:text-foreground", r.class);
|
|
11
|
+
return i !== n.e && o(s, "aria-label", n.e = i), a !== n.t && t(s, n.t = a), n;
|
|
12
|
+
}, {
|
|
13
|
+
e: void 0,
|
|
14
|
+
t: void 0
|
|
15
|
+
}), s;
|
|
16
|
+
})();
|
|
17
|
+
}
|
|
18
|
+
function d(e, t) {
|
|
19
|
+
let n = e.type ?? "default";
|
|
20
|
+
return t && e.dismissible !== !1 && n !== "loading";
|
|
21
|
+
}
|
|
22
|
+
r(["click"]);
|
|
23
|
+
//#endregion
|
|
24
|
+
export { u as ToastCloseButton, d as isCloseButtonVisible };
|
|
25
|
+
|
|
26
|
+
//# sourceMappingURL=ToastCloseButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastCloseButton.js","names":["clsx","X","ToastT","ToastCloseButton","props","ariaLabel","class","onClose","_el$","_tmpl$","$$click","_$insert","_$createComponent","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","_$className","undefined","isCloseButtonVisible","toast","closeButton","type","dismissible","_$delegateEvents","_$createComponent","_$setAttribute","_$className","_$delegateEvents","_tmpl$","ToastCloseButton","_el$","props","insert","createComponent","X","\"class\"","effect","_v$","_v$2","clsx","_p$","setAttribute","className","isCloseButtonVisible","type","toast","closeButton","delegateEvents"],"sources":["../../../../src/components/toast/Toast/ToastCloseButton.tsx"],"sourcesContent":["import { clsx } from \"~/utils\";\nimport { X } from \"lucide-solid\";\nimport type { ToastT } from \"./Toast.types\";\n\n/**\n * 关闭按钮。只负责\"长什么样 + 报告点击\",是否显示、点了之后做什么\n * 都由调用方决定(关闭本身属于生命周期,不在渲染层)。\n */\nexport function ToastCloseButton(props: {\n ariaLabel?: string;\n class?: string;\n onClose: () => void;\n}) {\n return (\n <button\n type=\"button\"\n data-slot=\"toast-close\"\n aria-label={props.ariaLabel ?? \"Close toast\"}\n class={clsx(\n \"absolute top-2.5 right-2.5 flex size-5 shrink-0 items-center justify-center rounded-full text-muted-foreground transition-colors hover:text-foreground\",\n props.class,\n )}\n onClick={(): void => props.onClose()}\n >\n <X class=\"size-3.5\" />\n </button>\n );\n}\n\n/** 关闭按钮的可见性:显式开启、可关闭、且不是常驻的 loading */\nexport function isCloseButtonVisible(\n toast: ToastT,\n closeButton: boolean,\n): boolean {\n const type = toast.type ?? \"default\";\n return closeButton && toast.dismissible !== false && type !== \"loading\";\n}\n"],"mappings":";;;;;AAQA,SAAgBG,EAAiBC,GAI9B;CACD,cAAA;EAAA,IAAAI,IAAAC,EAAA;EAQK,OARLD,EAAAE,gBASyBN,EAAMG,QAAQ,GAACI,EAAAH,GAAAI,EAEnCX,GAAC,EAAAsC,OAAA,WAAA,CAAA,CAAA,GAAA1B,GAAAC,MAAA;GAAA,IAAAC,IAPUX,EAAMC,aAAa,eAAaW,IACrChB,EACL,0JACAI,EAAME,KACR;GAAC,OAAAS,MAAAD,EAAAG,KAAAC,EAAAV,GAAA,cAAAM,EAAAG,IAAAF,CAAA,GAAAC,MAAAF,EAAAK,KAAAC,EAAAZ,GAAAM,EAAAK,IAAAH,CAAA,GAAAF;EAAA,GAAA;GAAAG,GAAAI,KAAAA;GAAAF,GAAAE,KAAAA;EAAA,CAAA,GAAAb;CAAA,EAAA,CAAA;AAMP;AAGA,SAAgBc,EACdC,GACAC,GACS;CACT,IAAMC,IAAOF,EAAME,QAAQ;CAC3B,OAAOD,KAAeD,EAAMG,gBAAgB,MAASD,MAAS;AAChE;AAACE,EAAA,CAAA,OAAA,CAAA"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { resolveToastContent as t } from "./Toast.utils.js";
|
|
3
|
+
import { className as n, createComponent as r, effect as i, insert as a, template as o } from "solid-js/web";
|
|
4
|
+
import { Show as s } from "solid-js";
|
|
5
|
+
//#region src/components/toast/Toast/ToastContent.tsx
|
|
6
|
+
var c = /*#__PURE__*/ o("<div data-slot=toast-description>"), l = /*#__PURE__*/ o("<div data-slot=toast-content><div data-slot=toast-title>");
|
|
7
|
+
function u(o) {
|
|
8
|
+
return (() => {
|
|
9
|
+
var u = l(), d = u.firstChild;
|
|
10
|
+
return a(d, () => t(o.toast.title)), a(u, r(s, {
|
|
11
|
+
get when() {
|
|
12
|
+
return o.toast.description;
|
|
13
|
+
},
|
|
14
|
+
get children() {
|
|
15
|
+
var r = c();
|
|
16
|
+
return a(r, () => t(o.toast.description)), i(() => n(r, e("text-sm leading-relaxed text-muted-foreground", o.toast.descriptionClass, o.toast.classes?.description))), r;
|
|
17
|
+
}
|
|
18
|
+
}), null), i((t) => {
|
|
19
|
+
var r = e("flex min-w-0 flex-1 flex-col gap-0.5", o.toast.classes?.content), i = e("text-sm font-medium leading-snug", o.toast.classes?.title);
|
|
20
|
+
return r !== t.e && n(u, t.e = r), i !== t.t && n(d, t.t = i), t;
|
|
21
|
+
}, {
|
|
22
|
+
e: void 0,
|
|
23
|
+
t: void 0
|
|
24
|
+
}), u;
|
|
25
|
+
})();
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { u as ToastContent };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=ToastContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastContent.js","names":["Show","clsx","ToastT","resolveToastContent","ToastContent","props","toast","_el$","_tmpl$2","_el$2","firstChild","_$insert","title","_$createComponent","when","description","children","_el$3","_tmpl$","_$effect","_$className","descriptionClass","classes","_p$","_v$","content","_v$2","e","t","undefined","_$createComponent","_$className","_tmpl$","_tmpl$2","ToastContent","_el$","_el$2","insert","resolveToastContent","props","createComponent","Show","_el$3","effect","className","clsx","_v$","_v$2","_p$"],"sources":["../../../../src/components/toast/Toast/ToastContent.tsx"],"sourcesContent":["import { Show } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport type { ToastT } from \"./Toast.types\";\nimport { resolveToastContent } from \"./Toast.utils\";\n\n/**\n * 标题 + 描述。两者都支持惰性函数(内容可能随信号变化),\n * 求值统一走 `resolveToastContent`;描述为空时整块不渲染。\n */\nexport function ToastContent(props: { toast: ToastT }) {\n return (\n <div\n data-slot=\"toast-content\"\n class={clsx(\n \"flex min-w-0 flex-1 flex-col gap-0.5\",\n props.toast.classes?.content,\n )}\n >\n <div\n data-slot=\"toast-title\"\n class={clsx(\n \"text-sm font-medium leading-snug\",\n props.toast.classes?.title,\n )}\n >\n {resolveToastContent(props.toast.title)}\n </div>\n <Show when={props.toast.description}>\n <div\n data-slot=\"toast-description\"\n class={clsx(\n \"text-sm leading-relaxed text-muted-foreground\",\n props.toast.descriptionClass,\n props.toast.classes?.description,\n )}\n >\n {resolveToastContent(props.toast.description)}\n </div>\n </Show>\n </div>\n );\n}\n"],"mappings":";;;;;;AASA,SAAgBI,EAAaC,GAA0B;CACrD,cAAA;EAAA,IAAAE,IAAAC,EAAA,GAAAC,IAAAF,EAAAG;EAaO,OAbPC,EAAAF,SAeON,EAAoBE,EAAMC,MAAMM,KAAK,CAAC,GAAAD,EAAAJ,GAAAM,EAExCb,GAAI;GAAA,IAACc,OAAI;IAAA,OAAET,EAAMC,MAAMS;GAAW;GAAA,IAAAC,WAAA;IAAA,IAAAC,IAAAC,EAAA;IAO9B,OAP8BP,EAAAM,SAS9Bd,EAAoBE,EAAMC,MAAMS,WAAW,CAAC,GAAAI,QAAAC,EAAAH,GANtChB,EACL,iDACAI,EAAMC,MAAMe,kBACZhB,EAAMC,MAAMgB,SAASP,WACvB,CAAC,CAAA,GAAAE;GAAA;EAAA,CAAA,GAAA,IAAA,GAAAE,GAAAI,MAAA;GAAA,IAAAC,IArBEvB,EACL,wCACAI,EAAMC,MAAMgB,SAASG,OACvB,GAACC,IAIQzB,EACL,oCACAI,EAAMC,MAAMgB,SAASV,KACvB;GAAC,OAAAY,MAAAD,EAAAI,KAAAP,EAAAb,GAAAgB,EAAAI,IAAAH,CAAA,GAAAE,MAAAH,EAAAK,KAAAR,EAAAX,GAAAc,EAAAK,IAAAF,CAAA,GAAAH;EAAA,GAAA;GAAAI,GAAAE,KAAAA;GAAAD,GAAAC,KAAAA;EAAA,CAAA,GAAAtB;CAAA,EAAA,CAAA;AAkBT"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { ToastIcons, ToastT, ToastTypes } from './Toast.types';
|
|
3
|
+
/** 内置图标:类型 → lucide 图标;`default` 没有内置图标 */
|
|
4
|
+
export declare function getDefaultIcon(type: ToastTypes): JSX.Element;
|
|
5
|
+
/** 图标优先级:单条 toast 自带的 `icon` > Toaster 的 `icons` 映射 > 内置图标 */
|
|
6
|
+
export declare function resolveToastIcon(toast: ToastT, icons?: ToastIcons): JSX.Element;
|
|
7
|
+
/**
|
|
8
|
+
* 图标槽位:只负责"展示哪个图标"和它的容器类名,不参与任何布局/生命周期决策。
|
|
9
|
+
* 没有图标时整块不渲染,避免占位。
|
|
10
|
+
*/
|
|
11
|
+
export declare function ToastIcon(props: {
|
|
12
|
+
toast: ToastT;
|
|
13
|
+
icons?: ToastIcons;
|
|
14
|
+
}): JSX.Element;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { toastIconVariants as t } from "./Toast.styles.js";
|
|
3
|
+
import { className as n, createComponent as r, effect as i, insert as a, template as o } from "solid-js/web";
|
|
4
|
+
import { Show as s } from "solid-js";
|
|
5
|
+
import { CircleCheck as c, CircleX as l, Info as u, LoaderCircle as d, TriangleAlert as f } from "lucide-solid";
|
|
6
|
+
//#region src/components/toast/Toast/ToastIcon.tsx
|
|
7
|
+
var p = /*#__PURE__*/ o("<div data-slot=toast-icon>");
|
|
8
|
+
function m(e) {
|
|
9
|
+
switch (e) {
|
|
10
|
+
case "success": return r(c, {});
|
|
11
|
+
case "info": return r(u, {});
|
|
12
|
+
case "warning": return r(f, {});
|
|
13
|
+
case "error": return r(l, {});
|
|
14
|
+
case "loading": return r(d, { class: "animate-spin" });
|
|
15
|
+
default: return;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function h(e, t) {
|
|
19
|
+
let n = e.type ?? "default";
|
|
20
|
+
return e.icon === void 0 ? t?.[n] ?? m(n) : e.icon;
|
|
21
|
+
}
|
|
22
|
+
function g(o) {
|
|
23
|
+
return r(s, {
|
|
24
|
+
get when() {
|
|
25
|
+
return h(o.toast, o.icons);
|
|
26
|
+
},
|
|
27
|
+
get children() {
|
|
28
|
+
var r = p();
|
|
29
|
+
return a(r, () => h(o.toast, o.icons)), i(() => n(r, e(t({ type: o.toast.type ?? "default" }), o.toast.classes?.icon))), r;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
//#endregion
|
|
34
|
+
export { g as ToastIcon, m as getDefaultIcon, h as resolveToastIcon };
|
|
35
|
+
|
|
36
|
+
//# sourceMappingURL=ToastIcon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastIcon.js","names":["Show","JSX","CircleCheck","CircleX","Info","LoaderCircle","TriangleAlert","clsx","toastIconVariants","ToastIcons","ToastT","ToastTypes","getDefaultIcon","type","Element","_$createComponent","undefined","resolveToastIcon","toast","icons","icon","ToastIcon","props","when","children","_el$","_tmpl$","_$insert","_$effect","_$className","classes","_$createComponent","_$className","_tmpl$","getDefaultIcon","type","createComponent","CircleCheck","Info","TriangleAlert","CircleX","LoaderCircle","\"class\"","resolveToastIcon","toast","icons","ToastIcon","Show","props","_el$","insert","effect","className","clsx","toastIconVariants"],"sources":["../../../../src/components/toast/Toast/ToastIcon.tsx"],"sourcesContent":["import { Show, type JSX } from \"solid-js\";\nimport {\n CircleCheck,\n CircleX,\n Info,\n LoaderCircle,\n TriangleAlert,\n} from \"lucide-solid\";\nimport { clsx } from \"~/utils\";\nimport { toastIconVariants } from \"./Toast.styles\";\nimport type { ToastIcons, ToastT, ToastTypes } from \"./Toast.types\";\n\n/** 内置图标:类型 → lucide 图标;`default` 没有内置图标 */\nexport function getDefaultIcon(type: ToastTypes): JSX.Element {\n switch (type) {\n case \"success\":\n return <CircleCheck />;\n case \"info\":\n return <Info />;\n case \"warning\":\n return <TriangleAlert />;\n case \"error\":\n return <CircleX />;\n case \"loading\":\n return <LoaderCircle class=\"animate-spin\" />;\n default:\n return undefined;\n }\n}\n\n/** 图标优先级:单条 toast 自带的 `icon` > Toaster 的 `icons` 映射 > 内置图标 */\nexport function resolveToastIcon(\n toast: ToastT,\n icons?: ToastIcons,\n): JSX.Element {\n const type = toast.type ?? \"default\";\n if (toast.icon !== undefined) return toast.icon;\n return icons?.[type as keyof ToastIcons] ?? getDefaultIcon(type);\n}\n\n/**\n * 图标槽位:只负责\"展示哪个图标\"和它的容器类名,不参与任何布局/生命周期决策。\n * 没有图标时整块不渲染,避免占位。\n */\nexport function ToastIcon(props: { toast: ToastT; icons?: ToastIcons }) {\n return (\n <Show when={resolveToastIcon(props.toast, props.icons)}>\n <div\n data-slot=\"toast-icon\"\n class={clsx(\n toastIconVariants({ type: props.toast.type ?? \"default\" }),\n props.toast.classes?.icon,\n )}\n >\n {resolveToastIcon(props.toast, props.icons)}\n </div>\n </Show>\n );\n}\n"],"mappings":";;;;;;;AAaA,SAAgBY,EAAeC,GAA+B;CAC5D,QAAQA,GAAR;EACE,KAAK,WACH,OAAAE,EAAQb,GAAW,CAAA,CAAA;EACrB,KAAK,QACH,OAAAa,EAAQX,GAAI,CAAA,CAAA;EACd,KAAK,WACH,OAAAW,EAAQT,GAAa,CAAA,CAAA;EACvB,KAAK,SACH,OAAAS,EAAQZ,GAAO,CAAA,CAAA;EACjB,KAAK,WACH,OAAAY,EAAQV,GAAY,EAAAqC,OAAA,eAAA,CAAA;EACtB,SACE;CACJ;AACF;AAGA,SAAgBzB,EACdC,GACAC,GACa;CACb,IAAMN,IAAOK,EAAML,QAAQ;CAE3B,OADIK,EAAME,SAASJ,KAAAA,IACZG,IAAQN,MAA6BD,EAAeC,CAAI,IAD1BK,EAAME;AAE7C;AAMA,SAAgBC,EAAUC,GAA8C;CACtE,OAAAP,EACGf,GAAI;EAAA,IAACuB,OAAI;GAAA,OAAEN,EAAiBK,EAAMJ,OAAOI,EAAMH,KAAK;EAAC;EAAA,IAAAK,WAAA;GAAA,IAAAC,IAAAC,EAAA;GAMjD,OANiDC,EAAAF,SAQjDR,EAAiBK,EAAMJ,OAAOI,EAAMH,KAAK,CAAC,GAAAS,QAAAC,EAAAJ,GALpClB,EACLC,EAAkB,EAAEK,MAAMS,EAAMJ,MAAML,QAAQ,UAAU,CAAC,GACzDS,EAAMJ,MAAMY,SAASV,IACvB,CAAC,CAAA,GAAAK;EAAA;CAAA,CAAA;AAMT"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
import { ToastT } from './Toast.types';
|
|
3
|
+
/** 未指定 duration 时的存活时间 */
|
|
4
|
+
export declare const TOAST_LIFETIME = 4000;
|
|
5
|
+
/** 退场动画时长:状态先变 closed,动画结束后才通知父级移除 */
|
|
6
|
+
export declare const EXIT_ANIMATION_MS = 200;
|
|
7
|
+
export interface UseToastLifecycleOptions {
|
|
8
|
+
/** 当前 toast 数据(响应式读取,外部可随时改写 delete/duration) */
|
|
9
|
+
toast: Accessor<ToastT>;
|
|
10
|
+
/** Toaster 级别的兜底 duration */
|
|
11
|
+
duration: Accessor<number | undefined>;
|
|
12
|
+
/** 退场动画结束后的真正移除 */
|
|
13
|
+
onRemove: (id: string) => void;
|
|
14
|
+
}
|
|
15
|
+
export interface ToastLifecycle {
|
|
16
|
+
/** open 表示已进入;closed 表示正在退场(或尚未进入) */
|
|
17
|
+
animationState: Accessor<"open" | "closed">;
|
|
18
|
+
close: () => void;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Toast 的进出场生命周期:只关心"什么时候 open、什么时候 closed、什么时候移除",
|
|
22
|
+
* 不关心长什么样。渲染层订阅 `animationState` 决定 data-state 与动画。
|
|
23
|
+
*
|
|
24
|
+
* - 挂载后延后一帧再置 open:让浏览器先以 closed 状态完成首次绘制,动画才有起点;
|
|
25
|
+
* - `close()` 幂等:退场中的重复调用不会重复回调与重复排队移除;
|
|
26
|
+
* - 外部 dismiss(`toast.delete`)复用了同一条退场路径,避免两套退出逻辑;
|
|
27
|
+
* - loading 类型、`duration` 为 `0`/`Infinity` 时视为常驻,不安排自动关闭。
|
|
28
|
+
*/
|
|
29
|
+
export declare function useToastLifecycle(options: UseToastLifecycleOptions): ToastLifecycle;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createEffect as e, createSignal as t, onCleanup as n, onMount as r } from "solid-js";
|
|
2
|
+
//#region src/components/toast/Toast/useToastLifecycle.ts
|
|
3
|
+
var i = 4e3;
|
|
4
|
+
function a(i) {
|
|
5
|
+
let [a, o] = t("closed");
|
|
6
|
+
r(() => {
|
|
7
|
+
let e = requestAnimationFrame(() => o("open"));
|
|
8
|
+
n(() => cancelAnimationFrame(e));
|
|
9
|
+
});
|
|
10
|
+
let s = () => {
|
|
11
|
+
a() === "open" && (o("closed"), i.toast().onDismiss?.(i.toast()), setTimeout(() => i.onRemove(i.toast().id), 200));
|
|
12
|
+
};
|
|
13
|
+
return e(() => {
|
|
14
|
+
i.toast().delete && a() === "open" && s();
|
|
15
|
+
}), e(() => {
|
|
16
|
+
let e = i.toast();
|
|
17
|
+
if (e.delete || e.type === "loading" || e.duration === Infinity || e.duration === 0) return;
|
|
18
|
+
let t = e.duration ?? i.duration() ?? 4e3, r = setTimeout(() => {
|
|
19
|
+
e.onAutoClose?.(e), s();
|
|
20
|
+
}, t);
|
|
21
|
+
n(() => clearTimeout(r));
|
|
22
|
+
}), {
|
|
23
|
+
animationState: a,
|
|
24
|
+
close: s
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//#endregion
|
|
28
|
+
export { i as TOAST_LIFETIME, a as useToastLifecycle };
|
|
29
|
+
|
|
30
|
+
//# sourceMappingURL=useToastLifecycle.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useToastLifecycle.js","names":["TOAST_LIFETIME","useToastLifecycle","animationState","setAnimationState","createSignal","raf","close","options","createEffect","current","delay","timer"],"sources":["../../../../src/components/toast/Toast/useToastLifecycle.ts"],"sourcesContent":["import {\n type Accessor,\n createEffect,\n createSignal,\n onCleanup,\n onMount,\n} from \"solid-js\";\nimport type { ToastT } from \"./Toast.types\";\n\n/** 未指定 duration 时的存活时间 */\nexport const TOAST_LIFETIME = 4000;\n/** 退场动画时长:状态先变 closed,动画结束后才通知父级移除 */\nexport const EXIT_ANIMATION_MS = 200;\n\nexport interface UseToastLifecycleOptions {\n /** 当前 toast 数据(响应式读取,外部可随时改写 delete/duration) */\n toast: Accessor<ToastT>;\n /** Toaster 级别的兜底 duration */\n duration: Accessor<number | undefined>;\n /** 退场动画结束后的真正移除 */\n onRemove: (id: string) => void;\n}\n\nexport interface ToastLifecycle {\n /** open 表示已进入;closed 表示正在退场(或尚未进入) */\n animationState: Accessor<\"open\" | \"closed\">;\n close: () => void;\n}\n\n/**\n * Toast 的进出场生命周期:只关心\"什么时候 open、什么时候 closed、什么时候移除\",\n * 不关心长什么样。渲染层订阅 `animationState` 决定 data-state 与动画。\n *\n * - 挂载后延后一帧再置 open:让浏览器先以 closed 状态完成首次绘制,动画才有起点;\n * - `close()` 幂等:退场中的重复调用不会重复回调与重复排队移除;\n * - 外部 dismiss(`toast.delete`)复用了同一条退场路径,避免两套退出逻辑;\n * - loading 类型、`duration` 为 `0`/`Infinity` 时视为常驻,不安排自动关闭。\n */\nexport function useToastLifecycle(\n options: UseToastLifecycleOptions,\n): ToastLifecycle {\n const [animationState, setAnimationState] = createSignal<\"open\" | \"closed\">(\n \"closed\",\n );\n\n onMount(() => {\n const raf = requestAnimationFrame(() => setAnimationState(\"open\"));\n onCleanup(() => cancelAnimationFrame(raf));\n });\n\n const close = () => {\n if (animationState() !== \"open\") return;\n\n setAnimationState(\"closed\");\n options.toast().onDismiss?.(options.toast());\n setTimeout(() => options.onRemove(options.toast().id), EXIT_ANIMATION_MS);\n };\n\n // 外部 dismiss:把 delete 标记转换成退场动画\n createEffect(() => {\n if (options.toast().delete && animationState() === \"open\") {\n close();\n }\n });\n\n // 自动关闭计时器\n createEffect(() => {\n const current = options.toast();\n if (\n current.delete ||\n current.type === \"loading\" ||\n current.duration === Infinity ||\n current.duration === 0\n ) {\n return;\n }\n\n const delay = current.duration ?? options.duration() ?? TOAST_LIFETIME;\n const timer = setTimeout(() => {\n current.onAutoClose?.(current);\n close();\n }, delay);\n\n onCleanup(() => clearTimeout(timer));\n });\n\n return { animationState, close };\n}\n"],"mappings":";;AAUA,IAAaA,IAAiB;AA4B9B,SAAgBC,EACd,GACgB;CAChB,IAAM,CAACC,GAAgBC,KAAqBC,EAC1C,QACF;CAEA,QAAc;EACZ,IAAMC,IAAM,4BAA4BF,EAAkB,MAAM,CAAC;EACjE,QAAgB,qBAAqBE,CAAG,CAAC;CAC3C,CAAC;CAED,IAAMC,UAAc;EAClB,AAAIJ,EAAe,MAAM,WAEzBC,EAAkB,QAAQ,GAC1BI,EAAQ,MAAM,CAAC,CAAC,YAAYA,EAAQ,MAAM,CAAC,GAC3C,iBAAiBA,EAAQ,SAASA,EAAQ,MAAM,CAAC,CAAC,EAAE,GAAA,GAAoB;CAC1E;CA8BA,OA3BAC,QAAmB;EACjB,AAAID,EAAQ,MAAM,CAAC,CAAC,UAAUL,EAAe,MAAM,UACjDI,EAAM;CAEV,CAAC,GAGDE,QAAmB;EACjB,IAAMC,IAAUF,EAAQ,MAAM;EAC9B,IACEE,EAAQ,UACRA,EAAQ,SAAS,aACjBA,EAAQ,aAAa,YACrBA,EAAQ,aAAa,GAErB;EAGF,IAAMC,IAAQD,EAAQ,YAAYF,EAAQ,SAAS,KAAA,KAC7CI,IAAQ,iBAAiB;GAE7B,AADAF,EAAQ,cAAcA,CAAO,GAC7BH,EAAM;EACR,GAAGI,CAAK;EAER,QAAgB,aAAaC,CAAK,CAAC;CACrC,CAAC,GAEM;EAAE;EAAgB;CAAM;AACjC"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { Position, ToastIcons, ToastT } from '../Toast/Toast.types';
|
|
3
|
+
import { Offset, ToastOptions } from './Toaster.types';
|
|
4
|
+
export interface ToastViewportProps {
|
|
5
|
+
/** 该视口负责的位置 */
|
|
6
|
+
position: Position;
|
|
7
|
+
/** 展开态:由容器悬停/热键驱动 */
|
|
8
|
+
expanded: boolean;
|
|
9
|
+
/** 视口内的 toast(已按 visibleToasts 截断) */
|
|
10
|
+
toasts: ToastT[];
|
|
11
|
+
gap: number;
|
|
12
|
+
ariaLabel: string;
|
|
13
|
+
offset?: Offset;
|
|
14
|
+
mobileOffset?: Offset;
|
|
15
|
+
style?: JSX.CSSProperties;
|
|
16
|
+
/** Toaster 级配置:逐条 toast 的兜底值 */
|
|
17
|
+
closeButton?: boolean;
|
|
18
|
+
duration?: number;
|
|
19
|
+
icons?: ToastIcons;
|
|
20
|
+
richColors?: boolean;
|
|
21
|
+
toastOptions?: ToastOptions;
|
|
22
|
+
/** 展开态变化(悬停进入/离开) */
|
|
23
|
+
onExpandChange: (expanded: boolean) => void;
|
|
24
|
+
onRemove: (id: string) => void;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* 一个位置上的 toast 视口:live region 语义 + 定位样式 + 逐条渲染。
|
|
28
|
+
*
|
|
29
|
+
* 它同时承担"Toaster 级配置 → 单条 Toast 配置"的优先级解析
|
|
30
|
+
* (单条 > `toastOptions` > 根级),因为这是纯读取、无副作用;
|
|
31
|
+
* 每个属性都写成 getter 表达式,配置变化时仍然逐条响应式更新。
|
|
32
|
+
*/
|
|
33
|
+
export declare function ToastViewport(props: ToastViewportProps): JSX.Element;
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { getPositionClass as t, getViewportLayoutClass as n, resolveOffsetStyle as r } from "./Toaster.utils.js";
|
|
3
|
+
import { Toast as i } from "../Toast/Toast.js";
|
|
4
|
+
import { toasterContainerClass as a } from "./Toaster.styles.js";
|
|
5
|
+
import { className as o, createComponent as s, effect as c, insert as l, setAttribute as u, style as d, template as f } from "solid-js/web";
|
|
6
|
+
import { For as p } from "solid-js";
|
|
7
|
+
//#region src/components/toast/Toaster/ToastViewport.tsx
|
|
8
|
+
var m = /*#__PURE__*/ f("<ol data-slot=toaster-viewport aria-live=polite aria-relevant=\"additions text\"aria-atomic=false tabindex=-1>");
|
|
9
|
+
function h(f) {
|
|
10
|
+
return (() => {
|
|
11
|
+
var h = m();
|
|
12
|
+
return h.addEventListener("mouseleave", () => f.onExpandChange(!1)), h.addEventListener("mouseenter", () => f.onExpandChange(!0)), l(h, s(p, {
|
|
13
|
+
get each() {
|
|
14
|
+
return f.toasts;
|
|
15
|
+
},
|
|
16
|
+
children: (e, t) => s(i, {
|
|
17
|
+
toast: e,
|
|
18
|
+
get index() {
|
|
19
|
+
return t();
|
|
20
|
+
},
|
|
21
|
+
get total() {
|
|
22
|
+
return f.toasts.length;
|
|
23
|
+
},
|
|
24
|
+
get expanded() {
|
|
25
|
+
return f.expanded;
|
|
26
|
+
},
|
|
27
|
+
get position() {
|
|
28
|
+
return f.position;
|
|
29
|
+
},
|
|
30
|
+
get gap() {
|
|
31
|
+
return f.gap;
|
|
32
|
+
},
|
|
33
|
+
get closeButton() {
|
|
34
|
+
return e.closeButton ?? f.toastOptions?.closeButton ?? f.closeButton ?? !1;
|
|
35
|
+
},
|
|
36
|
+
get duration() {
|
|
37
|
+
return f.toastOptions?.duration ?? f.duration;
|
|
38
|
+
},
|
|
39
|
+
get class() {
|
|
40
|
+
return f.toastOptions?.class;
|
|
41
|
+
},
|
|
42
|
+
get icons() {
|
|
43
|
+
return f.icons;
|
|
44
|
+
},
|
|
45
|
+
get closeButtonAriaLabel() {
|
|
46
|
+
return f.toastOptions?.closeButtonAriaLabel;
|
|
47
|
+
},
|
|
48
|
+
get defaultRichColors() {
|
|
49
|
+
return f.richColors;
|
|
50
|
+
},
|
|
51
|
+
get onRemove() {
|
|
52
|
+
return f.onRemove;
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
})), c((i) => {
|
|
56
|
+
var s = f.position, c = f.ariaLabel, l = e(a, t(f.position), n(f.position, f.expanded)), p = {
|
|
57
|
+
gap: `${f.gap}px`,
|
|
58
|
+
...r(f.position, f.offset, f.mobileOffset),
|
|
59
|
+
...f.style
|
|
60
|
+
};
|
|
61
|
+
return s !== i.e && u(h, "data-position", i.e = s), c !== i.t && u(h, "aria-label", i.t = c), l !== i.a && o(h, i.a = l), i.o = d(h, p, i.o), i;
|
|
62
|
+
}, {
|
|
63
|
+
e: void 0,
|
|
64
|
+
t: void 0,
|
|
65
|
+
a: void 0,
|
|
66
|
+
o: void 0
|
|
67
|
+
}), h;
|
|
68
|
+
})();
|
|
69
|
+
}
|
|
70
|
+
//#endregion
|
|
71
|
+
export { h as ToastViewport };
|
|
72
|
+
|
|
73
|
+
//# sourceMappingURL=ToastViewport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ToastViewport.js","names":["For","JSX","clsx","Toast","Position","ToastIcons","ToastT","toasterContainerClass","Offset","ToastOptions","getPositionClass","getViewportLayoutClass","resolveOffsetStyle","ToastViewportProps","position","expanded","toasts","gap","ariaLabel","offset","mobileOffset","style","CSSProperties","closeButton","duration","icons","richColors","toastOptions","onExpandChange","onRemove","id","ToastViewport","props","_el$","_tmpl$","addEventListener","_$insert","_$createComponent","each","children","toast","index","total","length","class","closeButtonAriaLabel","defaultRichColors","_$effect","_p$","_v$","_v$2","_v$3","_v$4","Record","e","_$setAttribute","t","a","_$className","o","_$style","undefined","_$createComponent","_$setAttribute","_$className","_$style","_tmpl$","ToastViewport","_el$","props","insert","createComponent","For","Toast","index","toast","\"class\"","effect","_v$","_v$2","_v$3","clsx","toasterContainerClass","getPositionClass","getViewportLayoutClass","_v$4","resolveOffsetStyle","_p$","setAttribute","className","style"],"sources":["../../../../src/components/toast/Toaster/ToastViewport.tsx"],"sourcesContent":["import { For, type JSX } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { Toast } from \"../Toast\";\nimport type { Position, ToastIcons, ToastT } from \"../Toast/Toast.types\";\nimport { toasterContainerClass } from \"./Toaster.styles\";\nimport type { Offset, ToastOptions } from \"./Toaster.types\";\nimport {\n getPositionClass,\n getViewportLayoutClass,\n resolveOffsetStyle,\n} from \"./Toaster.utils\";\n\nexport interface ToastViewportProps {\n /** 该视口负责的位置 */\n position: Position;\n /** 展开态:由容器悬停/热键驱动 */\n expanded: boolean;\n /** 视口内的 toast(已按 visibleToasts 截断) */\n toasts: ToastT[];\n gap: number;\n ariaLabel: string;\n offset?: Offset;\n mobileOffset?: Offset;\n style?: JSX.CSSProperties;\n /** Toaster 级配置:逐条 toast 的兜底值 */\n closeButton?: boolean;\n duration?: number;\n icons?: ToastIcons;\n richColors?: boolean;\n toastOptions?: ToastOptions;\n /** 展开态变化(悬停进入/离开) */\n onExpandChange: (expanded: boolean) => void;\n onRemove: (id: string) => void;\n}\n\n/**\n * 一个位置上的 toast 视口:live region 语义 + 定位样式 + 逐条渲染。\n *\n * 它同时承担\"Toaster 级配置 → 单条 Toast 配置\"的优先级解析\n * (单条 > `toastOptions` > 根级),因为这是纯读取、无副作用;\n * 每个属性都写成 getter 表达式,配置变化时仍然逐条响应式更新。\n */\nexport function ToastViewport(props: ToastViewportProps) {\n return (\n <ol\n data-slot=\"toaster-viewport\"\n data-position={props.position}\n aria-live=\"polite\"\n aria-relevant=\"additions text\"\n aria-atomic=\"false\"\n aria-label={props.ariaLabel}\n tabIndex={-1}\n class={clsx(\n toasterContainerClass,\n getPositionClass(props.position),\n getViewportLayoutClass(props.position, props.expanded),\n )}\n style={{\n gap: `${props.gap}px`,\n ...resolveOffsetStyle(props.position, props.offset, props.mobileOffset),\n ...(props.style as Record<string, string | number>),\n }}\n onMouseEnter={() => props.onExpandChange(true)}\n onMouseLeave={() => props.onExpandChange(false)}\n >\n <For each={props.toasts}>\n {(toast: ToastT, index) => (\n <Toast\n toast={toast}\n index={index()}\n total={props.toasts.length}\n expanded={props.expanded}\n position={props.position}\n gap={props.gap}\n closeButton={\n toast.closeButton ??\n props.toastOptions?.closeButton ??\n props.closeButton ??\n false\n }\n duration={props.toastOptions?.duration ?? props.duration}\n class={props.toastOptions?.class}\n icons={props.icons}\n closeButtonAriaLabel={props.toastOptions?.closeButtonAriaLabel}\n defaultRichColors={props.richColors}\n onRemove={props.onRemove}\n />\n )}\n </For>\n </ol>\n );\n}\n"],"mappings":";;;;;;;;AA0CA,SAAgB+B,EAAcC,GAA2B;CACvD,cAAA;EAAA,IAAAC,IAAAC,EAAA;EAkBK,OAlBLD,EAAAE,iBAAA,oBAoBwBH,EAAMJ,eAAe,EAAK,CAAC,GAAAK,EAAAE,iBAAA,oBAD3BH,EAAMJ,eAAe,EAAI,CAAC,GAAAQ,EAAAH,GAAAI,EAG7CrC,GAAG;GAAA,IAACsC,OAAI;IAAA,OAAEN,EAAMhB;GAAM;GAAAuB,WACnBC,GAAeC,MAAKJ,EACnBlC,GAAK;IACGqC;IAAK,IACZC,QAAK;KAAA,OAAEA,EAAM;IAAC;IAAA,IACdC,QAAK;KAAA,OAAEV,EAAMhB,OAAO2B;IAAM;IAAA,IAC1B5B,WAAQ;KAAA,OAAEiB,EAAMjB;IAAQ;IAAA,IACxBD,WAAQ;KAAA,OAAEkB,EAAMlB;IAAQ;IAAA,IACxBG,MAAG;KAAA,OAAEe,EAAMf;IAAG;IAAA,IACdM,cAAW;KAAA,OACTiB,EAAMjB,eACNS,EAAML,cAAcJ,eACpBS,EAAMT,eACN;IAAK;IAAA,IAEPC,WAAQ;KAAA,OAAEQ,EAAML,cAAcH,YAAYQ,EAAMR;IAAQ;IAAA,IAAAoD,QAAA;KAAA,OACjD5C,EAAML,cAAciB;IAAK;IAAA,IAChCnB,QAAK;KAAA,OAAEO,EAAMP;IAAK;IAAA,IAClBoB,uBAAoB;KAAA,OAAEb,EAAML,cAAckB;IAAoB;IAAA,IAC9DC,oBAAiB;KAAA,OAAEd,EAAMN;IAAU;IAAA,IACnCG,WAAQ;KAAA,OAAEG,EAAMH;IAAQ;GAAA,CAAA;EAE3B,CAAA,CAAA,GAAAkB,GAAAC,MAAA;GAAA,IAAAC,IAzCYjB,EAAMlB,UAAQoC,IAIjBlB,EAAMd,WAASiC,IAEpBjD,EACLK,GACAG,EAAiBsB,EAAMlB,QAAQ,GAC/BH,EAAuBqB,EAAMlB,UAAUkB,EAAMjB,QAAQ,CACvD,GAACqC,IACM;IACLnC,KAAK,GAAGe,EAAMf,IAAG;IACjB,GAAGL,EAAmBoB,EAAMlB,UAAUkB,EAAMb,QAAQa,EAAMZ,YAAY;IACtE,GAAIY,EAAMX;GACZ;GAAC,OAAA4B,MAAAD,EAAAM,KAAAC,EAAAtB,GAAA,iBAAAe,EAAAM,IAAAL,CAAA,GAAAC,MAAAF,EAAAQ,KAAAD,EAAAtB,GAAA,cAAAe,EAAAQ,IAAAN,CAAA,GAAAC,MAAAH,EAAAS,KAAAC,EAAAzB,GAAAe,EAAAS,IAAAN,CAAA,GAAAH,EAAAW,IAAAC,EAAA3B,GAAAmB,GAAAJ,EAAAW,CAAA,GAAAX;EAAA,GAAA;GAAAM,GAAAO,KAAAA;GAAAL,GAAAK,KAAAA;GAAAJ,GAAAI,KAAAA;GAAAF,GAAAE,KAAAA;EAAA,CAAA,GAAA5B;CAAA,EAAA,CAAA;AA8BP"}
|
|
@@ -1,102 +1,84 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import { For as g, Show as _, createMemo as v, createSignal as y, mergeProps as b, onCleanup as x, onMount as S } from "solid-js";
|
|
1
|
+
import { removeToast as e, useSonner as t } from "../state/store.js";
|
|
2
|
+
import { getDocumentDirection as n } from "./Toaster.utils.js";
|
|
3
|
+
import { ToastViewport as r } from "./ToastViewport.js";
|
|
4
|
+
import { useToaster as i } from "./useToaster.js";
|
|
5
|
+
import { Portal as a, createComponent as o, effect as s, insert as c, setAttribute as l, template as u } from "solid-js/web";
|
|
6
|
+
import { For as d, Show as f, mergeProps as p } from "solid-js";
|
|
8
7
|
//#region src/components/toast/Toaster/Toaster.tsx
|
|
9
|
-
var
|
|
10
|
-
let
|
|
8
|
+
var m = /*#__PURE__*/ u("<div data-slot=toaster>"), h = (u) => {
|
|
9
|
+
let h = p({
|
|
11
10
|
position: "bottom-right",
|
|
12
11
|
gap: 14,
|
|
13
12
|
visibleToasts: 3,
|
|
14
|
-
dir:
|
|
13
|
+
dir: n(),
|
|
15
14
|
containerAriaLabel: "Notifications",
|
|
16
15
|
hotkey: ["altKey", "KeyT"]
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
S(() => {
|
|
25
|
-
let e = (e) => {
|
|
26
|
-
T.hotkey.length > 0 && T.hotkey.every((t) => e[t] || e.code === t) && O(!0), e.code === "Escape" && O(!1);
|
|
27
|
-
};
|
|
28
|
-
document.addEventListener("keydown", e), x(() => document.removeEventListener("keydown", e));
|
|
16
|
+
}, u), { toasts: g } = t(), { expanded: _, setExpanded: v, possiblePositions: y, visibleToastsForPosition: b } = i({
|
|
17
|
+
toasts: () => g,
|
|
18
|
+
toasterId: () => h.id,
|
|
19
|
+
position: () => h.position,
|
|
20
|
+
visibleToasts: () => h.visibleToasts,
|
|
21
|
+
expand: () => h.expand,
|
|
22
|
+
hotkey: () => h.hotkey
|
|
29
23
|
});
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
return f(r, u(g, {
|
|
24
|
+
return o(a, { get children() {
|
|
25
|
+
var t = m();
|
|
26
|
+
return c(t, o(d, {
|
|
34
27
|
get each() {
|
|
35
|
-
return
|
|
28
|
+
return y();
|
|
36
29
|
},
|
|
37
|
-
children: (
|
|
30
|
+
children: (t) => o(f, {
|
|
38
31
|
get when() {
|
|
39
|
-
return
|
|
32
|
+
return b(t).length > 0;
|
|
40
33
|
},
|
|
41
34
|
get children() {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
get
|
|
45
|
-
return
|
|
35
|
+
return o(r, {
|
|
36
|
+
position: t,
|
|
37
|
+
get toasts() {
|
|
38
|
+
return b(t);
|
|
46
39
|
},
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
})
|
|
83
|
-
var n = T.customAriaLabel ?? T.containerAriaLabel, s = e(i, o(r), D() ? r.startsWith("top") ? "flex flex-col" : "flex flex-col-reverse" : "grid"), c = {
|
|
84
|
-
gap: `${T.gap}px`,
|
|
85
|
-
...N(r),
|
|
86
|
-
...T.style
|
|
87
|
-
};
|
|
88
|
-
return n !== t.e && p(a, "aria-label", t.e = n), s !== t.t && l(a, t.t = s), t.a = m(a, c, t.a), t;
|
|
89
|
-
}, {
|
|
90
|
-
e: void 0,
|
|
91
|
-
t: void 0,
|
|
92
|
-
a: void 0
|
|
93
|
-
}), a;
|
|
40
|
+
get expanded() {
|
|
41
|
+
return _();
|
|
42
|
+
},
|
|
43
|
+
get gap() {
|
|
44
|
+
return h.gap;
|
|
45
|
+
},
|
|
46
|
+
get ariaLabel() {
|
|
47
|
+
return h.customAriaLabel ?? h.containerAriaLabel;
|
|
48
|
+
},
|
|
49
|
+
get offset() {
|
|
50
|
+
return h.offset;
|
|
51
|
+
},
|
|
52
|
+
get mobileOffset() {
|
|
53
|
+
return h.mobileOffset;
|
|
54
|
+
},
|
|
55
|
+
get style() {
|
|
56
|
+
return h.style;
|
|
57
|
+
},
|
|
58
|
+
get closeButton() {
|
|
59
|
+
return h.closeButton;
|
|
60
|
+
},
|
|
61
|
+
get duration() {
|
|
62
|
+
return h.duration;
|
|
63
|
+
},
|
|
64
|
+
get icons() {
|
|
65
|
+
return h.icons;
|
|
66
|
+
},
|
|
67
|
+
get richColors() {
|
|
68
|
+
return h.richColors;
|
|
69
|
+
},
|
|
70
|
+
get toastOptions() {
|
|
71
|
+
return h.toastOptions;
|
|
72
|
+
},
|
|
73
|
+
onExpandChange: v,
|
|
74
|
+
onRemove: e
|
|
75
|
+
});
|
|
94
76
|
}
|
|
95
77
|
})
|
|
96
|
-
})),
|
|
78
|
+
})), s(() => l(t, "dir", h.dir === "auto" ? n() : h.dir)), t;
|
|
97
79
|
} });
|
|
98
80
|
};
|
|
99
81
|
//#endregion
|
|
100
|
-
export {
|
|
82
|
+
export { h as Toaster };
|
|
101
83
|
|
|
102
84
|
//# sourceMappingURL=Toaster.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Toaster.js","names":["For","
|
|
1
|
+
{"version":3,"file":"Toaster.js","names":["For","Show","mergeProps","Component","Portal","removeToast","useSonner","ToasterProps","getDocumentDirection","ToastViewport","useToaster","Toaster","props","merged","position","gap","visibleToasts","dir","containerAriaLabel","hotkey","const","toasts","expanded","setExpanded","possiblePositions","visibleToastsForPosition","toasterId","id","expand","_$createComponent","children","_el$","_tmpl$","_$insert","each","when","length","ariaLabel","customAriaLabel","offset","mobileOffset","style","closeButton","duration","icons","richColors","toastOptions","onExpandChange","onRemove","_$effect","_$setAttribute","mergeProps","_$createComponent","_$setAttribute","mergeProps$1","_tmpl$","Toaster","merged","getDocumentDirection","props","useSonner","useToaster","toasts","createComponent","Portal","_el$","insert","For","possiblePositions","Show","visibleToastsForPosition","position","ToastViewport","expanded","setExpanded","removeToast","effect","setAttribute"],"sources":["../../../../src/components/toast/Toaster/Toaster.tsx"],"sourcesContent":["import { For, Show, mergeProps, type Component } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { removeToast, useSonner } from \"../state/toast\";\nimport type { ToasterProps } from \"./Toaster.types\";\nimport { getDocumentDirection } from \"./Toaster.utils\";\nimport { ToastViewport } from \"./ToastViewport\";\nimport { useToaster } from \"./useToaster\";\n\n/**\n * toast 容器:负责\"有哪些视口、每个视口放哪些 toast\",具体渲染交给\n * `ToastViewport`,选择/展开算法交给 `useToaster`。\n */\nexport const Toaster: Component<ToasterProps> = (props) => {\n const merged = mergeProps(\n {\n position: \"bottom-right\",\n gap: 14,\n visibleToasts: 3,\n dir: getDocumentDirection(),\n containerAriaLabel: \"Notifications\",\n hotkey: [\"altKey\", \"KeyT\"] as string[],\n } as const,\n props,\n );\n\n const { toasts } = useSonner();\n\n const { expanded, setExpanded, possiblePositions, visibleToastsForPosition } =\n useToaster({\n toasts: () => toasts,\n toasterId: () => merged.id,\n position: () => merged.position,\n visibleToasts: () => merged.visibleToasts,\n expand: () => merged.expand,\n hotkey: () => merged.hotkey,\n });\n\n return (\n <Portal>\n <div\n data-slot=\"toaster\"\n dir={merged.dir === \"auto\" ? getDocumentDirection() : merged.dir}\n >\n <For each={possiblePositions()}>\n {(position) => (\n <Show when={visibleToastsForPosition(position).length > 0}>\n <ToastViewport\n position={position}\n toasts={visibleToastsForPosition(position)}\n expanded={expanded()}\n gap={merged.gap}\n ariaLabel={merged.customAriaLabel ?? merged.containerAriaLabel}\n offset={merged.offset}\n mobileOffset={merged.mobileOffset}\n style={merged.style}\n closeButton={merged.closeButton}\n duration={merged.duration}\n icons={merged.icons}\n richColors={merged.richColors}\n toastOptions={merged.toastOptions}\n onExpandChange={setExpanded}\n onRemove={removeToast}\n />\n </Show>\n )}\n </For>\n </div>\n </Portal>\n );\n};\n"],"mappings":";;;;;;;oDAYaW,KAAoCC,MAAU;CACzD,IAAMC,IAASX,EACb;EACEY,UAAU;EACVC,KAAK;EACLC,eAAe;EACfC,KAAKT,EAAqB;EAC1BU,oBAAoB;EACpBC,QAAQ,CAAC,UAAU,MAAM;CAC3B,GACAP,CACF,GAEM,EAAES,cAAWf,EAAU,GAEvB,EAAEgB,aAAUC,gBAAaC,sBAAmBC,gCAChDf,EAAW;EACTW,cAAcA;EACdK,iBAAiBb,EAAOc;EACxBb,gBAAgBD,EAAOC;EACvBE,qBAAqBH,EAAOG;EAC5BY,cAAcf,EAAOe;EACrBT,cAAcN,EAAOM;CACvB,CAAC;CAEH,OAAAU,EACGzB,GAAM,EAAA,IAAA0B,WAAA;EAAA,IAAAC,IAAAC,EAAA;EAG6D,OAH7DC,EAAAF,GAAAF,EAKF7B,GAAG;GAAA,IAACkC,OAAI;IAAA,OAAEV,EAAkB;GAAC;GAAAM,WAC1BhB,MAAQe,EACP5B,GAAI;IAAA,IAACkC,OAAI;KAAA,OAAEV,EAAyBX,CAAQ,CAAC,CAACsB,SAAS;IAAC;IAAA,IAAAN,WAAA;KAAA,OAAAD,EACtDpB,GAAa;MACFK;MAAQ,IAClBO,SAAM;OAAA,OAAEI,EAAyBX,CAAQ;MAAC;MAAA,IAC1CQ,WAAQ;OAAA,OAAEA,EAAS;MAAC;MAAA,IACpBP,MAAG;OAAA,OAAEF,EAAOE;MAAG;MAAA,IACfsB,YAAS;OAAA,OAAExB,EAAOyB,mBAAmBzB,EAAOK;MAAkB;MAAA,IAC9DqB,SAAM;OAAA,OAAE1B,EAAO0B;MAAM;MAAA,IACrBC,eAAY;OAAA,OAAE3B,EAAO2B;MAAY;MAAA,IACjCC,QAAK;OAAA,OAAE5B,EAAO4B;MAAK;MAAA,IACnBC,cAAW;OAAA,OAAE7B,EAAO6B;MAAW;MAAA,IAC/BC,WAAQ;OAAA,OAAE9B,EAAO8B;MAAQ;MAAA,IACzBC,QAAK;OAAA,OAAE/B,EAAO+B;MAAK;MAAA,IACnBC,aAAU;OAAA,OAAEhC,EAAOgC;MAAU;MAAA,IAC7BC,eAAY;OAAA,OAAEjC,EAAOiC;MAAY;MACjCC,gBAAgBxB;MAChByB,UAAU3C;KAAW,CAAA;IAAA;GAAA,CAAA;EAG1B,CAAA,CAAA,GAAA4C,QAAAC,EAAAnB,GAAA,OAvBElB,EAAOI,QAAQ,SAAST,EAAqB,IAAIK,EAAOI,GAAG,CAAA,GAAAc;CAAA,EAAA,CAAA;AA4BxE"}
|
|
@@ -3,5 +3,20 @@ import { Position, SwipeDirection } from '../Toast/Toast.types';
|
|
|
3
3
|
import { Offset } from './Toaster.types';
|
|
4
4
|
export declare function getPositionClass(position: Position): string;
|
|
5
5
|
export declare function resolveOffsetStyle(position: Position, offset?: Offset, mobileOffset?: Offset): JSX.CSSProperties;
|
|
6
|
+
/**
|
|
7
|
+
* 根据位置推导默认的滑动关闭方向。
|
|
8
|
+
*
|
|
9
|
+
* `Position` 的第二段可能是 `"center"`,而它**不是**合法的 `SwipeDirection`
|
|
10
|
+
* (只有 top/right/bottom/left)。之前实现直接把它 `as SwipeDirection` 塞进结果,
|
|
11
|
+
* 导致 `top-center` 会产出 `["top", "center"]` —— 调用方按方向匹配手势时
|
|
12
|
+
* 永远命中不了 `"center"`,等于多了一个无效方向。
|
|
13
|
+
* 这里按白名单过滤,保证返回的每一项都是真正可用的方向。
|
|
14
|
+
*/
|
|
6
15
|
export declare function getDefaultSwipeDirections(position: Position): SwipeDirection[];
|
|
7
16
|
export declare function getDocumentDirection(): "rtl" | "ltr" | "auto";
|
|
17
|
+
/**
|
|
18
|
+
* 视口的排布类名:收起时用 `grid` 把多层叠在同一格(靠 Toast 的 transform 错开),
|
|
19
|
+
* 展开时按位置改成纵向 flex——顶部位置正向排、底部位置反向排,
|
|
20
|
+
* 保证"最新的一条永远靠近视口边缘"。
|
|
21
|
+
*/
|
|
22
|
+
export declare function getViewportLayoutClass(position: Position, expanded: boolean): string;
|
|
@@ -27,7 +27,10 @@ function a() {
|
|
|
27
27
|
let e = document.documentElement.getAttribute("dir");
|
|
28
28
|
return e === "auto" || !e ? getComputedStyle(document.documentElement).direction : e;
|
|
29
29
|
}
|
|
30
|
+
function o(e, t) {
|
|
31
|
+
return t ? e.startsWith("top") ? "flex flex-col" : "flex flex-col-reverse" : "grid";
|
|
32
|
+
}
|
|
30
33
|
//#endregion
|
|
31
|
-
export { a as getDocumentDirection, n as getPositionClass, i as resolveOffsetStyle };
|
|
34
|
+
export { a as getDocumentDirection, n as getPositionClass, o as getViewportLayoutClass, i as resolveOffsetStyle };
|
|
32
35
|
|
|
33
36
|
//# sourceMappingURL=Toaster.utils.js.map
|