{"version":3,"file":"useModal.mjs","sources":["../../../../../../src/components/va-modal/hooks/useModal.ts"],"sourcesContent":["import { getCurrentInstance } from 'vue'\nimport { createModalInstance } from '../modal'\nimport { ModalOptions } from '../types'\n\n/** This hook can be used without plugin used */\nexport const useModal = () => {\n  const appContext = getCurrentInstance()?.appContext\n\n  if (!appContext) {\n    throw new Error('useModal can be used only in setup function. You can use app.config.globalProperties.$vaModal outside setup function')\n  }\n\n  /**\n   * @param options can be message string or options object\n   */\n  const init = (options: string | ModalOptions) => {\n    return createModalInstance(options, appContext)\n  }\n\n  /**\n   * @param options can be message string or options object\n   * @returns Promise with boolean value. True if modal was confirmed, false if modal was canceled\n   */\n  const confirm = (options: string | ModalOptions) => {\n    if (typeof options === 'string') {\n      return new Promise<boolean>((resolve, reject) => {\n        createModalInstance({\n          message: options as string,\n          onOk () {\n            resolve(true)\n          },\n          onCancel () {\n            resolve(false)\n          },\n        }, appContext)\n      })\n    }\n\n    return new Promise<boolean>((resolve, reject) => {\n      createModalInstance({\n        ...options,\n        onOk () {\n          options?.onOk?.()\n          resolve(true)\n        },\n        onCancel () {\n          options?.onCancel?.()\n          resolve(false)\n        },\n      }, appContext)\n    })\n  }\n\n  return { init, confirm }\n}\n"],"names":["_a"],"mappings":";;AAKO,MAAM,WAAW,MAAM;;AACtB,QAAA,cAAa,wBAAsB,MAAtB,mBAAsB;AAEzC,MAAI,CAAC,YAAY;AACT,UAAA,IAAI,MAAM,sHAAsH;AAAA,EACxI;AAKM,QAAA,OAAO,CAAC,YAAmC;AACxC,WAAA,oBAAoB,SAAS,UAAU;AAAA,EAAA;AAO1C,QAAA,UAAU,CAAC,YAAmC;AAC9C,QAAA,OAAO,YAAY,UAAU;AAC/B,aAAO,IAAI,QAAiB,CAAC,SAAS,WAAW;AAC3B,4BAAA;AAAA,UAClB,SAAS;AAAA,UACT,OAAQ;AACN,oBAAQ,IAAI;AAAA,UACd;AAAA,UACA,WAAY;AACV,oBAAQ,KAAK;AAAA,UACf;AAAA,WACC,UAAU;AAAA,MAAA,CACd;AAAA,IACH;AAEA,WAAO,IAAI,QAAiB,CAAC,SAAS,WAAW;AAC3B,0BAAA;AAAA,QAClB,GAAG;AAAA,QACH,OAAQ;;AACN,WAAAA,MAAA,mCAAS,SAAT,gBAAAA,IAAA;AACA,kBAAQ,IAAI;AAAA,QACd;AAAA,QACA,WAAY;;AACV,WAAAA,MAAA,mCAAS,aAAT,gBAAAA,IAAA;AACA,kBAAQ,KAAK;AAAA,QACf;AAAA,SACC,UAAU;AAAA,IAAA,CACd;AAAA,EAAA;AAGI,SAAA,EAAE,MAAM;AACjB;"}