{"version":3,"file":"cms-libs-translation.mjs","sources":["../tmp-esm2022/lib/configurations/translation.configuration.js","../tmp-esm2022/lib/services/translation.service.js","../tmp-esm2022/cms-libs-translation.js"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\nexport const TRANSLATE_CONFIGURATION = new InjectionToken(\"TRANSLATE_CONFIGURATION\");\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uY29uZmlndXJhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsYXRpb24vc3JjL2xpYi9jb25maWd1cmF0aW9ucy90cmFuc2xhdGlvbi5jb25maWd1cmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUcsSUFBSSxjQUFjLENBQW9CLHlCQUF5QixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3Rpb24gfSBmcm9tIFwiQGFuZ3VsYXIvY2RrL2JpZGlcIjtcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuZXhwb3J0IGNvbnN0IFRSQU5TTEFURV9DT05GSUdVUkFUSU9OID0gbmV3IEluamVjdGlvblRva2VuPFRyYW5zbGF0aW9uQ29uZmlnPihcIlRSQU5TTEFURV9DT05GSUdVUkFUSU9OXCIpO1xuXG5leHBvcnQgaW50ZXJmYWNlIExhbmd1YWdlIHtcbiAgdmFsdWU6IHN0cmluZztcbiAgbGFiZWw6IHN0cmluZztcbiAgZGlyZWN0aW9uPzogRGlyZWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zbGF0aW9uQ29uZmlnIHtcbiAgYXZhaWxhYmxlTGFuZ3VhZ2VzOiBMYW5ndWFnZVtdO1xufVxuIl19","import { Inject, inject, Injectable, signal } from \"@angular/core\";\nimport { DOCUMENT } from \"@angular/common\";\nimport { TranslateService } from \"@ngx-translate/core\";\nimport { TRANSLATE_CONFIGURATION } from \"../configurations/translation.configuration\";\nimport * as i0 from \"@angular/core\";\nexport const TRANSLATION_STORAGE_KEY = \"LANGUAGE\";\nexport class TranslationService {\n    document = inject(DOCUMENT);\n    translate = inject(TranslateService);\n    config = inject(TRANSLATE_CONFIGURATION);\n    get availableLanguages() {\n        return this.config.availableLanguages;\n    }\n    get defaultLanguage() {\n        return this.getDefaultLanguage();\n    }\n    get default() {\n        return this.availableLanguages.find(({ value }) => value == this.defaultLanguage) || this.availableLanguages[0];\n    }\n    getDefaultLanguage() {\n        const language = this.getSavedLanguage();\n        // check language not null\n        if (language) {\n            // check language if belong to availableLanguages\n            if (this.availableLanguages.map((e) => e.value).includes(language)) {\n                return language;\n            }\n        }\n        return this.availableLanguages[0].value;\n    }\n    language = signal(this.default, ...(ngDevMode ? [{ debugName: \"language\" }] : []));\n    langDir = signal(this.language().direction ?? \"ltr\", ...(ngDevMode ? [{ debugName: \"langDir\" }] : []));\n    /**\n     * initialize i18n\n     */\n    initialize() {\n        const languages = this.availableLanguages;\n        const language = this.defaultLanguage;\n        this.translate.addLangs(languages.map((language) => language.value));\n        this.translate.use(language);\n        this.translate.setFallbackLang(language);\n        this.document.documentElement.lang = language;\n    }\n    /**\n     * change app language.\n     *\n     * @param {string} value should be the same name of one of translation json files.\n     */\n    switchLanguage(value) {\n        // Change app language\n        this.saveInLocalStorage(TRANSLATION_STORAGE_KEY, value);\n        this.translate.use(value);\n        const language = this.availableLanguages.find((el) => el.value == value);\n        if (!language)\n            return;\n        this.language.set(language);\n        if (language.direction != this.langDir()) {\n            this.document.documentElement.lang = language.value;\n            this.langDir.set(language.direction ?? \"ltr\");\n        }\n    }\n    /**\n     * save value in localStorage.\n     *\n     * you can override this for SSR.\n     */\n    saveInLocalStorage(key, value) {\n        localStorage.setItem(key, value);\n    }\n    /**\n     * get save language in localStorage\n     *\n     * @returns {string | null}\n     */\n    getSavedLanguage() {\n        return localStorage.getItem(TRANSLATION_STORAGE_KEY);\n    }\n    static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TranslationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });\n    static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TranslationService, providedIn: \"root\" });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TranslationService, decorators: [{\n            type: Injectable,\n            args: [{ providedIn: \"root\" }]\n        }], propDecorators: { document: [{\n                type: Inject,\n                args: [DOCUMENT]\n            }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24uc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvdHJhbnNsYXRpb24vc3JjL2xpYi9zZXJ2aWNlcy90cmFuc2xhdGlvbi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3ZELE9BQU8sRUFBWSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOztBQUVoRyxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxVQUFVLENBQUM7QUFHbEQsTUFBTSxPQUFPLGtCQUFrQjtJQUNELFFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDM0QsU0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3JDLE1BQU0sR0FBRyxNQUFNLENBQUMsdUJBQXVCLENBQUMsQ0FBQztJQUNoRCxJQUFXLGtCQUFrQjtRQUMzQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7SUFDeEMsQ0FBQztJQUVELElBQVcsZUFBZTtRQUN4QixPQUFPLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxJQUFXLE9BQU87UUFDaEIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEgsQ0FBQztJQUVTLGtCQUFrQjtRQUMxQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUV6QywwQkFBMEI7UUFDMUIsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUNiLGlEQUFpRDtZQUNqRCxJQUFJLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDbkUsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztRQUNILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDMUMsQ0FBQztJQUVNLFFBQVEsR0FBRyxNQUFNLENBQVcsSUFBSSxDQUFDLE9BQU8sb0RBQUMsQ0FBQztJQUUxQyxPQUFPLEdBQUcsTUFBTSxDQUFZLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxTQUFTLElBQUksS0FBSyxtREFBQyxDQUFDO0lBRXZFOztPQUVHO0lBQ0ksVUFBVTtRQUNmLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUMxQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBRXRDLElBQUksQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRXpDLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLElBQUksR0FBRyxRQUFRLENBQUM7SUFDaEQsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxjQUFjLENBQUMsS0FBYTtRQUNqQyxzQkFBc0I7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLHVCQUF1QixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQ3hELElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLENBQUM7UUFDekUsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPO1FBRXRCLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBRTVCLElBQUksUUFBUSxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQztZQUNwRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxDQUFDO1FBQ2hELENBQUM7SUFDSCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNPLGtCQUFrQixDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ3JELFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ25DLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sZ0JBQWdCO1FBQ3hCLE9BQU8sWUFBWSxDQUFDLE9BQU8sQ0FBQyx1QkFBdUIsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7dUdBckZVLGtCQUFrQjsyR0FBbEIsa0JBQWtCLGNBREwsTUFBTTs7MkZBQ25CLGtCQUFrQjtrQkFEOUIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUU7OEJBRUosUUFBUTtzQkFBbkMsTUFBTTt1QkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9iaWRpXCI7XG5pbXBvcnQgeyBJbmplY3QsIGluamVjdCwgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gXCJAbmd4LXRyYW5zbGF0ZS9jb3JlXCI7XG5pbXBvcnQgeyBMYW5ndWFnZSwgVFJBTlNMQVRFX0NPTkZJR1VSQVRJT04gfSBmcm9tIFwiLi4vY29uZmlndXJhdGlvbnMvdHJhbnNsYXRpb24uY29uZmlndXJhdGlvblwiO1xuXG5leHBvcnQgY29uc3QgVFJBTlNMQVRJT05fU1RPUkFHRV9LRVkgPSBcIkxBTkdVQUdFXCI7XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogXCJyb290XCIgfSlcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblNlcnZpY2Uge1xuICBASW5qZWN0KERPQ1VNRU5UKSBwcm90ZWN0ZWQgZG9jdW1lbnQ6IERvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgcHVibGljIHRyYW5zbGF0ZSA9IGluamVjdChUcmFuc2xhdGVTZXJ2aWNlKTtcbiAgcHVibGljIGNvbmZpZyA9IGluamVjdChUUkFOU0xBVEVfQ09ORklHVVJBVElPTik7XG4gIHB1YmxpYyBnZXQgYXZhaWxhYmxlTGFuZ3VhZ2VzKCk6IExhbmd1YWdlW10ge1xuICAgIHJldHVybiB0aGlzLmNvbmZpZy5hdmFpbGFibGVMYW5ndWFnZXM7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGRlZmF1bHRMYW5ndWFnZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmdldERlZmF1bHRMYW5ndWFnZSgpO1xuICB9XG5cbiAgcHVibGljIGdldCBkZWZhdWx0KCk6IExhbmd1YWdlIHtcbiAgICByZXR1cm4gdGhpcy5hdmFpbGFibGVMYW5ndWFnZXMuZmluZCgoeyB2YWx1ZSB9KSA9PiB2YWx1ZSA9PSB0aGlzLmRlZmF1bHRMYW5ndWFnZSkgfHwgdGhpcy5hdmFpbGFibGVMYW5ndWFnZXNbMF07XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0RGVmYXVsdExhbmd1YWdlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLmdldFNhdmVkTGFuZ3VhZ2UoKTtcblxuICAgIC8vIGNoZWNrIGxhbmd1YWdlIG5vdCBudWxsXG4gICAgaWYgKGxhbmd1YWdlKSB7XG4gICAgICAvLyBjaGVjayBsYW5ndWFnZSBpZiBiZWxvbmcgdG8gYXZhaWxhYmxlTGFuZ3VhZ2VzXG4gICAgICBpZiAodGhpcy5hdmFpbGFibGVMYW5ndWFnZXMubWFwKChlKSA9PiBlLnZhbHVlKS5pbmNsdWRlcyhsYW5ndWFnZSkpIHtcbiAgICAgICAgcmV0dXJuIGxhbmd1YWdlO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmF2YWlsYWJsZUxhbmd1YWdlc1swXS52YWx1ZTtcbiAgfVxuXG4gIHB1YmxpYyBsYW5ndWFnZSA9IHNpZ25hbDxMYW5ndWFnZT4odGhpcy5kZWZhdWx0KTtcblxuICBwdWJsaWMgbGFuZ0RpciA9IHNpZ25hbDxEaXJlY3Rpb24+KHRoaXMubGFuZ3VhZ2UoKS5kaXJlY3Rpb24gPz8gXCJsdHJcIik7XG5cbiAgLyoqXG4gICAqIGluaXRpYWxpemUgaTE4blxuICAgKi9cbiAgcHVibGljIGluaXRpYWxpemUoKTogdm9pZCB7XG4gICAgY29uc3QgbGFuZ3VhZ2VzID0gdGhpcy5hdmFpbGFibGVMYW5ndWFnZXM7XG4gICAgY29uc3QgbGFuZ3VhZ2UgPSB0aGlzLmRlZmF1bHRMYW5ndWFnZTtcblxuICAgIHRoaXMudHJhbnNsYXRlLmFkZExhbmdzKGxhbmd1YWdlcy5tYXAoKGxhbmd1YWdlKSA9PiBsYW5ndWFnZS52YWx1ZSkpO1xuICAgIHRoaXMudHJhbnNsYXRlLnVzZShsYW5ndWFnZSk7XG4gICAgdGhpcy50cmFuc2xhdGUuc2V0RmFsbGJhY2tMYW5nKGxhbmd1YWdlKTtcblxuICAgIHRoaXMuZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50LmxhbmcgPSBsYW5ndWFnZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBjaGFuZ2UgYXBwIGxhbmd1YWdlLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdmFsdWUgc2hvdWxkIGJlIHRoZSBzYW1lIG5hbWUgb2Ygb25lIG9mIHRyYW5zbGF0aW9uIGpzb24gZmlsZXMuXG4gICAqL1xuICBwdWJsaWMgc3dpdGNoTGFuZ3VhZ2UodmFsdWU6IHN0cmluZyk6IHZvaWQge1xuICAgIC8vIENoYW5nZSBhcHAgbGFuZ3VhZ2VcbiAgICB0aGlzLnNhdmVJbkxvY2FsU3RvcmFnZShUUkFOU0xBVElPTl9TVE9SQUdFX0tFWSwgdmFsdWUpO1xuICAgIHRoaXMudHJhbnNsYXRlLnVzZSh2YWx1ZSk7XG5cbiAgICBjb25zdCBsYW5ndWFnZSA9IHRoaXMuYXZhaWxhYmxlTGFuZ3VhZ2VzLmZpbmQoKGVsKSA9PiBlbC52YWx1ZSA9PSB2YWx1ZSk7XG4gICAgaWYgKCFsYW5ndWFnZSkgcmV0dXJuO1xuXG4gICAgdGhpcy5sYW5ndWFnZS5zZXQobGFuZ3VhZ2UpO1xuXG4gICAgaWYgKGxhbmd1YWdlLmRpcmVjdGlvbiAhPSB0aGlzLmxhbmdEaXIoKSkge1xuICAgICAgdGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQubGFuZyA9IGxhbmd1YWdlLnZhbHVlO1xuICAgICAgdGhpcy5sYW5nRGlyLnNldChsYW5ndWFnZS5kaXJlY3Rpb24gPz8gXCJsdHJcIik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIHNhdmUgdmFsdWUgaW4gbG9jYWxTdG9yYWdlLlxuICAgKlxuICAgKiB5b3UgY2FuIG92ZXJyaWRlIHRoaXMgZm9yIFNTUi5cbiAgICovXG4gIHByb3RlY3RlZCBzYXZlSW5Mb2NhbFN0b3JhZ2Uoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIHZhbHVlKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBnZXQgc2F2ZSBsYW5ndWFnZSBpbiBsb2NhbFN0b3JhZ2VcbiAgICpcbiAgICogQHJldHVybnMge3N0cmluZyB8IG51bGx9XG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0U2F2ZWRMYW5ndWFnZSgpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oVFJBTlNMQVRJT05fU1RPUkFHRV9LRVkpO1xuICB9XG59XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY21zLWxpYnMtdHJhbnNsYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9saWJzL3RyYW5zbGF0aW9uL3NyYy9jbXMtbGlicy10cmFuc2xhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ=="],"names":[],"mappings":"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"}