@radix-ui/react-hover-card 0.1.0 → 0.1.1-rc.12
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/index.js.map +1 -1
- package/dist/index.module.js.map +1 -1
- package/package.json +7 -6
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./packages/react/hover-card/src/HoverCard.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$reexport(e, n, v) {\n Object.defineProperty(e, n, {get: v, enumerable: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContext } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { Portal } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport type * as Radix from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCard\n * -----------------------------------------------------------------------------------------------*/\n\nconst HOVERCARD_NAME = 'HoverCard';\n\ntype HoverCardContextValue = {\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpen(): void;\n onClose(): void;\n};\n\nconst [HoverCardProvider, useHoverCardContext] =\n createContext<HoverCardContextValue>(HOVERCARD_NAME);\n\ninterface HoverCardProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n openDelay?: number;\n closeDelay?: number;\n}\n\nconst HoverCard: React.FC<HoverCardProps> = (props) => {\n const {\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n openDelay = 700,\n closeDelay = 300,\n } = props;\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const handleOpen = React.useCallback(() => {\n clearTimeout(closeTimerRef.current);\n openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);\n }, [openDelay, setOpen]);\n\n const handleClose = React.useCallback(() => {\n clearTimeout(openTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);\n }, [closeDelay, setOpen]);\n\n // cleanup any queued state updates on unmount\n React.useEffect(() => {\n return () => {\n clearTimeout(openTimerRef.current);\n clearTimeout(closeTimerRef.current);\n };\n }, []);\n\n return (\n <HoverCardProvider open={open} onOpenChange={setOpen} onOpen={handleOpen} onClose={handleClose}>\n <PopperPrimitive.Root>{children}</PopperPrimitive.Root>\n </HoverCardProvider>\n );\n};\n\nHoverCard.displayName = HOVERCARD_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'HoverCardTrigger';\n\ntype HoverCardTriggerElement = React.ElementRef<typeof Primitive.a>;\ntype PrimitiveLinkProps = Radix.ComponentPropsWithoutRef<typeof Primitive.a>;\ninterface HoverCardTriggerProps extends PrimitiveLinkProps {}\n\nconst HoverCardTrigger = React.forwardRef<HoverCardTriggerElement, HoverCardTriggerProps>(\n (props, forwardedRef) => {\n const context = useHoverCardContext(TRIGGER_NAME);\n return (\n <PopperPrimitive.Anchor asChild>\n <Primitive.a\n data-state={context.open ? 'open' : 'closed'}\n {...props}\n ref={forwardedRef}\n onPointerEnter={composeEventHandlers(props.onPointerEnter, excludeTouch(context.onOpen))}\n onPointerLeave={composeEventHandlers(props.onPointerLeave, excludeTouch(context.onClose))}\n ></Primitive.a>\n </PopperPrimitive.Anchor>\n );\n }\n);\n\nHoverCardTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'HoverCardContent';\n\ntype HoverCardContentElement = HoverCardContentImplElement;\ninterface HoverCardContentProps extends HoverCardContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst HoverCardContent = React.forwardRef<HoverCardContentElement, HoverCardContentProps>(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useHoverCardContext(CONTENT_NAME);\n return (\n <Presence present={forceMount || context.open}>\n <HoverCardContentImpl\n data-state={context.open ? 'open' : 'closed'}\n {...contentProps}\n onPointerEnter={composeEventHandlers(props.onMouseEnter, excludeTouch(context.onOpen))}\n onPointerLeave={composeEventHandlers(props.onMouseLeave, excludeTouch(context.onClose))}\n ref={forwardedRef}\n />\n </Presence>\n );\n }\n);\n\nHoverCardContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype HoverCardContentImplElement = React.ElementRef<typeof PopperPrimitive.Content>;\ntype PopperContentProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;\ninterface HoverCardContentImplProps extends PopperContentProps {\n /**\n * Whether the `HoverCard` should render in a `Portal`\n * (default: `true`)\n */\n portalled?: boolean;\n}\n\nconst HoverCardContentImpl = React.forwardRef<\n HoverCardContentImplElement,\n HoverCardContentImplProps\n>((props, forwardedRef) => {\n const { portalled = true, ...contentProps } = props;\n const PortalWrapper = portalled ? Portal : React.Fragment;\n return (\n <PortalWrapper>\n <PopperPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...contentProps.style,\n // re-namespace exposed content custom property\n ['--radix-hover-card-content-transform-origin' as any]:\n 'var(--radix-popper-transform-origin)',\n }}\n />\n </PortalWrapper>\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'HoverCardArrow';\n\ntype HoverCardArrowElement = React.ElementRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;\ninterface HoverCardArrowProps extends PopperArrowProps {}\n\nconst HoverCardArrow = React.forwardRef<HoverCardArrowElement, HoverCardArrowProps>(\n (props, forwardedRef) => <PopperPrimitive.Arrow {...props} ref={forwardedRef} />\n);\n\nHoverCardArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction excludeTouch<E>(eventHandler: () => void) {\n return (event: React.PointerEvent<E>) =>\n event.pointerType === 'touch' ? undefined : eventHandler();\n}\n\nconst Root = HoverCard;\nconst Trigger = HoverCardTrigger;\nconst Content = HoverCardContent;\nconst Arrow = HoverCardArrow;\n\nexport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n HoverCardArrow,\n //\n Root,\n Trigger,\n Content,\n Arrow,\n};\nexport type { HoverCardProps, HoverCardTriggerProps, HoverCardContentProps, HoverCardArrowProps };\n"],"names":["a","__esModule","default","$parcel$exportWildcard","dest","source","Object","keys","forEach","key","defineProperty","enumerable","get","HoverCardProvider","useHoverCardContext","createContext","HoverCard","props","children","open","openProp","defaultOpen","onOpenChange","openDelay","closeDelay","openTimerRef","React","useRef","closeTimerRef","setOpen","useControllableState","prop","defaultProp","onChange","handleOpen","useCallback","clearTimeout","current","window","setTimeout","handleClose","useEffect","_react","createElement","$a9187305359b3319ee1ff04b4d7510$var$HoverCardProvider","onOpen","onClose","_radixUiReactPopper","Root","HoverCardTrigger","forwardRef","forwardedRef","context","Anchor","asChild","Primitive","_babelRuntimeHelpersExtends","ref","onPointerEnter","composeEventHandlers","excludeTouch","onPointerLeave","HoverCardContent","forceMount","contentProps","Presence","present","$a9187305359b3319ee1ff04b4d7510$var$HoverCardContentImpl","onMouseEnter","onMouseLeave","HoverCardContentImpl","portalled","PortalWrapper","Portal","Fragment","Content","style","HoverCardArrow","Arrow","eventHandler","event","pointerType","undefined","Trigger"],"version":3,"file":"index.js.map"}
|
|
1
|
+
{"mappings":"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","sources":["./node_modules/@parcel/scope-hoisting/lib/helpers.js","./packages/react/hover-card/src/HoverCard.tsx"],"sourcesContent":["function $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true});\n}\n\nfunction $parcel$reexport(e, n, v) {\n Object.defineProperty(e, n, {get: v, enumerable: true});\n}\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule') {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n },\n });\n });\n\n return dest;\n}\n\nfunction $parcel$missingModule(name) {\n var err = new Error(\"Cannot find module '\" + name + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n}\n\nvar $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n","import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContext } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { Portal } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport type * as Radix from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCard\n * -----------------------------------------------------------------------------------------------*/\n\nconst HOVERCARD_NAME = 'HoverCard';\n\ntype HoverCardContextValue = {\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpen(): void;\n onClose(): void;\n};\n\nconst [HoverCardProvider, useHoverCardContext] =\n createContext<HoverCardContextValue>(HOVERCARD_NAME);\n\ninterface HoverCardProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n openDelay?: number;\n closeDelay?: number;\n}\n\nconst HoverCard: React.FC<HoverCardProps> = (props) => {\n const {\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n openDelay = 700,\n closeDelay = 300,\n } = props;\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const handleOpen = React.useCallback(() => {\n clearTimeout(closeTimerRef.current);\n openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);\n }, [openDelay, setOpen]);\n\n const handleClose = React.useCallback(() => {\n clearTimeout(openTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);\n }, [closeDelay, setOpen]);\n\n // cleanup any queued state updates on unmount\n React.useEffect(() => {\n return () => {\n clearTimeout(openTimerRef.current);\n clearTimeout(closeTimerRef.current);\n };\n }, []);\n\n return (\n <HoverCardProvider open={open} onOpenChange={setOpen} onOpen={handleOpen} onClose={handleClose}>\n <PopperPrimitive.Root>{children}</PopperPrimitive.Root>\n </HoverCardProvider>\n );\n};\n\nHoverCard.displayName = HOVERCARD_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'HoverCardTrigger';\n\ntype HoverCardTriggerElement = React.ElementRef<typeof Primitive.a>;\ntype PrimitiveLinkProps = Radix.ComponentPropsWithoutRef<typeof Primitive.a>;\ninterface HoverCardTriggerProps extends PrimitiveLinkProps {}\n\nconst HoverCardTrigger = React.forwardRef<HoverCardTriggerElement, HoverCardTriggerProps>(\n (props, forwardedRef) => {\n const context = useHoverCardContext(TRIGGER_NAME);\n return (\n <PopperPrimitive.Anchor asChild>\n <Primitive.a\n data-state={context.open ? 'open' : 'closed'}\n {...props}\n ref={forwardedRef}\n onPointerEnter={composeEventHandlers(props.onPointerEnter, excludeTouch(context.onOpen))}\n onPointerLeave={composeEventHandlers(props.onPointerLeave, excludeTouch(context.onClose))}\n />\n </PopperPrimitive.Anchor>\n );\n }\n);\n\nHoverCardTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'HoverCardContent';\n\ntype HoverCardContentElement = HoverCardContentImplElement;\ninterface HoverCardContentProps extends HoverCardContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst HoverCardContent = React.forwardRef<HoverCardContentElement, HoverCardContentProps>(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useHoverCardContext(CONTENT_NAME);\n return (\n <Presence present={forceMount || context.open}>\n <HoverCardContentImpl\n data-state={context.open ? 'open' : 'closed'}\n {...contentProps}\n onPointerEnter={composeEventHandlers(props.onMouseEnter, excludeTouch(context.onOpen))}\n onPointerLeave={composeEventHandlers(props.onMouseLeave, excludeTouch(context.onClose))}\n ref={forwardedRef}\n />\n </Presence>\n );\n }\n);\n\nHoverCardContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype HoverCardContentImplElement = React.ElementRef<typeof PopperPrimitive.Content>;\ntype PopperContentProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;\ninterface HoverCardContentImplProps extends PopperContentProps {\n /**\n * Whether the `HoverCard` should render in a `Portal`\n * (default: `true`)\n */\n portalled?: boolean;\n}\n\nconst HoverCardContentImpl = React.forwardRef<\n HoverCardContentImplElement,\n HoverCardContentImplProps\n>((props, forwardedRef) => {\n const { portalled = true, ...contentProps } = props;\n const PortalWrapper = portalled ? Portal : React.Fragment;\n return (\n <PortalWrapper>\n <PopperPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...contentProps.style,\n // re-namespace exposed content custom property\n ['--radix-hover-card-content-transform-origin' as any]:\n 'var(--radix-popper-transform-origin)',\n }}\n />\n </PortalWrapper>\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'HoverCardArrow';\n\ntype HoverCardArrowElement = React.ElementRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;\ninterface HoverCardArrowProps extends PopperArrowProps {}\n\nconst HoverCardArrow = React.forwardRef<HoverCardArrowElement, HoverCardArrowProps>(\n (props, forwardedRef) => <PopperPrimitive.Arrow {...props} ref={forwardedRef} />\n);\n\nHoverCardArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction excludeTouch<E>(eventHandler: () => void) {\n return (event: React.PointerEvent<E>) =>\n event.pointerType === 'touch' ? undefined : eventHandler();\n}\n\nconst Root = HoverCard;\nconst Trigger = HoverCardTrigger;\nconst Content = HoverCardContent;\nconst Arrow = HoverCardArrow;\n\nexport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n HoverCardArrow,\n //\n Root,\n Trigger,\n Content,\n Arrow,\n};\nexport type { HoverCardProps, HoverCardTriggerProps, HoverCardContentProps, HoverCardArrowProps };\n"],"names":["a","__esModule","default","$parcel$exportWildcard","dest","source","Object","keys","forEach","key","defineProperty","enumerable","get","HoverCardProvider","useHoverCardContext","createContext","HoverCard","props","children","open","openProp","defaultOpen","onOpenChange","openDelay","closeDelay","openTimerRef","React","useRef","closeTimerRef","setOpen","useControllableState","prop","defaultProp","onChange","handleOpen","useCallback","clearTimeout","current","window","setTimeout","handleClose","useEffect","_react","createElement","$a9187305359b3319ee1ff04b4d7510$var$HoverCardProvider","onOpen","onClose","_radixUiReactPopper","Root","HoverCardTrigger","forwardRef","forwardedRef","context","Anchor","asChild","Primitive","_babelRuntimeHelpersExtends","ref","onPointerEnter","composeEventHandlers","excludeTouch","onPointerLeave","HoverCardContent","forceMount","contentProps","Presence","present","$a9187305359b3319ee1ff04b4d7510$var$HoverCardContentImpl","onMouseEnter","onMouseLeave","HoverCardContentImpl","portalled","PortalWrapper","Portal","Fragment","Content","style","HoverCardArrow","Arrow","eventHandler","event","pointerType","undefined","Trigger"],"version":3,"file":"index.js.map"}
|
package/dist/index.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"8cAcA,MASOA,EAAmBC,GACxBC,EAVqB,oBAoBvB,MAAMC,UAAuCC,IAC3C,MAAMC,SACJA,EACAC,KAAMC,EAFFC,YAGJA,EAHIC,aAIJA,EAJIC,UAKJA,EAAY,IALRC,WAMJA,EAAa,KACXP,EACEQ,EAAeC,EAAMC,OAAO,GAC5BC,EAAgBF,EAAMC,OAAO,IAE5BR,GAAO,EAAOU,GAAWC,EAAqB,CACnDC,KAAMX,EACNY,YAAaX,EACbY,SAAUX,IAGNY,EAAaR,EAAMS,aAAY,KACnCC,aAAaR,EAAcS,SAC3BZ,EAAaY,QAAUC,OAAOC,YAAW,IAAMV,GAAQ,IAAON,KAC7D,CAACA,EAAWM,IAETW,EAAcd,EAAMS,aAAY,KACpCC,aAAaX,EAAaY,SAC1BT,EAAcS,QAAUC,OAAOC,YAAW,IAAMV,GAAQ,IAAQL,KAC/D,CAACA,EAAYK,IAUhB,OAPAH,EAAMe,WAAU,IACP,KACLL,aAAaX,EAAaY,SAC1BD,aAAaR,EAAcS,WAE5B,iBAGDK,EAAAC,cAACC,EAAD,CAAmBzB,KAAMA,EAAMG,aAAcO,EAASgB,OAAQX,EAAYY,QAASN,gBACjFE,EAAAC,cAACI,EAAgBC,KAAjB,KAAuB9B,yBAiB7B,MAAM+B,8BAAmBvB,EAAMwB,YAC7B,CAACjC,EAAOkC,KACN,MAAMC,EAAUtC,EARC,iCASjB,OACE4B,EAAAC,cAACI,EAAgBM,OAAjB,CAAwBC,SAAO,gBAC7BZ,EAAAC,cAACY,EAAUC,EAAXC,EAAA,CACE,aAAYL,EAAQjC,KAAO,OAAS,UAChCF,EAFN,CAGEyC,IAAKP,EACLQ,eAAgBC,EAAqB3C,EAAM0C,eAAgBE,EAAaT,EAAQP,SAChFiB,eAAgBF,EAAqB3C,EAAM6C,eAAgBD,EAAaT,EAAQN,qCAwB1F,MAAMiB,8BAAmBrC,EAAMwB,YAC7B,CAACjC,EAAOkC,KACN,MAAMa,WAAEA,KAAeC,GAAiBhD,EAClCmC,EAAUtC,EAdC,iCAejB,OACE4B,EAAAC,cAACuB,EAAD,CAAUC,QAASH,GAAcZ,EAAQjC,mBACvCuB,EAAAC,cAACyB,EAADX,EAAA,CACE,aAAYL,EAAQjC,KAAO,OAAS,UAChC8C,EAFN,CAGEN,eAAgBC,EAAqB3C,EAAMoD,aAAcR,EAAaT,EAAQP,SAC9EiB,eAAgBF,EAAqB3C,EAAMqD,aAAcT,EAAaT,EAAQN,UAC9EY,IAAKP,sBAqBf,MAAMoB,eAAuB7C,EAAMwB,YAGjC,CAACjC,EAAOkC,KACR,MAAMqB,UAAEA,GAAY,KAASP,GAAiBhD,EACxCwD,EAAgBD,EAAYE,EAAShD,EAAMiD,sBACjD,OACEjC,EAAAC,cAAC8B,EAAD,kBACE/B,EAAAC,cAACI,EAAgB6B,QAAjBnB,EAAA,GACMQ,EADN,CAEEP,IAAKP,EACL0B,MAAO,IACFZ,EAAaY,MAEhB,8CACE,sDAiBZ,MAAMC,4BAAiBpD,EAAMwB,YAC3B,CAACjC,EAAOkC,iBAAiBT,EAAAC,cAACI,EAAgBgC,MAAjBtB,EAAA,GAA2BxC,EAA3B,CAAkCyC,IAAKP,oBAOlE,SAASU,EAAgBmB,GACvB,OAAQC,GACgB,UAAtBA,EAAMC,iBAA0BC,EAAYH,WAGhD,MAAMhC,KAAOhC,iBACb,MAAMoE,QAAUnC,wBAChB,MAAM2B,QAAUb,wBAChB,MAAMgB,MAAQD","sources":["./packages/react/hover-card/src/HoverCard.tsx"],"sourcesContent":["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContext } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { Portal } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport type * as Radix from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCard\n * -----------------------------------------------------------------------------------------------*/\n\nconst HOVERCARD_NAME = 'HoverCard';\n\ntype HoverCardContextValue = {\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpen(): void;\n onClose(): void;\n};\n\nconst [HoverCardProvider, useHoverCardContext] =\n createContext<HoverCardContextValue>(HOVERCARD_NAME);\n\ninterface HoverCardProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n openDelay?: number;\n closeDelay?: number;\n}\n\nconst HoverCard: React.FC<HoverCardProps> = (props) => {\n const {\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n openDelay = 700,\n closeDelay = 300,\n } = props;\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const handleOpen = React.useCallback(() => {\n clearTimeout(closeTimerRef.current);\n openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);\n }, [openDelay, setOpen]);\n\n const handleClose = React.useCallback(() => {\n clearTimeout(openTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);\n }, [closeDelay, setOpen]);\n\n // cleanup any queued state updates on unmount\n React.useEffect(() => {\n return () => {\n clearTimeout(openTimerRef.current);\n clearTimeout(closeTimerRef.current);\n };\n }, []);\n\n return (\n <HoverCardProvider open={open} onOpenChange={setOpen} onOpen={handleOpen} onClose={handleClose}>\n <PopperPrimitive.Root>{children}</PopperPrimitive.Root>\n </HoverCardProvider>\n );\n};\n\nHoverCard.displayName = HOVERCARD_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'HoverCardTrigger';\n\ntype HoverCardTriggerElement = React.ElementRef<typeof Primitive.a>;\ntype PrimitiveLinkProps = Radix.ComponentPropsWithoutRef<typeof Primitive.a>;\ninterface HoverCardTriggerProps extends PrimitiveLinkProps {}\n\nconst HoverCardTrigger = React.forwardRef<HoverCardTriggerElement, HoverCardTriggerProps>(\n (props, forwardedRef) => {\n const context = useHoverCardContext(TRIGGER_NAME);\n return (\n <PopperPrimitive.Anchor asChild>\n <Primitive.a\n data-state={context.open ? 'open' : 'closed'}\n {...props}\n ref={forwardedRef}\n onPointerEnter={composeEventHandlers(props.onPointerEnter, excludeTouch(context.onOpen))}\n onPointerLeave={composeEventHandlers(props.onPointerLeave, excludeTouch(context.onClose))}\n ></Primitive.a>\n </PopperPrimitive.Anchor>\n );\n }\n);\n\nHoverCardTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'HoverCardContent';\n\ntype HoverCardContentElement = HoverCardContentImplElement;\ninterface HoverCardContentProps extends HoverCardContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst HoverCardContent = React.forwardRef<HoverCardContentElement, HoverCardContentProps>(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useHoverCardContext(CONTENT_NAME);\n return (\n <Presence present={forceMount || context.open}>\n <HoverCardContentImpl\n data-state={context.open ? 'open' : 'closed'}\n {...contentProps}\n onPointerEnter={composeEventHandlers(props.onMouseEnter, excludeTouch(context.onOpen))}\n onPointerLeave={composeEventHandlers(props.onMouseLeave, excludeTouch(context.onClose))}\n ref={forwardedRef}\n />\n </Presence>\n );\n }\n);\n\nHoverCardContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype HoverCardContentImplElement = React.ElementRef<typeof PopperPrimitive.Content>;\ntype PopperContentProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;\ninterface HoverCardContentImplProps extends PopperContentProps {\n /**\n * Whether the `HoverCard` should render in a `Portal`\n * (default: `true`)\n */\n portalled?: boolean;\n}\n\nconst HoverCardContentImpl = React.forwardRef<\n HoverCardContentImplElement,\n HoverCardContentImplProps\n>((props, forwardedRef) => {\n const { portalled = true, ...contentProps } = props;\n const PortalWrapper = portalled ? Portal : React.Fragment;\n return (\n <PortalWrapper>\n <PopperPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...contentProps.style,\n // re-namespace exposed content custom property\n ['--radix-hover-card-content-transform-origin' as any]:\n 'var(--radix-popper-transform-origin)',\n }}\n />\n </PortalWrapper>\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'HoverCardArrow';\n\ntype HoverCardArrowElement = React.ElementRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;\ninterface HoverCardArrowProps extends PopperArrowProps {}\n\nconst HoverCardArrow = React.forwardRef<HoverCardArrowElement, HoverCardArrowProps>(\n (props, forwardedRef) => <PopperPrimitive.Arrow {...props} ref={forwardedRef} />\n);\n\nHoverCardArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction excludeTouch<E>(eventHandler: () => void) {\n return (event: React.PointerEvent<E>) =>\n event.pointerType === 'touch' ? undefined : eventHandler();\n}\n\nconst Root = HoverCard;\nconst Trigger = HoverCardTrigger;\nconst Content = HoverCardContent;\nconst Arrow = HoverCardArrow;\n\nexport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n HoverCardArrow,\n //\n Root,\n Trigger,\n Content,\n Arrow,\n};\nexport type { HoverCardProps, HoverCardTriggerProps, HoverCardContentProps, HoverCardArrowProps };\n"],"names":["HoverCardProvider","useHoverCardContext","createContext","HoverCard","props","children","open","openProp","defaultOpen","onOpenChange","openDelay","closeDelay","openTimerRef","React","useRef","closeTimerRef","setOpen","useControllableState","prop","defaultProp","onChange","handleOpen","useCallback","clearTimeout","current","window","setTimeout","handleClose","useEffect","_react","createElement","$ddf490131a2c96ef2ad05ece6$var$HoverCardProvider","onOpen","onClose","_radixUiReactPopper","Root","HoverCardTrigger","forwardRef","forwardedRef","context","Anchor","asChild","Primitive","a","_babelRuntimeHelpersEsmExtends","ref","onPointerEnter","composeEventHandlers","excludeTouch","onPointerLeave","HoverCardContent","forceMount","contentProps","Presence","present","$ddf490131a2c96ef2ad05ece6$var$HoverCardContentImpl","onMouseEnter","onMouseLeave","HoverCardContentImpl","portalled","PortalWrapper","Portal","Fragment","Content","style","HoverCardArrow","Arrow","eventHandler","event","pointerType","undefined","Trigger"],"version":3,"file":"index.module.js.map"}
|
|
1
|
+
{"mappings":"8cAcA,MASOA,EAAmBC,GACxBC,EAVqB,oBAoBvB,MAAMC,UAAuCC,IAC3C,MAAMC,SACJA,EACAC,KAAMC,EAFFC,YAGJA,EAHIC,aAIJA,EAJIC,UAKJA,EAAY,IALRC,WAMJA,EAAa,KACXP,EACEQ,EAAeC,EAAMC,OAAO,GAC5BC,EAAgBF,EAAMC,OAAO,IAE5BR,GAAO,EAAOU,GAAWC,EAAqB,CACnDC,KAAMX,EACNY,YAAaX,EACbY,SAAUX,IAGNY,EAAaR,EAAMS,aAAY,KACnCC,aAAaR,EAAcS,SAC3BZ,EAAaY,QAAUC,OAAOC,YAAW,IAAMV,GAAQ,IAAON,KAC7D,CAACA,EAAWM,IAETW,EAAcd,EAAMS,aAAY,KACpCC,aAAaX,EAAaY,SAC1BT,EAAcS,QAAUC,OAAOC,YAAW,IAAMV,GAAQ,IAAQL,KAC/D,CAACA,EAAYK,IAUhB,OAPAH,EAAMe,WAAU,IACP,KACLL,aAAaX,EAAaY,SAC1BD,aAAaR,EAAcS,WAE5B,iBAGDK,EAAAC,cAACC,EAAD,CAAmBzB,KAAMA,EAAMG,aAAcO,EAASgB,OAAQX,EAAYY,QAASN,gBACjFE,EAAAC,cAACI,EAAgBC,KAAjB,KAAuB9B,yBAiB7B,MAAM+B,8BAAmBvB,EAAMwB,YAC7B,CAACjC,EAAOkC,KACN,MAAMC,EAAUtC,EARC,iCASjB,OACE4B,EAAAC,cAACI,EAAgBM,OAAjB,CAAwBC,SAAO,gBAC7BZ,EAAAC,cAACY,EAAUC,EAAXC,EAAA,CACE,aAAYL,EAAQjC,KAAO,OAAS,UAChCF,EAFN,CAGEyC,IAAKP,EACLQ,eAAgBC,EAAqB3C,EAAM0C,eAAgBE,EAAaT,EAAQP,SAChFiB,eAAgBF,EAAqB3C,EAAM6C,eAAgBD,EAAaT,EAAQN,qCAwB1F,MAAMiB,8BAAmBrC,EAAMwB,YAC7B,CAACjC,EAAOkC,KACN,MAAMa,WAAEA,KAAeC,GAAiBhD,EAClCmC,EAAUtC,EAdC,iCAejB,OACE4B,EAAAC,cAACuB,EAAD,CAAUC,QAASH,GAAcZ,EAAQjC,mBACvCuB,EAAAC,cAACyB,EAADX,EAAA,CACE,aAAYL,EAAQjC,KAAO,OAAS,UAChC8C,EAFN,CAGEN,eAAgBC,EAAqB3C,EAAMoD,aAAcR,EAAaT,EAAQP,SAC9EiB,eAAgBF,EAAqB3C,EAAMqD,aAAcT,EAAaT,EAAQN,UAC9EY,IAAKP,sBAqBf,MAAMoB,eAAuB7C,EAAMwB,YAGjC,CAACjC,EAAOkC,KACR,MAAMqB,UAAEA,GAAY,KAASP,GAAiBhD,EACxCwD,EAAgBD,EAAYE,EAAShD,EAAMiD,sBACjD,OACEjC,EAAAC,cAAC8B,EAAD,kBACE/B,EAAAC,cAACI,EAAgB6B,QAAjBnB,EAAA,GACMQ,EADN,CAEEP,IAAKP,EACL0B,MAAO,IACFZ,EAAaY,MAEhB,8CACE,sDAiBZ,MAAMC,4BAAiBpD,EAAMwB,YAC3B,CAACjC,EAAOkC,iBAAiBT,EAAAC,cAACI,EAAgBgC,MAAjBtB,EAAA,GAA2BxC,EAA3B,CAAkCyC,IAAKP,oBAOlE,SAASU,EAAgBmB,GACvB,OAAQC,GACgB,UAAtBA,EAAMC,iBAA0BC,EAAYH,WAGhD,MAAMhC,KAAOhC,iBACb,MAAMoE,QAAUnC,wBAChB,MAAM2B,QAAUb,wBAChB,MAAMgB,MAAQD","sources":["./packages/react/hover-card/src/HoverCard.tsx"],"sourcesContent":["import * as React from 'react';\nimport { composeEventHandlers } from '@radix-ui/primitive';\nimport { createContext } from '@radix-ui/react-context';\nimport { useControllableState } from '@radix-ui/react-use-controllable-state';\nimport * as PopperPrimitive from '@radix-ui/react-popper';\nimport { Portal } from '@radix-ui/react-portal';\nimport { Presence } from '@radix-ui/react-presence';\nimport { Primitive } from '@radix-ui/react-primitive';\nimport type * as Radix from '@radix-ui/react-primitive';\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCard\n * -----------------------------------------------------------------------------------------------*/\n\nconst HOVERCARD_NAME = 'HoverCard';\n\ntype HoverCardContextValue = {\n open: boolean;\n onOpenChange(open: boolean): void;\n onOpen(): void;\n onClose(): void;\n};\n\nconst [HoverCardProvider, useHoverCardContext] =\n createContext<HoverCardContextValue>(HOVERCARD_NAME);\n\ninterface HoverCardProps {\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n openDelay?: number;\n closeDelay?: number;\n}\n\nconst HoverCard: React.FC<HoverCardProps> = (props) => {\n const {\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n openDelay = 700,\n closeDelay = 300,\n } = props;\n const openTimerRef = React.useRef(0);\n const closeTimerRef = React.useRef(0);\n\n const [open = false, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen,\n onChange: onOpenChange,\n });\n\n const handleOpen = React.useCallback(() => {\n clearTimeout(closeTimerRef.current);\n openTimerRef.current = window.setTimeout(() => setOpen(true), openDelay);\n }, [openDelay, setOpen]);\n\n const handleClose = React.useCallback(() => {\n clearTimeout(openTimerRef.current);\n closeTimerRef.current = window.setTimeout(() => setOpen(false), closeDelay);\n }, [closeDelay, setOpen]);\n\n // cleanup any queued state updates on unmount\n React.useEffect(() => {\n return () => {\n clearTimeout(openTimerRef.current);\n clearTimeout(closeTimerRef.current);\n };\n }, []);\n\n return (\n <HoverCardProvider open={open} onOpenChange={setOpen} onOpen={handleOpen} onClose={handleClose}>\n <PopperPrimitive.Root>{children}</PopperPrimitive.Root>\n </HoverCardProvider>\n );\n};\n\nHoverCard.displayName = HOVERCARD_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardTrigger\n * -----------------------------------------------------------------------------------------------*/\n\nconst TRIGGER_NAME = 'HoverCardTrigger';\n\ntype HoverCardTriggerElement = React.ElementRef<typeof Primitive.a>;\ntype PrimitiveLinkProps = Radix.ComponentPropsWithoutRef<typeof Primitive.a>;\ninterface HoverCardTriggerProps extends PrimitiveLinkProps {}\n\nconst HoverCardTrigger = React.forwardRef<HoverCardTriggerElement, HoverCardTriggerProps>(\n (props, forwardedRef) => {\n const context = useHoverCardContext(TRIGGER_NAME);\n return (\n <PopperPrimitive.Anchor asChild>\n <Primitive.a\n data-state={context.open ? 'open' : 'closed'}\n {...props}\n ref={forwardedRef}\n onPointerEnter={composeEventHandlers(props.onPointerEnter, excludeTouch(context.onOpen))}\n onPointerLeave={composeEventHandlers(props.onPointerLeave, excludeTouch(context.onClose))}\n />\n </PopperPrimitive.Anchor>\n );\n }\n);\n\nHoverCardTrigger.displayName = TRIGGER_NAME;\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardContent\n * -----------------------------------------------------------------------------------------------*/\n\nconst CONTENT_NAME = 'HoverCardContent';\n\ntype HoverCardContentElement = HoverCardContentImplElement;\ninterface HoverCardContentProps extends HoverCardContentImplProps {\n /**\n * Used to force mounting when more control is needed. Useful when\n * controlling animation with React animation libraries.\n */\n forceMount?: true;\n}\n\nconst HoverCardContent = React.forwardRef<HoverCardContentElement, HoverCardContentProps>(\n (props, forwardedRef) => {\n const { forceMount, ...contentProps } = props;\n const context = useHoverCardContext(CONTENT_NAME);\n return (\n <Presence present={forceMount || context.open}>\n <HoverCardContentImpl\n data-state={context.open ? 'open' : 'closed'}\n {...contentProps}\n onPointerEnter={composeEventHandlers(props.onMouseEnter, excludeTouch(context.onOpen))}\n onPointerLeave={composeEventHandlers(props.onMouseLeave, excludeTouch(context.onClose))}\n ref={forwardedRef}\n />\n </Presence>\n );\n }\n);\n\nHoverCardContent.displayName = CONTENT_NAME;\n\n/* ---------------------------------------------------------------------------------------------- */\n\ntype HoverCardContentImplElement = React.ElementRef<typeof PopperPrimitive.Content>;\ntype PopperContentProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Content>;\ninterface HoverCardContentImplProps extends PopperContentProps {\n /**\n * Whether the `HoverCard` should render in a `Portal`\n * (default: `true`)\n */\n portalled?: boolean;\n}\n\nconst HoverCardContentImpl = React.forwardRef<\n HoverCardContentImplElement,\n HoverCardContentImplProps\n>((props, forwardedRef) => {\n const { portalled = true, ...contentProps } = props;\n const PortalWrapper = portalled ? Portal : React.Fragment;\n return (\n <PortalWrapper>\n <PopperPrimitive.Content\n {...contentProps}\n ref={forwardedRef}\n style={{\n ...contentProps.style,\n // re-namespace exposed content custom property\n ['--radix-hover-card-content-transform-origin' as any]:\n 'var(--radix-popper-transform-origin)',\n }}\n />\n </PortalWrapper>\n );\n});\n\n/* -------------------------------------------------------------------------------------------------\n * HoverCardArrow\n * -----------------------------------------------------------------------------------------------*/\n\nconst ARROW_NAME = 'HoverCardArrow';\n\ntype HoverCardArrowElement = React.ElementRef<typeof PopperPrimitive.Arrow>;\ntype PopperArrowProps = Radix.ComponentPropsWithoutRef<typeof PopperPrimitive.Arrow>;\ninterface HoverCardArrowProps extends PopperArrowProps {}\n\nconst HoverCardArrow = React.forwardRef<HoverCardArrowElement, HoverCardArrowProps>(\n (props, forwardedRef) => <PopperPrimitive.Arrow {...props} ref={forwardedRef} />\n);\n\nHoverCardArrow.displayName = ARROW_NAME;\n\n/* -----------------------------------------------------------------------------------------------*/\n\nfunction excludeTouch<E>(eventHandler: () => void) {\n return (event: React.PointerEvent<E>) =>\n event.pointerType === 'touch' ? undefined : eventHandler();\n}\n\nconst Root = HoverCard;\nconst Trigger = HoverCardTrigger;\nconst Content = HoverCardContent;\nconst Arrow = HoverCardArrow;\n\nexport {\n HoverCard,\n HoverCardTrigger,\n HoverCardContent,\n HoverCardArrow,\n //\n Root,\n Trigger,\n Content,\n Arrow,\n};\nexport type { HoverCardProps, HoverCardTriggerProps, HoverCardContentProps, HoverCardArrowProps };\n"],"names":["HoverCardProvider","useHoverCardContext","createContext","HoverCard","props","children","open","openProp","defaultOpen","onOpenChange","openDelay","closeDelay","openTimerRef","React","useRef","closeTimerRef","setOpen","useControllableState","prop","defaultProp","onChange","handleOpen","useCallback","clearTimeout","current","window","setTimeout","handleClose","useEffect","_react","createElement","$ddf490131a2c96ef2ad05ece6$var$HoverCardProvider","onOpen","onClose","_radixUiReactPopper","Root","HoverCardTrigger","forwardRef","forwardedRef","context","Anchor","asChild","Primitive","a","_babelRuntimeHelpersEsmExtends","ref","onPointerEnter","composeEventHandlers","excludeTouch","onPointerLeave","HoverCardContent","forceMount","contentProps","Presence","present","$ddf490131a2c96ef2ad05ece6$var$HoverCardContentImpl","onMouseEnter","onMouseLeave","HoverCardContentImpl","portalled","PortalWrapper","Portal","Fragment","Content","style","HoverCardArrow","Arrow","eventHandler","event","pointerType","undefined","Trigger"],"version":3,"file":"index.module.js.map"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@radix-ui/react-hover-card",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1-rc.12",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -19,10 +19,10 @@
|
|
|
19
19
|
"@babel/runtime": "^7.13.10",
|
|
20
20
|
"@radix-ui/primitive": "0.1.0",
|
|
21
21
|
"@radix-ui/react-context": "0.1.0",
|
|
22
|
-
"@radix-ui/react-popper": "0.1.
|
|
23
|
-
"@radix-ui/react-portal": "0.1.
|
|
24
|
-
"@radix-ui/react-presence": "0.1.
|
|
25
|
-
"@radix-ui/react-primitive": "0.1.
|
|
22
|
+
"@radix-ui/react-popper": "0.1.1-rc.12",
|
|
23
|
+
"@radix-ui/react-portal": "0.1.1-rc.12",
|
|
24
|
+
"@radix-ui/react-presence": "0.1.1-rc.9",
|
|
25
|
+
"@radix-ui/react-primitive": "0.1.1-rc.12",
|
|
26
26
|
"@radix-ui/react-use-controllable-state": "0.1.0"
|
|
27
27
|
},
|
|
28
28
|
"peerDependencies": {
|
|
@@ -36,5 +36,6 @@
|
|
|
36
36
|
},
|
|
37
37
|
"bugs": {
|
|
38
38
|
"url": "https://github.com/radix-ui/primitives/issues"
|
|
39
|
-
}
|
|
39
|
+
},
|
|
40
|
+
"stableVersion": "0.1.0"
|
|
40
41
|
}
|