{"version":3,"file":"template.js","sources":["../../src/modules/onCDTSPageFinalized.ts","../../src/template.ts"],"sourcesContent":["import {\n  type CustomWindow,\n  type LanguageType,\n  type TemplateType\n} from '../types/template.js';\nimport type { ConfigModule } from '../types/config.js';\nimport Module from './Module.js';\ndeclare let window: CustomWindow;\n\nexport default class CDTSPageFinalizedModule extends Module {\n  moduleReady: boolean = false;\n\n  async doLogic(args: unknown[]): Promise<void> {\n    const lang = args[0] as LanguageType;\n    const template = args[1] as TemplateType;\n    const config = args[2] as ConfigModule | undefined;\n\n    CDTSPageFinalizedModule.onCDTSPageFinalized(lang, template, config);\n    this.moduleReady = true;\n\n    return Promise.resolve();\n  }\n  getModuleName(): string {\n    return 'onCDTSPageFinalized';\n  }\n\n  static onCDTSPageFinalized(\n    lang: LanguageType,\n    template: TemplateType,\n    config: ConfigModule | undefined\n  ) {\n    const globals = window.templateFrontEnd;\n    globals.ready = true;\n\n    if (\n      config?.hasCustomCDTSSetup() &&\n      !config.hasSplashPage() &&\n      !config.is404Page()\n    ) {\n      config\n        ?.customCDTSSetup(lang, template)\n        .catch((err) => console.error(err));\n    }\n\n    config?.appendCustomSiteScripts(lang, template);\n\n    if (config?.hasSplashPage()) {\n      setTimeout(() => {\n        document.body.removeAttribute('style');\n      }, 250);\n    }\n  }\n\n  static initCDTSPageFinalized(\n    lang: LanguageType,\n    template: TemplateType,\n    config: ConfigModule | undefined\n  ) {\n    const obj = new CDTSPageFinalizedModule();\n    window.onCDTSPageFinalized = obj.run.bind(obj, lang, template, config);\n  }\n}\n","import i18next from 'i18next';\nimport { ConfigModuleFactory } from './config/factory.config.js';\nimport Module from './modules/Module.js';\nimport CDTSPageFinalizedModule from './modules/onCDTSPageFinalized.js';\nimport { getSiteForConfig, getTemplate } from './modules/site.js';\nimport type { CustomWindow, LanguageType } from './types/template.js';\ndeclare let window: CustomWindow;\n\nwindow.templateFrontEnd = {\n  ready: false,\n  isDebug: true,\n  site: getSiteForConfig(window.location.href) ?? '',\n  lang: i18next.language as LanguageType,\n  template: getTemplate(),\n  modules: Module.getModuleReadyObject()\n};\n\nconst globals = window.templateFrontEnd;\nconst site = globals.site;\nconst lang = globals.lang;\nconst template = globals.template;\n\nif (site != null && lang != null && template != null) {\n  const config = ConfigModuleFactory.getConfig(site);\n  CDTSPageFinalizedModule.initCDTSPageFinalized(lang, template, config);\n  if (config) await config.dataCDTSSetup(lang, template);\n} else {\n  console.error('No config file found for this site');\n}\n"],"names":["CDTSPageFinalizedModule","Module","args","lang","template","config","globals","err","obj","getSiteForConfig","i18next","getTemplate","site","ConfigModuleFactory"],"mappings":"mGASA,MAAqBA,UAAgCC,CAAO,CAC1D,YAAuB,GAEvB,MAAM,QAAQC,EAAgC,CACtC,MAAAC,EAAOD,EAAK,CAAC,EACbE,EAAWF,EAAK,CAAC,EACjBG,EAASH,EAAK,CAAC,EAEG,OAAAF,EAAA,oBAAoBG,EAAMC,EAAUC,CAAM,EAClE,KAAK,YAAc,GAEZ,QAAQ,QAAQ,CAAA,CAEzB,eAAwB,CACf,MAAA,qBAAA,CAGT,OAAO,oBACLF,EACAC,EACAC,EACA,CACA,MAAMC,EAAU,OAAO,iBACvBA,EAAQ,MAAQ,GAGdD,GAAQ,mBAAmB,GAC3B,CAACA,EAAO,iBACR,CAACA,EAAO,aAGJA,GAAA,gBAAgBF,EAAMC,CAAQ,EAC/B,MAAOG,GAAQ,QAAQ,MAAMA,CAAG,CAAC,EAG9BF,GAAA,wBAAwBF,EAAMC,CAAQ,EAE1CC,GAAQ,iBACV,WAAW,IAAM,CACN,SAAA,KAAK,gBAAgB,OAAO,GACpC,GAAG,CACR,CAGF,OAAO,sBACLF,EACAC,EACAC,EACA,CACM,MAAAG,EAAM,IAAIR,EAChB,OAAO,oBAAsBQ,EAAI,IAAI,KAAKA,EAAKL,EAAMC,EAAUC,CAAM,CAAA,CAEzE,CCrDA,OAAO,iBAAmB,CACxB,MAAO,GACP,QAAS,GACT,KAAMI,EAAiB,OAAO,SAAS,IAAI,GAAK,GAChD,KAAMC,EAAQ,SACd,SAAUC,EAAY,EACtB,QAASV,EAAO,qBAAqB,CACvC,EAEA,MAAMK,EAAU,OAAO,iBACjBM,EAAON,EAAQ,KACfH,EAAOG,EAAQ,KACfF,EAAWE,EAAQ,SAEzB,GAAIM,GAAQ,MAAQT,GAAQ,MAAQC,GAAY,KAAM,CAC9C,MAAAC,EAASQ,EAAoB,UAAUD,CAAI,EACzBZ,EAAA,sBAAsBG,EAAMC,EAAUC,CAAM,EAChEA,GAAQ,MAAMA,EAAO,cAAcF,EAAMC,CAAQ,CACvD,MACE,QAAQ,MAAM,oCAAoC"}