@neut/ui 0.0.15 → 0.0.16
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.d.ts +1 -1
- package/dist/components/accordion/Accordion/Accordion.context.js.map +1 -1
- package/dist/components/accordion/Accordion/Accordion.d.ts +1 -1
- package/dist/components/accordion/Accordion/Accordion.js.map +1 -1
- package/dist/components/accordion/Accordion/Accordion.styles.js.map +1 -1
- package/dist/components/accordion/Accordion/useAccordion.js.map +1 -1
- package/dist/components/accordion/AccordionContent/AccordionContent.d.ts +1 -1
- package/dist/components/accordion/AccordionContent/AccordionContent.js.map +1 -1
- package/dist/components/accordion/AccordionContent/AccordionContent.styles.js.map +1 -1
- package/dist/components/accordion/AccordionItem/AccordionItem.context.js.map +1 -1
- package/dist/components/accordion/AccordionItem/AccordionItem.d.ts +1 -1
- package/dist/components/accordion/AccordionItem/AccordionItem.js.map +1 -1
- package/dist/components/accordion/AccordionItem/AccordionItem.styles.js.map +1 -1
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.d.ts +1 -1
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.js.map +1 -1
- package/dist/components/accordion/AccordionTrigger/AccordionTrigger.styles.js.map +1 -1
- package/dist/components/alert/Alert/Alert.d.ts +1 -1
- package/dist/components/alert/Alert/Alert.js.map +1 -1
- package/dist/components/alert/Alert/Alert.styles.js.map +1 -1
- package/dist/components/alert/AlertAction/AlertAction.d.ts +1 -1
- package/dist/components/alert/AlertAction/AlertAction.js.map +1 -1
- package/dist/components/alert/AlertAction/AlertAction.styles.js.map +1 -1
- package/dist/components/alert/AlertDescription/AlertDescription.d.ts +1 -1
- package/dist/components/alert/AlertDescription/AlertDescription.js.map +1 -1
- package/dist/components/alert/AlertDescription/AlertDescription.styles.js.map +1 -1
- package/dist/components/alert/AlertTitle/AlertTitle.d.ts +1 -1
- package/dist/components/alert/AlertTitle/AlertTitle.js.map +1 -1
- package/dist/components/alert/AlertTitle/AlertTitle.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.d.ts +6 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js +4 -19
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.types.d.ts +6 -2
- package/dist/components/alert-dialog/AlertDialog/index.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.js +13 -4
- package/dist/components/alert-dialog/AlertDialogAction/AlertDialogAction.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js +1 -1
- package/dist/components/alert-dialog/AlertDialogCancel/AlertDialogCancel.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js +19 -53
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.types.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogContent/index.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js +1 -1
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogDescription/AlertDialogDescription.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogFooter/AlertDialogFooter.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogHeader/AlertDialogHeader.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogMedia/AlertDialogMedia.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js +4 -22
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js +4 -6
- package/dist/components/alert-dialog/AlertDialogPortal/AlertDialogPortal.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.d.ts +1 -1
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js +1 -1
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTitle/AlertDialogTitle.styles.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.d.ts +8 -2
- package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.js +27 -6
- package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.js.map +1 -1
- package/dist/components/alert-dialog/AlertDialogTrigger/AlertDialogTrigger.types.d.ts +4 -0
- package/dist/components/alert-dialog/AlertDialogTrigger/index.d.ts +1 -0
- package/dist/components/alert-dialog/index.js +13 -15
- package/dist/components/aspect-ratio/AspectRatio.d.ts +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/attachment/Attachment/Attachment.d.ts +6 -0
- package/dist/components/attachment/Attachment/Attachment.js +46 -0
- package/dist/components/attachment/Attachment/Attachment.js.map +1 -0
- package/dist/components/attachment/Attachment/Attachment.styles.d.ts +4 -0
- package/dist/components/attachment/Attachment/Attachment.styles.js +17 -0
- package/dist/components/attachment/Attachment/Attachment.styles.js.map +1 -0
- package/dist/components/attachment/Attachment/Attachment.types.d.ts +8 -0
- package/dist/components/attachment/Attachment/index.d.ts +2 -0
- package/dist/components/attachment/AttachmentAction/AttachmentAction.d.ts +3 -0
- package/dist/components/attachment/AttachmentAction/AttachmentAction.js +15 -0
- package/dist/components/attachment/AttachmentAction/AttachmentAction.js.map +1 -0
- package/dist/components/attachment/AttachmentAction/AttachmentAction.types.d.ts +2 -0
- package/dist/components/attachment/AttachmentAction/index.d.ts +2 -0
- package/dist/components/attachment/AttachmentActions/AttachmentActions.d.ts +3 -0
- package/dist/components/attachment/AttachmentActions/AttachmentActions.js +24 -0
- package/dist/components/attachment/AttachmentActions/AttachmentActions.js.map +1 -0
- package/dist/components/attachment/AttachmentActions/AttachmentActions.styles.d.ts +1 -0
- package/dist/components/attachment/AttachmentActions/AttachmentActions.styles.js +6 -0
- package/dist/components/attachment/AttachmentActions/AttachmentActions.styles.js.map +1 -0
- package/dist/components/attachment/AttachmentActions/AttachmentActions.types.d.ts +2 -0
- package/dist/components/attachment/AttachmentActions/index.d.ts +2 -0
- package/dist/components/attachment/AttachmentContent/AttachmentContent.d.ts +3 -0
- package/dist/components/attachment/AttachmentContent/AttachmentContent.js +23 -0
- package/dist/components/attachment/AttachmentContent/AttachmentContent.js.map +1 -0
- package/dist/components/attachment/AttachmentContent/AttachmentContent.types.d.ts +2 -0
- package/dist/components/attachment/AttachmentContent/index.d.ts +2 -0
- package/dist/components/attachment/AttachmentDescription/AttachmentDescription.d.ts +3 -0
- package/dist/components/attachment/AttachmentDescription/AttachmentDescription.js +24 -0
- package/dist/components/attachment/AttachmentDescription/AttachmentDescription.js.map +1 -0
- package/dist/components/attachment/AttachmentDescription/AttachmentDescription.styles.d.ts +1 -0
- package/dist/components/attachment/AttachmentDescription/AttachmentDescription.styles.js +6 -0
- package/dist/components/attachment/AttachmentDescription/AttachmentDescription.styles.js.map +1 -0
- package/dist/components/attachment/AttachmentDescription/AttachmentDescription.types.d.ts +2 -0
- package/dist/components/attachment/AttachmentDescription/index.d.ts +2 -0
- package/dist/components/attachment/AttachmentGroup/AttachmentGroup.d.ts +3 -0
- package/dist/components/attachment/AttachmentGroup/AttachmentGroup.js +24 -0
- package/dist/components/attachment/AttachmentGroup/AttachmentGroup.js.map +1 -0
- package/dist/components/attachment/AttachmentGroup/AttachmentGroup.styles.d.ts +1 -0
- package/dist/components/attachment/AttachmentGroup/AttachmentGroup.styles.js +6 -0
- package/dist/components/attachment/AttachmentGroup/AttachmentGroup.styles.js.map +1 -0
- package/dist/components/attachment/AttachmentGroup/AttachmentGroup.types.d.ts +2 -0
- package/dist/components/attachment/AttachmentGroup/index.d.ts +2 -0
- package/dist/components/attachment/AttachmentMedia/AttachmentMedia.d.ts +3 -0
- package/dist/components/attachment/AttachmentMedia/AttachmentMedia.js +31 -0
- package/dist/components/attachment/AttachmentMedia/AttachmentMedia.js.map +1 -0
- package/dist/components/attachment/AttachmentMedia/AttachmentMedia.styles.d.ts +3 -0
- package/dist/components/attachment/AttachmentMedia/AttachmentMedia.styles.js +13 -0
- package/dist/components/attachment/AttachmentMedia/AttachmentMedia.styles.js.map +1 -0
- package/dist/components/attachment/AttachmentMedia/AttachmentMedia.types.d.ts +4 -0
- package/dist/components/attachment/AttachmentMedia/index.d.ts +2 -0
- package/dist/components/attachment/AttachmentTitle/AttachmentTitle.d.ts +3 -0
- package/dist/components/attachment/AttachmentTitle/AttachmentTitle.js +24 -0
- package/dist/components/attachment/AttachmentTitle/AttachmentTitle.js.map +1 -0
- package/dist/components/attachment/AttachmentTitle/AttachmentTitle.styles.d.ts +1 -0
- package/dist/components/attachment/AttachmentTitle/AttachmentTitle.styles.js +6 -0
- package/dist/components/attachment/AttachmentTitle/AttachmentTitle.styles.js.map +1 -0
- package/dist/components/attachment/AttachmentTitle/AttachmentTitle.types.d.ts +2 -0
- package/dist/components/attachment/AttachmentTitle/index.d.ts +2 -0
- package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.d.ts +7 -0
- package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js +18 -0
- package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.js.map +1 -0
- package/dist/components/attachment/AttachmentTrigger/AttachmentTrigger.types.d.ts +5 -0
- package/dist/components/attachment/AttachmentTrigger/index.d.ts +2 -0
- package/dist/components/attachment/index.d.ts +18 -0
- package/dist/components/attachment/index.js +10 -0
- package/dist/components/avatar/Avatar/Avatar.context.js.map +1 -1
- package/dist/components/avatar/Avatar/Avatar.d.ts +1 -1
- package/dist/components/avatar/Avatar/Avatar.js.map +1 -1
- package/dist/components/avatar/AvatarBadge/AvatarBadge.d.ts +1 -1
- package/dist/components/avatar/AvatarBadge/AvatarBadge.js.map +1 -1
- package/dist/components/avatar/AvatarFallback/AvatarFallback.d.ts +1 -1
- package/dist/components/avatar/AvatarFallback/AvatarFallback.js.map +1 -1
- package/dist/components/avatar/AvatarGroup/AvatarGroup.d.ts +1 -1
- package/dist/components/avatar/AvatarGroup/AvatarGroup.js.map +1 -1
- package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.d.ts +1 -1
- package/dist/components/avatar/AvatarGroupCount/AvatarGroupCount.js.map +1 -1
- package/dist/components/avatar/AvatarImage/AvatarImage.d.ts +1 -1
- package/dist/components/avatar/AvatarImage/AvatarImage.js.map +1 -1
- package/dist/components/badge/Badge.d.ts +1 -1
- package/dist/components/badge/Badge.js.map +1 -1
- package/dist/components/badge/Badge.styles.js.map +1 -1
- package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.d.ts +1 -1
- package/dist/components/breadcrumb/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.d.ts +1 -1
- package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbEllipsis/BreadcrumbEllipsis.styles.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.d.ts +1 -1
- package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbItem/BreadcrumbItem.styles.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.d.ts +1 -1
- package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbLink/BreadcrumbLink.styles.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.d.ts +1 -1
- package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbList/BreadcrumbList.styles.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.d.ts +1 -1
- package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbPage/BreadcrumbPage.styles.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.d.ts +1 -1
- package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.js.map +1 -1
- package/dist/components/breadcrumb/BreadcrumbSeparator/BreadcrumbSeparator.styles.js.map +1 -1
- package/dist/components/button/Button.d.ts +1 -1
- package/dist/components/button/Button.js +1 -1
- package/dist/components/button/Button.js.map +1 -1
- package/dist/components/button/Button.styles.js.map +1 -1
- package/dist/components/button-group/ButtonGroup/ButtonGroup.d.ts +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.d.ts +1 -1
- package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.js.map +1 -1
- package/dist/components/button-group/ButtonGroupSeparator/ButtonGroupSeparator.styles.js.map +1 -1
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.d.ts +1 -1
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.js.map +1 -1
- package/dist/components/button-group/ButtonGroupText/ButtonGroupText.styles.js.map +1 -1
- package/dist/components/calendar/Calendar/Calendar.js.map +1 -1
- package/dist/components/calendar/Calendar/Calendar.utils.js.map +1 -1
- package/dist/components/card/Card/Card.d.ts +1 -1
- package/dist/components/card/Card/Card.js.map +1 -1
- package/dist/components/card/Card/Card.styles.js.map +1 -1
- package/dist/components/card/CardAction/CardAction.d.ts +1 -1
- package/dist/components/card/CardAction/CardAction.js.map +1 -1
- package/dist/components/card/CardAction/CardAction.styles.js.map +1 -1
- package/dist/components/card/CardContent/CardContent.d.ts +1 -1
- package/dist/components/card/CardContent/CardContent.js.map +1 -1
- package/dist/components/card/CardContent/CardContent.styles.js.map +1 -1
- package/dist/components/card/CardDescription/CardDescription.d.ts +1 -1
- package/dist/components/card/CardDescription/CardDescription.js.map +1 -1
- package/dist/components/card/CardDescription/CardDescription.styles.js.map +1 -1
- package/dist/components/card/CardFooter/CardFooter.d.ts +1 -1
- package/dist/components/card/CardFooter/CardFooter.js.map +1 -1
- package/dist/components/card/CardFooter/CardFooter.styles.js.map +1 -1
- package/dist/components/card/CardHeader/CardHeader.d.ts +1 -1
- package/dist/components/card/CardHeader/CardHeader.js.map +1 -1
- package/dist/components/card/CardHeader/CardHeader.styles.js.map +1 -1
- package/dist/components/card/CardTitle/CardTitle.d.ts +1 -1
- package/dist/components/card/CardTitle/CardTitle.js.map +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.d.ts +1 -1
- package/dist/components/carousel/Carousel/Carousel.js.map +1 -1
- package/dist/components/carousel/Carousel/Carousel.styles.js.map +1 -1
- 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.d.ts +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.d.ts +1 -1
- package/dist/components/carousel/CarouselDots/CarouselDots.js.map +1 -1
- package/dist/components/carousel/CarouselItem/CarouselItem.d.ts +1 -1
- package/dist/components/carousel/CarouselItem/CarouselItem.js.map +1 -1
- package/dist/components/carousel/CarouselNext/CarouselNext.d.ts +1 -1
- package/dist/components/carousel/CarouselNext/CarouselNext.js.map +1 -1
- package/dist/components/carousel/CarouselPrevious/CarouselPrevious.d.ts +1 -1
- package/dist/components/carousel/CarouselPrevious/CarouselPrevious.js.map +1 -1
- package/dist/components/checkbox/Checkbox/Checkbox.d.ts +1 -1
- 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.d.ts +1 -1
- package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.js.map +1 -1
- package/dist/components/checkbox/CheckboxIndicator/CheckboxIndicator.styles.js.map +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.context.js.map +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.d.ts +1 -1
- package/dist/components/collapsible/Collapsible/Collapsible.js.map +1 -1
- package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.d.ts +1 -1
- package/dist/components/collapsible/CollapsibleContent/CollapsibleContent.js.map +1 -1
- package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.d.ts +1 -1
- package/dist/components/collapsible/CollapsibleTrigger/CollapsibleTrigger.js.map +1 -1
- package/dist/components/combobox/Combobox/Combobox.context.js.map +1 -1
- package/dist/components/combobox/Combobox/Combobox.js +50 -47
- package/dist/components/combobox/Combobox/Combobox.js.map +1 -1
- package/dist/components/combobox/Combobox/Combobox.types.d.ts +5 -0
- package/dist/components/combobox/ComboboxChip/ComboboxChip.js.map +1 -1
- package/dist/components/combobox/ComboboxChips/ComboboxChips.js.map +1 -1
- package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.d.ts +1 -1
- package/dist/components/combobox/ComboboxChipsInput/ComboboxChipsInput.js.map +1 -1
- package/dist/components/combobox/ComboboxClear/ComboboxClear.d.ts +1 -1
- package/dist/components/combobox/ComboboxClear/ComboboxClear.js.map +1 -1
- package/dist/components/combobox/ComboboxCollection/ComboboxCollection.js.map +1 -1
- package/dist/components/combobox/ComboboxContent/ComboboxContent.d.ts +1 -1
- package/dist/components/combobox/ComboboxContent/ComboboxContent.js.map +1 -1
- package/dist/components/combobox/ComboboxContent/ComboboxContent.utils.js.map +1 -1
- package/dist/components/combobox/ComboboxContent/useComboboxContent.js.map +1 -1
- package/dist/components/combobox/ComboboxEmpty/ComboboxEmpty.js.map +1 -1
- package/dist/components/combobox/ComboboxGroup/ComboboxGroup.js.map +1 -1
- package/dist/components/combobox/ComboboxInput/ComboboxInput.js.map +1 -1
- package/dist/components/combobox/ComboboxItem/ComboboxItem.js.map +1 -1
- package/dist/components/combobox/ComboboxLabel/ComboboxLabel.js.map +1 -1
- package/dist/components/combobox/ComboboxList/ComboboxList.js +13 -12
- package/dist/components/combobox/ComboboxList/ComboboxList.js.map +1 -1
- package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.d.ts +1 -1
- package/dist/components/combobox/ComboboxSeparator/ComboboxSeparator.js.map +1 -1
- package/dist/components/combobox/ComboboxTrigger/ComboboxTrigger.js.map +1 -1
- package/dist/components/combobox/ComboboxValue/ComboboxValue.js.map +1 -1
- package/dist/components/combobox/useComboboxAnchor/useComboboxAnchor.js.map +1 -1
- package/dist/components/context-menu/ContextMenu/ContextMenu.context.d.ts +3 -0
- package/dist/components/context-menu/ContextMenu/ContextMenu.context.js +12 -0
- package/dist/components/context-menu/ContextMenu/ContextMenu.context.js.map +1 -0
- package/dist/components/context-menu/ContextMenu/ContextMenu.d.ts +23 -0
- package/dist/components/context-menu/ContextMenu/ContextMenu.js +73 -0
- package/dist/components/context-menu/ContextMenu/ContextMenu.js.map +1 -0
- package/dist/components/context-menu/ContextMenu/ContextMenu.types.d.ts +28 -0
- package/dist/components/context-menu/ContextMenu/index.d.ts +3 -0
- package/dist/components/context-menu/ContextMenuCheckboxItem/ContextMenuCheckboxItem.d.ts +6 -0
- package/dist/components/context-menu/ContextMenuCheckboxItem/ContextMenuCheckboxItem.js +78 -0
- package/dist/components/context-menu/ContextMenuCheckboxItem/ContextMenuCheckboxItem.js.map +1 -0
- package/dist/components/context-menu/ContextMenuCheckboxItem/ContextMenuCheckboxItem.types.d.ts +20 -0
- package/dist/components/context-menu/ContextMenuCheckboxItem/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuContent/ContextMenuContent.d.ts +9 -0
- package/dist/components/context-menu/ContextMenuContent/ContextMenuContent.js +64 -0
- package/dist/components/context-menu/ContextMenuContent/ContextMenuContent.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent/ContextMenuContent.types.d.ts +26 -0
- package/dist/components/context-menu/ContextMenuContent/ContextMenuPopupSurface.d.ts +31 -0
- package/dist/components/context-menu/ContextMenuContent/ContextMenuPopupSurface.js +102 -0
- package/dist/components/context-menu/ContextMenuContent/ContextMenuPopupSurface.js.map +1 -0
- package/dist/components/context-menu/ContextMenuContent/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.d.ts +52 -0
- package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js +153 -0
- package/dist/components/context-menu/ContextMenuContent/useContextMenuContent.js.map +1 -0
- package/dist/components/context-menu/ContextMenuGroup/ContextMenuGroup.d.ts +6 -0
- package/dist/components/context-menu/ContextMenuGroup/ContextMenuGroup.js +29 -0
- package/dist/components/context-menu/ContextMenuGroup/ContextMenuGroup.js.map +1 -0
- package/dist/components/context-menu/ContextMenuGroup/ContextMenuGroup.types.d.ts +9 -0
- package/dist/components/context-menu/ContextMenuGroup/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuItem/ContextMenuItem.d.ts +6 -0
- package/dist/components/context-menu/ContextMenuItem/ContextMenuItem.js +59 -0
- package/dist/components/context-menu/ContextMenuItem/ContextMenuItem.js.map +1 -0
- package/dist/components/context-menu/ContextMenuItem/ContextMenuItem.types.d.ts +22 -0
- package/dist/components/context-menu/ContextMenuItem/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuLabel/ContextMenuLabel.d.ts +6 -0
- package/dist/components/context-menu/ContextMenuLabel/ContextMenuLabel.js +31 -0
- package/dist/components/context-menu/ContextMenuLabel/ContextMenuLabel.js.map +1 -0
- package/dist/components/context-menu/ContextMenuLabel/ContextMenuLabel.types.d.ts +8 -0
- package/dist/components/context-menu/ContextMenuLabel/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuPortal/ContextMenuPortal.d.ts +16 -0
- package/dist/components/context-menu/ContextMenuPortal/ContextMenuPortal.js +18 -0
- package/dist/components/context-menu/ContextMenuPortal/ContextMenuPortal.js.map +1 -0
- package/dist/components/context-menu/ContextMenuPortal/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuRadioGroup/ContextMenuRadioGroup.d.ts +12 -0
- package/dist/components/context-menu/ContextMenuRadioGroup/ContextMenuRadioGroup.js +48 -0
- package/dist/components/context-menu/ContextMenuRadioGroup/ContextMenuRadioGroup.js.map +1 -0
- package/dist/components/context-menu/ContextMenuRadioGroup/ContextMenuRadioGroup.types.d.ts +14 -0
- package/dist/components/context-menu/ContextMenuRadioGroup/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuRadioItem/ContextMenuRadioItem.d.ts +6 -0
- package/dist/components/context-menu/ContextMenuRadioItem/ContextMenuRadioItem.js +74 -0
- package/dist/components/context-menu/ContextMenuRadioItem/ContextMenuRadioItem.js.map +1 -0
- package/dist/components/context-menu/ContextMenuRadioItem/ContextMenuRadioItem.types.d.ts +16 -0
- package/dist/components/context-menu/ContextMenuRadioItem/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuSeparator/ContextMenuSeparator.d.ts +9 -0
- package/dist/components/context-menu/ContextMenuSeparator/ContextMenuSeparator.js +25 -0
- package/dist/components/context-menu/ContextMenuSeparator/ContextMenuSeparator.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSeparator/ContextMenuSeparator.types.d.ts +8 -0
- package/dist/components/context-menu/ContextMenuSeparator/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuShortcut/ContextMenuShortcut.d.ts +6 -0
- package/dist/components/context-menu/ContextMenuShortcut/ContextMenuShortcut.js +19 -0
- package/dist/components/context-menu/ContextMenuShortcut/ContextMenuShortcut.js.map +1 -0
- package/dist/components/context-menu/ContextMenuShortcut/ContextMenuShortcut.types.d.ts +6 -0
- package/dist/components/context-menu/ContextMenuShortcut/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.d.ts +7 -0
- package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js +55 -0
- package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSub/ContextMenuSub.types.d.ts +18 -0
- package/dist/components/context-menu/ContextMenuSub/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuSubContent/ContextMenuSubContent.d.ts +6 -0
- package/dist/components/context-menu/ContextMenuSubContent/ContextMenuSubContent.js +83 -0
- package/dist/components/context-menu/ContextMenuSubContent/ContextMenuSubContent.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSubContent/ContextMenuSubContent.types.d.ts +17 -0
- package/dist/components/context-menu/ContextMenuSubContent/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuSubTrigger/ContextMenuSubTrigger.d.ts +6 -0
- package/dist/components/context-menu/ContextMenuSubTrigger/ContextMenuSubTrigger.js +96 -0
- package/dist/components/context-menu/ContextMenuSubTrigger/ContextMenuSubTrigger.js.map +1 -0
- package/dist/components/context-menu/ContextMenuSubTrigger/ContextMenuSubTrigger.types.d.ts +21 -0
- package/dist/components/context-menu/ContextMenuSubTrigger/index.d.ts +2 -0
- package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.d.ts +13 -0
- package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js +34 -0
- package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.js.map +1 -0
- package/dist/components/context-menu/ContextMenuTrigger/ContextMenuTrigger.types.d.ts +15 -0
- package/dist/components/context-menu/ContextMenuTrigger/index.d.ts +4 -0
- package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.d.ts +23 -0
- package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js +47 -0
- package/dist/components/context-menu/ContextMenuTrigger/useContextMenuTrigger.js.map +1 -0
- package/dist/components/context-menu/context-menu.context.d.ts +14 -0
- package/dist/components/context-menu/context-menu.context.js +25 -0
- package/dist/components/context-menu/context-menu.context.js.map +1 -0
- package/dist/components/context-menu/context-menu.entry.d.ts +28 -0
- package/dist/components/context-menu/context-menu.entry.js +31 -0
- package/dist/components/context-menu/context-menu.entry.js.map +1 -0
- package/dist/components/context-menu/context-menu.styles.d.ts +18 -0
- package/dist/components/context-menu/context-menu.styles.js +6 -0
- package/dist/components/context-menu/context-menu.styles.js.map +1 -0
- package/dist/components/context-menu/context-menu.types.d.ts +151 -0
- package/dist/components/context-menu/context-menu.utils.d.ts +28 -0
- package/dist/components/context-menu/context-menu.utils.js +51 -0
- package/dist/components/context-menu/context-menu.utils.js.map +1 -0
- package/dist/components/context-menu/index.d.ts +31 -0
- package/dist/components/context-menu/index.js +16 -0
- package/dist/components/data-table/createRowModel.d.ts +20 -0
- package/dist/components/data-table/createRowModel.js +46 -0
- package/dist/components/data-table/createRowModel.js.map +1 -0
- package/dist/components/data-table/createTable.d.ts +16 -0
- package/dist/components/data-table/createTable.js +94 -0
- package/dist/components/data-table/createTable.js.map +1 -0
- package/dist/components/data-table/createTableColumns.d.ts +19 -0
- package/dist/components/data-table/createTableColumns.js +68 -0
- package/dist/components/data-table/createTableColumns.js.map +1 -0
- package/dist/components/data-table/createTableHeaders.d.ts +10 -0
- package/dist/components/data-table/createTableHeaders.js +26 -0
- package/dist/components/data-table/createTableHeaders.js.map +1 -0
- package/dist/components/data-table/createTableRows.d.ts +16 -0
- package/dist/components/data-table/createTableRows.js +57 -0
- package/dist/components/data-table/createTableRows.js.map +1 -0
- package/dist/components/data-table/createTableSelection.d.ts +12 -0
- package/dist/components/data-table/createTableSelection.js +23 -0
- package/dist/components/data-table/createTableSelection.js.map +1 -0
- package/dist/components/data-table/createTableState.d.ts +16 -0
- package/dist/components/data-table/createTableState.js +34 -0
- package/dist/components/data-table/createTableState.js.map +1 -0
- package/dist/components/data-table/data-table.types.d.ts +123 -0
- package/dist/components/data-table/data-table.utils.d.ts +4 -0
- package/dist/components/data-table/data-table.utils.js +11 -0
- package/dist/components/data-table/data-table.utils.js.map +1 -0
- package/dist/components/data-table/index.d.ts +2 -0
- package/dist/components/data-table/index.js +2 -0
- package/dist/components/date-picker/DatePicker/DatePicker.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.context.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.d.ts +1 -1
- package/dist/components/dialog/Dialog/Dialog.js +18 -16
- package/dist/components/dialog/Dialog/Dialog.js.map +1 -1
- package/dist/components/dialog/Dialog/Dialog.types.d.ts +5 -0
- package/dist/components/dialog/DialogClose/DialogClose.d.ts +1 -1
- package/dist/components/dialog/DialogClose/DialogClose.js +5 -5
- package/dist/components/dialog/DialogClose/DialogClose.js.map +1 -1
- package/dist/components/dialog/DialogClose/DialogClose.styles.js.map +1 -1
- package/dist/components/dialog/DialogContent/DialogContent.context.js.map +1 -1
- package/dist/components/dialog/DialogContent/DialogContent.d.ts +1 -1
- package/dist/components/dialog/DialogContent/DialogContent.js +23 -55
- package/dist/components/dialog/DialogContent/DialogContent.js.map +1 -1
- package/dist/components/dialog/DialogContent/DialogContent.styles.js.map +1 -1
- package/dist/components/dialog/DialogDescription/DialogDescription.d.ts +1 -1
- package/dist/components/dialog/DialogDescription/DialogDescription.js.map +1 -1
- package/dist/components/dialog/DialogDescription/DialogDescription.styles.js.map +1 -1
- package/dist/components/dialog/DialogFooter/DialogFooter.d.ts +1 -1
- package/dist/components/dialog/DialogFooter/DialogFooter.js.map +1 -1
- package/dist/components/dialog/DialogFooter/DialogFooter.styles.js.map +1 -1
- package/dist/components/dialog/DialogHeader/DialogHeader.d.ts +1 -1
- package/dist/components/dialog/DialogHeader/DialogHeader.js.map +1 -1
- package/dist/components/dialog/DialogHeader/DialogHeader.styles.js.map +1 -1
- package/dist/components/dialog/DialogOverlay/DialogOverlay.d.ts +1 -1
- package/dist/components/dialog/DialogOverlay/DialogOverlay.js +18 -10
- package/dist/components/dialog/DialogOverlay/DialogOverlay.js.map +1 -1
- package/dist/components/dialog/DialogOverlay/DialogOverlay.styles.js.map +1 -1
- package/dist/components/dialog/DialogOverlay/DialogOverlay.types.d.ts +4 -1
- package/dist/components/dialog/DialogPortal/DialogPortal.d.ts +1 -1
- package/dist/components/dialog/DialogPortal/DialogPortal.js.map +1 -1
- package/dist/components/dialog/DialogSurface/DialogSurface.d.ts +2 -0
- package/dist/components/dialog/DialogSurface/DialogSurface.js +77 -0
- package/dist/components/dialog/DialogSurface/DialogSurface.js.map +1 -0
- package/dist/components/dialog/DialogSurface/DialogSurface.types.d.ts +15 -0
- package/dist/components/dialog/DialogSurface/index.d.ts +2 -0
- package/dist/components/dialog/DialogTitle/DialogTitle.d.ts +1 -1
- package/dist/components/dialog/DialogTitle/DialogTitle.js.map +1 -1
- package/dist/components/dialog/DialogTitle/DialogTitle.styles.js.map +1 -1
- package/dist/components/dialog/DialogTrigger/DialogTrigger.d.ts +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/dialog/index.d.ts +1 -0
- package/dist/components/dialog/index.js +9 -8
- package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.context.d.ts +3 -0
- package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.context.js +12 -0
- package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.context.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.d.ts +9 -0
- package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.js +82 -0
- package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenu/DropdownMenu.types.d.ts +26 -0
- package/dist/components/dropdown-menu/DropdownMenu/index.d.ts +3 -0
- package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/DropdownMenuCheckboxItem.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/DropdownMenuCheckboxItem.js +78 -0
- package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/DropdownMenuCheckboxItem.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/DropdownMenuCheckboxItem.types.d.ts +14 -0
- package/dist/components/dropdown-menu/DropdownMenuCheckboxItem/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuContent/DropdownMenuContent.d.ts +6 -0
- package/dist/components/dropdown-menu/DropdownMenuContent/DropdownMenuContent.js +64 -0
- package/dist/components/dropdown-menu/DropdownMenuContent/DropdownMenuContent.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuContent/DropdownMenuContent.types.d.ts +13 -0
- package/dist/components/dropdown-menu/DropdownMenuContent/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuGroup/DropdownMenuGroup.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuGroup/DropdownMenuGroup.js +29 -0
- package/dist/components/dropdown-menu/DropdownMenuGroup/DropdownMenuGroup.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuGroup/DropdownMenuGroup.types.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuGroup/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuItem/DropdownMenuItem.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuItem/DropdownMenuItem.js +59 -0
- package/dist/components/dropdown-menu/DropdownMenuItem/DropdownMenuItem.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuItem/DropdownMenuItem.types.d.ts +14 -0
- package/dist/components/dropdown-menu/DropdownMenuItem/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuLabel/DropdownMenuLabel.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuLabel/DropdownMenuLabel.js +31 -0
- package/dist/components/dropdown-menu/DropdownMenuLabel/DropdownMenuLabel.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuLabel/DropdownMenuLabel.types.d.ts +4 -0
- package/dist/components/dropdown-menu/DropdownMenuLabel/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuPortal/DropdownMenuPortal.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuPortal/DropdownMenuPortal.js +10 -0
- package/dist/components/dropdown-menu/DropdownMenuPortal/DropdownMenuPortal.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuPortal/DropdownMenuPortal.types.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuPortal/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.js +48 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioGroup/DropdownMenuRadioGroup.types.d.ts +10 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioGroup/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioItem/DropdownMenuRadioItem.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioItem/DropdownMenuRadioItem.js +74 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioItem/DropdownMenuRadioItem.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioItem/DropdownMenuRadioItem.types.d.ts +11 -0
- package/dist/components/dropdown-menu/DropdownMenuRadioItem/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuSeparator/DropdownMenuSeparator.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuSeparator/DropdownMenuSeparator.js +25 -0
- package/dist/components/dropdown-menu/DropdownMenuSeparator/DropdownMenuSeparator.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuSeparator/DropdownMenuSeparator.types.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuSeparator/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuShortcut/DropdownMenuShortcut.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuShortcut/DropdownMenuShortcut.js +19 -0
- package/dist/components/dropdown-menu/DropdownMenuShortcut/DropdownMenuShortcut.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuShortcut/DropdownMenuShortcut.types.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuShortcut/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuSub/DropdownMenuSub.d.ts +4 -0
- package/dist/components/dropdown-menu/DropdownMenuSub/DropdownMenuSub.js +10 -0
- package/dist/components/dropdown-menu/DropdownMenuSub/DropdownMenuSub.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuSub/DropdownMenuSub.types.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuSub/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuSubContent/DropdownMenuSubContent.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuSubContent/DropdownMenuSubContent.js +82 -0
- package/dist/components/dropdown-menu/DropdownMenuSubContent/DropdownMenuSubContent.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuSubContent/DropdownMenuSubContent.types.d.ts +15 -0
- package/dist/components/dropdown-menu/DropdownMenuSubContent/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuSubTrigger/DropdownMenuSubTrigger.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuSubTrigger/DropdownMenuSubTrigger.js +96 -0
- package/dist/components/dropdown-menu/DropdownMenuSubTrigger/DropdownMenuSubTrigger.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuSubTrigger/DropdownMenuSubTrigger.types.d.ts +12 -0
- package/dist/components/dropdown-menu/DropdownMenuSubTrigger/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.d.ts +5 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js +42 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.js.map +1 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger/DropdownMenuTrigger.types.d.ts +4 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger/index.d.ts +2 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.d.ts +4 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js +30 -0
- package/dist/components/dropdown-menu/DropdownMenuTrigger/useDropdownMenuTrigger.js.map +1 -0
- package/dist/components/dropdown-menu/dropdown-menu.styles.d.ts +11 -0
- package/dist/components/dropdown-menu/dropdown-menu.styles.js +6 -0
- package/dist/components/dropdown-menu/dropdown-menu.styles.js.map +1 -0
- package/dist/components/dropdown-menu/index.d.ts +30 -0
- package/dist/components/dropdown-menu/index.js +16 -0
- package/dist/components/empty/Empty/Empty.d.ts +1 -1
- package/dist/components/empty/Empty/Empty.js.map +1 -1
- package/dist/components/empty/EmptyContent/EmptyContent.d.ts +1 -1
- package/dist/components/empty/EmptyContent/EmptyContent.js.map +1 -1
- package/dist/components/empty/EmptyDescription/EmptyDescription.d.ts +1 -1
- package/dist/components/empty/EmptyDescription/EmptyDescription.js.map +1 -1
- package/dist/components/empty/EmptyHeader/EmptyHeader.d.ts +1 -1
- package/dist/components/empty/EmptyHeader/EmptyHeader.js.map +1 -1
- package/dist/components/empty/EmptyMedia/EmptyMedia.d.ts +1 -1
- package/dist/components/empty/EmptyMedia/EmptyMedia.js.map +1 -1
- package/dist/components/empty/EmptyMedia/EmptyMedia.styles.js.map +1 -1
- package/dist/components/empty/EmptyTitle/EmptyTitle.d.ts +1 -1
- package/dist/components/empty/EmptyTitle/EmptyTitle.js.map +1 -1
- package/dist/components/field/Field/Field.d.ts +1 -1
- package/dist/components/field/Field/Field.js.map +1 -1
- package/dist/components/field/Field/Field.styles.js.map +1 -1
- package/dist/components/field/FieldContent/FieldContent.d.ts +1 -1
- package/dist/components/field/FieldContent/FieldContent.js.map +1 -1
- package/dist/components/field/FieldDescription/FieldDescription.d.ts +1 -1
- package/dist/components/field/FieldDescription/FieldDescription.js.map +1 -1
- package/dist/components/field/FieldError/FieldError.d.ts +1 -1
- package/dist/components/field/FieldError/FieldError.js.map +1 -1
- package/dist/components/field/FieldGroup/FieldGroup.d.ts +1 -1
- package/dist/components/field/FieldGroup/FieldGroup.js.map +1 -1
- package/dist/components/field/FieldLabel/FieldLabel.d.ts +1 -1
- package/dist/components/field/FieldLabel/FieldLabel.js.map +1 -1
- package/dist/components/field/FieldLegend/FieldLegend.d.ts +1 -1
- package/dist/components/field/FieldLegend/FieldLegend.js.map +1 -1
- package/dist/components/field/FieldSeparator/FieldSeparator.d.ts +1 -1
- package/dist/components/field/FieldSeparator/FieldSeparator.js.map +1 -1
- package/dist/components/field/FieldSet/FieldSet.d.ts +1 -1
- package/dist/components/field/FieldSet/FieldSet.js.map +1 -1
- package/dist/components/field/FieldTitle/FieldTitle.d.ts +1 -1
- package/dist/components/field/FieldTitle/FieldTitle.js.map +1 -1
- package/dist/components/image/Image.config.js.map +1 -1
- package/dist/components/image/Image.js.map +1 -1
- package/dist/components/image/Image.utils.js +2 -2
- package/dist/components/image/Image.utils.js.map +1 -1
- package/dist/components/image/ImageElement.js.map +1 -1
- package/dist/components/image/ImagePreload.js.map +1 -1
- package/dist/components/input/Input.js.map +1 -1
- package/dist/components/input-group/InputGroup/InputGroup.d.ts +1 -1
- package/dist/components/input-group/InputGroup/InputGroup.js.map +1 -1
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.d.ts +1 -1
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.js.map +1 -1
- package/dist/components/input-group/InputGroupAddon/InputGroupAddon.styles.js.map +1 -1
- package/dist/components/input-group/InputGroupButton/InputGroupButton.d.ts +1 -1
- 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/InputGroupInput/InputGroupInput.d.ts +1 -1
- package/dist/components/input-group/InputGroupInput/InputGroupInput.js.map +1 -1
- package/dist/components/input-group/InputGroupText/InputGroupText.d.ts +1 -1
- package/dist/components/input-group/InputGroupText/InputGroupText.js.map +1 -1
- package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.d.ts +1 -1
- package/dist/components/input-group/InputGroupTextarea/InputGroupTextarea.js.map +1 -1
- package/dist/components/item/Item/Item.d.ts +1 -1
- package/dist/components/item/Item/Item.js.map +1 -1
- package/dist/components/item/Item/Item.styles.js.map +1 -1
- package/dist/components/item/ItemActions/ItemActions.d.ts +1 -1
- package/dist/components/item/ItemActions/ItemActions.js.map +1 -1
- package/dist/components/item/ItemContent/ItemContent.d.ts +1 -1
- package/dist/components/item/ItemContent/ItemContent.js.map +1 -1
- package/dist/components/item/ItemDescription/ItemDescription.d.ts +1 -1
- package/dist/components/item/ItemDescription/ItemDescription.js.map +1 -1
- package/dist/components/item/ItemFooter/ItemFooter.d.ts +1 -1
- package/dist/components/item/ItemFooter/ItemFooter.js.map +1 -1
- package/dist/components/item/ItemGroup/ItemGroup.d.ts +1 -1
- package/dist/components/item/ItemGroup/ItemGroup.js.map +1 -1
- package/dist/components/item/ItemHeader/ItemHeader.d.ts +1 -1
- package/dist/components/item/ItemHeader/ItemHeader.js.map +1 -1
- package/dist/components/item/ItemMedia/ItemMedia.d.ts +1 -1
- 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.d.ts +1 -1
- package/dist/components/item/ItemSeparator/ItemSeparator.js.map +1 -1
- package/dist/components/item/ItemTitle/ItemTitle.d.ts +1 -1
- package/dist/components/item/ItemTitle/ItemTitle.js.map +1 -1
- package/dist/components/kbd/Kbd.d.ts +2 -2
- package/dist/components/kbd/Kbd.js.map +1 -1
- package/dist/components/label/Label.d.ts +1 -1
- package/dist/components/label/Label.js.map +1 -1
- package/dist/components/number-input/NumberInput/NumberInput.d.ts +19 -0
- package/dist/components/number-input/NumberInput/NumberInput.js +153 -0
- package/dist/components/number-input/NumberInput/NumberInput.js.map +1 -0
- package/dist/components/number-input/NumberInput/NumberInput.types.d.ts +41 -0
- package/dist/components/number-input/NumberInput/NumberInput.utils.d.ts +10 -0
- package/dist/components/number-input/NumberInput/NumberInput.utils.js +24 -0
- package/dist/components/number-input/NumberInput/NumberInput.utils.js.map +1 -0
- package/dist/components/number-input/NumberInput/create-change-event-details.d.ts +8 -0
- package/dist/components/number-input/NumberInput/create-change-event-details.js +25 -0
- package/dist/components/number-input/NumberInput/create-change-event-details.js.map +1 -0
- package/dist/components/number-input/NumberInput/index.d.ts +2 -0
- package/dist/components/number-input/index.d.ts +2 -0
- package/dist/components/number-input/index.js +2 -0
- package/dist/components/pagination/Pagination/Pagination.d.ts +1 -1
- package/dist/components/pagination/Pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationContent/PaginationContent.d.ts +1 -1
- package/dist/components/pagination/PaginationContent/PaginationContent.js.map +1 -1
- package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.d.ts +1 -1
- package/dist/components/pagination/PaginationEllipsis/PaginationEllipsis.js.map +1 -1
- package/dist/components/pagination/PaginationItem/PaginationItem.d.ts +1 -1
- package/dist/components/pagination/PaginationItem/PaginationItem.js.map +1 -1
- package/dist/components/pagination/PaginationLink/PaginationLink.d.ts +1 -1
- package/dist/components/pagination/PaginationLink/PaginationLink.js +1 -1
- package/dist/components/pagination/PaginationLink/PaginationLink.js.map +1 -1
- package/dist/components/pagination/PaginationNext/PaginationNext.d.ts +1 -1
- package/dist/components/pagination/PaginationNext/PaginationNext.js.map +1 -1
- package/dist/components/pagination/PaginationPrevious/PaginationPrevious.d.ts +1 -1
- package/dist/components/pagination/PaginationPrevious/PaginationPrevious.js.map +1 -1
- package/dist/components/popover/Popover/Popover.context.js.map +1 -1
- package/dist/components/popover/Popover/Popover.js +25 -22
- package/dist/components/popover/Popover/Popover.js.map +1 -1
- package/dist/components/popover/Popover/Popover.types.d.ts +5 -0
- package/dist/components/popover/PopoverContent/PopoverContent.d.ts +1 -1
- package/dist/components/popover/PopoverContent/PopoverContent.js.map +1 -1
- package/dist/components/popover/PopoverContent/PopoverContent.utils.js.map +1 -1
- package/dist/components/popover/PopoverContent/usePopoverContent.js.map +1 -1
- package/dist/components/popover/PopoverDescription/PopoverDescription.d.ts +1 -1
- package/dist/components/popover/PopoverDescription/PopoverDescription.js.map +1 -1
- package/dist/components/popover/PopoverHeader/PopoverHeader.d.ts +1 -1
- package/dist/components/popover/PopoverHeader/PopoverHeader.js.map +1 -1
- package/dist/components/popover/PopoverTitle/PopoverTitle.d.ts +1 -1
- package/dist/components/popover/PopoverTitle/PopoverTitle.js.map +1 -1
- package/dist/components/popover/PopoverTrigger/PopoverTrigger.d.ts +1 -1
- package/dist/components/popover/PopoverTrigger/PopoverTrigger.js.map +1 -1
- package/dist/components/popover/PopoverTrigger/usePopoverTrigger.js.map +1 -1
- package/dist/components/progress/Progress/Progress.context.js.map +1 -1
- package/dist/components/progress/Progress/Progress.d.ts +1 -1
- package/dist/components/progress/Progress/Progress.js.map +1 -1
- package/dist/components/progress/Progress/Progress.styles.js.map +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.d.ts +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.js.map +1 -1
- package/dist/components/progress/ProgressIndicator/ProgressIndicator.styles.js.map +1 -1
- package/dist/components/progress/ProgressLabel/ProgressLabel.d.ts +1 -1
- package/dist/components/progress/ProgressLabel/ProgressLabel.js.map +1 -1
- package/dist/components/progress/ProgressLabel/ProgressLabel.styles.js.map +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.d.ts +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.js.map +1 -1
- package/dist/components/progress/ProgressTrack/ProgressTrack.styles.js.map +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.d.ts +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.js.map +1 -1
- package/dist/components/progress/ProgressValue/ProgressValue.styles.js.map +1 -1
- package/dist/components/radio-group/RadioGroup/RadioGroup.context.js.map +1 -1
- package/dist/components/radio-group/RadioGroup/RadioGroup.js.map +1 -1
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.d.ts +1 -1
- package/dist/components/radio-group/RadioGroupItem/RadioGroupItem.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.context.js.map +1 -1
- package/dist/components/scroll-area/ScrollArea/ScrollArea.d.ts +1 -1
- 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.d.ts +1 -1
- package/dist/components/scroll-area/ScrollBar/ScrollBar.js.map +1 -1
- package/dist/components/scroll-arrows/ScrollArrowButton.d.ts +9 -0
- package/dist/components/scroll-arrows/ScrollArrowButton.js +51 -0
- package/dist/components/scroll-arrows/ScrollArrowButton.js.map +1 -0
- package/dist/components/scroll-arrows/ScrollArrows.d.ts +8 -0
- package/dist/components/scroll-arrows/ScrollArrows.js +35 -0
- package/dist/components/scroll-arrows/ScrollArrows.js.map +1 -0
- package/dist/components/scroll-arrows/ScrollArrows.types.d.ts +17 -0
- package/dist/components/scroll-arrows/index.d.ts +2 -0
- package/dist/components/scroll-arrows/index.js +2 -0
- package/dist/components/select/Select/Select.context.js.map +1 -1
- package/dist/components/select/Select/Select.js +36 -33
- package/dist/components/select/Select/Select.js.map +1 -1
- package/dist/components/select/Select/Select.types.d.ts +5 -0
- package/dist/components/select/SelectContent/SelectContent.d.ts +1 -1
- package/dist/components/select/SelectContent/SelectContent.js +45 -40
- package/dist/components/select/SelectContent/SelectContent.js.map +1 -1
- package/dist/components/select/SelectContent/SelectContent.utils.js.map +1 -1
- package/dist/components/select/SelectContent/useSelectContent.js.map +1 -1
- package/dist/components/select/SelectGroup/SelectGroup.d.ts +1 -1
- package/dist/components/select/SelectGroup/SelectGroup.js.map +1 -1
- package/dist/components/select/SelectItem/SelectItem.d.ts +1 -1
- package/dist/components/select/SelectItem/SelectItem.js.map +1 -1
- package/dist/components/select/SelectItem/useSelectItem.js.map +1 -1
- package/dist/components/select/SelectLabel/SelectLabel.d.ts +1 -1
- package/dist/components/select/SelectLabel/SelectLabel.js.map +1 -1
- package/dist/components/select/SelectSeparator/SelectSeparator.d.ts +1 -1
- package/dist/components/select/SelectSeparator/SelectSeparator.js.map +1 -1
- package/dist/components/select/SelectTrigger/SelectTrigger.d.ts +1 -1
- package/dist/components/select/SelectTrigger/SelectTrigger.js.map +1 -1
- package/dist/components/select/SelectTrigger/useSelectTrigger.js.map +1 -1
- package/dist/components/select/SelectValue/SelectValue.d.ts +1 -1
- package/dist/components/select/SelectValue/SelectValue.js.map +1 -1
- package/dist/components/separator/Separator.d.ts +1 -1
- package/dist/components/separator/Separator.js.map +1 -1
- package/dist/components/separator/Separator.styles.js.map +1 -1
- package/dist/components/sidebar/Sidebar/Sidebar.d.ts +1 -1
- package/dist/components/sidebar/Sidebar/Sidebar.js.map +1 -1
- package/dist/components/sidebar/SidebarContent/SidebarContent.d.ts +1 -1
- package/dist/components/sidebar/SidebarContent/SidebarContent.js.map +1 -1
- package/dist/components/sidebar/SidebarFooter/SidebarFooter.d.ts +1 -1
- package/dist/components/sidebar/SidebarFooter/SidebarFooter.js.map +1 -1
- package/dist/components/sidebar/SidebarGroup/SidebarGroup.d.ts +1 -1
- package/dist/components/sidebar/SidebarGroup/SidebarGroup.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.d.ts +1 -1
- package/dist/components/sidebar/SidebarGroupAction/SidebarGroupAction.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.d.ts +1 -1
- package/dist/components/sidebar/SidebarGroupContent/SidebarGroupContent.js.map +1 -1
- package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.d.ts +1 -1
- package/dist/components/sidebar/SidebarGroupLabel/SidebarGroupLabel.js.map +1 -1
- package/dist/components/sidebar/SidebarHeader/SidebarHeader.d.ts +1 -1
- package/dist/components/sidebar/SidebarHeader/SidebarHeader.js.map +1 -1
- package/dist/components/sidebar/SidebarInput/SidebarInput.d.ts +1 -1
- package/dist/components/sidebar/SidebarInput/SidebarInput.js.map +1 -1
- package/dist/components/sidebar/SidebarInset/SidebarInset.d.ts +1 -1
- package/dist/components/sidebar/SidebarInset/SidebarInset.js.map +1 -1
- package/dist/components/sidebar/SidebarMenu/SidebarMenu.d.ts +1 -1
- package/dist/components/sidebar/SidebarMenu/SidebarMenu.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.d.ts +1 -1
- package/dist/components/sidebar/SidebarMenuBadge/SidebarMenuBadge.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.d.ts +1 -1
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuButton/SidebarMenuButton.styles.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.d.ts +1 -1
- package/dist/components/sidebar/SidebarMenuItem/SidebarMenuItem.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.d.ts +1 -1
- package/dist/components/sidebar/SidebarMenuSkeleton/SidebarMenuSkeleton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.d.ts +1 -1
- package/dist/components/sidebar/SidebarMenuSub/SidebarMenuSub.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.d.ts +1 -1
- package/dist/components/sidebar/SidebarMenuSubButton/SidebarMenuSubButton.js.map +1 -1
- package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.d.ts +1 -1
- package/dist/components/sidebar/SidebarMenuSubItem/SidebarMenuSubItem.js.map +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.d.ts +1 -1
- package/dist/components/sidebar/SidebarProvider/SidebarProvider.js.map +1 -1
- package/dist/components/sidebar/SidebarRail/SidebarRail.d.ts +1 -1
- package/dist/components/sidebar/SidebarRail/SidebarRail.js.map +1 -1
- package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.d.ts +1 -1
- package/dist/components/sidebar/SidebarSeparator/SidebarSeparator.js.map +1 -1
- package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.d.ts +1 -1
- package/dist/components/sidebar/SidebarTrigger/SidebarTrigger.js.map +1 -1
- package/dist/components/skeleton/Skeleton.d.ts +1 -1
- 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.d.ts +1 -1
- package/dist/components/slider/Slider/Slider.js.map +1 -1
- package/dist/components/slider/Slider/Slider.styles.js.map +1 -1
- package/dist/components/slider/Slider/useSlider.js.map +1 -1
- package/dist/components/slider/SliderControl/SliderControl.d.ts +1 -1
- package/dist/components/slider/SliderControl/SliderControl.js.map +1 -1
- package/dist/components/slider/SliderControl/SliderControl.styles.js.map +1 -1
- package/dist/components/slider/SliderControl/useSliderControl.js.map +1 -1
- package/dist/components/slider/SliderIndicator/SliderIndicator.d.ts +1 -1
- package/dist/components/slider/SliderIndicator/SliderIndicator.js.map +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.d.ts +1 -1
- package/dist/components/slider/SliderThumb/SliderThumb.js.map +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.d.ts +1 -1
- package/dist/components/slider/SliderTrack/SliderTrack.js.map +1 -1
- package/dist/components/slider/SliderTrack/SliderTrack.styles.js.map +1 -1
- package/dist/components/spinner/Spinner.d.ts +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.d.ts +1 -1
- package/dist/components/switch/Switch.js.map +1 -1
- package/dist/components/switch/Switch.styles.js.map +1 -1
- package/dist/components/table/Table/Table.d.ts +3 -0
- package/dist/components/table/Table/Table.js +24 -0
- package/dist/components/table/Table/Table.js.map +1 -0
- package/dist/components/table/Table/Table.types.d.ts +2 -0
- package/dist/components/table/Table/index.d.ts +2 -0
- package/dist/components/table/TableBody/TableBody.d.ts +2 -0
- package/dist/components/table/TableBody/TableBody.js +24 -0
- package/dist/components/table/TableBody/TableBody.js.map +1 -0
- package/dist/components/table/TableBody/TableBody.types.d.ts +2 -0
- package/dist/components/table/TableBody/index.d.ts +2 -0
- package/dist/components/table/TableCaption/TableCaption.d.ts +2 -0
- package/dist/components/table/TableCaption/TableCaption.js +24 -0
- package/dist/components/table/TableCaption/TableCaption.js.map +1 -0
- package/dist/components/table/TableCaption/TableCaption.types.d.ts +2 -0
- package/dist/components/table/TableCaption/index.d.ts +2 -0
- package/dist/components/table/TableCell/TableCell.d.ts +2 -0
- package/dist/components/table/TableCell/TableCell.js +24 -0
- package/dist/components/table/TableCell/TableCell.js.map +1 -0
- package/dist/components/table/TableCell/TableCell.types.d.ts +2 -0
- package/dist/components/table/TableCell/index.d.ts +2 -0
- package/dist/components/table/TableFooter/TableFooter.d.ts +2 -0
- package/dist/components/table/TableFooter/TableFooter.js +24 -0
- package/dist/components/table/TableFooter/TableFooter.js.map +1 -0
- package/dist/components/table/TableFooter/TableFooter.types.d.ts +2 -0
- package/dist/components/table/TableFooter/index.d.ts +2 -0
- package/dist/components/table/TableHead/TableHead.d.ts +2 -0
- package/dist/components/table/TableHead/TableHead.js +24 -0
- package/dist/components/table/TableHead/TableHead.js.map +1 -0
- package/dist/components/table/TableHead/TableHead.types.d.ts +2 -0
- package/dist/components/table/TableHead/index.d.ts +2 -0
- package/dist/components/table/TableHeader/TableHeader.d.ts +2 -0
- package/dist/components/table/TableHeader/TableHeader.js +24 -0
- package/dist/components/table/TableHeader/TableHeader.js.map +1 -0
- package/dist/components/table/TableHeader/TableHeader.types.d.ts +2 -0
- package/dist/components/table/TableHeader/index.d.ts +2 -0
- package/dist/components/table/TableRow/TableRow.d.ts +2 -0
- package/dist/components/table/TableRow/TableRow.js +24 -0
- package/dist/components/table/TableRow/TableRow.js.map +1 -0
- package/dist/components/table/TableRow/TableRow.types.d.ts +2 -0
- package/dist/components/table/TableRow/index.d.ts +2 -0
- package/dist/components/table/index.d.ts +16 -0
- package/dist/components/table/index.js +9 -0
- package/dist/components/tabs/Tabs/Tabs.context.d.ts +1 -1
- package/dist/components/tabs/Tabs/Tabs.context.js.map +1 -1
- package/dist/components/tabs/Tabs/Tabs.d.ts +1 -1
- package/dist/components/tabs/Tabs/Tabs.js.map +1 -1
- package/dist/components/tabs/Tabs/call-event-handler.js.map +1 -1
- package/dist/components/tabs/Tabs/useTabsKeyboard.js.map +1 -1
- package/dist/components/tabs/TabsContent/TabsContent.js.map +1 -1
- package/dist/components/tabs/TabsList/TabsList.context.js.map +1 -1
- package/dist/components/tabs/TabsList/TabsList.d.ts +1 -1
- package/dist/components/tabs/TabsList/TabsList.js.map +1 -1
- package/dist/components/tabs/TabsList/TabsList.styles.js.map +1 -1
- package/dist/components/tabs/TabsTrigger/TabsTrigger.d.ts +1 -1
- package/dist/components/tabs/TabsTrigger/TabsTrigger.js.map +1 -1
- package/dist/components/tabs/TabsTrigger/TabsTrigger.styles.js.map +1 -1
- package/dist/components/textarea/Textarea.d.ts +1 -1
- package/dist/components/textarea/Textarea.js.map +1 -1
- package/dist/components/time-picker/TimePicker/TimePicker.context.d.ts +29 -0
- package/dist/components/time-picker/TimePicker/TimePicker.context.js +49 -0
- package/dist/components/time-picker/TimePicker/TimePicker.context.js.map +1 -0
- package/dist/components/time-picker/TimePicker/TimePicker.d.ts +23 -0
- package/dist/components/time-picker/TimePicker/TimePicker.js +52 -0
- package/dist/components/time-picker/TimePicker/TimePicker.js.map +1 -0
- package/dist/components/time-picker/TimePicker/TimePicker.types.d.ts +91 -0
- package/dist/components/time-picker/TimePicker/create-change-event-details.d.ts +8 -0
- package/dist/components/time-picker/TimePicker/create-change-event-details.js +25 -0
- package/dist/components/time-picker/TimePicker/create-change-event-details.js.map +1 -0
- package/dist/components/time-picker/TimePicker/index.d.ts +4 -0
- package/dist/components/time-picker/TimePicker/time-picker.utils.d.ts +28 -0
- package/dist/components/time-picker/TimePicker/time-picker.utils.js +103 -0
- package/dist/components/time-picker/TimePicker/time-picker.utils.js.map +1 -0
- package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.d.ts +10 -0
- package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js +60 -0
- package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.js.map +1 -0
- package/dist/components/time-picker/TimePickerColumn/TimePickerColumn.types.d.ts +8 -0
- package/dist/components/time-picker/TimePickerColumn/index.d.ts +2 -0
- package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.d.ts +16 -0
- package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js +75 -0
- package/dist/components/time-picker/TimePickerColumn/useTimePickerColumn.js.map +1 -0
- package/dist/components/time-picker/TimePickerContent/TimePickerContent.d.ts +7 -0
- package/dist/components/time-picker/TimePickerContent/TimePickerContent.js +48 -0
- package/dist/components/time-picker/TimePickerContent/TimePickerContent.js.map +1 -0
- package/dist/components/time-picker/TimePickerContent/TimePickerContent.types.d.ts +11 -0
- package/dist/components/time-picker/TimePickerContent/index.d.ts +2 -0
- package/dist/components/time-picker/TimePickerOption/TimePickerOption.d.ts +9 -0
- package/dist/components/time-picker/TimePickerOption/TimePickerOption.js +52 -0
- package/dist/components/time-picker/TimePickerOption/TimePickerOption.js.map +1 -0
- package/dist/components/time-picker/TimePickerOption/TimePickerOption.types.d.ts +11 -0
- package/dist/components/time-picker/TimePickerOption/index.d.ts +2 -0
- package/dist/components/time-picker/TimePickerTrigger/TimePickerTrigger.d.ts +9 -0
- package/dist/components/time-picker/TimePickerTrigger/TimePickerTrigger.js +37 -0
- package/dist/components/time-picker/TimePickerTrigger/TimePickerTrigger.js.map +1 -0
- package/dist/components/time-picker/TimePickerTrigger/TimePickerTrigger.types.d.ts +5 -0
- package/dist/components/time-picker/TimePickerTrigger/index.d.ts +2 -0
- package/dist/components/time-picker/index.d.ts +10 -0
- package/dist/components/time-picker/index.js +7 -0
- package/dist/components/toast/Toast/Toast.js.map +1 -1
- package/dist/components/toast/Toast/Toast.styles.js.map +1 -1
- package/dist/components/toast/Toast/Toast.types.js.map +1 -1
- package/dist/components/toast/Toaster/Toaster.js.map +1 -1
- package/dist/components/toast/Toaster/Toaster.styles.js.map +1 -1
- package/dist/components/toast/Toaster/Toaster.utils.js.map +1 -1
- package/dist/components/toast/state/toast.js.map +1 -1
- package/dist/components/toggle/Toggle/Toggle.js.map +1 -1
- package/dist/components/toggle/Toggle/Toggle.styles.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.context.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/ToggleGroup.styles.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/create-change-event-details.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroup/useToggleGroupKeyboard.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.js.map +1 -1
- package/dist/components/toggle-group/ToggleGroupItem/ToggleGroupItem.styles.js.map +1 -1
- package/dist/components/toggle-group/call-event-handler.js.map +1 -1
- package/dist/components/tooltip/Tooltip/Tooltip.context.js.map +1 -1
- package/dist/components/tooltip/Tooltip/Tooltip.js.map +1 -1
- package/dist/components/tooltip/TooltipArrow/TooltipArrow.d.ts +1 -1
- package/dist/components/tooltip/TooltipArrow/TooltipArrow.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.context.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.d.ts +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js.map +1 -1
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.context.js.map +1 -1
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.d.ts +1 -1
- package/dist/components/tooltip/TooltipGroup/TooltipGroup.js.map +1 -1
- package/dist/components/tooltip/TooltipProvider/TooltipProvider.context.js.map +1 -1
- package/dist/components/tooltip/TooltipProvider/TooltipProvider.js.map +1 -1
- package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.d.ts +1 -1
- package/dist/components/tooltip/TooltipTrigger/TooltipTrigger.js.map +1 -1
- package/dist/components/tooltip/TooltipTrigger/useTooltipTrigger.js.map +1 -1
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/index.js +3 -1
- package/dist/hooks/useFontLoader.js.map +1 -1
- package/dist/hooks/useScrollEdges.d.ts +16 -0
- package/dist/hooks/useScrollEdges.js +34 -0
- package/dist/hooks/useScrollEdges.js.map +1 -0
- package/dist/hooks/useScrollLock.d.ts +16 -0
- package/dist/hooks/useScrollLock.js +61 -0
- package/dist/hooks/useScrollLock.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.js +251 -194
- package/dist/lib/positioner/auto-update.js.map +1 -1
- package/dist/lib/positioner/core/compute-position.js.map +1 -1
- package/dist/lib/positioner/core/placement.js.map +1 -1
- package/dist/lib/positioner/create-positioner.js.map +1 -1
- package/dist/lib/positioner/middleware/arrow.js.map +1 -1
- package/dist/lib/positioner/middleware/containing-block-offset.js.map +1 -1
- package/dist/lib/positioner/middleware/flip.js.map +1 -1
- package/dist/lib/positioner/middleware/hide.js.map +1 -1
- package/dist/lib/positioner/middleware/offset.js.map +1 -1
- package/dist/lib/positioner/middleware/shift.js.map +1 -1
- package/dist/lib/positioner/middleware/size.js.map +1 -1
- package/dist/lib/positioner/utils/dom.js.map +1 -1
- package/dist/lib/positioner/virtual-element.js +18 -0
- package/dist/lib/positioner/virtual-element.js.map +1 -0
- package/dist/ui.css +1 -1
- package/dist/utils/clsx.js.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/ref.js.map +1 -1
- package/dist/utils/warn-once.js.map +1 -1
- package/package.json +6 -6
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.d.ts +0 -10
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.js +0 -11
- package/dist/components/alert-dialog/AlertDialog/AlertDialog.context.js.map +0 -1
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.d.ts +0 -8
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.js +0 -11
- package/dist/components/alert-dialog/AlertDialogContent/AlertDialogContent.context.js.map +0 -1
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.d.ts +0 -2
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js +0 -6
- package/dist/components/alert-dialog/AlertDialogOverlay/AlertDialogOverlay.styles.js.map +0 -1
- package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.d.ts +0 -2
- package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.js +0 -26
- package/dist/components/alert-dialog/AlertDialogTrigger/useAlertDialogTrigger.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTooltipContent.js","names":[],"sources":["../../../../src/components/tooltip/TooltipContent/useTooltipContent.ts"],"sourcesContent":["import { createSignal, createMemo, createEffect, onCleanup } from \"solid-js\";\nimport { createPositioner, type Positioner } from \"~/lib\";\nimport { useTooltipContext } from \"../Tooltip/Tooltip.context\";\nimport { createTooltipMiddleware, toPlacement } from \"./TooltipContent.utils\";\nimport type { TooltipContentProps } from \"./TooltipContent.types\";\n\n/** 没有触发任何 CSS animation 时的兜底卸载延迟(ms)——比如没装 tailwindcss-animate、\n * 或者自定义样式只用了 transition 而不是 @keyframes,animationend 永远不会触发,\n * 避免元素卡在 DOM 里退不出去。 */\nconst EXIT_FALLBACK_MS = 300;\n\nexport interface UseTooltipContentResult {\n ctx: ReturnType<typeof useTooltipContext>;\n pos: Positioner;\n /** 综合了 open 状态 + hide 中间件的 referenceHidden 判断,代表\"逻辑上应不应该打开\" */\n isVisible: () => boolean;\n /**\n * 代表\"DOM 里要不要还留着这个节点\"。isVisible 变 false 之后,mounted 不会立刻\n * 跟着变 false,而是等退场动画播完(或者兜底超时)才变——展示层应该用它来控制\n * <Show>,而不是直接用 isVisible,否则退场动画根本来不及播放就被卸载了。\n */\n mounted: () => boolean;\n /**\n * 真正用来驱动 data-state(进而驱动 CSS 进出场动画 class)的状态,\n * 展示层应该用它,而不是直接用 isVisible。\n *\n * 和 isVisible 的区别只在\"打开\"这一侧:isVisible 变 true 的瞬间,\n * animationState 不会立刻跟着变 \"open\",而是等一帧(requestAnimationFrame)\n * 之后才变——这一帧的间隙用来让箭头(TooltipArrow)完成挂载、把自己注册给\n * arrow middleware、拿到正确的位置偏移。如果不等这一帧,动画会在箭头位置\n * 还没算对的时候就开始播放,播到一半箭头才\"跳\"到正确位置,看起来就像是\n * 箭头比内容慢一拍——这正是因为内容的淡入/缩放靠的是 CSS 动画(父元素的\n * opacity/transform 会连带影响所有子元素,包括箭头,两者本该同步),而箭头\n * 的具体位置靠的是 JS 算出来的 left/top,这是两套完全独立的机制,只有当\n * \"开始播放动画\"这个时间点晚于\"箭头位置算完\",才能保证两者观感一致。\n * 关闭这一侧不需要这个延迟,isVisible 变 false 时 animationState 立刻跟着变。\n */\n animationState: () => \"open\" | \"closed\";\n arrowElement: () => Element | undefined;\n setArrowElement: (el: Element) => void;\n /** 内层内容元素(真正播放进出场动画的那一层),TooltipContent 需要把它 ref 进来 */\n contentElement: () => HTMLElement | undefined;\n setContentElement: (el: HTMLElement) => void;\n /**\n * 加在\"滑动层\"(定位层和内容层之间的中间那层)上的 style。\n * 命中 TooltipGroup 抢占时会有一个非零初始偏移,下一帧起会用 CSS transition\n * 平滑归零,从而制造出\"从旧 tooltip 位置滑到新位置\"的效果;平时是空对象,\n * 不产生任何影响。\n */\n slideStyle: () => { transform?: string; transition?: string };\n}\n\nexport function useTooltipContent(\n props: () => TooltipContentProps,\n): UseTooltipContentResult {\n const ctx = useTooltipContext(\"TooltipContent\");\n const [arrowElement, setArrowElement] = createSignal<Element>();\n const [contentElement, setContentElement] = createSignal<HTMLElement>();\n\n const pos = createPositioner(ctx.reference, ctx.floating, {\n placement: () =>\n toPlacement(\n props().side ?? \"top\",\n props().align ?? \"center\",\n props().dir,\n ),\n strategy: \"fixed\",\n middleware: () =>\n createTooltipMiddleware({\n sideOffset: props().sideOffset ?? 4,\n alignOffset: props().alignOffset ?? 0,\n collisionPadding: props().collisionPadding ?? 8,\n arrowElement,\n }),\n });\n\n // reference 完全滚出视口(比如所在容器被单独滚动)时,hide middleware 会标记\n // referenceHidden,这里据此隐藏浮层,避免它悬空显示在一个已经看不到的触发器旁边。\n const isVisible = createMemo(\n () => ctx.open() && !pos.middlewareData().hide?.referenceHidden,\n );\n\n // --- 箭头和内容同步入场:延迟一帧再触发动画 class ---\n // 见 UseTooltipContentResult.animationState 的注释:只有\"开始播放动画\"这个\n // 时间点晚于\"箭头位置算完\",才能保证箭头不会在动画播到一半时才跳到正确位置。\n const [animationState, setAnimationState] = createSignal<\"open\" | \"closed\">(\n \"closed\",\n );\n\n createEffect(() => {\n if (isVisible()) {\n const raf = requestAnimationFrame(() => setAnimationState(\"open\"));\n onCleanup(() => cancelAnimationFrame(raf));\n } else {\n // 关闭不需要等——退场动画本来就是从\"当前已经落定的位置\"往外淡出/缩小,\n // 不存在箭头位置还没算好这个问题,没理由延迟。\n setAnimationState(\"closed\");\n }\n });\n\n // --- TooltipGroup 抢占时的\"滑入\"过渡(FLIP 技术) ---\n const [slideOffset, setSlideOffset] = createSignal<{\n x: number;\n y: number;\n }>();\n\n const [mounted, setMounted] = createSignal(isVisible());\n\n createEffect(() => {\n if (!mounted()) return;\n const from = ctx.pendingSlideFrom();\n if (!from) return;\n // 必须等真正定位完成(知道自己算出来的最终坐标)才能算出\"要从哪滑过来\"的差值。\n if (!pos.isPositioned()) return;\n\n const dx = from.x - pos.x();\n const dy = from.y - pos.y();\n // 第一步:把偏移设成非零值——这一步和 floatingStyles() 的最终坐标叠加后,\n // 视觉上让新 tooltip 一出现就恰好在旧 tooltip 原来的位置,没有任何跳动。\n setSlideOffset({ x: dx, y: dy });\n // 消费一次立刻清空,避免后续 autoUpdate(滚动/resize 触发的重新定位)\n // 又把这次的偏移重新套用一遍。\n ctx.clearPendingSlideFrom();\n\n // 第二步:下一帧再把偏移量归零。因为这次更新带上了 transition(见下面\n // slideStyle 的实现),浏览器会把\"从非零偏移回到 0\"这个变化平滑动画出来,\n // 效果就是从旧位置滑到新位置。用 requestAnimationFrame 而不是同步归零,\n // 是为了确保浏览器先真正画出第一帧(非零偏移、无 transition),\n // 下一帧的变化才有\"起点\"可以过渡,不会被浏览器合并成一次跳变。\n requestAnimationFrame(() => setSlideOffset({ x: 0, y: 0 }));\n });\n\n const slideStyle = createMemo(() => {\n const offset = slideOffset();\n if (!offset) return {};\n const atRest = offset.x === 0 && offset.y === 0;\n return {\n transform: `translate(${offset.x}px, ${offset.y}px)`,\n // 只有\"归零\"这一步才带 transition:非零的那一帧要求瞬间落位、不能有动画,\n // 否则会先看到它从视口原点飞过来,而不是从旧 tooltip 的位置飞过来。\n transition: atRest ? \"transform 150ms ease\" : undefined,\n };\n });\n\n // --- 退场动画支持(Presence)---\n // isVisible 从 true 变 false 的瞬间,不立刻让 <Show> 卸载节点:先把 data-state\n // 切到 closed(触发退场动画的 CSS class),等这个节点自己的 animationend 触发\n // (或者兜底超时)之后,才真正把 mounted 设为 false,交给 <Show> 卸载。\n createEffect((wasVisible: boolean) => {\n const visible = isVisible();\n const el = contentElement();\n\n if (visible) {\n setMounted(true);\n } else if (wasVisible && el) {\n if (ctx.consumeSuppressExitAnimation()) {\n // 被 TooltipGroup 抢占强制关闭:跳过退场动画,立即卸载,避免和正在\n // 滑入的新 tooltip 同时出现在屏幕上(这是\"同时存在两个 tooltip\"这个\n // bug 的根因——之前不管什么原因关闭,都统一走了退场动画那条路)。\n setMounted(false);\n } else {\n const handleAnimationEnd = (e: AnimationEvent) => {\n // 忽略从子元素冒泡上来的 animationend,只认内容元素自己播放的那个动画\n if (e.target !== el) return;\n setMounted(false);\n };\n el.addEventListener(\"animationend\", handleAnimationEnd);\n onCleanup(() =>\n el.removeEventListener(\"animationend\", handleAnimationEnd),\n );\n\n const fallback = window.setTimeout(\n () => setMounted(false),\n EXIT_FALLBACK_MS,\n );\n onCleanup(() => window.clearTimeout(fallback));\n }\n } else if (!visible) {\n setMounted(false);\n }\n\n return visible;\n }, isVisible());\n\n return {\n ctx,\n pos,\n isVisible,\n mounted,\n animationState,\n arrowElement,\n setArrowElement,\n contentElement,\n setContentElement,\n slideStyle,\n };\n}\n"],"mappings":";;;;;AASA,
|
|
1
|
+
{"version":3,"file":"useTooltipContent.js","names":["EXIT_FALLBACK_MS","useTooltipContent","ctx","useTooltipContext","arrowElement","setArrowElement","createSignal","contentElement","setContentElement","pos","createPositioner","toPlacement","props","createTooltipMiddleware","isVisible","createMemo","animationState","setAnimationState","raf","slideOffset","setSlideOffset","mounted","setMounted","from","dx","dy","slideStyle","offset","atRest","createEffect","visible","el","wasVisible","handleAnimationEnd","onCleanup","fallback"],"sources":["../../../../src/components/tooltip/TooltipContent/useTooltipContent.ts"],"sourcesContent":["import { createSignal, createMemo, createEffect, onCleanup } from \"solid-js\";\nimport { createPositioner, type Positioner } from \"~/lib\";\nimport { useTooltipContext } from \"../Tooltip/Tooltip.context\";\nimport { createTooltipMiddleware, toPlacement } from \"./TooltipContent.utils\";\nimport type { TooltipContentProps } from \"./TooltipContent.types\";\n\n/** 没有触发任何 CSS animation 时的兜底卸载延迟(ms)——比如没装 tailwindcss-animate、\n * 或者自定义样式只用了 transition 而不是 @keyframes,animationend 永远不会触发,\n * 避免元素卡在 DOM 里退不出去。 */\nconst EXIT_FALLBACK_MS = 300;\n\nexport interface UseTooltipContentResult {\n ctx: ReturnType<typeof useTooltipContext>;\n pos: Positioner;\n /** 综合了 open 状态 + hide 中间件的 referenceHidden 判断,代表\"逻辑上应不应该打开\" */\n isVisible: () => boolean;\n /**\n * 代表\"DOM 里要不要还留着这个节点\"。isVisible 变 false 之后,mounted 不会立刻\n * 跟着变 false,而是等退场动画播完(或者兜底超时)才变——展示层应该用它来控制\n * <Show>,而不是直接用 isVisible,否则退场动画根本来不及播放就被卸载了。\n */\n mounted: () => boolean;\n /**\n * 真正用来驱动 data-state(进而驱动 CSS 进出场动画 class)的状态,\n * 展示层应该用它,而不是直接用 isVisible。\n *\n * 和 isVisible 的区别只在\"打开\"这一侧:isVisible 变 true 的瞬间,\n * animationState 不会立刻跟着变 \"open\",而是等一帧(requestAnimationFrame)\n * 之后才变——这一帧的间隙用来让箭头(TooltipArrow)完成挂载、把自己注册给\n * arrow middleware、拿到正确的位置偏移。如果不等这一帧,动画会在箭头位置\n * 还没算对的时候就开始播放,播到一半箭头才\"跳\"到正确位置,看起来就像是\n * 箭头比内容慢一拍——这正是因为内容的淡入/缩放靠的是 CSS 动画(父元素的\n * opacity/transform 会连带影响所有子元素,包括箭头,两者本该同步),而箭头\n * 的具体位置靠的是 JS 算出来的 left/top,这是两套完全独立的机制,只有当\n * \"开始播放动画\"这个时间点晚于\"箭头位置算完\",才能保证两者观感一致。\n * 关闭这一侧不需要这个延迟,isVisible 变 false 时 animationState 立刻跟着变。\n */\n animationState: () => \"open\" | \"closed\";\n arrowElement: () => Element | undefined;\n setArrowElement: (el: Element) => void;\n /** 内层内容元素(真正播放进出场动画的那一层),TooltipContent 需要把它 ref 进来 */\n contentElement: () => HTMLElement | undefined;\n setContentElement: (el: HTMLElement) => void;\n /**\n * 加在\"滑动层\"(定位层和内容层之间的中间那层)上的 style。\n * 命中 TooltipGroup 抢占时会有一个非零初始偏移,下一帧起会用 CSS transition\n * 平滑归零,从而制造出\"从旧 tooltip 位置滑到新位置\"的效果;平时是空对象,\n * 不产生任何影响。\n */\n slideStyle: () => { transform?: string; transition?: string };\n}\n\nexport function useTooltipContent(\n props: () => TooltipContentProps,\n): UseTooltipContentResult {\n const ctx = useTooltipContext(\"TooltipContent\");\n const [arrowElement, setArrowElement] = createSignal<Element>();\n const [contentElement, setContentElement] = createSignal<HTMLElement>();\n\n const pos = createPositioner(ctx.reference, ctx.floating, {\n placement: () =>\n toPlacement(\n props().side ?? \"top\",\n props().align ?? \"center\",\n props().dir,\n ),\n strategy: \"fixed\",\n middleware: () =>\n createTooltipMiddleware({\n sideOffset: props().sideOffset ?? 4,\n alignOffset: props().alignOffset ?? 0,\n collisionPadding: props().collisionPadding ?? 8,\n arrowElement,\n }),\n });\n\n // reference 完全滚出视口(比如所在容器被单独滚动)时,hide middleware 会标记\n // referenceHidden,这里据此隐藏浮层,避免它悬空显示在一个已经看不到的触发器旁边。\n const isVisible = createMemo(\n () => ctx.open() && !pos.middlewareData().hide?.referenceHidden,\n );\n\n // --- 箭头和内容同步入场:延迟一帧再触发动画 class ---\n // 见 UseTooltipContentResult.animationState 的注释:只有\"开始播放动画\"这个\n // 时间点晚于\"箭头位置算完\",才能保证箭头不会在动画播到一半时才跳到正确位置。\n const [animationState, setAnimationState] = createSignal<\"open\" | \"closed\">(\n \"closed\",\n );\n\n createEffect(() => {\n if (isVisible()) {\n const raf = requestAnimationFrame(() => setAnimationState(\"open\"));\n onCleanup(() => cancelAnimationFrame(raf));\n } else {\n // 关闭不需要等——退场动画本来就是从\"当前已经落定的位置\"往外淡出/缩小,\n // 不存在箭头位置还没算好这个问题,没理由延迟。\n setAnimationState(\"closed\");\n }\n });\n\n // --- TooltipGroup 抢占时的\"滑入\"过渡(FLIP 技术) ---\n const [slideOffset, setSlideOffset] = createSignal<{\n x: number;\n y: number;\n }>();\n\n const [mounted, setMounted] = createSignal(isVisible());\n\n createEffect(() => {\n if (!mounted()) return;\n const from = ctx.pendingSlideFrom();\n if (!from) return;\n // 必须等真正定位完成(知道自己算出来的最终坐标)才能算出\"要从哪滑过来\"的差值。\n if (!pos.isPositioned()) return;\n\n const dx = from.x - pos.x();\n const dy = from.y - pos.y();\n // 第一步:把偏移设成非零值——这一步和 floatingStyles() 的最终坐标叠加后,\n // 视觉上让新 tooltip 一出现就恰好在旧 tooltip 原来的位置,没有任何跳动。\n setSlideOffset({ x: dx, y: dy });\n // 消费一次立刻清空,避免后续 autoUpdate(滚动/resize 触发的重新定位)\n // 又把这次的偏移重新套用一遍。\n ctx.clearPendingSlideFrom();\n\n // 第二步:下一帧再把偏移量归零。因为这次更新带上了 transition(见下面\n // slideStyle 的实现),浏览器会把\"从非零偏移回到 0\"这个变化平滑动画出来,\n // 效果就是从旧位置滑到新位置。用 requestAnimationFrame 而不是同步归零,\n // 是为了确保浏览器先真正画出第一帧(非零偏移、无 transition),\n // 下一帧的变化才有\"起点\"可以过渡,不会被浏览器合并成一次跳变。\n requestAnimationFrame(() => setSlideOffset({ x: 0, y: 0 }));\n });\n\n const slideStyle = createMemo(() => {\n const offset = slideOffset();\n if (!offset) return {};\n const atRest = offset.x === 0 && offset.y === 0;\n return {\n transform: `translate(${offset.x}px, ${offset.y}px)`,\n // 只有\"归零\"这一步才带 transition:非零的那一帧要求瞬间落位、不能有动画,\n // 否则会先看到它从视口原点飞过来,而不是从旧 tooltip 的位置飞过来。\n transition: atRest ? \"transform 150ms ease\" : undefined,\n };\n });\n\n // --- 退场动画支持(Presence)---\n // isVisible 从 true 变 false 的瞬间,不立刻让 <Show> 卸载节点:先把 data-state\n // 切到 closed(触发退场动画的 CSS class),等这个节点自己的 animationend 触发\n // (或者兜底超时)之后,才真正把 mounted 设为 false,交给 <Show> 卸载。\n createEffect((wasVisible: boolean) => {\n const visible = isVisible();\n const el = contentElement();\n\n if (visible) {\n setMounted(true);\n } else if (wasVisible && el) {\n if (ctx.consumeSuppressExitAnimation()) {\n // 被 TooltipGroup 抢占强制关闭:跳过退场动画,立即卸载,避免和正在\n // 滑入的新 tooltip 同时出现在屏幕上(这是\"同时存在两个 tooltip\"这个\n // bug 的根因——之前不管什么原因关闭,都统一走了退场动画那条路)。\n setMounted(false);\n } else {\n const handleAnimationEnd = (e: AnimationEvent) => {\n // 忽略从子元素冒泡上来的 animationend,只认内容元素自己播放的那个动画\n if (e.target !== el) return;\n setMounted(false);\n };\n el.addEventListener(\"animationend\", handleAnimationEnd);\n onCleanup(() =>\n el.removeEventListener(\"animationend\", handleAnimationEnd),\n );\n\n const fallback = window.setTimeout(\n () => setMounted(false),\n EXIT_FALLBACK_MS,\n );\n onCleanup(() => window.clearTimeout(fallback));\n }\n } else if (!visible) {\n setMounted(false);\n }\n\n return visible;\n }, isVisible());\n\n return {\n ctx,\n pos,\n isVisible,\n mounted,\n animationState,\n arrowElement,\n setArrowElement,\n contentElement,\n setContentElement,\n slideStyle,\n };\n}\n"],"mappings":";;;;;AASA,IAAMA,IAAmB;AA2CzB,SAAgBC,EACd,GACyB;CACzB,IAAMC,IAAMC,EAAkB,gBAAgB,GACxC,CAACC,GAAcC,KAAmBC,EAAsB,GACxD,CAACC,GAAgBC,KAAqBF,EAA0B,GAEhEG,IAAMC,EAAiBR,EAAI,WAAWA,EAAI,UAAU;EACxD,iBACES,EACEC,EAAM,CAAC,CAAC,QAAQ,OAChBA,EAAM,CAAC,CAAC,SAAS,UACjBA,EAAM,CAAC,CAAC,GACV;EACF,UAAU;EACV,kBACEC,EAAwB;GACtB,YAAYD,EAAM,CAAC,CAAC,cAAc;GAClC,aAAaA,EAAM,CAAC,CAAC,eAAe;GACpC,kBAAkBA,EAAM,CAAC,CAAC,oBAAoB;GAC9C;EACF,CAAC;CACL,CAAC,GAIKE,IAAYC,QACVb,EAAI,KAAK,KAAK,CAACO,EAAI,eAAe,CAAC,CAAC,MAAM,eAClD,GAKM,CAACO,GAAgBC,KAAqBX,EAC1C,QACF;CAEA,QAAmB;EACjB,IAAIQ,EAAU,GAAG;GACf,IAAMI,IAAM,4BAA4BD,EAAkB,MAAM,CAAC;GACjE,QAAgB,qBAAqBC,CAAG,CAAC;EAC3C,OAGE,EAAkB,QAAQ;CAE9B,CAAC;CAGD,IAAM,CAACC,GAAaC,KAAkBd,EAGnC,GAEG,CAACe,GAASC,KAAchB,EAAaQ,EAAU,CAAC;CAEtD,QAAmB;EACjB,IAAI,CAACO,EAAQ,GAAG;EAChB,IAAME,IAAOrB,EAAI,iBAAiB;EAGlC,IAFI,CAACqB,KAED,CAACd,EAAI,aAAa,GAAG;EAEzB,IAAMe,IAAKD,EAAK,IAAId,EAAI,EAAE,GACpBgB,IAAKF,EAAK,IAAId,EAAI,EAAE;EAa1B,AAVAW,EAAe;GAAE,GAAGI;GAAI,GAAGC;EAAG,CAAC,GAG/BvB,EAAI,sBAAsB,GAO1B,4BAA4BkB,EAAe;GAAE,GAAG;GAAG,GAAG;EAAE,CAAC,CAAC;CAC5D,CAAC;CAED,IAAMM,IAAaX,QAAiB;EAClC,IAAMY,IAASR,EAAY;EAC3B,IAAI,CAACQ,GAAQ,OAAO,CAAC;EACrB,IAAMC,IAASD,EAAO,MAAM,KAAKA,EAAO,MAAM;EAC9C,OAAO;GACL,WAAW,aAAaA,EAAO,EAAE,MAAMA,EAAO,EAAE;GAGhD,YAAYC,IAAS,yBAAyB,KAAA;EAChD;CACF,CAAC;CA0CD,OApCAC,GAAc,MAAwB;EACpC,IAAMC,IAAUhB,EAAU,GACpBiB,IAAKxB,EAAe;EAE1B,IAAIuB,GACF,EAAW,EAAI;OACV,IAAIE,KAAcD,GAAI;GAC3B,IAAI7B,EAAI,6BAA6B,GAInC,EAAW,EAAK;QACX;IACL,IAAM+B,KAAsB,MAAsB;KAEhD,AAAI,EAAE,WAAWF,KACjBT,EAAW,EAAK;IAClB;IAEA,AADAS,EAAG,iBAAiB,gBAAgBE,CAAkB,GACtDC,QACEH,EAAG,oBAAoB,gBAAgBE,CAAkB,CAC3D;IAEA,IAAME,IAAW,OAAO,iBAChBb,EAAW,EAAK,GACtBtB,CACF;IACA,QAAgB,OAAO,aAAamC,CAAQ,CAAC;GAC/C;EACF,OAAO,AAAKL,KACVR,EAAW,EAAK;EAGlB,OAAOQ;CACT,GAAGhB,EAAU,CAAC,GAEP;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipGroup.context.js","names":[],"sources":["../../../../src/components/tooltip/TooltipGroup/TooltipGroup.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { Rect } from \"~/lib\";\n\nexport interface ActiveTooltipEntry {\n /** 读取这个 tooltip 浮层此刻的实时矩形,供下一个抢占它的 tooltip 当\"滑入起点\"用 */\n rect: () => Rect | undefined;\n /** 立即关闭(跳过 closeDelay 和退场动画)——组内切换到别的 trigger 时调用 */\n forceClose: () => void;\n}\n\nexport interface TooltipGroupContextValue {\n /** 打开时注册自己为\"组内当前活跃的 tooltip\",返回取消注册函数(关闭/卸载时调用) */\n registerActive: (entry: ActiveTooltipEntry) => () => void;\n /**\n * 组内某个 tooltip 即将打开时调用:\n * 如果组里当前已经有一个活跃的 tooltip,立即强制关闭它、拿到它此刻的矩形\n * 并返回(用作平移过渡的起点);如果组内当前没有任何活跃 tooltip,返回\n * undefined,调用方应该走正常的 openDelay 流程。\n *\n * 用\"是否存在活跃 tooltip\"而不是\"上一个关闭后多久之内\"这种时间窗口来判断,\n * 是为了精确匹配\"旧的还在退场倒计时里、这时候 hover 了别的 trigger\"这个场景——\n * 这种情况下旧的严格来说还没真正关闭(open() 依然是 true),基于时间窗口的\n * 判断会因为\"还没关闭、没触发通知\"而错过这次协调,直接查\"当前活跃\"更可靠。\n */\n claim: () => Rect | undefined;\n}\n\nexport const TooltipGroupContext = createContext<TooltipGroupContextValue>();\n\n/**\n * 注意:和其他 useXxxContext 不同,这里缺失 context 时不抛错——\n * <TooltipGroup> 是可选的,单独使用 <Tooltip> 不需要包一层。\n */\nexport function useTooltipGroupContext(): TooltipGroupContextValue | undefined {\n return useContext(TooltipGroupContext);\n}\n"],"mappings":";;AA2BA,
|
|
1
|
+
{"version":3,"file":"TooltipGroup.context.js","names":["TooltipGroupContext","createContext","useTooltipGroupContext","useContext"],"sources":["../../../../src/components/tooltip/TooltipGroup/TooltipGroup.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { Rect } from \"~/lib\";\n\nexport interface ActiveTooltipEntry {\n /** 读取这个 tooltip 浮层此刻的实时矩形,供下一个抢占它的 tooltip 当\"滑入起点\"用 */\n rect: () => Rect | undefined;\n /** 立即关闭(跳过 closeDelay 和退场动画)——组内切换到别的 trigger 时调用 */\n forceClose: () => void;\n}\n\nexport interface TooltipGroupContextValue {\n /** 打开时注册自己为\"组内当前活跃的 tooltip\",返回取消注册函数(关闭/卸载时调用) */\n registerActive: (entry: ActiveTooltipEntry) => () => void;\n /**\n * 组内某个 tooltip 即将打开时调用:\n * 如果组里当前已经有一个活跃的 tooltip,立即强制关闭它、拿到它此刻的矩形\n * 并返回(用作平移过渡的起点);如果组内当前没有任何活跃 tooltip,返回\n * undefined,调用方应该走正常的 openDelay 流程。\n *\n * 用\"是否存在活跃 tooltip\"而不是\"上一个关闭后多久之内\"这种时间窗口来判断,\n * 是为了精确匹配\"旧的还在退场倒计时里、这时候 hover 了别的 trigger\"这个场景——\n * 这种情况下旧的严格来说还没真正关闭(open() 依然是 true),基于时间窗口的\n * 判断会因为\"还没关闭、没触发通知\"而错过这次协调,直接查\"当前活跃\"更可靠。\n */\n claim: () => Rect | undefined;\n}\n\nexport const TooltipGroupContext = createContext<TooltipGroupContextValue>();\n\n/**\n * 注意:和其他 useXxxContext 不同,这里缺失 context 时不抛错——\n * <TooltipGroup> 是可选的,单独使用 <Tooltip> 不需要包一层。\n */\nexport function useTooltipGroupContext(): TooltipGroupContextValue | undefined {\n return useContext(TooltipGroupContext);\n}\n"],"mappings":";;AA2BA,IAAaA,IAAsBC,EAAwC;AAM3E,SAAgBC,IAA+D;CAC7E,OAAOC,EAAWH,CAAmB;AACvC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { TooltipGroupProps } from './TooltipGroup.types';
|
|
2
|
-
export declare function TooltipGroup(props: TooltipGroupProps): import(
|
|
2
|
+
export declare function TooltipGroup(props: TooltipGroupProps): import('solid-js').JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipGroup.js","names":["TooltipGroupContext","ActiveTooltipEntry","TooltipGroupContextValue","TooltipGroupProps","TooltipGroup","props","activeEntry","registerActive","entry","undefined","claim","rect","forceClose","width","height","ctx","_$createComponent","Provider","value","children"],"sources":["../../../../src/components/tooltip/TooltipGroup/TooltipGroup.tsx"],"sourcesContent":["import { TooltipGroupContext } from \"./TooltipGroup.context\";\nimport type {\n ActiveTooltipEntry,\n TooltipGroupContextValue,\n} from \"./TooltipGroup.context\";\nimport type { TooltipGroupProps } from \"./TooltipGroup.types\";\n\nexport function TooltipGroup(props: TooltipGroupProps) {\n // 用一个模块外可变量而不是 Solid signal 存\"当前活跃条目\"是有意的:\n // 这纯粹是组件间协调用的内部状态,不需要驱动任何渲染,用 signal 反而会\n // 引入不必要的响应式开销和多余的重渲染触发。\n let activeEntry: ActiveTooltipEntry | undefined;\n\n const registerActive: TooltipGroupContextValue[\"registerActive\"] = (\n entry,\n ) => {\n activeEntry = entry;\n return () => {\n // 只清自己注册的那条,避免\"A 还没来得及 unregister,B 已经抢注册\"时,\n // A 的 cleanup 误把 B 刚设置的 activeEntry 清掉。\n if (activeEntry === entry) activeEntry = undefined;\n };\n };\n\n const claim: TooltipGroupContextValue[\"claim\"] = () => {\n if (!activeEntry) return undefined;\n const rect = activeEntry.rect();\n activeEntry.forceClose();\n activeEntry = undefined;\n\n // 防御性检查:一个真实可见的 tooltip 不可能宽高都是 0——如果读到的是\n // 这种全 0 矩形,大概率是读到了一个已经从 DOM 里摘除的 detached 元素\n // (getBoundingClientRect 规范规定这种情况下就是全 0)。这种情况下\n // 宁可放弃这次平移过渡(新 tooltip 走正常的 openDelay 流程),也不要\n // 把 (0,0) 当成合法的滑入起点,出现\"从左上角滑入\"这种明显错误的观感。\n if (!rect || (rect.width === 0 && rect.height === 0)) return undefined;\n return rect;\n };\n\n const ctx: TooltipGroupContextValue = { registerActive, claim };\n\n return (\n <TooltipGroupContext.Provider value={ctx}>\n {props.children}\n </TooltipGroupContext.Provider>\n );\n}\n"],"mappings":";;;AAOA,SAAgBI,EAAaC,GAA0B;CAIrD,IAAIC;CA8BJ,OAAAU,EACGhB,EAAoBiB,UAAQ;EAACC,OAAOH;GAHCR,iBAzBtCC,OAEAF,IAAcE,SACD;IAGX,AAAIF,MAAgBE,MAAOF,IAAcG,KAAAA;GAC3C;GAkBsDC,aAfD;IACrD,IAAI,CAACJ,GAAa;IAClB,IAAMK,IAAOL,EAAYK,KAAK;
|
|
1
|
+
{"version":3,"file":"TooltipGroup.js","names":["TooltipGroupContext","ActiveTooltipEntry","TooltipGroupContextValue","TooltipGroupProps","TooltipGroup","props","activeEntry","registerActive","entry","undefined","claim","rect","forceClose","width","height","ctx","_$createComponent","Provider","value","children","_$createComponent","TooltipGroup","activeEntry","createComponent","TooltipGroupContext","entry","rect","props"],"sources":["../../../../src/components/tooltip/TooltipGroup/TooltipGroup.tsx"],"sourcesContent":["import { TooltipGroupContext } from \"./TooltipGroup.context\";\nimport type {\n ActiveTooltipEntry,\n TooltipGroupContextValue,\n} from \"./TooltipGroup.context\";\nimport type { TooltipGroupProps } from \"./TooltipGroup.types\";\n\nexport function TooltipGroup(props: TooltipGroupProps) {\n // 用一个模块外可变量而不是 Solid signal 存\"当前活跃条目\"是有意的:\n // 这纯粹是组件间协调用的内部状态,不需要驱动任何渲染,用 signal 反而会\n // 引入不必要的响应式开销和多余的重渲染触发。\n let activeEntry: ActiveTooltipEntry | undefined;\n\n const registerActive: TooltipGroupContextValue[\"registerActive\"] = (\n entry,\n ) => {\n activeEntry = entry;\n return () => {\n // 只清自己注册的那条,避免\"A 还没来得及 unregister,B 已经抢注册\"时,\n // A 的 cleanup 误把 B 刚设置的 activeEntry 清掉。\n if (activeEntry === entry) activeEntry = undefined;\n };\n };\n\n const claim: TooltipGroupContextValue[\"claim\"] = () => {\n if (!activeEntry) return undefined;\n const rect = activeEntry.rect();\n activeEntry.forceClose();\n activeEntry = undefined;\n\n // 防御性检查:一个真实可见的 tooltip 不可能宽高都是 0——如果读到的是\n // 这种全 0 矩形,大概率是读到了一个已经从 DOM 里摘除的 detached 元素\n // (getBoundingClientRect 规范规定这种情况下就是全 0)。这种情况下\n // 宁可放弃这次平移过渡(新 tooltip 走正常的 openDelay 流程),也不要\n // 把 (0,0) 当成合法的滑入起点,出现\"从左上角滑入\"这种明显错误的观感。\n if (!rect || (rect.width === 0 && rect.height === 0)) return undefined;\n return rect;\n };\n\n const ctx: TooltipGroupContextValue = { registerActive, claim };\n\n return (\n <TooltipGroupContext.Provider value={ctx}>\n {props.children}\n </TooltipGroupContext.Provider>\n );\n}\n"],"mappings":";;;AAOA,SAAgBI,EAAaC,GAA0B;CAIrD,IAAIC;CA8BJ,OAAAU,EACGhB,EAAoBiB,UAAQ;EAACC,OAAOH;GAHCR,iBAzBtCC,OAEAF,IAAcE,SACD;IAGX,AAAIF,MAAgBE,MAAOF,IAAcG,KAAAA;GAC3C;GAkBsDC,aAfD;IACrD,IAAI,CAACJ,GAAa;IAClB,IAAMK,IAAOL,EAAYK,KAAK;IAS9B,IARAL,EAAYM,WAAW,GACvBN,IAAcG,KAAAA,GAOV,GAACE,KAASA,EAAKE,UAAU,KAAKF,EAAKG,WAAW,IAClD,OAAOH;GACT;EAKuCI;EAAG,IAAAI,WAAA;GAAA,OACrCd,EAAMc;EAAQ;CAAA,CAAA;AAGrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipProvider.context.js","names":[],"sources":["../../../../src/components/tooltip/TooltipProvider/TooltipProvider.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { TooltipProviderContextValue } from \"./TooltipProvider.types\";\n\nexport const TooltipProviderContext =\n createContext<TooltipProviderContextValue>();\n\nexport function useTooltipProviderContext():\n | TooltipProviderContextValue\n | undefined {\n return useContext(TooltipProviderContext);\n}\n"],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"TooltipProvider.context.js","names":["TooltipProviderContext","createContext","useTooltipProviderContext","useContext"],"sources":["../../../../src/components/tooltip/TooltipProvider/TooltipProvider.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { TooltipProviderContextValue } from \"./TooltipProvider.types\";\n\nexport const TooltipProviderContext =\n createContext<TooltipProviderContextValue>();\n\nexport function useTooltipProviderContext():\n | TooltipProviderContextValue\n | undefined {\n return useContext(TooltipProviderContext);\n}\n"],"mappings":";;AAGA,IAAaA,IACXC,EAA2C;AAE7C,SAAgBC,IAEF;CACZ,OAAOC,EAAWH,CAAsB;AAC1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipProvider.js","names":["createMemo","JSX","TooltipProviderContext","TooltipProviderContextValue","TooltipProviderProps","TooltipProvider","props","Element","delay","closeDelay","ctx","_$createComponent","Provider","value","children"],"sources":["../../../../src/components/tooltip/TooltipProvider/TooltipProvider.tsx"],"sourcesContent":["import { createMemo, type JSX } from \"solid-js\";\nimport { TooltipProviderContext } from \"./TooltipProvider.context\";\nimport type {\n TooltipProviderContextValue,\n TooltipProviderProps,\n} from \"./TooltipProvider.types\";\n\nexport function TooltipProvider(props: TooltipProviderProps): JSX.Element {\n const delay = createMemo(() => props.delay ?? 0);\n const closeDelay = createMemo(() => props.closeDelay ?? 150);\n\n const ctx: TooltipProviderContextValue = { delay, closeDelay };\n\n return (\n <TooltipProviderContext.Provider value={ctx}>\n {props.children}\n </TooltipProviderContext.Provider>\n );\n}\n"],"mappings":";;;;AAOA,SAAgBK,EAAgBC,GAA0C;CAIxE,IAAMI,IAAmC;EAAEF,OAH7BR,QAAiBM,EAAME,SAAS,CAGHA;EAAOC,YAF/BT,QAAiBM,EAAMG,cAAc,GAENA;CAAW;CAE7D,OAAAE,EACGT,EAAuBU,UAAQ;EAACC,OAAOH;EAAG,IAAAI,WAAA;GAAA,OACxCR,EAAMQ;EAAQ;CAAA,CAAA;AAGrB"}
|
|
1
|
+
{"version":3,"file":"TooltipProvider.js","names":["createMemo","JSX","TooltipProviderContext","TooltipProviderContextValue","TooltipProviderProps","TooltipProvider","props","Element","delay","closeDelay","ctx","_$createComponent","Provider","value","children","_$createComponent","TooltipProvider","ctx","createMemo","props","createComponent","TooltipProviderContext"],"sources":["../../../../src/components/tooltip/TooltipProvider/TooltipProvider.tsx"],"sourcesContent":["import { createMemo, type JSX } from \"solid-js\";\nimport { TooltipProviderContext } from \"./TooltipProvider.context\";\nimport type {\n TooltipProviderContextValue,\n TooltipProviderProps,\n} from \"./TooltipProvider.types\";\n\nexport function TooltipProvider(props: TooltipProviderProps): JSX.Element {\n const delay = createMemo(() => props.delay ?? 0);\n const closeDelay = createMemo(() => props.closeDelay ?? 150);\n\n const ctx: TooltipProviderContextValue = { delay, closeDelay };\n\n return (\n <TooltipProviderContext.Provider value={ctx}>\n {props.children}\n </TooltipProviderContext.Provider>\n );\n}\n"],"mappings":";;;;AAOA,SAAgBK,EAAgBC,GAA0C;CAIxE,IAAMI,IAAmC;EAAEF,OAH7BR,QAAiBM,EAAME,SAAS,CAGHA;EAAOC,YAF/BT,QAAiBM,EAAMG,cAAc,GAENA;CAAW;CAE7D,OAAAE,EACGT,EAAuBU,UAAQ;EAACC,OAAOH;EAAG,IAAAI,WAAA;GAAA,OACxCR,EAAMQ;EAAQ;CAAA,CAAA;AAGrB"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidComponent } from 'solid-js';
|
|
2
2
|
import { TooltipTriggerProps } from './TooltipTrigger.types';
|
|
3
3
|
import { Button } from '../../button';
|
|
4
|
-
export declare const TooltipTrigger: <T extends ValidComponent = typeof Button<"button">>(props: TooltipTriggerProps<T>) => import(
|
|
4
|
+
export declare const TooltipTrigger: <T extends ValidComponent = typeof Button<"button">>(props: TooltipTriggerProps<T>) => import('solid-js').JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TooltipTrigger.js","names":["ValidComponent","Dynamic","useTooltipTrigger","TooltipTriggerProps","Button","mergeRefs","TooltipTrigger","props","T","ctx","attachListeners","_$createComponent","_$mergeProps","component","ref","r$","_ref$","setReference","aria-describedby","_$memo","open","contentId","undefined","data-state"],"sources":["../../../../src/components/tooltip/TooltipTrigger/TooltipTrigger.tsx"],"sourcesContent":["import type { ValidComponent } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\n\nimport { useTooltipTrigger } from \"./useTooltipTrigger\";\nimport type { TooltipTriggerProps } from \"./TooltipTrigger.types\";\n\nimport { Button } from \"~/components/button\";\nimport { mergeRefs } from \"~/utils\";\n\nexport const TooltipTrigger = <\n T extends ValidComponent = typeof Button<\"button\">,\n>(\n props: TooltipTriggerProps<T>,\n) => {\n const { ctx, attachListeners } = useTooltipTrigger();\n\n return (\n <Dynamic\n {...props}\n component={(props.component as ValidComponent) ?? Button<\"button\">}\n ref={mergeRefs(ctx.setReference, props.ref, attachListeners)}\n aria-describedby={ctx.open() ? ctx.contentId : undefined}\n data-state={ctx.open() ? \"open\" : \"closed\"}\n // data-disabled={props.disabled ? \"\" : undefined}\n />\n );\n};\n"],"mappings":";;;;;AASA,IAAaM,KAGXC,MACG;CACH,IAAM,EAAEE,QAAKC,uBAAoBR,EAAkB;CAEnD,OAAAS,EACGV,GAAOW,EACFL,GAAK;EAAA,IACTM,YAAS;GAAA,OAAGN,EAAMM,aAAgCT;EAAgB;EAAAU,IAAAC,GAAA;GAAA,IAAAC,IAC7DX,EAAUI,EAAIQ,cAAcV,EAAMO,KAAKJ,CAAe;GAAC,OAAAM,KAAA,cAAAA,EAAAD,CAAA;EAAA;EAAA,IAAA,qBAAA;GAAA,OAC1CI,QAAA,CAAA,CAAAV,EAAIW,KAAK,CAAC,CAAA,CAAA,IAAGX,EAAIY,YAAYC,KAAAA;EAAS;EAAA,IAAA,eAAA;GAAA,OAC5Cb,EAAIW,KAAK,IAAI,SAAS;EAAQ;CAAA,CAAA,CAAA;AAIhD"}
|
|
1
|
+
{"version":3,"file":"TooltipTrigger.js","names":["ValidComponent","Dynamic","useTooltipTrigger","TooltipTriggerProps","Button","mergeRefs","TooltipTrigger","props","T","ctx","attachListeners","_$createComponent","_$mergeProps","component","ref","r$","_ref$","setReference","aria-describedby","_$memo","open","contentId","undefined","data-state","_$createComponent","_$mergeProps","_$memo","TooltipTrigger","useTooltipTrigger","createComponent","Dynamic","mergeProps","props","Button","_ref$","mergeRefs","ctx","attachListeners","r$","memo"],"sources":["../../../../src/components/tooltip/TooltipTrigger/TooltipTrigger.tsx"],"sourcesContent":["import type { ValidComponent } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\n\nimport { useTooltipTrigger } from \"./useTooltipTrigger\";\nimport type { TooltipTriggerProps } from \"./TooltipTrigger.types\";\n\nimport { Button } from \"~/components/button\";\nimport { mergeRefs } from \"~/utils\";\n\nexport const TooltipTrigger = <\n T extends ValidComponent = typeof Button<\"button\">,\n>(\n props: TooltipTriggerProps<T>,\n) => {\n const { ctx, attachListeners } = useTooltipTrigger();\n\n return (\n <Dynamic\n {...props}\n component={(props.component as ValidComponent) ?? Button<\"button\">}\n ref={mergeRefs(ctx.setReference, props.ref, attachListeners)}\n aria-describedby={ctx.open() ? ctx.contentId : undefined}\n data-state={ctx.open() ? \"open\" : \"closed\"}\n // data-disabled={props.disabled ? \"\" : undefined}\n />\n );\n};\n"],"mappings":";;;;;AASA,IAAaM,KAGXC,MACG;CACH,IAAM,EAAEE,QAAKC,uBAAoBR,EAAkB;CAEnD,OAAAS,EACGV,GAAOW,EACFL,GAAK;EAAA,IACTM,YAAS;GAAA,OAAGN,EAAMM,aAAgCT;EAAgB;EAAAU,IAAAC,GAAA;GAAA,IAAAC,IAC7DX,EAAUI,EAAIQ,cAAcV,EAAMO,KAAKJ,CAAe;GAAC,OAAAM,KAAA,cAAAA,EAAAD,CAAA;EAAA;EAAA,IAAA,qBAAA;GAAA,OAC1CI,QAAA,CAAA,CAAAV,EAAIW,KAAK,CAAC,CAAA,CAAA,IAAGX,EAAIY,YAAYC,KAAAA;EAAS;EAAA,IAAA,eAAA;GAAA,OAC5Cb,EAAIW,KAAK,IAAI,SAAS;EAAQ;CAAA,CAAA,CAAA;AAIhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useTooltipTrigger.js","names":[],"sources":["../../../../src/components/tooltip/TooltipTrigger/useTooltipTrigger.ts"],"sourcesContent":["import { onCleanup } from \"solid-js\";\nimport { useTooltipContext } from \"../Tooltip/Tooltip.context\";\n\nexport interface UseTooltipTriggerResult {\n ctx: ReturnType<typeof useTooltipContext>;\n /**\n * 把打开/关闭相关的原生事件监听器绑定到真正的 DOM 元素上(通过 ref 调用)。\n * 用 addEventListener 而不是 JSX 的 onXxx prop,是为了不占用这些 prop 名——\n * 调用方可以在 <TooltipTrigger onClick={...} onMouseEnter={...}> 上自由传\n * 自己的原生事件处理,两者是完全独立的两套机制(一个走 Solid 的事件系统,\n * 一个是原生 addEventListener),互不覆盖、都会正常触发。\n */\n attachListeners: (el: Element) => void;\n}\n\n/**\n * 封装 TooltipTrigger 需要绑定的所有事件逻辑:\n * - pointerenter/pointerleave(悬停进入/离开)走 openDelay/closeDelay\n * - focus/blur(键盘导航)跳过延迟,立即开关——这是无障碍要求,键盘用户不该被迫等待\n * - Escape 立即关闭,并阻止冒泡(避免被外层其他也监听 Escape 的逻辑重复处理)\n * - mousedown 立即关闭——贴近 shadcn/Radix 的行为:用户开始点击这个元素,\n * 就意味着要跟它交互了,tooltip 这时候还杵在那儿会挡视线,应该立刻让路,\n * 不用等 pointerleave 或者走 closeDelay。\n *\n * mousedown 和 focus 之间有一个容易踩的坑:原生事件顺序是\n * mousedown → focus → mouseup → click——点击一个可聚焦元素(比如 <button>),\n * 浏览器会在 mousedown 之后自动给它 focus。如果不做处理,mousedown 刚关掉\n * tooltip,紧跟着浏览器自动触发的 focus 又会把它立刻重新打开,两条逻辑打架。\n * 用 isPointerDown 标记\"这次 focus 是不是紧跟在点击后面被动触发的\",是的话\n * 就跳过重新打开,只有真正的键盘 Tab 导航触发的 focus 才会打开 tooltip。\n */\nexport function useTooltipTrigger(): UseTooltipTriggerResult {\n const ctx = useTooltipContext(\"TooltipTrigger\");\n\n const attachListeners = (el: Element) => {\n let isPointerDown = false;\n\n const onPointerEnter = () => {\n if (!ctx.disabled()) ctx.requestOpen();\n };\n const onPointerLeave = () => {\n ctx.requestClose();\n };\n const onFocus = () => {\n // 紧跟在 mousedown 后面的这次 focus 是浏览器自动带出来的副作用,\n // 不代表用户在用键盘导航,不应该重新打开刚被 mousedown 关掉的 tooltip。\n if (isPointerDown) return;\n if (!ctx.disabled()) ctx.openImmediate();\n };\n const onBlur = () => {\n ctx.closeImmediate();\n };\n const onKeyDown = (e: Event) => {\n const keyboardEvent = e as KeyboardEvent;\n if (keyboardEvent.key === \"Escape\" && ctx.open()) {\n keyboardEvent.stopPropagation();\n ctx.closeImmediate();\n }\n };\n const onMouseDown = () => {\n isPointerDown = true;\n if (ctx.disabled()) return;\n if (ctx.open()) ctx.closeImmediate();\n };\n // 标记要在 mouseup 时清掉,而且特意监听 document 而不是元素自己的\n // mouseup——如果鼠标按下后拖动到元素外面再松开,元素自己收不到 mouseup,\n // 标记会一直卡在 true,导致后续真正的键盘 focus 也被误伤跳过。\n const onDocumentMouseUp = () => {\n isPointerDown = false;\n };\n\n el.addEventListener(\"pointerenter\", onPointerEnter);\n el.addEventListener(\"pointerleave\", onPointerLeave);\n el.addEventListener(\"focus\", onFocus);\n el.addEventListener(\"blur\", onBlur);\n el.addEventListener(\"keydown\", onKeyDown);\n el.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mouseup\", onDocumentMouseUp);\n\n onCleanup(() => {\n el.removeEventListener(\"pointerenter\", onPointerEnter);\n el.removeEventListener(\"pointerleave\", onPointerLeave);\n el.removeEventListener(\"focus\", onFocus);\n el.removeEventListener(\"blur\", onBlur);\n el.removeEventListener(\"keydown\", onKeyDown);\n el.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mouseup\", onDocumentMouseUp);\n });\n };\n\n return { ctx, attachListeners };\n}\n"],"mappings":";;;AA+BA,
|
|
1
|
+
{"version":3,"file":"useTooltipTrigger.js","names":["useTooltipTrigger","ctx","useTooltipContext","isPointerDown","onPointerEnter","onPointerLeave","onFocus","onBlur","onKeyDown","keyboardEvent","onMouseDown","onDocumentMouseUp","el","onCleanup"],"sources":["../../../../src/components/tooltip/TooltipTrigger/useTooltipTrigger.ts"],"sourcesContent":["import { onCleanup } from \"solid-js\";\nimport { useTooltipContext } from \"../Tooltip/Tooltip.context\";\n\nexport interface UseTooltipTriggerResult {\n ctx: ReturnType<typeof useTooltipContext>;\n /**\n * 把打开/关闭相关的原生事件监听器绑定到真正的 DOM 元素上(通过 ref 调用)。\n * 用 addEventListener 而不是 JSX 的 onXxx prop,是为了不占用这些 prop 名——\n * 调用方可以在 <TooltipTrigger onClick={...} onMouseEnter={...}> 上自由传\n * 自己的原生事件处理,两者是完全独立的两套机制(一个走 Solid 的事件系统,\n * 一个是原生 addEventListener),互不覆盖、都会正常触发。\n */\n attachListeners: (el: Element) => void;\n}\n\n/**\n * 封装 TooltipTrigger 需要绑定的所有事件逻辑:\n * - pointerenter/pointerleave(悬停进入/离开)走 openDelay/closeDelay\n * - focus/blur(键盘导航)跳过延迟,立即开关——这是无障碍要求,键盘用户不该被迫等待\n * - Escape 立即关闭,并阻止冒泡(避免被外层其他也监听 Escape 的逻辑重复处理)\n * - mousedown 立即关闭——贴近 shadcn/Radix 的行为:用户开始点击这个元素,\n * 就意味着要跟它交互了,tooltip 这时候还杵在那儿会挡视线,应该立刻让路,\n * 不用等 pointerleave 或者走 closeDelay。\n *\n * mousedown 和 focus 之间有一个容易踩的坑:原生事件顺序是\n * mousedown → focus → mouseup → click——点击一个可聚焦元素(比如 <button>),\n * 浏览器会在 mousedown 之后自动给它 focus。如果不做处理,mousedown 刚关掉\n * tooltip,紧跟着浏览器自动触发的 focus 又会把它立刻重新打开,两条逻辑打架。\n * 用 isPointerDown 标记\"这次 focus 是不是紧跟在点击后面被动触发的\",是的话\n * 就跳过重新打开,只有真正的键盘 Tab 导航触发的 focus 才会打开 tooltip。\n */\nexport function useTooltipTrigger(): UseTooltipTriggerResult {\n const ctx = useTooltipContext(\"TooltipTrigger\");\n\n const attachListeners = (el: Element) => {\n let isPointerDown = false;\n\n const onPointerEnter = () => {\n if (!ctx.disabled()) ctx.requestOpen();\n };\n const onPointerLeave = () => {\n ctx.requestClose();\n };\n const onFocus = () => {\n // 紧跟在 mousedown 后面的这次 focus 是浏览器自动带出来的副作用,\n // 不代表用户在用键盘导航,不应该重新打开刚被 mousedown 关掉的 tooltip。\n if (isPointerDown) return;\n if (!ctx.disabled()) ctx.openImmediate();\n };\n const onBlur = () => {\n ctx.closeImmediate();\n };\n const onKeyDown = (e: Event) => {\n const keyboardEvent = e as KeyboardEvent;\n if (keyboardEvent.key === \"Escape\" && ctx.open()) {\n keyboardEvent.stopPropagation();\n ctx.closeImmediate();\n }\n };\n const onMouseDown = () => {\n isPointerDown = true;\n if (ctx.disabled()) return;\n if (ctx.open()) ctx.closeImmediate();\n };\n // 标记要在 mouseup 时清掉,而且特意监听 document 而不是元素自己的\n // mouseup——如果鼠标按下后拖动到元素外面再松开,元素自己收不到 mouseup,\n // 标记会一直卡在 true,导致后续真正的键盘 focus 也被误伤跳过。\n const onDocumentMouseUp = () => {\n isPointerDown = false;\n };\n\n el.addEventListener(\"pointerenter\", onPointerEnter);\n el.addEventListener(\"pointerleave\", onPointerLeave);\n el.addEventListener(\"focus\", onFocus);\n el.addEventListener(\"blur\", onBlur);\n el.addEventListener(\"keydown\", onKeyDown);\n el.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mouseup\", onDocumentMouseUp);\n\n onCleanup(() => {\n el.removeEventListener(\"pointerenter\", onPointerEnter);\n el.removeEventListener(\"pointerleave\", onPointerLeave);\n el.removeEventListener(\"focus\", onFocus);\n el.removeEventListener(\"blur\", onBlur);\n el.removeEventListener(\"keydown\", onKeyDown);\n el.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mouseup\", onDocumentMouseUp);\n });\n };\n\n return { ctx, attachListeners };\n}\n"],"mappings":";;;AA+BA,SAAgBA,IAA6C;CAC3D,IAAMC,IAAMC,EAAkB,gBAAgB;CA0D9C,OAAO;EAAE;EAAK,kBAxDW,MAAgB;GACvC,IAAIC,IAAgB,IAEdC,UAAuB;IAC3B,AAAKH,EAAI,SAAS,KAAGA,EAAI,YAAY;GACvC,GACMI,UAAuB;IAC3B,EAAI,aAAa;GACnB,GACMC,UAAgB;IAGpB,AAAIH,KACCF,EAAI,SAAS,KAAGA,EAAI,cAAc;GACzC,GACMM,UAAe;IACnB,EAAI,eAAe;GACrB,GACMC,KAAa,MAAa;IAC9B,IAAMC,IAAgB;IACtB,AAAIA,EAAc,QAAQ,YAAYR,EAAI,KAAK,MAC7CQ,EAAc,gBAAgB,GAC9BR,EAAI,eAAe;GAEvB,GACMS,UAAoB;IAExB,AADA,IAAgB,IACZ,GAAI,SAAS,KACbT,EAAI,KAAK,KAAGA,EAAI,eAAe;GACrC,GAIMU,UAA0B;IAC9B,IAAgB;GAClB;GAUA,AARAC,EAAG,iBAAiB,gBAAgBR,CAAc,GAClDQ,EAAG,iBAAiB,gBAAgBP,CAAc,GAClDO,EAAG,iBAAiB,SAASN,CAAO,GACpCM,EAAG,iBAAiB,QAAQL,CAAM,GAClCK,EAAG,iBAAiB,WAAWJ,CAAS,GACxCI,EAAG,iBAAiB,aAAaF,CAAW,GAC5C,SAAS,iBAAiB,WAAWC,CAAiB,GAEtDE,QAAgB;IAOd,AANAD,EAAG,oBAAoB,gBAAgBR,CAAc,GACrDQ,EAAG,oBAAoB,gBAAgBP,CAAc,GACrDO,EAAG,oBAAoB,SAASN,CAAO,GACvCM,EAAG,oBAAoB,QAAQL,CAAM,GACrCK,EAAG,oBAAoB,WAAWJ,CAAS,GAC3CI,EAAG,oBAAoB,aAAaF,CAAW,GAC/C,SAAS,oBAAoB,WAAWC,CAAiB;GAC3D,CAAC;EACH;CAE8B;AAChC"}
|
package/dist/hooks/index.d.ts
CHANGED
package/dist/hooks/index.js
CHANGED
|
@@ -1,2 +1,4 @@
|
|
|
1
1
|
import { useFontLoader as e } from "./useFontLoader.js";
|
|
2
|
-
|
|
2
|
+
import { useScrollLock as t } from "./useScrollLock.js";
|
|
3
|
+
import { useScrollEdges as n } from "./useScrollEdges.js";
|
|
4
|
+
export { e as useFontLoader, n as useScrollEdges, t as useScrollLock };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFontLoader.js","names":[],"sources":["../../src/hooks/useFontLoader.ts"],"sourcesContent":["import { createEffect, onCleanup } from \"solid-js\";\n\n// ─── 字体配置表 ────────────────────────────────────────────────\nconst FONT_MAP = {\n en: { family: \"Inter\", weights: \"400;500;700\" },\n fr: { family: \"Inter\", weights: \"400;500;700\" },\n de: { family: \"Inter\", weights: \"400;500;700\" },\n ru: { family: \"Noto+Sans\", weights: \"400;500;700\" },\n \"zh-hans\": { family: \"Noto+Sans+SC\", weights: \"400;500;700\" },\n \"zh-hant\": { family: \"Noto+Sans+TC\", weights: \"400;500;700\" },\n ja: { family: \"Noto+Sans+JP\", weights: \"400;500;700\" },\n ko: { family: \"Noto+Sans+KR\", weights: \"400;500;700\" },\n hi: { family: \"Noto+Sans+Devanagari\", weights: \"400;500;700\" },\n th: { family: \"Noto+Sans+Thai\", weights: \"400;500;700\" },\n bn: { family: \"Noto+Sans+Bengali\", weights: \"400;500;700\" },\n ar: { family: \"Noto+Sans+Arabic\", weights: \"400;500;700\" },\n he: { family: \"Noto+Sans+Hebrew\", weights: \"400;500;700\" },\n fa: { family: \"Noto+Sans+Arabic\", weights: \"400;500;700\" },\n} as const satisfies Record<string, { family: string; weights: string }>;\n\nexport type Lang = keyof typeof FONT_MAP;\n\n// ─── 已加载字体缓存(模块级单例,避免重复插入) ──────────────\nconst loaded = new Set<string>();\n\nfunction filterValidLangs(langs: string[]): Lang[] {\n return langs.filter((lang): lang is Lang => {\n if (lang in FONT_MAP) return true;\n if (!import.meta.env.PROD) {\n console.warn(\n `[useFontLoader] unsupported lang: \"${lang}\". ` +\n `Supported values: ${Object.keys(FONT_MAP).join(\", \")}`,\n );\n }\n return false;\n });\n}\n\nexport interface UseFontLoaderOptions {\n /**\n * 要加载的字体对应的语言\n *\n * 默认为`en`\n */\n langs?: Lang | Lang[];\n\n /**\n * 指定 data-lang 写入的目标元素。\n * - 传入 ref:仅在该元素上生效,适合局部语言切换。\n * - 不传(undefined):写入 ,全局生效。\n * 卸载时自动恢复目标元素的原始 data-lang 值。\n *\n * apply 为 false 时此选项无效。\n */\n targetRef?: HTMLElement;\n\n /**\n * 是否将 data-lang 写入目标元素以应用字体样式。\n * - true(默认):写入 data-lang,字体立即生效。\n * - false:仅预加载字体资源,不修改任何 DOM,\n * 适合提前预热用户可能切换到的语言字体。\n * @default\n */\n apply?: boolean;\n}\n\n/* ----------------------------------------------------------------\n 工具:插入 Google Fonts\n ---------------------------------------------------------------- */\nfunction loadGoogleFonts(langs: Lang[]): void {\n const toLoad = langs.filter((lang) => !loaded.has(FONT_MAP[lang].family));\n if (toLoad.length === 0) return;\n\n const families = [\n ...new Set(\n toLoad.map((lang) => {\n const { family, weights } = FONT_MAP[lang];\n return `family=${family}:wght@${weights}`;\n }),\n ),\n ];\n\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = `https://fonts.googleapis.com/css2?${families.join(\"&\")}&display=swap`;\n\n document.head.appendChild(link);\n for (const lang of toLoad) {\n loaded.add(FONT_MAP[lang].family);\n }\n}\n\n// ─── Hook ─────────────────────────────────────────────────────\nexport function useFontLoader(options?: UseFontLoaderOptions) {\n const {\n langs = \"en\",\n targetRef = document.documentElement,\n apply = true,\n } = options ?? {};\n\n const langList = Array.isArray(langs) ? langs : [langs];\n const validLangs = filterValidLangs(langList);\n\n // --- 加载字体资源 ---\n createEffect(() => {\n loadGoogleFonts(validLangs);\n });\n\n // --- 将 data-lang 写入目标元素 ---\n createEffect(() => {\n if (!apply || validLangs.length === 0) return;\n\n // targetRef 未传或 ref.current 尚未挂载时,回退到\n const el = targetRef ?? document.documentElement;\n const lang = validLangs[0];\n const prev = el.getAttribute(\"data-lang\");\n\n el.setAttribute(\"data-lang\", lang);\n\n onCleanup(() => {\n // 卸载时恢复:原本有值则还原,原本无则移除\n if (prev === null) {\n el.removeAttribute(\"data-lang\");\n } else {\n el.setAttribute(\"data-lang\", prev);\n }\n });\n });\n}\n"],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"useFontLoader.js","names":["FONT_MAP","loaded","filterValidLangs","langs","lang","loadGoogleFonts","toLoad","families","family","weights","link","useFontLoader","options","validLangs","createEffect","apply","el","targetRef","prev","onCleanup"],"sources":["../../src/hooks/useFontLoader.ts"],"sourcesContent":["import { createEffect, onCleanup } from \"solid-js\";\n\n// ─── 字体配置表 ────────────────────────────────────────────────\nconst FONT_MAP = {\n en: { family: \"Inter\", weights: \"400;500;700\" },\n fr: { family: \"Inter\", weights: \"400;500;700\" },\n de: { family: \"Inter\", weights: \"400;500;700\" },\n ru: { family: \"Noto+Sans\", weights: \"400;500;700\" },\n \"zh-hans\": { family: \"Noto+Sans+SC\", weights: \"400;500;700\" },\n \"zh-hant\": { family: \"Noto+Sans+TC\", weights: \"400;500;700\" },\n ja: { family: \"Noto+Sans+JP\", weights: \"400;500;700\" },\n ko: { family: \"Noto+Sans+KR\", weights: \"400;500;700\" },\n hi: { family: \"Noto+Sans+Devanagari\", weights: \"400;500;700\" },\n th: { family: \"Noto+Sans+Thai\", weights: \"400;500;700\" },\n bn: { family: \"Noto+Sans+Bengali\", weights: \"400;500;700\" },\n ar: { family: \"Noto+Sans+Arabic\", weights: \"400;500;700\" },\n he: { family: \"Noto+Sans+Hebrew\", weights: \"400;500;700\" },\n fa: { family: \"Noto+Sans+Arabic\", weights: \"400;500;700\" },\n} as const satisfies Record<string, { family: string; weights: string }>;\n\nexport type Lang = keyof typeof FONT_MAP;\n\n// ─── 已加载字体缓存(模块级单例,避免重复插入) ──────────────\nconst loaded = new Set<string>();\n\nfunction filterValidLangs(langs: string[]): Lang[] {\n return langs.filter((lang): lang is Lang => {\n if (lang in FONT_MAP) return true;\n if (!import.meta.env.PROD) {\n console.warn(\n `[useFontLoader] unsupported lang: \"${lang}\". ` +\n `Supported values: ${Object.keys(FONT_MAP).join(\", \")}`,\n );\n }\n return false;\n });\n}\n\nexport interface UseFontLoaderOptions {\n /**\n * 要加载的字体对应的语言\n *\n * 默认为`en`\n */\n langs?: Lang | Lang[];\n\n /**\n * 指定 data-lang 写入的目标元素。\n * - 传入 ref:仅在该元素上生效,适合局部语言切换。\n * - 不传(undefined):写入 ,全局生效。\n * 卸载时自动恢复目标元素的原始 data-lang 值。\n *\n * apply 为 false 时此选项无效。\n */\n targetRef?: HTMLElement;\n\n /**\n * 是否将 data-lang 写入目标元素以应用字体样式。\n * - true(默认):写入 data-lang,字体立即生效。\n * - false:仅预加载字体资源,不修改任何 DOM,\n * 适合提前预热用户可能切换到的语言字体。\n * @default\n */\n apply?: boolean;\n}\n\n/* ----------------------------------------------------------------\n 工具:插入 Google Fonts\n ---------------------------------------------------------------- */\nfunction loadGoogleFonts(langs: Lang[]): void {\n const toLoad = langs.filter((lang) => !loaded.has(FONT_MAP[lang].family));\n if (toLoad.length === 0) return;\n\n const families = [\n ...new Set(\n toLoad.map((lang) => {\n const { family, weights } = FONT_MAP[lang];\n return `family=${family}:wght@${weights}`;\n }),\n ),\n ];\n\n const link = document.createElement(\"link\");\n link.rel = \"stylesheet\";\n link.href = `https://fonts.googleapis.com/css2?${families.join(\"&\")}&display=swap`;\n\n document.head.appendChild(link);\n for (const lang of toLoad) {\n loaded.add(FONT_MAP[lang].family);\n }\n}\n\n// ─── Hook ─────────────────────────────────────────────────────\nexport function useFontLoader(options?: UseFontLoaderOptions) {\n const {\n langs = \"en\",\n targetRef = document.documentElement,\n apply = true,\n } = options ?? {};\n\n const langList = Array.isArray(langs) ? langs : [langs];\n const validLangs = filterValidLangs(langList);\n\n // --- 加载字体资源 ---\n createEffect(() => {\n loadGoogleFonts(validLangs);\n });\n\n // --- 将 data-lang 写入目标元素 ---\n createEffect(() => {\n if (!apply || validLangs.length === 0) return;\n\n // targetRef 未传或 ref.current 尚未挂载时,回退到\n const el = targetRef ?? document.documentElement;\n const lang = validLangs[0];\n const prev = el.getAttribute(\"data-lang\");\n\n el.setAttribute(\"data-lang\", lang);\n\n onCleanup(() => {\n // 卸载时恢复:原本有值则还原,原本无则移除\n if (prev === null) {\n el.removeAttribute(\"data-lang\");\n } else {\n el.setAttribute(\"data-lang\", prev);\n }\n });\n });\n}\n"],"mappings":";;AAGA,IAAMA,IAAW;CACf,IAAI;EAAE,QAAQ;EAAS,SAAS;CAAc;CAC9C,IAAI;EAAE,QAAQ;EAAS,SAAS;CAAc;CAC9C,IAAI;EAAE,QAAQ;EAAS,SAAS;CAAc;CAC9C,IAAI;EAAE,QAAQ;EAAa,SAAS;CAAc;CAClD,WAAW;EAAE,QAAQ;EAAgB,SAAS;CAAc;CAC5D,WAAW;EAAE,QAAQ;EAAgB,SAAS;CAAc;CAC5D,IAAI;EAAE,QAAQ;EAAgB,SAAS;CAAc;CACrD,IAAI;EAAE,QAAQ;EAAgB,SAAS;CAAc;CACrD,IAAI;EAAE,QAAQ;EAAwB,SAAS;CAAc;CAC7D,IAAI;EAAE,QAAQ;EAAkB,SAAS;CAAc;CACvD,IAAI;EAAE,QAAQ;EAAqB,SAAS;CAAc;CAC1D,IAAI;EAAE,QAAQ;EAAoB,SAAS;CAAc;CACzD,IAAI;EAAE,QAAQ;EAAoB,SAAS;CAAc;CACzD,IAAI;EAAE,QAAQ;EAAoB,SAAS;CAAc;AAC3D,GAKMC,oBAAS,IAAI,IAAY;AAE/B,SAASC,EAAiB,GAAyB;CACjD,OAAOC,EAAM,QAAQ,MACfC,KAAQJ,CAQb;AACH;AAiCA,SAASK,EAAgB,GAAqB;CAC5C,IAAMC,IAASH,EAAM,QAAQ,MAAS,CAACF,EAAO,IAAID,EAASI,EAAK,CAAC,MAAM,CAAC;CACxE,IAAIE,EAAO,WAAW,GAAG;CAEzB,IAAMC,IAAW,CACf,GAAG,IAAI,IACLD,EAAO,KAAK,MAAS;EACnB,IAAM,EAAE,WAAQ,eAAYN,EAASI;EACrC,OAAO,UAAUI,EAAO,QAAQC;CAClC,CAAC,CACH,CACF,GAEMC,IAAO,SAAS,cAAc,MAAM;CAI1C,AAHA,EAAK,MAAM,cACX,EAAK,OAAO,qCAAqCH,EAAS,KAAK,GAAG,EAAE,gBAEpE,SAAS,KAAK,YAAYG,CAAI;CAC9B,KAAK,IAAMN,KAAQE,GACjB,EAAO,IAAIN,EAASI,EAAK,CAAC,MAAM;AAEpC;AAGA,SAAgBO,EAAc,GAAgC;CAC5D,IAAM,EACJ,WAAQ,MACR,eAAY,SAAS,iBACrB,WAAQ,OACNC,KAAW,CAAC,GAGVC,IAAaX,EADF,MAAM,QAAQC,CAAK,IAAIA,IAAQ,CAACA,CAAK,CACV;CAQ5C,AALAW,QAAmB;EACjB,EAAgBD,CAAU;CAC5B,CAAC,GAGDC,QAAmB;EACjB,IAAI,CAACC,KAASF,EAAW,WAAW,GAAG;EAGvC,IAAMG,IAAKC,KAAa,SAAS,iBAC3Bb,IAAOS,EAAW,IAClBK,IAAOF,EAAG,aAAa,WAAW;EAIxC,AAFAA,EAAG,aAAa,aAAaZ,CAAI,GAEjCe,QAAgB;GAEd,AAAID,MAAS,OACXF,EAAG,gBAAgB,WAAW,IAE9BA,EAAG,aAAa,aAAaE,CAAI;EAErC,CAAC;CACH,CAAC;AACH"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
export interface ScrollEdges {
|
|
3
|
+
/** 上方是否还有未显示的内容 */
|
|
4
|
+
canScrollUp: Accessor<boolean>;
|
|
5
|
+
/** 下方是否还有未显示的内容 */
|
|
6
|
+
canScrollDown: Accessor<boolean>;
|
|
7
|
+
/** 手动刷新一次边缘状态(如打开、内容变化后) */
|
|
8
|
+
refresh: () => void;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* 跟踪某个滚动容器上方/下方是否还有未显示的内容,用于驱动滚动提示箭头。
|
|
12
|
+
*
|
|
13
|
+
* 监听 scroll(passive) + ResizeObserver(容器与首个子元素尺寸) +
|
|
14
|
+
* MutationObserver(childList/subtree),因此面板高度变化、选项增删后显隐都能及时更新。
|
|
15
|
+
*/
|
|
16
|
+
export declare function useScrollEdges(target: Accessor<HTMLElement | undefined>): ScrollEdges;
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { createEffect as e, createSignal as t, onCleanup as n } from "solid-js";
|
|
2
|
+
//#region src/hooks/useScrollEdges.ts
|
|
3
|
+
function r(r) {
|
|
4
|
+
let [i, a] = t(!1), [o, s] = t(!1), c = () => {
|
|
5
|
+
let e = r();
|
|
6
|
+
if (!e) {
|
|
7
|
+
a(!1), s(!1);
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
a(e.scrollTop > 1), s(e.scrollTop + e.clientHeight < e.scrollHeight - 1);
|
|
11
|
+
};
|
|
12
|
+
return e(() => {
|
|
13
|
+
let e = r();
|
|
14
|
+
if (!e) return;
|
|
15
|
+
c();
|
|
16
|
+
let t = new ResizeObserver(c);
|
|
17
|
+
t.observe(e), e.firstElementChild && t.observe(e.firstElementChild);
|
|
18
|
+
let i = new MutationObserver(c);
|
|
19
|
+
i.observe(e, {
|
|
20
|
+
childList: !0,
|
|
21
|
+
subtree: !0
|
|
22
|
+
}), e.addEventListener("scroll", c, { passive: !0 }), n(() => {
|
|
23
|
+
t.disconnect(), i.disconnect(), e.removeEventListener("scroll", c);
|
|
24
|
+
});
|
|
25
|
+
}), {
|
|
26
|
+
canScrollUp: i,
|
|
27
|
+
canScrollDown: o,
|
|
28
|
+
refresh: c
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { r as useScrollEdges };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=useScrollEdges.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollEdges.js","names":["useScrollEdges","canScrollUp","setCanScrollUp","createSignal","canScrollDown","setCanScrollDown","refresh","el","target","createEffect","resizeObserver","mutationObserver","onCleanup"],"sources":["../../src/hooks/useScrollEdges.ts"],"sourcesContent":["import { createEffect, createSignal, onCleanup, type Accessor } from \"solid-js\";\n\nexport interface ScrollEdges {\n /** 上方是否还有未显示的内容 */\n canScrollUp: Accessor<boolean>;\n /** 下方是否还有未显示的内容 */\n canScrollDown: Accessor<boolean>;\n /** 手动刷新一次边缘状态(如打开、内容变化后) */\n refresh: () => void;\n}\n\n/**\n * 跟踪某个滚动容器上方/下方是否还有未显示的内容,用于驱动滚动提示箭头。\n *\n * 监听 scroll(passive) + ResizeObserver(容器与首个子元素尺寸) +\n * MutationObserver(childList/subtree),因此面板高度变化、选项增删后显隐都能及时更新。\n */\nexport function useScrollEdges(\n target: Accessor<HTMLElement | undefined>,\n): ScrollEdges {\n const [canScrollUp, setCanScrollUp] = createSignal(false);\n const [canScrollDown, setCanScrollDown] = createSignal(false);\n\n const refresh = () => {\n const el = target();\n if (!el) {\n setCanScrollUp(false);\n setCanScrollDown(false);\n return;\n }\n setCanScrollUp(el.scrollTop > 1);\n setCanScrollDown(el.scrollTop + el.clientHeight < el.scrollHeight - 1);\n };\n\n createEffect(() => {\n const el = target();\n if (!el) return;\n\n refresh();\n\n const resizeObserver = new ResizeObserver(refresh);\n resizeObserver.observe(el);\n if (el.firstElementChild) resizeObserver.observe(el.firstElementChild);\n\n const mutationObserver = new MutationObserver(refresh);\n mutationObserver.observe(el, { childList: true, subtree: true });\n\n el.addEventListener(\"scroll\", refresh, { passive: true });\n onCleanup(() => {\n resizeObserver.disconnect();\n mutationObserver.disconnect();\n el.removeEventListener(\"scroll\", refresh);\n });\n });\n\n return { canScrollUp, canScrollDown, refresh };\n}\n"],"mappings":";;AAiBA,SAAgBA,EACd,GACa;CACb,IAAM,CAACC,GAAaC,KAAkBC,EAAa,EAAK,GAClD,CAACC,GAAeC,KAAoBF,EAAa,EAAK,GAEtDG,UAAgB;EACpB,IAAMC,IAAKC,EAAO;EAClB,IAAI,CAACD,GAAI;GAEP,AADAL,EAAe,EAAK,GACpBG,EAAiB,EAAK;GACtB;EACF;EAEA,AADAH,EAAeK,EAAG,YAAY,CAAC,GAC/BF,EAAiBE,EAAG,YAAYA,EAAG,eAAeA,EAAG,eAAe,CAAC;CACvE;CAuBA,OArBAE,QAAmB;EACjB,IAAMF,IAAKC,EAAO;EAClB,IAAI,CAACD,GAAI;EAET,EAAQ;EAER,IAAMG,IAAiB,IAAI,eAAeJ,CAAO;EAEjD,AADAI,EAAe,QAAQH,CAAE,GACrBA,EAAG,qBAAmBG,EAAe,QAAQH,EAAG,iBAAiB;EAErE,IAAMI,IAAmB,IAAI,iBAAiBL,CAAO;EAIrD,AAHAK,EAAiB,QAAQJ,GAAI;GAAE,WAAW;GAAM,SAAS;EAAK,CAAC,GAE/DA,EAAG,iBAAiB,UAAUD,GAAS,EAAE,SAAS,GAAK,CAAC,GACxDM,QAAgB;GAGd,AAFAF,EAAe,WAAW,GAC1BC,EAAiB,WAAW,GAC5BJ,EAAG,oBAAoB,UAAUD,CAAO;EAC1C,CAAC;CACH,CAAC,GAEM;EAAE;EAAa;EAAe;CAAQ;AAC/C"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
export interface UseScrollLockOptions {
|
|
3
|
+
/**
|
|
4
|
+
* 允许在锁滚动期间继续滚动的容器选择器(通常是浮层自身)。
|
|
5
|
+
* 未命中该选择器的滚轮/触摸滚动会被拦截;不传则整个页面都锁定滚动。
|
|
6
|
+
*/
|
|
7
|
+
allowedSelector?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* 浮层打开时锁定页面滚动,关闭后恢复——对齐 Base UI 的 modal 行为
|
|
11
|
+
* (文档滚动被锁定、浮层之外的滚轮/触摸滚动被拦截),避免浮窗锚点随页面滚动而"飘移"。
|
|
12
|
+
*
|
|
13
|
+
* 多个浮层可同时持锁(引用计数);`allowedSelector` 命中的容器内仍可滚动,
|
|
14
|
+
* 通常传入浮层自身,例如 Popover 传 `[data-slot="popover-content"]`。
|
|
15
|
+
*/
|
|
16
|
+
export declare function useScrollLock(locked: Accessor<boolean>, options?: UseScrollLockOptions): void;
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { createEffect as e, onCleanup as t } from "solid-js";
|
|
2
|
+
//#region src/hooks/useScrollLock.ts
|
|
3
|
+
var n = 0, r, i = /* @__PURE__ */ new Set();
|
|
4
|
+
function a(e) {
|
|
5
|
+
let { overflow: t, overflowX: n, overflowY: r } = getComputedStyle(e);
|
|
6
|
+
return /auto|scroll|overlay|hidden/.test(t + n + r);
|
|
7
|
+
}
|
|
8
|
+
function o() {
|
|
9
|
+
let e = document.documentElement;
|
|
10
|
+
return a(e) ? e : document.body;
|
|
11
|
+
}
|
|
12
|
+
function s() {
|
|
13
|
+
return typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("scrollbar-gutter", "stable");
|
|
14
|
+
}
|
|
15
|
+
function c(e) {
|
|
16
|
+
if (!(e instanceof Element)) return !1;
|
|
17
|
+
for (let t of i) if (e.closest(t)) return !0;
|
|
18
|
+
return !1;
|
|
19
|
+
}
|
|
20
|
+
function l() {
|
|
21
|
+
let e = document.documentElement, t = document.body, n = o(), r = {
|
|
22
|
+
htmlScrollbarGutter: e.style.scrollbarGutter,
|
|
23
|
+
scrollerOverflowX: n.style.overflowX,
|
|
24
|
+
scrollerOverflowY: n.style.overflowY,
|
|
25
|
+
bodyPaddingRight: t.style.paddingRight,
|
|
26
|
+
scrollTop: n.scrollTop,
|
|
27
|
+
scrollLeft: n.scrollLeft
|
|
28
|
+
}, i = Math.max(0, window.innerWidth - e.clientWidth), a = s();
|
|
29
|
+
if (i > 0) {
|
|
30
|
+
if (a) e.style.scrollbarGutter = "stable";
|
|
31
|
+
else {
|
|
32
|
+
let e = Number.parseFloat(getComputedStyle(t).paddingRight) || 0;
|
|
33
|
+
t.style.paddingRight = `${e + i}px`;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
n.style.overflowX = "hidden", n.style.overflowY = "hidden";
|
|
37
|
+
let l = (e) => {
|
|
38
|
+
c(e.target) || e.preventDefault();
|
|
39
|
+
};
|
|
40
|
+
return document.addEventListener("wheel", l, { passive: !1 }), document.addEventListener("touchmove", l, { passive: !1 }), () => {
|
|
41
|
+
e.style.scrollbarGutter = r.htmlScrollbarGutter, a || (t.style.paddingRight = r.bodyPaddingRight), n.style.overflowX = r.scrollerOverflowX, n.style.overflowY = r.scrollerOverflowY, document.removeEventListener("wheel", l), document.removeEventListener("touchmove", l), n.scrollTop = r.scrollTop, n.scrollLeft = r.scrollLeft;
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
function u(e) {
|
|
45
|
+
n += 1, e && i.add(e), n === 1 && (r = l());
|
|
46
|
+
let t = !1;
|
|
47
|
+
return () => {
|
|
48
|
+
t || (t = !0, --n, n === 0 && (r?.(), r = void 0, i.clear()));
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
function d(n, r) {
|
|
52
|
+
e(() => {
|
|
53
|
+
if (!n()) return;
|
|
54
|
+
let e = u(r?.allowedSelector);
|
|
55
|
+
t(e);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//#endregion
|
|
59
|
+
export { d as useScrollLock };
|
|
60
|
+
|
|
61
|
+
//# sourceMappingURL=useScrollLock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useScrollLock.js","names":["lockCount","release","allowedSelectors","isOverflowElement","el","overflow","overflowX","overflowY","getViewportScroller","html","supportsStableScrollbarGutter","isWithinAllowedScroll","target","selector","lockViewport","body","scroller","previous","scrollbarWidth","gutterSupported","padding","preventScroll","event","acquireLock","allowedSelector","released","useScrollLock","locked","unlock","options"],"sources":["../../src/hooks/useScrollLock.ts"],"sourcesContent":["import { createEffect, onCleanup, type Accessor } from \"solid-js\";\n\nexport interface UseScrollLockOptions {\n /**\n * 允许在锁滚动期间继续滚动的容器选择器(通常是浮层自身)。\n * 未命中该选择器的滚轮/触摸滚动会被拦截;不传则整个页面都锁定滚动。\n */\n allowedSelector?: string;\n}\n\n// 多个浮层/嵌套浮层可能同时持锁,用计数避免其中一个关闭就提前恢复页面滚动。\nlet lockCount = 0;\nlet release: (() => void) | undefined;\n// 各持锁浮层允许滚动的容器选择器。preventScroll 读取的是实时集合,\n// 因此即使某个选择器在锁生效之后才加入,也能立即对它放行。\nconst allowedSelectors = new Set<string>();\n\n/** 元素自身是否建立了滚动容器(与 positioner 里的判断口径一致) */\nfunction isOverflowElement(el: Element): boolean {\n const { overflow, overflowX, overflowY } = getComputedStyle(el);\n return /auto|scroll|overlay|hidden/.test(overflow + overflowX + overflowY);\n}\n\n/**\n * 页面的滚动容器:html 自己建立了滚动上下文时锁 html,否则锁 body\n * ——把 overflow 写在另一个元素上并不会锁住页面(Base UI 同样的判断)。\n */\nfunction getViewportScroller(): HTMLElement {\n const html = document.documentElement;\n return isOverflowElement(html) ? html : document.body;\n}\n\nfunction supportsStableScrollbarGutter(): boolean {\n return (\n typeof CSS !== \"undefined\" &&\n typeof CSS.supports === \"function\" &&\n CSS.supports(\"scrollbar-gutter\", \"stable\")\n );\n}\n\nfunction isWithinAllowedScroll(target: EventTarget | null): boolean {\n if (!(target instanceof Element)) return false;\n for (const selector of allowedSelectors) {\n if (target.closest(selector)) return true;\n }\n return false;\n}\n\nfunction lockViewport(): () => void {\n const html = document.documentElement;\n const body = document.body;\n const scroller = getViewportScroller();\n\n const previous = {\n htmlScrollbarGutter: html.style.scrollbarGutter,\n scrollerOverflowX: scroller.style.overflowX,\n scrollerOverflowY: scroller.style.overflowY,\n bodyPaddingRight: body.style.paddingRight,\n scrollTop: scroller.scrollTop,\n scrollLeft: scroller.scrollLeft,\n };\n\n // 抵消滚动条消失带来的横向抖动:能用 scrollbar-gutter 就用它,\n // 否则退化成给 body 补一个滚动条宽度的右内边距。\n // 只有页面自身真的存在占位滚动条时才需要补偿:滚动条长在某个嵌套容器上时,\n // 锁 html/body 并不会移除那条滚动条,再给 html 加 gutter 只会额外多出一条空白\n // (滚动条 + gutter 双倍宽度),反而破坏布局。\n const scrollbarWidth = Math.max(0, window.innerWidth - html.clientWidth);\n const gutterSupported = supportsStableScrollbarGutter();\n if (scrollbarWidth > 0) {\n if (gutterSupported) {\n html.style.scrollbarGutter = \"stable\";\n } else {\n const padding =\n Number.parseFloat(getComputedStyle(body).paddingRight) || 0;\n body.style.paddingRight = `${padding + scrollbarWidth}px`;\n }\n }\n\n scroller.style.overflowX = \"hidden\";\n scroller.style.overflowY = \"hidden\";\n\n // 兜底:部分浏览器即使 overflow:hidden 仍能被滚轮/触摸滚动,\n // 因此直接拦截浮层之外的滚动事件;浮层内部(命中 allowedSelector)保留滚动能力。\n const preventScroll = (event: Event) => {\n if (isWithinAllowedScroll(event.target)) return;\n event.preventDefault();\n };\n document.addEventListener(\"wheel\", preventScroll, { passive: false });\n document.addEventListener(\"touchmove\", preventScroll, { passive: false });\n\n return () => {\n html.style.scrollbarGutter = previous.htmlScrollbarGutter;\n if (!gutterSupported) {\n body.style.paddingRight = previous.bodyPaddingRight;\n }\n scroller.style.overflowX = previous.scrollerOverflowX;\n scroller.style.overflowY = previous.scrollerOverflowY;\n document.removeEventListener(\"wheel\", preventScroll);\n document.removeEventListener(\"touchmove\", preventScroll);\n scroller.scrollTop = previous.scrollTop;\n scroller.scrollLeft = previous.scrollLeft;\n };\n}\n\nfunction acquireLock(allowedSelector?: string): () => void {\n lockCount += 1;\n if (allowedSelector) allowedSelectors.add(allowedSelector);\n if (lockCount === 1) release = lockViewport();\n\n let released = false;\n return () => {\n if (released) return;\n released = true;\n lockCount -= 1;\n if (lockCount === 0) {\n release?.();\n release = undefined;\n // 全部释放后清空放行名单,避免残留的选择器影响下一次锁。\n allowedSelectors.clear();\n }\n };\n}\n\n/**\n * 浮层打开时锁定页面滚动,关闭后恢复——对齐 Base UI 的 modal 行为\n * (文档滚动被锁定、浮层之外的滚轮/触摸滚动被拦截),避免浮窗锚点随页面滚动而\"飘移\"。\n *\n * 多个浮层可同时持锁(引用计数);`allowedSelector` 命中的容器内仍可滚动,\n * 通常传入浮层自身,例如 Popover 传 `[data-slot=\"popover-content\"]`。\n */\nexport function useScrollLock(\n locked: Accessor<boolean>,\n options?: UseScrollLockOptions,\n) {\n createEffect(() => {\n if (!locked()) return;\n const unlock = acquireLock(options?.allowedSelector);\n onCleanup(unlock);\n });\n}\n"],"mappings":";;AAWA,IAAIA,IAAY,GACZC,GAGEC,oBAAmB,IAAI,IAAY;AAGzC,SAASC,EAAkB,GAAsB;CAC/C,IAAM,EAAE,aAAU,cAAW,iBAAc,iBAAiBC,CAAE;CAC9D,OAAO,6BAA6B,KAAKC,IAAWC,IAAYC,CAAS;AAC3E;AAMA,SAASC,IAAmC;CAC1C,IAAMC,IAAO,SAAS;CACtB,OAAON,EAAkBM,CAAI,IAAIA,IAAO,SAAS;AACnD;AAEA,SAASC,IAAyC;CAChD,OACE,OAAO,MAAQ,OACf,OAAO,IAAI,YAAa,cACxB,IAAI,SAAS,oBAAoB,QAAQ;AAE7C;AAEA,SAASC,EAAsB,GAAqC;CAClE,IAAI,EAAEC,aAAkB,UAAU,OAAO;CACzC,KAAK,IAAMC,KAAYX,GACrB,IAAIU,EAAO,QAAQC,CAAQ,GAAG,OAAO;CAEvC,OAAO;AACT;AAEA,SAASC,IAA2B;CAClC,IAAML,IAAO,SAAS,iBAChBM,IAAO,SAAS,MAChBC,IAAWR,EAAoB,GAE/BS,IAAW;EACf,qBAAqBR,EAAK,MAAM;EAChC,mBAAmBO,EAAS,MAAM;EAClC,mBAAmBA,EAAS,MAAM;EAClC,kBAAkBD,EAAK,MAAM;EAC7B,WAAWC,EAAS;EACpB,YAAYA,EAAS;CACvB,GAOME,IAAiB,KAAK,IAAI,GAAG,OAAO,aAAaT,EAAK,WAAW,GACjEU,IAAkBT,EAA8B;CACtD,IAAIQ,IAAiB,GAAG;EACtB,IAAIC,GACF,EAAK,MAAM,kBAAkB;OACxB;GACL,IAAMC,IACJ,OAAO,WAAW,iBAAiBL,CAAI,CAAC,CAAC,YAAY,KAAK;GAC5D,EAAK,MAAM,eAAe,GAAGK,IAAUF,EAAe;EACxD;CACF;CAGA,AADA,EAAS,MAAM,YAAY,UAC3B,EAAS,MAAM,YAAY;CAI3B,IAAMG,KAAiB,MAAiB;EACtC,AAAIV,EAAsBW,EAAM,MAAM,KACtCA,EAAM,eAAe;CACvB;CAIA,OAHA,SAAS,iBAAiB,SAASD,GAAe,EAAE,SAAS,GAAM,CAAC,GACpE,SAAS,iBAAiB,aAAaA,GAAe,EAAE,SAAS,GAAM,CAAC,SAE3D;EAUX,AATA,EAAK,MAAM,kBAAkBJ,EAAS,qBACjCE,MACH,EAAK,MAAM,eAAeF,EAAS,mBAErC,EAAS,MAAM,YAAYA,EAAS,mBACpC,EAAS,MAAM,YAAYA,EAAS,mBACpC,SAAS,oBAAoB,SAASI,CAAa,GACnD,SAAS,oBAAoB,aAAaA,CAAa,GACvD,EAAS,YAAYJ,EAAS,WAC9B,EAAS,aAAaA,EAAS;CACjC;AACF;AAEA,SAASM,EAAY,GAAsC;CAGzD,AAFA,KAAa,GACTC,KAAiBtB,EAAiB,IAAIsB,CAAe,GACrDxB,MAAc,MAAG,IAAUc,EAAa;CAE5C,IAAIW,IAAW;CACf,aAAa;EACX,AAAIA,MACJ,IAAW,IACX,KACIzB,MAAc,MAChBC,IAAU,GACV,IAAU,KAAA,GAEVC,EAAiB,MAAM;CAE3B;AACF;AASA,SAAgBwB,EACd,GACA,GACA;CACA,QAAmB;EACjB,IAAI,CAACC,EAAO,GAAG;EACf,IAAMC,IAASL,EAAYM,GAAS,eAAe;EACnD,EAAUD,CAAM;CAClB,CAAC;AACH"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from './components/accordion';
|
|
|
2
2
|
export * from './components/alert';
|
|
3
3
|
export * from './components/alert-dialog';
|
|
4
4
|
export * from './components/aspect-ratio';
|
|
5
|
+
export * from './components/attachment';
|
|
5
6
|
export * from './components/avatar';
|
|
6
7
|
export * from './components/badge';
|
|
7
8
|
export * from './components/breadcrumb';
|
|
@@ -13,8 +14,11 @@ export * from './components/carousel';
|
|
|
13
14
|
export * from './components/checkbox';
|
|
14
15
|
export * from './components/collapsible';
|
|
15
16
|
export * from './components/combobox';
|
|
17
|
+
export * from './components/context-menu';
|
|
16
18
|
export * from './components/date-picker';
|
|
19
|
+
export * from './components/data-table';
|
|
17
20
|
export * from './components/dialog';
|
|
21
|
+
export * from './components/dropdown-menu';
|
|
18
22
|
export * from './components/empty';
|
|
19
23
|
export * from './components/field';
|
|
20
24
|
export * from './components/image';
|
|
@@ -24,10 +28,12 @@ export * from './components/item';
|
|
|
24
28
|
export * from './components/kbd';
|
|
25
29
|
export * from './components/label';
|
|
26
30
|
export * from './components/pagination';
|
|
31
|
+
export * from './components/number-input';
|
|
27
32
|
export * from './components/popover';
|
|
28
33
|
export * from './components/progress';
|
|
29
34
|
export * from './components/radio-group';
|
|
30
35
|
export * from './components/scroll-area';
|
|
36
|
+
export * from './components/scroll-arrows';
|
|
31
37
|
export * from './components/select';
|
|
32
38
|
export * from './components/separator';
|
|
33
39
|
export * from './components/sidebar';
|
|
@@ -37,6 +43,8 @@ export * from './components/spinner';
|
|
|
37
43
|
export * from './components/switch';
|
|
38
44
|
export * from './components/tabs';
|
|
39
45
|
export * from './components/textarea';
|
|
46
|
+
export * from './components/time-picker';
|
|
47
|
+
export * from './components/table';
|
|
40
48
|
export * from './components/toast';
|
|
41
49
|
export * from './components/toggle';
|
|
42
50
|
export * from './components/toggle-group';
|