{ "version": 3, "sources": ["../../../../../../../../source/febe/ui/src/scripts/components/Loader.ts"], "sourcesContent": ["import EventEmitter from \"../classes/EventEmitter.js\";\nimport { wait } from \"../classes/Utils.js\";\nimport autorenew from \"@icons/autorenew.svg\";\n\nexport default class Loader extends EventEmitter {\n loaderElement: HTMLElement;\n parent: HTMLElement;\n active: boolean;\n text: string;\n /*\n The Loader is used to mask a certain container and ad an loading symbol.\n\n Usage:\n Take note that all parameters are OPTIONAL\n Loader.init(\n element: The element that needs to be covered\n active: Is the loader active from start\n text: Add a String as loading text\n )\n\n */\n\n init(element: HTMLElement, active: boolean, text: string) {\n let loaderHtml = `\n
\n
\n
\n ${autorenew}\n
\n
\n

${text}

\n
`;\n\n this.parent = element;\n this.active = active;\n\n if (text) {\n this.text = text;\n } else {\n this.text = \"\";\n }\n\n this.loaderElement = document.createElement(\"div\");\n this.loaderElement.classList.add(\"loader\");\n this.loaderElement.innerHTML = loaderHtml;\n this.parent.style.position = \"relative\";\n\n this.parent.appendChild(this.loaderElement);\n\n this.show();\n return this;\n }\n\n error(text: string) {\n let svg = `\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n `;\n\n this.parent.querySelector(\".loader-holder__spinner\").innerHTML = svg;\n this.parent.querySelector(\".loader-holder__text\").innerHTML = text;\n }\n\n show() {\n this.loaderElement.style.display = \"flex\";\n this.parent.style.overflow = \"hidden\";\n }\n\n hide() {\n this.loaderElement.classList.add(\"loader-hidden\");\n\n wait(500).then(() => {\n this.loaderElement.style.display = \"none\";\n this.parent.style.overflow = \"auto\";\n });\n }\n}\n"], "mappings": "wHAIA,IAAqBA,EAArB,cAAoCC,CAAa,CAkB/C,KAAKC,EAAsBC,EAAiBC,EAAc,CACxD,IAAIC,EAAa;AAAA;AAAA;AAAA;AAAA,YAITC,CAAS;AAAA;AAAA;AAAA,YAGTF,CAAI;AAAA,YAGZ,YAAK,OAASF,EACd,KAAK,OAASC,EAEVC,EACF,KAAK,KAAOA,EAEZ,KAAK,KAAO,GAGd,KAAK,cAAgB,SAAS,cAAc,KAAK,EACjD,KAAK,cAAc,UAAU,IAAI,QAAQ,EACzC,KAAK,cAAc,UAAYC,EAC/B,KAAK,OAAO,MAAM,SAAW,WAE7B,KAAK,OAAO,YAAY,KAAK,aAAa,EAE1C,KAAK,KAAK,EACH,IACT,CAEA,MAAMD,EAAc,CAClB,IAAIG,EAAM;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAkBV,KAAK,OAAO,cAAc,yBAAyB,EAAE,UAAYA,EACjE,KAAK,OAAO,cAAc,sBAAsB,EAAE,UAAYH,CAChE,CAEA,MAAO,CACL,KAAK,cAAc,MAAM,QAAU,OACnC,KAAK,OAAO,MAAM,SAAW,QAC/B,CAEA,MAAO,CACL,KAAK,cAAc,UAAU,IAAI,eAAe,EAEhDI,EAAK,GAAG,EAAE,KAAK,IAAM,CACnB,KAAK,cAAc,MAAM,QAAU,OACnC,KAAK,OAAO,MAAM,SAAW,MAC/B,CAAC,CACH,CACF", "names": ["Loader", "EventEmitter", "element", "active", "text", "loaderHtml", "autorenew_default", "svg", "wait"] }