{
  "version": 3,
  "sources": ["../src/index.ts", "../src/hooks/openDialog.tsx"],
  "sourcesContent": ["export * from './hooks/openDialog';\n", "import React, { type ReactNode, useMemo } from 'react';\n\nimport { Dialog } from '@quotalab/qds-v1-extension';\nimport { type DialogType } from '@quotalab/qds-v1-extension/dist/components/Dialog/types';\nimport { useOverlay } from '@quotalab/use-overlay';\n\ninterface OneButtonDialogOptions {\n  show?: boolean;\n  icon?: ReactNode;\n  title?: ReactNode;\n  type: DialogType;\n  button?: string;\n  children?: ReactNode;\n}\n\ninterface TwoButtonDialogOptions {\n  show?: boolean;\n  icon?: ReactNode;\n  title?: ReactNode;\n  type: DialogType;\n  leftButton: string;\n  rightButton: string;\n  children?: ReactNode;\n}\n\n/**\n * @deprecated @quotalab/overlays\uC758 overlays\uC640 @quotalab/qds\uC758 Dialog\uB97C \uC870\uD569\uD558\uC5EC \uC0AC\uC6A9\uD574\uC8FC\uC138\uC694.\n * QDS V1 Dialog\uB97C \uBA85\uB839\uD615 \uC778\uD130\uD398\uC774\uC2A4\uB85C \uC0AC\uC6A9\uD560 \uC218 \uC788\uB294 \uD6C5\uC785\uB2C8\uB2E4.\n *\n * @example\n * ```tsx\n * const { openOneButtonDialog, openTwoButtonsDialog } = useDialog();\n *\n * <Button\n *   onClick={async () => {\n *     openOneButtonDialog({\n *       title: '\uD56D\uBAA9\uC744 \uC218\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4',\n *       icon: <Dialog.AlertIcon color=\"#979797\" />,\n *       type: 'info',\n *       button: '\uD655\uC778',\n *     });\n *   }}\n * >\n *   \uC6D0\uBC84\uD2BC \uB2E4\uC774\uC5BC\uB85C\uADF8 \uC5F4\uAE30\n * </Button>\n * <Button\n *   onClick={async () => {\n *     const confirm = await openTwoButtonsDialog({\n *       title: '\uC815\uB9D0 \uC0AD\uC81C\uD558\uC2DC\uACA0\uC2B5\uB2C8\uAE4C?',\n *       children: '\uC774 \uC8FC\uC8FC\uB97C \uC0AD\uC81C\uD558\uC2DC\uBA74 \uC5F0\uB3D9\uB41C \uC0AC\uC6A9\uC790\uC758 \uC811\uADFC \uAD8C\uD55C\uB3C4 \uD568\uAC8C \uC0AC\uB77C\uC9D1\uB2C8\uB2E4.',\n *       type: 'danger',\n *       icon: <Dialog.DeleteIcon color=\"#FF6B6B\" />,\n *       leftButton: '\uB2EB\uAE30',\n *       rightButton: '\uC0AD\uC81C\uD558\uAE30',\n *     });\n *     if (confirm === 'left') {\n *       return;\n *     }\n *\n *     // \uC0AD\uC81C \uB85C\uC9C1...\n *   }}\n * >\n *   \uD22C\uBC84\uD2BC \uB2E4\uC774\uC5BC\uB85C\uADF8 \uC5F4\uAE30\n * </Button>\n * ```\n */\n\nexport function useDialog() {\n  const { open } = useOverlay();\n\n  const openOneButtonDialog = (props: OneButtonDialogOptions) => {\n    return new Promise<void>((resolve) => {\n      open(({ isOpen, close }) => (\n        <Dialog.OneButton\n          show={isOpen}\n          onClick={() => {\n            close();\n            resolve();\n          }}\n          {...props}\n        />\n      ));\n    });\n  };\n\n  const openTwoButtonsDialog = (props: TwoButtonDialogOptions) => {\n    return new Promise<'left' | 'right'>((resolve) => {\n      open(({ isOpen, close }) => (\n        <Dialog.TwoButtons\n          show={isOpen}\n          onLeftButtonClick={() => {\n            close();\n            resolve('left');\n          }}\n          onRightButtonClick={() => {\n            close();\n            resolve('right');\n          }}\n          {...props}\n        />\n      ));\n    });\n  };\n\n  return useMemo(\n    () => ({\n      openOneButtonDialog,\n      openTwoButtonsDialog,\n    }),\n    []\n  );\n}\n"],
  "mappings": "4rBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,eAAAE,IAAA,eAAAC,EAAAH,GCAA,IAAAI,EAA+C,iBAE/CC,EAAuB,sCAEvBC,EAA2B,iCAqEnB,IAAAC,EAAA,6BAND,SAASC,GAAY,CAC1B,GAAM,CAAE,KAAAC,CAAK,KAAI,cAAW,EAEtBC,EAAuBC,GACpB,IAAI,QAAeC,GAAY,CACpCH,EAAK,CAAC,CAAE,OAAAI,EAAQ,MAAAC,CAAM,OACpB,OAAC,SAAO,UAAPC,EAAA,CACC,KAAMF,EACN,QAAS,IAAM,CACbC,EAAM,EACNF,EAAQ,CACV,GACID,EACN,CACD,CACH,CAAC,EAGGK,EAAwBL,GACrB,IAAI,QAA2BC,GAAY,CAChDH,EAAK,CAAC,CAAE,OAAAI,EAAQ,MAAAC,CAAM,OACpB,OAAC,SAAO,WAAPC,EAAA,CACC,KAAMF,EACN,kBAAmB,IAAM,CACvBC,EAAM,EACNF,EAAQ,MAAM,CAChB,EACA,mBAAoB,IAAM,CACxBE,EAAM,EACNF,EAAQ,OAAO,CACjB,GACID,EACN,CACD,CACH,CAAC,EAGH,SAAO,WACL,KAAO,CACL,oBAAAD,EACA,qBAAAM,CACF,GACA,CAAC,CACH,CACF",
  "names": ["src_exports", "__export", "useDialog", "__toCommonJS", "import_react", "import_qds_v1_extension", "import_use_overlay", "import_jsx_runtime", "useDialog", "open", "openOneButtonDialog", "props", "resolve", "isOpen", "close", "__spreadValues", "openTwoButtonsDialog"]
}
