vuestic-ui
Version:
Vue 3 UI Framework
1 lines • 2.43 kB
Source Map (JSON)
{"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;"}