@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.context.js","names":["createContext","createEffect","createSignal","Accessor","ParentProps","useContext","createStore","TabsValue","TriggerEntry","value","disabled","element","HTMLElement","TabsContextValue","setValue","isSelected","orientation","dir","loop","highlightedValue","setHighlightedValue","registerTrigger","entry","getTriggers","isFirstEnabled","isUsable","setTriggerId","id","getTriggerId","setContentId","getContentId","TabsContext","TabsProvider","props","defaultValue","onValueChange","internalValue","setInternalValue","triggerOrder","setTriggerOrder","ids","setIds","trigger","Record","content","next","undefined","v","current","active","document","activeElement","getAttribute","prev","filter","t","first","find","some","String","contextValue","_$createComponent","Provider","children","useTabsContext","context","Error"],"sources":["../../../../src/components/tabs/Tabs/Tabs.context.tsx"],"sourcesContent":["import {\n createContext,\n createEffect,\n createSignal,\n type Accessor,\n type ParentProps,\n useContext,\n} from \"solid-js\";\nimport { createStore } from \"solid-js/store\";\nimport type { TabsValue } from \"./Tabs.types\";\n\ninterface TriggerEntry {\n value: TabsValue;\n /** accessor,支持运行时 disabled 翻转 */\n disabled: () => boolean;\n element: HTMLElement;\n}\n\nexport interface TabsContextValue {\n /** 当前激活值(受控优先,否则内部状态) */\n value: Accessor<TabsValue | undefined>;\n setValue: (value: TabsValue) => void;\n isSelected: (value: TabsValue) => boolean;\n orientation: Accessor<\"horizontal\" | \"vertical\">;\n dir: Accessor<\"ltr\" | \"rtl\" | \"auto\">;\n loop: Accessor<boolean>;\n /**\n * 当前焦点高亮 tab,与激活值分离:\n * 默认(activateOnFocus=false)聚焦/键盘导航只更新高亮,不激活;\n * 激活只发生在点击(click)时。与 base-ui 的 highlighted/active 语义一致。\n */\n highlightedValue: Accessor<TabsValue | undefined>;\n setHighlightedValue: (value: TabsValue) => void;\n /** 按挂载顺序注册 trigger,返回注销函数;仅用于渲染期推导与键盘导航 */\n registerTrigger: (entry: TriggerEntry) => () => void;\n /** 已注册的 trigger 列表(挂载顺序) */\n getTriggers: () => TriggerEntry[];\n /** 无高亮时,该 value 是否为第一个可用 trigger(键盘 tabindex 起点) */\n isFirstEnabled: (value: TabsValue) => boolean;\n /** 该 value 对应的 trigger 当前是否可用(已注册且未 disabled) */\n isUsable: (value: TabsValue) => boolean;\n /** value -> triggerId / contentId 交叉注册,供 aria-controls / aria-labelledby 使用 */\n setTriggerId: (value: TabsValue, id: string) => void;\n getTriggerId: (value: TabsValue) => string | undefined;\n setContentId: (value: TabsValue, id: string) => void;\n getContentId: (value: TabsValue) => string | undefined;\n}\n\nconst TabsContext = createContext<TabsContextValue>();\n\nexport function TabsProvider(\n props: ParentProps & {\n defaultValue?: TabsValue;\n value?: TabsValue;\n onValueChange?: (value: TabsValue) => void;\n orientation: \"horizontal\" | \"vertical\";\n dir: \"ltr\" | \"rtl\" | \"auto\";\n loop: boolean;\n },\n) {\n const [internalValue, setInternalValue] = createSignal<TabsValue | undefined>(\n props.defaultValue,\n );\n const [highlightedValue, setHighlightedValue] = createSignal<\n TabsValue | undefined\n >();\n const [triggerOrder, setTriggerOrder] = createSignal<TriggerEntry[]>([]);\n const [ids, setIds] = createStore<{\n trigger: Record<string, string>;\n content: Record<string, string>;\n }>({ trigger: {}, content: {} });\n\n // 受控优先:props.value 存在时读外部值,否则读内部状态\n const value = (): TabsValue | undefined => props.value ?? internalValue();\n\n const setValue = (next: TabsValue) => {\n // 受控模式:只通知外部,不改本地状态\n if (props.value !== undefined) {\n props.onValueChange?.(next);\n return;\n }\n setInternalValue(next);\n props.onValueChange?.(next);\n };\n\n const isSelected = (v: TabsValue) => value() === v;\n\n // 对齐 base-ui:激活值变化时,若焦点不在 tab 上,将高亮同步到激活 tab\n // (键盘 roving focus 过程中不覆盖,保持相对当前位置导航)\n createEffect(() => {\n const current = value();\n if (current === undefined) return;\n const active = document.activeElement as HTMLElement | null;\n if (active?.getAttribute(\"role\") !== \"tab\") {\n setHighlightedValue(current);\n }\n });\n\n const registerTrigger = (entry: TriggerEntry) => {\n setTriggerOrder((prev) => [...prev, entry]);\n return () =>\n setTriggerOrder((prev) => prev.filter((t) => t.value !== entry.value));\n };\n\n const isFirstEnabled = (v: TabsValue) => {\n const first = triggerOrder().find((t) => !t.disabled());\n return first?.value === v;\n };\n\n const isUsable = (v: TabsValue) =>\n triggerOrder().some((t) => t.value === v && !t.disabled());\n\n const setTriggerId = (v: TabsValue, id: string) =>\n setIds(\"trigger\", String(v), id);\n const getTriggerId = (v: TabsValue) => ids.trigger[String(v)];\n const setContentId = (v: TabsValue, id: string) =>\n setIds(\"content\", String(v), id);\n const getContentId = (v: TabsValue) => ids.content[String(v)];\n\n const contextValue: TabsContextValue = {\n value,\n setValue,\n isSelected,\n orientation: () => props.orientation,\n dir: () => props.dir,\n loop: () => props.loop,\n highlightedValue,\n setHighlightedValue,\n registerTrigger,\n getTriggers: () => triggerOrder(),\n isFirstEnabled,\n isUsable,\n setTriggerId,\n getTriggerId,\n setContentId,\n getContentId,\n };\n\n return (\n <TabsContext.Provider value={contextValue}>\n {props.children}\n </TabsContext.Provider>\n );\n}\n\nexport const useTabsContext = () => {\n const context = useContext(TabsContext);\n if (!context)\n throw new Error(\"useTabsContext must be used within a <Tabs> component\");\n return context;\n};\n"],"mappings":";;;;AAgDA,IAAM+B,IAAc/B,EAAgC;AAEpD,SAAgBgC,EACdC,GAQA;CACA,IAAM,CAACG,GAAeC,KAAoBnC,EACxC+B,EAAMC,YACR,GACM,CAACf,GAAkBC,KAAuBlB,EAE9C,GACI,CAACoC,GAAcC,KAAmBrC,EAA6B,CAAA,CAAE,GACjE,CAACsC,GAAKC,KAAUnC,EAGnB;EAAEoC,SAAS,CAAC;EAAGE,SAAS,CAAC;CAAE,CAAC,GAGzBnC,UAAqCwB,EAAMxB,SAAS2B,EAAc,GAElEtB,KAAY+B,MAAoB;EAEpC,IAAIZ,EAAMxB,UAAUqC,KAAAA,GAAW;GAC7Bb,EAAME,gBAAgBU,CAAI;GAC1B;EACF;EAEAZ,AADAI,EAAiBQ,CAAI,GACrBZ,EAAME,gBAAgBU,CAAI;CAC5B,GAEM9B,KAAcgC,MAAiBtC,EAAM,MAAMsC;CAIjD9C,QAAmB;EACjB,IAAM+C,IAAUvC,EAAM;EAClBuC,MAAYF,KAAAA,KACDI,SAASC,eACZC,aAAa,MAAM,MAAM,SACnChC,EAAoB4B,CAAO;CAE/B,CAAC;CAuBD,IAAMY,IAAiC;EACrCnD;EACAK;EACAC;EACAC,mBAAmBiB,EAAMjB;EACzBC,WAAWgB,EAAMhB;EACjBC,YAAYe,EAAMf;EAClBC;EACAC;EACAC,kBA9BuBC,OACvBiB,GAAiBc,MAAS,CAAC,GAAGA,GAAM/B,CAAK,CAAC,SAExCiB,GAAiBc,MAASA,EAAKC,QAAQC,MAAMA,EAAE9C,UAAUa,EAAMb,KAAK,CAAC;EA4BvEc,mBAAmBe,EAAa;EAChCd,iBA1BsBuB,MACRT,EAAa,CAAC,CAACmB,MAAMF,MAAM,CAACA,EAAE7C,SAAS,CAC9C8C,CAAAA,EAAO/C,UAAUsC;EAyBxBtB,WAtBgBsB,MAChBT,EAAa,CAAC,CAACoB,MAAMH,MAAMA,EAAE9C,UAAUsC,KAAK,CAACQ,EAAE7C,SAAS,CAAC;EAsBzDgB,eApBoBqB,GAAcpB,MAClCc,EAAO,WAAWkB,OAAOZ,CAAC,GAAGpB,CAAE;EAoB/BC,eAnBoBmB,MAAiBP,EAAIE,QAAQiB,OAAOZ,CAAC;EAoBzDlB,eAnBoBkB,GAAcpB,MAClCc,EAAO,WAAWkB,OAAOZ,CAAC,GAAGpB,CAAE;EAmB/BG,eAlBoBiB,MAAiBP,EAAII,QAAQe,OAAOZ,CAAC;CAmB3D;CAEA,OAAAc,EACG9B,EAAY+B,UAAQ;EAACrD,OAAOmD;EAAY,IAAAG,WAAA;GAAA,OACtC9B,EAAM8B;EAAQ;CAAA,CAAA;AAGrB;AAEA,IAAaC,UAAuB;CAClC,IAAMC,IAAU5D,EAAW0B,CAAW;CACtC,IAAI,CAACkC,GACH,MAAUC,MAAM,uDAAuD;CACzE,OAAOD;AACT"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { TabsProvider as t } from "./Tabs.context.js";
|
|
3
|
+
import { createComponent as n, insert as r, mergeProps as i, spread as a, template as o } from "solid-js/web";
|
|
4
|
+
import { mergeProps as s, splitProps as c } from "solid-js";
|
|
5
|
+
//#region src/components/tabs/Tabs/Tabs.tsx
|
|
6
|
+
var l = /*#__PURE__*/ o("<div data-slot=tabs>"), u = (o) => {
|
|
7
|
+
let u = s({
|
|
8
|
+
orientation: "horizontal",
|
|
9
|
+
loop: !0,
|
|
10
|
+
dir: "ltr"
|
|
11
|
+
}, o), [d, f] = c(u, [
|
|
12
|
+
"defaultValue",
|
|
13
|
+
"value",
|
|
14
|
+
"onValueChange",
|
|
15
|
+
"orientation",
|
|
16
|
+
"loop",
|
|
17
|
+
"dir",
|
|
18
|
+
"class",
|
|
19
|
+
"classList",
|
|
20
|
+
"children"
|
|
21
|
+
]), p = () => d.orientation === "vertical";
|
|
22
|
+
return (() => {
|
|
23
|
+
var o = l();
|
|
24
|
+
return a(o, i({
|
|
25
|
+
get "data-orientation"() {
|
|
26
|
+
return d.orientation;
|
|
27
|
+
},
|
|
28
|
+
get "data-vertical"() {
|
|
29
|
+
return p() ? "" : null;
|
|
30
|
+
},
|
|
31
|
+
get "data-horizontal"() {
|
|
32
|
+
return p() ? null : "";
|
|
33
|
+
},
|
|
34
|
+
get dir() {
|
|
35
|
+
return d.dir;
|
|
36
|
+
},
|
|
37
|
+
get class() {
|
|
38
|
+
return e("group/tabs flex gap-2 data-[orientation=horizontal]:flex-col", d.class);
|
|
39
|
+
},
|
|
40
|
+
get classList() {
|
|
41
|
+
return d.classList;
|
|
42
|
+
}
|
|
43
|
+
}, f), !1, !0), r(o, n(t, {
|
|
44
|
+
get defaultValue() {
|
|
45
|
+
return d.defaultValue;
|
|
46
|
+
},
|
|
47
|
+
get value() {
|
|
48
|
+
return d.value;
|
|
49
|
+
},
|
|
50
|
+
get onValueChange() {
|
|
51
|
+
return d.onValueChange;
|
|
52
|
+
},
|
|
53
|
+
get orientation() {
|
|
54
|
+
return d.orientation;
|
|
55
|
+
},
|
|
56
|
+
get dir() {
|
|
57
|
+
return d.dir;
|
|
58
|
+
},
|
|
59
|
+
get loop() {
|
|
60
|
+
return d.loop;
|
|
61
|
+
},
|
|
62
|
+
get children() {
|
|
63
|
+
return d.children;
|
|
64
|
+
}
|
|
65
|
+
})), o;
|
|
66
|
+
})();
|
|
67
|
+
};
|
|
68
|
+
//#endregion
|
|
69
|
+
export { u as Tabs };
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=Tabs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tabs.js","names":["mergeProps","splitProps","TabsProps","clsx","TabsProvider","Tabs","props","merged","orientation","loop","dir","const","local","others","isVertical","_el$","_tmpl$","_$spread","_$mergeProps","data-orientation","data-vertical","data-horizontal","class","classList","_$insert","_$createComponent","defaultValue","value","onValueChange","children"],"sources":["../../../../src/components/tabs/Tabs/Tabs.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport type { TabsProps } from \"./Tabs.types\";\nimport { clsx } from \"~/utils\";\nimport { TabsProvider } from \"./Tabs.context\";\n\nexport const Tabs = (props: TabsProps) => {\n const merged = mergeProps(\n {\n orientation: \"horizontal\",\n loop: true,\n dir: \"ltr\",\n } as const,\n props,\n );\n const [local, others] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onValueChange\",\n \"orientation\",\n \"loop\",\n \"dir\",\n \"class\",\n \"classList\",\n \"children\",\n ]);\n\n const isVertical = () => local.orientation === \"vertical\";\n\n return (\n <div\n data-slot=\"tabs\"\n data-orientation={local.orientation}\n // 现有样式依赖 group-data-vertical/tabs 与 group-data-horizontal/tabs,\n // 需要根元素上的 data-vertical / data-horizontal 属性才能生效\n data-vertical={isVertical() ? \"\" : null}\n data-horizontal={isVertical() ? null : \"\"}\n dir={local.dir}\n class={clsx(\n \"group/tabs flex gap-2 data-[orientation=horizontal]:flex-col\",\n local.class,\n )}\n classList={local.classList}\n {...others}\n >\n <TabsProvider\n defaultValue={local.defaultValue}\n value={local.value}\n onValueChange={local.onValueChange}\n orientation={local.orientation}\n dir={local.dir}\n loop={local.loop}\n >\n {local.children}\n </TabsProvider>\n </div>\n );\n};\n"],"mappings":";;;;;iDAKaK,KAAQC,MAAqB;CACxC,IAAMC,IAASP,EACb;EACEQ,aAAa;EACbC,MAAM;EACNC,KAAK;CACP,GACAJ,CACF,GACM,CAACM,GAAOC,KAAUZ,EAAWM,GAAQ;EACzC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX,GAEKO,UAAmBF,EAAMJ,gBAAgB;CAE/C,cAAA;EAAA,IAAAO,IAAAC,EAAA;EAwBqB,OAxBrBC,EAAAF,GAAAG,EAAA;GAAA,IAAA,qBAAA;IAAA,OAGsBN,EAAMJ;GAAW;GAAA,IAAA,kBAAA;IAAA,OAGpBM,EAAW,IAAI,KAAK;GAAI;GAAA,IAAA,oBAAA;IAAA,OACtBA,EAAW,IAAI,OAAO;GAAE;GAAA,IACzCJ,MAAG;IAAA,OAAEE,EAAMF;GAAG;GAAA,IAAA,QAAA;IAAA,OACPP,EACL,gEACAS,EAAMU,KACR;GAAC;GAAA,IACDC,YAAS;IAAA,OAAEX,EAAMW;GAAS;EAAA,GACtBV,CAAM,GAAA,IAAA,EAAA,GAAAW,EAAAT,GAAAU,EAETrB,GAAY;GAAA,IACXsB,eAAY;IAAA,OAAEd,EAAMc;GAAY;GAAA,IAChCC,QAAK;IAAA,OAAEf,EAAMe;GAAK;GAAA,IAClBC,gBAAa;IAAA,OAAEhB,EAAMgB;GAAa;GAAA,IAClCpB,cAAW;IAAA,OAAEI,EAAMJ;GAAW;GAAA,IAC9BE,MAAG;IAAA,OAAEE,EAAMF;GAAG;GAAA,IACdD,OAAI;IAAA,OAAEG,EAAMH;GAAI;GAAA,IAAAoB,WAAA;IAAA,OAEfjB,EAAMiB;GAAQ;EAAA,CAAA,CAAA,GAAAd;CAAA,EAAA,CAAA;AAIvB"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { BaseProps, PolymorphicProps } from '../../../types';
|
|
2
|
+
export type TabsValue = string | number;
|
|
3
|
+
interface BaseTabsProps extends BaseProps {
|
|
4
|
+
/** 非受控模式:初始激活值 */
|
|
5
|
+
defaultValue?: TabsValue;
|
|
6
|
+
/** 受控模式:激活值(提供后组件不再自管状态) */
|
|
7
|
+
value?: TabsValue;
|
|
8
|
+
/** 值变化回调(受控与非受控都会触发) */
|
|
9
|
+
onValueChange?: (value: TabsValue) => void;
|
|
10
|
+
/** 布局方向,默认 "horizontal" */
|
|
11
|
+
orientation?: "horizontal" | "vertical";
|
|
12
|
+
/** 方向键是否循环,默认 true */
|
|
13
|
+
loop?: boolean;
|
|
14
|
+
}
|
|
15
|
+
export type TabsProps = PolymorphicProps<"div", BaseTabsProps, false>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//#region src/components/tabs/Tabs/call-event-handler.ts
|
|
2
|
+
function e(e, t) {
|
|
3
|
+
let n = Array.isArray(e) ? e : [e];
|
|
4
|
+
for (let e of n) typeof e == "function" && e(t);
|
|
5
|
+
}
|
|
6
|
+
//#endregion
|
|
7
|
+
export { e as callEventHandler };
|
|
8
|
+
|
|
9
|
+
//# sourceMappingURL=call-event-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-event-handler.js","names":[],"sources":["../../../../src/components/tabs/Tabs/call-event-handler.ts"],"sourcesContent":["/**\n * 调用用户传入的事件处理器(兼容 Solid 的函数或函数数组形式)。\n * splitProps restKeys 提取出的事件类型是 EventHandlerUnion,不能直接调用。\n */\nexport function callEventHandler<E extends Event>(\n handler: unknown,\n event: E,\n): void {\n const list = Array.isArray(handler) ? handler : [handler];\n for (const h of list) {\n if (typeof h === \"function\") (h as (e: E) => void)(event);\n }\n}\n"],"mappings":";AAIA,SAAgB,EACd,GACA,GACM;CACN,IAAM,IAAO,MAAM,QAAQ,CAAO,IAAI,IAAU,CAAC,CAAO;CACxD,KAAK,IAAM,KAAK,GACd,AAAI,OAAO,KAAM,cAAY,EAAsB,CAAK;AAE5D"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { TabsContextValue } from './Tabs.context';
|
|
2
|
+
/**
|
|
3
|
+
* tablist 的 roving focus 键盘导航(纯逻辑,可在事件中独立单测)
|
|
4
|
+
*
|
|
5
|
+
* 方向映射:
|
|
6
|
+
* - horizontal + ltr: ArrowRight → next, ArrowLeft → prev
|
|
7
|
+
* - horizontal + rtl: 左右反转
|
|
8
|
+
* - vertical: ArrowDown → next, ArrowUp → prev
|
|
9
|
+
* - Home → 第一个,End → 最后一个
|
|
10
|
+
* - loop=true 环绕,false 边界停止;跳过 disabled 的 trigger
|
|
11
|
+
*
|
|
12
|
+
* 与 base-ui 一致:方向键只移动焦点(触发 onFocus 更新高亮),不激活;
|
|
13
|
+
* 激活靠点击(Enter/Space 触发 button 的 click)。activateOnFocus 时的
|
|
14
|
+
* 聚焦激活由 TabsTrigger 的 onFocus 处理,这里不做。
|
|
15
|
+
*/
|
|
16
|
+
export declare function useTabsKeyboard(ctx: TabsContextValue): {
|
|
17
|
+
handleKeyDown: (e: KeyboardEvent) => void;
|
|
18
|
+
};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
//#region src/components/tabs/Tabs/useTabsKeyboard.ts
|
|
2
|
+
var e = /* @__PURE__ */ new Set([
|
|
3
|
+
"ArrowLeft",
|
|
4
|
+
"ArrowRight",
|
|
5
|
+
"ArrowUp",
|
|
6
|
+
"ArrowDown",
|
|
7
|
+
"Home",
|
|
8
|
+
"End"
|
|
9
|
+
]);
|
|
10
|
+
function t(t) {
|
|
11
|
+
return { handleKeyDown: (n) => {
|
|
12
|
+
if (!e.has(n.key)) return;
|
|
13
|
+
let r = document.activeElement;
|
|
14
|
+
if (r?.getAttribute("role") !== "tab") return;
|
|
15
|
+
let i = t.getTriggers().filter((e) => !e.disabled());
|
|
16
|
+
if (i.length === 0) return;
|
|
17
|
+
let a = i.findIndex((e) => e.element === r);
|
|
18
|
+
if (a === -1) return;
|
|
19
|
+
let o = t.orientation() === "vertical", s = t.dir(), c = s === "rtl" || s === "auto" && typeof document < "u" && document.documentElement.dir === "rtl", l;
|
|
20
|
+
switch (n.key) {
|
|
21
|
+
case "Home":
|
|
22
|
+
l = 0;
|
|
23
|
+
break;
|
|
24
|
+
case "End":
|
|
25
|
+
l = i.length - 1;
|
|
26
|
+
break;
|
|
27
|
+
case "ArrowLeft":
|
|
28
|
+
if (o) return;
|
|
29
|
+
l = a + (c ? 1 : -1);
|
|
30
|
+
break;
|
|
31
|
+
case "ArrowRight":
|
|
32
|
+
if (o) return;
|
|
33
|
+
l = a + (c ? -1 : 1);
|
|
34
|
+
break;
|
|
35
|
+
case "ArrowUp":
|
|
36
|
+
if (!o) return;
|
|
37
|
+
l = a - 1;
|
|
38
|
+
break;
|
|
39
|
+
case "ArrowDown":
|
|
40
|
+
if (!o) return;
|
|
41
|
+
l = a + 1;
|
|
42
|
+
}
|
|
43
|
+
l !== void 0 && (n.preventDefault(), l = t.loop() ? (l + i.length) % i.length : Math.min(i.length - 1, Math.max(0, l)), i[l].element.focus());
|
|
44
|
+
} };
|
|
45
|
+
}
|
|
46
|
+
//#endregion
|
|
47
|
+
export { t as useTabsKeyboard };
|
|
48
|
+
|
|
49
|
+
//# sourceMappingURL=useTabsKeyboard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useTabsKeyboard.js","names":[],"sources":["../../../../src/components/tabs/Tabs/useTabsKeyboard.ts"],"sourcesContent":["import type { TabsContextValue } from \"./Tabs.context\";\n\nconst NAV_KEYS = new Set([\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"ArrowDown\",\n \"Home\",\n \"End\",\n]);\n\n/**\n * tablist 的 roving focus 键盘导航(纯逻辑,可在事件中独立单测)\n *\n * 方向映射:\n * - horizontal + ltr: ArrowRight → next, ArrowLeft → prev\n * - horizontal + rtl: 左右反转\n * - vertical: ArrowDown → next, ArrowUp → prev\n * - Home → 第一个,End → 最后一个\n * - loop=true 环绕,false 边界停止;跳过 disabled 的 trigger\n *\n * 与 base-ui 一致:方向键只移动焦点(触发 onFocus 更新高亮),不激活;\n * 激活靠点击(Enter/Space 触发 button 的 click)。activateOnFocus 时的\n * 聚焦激活由 TabsTrigger 的 onFocus 处理,这里不做。\n */\nexport function useTabsKeyboard(ctx: TabsContextValue) {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (!NAV_KEYS.has(e.key)) return;\n\n const activeEl = document.activeElement as HTMLElement | null;\n // 只有焦点在 tab 上时才接管键盘\n if (activeEl?.getAttribute(\"role\") !== \"tab\") return;\n\n const tabs = ctx.getTriggers().filter((t) => !t.disabled());\n if (tabs.length === 0) return;\n\n const currentIndex = tabs.findIndex((t) => t.element === activeEl);\n if (currentIndex === -1) return;\n\n const isVertical = ctx.orientation() === \"vertical\";\n // dir=auto 时回退到文档实际方向\n const dir = ctx.dir();\n const isRTL =\n dir === \"rtl\" ||\n (dir === \"auto\" &&\n typeof document !== \"undefined\" &&\n document.documentElement.dir === \"rtl\");\n\n let nextIndex: number | undefined;\n switch (e.key) {\n case \"Home\":\n nextIndex = 0;\n break;\n case \"End\":\n nextIndex = tabs.length - 1;\n break;\n case \"ArrowLeft\":\n if (isVertical) return;\n nextIndex = currentIndex + (isRTL ? 1 : -1);\n break;\n case \"ArrowRight\":\n if (isVertical) return;\n nextIndex = currentIndex + (isRTL ? -1 : 1);\n break;\n case \"ArrowUp\":\n if (!isVertical) return;\n nextIndex = currentIndex - 1;\n break;\n case \"ArrowDown\":\n if (!isVertical) return;\n nextIndex = currentIndex + 1;\n break;\n }\n\n if (nextIndex === undefined) return;\n\n // 方向键与当前布局匹配,接管默认滚动行为\n e.preventDefault();\n\n if (ctx.loop()) {\n nextIndex = (nextIndex + tabs.length) % tabs.length;\n } else {\n nextIndex = Math.min(tabs.length - 1, Math.max(0, nextIndex));\n }\n\n // focus 触发 trigger 的 onFocus → 更新高亮(及 activateOnFocus 时激活)\n tabs[nextIndex].element.focus();\n };\n\n return { handleKeyDown };\n}\n"],"mappings":";AAEA,IAAM,oBAAW,IAAI,IAAI;CACvB;CACA;CACA;CACA;CACA;CACA;AACF,CAAC;AAgBD,SAAgB,EAAgB,GAAuB;CAgErD,OAAO,EAAE,gBA/Dc,MAAqB;EAC1C,IAAI,CAAC,EAAS,IAAI,EAAE,GAAG,GAAG;EAE1B,IAAM,IAAW,SAAS;EAE1B,IAAI,GAAU,aAAa,MAAM,MAAM,OAAO;EAE9C,IAAM,IAAO,EAAI,YAAY,CAAC,CAAC,QAAQ,MAAM,CAAC,EAAE,SAAS,CAAC;EAC1D,IAAI,EAAK,WAAW,GAAG;EAEvB,IAAM,IAAe,EAAK,WAAW,MAAM,EAAE,YAAY,CAAQ;EACjE,IAAI,MAAiB,IAAI;EAEzB,IAAM,IAAa,EAAI,YAAY,MAAM,YAEnC,IAAM,EAAI,IAAI,GACd,IACJ,MAAQ,SACP,MAAQ,UACP,OAAO,WAAa,OACpB,SAAS,gBAAgB,QAAQ,OAEjC;EACJ,QAAQ,EAAE,KAAV;GACE,KAAK;IACH,IAAY;IACZ;GACF,KAAK;IACH,IAAY,EAAK,SAAS;IAC1B;GACF,KAAK;IACH,IAAI,GAAY;IAChB,IAAY,KAAgB,IAAQ,IAAI;IACxC;GACF,KAAK;IACH,IAAI,GAAY;IAChB,IAAY,KAAgB,IAAQ,KAAK;IACzC;GACF,KAAK;IACH,IAAI,CAAC,GAAY;IACjB,IAAY,IAAe;IAC3B;GACF,KAAK;IACH,IAAI,CAAC,GAAY;IACjB,IAAY,IAAe;EAE/B;EAEI,MAAc,KAAA,MAGlB,EAAE,eAAe,GAEjB,AAGE,IAHE,EAAI,KAAK,KACE,IAAY,EAAK,UAAU,EAAK,SAEjC,KAAK,IAAI,EAAK,SAAS,GAAG,KAAK,IAAI,GAAG,CAAS,CAAC,GAI9D,EAAK,EAAU,CAAC,QAAQ,MAAM;CAChC,EAEuB;AACzB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { useTabsContext as t } from "../Tabs/Tabs.context.js";
|
|
3
|
+
import { createComponent as n, memo as r, mergeProps as i, setAttribute as a, spread as o, template as s } from "solid-js/web";
|
|
4
|
+
import { Show as c, createUniqueId as l, onMount as u, splitProps as d } from "solid-js";
|
|
5
|
+
//#region src/components/tabs/TabsContent/TabsContent.tsx
|
|
6
|
+
var f = /*#__PURE__*/ s("<div role=tabpanel data-slot=tabs-content tabindex=0>"), p = (s) => {
|
|
7
|
+
let [p, m] = d(s, [
|
|
8
|
+
"value",
|
|
9
|
+
"forceMount",
|
|
10
|
+
"class",
|
|
11
|
+
"classList",
|
|
12
|
+
"style"
|
|
13
|
+
]), h = t(), g = `tabs-content-${l()}`;
|
|
14
|
+
u(() => h.setContentId(p.value, g));
|
|
15
|
+
let _ = () => h.isSelected(p.value), v = () => _() || !!p.forceMount, y = () => _() || !p.forceMount ? p.style : {
|
|
16
|
+
...p.style,
|
|
17
|
+
display: "none"
|
|
18
|
+
};
|
|
19
|
+
return n(c, {
|
|
20
|
+
get when() {
|
|
21
|
+
return v();
|
|
22
|
+
},
|
|
23
|
+
get children() {
|
|
24
|
+
var t = f();
|
|
25
|
+
return a(t, "id", g), o(t, i({
|
|
26
|
+
get "aria-labelledby"() {
|
|
27
|
+
return h.getTriggerId(p.value);
|
|
28
|
+
},
|
|
29
|
+
get "data-active"() {
|
|
30
|
+
return _() ? "" : null;
|
|
31
|
+
},
|
|
32
|
+
get class() {
|
|
33
|
+
return e("flex-1 text-sm outline-none", p.class);
|
|
34
|
+
},
|
|
35
|
+
get classList() {
|
|
36
|
+
return p.classList;
|
|
37
|
+
}
|
|
38
|
+
}, m, {
|
|
39
|
+
get hidden() {
|
|
40
|
+
return r(() => !_())() && !!p.forceMount;
|
|
41
|
+
},
|
|
42
|
+
get style() {
|
|
43
|
+
return y();
|
|
44
|
+
}
|
|
45
|
+
}), !1, !1), t;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
//#endregion
|
|
50
|
+
export { p as TabsContent };
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=TabsContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabsContent.js","names":["createUniqueId","onMount","Show","splitProps","JSX","clsx","useTabsContext","TabsContentProps","TabsContent","props","local","others","ctx","id","contentId","setContentId","value","selected","isSelected","mounted","forceMount","style","CSSProperties","display","_$createComponent","when","children","_el$","_tmpl$","_$setAttribute","_$spread","_$mergeProps","aria-labelledby","getTriggerId","data-active","class","classList","hidden","_$memo"],"sources":["../../../../src/components/tabs/TabsContent/TabsContent.tsx"],"sourcesContent":["import { createUniqueId, onMount, Show, splitProps } from \"solid-js\";\nimport type { JSX } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useTabsContext } from \"../Tabs/Tabs.context\";\nimport type { TabsContentProps } from \"./TabsContent.types\";\n\nexport const TabsContent = (props: TabsContentProps) => {\n const [local, others] = splitProps(props, [\n \"value\",\n \"forceMount\",\n \"class\",\n \"classList\",\n \"style\",\n ]);\n const ctx = useTabsContext();\n\n const id = createUniqueId();\n const contentId = `tabs-content-${id}`;\n\n onMount(() => ctx.setContentId(local.value, contentId));\n\n const selected = () => ctx.isSelected(local.value);\n const mounted = () => selected() || !!local.forceMount;\n\n // flex-1 的 display:flex 会覆盖 UA 的 [hidden] 规则,forceMount 隐藏必须显式 display:none\n const style = (): JSX.CSSProperties | undefined => {\n if (selected() || !local.forceMount) return local.style;\n return { ...local.style, display: \"none\" };\n };\n\n return (\n <Show when={mounted()}>\n <div\n id={contentId}\n role=\"tabpanel\"\n data-slot=\"tabs-content\"\n aria-labelledby={ctx.getTriggerId(local.value)}\n tabindex=\"0\"\n data-active={selected() ? \"\" : null}\n class={clsx(\"flex-1 text-sm outline-none\", local.class)}\n classList={local.classList}\n {...others}\n hidden={!selected() && !!local.forceMount}\n style={style()}\n />\n </Show>\n );\n};\n"],"mappings":";;;;;kFAMaQ,KAAeC,MAA4B;CACtD,IAAM,CAACC,GAAOC,KAAUR,EAAWM,GAAO;EACxC;EACA;EACA;EACA;EACA;CAAO,CACR,GACKG,IAAMN,EAAe,GAGrBQ,IAAY,gBADPd,EACuBa;CAElCZ,QAAcW,EAAIG,aAAaL,EAAMM,OAAOF,CAAS,CAAC;CAEtD,IAAMG,UAAiBL,EAAIM,WAAWR,EAAMM,KAAK,GAC3CG,UAAgBF,EAAS,KAAK,CAAC,CAACP,EAAMU,YAGtCC,UACAJ,EAAS,KAAK,CAACP,EAAMU,aAAmBV,EAAMW,QAC3C;EAAE,GAAGX,EAAMW;EAAOE,SAAS;CAAO;CAG3C,OAAAC,EACGtB,GAAI;EAAA,IAACuB,OAAI;GAAA,OAAEN,EAAQ;EAAC;EAAA,IAAAO,WAAA;GAAA,IAAAC,IAAAC,EAAA;GAYH,OAZGC,EAAAF,GAAA,MAEbb,CAAS,GAAAgB,EAAAH,GAAAI,EAAA;IAAA,IAAA,oBAAA;KAAA,OAGInB,EAAIqB,aAAavB,EAAMM,KAAK;IAAC;IAAA,IAAA,gBAAA;KAAA,OAEjCC,EAAS,IAAI,KAAK;IAAI;IAAA,IAAA,QAAA;KAAA,OAC5BZ,EAAK,+BAA+BK,EAAMyB,KAAK;IAAC;IAAA,IACvDC,YAAS;KAAA,OAAE1B,EAAM0B;IAAS;GAAA,GACtBzB,GAAM;IAAA,IACV0B,SAAM;KAAA,OAAEC,QAAA,CAACrB,EAAS,CAAC,CAAA,CAAA,KAAI,CAAC,CAACP,EAAMU;IAAU;IAAA,IACzCC,QAAK;KAAA,OAAEA,EAAM;IAAC;GAAA,CAAA,GAAA,IAAA,EAAA,GAAAM;EAAA;CAAA,CAAA;AAItB"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
interface TabsListContextValue {
|
|
2
|
+
/** 聚焦是否激活 tab(base-ui 语义,默认 false:聚焦只高亮,点击才激活) */
|
|
3
|
+
activateOnFocus: boolean;
|
|
4
|
+
}
|
|
5
|
+
export declare const TabsListContext: import('solid-js').Context<TabsListContextValue | undefined>;
|
|
6
|
+
export declare const useTabsListContext: () => TabsListContextValue;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createContext as e, useContext as t } from "solid-js";
|
|
2
|
+
//#region src/components/tabs/TabsList/TabsList.context.ts
|
|
3
|
+
var n = e(), r = () => {
|
|
4
|
+
let e = t(n);
|
|
5
|
+
if (!e) throw Error("useTabsListContext must be used within a <TabsList> component");
|
|
6
|
+
return e;
|
|
7
|
+
};
|
|
8
|
+
//#endregion
|
|
9
|
+
export { n as TabsListContext, r as useTabsListContext };
|
|
10
|
+
|
|
11
|
+
//# sourceMappingURL=TabsList.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabsList.context.js","names":[],"sources":["../../../../src/components/tabs/TabsList/TabsList.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\n\ninterface TabsListContextValue {\n /** 聚焦是否激活 tab(base-ui 语义,默认 false:聚焦只高亮,点击才激活) */\n activateOnFocus: boolean;\n}\n\nexport const TabsListContext = createContext<TabsListContextValue>();\n\nexport const useTabsListContext = () => {\n const context = useContext(TabsListContext);\n if (!context)\n throw new Error(\n \"useTabsListContext must be used within a <TabsList> component\",\n );\n return context;\n};\n"],"mappings":";;AAOA,IAAa,IAAkB,EAAoC,GAEtD,UAA2B;CACtC,IAAM,IAAU,EAAW,CAAe;CAC1C,IAAI,CAAC,GACH,MAAU,MACR,+DACF;CACF,OAAO;AACT"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { useTabsContext as t } from "../Tabs/Tabs.context.js";
|
|
3
|
+
import { tabsListVariants as n } from "./TabsList.styles.js";
|
|
4
|
+
import { useTabsKeyboard as r } from "../Tabs/useTabsKeyboard.js";
|
|
5
|
+
import { callEventHandler as i } from "../Tabs/call-event-handler.js";
|
|
6
|
+
import { TabsListContext as a } from "./TabsList.context.js";
|
|
7
|
+
import { createComponent as o, mergeProps as s, spread as c, template as l } from "solid-js/web";
|
|
8
|
+
import { mergeProps as u, splitProps as d } from "solid-js";
|
|
9
|
+
//#region src/components/tabs/TabsList/TabsList.tsx
|
|
10
|
+
var f = /*#__PURE__*/ l("<div role=tablist data-slot=tabs-list>"), p = (l) => {
|
|
11
|
+
let p = u({
|
|
12
|
+
variant: "secondary",
|
|
13
|
+
activateOnFocus: !1
|
|
14
|
+
}, l), [m, h, g] = d(p, [
|
|
15
|
+
"variant",
|
|
16
|
+
"class",
|
|
17
|
+
"classList",
|
|
18
|
+
"activateOnFocus"
|
|
19
|
+
], ["onKeyDown"]), _ = t(), { handleKeyDown: v } = r(_);
|
|
20
|
+
return o(a.Provider, {
|
|
21
|
+
get value() {
|
|
22
|
+
return { activateOnFocus: m.activateOnFocus };
|
|
23
|
+
},
|
|
24
|
+
get children() {
|
|
25
|
+
var t = f();
|
|
26
|
+
return c(t, s({
|
|
27
|
+
get "data-variant"() {
|
|
28
|
+
return m.variant;
|
|
29
|
+
},
|
|
30
|
+
get "aria-orientation"() {
|
|
31
|
+
return _.orientation() === "vertical" ? "vertical" : void 0;
|
|
32
|
+
},
|
|
33
|
+
get class() {
|
|
34
|
+
return e(n({ variant: m.variant }), m.class);
|
|
35
|
+
},
|
|
36
|
+
get classList() {
|
|
37
|
+
return m.classList;
|
|
38
|
+
}
|
|
39
|
+
}, g, { onKeyDown: (e) => {
|
|
40
|
+
v(e), i(h.onKeyDown, e);
|
|
41
|
+
} }), !1, !1), t;
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
//#endregion
|
|
46
|
+
export { p as TabsList };
|
|
47
|
+
|
|
48
|
+
//# sourceMappingURL=TabsList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabsList.js","names":["mergeProps","splitProps","TabsListProps","clsx","tabsListVariants","useTabsContext","useTabsKeyboard","callEventHandler","TabsListContext","TabsList","props","merged","variant","activateOnFocus","const","local","events","others","ctx","handleKeyDown","_$createComponent","Provider","value","children","_el$","_tmpl$","_$spread","_$mergeProps","data-variant","aria-orientation","orientation","undefined","class","classList","e","onKeyDown"],"sources":["../../../../src/components/tabs/TabsList/TabsList.tsx"],"sourcesContent":["import { mergeProps, splitProps } from \"solid-js\";\nimport type { TabsListProps } from \"./TabsList.types\";\nimport { clsx } from \"~/utils\";\nimport { tabsListVariants } from \"./TabsList.styles\";\nimport { useTabsContext } from \"../Tabs/Tabs.context\";\nimport { useTabsKeyboard } from \"../Tabs/useTabsKeyboard\";\nimport { callEventHandler } from \"../Tabs/call-event-handler\";\nimport { TabsListContext } from \"./TabsList.context\";\n\nexport const TabsList = (props: TabsListProps) => {\n const merged = mergeProps(\n { variant: \"secondary\", activateOnFocus: false } as const,\n props,\n );\n const [local, events, others] = splitProps(\n merged,\n [\"variant\", \"class\", \"classList\", \"activateOnFocus\"],\n [\"onKeyDown\"],\n );\n\n const ctx = useTabsContext();\n const { handleKeyDown } = useTabsKeyboard(ctx);\n\n return (\n <TabsListContext.Provider\n value={{ activateOnFocus: local.activateOnFocus }}\n >\n <div\n role=\"tablist\"\n data-slot=\"tabs-list\"\n data-variant={local.variant}\n aria-orientation={\n ctx.orientation() === \"vertical\" ? \"vertical\" : undefined\n }\n class={clsx(tabsListVariants({ variant: local.variant }), local.class)}\n classList={local.classList}\n {...others}\n onKeyDown={(e) => {\n handleKeyDown(e);\n callEventHandler(events.onKeyDown, e);\n }}\n />\n </TabsListContext.Provider>\n );\n};\n"],"mappings":";;;;;;;;;mEASaS,KAAYC,MAAyB;CAChD,IAAMC,IAASX,EACb;EAAEY,SAAS;EAAaC,iBAAiB;CAAM,GAC/CH,CACF,GACM,CAACK,GAAOC,GAAQC,KAAUhB,EAC9BU,GACA;EAAC;EAAW;EAAS;EAAa;CAAiB,GACnD,CAAC,WAAW,CACd,GAEMO,IAAMb,EAAe,GACrB,EAAEc,qBAAkBb,EAAgBY,CAAG;CAE7C,OAAAE,EACGZ,EAAgBa,UAAQ;EAAA,IACvBC,QAAK;GAAA,OAAE,EAAET,iBAAiBE,EAAMF,gBAAgB;EAAC;EAAA,IAAAU,WAAA;GAAA,IAAAC,IAAAC,EAAA;GAe9C,OAf8CC,EAAAF,GAAAG,EAAA;IAAA,IAAA,iBAAA;KAAA,OAKjCZ,EAAMH;IAAO;IAAA,IAAA,qBAAA;KAAA,OAEzBM,EAAIY,YAAY,MAAM,aAAa,aAAaC,KAAAA;IAAS;IAAA,IAAA,QAAA;KAAA,OAEpD5B,EAAKC,EAAiB,EAAEQ,SAASG,EAAMH,QAAQ,CAAC,GAAGG,EAAMiB,KAAK;IAAC;IAAA,IACtEC,YAAS;KAAA,OAAElB,EAAMkB;IAAS;GAAA,GACtBhB,GAAM,EAAA,YACEiB,MAAM;IAEhB3B,AADAY,EAAce,CAAC,GACf3B,EAAiBS,EAAOmB,WAAWD,CAAC;GACtC,EAAC,CAAA,GAAA,IAAA,EAAA,GAAAV;EAAA;CAAA,CAAA;AAIT"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { cva as e } from "class-variance-authority";
|
|
2
|
+
//#region src/components/tabs/TabsList/TabsList.styles.ts
|
|
3
|
+
var t = e("group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-0.75 text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none", {
|
|
4
|
+
variants: { variant: {
|
|
5
|
+
secondary: "bg-muted",
|
|
6
|
+
line: "gap-1 bg-transparent"
|
|
7
|
+
} },
|
|
8
|
+
defaultVariants: { variant: "secondary" }
|
|
9
|
+
});
|
|
10
|
+
//#endregion
|
|
11
|
+
export { t as tabsListVariants };
|
|
12
|
+
|
|
13
|
+
//# sourceMappingURL=TabsList.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabsList.styles.js","names":[],"sources":["../../../../src/components/tabs/TabsList/TabsList.styles.ts"],"sourcesContent":["import { cva } from \"class-variance-authority\";\n\nexport const tabsListVariants = cva(\n \"group/tabs-list inline-flex w-fit items-center justify-center rounded-lg p-0.75 text-muted-foreground group-data-horizontal/tabs:h-8 group-data-vertical/tabs:h-fit group-data-vertical/tabs:flex-col data-[variant=line]:rounded-none\",\n {\n variants: {\n variant: {\n secondary: \"bg-muted\",\n line: \"gap-1 bg-transparent\",\n },\n },\n defaultVariants: {\n variant: \"secondary\",\n },\n },\n);\n"],"mappings":";;AAEA,IAAa,IAAmB,EAC9B,0OACA;CACE,UAAU,EACR,SAAS;EACP,WAAW;EACX,MAAM;CACR,EACF;CACA,iBAAiB,EACf,SAAS,YACX;AACF,CACF"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { VariantProps } from 'class-variance-authority';
|
|
2
|
+
import { BaseProps, PolymorphicProps } from '../../../types';
|
|
3
|
+
import { tabsListVariants } from './TabsList.styles';
|
|
4
|
+
export type TabsListProps = PolymorphicProps<"div", BaseProps & VariantProps<typeof tabsListVariants> & {
|
|
5
|
+
/** 聚焦 tab 时是否同时激活,默认 false(与 base-ui 一致) */
|
|
6
|
+
activateOnFocus?: boolean;
|
|
7
|
+
}, false>;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { useTabsContext as t } from "../Tabs/Tabs.context.js";
|
|
3
|
+
import { callEventHandler as n } from "../Tabs/call-event-handler.js";
|
|
4
|
+
import { useTabsListContext as r } from "../TabsList/TabsList.context.js";
|
|
5
|
+
import { tabsTriggerStyles as i } from "./TabsTrigger.styles.js";
|
|
6
|
+
import { mergeProps as a, setAttribute as o, spread as s, template as c, use as l } from "solid-js/web";
|
|
7
|
+
import { createUniqueId as u, onCleanup as d, onMount as f, splitProps as p } from "solid-js";
|
|
8
|
+
//#region src/components/tabs/TabsTrigger/TabsTrigger.tsx
|
|
9
|
+
var m = /*#__PURE__*/ c("<button type=button role=tab data-slot=tabs-trigger>"), h = (c) => {
|
|
10
|
+
let [h, g, _] = p(c, [
|
|
11
|
+
"value",
|
|
12
|
+
"class",
|
|
13
|
+
"classList",
|
|
14
|
+
"disabled"
|
|
15
|
+
], ["onClick", "onFocus"]), v = t(), y = r(), b = `tabs-trigger-${u()}`, x, S = () => !!h.disabled, C = () => v.isSelected(h.value), w = () => {
|
|
16
|
+
if (S()) return -1;
|
|
17
|
+
let e = v.highlightedValue();
|
|
18
|
+
return e === h.value && v.isUsable(h.value) || (e === void 0 || !v.isUsable(e)) && v.isFirstEnabled(h.value) ? 0 : -1;
|
|
19
|
+
};
|
|
20
|
+
return f(() => {
|
|
21
|
+
v.setTriggerId(h.value, b), d(v.registerTrigger({
|
|
22
|
+
value: h.value,
|
|
23
|
+
disabled: S,
|
|
24
|
+
element: x
|
|
25
|
+
}));
|
|
26
|
+
}), (() => {
|
|
27
|
+
var t = m();
|
|
28
|
+
return l((e) => {
|
|
29
|
+
x = e;
|
|
30
|
+
}, t), o(t, "id", b), s(t, a({
|
|
31
|
+
get "data-active"() {
|
|
32
|
+
return C() ? "" : null;
|
|
33
|
+
},
|
|
34
|
+
get "data-highlighted"() {
|
|
35
|
+
return v.highlightedValue() === h.value ? "" : null;
|
|
36
|
+
},
|
|
37
|
+
get "aria-selected"() {
|
|
38
|
+
return C();
|
|
39
|
+
},
|
|
40
|
+
get "aria-controls"() {
|
|
41
|
+
return v.getContentId(h.value);
|
|
42
|
+
},
|
|
43
|
+
get "aria-disabled"() {
|
|
44
|
+
return S() ? "true" : void 0;
|
|
45
|
+
},
|
|
46
|
+
get tabindex() {
|
|
47
|
+
return w();
|
|
48
|
+
},
|
|
49
|
+
get disabled() {
|
|
50
|
+
return h.disabled;
|
|
51
|
+
},
|
|
52
|
+
get class() {
|
|
53
|
+
return e(i, h.class);
|
|
54
|
+
},
|
|
55
|
+
get classList() {
|
|
56
|
+
return h.classList;
|
|
57
|
+
}
|
|
58
|
+
}, _, {
|
|
59
|
+
onClick: (e) => {
|
|
60
|
+
S() || v.setValue(h.value), n(g.onClick, e);
|
|
61
|
+
},
|
|
62
|
+
onFocus: (e) => {
|
|
63
|
+
S() || (v.setHighlightedValue(h.value), y.activateOnFocus && v.setValue(h.value)), n(g.onFocus, e);
|
|
64
|
+
}
|
|
65
|
+
}), !1, !1), t;
|
|
66
|
+
})();
|
|
67
|
+
};
|
|
68
|
+
//#endregion
|
|
69
|
+
export { h as TabsTrigger };
|
|
70
|
+
|
|
71
|
+
//# sourceMappingURL=TabsTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabsTrigger.js","names":["createUniqueId","onCleanup","onMount","splitProps","clsx","useTabsContext","useTabsListContext","callEventHandler","tabsTriggerStyles","TabsTriggerProps","TabsTrigger","props","local","events","others","ctx","listCtx","id","triggerId","elementRef","HTMLButtonElement","disabled","selected","isSelected","value","tabIndex","highlighted","highlightedValue","isUsable","undefined","isFirstEnabled","setTriggerId","registerTrigger","element","_el$","_tmpl$","_$use","el","_$setAttribute","_$spread","_$mergeProps","data-active","data-highlighted","aria-selected","aria-controls","getContentId","aria-disabled","tabindex","class","classList","e","setValue","onClick","setHighlightedValue","activateOnFocus","onFocus"],"sources":["../../../../src/components/tabs/TabsTrigger/TabsTrigger.tsx"],"sourcesContent":["import { createUniqueId, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useTabsContext } from \"../Tabs/Tabs.context\";\nimport { useTabsListContext } from \"../TabsList/TabsList.context\";\nimport { callEventHandler } from \"../Tabs/call-event-handler\";\nimport { tabsTriggerStyles } from \"./TabsTrigger.styles\";\nimport type { TabsTriggerProps } from \"./TabsTrigger.types\";\n\nexport const TabsTrigger = (props: TabsTriggerProps) => {\n const [local, events, others] = splitProps(\n props,\n [\"value\", \"class\", \"classList\", \"disabled\"],\n [\"onClick\", \"onFocus\"],\n );\n const ctx = useTabsContext();\n const listCtx = useTabsListContext();\n\n const id = createUniqueId();\n const triggerId = `tabs-trigger-${id}`;\n\n let elementRef: HTMLButtonElement | undefined;\n\n const disabled = () => !!local.disabled;\n const selected = () => ctx.isSelected(local.value);\n\n // roving tabindex 跟随焦点高亮:高亮 tab 持 0;\n // 高亮为空或高亮指向的 trigger 不可用(disabled/卸载)时,\n // 首个可用 tab 持 0 作为键盘起点,避免 tablist 键盘不可达\n const tabIndex = () => {\n if (disabled()) return -1;\n const highlighted = ctx.highlightedValue();\n if (highlighted === local.value && ctx.isUsable(local.value)) return 0;\n if (\n (highlighted === undefined || !ctx.isUsable(highlighted)) &&\n ctx.isFirstEnabled(local.value)\n ) {\n return 0;\n }\n return -1;\n };\n\n onMount(() => {\n ctx.setTriggerId(local.value, triggerId);\n onCleanup(\n ctx.registerTrigger({\n value: local.value,\n disabled,\n element: elementRef!,\n }),\n );\n });\n\n return (\n <button\n type=\"button\"\n ref={(el) => {\n elementRef = el;\n }}\n role=\"tab\"\n id={triggerId}\n data-slot=\"tabs-trigger\"\n data-active={selected() ? \"\" : null}\n data-highlighted={ctx.highlightedValue() === local.value ? \"\" : null}\n aria-selected={selected()}\n aria-controls={ctx.getContentId(local.value)}\n aria-disabled={disabled() ? \"true\" : undefined}\n tabindex={tabIndex()}\n disabled={local.disabled}\n class={clsx(tabsTriggerStyles, local.class)}\n classList={local.classList}\n {...others}\n onClick={(e) => {\n // base-ui 语义:激活发生在点击(鼠标抬起/Enter/Space)时,\n // mousedown 触发的 focus 不激活\n if (!disabled()) ctx.setValue(local.value);\n callEventHandler(events.onClick, e);\n }}\n onFocus={(e) => {\n // 聚焦只更新高亮(roving focus);activateOnFocus 时聚焦即激活\n if (!disabled()) {\n ctx.setHighlightedValue(local.value);\n if (listCtx.activateOnFocus) ctx.setValue(local.value);\n }\n callEventHandler(events.onFocus, e);\n }}\n />\n );\n};\n"],"mappings":";;;;;;;;iFAQaU,KAAeC,MAA4B;CACtD,IAAM,CAACC,GAAOC,GAAQC,KAAUX,EAC9BQ,GACA;EAAC;EAAS;EAAS;EAAa;CAAU,GAC1C,CAAC,WAAW,SAAS,CACvB,GACMI,IAAMV,EAAe,GACrBW,IAAUV,EAAmB,GAG7BY,IAAY,gBADPlB,EACuBiB,KAE9BE,GAEEE,UAAiB,CAAC,CAACT,EAAMS,UACzBC,UAAiBP,EAAIQ,WAAWX,EAAMY,KAAK,GAK3CC,UAAiB;EACrB,IAAIJ,EAAS,GAAG,OAAO;EACvB,IAAMK,IAAcX,EAAIY,iBAAiB;EAQzC,OAPID,MAAgBd,EAAMY,SAAST,EAAIa,SAAShB,EAAMY,KAAK,MAExDE,MAAgBG,KAAAA,KAAa,CAACd,EAAIa,SAASF,CAAW,MACvDX,EAAIe,eAAelB,EAAMY,KAAK,IAEvB,IAEF;CACT;CAaA,OAXAtB,QAAc;EAEZD,AADAc,EAAIgB,aAAanB,EAAMY,OAAON,CAAS,GACvCjB,EACEc,EAAIiB,gBAAgB;GAClBR,OAAOZ,EAAMY;GACbH;GACAY,SAASd;EACX,CAAC,CACH;CACF,CAAC,UAED;EAAA,IAAAe,IAAAC,EAAA;EAgCK,OAhCLC,GAGUC,MAAO;GACXlB,IAAakB;EACf,GAACH,CAAA,GAAAI,EAAAJ,GAAA,MAEGhB,CAAS,GAAAqB,EAAAL,GAAAM,EAAA;GAAA,IAAA,gBAAA;IAAA,OAEAlB,EAAS,IAAI,KAAK;GAAI;GAAA,IAAA,qBAAA;IAAA,OACjBP,EAAIY,iBAAiB,MAAMf,EAAMY,QAAQ,KAAK;GAAI;GAAA,IAAA,kBAAA;IAAA,OACrDF,EAAS;GAAC;GAAA,IAAA,kBAAA;IAAA,OACVP,EAAI8B,aAAajC,EAAMY,KAAK;GAAC;GAAA,IAAA,kBAAA;IAAA,OAC7BH,EAAS,IAAI,SAASQ,KAAAA;GAAS;GAAA,IAC9CkB,WAAQ;IAAA,OAAEtB,EAAS;GAAC;GAAA,IACpBJ,WAAQ;IAAA,OAAET,EAAMS;GAAQ;GAAA,IAAA,QAAA;IAAA,OACjBjB,EAAKI,GAAmBI,EAAMoC,KAAK;GAAC;GAAA,IAC3CC,YAAS;IAAA,OAAErC,EAAMqC;GAAS;EAAA,GACtBnC,GAAM;GAAA,UACAoC,MAAM;IAId3C,AADKc,EAAS,KAAGN,EAAIoC,SAASvC,EAAMY,KAAK,GACzCjB,EAAiBM,EAAOuC,SAASF,CAAC;GACpC;GAAC,UACSA,MAAM;IAMd3C,AAJKc,EAAS,MACZN,EAAIsC,oBAAoBzC,EAAMY,KAAK,GAC/BR,EAAQsC,mBAAiBvC,EAAIoC,SAASvC,EAAMY,KAAK,IAEvDjB,EAAiBM,EAAO0C,SAASL,CAAC;GACpC;EAAC,CAAA,GAAA,IAAA,EAAA,GAAAhB;CAAA,EAAA,CAAA;AAGP"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const tabsTriggerStyles: string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
//#region src/components/tabs/TabsTrigger/TabsTrigger.styles.ts
|
|
3
|
+
var t = e("relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=secondary]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", "group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent", "data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground", "after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:-bottom-1.25 group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100");
|
|
4
|
+
//#endregion
|
|
5
|
+
export { t as tabsTriggerStyles };
|
|
6
|
+
|
|
7
|
+
//# sourceMappingURL=TabsTrigger.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TabsTrigger.styles.js","names":[],"sources":["../../../../src/components/tabs/TabsTrigger/TabsTrigger.styles.ts"],"sourcesContent":["import { clsx } from \"~/utils\";\n\nexport const tabsTriggerStyles = clsx(\n \"relative inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-1.5 py-0.5 text-sm font-medium whitespace-nowrap text-foreground/60 transition-all group-data-vertical/tabs:w-full group-data-vertical/tabs:justify-start hover:text-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 focus-visible:outline-1 focus-visible:outline-ring disabled:pointer-events-none disabled:opacity-50 has-data-[icon=inline-end]:pr-1 has-data-[icon=inline-start]:pl-1 aria-disabled:pointer-events-none aria-disabled:opacity-50 dark:text-muted-foreground dark:hover:text-foreground group-data-[variant=secondary]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n \"group-data-[variant=line]/tabs-list:bg-transparent group-data-[variant=line]/tabs-list:data-active:bg-transparent dark:group-data-[variant=line]/tabs-list:data-active:border-transparent dark:group-data-[variant=line]/tabs-list:data-active:bg-transparent\",\n \"data-active:bg-background data-active:text-foreground dark:data-active:border-input dark:data-active:bg-input/30 dark:data-active:text-foreground\",\n \"after:absolute after:bg-foreground after:opacity-0 after:transition-opacity group-data-horizontal/tabs:after:inset-x-0 group-data-horizontal/tabs:after:-bottom-1.25 group-data-horizontal/tabs:after:h-0.5 group-data-vertical/tabs:after:inset-y-0 group-data-vertical/tabs:after:-right-1 group-data-vertical/tabs:after:w-0.5 group-data-[variant=line]/tabs-list:data-active:after:opacity-100\",\n);\n"],"mappings":";;AAEA,IAAa,IAAoB,EAC/B,g2BACA,iQACA,qJACA,qYACF"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { BaseProps, MouseEventHandler, PolymorphicProps } from '../../../types';
|
|
2
|
+
import { TabsValue } from '../Tabs/Tabs.types';
|
|
3
|
+
export type TabsTriggerProps = PolymorphicProps<"button", BaseProps & {
|
|
4
|
+
value: TabsValue;
|
|
5
|
+
onClick?: MouseEventHandler<"button">;
|
|
6
|
+
}, false>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { Tabs as e } from "./Tabs/Tabs.js";
|
|
2
|
+
import { TabsList as t } from "./TabsList/TabsList.js";
|
|
3
|
+
import { TabsTrigger as n } from "./TabsTrigger/TabsTrigger.js";
|
|
4
|
+
import { TabsContent as r } from "./TabsContent/TabsContent.js";
|
|
5
|
+
export { e as Tabs, r as TabsContent, t as TabsList, n as TabsTrigger };
|
|
@@ -2,12 +2,12 @@ import { clsx as e } from "../../utils/clsx.js";
|
|
|
2
2
|
import { mergeProps as t, spread as n, template as r } from "solid-js/web";
|
|
3
3
|
import { splitProps as i } from "solid-js";
|
|
4
4
|
//#region src/components/textarea/Textarea.tsx
|
|
5
|
-
var a =
|
|
5
|
+
var a = /*#__PURE__*/ r("<textarea data-slot=textarea>"), o = (r) => {
|
|
6
6
|
let [o, s] = i(r, ["class", "classList"]);
|
|
7
7
|
return (() => {
|
|
8
8
|
var r = a();
|
|
9
9
|
return n(r, t({ get class() {
|
|
10
|
-
return e("flex field-sizing-content min-h-16 w-full rounded-lg border border-
|
|
10
|
+
return e("flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40", o.class);
|
|
11
11
|
} }, s), !1, !1), r;
|
|
12
12
|
})();
|
|
13
13
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Textarea.js","names":["splitProps","TextareaProps","clsx","Textarea","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../src/components/textarea/Textarea.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { TextareaProps } from \"./Textarea.types\";\nimport { clsx } from \"~/utils\";\n\nexport const Textarea = (props: TextareaProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <textarea\n data-slot=\"textarea\"\n class={clsx(\n \"flex field-sizing-content min-h-16 w-full rounded-lg border border-
|
|
1
|
+
{"version":3,"file":"Textarea.js","names":["splitProps","TextareaProps","clsx","Textarea","props","local","others","_el$","_tmpl$","_$spread","_$mergeProps","class"],"sources":["../../../src/components/textarea/Textarea.tsx"],"sourcesContent":["import { splitProps } from \"solid-js\";\nimport type { TextareaProps } from \"./Textarea.types\";\nimport { clsx } from \"~/utils\";\n\nexport const Textarea = (props: TextareaProps) => {\n const [local, others] = splitProps(props, [\"class\", \"classList\"]);\n\n return (\n <textarea\n data-slot=\"textarea\"\n class={clsx(\n \"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-transparent px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40\",\n local.class,\n )}\n {...others}\n />\n );\n};\n"],"mappings":";;;;0DAIaG,KAAYC,MAAyB;CAChD,IAAM,CAACC,GAAOC,KAAUN,EAAWI,GAAO,CAAC,SAAS,WAAW,CAAC;CAEhE,cAAA;EAAA,IAAAG,IAAAC,EAAA;EAOc,OAPdC,EAAAF,GAAAG,EAAA,EAAA,IAAA,QAAA;GAAA,OAGWR,EACL,0hBACAG,EAAMM,KACR;EAAC,EAAA,GACGL,CAAM,GAAA,IAAA,EAAA,GAAAC;CAAA,EAAA,CAAA;AAGhB"}
|