{"version":3,"file":"PopupMenu.mjs","sources":["../../../packages/popup-menu/PopupMenu.tsx"],"sourcesContent":["import { ForwardedRef, forwardRef } from 'react'\nimport { useMergeRefs } from '../hooks/index.js'\nimport { PopupMenuProvider } from './PopupMenuProvider.js'\nimport { PopupMenuStyle } from './PopupMenuStyles.js'\nimport { PopupMenuProps } from './types.js'\nimport { usePopupFocus } from './usePopupFocus.js'\n\nexport const PopupMenu = forwardRef(\n  (\n    { variant, children, onKeyDown, onMouseMove, ...rest }: PopupMenuProps,\n    externalRef?: ForwardedRef<HTMLDivElement>,\n  ) => {\n    const {\n      ref: controlRef,\n      handleMouseMove,\n      handleKeyDown,\n      handleEnter,\n      handleExit,\n    } = usePopupFocus({ onMouseMove, onKeyDown })\n    const popupRef = useMergeRefs([controlRef, externalRef])\n\n    return (\n      <PopupMenuStyle\n        onMouseMove={handleMouseMove}\n        onKeyDown={handleKeyDown}\n        onEnter={handleEnter}\n        onExit={handleExit}\n        tabIndex={-1}\n        role='listbox'\n        {...rest}\n        ref={popupRef}\n      >\n        <PopupMenuProvider variant={variant}>{children}</PopupMenuProvider>\n      </PopupMenuStyle>\n    )\n  },\n)\nPopupMenu.displayName = 'PopupMenu'\n"],"names":["PopupMenu","forwardRef","_ref","externalRef","variant","children","onKeyDown","onMouseMove","rest","ref","controlRef","handleMouseMove","handleKeyDown","handleEnter","handleExit","usePopupFocus","popupRef","useMergeRefs","_jsx","PopupMenuStyle","onEnter","onExit","tabIndex","role","PopupMenuProvider","displayName"],"mappings":";;;;;;;;;;;;;;;;AAOO,MAAMA,SAAS,gBAAGC,UAAU,CACjC,CAAAC,IAAA,EAEEC,WAA0C,KACvC;EAAA,IAFH;IAAEC,OAAO;IAAEC,QAAQ;IAAEC,SAAS;IAAEC,WAAW;IAAE,GAAGC,IAAAA;AAAqB,GAAC,GAAAN,IAAA,CAAA;EAGtE,MAAM;AACJO,IAAAA,GAAG,EAAEC,UAAU;IACfC,eAAe;IACfC,aAAa;IACbC,WAAW;AACXC,IAAAA,UAAAA;GACD,GAAGC,aAAa,CAAC;IAAER,WAAW;AAAED,IAAAA,SAAAA;AAAU,GAAC,CAAC,CAAA;EAC7C,MAAMU,QAAQ,GAAGC,YAAY,CAAC,CAACP,UAAU,EAAEP,WAAW,CAAC,CAAC,CAAA;EAExD,oBACEe,GAAA,CAACC,cAAc,EAAA;AACbZ,IAAAA,WAAW,EAAEI,eAAgB;AAC7BL,IAAAA,SAAS,EAAEM,aAAc;AACzBQ,IAAAA,OAAO,EAAEP,WAAY;AACrBQ,IAAAA,MAAM,EAAEP,UAAW;IACnBQ,QAAQ,EAAE,CAAC,CAAE;AACbC,IAAAA,IAAI,EAAC,SAAS;AAAA,IAAA,GACVf,IAAI;AACRC,IAAAA,GAAG,EAAEO,QAAS;IAAAX,QAAA,eAEda,GAAA,CAACM,iBAAiB,EAAA;AAACpB,MAAAA,OAAO,EAAEA,OAAQ;AAAAC,MAAAA,QAAA,EAAEA,QAAAA;KAA4B,CAAA;AAAC,GACrD,CAAC,CAAA;AAErB,CACF,EAAC;AACDL,SAAS,CAACyB,WAAW,GAAG,WAAW;;;;"}