valtech-components 2.0.276 → 2.0.278

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/README.md +149 -6
  2. package/esm2022/lib/components/_examples/global-content-example-content.mjs +23 -0
  3. package/esm2022/lib/components/_examples/global-content-example.component.mjs +504 -0
  4. package/esm2022/lib/components/_examples/reactive-content-example-content.mjs +43 -0
  5. package/esm2022/lib/components/_examples/reactive-content-example.component.mjs +347 -0
  6. package/esm2022/lib/components/atoms/text/text.component.mjs +143 -15
  7. package/esm2022/lib/components/atoms/text/types.mjs +1 -1
  8. package/esm2022/lib/services/content.service.mjs +327 -0
  9. package/esm2022/lib/services/icons.service.mjs +3 -2
  10. package/esm2022/lib/services/lang-provider/content.mjs +136 -1
  11. package/esm2022/lib/services/lang-provider/lang-provider.service.mjs +118 -8
  12. package/esm2022/lib/shared/utils/content.mjs +186 -0
  13. package/esm2022/public-api.mjs +11 -5
  14. package/fesm2022/valtech-components.mjs +2938 -1359
  15. package/fesm2022/valtech-components.mjs.map +1 -1
  16. package/lib/components/_examples/global-content-example-content.d.ts +9 -0
  17. package/lib/components/_examples/global-content-example.component.d.ts +73 -0
  18. package/lib/components/_examples/reactive-content-example-content.d.ts +32 -0
  19. package/lib/components/_examples/reactive-content-example.component.d.ts +47 -0
  20. package/lib/components/atoms/text/text.component.d.ts +57 -8
  21. package/lib/components/atoms/text/types.d.ts +26 -5
  22. package/lib/services/content.service.d.ts +296 -0
  23. package/lib/services/lang-provider/lang-provider.service.d.ts +87 -7
  24. package/lib/shared/utils/content.d.ts +199 -0
  25. package/package.json +1 -1
  26. package/public-api.d.ts +9 -4
@@ -1,10 +1,33 @@
1
1
  import { Inject, Injectable } from '@angular/core';
2
- import { BehaviorSubject } from 'rxjs';
3
- import { LangOption } from './types';
4
- import { LocalStorageService } from '../local-storage.service';
2
+ import { BehaviorSubject, distinctUntilChanged, map } from 'rxjs';
5
3
  import { LANG } from '../../shared/constants/storage';
4
+ import { LocalStorageService } from '../local-storage.service';
6
5
  import { ValtechConfigService } from '../types';
6
+ import { LangOption } from './types';
7
7
  import * as i0 from "@angular/core";
8
+ /**
9
+ * LangService - Reactive language and content management service.
10
+ *
11
+ * This service provides reactive content management with Observable-based language switching.
12
+ * Components can subscribe to content changes and automatically update when the language changes.
13
+ *
14
+ * @example Basic usage:
15
+ * ```typescript
16
+ * constructor(private langService: LangService) {}
17
+ *
18
+ * // Get current language
19
+ * const currentLang = this.langService.currentLang;
20
+ *
21
+ * // Subscribe to language changes
22
+ * this.langService.currentLang$.subscribe(lang => console.log('Language changed:', lang));
23
+ *
24
+ * // Get static text
25
+ * const text = this.langService.getText('ComponentName', 'textKey');
26
+ *
27
+ * // Get reactive text
28
+ * const text$ = this.langService.getContent('ComponentName', 'textKey');
29
+ * ```
30
+ */
8
31
  export class LangService {
9
32
  constructor(config) {
10
33
  this.default = LangOption.ES;
@@ -14,16 +37,103 @@ export class LangService {
14
37
  const current = LocalStorageService.get(LANG);
15
38
  this.selectedLang = new BehaviorSubject(current || this.default);
16
39
  }
17
- Text(className) {
18
- return this.content[className].Content[this.selectedLang.value];
40
+ /**
41
+ * Observable that emits the current language whenever it changes.
42
+ * Use this to react to language changes in components.
43
+ */
44
+ get currentLang$() {
45
+ return this.selectedLang.asObservable().pipe(distinctUntilChanged());
19
46
  }
20
- get Lang() {
47
+ /**
48
+ * Get the current language synchronously.
49
+ */
50
+ get currentLang() {
21
51
  return this.selectedLang.value;
22
52
  }
23
- set Lang(lang) {
53
+ /**
54
+ * Set the current language and persist it to local storage.
55
+ * This will trigger updates in all components subscribed to reactive content.
56
+ *
57
+ * @param lang - The language to set
58
+ */
59
+ setLang(lang) {
24
60
  this.selectedLang.next(lang);
25
61
  LocalStorageService.set(LANG, lang);
26
62
  }
63
+ /**
64
+ * Get all text content for a component class (legacy method for compatibility).
65
+ *
66
+ * @param className - The component class name
67
+ * @returns The language text object for the current language
68
+ * @deprecated Use getText() or getContent() for better type safety
69
+ */
70
+ Text(className) {
71
+ return this.content[className]?.Content[this.selectedLang.value] || {};
72
+ }
73
+ /**
74
+ * Get a specific text value synchronously for the current language.
75
+ *
76
+ * @param className - The component class name
77
+ * @param key - The text key
78
+ * @param fallback - Optional fallback text if key is not found
79
+ * @returns The text string or fallback
80
+ */
81
+ getText(className, key, fallback) {
82
+ const classContent = this.content[className]?.Content[this.selectedLang.value];
83
+ return classContent?.[key] || fallback || `[${className}.${key}]`;
84
+ }
85
+ /**
86
+ * Get a reactive Observable for a specific text key that updates when language changes.
87
+ * This is the recommended method for components that need reactive content.
88
+ *
89
+ * @param className - The component class name
90
+ * @param key - The text key
91
+ * @param fallback - Optional fallback text if key is not found
92
+ * @returns Observable that emits the text string whenever language changes
93
+ */
94
+ getContent(className, key, fallback) {
95
+ return this.currentLang$.pipe(map(lang => {
96
+ const classContent = this.content[className]?.Content[lang];
97
+ return classContent?.[key] || fallback || `[${className}.${key}]`;
98
+ }), distinctUntilChanged());
99
+ }
100
+ /**
101
+ * Get reactive content for multiple keys at once.
102
+ *
103
+ * @param className - The component class name
104
+ * @param keys - Array of text keys to retrieve
105
+ * @returns Observable that emits an object with all requested keys
106
+ */
107
+ getMultipleContent(className, keys) {
108
+ return this.currentLang$.pipe(map(lang => {
109
+ const classContent = this.content[className]?.Content[lang] || {};
110
+ const result = {};
111
+ keys.forEach(key => {
112
+ result[key] = classContent[key] || `[${className}.${key}]`;
113
+ });
114
+ return result;
115
+ }), distinctUntilChanged((prev, curr) => JSON.stringify(prev) === JSON.stringify(curr)));
116
+ }
117
+ /**
118
+ * Check if a content key exists for a component.
119
+ *
120
+ * @param className - The component class name
121
+ * @param key - The text key
122
+ * @returns True if the key exists in any language
123
+ */
124
+ hasContent(className, key) {
125
+ const classContent = this.content[className];
126
+ if (!classContent)
127
+ return false;
128
+ return Object.values(classContent.Content).some(langContent => langContent && typeof langContent[key] === 'string');
129
+ }
130
+ // Legacy getters/setters for backward compatibility
131
+ get Lang() {
132
+ return this.currentLang;
133
+ }
134
+ set Lang(lang) {
135
+ this.setLang(lang);
136
+ }
27
137
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangService, deps: [{ token: ValtechConfigService }], target: i0.ɵɵFactoryTarget.Injectable }); }
28
138
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LangService, providedIn: 'root' }); }
29
139
  }
@@ -36,4 +146,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
36
146
  type: Inject,
37
147
  args: [ValtechConfigService]
38
148
  }] }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV2QyxPQUFPLEVBQUUsVUFBVSxFQUFnQixNQUFNLFNBQVMsQ0FBQztBQUNuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEQsT0FBTyxFQUFpQixvQkFBb0IsRUFBRSxNQUFNLFVBQVUsQ0FBQzs7QUFLL0QsTUFBTSxPQUFPLFdBQVc7SUFNdEIsWUFBMEMsTUFBcUI7UUFKL0QsWUFBTyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFLdEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFhLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQWEsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQsSUFBSSxDQUFDLFNBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsRSxDQUFDO0lBRUQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBZ0I7UUFDdkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsbUJBQW1CLENBQUMsR0FBRyxDQUFhLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDOytHQXpCVSxXQUFXLGtCQU1GLG9CQUFvQjttSEFON0IsV0FBVyxjQUZWLE1BQU07OzRGQUVQLFdBQVc7a0JBSHZCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFPYyxNQUFNOzJCQUFDLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBQcm92aWRlciB9IGZyb20gJy4vY29udGVudCc7XG5pbXBvcnQgeyBMYW5nT3B0aW9uLCBMYW5ndWFnZVRleHQgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IExvY2FsU3RvcmFnZVNlcnZpY2UgfSBmcm9tICcuLi9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuaW1wb3J0IHsgTEFORyB9IGZyb20gJy4uLy4uL3NoYXJlZC9jb25zdGFudHMvc3RvcmFnZSc7XG5pbXBvcnQgeyBWYWx0ZWNoQ29uZmlnLCBWYWx0ZWNoQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3R5cGVzJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExhbmdTZXJ2aWNlIHtcbiAgY29udGVudDogUHJvdmlkZXI7XG4gIGRlZmF1bHQgPSBMYW5nT3B0aW9uLkVTO1xuICBzZWxlY3RlZExhbmc6IEJlaGF2aW9yU3ViamVjdDxMYW5nT3B0aW9uPjtcbiAgY29uZmlnOiBWYWx0ZWNoQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVmFsdGVjaENvbmZpZ1NlcnZpY2UpIGNvbmZpZzogVmFsdGVjaENvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdpbmplY3RlZCBjb25maWc6ICcsIGNvbmZpZyk7XG4gICAgdGhpcy5jb250ZW50ID0gY29uZmlnLmNvbnRlbnQ7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uc3QgY3VycmVudCA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0PExhbmdPcHRpb24+KExBTkcpO1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYW5nT3B0aW9uPihjdXJyZW50IHx8IHRoaXMuZGVmYXVsdCk7XG4gIH1cblxuICBUZXh0KGNsYXNzTmFtZTogc3RyaW5nKTogTGFuZ3VhZ2VUZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50W2NsYXNzTmFtZV0uQ29udGVudFt0aGlzLnNlbGVjdGVkTGFuZy52YWx1ZV07XG4gIH1cblxuICBnZXQgTGFuZygpOiBMYW5nT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5zZWxlY3RlZExhbmcudmFsdWU7XG4gIH1cblxuICBzZXQgTGFuZyhsYW5nOiBMYW5nT3B0aW9uKSB7XG4gICAgdGhpcy5zZWxlY3RlZExhbmcubmV4dChsYW5nKTtcbiAgICBMb2NhbFN0b3JhZ2VTZXJ2aWNlLnNldDxMYW5nT3B0aW9uPihMQU5HLCBsYW5nKTtcbiAgfVxufVxuIl19
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGFuZy1wcm92aWRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGVjaC1jb21wb25lbnRzL3NyYy9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBYyxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDOUUsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBaUIsb0JBQW9CLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFL0QsT0FBTyxFQUFFLFVBQVUsRUFBZ0IsTUFBTSxTQUFTLENBQUM7O0FBRW5EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0JHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFNdEIsWUFBMEMsTUFBcUI7UUFKdkQsWUFBTyxHQUFHLFVBQVUsQ0FBQyxFQUFFLENBQUM7UUFLOUIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUM7UUFDOUIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsTUFBTSxPQUFPLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFhLElBQUksQ0FBQyxDQUFDO1FBQzFELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxlQUFlLENBQWEsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUMvRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsSUFBSSxZQUFZO1FBQ2QsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFDLENBQUM7SUFDdkUsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQztJQUNqQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxPQUFPLENBQUMsSUFBZ0I7UUFDdEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDN0IsbUJBQW1CLENBQUMsR0FBRyxDQUFhLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsSUFBSSxDQUFDLFNBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDekUsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsU0FBaUIsRUFBRSxHQUFXLEVBQUUsUUFBaUI7UUFDdkQsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvRSxPQUFPLFlBQVksRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLFFBQVEsSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLEdBQUcsQ0FBQztJQUNwRSxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxVQUFVLENBQUMsU0FBaUIsRUFBRSxHQUFXLEVBQUUsUUFBaUI7UUFDMUQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0IsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUQsT0FBTyxZQUFZLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxRQUFRLElBQUksSUFBSSxTQUFTLElBQUksR0FBRyxHQUFHLENBQUM7UUFDcEUsQ0FBQyxDQUFDLEVBQ0Ysb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztJQUNKLENBQUM7SUFFRDs7Ozs7O09BTUc7SUFDSCxrQkFBa0IsQ0FBQyxTQUFpQixFQUFFLElBQWM7UUFDbEQsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDM0IsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ1QsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQ2xFLE1BQU0sTUFBTSxHQUEyQixFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRTtnQkFDakIsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLFNBQVMsSUFBSSxHQUFHLEdBQUcsQ0FBQztZQUM3RCxDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sTUFBTSxDQUFDO1FBQ2hCLENBQUMsQ0FBQyxFQUNGLG9CQUFvQixDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQ3BGLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsVUFBVSxDQUFDLFNBQWlCLEVBQUUsR0FBVztRQUN2QyxNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxZQUFZO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFaEMsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQzdDLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxJQUFJLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxLQUFLLFFBQVEsQ0FDbkUsQ0FBQztJQUNKLENBQUM7SUFFRCxvREFBb0Q7SUFDcEQsSUFBSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDO0lBQzFCLENBQUM7SUFFRCxJQUFJLElBQUksQ0FBQyxJQUFnQjtRQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3JCLENBQUM7K0dBL0hVLFdBQVcsa0JBTUYsb0JBQW9CO21IQU43QixXQUFXLGNBRlYsTUFBTTs7NEZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQU9jLE1BQU07MkJBQUMsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExBTkcgfSBmcm9tICcuLi8uLi9zaGFyZWQvY29uc3RhbnRzL3N0b3JhZ2UnO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlU2VydmljZSB9IGZyb20gJy4uL2xvY2FsLXN0b3JhZ2Uuc2VydmljZSc7XG5pbXBvcnQgeyBWYWx0ZWNoQ29uZmlnLCBWYWx0ZWNoQ29uZmlnU2VydmljZSB9IGZyb20gJy4uL3R5cGVzJztcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSAnLi9jb250ZW50JztcbmltcG9ydCB7IExhbmdPcHRpb24sIExhbmd1YWdlVGV4dCB9IGZyb20gJy4vdHlwZXMnO1xuXG4vKipcbiAqIExhbmdTZXJ2aWNlIC0gUmVhY3RpdmUgbGFuZ3VhZ2UgYW5kIGNvbnRlbnQgbWFuYWdlbWVudCBzZXJ2aWNlLlxuICpcbiAqIFRoaXMgc2VydmljZSBwcm92aWRlcyByZWFjdGl2ZSBjb250ZW50IG1hbmFnZW1lbnQgd2l0aCBPYnNlcnZhYmxlLWJhc2VkIGxhbmd1YWdlIHN3aXRjaGluZy5cbiAqIENvbXBvbmVudHMgY2FuIHN1YnNjcmliZSB0byBjb250ZW50IGNoYW5nZXMgYW5kIGF1dG9tYXRpY2FsbHkgdXBkYXRlIHdoZW4gdGhlIGxhbmd1YWdlIGNoYW5nZXMuXG4gKlxuICogQGV4YW1wbGUgQmFzaWMgdXNhZ2U6XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSkge31cbiAqXG4gKiAvLyBHZXQgY3VycmVudCBsYW5ndWFnZVxuICogY29uc3QgY3VycmVudExhbmcgPSB0aGlzLmxhbmdTZXJ2aWNlLmN1cnJlbnRMYW5nO1xuICpcbiAqIC8vIFN1YnNjcmliZSB0byBsYW5ndWFnZSBjaGFuZ2VzXG4gKiB0aGlzLmxhbmdTZXJ2aWNlLmN1cnJlbnRMYW5nJC5zdWJzY3JpYmUobGFuZyA9PiBjb25zb2xlLmxvZygnTGFuZ3VhZ2UgY2hhbmdlZDonLCBsYW5nKSk7XG4gKlxuICogLy8gR2V0IHN0YXRpYyB0ZXh0XG4gKiBjb25zdCB0ZXh0ID0gdGhpcy5sYW5nU2VydmljZS5nZXRUZXh0KCdDb21wb25lbnROYW1lJywgJ3RleHRLZXknKTtcbiAqXG4gKiAvLyBHZXQgcmVhY3RpdmUgdGV4dFxuICogY29uc3QgdGV4dCQgPSB0aGlzLmxhbmdTZXJ2aWNlLmdldENvbnRlbnQoJ0NvbXBvbmVudE5hbWUnLCAndGV4dEtleScpO1xuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMYW5nU2VydmljZSB7XG4gIHByaXZhdGUgY29udGVudDogUHJvdmlkZXI7XG4gIHByaXZhdGUgZGVmYXVsdCA9IExhbmdPcHRpb24uRVM7XG4gIHByaXZhdGUgc2VsZWN0ZWRMYW5nOiBCZWhhdmlvclN1YmplY3Q8TGFuZ09wdGlvbj47XG4gIHByaXZhdGUgY29uZmlnOiBWYWx0ZWNoQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoVmFsdGVjaENvbmZpZ1NlcnZpY2UpIGNvbmZpZzogVmFsdGVjaENvbmZpZykge1xuICAgIGNvbnNvbGUubG9nKCdpbmplY3RlZCBjb25maWc6ICcsIGNvbmZpZyk7XG4gICAgdGhpcy5jb250ZW50ID0gY29uZmlnLmNvbnRlbnQ7XG4gICAgdGhpcy5jb25maWcgPSBjb25maWc7XG4gICAgY29uc3QgY3VycmVudCA9IExvY2FsU3RvcmFnZVNlcnZpY2UuZ2V0PExhbmdPcHRpb24+KExBTkcpO1xuICAgIHRoaXMuc2VsZWN0ZWRMYW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxMYW5nT3B0aW9uPihjdXJyZW50IHx8IHRoaXMuZGVmYXVsdCk7XG4gIH1cblxuICAvKipcbiAgICogT2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHRoZSBjdXJyZW50IGxhbmd1YWdlIHdoZW5ldmVyIGl0IGNoYW5nZXMuXG4gICAqIFVzZSB0aGlzIHRvIHJlYWN0IHRvIGxhbmd1YWdlIGNoYW5nZXMgaW4gY29tcG9uZW50cy5cbiAgICovXG4gIGdldCBjdXJyZW50TGFuZyQoKTogT2JzZXJ2YWJsZTxMYW5nT3B0aW9uPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5nLmFzT2JzZXJ2YWJsZSgpLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IGxhbmd1YWdlIHN5bmNocm9ub3VzbHkuXG4gICAqL1xuICBnZXQgY3VycmVudExhbmcoKTogTGFuZ09wdGlvbiB7XG4gICAgcmV0dXJuIHRoaXMuc2VsZWN0ZWRMYW5nLnZhbHVlO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldCB0aGUgY3VycmVudCBsYW5ndWFnZSBhbmQgcGVyc2lzdCBpdCB0byBsb2NhbCBzdG9yYWdlLlxuICAgKiBUaGlzIHdpbGwgdHJpZ2dlciB1cGRhdGVzIGluIGFsbCBjb21wb25lbnRzIHN1YnNjcmliZWQgdG8gcmVhY3RpdmUgY29udGVudC5cbiAgICpcbiAgICogQHBhcmFtIGxhbmcgLSBUaGUgbGFuZ3VhZ2UgdG8gc2V0XG4gICAqL1xuICBzZXRMYW5nKGxhbmc6IExhbmdPcHRpb24pOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkTGFuZy5uZXh0KGxhbmcpO1xuICAgIExvY2FsU3RvcmFnZVNlcnZpY2Uuc2V0PExhbmdPcHRpb24+KExBTkcsIGxhbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhbGwgdGV4dCBjb250ZW50IGZvciBhIGNvbXBvbmVudCBjbGFzcyAobGVnYWN5IG1ldGhvZCBmb3IgY29tcGF0aWJpbGl0eSkuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWUgLSBUaGUgY29tcG9uZW50IGNsYXNzIG5hbWVcbiAgICogQHJldHVybnMgVGhlIGxhbmd1YWdlIHRleHQgb2JqZWN0IGZvciB0aGUgY3VycmVudCBsYW5ndWFnZVxuICAgKiBAZGVwcmVjYXRlZCBVc2UgZ2V0VGV4dCgpIG9yIGdldENvbnRlbnQoKSBmb3IgYmV0dGVyIHR5cGUgc2FmZXR5XG4gICAqL1xuICBUZXh0KGNsYXNzTmFtZTogc3RyaW5nKTogTGFuZ3VhZ2VUZXh0IHtcbiAgICByZXR1cm4gdGhpcy5jb250ZW50W2NsYXNzTmFtZV0/LkNvbnRlbnRbdGhpcy5zZWxlY3RlZExhbmcudmFsdWVdIHx8IHt9O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIHNwZWNpZmljIHRleHQgdmFsdWUgc3luY2hyb25vdXNseSBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWUgLSBUaGUgY29tcG9uZW50IGNsYXNzIG5hbWVcbiAgICogQHBhcmFtIGtleSAtIFRoZSB0ZXh0IGtleVxuICAgKiBAcGFyYW0gZmFsbGJhY2sgLSBPcHRpb25hbCBmYWxsYmFjayB0ZXh0IGlmIGtleSBpcyBub3QgZm91bmRcbiAgICogQHJldHVybnMgVGhlIHRleHQgc3RyaW5nIG9yIGZhbGxiYWNrXG4gICAqL1xuICBnZXRUZXh0KGNsYXNzTmFtZTogc3RyaW5nLCBrZXk6IHN0cmluZywgZmFsbGJhY2s/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IHRoaXMuY29udGVudFtjbGFzc05hbWVdPy5Db250ZW50W3RoaXMuc2VsZWN0ZWRMYW5nLnZhbHVlXTtcbiAgICByZXR1cm4gY2xhc3NDb250ZW50Py5ba2V5XSB8fCBmYWxsYmFjayB8fCBgWyR7Y2xhc3NOYW1lfS4ke2tleX1dYDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSByZWFjdGl2ZSBPYnNlcnZhYmxlIGZvciBhIHNwZWNpZmljIHRleHQga2V5IHRoYXQgdXBkYXRlcyB3aGVuIGxhbmd1YWdlIGNoYW5nZXMuXG4gICAqIFRoaXMgaXMgdGhlIHJlY29tbWVuZGVkIG1ldGhvZCBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgcmVhY3RpdmUgY29udGVudC5cbiAgICpcbiAgICogQHBhcmFtIGNsYXNzTmFtZSAtIFRoZSBjb21wb25lbnQgY2xhc3MgbmFtZVxuICAgKiBAcGFyYW0ga2V5IC0gVGhlIHRleHQga2V5XG4gICAqIEBwYXJhbSBmYWxsYmFjayAtIE9wdGlvbmFsIGZhbGxiYWNrIHRleHQgaWYga2V5IGlzIG5vdCBmb3VuZFxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIHRleHQgc3RyaW5nIHdoZW5ldmVyIGxhbmd1YWdlIGNoYW5nZXNcbiAgICovXG4gIGdldENvbnRlbnQoY2xhc3NOYW1lOiBzdHJpbmcsIGtleTogc3RyaW5nLCBmYWxsYmFjaz86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudExhbmckLnBpcGUoXG4gICAgICBtYXAobGFuZyA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IHRoaXMuY29udGVudFtjbGFzc05hbWVdPy5Db250ZW50W2xhbmddO1xuICAgICAgICByZXR1cm4gY2xhc3NDb250ZW50Py5ba2V5XSB8fCBmYWxsYmFjayB8fCBgWyR7Y2xhc3NOYW1lfS4ke2tleX1dYDtcbiAgICAgIH0pLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHJlYWN0aXZlIGNvbnRlbnQgZm9yIG11bHRpcGxlIGtleXMgYXQgb25jZS5cbiAgICpcbiAgICogQHBhcmFtIGNsYXNzTmFtZSAtIFRoZSBjb21wb25lbnQgY2xhc3MgbmFtZVxuICAgKiBAcGFyYW0ga2V5cyAtIEFycmF5IG9mIHRleHQga2V5cyB0byByZXRyaWV2ZVxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgYW4gb2JqZWN0IHdpdGggYWxsIHJlcXVlc3RlZCBrZXlzXG4gICAqL1xuICBnZXRNdWx0aXBsZUNvbnRlbnQoY2xhc3NOYW1lOiBzdHJpbmcsIGtleXM6IHN0cmluZ1tdKTogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudExhbmckLnBpcGUoXG4gICAgICBtYXAobGFuZyA9PiB7XG4gICAgICAgIGNvbnN0IGNsYXNzQ29udGVudCA9IHRoaXMuY29udGVudFtjbGFzc05hbWVdPy5Db250ZW50W2xhbmddIHx8IHt9O1xuICAgICAgICBjb25zdCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgICAgICAga2V5cy5mb3JFYWNoKGtleSA9PiB7XG4gICAgICAgICAgcmVzdWx0W2tleV0gPSBjbGFzc0NvbnRlbnRba2V5XSB8fCBgWyR7Y2xhc3NOYW1lfS4ke2tleX1dYDtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9KSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2LCBjdXJyKSA9PiBKU09OLnN0cmluZ2lmeShwcmV2KSA9PT0gSlNPTi5zdHJpbmdpZnkoY3VycikpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVjayBpZiBhIGNvbnRlbnQga2V5IGV4aXN0cyBmb3IgYSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjbGFzc05hbWUgLSBUaGUgY29tcG9uZW50IGNsYXNzIG5hbWVcbiAgICogQHBhcmFtIGtleSAtIFRoZSB0ZXh0IGtleVxuICAgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBrZXkgZXhpc3RzIGluIGFueSBsYW5ndWFnZVxuICAgKi9cbiAgaGFzQ29udGVudChjbGFzc05hbWU6IHN0cmluZywga2V5OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBjb25zdCBjbGFzc0NvbnRlbnQgPSB0aGlzLmNvbnRlbnRbY2xhc3NOYW1lXTtcbiAgICBpZiAoIWNsYXNzQ29udGVudCkgcmV0dXJuIGZhbHNlO1xuXG4gICAgcmV0dXJuIE9iamVjdC52YWx1ZXMoY2xhc3NDb250ZW50LkNvbnRlbnQpLnNvbWUoXG4gICAgICBsYW5nQ29udGVudCA9PiBsYW5nQ29udGVudCAmJiB0eXBlb2YgbGFuZ0NvbnRlbnRba2V5XSA9PT0gJ3N0cmluZydcbiAgICApO1xuICB9XG5cbiAgLy8gTGVnYWN5IGdldHRlcnMvc2V0dGVycyBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICBnZXQgTGFuZygpOiBMYW5nT3B0aW9uIHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50TGFuZztcbiAgfVxuXG4gIHNldCBMYW5nKGxhbmc6IExhbmdPcHRpb24pIHtcbiAgICB0aGlzLnNldExhbmcobGFuZyk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,186 @@
1
+ import { map } from 'rxjs';
2
+ /**
3
+ * Create a reactive content observable from a content key.
4
+ * This is the primary utility for the `fromContent` pattern with unified support
5
+ * for both simple content and content with interpolation.
6
+ *
7
+ * @param langService - The language service instance
8
+ * @param config - Content configuration with optional interpolation
9
+ * @returns Observable that emits the content string and updates on language change
10
+ *
11
+ * @example Simple content:
12
+ * ```typescript
13
+ * // Component-specific content
14
+ * this.title$ = fromContent(this.langService, {
15
+ * className: 'HeaderComponent',
16
+ * key: 'title',
17
+ * fallback: 'Default Title'
18
+ * });
19
+ *
20
+ * // Global content (no className needed)
21
+ * this.saveButton$ = fromContent(this.langService, {
22
+ * key: 'save'
23
+ * });
24
+ * ```
25
+ *
26
+ * @example Content with interpolation:
27
+ * ```typescript
28
+ * // Content: "Hello {name}, you have {count} messages"
29
+ * this.greeting$ = fromContent(this.langService, {
30
+ * className: 'WelcomeComponent',
31
+ * key: 'greeting',
32
+ * interpolation: { name: 'John', count: 5 }
33
+ * });
34
+ * // Results in: "Hello John, you have 5 messages"
35
+ * ```
36
+ */
37
+ export function fromContent(langService, config) {
38
+ // Use _global as default className if not provided
39
+ const finalClassName = config.className || '_global';
40
+ const contentObservable = langService.getContent(finalClassName, config.key, config.fallback);
41
+ // If interpolation is provided, apply it
42
+ if (config.interpolation) {
43
+ return contentObservable.pipe(map(content => interpolateContent(content, config.interpolation)));
44
+ }
45
+ return contentObservable;
46
+ }
47
+ /**
48
+ * Create a reactive content observable with interpolation support.
49
+ *
50
+ * @deprecated Use fromContent() with interpolation property instead.
51
+ * This method is kept for backward compatibility.
52
+ *
53
+ * @param langService - The language service instance
54
+ * @param config - Interpolated content configuration
55
+ * @returns Observable that emits the interpolated content string
56
+ *
57
+ * @example Migration:
58
+ * ```typescript
59
+ * // OLD (deprecated):
60
+ * this.greeting$ = fromContentWithInterpolation(this.langService, {
61
+ * className: 'WelcomeComponent',
62
+ * key: 'greeting',
63
+ * interpolation: { name: 'John', count: 5 }
64
+ * });
65
+ *
66
+ * // NEW (recommended):
67
+ * this.greeting$ = fromContent(this.langService, {
68
+ * className: 'WelcomeComponent',
69
+ * key: 'greeting',
70
+ * interpolation: { name: 'John', count: 5 }
71
+ * });
72
+ * ```
73
+ */
74
+ export function fromContentWithInterpolation(langService, config) {
75
+ // Delegate to the unified fromContent method
76
+ return fromContent(langService, config);
77
+ }
78
+ /**
79
+ * Create multiple reactive content observables at once.
80
+ * Useful when a component needs several content strings.
81
+ *
82
+ * @param langService - The language service instance
83
+ * @param className - The component class name
84
+ * @param keys - Array of content keys to retrieve
85
+ * @returns Observable that emits an object with all requested content
86
+ *
87
+ * @example
88
+ * ```typescript
89
+ * this.content$ = fromMultipleContent(this.langService, 'FormComponent', [
90
+ * 'title', 'submitButton', 'cancelButton'
91
+ * ]);
92
+ *
93
+ * // In template
94
+ * <ng-container *ngIf="content$ | async as content">
95
+ * <h2>{{ content.title }}</h2>
96
+ * <button>{{ content.submitButton }}</button>
97
+ * <button>{{ content.cancelButton }}</button>
98
+ * </ng-container>
99
+ * ```
100
+ */
101
+ export function fromMultipleContent(langService, className, keys) {
102
+ return langService.getMultipleContent(className, keys);
103
+ }
104
+ /**
105
+ * Helper function to interpolate values into a content string.
106
+ * Replaces placeholders in the format {key} with corresponding values.
107
+ *
108
+ * @param content - The content string with placeholders
109
+ * @param values - Object with values to interpolate
110
+ * @returns The interpolated string
111
+ *
112
+ * @example
113
+ * ```typescript
114
+ * const result = interpolateContent("Hello {name}!", { name: "World" });
115
+ * // Returns: "Hello World!"
116
+ * ```
117
+ */
118
+ export function interpolateContent(content, values) {
119
+ if (!values)
120
+ return content;
121
+ return Object.entries(values).reduce((result, [key, value]) => {
122
+ return result.replace(new RegExp(`\\{${key}\\}`, 'g'), String(value));
123
+ }, content);
124
+ }
125
+ /**
126
+ * Factory function to create a content helper bound to a specific component class.
127
+ * This creates a more convenient API for components that need multiple content strings.
128
+ *
129
+ * @param langService - The language service instance
130
+ * @param className - The component class name
131
+ * @returns Object with convenient methods for content retrieval
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * export class MyComponent {
136
+ * private content = createContentHelper(this.langService, 'MyComponent');
137
+ *
138
+ * constructor(private langService: LangService) {}
139
+ *
140
+ * ngOnInit() {
141
+ * this.title$ = this.content.get('title');
142
+ * this.allContent$ = this.content.getMultiple(['title', 'description']);
143
+ * }
144
+ * }
145
+ * ```
146
+ */
147
+ export function createContentHelper(langService, className) {
148
+ return {
149
+ /**
150
+ * Get a single content string reactively.
151
+ */
152
+ get(key, fallback) {
153
+ return fromContent(langService, { className, key, fallback });
154
+ },
155
+ /**
156
+ * Get multiple content strings reactively.
157
+ */
158
+ getMultiple(keys) {
159
+ return fromMultipleContent(langService, className, keys);
160
+ },
161
+ /**
162
+ * Get content with interpolation.
163
+ */
164
+ getWithInterpolation(key, interpolation, fallback) {
165
+ return fromContentWithInterpolation(langService, {
166
+ className,
167
+ key,
168
+ interpolation,
169
+ fallback,
170
+ });
171
+ },
172
+ /**
173
+ * Get a single content string synchronously (current language only).
174
+ */
175
+ getText(key, fallback) {
176
+ return langService.getText(className, key, fallback);
177
+ },
178
+ /**
179
+ * Check if a content key exists.
180
+ */
181
+ hasContent(key) {
182
+ return langService.hasContent(className, key);
183
+ },
184
+ };
185
+ }
186
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvbGliL3NoYXJlZC91dGlscy9jb250ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFxQ3ZDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBa0NHO0FBQ0gsTUFBTSxVQUFVLFdBQVcsQ0FBQyxXQUF3QixFQUFFLE1BQXFCO0lBQ3pFLG1EQUFtRDtJQUNuRCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsU0FBUyxJQUFJLFNBQVMsQ0FBQztJQUVyRCxNQUFNLGlCQUFpQixHQUFHLFdBQVcsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEVBQUUsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTlGLHlDQUF5QztJQUN6QyxJQUFJLE1BQU0sQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN6QixPQUFPLGlCQUFpQixDQUFDLElBQUksQ0FDM0IsR0FBRyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsa0JBQWtCLENBQUMsT0FBTyxFQUFFLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUNsRSxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU8saUJBQWlCLENBQUM7QUFDM0IsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQU0sVUFBVSw0QkFBNEIsQ0FDMUMsV0FBd0IsRUFDeEIsTUFBaUM7SUFFakMsNkNBQTZDO0lBQzdDLE9BQU8sV0FBVyxDQUFDLFdBQVcsRUFBRSxNQUFNLENBQUMsQ0FBQztBQUMxQyxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FzQkc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLFdBQXdCLEVBQ3hCLFNBQWlCLEVBQ2pCLElBQWM7SUFFZCxPQUFPLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVEOzs7Ozs7Ozs7Ozs7O0dBYUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLE9BQWUsRUFDZixNQUF3QztJQUV4QyxJQUFJLENBQUMsTUFBTTtRQUFFLE9BQU8sT0FBTyxDQUFDO0lBRTVCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUM1RCxPQUFPLE1BQU0sQ0FBQyxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsTUFBTSxHQUFHLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztJQUN4RSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7QUFDZCxDQUFDO0FBc0JEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FxQkc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQUMsV0FBd0IsRUFBRSxTQUFpQjtJQUM3RSxPQUFPO1FBQ0w7O1dBRUc7UUFDSCxHQUFHLENBQUMsR0FBVyxFQUFFLFFBQWlCO1lBQ2hDLE9BQU8sV0FBVyxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUNoRSxDQUFDO1FBRUQ7O1dBRUc7UUFDSCxXQUFXLENBQUMsSUFBYztZQUN4QixPQUFPLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDM0QsQ0FBQztRQUVEOztXQUVHO1FBQ0gsb0JBQW9CLENBQ2xCLEdBQVcsRUFDWCxhQUE4QyxFQUM5QyxRQUFpQjtZQUVqQixPQUFPLDRCQUE0QixDQUFDLFdBQVcsRUFBRTtnQkFDL0MsU0FBUztnQkFDVCxHQUFHO2dCQUNILGFBQWE7Z0JBQ2IsUUFBUTthQUNULENBQUMsQ0FBQztRQUNMLENBQUM7UUFFRDs7V0FFRztRQUNILE9BQU8sQ0FBQyxHQUFXLEVBQUUsUUFBaUI7WUFDcEMsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDdkQsQ0FBQztRQUVEOztXQUVHO1FBQ0gsVUFBVSxDQUFDLEdBQVc7WUFDcEIsT0FBTyxXQUFXLENBQUMsVUFBVSxDQUFDLFNBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNoRCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IExhbmdTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UnO1xuXG4vKipcbiAqIENvbnRlbnQgdXRpbGl0aWVzIGZvciByZWFjdGl2ZSB0ZXh0IGJpbmRpbmcgaW4gY29tcG9uZW50cy5cbiAqXG4gKiBUaGVzZSB1dGlsaXRpZXMgcHJvdmlkZSBhIGNvbnZlbmllbnQgd2F5IHRvIGJpbmQgY29tcG9uZW50IHByb3BlcnRpZXNcbiAqIHRvIGxhbmd1YWdlIGNvbnRlbnQgdGhhdCBhdXRvbWF0aWNhbGx5IHVwZGF0ZXMgd2hlbiB0aGUgbGFuZ3VhZ2UgY2hhbmdlcy5cbiAqL1xuXG4vKipcbiAqIFVuaWZpZWQgY29uZmlndXJhdGlvbiBmb3IgY29udGVudCBiaW5kaW5nIHdpdGggb3B0aW9uYWwgaW50ZXJwb2xhdGlvbi5cbiAqIFN1cHBvcnRzIGJvdGggc2ltcGxlIGNvbnRlbnQgcmV0cmlldmFsIGFuZCBjb250ZW50IHdpdGggZHluYW1pYyB2YWx1ZXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29udGVudENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50IGNsYXNzIG5hbWUgKHVzZWQgZm9yIGNvbnRlbnQgbG9va3VwKS5cbiAgICogSWYgb21pdHRlZCwgc2VhcmNoZXMgaW4gZ2xvYmFsIGNvbnRlbnQgKF9nbG9iYWwgbmFtZXNwYWNlKS5cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgLyoqIFRoZSBjb250ZW50IGtleSB0byByZXRyaWV2ZSAqL1xuICBrZXk6IHN0cmluZztcbiAgLyoqIE9wdGlvbmFsIGZhbGxiYWNrIHRleHQgaWYgY29udGVudCBpcyBub3QgZm91bmQgKi9cbiAgZmFsbGJhY2s/OiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBvYmplY3Qgd2l0aCB2YWx1ZXMgdG8gaW50ZXJwb2xhdGUgaW50byB0aGUgY29udGVudCBzdHJpbmcgKi9cbiAgaW50ZXJwb2xhdGlvbj86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj47XG59XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgVXNlIENvbnRlbnRDb25maWcgd2l0aCBpbnRlcnBvbGF0aW9uIHByb3BlcnR5IGluc3RlYWQuXG4gKiBUaGlzIGludGVyZmFjZSBpcyBrZXB0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEludGVycG9sYXRlZENvbnRlbnRDb25maWcgZXh0ZW5kcyBDb250ZW50Q29uZmlnIHtcbiAgLyoqIE9iamVjdCB3aXRoIHZhbHVlcyB0byBpbnRlcnBvbGF0ZSBpbnRvIHRoZSBjb250ZW50IHN0cmluZyAqL1xuICBpbnRlcnBvbGF0aW9uPzogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyPjtcbn1cblxuLyoqXG4gKiBDcmVhdGUgYSByZWFjdGl2ZSBjb250ZW50IG9ic2VydmFibGUgZnJvbSBhIGNvbnRlbnQga2V5LlxuICogVGhpcyBpcyB0aGUgcHJpbWFyeSB1dGlsaXR5IGZvciB0aGUgYGZyb21Db250ZW50YCBwYXR0ZXJuIHdpdGggdW5pZmllZCBzdXBwb3J0XG4gKiBmb3IgYm90aCBzaW1wbGUgY29udGVudCBhbmQgY29udGVudCB3aXRoIGludGVycG9sYXRpb24uXG4gKlxuICogQHBhcmFtIGxhbmdTZXJ2aWNlIC0gVGhlIGxhbmd1YWdlIHNlcnZpY2UgaW5zdGFuY2VcbiAqIEBwYXJhbSBjb25maWcgLSBDb250ZW50IGNvbmZpZ3VyYXRpb24gd2l0aCBvcHRpb25hbCBpbnRlcnBvbGF0aW9uXG4gKiBAcmV0dXJucyBPYnNlcnZhYmxlIHRoYXQgZW1pdHMgdGhlIGNvbnRlbnQgc3RyaW5nIGFuZCB1cGRhdGVzIG9uIGxhbmd1YWdlIGNoYW5nZVxuICpcbiAqIEBleGFtcGxlIFNpbXBsZSBjb250ZW50OlxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gQ29tcG9uZW50LXNwZWNpZmljIGNvbnRlbnRcbiAqIHRoaXMudGl0bGUkID0gZnJvbUNvbnRlbnQodGhpcy5sYW5nU2VydmljZSwge1xuICogICBjbGFzc05hbWU6ICdIZWFkZXJDb21wb25lbnQnLFxuICogICBrZXk6ICd0aXRsZScsXG4gKiAgIGZhbGxiYWNrOiAnRGVmYXVsdCBUaXRsZSdcbiAqIH0pO1xuICpcbiAqIC8vIEdsb2JhbCBjb250ZW50IChubyBjbGFzc05hbWUgbmVlZGVkKVxuICogdGhpcy5zYXZlQnV0dG9uJCA9IGZyb21Db250ZW50KHRoaXMubGFuZ1NlcnZpY2UsIHtcbiAqICAga2V5OiAnc2F2ZSdcbiAqIH0pO1xuICogYGBgXG4gKlxuICogQGV4YW1wbGUgQ29udGVudCB3aXRoIGludGVycG9sYXRpb246XG4gKiBgYGB0eXBlc2NyaXB0XG4gKiAvLyBDb250ZW50OiBcIkhlbGxvIHtuYW1lfSwgeW91IGhhdmUge2NvdW50fSBtZXNzYWdlc1wiXG4gKiB0aGlzLmdyZWV0aW5nJCA9IGZyb21Db250ZW50KHRoaXMubGFuZ1NlcnZpY2UsIHtcbiAqICAgY2xhc3NOYW1lOiAnV2VsY29tZUNvbXBvbmVudCcsXG4gKiAgIGtleTogJ2dyZWV0aW5nJyxcbiAqICAgaW50ZXJwb2xhdGlvbjogeyBuYW1lOiAnSm9obicsIGNvdW50OiA1IH1cbiAqIH0pO1xuICogLy8gUmVzdWx0cyBpbjogXCJIZWxsbyBKb2huLCB5b3UgaGF2ZSA1IG1lc3NhZ2VzXCJcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gZnJvbUNvbnRlbnQobGFuZ1NlcnZpY2U6IExhbmdTZXJ2aWNlLCBjb25maWc6IENvbnRlbnRDb25maWcpOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAvLyBVc2UgX2dsb2JhbCBhcyBkZWZhdWx0IGNsYXNzTmFtZSBpZiBub3QgcHJvdmlkZWRcbiAgY29uc3QgZmluYWxDbGFzc05hbWUgPSBjb25maWcuY2xhc3NOYW1lIHx8ICdfZ2xvYmFsJztcblxuICBjb25zdCBjb250ZW50T2JzZXJ2YWJsZSA9IGxhbmdTZXJ2aWNlLmdldENvbnRlbnQoZmluYWxDbGFzc05hbWUsIGNvbmZpZy5rZXksIGNvbmZpZy5mYWxsYmFjayk7XG5cbiAgLy8gSWYgaW50ZXJwb2xhdGlvbiBpcyBwcm92aWRlZCwgYXBwbHkgaXRcbiAgaWYgKGNvbmZpZy5pbnRlcnBvbGF0aW9uKSB7XG4gICAgcmV0dXJuIGNvbnRlbnRPYnNlcnZhYmxlLnBpcGUoXG4gICAgICBtYXAoY29udGVudCA9PiBpbnRlcnBvbGF0ZUNvbnRlbnQoY29udGVudCwgY29uZmlnLmludGVycG9sYXRpb24pKVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gY29udGVudE9ic2VydmFibGU7XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgcmVhY3RpdmUgY29udGVudCBvYnNlcnZhYmxlIHdpdGggaW50ZXJwb2xhdGlvbiBzdXBwb3J0LlxuICpcbiAqIEBkZXByZWNhdGVkIFVzZSBmcm9tQ29udGVudCgpIHdpdGggaW50ZXJwb2xhdGlvbiBwcm9wZXJ0eSBpbnN0ZWFkLlxuICogVGhpcyBtZXRob2QgaXMga2VwdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eS5cbiAqXG4gKiBAcGFyYW0gbGFuZ1NlcnZpY2UgLSBUaGUgbGFuZ3VhZ2Ugc2VydmljZSBpbnN0YW5jZVxuICogQHBhcmFtIGNvbmZpZyAtIEludGVycG9sYXRlZCBjb250ZW50IGNvbmZpZ3VyYXRpb25cbiAqIEByZXR1cm5zIE9ic2VydmFibGUgdGhhdCBlbWl0cyB0aGUgaW50ZXJwb2xhdGVkIGNvbnRlbnQgc3RyaW5nXG4gKlxuICogQGV4YW1wbGUgTWlncmF0aW9uOlxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gT0xEIChkZXByZWNhdGVkKTpcbiAqIHRoaXMuZ3JlZXRpbmckID0gZnJvbUNvbnRlbnRXaXRoSW50ZXJwb2xhdGlvbih0aGlzLmxhbmdTZXJ2aWNlLCB7XG4gKiAgIGNsYXNzTmFtZTogJ1dlbGNvbWVDb21wb25lbnQnLFxuICogICBrZXk6ICdncmVldGluZycsXG4gKiAgIGludGVycG9sYXRpb246IHsgbmFtZTogJ0pvaG4nLCBjb3VudDogNSB9XG4gKiB9KTtcbiAqXG4gKiAvLyBORVcgKHJlY29tbWVuZGVkKTpcbiAqIHRoaXMuZ3JlZXRpbmckID0gZnJvbUNvbnRlbnQodGhpcy5sYW5nU2VydmljZSwge1xuICogICBjbGFzc05hbWU6ICdXZWxjb21lQ29tcG9uZW50JyxcbiAqICAga2V5OiAnZ3JlZXRpbmcnLFxuICogICBpbnRlcnBvbGF0aW9uOiB7IG5hbWU6ICdKb2huJywgY291bnQ6IDUgfVxuICogfSk7XG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21Db250ZW50V2l0aEludGVycG9sYXRpb24oXG4gIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSxcbiAgY29uZmlnOiBJbnRlcnBvbGF0ZWRDb250ZW50Q29uZmlnXG4pOiBPYnNlcnZhYmxlPHN0cmluZz4ge1xuICAvLyBEZWxlZ2F0ZSB0byB0aGUgdW5pZmllZCBmcm9tQ29udGVudCBtZXRob2RcbiAgcmV0dXJuIGZyb21Db250ZW50KGxhbmdTZXJ2aWNlLCBjb25maWcpO1xufVxuXG4vKipcbiAqIENyZWF0ZSBtdWx0aXBsZSByZWFjdGl2ZSBjb250ZW50IG9ic2VydmFibGVzIGF0IG9uY2UuXG4gKiBVc2VmdWwgd2hlbiBhIGNvbXBvbmVudCBuZWVkcyBzZXZlcmFsIGNvbnRlbnQgc3RyaW5ncy5cbiAqXG4gKiBAcGFyYW0gbGFuZ1NlcnZpY2UgLSBUaGUgbGFuZ3VhZ2Ugc2VydmljZSBpbnN0YW5jZVxuICogQHBhcmFtIGNsYXNzTmFtZSAtIFRoZSBjb21wb25lbnQgY2xhc3MgbmFtZVxuICogQHBhcmFtIGtleXMgLSBBcnJheSBvZiBjb250ZW50IGtleXMgdG8gcmV0cmlldmVcbiAqIEByZXR1cm5zIE9ic2VydmFibGUgdGhhdCBlbWl0cyBhbiBvYmplY3Qgd2l0aCBhbGwgcmVxdWVzdGVkIGNvbnRlbnRcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogdGhpcy5jb250ZW50JCA9IGZyb21NdWx0aXBsZUNvbnRlbnQodGhpcy5sYW5nU2VydmljZSwgJ0Zvcm1Db21wb25lbnQnLCBbXG4gKiAgICd0aXRsZScsICdzdWJtaXRCdXR0b24nLCAnY2FuY2VsQnV0dG9uJ1xuICogXSk7XG4gKlxuICogLy8gSW4gdGVtcGxhdGVcbiAqIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50JCB8IGFzeW5jIGFzIGNvbnRlbnRcIj5cbiAqICAgPGgyPnt7IGNvbnRlbnQudGl0bGUgfX08L2gyPlxuICogICA8YnV0dG9uPnt7IGNvbnRlbnQuc3VibWl0QnV0dG9uIH19PC9idXR0b24+XG4gKiAgIDxidXR0b24+e3sgY29udGVudC5jYW5jZWxCdXR0b24gfX08L2J1dHRvbj5cbiAqIDwvbmctY29udGFpbmVyPlxuICogYGBgXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tTXVsdGlwbGVDb250ZW50KFxuICBsYW5nU2VydmljZTogTGFuZ1NlcnZpY2UsXG4gIGNsYXNzTmFtZTogc3RyaW5nLFxuICBrZXlzOiBzdHJpbmdbXVxuKTogT2JzZXJ2YWJsZTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PiB7XG4gIHJldHVybiBsYW5nU2VydmljZS5nZXRNdWx0aXBsZUNvbnRlbnQoY2xhc3NOYW1lLCBrZXlzKTtcbn1cblxuLyoqXG4gKiBIZWxwZXIgZnVuY3Rpb24gdG8gaW50ZXJwb2xhdGUgdmFsdWVzIGludG8gYSBjb250ZW50IHN0cmluZy5cbiAqIFJlcGxhY2VzIHBsYWNlaG9sZGVycyBpbiB0aGUgZm9ybWF0IHtrZXl9IHdpdGggY29ycmVzcG9uZGluZyB2YWx1ZXMuXG4gKlxuICogQHBhcmFtIGNvbnRlbnQgLSBUaGUgY29udGVudCBzdHJpbmcgd2l0aCBwbGFjZWhvbGRlcnNcbiAqIEBwYXJhbSB2YWx1ZXMgLSBPYmplY3Qgd2l0aCB2YWx1ZXMgdG8gaW50ZXJwb2xhdGVcbiAqIEByZXR1cm5zIFRoZSBpbnRlcnBvbGF0ZWQgc3RyaW5nXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0IHJlc3VsdCA9IGludGVycG9sYXRlQ29udGVudChcIkhlbGxvIHtuYW1lfSFcIiwgeyBuYW1lOiBcIldvcmxkXCIgfSk7XG4gKiAvLyBSZXR1cm5zOiBcIkhlbGxvIFdvcmxkIVwiXG4gKiBgYGBcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGludGVycG9sYXRlQ29udGVudChcbiAgY29udGVudDogc3RyaW5nLFxuICB2YWx1ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCBudW1iZXI+XG4pOiBzdHJpbmcge1xuICBpZiAoIXZhbHVlcykgcmV0dXJuIGNvbnRlbnQ7XG5cbiAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHZhbHVlcykucmVkdWNlKChyZXN1bHQsIFtrZXksIHZhbHVlXSkgPT4ge1xuICAgIHJldHVybiByZXN1bHQucmVwbGFjZShuZXcgUmVnRXhwKGBcXFxceyR7a2V5fVxcXFx9YCwgJ2cnKSwgU3RyaW5nKHZhbHVlKSk7XG4gIH0sIGNvbnRlbnQpO1xufVxuXG4vKipcbiAqIFR5cGUtc2FmZSBjb250ZW50IGtleSBidWlsZGVyIGZvciBiZXR0ZXIgSURFIHN1cHBvcnQuXG4gKiBUaGlzIGlzIGEgdXRpbGl0eSB0eXBlIHRoYXQgY2FuIGJlIHVzZWQgdG8gZW5zdXJlIGNvbnRlbnQga2V5cyBleGlzdC5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgdHlwZXNjcmlwdFxuICogLy8gRGVmaW5lIHlvdXIgY29tcG9uZW50J3MgY29udGVudCBrZXlzXG4gKiBpbnRlcmZhY2UgTXlDb21wb25lbnRDb250ZW50IHtcbiAqICAgdGl0bGU6IHN0cmluZztcbiAqICAgZGVzY3JpcHRpb246IHN0cmluZztcbiAqICAgc3VibWl0QnV0dG9uOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogLy8gVXNlIHdpdGggdHlwZSBzYWZldHlcbiAqIGNvbnN0IHRpdGxlS2V5OiBDb250ZW50S2V5PE15Q29tcG9uZW50Q29udGVudD4gPSAndGl0bGUnOyAvLyDinJMgVmFsaWRcbiAqIGNvbnN0IGludmFsaWRLZXk6IENvbnRlbnRLZXk8TXlDb21wb25lbnRDb250ZW50PiA9ICdpbnZhbGlkJzsgLy8g4pyXIFR5cGUgZXJyb3JcbiAqIGBgYFxuICovXG5leHBvcnQgdHlwZSBDb250ZW50S2V5PFQ+ID0ga2V5b2YgVCAmIHN0cmluZztcblxuLyoqXG4gKiBGYWN0b3J5IGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIGNvbnRlbnQgaGVscGVyIGJvdW5kIHRvIGEgc3BlY2lmaWMgY29tcG9uZW50IGNsYXNzLlxuICogVGhpcyBjcmVhdGVzIGEgbW9yZSBjb252ZW5pZW50IEFQSSBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgbXVsdGlwbGUgY29udGVudCBzdHJpbmdzLlxuICpcbiAqIEBwYXJhbSBsYW5nU2VydmljZSAtIFRoZSBsYW5ndWFnZSBzZXJ2aWNlIGluc3RhbmNlXG4gKiBAcGFyYW0gY2xhc3NOYW1lIC0gVGhlIGNvbXBvbmVudCBjbGFzcyBuYW1lXG4gKiBAcmV0dXJucyBPYmplY3Qgd2l0aCBjb252ZW5pZW50IG1ldGhvZHMgZm9yIGNvbnRlbnQgcmV0cmlldmFsXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCB7XG4gKiAgIHByaXZhdGUgY29udGVudCA9IGNyZWF0ZUNvbnRlbnRIZWxwZXIodGhpcy5sYW5nU2VydmljZSwgJ015Q29tcG9uZW50Jyk7XG4gKlxuICogICBjb25zdHJ1Y3Rvcihwcml2YXRlIGxhbmdTZXJ2aWNlOiBMYW5nU2VydmljZSkge31cbiAqXG4gKiAgIG5nT25Jbml0KCkge1xuICogICAgIHRoaXMudGl0bGUkID0gdGhpcy5jb250ZW50LmdldCgndGl0bGUnKTtcbiAqICAgICB0aGlzLmFsbENvbnRlbnQkID0gdGhpcy5jb250ZW50LmdldE11bHRpcGxlKFsndGl0bGUnLCAnZGVzY3JpcHRpb24nXSk7XG4gKiAgIH1cbiAqIH1cbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlQ29udGVudEhlbHBlcihsYW5nU2VydmljZTogTGFuZ1NlcnZpY2UsIGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogR2V0IGEgc2luZ2xlIGNvbnRlbnQgc3RyaW5nIHJlYWN0aXZlbHkuXG4gICAgICovXG4gICAgZ2V0KGtleTogc3RyaW5nLCBmYWxsYmFjaz86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gZnJvbUNvbnRlbnQobGFuZ1NlcnZpY2UsIHsgY2xhc3NOYW1lLCBrZXksIGZhbGxiYWNrIH0pO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBHZXQgbXVsdGlwbGUgY29udGVudCBzdHJpbmdzIHJlYWN0aXZlbHkuXG4gICAgICovXG4gICAgZ2V0TXVsdGlwbGUoa2V5czogc3RyaW5nW10pOiBPYnNlcnZhYmxlPFJlY29yZDxzdHJpbmcsIHN0cmluZz4+IHtcbiAgICAgIHJldHVybiBmcm9tTXVsdGlwbGVDb250ZW50KGxhbmdTZXJ2aWNlLCBjbGFzc05hbWUsIGtleXMpO1xuICAgIH0sXG5cbiAgICAvKipcbiAgICAgKiBHZXQgY29udGVudCB3aXRoIGludGVycG9sYXRpb24uXG4gICAgICovXG4gICAgZ2V0V2l0aEludGVycG9sYXRpb24oXG4gICAgICBrZXk6IHN0cmluZyxcbiAgICAgIGludGVycG9sYXRpb246IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlcj4sXG4gICAgICBmYWxsYmFjaz86IHN0cmluZ1xuICAgICk6IE9ic2VydmFibGU8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gZnJvbUNvbnRlbnRXaXRoSW50ZXJwb2xhdGlvbihsYW5nU2VydmljZSwge1xuICAgICAgICBjbGFzc05hbWUsXG4gICAgICAgIGtleSxcbiAgICAgICAgaW50ZXJwb2xhdGlvbixcbiAgICAgICAgZmFsbGJhY2ssXG4gICAgICB9KTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogR2V0IGEgc2luZ2xlIGNvbnRlbnQgc3RyaW5nIHN5bmNocm9ub3VzbHkgKGN1cnJlbnQgbGFuZ3VhZ2Ugb25seSkuXG4gICAgICovXG4gICAgZ2V0VGV4dChrZXk6IHN0cmluZywgZmFsbGJhY2s/OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgICAgcmV0dXJuIGxhbmdTZXJ2aWNlLmdldFRleHQoY2xhc3NOYW1lLCBrZXksIGZhbGxiYWNrKTtcbiAgICB9LFxuXG4gICAgLyoqXG4gICAgICogQ2hlY2sgaWYgYSBjb250ZW50IGtleSBleGlzdHMuXG4gICAgICovXG4gICAgaGFzQ29udGVudChrZXk6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgcmV0dXJuIGxhbmdTZXJ2aWNlLmhhc0NvbnRlbnQoY2xhc3NOYW1lLCBrZXkpO1xuICAgIH0sXG4gIH07XG59XG4iXX0=
@@ -43,6 +43,8 @@ export * from './lib/components/molecules/expandable-text/types';
43
43
  export * from './lib/components/molecules/file-input/file-input.component';
44
44
  export * from './lib/components/molecules/hint/hint.component';
45
45
  export * from './lib/components/molecules/hour-input/hour-input.component';
46
+ export * from './lib/components/molecules/layered-card/layered-card.component';
47
+ export * from './lib/components/molecules/layered-card/types';
46
48
  export * from './lib/components/molecules/link/link.component';
47
49
  export * from './lib/components/molecules/link/types';
48
50
  export * from './lib/components/molecules/links-cake/links-cake.component';
@@ -57,14 +59,12 @@ export * from './lib/components/molecules/progress-status/types';
57
59
  export * from './lib/components/molecules/prompter/prompter.component';
58
60
  export * from './lib/components/molecules/prompter/types';
59
61
  export * from './lib/components/molecules/radio-input/radio-input.component';
60
- export * from './lib/components/molecules/select-search/select-search.component';
61
62
  export * from './lib/components/molecules/searchbar/searchbar.component';
62
63
  export * from './lib/components/molecules/select-input/select-input.component';
64
+ export * from './lib/components/molecules/select-search/select-search.component';
63
65
  export * from './lib/components/molecules/text-input/text-input.component';
64
66
  export * from './lib/components/molecules/title-block/title-block.component';
65
67
  export * from './lib/components/molecules/title-block/types';
66
- export * from './lib/components/molecules/layered-card/layered-card.component';
67
- export * from './lib/components/molecules/layered-card/types';
68
68
  export * from './lib/components/organisms/banner/banner.component';
69
69
  export * from './lib/components/organisms/banner/types';
70
70
  export * from './lib/components/organisms/footer/footer.component';
@@ -85,6 +85,10 @@ export * from './lib/components/organisms/wizard/wizard.component';
85
85
  export * from './lib/components/templates/layout/layout.component';
86
86
  export * from './lib/components/templates/simple/simple.component';
87
87
  export * from './lib/components/templates/simple/types';
88
+ // Examples
89
+ export * from './lib/components/_examples/global-content-example.component';
90
+ export * from './lib/components/_examples/reactive-content-example.component';
91
+ export * from './lib/services/content.service';
88
92
  export * from './lib/services/download.service';
89
93
  export * from './lib/services/icons.service';
90
94
  export * from './lib/services/in-app-browser.service';
@@ -96,7 +100,9 @@ export * from './lib/services/theme.service';
96
100
  export * from './lib/services/toast.service';
97
101
  export * from './lib/services/types';
98
102
  export * from './lib/components/types';
103
+ export * from './lib/shared/utils/content';
99
104
  export * from './lib/shared/utils/dom';
100
- export * from './lib/shared/utils/text';
105
+ export * from './lib/shared/utils/form-defaults';
101
106
  export * from './lib/shared/utils/styles';
102
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBRUgsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLG9FQUFvRSxDQUFDO0FBQ25GLGNBQWMsMERBQTBELENBQUM7QUFDekUsY0FBYyxzRUFBc0UsQ0FBQztBQUNyRixjQUFjLGtEQUFrRCxDQUFDO0FBQ2pFLGNBQWMsd0RBQXdELENBQUM7QUFDdkUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLGdFQUFnRSxDQUFDO0FBQy9FLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDhDQUE4QyxDQUFDO0FBQzdELGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYywrQ0FBK0MsQ0FBQztBQUU5RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFFeEQsY0FBYyxpQ0FBaUMsQ0FBQztBQUNoRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9DQUFvQyxDQUFDO0FBQ25ELGNBQWMsc0NBQXNDLENBQUM7QUFDckQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQkFBc0IsQ0FBQztBQUVyQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLDJCQUEyQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiB2YWx0ZWNoLWNvbXBvbmVudHNcbiAqL1xuXG4vKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHZhbHRlY2gtY29tcG9uZW50c1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYXZhdGFyL2F2YXRhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9hdmF0YXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9ib3gvYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2JveC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2J1dHRvbi9idXR0b24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2ZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9kaXNwbGF5L2Rpc3BsYXkuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvZGlzcGxheS90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2RpdmlkZXIvZGl2aWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9kaXZpZGVyL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvaHJlZi9ocmVmLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2hyZWYvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9pY29uL2ljb24uY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvaWNvbi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2ltYWdlL2ltYWdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2ltYWdlL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9wcm9ncmVzcy1iYXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy90ZXh0L3RleHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvdGV4dC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3RpdGxlL3RpdGxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3RpdGxlL3R5cGVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYWxlcnQtYm94L2FsZXJ0LWJveC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYWxlcnQtYm94L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2J1dHRvbi1ncm91cC9idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2J1dHRvbi1ncm91cC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jYXJkL2NhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NhcmQvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY2hlY2staW5wdXQvY2hlY2staW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbW1lbnQtaW5wdXQvY29tbWVudC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY29udGVudC1sb2FkZXIvY29udGVudC1sb2FkZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NvbnRlbnQtbG9hZGVyL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2RhdGUtaW5wdXQvZGF0ZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZW1haWwtaW5wdXQvZW1haWwtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2V4cGFuZGFibGUtdGV4dC9leHBhbmRhYmxlLXRleHQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2V4cGFuZGFibGUtdGV4dC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9maWxlLWlucHV0L2ZpbGUtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2hpbnQvaGludC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvaG91ci1pbnB1dC9ob3VyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9saW5rL2xpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xpbmsvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGlua3MtY2FrZS9saW5rcy1jYWtlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9saW5rcy1jYWtlL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL25vdGVzLWJveC9ub3Rlcy1ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL25vdGVzLWJveC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcGluLWlucHV0L3Bpbi1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvZ3Jlc3Mtc3RhdHVzL3Byb2dyZXNzLXN0YXR1cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvZ3Jlc3Mtc3RhdHVzL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Byb21wdGVyL3Byb21wdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wcm9tcHRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9yYWRpby1pbnB1dC9yYWRpby1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LXNlYXJjaC9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9zZWFyY2hiYXIvc2VhcmNoYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9zZWxlY3QtaW5wdXQvc2VsZWN0LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3RpdGxlLWJsb2NrL3RpdGxlLWJsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aXRsZS1ibG9jay90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9sYXllcmVkLWNhcmQvbGF5ZXJlZC1jYXJkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9sYXllcmVkLWNhcmQvdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9iYW5uZXIvYmFubmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9iYW5uZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZm9ybS9mYWN0b3J5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Zvcm0vZm9ybS1mb290ZXIvZm9ybS1mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Zvcm0vZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvaGVhZGVyL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2l0ZW0tbGlzdC9pdGVtLWxpc3QuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2l0ZW0tbGlzdC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9uby1jb250ZW50L25vLWNvbnRlbnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL25vLWNvbnRlbnQvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvdG9vbGJhci90b29sYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy90b29sYmFyL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3dpemFyZC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy93aXphcmQvd2l6YXJkLWZvb3Rlci93aXphcmQtZm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy93aXphcmQvd2l6YXJkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVtcGxhdGVzL2xheW91dC9sYXlvdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVtcGxhdGVzL3NpbXBsZS9zaW1wbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdGVtcGxhdGVzL3NpbXBsZS90eXBlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2Rvd25sb2FkLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvaWNvbnMuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9pbi1hcHAtYnJvd3Nlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvbGFuZy1wcm92aWRlci5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2xhbmctcHJvdmlkZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbG9jYWwtc3RvcmFnZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL25hdmlnYXRpb24uc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90aGVtZS5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC91dGlscy9kb20nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3V0aWxzL3RleHQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3V0aWxzL3N0eWxlcyc7XG4iXX0=
107
+ export * from './lib/shared/utils/text';
108
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL3ZhbHRlY2gtY29tcG9uZW50cy9zcmMvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVIOztHQUVHO0FBRUgsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxvQ0FBb0MsQ0FBQztBQUVuRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDhEQUE4RCxDQUFDO0FBQzdFLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHNFQUFzRSxDQUFDO0FBQ3JGLGNBQWMsa0RBQWtELENBQUM7QUFDakUsY0FBYyw0REFBNEQsQ0FBQztBQUMzRSxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyxnRUFBZ0UsQ0FBQztBQUMvRSxjQUFjLCtDQUErQyxDQUFDO0FBQzlELGNBQWMsZ0RBQWdELENBQUM7QUFDL0QsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxvRUFBb0UsQ0FBQztBQUNuRixjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsc0VBQXNFLENBQUM7QUFDckYsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsZ0VBQWdFLENBQUM7QUFDL0UsY0FBYyxrRUFBa0UsQ0FBQztBQUNqRixjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsOERBQThELENBQUM7QUFDN0UsY0FBYyw4Q0FBOEMsQ0FBQztBQUU3RCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUVBQW1FLENBQUM7QUFDbEYsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLHNEQUFzRCxDQUFDO0FBQ3JFLGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLHlFQUF5RSxDQUFDO0FBQ3hGLGNBQWMsb0RBQW9ELENBQUM7QUFFbkUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLG9EQUFvRCxDQUFDO0FBQ25FLGNBQWMseUNBQXlDLENBQUM7QUFFeEQsV0FBVztBQUNYLGNBQWMsNkRBQTZELENBQUM7QUFDNUUsY0FBYywrREFBK0QsQ0FBQztBQUU5RSxjQUFjLGdDQUFnQyxDQUFDO0FBQy9DLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHNDQUFzQyxDQUFDO0FBQ3JELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsc0JBQXNCLENBQUM7QUFFckMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMseUJBQXlCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIHZhbHRlY2gtY29tcG9uZW50c1xuICovXG5cbi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgdmFsdGVjaC1jb21wb25lbnRzXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9hdmF0YXIvYXZhdGFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2F2YXRhci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2JveC9ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYm94L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9idXR0b24vZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2Rpc3BsYXkvZGlzcGxheS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9kaXNwbGF5L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2RpdmlkZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9ocmVmL2hyZWYuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvaHJlZi90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL2ljb24vaWNvbi5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9pY29uL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvaW1hZ2UvaW1hZ2UuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvaW1hZ2UvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3Byb2dyZXNzLWJhci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL2F0b21zL3RleHQvdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9hdG9tcy90ZXh0L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvdGl0bGUvdGl0bGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvYXRvbXMvdGl0bGUvdHlwZXMnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9hbGVydC1ib3gvYWxlcnQtYm94LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9hbGVydC1ib3gvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYnV0dG9uLWdyb3VwL2J1dHRvbi1ncm91cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvYnV0dG9uLWdyb3VwL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY2FyZC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jaGVjay1pbnB1dC9jaGVjay1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY29tbWVudC1pbnB1dC9jb21tZW50LWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9jb250ZW50LWxvYWRlci9jb250ZW50LWxvYWRlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvY29udGVudC1sb2FkZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZGF0ZS1pbnB1dC9kYXRlLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9lbWFpbC1pbnB1dC9lbWFpbC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZXhwYW5kYWJsZS10ZXh0L2V4cGFuZGFibGUtdGV4dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvZXhwYW5kYWJsZS10ZXh0L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2ZpbGUtaW5wdXQvZmlsZS1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvaGludC9oaW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9ob3VyLWlucHV0L2hvdXItaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xheWVyZWQtY2FyZC9sYXllcmVkLWNhcmQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xheWVyZWQtY2FyZC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9saW5rL2xpbmsuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL2xpbmsvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvbGlua3MtY2FrZS9saW5rcy1jYWtlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9saW5rcy1jYWtlL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL25vdGVzLWJveC9ub3Rlcy1ib3guY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL25vdGVzLWJveC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9udW1iZXItaW5wdXQvbnVtYmVyLWlucHV0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wYXNzd29yZC1pbnB1dC9wYXNzd29yZC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcGluLWlucHV0L3Bpbi1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvZ3Jlc3Mtc3RhdHVzL3Byb2dyZXNzLXN0YXR1cy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvcHJvZ3Jlc3Mtc3RhdHVzL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3Byb21wdGVyL3Byb21wdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9wcm9tcHRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy9yYWRpby1pbnB1dC9yYWRpby1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VhcmNoYmFyL3NlYXJjaGJhci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LWlucHV0L3NlbGVjdC1pbnB1dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9tb2xlY3VsZXMvc2VsZWN0LXNlYXJjaC9zZWxlY3Qtc2VhcmNoLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvbW9sZWN1bGVzL3RpdGxlLWJsb2NrL3RpdGxlLWJsb2NrLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL21vbGVjdWxlcy90aXRsZS1ibG9jay90eXBlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Jhbm5lci9iYW5uZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL2Jhbm5lci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb290ZXIvZm9vdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9mb3JtL2ZhY3RvcnknO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZm9ybS9mb3JtLWZvb3Rlci9mb3JtLWZvb3Rlci5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvZm9ybS9mb3JtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy9oZWFkZXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvaXRlbS1saXN0L2l0ZW0tbGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvaXRlbS1saXN0L3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL25vLWNvbnRlbnQvbm8tY29udGVudC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvbm8tY29udGVudC90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9jb21wb25lbnRzL29yZ2FuaXNtcy90b29sYmFyL3Rvb2xiYXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3Rvb2xiYXIvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy9vcmdhbmlzbXMvd2l6YXJkL3R5cGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3dpemFyZC93aXphcmQtZm9vdGVyL3dpemFyZC1mb290ZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3dpemFyZC93aXphcmQuY29tcG9uZW50JztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvbGF5b3V0L2xheW91dC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2ltcGxlL3NpbXBsZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvY29tcG9uZW50cy90ZW1wbGF0ZXMvc2ltcGxlL3R5cGVzJztcblxuLy8gRXhhbXBsZXNcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvX2V4YW1wbGVzL2dsb2JhbC1jb250ZW50LWV4YW1wbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvX2V4YW1wbGVzL3JlYWN0aXZlLWNvbnRlbnQtZXhhbXBsZS5jb21wb25lbnQnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9jb250ZW50LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvZG93bmxvYWQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9pY29ucy5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL2luLWFwcC1icm93c2VyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci9sYW5nLXByb3ZpZGVyLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbGFuZy1wcm92aWRlci90eXBlcyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy9sb2NhbC1zdG9yYWdlLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvbmF2aWdhdGlvbi5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2VzL3RoZW1lLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZXMvdG9hc3Quc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlcy90eXBlcyc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL2NvbXBvbmVudHMvdHlwZXMnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3V0aWxzL2NvbnRlbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2hhcmVkL3V0aWxzL2RvbSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvdXRpbHMvZm9ybS1kZWZhdWx0cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zaGFyZWQvdXRpbHMvc3R5bGVzJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NoYXJlZC91dGlscy90ZXh0JztcbiJdfQ==