{"version":3,"file":"useMergedPopoverProps.mjs","names":[],"sources":["../../../src/base-ui/Popover/useMergedPopoverProps.ts"],"sourcesContent":["'use client';\n\nimport { useContext, useMemo } from 'react';\n\nimport { type PopoverGroupItem, PopoverGroupPropsContext } from './groupContext';\nimport type { PopoverProps } from './type';\n\nexport const useMergedPopoverProps = (props: Partial<PopoverProps>): PopoverGroupItem => {\n  const sharedProps = useContext(PopoverGroupPropsContext);\n\n  const {\n    arrow,\n    trigger,\n    placement,\n    className,\n    classNames,\n    styles: styleProps,\n    onOpenChange,\n    content,\n    closeDelay,\n    disabled,\n    getPopupContainer,\n    mouseEnterDelay,\n    mouseLeaveDelay,\n    nativeButton,\n    openDelay,\n    zIndex,\n    positionerProps,\n    triggerProps,\n    popupProps,\n    backdropProps,\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 mergedStyles = useMemo(() => {\n    if (!sharedProps?.styles && !styleProps) return undefined;\n    return { ...sharedProps?.styles, ...styleProps };\n  }, [sharedProps?.styles, styleProps]);\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: PopoverGroupItem = useMemo(\n    () => ({\n      arrow: arrow ?? sharedProps?.arrow ?? false,\n      backdropProps: backdropProps ?? sharedProps?.backdropProps,\n      className: mergedClassName,\n      classNames: mergedClassNames,\n      closeDelay: closeDelay ?? sharedProps?.closeDelay,\n      content,\n      disabled: disabled ?? sharedProps?.disabled,\n      getPopupContainer: getPopupContainer ?? sharedProps?.getPopupContainer,\n      mouseEnterDelay: mouseEnterDelay ?? sharedProps?.mouseEnterDelay,\n      mouseLeaveDelay: mouseLeaveDelay ?? sharedProps?.mouseLeaveDelay,\n      nativeButton: nativeButton ?? sharedProps?.nativeButton,\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      trigger: trigger ?? sharedProps?.trigger ?? 'hover',\n      triggerProps: triggerProps ?? sharedProps?.triggerProps,\n      zIndex: zIndex ?? sharedProps?.zIndex,\n    }),\n    [\n      arrow,\n      backdropProps,\n      closeDelay,\n      content,\n      disabled,\n      getPopupContainer,\n      mergedClassName,\n      mergedClassNames,\n      mergedOnOpenChange,\n      mergedStyles,\n      mouseEnterDelay,\n      mouseLeaveDelay,\n      nativeButton,\n      openDelay,\n      placement,\n      popupProps,\n      positionerProps,\n      sharedProps?.arrow,\n      sharedProps?.backdropProps,\n      sharedProps?.closeDelay,\n      sharedProps?.disabled,\n      sharedProps?.getPopupContainer,\n      sharedProps?.mouseEnterDelay,\n      sharedProps?.mouseLeaveDelay,\n      sharedProps?.nativeButton,\n      sharedProps?.openDelay,\n      sharedProps?.placement,\n      sharedProps?.popupProps,\n      sharedProps?.positionerProps,\n      sharedProps?.trigger,\n      sharedProps?.triggerProps,\n      sharedProps?.zIndex,\n      trigger,\n      triggerProps,\n      zIndex,\n    ],\n  );\n\n  return item;\n};\n"],"mappings":";;;;AAOA,MAAa,yBAAyB,UAAmD;CACvF,MAAM,cAAc,WAAW,yBAAyB;CAExD,MAAM,EACJ,OACA,SACA,WACA,WACA,YACA,QAAQ,YACR,cACA,SACA,YACA,UACA,mBACA,iBACA,iBACA,cACA,WACA,QACA,iBACA,cACA,YACA,kBACE;CAEJ,MAAM,kBAAkB,cAAc;AACpC,MAAI,CAAC,aAAa,aAAa,CAAC,UAAW,QAAO,KAAA;AAClD,SAAO,CAAC,aAAa,WAAW,UAAU,CAAC,OAAO,QAAQ,CAAC,KAAK,IAAI;IACnE,CAAC,WAAW,aAAa,UAAU,CAAC;CAEvC,MAAM,mBAAmB,cAAc;AACrC,MAAI,CAAC,aAAa,cAAc,CAAC,WAAY,QAAO,KAAA;AACpD,SAAO;GAAE,GAAG,aAAa;GAAY,GAAG;GAAY;IACnD,CAAC,YAAY,aAAa,WAAW,CAAC;CAEzC,MAAM,eAAe,cAAc;AACjC,MAAI,CAAC,aAAa,UAAU,CAAC,WAAY,QAAO,KAAA;AAChD,SAAO;GAAE,GAAG,aAAa;GAAQ,GAAG;GAAY;IAC/C,CAAC,aAAa,QAAQ,WAAW,CAAC;CAErC,MAAM,qBAAqB,cAAc;AACvC,MAAI,CAAC,aAAa,gBAAgB,CAAC,aAAc,QAAO,KAAA;AACxD,UAAQ,SAAkB;AACxB,gBAAa,eAAe,KAAK;AACjC,kBAAe,KAAK;;IAErB,CAAC,cAAc,aAAa,aAAa,CAAC;AAgE7C,QA9D+B,eACtB;EACL,OAAO,SAAS,aAAa,SAAS;EACtC,eAAe,iBAAiB,aAAa;EAC7C,WAAW;EACX,YAAY;EACZ,YAAY,cAAc,aAAa;EACvC;EACA,UAAU,YAAY,aAAa;EACnC,mBAAmB,qBAAqB,aAAa;EACrD,iBAAiB,mBAAmB,aAAa;EACjD,iBAAiB,mBAAmB,aAAa;EACjD,cAAc,gBAAgB,aAAa;EAC3C,cAAc;EACd,WAAW,aAAa,aAAa;EACrC,WAAW,aAAa,aAAa,aAAa;EAClD,YAAY,cAAc,aAAa;EACvC,iBAAiB,mBAAmB,aAAa;EACjD,QAAQ;EACR,SAAS,WAAW,aAAa,WAAW;EAC5C,cAAc,gBAAgB,aAAa;EAC3C,QAAQ,UAAU,aAAa;EAChC,GACD;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;EACD,CACF"}