UNPKG

@lobehub/ui

Version:

Lobe UI is an open-source UI component library for building AIGC web apps

1 lines 6.33 kB
{"version":3,"file":"useMergedTooltipProps.mjs","names":[],"sources":["../../../src/base-ui/Tooltip/useMergedTooltipProps.ts"],"sourcesContent":["'use client';\n\nimport { useContext, useMemo } from 'react';\n\nimport { type TooltipGroupItem, TooltipGroupPropsContext } from './groupContext';\nimport type { TooltipProps } from './type';\n\nexport const useMergedTooltipProps = (props: Partial<TooltipProps>): TooltipGroupItem => {\n const sharedProps = useContext(TooltipGroupPropsContext);\n\n const {\n arrow,\n className,\n classNames,\n closeDelay,\n disabled,\n getPopupContainer,\n hotkey,\n hotkeyProps,\n mouseEnterDelay,\n mouseLeaveDelay,\n onOpenChange,\n openDelay,\n placement,\n popupContainer,\n styles: styleProps,\n title,\n zIndex,\n positionerProps,\n triggerProps,\n popupProps,\n } = props;\n\n const mergedClassName = useMemo(() => {\n if (!sharedProps?.className && !className) return undefined;\n return [sharedProps?.className, className].filter(Boolean).join(' ');\n }, [className, sharedProps?.className]);\n\n const mergedClassNames = useMemo(() => {\n if (!sharedProps?.classNames && !classNames) return undefined;\n return { ...sharedProps?.classNames, ...classNames };\n }, [classNames, sharedProps?.classNames]);\n\n const resolvedSharedStyles = useMemo(() => {\n if (typeof sharedProps?.styles === 'function') return undefined;\n return sharedProps?.styles;\n }, [sharedProps?.styles]);\n\n const resolvedLocalStyles = useMemo(() => {\n if (typeof styleProps === 'function') return undefined;\n return styleProps;\n }, [styleProps]);\n\n const mergedStyles = useMemo(() => {\n if (!resolvedSharedStyles && !resolvedLocalStyles) return undefined;\n return { ...resolvedSharedStyles, ...resolvedLocalStyles };\n }, [resolvedSharedStyles, resolvedLocalStyles]);\n\n const mergedHotkeyProps = useMemo(() => {\n if (!sharedProps?.hotkeyProps && !hotkeyProps) return undefined;\n return { ...sharedProps?.hotkeyProps, ...hotkeyProps };\n }, [hotkeyProps, sharedProps?.hotkeyProps]);\n\n const mergedOnOpenChange = useMemo(() => {\n if (!sharedProps?.onOpenChange && !onOpenChange) return undefined;\n return (open: boolean) => {\n sharedProps?.onOpenChange?.(open);\n onOpenChange?.(open);\n };\n }, [onOpenChange, sharedProps?.onOpenChange]);\n\n const item: TooltipGroupItem = useMemo(\n () => ({\n arrow: arrow ?? sharedProps?.arrow ?? false,\n className: mergedClassName,\n classNames: mergedClassNames,\n closeDelay: closeDelay ?? sharedProps?.closeDelay,\n disabled: disabled ?? sharedProps?.disabled,\n getPopupContainer: getPopupContainer ?? sharedProps?.getPopupContainer,\n hotkey: hotkey ?? sharedProps?.hotkey,\n popupContainer: popupContainer ?? sharedProps?.popupContainer,\n hotkeyProps: mergedHotkeyProps,\n mouseEnterDelay: mouseEnterDelay ?? sharedProps?.mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay ?? sharedProps?.mouseLeaveDelay,\n onOpenChange: mergedOnOpenChange,\n openDelay: openDelay ?? sharedProps?.openDelay,\n placement: placement ?? sharedProps?.placement ?? 'top',\n popupProps: popupProps ?? sharedProps?.popupProps,\n positionerProps: positionerProps ?? sharedProps?.positionerProps,\n styles: mergedStyles,\n title,\n triggerProps: triggerProps ?? sharedProps?.triggerProps,\n zIndex: zIndex ?? sharedProps?.zIndex,\n }),\n [\n arrow,\n closeDelay,\n disabled,\n getPopupContainer,\n hotkey,\n mergedClassName,\n mergedClassNames,\n mergedHotkeyProps,\n mergedOnOpenChange,\n mergedStyles,\n mouseEnterDelay,\n mouseLeaveDelay,\n openDelay,\n placement,\n popupContainer,\n popupProps,\n positionerProps,\n sharedProps?.arrow,\n sharedProps?.closeDelay,\n sharedProps?.disabled,\n sharedProps?.getPopupContainer,\n sharedProps?.hotkey,\n sharedProps?.mouseEnterDelay,\n sharedProps?.mouseLeaveDelay,\n sharedProps?.onOpenChange,\n sharedProps?.openDelay,\n sharedProps?.placement,\n sharedProps?.popupContainer,\n sharedProps?.popupProps,\n sharedProps?.positionerProps,\n sharedProps?.triggerProps,\n sharedProps?.zIndex,\n title,\n triggerProps,\n zIndex,\n ],\n );\n\n return item;\n};\n"],"mappings":";;;;AAOA,MAAa,yBAAyB,UAAmD;CACvF,MAAM,cAAc,WAAW,wBAAwB;CAEvD,MAAM,EACJ,OACA,WACA,YACA,YACA,UACA,mBACA,QACA,aACA,iBACA,iBACA,cACA,WACA,WACA,gBACA,QAAQ,YACR,OACA,QACA,iBACA,cACA,eACE;CAEJ,MAAM,kBAAkB,cAAc;EACpC,IAAI,CAAC,aAAa,aAAa,CAAC,WAAW,OAAO,KAAA;EAClD,OAAO,CAAC,aAAa,WAAW,SAAS,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,GAAG;CACrE,GAAG,CAAC,WAAW,aAAa,SAAS,CAAC;CAEtC,MAAM,mBAAmB,cAAc;EACrC,IAAI,CAAC,aAAa,cAAc,CAAC,YAAY,OAAO,KAAA;EACpD,OAAO;GAAE,GAAG,aAAa;GAAY,GAAG;EAAW;CACrD,GAAG,CAAC,YAAY,aAAa,UAAU,CAAC;CAExC,MAAM,uBAAuB,cAAc;EACzC,IAAI,OAAO,aAAa,WAAW,YAAY,OAAO,KAAA;EACtD,OAAO,aAAa;CACtB,GAAG,CAAC,aAAa,MAAM,CAAC;CAExB,MAAM,sBAAsB,cAAc;EACxC,IAAI,OAAO,eAAe,YAAY,OAAO,KAAA;EAC7C,OAAO;CACT,GAAG,CAAC,UAAU,CAAC;CAEf,MAAM,eAAe,cAAc;EACjC,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,OAAO,KAAA;EAC1D,OAAO;GAAE,GAAG;GAAsB,GAAG;EAAoB;CAC3D,GAAG,CAAC,sBAAsB,mBAAmB,CAAC;CAE9C,MAAM,oBAAoB,cAAc;EACtC,IAAI,CAAC,aAAa,eAAe,CAAC,aAAa,OAAO,KAAA;EACtD,OAAO;GAAE,GAAG,aAAa;GAAa,GAAG;EAAY;CACvD,GAAG,CAAC,aAAa,aAAa,WAAW,CAAC;CAE1C,MAAM,qBAAqB,cAAc;EACvC,IAAI,CAAC,aAAa,gBAAgB,CAAC,cAAc,OAAO,KAAA;EACxD,QAAQ,SAAkB;GACxB,aAAa,eAAe,IAAI;GAChC,eAAe,IAAI;EACrB;CACF,GAAG,CAAC,cAAc,aAAa,YAAY,CAAC;CAgE5C,OA9D+B,eACtB;EACL,OAAO,SAAS,aAAa,SAAS;EACtC,WAAW;EACX,YAAY;EACZ,YAAY,cAAc,aAAa;EACvC,UAAU,YAAY,aAAa;EACnC,mBAAmB,qBAAqB,aAAa;EACrD,QAAQ,UAAU,aAAa;EAC/B,gBAAgB,kBAAkB,aAAa;EAC/C,aAAa;EACb,iBAAiB,mBAAmB,aAAa;EACjD,iBAAiB,mBAAmB,aAAa;EACjD,cAAc;EACd,WAAW,aAAa,aAAa;EACrC,WAAW,aAAa,aAAa,aAAa;EAClD,YAAY,cAAc,aAAa;EACvC,iBAAiB,mBAAmB,aAAa;EACjD,QAAQ;EACR;EACA,cAAc,gBAAgB,aAAa;EAC3C,QAAQ,UAAU,aAAa;CACjC,IACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb,aAAa;EACb;EACA;EACA;CACF,CAGQ;AACZ"}