{
  "version": 3,
  "sources": ["../../src/managers/internal/SidePanelBaseManager/SidePanelBaseManager.ts"],
  "sourcesContent": ["import { UITagsEnum } from 'constants/UITags.enum';\nimport { setIsSidePanelOpen } from 'store/actions/ui/uiActions';\nimport { CreateEventBusUIElementType } from 'utils/ComponentFactory';\nimport { UIBaseManager } from '../UIBaseManager/UIBaseManager';\n\ninterface ISideManagerUIElement extends CreateEventBusUIElementType {\n  closeWithAnimation?: () => Promise<unknown>;\n}\n\nexport abstract class SidePanelBaseManager<\n  TElement extends ISideManagerUIElement,\n  TData extends Record<string, any> | null,\n  TEventEnum extends string\n> extends UIBaseManager<TElement, TData, TEventEnum> {\n  protected isOpen = false;\n\n  constructor({\n    uiDataUpdateEvent,\n    uiTag\n  }: {\n    uiTag: UITagsEnum;\n    uiDataUpdateEvent: TEventEnum;\n  }) {\n    super({\n      uiDataUpdateEvent,\n      uiTag\n    });\n    this.data = this.getInitialData();\n  }\n\n  public async openUI() {\n    if (this.isOpen && this.uiElement) {\n      // UI element is already open\n      return;\n    }\n\n    await super.init();\n    this.setIsSidePanelOpen(true);\n  }\n\n  public destroy() {\n    this.setIsSidePanelOpen(false);\n\n    if (this.uiElement?.closeWithAnimation) {\n      this.uiElement?.closeWithAnimation?.().finally(() => {\n        super.destroy();\n      });\n      return;\n    }\n    super.destroy();\n  }\n\n  public closeUI(): void {\n    this.resetData();\n    this.destroy();\n  }\n\n  private setIsSidePanelOpen(isOpen: boolean): void {\n    this.isOpen = isOpen;\n    setIsSidePanelOpen(isOpen);\n  }\n}\n"],
  "mappings": "kFASO,IAAeA,EAAf,cAIGC,CAA2C,CAGnD,YAAY,CACV,kBAAAC,EACA,MAAAC,CACF,EAGG,CACD,MAAM,CACJ,kBAAAD,EACA,MAAAC,CACF,CAAC,EAZH,KAAU,OAAS,GAajB,KAAK,KAAO,KAAK,eAAe,CAClC,CAEA,MAAa,QAAS,CAChB,KAAK,QAAU,KAAK,YAKxB,MAAM,MAAM,KAAK,EACjB,KAAK,mBAAmB,EAAI,EAC9B,CAEO,SAAU,CAGf,GAFA,KAAK,mBAAmB,EAAK,EAEzB,KAAK,WAAW,mBAAoB,CACtC,KAAK,WAAW,qBAAqB,EAAE,QAAQ,IAAM,CACnD,MAAM,QAAQ,CAChB,CAAC,EACD,MACF,CACA,MAAM,QAAQ,CAChB,CAEO,SAAgB,CACrB,KAAK,UAAU,EACf,KAAK,QAAQ,CACf,CAEQ,mBAAmBC,EAAuB,CAChD,KAAK,OAASA,EACdC,EAAmBD,CAAM,CAC3B,CACF",
  "names": ["SidePanelBaseManager", "UIBaseManager", "uiDataUpdateEvent", "uiTag", "isOpen", "setIsSidePanelOpen"]
}
