@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":"ScrollBar.js","names":["createMemo","createSignal","mergeProps","onCleanup","splitProps","ScrollBarProps","clsx","useScrollAreaContext","MIN_THUMB_PX","ScrollBar","props","ctx","trackEl","HTMLDivElement","merged","orientation","const","local","others","active","setActive","isVertical","metrics","vertical","horizontal","thumbStyle","m","trackSize","clientHeight","clientWidth","trackInnerSize","rawThumbSize","thumbRatio","thumbSize","Math","max","maxOffset","offset","thumbOffset","height","transform","width","ariaValueNow","round","onThumbPointerDown","e","PointerEvent","preventDefault","stopPropagation","viewport","viewportRef","setDragging","startPointer","clientY","clientX","startScroll","scrollTop","scrollLeft","maxScroll","scrollHeight","scrollWidth","currentTarget","scrollRatio","onMove","me","delta","newScroll","min","onUp","window","removeEventListener","addEventListener","onTrackPointerDown","target","HTMLElement","dataset","slot","rect","getBoundingClientRect","clickPos","top","left","scrollTo","behavior","onKeyDown","KeyboardEvent","step","pageSize","keyMap","Record","ArrowDown","ArrowRight","ArrowUp","ArrowLeft","PageDown","PageUp","Home","Infinity","End","key","undefined","visible","hovering","dragging","_el$","_tmpl$","_el$2","firstChild","$$keydown","$$pointerdown","_ref$","_$use","_$spread","_$mergeProps","aria-orientation","aria-valuenow","data-orientation","data-hovering","class","_$effect","_p$","_v$","_v$2","_v$3","_$setAttribute","t","_$className","a","_$style","_$delegateEvents"],"sources":["../../../../src/components/scroll-area/ScrollBar/ScrollBar.tsx"],"sourcesContent":["import {\n createMemo,\n createSignal,\n mergeProps,\n onCleanup,\n splitProps,\n} from \"solid-js\";\nimport type { ScrollBarProps } from \"./ScrollBar.types\";\nimport { clsx } from \"~/utils\";\nimport { useScrollAreaContext } from \"../ScrollArea\";\n\n// Minimum thumb length in px so it's always clickable\nconst MIN_THUMB_PX = 20;\n\nexport const ScrollBar = (props: ScrollBarProps) => {\n const ctx = useScrollAreaContext();\n\n let trackEl!: HTMLDivElement;\n\n const merged = mergeProps({ orientation: \"vertical\" } as const, props);\n\n const [local, others] = splitProps(merged, [\n \"orientation\",\n \"class\",\n \"classList\",\n ]);\n\n const [active, setActive] = createSignal(false);\n const isVertical = () => local.orientation === \"vertical\";\n\n const metrics = createMemo(() =>\n isVertical() ? ctx.vertical() : ctx.horizontal(),\n );\n\n /**\n * Compute thumb CSS: we clamp to MIN_THUMB_PX, then shift the offset so the\n * thumb never overflows the track.\n */\n const thumbStyle = createMemo(() => {\n const m = metrics();\n\n const trackSize = isVertical()\n ? (trackEl?.clientHeight ?? 0)\n : (trackEl?.clientWidth ?? 0);\n\n const trackInnerSize = trackSize - 2; // track有内边距\n\n const rawThumbSize = trackInnerSize * m.thumbRatio;\n const thumbSize = Math.max(rawThumbSize, MIN_THUMB_PX);\n\n // Adjust offset to account for clamping\n const maxOffset = Math.max(0, trackInnerSize - thumbSize);\n const offset = maxOffset * m.thumbOffset;\n\n if (isVertical()) {\n return {\n height: `${thumbSize}px`,\n transform: `translateY(${offset}px)`,\n };\n }\n return {\n width: `${thumbSize}px`,\n transform: `translateX(${offset}px)`,\n };\n });\n\n // ARIA value: 0–100 integer representing scroll position\n const ariaValueNow = createMemo(() =>\n Math.round(metrics().thumbOffset * 100),\n );\n\n // ── Drag handling ─────────────────────────────────────────────────────────\n function onThumbPointerDown(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n\n const viewport = ctx.viewportRef();\n if (!viewport) return;\n\n ctx.setDragging(local.orientation);\n setActive(true);\n\n const startPointer = isVertical() ? e.clientY : e.clientX;\n const startScroll = isVertical() ? viewport.scrollTop : viewport.scrollLeft;\n const maxScroll = isVertical()\n ? viewport.scrollHeight - viewport.clientHeight\n : viewport.scrollWidth - viewport.clientWidth;\n\n const trackSize = isVertical() ? trackEl.clientHeight : trackEl.clientWidth;\n const trackInnerSize = trackSize - 2; // track有内边距\n\n const thumbSize = isVertical()\n ? (e.currentTarget as HTMLDivElement).clientHeight\n : (e.currentTarget as HTMLDivElement).clientWidth;\n const scrollRatio = maxScroll / (trackInnerSize - thumbSize);\n\n function onMove(me: PointerEvent) {\n const delta = (isVertical() ? me.clientY : me.clientX) - startPointer;\n\n const newScroll = Math.max(\n 0,\n Math.min(maxScroll, startScroll + delta * scrollRatio),\n );\n if (isVertical()) {\n viewport!.scrollTop = newScroll;\n } else {\n viewport!.scrollLeft = newScroll;\n }\n }\n\n function onUp() {\n ctx.setDragging(null);\n setActive(false);\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n }\n\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n\n onCleanup(() => {\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n });\n }\n\n // ── Track click: page-scroll (click above/below thumb) ───────────────────\n function onTrackPointerDown(e: PointerEvent) {\n // Ignore if the target is the thumb itself\n if ((e.target as HTMLElement).dataset.slot === \"scroll-area-thumb\") return;\n\n const viewport = ctx.viewportRef();\n if (!viewport) return;\n\n const rect = trackEl.getBoundingClientRect();\n const clickPos = isVertical()\n ? (e.clientY - rect.top) / rect.height\n : (e.clientX - rect.left) / rect.width;\n\n const maxScroll = isVertical()\n ? viewport.scrollHeight - viewport.clientHeight\n : viewport.scrollWidth - viewport.clientWidth;\n\n const target = clickPos * maxScroll;\n\n viewport.scrollTo({\n [isVertical() ? \"top\" : \"left\"]: target,\n behavior: \"smooth\",\n });\n }\n\n // ── Keyboard scrolling on the scrollbar track ─────────────────────────────\n function onKeyDown(e: KeyboardEvent) {\n const viewport = ctx.viewportRef();\n if (!viewport) return;\n\n const step = 40; // px per keypress\n const pageSize = isVertical()\n ? viewport.clientHeight\n : viewport.clientWidth;\n\n const keyMap: Record<string, number> = {\n ArrowDown: step,\n ArrowRight: step,\n ArrowUp: -step,\n ArrowLeft: -step,\n PageDown: pageSize,\n PageUp: -pageSize,\n Home: -Infinity,\n End: Infinity,\n };\n\n const delta = keyMap[e.key];\n if (delta === undefined) return;\n\n e.preventDefault();\n\n if (isVertical()) {\n viewport.scrollTop = Math.max(\n 0,\n Math.min(\n viewport.scrollHeight - viewport.clientHeight,\n delta === Infinity\n ? viewport.scrollHeight\n : delta === -Infinity\n ? 0\n : viewport.scrollTop + delta,\n ),\n );\n } else {\n viewport.scrollLeft = Math.max(\n 0,\n Math.min(\n viewport.scrollWidth - viewport.clientWidth,\n delta === Infinity\n ? viewport.scrollWidth\n : delta === -Infinity\n ? 0\n : viewport.scrollLeft + delta,\n ),\n );\n }\n }\n\n // ── Visibility: show while hovering or dragging ───────────────────────────\n const visible = createMemo(\n () => ctx.hovering() || ctx.dragging() === props.orientation || active(),\n );\n\n return (\n <div\n ref={trackEl}\n data-slot=\"scroll-area-scrollbar\"\n // WCAG 4.1.2: expose as scrollbar widget\n role=\"scrollbar\"\n aria-controls=\"scroll-area-viewport\"\n aria-orientation={local.orientation}\n aria-valuenow={ariaValueNow()}\n aria-valuemin={0}\n aria-valuemax={100}\n tabIndex={0}\n onPointerDown={onTrackPointerDown}\n onKeyDown={onKeyDown}\n data-orientation={local.orientation}\n data-hovering={ctx.hovering() ? \"\" : undefined}\n class={clsx(\n // Layout\n \"absolute touch-none select-none transition-opacity duration-150\",\n // Opacity — visible on hover/drag, hidden otherwise\n visible() ? \"opacity-100\" : \"opacity-0\",\n // Axis-specific positioning & size\n isVertical()\n ? \"right-0 top-0 h-full w-2.5 border-l border-l-transparent p-px flex flex-col\"\n : \"bottom-0 left-0 w-full h-2.5 border-t border-t-transparent p-px flex flex-row\",\n // Keyboard focus ring\n \"outline-none focus-visible:ring-2 focus-visible:ring-neutral-400/70 dark:focus-visible:ring-neutral-500/70\",\n local.class,\n )}\n {...others}\n >\n <div\n data-slot=\"scroll-area-thumb\"\n onPointerDown={onThumbPointerDown}\n data-orientation={local.orientation}\n class={clsx(\n \"relative rounded-full bg-border\",\n // Hover / active state\n \"hover:bg-neutral-400 dark:hover:bg-white/30\",\n active() ? \"bg-neutral-500 dark:bg-white/40\" : \"\",\n \"transition-colors duration-100\",\n // Ensure thumb is always reachable\n isVertical() ? \"min-h-5 w-full\" : \"min-w-5 h-full\",\n )}\n style={thumbStyle()}\n />\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ScrollBar.js","names":["createMemo","createSignal","mergeProps","onCleanup","splitProps","ScrollBarProps","clsx","useScrollAreaContext","MIN_THUMB_PX","ScrollBar","props","ctx","trackEl","HTMLDivElement","merged","orientation","const","local","others","active","setActive","isVertical","metrics","vertical","horizontal","thumbStyle","m","trackSize","clientHeight","clientWidth","trackInnerSize","rawThumbSize","thumbRatio","thumbSize","Math","max","maxOffset","offset","thumbOffset","height","transform","width","ariaValueNow","round","onThumbPointerDown","e","PointerEvent","preventDefault","stopPropagation","viewport","viewportRef","setDragging","startPointer","clientY","clientX","startScroll","scrollTop","scrollLeft","maxScroll","scrollHeight","scrollWidth","currentTarget","scrollRatio","onMove","me","delta","newScroll","min","onUp","window","removeEventListener","addEventListener","onTrackPointerDown","target","HTMLElement","dataset","slot","rect","getBoundingClientRect","clickPos","top","left","scrollTo","behavior","onKeyDown","KeyboardEvent","step","pageSize","keyMap","Record","ArrowDown","ArrowRight","ArrowUp","ArrowLeft","PageDown","PageUp","Home","Infinity","End","key","undefined","visible","hovering","dragging","_el$","_tmpl$","_el$2","firstChild","$$keydown","$$pointerdown","_ref$","_$use","_$spread","_$mergeProps","aria-orientation","aria-valuenow","data-orientation","data-hovering","class","_$effect","_p$","_v$","_v$2","_v$3","_$setAttribute","t","_$className","a","_$style","_$delegateEvents","mergeProps","_$use","_$mergeProps","_$setAttribute","_$className","_$style","_$delegateEvents","mergeProps$1","_tmpl$","MIN_THUMB_PX","ScrollBar","ctx","useScrollAreaContext","trackEl","merged","props","local","others","splitProps","active","setActive","createSignal","isVertical","metrics","createMemo","thumbStyle","m","trackInnerSize","rawThumbSize","thumbSize","offset","ariaValueNow","onThumbPointerDown","viewport","startPointer","startScroll","maxScroll","scrollRatio","onMove","delta","me","newScroll","onUp","onCleanup","onTrackPointerDown","rect","target","onKeyDown","pageSize","visible","_el$","_el$2","_ref$","use","spread","mergeProps","\"class\"","clsx","effect","_v$","_v$2","_v$3","_p$","setAttribute","className","style","delegateEvents"],"sources":["../../../../src/components/scroll-area/ScrollBar/ScrollBar.tsx"],"sourcesContent":["import {\n createMemo,\n createSignal,\n mergeProps,\n onCleanup,\n splitProps,\n} from \"solid-js\";\nimport type { ScrollBarProps } from \"./ScrollBar.types\";\nimport { clsx } from \"~/utils\";\nimport { useScrollAreaContext } from \"../ScrollArea\";\n\n// Minimum thumb length in px so it's always clickable\nconst MIN_THUMB_PX = 20;\n\nexport const ScrollBar = (props: ScrollBarProps) => {\n const ctx = useScrollAreaContext();\n\n let trackEl!: HTMLDivElement;\n\n const merged = mergeProps({ orientation: \"vertical\" } as const, props);\n\n const [local, others] = splitProps(merged, [\n \"orientation\",\n \"class\",\n \"classList\",\n ]);\n\n const [active, setActive] = createSignal(false);\n const isVertical = () => local.orientation === \"vertical\";\n\n const metrics = createMemo(() =>\n isVertical() ? ctx.vertical() : ctx.horizontal(),\n );\n\n /**\n * Compute thumb CSS: we clamp to MIN_THUMB_PX, then shift the offset so the\n * thumb never overflows the track.\n */\n const thumbStyle = createMemo(() => {\n const m = metrics();\n\n const trackSize = isVertical()\n ? (trackEl?.clientHeight ?? 0)\n : (trackEl?.clientWidth ?? 0);\n\n const trackInnerSize = trackSize - 2; // track有内边距\n\n const rawThumbSize = trackInnerSize * m.thumbRatio;\n const thumbSize = Math.max(rawThumbSize, MIN_THUMB_PX);\n\n // Adjust offset to account for clamping\n const maxOffset = Math.max(0, trackInnerSize - thumbSize);\n const offset = maxOffset * m.thumbOffset;\n\n if (isVertical()) {\n return {\n height: `${thumbSize}px`,\n transform: `translateY(${offset}px)`,\n };\n }\n return {\n width: `${thumbSize}px`,\n transform: `translateX(${offset}px)`,\n };\n });\n\n // ARIA value: 0–100 integer representing scroll position\n const ariaValueNow = createMemo(() =>\n Math.round(metrics().thumbOffset * 100),\n );\n\n // ── Drag handling ─────────────────────────────────────────────────────────\n function onThumbPointerDown(e: PointerEvent) {\n e.preventDefault();\n e.stopPropagation();\n\n const viewport = ctx.viewportRef();\n if (!viewport) return;\n\n ctx.setDragging(local.orientation);\n setActive(true);\n\n const startPointer = isVertical() ? e.clientY : e.clientX;\n const startScroll = isVertical() ? viewport.scrollTop : viewport.scrollLeft;\n const maxScroll = isVertical()\n ? viewport.scrollHeight - viewport.clientHeight\n : viewport.scrollWidth - viewport.clientWidth;\n\n const trackSize = isVertical() ? trackEl.clientHeight : trackEl.clientWidth;\n const trackInnerSize = trackSize - 2; // track有内边距\n\n const thumbSize = isVertical()\n ? (e.currentTarget as HTMLDivElement).clientHeight\n : (e.currentTarget as HTMLDivElement).clientWidth;\n const scrollRatio = maxScroll / (trackInnerSize - thumbSize);\n\n function onMove(me: PointerEvent) {\n const delta = (isVertical() ? me.clientY : me.clientX) - startPointer;\n\n const newScroll = Math.max(\n 0,\n Math.min(maxScroll, startScroll + delta * scrollRatio),\n );\n if (isVertical()) {\n viewport!.scrollTop = newScroll;\n } else {\n viewport!.scrollLeft = newScroll;\n }\n }\n\n function onUp() {\n ctx.setDragging(null);\n setActive(false);\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n }\n\n window.addEventListener(\"pointermove\", onMove);\n window.addEventListener(\"pointerup\", onUp);\n\n onCleanup(() => {\n window.removeEventListener(\"pointermove\", onMove);\n window.removeEventListener(\"pointerup\", onUp);\n });\n }\n\n // ── Track click: page-scroll (click above/below thumb) ───────────────────\n function onTrackPointerDown(e: PointerEvent) {\n // Ignore if the target is the thumb itself\n if ((e.target as HTMLElement).dataset.slot === \"scroll-area-thumb\") return;\n\n const viewport = ctx.viewportRef();\n if (!viewport) return;\n\n const rect = trackEl.getBoundingClientRect();\n const clickPos = isVertical()\n ? (e.clientY - rect.top) / rect.height\n : (e.clientX - rect.left) / rect.width;\n\n const maxScroll = isVertical()\n ? viewport.scrollHeight - viewport.clientHeight\n : viewport.scrollWidth - viewport.clientWidth;\n\n const target = clickPos * maxScroll;\n\n viewport.scrollTo({\n [isVertical() ? \"top\" : \"left\"]: target,\n behavior: \"smooth\",\n });\n }\n\n // ── Keyboard scrolling on the scrollbar track ─────────────────────────────\n function onKeyDown(e: KeyboardEvent) {\n const viewport = ctx.viewportRef();\n if (!viewport) return;\n\n const step = 40; // px per keypress\n const pageSize = isVertical()\n ? viewport.clientHeight\n : viewport.clientWidth;\n\n const keyMap: Record<string, number> = {\n ArrowDown: step,\n ArrowRight: step,\n ArrowUp: -step,\n ArrowLeft: -step,\n PageDown: pageSize,\n PageUp: -pageSize,\n Home: -Infinity,\n End: Infinity,\n };\n\n const delta = keyMap[e.key];\n if (delta === undefined) return;\n\n e.preventDefault();\n\n if (isVertical()) {\n viewport.scrollTop = Math.max(\n 0,\n Math.min(\n viewport.scrollHeight - viewport.clientHeight,\n delta === Infinity\n ? viewport.scrollHeight\n : delta === -Infinity\n ? 0\n : viewport.scrollTop + delta,\n ),\n );\n } else {\n viewport.scrollLeft = Math.max(\n 0,\n Math.min(\n viewport.scrollWidth - viewport.clientWidth,\n delta === Infinity\n ? viewport.scrollWidth\n : delta === -Infinity\n ? 0\n : viewport.scrollLeft + delta,\n ),\n );\n }\n }\n\n // ── Visibility: show while hovering or dragging ───────────────────────────\n const visible = createMemo(\n () => ctx.hovering() || ctx.dragging() === props.orientation || active(),\n );\n\n return (\n <div\n ref={trackEl}\n data-slot=\"scroll-area-scrollbar\"\n // WCAG 4.1.2: expose as scrollbar widget\n role=\"scrollbar\"\n aria-controls=\"scroll-area-viewport\"\n aria-orientation={local.orientation}\n aria-valuenow={ariaValueNow()}\n aria-valuemin={0}\n aria-valuemax={100}\n tabIndex={0}\n onPointerDown={onTrackPointerDown}\n onKeyDown={onKeyDown}\n data-orientation={local.orientation}\n data-hovering={ctx.hovering() ? \"\" : undefined}\n class={clsx(\n // Layout\n \"absolute touch-none select-none transition-opacity duration-150\",\n // Opacity — visible on hover/drag, hidden otherwise\n visible() ? \"opacity-100\" : \"opacity-0\",\n // Axis-specific positioning & size\n isVertical()\n ? \"right-0 top-0 h-full w-2.5 border-l border-l-transparent p-px flex flex-col\"\n : \"bottom-0 left-0 w-full h-2.5 border-t border-t-transparent p-px flex flex-row\",\n // Keyboard focus ring\n \"outline-none focus-visible:ring-2 focus-visible:ring-neutral-400/70 dark:focus-visible:ring-neutral-500/70\",\n local.class,\n )}\n {...others}\n >\n <div\n data-slot=\"scroll-area-thumb\"\n onPointerDown={onThumbPointerDown}\n data-orientation={local.orientation}\n class={clsx(\n \"relative rounded-full bg-border\",\n // Hover / active state\n \"hover:bg-neutral-400 dark:hover:bg-white/30\",\n active() ? \"bg-neutral-500 dark:bg-white/40\" : \"\",\n \"transition-colors duration-100\",\n // Ensure thumb is always reachable\n isVertical() ? \"min-h-5 w-full\" : \"min-w-5 h-full\",\n )}\n style={thumbStyle()}\n />\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ScrollArrowButtonProps } from './ScrollArrows.types';
|
|
2
|
+
/**
|
|
3
|
+
* 单个滚动提示箭头:覆盖在列表上/下沿,悬停或按住时用 requestAnimationFrame
|
|
4
|
+
* 持续滚动目标容器,到边界后 scrollTop 不再变化即自动停止。
|
|
5
|
+
*
|
|
6
|
+
* 箭头是装饰元素(`aria-hidden`、不可聚焦),无障碍仍由列表自身的
|
|
7
|
+
* listbox/aria-activedescendant 承担。
|
|
8
|
+
*/
|
|
9
|
+
export declare function ScrollArrowButton(props: ScrollArrowButtonProps): import('solid-js').JSX.Element;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { clsx as e } from "../../utils/clsx.js";
|
|
2
|
+
import { className as t, createComponent as n, effect as r, insert as i, memo as a, setAttribute as o, template as s, use as c } from "solid-js/web";
|
|
3
|
+
import { Show as l, onCleanup as u } from "solid-js";
|
|
4
|
+
import { ChevronDown as d, ChevronUp as f } from "lucide-solid";
|
|
5
|
+
//#region src/components/scroll-arrows/ScrollArrowButton.tsx
|
|
6
|
+
var p = /*#__PURE__*/ s("<div aria-hidden=true data-slot=scroll-arrow>");
|
|
7
|
+
function m(s) {
|
|
8
|
+
let m, h = () => {
|
|
9
|
+
m !== void 0 && (cancelAnimationFrame(m), m = void 0);
|
|
10
|
+
}, g = () => {
|
|
11
|
+
let e = s.target();
|
|
12
|
+
if (!e) {
|
|
13
|
+
h();
|
|
14
|
+
return;
|
|
15
|
+
}
|
|
16
|
+
let t = Math.max(4, e.clientHeight / 24), n = e.scrollTop;
|
|
17
|
+
if (e.scrollTop = n + (s.direction === "down" ? t : -t), e.scrollTop === n) {
|
|
18
|
+
h();
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
m = requestAnimationFrame(g);
|
|
22
|
+
}, _ = () => {
|
|
23
|
+
h(), m = requestAnimationFrame(g);
|
|
24
|
+
}, v = (e) => {
|
|
25
|
+
e.addEventListener("pointerenter", _), e.addEventListener("pointerdown", _), e.addEventListener("pointerleave", h), e.addEventListener("pointerup", h), e.addEventListener("pointercancel", h), u(() => {
|
|
26
|
+
h(), e.removeEventListener("pointerenter", _), e.removeEventListener("pointerdown", _), e.removeEventListener("pointerleave", h), e.removeEventListener("pointerup", h), e.removeEventListener("pointercancel", h);
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
return n(l, {
|
|
30
|
+
get when() {
|
|
31
|
+
return s.visible;
|
|
32
|
+
},
|
|
33
|
+
get children() {
|
|
34
|
+
var l = p();
|
|
35
|
+
return c(v, l), i(l, (() => {
|
|
36
|
+
var e = a(() => s.direction === "down");
|
|
37
|
+
return () => e() ? n(d, {}) : n(f, {});
|
|
38
|
+
})()), r((n) => {
|
|
39
|
+
var r = s.direction, i = e("absolute inset-x-0 z-10 flex h-6 cursor-default items-center justify-center bg-popover text-muted-foreground select-none [&_svg]:size-4", s.direction === "down" ? "bottom-0" : "top-0", s.class);
|
|
40
|
+
return r !== n.e && o(l, "data-direction", n.e = r), i !== n.t && t(l, n.t = i), n;
|
|
41
|
+
}, {
|
|
42
|
+
e: void 0,
|
|
43
|
+
t: void 0
|
|
44
|
+
}), l;
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
//#endregion
|
|
49
|
+
export { m as ScrollArrowButton };
|
|
50
|
+
|
|
51
|
+
//# sourceMappingURL=ScrollArrowButton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollArrowButton.js","names":["Show","onCleanup","ChevronDown","ChevronUp","clsx","ScrollArrowButtonProps","ScrollArrowButton","props","frame","stop","undefined","cancelAnimationFrame","loop","el","target","step","Math","max","clientHeight","before","scrollTop","direction","requestAnimationFrame","start","attach","HTMLDivElement","addEventListener","removeEventListener","_$createComponent","when","visible","children","_el$","_tmpl$","_$use","_$insert","_c$","_$memo","_$effect","_p$","_v$","_v$2","class","e","_$setAttribute","t","_$className","_$createComponent","_$memo","_$setAttribute","_$className","_tmpl$","ScrollArrowButton","frame","stop","loop","el","props","step","before","start","attach","onCleanup","createComponent","Show","_el$","use","insert","_c$","memo","ChevronDown","ChevronUp","effect","_v$","_v$2","clsx","_p$","setAttribute","className"],"sources":["../../../src/components/scroll-arrows/ScrollArrowButton.tsx"],"sourcesContent":["import { Show, onCleanup } from \"solid-js\";\nimport { ChevronDown, ChevronUp } from \"lucide-solid\";\nimport { clsx } from \"~/utils\";\nimport type { ScrollArrowButtonProps } from \"./ScrollArrows.types\";\n\n/**\n * 单个滚动提示箭头:覆盖在列表上/下沿,悬停或按住时用 requestAnimationFrame\n * 持续滚动目标容器,到边界后 scrollTop 不再变化即自动停止。\n *\n * 箭头是装饰元素(`aria-hidden`、不可聚焦),无障碍仍由列表自身的\n * listbox/aria-activedescendant 承担。\n */\nexport function ScrollArrowButton(props: ScrollArrowButtonProps) {\n let frame: number | undefined;\n\n const stop = () => {\n if (frame !== undefined) {\n cancelAnimationFrame(frame);\n frame = undefined;\n }\n };\n\n const loop = () => {\n const el = props.target();\n if (!el) {\n stop();\n return;\n }\n // 每帧约滚动 1/24 高度,连续但不至于过快\n const step = Math.max(4, el.clientHeight / 24);\n const before = el.scrollTop;\n el.scrollTop = before + (props.direction === \"down\" ? step : -step);\n if (el.scrollTop === before) {\n stop();\n return;\n }\n frame = requestAnimationFrame(loop);\n };\n\n const start = () => {\n stop();\n frame = requestAnimationFrame(loop);\n };\n\n const attach = (el: HTMLDivElement) => {\n el.addEventListener(\"pointerenter\", start);\n el.addEventListener(\"pointerdown\", start);\n el.addEventListener(\"pointerleave\", stop);\n el.addEventListener(\"pointerup\", stop);\n el.addEventListener(\"pointercancel\", stop);\n onCleanup(() => {\n stop();\n el.removeEventListener(\"pointerenter\", start);\n el.removeEventListener(\"pointerdown\", start);\n el.removeEventListener(\"pointerleave\", stop);\n el.removeEventListener(\"pointerup\", stop);\n el.removeEventListener(\"pointercancel\", stop);\n });\n };\n\n return (\n <Show when={props.visible}>\n <div\n ref={attach}\n aria-hidden=\"true\"\n data-slot=\"scroll-arrow\"\n data-direction={props.direction}\n class={clsx(\n \"absolute inset-x-0 z-10 flex h-6 cursor-default items-center justify-center bg-popover text-muted-foreground select-none [&_svg]:size-4\",\n props.direction === \"down\" ? \"bottom-0\" : \"top-0\",\n props.class,\n )}\n >\n {props.direction === \"down\" ? <ChevronDown /> : <ChevronUp />}\n </div>\n </Show>\n );\n}\n"],"mappings":";;;;;;AAYA,SAAgBM,EAAkBC,GAA+B;CAC/D,IAAIC,GAEEC,UAAa;EACjB,AAAID,MAAUE,KAAAA,MACZC,qBAAqBH,CAAK,GAC1BA,IAAQE,KAAAA;CAEZ,GAEME,UAAa;EACjB,IAAMC,IAAKN,EAAMO,OAAO;EACxB,IAAI,CAACD,GAAI;GACPJ,EAAK;GACL;EACF;EAEA,IAAMM,IAAOC,KAAKC,IAAI,GAAGJ,EAAGK,eAAe,EAAE,GACvCC,IAASN,EAAGO;EAElB,IADAP,EAAGO,YAAYD,KAAUZ,EAAMc,cAAc,SAASN,IAAO,CAACA,IAC1DF,EAAGO,cAAcD,GAAQ;GAC3BV,EAAK;GACL;EACF;EACAD,IAAQc,sBAAsBV,CAAI;CACpC,GAEMW,UAAc;EAElBf,AADAC,EAAK,GACLD,IAAQc,sBAAsBV,CAAI;CACpC,GAEMY,KAAUX,MAAuB;EAMrCZ,AALAY,EAAGa,iBAAiB,gBAAgBH,CAAK,GACzCV,EAAGa,iBAAiB,eAAeH,CAAK,GACxCV,EAAGa,iBAAiB,gBAAgBjB,CAAI,GACxCI,EAAGa,iBAAiB,aAAajB,CAAI,GACrCI,EAAGa,iBAAiB,iBAAiBjB,CAAI,GACzCR,QAAgB;GAMdY,AALAJ,EAAK,GACLI,EAAGc,oBAAoB,gBAAgBJ,CAAK,GAC5CV,EAAGc,oBAAoB,eAAeJ,CAAK,GAC3CV,EAAGc,oBAAoB,gBAAgBlB,CAAI,GAC3CI,EAAGc,oBAAoB,aAAalB,CAAI,GACxCI,EAAGc,oBAAoB,iBAAiBlB,CAAI;EAC9C,CAAC;CACH;CAEA,OAAAmB,EACG5B,GAAI;EAAA,IAAC6B,OAAI;GAAA,OAAEtB,EAAMuB;EAAO;EAAA,IAAAC,WAAA;GAAA,IAAAC,IAAAC,EAAA;GAUpB,OAVoBC,EAEhBV,GAAMQ,CAAA,GAAAG,EAAAH,UAAA;IAAA,IAAAI,IAAAC,QAUV9B,EAAMc,cAAc,MAAM;IAAA,aAA1Be,EAAA,IAAAR,EAA8B1B,GAAW,CAAA,CAAA,IAAA0B,EAAOzB,GAAS,CAAA,CAAA;GAAG,EAAA,CAAA,CAAA,GAAAmC,GAAAC,MAAA;IAAA,IAAAC,IAP7CjC,EAAMc,WAASoB,IACxBrC,EACL,2IACAG,EAAMc,cAAc,SAAS,aAAa,SAC1Cd,EAAMmC,KACR;IAAC,OAAAF,MAAAD,EAAAI,KAAAC,EAAAZ,GAAA,kBAAAO,EAAAI,IAAAH,CAAA,GAAAC,MAAAF,EAAAM,KAAAC,EAAAd,GAAAO,EAAAM,IAAAJ,CAAA,GAAAF;GAAA,GAAA;IAAAI,GAAAjC,KAAAA;IAAAmC,GAAAnC,KAAAA;GAAA,CAAA,GAAAsB;EAAA;CAAA,CAAA;AAMT"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { ScrollArrowsProps } from './ScrollArrows.types';
|
|
3
|
+
/**
|
|
4
|
+
* 列表/菜单弹层通用的滚动提示:隐藏原生滚动条后,在上/下沿叠加箭头,
|
|
5
|
+
* 提示该方向还有内容;悬停或按住箭头会持续滚动,到边界后箭头自动隐藏。
|
|
6
|
+
* 放在滚动容器(定位祖先)内部即可,需要容器自身是定位元素。
|
|
7
|
+
*/
|
|
8
|
+
export declare function ScrollArrows(props: ScrollArrowsProps): JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { clsx as e } from "../../utils/clsx.js";
|
|
2
|
+
import { useScrollEdges as t } from "../../hooks/useScrollEdges.js";
|
|
3
|
+
import { ScrollArrowButton as n } from "./ScrollArrowButton.js";
|
|
4
|
+
import { createComponent as r } from "solid-js/web";
|
|
5
|
+
//#region src/components/scroll-arrows/ScrollArrows.tsx
|
|
6
|
+
function i(i) {
|
|
7
|
+
let { canScrollUp: a, canScrollDown: o } = t(() => i.target());
|
|
8
|
+
return [r(n, {
|
|
9
|
+
direction: "up",
|
|
10
|
+
get visible() {
|
|
11
|
+
return a();
|
|
12
|
+
},
|
|
13
|
+
get target() {
|
|
14
|
+
return i.target;
|
|
15
|
+
},
|
|
16
|
+
get class() {
|
|
17
|
+
return e(i.class, i.upClass);
|
|
18
|
+
}
|
|
19
|
+
}), r(n, {
|
|
20
|
+
direction: "down",
|
|
21
|
+
get visible() {
|
|
22
|
+
return o();
|
|
23
|
+
},
|
|
24
|
+
get target() {
|
|
25
|
+
return i.target;
|
|
26
|
+
},
|
|
27
|
+
get class() {
|
|
28
|
+
return e(i.class, i.downClass);
|
|
29
|
+
}
|
|
30
|
+
})];
|
|
31
|
+
}
|
|
32
|
+
//#endregion
|
|
33
|
+
export { i as ScrollArrows };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=ScrollArrows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScrollArrows.js","names":["JSX","clsx","useScrollEdges","ScrollArrowButton","ScrollArrowsProps","ScrollArrows","props","Element","canScrollUp","canScrollDown","target","_$createComponent","direction","visible","class","upClass","downClass","_$createComponent","ScrollArrows","useScrollEdges","props","createComponent","ScrollArrowButton","canScrollUp","\"class\"","clsx","canScrollDown"],"sources":["../../../src/components/scroll-arrows/ScrollArrows.tsx"],"sourcesContent":["import type { JSX } from \"solid-js\";\nimport { clsx } from \"~/utils\";\nimport { useScrollEdges } from \"~/hooks\";\nimport { ScrollArrowButton } from \"./ScrollArrowButton\";\nimport type { ScrollArrowsProps } from \"./ScrollArrows.types\";\n\n/**\n * 列表/菜单弹层通用的滚动提示:隐藏原生滚动条后,在上/下沿叠加箭头,\n * 提示该方向还有内容;悬停或按住箭头会持续滚动,到边界后箭头自动隐藏。\n * 放在滚动容器(定位祖先)内部即可,需要容器自身是定位元素。\n */\nexport function ScrollArrows(props: ScrollArrowsProps): JSX.Element {\n const { canScrollUp, canScrollDown } = useScrollEdges(() => props.target());\n\n return (\n <>\n <ScrollArrowButton\n direction=\"up\"\n visible={canScrollUp()}\n target={props.target}\n class={clsx(props.class, props.upClass)}\n />\n <ScrollArrowButton\n direction=\"down\"\n visible={canScrollDown()}\n target={props.target}\n class={clsx(props.class, props.downClass)}\n />\n </>\n );\n}\n"],"mappings":";;;;;AAWA,SAAgBK,EAAaC,GAAuC;CAClE,IAAM,EAAEE,gBAAaC,qBAAkBP,QAAqBI,EAAMI,OAAO,CAAC;CAE1E,OAAA,CAAAC,EAEKR,GAAiB;EAChBS,WAAS;EAAA,IACTC,UAAO;GAAA,OAAEL,EAAY;EAAC;EAAA,IACtBE,SAAM;GAAA,OAAEJ,EAAMI;EAAM;EAAA,IAAAc,QAAA;GAAA,OACbvB,EAAKK,EAAMQ,OAAOR,EAAMS,OAAO;EAAC;CAAA,CAAA,GAAAJ,EAExCR,GAAiB;EAChBS,WAAS;EAAA,IACTC,UAAO;GAAA,OAAEJ,EAAc;EAAC;EAAA,IACxBC,SAAM;GAAA,OAAEJ,EAAMI;EAAM;EAAA,IAAAc,QAAA;GAAA,OACbvB,EAAKK,EAAMQ,OAAOR,EAAMU,SAAS;EAAC;CAAA,CAAA,CAAA;AAIjD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Accessor } from 'solid-js';
|
|
2
|
+
export interface ScrollArrowsProps {
|
|
3
|
+
/** 滚动容器 accessor;组件内部据此计算上下边缘状态 */
|
|
4
|
+
target: Accessor<HTMLElement | undefined>;
|
|
5
|
+
/** 两个箭头共用的额外 class */
|
|
6
|
+
class?: string;
|
|
7
|
+
/** 顶部箭头额外 class(圆角等) */
|
|
8
|
+
upClass?: string;
|
|
9
|
+
/** 底部箭头额外 class(圆角等) */
|
|
10
|
+
downClass?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface ScrollArrowButtonProps {
|
|
13
|
+
direction: "up" | "down";
|
|
14
|
+
visible: boolean;
|
|
15
|
+
target: Accessor<HTMLElement | undefined>;
|
|
16
|
+
class?: string;
|
|
17
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.context.js","names":[],"sources":["../../../../src/components/select/Select/Select.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { SelectContextValue, SelectOptionValue } from \"./Select.types\";\n\nexport const SelectContext = createContext<SelectContextValue>();\n\nexport function useSelectContext(\n component: string,\n): SelectContextValue<SelectOptionValue> {\n const ctx = useContext(SelectContext);\n if (!ctx) {\n throw new Error(`<${component}> 必须渲染在 <Select> 内部`);\n }\n return ctx;\n}\n"],"mappings":";;AAGA,
|
|
1
|
+
{"version":3,"file":"Select.context.js","names":["SelectContext","createContext","useSelectContext","ctx","useContext","component"],"sources":["../../../../src/components/select/Select/Select.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { SelectContextValue, SelectOptionValue } from \"./Select.types\";\n\nexport const SelectContext = createContext<SelectContextValue>();\n\nexport function useSelectContext(\n component: string,\n): SelectContextValue<SelectOptionValue> {\n const ctx = useContext(SelectContext);\n if (!ctx) {\n throw new Error(`<${component}> 必须渲染在 <Select> 内部`);\n }\n return ctx;\n}\n"],"mappings":";;AAGA,IAAaA,IAAgBC,EAAkC;AAE/D,SAAgBC,EACd,GACuC;CACvC,IAAMC,IAAMC,EAAWJ,CAAa;CACpC,IAAI,CAACG,GACH,MAAU,MAAM,IAAIE,EAAU,oBAAoB;CAEpD,OAAOF;AACT"}
|
|
@@ -1,48 +1,51 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
1
|
+
import { useScrollLock as e } from "../../../hooks/useScrollLock.js";
|
|
2
|
+
import { SelectContext as t } from "./Select.context.js";
|
|
3
|
+
import { createComponent as n } from "solid-js/web";
|
|
4
|
+
import { createMemo as r, createSignal as i, createUniqueId as a } from "solid-js";
|
|
5
|
+
import { createStore as o, produce as s } from "solid-js/store";
|
|
5
6
|
//#region src/components/select/Select/Select.tsx
|
|
6
|
-
function
|
|
7
|
-
let [
|
|
8
|
-
|
|
9
|
-
}, [
|
|
10
|
-
|
|
11
|
-
|
|
7
|
+
function c(c) {
|
|
8
|
+
let [l, u] = i(c.defaultValue), d = r(() => c.value === void 0 ? l() : c.value), f = (e) => {
|
|
9
|
+
c.value === void 0 && u(() => e), c.onValueChange?.(e);
|
|
10
|
+
}, [p, m] = i(c.defaultOpen ?? !1), h = r(() => c.open === void 0 ? p() : c.open), g = r(() => !!c.disabled), _ = r(() => c.lockScroll ?? !0);
|
|
11
|
+
e(() => h() && _(), { allowedSelector: "[data-slot=\"select-content\"]" });
|
|
12
|
+
let v = (e) => {
|
|
13
|
+
c.open === void 0 && m(e), c.onOpenChange?.(e);
|
|
14
|
+
}, [y, b] = i(), [x, S] = i(), [C, w] = i(), [T, E] = o([]), D = `select-content-${a()}`, O = (e) => (E(s((t) => t.push(e))), () => E(s((t) => {
|
|
12
15
|
let n = t.findIndex((t) => t.value === e.value);
|
|
13
16
|
n !== -1 && t.splice(n, 1);
|
|
14
|
-
}))),
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
value:
|
|
18
|
-
setValue:
|
|
19
|
-
open:
|
|
20
|
-
setOpen:
|
|
21
|
-
disabled:
|
|
22
|
-
contentId:
|
|
23
|
-
reference:
|
|
24
|
-
setReference:
|
|
25
|
-
floating:
|
|
26
|
-
setFloating:
|
|
17
|
+
}))), k = () => v(!1), A = () => {
|
|
18
|
+
v(!1), y()?.focus?.();
|
|
19
|
+
}, j = {
|
|
20
|
+
value: d,
|
|
21
|
+
setValue: f,
|
|
22
|
+
open: h,
|
|
23
|
+
setOpen: v,
|
|
24
|
+
disabled: g,
|
|
25
|
+
contentId: D,
|
|
26
|
+
reference: y,
|
|
27
|
+
setReference: b,
|
|
28
|
+
floating: x,
|
|
29
|
+
setFloating: S,
|
|
27
30
|
get items() {
|
|
28
|
-
return
|
|
31
|
+
return T;
|
|
29
32
|
},
|
|
30
|
-
registerItem:
|
|
31
|
-
activeValue:
|
|
32
|
-
setActiveValue:
|
|
33
|
+
registerItem: O,
|
|
34
|
+
activeValue: C,
|
|
35
|
+
setActiveValue: w,
|
|
33
36
|
selectValue: (e) => {
|
|
34
|
-
|
|
37
|
+
f(e), A();
|
|
35
38
|
},
|
|
36
|
-
close:
|
|
39
|
+
close: k
|
|
37
40
|
};
|
|
38
|
-
return t
|
|
39
|
-
value:
|
|
41
|
+
return n(t.Provider, {
|
|
42
|
+
value: j,
|
|
40
43
|
get children() {
|
|
41
|
-
return
|
|
44
|
+
return c.children;
|
|
42
45
|
}
|
|
43
46
|
});
|
|
44
47
|
}
|
|
45
48
|
//#endregion
|
|
46
|
-
export {
|
|
49
|
+
export { c as Select };
|
|
47
50
|
|
|
48
51
|
//# sourceMappingURL=Select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["createSignal","createMemo","createUniqueId","JSX","createStore","produce","SelectContext","SelectContextValue","SelectItemMeta","SelectOptionValue","SelectProps","Select","props","T","Element","internalValue","setInternalValue","defaultValue","value","undefined","setValue","v","onValueChange","internalOpen","setInternalOpen","defaultOpen","open","disabled","setOpen","next","onOpenChange","reference","setReference","floating","setFloating","HTMLElement","activeValue","setActiveValue","items","setItems","contentId","registerItem","item","list","push","idx","findIndex","it","splice","close","closeAndFocusTrigger","focus","selectValue","ctx","_$createComponent","Provider","children"],"sources":["../../../../src/components/select/Select/Select.tsx"],"sourcesContent":["import { createSignal, createMemo, createUniqueId, type JSX } from \"solid-js\";\nimport { createStore, produce } from \"solid-js/store\";\nimport { SelectContext } from \"./Select.context\";\nimport type {\n SelectContextValue,\n SelectItemMeta,\n SelectOptionValue,\n SelectProps,\n} from \"./Select.types\";\n\n/**\n * Select 根组件:不渲染任何 DOM,只负责状态管理 + 提供 context。\n * 真正的展示交给 <SelectTrigger>/<SelectValue>/<SelectContent>/<SelectItem>。\n *\n * 泛型 T 约束为 string | number,用于约束 value / defaultValue /\n * onValueChange / SelectItem.value 的类型。\n *\n * @example\n * ```tsx\n * <Select value={fruit()} onValueChange={setFruit}>\n * <SelectTrigger>\n * <SelectValue placeholder=\"选择一个水果\" />\n * </SelectTrigger>\n * <SelectContent>\n * <SelectItem value=\"apple\">苹果</SelectItem>\n * </SelectContent>\n * </Select>\n * ```\n */\nexport function Select<T extends SelectOptionValue = string>(\n props: SelectProps<T>,\n): JSX.Element {\n const [internalValue, setInternalValue] = createSignal<T | undefined>(\n props.defaultValue,\n );\n const value = createMemo(() =>\n props.value !== undefined ? props.value : internalValue(),\n );\n\n const setValue = (v: T) => {\n if (props.value === undefined) setInternalValue(() => v);\n props.onValueChange?.(v);\n };\n\n const [internalOpen, setInternalOpen] = createSignal(\n props.defaultOpen ?? false,\n );\n const open = createMemo(() =>\n props.open !== undefined ? props.open : internalOpen(),\n );\n const disabled = createMemo(() => !!props.disabled);\n\n const setOpen = (next: boolean) => {\n if (props.open === undefined) setInternalOpen(next);\n props.onOpenChange?.(next);\n };\n\n const [reference, setReference] = createSignal<Element>();\n const [floating, setFloating] = createSignal<HTMLElement>();\n const [activeValue, setActiveValue] = createSignal<T>();\n const [items, setItems] = createStore<SelectItemMeta<SelectOptionValue>[]>(\n [],\n );\n const contentId = `select-content-${createUniqueId()}`;\n\n const registerItem = (item: SelectItemMeta<SelectOptionValue>) => {\n setItems(produce((list) => list.push(item)));\n return () =>\n setItems(\n produce((list) => {\n const idx = list.findIndex((it) => it.value === item.value);\n if (idx !== -1) list.splice(idx, 1);\n }),\n );\n };\n\n const close = () => setOpen(false);\n\n const closeAndFocusTrigger = () => {\n setOpen(false);\n (reference() as HTMLElement | undefined)?.focus?.();\n };\n\n const selectValue = (v: SelectOptionValue) => {\n setValue(v as T);\n closeAndFocusTrigger();\n };\n\n const ctx: SelectContextValue = {\n value: value as SelectContextValue[\"value\"],\n setValue: setValue as SelectContextValue[\"setValue\"],\n open,\n setOpen,\n disabled,\n contentId,\n reference,\n setReference,\n floating,\n setFloating,\n get items() {\n return items;\n },\n registerItem,\n activeValue: activeValue as SelectContextValue[\"activeValue\"],\n setActiveValue: setActiveValue as SelectContextValue[\"setActiveValue\"],\n selectValue,\n close,\n };\n\n return (\n <SelectContext.Provider value={ctx}>\n {props.children}\n </SelectContext.Provider>\n );\n}\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"Select.js","names":["createSignal","createMemo","createUniqueId","JSX","createStore","produce","useScrollLock","SelectContext","SelectContextValue","SelectItemMeta","SelectOptionValue","SelectProps","Select","props","T","Element","internalValue","setInternalValue","defaultValue","value","undefined","setValue","v","onValueChange","internalOpen","setInternalOpen","defaultOpen","open","disabled","lockScroll","allowedSelector","setOpen","next","onOpenChange","reference","setReference","floating","setFloating","HTMLElement","activeValue","setActiveValue","items","setItems","contentId","registerItem","item","list","push","idx","findIndex","it","splice","close","closeAndFocusTrigger","focus","selectValue","ctx","_$createComponent","Provider","children","_$createComponent","Select","internalValue","setInternalValue","createSignal","props","value","createMemo","setValue","v","internalOpen","setInternalOpen","open","disabled","lockScroll","setOpen","next","reference","setReference","floating","setFloating","activeValue","setActiveValue","items","setItems","createStore","contentId","createUniqueId","registerItem","produce","list","item","idx","it","close","closeAndFocusTrigger","ctx","createComponent","SelectContext"],"sources":["../../../../src/components/select/Select/Select.tsx"],"sourcesContent":["import { createSignal, createMemo, createUniqueId, type JSX } from \"solid-js\";\nimport { createStore, produce } from \"solid-js/store\";\nimport { useScrollLock } from \"~/hooks\";\nimport { SelectContext } from \"./Select.context\";\nimport type {\n SelectContextValue,\n SelectItemMeta,\n SelectOptionValue,\n SelectProps,\n} from \"./Select.types\";\n\n/**\n * Select 根组件:不渲染任何 DOM,只负责状态管理 + 提供 context。\n * 真正的展示交给 <SelectTrigger>/<SelectValue>/<SelectContent>/<SelectItem>。\n *\n * 泛型 T 约束为 string | number,用于约束 value / defaultValue /\n * onValueChange / SelectItem.value 的类型。\n *\n * @example\n * ```tsx\n * <Select value={fruit()} onValueChange={setFruit}>\n * <SelectTrigger>\n * <SelectValue placeholder=\"选择一个水果\" />\n * </SelectTrigger>\n * <SelectContent>\n * <SelectItem value=\"apple\">苹果</SelectItem>\n * </SelectContent>\n * </Select>\n * ```\n */\nexport function Select<T extends SelectOptionValue = string>(\n props: SelectProps<T>,\n): JSX.Element {\n const [internalValue, setInternalValue] = createSignal<T | undefined>(\n props.defaultValue,\n );\n const value = createMemo(() =>\n props.value !== undefined ? props.value : internalValue(),\n );\n\n const setValue = (v: T) => {\n if (props.value === undefined) setInternalValue(() => v);\n props.onValueChange?.(v);\n };\n\n const [internalOpen, setInternalOpen] = createSignal(\n props.defaultOpen ?? false,\n );\n const open = createMemo(() =>\n props.open !== undefined ? props.open : internalOpen(),\n );\n const disabled = createMemo(() => !!props.disabled);\n const lockScroll = createMemo(() => props.lockScroll ?? true);\n\n // 打开期间默认锁定页面滚动:锁住文档滚动并拦截浮层之外的滚轮/触摸,\n // 面板自身仍可滚动。传 lockScroll={false} 可关闭该行为。\n useScrollLock(() => open() && lockScroll(), {\n allowedSelector: '[data-slot=\"select-content\"]',\n });\n\n const setOpen = (next: boolean) => {\n if (props.open === undefined) setInternalOpen(next);\n props.onOpenChange?.(next);\n };\n\n const [reference, setReference] = createSignal<Element>();\n const [floating, setFloating] = createSignal<HTMLElement>();\n const [activeValue, setActiveValue] = createSignal<T>();\n const [items, setItems] = createStore<SelectItemMeta<SelectOptionValue>[]>(\n [],\n );\n const contentId = `select-content-${createUniqueId()}`;\n\n const registerItem = (item: SelectItemMeta<SelectOptionValue>) => {\n setItems(produce((list) => list.push(item)));\n return () =>\n setItems(\n produce((list) => {\n const idx = list.findIndex((it) => it.value === item.value);\n if (idx !== -1) list.splice(idx, 1);\n }),\n );\n };\n\n const close = () => setOpen(false);\n\n const closeAndFocusTrigger = () => {\n setOpen(false);\n (reference() as HTMLElement | undefined)?.focus?.();\n };\n\n const selectValue = (v: SelectOptionValue) => {\n setValue(v as T);\n closeAndFocusTrigger();\n };\n\n const ctx: SelectContextValue = {\n value: value as SelectContextValue[\"value\"],\n setValue: setValue as SelectContextValue[\"setValue\"],\n open,\n setOpen,\n disabled,\n contentId,\n reference,\n setReference,\n floating,\n setFloating,\n get items() {\n return items;\n },\n registerItem,\n activeValue: activeValue as SelectContextValue[\"activeValue\"],\n setActiveValue: setActiveValue as SelectContextValue[\"setActiveValue\"],\n selectValue,\n close,\n };\n\n return (\n <SelectContext.Provider value={ctx}>\n {props.children}\n </SelectContext.Provider>\n );\n}\n"],"mappings":";;;;;;AA8BA,SAAgBY,EACdC,GACa;CACb,IAAM,CAACG,GAAeC,KAAoBjB,EACxCa,EAAMK,YACR,GACMC,IAAQlB,QACZY,EAAMM,UAAUC,KAAAA,IAA0BJ,EAAc,IAA5BH,EAAMM,KACpC,GAEME,KAAYC,MAAS;EAEzBT,AADIA,EAAMM,UAAUC,KAAAA,KAAWH,QAAuBK,CAAC,GACvDT,EAAMU,gBAAgBD,CAAC;CACzB,GAEM,CAACE,GAAcC,KAAmBzB,EACtCa,EAAMa,eAAe,EACvB,GACMC,IAAO1B,QACXY,EAAMc,SAASP,KAAAA,IAAyBI,EAAa,IAA1BX,EAAMc,IACnC,GACMC,IAAW3B,QAAiB,CAAC,CAACY,EAAMe,QAAQ,GAC5CC,IAAa5B,QAAiBY,EAAMgB,cAAc,EAAI;CAI5DvB,QAAoBqB,EAAK,KAAKE,EAAW,GAAG,EAC1CC,iBAAiB,iCACnB,CAAC;CAED,IAAMC,KAAWC,MAAkB;EAEjCnB,AADIA,EAAMc,SAASP,KAAAA,KAAWK,EAAgBO,CAAI,GAClDnB,EAAMoB,eAAeD,CAAI;CAC3B,GAEM,CAACE,GAAWC,KAAgBnC,EAAsB,GAClD,CAACoC,GAAUC,KAAerC,EAA0B,GACpD,CAACuC,GAAaC,KAAkBxC,EAAgB,GAChD,CAACyC,GAAOC,KAAYtC,EACxB,CAAA,CACF,GACMuC,IAAY,kBAAkBzC,EAAe,KAE7C0C,KAAgBC,OACpBH,EAASrC,GAASyC,MAASA,EAAKC,KAAKF,CAAI,CAAC,CAAC,SAEzCH,EACErC,GAASyC,MAAS;EAChB,IAAME,IAAMF,EAAKG,WAAWC,MAAOA,EAAG/B,UAAU0B,EAAK1B,KAAK;EAC1D,AAAI6B,MAAQ,MAAIF,EAAKK,OAAOH,GAAK,CAAC;CACpC,CAAC,CACH,IAGEI,UAAcrB,EAAQ,EAAK,GAE3BsB,UAA6B;EAEjC,AADAtB,EAAQ,EAAK,GACb8C,EAAW,CAAC,EAA8BvB,QAAQ;CACpD,GAOME,IAA0B;EACvBrC;EACGE;EACVM;EACAI;EACAH;EACAe;EACAT;EACAC;EACAC;EACAC;EACA,IAAII,QAAQ;GACV,OAAOA;EACT;EACAG;EACaL;EACGC;EAChBe,cAtBmBjC,MAAyB;GAE5C+B,AADAhC,EAASC,CAAM,GACf+B,EAAqB;EACvB;EAoBED;CACF;CAEA,OAAAK,EACGlD,EAAcmD,UAAQ;EAACvC,OAAOqC;EAAG,IAAAG,WAAA;GAAA,OAC/B9C,EAAM8C;EAAQ;CAAA,CAAA;AAGrB"}
|
|
@@ -19,6 +19,11 @@ export interface SelectProps<T extends SelectOptionValue = string> extends Paren
|
|
|
19
19
|
defaultOpen?: boolean;
|
|
20
20
|
onOpenChange?: (open: boolean) => void;
|
|
21
21
|
disabled?: boolean;
|
|
22
|
+
/**
|
|
23
|
+
* 打开时是否锁定页面滚动,默认 true:锁住文档滚动并拦截浮层之外的
|
|
24
|
+
* 滚轮/触摸滚动,面板自身仍可滚动。
|
|
25
|
+
*/
|
|
26
|
+
lockScroll?: boolean;
|
|
22
27
|
}
|
|
23
28
|
export interface SelectContextValue<T extends SelectOptionValue = SelectOptionValue> {
|
|
24
29
|
value: Accessor<T | null | undefined>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { SelectContentProps } from './SelectContent.types';
|
|
2
|
-
export declare function SelectContent(props: SelectContentProps): import(
|
|
2
|
+
export declare function SelectContent(props: SelectContentProps): import('solid-js').JSX.Element;
|
|
@@ -1,80 +1,85 @@
|
|
|
1
1
|
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
2
|
import { useSelectContent as t } from "./useSelectContent.js";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ScrollArrows as n } from "../../scroll-arrows/ScrollArrows.js";
|
|
4
|
+
import { Portal as r, createComponent as i, effect as a, insert as o, mergeProps as s, spread as c, style as l, template as u, use as d } from "solid-js/web";
|
|
5
|
+
import { createEffect as f, createMemo as p, onCleanup as m, splitProps as h } from "solid-js";
|
|
5
6
|
//#region src/components/select/SelectContent/SelectContent.tsx
|
|
6
|
-
var
|
|
7
|
-
function
|
|
8
|
-
let { ctx:
|
|
7
|
+
var g = /*#__PURE__*/ u("<div data-slot=select-content style=z-index:1000><div role=listbox>");
|
|
8
|
+
function _(u) {
|
|
9
|
+
let { ctx: _, pos: v, maxHeight: y, isVisible: b, animationState: x, contentElement: S, setContentElement: C } = t(() => u), [w, T] = h(u, [
|
|
9
10
|
"placement",
|
|
10
11
|
"collisionPadding",
|
|
11
12
|
"class",
|
|
12
13
|
"style",
|
|
13
14
|
"children"
|
|
14
|
-
]),
|
|
15
|
-
let t =
|
|
15
|
+
]), E = p(() => _.items.filter((e) => !e.disabled)), D = (e) => {
|
|
16
|
+
let t = E();
|
|
16
17
|
if (t.length === 0) return;
|
|
17
|
-
let n = (t.findIndex((e) => e.value ===
|
|
18
|
-
|
|
19
|
-
},
|
|
18
|
+
let n = (t.findIndex((e) => e.value === _.activeValue()) + e + t.length) % t.length;
|
|
19
|
+
_.setActiveValue(t[n].value);
|
|
20
|
+
}, O = (e) => {
|
|
20
21
|
switch (e.key) {
|
|
21
22
|
case "ArrowDown":
|
|
22
|
-
e.preventDefault(),
|
|
23
|
+
e.preventDefault(), D(1);
|
|
23
24
|
break;
|
|
24
25
|
case "ArrowUp":
|
|
25
|
-
e.preventDefault(),
|
|
26
|
+
e.preventDefault(), D(-1);
|
|
26
27
|
break;
|
|
27
28
|
case "Enter":
|
|
28
29
|
case " ":
|
|
29
|
-
e.preventDefault(),
|
|
30
|
+
e.preventDefault(), _.activeValue() !== void 0 && _.selectValue(_.activeValue());
|
|
30
31
|
break;
|
|
31
32
|
case "Escape":
|
|
32
|
-
e.preventDefault(),
|
|
33
|
+
e.preventDefault(), _.close();
|
|
33
34
|
break;
|
|
34
|
-
case "Tab":
|
|
35
|
+
case "Tab": _.setOpen(!1);
|
|
35
36
|
}
|
|
36
37
|
};
|
|
37
|
-
return
|
|
38
|
-
if (!
|
|
38
|
+
return f(() => {
|
|
39
|
+
if (!_.open()) return;
|
|
39
40
|
let e = (e) => {
|
|
40
41
|
let t = e.target;
|
|
41
|
-
!
|
|
42
|
+
!_.reference()?.contains(t) && !_.floating()?.contains(t) && (_.setOpen(!1), e.stopPropagation());
|
|
42
43
|
};
|
|
43
|
-
document.addEventListener("pointerdown", e, { capture: !0 }),
|
|
44
|
-
}),
|
|
45
|
-
|
|
46
|
-
}),
|
|
47
|
-
let e =
|
|
48
|
-
|
|
49
|
-
}), r
|
|
50
|
-
var t =
|
|
51
|
-
return
|
|
52
|
-
|
|
53
|
-
}, t),
|
|
44
|
+
document.addEventListener("pointerdown", e, { capture: !0 }), m(() => document.removeEventListener("pointerdown", e, { capture: !0 }));
|
|
45
|
+
}), f(() => {
|
|
46
|
+
_.open() && (document.addEventListener("keydown", O), m(() => document.removeEventListener("keydown", O)));
|
|
47
|
+
}), f(() => {
|
|
48
|
+
let e = _.activeValue(), t = S();
|
|
49
|
+
e && t && t.querySelector(`[data-value="${CSS.escape(String(e))}"]`)?.scrollIntoView({ block: "nearest" });
|
|
50
|
+
}), i(r, { get children() {
|
|
51
|
+
var t = g(), r = t.firstChild;
|
|
52
|
+
return d((e) => {
|
|
53
|
+
_.setFloating(e), m(() => _.setFloating(void 0));
|
|
54
|
+
}, t), d(C, r), c(r, s({
|
|
54
55
|
get "data-state"() {
|
|
55
|
-
return
|
|
56
|
+
return x();
|
|
56
57
|
},
|
|
57
58
|
get style() {
|
|
58
59
|
return {
|
|
59
60
|
position: "relative",
|
|
60
|
-
width:
|
|
61
|
-
"max-height":
|
|
61
|
+
width: v.middlewareData().matchWidth?.width ? `${v.middlewareData().matchWidth.width}px` : void 0,
|
|
62
|
+
"max-height": y() ? `${y()}px` : void 0,
|
|
62
63
|
overflow: "auto",
|
|
63
|
-
...typeof
|
|
64
|
+
...typeof w.style == "object" ? w.style : void 0
|
|
64
65
|
};
|
|
65
66
|
},
|
|
66
67
|
get class() {
|
|
67
|
-
return e("min-w-36", "rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100", "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95",
|
|
68
|
+
return e("min-w-36", "no-scrollbar [&::-webkit-scrollbar]:hidden", "rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100", "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95", w.class);
|
|
68
69
|
}
|
|
69
|
-
},
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
}, T), !1, !0), o(r, () => w.children), o(t, i(n, {
|
|
71
|
+
target: S,
|
|
72
|
+
upClass: "rounded-t-lg",
|
|
73
|
+
downClass: "rounded-b-lg"
|
|
74
|
+
}), null), a((e) => l(t, {
|
|
75
|
+
...v.floatingStyles(),
|
|
76
|
+
opacity: b() && v.isPositioned() ? 1 : 0,
|
|
77
|
+
"pointer-events": b() ? "auto" : "none",
|
|
78
|
+
visibility: b() ? "visible" : "hidden"
|
|
74
79
|
}, e)), t;
|
|
75
80
|
} });
|
|
76
81
|
}
|
|
77
82
|
//#endregion
|
|
78
|
-
export {
|
|
83
|
+
export { _ as SelectContent };
|
|
79
84
|
|
|
80
85
|
//# sourceMappingURL=SelectContent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectContent.js","names":["onCleanup","splitProps","createMemo","createEffect","Portal","useSelectContent","SelectContentProps","clsx","SelectContent","props","ctx","pos","maxHeight","isVisible","animationState","contentElement","setContentElement","local","rest","enabledItems","items","filter","it","disabled","moveActive","dir","list","length","currentIndex","findIndex","value","activeValue","nextIndex","setActiveValue","onKeyDown","e","KeyboardEvent","key","preventDefault","undefined","selectValue","close","setOpen","open","onPointerDown","PointerEvent","target","Node","reference","contains","floating","stopPropagation","document","addEventListener","capture","removeEventListener","active","el","querySelector","HTMLElement","CSS","escape","String","scrollIntoView","block","_$createComponent","children","_el$","_tmpl$","_el$2","firstChild","_$use","setFloating","_$spread","_$mergeProps","data-state","style","position","width","middlewareData","matchWidth","overflow","class","_$insert","_$effect","_$p","_$style","floatingStyles","opacity","isPositioned","visibility"],"sources":["../../../../src/components/select/SelectContent/SelectContent.tsx"],"sourcesContent":["import { onCleanup, splitProps, createMemo, createEffect } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { useSelectContent } from \"./useSelectContent\";\nimport type { SelectContentProps } from \"./SelectContent.types\";\nimport { clsx } from \"~/utils\";\n\nexport function SelectContent(props: SelectContentProps) {\n const {\n ctx,\n pos,\n maxHeight,\n isVisible,\n animationState,\n contentElement,\n setContentElement,\n } = useSelectContent(() => props);\n\n const [local, rest] = splitProps(props, [\n \"placement\",\n \"collisionPadding\",\n \"class\",\n \"style\",\n \"children\",\n ]);\n\n const enabledItems = createMemo(() => ctx.items.filter((it) => !it.disabled));\n\n const moveActive = (dir: 1 | -1) => {\n const list = enabledItems();\n if (list.length === 0) return;\n const currentIndex = list.findIndex((it) => it.value === ctx.activeValue());\n const nextIndex = (currentIndex + dir + list.length) % list.length;\n ctx.setActiveValue(list[nextIndex].value);\n };\n\n const onKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault();\n moveActive(1);\n break;\n case \"ArrowUp\":\n e.preventDefault();\n moveActive(-1);\n break;\n case \"Enter\":\n case \" \":\n e.preventDefault();\n if (ctx.activeValue() !== undefined)\n ctx.selectValue(ctx.activeValue()!);\n break;\n case \"Escape\":\n e.preventDefault();\n ctx.close();\n break;\n case \"Tab\":\n ctx.setOpen(false);\n break;\n }\n };\n\n // 点击外部关闭:捕获阶段监听 + stopPropagation,在事件还没下沉到真正的目标\n // 元素之前就拦截掉,避免点击穿透到浮层下面被盖住的元素(细节见\n // production-tooltip 那边点击穿透问题的排查记录,这里直接复用同一个模式)。\n createEffect(() => {\n if (!ctx.open()) return;\n const onPointerDown = (e: PointerEvent) => {\n const target = e.target as Node;\n if (\n !ctx.reference()?.contains(target) &&\n !ctx.floating()?.contains(target)\n ) {\n ctx.setOpen(false);\n e.stopPropagation();\n }\n };\n document.addEventListener(\"pointerdown\", onPointerDown, { capture: true });\n onCleanup(() =>\n document.removeEventListener(\"pointerdown\", onPointerDown, {\n capture: true,\n }),\n );\n });\n\n // 打开时把键盘事件绑到 document,这样不需要抢 focus 也能用方向键\n createEffect(() => {\n if (!ctx.open()) return;\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n // 高亮项变化时自动滚动到可见区域\n createEffect(() => {\n const active = ctx.activeValue();\n const el = contentElement();\n if (!active || !el) return;\n el.querySelector<HTMLElement>(\n `[data-value=\"${CSS.escape(String(active))}\"]`,\n )?.scrollIntoView({ block: \"nearest\" });\n });\n\n return (\n <Portal>\n {/*\n 外层:只负责定位(position:fixed 来自 floatingStyles),不参与动画。\n 它的 transform 专门用来做 translate(x,y) 定位——如果内层的 zoom-in-95\n 动画也放在这一层,两者会互相冲突(细节见 SelectContent.utils.ts 顶部\n 的注释)。\n\n 关闭时不再卸载整个 Portal,而是用 visibility/pointer-events 隐藏:\n SelectItem 通过 onMount 向 ctx 注册 item 元数据,如果关闭时把子节点\n 卸载掉,ctx.items 会被清空,SelectValue 就无法再用 item.label 渲染\n 已选值。让子节点持续挂载,items 的注册生命周期才和 SelectContent\n 本身一致;隐藏只是视觉/交互上的关闭,不影响数据。\n */}\n <div\n data-slot=\"select-content\"\n ref={(el) => {\n ctx.setFloating(el);\n // 元素卸载时清空 ctx.floating(),避免后续读到已从 DOM 摘除的\n // 僵尸节点(Solid 的 ref 回调只在创建时触发一次,不会自动在\n // 卸载时传 undefined)。\n onCleanup(() => ctx.setFloating(undefined));\n }}\n style={{\n ...pos.floatingStyles(),\n \"z-index\": 1000,\n opacity: isVisible() && pos.isPositioned() ? 1 : 0,\n \"pointer-events\": isVisible() ? \"auto\" : \"none\",\n visibility: isVisible() ? \"visible\" : \"hidden\",\n }}\n >\n {/*\n 内层:真正的视觉样式 + overflow:auto 滚动 + 进出场动画。\n position: relative 是为了让它成为内部所有选项的 offsetParent——\n \"选中项对齐\"这套定位策略要用 offsetTop 算选项在列表里的位置,\n 这个值必须相对\"真正会滚动的这个元素\"才准确,不能让它被外层\n (不滚动)抢走 offsetParent 的身份。\n */}\n <div\n ref={setContentElement}\n role=\"listbox\"\n data-state={animationState()}\n style={{\n position: \"relative\",\n width: pos.middlewareData().matchWidth?.width\n ? `${pos.middlewareData().matchWidth.width}px`\n : undefined,\n \"max-height\": maxHeight() ? `${maxHeight()}px` : undefined,\n overflow: \"auto\",\n ...(typeof local.style === \"object\" ? local.style : undefined),\n }}\n class={clsx(\n \"min-w-36\",\n \"rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100\",\n // 只保留入场动画,没有退场动画:关闭瞬间外层直接 visibility:hidden,\n // data-state 也立即切回 closed,没有退场动画阶段,自然不会出现\n // 选中项变更时\"面板先跳一下再消失\"的问题。duration-100(100ms)\n // 比默认的 150ms 更短——下拉菜单这种高频交互的组件,动画应该比\n // tooltip 更快、更利落。\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n local.class,\n )}\n {...rest}\n >\n {local.children}\n </div>\n </div>\n </Portal>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectContent.js","names":["onCleanup","splitProps","createMemo","createEffect","Portal","useSelectContent","ScrollArrows","SelectContentProps","clsx","SelectContent","props","ctx","pos","maxHeight","isVisible","animationState","contentElement","setContentElement","local","rest","enabledItems","items","filter","it","disabled","moveActive","dir","list","length","currentIndex","findIndex","value","activeValue","nextIndex","setActiveValue","onKeyDown","e","KeyboardEvent","key","preventDefault","undefined","selectValue","close","setOpen","open","onPointerDown","PointerEvent","target","Node","reference","contains","floating","stopPropagation","document","addEventListener","capture","removeEventListener","active","el","querySelector","HTMLElement","CSS","escape","String","scrollIntoView","block","_$createComponent","children","_el$","_tmpl$","_el$2","firstChild","_$use","setFloating","_$spread","_$mergeProps","data-state","style","position","width","middlewareData","matchWidth","overflow","class","_$insert","upClass","downClass","_$effect","_$p","_$style","floatingStyles","opacity","isPositioned","visibility","_$createComponent","_$mergeProps","_$style","_tmpl$","SelectContent","useSelectContent","props","local","rest","splitProps","enabledItems","createMemo","ctx","it","moveActive","list","nextIndex","dir","onKeyDown","createEffect","onPointerDown","target","onCleanup","active","el","contentElement","createComponent","Portal","_el$","_el$2","use","setContentElement","spread","mergeProps","animationState","pos","maxHeight","\"class\"","clsx","insert","ScrollArrows","effect","style","isVisible","_$p"],"sources":["../../../../src/components/select/SelectContent/SelectContent.tsx"],"sourcesContent":["import { onCleanup, splitProps, createMemo, createEffect } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { useSelectContent } from \"./useSelectContent\";\nimport { ScrollArrows } from \"~/components/scroll-arrows\";\nimport type { SelectContentProps } from \"./SelectContent.types\";\nimport { clsx } from \"~/utils\";\n\nexport function SelectContent(props: SelectContentProps) {\n const {\n ctx,\n pos,\n maxHeight,\n isVisible,\n animationState,\n contentElement,\n setContentElement,\n } = useSelectContent(() => props);\n\n const [local, rest] = splitProps(props, [\n \"placement\",\n \"collisionPadding\",\n \"class\",\n \"style\",\n \"children\",\n ]);\n\n const enabledItems = createMemo(() => ctx.items.filter((it) => !it.disabled));\n\n const moveActive = (dir: 1 | -1) => {\n const list = enabledItems();\n if (list.length === 0) return;\n const currentIndex = list.findIndex((it) => it.value === ctx.activeValue());\n const nextIndex = (currentIndex + dir + list.length) % list.length;\n ctx.setActiveValue(list[nextIndex].value);\n };\n\n const onKeyDown = (e: KeyboardEvent) => {\n switch (e.key) {\n case \"ArrowDown\":\n e.preventDefault();\n moveActive(1);\n break;\n case \"ArrowUp\":\n e.preventDefault();\n moveActive(-1);\n break;\n case \"Enter\":\n case \" \":\n e.preventDefault();\n if (ctx.activeValue() !== undefined)\n ctx.selectValue(ctx.activeValue()!);\n break;\n case \"Escape\":\n e.preventDefault();\n ctx.close();\n break;\n case \"Tab\":\n ctx.setOpen(false);\n break;\n }\n };\n\n // 点击外部关闭:捕获阶段监听 + stopPropagation,在事件还没下沉到真正的目标\n // 元素之前就拦截掉,避免点击穿透到浮层下面被盖住的元素(细节见\n // production-tooltip 那边点击穿透问题的排查记录,这里直接复用同一个模式)。\n createEffect(() => {\n if (!ctx.open()) return;\n const onPointerDown = (e: PointerEvent) => {\n const target = e.target as Node;\n if (\n !ctx.reference()?.contains(target) &&\n !ctx.floating()?.contains(target)\n ) {\n ctx.setOpen(false);\n e.stopPropagation();\n }\n };\n document.addEventListener(\"pointerdown\", onPointerDown, { capture: true });\n onCleanup(() =>\n document.removeEventListener(\"pointerdown\", onPointerDown, {\n capture: true,\n }),\n );\n });\n\n // 打开时把键盘事件绑到 document,这样不需要抢 focus 也能用方向键\n createEffect(() => {\n if (!ctx.open()) return;\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n // 高亮项变化时自动滚动到可见区域\n createEffect(() => {\n const active = ctx.activeValue();\n const el = contentElement();\n if (!active || !el) return;\n el.querySelector<HTMLElement>(\n `[data-value=\"${CSS.escape(String(active))}\"]`,\n )?.scrollIntoView({ block: \"nearest\" });\n });\n\n return (\n <Portal>\n {/*\n 外层:只负责定位(position:fixed 来自 floatingStyles),不参与动画。\n 它的 transform 专门用来做 translate(x,y) 定位——如果内层的 zoom-in-95\n 动画也放在这一层,两者会互相冲突(细节见 SelectContent.utils.ts 顶部\n 的注释)。\n\n 关闭时不再卸载整个 Portal,而是用 visibility/pointer-events 隐藏:\n SelectItem 通过 onMount 向 ctx 注册 item 元数据,如果关闭时把子节点\n 卸载掉,ctx.items 会被清空,SelectValue 就无法再用 item.label 渲染\n 已选值。让子节点持续挂载,items 的注册生命周期才和 SelectContent\n 本身一致;隐藏只是视觉/交互上的关闭,不影响数据。\n */}\n <div\n data-slot=\"select-content\"\n ref={(el) => {\n ctx.setFloating(el);\n // 元素卸载时清空 ctx.floating(),避免后续读到已从 DOM 摘除的\n // 僵尸节点(Solid 的 ref 回调只在创建时触发一次,不会自动在\n // 卸载时传 undefined)。\n onCleanup(() => ctx.setFloating(undefined));\n }}\n style={{\n ...pos.floatingStyles(),\n \"z-index\": 1000,\n opacity: isVisible() && pos.isPositioned() ? 1 : 0,\n \"pointer-events\": isVisible() ? \"auto\" : \"none\",\n visibility: isVisible() ? \"visible\" : \"hidden\",\n }}\n >\n {/*\n 内层:真正的视觉样式 + overflow:auto 滚动 + 进出场动画。\n position: relative 是为了让它成为内部所有选项的 offsetParent——\n \"选中项对齐\"这套定位策略要用 offsetTop 算选项在列表里的位置,\n 这个值必须相对\"真正会滚动的这个元素\"才准确,不能让它被外层\n (不滚动)抢走 offsetParent 的身份。\n */}\n <div\n ref={setContentElement}\n role=\"listbox\"\n data-state={animationState()}\n style={{\n position: \"relative\",\n width: pos.middlewareData().matchWidth?.width\n ? `${pos.middlewareData().matchWidth.width}px`\n : undefined,\n \"max-height\": maxHeight() ? `${maxHeight()}px` : undefined,\n overflow: \"auto\",\n ...(typeof local.style === \"object\" ? local.style : undefined),\n }}\n class={clsx(\n \"min-w-36\",\n \"no-scrollbar [&::-webkit-scrollbar]:hidden\",\n \"rounded-lg bg-popover text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100\",\n // 只保留入场动画,没有退场动画:关闭瞬间外层直接 visibility:hidden,\n // data-state 也立即切回 closed,没有退场动画阶段,自然不会出现\n // 选中项变更时\"面板先跳一下再消失\"的问题。duration-100(100ms)\n // 比默认的 150ms 更短——下拉菜单这种高频交互的组件,动画应该比\n // tooltip 更快、更利落。\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n local.class,\n )}\n {...rest}\n >\n {local.children}\n </div>\n <ScrollArrows\n target={contentElement}\n upClass=\"rounded-t-lg\"\n downClass=\"rounded-b-lg\"\n />\n </div>\n </Portal>\n );\n}\n"],"mappings":"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"}
|