@neut/ui 0.0.16 → 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/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/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/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/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/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/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/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-arrows/ScrollArrowButton.d.ts +7 -4
- package/dist/components/scroll-arrows/ScrollArrowButton.js +28 -19
- package/dist/components/scroll-arrows/ScrollArrowButton.js.map +1 -1
- package/dist/components/scroll-arrows/ScrollArrows.d.ts +5 -2
- package/dist/components/scroll-arrows/ScrollArrows.js +6 -0
- package/dist/components/scroll-arrows/ScrollArrows.js.map +1 -1
- package/dist/components/scroll-arrows/ScrollArrows.types.d.ts +7 -0
- 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/tooltip/TooltipContent/TooltipContent.js +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/hooks/useScrollEdges.d.ts +3 -0
- package/dist/hooks/useScrollEdges.js +18 -16
- package/dist/hooks/useScrollEdges.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.js +253 -193
- package/dist/lib/positioner/index.d.ts +1 -0
- 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/ui.css +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ValidComponent } from 'solid-js';
|
|
2
|
+
import { Button } from '../../button';
|
|
3
|
+
import { DrawerTriggerProps } from '../Drawer/Drawer.types';
|
|
4
|
+
/** 打开抽屉的触发器,默认渲染 Button,可多态替换 */
|
|
5
|
+
export declare const DrawerTrigger: <T extends ValidComponent = typeof Button<"button">>(props: DrawerTriggerProps<T>) => import('solid-js').JSX.Element;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { mergeRefs as e } from "../../../utils/ref.js";
|
|
2
|
+
import { Button as t } from "../../button/Button.js";
|
|
3
|
+
import { useDrawerContext as n } from "../Drawer/Drawer.context.js";
|
|
4
|
+
import { Dynamic as r, createComponent as i, memo as a, mergeProps as o } from "solid-js/web";
|
|
5
|
+
import { onCleanup as s } from "solid-js";
|
|
6
|
+
//#region src/components/drawer/DrawerTrigger/DrawerTrigger.tsx
|
|
7
|
+
var c = (c) => {
|
|
8
|
+
let l = n("DrawerTrigger"), u = (e) => {
|
|
9
|
+
let t = () => {
|
|
10
|
+
l.open() || l.setOpen(!0, "trigger-press");
|
|
11
|
+
};
|
|
12
|
+
e.addEventListener("click", t), s(() => e.removeEventListener("click", t));
|
|
13
|
+
};
|
|
14
|
+
return i(r, o(c, {
|
|
15
|
+
get component() {
|
|
16
|
+
return c.component ?? t;
|
|
17
|
+
},
|
|
18
|
+
ref(t) {
|
|
19
|
+
var n = e((e) => l.setTrigger(e), c.ref, u);
|
|
20
|
+
typeof n == "function" && n(t);
|
|
21
|
+
},
|
|
22
|
+
"data-slot": "drawer-trigger",
|
|
23
|
+
"aria-haspopup": "dialog",
|
|
24
|
+
get "aria-expanded"() {
|
|
25
|
+
return l.open();
|
|
26
|
+
},
|
|
27
|
+
get "aria-controls"() {
|
|
28
|
+
return a(() => !!l.open())() ? l.contentId : void 0;
|
|
29
|
+
},
|
|
30
|
+
get "data-state"() {
|
|
31
|
+
return l.open() ? "open" : "closed";
|
|
32
|
+
}
|
|
33
|
+
}));
|
|
34
|
+
};
|
|
35
|
+
//#endregion
|
|
36
|
+
export { c as DrawerTrigger };
|
|
37
|
+
|
|
38
|
+
//# sourceMappingURL=DrawerTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawerTrigger.js","names":["onCleanup","ValidComponent","Dynamic","Button","mergeRefs","useDrawerContext","DrawerTriggerProps","DrawerTrigger","props","T","ctx","attach","el","Element","onClick","open","setOpen","addEventListener","removeEventListener","_$createComponent","_$mergeProps","component","ref","r$","_ref$","setTrigger","HTMLElement","aria-expanded","aria-controls","_$memo","contentId","undefined","data-state","_$createComponent","_$mergeProps","_$memo","DrawerTrigger","ctx","useDrawerContext","attach","onClick","el","onCleanup","createComponent","Dynamic","mergeProps","props","Button","_ref$","mergeRefs","r$","memo"],"sources":["../../../../src/components/drawer/DrawerTrigger/DrawerTrigger.tsx"],"sourcesContent":["import { onCleanup, type ValidComponent } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { Button } from \"~/components/button\";\nimport { mergeRefs } from \"~/utils\";\nimport { useDrawerContext } from \"../Drawer/Drawer.context\";\nimport type { DrawerTriggerProps } from \"../Drawer/Drawer.types\";\n\n/** 打开抽屉的触发器,默认渲染 Button,可多态替换 */\nexport const DrawerTrigger = <\n T extends ValidComponent = typeof Button<\"button\">,\n>(\n props: DrawerTriggerProps<T>,\n) => {\n const ctx = useDrawerContext(\"DrawerTrigger\");\n\n const attach = (el: Element) => {\n const onClick = () => {\n if (!ctx.open()) ctx.setOpen(true, \"trigger-press\");\n };\n el.addEventListener(\"click\", onClick);\n onCleanup(() => el.removeEventListener(\"click\", onClick));\n };\n\n return (\n <Dynamic\n {...props}\n component={(props.component as ValidComponent) ?? Button<\"button\">}\n ref={mergeRefs(\n (el: Element) => ctx.setTrigger(el as HTMLElement),\n props.ref,\n attach,\n )}\n data-slot=\"drawer-trigger\"\n aria-haspopup=\"dialog\"\n aria-expanded={ctx.open()}\n aria-controls={ctx.open() ? ctx.contentId : undefined}\n data-state={ctx.open() ? \"open\" : \"closed\"}\n />\n );\n};\n"],"mappings":";;;;;;AAQA,IAAaO,KAGXC,MACG;CACH,IAAME,IAAML,EAAiB,eAAe,GAEtCM,KAAUC,MAAgB;EAC9B,IAAME,UAAgB;GACpB,AAAKJ,EAAIK,KAAK,KAAGL,EAAIM,QAAQ,IAAM,eAAe;EACpD;EAEAhB,AADAY,EAAGK,iBAAiB,SAASH,CAAO,GACpCd,QAAgBY,EAAGM,oBAAoB,SAASJ,CAAO,CAAC;CAC1D;CAEA,OAAAK,EACGjB,GAAOkB,EACFZ,GAAK;EAAA,IACTa,YAAS;GAAA,OAAGb,EAAMa,aAAgClB;EAAgB;EAAAmB,IAAAC,GAAA;GAAA,IAAAC,IAC7DpB,GACFQ,MAAgBF,EAAIe,WAAWb,CAAiB,GACjDJ,EAAMc,KACNX,CACF;GAAC,OAAAa,KAAA,cAAAA,EAAAD,CAAA;EAAA;EAAA,aAAA;EAAA,iBAAA;EAAA,IAAA,kBAAA;GAAA,OAGcb,EAAIK,KAAK;EAAC;EAAA,IAAA,kBAAA;GAAA,OACVc,QAAA,CAAA,CAAAnB,EAAIK,KAAK,CAAC,CAAA,CAAA,IAAGL,EAAIoB,YAAYC,KAAAA;EAAS;EAAA,IAAA,eAAA;GAAA,OACzCrB,EAAIK,KAAK,IAAI,SAAS;EAAQ;CAAA,CAAA,CAAA;AAGhD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { DrawerTrigger } from './DrawerTrigger';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export { Drawer, useDrawerContext } from './Drawer';
|
|
2
|
+
export type { DrawerProps, DrawerContextValue, DrawerSwipeDirection, DrawerChangeReason, DrawerChangeEventDetails, DrawerTriggerProps, DrawerCloseProps, } from './Drawer';
|
|
3
|
+
export { DrawerTrigger } from './DrawerTrigger';
|
|
4
|
+
export { DrawerClose } from './DrawerClose';
|
|
5
|
+
export { DrawerPortal } from './DrawerPortal';
|
|
6
|
+
export type { DrawerPortalProps } from './DrawerPortal';
|
|
7
|
+
export { DrawerOverlay } from './DrawerOverlay';
|
|
8
|
+
export type { DrawerOverlayProps } from './DrawerOverlay';
|
|
9
|
+
export { DrawerSwipeHandle } from './DrawerSwipeHandle';
|
|
10
|
+
export type { DrawerSwipeHandleProps } from './DrawerSwipeHandle';
|
|
11
|
+
export { DrawerContent } from './DrawerContent';
|
|
12
|
+
export type { DrawerContentProps } from './DrawerContent';
|
|
13
|
+
export { DrawerHeader } from './DrawerHeader';
|
|
14
|
+
export type { DrawerHeaderProps } from './DrawerHeader';
|
|
15
|
+
export { DrawerFooter } from './DrawerFooter';
|
|
16
|
+
export type { DrawerFooterProps } from './DrawerFooter';
|
|
17
|
+
export { DrawerTitle } from './DrawerTitle';
|
|
18
|
+
export type { DrawerTitleProps } from './DrawerTitle';
|
|
19
|
+
export { DrawerDescription } from './DrawerDescription';
|
|
20
|
+
export type { DrawerDescriptionProps } from './DrawerDescription';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { useDrawerContext as e } from "./Drawer/Drawer.context.js";
|
|
2
|
+
import { Drawer as t } from "./Drawer/Drawer.js";
|
|
3
|
+
import { DrawerTrigger as n } from "./DrawerTrigger/DrawerTrigger.js";
|
|
4
|
+
import { DrawerClose as r } from "./DrawerClose/DrawerClose.js";
|
|
5
|
+
import { DrawerPortal as i } from "./DrawerPortal/DrawerPortal.js";
|
|
6
|
+
import { DrawerOverlay as a } from "./DrawerOverlay/DrawerOverlay.js";
|
|
7
|
+
import { DrawerSwipeHandle as o } from "./DrawerSwipeHandle/DrawerSwipeHandle.js";
|
|
8
|
+
import { DrawerContent as s } from "./DrawerContent/DrawerContent.js";
|
|
9
|
+
import { DrawerHeader as c } from "./DrawerHeader/DrawerHeader.js";
|
|
10
|
+
import { DrawerFooter as l } from "./DrawerFooter/DrawerFooter.js";
|
|
11
|
+
import { DrawerTitle as u } from "./DrawerTitle/DrawerTitle.js";
|
|
12
|
+
import { DrawerDescription as d } from "./DrawerDescription/DrawerDescription.js";
|
|
13
|
+
export { t as Drawer, r as DrawerClose, s as DrawerContent, d as DrawerDescription, l as DrawerFooter, c as DrawerHeader, a as DrawerOverlay, i as DrawerPortal, o as DrawerSwipeHandle, u as DrawerTitle, n as DrawerTrigger, e as useDrawerContext };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { JSX } from 'solid-js';
|
|
2
|
+
import { HoverCardProps } from '../hover-card.types';
|
|
3
|
+
/**
|
|
4
|
+
* HoverCard 根:只管理开关状态与延迟计时,不渲染 DOM。
|
|
5
|
+
* 打开延迟默认 700ms、关闭延迟 300ms;trigger 上的 delay/closeDelay 优先。
|
|
6
|
+
*/
|
|
7
|
+
export declare function HoverCard(props: HoverCardProps): JSX.Element;
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { HoverCardContext as e } from "../hover-card.context.js";
|
|
2
|
+
import { createComponent as t } from "solid-js/web";
|
|
3
|
+
import { createMemo as n, createSignal as r, createUniqueId as i, onCleanup as a } from "solid-js";
|
|
4
|
+
//#region src/components/hover-card/HoverCard/HoverCard.tsx
|
|
5
|
+
var o = 700, s = 300;
|
|
6
|
+
function c(c) {
|
|
7
|
+
let [l, u] = r(c.defaultOpen ?? !1), d = n(() => c.open === void 0 ? l() : c.open), f = n(() => !!c.disabled), [p, m] = r(), [h, g] = r(), _, v, y = () => {
|
|
8
|
+
_ !== void 0 && (window.clearTimeout(_), _ = void 0), v !== void 0 && (window.clearTimeout(v), v = void 0);
|
|
9
|
+
}, b = (e) => {
|
|
10
|
+
c.open === void 0 && u(e), c.onOpenChange?.(e);
|
|
11
|
+
}, x = (e) => {
|
|
12
|
+
y(), !(f() || d()) && (_ = window.setTimeout(() => b(!0), e ?? c.delay ?? o));
|
|
13
|
+
}, S = (e) => {
|
|
14
|
+
y(), v = window.setTimeout(() => b(!1), e ?? c.closeDelay ?? s);
|
|
15
|
+
}, C = () => {
|
|
16
|
+
f() || (y(), b(!0));
|
|
17
|
+
}, w = () => {
|
|
18
|
+
y(), b(!1);
|
|
19
|
+
}, T = () => {
|
|
20
|
+
v !== void 0 && (window.clearTimeout(v), v = void 0);
|
|
21
|
+
};
|
|
22
|
+
a(y);
|
|
23
|
+
let E = {
|
|
24
|
+
open: d,
|
|
25
|
+
disabled: f,
|
|
26
|
+
contentId: `hover-card-${i()}`,
|
|
27
|
+
reference: p,
|
|
28
|
+
setReference: m,
|
|
29
|
+
floating: h,
|
|
30
|
+
setFloating: g,
|
|
31
|
+
requestOpen: x,
|
|
32
|
+
requestClose: S,
|
|
33
|
+
openImmediate: C,
|
|
34
|
+
closeImmediate: w,
|
|
35
|
+
keepOpen: T
|
|
36
|
+
};
|
|
37
|
+
return t(e.Provider, {
|
|
38
|
+
value: E,
|
|
39
|
+
get children() {
|
|
40
|
+
return c.children;
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
//#endregion
|
|
45
|
+
export { c as HoverCard };
|
|
46
|
+
|
|
47
|
+
//# sourceMappingURL=HoverCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverCard.js","names":["createMemo","createSignal","createUniqueId","onCleanup","JSX","HoverCardContext","HoverCardContextValue","HoverCardProps","DEFAULT_DELAY","DEFAULT_CLOSE_DELAY","HoverCard","props","Element","internalOpen","setInternalOpen","defaultOpen","open","undefined","disabled","reference","setReference","floating","setFloating","HTMLElement","openTimer","closeTimer","clearTimers","window","clearTimeout","commit","next","onOpenChange","requestOpen","delayOverride","setTimeout","delay","requestClose","closeDelayOverride","closeDelay","openImmediate","closeImmediate","keepOpen","ctx","contentId","_$createComponent","Provider","value","children","_$createComponent","DEFAULT_DELAY","DEFAULT_CLOSE_DELAY","HoverCard","internalOpen","setInternalOpen","createSignal","props","open","createMemo","disabled","reference","setReference","floating","setFloating","openTimer","closeTimer","clearTimers","commit","next","requestOpen","delayOverride","requestClose","closeDelayOverride","openImmediate","closeImmediate","keepOpen","ctx","createUniqueId","createComponent","HoverCardContext"],"sources":["../../../../src/components/hover-card/HoverCard/HoverCard.tsx"],"sourcesContent":["import {\n createMemo,\n createSignal,\n createUniqueId,\n onCleanup,\n type JSX,\n} from \"solid-js\";\nimport { HoverCardContext } from \"../hover-card.context\";\nimport type {\n HoverCardContextValue,\n HoverCardProps,\n} from \"../hover-card.types\";\n\nconst DEFAULT_DELAY = 700;\nconst DEFAULT_CLOSE_DELAY = 300;\n\n/**\n * HoverCard 根:只管理开关状态与延迟计时,不渲染 DOM。\n * 打开延迟默认 700ms、关闭延迟 300ms;trigger 上的 delay/closeDelay 优先。\n */\nexport function HoverCard(props: HoverCardProps): JSX.Element {\n const [internalOpen, setInternalOpen] = createSignal(\n props.defaultOpen ?? false,\n );\n const open = createMemo(() =>\n props.open !== undefined ? props.open : internalOpen(),\n );\n const disabled = createMemo(() => !!props.disabled);\n\n const [reference, setReference] = createSignal<Element>();\n const [floating, setFloating] = createSignal<HTMLElement>();\n\n let openTimer: number | undefined;\n let closeTimer: number | undefined;\n const clearTimers = () => {\n if (openTimer !== undefined) {\n window.clearTimeout(openTimer);\n openTimer = undefined;\n }\n if (closeTimer !== undefined) {\n window.clearTimeout(closeTimer);\n closeTimer = undefined;\n }\n };\n\n const commit = (next: boolean) => {\n if (props.open === undefined) setInternalOpen(next);\n props.onOpenChange?.(next);\n };\n\n const requestOpen = (delayOverride?: number) => {\n clearTimers();\n if (disabled() || open()) return;\n openTimer = window.setTimeout(\n () => commit(true),\n delayOverride ?? props.delay ?? DEFAULT_DELAY,\n );\n };\n\n const requestClose = (closeDelayOverride?: number) => {\n clearTimers();\n closeTimer = window.setTimeout(\n () => commit(false),\n closeDelayOverride ?? props.closeDelay ?? DEFAULT_CLOSE_DELAY,\n );\n };\n\n const openImmediate = () => {\n if (disabled()) return;\n clearTimers();\n commit(true);\n };\n\n const closeImmediate = () => {\n clearTimers();\n commit(false);\n };\n\n const keepOpen = () => {\n if (closeTimer !== undefined) {\n window.clearTimeout(closeTimer);\n closeTimer = undefined;\n }\n };\n\n onCleanup(clearTimers);\n\n const ctx: HoverCardContextValue = {\n open,\n disabled,\n contentId: `hover-card-${createUniqueId()}`,\n reference,\n setReference,\n floating,\n setFloating,\n requestOpen,\n requestClose,\n openImmediate,\n closeImmediate,\n keepOpen,\n };\n\n return (\n <HoverCardContext.Provider value={ctx}>\n {props.children}\n </HoverCardContext.Provider>\n );\n}\n"],"mappings":";;;;AAaA,IAAMQ,IAAgB,KAChBC,IAAsB;AAM5B,SAAgBC,EAAUC,GAAoC;CAC5D,IAAM,CAACE,GAAcC,KAAmBb,EACtCU,EAAMI,eAAe,EACvB,GACMC,IAAOhB,QACXW,EAAMK,SAASC,KAAAA,IAAyBJ,EAAa,IAA1BF,EAAMK,IACnC,GACME,IAAWlB,QAAiB,CAAC,CAACW,EAAMO,QAAQ,GAE5C,CAACC,GAAWC,KAAgBnB,EAAsB,GAClD,CAACoB,GAAUC,KAAerB,EAA0B,GAEtDuB,GACAC,GACEC,UAAoB;EAKxB,AAJIF,MAAcP,KAAAA,MAChBU,OAAOC,aAAaJ,CAAS,GAC7BA,IAAYP,KAAAA,IAEVQ,MAAeR,KAAAA,MACjBU,OAAOC,aAAaH,CAAU,GAC9BA,IAAaR,KAAAA;CAEjB,GAEMY,KAAUC,MAAkB;EAEhCnB,AADIA,EAAMK,SAASC,KAAAA,KAAWH,EAAgBgB,CAAI,GAClDnB,EAAMoB,eAAeD,CAAI;CAC3B,GAEME,KAAeC,MAA2B;EAE9C,AADAP,EAAY,GACRR,IAAS,KAAKF,EAAK,OACvBQ,IAAYG,OAAOO,iBACXL,EAAO,EAAI,GACjBI,KAAiBtB,EAAMwB,SAAS3B,CAClC;CACF,GAEM4B,KAAgBC,MAAgC;EAEpDZ,AADAC,EAAY,GACZD,IAAaE,OAAOO,iBACZL,EAAO,EAAK,GAClBQ,KAAsB1B,EAAM2B,cAAc7B,CAC5C;CACF,GAEM8B,UAAsB;EAC1B,AAAIrB,EAAS,MACbQ,EAAY,GACZG,EAAO,EAAI;CACb,GAEMW,UAAuB;EAE3BX,AADAH,EAAY,GACZG,EAAO,EAAK;CACd,GAEMY,UAAiB;EACrB,AAAIhB,MAAeR,KAAAA,MACjBU,OAAOC,aAAaH,CAAU,GAC9BA,IAAaR,KAAAA;CAEjB;CAEAd,EAAUuB,CAAW;CAErB,IAAMgB,IAA6B;EACjC1B;EACAE;EACAyB,WAAW,cAAczC,EAAe;EACxCiB;EACAC;EACAC;EACAC;EACAU;EACAI;EACAG;EACAC;EACAC;CACF;CAEA,OAAAG,EACGvC,EAAiBwC,UAAQ;EAACC,OAAOJ;EAAG,IAAAK,WAAA;GAAA,OAClCpC,EAAMoC;EAAQ;CAAA,CAAA;AAGrB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { HoverCard } from './HoverCard';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { HoverCardContentProps } from '../hover-card.types';
|
|
2
|
+
/**
|
|
3
|
+
* HoverCard 浮层:Portal 到 body,position:fixed 定位。
|
|
4
|
+
* 内容可交互——鼠标移入取消关闭计时(keepOpen),移出才走 closeDelay。
|
|
5
|
+
*/
|
|
6
|
+
export declare function HoverCardContent(props: HoverCardContentProps): import('solid-js').JSX.Element;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { getAlignment as t, getSide as n } from "../../../lib/positioner/core/placement.js";
|
|
3
|
+
import { getTransformOrigin as r } from "../../../lib/positioner/utils/floating.js";
|
|
4
|
+
import { useHoverCardContent as i } from "./useHoverCardContent.js";
|
|
5
|
+
import { Portal as a, createComponent as o, effect as s, insert as c, mergeProps as l, setAttribute as u, spread as d, style as f, template as p, use as m } from "solid-js/web";
|
|
6
|
+
import { Show as h, onCleanup as g, splitProps as _ } from "solid-js";
|
|
7
|
+
//#region src/components/hover-card/HoverCardContent/HoverCardContent.tsx
|
|
8
|
+
var v = /*#__PURE__*/ p("<div style=z-index:1000><div>");
|
|
9
|
+
function y(p) {
|
|
10
|
+
let { ctx: y, pos: b, mounted: x, animationState: S, setContentElement: C } = i(() => p), [w, T] = _(p, [
|
|
11
|
+
"side",
|
|
12
|
+
"align",
|
|
13
|
+
"sideOffset",
|
|
14
|
+
"alignOffset",
|
|
15
|
+
"collisionPadding",
|
|
16
|
+
"class",
|
|
17
|
+
"style",
|
|
18
|
+
"children"
|
|
19
|
+
]);
|
|
20
|
+
return o(h, {
|
|
21
|
+
get when() {
|
|
22
|
+
return x();
|
|
23
|
+
},
|
|
24
|
+
get children() {
|
|
25
|
+
return o(a, { get children() {
|
|
26
|
+
var i = v(), a = i.firstChild;
|
|
27
|
+
return m((e) => {
|
|
28
|
+
y.setFloating(e), g(() => y.setFloating(void 0));
|
|
29
|
+
}, i), m(C, a), d(a, l(T, {
|
|
30
|
+
get id() {
|
|
31
|
+
return y.contentId;
|
|
32
|
+
},
|
|
33
|
+
role: "dialog",
|
|
34
|
+
"data-slot": "hover-card-content",
|
|
35
|
+
get "data-state"() {
|
|
36
|
+
return S();
|
|
37
|
+
},
|
|
38
|
+
get "data-side"() {
|
|
39
|
+
return n(b.placement());
|
|
40
|
+
},
|
|
41
|
+
get "data-align"() {
|
|
42
|
+
return t(b.placement()) ?? "center";
|
|
43
|
+
},
|
|
44
|
+
get onMouseEnter() {
|
|
45
|
+
return y.keepOpen;
|
|
46
|
+
},
|
|
47
|
+
onMouseLeave: () => y.requestClose(),
|
|
48
|
+
get style() {
|
|
49
|
+
return {
|
|
50
|
+
"transform-origin": r(b.placement()),
|
|
51
|
+
...typeof w.style == "object" ? w.style : void 0
|
|
52
|
+
};
|
|
53
|
+
},
|
|
54
|
+
get class() {
|
|
55
|
+
return e("z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none", "data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95", "data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95", "data-[side=top]:slide-in-from-bottom-2 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2", w.class);
|
|
56
|
+
}
|
|
57
|
+
}), !1, !0), c(a, () => w.children), s((e) => {
|
|
58
|
+
var t = b.placement(), n = {
|
|
59
|
+
...b.floatingStyles(),
|
|
60
|
+
opacity: +!!b.isPositioned()
|
|
61
|
+
};
|
|
62
|
+
return t !== e.e && u(i, "data-placement", e.e = t), e.t = f(i, n, e.t), e;
|
|
63
|
+
}, {
|
|
64
|
+
e: void 0,
|
|
65
|
+
t: void 0
|
|
66
|
+
}), i;
|
|
67
|
+
} });
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
export { y as HoverCardContent };
|
|
73
|
+
|
|
74
|
+
//# sourceMappingURL=HoverCardContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverCardContent.js","names":["Show","onCleanup","splitProps","Portal","getAlignment","getSide","getTransformOrigin","clsx","useHoverCardContent","HoverCardContentProps","HoverCardContent","props","ctx","pos","mounted","animationState","setContentElement","local","rest","_$createComponent","when","children","_el$","_tmpl$","_el$2","firstChild","_$use","el","setFloating","undefined","_$spread","_$mergeProps","id","contentId","data-state","data-side","placement","data-align","onMouseEnter","keepOpen","onMouseLeave","requestClose","style","class","_$insert","_$effect","_p$","_v$","_v$2","floatingStyles","opacity","isPositioned","e","_$setAttribute","t","_$style","_$createComponent","_$mergeProps","_$setAttribute","_$style","_tmpl$","HoverCardContent","useHoverCardContent","props","local","rest","splitProps","createComponent","Show","mounted","Portal","_el$","_el$2","use","ctx","el","onCleanup","setContentElement","spread","mergeProps","\"role\"","animationState","getSide","pos","getAlignment","\"onMouseLeave\"","getTransformOrigin","\"class\"","clsx","insert","effect","_v$","_v$2","_p$","setAttribute","style"],"sources":["../../../../src/components/hover-card/HoverCardContent/HoverCardContent.tsx"],"sourcesContent":["import { Show, onCleanup, splitProps } from \"solid-js\";\nimport { Portal } from \"solid-js/web\";\nimport { getAlignment, getSide, getTransformOrigin } from \"~/lib\";\nimport { clsx } from \"~/utils\";\nimport { useHoverCardContent } from \"./useHoverCardContent\";\nimport type { HoverCardContentProps } from \"../hover-card.types\";\n\n/**\n * HoverCard 浮层:Portal 到 body,position:fixed 定位。\n * 内容可交互——鼠标移入取消关闭计时(keepOpen),移出才走 closeDelay。\n */\nexport function HoverCardContent(props: HoverCardContentProps) {\n const { ctx, pos, mounted, animationState, setContentElement } =\n useHoverCardContent(() => props);\n\n const [local, rest] = splitProps(props, [\n \"side\",\n \"align\",\n \"sideOffset\",\n \"alignOffset\",\n \"collisionPadding\",\n \"class\",\n \"style\",\n \"children\",\n ]);\n\n return (\n <Show when={mounted()}>\n <Portal>\n <div\n ref={(el) => {\n ctx.setFloating(el);\n onCleanup(() => ctx.setFloating(undefined));\n }}\n data-placement={pos.placement()}\n style={{\n ...pos.floatingStyles(),\n \"z-index\": 1000,\n opacity: pos.isPositioned() ? 1 : 0,\n }}\n >\n <div\n {...rest}\n ref={setContentElement}\n id={ctx.contentId}\n role=\"dialog\"\n data-slot=\"hover-card-content\"\n data-state={animationState()}\n data-side={getSide(pos.placement())}\n data-align={getAlignment(pos.placement()) ?? \"center\"}\n onMouseEnter={ctx.keepOpen}\n onMouseLeave={() => ctx.requestClose()}\n style={{\n \"transform-origin\": getTransformOrigin(pos.placement()),\n ...(typeof local.style === \"object\" ? local.style : undefined),\n }}\n class={clsx(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none\",\n \"data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:zoom-in-95\",\n \"data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95\",\n \"data-[side=top]:slide-in-from-bottom-2 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2\",\n local.class,\n )}\n >\n {local.children}\n </div>\n </div>\n </Portal>\n </Show>\n );\n}\n"],"mappings":";;;;;;;;AAWA,SAAgBU,EAAiBC,GAA8B;CAC7D,IAAM,EAAEC,QAAKC,QAAKC,YAASC,mBAAgBC,yBACzCR,QAA0BG,CAAK,GAE3B,CAACM,GAAOC,KAAQhB,EAAWS,GAAO;EACtC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CAAU,CACX;CAED,OAAAQ,EACGnB,GAAI;EAAA,IAACoB,OAAI;GAAA,OAAEN,EAAQ;EAAC;EAAA,IAAAO,WAAA;GAAA,OAAAF,EAClBhB,GAAM,EAAA,IAAAkB,WAAA;IAAA,IAAAC,IAAAC,EAAA,GAAAC,IAAAF,EAAAG;IAWF,OAXEC,GAEGC,MAAO;KAEX1B,AADAW,EAAIgB,YAAYD,CAAE,GAClB1B,QAAgBW,EAAIgB,YAAYC,KAAAA,CAAS,CAAC;IAC5C,GAACP,CAAA,GAAAI,EAUMV,GAAiBQ,CAAA,GAAAM,EAAAN,GAAAO,EADlBb,GAAI;KAAA,IAERc,KAAE;MAAA,OAAEpB,EAAIqB;KAAS;KAAA+C,MACZ;KAAQ,aACH;KAAoB,IAAA,eAAA;MAAA,OAClBjE,EAAe;KAAC;KAAA,IAAA,cAAA;MAAA,OACjBV,EAAQQ,EAAIuB,UAAU,CAAC;KAAC;KAAA,IAAA,eAAA;MAAA,OACvBhC,EAAaS,EAAIuB,UAAU,CAAC,KAAK;KAAQ;KAAA,IACrDE,eAAY;MAAA,OAAE1B,EAAI2B;KAAQ;KAAA8C,oBACNzE,EAAI6B,aAAa;KAAC,IACtCC,QAAK;MAAA,OAAE;OACL,oBAAoBpC,EAAmBO,EAAIuB,UAAU,CAAC;OACtD,GAAI,OAAOnB,EAAMyB,SAAU,WAAWzB,EAAMyB,QAAQb,KAAAA;MACtD;KAAC;KAAA,IAAA0D,QAAA;MAAA,OACMhF,EACL,6FACA,yFACA,kGACA,+JACAU,EAAM0B,KACR;KAAC;IAAA,CAAA,GAAA,IAAA,EAAA,GAAAC,EAAApB,SAEAP,EAAMI,QAAQ,GAAAwB,GAAAC,MAAA;KAAA,IAAAC,IA9BDlC,EAAIuB,UAAU,GAACY,IACxB;MACL,GAAGnC,EAAIoC,eAAe;MAEtBC,SAASrC,KAAIsC,aAAa;KAC5B;KAAC,OAAAJ,MAAAD,EAAAM,KAAAC,EAAA/B,GAAA,kBAAAwB,EAAAM,IAAAL,CAAA,GAAAD,EAAAQ,IAAAC,EAAAjC,GAAA0B,GAAAF,EAAAQ,CAAA,GAAAR;IAAA,GAAA;KAAAM,GAAAvB,KAAAA;KAAAyB,GAAAzB,KAAAA;IAAA,CAAA,GAAAP;GAAA,EAAA,CAAA;EAAA;CAAA,CAAA;AA+BX"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { HoverCardContent } from './HoverCardContent';
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { HoverCardContentProps } from '../hover-card.types';
|
|
2
|
+
/**
|
|
3
|
+
* HoverCardContent 的定位与挂载生命周期:
|
|
4
|
+
* - createPositioner 用 offset/flip/shift/hide/containingBlockOffset 定位;
|
|
5
|
+
* - 打开时延迟一帧再切 animationState,保证 transform-origin 已由最终
|
|
6
|
+
* placement 算好(否则缩放锚点会先落在错误的边);
|
|
7
|
+
* - 关闭时靠 animationend(带兜底超时)再卸载,让退场动画播完。
|
|
8
|
+
*/
|
|
9
|
+
export declare function useHoverCardContent(props: () => HoverCardContentProps): {
|
|
10
|
+
ctx: import('..').HoverCardContextValue;
|
|
11
|
+
pos: import('../../../lib').Positioner;
|
|
12
|
+
mounted: import('solid-js').Accessor<boolean>;
|
|
13
|
+
animationState: import('solid-js').Accessor<"open" | "closed">;
|
|
14
|
+
contentElement: import('solid-js').Accessor<HTMLElement | undefined>;
|
|
15
|
+
setContentElement: import('solid-js').Setter<HTMLElement | undefined>;
|
|
16
|
+
};
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { createPositioner as e } from "../../../lib/positioner/create-positioner.js";
|
|
2
|
+
import { offset as t } from "../../../lib/positioner/middleware/offset.js";
|
|
3
|
+
import { shift as n } from "../../../lib/positioner/middleware/shift.js";
|
|
4
|
+
import { flip as r } from "../../../lib/positioner/middleware/flip.js";
|
|
5
|
+
import { hide as i } from "../../../lib/positioner/middleware/hide.js";
|
|
6
|
+
import { containingBlockOffset as a } from "../../../lib/positioner/middleware/containing-block-offset.js";
|
|
7
|
+
import { toPlacement as o } from "../../../lib/positioner/utils/floating.js";
|
|
8
|
+
import { useHoverCardContext as s } from "../hover-card.context.js";
|
|
9
|
+
import { createEffect as c, createMemo as l, createSignal as u, onCleanup as d } from "solid-js";
|
|
10
|
+
//#region src/components/hover-card/HoverCardContent/useHoverCardContent.ts
|
|
11
|
+
var f = 300;
|
|
12
|
+
function p(p) {
|
|
13
|
+
let m = s("HoverCardContent"), h = e(m.reference, m.floating, {
|
|
14
|
+
placement: () => o(p().side ?? "bottom", p().align ?? "center", p().dir),
|
|
15
|
+
strategy: "fixed",
|
|
16
|
+
middleware: () => [
|
|
17
|
+
t({
|
|
18
|
+
mainAxis: p().sideOffset ?? 4,
|
|
19
|
+
crossAxis: p().alignOffset ?? 4
|
|
20
|
+
}),
|
|
21
|
+
r(),
|
|
22
|
+
n({ padding: p().collisionPadding ?? 8 }),
|
|
23
|
+
i(),
|
|
24
|
+
a()
|
|
25
|
+
]
|
|
26
|
+
}), g = l(() => m.open() && !h.middlewareData().hide?.referenceHidden), [_, v] = u("closed");
|
|
27
|
+
c(() => {
|
|
28
|
+
if (g()) {
|
|
29
|
+
let e = requestAnimationFrame(() => v("open"));
|
|
30
|
+
d(() => cancelAnimationFrame(e));
|
|
31
|
+
} else v("closed");
|
|
32
|
+
});
|
|
33
|
+
let [y, b] = u(), [x, S] = u(g());
|
|
34
|
+
return c((e) => {
|
|
35
|
+
let t = g(), n = y();
|
|
36
|
+
if (t) S(!0);
|
|
37
|
+
else if (e && n) {
|
|
38
|
+
let e = (e) => {
|
|
39
|
+
e.target === n && S(!1);
|
|
40
|
+
};
|
|
41
|
+
n.addEventListener("animationend", e), d(() => n.removeEventListener("animationend", e));
|
|
42
|
+
let t = window.setTimeout(() => S(!1), f);
|
|
43
|
+
d(() => window.clearTimeout(t));
|
|
44
|
+
} else t || S(!1);
|
|
45
|
+
return t;
|
|
46
|
+
}, g()), {
|
|
47
|
+
ctx: m,
|
|
48
|
+
pos: h,
|
|
49
|
+
mounted: x,
|
|
50
|
+
animationState: _,
|
|
51
|
+
contentElement: y,
|
|
52
|
+
setContentElement: b
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
//#endregion
|
|
56
|
+
export { p as useHoverCardContent };
|
|
57
|
+
|
|
58
|
+
//# sourceMappingURL=useHoverCardContent.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHoverCardContent.js","names":["EXIT_FALLBACK_MS","useHoverCardContent","ctx","useHoverCardContext","pos","createPositioner","toPlacement","props","offset","flip","shift","hide","containingBlockOffset","isVisible","createMemo","animationState","setAnimationState","createSignal","raf","contentElement","setContentElement","mounted","setMounted","createEffect","visible","el","wasVisible","handleAnimationEnd","event","onCleanup","fallback"],"sources":["../../../../src/components/hover-card/HoverCardContent/useHoverCardContent.ts"],"sourcesContent":["import { createEffect, createMemo, createSignal, onCleanup } from \"solid-js\";\nimport {\n containingBlockOffset,\n createPositioner,\n flip,\n hide,\n offset,\n shift,\n} from \"~/lib\";\nimport { toPlacement } from \"~/lib\";\nimport { useHoverCardContext } from \"../hover-card.context\";\nimport type { HoverCardContentProps } from \"../hover-card.types\";\n\n/** 未触发 animationend 时的兜底卸载延迟 */\nconst EXIT_FALLBACK_MS = 300;\n\n/**\n * HoverCardContent 的定位与挂载生命周期:\n * - createPositioner 用 offset/flip/shift/hide/containingBlockOffset 定位;\n * - 打开时延迟一帧再切 animationState,保证 transform-origin 已由最终\n * placement 算好(否则缩放锚点会先落在错误的边);\n * - 关闭时靠 animationend(带兜底超时)再卸载,让退场动画播完。\n */\nexport function useHoverCardContent(props: () => HoverCardContentProps) {\n const ctx = useHoverCardContext(\"HoverCardContent\");\n\n const pos = createPositioner(ctx.reference, ctx.floating, {\n placement: () =>\n toPlacement(\n props().side ?? \"bottom\",\n props().align ?? \"center\",\n props().dir,\n ),\n strategy: \"fixed\",\n middleware: () => [\n offset({\n mainAxis: props().sideOffset ?? 4,\n crossAxis: props().alignOffset ?? 4,\n }),\n flip(),\n shift({ padding: props().collisionPadding ?? 8 }),\n hide(),\n containingBlockOffset(),\n ],\n });\n\n const isVisible = createMemo(\n () => ctx.open() && !pos.middlewareData().hide?.referenceHidden,\n );\n\n const [animationState, setAnimationState] = createSignal<\"open\" | \"closed\">(\n \"closed\",\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 const [contentElement, setContentElement] = createSignal<HTMLElement>();\n const [mounted, setMounted] = createSignal(isVisible());\n\n createEffect((wasVisible: boolean) => {\n const visible = isVisible();\n const el = contentElement();\n if (visible) {\n setMounted(true);\n } else if (wasVisible && el) {\n const handleAnimationEnd = (event: AnimationEvent) => {\n if (event.target !== el) return;\n setMounted(false);\n };\n el.addEventListener(\"animationend\", handleAnimationEnd);\n onCleanup(() =>\n el.removeEventListener(\"animationend\", handleAnimationEnd),\n );\n const fallback = window.setTimeout(\n () => setMounted(false),\n EXIT_FALLBACK_MS,\n );\n onCleanup(() => window.clearTimeout(fallback));\n } else if (!visible) {\n setMounted(false);\n }\n return visible;\n }, isVisible());\n\n return {\n ctx,\n pos,\n mounted,\n animationState,\n contentElement,\n setContentElement,\n };\n}\n"],"mappings":";;;;;;;;;;AAcA,IAAMA,IAAmB;AASzB,SAAgBC,EAAoB,GAAoC;CACtE,IAAMC,IAAMC,EAAoB,kBAAkB,GAE5CC,IAAMC,EAAiBH,EAAI,WAAWA,EAAI,UAAU;EACxD,iBACEI,EACEC,EAAM,CAAC,CAAC,QAAQ,UAChBA,EAAM,CAAC,CAAC,SAAS,UACjBA,EAAM,CAAC,CAAC,GACV;EACF,UAAU;EACV,kBAAkB;GAChBC,EAAO;IACL,UAAUD,EAAM,CAAC,CAAC,cAAc;IAChC,WAAWA,EAAM,CAAC,CAAC,eAAe;GACpC,CAAC;GACDE,EAAK;GACLC,EAAM,EAAE,SAASH,EAAM,CAAC,CAAC,oBAAoB,EAAE,CAAC;GAChDI,EAAK;GACLC,EAAsB;EACxB;CACF,CAAC,GAEKC,IAAYC,QACVZ,EAAI,KAAK,KAAK,CAACE,EAAI,eAAe,CAAC,CAAC,MAAM,eAClD,GAEM,CAACW,GAAgBC,KAAqBC,EAC1C,QACF;CACA,QAAmB;EACjB,IAAIJ,EAAU,GAAG;GACf,IAAMK,IAAM,4BAA4BF,EAAkB,MAAM,CAAC;GACjE,QAAgB,qBAAqBE,CAAG,CAAC;EAC3C,OACE,EAAkB,QAAQ;CAE9B,CAAC;CAED,IAAM,CAACC,GAAgBC,KAAqBH,EAA0B,GAChE,CAACI,GAASC,KAAcL,EAAaJ,EAAU,CAAC;CA2BtD,OAzBAU,GAAc,MAAwB;EACpC,IAAMC,IAAUX,EAAU,GACpBY,IAAKN,EAAe;EAC1B,IAAIK,GACF,EAAW,EAAI;OACV,IAAIE,KAAcD,GAAI;GAC3B,IAAME,KAAsB,MAA0B;IACpD,AAAIC,EAAM,WAAWH,KACrBH,EAAW,EAAK;GAClB;GAEA,AADAG,EAAG,iBAAiB,gBAAgBE,CAAkB,GACtDE,QACEJ,EAAG,oBAAoB,gBAAgBE,CAAkB,CAC3D;GACA,IAAMG,IAAW,OAAO,iBAChBR,EAAW,EAAK,GACtBtB,CACF;GACA,QAAgB,OAAO,aAAa8B,CAAQ,CAAC;EAC/C,OAAO,AAAKN,KACVF,EAAW,EAAK;EAElB,OAAOE;CACT,GAAGX,EAAU,CAAC,GAEP;EACL;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ValidComponent } from 'solid-js';
|
|
2
|
+
import { HoverCardTriggerProps } from '../hover-card.types';
|
|
3
|
+
/** 默认渲染无样式的 <a>;需要按钮/链接样式时用 `component={Button}` 指定 */
|
|
4
|
+
export declare const HoverCardTrigger: <T extends ValidComponent = "a">(props: HoverCardTriggerProps<T>) => import('solid-js').JSX.Element;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { mergeRefs as e } from "../../../utils/ref.js";
|
|
2
|
+
import { useHoverCardTrigger as t } from "./useHoverCardTrigger.js";
|
|
3
|
+
import { Dynamic as n, createComponent as r, memo as i, mergeProps as a } from "solid-js/web";
|
|
4
|
+
import { splitProps as o } from "solid-js";
|
|
5
|
+
//#region src/components/hover-card/HoverCardTrigger/HoverCardTrigger.tsx
|
|
6
|
+
var s = (s) => {
|
|
7
|
+
let [c, l] = o(s, [
|
|
8
|
+
"delay",
|
|
9
|
+
"closeDelay",
|
|
10
|
+
"disabled",
|
|
11
|
+
"component"
|
|
12
|
+
]), { ctx: u, attachListeners: d } = t({
|
|
13
|
+
delay: () => c.delay,
|
|
14
|
+
closeDelay: () => c.closeDelay,
|
|
15
|
+
disabled: () => c.disabled
|
|
16
|
+
});
|
|
17
|
+
return r(n, a(l, {
|
|
18
|
+
get component() {
|
|
19
|
+
return c.component ?? "a";
|
|
20
|
+
},
|
|
21
|
+
ref(t) {
|
|
22
|
+
var n = e(u.setReference, s.ref, d);
|
|
23
|
+
typeof n == "function" && n(t);
|
|
24
|
+
},
|
|
25
|
+
"data-slot": "hover-card-trigger",
|
|
26
|
+
get "data-state"() {
|
|
27
|
+
return u.open() ? "open" : "closed";
|
|
28
|
+
},
|
|
29
|
+
get "data-popup-open"() {
|
|
30
|
+
return u.open() ? "" : void 0;
|
|
31
|
+
},
|
|
32
|
+
get "aria-describedby"() {
|
|
33
|
+
return i(() => !!u.open())() ? u.contentId : void 0;
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
};
|
|
37
|
+
//#endregion
|
|
38
|
+
export { s as HoverCardTrigger };
|
|
39
|
+
|
|
40
|
+
//# sourceMappingURL=HoverCardTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HoverCardTrigger.js","names":["splitProps","ValidComponent","Dynamic","mergeRefs","useHoverCardTrigger","HoverCardTriggerProps","HoverCardTrigger","props","T","local","rest","ctx","attachListeners","delay","closeDelay","disabled","_$createComponent","_$mergeProps","component","ref","r$","_ref$","setReference","el","Element","data-state","open","data-popup-open","undefined","aria-describedby","_$memo","contentId","_$createComponent","_$mergeProps","_$memo","HoverCardTrigger","local","rest","splitProps","props","useHoverCardTrigger","createComponent","Dynamic","mergeProps","_ref$","mergeRefs","ctx","attachListeners","r$","memo"],"sources":["../../../../src/components/hover-card/HoverCardTrigger/HoverCardTrigger.tsx"],"sourcesContent":["import { splitProps, type ValidComponent } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport { mergeRefs } from \"~/utils\";\nimport { useHoverCardTrigger } from \"./useHoverCardTrigger\";\nimport type { HoverCardTriggerProps } from \"../hover-card.types\";\n\n/** 默认渲染无样式的 <a>;需要按钮/链接样式时用 `component={Button}` 指定 */\nexport const HoverCardTrigger = <T extends ValidComponent = \"a\">(\n props: HoverCardTriggerProps<T>,\n) => {\n const [local, rest] = splitProps(props, [\n \"delay\",\n \"closeDelay\",\n \"disabled\",\n \"component\",\n ]);\n\n const { ctx, attachListeners } = useHoverCardTrigger({\n delay: () => local.delay,\n closeDelay: () => local.closeDelay,\n disabled: () => local.disabled,\n });\n\n return (\n <Dynamic\n {...rest}\n component={(local.component as ValidComponent) ?? \"a\"}\n ref={mergeRefs(\n ctx.setReference,\n props.ref as ((el: Element) => void) | undefined,\n attachListeners,\n )}\n data-slot=\"hover-card-trigger\"\n data-state={ctx.open() ? \"open\" : \"closed\"}\n data-popup-open={ctx.open() ? \"\" : undefined}\n aria-describedby={ctx.open() ? ctx.contentId : undefined}\n />\n );\n};\n"],"mappings":";;;;;AAOA,IAAaM,KACXC,MACG;CACH,IAAM,CAACE,GAAOC,KAAQV,EAAWO,GAAO;EACtC;EACA;EACA;EACA;CAAW,CACZ,GAEK,EAAEI,QAAKC,uBAAoBR,EAAoB;EACnDS,aAAaJ,EAAMI;EACnBC,kBAAkBL,EAAMK;EACxBC,gBAAgBN,EAAMM;CACxB,CAAC;CAED,OAAAC,EACGd,GAAOe,EACFP,GAAI;EAAA,IACRQ,YAAS;GAAA,OAAGT,EAAMS,aAAgC;EAAG;EAAAC,IAAAC,GAAA;GAAA,IAAAC,IAChDlB,EACHQ,EAAIW,cACJf,EAAMY,KACNP,CACF;GAAC,OAAAS,KAAA,cAAAA,EAAAD,CAAA;EAAA;EAAA,aAAA;EAAA,IAAA,eAAA;GAAA,OAEWT,EAAIe,KAAK,IAAI,SAAS;EAAQ;EAAA,IAAA,oBAAA;GAAA,OACzBf,EAAIe,KAAK,IAAI,KAAKE,KAAAA;EAAS;EAAA,IAAA,qBAAA;GAAA,OAC1BE,QAAA,CAAA,CAAAnB,EAAIe,KAAK,CAAC,CAAA,CAAA,IAAGf,EAAIoB,YAAYH,KAAAA;EAAS;CAAA,CAAA,CAAA;AAG9D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { HoverCardTrigger } from './HoverCardTrigger';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
interface Options {
|
|
2
|
+
delay: () => number | undefined;
|
|
3
|
+
closeDelay: () => number | undefined;
|
|
4
|
+
disabled: () => boolean | undefined;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Trigger 的悬停/聚焦行为:
|
|
8
|
+
* - pointerenter/pointerleave 走 open/close 延迟(trigger 的 delay/closeDelay 优先于根);
|
|
9
|
+
* - focus 跳过延迟立即打开(键盘可达),blur 立即关闭;
|
|
10
|
+
* - Escape 关闭并阻止冒泡;
|
|
11
|
+
* - 刚发生 pointerdown 时忽略紧随其后的 focus——点击一个可聚焦元素浏览器会
|
|
12
|
+
* 自动 focus,不应因此把卡片打开。
|
|
13
|
+
*/
|
|
14
|
+
export declare function useHoverCardTrigger(options: Options): {
|
|
15
|
+
ctx: import('..').HoverCardContextValue;
|
|
16
|
+
attachListeners: (el: Element) => void;
|
|
17
|
+
};
|
|
18
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { useHoverCardContext as e } from "../hover-card.context.js";
|
|
2
|
+
import { onCleanup as t } from "solid-js";
|
|
3
|
+
//#region src/components/hover-card/HoverCardTrigger/useHoverCardTrigger.ts
|
|
4
|
+
function n(n) {
|
|
5
|
+
let r = e("HoverCardTrigger"), i = () => r.disabled() || !!n.disabled();
|
|
6
|
+
return {
|
|
7
|
+
ctx: r,
|
|
8
|
+
attachListeners: (e) => {
|
|
9
|
+
let a = !1, o = () => {
|
|
10
|
+
i() || r.requestOpen(n.delay());
|
|
11
|
+
}, s = () => {
|
|
12
|
+
r.requestClose(n.closeDelay());
|
|
13
|
+
}, c = () => {
|
|
14
|
+
a || i() || r.openImmediate();
|
|
15
|
+
}, l = () => {
|
|
16
|
+
r.closeImmediate();
|
|
17
|
+
}, u = (e) => {
|
|
18
|
+
let t = e;
|
|
19
|
+
t.key === "Escape" && r.open() && (t.stopPropagation(), r.closeImmediate());
|
|
20
|
+
}, d = () => {
|
|
21
|
+
a = !0;
|
|
22
|
+
}, f = () => {
|
|
23
|
+
a = !1;
|
|
24
|
+
};
|
|
25
|
+
e.addEventListener("pointerenter", o), e.addEventListener("pointerleave", s), e.addEventListener("focus", c), e.addEventListener("blur", l), e.addEventListener("keydown", u), e.addEventListener("mousedown", d), document.addEventListener("mouseup", f), t(() => {
|
|
26
|
+
e.removeEventListener("pointerenter", o), e.removeEventListener("pointerleave", s), e.removeEventListener("focus", c), e.removeEventListener("blur", l), e.removeEventListener("keydown", u), e.removeEventListener("mousedown", d), document.removeEventListener("mouseup", f);
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { n as useHoverCardTrigger };
|
|
33
|
+
|
|
34
|
+
//# sourceMappingURL=useHoverCardTrigger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useHoverCardTrigger.js","names":["useHoverCardTrigger","ctx","useHoverCardContext","isDisabled","options","pointerDown","onPointerEnter","onPointerLeave","onFocus","onBlur","onKeyDown","keyboard","event","onMouseDown","onDocumentMouseUp","el","onCleanup"],"sources":["../../../../src/components/hover-card/HoverCardTrigger/useHoverCardTrigger.ts"],"sourcesContent":["import { onCleanup } from \"solid-js\";\nimport { useHoverCardContext } from \"../hover-card.context\";\n\ninterface Options {\n delay: () => number | undefined;\n closeDelay: () => number | undefined;\n disabled: () => boolean | undefined;\n}\n\n/**\n * Trigger 的悬停/聚焦行为:\n * - pointerenter/pointerleave 走 open/close 延迟(trigger 的 delay/closeDelay 优先于根);\n * - focus 跳过延迟立即打开(键盘可达),blur 立即关闭;\n * - Escape 关闭并阻止冒泡;\n * - 刚发生 pointerdown 时忽略紧随其后的 focus——点击一个可聚焦元素浏览器会\n * 自动 focus,不应因此把卡片打开。\n */\nexport function useHoverCardTrigger(options: Options) {\n const ctx = useHoverCardContext(\"HoverCardTrigger\");\n\n const isDisabled = () => ctx.disabled() || !!options.disabled();\n\n const attachListeners = (el: Element) => {\n let pointerDown = false;\n\n const onPointerEnter = () => {\n if (isDisabled()) return;\n ctx.requestOpen(options.delay());\n };\n const onPointerLeave = () => {\n ctx.requestClose(options.closeDelay());\n };\n const onFocus = () => {\n if (pointerDown || isDisabled()) return;\n ctx.openImmediate();\n };\n const onBlur = () => {\n ctx.closeImmediate();\n };\n const onKeyDown = (event: Event) => {\n const keyboard = event as KeyboardEvent;\n if (keyboard.key === \"Escape\" && ctx.open()) {\n keyboard.stopPropagation();\n ctx.closeImmediate();\n }\n };\n const onMouseDown = () => {\n pointerDown = true;\n };\n const onDocumentMouseUp = () => {\n pointerDown = false;\n };\n\n el.addEventListener(\"pointerenter\", onPointerEnter);\n el.addEventListener(\"pointerleave\", onPointerLeave);\n el.addEventListener(\"focus\", onFocus);\n el.addEventListener(\"blur\", onBlur);\n el.addEventListener(\"keydown\", onKeyDown);\n el.addEventListener(\"mousedown\", onMouseDown);\n document.addEventListener(\"mouseup\", onDocumentMouseUp);\n\n onCleanup(() => {\n el.removeEventListener(\"pointerenter\", onPointerEnter);\n el.removeEventListener(\"pointerleave\", onPointerLeave);\n el.removeEventListener(\"focus\", onFocus);\n el.removeEventListener(\"blur\", onBlur);\n el.removeEventListener(\"keydown\", onKeyDown);\n el.removeEventListener(\"mousedown\", onMouseDown);\n document.removeEventListener(\"mouseup\", onDocumentMouseUp);\n });\n };\n\n return { ctx, attachListeners };\n}\n"],"mappings":";;;AAiBA,SAAgBA,EAAoB,GAAkB;CACpD,IAAMC,IAAMC,EAAoB,kBAAkB,GAE5CC,UAAmBF,EAAI,SAAS,KAAK,CAAC,CAACG,EAAQ,SAAS;CAoD9D,OAAO;EAAE;EAAK,kBAlDW,MAAgB;GACvC,IAAIC,IAAc,IAEZC,UAAuB;IAC3B,AAAIH,EAAW,KACfF,EAAI,YAAYG,EAAQ,MAAM,CAAC;GACjC,GACMG,UAAuB;IAC3B,EAAI,aAAaH,EAAQ,WAAW,CAAC;GACvC,GACMI,UAAgB;IACpB,AAAIH,KAAeF,EAAW,KAC9BF,EAAI,cAAc;GACpB,GACMQ,UAAe;IACnB,EAAI,eAAe;GACrB,GACMC,KAAa,MAAiB;IAClC,IAAMC,IAAWC;IACjB,AAAID,EAAS,QAAQ,YAAYV,EAAI,KAAK,MACxCU,EAAS,gBAAgB,GACzBV,EAAI,eAAe;GAEvB,GACMY,UAAoB;IACxB,IAAc;GAChB,GACMC,UAA0B;IAC9B,IAAc;GAChB;GAUA,AARAC,EAAG,iBAAiB,gBAAgBT,CAAc,GAClDS,EAAG,iBAAiB,gBAAgBR,CAAc,GAClDQ,EAAG,iBAAiB,SAASP,CAAO,GACpCO,EAAG,iBAAiB,QAAQN,CAAM,GAClCM,EAAG,iBAAiB,WAAWL,CAAS,GACxCK,EAAG,iBAAiB,aAAaF,CAAW,GAC5C,SAAS,iBAAiB,WAAWC,CAAiB,GAEtDE,QAAgB;IAOd,AANAD,EAAG,oBAAoB,gBAAgBT,CAAc,GACrDS,EAAG,oBAAoB,gBAAgBR,CAAc,GACrDQ,EAAG,oBAAoB,SAASP,CAAO,GACvCO,EAAG,oBAAoB,QAAQN,CAAM,GACrCM,EAAG,oBAAoB,WAAWL,CAAS,GAC3CK,EAAG,oBAAoB,aAAaF,CAAW,GAC/C,SAAS,oBAAoB,WAAWC,CAAiB;GAC3D,CAAC;EACH;CAE8B;AAChC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createContext as e, useContext as t } from "solid-js";
|
|
2
|
+
//#region src/components/hover-card/hover-card.context.ts
|
|
3
|
+
var n = e();
|
|
4
|
+
function r(e) {
|
|
5
|
+
let r = t(n);
|
|
6
|
+
if (!r) throw Error(`<${e}> 必须渲染在 <HoverCard> 内部`);
|
|
7
|
+
return r;
|
|
8
|
+
}
|
|
9
|
+
//#endregion
|
|
10
|
+
export { n as HoverCardContext, r as useHoverCardContext };
|
|
11
|
+
|
|
12
|
+
//# sourceMappingURL=hover-card.context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hover-card.context.js","names":["HoverCardContext","createContext","useHoverCardContext","ctx","useContext","component"],"sources":["../../../src/components/hover-card/hover-card.context.ts"],"sourcesContent":["import { createContext, useContext } from \"solid-js\";\nimport type { HoverCardContextValue } from \"./hover-card.types\";\n\nexport const HoverCardContext = createContext<HoverCardContextValue>();\n\nexport function useHoverCardContext(component: string): HoverCardContextValue {\n const ctx = useContext(HoverCardContext);\n if (!ctx) {\n throw new Error(`<${component}> 必须渲染在 <HoverCard> 内部`);\n }\n return ctx;\n}\n"],"mappings":";;AAGA,IAAaA,IAAmBC,EAAqC;AAErE,SAAgBC,EAAoB,GAA0C;CAC5E,IAAMC,IAAMC,EAAWJ,CAAgB;CACvC,IAAI,CAACG,GACH,MAAU,MAAM,IAAIE,EAAU,uBAAuB;CAEvD,OAAOF;AACT"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Accessor, ParentProps, ValidComponent } from 'solid-js';
|
|
2
|
+
import { Alignment, Side } from '../../lib';
|
|
3
|
+
import { BaseProps, PolymorphicProps } from '../../types';
|
|
4
|
+
export type HoverCardSide = Side | "inline-start" | "inline-end";
|
|
5
|
+
export interface HoverCardProps extends ParentProps {
|
|
6
|
+
/** 受控 open;不传则内部自管理 */
|
|
7
|
+
open?: boolean;
|
|
8
|
+
defaultOpen?: boolean;
|
|
9
|
+
onOpenChange?: (open: boolean) => void;
|
|
10
|
+
/** 悬停多久后打开(ms),默认 700;trigger 上的 delay 优先 */
|
|
11
|
+
delay?: number;
|
|
12
|
+
/** 移出后多久关闭(ms),默认 300;trigger 上的 closeDelay 优先 */
|
|
13
|
+
closeDelay?: number;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
export interface HoverCardContextValue {
|
|
17
|
+
open: Accessor<boolean>;
|
|
18
|
+
disabled: Accessor<boolean>;
|
|
19
|
+
contentId: string;
|
|
20
|
+
reference: Accessor<Element | undefined>;
|
|
21
|
+
setReference: (el: Element) => void;
|
|
22
|
+
floating: Accessor<HTMLElement | undefined>;
|
|
23
|
+
setFloating: (el: HTMLElement | undefined) => void;
|
|
24
|
+
requestOpen: (delayOverride?: number) => void;
|
|
25
|
+
requestClose: (closeDelayOverride?: number) => void;
|
|
26
|
+
openImmediate: () => void;
|
|
27
|
+
closeImmediate: () => void;
|
|
28
|
+
keepOpen: () => void;
|
|
29
|
+
}
|
|
30
|
+
interface BaseHoverCardContentProps extends BaseProps {
|
|
31
|
+
/** 贴 trigger 的哪一侧,默认 "bottom" */
|
|
32
|
+
side?: HoverCardSide;
|
|
33
|
+
/** 沿边对齐方式,默认 "center" */
|
|
34
|
+
align?: Alignment | "center";
|
|
35
|
+
/** 与 trigger 的间距(px),默认 4 */
|
|
36
|
+
sideOffset?: number;
|
|
37
|
+
/** 交叉轴偏移(px),默认 4 */
|
|
38
|
+
alignOffset?: number;
|
|
39
|
+
/** 距视口边缘最小间距(px),默认 8 */
|
|
40
|
+
collisionPadding?: number;
|
|
41
|
+
}
|
|
42
|
+
export type HoverCardContentProps = PolymorphicProps<"div", BaseHoverCardContentProps, false>;
|
|
43
|
+
export type HoverCardTriggerProps<T extends ValidComponent> = PolymorphicProps<T, {
|
|
44
|
+
/** 覆盖根的打开延迟(ms) */
|
|
45
|
+
delay?: number;
|
|
46
|
+
/** 覆盖根的关闭延迟(ms) */
|
|
47
|
+
closeDelay?: number;
|
|
48
|
+
disabled?: boolean;
|
|
49
|
+
}>;
|
|
50
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Alignment, Placement } from '../../lib';
|
|
2
|
+
import { HoverCardSide } from './hover-card.types';
|
|
3
|
+
/** shadcn/Radix 的 side + align 组合成核心库的 Placement */
|
|
4
|
+
export declare function toPlacement(side: HoverCardSide, align: Alignment | "center", dir?: string): Placement;
|
|
5
|
+
/** 缩放动画锚点落在贴近 trigger 的那条边 */
|
|
6
|
+
export declare function getTransformOrigin(placement: Placement): string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { HoverCard } from './HoverCard';
|
|
2
|
+
export { HoverCardTrigger } from './HoverCardTrigger';
|
|
3
|
+
export { HoverCardContent } from './HoverCardContent';
|
|
4
|
+
export type { HoverCardSide, HoverCardProps, HoverCardContextValue, HoverCardTriggerProps, HoverCardContentProps, } from './hover-card.types';
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { HoverCard as e } from "./HoverCard/HoverCard.js";
|
|
2
|
+
import { HoverCardTrigger as t } from "./HoverCardTrigger/HoverCardTrigger.js";
|
|
3
|
+
import { HoverCardContent as n } from "./HoverCardContent/HoverCardContent.js";
|
|
4
|
+
export { e as HoverCard, n as HoverCardContent, t as HoverCardTrigger };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ValidComponent } from 'solid-js';
|
|
2
|
+
import { MarkerProps } from './Marker.types';
|
|
3
|
+
/**
|
|
4
|
+
* 会话中的行内标记:状态、系统提示、带下边框的行、或带标签的分隔条。
|
|
5
|
+
* 多态渲染(默认 div,可换 button/a);展示型可加 `role="status"`。
|
|
6
|
+
*/
|
|
7
|
+
export declare const Marker: <T extends ValidComponent = "div">(props: MarkerProps<T>) => import('solid-js').JSX.Element;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { clsx as e } from "../../../utils/clsx.js";
|
|
2
|
+
import { markerVariants as t } from "./Marker.styles.js";
|
|
3
|
+
import { Dynamic as n, createComponent as r, mergeProps as i } from "solid-js/web";
|
|
4
|
+
import { mergeProps as a, splitProps as o } from "solid-js";
|
|
5
|
+
//#region src/components/marker/Marker/Marker.tsx
|
|
6
|
+
var s = (s) => {
|
|
7
|
+
let c = a({
|
|
8
|
+
variant: "default",
|
|
9
|
+
component: "div"
|
|
10
|
+
}, s), [l, u] = o(c, [
|
|
11
|
+
"variant",
|
|
12
|
+
"component",
|
|
13
|
+
"class",
|
|
14
|
+
"classList"
|
|
15
|
+
]);
|
|
16
|
+
return r(n, i(u, {
|
|
17
|
+
get component() {
|
|
18
|
+
return l.component;
|
|
19
|
+
},
|
|
20
|
+
"data-slot": "marker",
|
|
21
|
+
get "data-variant"() {
|
|
22
|
+
return l.variant;
|
|
23
|
+
},
|
|
24
|
+
get class() {
|
|
25
|
+
return e(t({ variant: l.variant }), l.class);
|
|
26
|
+
},
|
|
27
|
+
get classList() {
|
|
28
|
+
return l.classList;
|
|
29
|
+
}
|
|
30
|
+
}));
|
|
31
|
+
};
|
|
32
|
+
//#endregion
|
|
33
|
+
export { s as Marker };
|
|
34
|
+
|
|
35
|
+
//# sourceMappingURL=Marker.js.map
|