{"version":3,"sources":["webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/alert/alert.js","webpack:///./cartridges/app_designholding/cartridge/client/default/js/components/alert/index.js"],"names":["JS_HOOK_CLOSE_BTN","hiddenClass","Alert","constructor","element","closeButton","querySelector","_isHidden","classList","contains","bindEvents","isHidden","boolean","addEventListener","closeAlert","Events","$on","id","add","setAttribute"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAEA,IAAMA,iBAAiB,GAAG,uBAA1B;AACA,IAAMC,WAAW,GAAG,UAApB;;AAEA,MAAMC,WAAN,CAAY;AACVC,aAAW,CAACC,OAAD,EAAU;AACnB,SAAKA,OAAL,GAAeA,OAAf;AACA,SAAKC,WAAL,GAAmBD,OAAO,CAACE,aAAR,CAAsBN,iBAAtB,CAAnB;AACA,SAAKO,SAAL,GAAiBH,OAAO,CAACI,SAAR,CAAkBC,QAAlB,CAA2BR,WAA3B,CAAjB;AAEA,SAAKS,UAAL;AACD;;AAEW,MAARC,QAAQ,CAACC,OAAD,EAAU;AACpB,SAAKL,SAAL,GAAiBK,OAAjB;AACD;;AAEW,MAARD,QAAQ,GAAG;AACb,WAAO,KAAKJ,SAAZ;AACD;AAED;AACF;AACA;;;AACEG,YAAU,GAAG;AACX,QAAI,KAAKL,WAAT,EAAsB;AACpB,WAAKA,WAAL,CAAiBQ,gBAAjB,CAAkC,OAAlC,EAA2C,MAAM;AAC/C,aAAKC,UAAL;AACD,OAFD;AAGD;;AAEDC,qBAAM,CAACC,GAAP,iBAAoB,KAAKZ,OAAL,CAAaa,EAAjC,eAA+C,MAAM;AACnD,WAAKH,UAAL;AACD,KAFD;AAIAC,qBAAM,CAACC,GAAP,iBAA2B,MAAM;AAC/B,WAAKF,UAAL;AACD,KAFD;AAGD;AAED;AACF;AACA;;;AACEA,YAAU,GAAG;AACX,SAAKV,OAAL,CAAaI,SAAb,CAAuBU,GAAvB,CAA2BjB,WAA3B;AACA,SAAKG,OAAL,CAAae,YAAb,CAA0B,aAA1B,EAAyC,IAAzC;AACA,SAAKR,QAAL,GAAgB,KAAKP,OAAL,CAAaI,SAAb,CAAuBC,QAAvB,CAAgCR,WAAhC,CAAhB;AACD;;AA3CS;;AA8CGC,2DAAf,E;;ACnDA;AAEeA,iGAAf,E","file":"js/Alert.js","sourcesContent":["import Events from '@utilities/events/events'\n\nconst JS_HOOK_CLOSE_BTN = '[js-hook-alert-close]'\nconst hiddenClass = 'u-hidden'\n\nclass Alert {\n  constructor(element) {\n    this.element = element;\n    this.closeButton = element.querySelector(JS_HOOK_CLOSE_BTN);\n    this._isHidden = element.classList.contains(hiddenClass);\n\n    this.bindEvents();\n  }\n\n  set isHidden(boolean) {\n    this._isHidden = boolean;\n  }\n\n  get isHidden() {\n    return this._isHidden;\n  }\n\n  /**\n   * Bind all events\n   */\n  bindEvents() {\n    if (this.closeButton) {\n      this.closeButton.addEventListener('click', () => {\n        this.closeAlert();\n      })\n    }\n\n    Events.$on(`alert[${this.element.id}]::close`, () => {\n      this.closeAlert();\n    })\n\n    Events.$on(`alert::close`, () => {\n      this.closeAlert();\n    })\n  }\n\n  /**\n   * Alerts the active classname of the toggle component and toggles aria attribute\n   */\n  closeAlert() {\n    this.element.classList.add(hiddenClass);\n    this.element.setAttribute('aria-hidden', true);\n    this.isHidden = this.element.classList.contains(hiddenClass);\n  }\n}\n\nexport default Alert;\n","import Alert from './alert'\n\nexport default Alert\n"],"sourceRoot":""}