{"version":3,"file":"events.cjs","names":[],"sources":["../src/events.ts"],"sourcesContent":["import { createUseExternalEvents, DataAttributes } from '@mantine/core';\nimport { randomId } from '@mantine/hooks';\nimport {\n  MantineModal,\n  MantineModals,\n  ModalSettings,\n  OpenConfirmModal,\n  OpenContextModal,\n} from './context';\n\ntype ModalsEvents = {\n  openModal: (payload: ModalSettings) => string;\n  openConfirmModal: (payload: OpenConfirmModal) => string;\n  openContextModal: <TKey extends MantineModal>(\n    payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & {\n      modal: TKey;\n    } & DataAttributes\n  ) => string;\n  closeModal: (id: string) => void;\n  closeContextModal: <TKey extends MantineModal>(id: TKey) => void;\n  closeAllModals: () => void;\n  updateModal: (\n    payload: { modalId: string } & Partial<ModalSettings> & Partial<OpenConfirmModal>\n  ) => void;\n  updateContextModal: (payload: { modalId: string } & Partial<OpenContextModal<any>>) => void;\n};\n\nexport const [useModalsEvents, createEvent] =\n  createUseExternalEvents<ModalsEvents>('mantine-modals');\n\nexport const openModal: ModalsEvents['openModal'] = (payload) => {\n  const id = payload.modalId || randomId();\n  createEvent('openModal')({ ...payload, modalId: id });\n  return id;\n};\n\nexport const openConfirmModal: ModalsEvents['openConfirmModal'] = (payload) => {\n  const id = payload.modalId || randomId();\n  createEvent('openConfirmModal')({ ...payload, modalId: id });\n  return id;\n};\n\nexport const openContextModal: ModalsEvents['openContextModal'] = <TKey extends MantineModal>(\n  payload: OpenContextModal<Parameters<MantineModals[TKey]>[0]['innerProps']> & {\n    modal: TKey;\n  } & DataAttributes\n) => {\n  const id = payload.modalId || randomId();\n  createEvent('openContextModal')({ ...payload, modalId: id });\n  return id;\n};\n\nexport const closeModal = createEvent('closeModal');\n\nexport const closeContextModal: ModalsEvents['closeContextModal'] = <TKey extends MantineModal>(\n  id: TKey\n) => createEvent('closeContextModal')(id);\n\nexport const closeAllModals = createEvent('closeAllModals');\n\nexport const updateModal = (payload: { modalId: string } & Partial<ModalSettings>) =>\n  createEvent('updateModal')(payload);\n\nexport const updateContextModal = (payload: { modalId: string } & Partial<OpenContextModal<any>>) =>\n  createEvent('updateContextModal')(payload);\n\nexport const modals: {\n  open: ModalsEvents['openModal'];\n  close: ModalsEvents['closeModal'];\n  closeAll: ModalsEvents['closeAllModals'];\n  openConfirmModal: ModalsEvents['openConfirmModal'];\n  openContextModal: ModalsEvents['openContextModal'];\n  updateModal: ModalsEvents['updateModal'];\n  updateContextModal: ModalsEvents['updateContextModal'];\n} = {\n  open: openModal,\n  close: closeModal,\n  closeAll: closeAllModals,\n  openConfirmModal,\n  openContextModal,\n  updateModal,\n  updateContextModal,\n};\n"],"mappings":";;;;AA2BA,MAAa,CAAC,iBAAiB,gBAAA,GAAA,cAAA,yBACS,iBAAiB;AAEzD,MAAa,aAAwC,YAAY;CAC/D,MAAM,KAAK,QAAQ,YAAA,GAAA,eAAA,WAAqB;AACxC,aAAY,YAAY,CAAC;EAAE,GAAG;EAAS,SAAS;EAAI,CAAC;AACrD,QAAO;;AAGT,MAAa,oBAAsD,YAAY;CAC7E,MAAM,KAAK,QAAQ,YAAA,GAAA,eAAA,WAAqB;AACxC,aAAY,mBAAmB,CAAC;EAAE,GAAG;EAAS,SAAS;EAAI,CAAC;AAC5D,QAAO;;AAGT,MAAa,oBACX,YAGG;CACH,MAAM,KAAK,QAAQ,YAAA,GAAA,eAAA,WAAqB;AACxC,aAAY,mBAAmB,CAAC;EAAE,GAAG;EAAS,SAAS;EAAI,CAAC;AAC5D,QAAO;;AAGT,MAAa,aAAa,YAAY,aAAa;AAMnD,MAAa,iBAAiB,YAAY,iBAAiB;AAE3D,MAAa,eAAe,YAC1B,YAAY,cAAc,CAAC,QAAQ;AAErC,MAAa,sBAAsB,YACjC,YAAY,qBAAqB,CAAC,QAAQ;AAE5C,MAAa,SAQT;CACF,MAAM;CACN,OAAO;CACP,UAAU;CACV;CACA;CACA;CACA;CACD"}