@neut/ui 0.0.15 → 0.0.17
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/bubble/Bubble/Bubble.d.ts +3 -0
- package/dist/components/bubble/Bubble/Bubble.js +39 -0
- package/dist/components/bubble/Bubble/Bubble.js.map +1 -0
- package/dist/components/bubble/Bubble/Bubble.styles.d.ts +7 -0
- package/dist/components/bubble/Bubble/Bubble.styles.js +18 -0
- package/dist/components/bubble/Bubble/Bubble.styles.js.map +1 -0
- package/dist/components/bubble/Bubble/Bubble.types.d.ts +8 -0
- package/dist/components/bubble/Bubble/index.d.ts +2 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.d.ts +7 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.js +17 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.js.map +1 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.styles.d.ts +1 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.styles.js +6 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.styles.js.map +1 -0
- package/dist/components/bubble/BubbleContent/BubbleContent.types.d.ts +3 -0
- package/dist/components/bubble/BubbleContent/index.d.ts +2 -0
- package/dist/components/bubble/BubbleGroup/BubbleGroup.d.ts +3 -0
- package/dist/components/bubble/BubbleGroup/BubbleGroup.js +24 -0
- package/dist/components/bubble/BubbleGroup/BubbleGroup.js.map +1 -0
- package/dist/components/bubble/BubbleGroup/BubbleGroup.types.d.ts +2 -0
- package/dist/components/bubble/BubbleGroup/index.d.ts +2 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.d.ts +6 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.js +42 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.js.map +1 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.styles.d.ts +4 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.styles.js +22 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.styles.js.map +1 -0
- package/dist/components/bubble/BubbleReactions/BubbleReactions.types.d.ts +4 -0
- package/dist/components/bubble/BubbleReactions/index.d.ts +2 -0
- package/dist/components/bubble/index.d.ts +8 -0
- package/dist/components/bubble/index.js +5 -0
- 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/drawer/Drawer/Drawer.context.d.ts +3 -0
- package/dist/components/drawer/Drawer/Drawer.context.js +12 -0
- package/dist/components/drawer/Drawer/Drawer.context.js.map +1 -0
- package/dist/components/drawer/Drawer/Drawer.d.ts +7 -0
- package/dist/components/drawer/Drawer/Drawer.js +63 -0
- package/dist/components/drawer/Drawer/Drawer.js.map +1 -0
- package/dist/components/drawer/Drawer/Drawer.types.d.ts +50 -0
- package/dist/components/drawer/Drawer/create-change-event-details.d.ts +3 -0
- package/dist/components/drawer/Drawer/create-change-event-details.js +25 -0
- package/dist/components/drawer/Drawer/create-change-event-details.js.map +1 -0
- package/dist/components/drawer/Drawer/index.d.ts +3 -0
- package/dist/components/drawer/DrawerClose/DrawerClose.d.ts +5 -0
- package/dist/components/drawer/DrawerClose/DrawerClose.js +26 -0
- package/dist/components/drawer/DrawerClose/DrawerClose.js.map +1 -0
- package/dist/components/drawer/DrawerClose/index.d.ts +1 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.d.ts +6 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.js +103 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.js.map +1 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.styles.d.ts +10 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.styles.js +25 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.styles.js.map +1 -0
- package/dist/components/drawer/DrawerContent/DrawerContent.types.d.ts +2 -0
- package/dist/components/drawer/DrawerContent/index.d.ts +2 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.d.ts +11 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.js +56 -0
- package/dist/components/drawer/DrawerContent/useDrawerSwipe.js.map +1 -0
- package/dist/components/drawer/DrawerDescription/DrawerDescription.d.ts +2 -0
- package/dist/components/drawer/DrawerDescription/DrawerDescription.js +28 -0
- package/dist/components/drawer/DrawerDescription/DrawerDescription.js.map +1 -0
- package/dist/components/drawer/DrawerDescription/DrawerDescription.types.d.ts +2 -0
- package/dist/components/drawer/DrawerDescription/index.d.ts +2 -0
- package/dist/components/drawer/DrawerFooter/DrawerFooter.d.ts +2 -0
- package/dist/components/drawer/DrawerFooter/DrawerFooter.js +24 -0
- package/dist/components/drawer/DrawerFooter/DrawerFooter.js.map +1 -0
- package/dist/components/drawer/DrawerFooter/DrawerFooter.types.d.ts +2 -0
- package/dist/components/drawer/DrawerFooter/index.d.ts +2 -0
- package/dist/components/drawer/DrawerHeader/DrawerHeader.d.ts +2 -0
- package/dist/components/drawer/DrawerHeader/DrawerHeader.js +24 -0
- package/dist/components/drawer/DrawerHeader/DrawerHeader.js.map +1 -0
- package/dist/components/drawer/DrawerHeader/DrawerHeader.types.d.ts +2 -0
- package/dist/components/drawer/DrawerHeader/index.d.ts +2 -0
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.d.ts +3 -0
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js +43 -0
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.js.map +1 -0
- package/dist/components/drawer/DrawerOverlay/DrawerOverlay.types.d.ts +2 -0
- package/dist/components/drawer/DrawerOverlay/index.d.ts +2 -0
- package/dist/components/drawer/DrawerPortal/DrawerPortal.d.ts +2 -0
- package/dist/components/drawer/DrawerPortal/DrawerPortal.js +10 -0
- package/dist/components/drawer/DrawerPortal/DrawerPortal.js.map +1 -0
- package/dist/components/drawer/DrawerPortal/DrawerPortal.types.d.ts +2 -0
- package/dist/components/drawer/DrawerPortal/index.d.ts +2 -0
- package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.d.ts +6 -0
- package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.js +27 -0
- package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.js.map +1 -0
- package/dist/components/drawer/DrawerSwipeHandle/DrawerSwipeHandle.types.d.ts +2 -0
- package/dist/components/drawer/DrawerSwipeHandle/index.d.ts +2 -0
- package/dist/components/drawer/DrawerTitle/DrawerTitle.d.ts +2 -0
- package/dist/components/drawer/DrawerTitle/DrawerTitle.js +28 -0
- package/dist/components/drawer/DrawerTitle/DrawerTitle.js.map +1 -0
- package/dist/components/drawer/DrawerTitle/DrawerTitle.types.d.ts +2 -0
- package/dist/components/drawer/DrawerTitle/index.d.ts +2 -0
- package/dist/components/drawer/DrawerTrigger/DrawerTrigger.d.ts +5 -0
- package/dist/components/drawer/DrawerTrigger/DrawerTrigger.js +38 -0
- package/dist/components/drawer/DrawerTrigger/DrawerTrigger.js.map +1 -0
- package/dist/components/drawer/DrawerTrigger/index.d.ts +1 -0
- package/dist/components/drawer/index.d.ts +20 -0
- package/dist/components/drawer/index.js +13 -0
- 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/hover-card/HoverCard/HoverCard.d.ts +7 -0
- package/dist/components/hover-card/HoverCard/HoverCard.js +47 -0
- package/dist/components/hover-card/HoverCard/HoverCard.js.map +1 -0
- package/dist/components/hover-card/HoverCard/index.d.ts +1 -0
- package/dist/components/hover-card/HoverCardContent/HoverCardContent.d.ts +6 -0
- package/dist/components/hover-card/HoverCardContent/HoverCardContent.js +74 -0
- package/dist/components/hover-card/HoverCardContent/HoverCardContent.js.map +1 -0
- package/dist/components/hover-card/HoverCardContent/index.d.ts +1 -0
- package/dist/components/hover-card/HoverCardContent/useHoverCardContent.d.ts +16 -0
- package/dist/components/hover-card/HoverCardContent/useHoverCardContent.js +58 -0
- package/dist/components/hover-card/HoverCardContent/useHoverCardContent.js.map +1 -0
- package/dist/components/hover-card/HoverCardTrigger/HoverCardTrigger.d.ts +4 -0
- package/dist/components/hover-card/HoverCardTrigger/HoverCardTrigger.js +40 -0
- package/dist/components/hover-card/HoverCardTrigger/HoverCardTrigger.js.map +1 -0
- package/dist/components/hover-card/HoverCardTrigger/index.d.ts +1 -0
- package/dist/components/hover-card/HoverCardTrigger/useHoverCardTrigger.d.ts +18 -0
- package/dist/components/hover-card/HoverCardTrigger/useHoverCardTrigger.js +34 -0
- package/dist/components/hover-card/HoverCardTrigger/useHoverCardTrigger.js.map +1 -0
- package/dist/components/hover-card/hover-card.context.d.ts +3 -0
- package/dist/components/hover-card/hover-card.context.js +12 -0
- package/dist/components/hover-card/hover-card.context.js.map +1 -0
- package/dist/components/hover-card/hover-card.types.d.ts +50 -0
- package/dist/components/hover-card/hover-card.utils.d.ts +6 -0
- package/dist/components/hover-card/index.d.ts +4 -0
- package/dist/components/hover-card/index.js +4 -0
- 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/marker/Marker/Marker.d.ts +7 -0
- package/dist/components/marker/Marker/Marker.js +35 -0
- package/dist/components/marker/Marker/Marker.js.map +1 -0
- package/dist/components/marker/Marker/Marker.styles.d.ts +3 -0
- package/dist/components/marker/Marker/Marker.styles.js +14 -0
- package/dist/components/marker/Marker/Marker.styles.js.map +1 -0
- package/dist/components/marker/Marker/Marker.types.d.ts +5 -0
- package/dist/components/marker/Marker/index.d.ts +3 -0
- package/dist/components/marker/MarkerContent/MarkerContent.d.ts +2 -0
- package/dist/components/marker/MarkerContent/MarkerContent.js +24 -0
- package/dist/components/marker/MarkerContent/MarkerContent.js.map +1 -0
- package/dist/components/marker/MarkerContent/MarkerContent.types.d.ts +2 -0
- package/dist/components/marker/MarkerContent/index.d.ts +2 -0
- package/dist/components/marker/MarkerIcon/MarkerIcon.d.ts +3 -0
- package/dist/components/marker/MarkerIcon/MarkerIcon.js +25 -0
- package/dist/components/marker/MarkerIcon/MarkerIcon.js.map +1 -0
- package/dist/components/marker/MarkerIcon/MarkerIcon.types.d.ts +2 -0
- package/dist/components/marker/MarkerIcon/index.d.ts +2 -0
- package/dist/components/marker/index.d.ts +6 -0
- package/dist/components/marker/index.js +5 -0
- package/dist/components/message/Message/Message.d.ts +3 -0
- package/dist/components/message/Message/Message.js +31 -0
- package/dist/components/message/Message/Message.js.map +1 -0
- package/dist/components/message/Message/Message.types.d.ts +5 -0
- package/dist/components/message/Message/index.d.ts +2 -0
- package/dist/components/message/MessageAvatar/MessageAvatar.d.ts +5 -0
- package/dist/components/message/MessageAvatar/MessageAvatar.js +24 -0
- package/dist/components/message/MessageAvatar/MessageAvatar.js.map +1 -0
- package/dist/components/message/MessageAvatar/MessageAvatar.types.d.ts +2 -0
- package/dist/components/message/MessageAvatar/index.d.ts +2 -0
- package/dist/components/message/MessageContent/MessageContent.d.ts +3 -0
- package/dist/components/message/MessageContent/MessageContent.js +24 -0
- package/dist/components/message/MessageContent/MessageContent.js.map +1 -0
- package/dist/components/message/MessageContent/MessageContent.types.d.ts +2 -0
- package/dist/components/message/MessageContent/index.d.ts +2 -0
- package/dist/components/message/MessageFooter/MessageFooter.d.ts +3 -0
- package/dist/components/message/MessageFooter/MessageFooter.js +24 -0
- package/dist/components/message/MessageFooter/MessageFooter.js.map +1 -0
- package/dist/components/message/MessageFooter/MessageFooter.types.d.ts +2 -0
- package/dist/components/message/MessageFooter/index.d.ts +2 -0
- package/dist/components/message/MessageGroup/MessageGroup.d.ts +3 -0
- package/dist/components/message/MessageGroup/MessageGroup.js +24 -0
- package/dist/components/message/MessageGroup/MessageGroup.js.map +1 -0
- package/dist/components/message/MessageGroup/MessageGroup.types.d.ts +2 -0
- package/dist/components/message/MessageGroup/index.d.ts +2 -0
- package/dist/components/message/MessageHeader/MessageHeader.d.ts +3 -0
- package/dist/components/message/MessageHeader/MessageHeader.js +24 -0
- package/dist/components/message/MessageHeader/MessageHeader.js.map +1 -0
- package/dist/components/message/MessageHeader/MessageHeader.types.d.ts +2 -0
- package/dist/components/message/MessageHeader/index.d.ts +2 -0
- package/dist/components/message/index.d.ts +12 -0
- package/dist/components/message/index.js +7 -0
- package/dist/components/message-scroller/MessageScroller/MessageScroller.d.ts +3 -0
- package/dist/components/message-scroller/MessageScroller/MessageScroller.js +35 -0
- package/dist/components/message-scroller/MessageScroller/MessageScroller.js.map +1 -0
- package/dist/components/message-scroller/MessageScroller/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerButton/MessageScrollerButton.d.ts +6 -0
- package/dist/components/message-scroller/MessageScrollerButton/MessageScrollerButton.js +90 -0
- package/dist/components/message-scroller/MessageScrollerButton/MessageScrollerButton.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerButton/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerContent/MessageScrollerContent.d.ts +6 -0
- package/dist/components/message-scroller/MessageScrollerContent/MessageScrollerContent.js +46 -0
- package/dist/components/message-scroller/MessageScrollerContent/MessageScrollerContent.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerContent/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerItem/MessageScrollerItem.d.ts +6 -0
- package/dist/components/message-scroller/MessageScrollerItem/MessageScrollerItem.js +42 -0
- package/dist/components/message-scroller/MessageScrollerItem/MessageScrollerItem.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerItem/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerProvider/MessageScrollerProvider.d.ts +4 -0
- package/dist/components/message-scroller/MessageScrollerProvider/MessageScrollerProvider.js +37 -0
- package/dist/components/message-scroller/MessageScrollerProvider/MessageScrollerProvider.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerProvider/index.d.ts +1 -0
- package/dist/components/message-scroller/MessageScrollerViewport/MessageScrollerViewport.d.ts +6 -0
- package/dist/components/message-scroller/MessageScrollerViewport/MessageScrollerViewport.js +55 -0
- package/dist/components/message-scroller/MessageScrollerViewport/MessageScrollerViewport.js.map +1 -0
- package/dist/components/message-scroller/MessageScrollerViewport/index.d.ts +1 -0
- package/dist/components/message-scroller/index.d.ts +10 -0
- package/dist/components/message-scroller/index.js +10 -0
- package/dist/components/message-scroller/message-scroller.context.d.ts +3 -0
- package/dist/components/message-scroller/message-scroller.context.js +12 -0
- package/dist/components/message-scroller/message-scroller.context.js.map +1 -0
- package/dist/components/message-scroller/message-scroller.types.d.ts +92 -0
- package/dist/components/message-scroller/message-scroller.utils.d.ts +7 -0
- package/dist/components/message-scroller/message-scroller.utils.js +9 -0
- package/dist/components/message-scroller/message-scroller.utils.js.map +1 -0
- package/dist/components/message-scroller/useMessageScroller.d.ts +6 -0
- package/dist/components/message-scroller/useMessageScroller.js +14 -0
- package/dist/components/message-scroller/useMessageScroller.js.map +1 -0
- package/dist/components/message-scroller/useMessageScrollerEngine.d.ts +15 -0
- package/dist/components/message-scroller/useMessageScrollerEngine.js +375 -0
- package/dist/components/message-scroller/useMessageScrollerEngine.js.map +1 -0
- package/dist/components/message-scroller/useMessageScrollerScrollable.d.ts +5 -0
- package/dist/components/message-scroller/useMessageScrollerScrollable.js +13 -0
- package/dist/components/message-scroller/useMessageScrollerScrollable.js.map +1 -0
- package/dist/components/message-scroller/useMessageScrollerVisibility.d.ts +7 -0
- package/dist/components/message-scroller/useMessageScrollerVisibility.js +17 -0
- package/dist/components/message-scroller/useMessageScrollerVisibility.js.map +1 -0
- 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.d.ts +6 -13
- package/dist/components/popover/PopoverContent/PopoverContent.utils.js +7 -30
- 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/questionnaire/Questionnaire/Questionnaire.d.ts +3 -0
- package/dist/components/questionnaire/Questionnaire/Questionnaire.js +68 -0
- package/dist/components/questionnaire/Questionnaire/Questionnaire.js.map +1 -0
- package/dist/components/questionnaire/Questionnaire/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireActions/QuestionnaireActions.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireActions/QuestionnaireActions.js +24 -0
- package/dist/components/questionnaire/QuestionnaireActions/QuestionnaireActions.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireActions/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireChoice/QuestionnaireChoice.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireChoice/QuestionnaireChoice.js +99 -0
- package/dist/components/questionnaire/QuestionnaireChoice/QuestionnaireChoice.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireChoice/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.d.ts +38 -0
- package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js +67 -0
- package/dist/components/questionnaire/QuestionnaireChoice/useQuestionnaireChoice.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireChoices/QuestionnaireChoices.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireChoices/QuestionnaireChoices.js +28 -0
- package/dist/components/questionnaire/QuestionnaireChoices/QuestionnaireChoices.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireChoices/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireDescription/QuestionnaireDescription.d.ts +4 -0
- package/dist/components/questionnaire/QuestionnaireDescription/QuestionnaireDescription.js +30 -0
- package/dist/components/questionnaire/QuestionnaireDescription/QuestionnaireDescription.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireDescription/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireError/QuestionnaireError.d.ts +4 -0
- package/dist/components/questionnaire/QuestionnaireError/QuestionnaireError.js +43 -0
- package/dist/components/questionnaire/QuestionnaireError/QuestionnaireError.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireError/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireInput/QuestionnaireInput.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireInput/QuestionnaireInput.js +78 -0
- package/dist/components/questionnaire/QuestionnaireInput/QuestionnaireInput.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireInput/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.d.ts +37 -0
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js +58 -0
- package/dist/components/questionnaire/QuestionnaireInput/useQuestionnaireInput.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.d.ts +3 -0
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js +89 -0
- package/dist/components/questionnaire/QuestionnaireItem/QuestionnaireItem.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireItem/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireNavigation/QuestionnaireNavigation.d.ts +5 -0
- package/dist/components/questionnaire/QuestionnaireNavigation/QuestionnaireNavigation.js +104 -0
- package/dist/components/questionnaire/QuestionnaireNavigation/QuestionnaireNavigation.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireNavigation/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireProgress/QuestionnaireProgress.d.ts +4 -0
- package/dist/components/questionnaire/QuestionnaireProgress/QuestionnaireProgress.js +62 -0
- package/dist/components/questionnaire/QuestionnaireProgress/QuestionnaireProgress.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireProgress/index.d.ts +1 -0
- package/dist/components/questionnaire/QuestionnaireTitle/QuestionnaireTitle.d.ts +4 -0
- package/dist/components/questionnaire/QuestionnaireTitle/QuestionnaireTitle.js +27 -0
- package/dist/components/questionnaire/QuestionnaireTitle/QuestionnaireTitle.js.map +1 -0
- package/dist/components/questionnaire/QuestionnaireTitle/index.d.ts +1 -0
- package/dist/components/questionnaire/index.d.ts +12 -0
- package/dist/components/questionnaire/index.js +12 -0
- package/dist/components/questionnaire/questionnaire.context.d.ts +65 -0
- package/dist/components/questionnaire/questionnaire.context.js +18 -0
- package/dist/components/questionnaire/questionnaire.context.js.map +1 -0
- package/dist/components/questionnaire/questionnaire.types.d.ts +82 -0
- package/dist/components/questionnaire/questionnaire.utils.d.ts +24 -0
- package/dist/components/questionnaire/questionnaire.utils.js +38 -0
- package/dist/components/questionnaire/questionnaire.utils.js.map +1 -0
- package/dist/components/questionnaire/useQuestionnaireItem.d.ts +34 -0
- package/dist/components/questionnaire/useQuestionnaireItem.js +141 -0
- package/dist/components/questionnaire/useQuestionnaireItem.js.map +1 -0
- package/dist/components/questionnaire/useQuestionnaireRoot.d.ts +30 -0
- package/dist/components/questionnaire/useQuestionnaireRoot.js +144 -0
- package/dist/components/questionnaire/useQuestionnaireRoot.js.map +1 -0
- 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/resizable/ResizableHandle/ResizableHandle.d.ts +6 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.js +92 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.js.map +1 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.styles.d.ts +3 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.styles.js +6 -0
- package/dist/components/resizable/ResizableHandle/ResizableHandle.styles.js.map +1 -0
- package/dist/components/resizable/ResizableHandle/index.d.ts +1 -0
- package/dist/components/resizable/ResizableHandle/useResizableHandle.d.ts +17 -0
- package/dist/components/resizable/ResizableHandle/useResizableHandle.js +72 -0
- package/dist/components/resizable/ResizableHandle/useResizableHandle.js.map +1 -0
- package/dist/components/resizable/ResizablePanel/ResizablePanel.d.ts +6 -0
- package/dist/components/resizable/ResizablePanel/ResizablePanel.js +91 -0
- package/dist/components/resizable/ResizablePanel/ResizablePanel.js.map +1 -0
- package/dist/components/resizable/ResizablePanel/index.d.ts +1 -0
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.d.ts +6 -0
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js +66 -0
- package/dist/components/resizable/ResizablePanelGroup/ResizablePanelGroup.js.map +1 -0
- package/dist/components/resizable/ResizablePanelGroup/index.d.ts +1 -0
- package/dist/components/resizable/index.d.ts +4 -0
- package/dist/components/resizable/index.js +4 -0
- package/dist/components/resizable/resizable.context.d.ts +38 -0
- package/dist/components/resizable/resizable.context.js +12 -0
- package/dist/components/resizable/resizable.context.js.map +1 -0
- package/dist/components/resizable/resizable.types.d.ts +76 -0
- package/dist/components/resizable/resizable.utils.d.ts +16 -0
- package/dist/components/resizable/resizable.utils.js +45 -0
- package/dist/components/resizable/resizable.utils.js.map +1 -0
- package/dist/components/resizable/useResizablePanelGroup.d.ts +22 -0
- package/dist/components/resizable/useResizablePanelGroup.js +176 -0
- package/dist/components/resizable/useResizablePanelGroup.js.map +1 -0
- 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 +12 -0
- package/dist/components/scroll-arrows/ScrollArrowButton.js +60 -0
- package/dist/components/scroll-arrows/ScrollArrowButton.js.map +1 -0
- package/dist/components/scroll-arrows/ScrollArrows.d.ts +11 -0
- package/dist/components/scroll-arrows/ScrollArrows.js +41 -0
- package/dist/components/scroll-arrows/ScrollArrows.js.map +1 -0
- package/dist/components/scroll-arrows/ScrollArrows.types.d.ts +24 -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/sheet/Sheet/Sheet.d.ts +6 -0
- package/dist/components/sheet/Sheet/Sheet.js +10 -0
- package/dist/components/sheet/Sheet/Sheet.js.map +1 -0
- package/dist/components/sheet/Sheet/index.d.ts +1 -0
- package/dist/components/sheet/SheetClose/SheetClose.d.ts +6 -0
- package/dist/components/sheet/SheetClose/SheetClose.js +39 -0
- package/dist/components/sheet/SheetClose/SheetClose.js.map +1 -0
- package/dist/components/sheet/SheetClose/index.d.ts +1 -0
- package/dist/components/sheet/SheetContent/SheetContent.d.ts +6 -0
- package/dist/components/sheet/SheetContent/SheetContent.js +48 -0
- package/dist/components/sheet/SheetContent/SheetContent.js.map +1 -0
- package/dist/components/sheet/SheetContent/SheetContent.styles.d.ts +10 -0
- package/dist/components/sheet/SheetContent/SheetContent.styles.js +17 -0
- package/dist/components/sheet/SheetContent/SheetContent.styles.js.map +1 -0
- package/dist/components/sheet/SheetContent/index.d.ts +1 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.d.ts +2 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.js +25 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.js.map +1 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.styles.d.ts +1 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.styles.js +6 -0
- package/dist/components/sheet/SheetDescription/SheetDescription.styles.js.map +1 -0
- package/dist/components/sheet/SheetDescription/index.d.ts +1 -0
- package/dist/components/sheet/SheetFooter/SheetFooter.d.ts +2 -0
- package/dist/components/sheet/SheetFooter/SheetFooter.js +24 -0
- package/dist/components/sheet/SheetFooter/SheetFooter.js.map +1 -0
- package/dist/components/sheet/SheetFooter/index.d.ts +1 -0
- package/dist/components/sheet/SheetHeader/SheetHeader.d.ts +2 -0
- package/dist/components/sheet/SheetHeader/SheetHeader.js +24 -0
- package/dist/components/sheet/SheetHeader/SheetHeader.js.map +1 -0
- package/dist/components/sheet/SheetHeader/index.d.ts +1 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.d.ts +3 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.js +25 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.js.map +1 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.styles.d.ts +1 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.styles.js +6 -0
- package/dist/components/sheet/SheetTitle/SheetTitle.styles.js.map +1 -0
- package/dist/components/sheet/SheetTitle/index.d.ts +1 -0
- package/dist/components/sheet/SheetTrigger/SheetTrigger.d.ts +8 -0
- package/dist/components/sheet/SheetTrigger/SheetTrigger.js +32 -0
- package/dist/components/sheet/SheetTrigger/SheetTrigger.js.map +1 -0
- package/dist/components/sheet/SheetTrigger/index.d.ts +1 -0
- package/dist/components/sheet/index.d.ts +9 -0
- package/dist/components/sheet/index.js +9 -0
- package/dist/components/sheet/sheet.types.d.ts +19 -0
- 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 +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.d.ts +5 -49
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js +10 -39
- package/dist/components/tooltip/TooltipContent/TooltipContent.utils.js.map +1 -1
- package/dist/components/tooltip/TooltipContent/useTooltipContent.js +6 -5
- 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 +19 -0
- package/dist/hooks/useScrollEdges.js +36 -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 +17 -0
- package/dist/index.js +311 -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/index.d.ts +1 -0
- 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/utils/floating.d.ts +25 -0
- package/dist/lib/positioner/utils/floating.js +42 -0
- package/dist/lib/positioner/utils/floating.js.map +1 -0
- 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,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":";;;;;;AAMA,SAAgBQ,EAAcC,GAA2B;CACvD,IAAM,EACJC,QACAC,QACAC,cACAC,cACAC,mBACAC,mBACAC,yBACEX,QAAuBI,CAAK,GAE1B,CAACQ,GAAOC,KAAQjB,EAAWQ,GAAO;EACtC;EACA;EACA;EACA;EACA;CAAU,CACX,GAEKU,IAAejB,QAAiBQ,EAAIU,MAAMC,QAAQC,MAAO,CAACA,EAAGC,QAAQ,CAAC,GAEtEC,KAAcC,MAAgB;EAClC,IAAMC,IAAOP,EAAa;EAC1B,IAAIO,EAAKC,WAAW,GAAG;EAEvB,IAAMK,KADeN,EAAKG,WAAWP,MAAOA,EAAGQ,UAAUpB,EAAIqB,YAAY,CACtDH,IAAeH,IAAMC,EAAKC,UAAUD,EAAKC;EAC5DjB,EAAIuB,eAAeP,EAAKM,EAAU,CAACF,KAAK;CAC1C,GAEMI,KAAaC,MAAqB;EACtC,QAAQA,EAAEE,KAAV;GACE,KAAK;IAEHb,AADAW,EAAEG,eAAe,GACjBd,EAAW,CAAC;IACZ;GACF,KAAK;IAEHA,AADAW,EAAEG,eAAe,GACjBd,EAAW,EAAE;IACb;GACF,KAAK;GACL,KAAK;IAEH,AADAW,EAAEG,eAAe,GACb5B,EAAIqB,YAAY,MAAMQ,KAAAA,KACxB7B,EAAI8B,YAAY9B,EAAIqB,YAAY,CAAE;IACpC;GACF,KAAK;IAEHrB,AADAyB,EAAEG,eAAe,GACjB5B,EAAI+B,MAAM;IACV;GACF,KAAK,OACH/B,EAAIgC,QAAQ,EAAK;EAErB;CACF;CA0CA,OArCAvC,QAAmB;EACjB,IAAI,CAACO,EAAIiC,KAAK,GAAG;EACjB,IAAMC,KAAiBT,MAAoB;GACzC,IAAMW,IAASX,EAAEW;GACjB,AACE,CAACpC,EAAIsC,UAAU,CAAC,EAAEC,SAASH,CAAM,KACjC,CAACpC,EAAIwC,SAAS,CAAC,EAAED,SAASH,CAAM,MAEhCpC,EAAIgC,QAAQ,EAAK,GACjBP,EAAEgB,gBAAgB;EAEtB;EAEAnD,AADAoD,SAASC,iBAAiB,eAAeT,GAAe,EAAEU,SAAS,GAAK,CAAC,GACzEtD,QACEoD,SAASG,oBAAoB,eAAeX,GAAe,EACzDU,SAAS,GACX,CAAC,CACH;CACF,CAAC,GAGDnD,QAAmB;EACZO,EAAIiC,KAAK,MACdS,SAASC,iBAAiB,WAAWnB,CAAS,GAC9ClC,QAAgBoD,SAASG,oBAAoB,WAAWrB,CAAS,CAAC;CACpE,CAAC,GAGD/B,QAAmB;EACjB,IAAMqD,IAAS9C,EAAIqB,YAAY,GACzB0B,IAAK1C,EAAe;EACtB,CAACyC,KAAU,CAACC,KAChBA,EAAGC,cACD,gBAAgBE,IAAIC,OAAOC,OAAON,CAAM,CAAC,EAAC,GAC5C,CAAC,EAAEO,eAAe,EAAEC,OAAO,UAAU,CAAC;CACxC,CAAC,GAEDC,EACG7D,GAAM,EAAA,IAAA8D,WAAA;EAAA,IAAAC,IAAAC,EAAA,GAAAC,IAAAF,EAAAG;EA4BF,OA5BEC,GAeGd,MAAO;GAKXzD,AAJAU,EAAI8D,YAAYf,CAAE,GAIlBzD,QAAgBU,EAAI8D,YAAYjC,KAAAA,CAAS,CAAC;EAC5C,GAAC4B,CAAA,GAAAI,EAiBMvD,GAAiBqD,CAAA,GAAAI,EAAAJ,GAAAK,EAAA;GAAA,IAAA,eAAA;IAAA,OAEV5D,EAAe;GAAC;GAAA,IAC5B8D,QAAK;IAAA,OAAE;KACLC,UAAU;KACVC,OAAOnE,EAAIoE,eAAe,CAAC,CAACC,YAAYF,QACpC,GAAGnE,EAAIoE,eAAe,CAAC,CAACC,WAAWF,MAAK,MACxCvC,KAAAA;KACJ,cAAc3B,EAAU,IAAI,GAAGA,EAAU,EAAC,MAAO2B,KAAAA;KACjD0C,UAAU;KACV,GAAI,OAAOhE,EAAM2D,SAAU,WAAW3D,EAAM2D,QAAQrC,KAAAA;IACtD;GAAC;GAAA,IAAA,QAAA;IAAA,OACMhC,EACL,YACA,kGAMA,yFACAU,EAAMiE,KACR;GAAC;EAAA,GACGhE,CAAI,GAAA,IAAA,EAAA,GAAAiE,EAAAd,SAEPpD,EAAMiD,QAAQ,GAAAkB,GAAAC,MAAAC,EAAAnB,GAzCV;GACL,GAAGxD,EAAI4E,eAAe;GAEtBC,SAAS3E,EAAU,KAAKF,EAAI8E,aAAa,IAAI,IAAI;GACjD,kBAAkB5E,EAAU,IAAI,SAAS;GACzC6E,YAAY7E,EAAU,IAAI,YAAY;EACxC,GAACwE,CAAA,CAAA,GAAAlB;CAAA,EAAA,CAAA;AAwCT"}
|
|
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":";;;;;;;AAOA,SAAgBS,EAAcC,GAA2B;CACvD,IAAM,EACJC,QACAC,QACAC,cACAC,cACAC,mBACAC,mBACAC,yBACEZ,QAAuBK,CAAK,GAE1B,CAACQ,GAAOC,KAAQlB,EAAWS,GAAO;EACtC;EACA;EACA;EACA;EACA;CAAU,CACX,GAEKU,IAAelB,QAAiBS,EAAIU,MAAMC,QAAQC,MAAO,CAACA,EAAGC,QAAQ,CAAC,GAEtEC,KAAcC,MAAgB;EAClC,IAAMC,IAAOP,EAAa;EAC1B,IAAIO,EAAKC,WAAW,GAAG;EAEvB,IAAMK,KADeN,EAAKG,WAAWP,MAAOA,EAAGQ,UAAUpB,EAAIqB,YAAY,CACtDH,IAAeH,IAAMC,EAAKC,UAAUD,EAAKC;EAC5DjB,EAAIuB,eAAeP,EAAKM,EAAU,CAACF,KAAK;CAC1C,GAEMI,KAAaC,MAAqB;EACtC,QAAQA,EAAEE,KAAV;GACE,KAAK;IAEHb,AADAW,EAAEG,eAAe,GACjBd,EAAW,CAAC;IACZ;GACF,KAAK;IAEHA,AADAW,EAAEG,eAAe,GACjBd,EAAW,EAAE;IACb;GACF,KAAK;GACL,KAAK;IAEH,AADAW,EAAEG,eAAe,GACb5B,EAAIqB,YAAY,MAAMQ,KAAAA,KACxB7B,EAAI8B,YAAY9B,EAAIqB,YAAY,CAAE;IACpC;GACF,KAAK;IAEHrB,AADAyB,EAAEG,eAAe,GACjB5B,EAAI+B,MAAM;IACV;GACF,KAAK,OACH/B,EAAIgC,QAAQ,EAAK;EAErB;CACF;CA0CA,OArCAxC,QAAmB;EACjB,IAAI,CAACQ,EAAIiC,KAAK,GAAG;EACjB,IAAMC,KAAiBT,MAAoB;GACzC,IAAMW,IAASX,EAAEW;GACjB,AACE,CAACpC,EAAIsC,UAAU,CAAC,EAAEC,SAASH,CAAM,KACjC,CAACpC,EAAIwC,SAAS,CAAC,EAAED,SAASH,CAAM,MAEhCpC,EAAIgC,QAAQ,EAAK,GACjBP,EAAEgB,gBAAgB;EAEtB;EAEApD,AADAqD,SAASC,iBAAiB,eAAeT,GAAe,EAAEU,SAAS,GAAK,CAAC,GACzEvD,QACEqD,SAASG,oBAAoB,eAAeX,GAAe,EACzDU,SAAS,GACX,CAAC,CACH;CACF,CAAC,GAGDpD,QAAmB;EACjB,AAAKQ,EAAIiC,KAAK,MACdS,SAASC,iBAAiB,WAAWnB,CAAS,GAC9CnC,QAAgBqD,SAASG,oBAAoB,WAAWrB,CAAS,CAAC;CACpE,CAAC,GAGDhC,QAAmB;EACjB,IAAMsD,IAAS9C,EAAIqB,YAAY,GACzB0B,IAAK1C,EAAe;EAC1B,AAAKyC,KAAWC,KAChBA,EAAGC,cACD,gBAAgBE,IAAIC,OAAOC,OAAON,CAAM,CAAC,EAAC,GAC5C,CAAC,EAAEO,eAAe,EAAEC,OAAO,UAAU,CAAC;CACxC,CAAC,GAEDC,EACG9D,GAAM,EAAA,IAAA+D,WAAA;EAAA,IAAAC,IAAAC,EAAA,GAAAC,IAAAF,EAAAG;EA4BF,OA5BEC,GAeGd,MAAO;GAKX1D,AAJAW,EAAI8D,YAAYf,CAAE,GAIlB1D,QAAgBW,EAAI8D,YAAYjC,KAAAA,CAAS,CAAC;EAC5C,GAAC4B,CAAA,GAAAI,EAiBMvD,GAAiBqD,CAAA,GAAAI,EAAAJ,GAAAK,EAAA;GAAA,IAAA,eAAA;IAAA,OAEV5D,EAAe;GAAC;GAAA,IAC5B8D,QAAK;IAAA,OAAE;KACLC,UAAU;KACVC,OAAOnE,EAAIoE,eAAe,CAAC,CAACC,YAAYF,QACpC,GAAGnE,EAAIoE,eAAe,CAAC,CAACC,WAAWF,MAAK,MACxCvC,KAAAA;KACJ,cAAc3B,EAAU,IAAI,GAAGA,EAAU,EAAC,MAAO2B,KAAAA;KACjD0C,UAAU;KACV,GAAI,OAAOhE,EAAM2D,SAAU,WAAW3D,EAAM2D,QAAQrC,KAAAA;IACtD;GAAC;GAAA,IAAA2F,QAAA;IAAA,OACM3H,EACL,YACA,8CACA,kGAMA,yFACAU,EAAMiE,KACR;GAAC;EAAA,GACGhE,CAAI,GAAA,IAAA,EAAA,GAAAiE,EAAAd,SAEPpD,EAAMiD,QAAQ,GAAAiB,EAAAhB,GAAAF,EAEhB5D,GAAY;GACXyC,QAAQ/B;GACRqE,SAAO;GACPC,WAAS;EAAA,CAAA,GAAA,IAAA,GAAAC,GAAAC,MAAAC,EAAArB,GA/CJ;GACL,GAAGxD,EAAI8E,eAAe;GAEtBC,SAAS7E,EAAU,KAAKF,EAAIgF,aAAa,IAAI,IAAI;GACjD,kBAAkB9E,EAAU,IAAI,SAAS;GACzC+E,YAAY/E,EAAU,IAAI,YAAY;EACxC,GAAC0E,CAAA,CAAA,GAAApB;CAAA,EAAA,CAAA;AA8CT"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectContent.utils.js","names":[],"sources":["../../../../src/components/select/SelectContent/SelectContent.utils.ts"],"sourcesContent":["import {\n offset,\n flip,\n shift,\n size,\n hide,\n containingBlockOffset,\n type Middleware,\n type Placement,\n} from \"~/lib\";\nimport { getViewportBoundary } from \"~/lib/positioner/utils/dom\";\nimport type { SelectOptionValue } from \"../Select/Select.types\";\n\n/** 让浮层宽度和 trigger 对齐——不改坐标,只把 reference 宽度透传给上层当 style.width 用 */\nfunction matchReferenceWidth(): Middleware {\n return {\n name: \"matchWidth\",\n fn(state) {\n return { data: { width: state.rects.reference.width } };\n },\n };\n}\n\n/**\n * \"选中项对齐\":让已选中的那一项精确覆盖在 trigger 上方,这是原生 <select>/\n * shadcn Select 重新打开时的经典效果,和 offset+flip+shift 是完全不同的定位\n * 策略,所以单独写一个 middleware,而不是复用 shift/flip。\n *\n * 核心思路是把\"面板高度、面板位置、列表滚动量\"三者一起算,而不是先假设一个\n * 面板高度、算完位置再回头夹 scrollTop——后者试过两版都有遗留问题(面板和\n * trigger 之间留一截空隙、或者选中项因为 scrollTop 静默越界被推到面板边缘)。\n *\n * 具体算法:选中项\"理应\"贴着 trigger 垂直居中。以这个位置为基准,\n * 分别看\"上方\"和\"下方\"能展开多少:\n * - 上方能展开的量 = min(选中项上方还有多少内容, 视口上方还剩多少空间)\n * - 下方能展开的量 = min(选中项下方还有多少内容, 视口下方还剩多少空间)\n * 面板高度就是\"上方展开量 + 选中项自身高度 + 下方展开量\",面板顶部位置和\n * 滚动量都由这两个\"展开量\"直接算出来,不需要再额外夹取——因为:\n * - 展开量永远不会超过\"内容还剩多少\",所以 scrollTop 永远落在合法范围内;\n * - 展开量永远不会超过\"视口还剩多少空间\",所以面板永远不会超出视口;\n * - 选中项贴 trigger 是这个算法的出发点,天然成立,不需要单独判断\"要不要\n * 贴 trigger\"。\n * 对列表两端的项(第一项/最后一项)会自动退化成正确的行为:比如选中第一项,\n * \"上方还有多少内容\"是 0,上方展开量恒为 0,面板顶部直接落在选中项该在的\n * 位置,不会凭空往上多留空间。\n */\nfunction alignSelectedItem(\n getValue: () => SelectOptionValue | null | undefined,\n getScrollElement: () => HTMLElement | undefined,\n): Middleware {\n return {\n name: \"itemAlign\",\n fn(state) {\n const value = getValue();\n const scrollEl = getScrollElement();\n if (value == null || !scrollEl) return {};\n\n const itemEl = scrollEl.querySelector<HTMLElement>(\n `[data-value=\"${CSS.escape(String(value))}\"]`,\n );\n if (!itemEl) return {};\n\n const { rects, strategy } = state;\n const boundary = getViewportBoundary(strategy, 8);\n\n const itemOffsetTop = itemEl.offsetTop;\n const itemHeight = itemEl.offsetHeight;\n const scrollHeight = scrollEl.scrollHeight;\n\n // 选中项理想情况下应该落在的位置:和 trigger 垂直居中对齐\n const idealItemTop =\n rects.reference.y + rects.reference.height / 2 - itemHeight / 2;\n\n const contentAbove = itemOffsetTop; // 选中项上方还有多少内容(px)\n const contentBelow = scrollHeight - itemOffsetTop - itemHeight; // 下方还有多少内容\n const spaceAbove = idealItemTop - boundary.y; // 从理想位置到视口顶部的可用空间\n const spaceBelow =\n boundary.y + boundary.height - (idealItemTop + itemHeight); // 到视口底部的可用空间\n\n const expandAbove = Math.max(0, Math.min(contentAbove, spaceAbove));\n const expandBelow = Math.max(0, Math.min(contentBelow, spaceBelow));\n\n const panelTop = idealItemTop - expandAbove;\n // panelHeight 最终会作为 CSS max-height 写到 scrollEl 上。scrollEl\n // 有 border(类名里带 border),而 Tailwind preflight 会把 box-sizing\n // 设为 border-box,此时 max-height 约束的是 border-box 高度;但\n // scrollHeight 只包含内容 + padding、不包含 border。直接拿\n // scrollHeight 当 max-height 会让 clientHeight 比 scrollHeight 少\n // 一个上下 border 的宽度,列表本来刚好能放下时也会多出 1~2px 的\n // overflow,从而被 overflow:auto 画出一条纵向滚动条。这里把 border\n // 宽度补回去,保证 border-box 的 max-height 能完整容纳所有内容。\n const scrollStyle = getComputedStyle(scrollEl);\n const borderTop = Number.parseFloat(scrollStyle.borderTopWidth) || 0;\n const borderBottom =\n Number.parseFloat(scrollStyle.borderBottomWidth) || 0;\n const panelHeight =\n expandAbove + itemHeight + expandBelow + borderTop + borderBottom;\n const scrollTop = contentAbove - expandAbove;\n\n // scrollTop 是纯 DOM 副作用,不影响坐标计算本身,这里直接设置是安全的。\n scrollEl.scrollTop = scrollTop;\n\n return {\n x: rects.reference.x,\n y: panelTop,\n data: { aligned: true, panelHeight },\n };\n },\n };\n}\n\nexport interface BuildSelectMiddlewareOptions {\n /** 当前是否已经有选中值——决定走\"选中项对齐\"还是普通的贴边下拉 */\n hasValue: boolean;\n selectedValue: () => SelectOptionValue | null | undefined;\n /** 真正会滚动、承载选项列表的那个元素(内层),不是外层的定位容器 */\n scrollElement: () => HTMLElement | undefined;\n placement: Placement;\n collisionPadding: number;\n onAvailableHeightChange: (availableHeight: number) => void;\n}\n\n/**\n * Select 面板的定位管线,按\"有没有选中值\"分两套配方:\n *\n * - **有选中值**:matchWidth → size(算可用高度,配合 overflow:auto 做滚动——\n * 和 Tooltip 不同,下拉列表内容天然可能很长,滚动是合理需求,不是过度设计)\n * → itemAlign(核心:选中项盖在 trigger 上)→ shift(只处理横向,纵向已经被\n * itemAlign 自己夹过了)→ containingBlockOffset。\n * - **没有选中值**(占位符状态):offset → flip → shift → matchWidth → size\n * → containingBlockOffset,这是标准的\"贴边下拉\"策略,和 Dropdown 用的是\n * 同一套思路。\n *\n * 顺序不能随便换:size 必须在 shift/itemAlign 之后(要用最终坐标反推可用高度),\n * containingBlockOffset 必须在所有其他 middleware 之后。\n *\n * SelectContent.tsx 里把面板拆成了两层:外层(position:fixed,负责 translate(x,y)\n * 定位)和内层(真正的样式、overflow:auto 滚动、data-state 驱动的进出场动画)。\n * 这不是为了美观随手拆的——同一个元素如果既承担定位用的 transform:translate(),\n * 又承担 zoom-in-95 这类靠 transform:scale() 做的动画,CSS 的 transform 一个\n * 元素只能有一份,动画播放期间会完全接管这个属性,把定位用的 translate(x,y)\n * 整个顶掉,表现为\"入场从视口左上角飞入、退场飞向左上角消失\"这种明显错误的\n * 观感(这正是这个组件早期实现踩过的一个真实 bug)。scrollElement 传的是\n * 内层(真正会滚动的那个),不是 state.elements.floating(外层,它自己不滚动)。\n */\nexport function createSelectMiddleware(\n options: BuildSelectMiddlewareOptions,\n): Middleware[] {\n if (options.hasValue) {\n return [\n matchReferenceWidth(),\n // 注意这里没有 size 中间件:alignSelectedItem 自己已经把面板高度、\n // 位置、滚动量一起算好了(见它的注释),面板高度是通过\n // middlewareData.itemAlign.panelHeight 传出去的,不需要 size 再用\n // \"只看视口空间、不看内容长度\"那套算法独立算一遍——两边算出来的值\n // 一旦不一致,CSS max-height 和定位计算假设的面板高度就会对不上,\n // 重新引入\"选中项没对齐\"这类问题(这正是这次要修的 bug 的根源)。\n alignSelectedItem(options.selectedValue, options.scrollElement),\n shift({\n padding: options.collisionPadding,\n mainAxis: false,\n crossAxis: true,\n }),\n hide(),\n containingBlockOffset(),\n ];\n }\n\n return [\n offset(4),\n flip(),\n shift({ padding: options.collisionPadding }),\n matchReferenceWidth(),\n size({\n padding: options.collisionPadding,\n apply({ availableHeight }) {\n options.onAvailableHeightChange(availableHeight);\n },\n }),\n hide(),\n containingBlockOffset(),\n ];\n}\n"],"mappings":";;;;;;;;AAcA,
|
|
1
|
+
{"version":3,"file":"SelectContent.utils.js","names":["matchReferenceWidth","state","alignSelectedItem","value","getValue","scrollEl","getScrollElement","itemEl","boundary","getViewportBoundary","strategy","itemOffsetTop","itemHeight","scrollHeight","idealItemTop","rects","contentAbove","contentBelow","spaceAbove","spaceBelow","expandAbove","expandBelow","panelTop","scrollStyle","borderTop","borderBottom","panelHeight","createSelectMiddleware","options","shift","hide","containingBlockOffset","offset","flip","size","availableHeight"],"sources":["../../../../src/components/select/SelectContent/SelectContent.utils.ts"],"sourcesContent":["import {\n offset,\n flip,\n shift,\n size,\n hide,\n containingBlockOffset,\n type Middleware,\n type Placement,\n} from \"~/lib\";\nimport { getViewportBoundary } from \"~/lib/positioner/utils/dom\";\nimport type { SelectOptionValue } from \"../Select/Select.types\";\n\n/** 让浮层宽度和 trigger 对齐——不改坐标,只把 reference 宽度透传给上层当 style.width 用 */\nfunction matchReferenceWidth(): Middleware {\n return {\n name: \"matchWidth\",\n fn(state) {\n return { data: { width: state.rects.reference.width } };\n },\n };\n}\n\n/**\n * \"选中项对齐\":让已选中的那一项精确覆盖在 trigger 上方,这是原生 <select>/\n * shadcn Select 重新打开时的经典效果,和 offset+flip+shift 是完全不同的定位\n * 策略,所以单独写一个 middleware,而不是复用 shift/flip。\n *\n * 核心思路是把\"面板高度、面板位置、列表滚动量\"三者一起算,而不是先假设一个\n * 面板高度、算完位置再回头夹 scrollTop——后者试过两版都有遗留问题(面板和\n * trigger 之间留一截空隙、或者选中项因为 scrollTop 静默越界被推到面板边缘)。\n *\n * 具体算法:选中项\"理应\"贴着 trigger 垂直居中。以这个位置为基准,\n * 分别看\"上方\"和\"下方\"能展开多少:\n * - 上方能展开的量 = min(选中项上方还有多少内容, 视口上方还剩多少空间)\n * - 下方能展开的量 = min(选中项下方还有多少内容, 视口下方还剩多少空间)\n * 面板高度就是\"上方展开量 + 选中项自身高度 + 下方展开量\",面板顶部位置和\n * 滚动量都由这两个\"展开量\"直接算出来,不需要再额外夹取——因为:\n * - 展开量永远不会超过\"内容还剩多少\",所以 scrollTop 永远落在合法范围内;\n * - 展开量永远不会超过\"视口还剩多少空间\",所以面板永远不会超出视口;\n * - 选中项贴 trigger 是这个算法的出发点,天然成立,不需要单独判断\"要不要\n * 贴 trigger\"。\n * 对列表两端的项(第一项/最后一项)会自动退化成正确的行为:比如选中第一项,\n * \"上方还有多少内容\"是 0,上方展开量恒为 0,面板顶部直接落在选中项该在的\n * 位置,不会凭空往上多留空间。\n */\nfunction alignSelectedItem(\n getValue: () => SelectOptionValue | null | undefined,\n getScrollElement: () => HTMLElement | undefined,\n): Middleware {\n return {\n name: \"itemAlign\",\n fn(state) {\n const value = getValue();\n const scrollEl = getScrollElement();\n if (value == null || !scrollEl) return {};\n\n const itemEl = scrollEl.querySelector<HTMLElement>(\n `[data-value=\"${CSS.escape(String(value))}\"]`,\n );\n if (!itemEl) return {};\n\n const { rects, strategy } = state;\n const boundary = getViewportBoundary(strategy, 8);\n\n const itemOffsetTop = itemEl.offsetTop;\n const itemHeight = itemEl.offsetHeight;\n const scrollHeight = scrollEl.scrollHeight;\n\n // 选中项理想情况下应该落在的位置:和 trigger 垂直居中对齐\n const idealItemTop =\n rects.reference.y + rects.reference.height / 2 - itemHeight / 2;\n\n const contentAbove = itemOffsetTop; // 选中项上方还有多少内容(px)\n const contentBelow = scrollHeight - itemOffsetTop - itemHeight; // 下方还有多少内容\n const spaceAbove = idealItemTop - boundary.y; // 从理想位置到视口顶部的可用空间\n const spaceBelow =\n boundary.y + boundary.height - (idealItemTop + itemHeight); // 到视口底部的可用空间\n\n const expandAbove = Math.max(0, Math.min(contentAbove, spaceAbove));\n const expandBelow = Math.max(0, Math.min(contentBelow, spaceBelow));\n\n const panelTop = idealItemTop - expandAbove;\n // panelHeight 最终会作为 CSS max-height 写到 scrollEl 上。scrollEl\n // 有 border(类名里带 border),而 Tailwind preflight 会把 box-sizing\n // 设为 border-box,此时 max-height 约束的是 border-box 高度;但\n // scrollHeight 只包含内容 + padding、不包含 border。直接拿\n // scrollHeight 当 max-height 会让 clientHeight 比 scrollHeight 少\n // 一个上下 border 的宽度,列表本来刚好能放下时也会多出 1~2px 的\n // overflow,从而被 overflow:auto 画出一条纵向滚动条。这里把 border\n // 宽度补回去,保证 border-box 的 max-height 能完整容纳所有内容。\n const scrollStyle = getComputedStyle(scrollEl);\n const borderTop = Number.parseFloat(scrollStyle.borderTopWidth) || 0;\n const borderBottom =\n Number.parseFloat(scrollStyle.borderBottomWidth) || 0;\n const panelHeight =\n expandAbove + itemHeight + expandBelow + borderTop + borderBottom;\n const scrollTop = contentAbove - expandAbove;\n\n // scrollTop 是纯 DOM 副作用,不影响坐标计算本身,这里直接设置是安全的。\n scrollEl.scrollTop = scrollTop;\n\n return {\n x: rects.reference.x,\n y: panelTop,\n data: { aligned: true, panelHeight },\n };\n },\n };\n}\n\nexport interface BuildSelectMiddlewareOptions {\n /** 当前是否已经有选中值——决定走\"选中项对齐\"还是普通的贴边下拉 */\n hasValue: boolean;\n selectedValue: () => SelectOptionValue | null | undefined;\n /** 真正会滚动、承载选项列表的那个元素(内层),不是外层的定位容器 */\n scrollElement: () => HTMLElement | undefined;\n placement: Placement;\n collisionPadding: number;\n onAvailableHeightChange: (availableHeight: number) => void;\n}\n\n/**\n * Select 面板的定位管线,按\"有没有选中值\"分两套配方:\n *\n * - **有选中值**:matchWidth → size(算可用高度,配合 overflow:auto 做滚动——\n * 和 Tooltip 不同,下拉列表内容天然可能很长,滚动是合理需求,不是过度设计)\n * → itemAlign(核心:选中项盖在 trigger 上)→ shift(只处理横向,纵向已经被\n * itemAlign 自己夹过了)→ containingBlockOffset。\n * - **没有选中值**(占位符状态):offset → flip → shift → matchWidth → size\n * → containingBlockOffset,这是标准的\"贴边下拉\"策略,和 Dropdown 用的是\n * 同一套思路。\n *\n * 顺序不能随便换:size 必须在 shift/itemAlign 之后(要用最终坐标反推可用高度),\n * containingBlockOffset 必须在所有其他 middleware 之后。\n *\n * SelectContent.tsx 里把面板拆成了两层:外层(position:fixed,负责 translate(x,y)\n * 定位)和内层(真正的样式、overflow:auto 滚动、data-state 驱动的进出场动画)。\n * 这不是为了美观随手拆的——同一个元素如果既承担定位用的 transform:translate(),\n * 又承担 zoom-in-95 这类靠 transform:scale() 做的动画,CSS 的 transform 一个\n * 元素只能有一份,动画播放期间会完全接管这个属性,把定位用的 translate(x,y)\n * 整个顶掉,表现为\"入场从视口左上角飞入、退场飞向左上角消失\"这种明显错误的\n * 观感(这正是这个组件早期实现踩过的一个真实 bug)。scrollElement 传的是\n * 内层(真正会滚动的那个),不是 state.elements.floating(外层,它自己不滚动)。\n */\nexport function createSelectMiddleware(\n options: BuildSelectMiddlewareOptions,\n): Middleware[] {\n if (options.hasValue) {\n return [\n matchReferenceWidth(),\n // 注意这里没有 size 中间件:alignSelectedItem 自己已经把面板高度、\n // 位置、滚动量一起算好了(见它的注释),面板高度是通过\n // middlewareData.itemAlign.panelHeight 传出去的,不需要 size 再用\n // \"只看视口空间、不看内容长度\"那套算法独立算一遍——两边算出来的值\n // 一旦不一致,CSS max-height 和定位计算假设的面板高度就会对不上,\n // 重新引入\"选中项没对齐\"这类问题(这正是这次要修的 bug 的根源)。\n alignSelectedItem(options.selectedValue, options.scrollElement),\n shift({\n padding: options.collisionPadding,\n mainAxis: false,\n crossAxis: true,\n }),\n hide(),\n containingBlockOffset(),\n ];\n }\n\n return [\n offset(4),\n flip(),\n shift({ padding: options.collisionPadding }),\n matchReferenceWidth(),\n size({\n padding: options.collisionPadding,\n apply({ availableHeight }) {\n options.onAvailableHeightChange(availableHeight);\n },\n }),\n hide(),\n containingBlockOffset(),\n ];\n}\n"],"mappings":";;;;;;;;AAcA,SAASA,IAAkC;CACzC,OAAO;EACL,MAAM;EACN,GAAG,GAAO;GACR,OAAO,EAAE,MAAM,EAAE,OAAOC,EAAM,MAAM,UAAU,MAAM,EAAE;EACxD;CACF;AACF;AAyBA,SAASC,EACP,GACA,GACY;CACZ,OAAO;EACL,MAAM;EACN,GAAG,GAAO;GACR,IAAMC,IAAQC,EAAS,GACjBC,IAAWC,EAAiB;GAClC,IAAIH,KAAS,QAAQ,CAACE,GAAU,OAAO,CAAC;GAExC,IAAME,IAASF,EAAS,cACtB,gBAAgB,IAAI,OAAO,OAAOF,CAAK,CAAC,EAAE,GAC5C;GACA,IAAI,CAACI,GAAQ,OAAO,CAAC;GAErB,IAAM,EAAE,UAAO,gBAAaN,GACtBO,IAAWC,EAAoBC,GAAU,CAAC,GAE1CC,IAAgBJ,EAAO,WACvBK,IAAaL,EAAO,cACpBM,IAAeR,EAAS,cAGxBS,IACJC,EAAM,UAAU,IAAIA,EAAM,UAAU,SAAS,IAAIH,IAAa,GAE1DI,IAAeL,GACfM,IAAeJ,IAAeF,IAAgBC,GAC9CM,IAAaJ,IAAeN,EAAS,GACrCW,IACJX,EAAS,IAAIA,EAAS,UAAUM,IAAeF,IAE3CQ,IAAc,KAAK,IAAI,GAAG,KAAK,IAAIJ,GAAcE,CAAU,CAAC,GAC5DG,IAAc,KAAK,IAAI,GAAG,KAAK,IAAIJ,GAAcE,CAAU,CAAC,GAE5DG,IAAWR,IAAeM,GAS1BG,IAAc,iBAAiBlB,CAAQ,GACvCmB,IAAY,OAAO,WAAWD,EAAY,cAAc,KAAK,GAC7DE,IACJ,OAAO,WAAWF,EAAY,iBAAiB,KAAK,GAChDG,IACJN,IAAcR,IAAaS,IAAcG,IAAYC;GAMvD,OAFA,EAAS,YAHST,IAAeI,GAK1B;IACL,GAAGL,EAAM,UAAU;IACnB,GAAGO;IACH,MAAM;KAAE,SAAS;KAAM;IAAY;GACrC;EACF;CACF;AACF;AAoCA,SAAgBK,EACd,GACc;CAqBd,OApBIC,EAAQ,WACH;EACL5B,EAAoB;EAOpBE,EAAkB0B,EAAQ,eAAeA,EAAQ,aAAa;EAC9DC,EAAM;GACJ,SAASD,EAAQ;GACjB,UAAU;GACV,WAAW;EACb,CAAC;EACDE,EAAK;EACLC,EAAsB;CACxB,IAGK;EACLC,EAAO,CAAC;EACRC,EAAK;EACLJ,EAAM,EAAE,SAASD,EAAQ,iBAAiB,CAAC;EAC3C5B,EAAoB;EACpBkC,EAAK;GACH,SAASN,EAAQ;GACjB,MAAM,EAAE,sBAAmB;IACzB,EAAQ,wBAAwBO,CAAe;GACjD;EACF,CAAC;EACDL,EAAK;EACLC,EAAsB;CACxB;AACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectContent.js","names":[],"sources":["../../../../src/components/select/SelectContent/useSelectContent.ts"],"sourcesContent":["import { createSignal, createMemo, createEffect, onCleanup } from \"solid-js\";\nimport { createPositioner, type Positioner } from \"~/lib\";\nimport { useSelectContext } from \"../Select/Select.context\";\nimport { createSelectMiddleware } from \"./SelectContent.utils\";\nimport type { SelectContentProps } from \"./SelectContent.types\";\n\nexport interface UseSelectContentResult {\n ctx: ReturnType<typeof useSelectContext>;\n pos: Positioner;\n /**\n * 面板应该用的最大高度:有选中值时,直接读 alignSelectedItem 自己算好的\n * panelHeight(不经过 size 中间件);没有选中值(占位符状态、走贴边下拉)\n * 时,用 size 中间件算出来的可用空间。两种场景用的是不同的高度来源,\n * 统一在这里合并成一个对外的值,展示层不需要关心具体走的是哪一个。\n */\n maxHeight: () => number | undefined;\n /** 综合了 open 状态 + hide 中间件的 referenceHidden 判断 */\n isVisible: () => boolean;\n /**\n * 兼容字段:SelectContent 现在关闭时不再卸载 Portal(为了保住 ctx.items 的\n * 注册信息),因此 mounted 已不再被展示层用来控制 <Show>。该值目前等价于\n * isVisible,保留只是为了不破坏已导出的 useSelectContent 返回类型。\n */\n mounted: () => boolean;\n /** 驱动 data-state 的状态,打开时比 isVisible 晚一帧,给\"选中项对齐\"这类\n * 需要先读到子元素(选项)才能算准位置的定位策略留出时间。 */\n animationState: () => \"open\" | \"closed\";\n contentElement: () => HTMLElement | undefined;\n setContentElement: (el: HTMLElement) => void;\n}\n\nexport function useSelectContent(\n props: () => SelectContentProps,\n): UseSelectContentResult {\n const ctx = useSelectContext(\"SelectContent\");\n const [contentElement, setContentElement] = createSignal<HTMLElement>();\n const [fallbackMaxHeight, setFallbackMaxHeight] = createSignal<number>();\n\n const hasValue = createMemo(() => ctx.value() != null);\n\n const pos = createPositioner(ctx.reference, ctx.floating, {\n placement: () => props().placement ?? \"bottom-start\",\n strategy: \"fixed\",\n middleware: () =>\n createSelectMiddleware({\n hasValue: hasValue(),\n selectedValue: ctx.value,\n scrollElement: contentElement,\n placement: props().placement ?? \"bottom-start\",\n collisionPadding: props().collisionPadding ?? 8,\n onAvailableHeightChange: (availableHeight) => {\n setFallbackMaxHeight(Math.max(availableHeight, 120));\n },\n }),\n });\n\n const maxHeight = createMemo(() => {\n if (hasValue()) {\n const panelHeight = pos.middlewareData().itemAlign?.panelHeight as\n | number\n | undefined;\n return panelHeight !== undefined ? Math.max(panelHeight, 120) : undefined;\n }\n return fallbackMaxHeight();\n });\n\n const isVisible = createMemo(\n () => ctx.open() && !pos.middlewareData().hide?.referenceHidden,\n );\n\n // SelectContent 关闭时也不会卸载(为了保住 ctx.items 的注册信息),因此\n // createPositioner 不会像 Tooltip/Popover 那样在每次打开时重新创建并自动\n // 算一次位置。这里在每次打开时显式重新计算一次,修复“触发器第一次打开后\n // 因外部布局变化移动了位置,第二次打开时面板还停留在旧坐标”的问题。\n createEffect(() => {\n if (ctx.open()) {\n pos.update();\n }\n });\n\n // --- 打开时延迟一帧再触发动画 class ---\n // \"选中项对齐\"策略要读子元素(SelectItem 渲染出来的 <li data-value>)才能\n // 算出正确的位置,如果动画在这次定位算完之前就开始播放,面板会在动画播到\n // 一半时才\"跳\"到正确位置——等一帧,给这次定位计算留出时间(细节和\n // production-tooltip 里箭头位置的处理是同一个道理)。\n const [animationState, setAnimationState] = createSignal<\"open\" | \"closed\">(\n \"closed\",\n );\n\n createEffect(() => {\n if (isVisible()) {\n const raf = requestAnimationFrame(() => setAnimationState(\"open\"));\n onCleanup(() => cancelAnimationFrame(raf));\n } else {\n setAnimationState(\"closed\");\n }\n });\n\n // SelectContent 关闭时不再卸载子节点(否则 ctx.items 会被清空,SelectValue\n // 读不到 label),因此 mounted 已经没有\"延迟卸载/立即卸载\"的语义,直接跟\n // isVisible 保持一致即可。保留该字段只是为了兼容已导出的 useSelectContent\n // 返回类型;新的展示层逻辑一律使用 isVisible。\n const mounted = isVisible;\n\n return {\n ctx,\n pos,\n maxHeight,\n isVisible,\n mounted,\n animationState,\n contentElement,\n setContentElement,\n };\n}\n"],"mappings":";;;;;AA+BA,
|
|
1
|
+
{"version":3,"file":"useSelectContent.js","names":["useSelectContent","ctx","useSelectContext","contentElement","setContentElement","createSignal","fallbackMaxHeight","setFallbackMaxHeight","hasValue","createMemo","pos","createPositioner","props","createSelectMiddleware","availableHeight","maxHeight","panelHeight","isVisible","animationState","setAnimationState","createEffect","raf"],"sources":["../../../../src/components/select/SelectContent/useSelectContent.ts"],"sourcesContent":["import { createSignal, createMemo, createEffect, onCleanup } from \"solid-js\";\nimport { createPositioner, type Positioner } from \"~/lib\";\nimport { useSelectContext } from \"../Select/Select.context\";\nimport { createSelectMiddleware } from \"./SelectContent.utils\";\nimport type { SelectContentProps } from \"./SelectContent.types\";\n\nexport interface UseSelectContentResult {\n ctx: ReturnType<typeof useSelectContext>;\n pos: Positioner;\n /**\n * 面板应该用的最大高度:有选中值时,直接读 alignSelectedItem 自己算好的\n * panelHeight(不经过 size 中间件);没有选中值(占位符状态、走贴边下拉)\n * 时,用 size 中间件算出来的可用空间。两种场景用的是不同的高度来源,\n * 统一在这里合并成一个对外的值,展示层不需要关心具体走的是哪一个。\n */\n maxHeight: () => number | undefined;\n /** 综合了 open 状态 + hide 中间件的 referenceHidden 判断 */\n isVisible: () => boolean;\n /**\n * 兼容字段:SelectContent 现在关闭时不再卸载 Portal(为了保住 ctx.items 的\n * 注册信息),因此 mounted 已不再被展示层用来控制 <Show>。该值目前等价于\n * isVisible,保留只是为了不破坏已导出的 useSelectContent 返回类型。\n */\n mounted: () => boolean;\n /** 驱动 data-state 的状态,打开时比 isVisible 晚一帧,给\"选中项对齐\"这类\n * 需要先读到子元素(选项)才能算准位置的定位策略留出时间。 */\n animationState: () => \"open\" | \"closed\";\n contentElement: () => HTMLElement | undefined;\n setContentElement: (el: HTMLElement) => void;\n}\n\nexport function useSelectContent(\n props: () => SelectContentProps,\n): UseSelectContentResult {\n const ctx = useSelectContext(\"SelectContent\");\n const [contentElement, setContentElement] = createSignal<HTMLElement>();\n const [fallbackMaxHeight, setFallbackMaxHeight] = createSignal<number>();\n\n const hasValue = createMemo(() => ctx.value() != null);\n\n const pos = createPositioner(ctx.reference, ctx.floating, {\n placement: () => props().placement ?? \"bottom-start\",\n strategy: \"fixed\",\n middleware: () =>\n createSelectMiddleware({\n hasValue: hasValue(),\n selectedValue: ctx.value,\n scrollElement: contentElement,\n placement: props().placement ?? \"bottom-start\",\n collisionPadding: props().collisionPadding ?? 8,\n onAvailableHeightChange: (availableHeight) => {\n setFallbackMaxHeight(Math.max(availableHeight, 120));\n },\n }),\n });\n\n const maxHeight = createMemo(() => {\n if (hasValue()) {\n const panelHeight = pos.middlewareData().itemAlign?.panelHeight as\n | number\n | undefined;\n return panelHeight !== undefined ? Math.max(panelHeight, 120) : undefined;\n }\n return fallbackMaxHeight();\n });\n\n const isVisible = createMemo(\n () => ctx.open() && !pos.middlewareData().hide?.referenceHidden,\n );\n\n // SelectContent 关闭时也不会卸载(为了保住 ctx.items 的注册信息),因此\n // createPositioner 不会像 Tooltip/Popover 那样在每次打开时重新创建并自动\n // 算一次位置。这里在每次打开时显式重新计算一次,修复“触发器第一次打开后\n // 因外部布局变化移动了位置,第二次打开时面板还停留在旧坐标”的问题。\n createEffect(() => {\n if (ctx.open()) {\n pos.update();\n }\n });\n\n // --- 打开时延迟一帧再触发动画 class ---\n // \"选中项对齐\"策略要读子元素(SelectItem 渲染出来的 <li data-value>)才能\n // 算出正确的位置,如果动画在这次定位算完之前就开始播放,面板会在动画播到\n // 一半时才\"跳\"到正确位置——等一帧,给这次定位计算留出时间(细节和\n // production-tooltip 里箭头位置的处理是同一个道理)。\n const [animationState, setAnimationState] = createSignal<\"open\" | \"closed\">(\n \"closed\",\n );\n\n createEffect(() => {\n if (isVisible()) {\n const raf = requestAnimationFrame(() => setAnimationState(\"open\"));\n onCleanup(() => cancelAnimationFrame(raf));\n } else {\n setAnimationState(\"closed\");\n }\n });\n\n // SelectContent 关闭时不再卸载子节点(否则 ctx.items 会被清空,SelectValue\n // 读不到 label),因此 mounted 已经没有\"延迟卸载/立即卸载\"的语义,直接跟\n // isVisible 保持一致即可。保留该字段只是为了兼容已导出的 useSelectContent\n // 返回类型;新的展示层逻辑一律使用 isVisible。\n const mounted = isVisible;\n\n return {\n ctx,\n pos,\n maxHeight,\n isVisible,\n mounted,\n animationState,\n contentElement,\n setContentElement,\n };\n}\n"],"mappings":";;;;;AA+BA,SAAgBA,EACd,GACwB;CACxB,IAAMC,IAAMC,EAAiB,eAAe,GACtC,CAACC,GAAgBC,KAAqBC,EAA0B,GAChE,CAACC,GAAmBC,KAAwBF,EAAqB,GAEjEG,IAAWC,QAAiBR,EAAI,MAAM,KAAK,IAAI,GAE/CS,IAAMC,EAAiBV,EAAI,WAAWA,EAAI,UAAU;EACxD,iBAAiBW,EAAM,CAAC,CAAC,aAAa;EACtC,UAAU;EACV,kBACEC,EAAuB;GACrB,UAAUL,EAAS;GACnB,eAAeP,EAAI;GACnB,eAAeE;GACf,WAAWS,EAAM,CAAC,CAAC,aAAa;GAChC,kBAAkBA,EAAM,CAAC,CAAC,oBAAoB;GAC9C,0BAA0B,MAAoB;IAC5C,EAAqB,KAAK,IAAIE,GAAiB,GAAG,CAAC;GACrD;EACF,CAAC;CACL,CAAC,GAEKC,IAAYN,QAAiB;EACjC,IAAID,EAAS,GAAG;GACd,IAAMQ,IAAcN,EAAI,eAAe,CAAC,CAAC,WAAW;GAGpD,OAAOM,MAAgB,KAAA,IAAyC,KAAA,IAA7B,KAAK,IAAIA,GAAa,GAAG;EAC9D;EACA,OAAOV,EAAkB;CAC3B,CAAC,GAEKW,IAAYR,QACVR,EAAI,KAAK,KAAK,CAACS,EAAI,eAAe,CAAC,CAAC,MAAM,eAClD;CAMA,QAAmB;EACjB,AAAIT,EAAI,KAAK,KACXS,EAAI,OAAO;CAEf,CAAC;CAOD,IAAM,CAACQ,GAAgBC,KAAqBd,EAC1C,QACF;CAiBA,OAfAe,QAAmB;EACjB,IAAIH,EAAU,GAAG;GACf,IAAMI,IAAM,4BAA4BF,EAAkB,MAAM,CAAC;GACjE,QAAgB,qBAAqBE,CAAG,CAAC;EAC3C,OACE,EAAkB,QAAQ;CAE9B,CAAC,GAQM;EACL;EACA;EACA;EACA;EACA,SAAAJ;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ParentProps } from 'solid-js';
|
|
2
|
-
export declare function SelectGroup(props: ParentProps): import(
|
|
2
|
+
export declare function SelectGroup(props: ParentProps): import('solid-js').JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectGroup.js","names":["ParentProps","SelectGroup","props","_el$","_tmpl$","_$insert","children"],"sources":["../../../../src/components/select/SelectGroup/SelectGroup.tsx"],"sourcesContent":["import type { ParentProps } from \"solid-js\";\n\nexport function SelectGroup(props: ParentProps) {\n return <li role=\"group\">{props.children}</li>;\n}\n"],"mappings":";;;AAEA,SAAgBC,EAAYC,GAAoB;CAC9C,cAAA;EAAA,IAAAC,IAAAC,EAAA;EAAuC,OAAvCC,EAAAF,SAAyBD,EAAMI,QAAQ,GAAAH;CAAA,EAAA,CAAA;AACzC"}
|
|
1
|
+
{"version":3,"file":"SelectGroup.js","names":["ParentProps","SelectGroup","props","_el$","_tmpl$","_$insert","children","_tmpl$","SelectGroup","_el$","insert","props"],"sources":["../../../../src/components/select/SelectGroup/SelectGroup.tsx"],"sourcesContent":["import type { ParentProps } from \"solid-js\";\n\nexport function SelectGroup(props: ParentProps) {\n return <li role=\"group\">{props.children}</li>;\n}\n"],"mappings":";;;AAEA,SAAgBC,EAAYC,GAAoB;CAC9C,cAAA;EAAA,IAAAC,IAAAC,EAAA;EAAuC,OAAvCC,EAAAF,SAAyBD,EAAMI,QAAQ,GAAAH;CAAA,EAAA,CAAA;AACzC"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { SelectItemProps } from './SelectItem.types';
|
|
2
|
-
export declare function SelectItem(props: SelectItemProps): import(
|
|
2
|
+
export declare function SelectItem(props: SelectItemProps): import('solid-js').JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectItem.js","names":["Show","splitProps","onCleanup","useSelectItem","SelectItemProps","clsx","Check","SelectItem","props","isSelected","isActive","select","onMouseEnter","local","rest","attachListeners","el","HTMLDivElement","handleClick","handleMouseEnter","addEventListener","removeEventListener","_el$","_tmpl$","_el$2","firstChild","_$use","_$spread","_$mergeProps","tabIndex","data-value","String","value","aria-selected","aria-disabled","disabled","class","_$insert","children","label","_$createComponent","when","size"],"sources":["../../../../src/components/select/SelectItem/SelectItem.tsx"],"sourcesContent":["import { Show, splitProps, onCleanup } from \"solid-js\";\nimport { useSelectItem } from \"./useSelectItem\";\nimport type { SelectItemProps } from \"./SelectItem.types\";\nimport { clsx } from \"~/utils\";\nimport { Check } from \"lucide-solid\";\n\nexport function SelectItem(props: SelectItemProps) {\n const { isSelected, isActive, select, onMouseEnter } = useSelectItem(\n () => props,\n );\n\n const [local, rest] = splitProps(props, [\n \"value\",\n \"label\",\n \"disabled\",\n \"class\",\n \"children\",\n ]);\n\n // click/mouseenter 走 addEventListener(不是 JSX onClick),和 SelectTrigger\n // 是同一套约定,不占用 onXxx prop 名,调用方自己传的 onClick 不会被覆盖。\n const attachListeners = (el: HTMLDivElement) => {\n const handleClick = () => select();\n const handleMouseEnter = () => onMouseEnter();\n el.addEventListener(\"click\", handleClick);\n el.addEventListener(\"mouseenter\", handleMouseEnter);\n onCleanup(() => {\n el.removeEventListener(\"click\", handleClick);\n el.removeEventListener(\"mouseenter\", handleMouseEnter);\n });\n };\n\n return (\n <div\n ref={attachListeners}\n role=\"option\"\n tabIndex={isSelected() ? 0 : -1}\n data-value={String(local.value)}\n aria-selected={isSelected()}\n aria-disabled={local.disabled}\n class={clsx(\n \"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-2 pr-6 text-sm outline-none\",\n isActive() && \"bg-neutral-100 dark:bg-neutral-800\",\n local.disabled && \"pointer-events-none opacity-50\",\n local.class,\n )}\n {...rest}\n >\n {local.children ?? local.label ?? local.value}\n <span class=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <Show when={isSelected()}>\n <Check size={14} />\n </Show>\n </span>\n </div>\n );\n}\n"],"mappings":";;;;;;;AAMA,SAAgBO,EAAWC,GAAwB;CACjD,IAAM,EAAEC,eAAYC,aAAUC,WAAQC,oBAAiBT,QAC/CK,CACR,GAEM,CAACK,GAAOC,KAAQb,EAAWO,GAAO;EACtC;EACA;EACA;EACA;EACA;CAAU,CACX,GAIKO,KAAmBC,MAAuB;EAC9C,IAAME,UAAoBP,EAAO,GAC3BQ,UAAyBP,EAAa;EAG5CV,AAFAc,EAAGI,iBAAiB,SAASF,CAAW,GACxCF,EAAGI,iBAAiB,cAAcD,CAAgB,GAClDjB,QAAgB;GAEdc,AADAA,EAAGK,oBAAoB,SAASH,CAAW,GAC3CF,EAAGK,oBAAoB,cAAcF,CAAgB;EACvD,CAAC;CACH;CAEA,cAAA;EAAA,IAAAG,IAAAC,EAAA,GAAAC,IAAAF,EAAAG;EAmBuB,OAnBvBC,EAESX,GAAeO,CAAA,GAAAK,EAAAL,GAAAM,EAAA;GAAA,IAEpBC,WAAQ;IAAA,OAAEpB,EAAW,IAAI,IAAI;GAAE;GAAA,IAAA,eAAA;IAAA,OACnBsB,OAAOlB,EAAMmB,KAAK;GAAC;GAAA,IAAA,kBAAA;IAAA,OAChBvB,EAAW;GAAC;GAAA,IAAA,kBAAA;IAAA,OACZI,EAAMsB;GAAQ;GAAA,
|
|
1
|
+
{"version":3,"file":"SelectItem.js","names":["Show","splitProps","onCleanup","useSelectItem","SelectItemProps","clsx","Check","SelectItem","props","isSelected","isActive","select","onMouseEnter","local","rest","attachListeners","el","HTMLDivElement","handleClick","handleMouseEnter","addEventListener","removeEventListener","_el$","_tmpl$","_el$2","firstChild","_$use","_$spread","_$mergeProps","tabIndex","data-value","String","value","aria-selected","aria-disabled","disabled","class","_$insert","children","label","_$createComponent","when","size","_$mergeProps","_$createComponent","_tmpl$","SelectItem","useSelectItem","props","local","rest","splitProps","attachListeners","handleClick","select","handleMouseEnter","onMouseEnter","el","onCleanup","_el$","_el$2","use","spread","mergeProps","isSelected","\"class\"","clsx","isActive","insert","createComponent","Show","Check"],"sources":["../../../../src/components/select/SelectItem/SelectItem.tsx"],"sourcesContent":["import { Show, splitProps, onCleanup } from \"solid-js\";\nimport { useSelectItem } from \"./useSelectItem\";\nimport type { SelectItemProps } from \"./SelectItem.types\";\nimport { clsx } from \"~/utils\";\nimport { Check } from \"lucide-solid\";\n\nexport function SelectItem(props: SelectItemProps) {\n const { isSelected, isActive, select, onMouseEnter } = useSelectItem(\n () => props,\n );\n\n const [local, rest] = splitProps(props, [\n \"value\",\n \"label\",\n \"disabled\",\n \"class\",\n \"children\",\n ]);\n\n // click/mouseenter 走 addEventListener(不是 JSX onClick),和 SelectTrigger\n // 是同一套约定,不占用 onXxx prop 名,调用方自己传的 onClick 不会被覆盖。\n const attachListeners = (el: HTMLDivElement) => {\n const handleClick = () => select();\n const handleMouseEnter = () => onMouseEnter();\n el.addEventListener(\"click\", handleClick);\n el.addEventListener(\"mouseenter\", handleMouseEnter);\n onCleanup(() => {\n el.removeEventListener(\"click\", handleClick);\n el.removeEventListener(\"mouseenter\", handleMouseEnter);\n });\n };\n\n return (\n <div\n ref={attachListeners}\n role=\"option\"\n tabIndex={isSelected() ? 0 : -1}\n data-value={String(local.value)}\n aria-selected={isSelected()}\n aria-disabled={local.disabled}\n class={clsx(\n \"relative flex cursor-pointer select-none items-center rounded-sm py-1.5 pl-2 pr-6 text-sm outline-none\",\n isActive() && \"bg-neutral-100 dark:bg-neutral-800\",\n local.disabled && \"pointer-events-none opacity-50\",\n local.class,\n )}\n {...rest}\n >\n {local.children ?? local.label ?? local.value}\n <span class=\"absolute right-2 flex h-3.5 w-3.5 items-center justify-center\">\n <Show when={isSelected()}>\n <Check size={14} />\n </Show>\n </span>\n </div>\n );\n}\n"],"mappings":";;;;;;;AAMA,SAAgBO,EAAWC,GAAwB;CACjD,IAAM,EAAEC,eAAYC,aAAUC,WAAQC,oBAAiBT,QAC/CK,CACR,GAEM,CAACK,GAAOC,KAAQb,EAAWO,GAAO;EACtC;EACA;EACA;EACA;EACA;CAAU,CACX,GAIKO,KAAmBC,MAAuB;EAC9C,IAAME,UAAoBP,EAAO,GAC3BQ,UAAyBP,EAAa;EAG5CV,AAFAc,EAAGI,iBAAiB,SAASF,CAAW,GACxCF,EAAGI,iBAAiB,cAAcD,CAAgB,GAClDjB,QAAgB;GAEdc,AADAA,EAAGK,oBAAoB,SAASH,CAAW,GAC3CF,EAAGK,oBAAoB,cAAcF,CAAgB;EACvD,CAAC;CACH;CAEA,cAAA;EAAA,IAAAG,IAAAC,EAAA,GAAAC,IAAAF,EAAAG;EAmBuB,OAnBvBC,EAESX,GAAeO,CAAA,GAAAK,EAAAL,GAAAM,EAAA;GAAA,IAEpBC,WAAQ;IAAA,OAAEpB,EAAW,IAAI,IAAI;GAAE;GAAA,IAAA,eAAA;IAAA,OACnBsB,OAAOlB,EAAMmB,KAAK;GAAC;GAAA,IAAA,kBAAA;IAAA,OAChBvB,EAAW;GAAC;GAAA,IAAA,kBAAA;IAAA,OACZI,EAAMsB;GAAQ;GAAA,IAAA8B,QAAA;IAAA,OACtB5D,EACL,0GACAK,EAAS,KAAK,sCACdG,EAAMsB,YAAY,kCAClBtB,EAAMuB,KACR;GAAC;EAAA,GACGtB,CAAI,GAAA,IAAA,EAAA,GAAAuB,EAAAf,SAEPT,EAAMyB,YAAYzB,EAAM0B,SAAS1B,EAAMmB,OAAKR,CAAA,GAAAa,EAAAb,GAAAgB,EAE1CxC,GAAI;GAAA,IAACyC,OAAI;IAAA,OAAEhC,EAAW;GAAC;GAAA,IAAA6B,WAAA;IAAA,OAAAE,EACrBlC,GAAK,EAACoC,MAAM,GAAE,CAAA;GAAA;EAAA,CAAA,CAAA,GAAApB;CAAA,EAAA,CAAA;AAKzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectItem.js","names":[],"sources":["../../../../src/components/select/SelectItem/useSelectItem.ts"],"sourcesContent":["import { onMount, onCleanup, createMemo } from \"solid-js\";\nimport { useSelectContext } from \"../Select/Select.context\";\nimport type { SelectItemProps } from \"./SelectItem.types\";\nimport type { SelectOptionValue } from \"../Select/Select.types\";\n\nexport interface UseSelectItemResult {\n ctx: ReturnType<typeof useSelectContext>;\n label: () => string;\n isSelected: () => boolean;\n isActive: () => boolean;\n select: () => void;\n onMouseEnter: () => void;\n}\n\nexport function useSelectItem<T extends SelectOptionValue = SelectOptionValue>(\n props: () => SelectItemProps<T>,\n): UseSelectItemResult {\n const ctx = useSelectContext(\"SelectItem\");\n\n const label = () => {\n const p = props();\n if (p.label) return p.label;\n return typeof p.children === \"string\" ? p.children : String(p.value);\n };\n\n onMount(() => {\n const p = props();\n const unregister = ctx.registerItem({\n value: p.value,\n label: label(),\n disabled: p.disabled,\n });\n onCleanup(unregister);\n });\n\n const isSelected = createMemo(() => ctx.value() === props().value);\n const isActive = createMemo(() => ctx.activeValue() === props().value);\n\n const select = () => {\n if (props().disabled) return;\n ctx.selectValue(props().value);\n };\n\n const onMouseEnter = () => {\n if (!props().disabled) ctx.setActiveValue(props().value);\n };\n\n return { ctx, label, isSelected, isActive, select, onMouseEnter };\n}\n"],"mappings":";;;AAcA,
|
|
1
|
+
{"version":3,"file":"useSelectItem.js","names":["useSelectItem","ctx","useSelectContext","label","p","props","onMount","unregister","createMemo"],"sources":["../../../../src/components/select/SelectItem/useSelectItem.ts"],"sourcesContent":["import { onMount, onCleanup, createMemo } from \"solid-js\";\nimport { useSelectContext } from \"../Select/Select.context\";\nimport type { SelectItemProps } from \"./SelectItem.types\";\nimport type { SelectOptionValue } from \"../Select/Select.types\";\n\nexport interface UseSelectItemResult {\n ctx: ReturnType<typeof useSelectContext>;\n label: () => string;\n isSelected: () => boolean;\n isActive: () => boolean;\n select: () => void;\n onMouseEnter: () => void;\n}\n\nexport function useSelectItem<T extends SelectOptionValue = SelectOptionValue>(\n props: () => SelectItemProps<T>,\n): UseSelectItemResult {\n const ctx = useSelectContext(\"SelectItem\");\n\n const label = () => {\n const p = props();\n if (p.label) return p.label;\n return typeof p.children === \"string\" ? p.children : String(p.value);\n };\n\n onMount(() => {\n const p = props();\n const unregister = ctx.registerItem({\n value: p.value,\n label: label(),\n disabled: p.disabled,\n });\n onCleanup(unregister);\n });\n\n const isSelected = createMemo(() => ctx.value() === props().value);\n const isActive = createMemo(() => ctx.activeValue() === props().value);\n\n const select = () => {\n if (props().disabled) return;\n ctx.selectValue(props().value);\n };\n\n const onMouseEnter = () => {\n if (!props().disabled) ctx.setActiveValue(props().value);\n };\n\n return { ctx, label, isSelected, isActive, select, onMouseEnter };\n}\n"],"mappings":";;;AAcA,SAAgBA,EACd,GACqB;CACrB,IAAMC,IAAMC,EAAiB,YAAY,GAEnCC,UAAc;EAClB,IAAMC,IAAIC,EAAM;EAEhB,OADID,EAAE,QAAcA,EAAE,QACf,OAAOA,EAAE,YAAa,WAAWA,EAAE,WAAW,OAAOA,EAAE,KAAK;CACrE;CAwBA,OAtBAE,QAAc;EACZ,IAAMF,IAAIC,EAAM,GACVE,IAAaN,EAAI,aAAa;GAClC,OAAOG,EAAE;GACT,OAAOD,EAAM;GACb,UAAUC,EAAE;EACd,CAAC;EACD,EAAUG,CAAU;CACtB,CAAC,GAcM;EAAE;EAAK;EAAO,YAZFC,QAAiBP,EAAI,MAAM,MAAMI,EAAM,CAAC,CAAC,KAYvC;EAAY,UAXhBG,QAAiBP,EAAI,YAAY,MAAMI,EAAM,CAAC,CAAC,KAW/B;EAAU,cATtB;GACnB,AAAIA,EAAM,CAAC,CAAC,YACZJ,EAAI,YAAYI,EAAM,CAAC,CAAC,KAAK;EAC/B;EAMmD,oBAJxB;GACzB,AAAKA,EAAM,CAAC,CAAC,YAAUJ,EAAI,eAAeI,EAAM,CAAC,CAAC,KAAK;EACzD;CAEgE;AAClE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { LabelProps } from '../../label';
|
|
2
|
-
export declare function SelectLabel(props: LabelProps): import(
|
|
2
|
+
export declare function SelectLabel(props: LabelProps): import('solid-js').JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectLabel.js","names":["Label","LabelProps","clsx","SelectLabel","props","_$createComponent","_$mergeProps","class"],"sources":["../../../../src/components/select/SelectLabel/SelectLabel.tsx"],"sourcesContent":["import { Label, type LabelProps } from \"~/components/label\";\nimport { clsx } from \"~/utils\";\n\nexport function SelectLabel(props: LabelProps) {\n return (\n <Label\n {...props}\n class={clsx(\n \"px-2 py-1.5 text-xs font-medium text-neutral-500\",\n props.class,\n )}\n />\n );\n}\n"],"mappings":";;;;AAGA,SAAgBG,EAAYC,GAAmB;CAC7C,OAAAC,EACGL,GAAKM,EACAF,GAAK,EAAA,
|
|
1
|
+
{"version":3,"file":"SelectLabel.js","names":["Label","LabelProps","clsx","SelectLabel","props","_$createComponent","_$mergeProps","class","_$createComponent","_$mergeProps","SelectLabel","createComponent","Label","mergeProps","props","\"class\"","clsx"],"sources":["../../../../src/components/select/SelectLabel/SelectLabel.tsx"],"sourcesContent":["import { Label, type LabelProps } from \"~/components/label\";\nimport { clsx } from \"~/utils\";\n\nexport function SelectLabel(props: LabelProps) {\n return (\n <Label\n {...props}\n class={clsx(\n \"px-2 py-1.5 text-xs font-medium text-neutral-500\",\n props.class,\n )}\n />\n );\n}\n"],"mappings":";;;;AAGA,SAAgBG,EAAYC,GAAmB;CAC7C,OAAAC,EACGL,GAAKM,EACAF,GAAK,EAAA,IAAAW,QAAA;EAAA,OACFb,EACL,oDACAE,EAAMG,KACR;CAAC,EAAA,CAAA,CAAA;AAGP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { SeparatorProps } from '../../separator';
|
|
2
|
-
export declare function SelectSeparator(props: SeparatorProps): import(
|
|
2
|
+
export declare function SelectSeparator(props: SeparatorProps): import('solid-js').JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectSeparator.js","names":["Separator","SeparatorProps","clsx","SelectSeparator","props","_$createComponent","_$mergeProps","class"],"sources":["../../../../src/components/select/SelectSeparator/SelectSeparator.tsx"],"sourcesContent":["import { Separator, type SeparatorProps } from \"~/components/separator\";\nimport { clsx } from \"~/utils\";\n\nexport function SelectSeparator(props: SeparatorProps) {\n return <Separator {...props} class={clsx(\"my-1\", props.class)} />;\n}\n"],"mappings":";;;;AAGA,SAAgBG,EAAgBC,GAAuB;CACrD,OAAAC,EAAQL,GAASM,EAAKF,GAAK,EAAA,
|
|
1
|
+
{"version":3,"file":"SelectSeparator.js","names":["Separator","SeparatorProps","clsx","SelectSeparator","props","_$createComponent","_$mergeProps","class","_$createComponent","_$mergeProps","SelectSeparator","createComponent","Separator","mergeProps","props","\"class\"","clsx"],"sources":["../../../../src/components/select/SelectSeparator/SelectSeparator.tsx"],"sourcesContent":["import { Separator, type SeparatorProps } from \"~/components/separator\";\nimport { clsx } from \"~/utils\";\n\nexport function SelectSeparator(props: SeparatorProps) {\n return <Separator {...props} class={clsx(\"my-1\", props.class)} />;\n}\n"],"mappings":";;;;AAGA,SAAgBG,EAAgBC,GAAuB;CACrD,OAAAC,EAAQL,GAASM,EAAKF,GAAK,EAAA,IAAAW,QAAA;EAAA,OAASb,EAAK,QAAQE,EAAMG,KAAK;CAAC,EAAA,CAAA,CAAA;AAC/D"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidComponent } from 'solid-js';
|
|
2
2
|
import { SelectTriggerProps } from './SelectTrigger.types';
|
|
3
3
|
import { Button } from '../../button';
|
|
4
|
-
export declare const SelectTrigger: <T extends ValidComponent = typeof Button<"button">>(props: SelectTriggerProps<T>) => import(
|
|
4
|
+
export declare const SelectTrigger: <T extends ValidComponent = typeof Button<"button">>(props: SelectTriggerProps<T>) => import('solid-js').JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTrigger.js","names":["ValidComponent","Dynamic","useSelectTrigger","SelectTriggerProps","clsx","mergeRefs","Button","ChevronDown","SelectTrigger","props","T","ctx","isDisabled","attachListeners","_$createComponent","_$mergeProps","disabled","icon","iconPosition","component","variant","ref","r$","_ref$","setReference","role","aria-expanded","open","aria-controls","_$memo","contentId","undefined","data-state","data-disabled","class"],"sources":["../../../../src/components/select/SelectTrigger/SelectTrigger.tsx"],"sourcesContent":["import type { ValidComponent } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { useSelectTrigger } from \"./useSelectTrigger\";\nimport type { SelectTriggerProps } from \"./SelectTrigger.types\";\nimport { clsx, mergeRefs } from \"~/utils\";\nimport { Button } from \"~/components/button\";\nimport { ChevronDown } from \"lucide-solid\";\n\nexport const SelectTrigger = <\n T extends ValidComponent = typeof Button<\"button\">,\n>(\n props: SelectTriggerProps<T>,\n) => {\n const { ctx, isDisabled, attachListeners } = useSelectTrigger(() => props);\n\n return (\n <Dynamic\n {...props}\n disabled={isDisabled()}\n icon={<ChevronDown />}\n iconPosition=\"right\"\n component={(props.component as ValidComponent) ?? Button<\"button\">}\n variant={props.variant ?? \"outline\"}\n ref={mergeRefs(ctx.setReference, props.ref, attachListeners)}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded={ctx.open()}\n aria-controls={ctx.open() ? ctx.contentId : undefined}\n data-state={ctx.open() ? \"open\" : \"closed\"}\n data-disabled={isDisabled() ? \"\" : undefined}\n class={clsx(\"justify-between\", props.class)}\n />\n );\n};\n"],"mappings":";;;;;;;AAQA,IAAaQ,KAGXC,MACG;CACH,IAAM,EAAEE,QAAKC,eAAYC,uBAAoBX,QAAuBO,CAAK;CAEzE,OAAAK,EACGb,GAAOc,EACFN,GAAK;EAAA,IACTO,WAAQ;GAAA,OAAEJ,EAAW;EAAC;EAAA,IACtBK,OAAI;GAAA,OAAAH,EAAGP,GAAW,CAAA,CAAA;EAAA;EAClBW,cAAY;EAAA,IACZC,YAAS;GAAA,OAAGV,EAAMU,aAAgCb;EAAgB;EAAA,IAClEc,UAAO;GAAA,OAAEX,EAAMW,WAAW;EAAS;EAAAC,IAAAC,GAAA;GAAA,IAAAC,IAC9BlB,EAAUM,EAAIa,cAAcf,EAAMY,KAAKR,CAAe;GAAC,OAAAU,KAAA,cAAAA,EAAAD,CAAA;EAAA;EAC5DG,MAAI;EAAA,iBAAA;EAAA,IAAA,kBAAA;GAAA,OAEWd,EAAIgB,KAAK;EAAC;EAAA,IAAA,kBAAA;GAAA,OACVE,QAAA,CAAA,CAAAlB,EAAIgB,KAAK,CAAC,CAAA,CAAA,IAAGhB,EAAImB,YAAYC,KAAAA;EAAS;EAAA,IAAA,eAAA;GAAA,OACzCpB,EAAIgB,KAAK,IAAI,SAAS;EAAQ;EAAA,IAAA,kBAAA;GAAA,OAC3Bf,EAAW,IAAI,KAAKmB,KAAAA;EAAS;EAAA,
|
|
1
|
+
{"version":3,"file":"SelectTrigger.js","names":["ValidComponent","Dynamic","useSelectTrigger","SelectTriggerProps","clsx","mergeRefs","Button","ChevronDown","SelectTrigger","props","T","ctx","isDisabled","attachListeners","_$createComponent","_$mergeProps","disabled","icon","iconPosition","component","variant","ref","r$","_ref$","setReference","role","aria-expanded","open","aria-controls","_$memo","contentId","undefined","data-state","data-disabled","class","_$createComponent","_$mergeProps","_$memo","SelectTrigger","useSelectTrigger","props","createComponent","Dynamic","mergeProps","isDisabled","ChevronDown","Button","_ref$","mergeRefs","ctx","attachListeners","r$","memo","\"class\"","clsx"],"sources":["../../../../src/components/select/SelectTrigger/SelectTrigger.tsx"],"sourcesContent":["import type { ValidComponent } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { useSelectTrigger } from \"./useSelectTrigger\";\nimport type { SelectTriggerProps } from \"./SelectTrigger.types\";\nimport { clsx, mergeRefs } from \"~/utils\";\nimport { Button } from \"~/components/button\";\nimport { ChevronDown } from \"lucide-solid\";\n\nexport const SelectTrigger = <\n T extends ValidComponent = typeof Button<\"button\">,\n>(\n props: SelectTriggerProps<T>,\n) => {\n const { ctx, isDisabled, attachListeners } = useSelectTrigger(() => props);\n\n return (\n <Dynamic\n {...props}\n disabled={isDisabled()}\n icon={<ChevronDown />}\n iconPosition=\"right\"\n component={(props.component as ValidComponent) ?? Button<\"button\">}\n variant={props.variant ?? \"outline\"}\n ref={mergeRefs(ctx.setReference, props.ref, attachListeners)}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded={ctx.open()}\n aria-controls={ctx.open() ? ctx.contentId : undefined}\n data-state={ctx.open() ? \"open\" : \"closed\"}\n data-disabled={isDisabled() ? \"\" : undefined}\n class={clsx(\"justify-between\", props.class)}\n />\n );\n};\n"],"mappings":";;;;;;;AAQA,IAAaQ,KAGXC,MACG;CACH,IAAM,EAAEE,QAAKC,eAAYC,uBAAoBX,QAAuBO,CAAK;CAEzE,OAAAK,EACGb,GAAOc,EACFN,GAAK;EAAA,IACTO,WAAQ;GAAA,OAAEJ,EAAW;EAAC;EAAA,IACtBK,OAAI;GAAA,OAAAH,EAAGP,GAAW,CAAA,CAAA;EAAA;EAClBW,cAAY;EAAA,IACZC,YAAS;GAAA,OAAGV,EAAMU,aAAgCb;EAAgB;EAAA,IAClEc,UAAO;GAAA,OAAEX,EAAMW,WAAW;EAAS;EAAAC,IAAAC,GAAA;GAAA,IAAAC,IAC9BlB,EAAUM,EAAIa,cAAcf,EAAMY,KAAKR,CAAe;GAAC,OAAAU,KAAA,cAAAA,EAAAD,CAAA;EAAA;EAC5DG,MAAI;EAAA,iBAAA;EAAA,IAAA,kBAAA;GAAA,OAEWd,EAAIgB,KAAK;EAAC;EAAA,IAAA,kBAAA;GAAA,OACVE,QAAA,CAAA,CAAAlB,EAAIgB,KAAK,CAAC,CAAA,CAAA,IAAGhB,EAAImB,YAAYC,KAAAA;EAAS;EAAA,IAAA,eAAA;GAAA,OACzCpB,EAAIgB,KAAK,IAAI,SAAS;EAAQ;EAAA,IAAA,kBAAA;GAAA,OAC3Bf,EAAW,IAAI,KAAKmB,KAAAA;EAAS;EAAA,IAAAsB,QAAA;GAAA,OACrCjD,EAAK,mBAAmBK,EAAMyB,KAAK;EAAC;CAAA,CAAA,CAAA;AAGjD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useSelectTrigger.js","names":[],"sources":["../../../../src/components/select/SelectTrigger/useSelectTrigger.ts"],"sourcesContent":["import { onCleanup, type ValidComponent } from \"solid-js\";\nimport { useSelectContext } from \"../Select/Select.context\";\nimport type { SelectTriggerProps } from \"./SelectTrigger.types\";\n\nexport interface UseSelectTriggerResult {\n ctx: ReturnType<typeof useSelectContext>;\n isDisabled: () => boolean;\n /**\n * 把开关下拉相关的原生事件监听器绑定到真正的 DOM 元素上(通过 ref 调用)。\n * 用 addEventListener 而不是 JSX 的 onXxx prop,是为了不占用这些 prop 名——\n * 调用方可以在 <SelectTrigger onClick={...}> 上自由传自己的原生事件处理,\n * 两者是完全独立的两套机制,互不覆盖。\n */\n attachListeners: (el: Element) => void;\n}\n\nexport function useSelectTrigger<T extends ValidComponent>(\n props: () => SelectTriggerProps<T>,\n): UseSelectTriggerResult {\n const ctx = useSelectContext(\"SelectTrigger\");\n\n const isDisabled = () => ctx.disabled() || !!props().disabled;\n\n const openAndHighlightSelected = () => {\n if (isDisabled()) return;\n ctx.setActiveValue(\n ctx.value() ?? ctx.items.find((it) => !it.disabled)?.value,\n );\n ctx.setOpen(true);\n };\n\n const attachListeners = (el: Element) => {\n const onClick = () => {\n if (isDisabled()) return;\n if (ctx.open()) ctx.setOpen(false);\n else openAndHighlightSelected();\n };\n\n const onKeyDown = (e: Event) => {\n if (isDisabled()) return;\n const keyboardEvent = e as KeyboardEvent;\n\n if (!ctx.open()) {\n if (\n [\"ArrowDown\", \"ArrowUp\", \"Enter\", \" \"].includes(keyboardEvent.key)\n ) {\n keyboardEvent.preventDefault();\n openAndHighlightSelected();\n }\n return;\n }\n\n if (keyboardEvent.key === \"Escape\") {\n keyboardEvent.stopPropagation();\n ctx.close();\n }\n };\n\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"keydown\", onKeyDown);\n\n onCleanup(() => {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"keydown\", onKeyDown);\n });\n };\n\n return { ctx, isDisabled, attachListeners };\n}\n"],"mappings":";;;AAgBA,
|
|
1
|
+
{"version":3,"file":"useSelectTrigger.js","names":["useSelectTrigger","ctx","useSelectContext","isDisabled","props","openAndHighlightSelected","it","onClick","onKeyDown","keyboardEvent","el","onCleanup"],"sources":["../../../../src/components/select/SelectTrigger/useSelectTrigger.ts"],"sourcesContent":["import { onCleanup, type ValidComponent } from \"solid-js\";\nimport { useSelectContext } from \"../Select/Select.context\";\nimport type { SelectTriggerProps } from \"./SelectTrigger.types\";\n\nexport interface UseSelectTriggerResult {\n ctx: ReturnType<typeof useSelectContext>;\n isDisabled: () => boolean;\n /**\n * 把开关下拉相关的原生事件监听器绑定到真正的 DOM 元素上(通过 ref 调用)。\n * 用 addEventListener 而不是 JSX 的 onXxx prop,是为了不占用这些 prop 名——\n * 调用方可以在 <SelectTrigger onClick={...}> 上自由传自己的原生事件处理,\n * 两者是完全独立的两套机制,互不覆盖。\n */\n attachListeners: (el: Element) => void;\n}\n\nexport function useSelectTrigger<T extends ValidComponent>(\n props: () => SelectTriggerProps<T>,\n): UseSelectTriggerResult {\n const ctx = useSelectContext(\"SelectTrigger\");\n\n const isDisabled = () => ctx.disabled() || !!props().disabled;\n\n const openAndHighlightSelected = () => {\n if (isDisabled()) return;\n ctx.setActiveValue(\n ctx.value() ?? ctx.items.find((it) => !it.disabled)?.value,\n );\n ctx.setOpen(true);\n };\n\n const attachListeners = (el: Element) => {\n const onClick = () => {\n if (isDisabled()) return;\n if (ctx.open()) ctx.setOpen(false);\n else openAndHighlightSelected();\n };\n\n const onKeyDown = (e: Event) => {\n if (isDisabled()) return;\n const keyboardEvent = e as KeyboardEvent;\n\n if (!ctx.open()) {\n if (\n [\"ArrowDown\", \"ArrowUp\", \"Enter\", \" \"].includes(keyboardEvent.key)\n ) {\n keyboardEvent.preventDefault();\n openAndHighlightSelected();\n }\n return;\n }\n\n if (keyboardEvent.key === \"Escape\") {\n keyboardEvent.stopPropagation();\n ctx.close();\n }\n };\n\n el.addEventListener(\"click\", onClick);\n el.addEventListener(\"keydown\", onKeyDown);\n\n onCleanup(() => {\n el.removeEventListener(\"click\", onClick);\n el.removeEventListener(\"keydown\", onKeyDown);\n });\n };\n\n return { ctx, isDisabled, attachListeners };\n}\n"],"mappings":";;;AAgBA,SAAgBA,EACd,GACwB;CACxB,IAAMC,IAAMC,EAAiB,eAAe,GAEtCC,UAAmBF,EAAI,SAAS,KAAK,CAAC,CAACG,EAAM,CAAC,CAAC,UAE/CC,UAAiC;EACrC,AAAIF,EAAW,MACfF,EAAI,eACFA,EAAI,MAAM,KAAKA,EAAI,MAAM,MAAM,MAAO,CAACK,EAAG,QAAQ,CAAC,EAAE,KACvD,GACAL,EAAI,QAAQ,EAAI;CAClB;CAsCA,OAAO;EAAE;EAAK;EAAY,kBApCD,MAAgB;GACvC,IAAMM,UAAgB;IACpB,AAAIJ,EAAW,MACXF,EAAI,KAAK,IAAGA,EAAI,QAAQ,EAAK,IAC5BI,EAAyB;GAChC,GAEMG,KAAa,MAAa;IAC9B,IAAIL,EAAW,GAAG;IAClB,IAAMM,IAAgB;IAEtB,IAAI,CAACR,EAAI,KAAK,GAAG;KACf,AACE;MAAC;MAAa;MAAW;MAAS;KAAG,CAAC,CAAC,SAASQ,EAAc,GAAG,MAEjEA,EAAc,eAAe,GAC7BJ,EAAyB;KAE3B;IACF;IAEA,AAAII,EAAc,QAAQ,aACxBA,EAAc,gBAAgB,GAC9BR,EAAI,MAAM;GAEd;GAKA,AAHAS,EAAG,iBAAiB,SAASH,CAAO,GACpCG,EAAG,iBAAiB,WAAWF,CAAS,GAExCG,QAAgB;IAEd,AADAD,EAAG,oBAAoB,SAASH,CAAO,GACvCG,EAAG,oBAAoB,WAAWF,CAAS;GAC7C,CAAC;EACH;CAE0C;AAC5C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { SelectValueProps } from './SelectValue.types';
|
|
2
|
-
export declare function SelectValue(props: SelectValueProps): import(
|
|
2
|
+
export declare function SelectValue(props: SelectValueProps): import('solid-js').JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectValue.js","names":["createMemo","useSelectContext","SelectValueProps","clsx","SelectValue","props","ctx","label","v","value","undefined","items","find","it","_el$","_tmpl$","_$insert","placeholder","_$effect","_$className","class"],"sources":["../../../../src/components/select/SelectValue/SelectValue.tsx"],"sourcesContent":["import { createMemo } from \"solid-js\";\nimport { useSelectContext } from \"../Select/Select.context\";\nimport type { SelectValueProps } from \"./SelectValue.types\";\nimport { clsx } from \"~/utils\";\n\nexport function SelectValue(props: SelectValueProps) {\n const ctx = useSelectContext(\"SelectValue\");\n\n const label = createMemo(() => {\n const v = ctx.value();\n if (v === undefined || v === null) return undefined;\n return ctx.items.find((it) => it.value === v)?.label ?? v;\n });\n\n return (\n <span class={clsx(!label() && \"text-neutral-500\", props.class)}>\n {label() ?? props.placeholder ?? \"\"}\n </span>\n );\n}\n"],"mappings":";;;;;;AAKA,SAAgBI,EAAYC,GAAyB;CACnD,IAAMC,IAAML,EAAiB,aAAa,GAEpCM,IAAQP,QAAiB;EAC7B,IAAMQ,IAAIF,EAAIG,MAAM;
|
|
1
|
+
{"version":3,"file":"SelectValue.js","names":["createMemo","useSelectContext","SelectValueProps","clsx","SelectValue","props","ctx","label","v","value","undefined","items","find","it","_el$","_tmpl$","_$insert","placeholder","_$effect","_$className","class","_$className","_tmpl$","SelectValue","ctx","useSelectContext","label","createMemo","v","it","_el$","insert","props","effect","className","clsx"],"sources":["../../../../src/components/select/SelectValue/SelectValue.tsx"],"sourcesContent":["import { createMemo } from \"solid-js\";\nimport { useSelectContext } from \"../Select/Select.context\";\nimport type { SelectValueProps } from \"./SelectValue.types\";\nimport { clsx } from \"~/utils\";\n\nexport function SelectValue(props: SelectValueProps) {\n const ctx = useSelectContext(\"SelectValue\");\n\n const label = createMemo(() => {\n const v = ctx.value();\n if (v === undefined || v === null) return undefined;\n return ctx.items.find((it) => it.value === v)?.label ?? v;\n });\n\n return (\n <span class={clsx(!label() && \"text-neutral-500\", props.class)}>\n {label() ?? props.placeholder ?? \"\"}\n </span>\n );\n}\n"],"mappings":";;;;;;AAKA,SAAgBI,EAAYC,GAAyB;CACnD,IAAMC,IAAML,EAAiB,aAAa,GAEpCM,IAAQP,QAAiB;EAC7B,IAAMQ,IAAIF,EAAIG,MAAM;EACpB,IAAID,KAAyB,MAC7B,OAAOF,EAAIK,MAAMC,MAAMC,MAAOA,EAAGJ,UAAUD,CAAC,CAAC,EAAED,SAASC;CAC1D,CAAC;CAED,cAAA;EAAA,IAAAM,IAAAC,EAAA;EACgE,OADhEC,EAAAF,SAEKP,EAAM,KAAKF,EAAMY,eAAe,EAAE,GAAAC,QAAAC,EAAAL,GADxBX,EAAK,CAACI,EAAM,KAAK,oBAAoBF,EAAMe,KAAK,CAAC,CAAA,GAAAN;CAAA,EAAA,CAAA;AAIlE"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { SeparatorProps } from './Separator.types';
|
|
2
|
-
export declare const Separator: (props: SeparatorProps) => import(
|
|
2
|
+
export declare const Separator: (props: SeparatorProps) => import('solid-js').JSX.Element;
|