@neut/ui 0.0.9 → 0.0.11
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.context.js.map +1 -1
- package/dist/components/accordion/Accordion/Accordion.js +21 -20
- package/dist/components/accordion/Accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/Accordion/Accordion.styles.d.ts +2 -0
- package/dist/components/accordion/Accordion/Accordion.styles.js +7 -0
- package/dist/components/accordion/Accordion/Accordion.styles.js.map +1 -0
- package/dist/components/accordion/Accordion/useAccordion.js +1 -3
- package/dist/components/accordion/Accordion/useAccordion.js.map +1 -1
- package/dist/components/accordion/AccordionContent/AccordionContent.js +25 -21
- package/dist/components/accordion/AccordionContent/AccordionContent.js.map +1 -1
- package/dist/components/accordion/AccordionContent/AccordionContent.styles.d.ts +5 -0
- package/dist/components/accordion/AccordionContent/AccordionContent.styles.js +9 -0
- package/dist/components/accordion/AccordionContent/AccordionContent.styles.js.map +1 -0
- package/dist/components/accordion/AccordionContent/index.d.ts +1 -0
- package/dist/components/accordion/AccordionItem/AccordionItem.context.js.map +1 -1
- package/dist/components/accordion/AccordionItem/AccordionItem.js +19 -18
- package/dist/components/accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/components/accordion/AccordionItem/AccordionItem.styles.d.ts +2 -0
- package/dist/components/accordion/AccordionItem/AccordionItem.styles.js +6 -0
- package/dist/components/accordion/AccordionItem/AccordionItem.styles.js.map +1 -0
- package/dist/components/accordion/AccordionItem/index.d.ts +1 -0
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js +26 -18
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js.map +1 -1
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.d.ts +6 -0
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.js +10 -0
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.js.map +1 -0
- package/dist/components/accordion/AccordionTrigger/index.d.ts +1 -0
- package/dist/components/accordion/index.d.ts +4 -4
- package/dist/components/accordion/index.js +6 -5
- package/dist/components/alert/Alert/Alert.js +1 -1
- package/dist/components/alert/Alert/Alert.js.map +1 -1
- package/dist/components/alert/Alert/Alert.styles.js +3 -3
- package/dist/components/alert/Alert/Alert.styles.js.map +1 -1
- package/dist/components/alert/AlertAction/AlertAction.js +2 -2
- package/dist/components/alert/AlertAction/AlertAction.js.map +1 -1
- package/dist/components/alert/AlertAction/AlertAction.styles.d.ts +2 -1
- package/dist/components/alert/AlertAction/AlertAction.styles.js +1 -1
- package/dist/components/alert/AlertAction/AlertAction.styles.js.map +1 -1
- package/dist/components/alert/AlertDescription/AlertDescription.js +2 -2
- package/dist/components/alert/AlertDescription/AlertDescription.js.map +1 -1
- package/dist/components/alert/AlertDescription/AlertDescription.styles.d.ts +2 -1
- package/dist/components/alert/AlertDescription/AlertDescription.styles.js +2 -2
- package/dist/components/alert/AlertDescription/AlertDescription.styles.js.map +1 -1
- package/dist/components/alert/AlertTitle/AlertTitle.js +2 -2
- package/dist/components/alert/AlertTitle/AlertTitle.js.map +1 -1
- package/dist/components/alert/AlertTitle/AlertTitle.styles.d.ts +2 -1
- package/dist/components/alert/AlertTitle/AlertTitle.styles.js +2 -2
- package/dist/components/alert/AlertTitle/AlertTitle.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js +1 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js +3 -3
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js +11 -11
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.d.ts +2 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js +2 -2
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js +2 -2
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.d.ts +2 -1
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js +2 -2
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js +2 -2
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.d.ts +2 -1
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js +2 -2
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js +2 -2
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.d.ts +2 -1
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js +2 -2
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js +2 -2
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.d.ts +2 -1
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js +2 -2
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js +2 -2
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.d.ts +2 -1
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js +2 -2
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js +1 -1
- package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js +2 -2
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.d.ts +2 -1
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js +2 -2
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.js.map +1 -1
- package/dist/components/aspect-ratio/AspectRatio.js +1 -1
- package/dist/components/aspect-ratio/AspectRatio.js.map +1 -1
- package/dist/components/aspect-ratio/AspectRatio.styles.js.map +1 -1
- package/dist/components/avatar/Avatar/Avatar.context.js.map +1 -1
- package/dist/components/avatar/Avatar/Avatar.js +9 -9
- package/dist/components/avatar/Avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/AvatarBadge/AvatarBadge.js +1 -1
- package/dist/components/avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/components/avatar/AvatarFallback/AvatarFallback.js +1 -1
- package/dist/components/avatar/AvatarFallback/AvatarFallback.js.map +1 -1
- package/dist/components/avatar/AvatarGroup/AvatarGroup.js +1 -1
- package/dist/components/avatar/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js +1 -1
- package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js.map +1 -1
- package/dist/components/avatar/AvatarImage/AvatarImage.js +1 -1
- package/dist/components/avatar/AvatarImage/AvatarImage.js.map +1 -1
- package/dist/components/badge/Badge.js +1 -1
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/badge/Badge.styles.js +9 -10
- package/dist/components/badge/Badge.styles.js.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.js +1 -1
- package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js +1 -1
- package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js +1 -1
- package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js +6 -6
- package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js +1 -1
- package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js +1 -1
- package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js +1 -1
- package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js.map +1 -1
- package/dist/components/button/Button.js +34 -31
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/button/Button.styles.d.ts +1 -1
- package/dist/components/button/Button.styles.js +10 -10
- package/dist/components/button/Button.styles.js.map +1 -1
- package/dist/components/button/Button.types.d.ts +4 -30
- package/dist/components/button-group/ButtonGroup/ButtonGroup.js +1 -1
- package/dist/components/button-group/ButtonGroup/ButtonGroup.js.map +1 -1
- package/dist/components/button-group/ButtonGroup/ButtonGroup.styles.js.map +1 -1
- package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.js +1 -1
- package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.js.map +1 -1
- package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.d.ts +2 -1
- package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.js +2 -3
- package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.js.map +1 -1
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js +2 -2
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js.map +1 -1
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.d.ts +2 -1
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.js +2 -3
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.js.map +1 -1
- package/dist/components/card/Card/Card.js +6 -6
- package/dist/components/card/Card/Card.js.map +1 -1
- package/dist/components/card/Card/Card.styles.d.ts +2 -1
- package/dist/components/card/Card/Card.styles.js +2 -2
- package/dist/components/card/Card/Card.styles.js.map +1 -1
- package/dist/components/card/CardAction/CardAction.js +2 -2
- package/dist/components/card/CardAction/CardAction.js.map +1 -1
- package/dist/components/card/CardAction/CardAction.styles.d.ts +2 -1
- package/dist/components/card/CardAction/CardAction.styles.js +1 -1
- package/dist/components/card/CardAction/CardAction.styles.js.map +1 -1
- package/dist/components/card/CardContent/CardContent.js +2 -2
- package/dist/components/card/CardContent/CardContent.js.map +1 -1
- package/dist/components/card/CardContent/CardContent.styles.d.ts +2 -1
- package/dist/components/card/CardContent/CardContent.styles.js +2 -2
- package/dist/components/card/CardContent/CardContent.styles.js.map +1 -1
- package/dist/components/card/CardDescription/CardDescription.js +2 -2
- package/dist/components/card/CardDescription/CardDescription.js.map +1 -1
- package/dist/components/card/CardDescription/CardDescription.styles.d.ts +2 -1
- package/dist/components/card/CardDescription/CardDescription.styles.js +2 -2
- package/dist/components/card/CardDescription/CardDescription.styles.js.map +1 -1
- package/dist/components/card/CardFooter/CardFooter.js +2 -2
- package/dist/components/card/CardFooter/CardFooter.js.map +1 -1
- package/dist/components/card/CardFooter/CardFooter.styles.d.ts +2 -1
- package/dist/components/card/CardFooter/CardFooter.styles.js +2 -2
- package/dist/components/card/CardFooter/CardFooter.styles.js.map +1 -1
- package/dist/components/card/CardHeader/CardHeader.js +2 -2
- package/dist/components/card/CardHeader/CardHeader.js.map +1 -1
- package/dist/components/card/CardHeader/CardHeader.styles.d.ts +2 -1
- package/dist/components/card/CardHeader/CardHeader.styles.js +2 -2
- package/dist/components/card/CardHeader/CardHeader.styles.js.map +1 -1
- package/dist/components/card/CardTitle/CardTitle.js +2 -2
- package/dist/components/card/CardTitle/CardTitle.js.map +1 -1
- package/dist/components/card/CardTitle/CardTitle.styles.d.ts +2 -1
- package/dist/components/card/CardTitle/CardTitle.styles.js +1 -1
- package/dist/components/card/CardTitle/CardTitle.styles.js.map +1 -1
- package/dist/components/carousel/Carousel/Carousel.context.js.map +1 -1
- package/dist/components/carousel/Carousel/Carousel.js +14 -13
- package/dist/components/carousel/Carousel/Carousel.js.map +1 -1
- package/dist/components/carousel/Carousel/Carousel.styles.d.ts +2 -0
- package/dist/components/carousel/Carousel/Carousel.styles.js +6 -0
- package/dist/components/carousel/Carousel/Carousel.styles.js.map +1 -0
- package/dist/components/carousel/Carousel/useAutoPlay.js.map +1 -1
- package/dist/components/carousel/Carousel/useCarousel.js.map +1 -1
- package/dist/components/carousel/Carousel/useKeyboardNavigation.js.map +1 -1
- package/dist/components/carousel/CarouselContent/CarouselContent.js +1 -1
- package/dist/components/carousel/CarouselContent/CarouselContent.js.map +1 -1
- package/dist/components/carousel/CarouselContent/useItemSizeMeasure.js.map +1 -1
- package/dist/components/carousel/CarouselDots/CarouselDots.js +1 -1
- package/dist/components/carousel/CarouselDots/CarouselDots.js.map +1 -1
- package/dist/components/carousel/CarouselItem/CarouselItem.js +4 -3
- package/dist/components/carousel/CarouselItem/CarouselItem.js.map +1 -1
- package/dist/components/carousel/CarouselNext/CarouselNext.js +4 -4
- package/dist/components/carousel/CarouselNext/CarouselNext.js.map +1 -1
- package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js +4 -4
- package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js.map +1 -1
- package/dist/components/checkbox/Checkbox/Checkbox.js +18 -18
- package/dist/components/checkbox/Checkbox/Checkbox.js.map +1 -1
- package/dist/components/checkbox/Checkbox/Checkbox.styles.js.map +1 -1
- package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.js +1 -1
- package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.js.map +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.context.js.map +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.js +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.js.map +1 -1
- package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.js +1 -1
- package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.js.map +1 -1
- package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js +1 -1
- package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js.map +1 -1
- package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.types.d.ts +1 -1
- package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.js +1 -1
- package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
- package/dist/components/dialog/DialogClose/DialogClose.js +4 -6
- package/dist/components/dialog/DialogClose/DialogClose.js.map +1 -1
- package/dist/components/dialog/DialogClose/DialogClose.types.d.ts +2 -2
- package/dist/components/dialog/DialogContent/DialogContent.context.js.map +1 -1
- package/dist/components/dialog/DialogContent/DialogContent.js +10 -10
- package/dist/components/dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/components/dialog/DialogDescription/DialogDescription.js +1 -1
- package/dist/components/dialog/DialogDescription/DialogDescription.js.map +1 -1
- package/dist/components/dialog/DialogFooter/DialogFooter.js +1 -1
- package/dist/components/dialog/DialogFooter/DialogFooter.js.map +1 -1
- package/dist/components/dialog/DialogHeader/DialogHeader.js +1 -1
- package/dist/components/dialog/DialogHeader/DialogHeader.js.map +1 -1
- package/dist/components/dialog/DialogOverlay/DialogOverlay.js +1 -1
- package/dist/components/dialog/DialogOverlay/DialogOverlay.js.map +1 -1
- package/dist/components/dialog/DialogPortal/DialogPortal.js +1 -1
- package/dist/components/dialog/DialogPortal/DialogPortal.js.map +1 -1
- package/dist/components/dialog/DialogTitle/DialogTitle.js +1 -1
- package/dist/components/dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/components/dialog/DialogTrigger/DialogTrigger.js.map +1 -1
- package/dist/components/dialog/DialogTrigger/useDialogTrigger.js.map +1 -1
- package/dist/components/field/Field/Field.js +5 -5
- package/dist/components/field/Field/Field.js.map +1 -1
- package/dist/components/field/Field/Field.styles.js +1 -1
- package/dist/components/field/Field/Field.styles.js.map +1 -1
- package/dist/components/field/FieldContent/FieldContent.js +1 -1
- package/dist/components/field/FieldContent/FieldContent.js.map +1 -1
- package/dist/components/field/FieldDescription/FieldDescription.js +2 -2
- package/dist/components/field/FieldDescription/FieldDescription.js.map +1 -1
- package/dist/components/field/FieldError/FieldError.js +2 -2
- package/dist/components/field/FieldError/FieldError.js.map +1 -1
- package/dist/components/field/FieldGroup/FieldGroup.js +1 -1
- package/dist/components/field/FieldGroup/FieldGroup.js.map +1 -1
- package/dist/components/field/FieldLabel/FieldLabel.js +1 -1
- package/dist/components/field/FieldLabel/FieldLabel.js.map +1 -1
- package/dist/components/field/FieldLegend/FieldLegend.js +5 -5
- package/dist/components/field/FieldLegend/FieldLegend.js.map +1 -1
- package/dist/components/field/FieldSeparator/FieldSeparator.js +14 -14
- package/dist/components/field/FieldSeparator/FieldSeparator.js.map +1 -1
- package/dist/components/field/FieldSet/FieldSet.js +1 -1
- package/dist/components/field/FieldSet/FieldSet.js.map +1 -1
- package/dist/components/field/FieldTitle/FieldTitle.js +1 -1
- package/dist/components/field/FieldTitle/FieldTitle.js.map +1 -1
- package/dist/components/image/Image.config.js +1 -1
- package/dist/components/image/Image.config.js.map +1 -1
- package/dist/components/image/Image.js +13 -13
- package/dist/components/image/Image.js.map +1 -1
- package/dist/components/image/Image.utils.js +67 -67
- package/dist/components/image/Image.utils.js.map +1 -1
- package/dist/components/image/ImageElement.js +19 -19
- package/dist/components/image/ImageElement.js.map +1 -1
- package/dist/components/image/ImagePreload.js +1 -1
- package/dist/components/image/ImagePreload.js.map +1 -1
- package/dist/components/input/Input.js +13 -13
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/input-group/InputGroup/InputGroup.js +2 -2
- package/dist/components/input-group/InputGroup/InputGroup.js.map +1 -1
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js +5 -5
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js.map +1 -1
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.styles.js +1 -1
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.styles.js.map +1 -1
- package/dist/components/input-group/InputGroupButton/InputGroupButton.js +9 -9
- package/dist/components/input-group/InputGroupButton/InputGroupButton.js.map +1 -1
- package/dist/components/input-group/InputGroupButton/InputGroupButton.styles.js.map +1 -1
- package/dist/components/input-group/InputGroupButton/InputGroupButton.types.d.ts +2 -3
- package/dist/components/input-group/InputGroupInput/InputGroupInput.js.map +1 -1
- package/dist/components/input-group/InputGroupText/InputGroupText.js +2 -2
- package/dist/components/input-group/InputGroupText/InputGroupText.js.map +1 -1
- package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js.map +1 -1
- package/dist/components/item/Item/Item.js +9 -9
- package/dist/components/item/Item/Item.js.map +1 -1
- package/dist/components/item/Item/Item.styles.js +3 -3
- package/dist/components/item/Item/Item.styles.js.map +1 -1
- package/dist/components/item/ItemActions/ItemActions.js +1 -1
- package/dist/components/item/ItemActions/ItemActions.js.map +1 -1
- package/dist/components/item/ItemContent/ItemContent.js +1 -1
- package/dist/components/item/ItemContent/ItemContent.js.map +1 -1
- package/dist/components/item/ItemDescription/ItemDescription.js +2 -2
- package/dist/components/item/ItemDescription/ItemDescription.js.map +1 -1
- package/dist/components/item/ItemFooter/ItemFooter.js +1 -1
- package/dist/components/item/ItemFooter/ItemFooter.js.map +1 -1
- package/dist/components/item/ItemGroup/ItemGroup.js +1 -1
- package/dist/components/item/ItemGroup/ItemGroup.js.map +1 -1
- package/dist/components/item/ItemHeader/ItemHeader.js +1 -1
- package/dist/components/item/ItemHeader/ItemHeader.js.map +1 -1
- package/dist/components/item/ItemMedia/ItemMedia.js +5 -5
- package/dist/components/item/ItemMedia/ItemMedia.js.map +1 -1
- package/dist/components/item/ItemMedia/ItemMedia.styles.js.map +1 -1
- package/dist/components/item/ItemSeparator/ItemSeparator.js.map +1 -1
- package/dist/components/item/ItemTitle/ItemTitle.js +1 -1
- package/dist/components/item/ItemTitle/ItemTitle.js.map +1 -1
- package/dist/components/kbd/Kbd.js +2 -2
- package/dist/components/kbd/Kbd.js.map +1 -1
- package/dist/components/label/Label.js +1 -1
- package/dist/components/label/Label.js.map +1 -1
- package/dist/components/pagination/Pagination/Pagination.js +1 -1
- package/dist/components/pagination/Pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationContent/PaginationContent.js +1 -1
- package/dist/components/pagination/PaginationContent/PaginationContent.js.map +1 -1
- package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js +1 -1
- package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js.map +1 -1
- package/dist/components/pagination/PaginationItem/PaginationItem.js +1 -1
- package/dist/components/pagination/PaginationItem/PaginationItem.js.map +1 -1
- package/dist/components/pagination/PaginationLink/PaginationLink.js +13 -10
- package/dist/components/pagination/PaginationLink/PaginationLink.js.map +1 -1
- package/dist/components/pagination/PaginationNext/PaginationNext.js +5 -5
- package/dist/components/pagination/PaginationNext/PaginationNext.js.map +1 -1
- package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js +5 -5
- package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js.map +1 -1
- package/dist/components/progress/Progress/Progress.context.js.map +1 -1
- package/dist/components/progress/Progress/Progress.js +1 -1
- package/dist/components/progress/Progress/Progress.js.map +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.js +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.d.ts +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js.map +1 -1
- package/dist/components/progress/ProgressLabel/ProgressLabel.js +1 -1
- package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.js +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.styles.d.ts +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js.map +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.js +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.styles.d.ts +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.styles.js +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.styles.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.js +2 -2
- package/dist/components/scroll-area/ScrollArea/ScrollArea.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.utils.js.map +1 -1
- package/dist/components/scroll-area/ScrollBar/ScrollBar.js +26 -26
- package/dist/components/scroll-area/ScrollBar/ScrollBar.js.map +1 -1
- package/dist/components/separator/Separator.js +7 -7
- package/dist/components/separator/Separator.js.map +1 -1
- package/dist/components/separator/Separator.styles.js +1 -1
- package/dist/components/separator/Separator.styles.js.map +1 -1
- package/dist/components/sidebar/Sidebar/Sidebar.js +10 -10
- package/dist/components/sidebar/Sidebar/Sidebar.js.map +1 -1
- package/dist/components/sidebar/Sidebar/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarContent/SidebarContent.js +1 -1
- package/dist/components/sidebar/SidebarContent/SidebarContent.js.map +1 -1
- package/dist/components/sidebar/SidebarContent/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarFooter/SidebarFooter.js +1 -1
- package/dist/components/sidebar/SidebarFooter/SidebarFooter.js.map +1 -1
- package/dist/components/sidebar/SidebarFooter/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarGroup/SidebarGroup.js +1 -1
- package/dist/components/sidebar/SidebarGroup/SidebarGroup.js.map +1 -1
- package/dist/components/sidebar/SidebarGroup/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js +5 -5
- package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupAction/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js +1 -1
- package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupContent/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js +5 -5
- package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupLabel/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarHeader/SidebarHeader.js +1 -1
- package/dist/components/sidebar/SidebarHeader/SidebarHeader.js.map +1 -1
- package/dist/components/sidebar/SidebarHeader/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarInput/SidebarInput.js +1 -1
- package/dist/components/sidebar/SidebarInput/SidebarInput.js.map +1 -1
- package/dist/components/sidebar/SidebarInput/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarInset/SidebarInset.js +2 -2
- package/dist/components/sidebar/SidebarInset/SidebarInset.js.map +1 -1
- package/dist/components/sidebar/SidebarInset/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarMenu/SidebarMenu.js +1 -1
- package/dist/components/sidebar/SidebarMenu/SidebarMenu.js.map +1 -1
- package/dist/components/sidebar/SidebarMenu/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js +2 -2
- package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuBadge/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js +47 -31
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.styles.js +5 -6
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.styles.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuButton/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js +1 -1
- package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuItem/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js +7 -7
- package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSkeleton/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js +2 -2
- package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSub/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js +9 -9
- package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSubButton/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js +1 -1
- package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSubItem/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.consts.js +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.consts.js.map +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.context.js.map +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.js +17 -17
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.js.map +1 -1
- package/dist/components/sidebar/SidebarRail/SidebarRail.js +2 -2
- package/dist/components/sidebar/SidebarRail/SidebarRail.js.map +1 -1
- package/dist/components/sidebar/SidebarRail/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js.map +1 -1
- package/dist/components/sidebar/SidebarSeparator/index.d.ts +1 -0
- package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js.map +1 -1
- package/dist/components/sidebar/SidebarTrigger/index.d.ts +1 -0
- package/dist/components/sidebar/index.d.ts +21 -21
- package/dist/components/skeleton/Skeleton.js +2 -2
- package/dist/components/skeleton/Skeleton.js.map +1 -1
- package/dist/components/slider/Slider/Slider.context.js.map +1 -1
- package/dist/components/slider/Slider/Slider.js +10 -10
- package/dist/components/slider/Slider/Slider.js.map +1 -1
- package/dist/components/slider/Slider/useSlider.js.map +1 -1
- package/dist/components/slider/SliderControl/SliderControl.js +1 -1
- package/dist/components/slider/SliderControl/SliderControl.js.map +1 -1
- package/dist/components/slider/SliderControl/useSliderControl.js.map +1 -1
- package/dist/components/slider/SliderIndicator/SliderIndicator.js +1 -1
- package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +1 -1
- package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js +1 -1
- package/dist/components/slider/SliderIndicator/SliderIndicator.styles.js.map +1 -1
- package/dist/components/slider/SliderIndicator/useSliderIndicator.js.map +1 -1
- package/dist/components/slider/SliderThumb/SliderThumb.js +1 -1
- package/dist/components/slider/SliderThumb/SliderThumb.js.map +1 -1
- package/dist/components/slider/SliderThumb/SliderThumb.styles.js +1 -1
- package/dist/components/slider/SliderThumb/SliderThumb.styles.js.map +1 -1
- package/dist/components/slider/SliderThumb/useSliderThumb.js.map +1 -1
- package/dist/components/slider/SliderTrack/SliderTrack.js +1 -1
- package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -1
- package/dist/components/slider/SliderTrack/SliderTrack.styles.d.ts +1 -1
- package/dist/components/slider/SliderTrack/SliderTrack.styles.js +1 -1
- package/dist/components/slider/SliderTrack/SliderTrack.styles.js.map +1 -1
- package/dist/components/spinner/Spinner.js.map +1 -1
- package/dist/components/spinner/Spinner.styles.js.map +1 -1
- package/dist/components/switch/Switch.js +19 -19
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/switch/Switch.styles.js +2 -2
- package/dist/components/switch/Switch.styles.js.map +1 -1
- package/dist/components/tabs/Tabs/Tabs.context.d.ts +47 -0
- package/dist/components/tabs/Tabs/Tabs.context.js +54 -0
- package/dist/components/tabs/Tabs/Tabs.context.js.map +1 -0
- package/dist/components/tabs/Tabs/Tabs.d.ts +2 -0
- package/dist/components/tabs/Tabs/Tabs.js +71 -0
- package/dist/components/tabs/Tabs/Tabs.js.map +1 -0
- package/dist/components/tabs/Tabs/Tabs.types.d.ts +16 -0
- package/dist/components/tabs/Tabs/call-event-handler.d.ts +5 -0
- package/dist/components/tabs/Tabs/call-event-handler.js +9 -0
- package/dist/components/tabs/Tabs/call-event-handler.js.map +1 -0
- package/dist/components/tabs/Tabs/index.d.ts +2 -0
- package/dist/components/tabs/Tabs/useTabsKeyboard.d.ts +18 -0
- package/dist/components/tabs/Tabs/useTabsKeyboard.js +49 -0
- package/dist/components/tabs/Tabs/useTabsKeyboard.js.map +1 -0
- package/dist/components/tabs/TabsContent/TabsContent.d.ts +3 -0
- package/dist/components/tabs/TabsContent/TabsContent.js +52 -0
- package/dist/components/tabs/TabsContent/TabsContent.js.map +1 -0
- package/dist/components/tabs/TabsContent/TabsContent.types.d.ts +6 -0
- package/dist/components/tabs/TabsContent/index.d.ts +2 -0
- package/dist/components/tabs/TabsList/TabsList.context.d.ts +7 -0
- package/dist/components/tabs/TabsList/TabsList.context.js +11 -0
- package/dist/components/tabs/TabsList/TabsList.context.js.map +1 -0
- package/dist/components/tabs/TabsList/TabsList.d.ts +2 -0
- package/dist/components/tabs/TabsList/TabsList.js +48 -0
- package/dist/components/tabs/TabsList/TabsList.js.map +1 -0
- package/dist/components/tabs/TabsList/TabsList.styles.d.ts +3 -0
- package/dist/components/tabs/TabsList/TabsList.styles.js +13 -0
- package/dist/components/tabs/TabsList/TabsList.styles.js.map +1 -0
- package/dist/components/tabs/TabsList/TabsList.types.d.ts +7 -0
- package/dist/components/tabs/TabsList/index.d.ts +2 -0
- package/dist/components/tabs/TabsTrigger/TabsTrigger.d.ts +2 -0
- package/dist/components/tabs/TabsTrigger/TabsTrigger.js +71 -0
- package/dist/components/tabs/TabsTrigger/TabsTrigger.js.map +1 -0
- package/dist/components/tabs/TabsTrigger/TabsTrigger.styles.d.ts +1 -0
- package/dist/components/tabs/TabsTrigger/TabsTrigger.styles.js +7 -0
- package/dist/components/tabs/TabsTrigger/TabsTrigger.styles.js.map +1 -0
- package/dist/components/tabs/TabsTrigger/TabsTrigger.types.d.ts +6 -0
- package/dist/components/tabs/TabsTrigger/index.d.ts +2 -0
- package/dist/components/tabs/index.d.ts +4 -0
- package/dist/components/tabs/index.js +5 -0
- package/dist/components/textarea/Textarea.js +2 -2
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/toast/components/Assets.js +1 -1
- package/dist/components/toast/components/Assets.js.map +1 -1
- package/dist/components/toast/components/Toast.js +2 -5
- package/dist/components/toast/components/Toast.js.map +1 -1
- package/dist/components/toast/components/ToastActions.js +1 -1
- package/dist/components/toast/components/ToastActions.js.map +1 -1
- package/dist/components/toast/components/ToastContent.js +1 -1
- package/dist/components/toast/components/ToastContent.js.map +1 -1
- package/dist/components/toast/components/ToastIcon.js +1 -1
- package/dist/components/toast/components/ToastIcon.js.map +1 -1
- package/dist/components/toast/components/Toaster.js +1 -1
- package/dist/components/toast/components/Toaster.js.map +1 -1
- package/dist/components/toast/hooks/useSwipe.js.map +1 -1
- package/dist/components/toast/hooks/useTheme.js.map +1 -1
- package/dist/components/toast/hooks/useToastHeight.js.map +1 -1
- package/dist/components/toast/hooks/useToastSubscription.js +3 -2
- package/dist/components/toast/hooks/useToastSubscription.js.map +1 -1
- package/dist/components/toast/hooks/useToastTimer.js.map +1 -1
- package/dist/components/toast/hooks/useToasterKeyboard.js.map +1 -1
- package/dist/components/toast/hooks.js +3 -2
- package/dist/components/toast/hooks.js.map +1 -1
- package/dist/components/toast/state.js +5 -5
- package/dist/components/toast/state.js.map +1 -1
- package/dist/components/toast/utils.js.map +1 -1
- package/dist/components/tooltip/Tooltip/Tooltip.context.d.ts +2 -11
- package/dist/components/tooltip/Tooltip/Tooltip.context.js +4 -4
- package/dist/components/tooltip/Tooltip/Tooltip.context.js.map +1 -1
- package/dist/components/tooltip/Tooltip/Tooltip.d.ts +21 -5
- package/dist/components/tooltip/Tooltip/Tooltip.js +60 -23
- package/dist/components/tooltip/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/tooltip/Tooltip/Tooltip.types.d.ts +58 -0
- package/dist/components/tooltip/Tooltip/index.d.ts +2 -0
- package/dist/components/tooltip/TooltipArrow/TooltipArrow.d.ts +34 -1
- package/dist/components/tooltip/TooltipArrow/TooltipArrow.js +48 -12
- package/dist/components/tooltip/TooltipArrow/TooltipArrow.js.map +1 -1
- package/dist/components/tooltip/TooltipArrow/index.d.ts +1 -0
- package/dist/components/tooltip/TooltipContent/TooltipContent.context.d.ts +19 -5
- package/dist/components/tooltip/TooltipContent/TooltipContent.context.js +4 -4
- package/dist/components/tooltip/TooltipContent/TooltipContent.context.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.d.ts +10 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.js +60 -46
- package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.types.d.ts +13 -3
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +57 -6
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +34 -58
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/index.d.ts +7 -0
- package/dist/components/tooltip/TooltipContent/useTooltipContent.d.ts +45 -8
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js +70 -41
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.d.ts +29 -0
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js +10 -0
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js.map +1 -0
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.d.ts +2 -0
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.js +25 -0
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.js.map +1 -0
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.types.d.ts +10 -0
- package/dist/components/tooltip/TooltipGroup/index.d.ts +4 -0
- package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.d.ts +4 -2
- package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js +26 -6
- package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js.map +1 -1
- package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.types.d.ts +3 -0
- package/dist/components/tooltip/TooltipTrigger/index.d.ts +3 -0
- package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.d.ts +29 -2
- package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js +27 -27
- package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js.map +1 -1
- package/dist/components/tooltip/index.d.ts +6 -0
- package/dist/components/tooltip/index.js +2 -1
- package/dist/hooks/useFontLoader.js +1 -1
- package/dist/hooks/useFontLoader.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +159 -152
- package/dist/lib/index.d.ts +1 -0
- package/dist/lib/positioner/auto-update.d.ts +19 -0
- package/dist/lib/positioner/auto-update.js +20 -0
- package/dist/lib/positioner/auto-update.js.map +1 -0
- package/dist/lib/positioner/core/compute-position.d.ts +9 -0
- package/dist/lib/positioner/core/compute-position.js +47 -0
- package/dist/lib/positioner/core/compute-position.js.map +1 -0
- package/dist/lib/positioner/core/placement.d.ts +14 -0
- package/dist/lib/positioner/core/placement.js +45 -0
- package/dist/lib/positioner/core/placement.js.map +1 -0
- package/dist/lib/positioner/create-positioner.d.ts +63 -0
- package/dist/lib/positioner/create-positioner.js +51 -0
- package/dist/lib/positioner/create-positioner.js.map +1 -0
- package/dist/lib/positioner/index.d.ts +11 -0
- package/dist/lib/positioner/middleware/arrow.d.ts +23 -0
- package/dist/lib/positioner/middleware/arrow.js +23 -0
- package/dist/lib/positioner/middleware/arrow.js.map +1 -0
- package/dist/lib/positioner/middleware/containing-block-offset.d.ts +27 -0
- package/dist/lib/positioner/middleware/containing-block-offset.js +46 -0
- package/dist/lib/positioner/middleware/containing-block-offset.js.map +1 -0
- package/dist/lib/positioner/middleware/flip.d.ts +9 -0
- package/dist/lib/positioner/middleware/flip.js +54 -0
- package/dist/lib/positioner/middleware/flip.js.map +1 -0
- package/dist/lib/positioner/middleware/hide.d.ts +22 -0
- package/dist/lib/positioner/middleware/hide.js +19 -0
- package/dist/lib/positioner/middleware/hide.js.map +1 -0
- package/dist/lib/positioner/middleware/index.d.ts +13 -0
- package/dist/lib/positioner/middleware/offset.d.ts +10 -0
- package/dist/lib/positioner/middleware/offset.js +21 -0
- package/dist/lib/positioner/middleware/offset.js.map +1 -0
- package/dist/lib/positioner/middleware/shift.d.ts +13 -0
- package/dist/lib/positioner/middleware/shift.js +30 -0
- package/dist/lib/positioner/middleware/shift.js.map +1 -0
- package/dist/lib/positioner/middleware/size.d.ts +13 -0
- package/dist/lib/positioner/types.d.ts +74 -0
- package/dist/lib/positioner/utils/dom.d.ts +16 -0
- package/dist/lib/positioner/utils/dom.js +43 -0
- package/dist/lib/positioner/utils/dom.js.map +1 -0
- package/dist/lib/positioner/virtual-element.d.ts +21 -0
- package/dist/types/props.types.d.ts +10 -9
- package/dist/ui.css +2 -2
- package/dist/utils/clsx.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +3 -2
- package/dist/utils/logger.d.ts +73 -0
- package/dist/utils/logger.js +37 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/warn-once.js.map +1 -1
- package/package.json +13 -12
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.styles.d.ts +0 -0
- package/dist/components/carousel/CarouselContent/CarouselContent.styles.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.js","names":[],"sources":["../../../src/components/toast/state.ts"],"sourcesContent":["/**\n * state.ts\n * Pure observable store — no framework dependency.\n * Responsible for: creating, updating, dismissing toasts, and notifying subscribers.\n */\nimport { createUniqueId, type JSXElement } from \"solid-js\";\nimport type {\n ExternalToast,\n PromiseData,\n PromiseIExtendedResult,\n PromiseT,\n ToastT,\n ToastToDismiss,\n ToastTypes,\n} from \"./types\";\n\nconst isValidElement = (src: object): boolean => {\n return !(\"id\" in src && \"message\" in src);\n};\n\n// ─── Observer (pub/sub) ────────────────────────────────────────────────────────\nclass Observer {\n subscribers: Array<(toast: ToastT | ToastToDismiss) => void> = [];\n toasts: Array<ToastT | ToastToDismiss> = [];\n dismissedToasts: Set<string> = new Set();\n\n subscribe = (subscriber: (toast: ToastT | ToastToDismiss) => void) => {\n this.subscribers.push(subscriber);\n return () => {\n const index = this.subscribers.indexOf(subscriber);\n this.subscribers.splice(index, 1);\n };\n };\n\n publish = (data: ToastT) => {\n for (const subscriber of this.subscribers) {\n subscriber(data);\n }\n };\n\n addToast = (data: ToastT) => {\n this.publish(data);\n this.toasts = [...this.toasts, data];\n };\n\n create = (\n data: ExternalToast & {\n message?: JSXElement;\n type?: ToastTypes;\n promise?: PromiseT;\n jsx?: (() => JSXElement) | JSXElement;\n },\n ) => {\n const { message, ...rest } = data;\n const id =\n typeof data?.id === \"number\" || (data.id as string)?.length > 0\n ? data.id!\n : createUniqueId();\n\n const alreadyExists = this.toasts.find((t) => t.id === id);\n const dismissible =\n data.dismissible === undefined ? true : data.dismissible;\n\n if (this.dismissedToasts.has(id)) this.dismissedToasts.delete(id);\n\n if (alreadyExists) {\n this.toasts = this.toasts.map((t) => {\n if (t.id === id) {\n this.publish({ ...t, ...data, id, title: message } as ToastT);\n return { ...t, ...data, id, dismissible, title: message } as ToastT;\n }\n return t;\n });\n } else {\n this.addToast({ title: message, ...rest, dismissible, id } as ToastT);\n }\n\n return id;\n };\n\n dismiss = (id?: string) => {\n if (id !== undefined) {\n this.dismissedToasts.add(id);\n requestAnimationFrame(() => {\n for (const subscriber of this.subscribers) {\n subscriber({ id, dismiss: true });\n }\n });\n } else {\n requestAnimationFrame(() => {\n for (const toast of this.toasts) {\n for (const subscriber of this.subscribers) {\n subscriber({ id: toast.id, dismiss: true });\n }\n }\n });\n }\n\n return id;\n };\n\n message = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, message });\n\n error = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, message, type: \"error\" });\n\n success = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, type: \"success\", message });\n\n info = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, type: \"info\", message });\n\n warning = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, type: \"warning\", message });\n\n loading = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, type: \"loading\", message });\n\n promise = <ToastData>(\n promise: PromiseT<ToastData>,\n data?: PromiseData<ToastData>,\n ) => {\n if (!data) return;\n\n let id: string | undefined;\n if (data.loading !== undefined) {\n id = this.create({\n ...data,\n promise,\n type: \"loading\",\n message: data.loading,\n description:\n typeof data.description !== \"function\" ? data.description : undefined,\n });\n }\n\n const p = Promise.resolve(\n promise instanceof Function ? promise() : promise,\n );\n\n let shouldDismiss = id !== undefined;\n let result: [\"resolve\", ToastData] | [\"reject\", unknown];\n\n const originalPromise = p\n .then(async (response) => {\n result = [\"resolve\", response];\n const isElement = isValidElement(response as any);\n if (isElement) {\n shouldDismiss = false;\n this.create({ id, type: \"default\", message: response as any });\n } else if (isHttpResponse(response) && !(response as Response).ok) {\n shouldDismiss = false;\n const errMsg = `HTTP error! status: ${(response as Response).status}`;\n const promiseData =\n typeof data.error === \"function\"\n ? await data.error(errMsg)\n : data.error;\n const description =\n typeof data.description === \"function\"\n ? await data.description(errMsg)\n : data.description;\n const isExtended =\n typeof promiseData === \"object\" &&\n !isValidElement(promiseData as any);\n const toastSettings: PromiseIExtendedResult = isExtended\n ? (promiseData as PromiseIExtendedResult)\n : { message: promiseData as any };\n this.create({ id, type: \"error\", description, ...toastSettings });\n } else if (response instanceof Error) {\n shouldDismiss = false;\n const promiseData =\n typeof data.error === \"function\"\n ? await data.error(response)\n : data.error;\n const description =\n typeof data.description === \"function\"\n ? await data.description(response)\n : data.description;\n const isExtended =\n typeof promiseData === \"object\" &&\n !isValidElement(promiseData as any);\n const toastSettings: PromiseIExtendedResult = isExtended\n ? (promiseData as PromiseIExtendedResult)\n : { message: promiseData as any };\n this.create({ id, type: \"error\", description, ...toastSettings });\n } else if (data.success !== undefined) {\n shouldDismiss = false;\n const promiseData =\n typeof data.success === \"function\"\n ? await data.success(response)\n : data.success;\n const description =\n typeof data.description === \"function\"\n ? await data.description(response)\n : data.description;\n const isExtended =\n typeof promiseData === \"object\" &&\n !isValidElement(promiseData as any);\n const toastSettings: PromiseIExtendedResult = isExtended\n ? (promiseData as PromiseIExtendedResult)\n : { message: promiseData as any };\n this.create({ id, type: \"success\", description, ...toastSettings });\n }\n })\n .catch(async (error) => {\n result = [\"reject\", error];\n if (data.error !== undefined) {\n shouldDismiss = false;\n const promiseData =\n typeof data.error === \"function\"\n ? await data.error(error)\n : data.error;\n const description =\n typeof data.description === \"function\"\n ? await data.description(error)\n : data.description;\n const isExtended =\n typeof promiseData === \"object\" &&\n !isValidElement(promiseData as any);\n const toastSettings: PromiseIExtendedResult = isExtended\n ? (promiseData as PromiseIExtendedResult)\n : { message: promiseData as any };\n this.create({ id, type: \"error\", description, ...toastSettings });\n }\n })\n .finally(() => {\n if (shouldDismiss) {\n this.dismiss(id);\n id = undefined;\n }\n data.finally?.();\n });\n\n const unwrap = () =>\n new Promise<ToastData>((resolve, reject) =>\n originalPromise\n .then(() =>\n result[0] === \"reject\"\n ? reject(result[1])\n : resolve(result[1] as ToastData),\n )\n .catch(reject),\n );\n\n if (typeof id !== \"string\" && typeof id !== \"number\") return { unwrap };\n return Object.assign(id, { unwrap });\n };\n\n custom = (jsx: (id: number | string) => any, data?: ExternalToast) => {\n const id = data?.id || createUniqueId();\n this.create({ jsx: jsx(id), ...data, id });\n return id;\n };\n\n getActiveToasts = () =>\n this.toasts.filter((t) => !this.dismissedToasts.has(t.id));\n}\n\n// ─── Singleton & public API ────────────────────────────────────────────────────\nexport const ToastState = new Observer();\n\nconst toastFunction = (message: JSXElement, data?: ExternalToast) => {\n const id = createUniqueId();\n ToastState.addToast({ title: message, ...data, id } as ToastT);\n return id;\n};\n\nconst isHttpResponse = (data: any): data is Response =>\n data &&\n typeof data === \"object\" &&\n \"ok\" in data &&\n typeof data.ok === \"boolean\" &&\n \"status\" in data &&\n typeof data.status === \"number\";\n\nexport const getHistory = () => ToastState.toasts;\nexport const getToasts = () => ToastState.getActiveToasts();\n\nexport const toast = Object.assign(\n toastFunction,\n {\n success: ToastState.success,\n info: ToastState.info,\n warning: ToastState.warning,\n error: ToastState.error,\n custom: ToastState.custom,\n message: ToastState.message,\n promise: ToastState.promise,\n dismiss: ToastState.dismiss,\n loading: ToastState.loading,\n },\n { getHistory, getToasts },\n);\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"state.js","names":[],"sources":["../../../src/components/toast/state.ts"],"sourcesContent":["/**\n * state.ts\n * Pure observable store — no framework dependency.\n * Responsible for: creating, updating, dismissing toasts, and notifying subscribers.\n */\nimport { createUniqueId, type JSXElement } from \"solid-js\";\nimport type {\n ExternalToast,\n PromiseData,\n PromiseIExtendedResult,\n PromiseT,\n ToastT,\n ToastToDismiss,\n ToastTypes,\n} from \"./types\";\n\nconst isValidElement = (src: object): boolean => {\n return !(\"id\" in src && \"message\" in src);\n};\n\n// ─── Observer (pub/sub) ────────────────────────────────────────────────────────\nclass Observer {\n subscribers: Array<(toast: ToastT | ToastToDismiss) => void> = [];\n toasts: Array<ToastT | ToastToDismiss> = [];\n dismissedToasts: Set<string> = new Set();\n\n subscribe = (subscriber: (toast: ToastT | ToastToDismiss) => void) => {\n this.subscribers.push(subscriber);\n return () => {\n const index = this.subscribers.indexOf(subscriber);\n this.subscribers.splice(index, 1);\n };\n };\n\n publish = (data: ToastT) => {\n for (const subscriber of this.subscribers) {\n subscriber(data);\n }\n };\n\n addToast = (data: ToastT) => {\n this.publish(data);\n this.toasts = [...this.toasts, data];\n };\n\n create = (\n data: ExternalToast & {\n message?: JSXElement;\n type?: ToastTypes;\n promise?: PromiseT;\n jsx?: (() => JSXElement) | JSXElement;\n },\n ) => {\n const { message, ...rest } = data;\n const id =\n typeof data?.id === \"number\" || (data.id as string)?.length > 0\n ? data.id!\n : createUniqueId();\n\n const alreadyExists = this.toasts.find((t) => t.id === id);\n const dismissible =\n data.dismissible === undefined ? true : data.dismissible;\n\n if (this.dismissedToasts.has(id)) this.dismissedToasts.delete(id);\n\n if (alreadyExists) {\n this.toasts = this.toasts.map((t) => {\n if (t.id === id) {\n this.publish({ ...t, ...data, id, title: message } as ToastT);\n return { ...t, ...data, id, dismissible, title: message } as ToastT;\n }\n return t;\n });\n } else {\n this.addToast({ title: message, ...rest, dismissible, id } as ToastT);\n }\n\n return id;\n };\n\n dismiss = (id?: string) => {\n if (id !== undefined) {\n this.dismissedToasts.add(id);\n requestAnimationFrame(() => {\n for (const subscriber of this.subscribers) {\n subscriber({ id, dismiss: true });\n }\n });\n } else {\n requestAnimationFrame(() => {\n for (const toast of this.toasts) {\n for (const subscriber of this.subscribers) {\n subscriber({ id: toast.id, dismiss: true });\n }\n }\n });\n }\n\n return id;\n };\n\n message = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, message });\n\n error = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, message, type: \"error\" });\n\n success = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, type: \"success\", message });\n\n info = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, type: \"info\", message });\n\n warning = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, type: \"warning\", message });\n\n loading = (message: JSXElement, data?: ExternalToast) =>\n this.create({ ...data, type: \"loading\", message });\n\n promise = <ToastData>(\n promise: PromiseT<ToastData>,\n data?: PromiseData<ToastData>,\n ) => {\n if (!data) return;\n\n let id: string | undefined;\n if (data.loading !== undefined) {\n id = this.create({\n ...data,\n promise,\n type: \"loading\",\n message: data.loading,\n description:\n typeof data.description !== \"function\" ? data.description : undefined,\n });\n }\n\n const p = Promise.resolve(\n promise instanceof Function ? promise() : promise,\n );\n\n let shouldDismiss = id !== undefined;\n let result: [\"resolve\", ToastData] | [\"reject\", unknown];\n\n const originalPromise = p\n .then(async (response) => {\n result = [\"resolve\", response];\n const isElement = isValidElement(response as any);\n if (isElement) {\n shouldDismiss = false;\n this.create({ id, type: \"default\", message: response as any });\n } else if (isHttpResponse(response) && !(response as Response).ok) {\n shouldDismiss = false;\n const errMsg = `HTTP error! status: ${(response as Response).status}`;\n const promiseData =\n typeof data.error === \"function\"\n ? await data.error(errMsg)\n : data.error;\n const description =\n typeof data.description === \"function\"\n ? await data.description(errMsg)\n : data.description;\n const isExtended =\n typeof promiseData === \"object\" &&\n !isValidElement(promiseData as any);\n const toastSettings: PromiseIExtendedResult = isExtended\n ? (promiseData as PromiseIExtendedResult)\n : { message: promiseData as any };\n this.create({ id, type: \"error\", description, ...toastSettings });\n } else if (response instanceof Error) {\n shouldDismiss = false;\n const promiseData =\n typeof data.error === \"function\"\n ? await data.error(response)\n : data.error;\n const description =\n typeof data.description === \"function\"\n ? await data.description(response)\n : data.description;\n const isExtended =\n typeof promiseData === \"object\" &&\n !isValidElement(promiseData as any);\n const toastSettings: PromiseIExtendedResult = isExtended\n ? (promiseData as PromiseIExtendedResult)\n : { message: promiseData as any };\n this.create({ id, type: \"error\", description, ...toastSettings });\n } else if (data.success !== undefined) {\n shouldDismiss = false;\n const promiseData =\n typeof data.success === \"function\"\n ? await data.success(response)\n : data.success;\n const description =\n typeof data.description === \"function\"\n ? await data.description(response)\n : data.description;\n const isExtended =\n typeof promiseData === \"object\" &&\n !isValidElement(promiseData as any);\n const toastSettings: PromiseIExtendedResult = isExtended\n ? (promiseData as PromiseIExtendedResult)\n : { message: promiseData as any };\n this.create({ id, type: \"success\", description, ...toastSettings });\n }\n })\n .catch(async (error) => {\n result = [\"reject\", error];\n if (data.error !== undefined) {\n shouldDismiss = false;\n const promiseData =\n typeof data.error === \"function\"\n ? await data.error(error)\n : data.error;\n const description =\n typeof data.description === \"function\"\n ? await data.description(error)\n : data.description;\n const isExtended =\n typeof promiseData === \"object\" &&\n !isValidElement(promiseData as any);\n const toastSettings: PromiseIExtendedResult = isExtended\n ? (promiseData as PromiseIExtendedResult)\n : { message: promiseData as any };\n this.create({ id, type: \"error\", description, ...toastSettings });\n }\n })\n .finally(() => {\n if (shouldDismiss) {\n this.dismiss(id);\n id = undefined;\n }\n data.finally?.();\n });\n\n const unwrap = () =>\n new Promise<ToastData>((resolve, reject) =>\n originalPromise\n .then(() =>\n result[0] === \"reject\"\n ? reject(result[1])\n : resolve(result[1] as ToastData),\n )\n .catch(reject),\n );\n\n if (typeof id !== \"string\" && typeof id !== \"number\") return { unwrap };\n return Object.assign(id, { unwrap });\n };\n\n custom = (jsx: (id: number | string) => any, data?: ExternalToast) => {\n const id = data?.id || createUniqueId();\n this.create({ jsx: jsx(id), ...data, id });\n return id;\n };\n\n getActiveToasts = () =>\n this.toasts.filter((t) => !this.dismissedToasts.has(t.id));\n}\n\n// ─── Singleton & public API ────────────────────────────────────────────────────\nexport const ToastState = new Observer();\n\nconst toastFunction = (message: JSXElement, data?: ExternalToast) => {\n const id = createUniqueId();\n ToastState.addToast({ title: message, ...data, id } as ToastT);\n return id;\n};\n\nconst isHttpResponse = (data: any): data is Response =>\n data &&\n typeof data === \"object\" &&\n \"ok\" in data &&\n typeof data.ok === \"boolean\" &&\n \"status\" in data &&\n typeof data.status === \"number\";\n\nexport const getHistory = () => ToastState.toasts;\nexport const getToasts = () => ToastState.getActiveToasts();\n\nexport const toast = Object.assign(\n toastFunction,\n {\n success: ToastState.success,\n info: ToastState.info,\n warning: ToastState.warning,\n error: ToastState.error,\n custom: ToastState.custom,\n message: ToastState.message,\n promise: ToastState.promise,\n dismiss: ToastState.dismiss,\n loading: ToastState.loading,\n },\n { getHistory, getToasts },\n);\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/components/toast/utils.ts"],"sourcesContent":["import type { SwipeDirection, ToasterProps } from \"./types\";\nimport { MOBILE_VIEWPORT_OFFSET, VIEWPORT_OFFSET } from \"./constants\";\n\n/** Derives default swipe directions from a position string like \"bottom-right\" */\nexport function getDefaultSwipeDirections(position: string): SwipeDirection[] {\n const [y, x] = position.split(\"-\");\n const directions: SwipeDirection[] = [];\n if (y) directions.push(y as SwipeDirection);\n if (x) directions.push(x as SwipeDirection);\n return directions;\n}\n\n/** Reads the document text direction (for RTL support) */\nexport function getDocumentDirection(): ToasterProps[\"dir\"] {\n if (typeof window === \"undefined\") return \"ltr\";\n if (typeof document === \"undefined\") return \"ltr\";\n const dir = document.documentElement.getAttribute(\"dir\");\n if (dir === \"auto\" || !dir) {\n return window.getComputedStyle(document.documentElement)\n .direction as ToasterProps[\"dir\"];\n }\n return dir as ToasterProps[\"dir\"];\n}\n\n/**\n * Converts offset prop (string | number | object) into CSS custom property map.\n * Produces both desktop (`--offset-*`) and mobile (`--mobile-offset-*`) vars.\n */\nexport function assignOffset(\n defaultOffset: ToasterProps[\"offset\"],\n mobileOffset: ToasterProps[\"mobileOffset\"],\n): Record<string, string> {\n const styles: Record<string, string> = {};\n\n [defaultOffset, mobileOffset].forEach((offset, i) => {\n const isMobile = i === 1;\n const prefix = isMobile ? \"--mobile-offset\" : \"--offset\";\n const fallback = isMobile ? MOBILE_VIEWPORT_OFFSET : VIEWPORT_OFFSET;\n\n const assignAll = (value: string | number) => {\n [\"top\", \"right\", \"bottom\", \"left\"].forEach((side) => {\n styles[`${prefix}-${side}`] =\n typeof value === \"number\" ? `${value}px` : value;\n });\n };\n\n if (typeof offset === \"number\" || typeof offset === \"string\") {\n assignAll(offset);\n } else if (typeof offset === \"object\" && offset !== null) {\n [\"top\", \"right\", \"bottom\", \"left\"].forEach((side) => {\n const val = (offset as Record<string, string | number | undefined>)[\n side\n ];\n styles[`${prefix}-${side}`] =\n val === undefined\n ? fallback\n : typeof val === \"number\"\n ? `${val}px`\n : val;\n });\n } else {\n assignAll(fallback);\n }\n });\n\n return styles;\n}\n"],"mappings":";;AAIA,SAAgB,EAA0B,GAAoC;CAC5E,IAAM,CAAC,GAAG,KAAK,EAAS,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.js","names":[],"sources":["../../../src/components/toast/utils.ts"],"sourcesContent":["import type { SwipeDirection, ToasterProps } from \"./types\";\nimport { MOBILE_VIEWPORT_OFFSET, VIEWPORT_OFFSET } from \"./constants\";\n\n/** Derives default swipe directions from a position string like \"bottom-right\" */\nexport function getDefaultSwipeDirections(position: string): SwipeDirection[] {\n const [y, x] = position.split(\"-\");\n const directions: SwipeDirection[] = [];\n if (y) directions.push(y as SwipeDirection);\n if (x) directions.push(x as SwipeDirection);\n return directions;\n}\n\n/** Reads the document text direction (for RTL support) */\nexport function getDocumentDirection(): ToasterProps[\"dir\"] {\n if (typeof window === \"undefined\") return \"ltr\";\n if (typeof document === \"undefined\") return \"ltr\";\n const dir = document.documentElement.getAttribute(\"dir\");\n if (dir === \"auto\" || !dir) {\n return window.getComputedStyle(document.documentElement)\n .direction as ToasterProps[\"dir\"];\n }\n return dir as ToasterProps[\"dir\"];\n}\n\n/**\n * Converts offset prop (string | number | object) into CSS custom property map.\n * Produces both desktop (`--offset-*`) and mobile (`--mobile-offset-*`) vars.\n */\nexport function assignOffset(\n defaultOffset: ToasterProps[\"offset\"],\n mobileOffset: ToasterProps[\"mobileOffset\"],\n): Record<string, string> {\n const styles: Record<string, string> = {};\n\n [defaultOffset, mobileOffset].forEach((offset, i) => {\n const isMobile = i === 1;\n const prefix = isMobile ? \"--mobile-offset\" : \"--offset\";\n const fallback = isMobile ? MOBILE_VIEWPORT_OFFSET : VIEWPORT_OFFSET;\n\n const assignAll = (value: string | number) => {\n [\"top\", \"right\", \"bottom\", \"left\"].forEach((side) => {\n styles[`${prefix}-${side}`] =\n typeof value === \"number\" ? `${value}px` : value;\n });\n };\n\n if (typeof offset === \"number\" || typeof offset === \"string\") {\n assignAll(offset);\n } else if (typeof offset === \"object\" && offset !== null) {\n [\"top\", \"right\", \"bottom\", \"left\"].forEach((side) => {\n const val = (offset as Record<string, string | number | undefined>)[\n side\n ];\n styles[`${prefix}-${side}`] =\n val === undefined\n ? fallback\n : typeof val === \"number\"\n ? `${val}px`\n : val;\n });\n } else {\n assignAll(fallback);\n }\n });\n\n return styles;\n}\n"],"mappings":";;AAIA,SAAgB,EAA0B,GAAoC;CAC5E,IAAM,CAAC,GAAG,KAAK,EAAS,MAAM,GAAG,GAC3B,IAA+B,CAAC;CAGtC,OAFI,KAAG,EAAW,KAAK,CAAmB,GACtC,KAAG,EAAW,KAAK,CAAmB,GACnC;AACT;AAGA,SAAgB,IAA4C;CAE1D,IADI,OAAO,SAAW,OAClB,OAAO,WAAa,KAAa,OAAO;CAC5C,IAAM,IAAM,SAAS,gBAAgB,aAAa,KAAK;CAKvD,OAJI,MAAQ,UAAU,CAAC,IACd,OAAO,iBAAiB,SAAS,eAAe,CAAC,CACrD,YAEE;AACT;AAMA,SAAgB,EACd,GACA,GACwB;CACxB,IAAM,IAAiC,CAAC;CAiCxC,OA/BA,CAAC,GAAe,CAAY,CAAC,CAAC,SAAS,GAAQ,MAAM;EACnD,IAAM,IAAW,MAAM,GACjB,IAAS,IAAW,oBAAoB,YACxC,IAAW,IAAW,IAAyB,GAE/C,KAAa,MAA2B;GAC5C;IAAC;IAAO;IAAS;IAAU;GAAM,CAAC,CAAC,SAAS,MAAS;IACnD,EAAO,GAAG,EAAO,GAAG,OAClB,OAAO,KAAU,WAAW,GAAG,EAAM,MAAM;GAC/C,CAAC;EACH;EAEA,AAAI,OAAO,KAAW,YAAY,OAAO,KAAW,WAClD,EAAU,CAAM,IACP,OAAO,KAAW,YAAY,IACvC;GAAC;GAAO;GAAS;GAAU;EAAM,CAAC,CAAC,SAAS,MAAS;GACnD,IAAM,IAAO,EACX;GAEF,EAAO,GAAG,EAAO,GAAG,OAClB,MAAQ,KAAA,IACJ,IACA,OAAO,KAAQ,WACb,GAAG,EAAI,MACP;EACV,CAAC,IAED,EAAU,CAAQ;CAEtB,CAAC,GAEM;AACT"}
|
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
open: () => boolean;
|
|
3
|
-
setOpen: (v: boolean) => void;
|
|
4
|
-
triggerRef: HTMLElement | undefined;
|
|
5
|
-
setTriggerRef: (el: HTMLElement) => void;
|
|
6
|
-
contentId: string;
|
|
7
|
-
openDelay: number;
|
|
8
|
-
closeDelay: number;
|
|
9
|
-
};
|
|
1
|
+
import { TooltipContextValue } from './Tooltip.types';
|
|
10
2
|
export declare const TooltipContext: import('solid-js').Context<TooltipContextValue | undefined>;
|
|
11
|
-
export declare function useTooltipContext(): TooltipContextValue;
|
|
12
|
-
export {};
|
|
3
|
+
export declare function useTooltipContext(component: string): TooltipContextValue;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createContext as e, useContext as t } from "solid-js";
|
|
2
2
|
//#region src/components/tooltip/Tooltip/Tooltip.context.ts
|
|
3
3
|
var n = e();
|
|
4
|
-
function r() {
|
|
5
|
-
let
|
|
6
|
-
if (!
|
|
7
|
-
return
|
|
4
|
+
function r(e) {
|
|
5
|
+
let r = t(n);
|
|
6
|
+
if (!r) throw Error(`<${e}> 必须渲染在 <Tooltip> 内部`);
|
|
7
|
+
return r;
|
|
8
8
|
}
|
|
9
9
|
//#endregion
|
|
10
10
|
export { n as TooltipContext, r as useTooltipContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.context.js","names":[],"sources":["../../../../src/components/tooltip/Tooltip/Tooltip.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\
|
|
1
|
+
{"version":3,"file":"Tooltip.context.js","names":[],"sources":["../../../../src/components/tooltip/Tooltip/Tooltip.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { TooltipContextValue } from \"./Tooltip.types\";\n\nexport const TooltipContext = createContext<TooltipContextValue>();\n\nexport function useTooltipContext(component: string): TooltipContextValue {\n const ctx = useContext(TooltipContext);\n if (!ctx) {\n throw new Error(`<${component}> 必须渲染在 <Tooltip> 内部`);\n }\n return ctx;\n}\n"],"mappings":";;AAGA,IAAa,IAAiB,EAAmC;AAEjE,SAAgB,EAAkB,GAAwC;CACxE,IAAM,IAAM,EAAW,CAAc;CACrC,IAAI,CAAC,GACH,MAAU,MAAM,IAAI,EAAU,qBAAqB;CAErD,OAAO;AACT"}
|
|
@@ -1,5 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { TooltipProps } from './Tooltip.types';
|
|
3
|
+
/**
|
|
4
|
+
* Tooltip 根组件:不渲染任何 DOM,只负责状态管理 + 提供 context。
|
|
5
|
+
* 真正的展示交给 <TooltipTrigger>/<TooltipContent>/<TooltipArrow>。
|
|
6
|
+
*
|
|
7
|
+
* 如果外面包了 <TooltipGroup>,组内相邻 trigger 之间切换 hover 会跳过
|
|
8
|
+
* openDelay,并触发"从旧位置滑到新位置"的过渡(细节见 TooltipGroup.context.ts)。
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* <Tooltip openDelay={300}>
|
|
13
|
+
* <TooltipTrigger>悬停我</TooltipTrigger>
|
|
14
|
+
* <TooltipContent>
|
|
15
|
+
* 提示内容
|
|
16
|
+
* <TooltipArrow />
|
|
17
|
+
* </TooltipContent>
|
|
18
|
+
* </Tooltip>
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function Tooltip(props: TooltipProps): JSX.Element;
|
|
@@ -1,33 +1,70 @@
|
|
|
1
1
|
import { TooltipContext as e } from "./Tooltip.context.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { useTooltipGroupContext as t } from "../TooltipGroup/TooltipGroup.context.js";
|
|
3
|
+
import { createComponent as n } from "solid-js/web";
|
|
4
|
+
import { createEffect as r, createMemo as i, createSignal as a, createUniqueId as o, onCleanup as s } from "solid-js";
|
|
4
5
|
//#region src/components/tooltip/Tooltip/Tooltip.tsx
|
|
5
|
-
var
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
var c = 300, l = 150;
|
|
7
|
+
function u(u) {
|
|
8
|
+
let d = t(), [f, p] = a(u.defaultOpen ?? !1), m = i(() => u.open === void 0 ? f() : u.open), h = i(() => !!u.disabled), [g, _] = a(), [v, y] = a(), [b, x] = a(), [S, C] = a(!1), w = (e) => {
|
|
9
|
+
u.open === void 0 && p(e), u.onOpenChange?.(e);
|
|
10
|
+
}, T, E, D = () => {
|
|
11
|
+
T !== void 0 && (window.clearTimeout(T), T = void 0), E !== void 0 && (window.clearTimeout(E), E = void 0);
|
|
12
|
+
}, O = () => {
|
|
13
|
+
if (D(), h() || m()) return;
|
|
14
|
+
let e = d?.claim();
|
|
15
|
+
if (e) {
|
|
16
|
+
x(e), w(!0);
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
T = window.setTimeout(() => w(!0), u.openDelay ?? c);
|
|
20
|
+
}, k = () => {
|
|
21
|
+
D(), E = window.setTimeout(() => w(!1), u.closeDelay ?? l);
|
|
22
|
+
}, A = () => {
|
|
23
|
+
h() || (D(), w(!0));
|
|
24
|
+
}, j = () => {
|
|
25
|
+
D(), w(!1);
|
|
26
|
+
}, M = () => {
|
|
27
|
+
C(!0), D(), w(!1);
|
|
28
|
+
}, N = () => {
|
|
29
|
+
E !== void 0 && (window.clearTimeout(E), E = void 0);
|
|
8
30
|
};
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
31
|
+
s(D), r(() => {
|
|
32
|
+
if (!d || !m()) return;
|
|
33
|
+
let e = d.registerActive({
|
|
34
|
+
rect: () => v()?.getBoundingClientRect(),
|
|
35
|
+
forceClose: M
|
|
36
|
+
});
|
|
37
|
+
s(e);
|
|
38
|
+
});
|
|
39
|
+
let P = {
|
|
40
|
+
open: m,
|
|
41
|
+
disabled: h,
|
|
42
|
+
contentId: `tooltip-${o()}`,
|
|
43
|
+
reference: g,
|
|
44
|
+
setReference: _,
|
|
45
|
+
floating: v,
|
|
46
|
+
setFloating: y,
|
|
47
|
+
requestOpen: O,
|
|
48
|
+
requestClose: k,
|
|
49
|
+
openImmediate: A,
|
|
50
|
+
closeImmediate: j,
|
|
51
|
+
keepOpen: N,
|
|
52
|
+
pendingSlideFrom: b,
|
|
53
|
+
clearPendingSlideFrom: () => x(void 0),
|
|
54
|
+
suppressExitAnimation: S,
|
|
55
|
+
consumeSuppressExitAnimation: () => {
|
|
56
|
+
let e = S();
|
|
57
|
+
return e && C(!1), e;
|
|
58
|
+
}
|
|
20
59
|
};
|
|
21
|
-
return
|
|
22
|
-
|
|
23
|
-
}), t(e.Provider, {
|
|
24
|
-
value: u,
|
|
60
|
+
return n(e.Provider, {
|
|
61
|
+
value: P,
|
|
25
62
|
get children() {
|
|
26
|
-
return
|
|
63
|
+
return u.children;
|
|
27
64
|
}
|
|
28
65
|
});
|
|
29
|
-
}
|
|
66
|
+
}
|
|
30
67
|
//#endregion
|
|
31
|
-
export {
|
|
68
|
+
export { u as Tooltip };
|
|
32
69
|
|
|
33
70
|
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.js","names":["createSignal","createUniqueId","onCleanup","
|
|
1
|
+
{"version":3,"file":"Tooltip.js","names":["createSignal","createMemo","createUniqueId","createEffect","onCleanup","JSX","TooltipContext","useTooltipGroupContext","TooltipContextValue","TooltipProps","Rect","DEFAULT_OPEN_DELAY","DEFAULT_CLOSE_DELAY","Tooltip","props","Element","group","internalOpen","setInternalOpen","defaultOpen","open","undefined","disabled","reference","setReference","floating","setFloating","HTMLElement","pendingSlideFrom","setPendingSlideFrom","suppressExitAnimation","setSuppressExitAnimation","commit","next","onOpenChange","openTimer","closeTimer","clearTimers","window","clearTimeout","requestOpen","claimedRect","claim","setTimeout","openDelay","requestClose","closeDelay","openImmediate","closeImmediate","forceCloseForGroup","keepOpen","unregister","registerActive","rect","getBoundingClientRect","forceClose","contentId","ctx","clearPendingSlideFrom","consumeSuppressExitAnimation","value","_$createComponent","Provider","children"],"sources":["../../../../src/components/tooltip/Tooltip/Tooltip.tsx"],"sourcesContent":["import {\n createSignal,\n createMemo,\n createUniqueId,\n createEffect,\n onCleanup,\n type JSX,\n} from \"solid-js\";\nimport { TooltipContext } from \"./Tooltip.context\";\nimport { useTooltipGroupContext } from \"../TooltipGroup/TooltipGroup.context\";\nimport type { TooltipContextValue, TooltipProps } from \"./Tooltip.types\";\nimport type { Rect } from \"~/lib\";\n\nconst DEFAULT_OPEN_DELAY = 300;\nconst DEFAULT_CLOSE_DELAY = 150;\n\n/**\n * Tooltip 根组件:不渲染任何 DOM,只负责状态管理 + 提供 context。\n * 真正的展示交给 <TooltipTrigger>/<TooltipContent>/<TooltipArrow>。\n *\n * 如果外面包了 <TooltipGroup>,组内相邻 trigger 之间切换 hover 会跳过\n * openDelay,并触发\"从旧位置滑到新位置\"的过渡(细节见 TooltipGroup.context.ts)。\n *\n * @example\n * ```tsx\n * <Tooltip openDelay={300}>\n * <TooltipTrigger>悬停我</TooltipTrigger>\n * <TooltipContent>\n * 提示内容\n * <TooltipArrow />\n * </TooltipContent>\n * </Tooltip>\n * ```\n */\nexport function Tooltip(props: TooltipProps): JSX.Element {\n const group = useTooltipGroupContext(); // undefined 是正常情况,代表没用 TooltipGroup\n\n const [internalOpen, setInternalOpen] = createSignal(\n props.defaultOpen ?? false,\n );\n const open = createMemo(() =>\n props.open !== undefined ? props.open : internalOpen(),\n );\n const disabled = createMemo(() => !!props.disabled);\n\n const [reference, setReference] = createSignal<Element>();\n const [floating, setFloating] = createSignal<HTMLElement>();\n const [pendingSlideFrom, setPendingSlideFrom] = createSignal<Rect>();\n const [suppressExitAnimation, setSuppressExitAnimation] = createSignal(false);\n\n const commit = (next: boolean) => {\n if (props.open === undefined) setInternalOpen(next);\n props.onOpenChange?.(next);\n };\n\n // 用 window.setTimeout/clearTimeout(而不是裸的全局 setTimeout)显式拿到\n // DOM lib 的重载(返回 number),避免和 @types/node 的 NodeJS.Timeout 重载冲突。\n let openTimer: number | undefined;\n let closeTimer: number | undefined;\n\n const clearTimers = () => {\n if (openTimer !== undefined) {\n window.clearTimeout(openTimer);\n openTimer = undefined;\n }\n if (closeTimer !== undefined) {\n window.clearTimeout(closeTimer);\n closeTimer = undefined;\n }\n };\n\n const requestOpen = () => {\n clearTimers();\n if (disabled() || open()) return;\n\n // 组内抢占:如果当前组里已经有一个活跃的 tooltip(哪怕它还在自己的\n // closeDelay 倒计时里,还没真正关闭),claim() 会立即强制关闭它、\n // 把它此刻的矩形要回来——这里直接跳过 openDelay,走\"滑入\"路径。\n const claimedRect = group?.claim();\n if (claimedRect) {\n setPendingSlideFrom(claimedRect);\n commit(true);\n return;\n }\n\n openTimer = window.setTimeout(\n () => commit(true),\n props.openDelay ?? DEFAULT_OPEN_DELAY,\n );\n };\n\n const requestClose = () => {\n clearTimers();\n closeTimer = window.setTimeout(\n () => commit(false),\n props.closeDelay ?? DEFAULT_CLOSE_DELAY,\n );\n };\n\n const openImmediate = () => {\n if (disabled()) return;\n clearTimers();\n commit(true);\n };\n\n const closeImmediate = () => {\n clearTimers();\n commit(false);\n };\n\n /**\n * 专门给 <TooltipGroup> 抢占用的关闭方式:和 closeImmediate 的区别是,\n * 这里会额外标记 suppressExitAnimation,告诉 TooltipContent 的 Presence\n * 逻辑跳过退场动画、立即卸载——因为这次关闭是\"被新 tooltip 取代\",而不是\n * 用户主动关闭,旧的应该立刻让位,不该和正在滑入的新 tooltip 同时可见。\n * Escape/blur 等正常关闭场景依然走 closeImmediate,退场动画不受影响。\n */\n const forceCloseForGroup = () => {\n setSuppressExitAnimation(true);\n clearTimers();\n commit(false);\n };\n\n const keepOpen = () => {\n if (closeTimer !== undefined) {\n window.clearTimeout(closeTimer);\n closeTimer = undefined;\n }\n };\n\n onCleanup(clearTimers);\n\n // 打开期间把自己登记成\"组内当前活跃的 tooltip\",供其他 trigger 打开时\n // claim 走(触发平移过渡)。关闭或卸载时自动取消登记。\n createEffect(() => {\n if (!group || !open()) return;\n const unregister = group.registerActive({\n rect: () => floating()?.getBoundingClientRect(),\n forceClose: forceCloseForGroup,\n });\n onCleanup(unregister);\n });\n\n const contentId = `tooltip-${createUniqueId()}`;\n\n const ctx: TooltipContextValue = {\n open,\n disabled,\n contentId,\n reference,\n setReference,\n floating,\n setFloating,\n requestOpen,\n requestClose,\n openImmediate,\n closeImmediate,\n keepOpen,\n pendingSlideFrom,\n clearPendingSlideFrom: () => setPendingSlideFrom(undefined),\n suppressExitAnimation,\n consumeSuppressExitAnimation: () => {\n const value = suppressExitAnimation();\n if (value) setSuppressExitAnimation(false);\n return value;\n },\n };\n\n return (\n <TooltipContext.Provider value={ctx}>\n {props.children}\n </TooltipContext.Provider>\n );\n}\n"],"mappings":";;;;;AAaA,IAAMW,IAAqB,KACrBC,IAAsB;AAoB5B,SAAgBC,EAAQC,GAAkC;CACxD,IAAME,IAAQT,EAAuB,GAE/B,CAACU,GAAcC,KAAmBlB,EACtCc,EAAMK,eAAe,EACvB,GACMC,IAAOnB,QACXa,EAAMM,SAASC,KAAAA,IAAyBJ,EAAa,IAA1BH,EAAMM,IACnC,GACME,IAAWrB,QAAiB,CAAC,CAACa,EAAMQ,QAAQ,GAE5C,CAACC,GAAWC,KAAgBxB,EAAsB,GAClD,CAACyB,GAAUC,KAAe1B,EAA0B,GACpD,CAAC4B,GAAkBC,KAAuB7B,EAAmB,GAC7D,CAAC8B,GAAuBC,KAA4B/B,EAAa,EAAK,GAEtEgC,KAAUC,MAAkB;EAEhCnB,AADIA,EAAMM,SAASC,KAAAA,KAAWH,EAAgBe,CAAI,GAClDnB,EAAMoB,eAAeD,CAAI;CAC3B,GAIIE,GACAC,GAEEC,UAAoB;EAKxB,AAJIF,MAAcd,KAAAA,MAChBiB,OAAOC,aAAaJ,CAAS,GAC7BA,IAAYd,KAAAA,IAEVe,MAAef,KAAAA,MACjBiB,OAAOC,aAAaH,CAAU,GAC9BA,IAAaf,KAAAA;CAEjB,GAEMmB,UAAoB;EAExB,IADAH,EAAY,GACRf,EAAS,KAAKF,EAAK,GAAG;EAK1B,IAAMqB,IAAczB,GAAO0B,MAAM;EACjC,IAAID,GAAa;GAEfT,AADAH,EAAoBY,CAAW,GAC/BT,EAAO,EAAI;GACX;EACF;EAEAG,IAAYG,OAAOK,iBACXX,EAAO,EAAI,GACjBlB,EAAM8B,aAAajC,CACrB;CACF,GAEMkC,UAAqB;EAEzBT,AADAC,EAAY,GACZD,IAAaE,OAAOK,iBACZX,EAAO,EAAK,GAClBlB,EAAMgC,cAAclC,CACtB;CACF,GAEMmC,UAAsB;EACtBzB,EAAS,MACbe,EAAY,GACZL,EAAO,EAAI;CACb,GAEMgB,UAAuB;EAE3BhB,AADAK,EAAY,GACZL,EAAO,EAAK;CACd,GASMiB,UAA2B;EAG/BjB,AAFAD,EAAyB,EAAI,GAC7BM,EAAY,GACZL,EAAO,EAAK;CACd,GAEMkB,UAAiB;EACrB,AAAId,MAAef,KAAAA,MACjBiB,OAAOC,aAAaH,CAAU,GAC9BA,IAAaf,KAAAA;CAEjB;CAMAlB,AAJAC,EAAUiC,CAAW,GAIrBlC,QAAmB;EACjB,IAAI,CAACa,KAAS,CAACI,EAAK,GAAG;EACvB,IAAM+B,IAAanC,EAAMoC,eAAe;GACtCC,YAAY5B,EAAS,CAAC,EAAE6B,sBAAsB;GAC9CC,YAAYN;EACd,CAAC;EACD7C,EAAU+C,CAAU;CACtB,CAAC;CAID,IAAMM,IAA2B;EAC/BrC;EACAE;EACAkC,WAAAA,WAL2BtD,EAAe;EAM1CqB;EACAC;EACAC;EACAC;EACAc;EACAK;EACAE;EACAC;EACAE;EACAtB;EACA8B,6BAA6B7B,EAAoBR,KAAAA,CAAS;EAC1DS;EACA6B,oCAAoC;GAClC,IAAMC,IAAQ9B,EAAsB;GAEpC,OADI8B,KAAO7B,EAAyB,EAAK,GAClC6B;EACT;CACF;CAEA,OAAAC,EACGvD,EAAewD,UAAQ;EAACF,OAAOH;EAAG,IAAAM,WAAA;GAAA,OAChCjD,EAAMiD;EAAQ;CAAA,CAAA;AAGrB"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { Accessor, ParentProps } from 'solid-js';
|
|
2
|
+
import { Rect } from '../../../lib';
|
|
3
|
+
export interface TooltipProps extends ParentProps {
|
|
4
|
+
/** 受控 open 状态;不传则内部自管理(非受控模式) */
|
|
5
|
+
open?: boolean;
|
|
6
|
+
/** 非受控模式下的初始状态,默认 false */
|
|
7
|
+
defaultOpen?: boolean;
|
|
8
|
+
onOpenChange?: (open: boolean) => void;
|
|
9
|
+
/**
|
|
10
|
+
* 鼠标悬停多久后打开(ms)。键盘 focus 打开不受这个延迟影响——
|
|
11
|
+
* 无障碍角度看,键盘用户不应该被迫等待,所以 focus 走 openImmediate。
|
|
12
|
+
* 默认 700,贴近系统 tooltip 的习惯延迟。
|
|
13
|
+
*/
|
|
14
|
+
openDelay?: number;
|
|
15
|
+
/**
|
|
16
|
+
* 鼠标移出后多久关闭(ms),留出时间让用户把鼠标移动到 tooltip 内容上
|
|
17
|
+
* (比如内容里有可以选中复制的文字)。默认 150。
|
|
18
|
+
*/
|
|
19
|
+
closeDelay?: number;
|
|
20
|
+
/** 禁用整个 tooltip(trigger 上也可以单独再禁用) */
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
}
|
|
23
|
+
export interface TooltipContextValue {
|
|
24
|
+
open: Accessor<boolean>;
|
|
25
|
+
disabled: Accessor<boolean>;
|
|
26
|
+
/** 用于 trigger 的 aria-describedby 和 content 的 id 关联 */
|
|
27
|
+
contentId: string;
|
|
28
|
+
reference: Accessor<Element | undefined>;
|
|
29
|
+
setReference: (el: Element) => void;
|
|
30
|
+
floating: Accessor<HTMLElement | undefined>;
|
|
31
|
+
setFloating: (el: HTMLElement | undefined) => void;
|
|
32
|
+
/** 按 openDelay 延迟打开;已经打开则不做任何事,只清掉可能存在的关闭计时器 */
|
|
33
|
+
requestOpen: () => void;
|
|
34
|
+
/** 按 closeDelay 延迟关闭 */
|
|
35
|
+
requestClose: () => void;
|
|
36
|
+
/** 跳过延迟立即打开(键盘 focus 场景) */
|
|
37
|
+
openImmediate: () => void;
|
|
38
|
+
/** 跳过延迟立即关闭(Escape / blur 场景) */
|
|
39
|
+
closeImmediate: () => void;
|
|
40
|
+
/** 取消任何待执行的关闭计时器,但不改变当前状态(鼠标移到 content 上时用) */
|
|
41
|
+
keepOpen: () => void;
|
|
42
|
+
/**
|
|
43
|
+
* 命中 <TooltipGroup> 的"抢占"时,记录被抢占的旧 tooltip 此刻的矩形——
|
|
44
|
+
* TooltipContent 用它计算出一个初始偏移量,做"从旧位置滑到新位置"的过渡,
|
|
45
|
+
* 消费一次之后应该调用 clearPendingSlideFrom 清空,避免后续 autoUpdate
|
|
46
|
+
* 重新定位(比如滚动、窗口 resize)时又误触发一次滑入动画。
|
|
47
|
+
*/
|
|
48
|
+
pendingSlideFrom: Accessor<Rect | undefined>;
|
|
49
|
+
clearPendingSlideFrom: () => void;
|
|
50
|
+
/**
|
|
51
|
+
* 被 <TooltipGroup> 抢占强制关闭时会置为 true——TooltipContent 的 Presence
|
|
52
|
+
* 逻辑据此判断这次关闭要不要跳过退场动画、立即卸载(避免和正在滑入的新
|
|
53
|
+
* tooltip 同时出现在屏幕上)。consumeSuppressExitAnimation 读取的同时会
|
|
54
|
+
* 把它重置为 false,只消费一次,不影响后续正常关闭时的退场动画。
|
|
55
|
+
*/
|
|
56
|
+
suppressExitAnimation: Accessor<boolean>;
|
|
57
|
+
consumeSuppressExitAnimation: () => boolean;
|
|
58
|
+
}
|
|
@@ -1 +1,34 @@
|
|
|
1
|
-
export
|
|
1
|
+
export interface TooltipArrowProps {
|
|
2
|
+
/** 箭头沿 tooltip 边缘方向的长度(像素),默认 8 */
|
|
3
|
+
width?: number;
|
|
4
|
+
/** 箭头突出的深度(像素),默认 4 */
|
|
5
|
+
height?: number;
|
|
6
|
+
/**
|
|
7
|
+
* 箭头颜色(Tailwind text-* class,因为 SVG 用 fill="currentColor")。
|
|
8
|
+
* 不传的话默认跟 TooltipContent 的默认背景色一致;如果你自定义了
|
|
9
|
+
* TooltipContent 的背景色,记得这里也传一个匹配的颜色,两者不会自动同步。
|
|
10
|
+
*/
|
|
11
|
+
class?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* 箭头组件,必须渲染在 <TooltipContent> 内部(依赖它的 context)。
|
|
15
|
+
* 通过 context 拿到 arrow middleware 算出的偏移量,以及最终生效的 placement,
|
|
16
|
+
* 从而知道该贴哪条边、三角形尖端朝哪个方向。
|
|
17
|
+
*
|
|
18
|
+
* 四个方向用四套独立坐标画三角形,而不是画一个形状再用 CSS rotate 复用——
|
|
19
|
+
* 这是有意的:arrow middleware 用 el.offsetWidth/offsetHeight 判断"沿边长度",
|
|
20
|
+
* 而 CSS transform 不会改变这两个值,如果靠 rotate(90deg) 让同一个 8x4 的形状
|
|
21
|
+
* "看起来"变成 4x8,offsetWidth/offsetHeight 读到的还是旋转前的 8x4,
|
|
22
|
+
* 会导致 left/right 方向的偏移计算对不上。直接让未旋转的 SVG 本身尺寸
|
|
23
|
+
* 就随方向切换(沿边方向用 width,突出方向用 height),从根上避免这个偏差。
|
|
24
|
+
*
|
|
25
|
+
* 进出场动画是箭头自己独立播放的一份(data-state + animate-in/out),
|
|
26
|
+
* 和 TooltipContent 内层元素用的是同一个 animationState 信号驱动,
|
|
27
|
+
* 保证两者严格同步开始/结束——而不是让箭头被动继承内层元素的动画。
|
|
28
|
+
* 后者看似更省事,但内层元素的 zoom-in-95 动画会给它加一个非 none 的
|
|
29
|
+
* transform,CSS 规范规定这会让内层变成子元素新的"包含块",这和箭头
|
|
30
|
+
* 故意跳过内层、以外层为基准定位的设计(避免触发滚动条那次的修复)相冲突,
|
|
31
|
+
* 动画播放期间"父子两层谁负责定位"这个假设会变得不可靠,箭头容易之前观察到
|
|
32
|
+
* "入场看起来比内容慢一拍"这类问题。独立播放同一份动画彻底避开这个耦合。
|
|
33
|
+
*/
|
|
34
|
+
export declare function TooltipArrow(props: TooltipArrowProps): import("solid-js").JSX.Element;
|
|
@@ -1,22 +1,58 @@
|
|
|
1
1
|
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { className as r, effect as i, setAttribute as a, setStyleProperty as o, template as s } from "solid-js/web";
|
|
2
|
+
import { useTooltipContentContext as t } from "../TooltipContent/TooltipContent.context.js";
|
|
3
|
+
import { effect as n, setAttribute as r, style as i, template as a, use as o } from "solid-js/web";
|
|
5
4
|
//#region src/components/tooltip/TooltipArrow/TooltipArrow.tsx
|
|
6
|
-
var
|
|
7
|
-
|
|
5
|
+
var s = /*#__PURE__*/ a("<svg aria-hidden=true><polygon fill=currentColor>");
|
|
6
|
+
function c(a) {
|
|
7
|
+
let c = t("TooltipArrow"), l = () => a.width ?? 8, u = () => a.height ?? 4, d = () => c.placement().split("-")[0], f = () => d() === "top" || d() === "bottom", p = () => c.middlewareData().arrow, m = () => {
|
|
8
|
+
let e = l(), t = u();
|
|
9
|
+
switch (d()) {
|
|
10
|
+
case "top": return `0,0 ${e},0 ${e / 2},${t}`;
|
|
11
|
+
case "bottom": return `0,${t} ${e},${t} ${e / 2},0`;
|
|
12
|
+
case "left": return `0,0 0,${e} ${t},${e / 2}`;
|
|
13
|
+
default: return `${t},0 ${t},${e} 0,${e / 2}`;
|
|
14
|
+
}
|
|
15
|
+
}, h = () => {
|
|
16
|
+
let e = u(), t = f() ? p()?.x ?? 0 : p()?.y ?? 0;
|
|
17
|
+
switch (d()) {
|
|
18
|
+
case "top": return {
|
|
19
|
+
bottom: `-${e}px`,
|
|
20
|
+
left: `${t}px`
|
|
21
|
+
};
|
|
22
|
+
case "bottom": return {
|
|
23
|
+
top: `-${e}px`,
|
|
24
|
+
left: `${t}px`
|
|
25
|
+
};
|
|
26
|
+
case "left": return {
|
|
27
|
+
right: `-${e}px`,
|
|
28
|
+
top: `${t}px`
|
|
29
|
+
};
|
|
30
|
+
default: return {
|
|
31
|
+
left: `-${e}px`,
|
|
32
|
+
top: `${t}px`
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
};
|
|
8
36
|
return (() => {
|
|
9
|
-
var t =
|
|
10
|
-
return
|
|
11
|
-
var
|
|
12
|
-
|
|
37
|
+
var t = s(), d = t.firstChild, p = c.setArrowElement;
|
|
38
|
+
return typeof p == "function" ? o(p, t) : c.setArrowElement = t, n((n) => {
|
|
39
|
+
var o = f() ? l() : u(), s = f() ? u() : l(), p = f() ? `0 0 ${l()} ${u()}` : `0 0 ${u()} ${l()}`, g = c.animationState(), _ = {
|
|
40
|
+
position: "absolute",
|
|
41
|
+
...h()
|
|
42
|
+
}, v = e("data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95", "text-foreground", a.class), y = m();
|
|
43
|
+
return o !== n.e && r(t, "width", n.e = o), s !== n.t && r(t, "height", n.t = s), p !== n.a && r(t, "viewBox", n.a = p), g !== n.o && r(t, "data-state", n.o = g), n.i = i(t, _, n.i), v !== n.n && r(t, "class", n.n = v), y !== n.s && r(d, "points", n.s = y), n;
|
|
13
44
|
}, {
|
|
14
45
|
e: void 0,
|
|
15
|
-
t: void 0
|
|
46
|
+
t: void 0,
|
|
47
|
+
a: void 0,
|
|
48
|
+
o: void 0,
|
|
49
|
+
i: void 0,
|
|
50
|
+
n: void 0,
|
|
51
|
+
s: void 0
|
|
16
52
|
}), t;
|
|
17
53
|
})();
|
|
18
|
-
}
|
|
54
|
+
}
|
|
19
55
|
//#endregion
|
|
20
|
-
export {
|
|
56
|
+
export { c as TooltipArrow };
|
|
21
57
|
|
|
22
58
|
//# sourceMappingURL=TooltipArrow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipArrow.js","names":["clsx","useTooltipContentContext","
|
|
1
|
+
{"version":3,"file":"TooltipArrow.js","names":["clsx","useTooltipContentContext","TooltipArrowProps","width","height","class","TooltipArrow","props","ctx","alongLen","protrusion","side","placement","split","isVertical","arrowData","middlewareData","arrow","x","y","points","a","p","positionStyle","crossOffset","bottom","left","top","right","_el$","_tmpl$","_el$2","firstChild","_ref$","setArrowElement","_$use","_$effect","_p$","_v$","_v$2","_v$3","_v$4","animationState","_v$5","position","_v$6","_v$7","e","_$setAttribute","t","o","i","_$style","n","s","undefined"],"sources":["../../../../src/components/tooltip/TooltipArrow/TooltipArrow.tsx"],"sourcesContent":["import { clsx } from \"~/utils\";\nimport { useTooltipContentContext } from \"../TooltipContent/TooltipContent.context\";\n\nexport interface TooltipArrowProps {\n /** 箭头沿 tooltip 边缘方向的长度(像素),默认 8 */\n width?: number;\n /** 箭头突出的深度(像素),默认 4 */\n height?: number;\n /**\n * 箭头颜色(Tailwind text-* class,因为 SVG 用 fill=\"currentColor\")。\n * 不传的话默认跟 TooltipContent 的默认背景色一致;如果你自定义了\n * TooltipContent 的背景色,记得这里也传一个匹配的颜色,两者不会自动同步。\n */\n class?: string;\n}\n\n/**\n * 箭头组件,必须渲染在 <TooltipContent> 内部(依赖它的 context)。\n * 通过 context 拿到 arrow middleware 算出的偏移量,以及最终生效的 placement,\n * 从而知道该贴哪条边、三角形尖端朝哪个方向。\n *\n * 四个方向用四套独立坐标画三角形,而不是画一个形状再用 CSS rotate 复用——\n * 这是有意的:arrow middleware 用 el.offsetWidth/offsetHeight 判断\"沿边长度\",\n * 而 CSS transform 不会改变这两个值,如果靠 rotate(90deg) 让同一个 8x4 的形状\n * \"看起来\"变成 4x8,offsetWidth/offsetHeight 读到的还是旋转前的 8x4,\n * 会导致 left/right 方向的偏移计算对不上。直接让未旋转的 SVG 本身尺寸\n * 就随方向切换(沿边方向用 width,突出方向用 height),从根上避免这个偏差。\n *\n * 进出场动画是箭头自己独立播放的一份(data-state + animate-in/out),\n * 和 TooltipContent 内层元素用的是同一个 animationState 信号驱动,\n * 保证两者严格同步开始/结束——而不是让箭头被动继承内层元素的动画。\n * 后者看似更省事,但内层元素的 zoom-in-95 动画会给它加一个非 none 的\n * transform,CSS 规范规定这会让内层变成子元素新的\"包含块\",这和箭头\n * 故意跳过内层、以外层为基准定位的设计(避免触发滚动条那次的修复)相冲突,\n * 动画播放期间\"父子两层谁负责定位\"这个假设会变得不可靠,箭头容易之前观察到\n * \"入场看起来比内容慢一拍\"这类问题。独立播放同一份动画彻底避开这个耦合。\n */\nexport function TooltipArrow(props: TooltipArrowProps) {\n const ctx = useTooltipContentContext(\"TooltipArrow\");\n\n const alongLen = () => props.width ?? 8;\n const protrusion = () => props.height ?? 4;\n\n const side = () =>\n ctx.placement().split(\"-\")[0] as \"top\" | \"bottom\" | \"left\" | \"right\";\n const isVertical = () => side() === \"top\" || side() === \"bottom\";\n\n const arrowData = () =>\n ctx.middlewareData().arrow as { x?: number; y?: number } | undefined;\n\n const points = () => {\n const a = alongLen();\n const p = protrusion();\n switch (side()) {\n case \"top\":\n return `0,0 ${a},0 ${a / 2},${p}`; // 尖端朝下,指向下方的 trigger\n case \"bottom\":\n return `0,${p} ${a},${p} ${a / 2},0`; // 尖端朝上\n case \"left\":\n return `0,0 0,${a} ${p},${a / 2}`; // 尖端朝右\n default:\n return `${p},0 ${p},${a} 0,${a / 2}`; // 尖端朝左\n }\n };\n\n const positionStyle = () => {\n const p = protrusion();\n const crossOffset = isVertical()\n ? (arrowData()?.x ?? 0)\n : (arrowData()?.y ?? 0);\n switch (side()) {\n case \"top\":\n return { bottom: `-${p}px`, left: `${crossOffset}px` };\n case \"bottom\":\n return { top: `-${p}px`, left: `${crossOffset}px` };\n case \"left\":\n return { right: `-${p}px`, top: `${crossOffset}px` };\n default:\n return { left: `-${p}px`, top: `${crossOffset}px` };\n }\n };\n\n return (\n <svg\n ref={ctx.setArrowElement}\n width={isVertical() ? alongLen() : protrusion()}\n height={isVertical() ? protrusion() : alongLen()}\n viewBox={\n isVertical()\n ? `0 0 ${alongLen()} ${protrusion()}`\n : `0 0 ${protrusion()} ${alongLen()}`\n }\n data-state={ctx.animationState()}\n style={{ position: \"absolute\", ...positionStyle() }}\n class={clsx(\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n \"text-foreground\",\n props.class,\n )}\n aria-hidden=\"true\"\n >\n <polygon points={points()} fill=\"currentColor\" />\n </svg>\n );\n}\n"],"mappings":"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"}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
import { MiddlewareData, Placement } from '../../../lib';
|
|
3
|
+
export interface TooltipContentContextValue {
|
|
4
|
+
/** createPositioner 产出的 middlewareData,TooltipArrow 从里面取 arrow 中间件算好的偏移量 */
|
|
5
|
+
middlewareData: Accessor<MiddlewareData>;
|
|
6
|
+
/** 经过 flip 调整后的最终 placement,决定箭头贴哪条边、朝哪个方向 */
|
|
7
|
+
placement: Accessor<Placement>;
|
|
8
|
+
/** TooltipArrow 挂载时用来把自己的 DOM 节点注册给 arrow middleware(Element 而不是 HTMLElement,兼容 SVG 箭头) */
|
|
9
|
+
setArrowElement: (el: Element) => void;
|
|
10
|
+
/**
|
|
11
|
+
* 驱动进出场动画的状态,和 TooltipContent 内层元素的 data-state 用的是
|
|
12
|
+
* 同一个信号——TooltipArrow 应该用它独立播放自己的一份动画,而不是依赖
|
|
13
|
+
* "作为内层元素的子节点、被动继承内层的 transform/opacity 动画"这种隐式
|
|
14
|
+
* 机制(内层的 zoom-in-95 动画会给它加一个非 none 的 transform,CSS 规范
|
|
15
|
+
* 规定这会让内层变成子元素新的"包含块",和箭头故意跳过内层、以外层为
|
|
16
|
+
* 基准的设计相冲突,动画播放期间会让"父子两层谁负责什么"变得不可靠)。
|
|
17
|
+
*/
|
|
18
|
+
animationState: Accessor<"open" | "closed">;
|
|
4
19
|
}
|
|
5
20
|
export declare const TooltipContentContext: import('solid-js').Context<TooltipContentContextValue | undefined>;
|
|
6
|
-
export declare function useTooltipContentContext(): TooltipContentContextValue;
|
|
7
|
-
export {};
|
|
21
|
+
export declare function useTooltipContentContext(component: string): TooltipContentContextValue;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { createContext as e, useContext as t } from "solid-js";
|
|
2
2
|
//#region src/components/tooltip/TooltipContent/TooltipContent.context.ts
|
|
3
3
|
var n = e();
|
|
4
|
-
function r() {
|
|
5
|
-
let
|
|
6
|
-
if (!
|
|
7
|
-
return
|
|
4
|
+
function r(e) {
|
|
5
|
+
let r = t(n);
|
|
6
|
+
if (!r) throw Error(`<${e}> 必须渲染在 <TooltipContent> 内部`);
|
|
7
|
+
return r;
|
|
8
8
|
}
|
|
9
9
|
//#endregion
|
|
10
10
|
export { n as TooltipContentContext, r as useTooltipContentContext };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipContent.context.js","names":[],"sources":["../../../../src/components/tooltip/TooltipContent/TooltipContent.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\n\
|
|
1
|
+
{"version":3,"file":"TooltipContent.context.js","names":[],"sources":["../../../../src/components/tooltip/TooltipContent/TooltipContent.context.ts"],"sourcesContent":["import { createContext, useContext, type Accessor } from \"solid-js\";\nimport type { MiddlewareData, Placement } from \"~/lib\";\n\nexport interface TooltipContentContextValue {\n /** createPositioner 产出的 middlewareData,TooltipArrow 从里面取 arrow 中间件算好的偏移量 */\n middlewareData: Accessor<MiddlewareData>;\n /** 经过 flip 调整后的最终 placement,决定箭头贴哪条边、朝哪个方向 */\n placement: Accessor<Placement>;\n /** TooltipArrow 挂载时用来把自己的 DOM 节点注册给 arrow middleware(Element 而不是 HTMLElement,兼容 SVG 箭头) */\n setArrowElement: (el: Element) => void;\n /**\n * 驱动进出场动画的状态,和 TooltipContent 内层元素的 data-state 用的是\n * 同一个信号——TooltipArrow 应该用它独立播放自己的一份动画,而不是依赖\n * \"作为内层元素的子节点、被动继承内层的 transform/opacity 动画\"这种隐式\n * 机制(内层的 zoom-in-95 动画会给它加一个非 none 的 transform,CSS 规范\n * 规定这会让内层变成子元素新的\"包含块\",和箭头故意跳过内层、以外层为\n * 基准的设计相冲突,动画播放期间会让\"父子两层谁负责什么\"变得不可靠)。\n */\n animationState: Accessor<\"open\" | \"closed\">;\n}\n\nexport const TooltipContentContext =\n createContext<TooltipContentContextValue>();\n\nexport function useTooltipContentContext(\n component: string,\n): TooltipContentContextValue {\n const ctx = useContext(TooltipContentContext);\n if (!ctx) {\n throw new Error(`<${component}> 必须渲染在 <TooltipContent> 内部`);\n }\n return ctx;\n}\n"],"mappings":";;AAqBA,IAAa,IACX,EAA0C;AAE5C,SAAgB,EACd,GAC4B;CAC5B,IAAM,IAAM,EAAW,CAAqB;CAC5C,IAAI,CAAC,GACH,MAAU,MAAM,IAAI,EAAU,4BAA4B;CAE5D,OAAO;AACT"}
|
|
@@ -1,2 +1,11 @@
|
|
|
1
1
|
import { TooltipContentProps } from './TooltipContent.types';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Tooltip 的浮层内容。挂 Portal 到 body,用 position:fixed 定位。
|
|
4
|
+
*
|
|
5
|
+
* 内容本身默认是可以 hover 的(不是 pointer-events:none):鼠标移进 content
|
|
6
|
+
* 会取消待执行的关闭计时器(ctx.keepOpen),移出才真正走 closeDelay 关闭——
|
|
7
|
+
* 这样用户可以把鼠标从 trigger 移动到 tooltip 上选中里面的文字,不会因为
|
|
8
|
+
* "离开 trigger 就关闭" 而选不到。如果你的 tooltip 内容很简单、不需要这个特性,
|
|
9
|
+
* 可以自己在外面包一层设置 pointer-events: none。
|
|
10
|
+
*/
|
|
11
|
+
export declare function TooltipContent(props: TooltipContentProps): import("solid-js").JSX.Element;
|