UNPKG

ngx-i18n-input

Version:

Angular library for internationalized input fields

53 lines 8.97 kB
import { InjectionToken } from "@angular/core"; import { LANGUAGE_DETAILS } from "./country-iso-code"; export const NgxI18nInputLayouts = ["vertical", "tabs"]; export const NGX_I18N_INPUT_DEFAULT_CONFIGS = { availableLangs: ["en"], languageDetails: LANGUAGE_DETAILS, stringifyLang: function (lang) { return (this.languageDetails || LANGUAGE_DETAILS)[lang]?.name || lang; }, formatLabel: function (lang, label) { const labelStr = typeof label === "string" ? label : (label || {})[lang]; if (!labelStr) return this.stringifyLang(lang); return labelStr + " (" + this.stringifyLang(lang) + ")"; }, layout: NgxI18nInputLayouts[0], labelTemplate: null, inputTemplate: null, hideLabels: false, autofocus: false, required: false, label: null, validators: [], defaultInputComponent: null, formatOutput: ngxI18nDefaultFormatOutput }; // TODO partial ?? export const NGX_I18N_INPUT_CONFIG = new InjectionToken('NGX_I18N_INPUT_CONFIG'); export function mergeNgxI18nConfigs(configs) { if (!configs) return NGX_I18N_INPUT_DEFAULT_CONFIGS; return { ...NGX_I18N_INPUT_DEFAULT_CONFIGS, ...configs }; } export function provideNgxI18nConfigs(configs) { return { provide: NGX_I18N_INPUT_CONFIG, useValue: mergeNgxI18nConfigs(configs) }; } export function ngxI18nDefaultFormatOutput(formValue) { return formValue; } export function generateUid() { return Math.random().toString(36).substring(2); } export const NGX_I18N_INPUT_CONTEXT = new InjectionToken('NGX_I18N_INPUT_CONTEXT'); export function isNgxI18nInputContext(v) { return typeof v === "object" && v !== null && "configs" in v && "control" in v; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQStCLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBT3RELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBVSxDQUFDO0FBb0JqRSxNQUFNLENBQUMsTUFBTSw4QkFBOEIsR0FBdUI7SUFDaEUsY0FBYyxFQUFFLENBQUMsSUFBSSxDQUFDO0lBQ3RCLGVBQWUsRUFBRSxnQkFBZ0I7SUFDakMsYUFBYSxFQUFFLFVBQVMsSUFBVTtRQUNoQyxPQUFPLENBQUMsSUFBSSxDQUFDLGVBQWUsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksSUFBSSxJQUFJLENBQUM7SUFDeEUsQ0FBQztJQUNELFdBQVcsRUFBRSxVQUFTLElBQVUsRUFBRSxLQUEyQztRQUMzRSxNQUFNLFFBQVEsR0FBVyxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFakYsSUFBSSxDQUFDLFFBQVE7WUFBRSxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFL0MsT0FBTyxRQUFRLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQzFELENBQUM7SUFDRCxNQUFNLEVBQUUsbUJBQW1CLENBQUMsQ0FBQyxDQUFDO0lBQzlCLGFBQWEsRUFBRSxJQUFJO0lBQ25CLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFFBQVEsRUFBRSxLQUFLO0lBQ2YsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsRUFBRTtJQUNkLHFCQUFxQixFQUFFLElBQUk7SUFDM0IsWUFBWSxFQUFFLDBCQUEwQjtDQUN6QyxDQUFDO0FBRUYsa0JBQWtCO0FBQ2xCLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLElBQUksY0FBYyxDQUFxQix1QkFBdUIsQ0FBQyxDQUFDO0FBRXJHLE1BQU0sVUFBVSxtQkFBbUIsQ0FBQyxPQUF1RDtJQUN6RixJQUFJLENBQUMsT0FBTztRQUFFLE9BQU8sOEJBQThCLENBQUM7SUFFcEQsT0FBTztRQUNMLEdBQUcsOEJBQThCO1FBQ2pDLEdBQUcsT0FBTztLQUNYLENBQUE7QUFDSCxDQUFDO0FBRUQsTUFBTSxVQUFVLHFCQUFxQixDQUFDLE9BQW9DO0lBQ3hFLE9BQU87UUFDTCxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLFFBQVEsRUFBRSxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7S0FDdkMsQ0FBQTtBQUNILENBQUM7QUFFRCxNQUFNLFVBQVUsMEJBQTBCLENBQUksU0FBaUM7SUFDN0UsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELE1BQU0sVUFBVSxXQUFXO0lBQ3pCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7QUFDakQsQ0FBQztBQXVCRCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxJQUFJLGNBQWMsQ0FBc0Isd0JBQXdCLENBQUMsQ0FBQztBQUV4RyxNQUFNLFVBQVUscUJBQXFCLENBQUMsQ0FBVTtJQUM5QyxPQUFPLE9BQU8sQ0FBQyxLQUFLLFFBQVEsSUFBSSxDQUFDLEtBQUssSUFBSSxJQUFJLFNBQVMsSUFBSSxDQUFDLElBQUksU0FBUyxJQUFJLENBQUMsQ0FBQztBQUNqRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIFByb3ZpZGVyLCBUZW1wbGF0ZVJlZiwgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBMQU5HVUFHRV9ERVRBSUxTIH0gZnJvbSBcIi4vY291bnRyeS1pc28tY29kZVwiO1xuaW1wb3J0IHsgQWJzdHJhY3RDb250cm9sLCBGb3JtQ29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcblxuZXhwb3J0IHR5cGUgTGFuZyA9IHN0cmluZztcbmV4cG9ydCB0eXBlIExhbmdzID0gTGFuZ1tdO1xuXG5cbmV4cG9ydCBjb25zdCBOZ3hJMThuSW5wdXRMYXlvdXRzID0gW1widmVydGljYWxcIiwgXCJ0YWJzXCJdIGFzIGNvbnN0O1xuZXhwb3J0IHR5cGUgTmd4STE4bklucHV0TGF5b3V0ID0gdHlwZW9mIE5neEkxOG5JbnB1dExheW91dHNbbnVtYmVyXTtcblxuZXhwb3J0IGludGVyZmFjZSBOZ3hJMThuSW5wdXRDb25maWcge1xuICBhdmFpbGFibGVMYW5nczogTGFuZ3M7XG4gIGxhbmd1YWdlRGV0YWlsczogUmVjb3JkPExhbmcsIHsgbmFtZTogc3RyaW5nIH0+O1xuICBzdHJpbmdpZnlMYW5nOiAobGFuZzogc3RyaW5nKSA9PiBzdHJpbmc7XG4gIGZvcm1hdExhYmVsOiAobGFuZzogTGFuZywgbGFiZWw6IHN0cmluZyB8IFJlY29yZDxMYW5nLCBzdHJpbmc+IHwgbnVsbCkgPT4gc3RyaW5nLFxuICBsYXlvdXQ6IE5neEkxOG5JbnB1dExheW91dCxcbiAgbGFiZWxUZW1wbGF0ZTogVGVtcGxhdGVSZWY8dW5rbm93bj4gfCBudWxsLFxuICBpbnB1dFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiB8IG51bGwsXG4gIGhpZGVMYWJlbHM6IGJvb2xlYW4sXG4gIGF1dG9mb2N1czogYm9vbGVhbiB8IHN0cmluZyxcbiAgcmVxdWlyZWQ6IGJvb2xlYW4sXG4gIGxhYmVsOiBzdHJpbmcgfCBSZWNvcmQ8TGFuZywgc3RyaW5nPiB8IG51bGwsXG4gIHZhbGlkYXRvcnM6IFZhbGlkYXRvckZuW10sXG4gIGRlZmF1bHRJbnB1dENvbXBvbmVudDogVHlwZTxhbnk+IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgZm9ybWF0T3V0cHV0OiAoZm9ybVZhbHVlOiBSZWNvcmQ8TGFuZywgYW55IHwgbnVsbD4pID0+IFJlY29yZDxMYW5nLCBhbnkgfCBudWxsPlxufVxuXG5leHBvcnQgY29uc3QgTkdYX0kxOE5fSU5QVVRfREVGQVVMVF9DT05GSUdTOiBOZ3hJMThuSW5wdXRDb25maWcgPSB7XG4gIGF2YWlsYWJsZUxhbmdzOiBbXCJlblwiXSxcbiAgbGFuZ3VhZ2VEZXRhaWxzOiBMQU5HVUFHRV9ERVRBSUxTLFxuICBzdHJpbmdpZnlMYW5nOiBmdW5jdGlvbihsYW5nOiBMYW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHRoaXMubGFuZ3VhZ2VEZXRhaWxzIHx8IExBTkdVQUdFX0RFVEFJTFMpW2xhbmddPy5uYW1lIHx8IGxhbmc7XG4gIH0sXG4gIGZvcm1hdExhYmVsOiBmdW5jdGlvbihsYW5nOiBMYW5nLCBsYWJlbDogc3RyaW5nIHwgUmVjb3JkPExhbmcsIHN0cmluZz4gfCBudWxsKTogc3RyaW5nIHtcbiAgICBjb25zdCBsYWJlbFN0cjogc3RyaW5nID0gdHlwZW9mIGxhYmVsID09PSBcInN0cmluZ1wiID8gbGFiZWwgOiAobGFiZWwgfHwge30pW2xhbmddO1xuXG4gICAgaWYgKCFsYWJlbFN0cikgcmV0dXJuIHRoaXMuc3RyaW5naWZ5TGFuZyhsYW5nKTtcblxuICAgIHJldHVybiBsYWJlbFN0ciArIFwiIChcIiArIHRoaXMuc3RyaW5naWZ5TGFuZyhsYW5nKSArIFwiKVwiO1xuICB9LFxuICBsYXlvdXQ6IE5neEkxOG5JbnB1dExheW91dHNbMF0sXG4gIGxhYmVsVGVtcGxhdGU6IG51bGwsXG4gIGlucHV0VGVtcGxhdGU6IG51bGwsXG4gIGhpZGVMYWJlbHM6IGZhbHNlLFxuICBhdXRvZm9jdXM6IGZhbHNlLFxuICByZXF1aXJlZDogZmFsc2UsXG4gIGxhYmVsOiBudWxsLFxuICB2YWxpZGF0b3JzOiBbXSxcbiAgZGVmYXVsdElucHV0Q29tcG9uZW50OiBudWxsLFxuICBmb3JtYXRPdXRwdXQ6IG5neEkxOG5EZWZhdWx0Rm9ybWF0T3V0cHV0XG59O1xuXG4vLyBUT0RPIHBhcnRpYWwgPz9cbmV4cG9ydCBjb25zdCBOR1hfSTE4Tl9JTlBVVF9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4STE4bklucHV0Q29uZmlnPignTkdYX0kxOE5fSU5QVVRfQ09ORklHJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZU5neEkxOG5Db25maWdzKGNvbmZpZ3M6IFBhcnRpYWw8Tmd4STE4bklucHV0Q29uZmlnPiB8IG51bGwgfCB1bmRlZmluZWQpOiBOZ3hJMThuSW5wdXRDb25maWcge1xuICBpZiAoIWNvbmZpZ3MpIHJldHVybiBOR1hfSTE4Tl9JTlBVVF9ERUZBVUxUX0NPTkZJR1M7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5OR1hfSTE4Tl9JTlBVVF9ERUZBVUxUX0NPTkZJR1MsXG4gICAgLi4uY29uZmlnc1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTmd4STE4bkNvbmZpZ3MoY29uZmlnczogUGFydGlhbDxOZ3hJMThuSW5wdXRDb25maWc+KTogUHJvdmlkZXIge1xuICByZXR1cm4ge1xuICAgIHByb3ZpZGU6IE5HWF9JMThOX0lOUFVUX0NPTkZJRyxcbiAgICB1c2VWYWx1ZTogbWVyZ2VOZ3hJMThuQ29uZmlncyhjb25maWdzKVxuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBuZ3hJMThuRGVmYXVsdEZvcm1hdE91dHB1dDxUPihmb3JtVmFsdWU6IFJlY29yZDxMYW5nLCBUIHwgbnVsbD4pOiBSZWNvcmQ8TGFuZywgVCB8IG51bGw+IHtcbiAgcmV0dXJuIGZvcm1WYWx1ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdlbmVyYXRlVWlkKCk6IHN0cmluZyB7XG4gIHJldHVybiBNYXRoLnJhbmRvbSgpLnRvU3RyaW5nKDM2KS5zdWJzdHJpbmcoMik7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTmd4STE4bklucHV0Q29udGV4dCB7XG4gIC8qKlxuICAgKiBVbmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIGlucHV0LlxuICAgKiBJbiBwYXJ0aWNvbGFyLCB5b3UgY2FuIHVzZSB0aGlzIHZhbHVlIGZvciB0aGUgaWQgb2YgdGhlIGlucHV0IGVsZW1lbnQuXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYGh0bWxcbiAgICogPG5nLXRlbXBsYXRlICNpbnB1dFRlbXAgbGV0LWNvbnRleHQ+XG4gICAqICAgPGlucHV0IFtpZF09XCJjb250ZXh0LmlkXCI+XG4gICAqIDwvbmctdGVtcGxhdGU+XG4gICAqIFxuICAgKiA8bmd4LWkxOG4taW5wdXQgW2lucHV0VGVtcGxhdGVdPVwiaW5wdXRUZW1wXCI+PC9uZ3gtaTE4bi1pbnB1dD5cbiAgICogYGBgXG4gICAqL1xuICBpZDogc3RyaW5nO1xuICBjb25maWdzOiBOZ3hJMThuSW5wdXRDb25maWc7XG4gIGNvbnRyb2w6IEZvcm1Db250cm9sPGFueT47XG4gIGxhbmc6IExhbmc7XG4gIGVtaXRDdXN0b21FdmVudDogKG5hbWU6IHN0cmluZywgdmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgLy8gd3JpdGVWYWx1ZTogKHZhbHVlOiBhbnkpID0+IHZvaWRcbn1cblxuZXhwb3J0IGNvbnN0IE5HWF9JMThOX0lOUFVUX0NPTlRFWFQgPSBuZXcgSW5qZWN0aW9uVG9rZW48Tmd4STE4bklucHV0Q29udGV4dD4oJ05HWF9JMThOX0lOUFVUX0NPTlRFWFQnKTtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTmd4STE4bklucHV0Q29udGV4dCh2OiB1bmtub3duKTogdiBpcyBOZ3hJMThuSW5wdXRDb250ZXh0IHtcbiAgcmV0dXJuIHR5cGVvZiB2ID09PSBcIm9iamVjdFwiICYmIHYgIT09IG51bGwgJiYgXCJjb25maWdzXCIgaW4gdiAmJiBcImNvbnRyb2xcIiBpbiB2O1xufSJdfQ==