{"version":3,"sources":["../src/components/Dialog/DialogTrigger/useDialogTrigger.ts"],"sourcesContent":["'use client';\n\nimport {\n  applyTriggerPropsToChildren,\n  getTriggerChild,\n  getReactElementRef,\n  useEventCallback,\n} from '@fluentui/react-utilities';\nimport type * as React from 'react';\nimport { useDialogContext, useDialogSurfaceContext } from '../dialogContext';\nimport type { DialogTriggerProps, DialogTriggerState } from './DialogTrigger.types';\n\n/**\n * Create the state required to render DialogTrigger.\n * Clones the single child component and adds click handling to open or close the dialog.\n *\n * @param props - props from this instance of DialogTrigger\n */\nexport const useDialogTrigger = (props: DialogTriggerProps): DialogTriggerState => {\n  const isInsideSurface = useDialogSurfaceContext();\n  const { children, action = isInsideSurface ? 'close' : 'open' } = props;\n\n  const child = getTriggerChild(children);\n  const requestOpenChange = useDialogContext().requestOpenChange;\n\n  const handleClick = useEventCallback((event: React.MouseEvent) => {\n    (child?.props as { onClick?: React.MouseEventHandler })?.onClick?.(event);\n    if (!event.isDefaultPrevented()) {\n      requestOpenChange({\n        event,\n        type: 'triggerClick',\n        open: action === 'open',\n      });\n    }\n  });\n\n  return {\n    children: applyTriggerPropsToChildren(children, {\n      ...child?.props,\n      ref: getReactElementRef(child),\n      onClick: handleClick,\n      'aria-haspopup': action === 'open' ? 'dialog' : undefined,\n    }),\n  };\n};\n"],"names":["useDialogTrigger","props","isInsideSurface","useDialogSurfaceContext","children","action","child","getTriggerChild","requestOpenChange","useDialogContext","handleClick","useEventCallback","event","onClick","isDefaultPrevented","type","open","applyTriggerPropsToChildren","ref","getReactElementRef","undefined"],"mappings":"AAAA;;;;;+BAkBaA;;;eAAAA;;;gCAXN;+BAEmD;AASnD,MAAMA,mBAAmB,CAACC;IAC/B,MAAMC,kBAAkBC,IAAAA,sCAAuB;IAC/C,MAAM,EAAEC,QAAQ,EAAEC,SAASH,kBAAkB,UAAU,MAAM,EAAE,GAAGD;IAElE,MAAMK,QAAQC,IAAAA,+BAAe,EAACH;IAC9B,MAAMI,oBAAoBC,IAAAA,+BAAgB,IAAGD,iBAAiB;IAE9D,MAAME,cAAcC,IAAAA,gCAAgB,EAAC,CAACC;QACnCN,OAAOL,OAAiDY,UAAUD;QACnE,IAAI,CAACA,MAAME,kBAAkB,IAAI;YAC/BN,kBAAkB;gBAChBI;gBACAG,MAAM;gBACNC,MAAMX,WAAW;YACnB;QACF;IACF;IAEA,OAAO;QACLD,UAAUa,IAAAA,2CAA2B,EAACb,UAAU;YAC9C,GAAGE,OAAOL,KAAK;YACfiB,KAAKC,IAAAA,kCAAkB,EAACb;YACxBO,SAASH;YACT,iBAAiBL,WAAW,SAAS,WAAWe;QAClD;IACF;AACF"}