{"version":3,"file":"index.mjs","sources":["../../../../src/composables/useModalController/index.ts"],"sourcesContent":["import {inject} from 'vue'\nimport {useSharedModalStack} from '../useModalManager'\nimport {modalControllerPluginKey} from '../../utils/keys'\n\nexport const useModalController = () => {\n  const {lastStack, stack} = useSharedModalStack()\n\n  const modalControllerPlugin = inject(modalControllerPluginKey)\n\n  const hide = (trigger = '') => {\n    if (lastStack?.value) {\n      lastStack?.value.exposed?.hide(trigger)\n    }\n  }\n\n  const hideAll = (trigger = '') => {\n    stack?.value.forEach((modal) => {\n      modal.exposed?.hide(trigger)\n    })\n  }\n\n  return {\n    ...modalControllerPlugin,\n    hide,\n    hideAll,\n    // Todo: Supports listening events globally in the future\n  }\n}\n"],"names":[],"mappings":";;;AAIO,MAAM,qBAAqB,MAAM;AACtC,QAAM,EAAC,WAAW,MAAK,IAAI,oBAAoB;AAEzC,QAAA,wBAAwB,OAAO,wBAAwB;AAEvD,QAAA,OAAO,CAAC,UAAU,OAAO;;AAC7B,QAAI,uCAAW,OAAO;AACT,mDAAA,MAAM,YAAN,mBAAe,KAAK;AAAA,IAAO;AAAA,EAE1C;AAEM,QAAA,UAAU,CAAC,UAAU,OAAO;AACzB,mCAAA,MAAM,QAAQ,CAAC,UAAU;;AACxB,kBAAA,YAAA,mBAAS,KAAK;AAAA,IAAO;AAAA,EAE/B;AAEO,SAAA;AAAA,IACL,GAAG;AAAA,IACH;AAAA,IACA;AAAA;AAAA,EAEF;AACF;"}