@wemake4u/form-player-se 1.0.17 → 1.0.19

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 (77) hide show
  1. package/esm2022/lib/controls/checklist.mjs +4 -1
  2. package/esm2022/lib/controls/chipchecklist.mjs +4 -1
  3. package/esm2022/lib/controls/chipradio.mjs +4 -1
  4. package/esm2022/lib/controls/control.mjs +6 -27
  5. package/esm2022/lib/controls/radio.mjs +4 -1
  6. package/esm2022/lib/controls/select.mjs +4 -1
  7. package/esm2022/lib/controls/table.mjs +8 -5
  8. package/esm2022/lib/controls/taglist.mjs +4 -1
  9. package/esm2022/lib/controls/textfield.mjs +3 -3
  10. package/esm2022/lib/dialog/dialog.component.mjs +101 -0
  11. package/esm2022/lib/directives/accordion.directive.mjs +2 -13
  12. package/esm2022/lib/directives/dialog.directive.mjs +25 -0
  13. package/esm2022/lib/directives/dropdown.directive.mjs +7 -7
  14. package/esm2022/lib/directives/grid.directive.mjs +7 -7
  15. package/esm2022/lib/directives/refresh.directive.mjs +25 -0
  16. package/esm2022/lib/directives/register.directive.mjs +5 -8
  17. package/esm2022/lib/dynamic-fields/dynamic-fields.component.mjs +46 -19
  18. package/esm2022/lib/dynamic-form/dynamic-form.component.mjs +106 -53
  19. package/esm2022/lib/locale/locale-de.mjs +11 -1
  20. package/esm2022/lib/locale/locale-en.mjs +11 -1
  21. package/esm2022/lib/locale/locale-es.mjs +11 -1
  22. package/esm2022/lib/locale/locale-fr.mjs +11 -1
  23. package/esm2022/lib/locale/locale-it.mjs +11 -1
  24. package/esm2022/lib/locale/locale-pt.mjs +11 -1
  25. package/esm2022/lib/services/dialog.service.mjs +103 -0
  26. package/esm2022/lib/services/function.service.mjs +47 -0
  27. package/esm2022/lib/services/grid.service.mjs +61 -5
  28. package/esm2022/lib/services/metadata.service.mjs +28 -1
  29. package/esm2022/lib/services/programmability.service.mjs +59 -40
  30. package/esm2022/lib/services/register.service.mjs +62 -30
  31. package/esm2022/lib/services/scope.service.mjs +12 -23
  32. package/esm2022/lib/services/toast.service.mjs +10 -1
  33. package/esm2022/lib/services/weak.service.mjs +1 -11
  34. package/esm2022/lib/utils/functions.mjs +31 -0
  35. package/esm2022/lib/utils/gridCells.mjs +14 -10
  36. package/esm2022/lib/utils/patchForm.mjs +32 -13
  37. package/esm2022/public-api.mjs +2 -1
  38. package/fesm2022/wemake4u-form-player-se.mjs +1257 -809
  39. package/fesm2022/wemake4u-form-player-se.mjs.map +1 -1
  40. package/lib/controls/checklist.d.ts +1 -0
  41. package/lib/controls/chipchecklist.d.ts +1 -0
  42. package/lib/controls/chipradio.d.ts +1 -0
  43. package/lib/controls/control.d.ts +1 -4
  44. package/lib/controls/radio.d.ts +1 -0
  45. package/lib/controls/select.d.ts +1 -0
  46. package/lib/controls/table.d.ts +3 -2
  47. package/lib/controls/taglist.d.ts +1 -0
  48. package/lib/controls/textfield.d.ts +1 -1
  49. package/lib/dialog/dialog.component.d.ts +293 -0
  50. package/lib/directives/dialog.directive.d.ts +8 -0
  51. package/lib/directives/refresh.directive.d.ts +10 -0
  52. package/lib/directives/register.directive.d.ts +1 -3
  53. package/lib/dynamic-fields/dynamic-fields.component.d.ts +79 -4
  54. package/lib/dynamic-form/dynamic-form.component.d.ts +87 -6
  55. package/lib/locale/locale-de.d.ts +10 -0
  56. package/lib/locale/locale-en.d.ts +10 -0
  57. package/lib/locale/locale-es.d.ts +10 -0
  58. package/lib/locale/locale-fr.d.ts +10 -0
  59. package/lib/locale/locale-it.d.ts +10 -0
  60. package/lib/locale/locale-pt.d.ts +10 -0
  61. package/lib/locale/locale.d.ts +70 -0
  62. package/lib/services/dialog.service.d.ts +41 -0
  63. package/lib/services/function.service.d.ts +16 -0
  64. package/lib/services/grid.service.d.ts +3 -0
  65. package/lib/services/metadata.service.d.ts +4 -0
  66. package/lib/services/programmability.service.d.ts +14 -6
  67. package/lib/services/register.service.d.ts +10 -9
  68. package/lib/services/scope.service.d.ts +7 -8
  69. package/lib/services/toast.service.d.ts +3 -1
  70. package/lib/utils/functions.d.ts +2 -0
  71. package/lib/utils/gridCells.d.ts +20 -0
  72. package/lib/utils/patchForm.d.ts +1 -0
  73. package/lib/utils/setFilter.d.ts +10 -0
  74. package/package.json +1 -1
  75. package/public-api.d.ts +1 -0
  76. package/esm2022/lib/services/proxy.service.mjs +0 -131
  77. package/lib/services/proxy.service.d.ts +0 -32
@@ -1,17 +1,17 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Optional, SkipSelf, Component, Directive, Input, Host, ContentChild, forwardRef, ContentChildren, ViewEncapsulation, EventEmitter, Output, ViewChild } from '@angular/core';
2
+ import { Injectable, Directive, ViewContainerRef, Component, ChangeDetectionStrategy, ViewChild, Optional, SkipSelf, Input, Host, ContentChild, forwardRef, ContentChildren, ViewEncapsulation, EventEmitter, Output } from '@angular/core';
3
3
  import * as i10 from '@angular/common';
4
4
  import { CommonModule } from '@angular/common';
5
5
  import * as i1$1 from '@angular/forms';
6
6
  import { FormArray, FormControl as FormControl$1, FormGroup, FormsModule, ReactiveFormsModule, Validators } from '@angular/forms';
7
- import { isObservable, take, tap, of, Subject, takeUntil } from 'rxjs';
7
+ import { isObservable, take, tap, of, takeUntil, Subject } from 'rxjs';
8
8
  import { evaluate } from 'feelers';
9
9
  import { evaluate as evaluate$1, unaryTest, parseExpression } from 'feelin';
10
10
  import { shareReplay, takeUntil as takeUntil$1, map } from 'rxjs/operators';
11
11
  import * as i1 from 'ngx-sirio-lib';
12
- import { SirioButtonComponent, SirioInputComponent, SirioCheckboxComponent, SirioCheckboxGroupComponent, SirioValidationDirective, SirioSelectComponent, SirioSelectOptionComponent, SirioSelectPanelComponent, SirioDatepickerComponent, SirioTimepickerComponent, SirioRadioGroupComponent, SirioRadioButtonComponent, SirioTabComponent, SirioTabItemComponent, SirioAccordionComponent, SirioAccordionPanelComponent, SirioAccordionHeaderComponent, SirioAccordionBodyComponent, SirioFileUploadComponent, SirioToggleComponent, SirioChipCheckboxGroupComponent, SirioChipRadioGroupComponent, SirioInputChipComponent, SirioAlertComponent, SirioAlertMessageComponent, SirioSliderComponent, SirioNotifyComponent, SirioNotifyBodyComponent, SirioTooltipDirective, SirioNotifyActionComponent, SirioNotifyLinkComponent, SirioSidenavMobileComponent, SirioSidenavComponent, SirioSidenavItemComponent, SirioStepperProgressBarComponent, SirioStepperProgressItemComponent } from 'ngx-sirio-lib';
12
+ import { SirioDialogElement, SirioDialogComponent, SirioDialogBodyComponent, SirioDialogHeaderComponent, SirioDialogFooterComponent, SirioButtonComponent, SirioDialogTitleComponent, SirioDialogActionDirective, SirioInputComponent, SirioCheckboxComponent, SirioCheckboxGroupComponent, SirioValidationDirective, SirioSelectComponent, SirioSelectOptionComponent, SirioSelectPanelComponent, SirioDatepickerComponent, SirioTimepickerComponent, SirioRadioGroupComponent, SirioRadioButtonComponent, SirioTabComponent, SirioTabItemComponent, SirioAccordionComponent, SirioAccordionPanelComponent, SirioAccordionHeaderComponent, SirioAccordionBodyComponent, SirioFileUploadComponent, SirioToggleComponent, SirioChipCheckboxGroupComponent, SirioChipRadioGroupComponent, SirioInputChipComponent, SirioAlertComponent, SirioAlertMessageComponent, SirioSliderComponent, SirioNotifyComponent, SirioNotifyBodyComponent, SirioTooltipDirective, SirioNotifyActionComponent, SirioNotifyLinkComponent, SirioSidenavMobileComponent, SirioSidenavComponent, SirioSidenavItemComponent, SirioStepperProgressBarComponent, SirioStepperProgressItemComponent } from 'ngx-sirio-lib';
13
13
  import { Datepicker } from 'vanillajs-datepicker';
14
- import { ClientSideRowModelModule, InfiniteRowModelModule, PaginationModule, LocaleModule, CellStyleModule, ClientSideRowModelApiModule, TextFilterModule, NumberFilterModule, DateFilterModule, ColumnAutoSizeModule, ColumnApiModule, themeQuartz, iconSetAlpine } from 'ag-grid-community';
14
+ import { ClientSideRowModelModule, InfiniteRowModelModule, PaginationModule, LocaleModule, CellStyleModule, ClientSideRowModelApiModule, TextFilterModule, NumberFilterModule, DateFilterModule, ColumnAutoSizeModule, ColumnApiModule, RowSelectionModule, ValidationModule, themeQuartz, iconSetAlpine } from 'ag-grid-community';
15
15
  import { AG_GRID_LOCALE_IT, AG_GRID_LOCALE_EN, AG_GRID_LOCALE_DE, AG_GRID_LOCALE_FR, AG_GRID_LOCALE_ES, AG_GRID_LOCALE_PT } from '@ag-grid-community/locale';
16
16
  import * as i1$2 from 'ag-grid-angular';
17
17
  import { AgGridAngular } from 'ag-grid-angular';
@@ -22,133 +22,35 @@ import mimeDb from 'mime-db';
22
22
  import * as i1$4 from '@angular/common/http';
23
23
  import { HttpParams } from '@angular/common/http';
24
24
 
25
- const IS_PROXY = Symbol("__isProxy$");
26
- class ProxyService {
27
- constructor() { }
28
- getProxy(instance, options = null) {
29
- return this.createProxy(instance, true, options);
30
- }
31
- createProxy(instance, root, options = null) {
32
- if (!instance) {
33
- return instance;
25
+ function ToBoundArrows(instance, methodNames) {
26
+ const result = {};
27
+ for (const name of methodNames) {
28
+ const original = instance[name];
29
+ if (typeof original === 'function') {
30
+ result[name] = (...args) => original.apply(instance, args);
34
31
  }
35
- return new Proxy(instance, {
36
- get: (target, property) => {
37
- if (property === IS_PROXY) {
38
- return true;
39
- }
40
- let value = undefined;
41
- if (root && options && options.extend && property in options.extend) {
42
- value = Reflect.get(options.extend, property, target);
43
- }
44
- else if (options && options.isCustom && options.getCustom && options.isCustom(target, property, root)) {
45
- value = options.getCustom(target, property, root);
46
- }
47
- else if (property in target) {
48
- value = Reflect.get(target, property, target);
49
- }
50
- if (options?.log) {
51
- console.log(target, property, value);
52
- }
53
- if (this.isProxy(value))
54
- return value;
55
- if (typeof value === 'function') {
56
- return this.createFunction(value, target);
57
- }
58
- else if (typeof value === 'object' && value !== null) {
59
- return this.createProxy(value, false, options);
60
- }
61
- return value;
62
- },
63
- set: (target, property, value) => {
64
- if (options && options.canSet && !options.canSet(target, property, root)) {
65
- return false;
66
- }
67
- else {
68
- return Reflect.set(target, property, value, target);
69
- }
70
- },
71
- deleteProperty: (target, property) => {
72
- if (options && options.canDelete && !options.canDelete(target, property, root)) {
73
- return false;
74
- }
75
- else if (property in target) {
76
- return delete target[property];
77
- }
78
- else {
79
- return false;
80
- }
81
- },
82
- has: (target, property) => {
83
- if (root && options && options.extend && property in options.extend) {
84
- return true;
85
- }
86
- else if (options && options.isCustom && options.isCustom(target, property, root)) {
87
- return true;
88
- }
89
- else if (property in target) {
90
- return true;
91
- }
92
- else {
93
- return false;
94
- }
95
- }
96
- });
97
32
  }
98
- createFunction(fn, target) {
99
- return (...args) => {
100
- return fn.bind(target)(...args);
101
- };
102
- }
103
- isProxy(obj) {
104
- return obj && obj[IS_PROXY] === true;
105
- }
106
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProxyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
107
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProxyService, providedIn: 'root' });
33
+ return result;
108
34
  }
109
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProxyService, decorators: [{
110
- type: Injectable,
111
- args: [{
112
- providedIn: 'root'
113
- }]
114
- }], ctorParameters: () => [] });
115
- class ProxyOptions {
116
- _canDelete = () => true;
117
- _canSet = () => true;
118
- _isCustom = () => false;
119
- _getCustom = () => undefined;
120
- _extend = () => undefined;
121
- set extend(fn) {
122
- this._extend = fn;
123
- }
124
- get extend() {
125
- return this._extend;
126
- }
127
- set canDelete(fn) {
128
- this._canDelete = fn;
129
- }
130
- get canDelete() {
131
- return this._canDelete;
132
- }
133
- set canSet(fn) {
134
- this._canSet = fn;
135
- }
136
- get canSet() {
137
- return this._canSet;
138
- }
139
- set isCustom(fn) {
140
- this._isCustom = fn;
141
- }
142
- get isCustom() {
143
- return this._isCustom;
144
- }
145
- set getCustom(fn) {
146
- this._getCustom = fn;
147
- }
148
- get getCustom() {
149
- return this._getCustom;
150
- }
151
- log = false;
35
+ function ToProxy(instance) {
36
+ if (!instance) {
37
+ return instance;
38
+ }
39
+ return new Proxy(instance, {
40
+ get: (target, property) => {
41
+ let value = undefined;
42
+ if (property in target) {
43
+ value = Reflect.get(target, property, target);
44
+ }
45
+ if (typeof value === 'function') {
46
+ return (...args) => value.apply(instance, args);
47
+ }
48
+ else if (typeof value === 'object' && value !== null) {
49
+ return ToProxy(value);
50
+ }
51
+ return value;
52
+ }
53
+ });
152
54
  }
153
55
 
154
56
  class FeelService {
@@ -210,115 +112,722 @@ class FeelService {
210
112
  });
211
113
  return dependencies;
212
114
  }
213
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
214
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelService, providedIn: 'root' });
115
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
116
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelService, providedIn: 'root' });
117
+ }
118
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelService, decorators: [{
119
+ type: Injectable,
120
+ args: [{
121
+ providedIn: 'root'
122
+ }]
123
+ }], ctorParameters: () => [] });
124
+
125
+ class WeakService {
126
+ constructor() { }
127
+ cache = new WeakMap();
128
+ exists(source, key) {
129
+ if (this.cache.has(source)) {
130
+ const cachedObject = this.cache.get(source);
131
+ return (key in cachedObject);
132
+ }
133
+ return false;
134
+ }
135
+ call(source, key, func, reusable = null, store = null) {
136
+ if (!this.cache.has(source)) {
137
+ this.cache.set(source, {});
138
+ }
139
+ const cachedObject = this.cache.get(source);
140
+ if (key in cachedObject
141
+ && (reusable == null
142
+ || reusable(cachedObject[key]))) {
143
+ return cachedObject[key];
144
+ }
145
+ let result = func();
146
+ if (store != null) {
147
+ result = store(result);
148
+ }
149
+ const observable = isObservable(result);
150
+ if (observable) {
151
+ result = result.pipe(shareReplay(1));
152
+ result = result.pipe(take(1), tap((res) => {
153
+ cachedObject[key] = of(res);
154
+ }), shareReplay(1));
155
+ }
156
+ cachedObject[key] = result;
157
+ return result;
158
+ }
159
+ invalidate(source, key) {
160
+ if (this.cache.has(source)) {
161
+ const cachedObject = this.cache.get(source);
162
+ delete cachedObject[key];
163
+ }
164
+ }
165
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WeakService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
166
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WeakService, providedIn: 'root' });
167
+ }
168
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WeakService, decorators: [{
169
+ type: Injectable,
170
+ args: [{
171
+ providedIn: 'root'
172
+ }]
173
+ }], ctorParameters: () => [] });
174
+
175
+ class ToastService {
176
+ sirioToast;
177
+ constructor(sirioToast) {
178
+ this.sirioToast = sirioToast;
179
+ }
180
+ notifyInfo(message, delay = 2000) {
181
+ this.notify(message, "info", delay);
182
+ }
183
+ notifySuccess(message, delay = 2000) {
184
+ this.notify(message, "success", delay);
185
+ }
186
+ notifyWarning(message, delay = 2000) {
187
+ this.notify(message, "warning", delay);
188
+ }
189
+ notifyError(message, delay = 2000) {
190
+ this.notify(message, "danger", delay);
191
+ }
192
+ getContext() {
193
+ return ToBoundArrows(this, [
194
+ "notifyInfo",
195
+ "notifySuccess",
196
+ "notifyWarning",
197
+ "notifyError"
198
+ ]);
199
+ }
200
+ notify(message, type, delay = 2000) {
201
+ this.sirioToast.openToast({
202
+ delay: delay,
203
+ text: message,
204
+ type: type
205
+ });
206
+ }
207
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [{ token: i1.SirioToastService }], target: i0.ɵɵFactoryTarget.Injectable });
208
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: 'root' });
209
+ }
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
211
+ type: Injectable,
212
+ args: [{
213
+ providedIn: 'root'
214
+ }]
215
+ }], ctorParameters: () => [{ type: i1.SirioToastService }] });
216
+
217
+ class DialogDirective {
218
+ host;
219
+ constructor(host) {
220
+ this.host = host;
221
+ const focusEvents = host.handleFocusEvents;
222
+ host.handleFocusEvents = () => {
223
+ if (this.host.withCloseButton) {
224
+ focusEvents.apply(this.host);
225
+ }
226
+ };
227
+ }
228
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogDirective, deps: [{ token: i1.SirioDialogComponent }], target: i0.ɵɵFactoryTarget.Directive });
229
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DialogDirective, isStandalone: true, selector: "[dialog]", ngImport: i0 });
230
+ }
231
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogDirective, decorators: [{
232
+ type: Directive,
233
+ args: [{
234
+ selector: '[dialog]',
235
+ standalone: true
236
+ }]
237
+ }], ctorParameters: () => [{ type: i1.SirioDialogComponent }] });
238
+
239
+ const Texts$6 = {
240
+ TypeToSearch: "Digita per cercare...",
241
+ Upload: "Upload",
242
+ ScrollLeft: "Scorri a sinistra",
243
+ ScrollRight: "Scorri a destra",
244
+ AddItem: "Aggiungi",
245
+ RemoveItem: "Rimuovi",
246
+ PreviousSection: "Sezione precedente",
247
+ NextSection: "Sezione successiva",
248
+ Show: "Visualizza",
249
+ Remove: "Rimuovi",
250
+ Close: "Chiudi",
251
+ Confirm: "Conferma",
252
+ OK: "OK",
253
+ Cancel: "Annulla",
254
+ Abort: "Interrompi",
255
+ Retry: "Riprova",
256
+ Ignore: "Ignora",
257
+ Yes: "Sì",
258
+ No: "No",
259
+ Try: "Prova",
260
+ Continue: "Continua",
261
+ Name: "Nome",
262
+ Size: "Dimensione",
263
+ Type: "Tipo",
264
+ Actions: "Azioni",
265
+ ReadMore: "Leggi di più",
266
+ ReadLess: "Leggi di meno",
267
+ SelectAll: "Seleziona tutto",
268
+ ChooseOne: "Scegli uno",
269
+ True: "Vero",
270
+ False: "Falso",
271
+ Blank: "Vuoto",
272
+ NotBlank: "Non vuoto",
273
+ Information: "Informazioni",
274
+ OpenMenu: "Apri Menu",
275
+ CloseMenu: "Chiudi Menu"
276
+ };
277
+
278
+ const Texts$5 = {
279
+ TypeToSearch: "Type to search...",
280
+ Upload: "Upload",
281
+ ScrollLeft: "Scroll left",
282
+ ScrollRight: "Scroll right",
283
+ AddItem: "Add",
284
+ RemoveItem: "Remove",
285
+ PreviousSection: "Previous section",
286
+ NextSection: "Next section",
287
+ Show: "Show",
288
+ Remove: "Remove",
289
+ Close: "Close",
290
+ Confirm: "Confirm",
291
+ OK: "OK",
292
+ Cancel: "Cancel",
293
+ Abort: "Abort",
294
+ Retry: "Retry",
295
+ Ignore: "Ignore",
296
+ Yes: "Yes",
297
+ No: "No",
298
+ Try: "Try",
299
+ Continue: "Continue",
300
+ Name: "Name",
301
+ Size: "Size",
302
+ Type: "Type",
303
+ Actions: "Actions",
304
+ ReadMore: "Read more",
305
+ ReadLess: "Read less",
306
+ SelectAll: "Select all",
307
+ ChooseOne: "Choose one",
308
+ True: "True",
309
+ False: "False",
310
+ Blank: "Blank",
311
+ NotBlank: "Not blank",
312
+ Information: "Information",
313
+ OpenMenu: "Open menu",
314
+ CloseMenu: "Close menu"
315
+ };
316
+
317
+ const Texts$4 = {
318
+ TypeToSearch: "Zum Suchen tippen...",
319
+ Upload: "Hochladen",
320
+ ScrollLeft: "Nach links scrollen",
321
+ ScrollRight: "Nach rechts scrollen",
322
+ AddItem: "Hinzufügen",
323
+ RemoveItem: "Entfernen",
324
+ PreviousSection: "Vorheriger Abschnitt",
325
+ NextSection: "Nächster Abschnitt",
326
+ Show: "Anzeigen",
327
+ Remove: "Entfernen",
328
+ Close: "Schließen",
329
+ Confirm: "Bestätigen",
330
+ OK: "OK",
331
+ Cancel: "Abbrechen",
332
+ Abort: "Abbrechen",
333
+ Retry: "Wiederholen",
334
+ Ignore: "Ignorieren",
335
+ Yes: "Ja",
336
+ No: "Nein",
337
+ Try: "Versuchen",
338
+ Continue: "Fortsetzen",
339
+ Name: "Name",
340
+ Size: "Größe",
341
+ Type: "Typ",
342
+ Actions: "Aktionen",
343
+ ReadMore: "Mehr lesen",
344
+ ReadLess: "Weniger lesen",
345
+ SelectAll: "Alles auswählen",
346
+ ChooseOne: "Wähle eine Option",
347
+ True: "Wahr",
348
+ False: "Falsch",
349
+ Blank: "Leer",
350
+ NotBlank: "Nicht leer",
351
+ Information: "Informationen",
352
+ OpenMenu: "Menü öffnen",
353
+ CloseMenu: "Menü schließen"
354
+ };
355
+
356
+ const Texts$3 = {
357
+ TypeToSearch: "Tapez pour rechercher...",
358
+ Upload: "Téléverser",
359
+ ScrollLeft: "Faire défiler vers la gauche",
360
+ ScrollRight: "Faire défiler vers la droite",
361
+ AddItem: "Ajouter",
362
+ RemoveItem: "Supprimer",
363
+ PreviousSection: "Section précédente",
364
+ NextSection: "Section suivante",
365
+ Show: "Afficher",
366
+ Remove: "Supprimer",
367
+ Close: "Fermer",
368
+ Confirm: "Confirmer",
369
+ OK: "OK",
370
+ Cancel: "Annuler",
371
+ Abort: "Abandonner",
372
+ Retry: "Réessayer",
373
+ Ignore: "Ignorer",
374
+ Yes: "Oui",
375
+ No: "Non",
376
+ Try: "Essayer",
377
+ Continue: "Continuer",
378
+ Name: "Nom",
379
+ Size: "Taille",
380
+ Type: "Type",
381
+ Actions: "Actions",
382
+ ReadMore: "Lire la suite",
383
+ ReadLess: "Lire moins",
384
+ SelectAll: "Tout sélectionner",
385
+ ChooseOne: "Choisir un",
386
+ True: "Vrai",
387
+ False: "Faux",
388
+ Blank: "Vide",
389
+ NotBlank: "Non vide",
390
+ Information: "Informations",
391
+ OpenMenu: "Ouvrir le menu",
392
+ CloseMenu: "Fermer le menu"
393
+ };
394
+
395
+ const Texts$2 = {
396
+ TypeToSearch: "Escribe para buscar...",
397
+ Upload: "Subir",
398
+ ScrollLeft: "Desplazar a la izquierda",
399
+ ScrollRight: "Desplazar a la derecha",
400
+ AddItem: "Agregar",
401
+ RemoveItem: "Eliminar",
402
+ PreviousSection: "Sección anterior",
403
+ NextSection: "Sección siguiente",
404
+ Show: "Mostrar",
405
+ Remove: "Eliminar",
406
+ Close: "Cerrar",
407
+ Confirm: "Confirmar",
408
+ OK: "OK",
409
+ Cancel: "Cancelar",
410
+ Abort: "Abortar",
411
+ Retry: "Reintentar",
412
+ Ignore: "Ignorar",
413
+ Yes: "Sí",
414
+ No: "No",
415
+ Try: "Intentar",
416
+ Continue: "Continuar",
417
+ Name: "Nombre",
418
+ Size: "Tamaño",
419
+ Type: "Tipo",
420
+ Actions: "Acciones",
421
+ ReadMore: "Leer más",
422
+ ReadLess: "Leer menos",
423
+ SelectAll: "Seleccionar todo",
424
+ ChooseOne: "Elige uno",
425
+ True: "Verdadero",
426
+ False: "Falso",
427
+ Blank: "Vacío",
428
+ NotBlank: "No vacío",
429
+ Information: "Información",
430
+ OpenMenu: "Abrir menú",
431
+ CloseMenu: "Cerrar menú"
432
+ };
433
+
434
+ const Texts$1 = {
435
+ TypeToSearch: "Digite para pesquisar...",
436
+ Upload: "Enviar",
437
+ ScrollLeft: "Rolar para a esquerda",
438
+ ScrollRight: "Rolar para a direita",
439
+ AddItem: "Adicionar",
440
+ RemoveItem: "Remover",
441
+ PreviousSection: "Seção anterior",
442
+ NextSection: "Próxima seção",
443
+ Show: "Mostrar",
444
+ Remove: "Remover",
445
+ Close: "Fechar",
446
+ Confirm: "Confirmar",
447
+ OK: "OK",
448
+ Cancel: "Cancelar",
449
+ Abort: "Abortar",
450
+ Retry: "Tentar novamente",
451
+ Ignore: "Ignorar",
452
+ Yes: "Sim",
453
+ No: "Não",
454
+ Try: "Tentar",
455
+ Continue: "Continuar",
456
+ Name: "Nome",
457
+ Size: "Tamanho",
458
+ Type: "Tipo",
459
+ Actions: "Ações",
460
+ ReadMore: "Leia mais",
461
+ ReadLess: "Leia menos",
462
+ SelectAll: "Selecionar tudo",
463
+ ChooseOne: "Escolha um",
464
+ True: "Verdadeiro",
465
+ False: "Falso",
466
+ Blank: "Vazio",
467
+ NotBlank: "Não vazio",
468
+ Information: "Informações",
469
+ OpenMenu: "Abrir menu",
470
+ CloseMenu: "Fechar menu"
471
+ };
472
+
473
+ const Texts = {
474
+ ...Texts$6, // neutral
475
+ i18n: {
476
+ it: Texts$6,
477
+ en: Texts$5,
478
+ de: Texts$4,
479
+ fr: Texts$3,
480
+ es: Texts$2,
481
+ pt: Texts$1
482
+ }
483
+ };
484
+
485
+ const i18n = "i18n";
486
+ function localize(language, component, key) {
487
+ const lng = language?.toLowerCase();
488
+ if (lng) {
489
+ return component[i18n]?.[lng]?.[key]
490
+ || component[key]
491
+ || "";
492
+ }
493
+ else {
494
+ return component[key]
495
+ || "";
496
+ }
497
+ }
498
+
499
+ class DialogComponent extends SirioDialogElement {
500
+ formHost;
501
+ formRef;
502
+ Texts = Texts;
503
+ ngOnInit() {
504
+ this.options = this.data.options ?? {};
505
+ this.currentValue = this.options.value;
506
+ }
507
+ options = {};
508
+ ngAfterViewInit() {
509
+ let injector = this.options.injector
510
+ ?? this.formHost.injector;
511
+ const componentRef = this.formHost.createComponent(DynamicFormComponent, { injector });
512
+ componentRef.setInput('schema', this.data.formSchema);
513
+ componentRef.setInput('language', this.data.language);
514
+ componentRef.setInput('value', this.options.value ?? {});
515
+ componentRef.setInput('showNav', this.options.showNav ?? false);
516
+ componentRef.setInput('showNavButton', this.options.showNavButton ?? false);
517
+ componentRef.setInput('showProgress', this.options.showProgress ?? false);
518
+ componentRef.setInput('showFormTitle', this.options.showFormTitle ?? false);
519
+ componentRef.instance.valueChange
520
+ .pipe(takeUntil(this.destroy$))
521
+ .subscribe((value) => this.setCurrentValue(value));
522
+ this.formRef = componentRef;
523
+ }
524
+ ngOnDestroy() {
525
+ this.destroy$.next();
526
+ this.destroy$.complete();
527
+ }
528
+ doClose() {
529
+ this.doAction('Close');
530
+ }
531
+ doAction(action) {
532
+ this.sirioDialogService.closeDialog();
533
+ this.SendResult(action);
534
+ }
535
+ showHeader() {
536
+ return this.showTitle() || this.showCloseButton();
537
+ }
538
+ showTitle() {
539
+ return this.options.title ? true : false;
540
+ }
541
+ showCloseButton() {
542
+ const result = this.options.closeButton === true;
543
+ return result;
544
+ }
545
+ showFooter() {
546
+ return this.options.buttons !== undefined;
547
+ }
548
+ isInvalid() {
549
+ return (this.formRef?.instance?.formGroup?.valid ?? true) !== true;
550
+ }
551
+ locale(component, key) {
552
+ return localize(this.options.language ?? '', component, key);
553
+ }
554
+ destroy$ = new Subject();
555
+ currentValue;
556
+ setCurrentValue(value) {
557
+ this.currentValue = value;
558
+ }
559
+ SendResult(action) {
560
+ if (typeof this.options.onResult === 'function') {
561
+ const result = {
562
+ action: action,
563
+ value: this.currentValue
564
+ };
565
+ this.options.onResult(result);
566
+ }
567
+ }
568
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
569
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DialogComponent, isStandalone: true, selector: "dynamic-dialog", viewQueries: [{ propertyName: "formHost", first: true, predicate: ["formHost"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: DialogDirective, selector: "[dialog]" }, { kind: "component", type: SirioDialogComponent, selector: "ngx-sirio-dialog", inputs: ["type", "size", "drawerContext", "withCloseButton", "isDrawer", "dialogId"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioDialogBodyComponent, selector: "ngx-sirio-dialog-body" }, { kind: "component", type: SirioDialogHeaderComponent, selector: "ngx-sirio-dialog-header", inputs: ["closeButtonAriaLabel"], outputs: ["closeEvent"] }, { kind: "component", type: SirioDialogFooterComponent, selector: "ngx-sirio-dialog-footer", inputs: ["actionsLabel"], outputs: ["closeEvent", "confirmEvent"] }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioDialogTitleComponent, selector: "ngx-sirio-dialog-title" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
570
+ }
571
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogComponent, decorators: [{
572
+ type: Component,
573
+ args: [{ selector: 'dynamic-dialog', standalone: true, imports: [
574
+ CommonModule,
575
+ DynamicFormComponent,
576
+ DialogDirective,
577
+ SirioDialogComponent,
578
+ SirioDialogBodyComponent,
579
+ SirioDialogHeaderComponent,
580
+ SirioDialogFooterComponent,
581
+ SirioButtonComponent,
582
+ SirioDialogActionDirective,
583
+ SirioDialogTitleComponent
584
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ngx-sirio-dialog (closeEvent)=\"doClose()\"\r\n dialog\r\n [type]=\"options.type ?? 'info'\"\r\n [size]=\"options.size ?? 'default'\"\r\n [isDrawer]=\"options.isDrawer ?? false\"\r\n [withCloseButton]=\"showCloseButton()\">\r\n\r\n <ngx-sirio-dialog-header [hidden]=\"!showHeader()\">\r\n <ngx-sirio-dialog-title [hidden]=\"!showTitle()\">{{ options.title }}</ngx-sirio-dialog-title>\r\n </ngx-sirio-dialog-header>\r\n\r\n <ngx-sirio-dialog-body>\r\n <ng-template #formHost></ng-template>\r\n </ngx-sirio-dialog-body>\r\n\r\n <ngx-sirio-dialog-footer *ngIf=\"showFooter()\">\r\n <ng-container [ngSwitch]=\"options.buttons\">\r\n <!-- OK -->\r\n <ng-container *ngSwitchCase=\"'OK'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: OKCancel -->\r\n <ng-container *ngSwitchCase=\"'OKCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'OK' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: ConfirmClose -->\r\n <ng-container *ngSwitchCase=\"'ConfirmCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Confirm' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: AbortRetryIgnore -->\r\n <ng-container *ngSwitchCase=\"'AbortRetryIgnore'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Abort' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Ignore' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNoCancel -->\r\n <ng-container *ngSwitchCase=\"'YesNoCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: YesNo -->\r\n <ng-container *ngSwitchCase=\"'YesNo'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Yes' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'No' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: RetryCancel -->\r\n <ng-container *ngSwitchCase=\"'RetryCancel'\">\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Retry' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n </ng-container>\r\n <!-- Caso: CancelTryContinue -->\r\n <ng-container *ngSwitchCase=\"'CancelTryContinue'\">\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Cancel' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"confirmTemplate; context: { action: 'Try' }\"></ng-container>\r\n <ng-container *ngTemplateOutlet=\"closeTemplate; context: { action: 'Continue' }\"></ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Templates -->\r\n <ng-template #confirmTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n [disabled]=\"isInvalid()\"\r\n color=\"primary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n <ng-template #closeTemplate let-action=\"action\">\r\n <ngx-sirio-button (clickEvent)=\"doAction(action)\"\r\n color=\"secondary\">\r\n {{ locale(Texts, action) }}\r\n </ngx-sirio-button>\r\n </ng-template>\r\n\r\n </ngx-sirio-dialog-footer>\r\n\r\n</ngx-sirio-dialog>\r\n", styles: ["::ng-deep .sirio-dialog{background-color:#0000007f!important}\n"] }]
585
+ }], propDecorators: { formHost: [{
586
+ type: ViewChild,
587
+ args: ['formHost', { read: ViewContainerRef, static: true }]
588
+ }] } });
589
+
590
+ class DialogService {
591
+ dialogService;
592
+ constructor(dialogService) {
593
+ this.dialogService = dialogService;
594
+ }
595
+ openDialog(formSchema, options) {
596
+ this.showDialog(formSchema, options);
597
+ }
598
+ alert(text, options) {
599
+ const formSchema = this.createTextSchema(text);
600
+ const formOptions = {
601
+ ...options,
602
+ type: "warning",
603
+ buttons: 'OK',
604
+ isDrawer: false,
605
+ showNav: false,
606
+ showNavButton: false,
607
+ showProgress: false,
608
+ showFormTitle: false
609
+ };
610
+ this.showDialog(formSchema, formOptions);
611
+ }
612
+ info(text, options) {
613
+ const formSchema = this.createTextSchema(text);
614
+ const formOptions = {
615
+ ...options,
616
+ type: "info",
617
+ buttons: 'OK',
618
+ isDrawer: false,
619
+ showNav: false,
620
+ showNavButton: false,
621
+ showProgress: false,
622
+ showFormTitle: false
623
+ };
624
+ this.showDialog(formSchema, formOptions);
625
+ }
626
+ confirm(text, options) {
627
+ const formSchema = this.createTextSchema(text);
628
+ const formOptions = {
629
+ ...options,
630
+ type: "info",
631
+ buttons: 'YesNo',
632
+ isDrawer: false,
633
+ showNav: false,
634
+ showNavButton: false,
635
+ showProgress: false,
636
+ showFormTitle: false
637
+ };
638
+ this.showDialog(formSchema, formOptions);
639
+ }
640
+ getContext() {
641
+ return ToBoundArrows(this, [
642
+ 'openDialog',
643
+ 'alert',
644
+ 'info',
645
+ 'confirm'
646
+ ]);
647
+ }
648
+ showDialog(formSchema, options) {
649
+ const data = {
650
+ formSchema,
651
+ options
652
+ };
653
+ this.dialogService
654
+ .openDialog(DialogComponent, data);
655
+ }
656
+ createTextSchema(text) {
657
+ return {
658
+ "forms": [
659
+ {
660
+ "components": [
661
+ {
662
+ "text": text,
663
+ "type": "text",
664
+ "layout": {
665
+ "row": "Row_14z9myo",
666
+ "columns": null
667
+ },
668
+ "id": "Field_1xibp2r"
669
+ }
670
+ ],
671
+ "type": "default",
672
+ "id": "Form_0lotm2h",
673
+ "schemaVersion": 18
674
+ }
675
+ ]
676
+ };
677
+ }
678
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, deps: [{ token: i1.SirioDialogService }], target: i0.ɵɵFactoryTarget.Injectable });
679
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, providedIn: 'root' });
680
+ }
681
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DialogService, decorators: [{
682
+ type: Injectable,
683
+ args: [{
684
+ providedIn: 'root'
685
+ }]
686
+ }], ctorParameters: () => [{ type: i1.SirioDialogService }] });
687
+
688
+ class MetadataService {
689
+ constructor() {
690
+ }
691
+ setSchema(schema) {
692
+ this.schema = schema ?? { forms: [] };
693
+ }
694
+ getSchema() {
695
+ return this.schema;
696
+ }
697
+ setForms(forms) {
698
+ this.forms = forms ?? [];
699
+ }
700
+ getTemplateByName(name) {
701
+ if (!this.schema || !Array.isArray(this.schema.forms)) {
702
+ return undefined;
703
+ }
704
+ const templates = this.schema.forms.filter((form) => form.isTemplate === true);
705
+ const templateToExpand = templates.find((form) => form.name === name);
706
+ if (!templateToExpand) {
707
+ return undefined;
708
+ }
709
+ const clonedForm = {
710
+ ...templateToExpand,
711
+ isTemplate: false
712
+ };
713
+ const newForms = templates
714
+ .filter((form) => form.name !== name)
715
+ .concat(clonedForm);
716
+ return {
717
+ forms: newForms
718
+ };
719
+ }
720
+ getForms() {
721
+ return this.forms;
722
+ }
723
+ getFormByName(name) {
724
+ return this.forms.find(form => form.name === name);
725
+ }
726
+ setLanguage(language) {
727
+ this.language = language ?? '';
728
+ }
729
+ getLanguage() {
730
+ return this.language;
731
+ }
732
+ schema = { forms: [] };
733
+ forms = [];
734
+ language = '';
735
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
736
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataService });
215
737
  }
216
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FeelService, decorators: [{
217
- type: Injectable,
218
- args: [{
219
- providedIn: 'root'
220
- }]
738
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataService, decorators: [{
739
+ type: Injectable
221
740
  }], ctorParameters: () => [] });
222
741
 
223
- class WeakService {
224
- constructor() { }
225
- cache = new WeakMap();
226
- exists(source, key) {
227
- if (this.cache.has(source)) {
228
- const cachedObject = this.cache.get(source);
229
- return (key in cachedObject);
230
- }
231
- return false;
742
+ class FunctionService {
743
+ metadata;
744
+ dialog;
745
+ injector;
746
+ constructor(metadata, dialog, injector) {
747
+ this.metadata = metadata;
748
+ this.dialog = dialog;
749
+ this.injector = injector;
232
750
  }
233
- call(source, key, func, reusable = null, store = null) {
234
- if (!this.cache.has(source)) {
235
- this.cache.set(source, {});
236
- }
237
- const cachedObject = this.cache.get(source);
238
- if (key in cachedObject
239
- && (reusable == null
240
- || reusable(cachedObject[key]))) {
241
- return cachedObject[key];
242
- }
243
- let result = func();
244
- if (store != null) {
245
- result = store(result);
751
+ invokable(func) {
752
+ const className = Object.getPrototypeOf(func)?.constructor?.name;
753
+ if (className === 'FunctionWrapper') {
754
+ return (...args) => func.invoke(args);
246
755
  }
247
- const observable = isObservable(result);
248
- if (observable) {
249
- result = result.pipe(shareReplay(1));
250
- result = result.pipe(take(1), tap((res) => {
251
- cachedObject[key] = of(res);
252
- }), shareReplay(1));
253
- //let subscription: Subscription;
254
- //subscription = result
255
- // .subscribe({
256
- // next: (result: any) => {
257
- // subscription.unsubscribe();
258
- // cachedObject[key] = of(result);
259
- // },
260
- // error: (error : any) => console.error(error),
261
- // complete: () => console.log('Observable complete')
262
- // });
756
+ else {
757
+ return () => { };
263
758
  }
264
- cachedObject[key] = result;
265
- return result;
266
759
  }
267
- invalidate(source, key) {
268
- if (this.cache.has(source)) {
269
- const cachedObject = this.cache.get(source);
270
- delete cachedObject[key];
760
+ openForm(template, options) {
761
+ const formSchema = this.metadata.getTemplateByName(template);
762
+ if (formSchema) {
763
+ const formOptions = {
764
+ ...options,
765
+ language: this.metadata.getLanguage(),
766
+ injector: this.injector
767
+ };
768
+ this.dialog.openDialog(formSchema, formOptions);
271
769
  }
272
770
  }
273
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WeakService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
274
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WeakService, providedIn: 'root' });
771
+ getContext() {
772
+ return ToBoundArrows(this, [
773
+ "openForm",
774
+ "invokable"
775
+ ]);
776
+ }
777
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FunctionService, deps: [{ token: MetadataService }, { token: DialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Injectable });
778
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FunctionService });
275
779
  }
276
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: WeakService, decorators: [{
277
- type: Injectable,
278
- args: [{
279
- providedIn: 'root'
280
- }]
281
- }], ctorParameters: () => [] });
780
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: FunctionService, decorators: [{
781
+ type: Injectable
782
+ }], ctorParameters: () => [{ type: MetadataService }, { type: DialogService }, { type: i0.Injector }] });
282
783
 
283
- class ToastService {
284
- sirioToast;
285
- constructor(sirioToast) {
286
- this.sirioToast = sirioToast;
784
+ class Control {
785
+ name;
786
+ metadata;
787
+ componentRef;
788
+ elementRef;
789
+ constructor(name, metadata, componentRef, elementRef) {
790
+ this.name = name;
791
+ this.metadata = metadata;
792
+ this.componentRef = componentRef;
793
+ this.elementRef = elementRef;
287
794
  }
288
- notifyInfo(message, delay = 2000) {
289
- this.notify(message, "info", delay);
795
+ getMetadata() {
796
+ return this.metadata;
290
797
  }
291
- notifySuccess(message, delay = 2000) {
292
- this.notify(message, "success", delay);
798
+ getComponentRef() {
799
+ return this.componentRef;
293
800
  }
294
- notifyWarning(message, delay = 2000) {
295
- this.notify(message, "warning", delay);
801
+ getElementRef() {
802
+ return this.elementRef;
296
803
  }
297
- notifyError(message, delay = 2000) {
298
- this.notify(message, "danger", delay);
804
+ }
805
+ class ContainerControl extends Control {
806
+ register;
807
+ constructor(name, metadata, componentRef, elementRef, register) {
808
+ super(name, metadata, componentRef, elementRef);
809
+ this.register = register;
299
810
  }
300
- notify(message, type, delay = 2000) {
301
- this.sirioToast.openToast({
302
- delay: delay,
303
- text: message,
304
- type: type
305
- });
811
+ findControl(predicate, firstOnly) {
812
+ if (this.register) {
813
+ return this.register.findControl(predicate, firstOnly, false);
814
+ }
815
+ else {
816
+ return [];
817
+ }
818
+ }
819
+ }
820
+ class ItemControl extends ContainerControl {
821
+ index;
822
+ constructor(name, index, metadata, componentRef, elementRef, register) {
823
+ super(name, metadata, componentRef, elementRef, register);
824
+ this.index = index;
306
825
  }
307
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, deps: [{ token: i1.SirioToastService }], target: i0.ɵɵFactoryTarget.Injectable });
308
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, providedIn: 'root' });
309
826
  }
310
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ToastService, decorators: [{
311
- type: Injectable,
312
- args: [{
313
- providedIn: 'root'
314
- }]
315
- }], ctorParameters: () => [{ type: i1.SirioToastService }] });
316
827
 
317
828
  class RegisterService {
318
- proxyService;
319
829
  parent;
320
- constructor(proxyService, parent) {
321
- this.proxyService = proxyService;
830
+ constructor(parent) {
322
831
  this.parent = parent;
323
832
  }
324
833
  controls = {};
@@ -331,50 +840,83 @@ class RegisterService {
331
840
  unregisterAll() {
332
841
  this.controls = {};
333
842
  }
334
- getControl(name) {
335
- return this.controls[name];
336
- }
337
- getControls() {
338
- return Object.values(this.controls);
339
- }
340
- proxy() {
341
- const parentName = "parent";
342
- const options = new ProxyOptions();
343
- options.isCustom = (target, property, root) => {
344
- return root || (property === parentName);
843
+ getContext() {
844
+ return {
845
+ control: (name) => this.getControl(name)
345
846
  };
346
- options.getCustom = (target, property, root) => {
347
- if (property === parentName) {
348
- return this.parent?.proxy();
847
+ }
848
+ getControl(name) {
849
+ name = this.castString(name);
850
+ if (!name)
851
+ return null;
852
+ if (name.startsWith("../"))
853
+ return this.resolveParent(name.substring(3));
854
+ const controls = this.findControl(control => control.name === name, true, true);
855
+ return (controls.length === 0)
856
+ ? null
857
+ : controls[0];
858
+ }
859
+ getControlAs(name, type) {
860
+ const ctrl = this.getControl(name);
861
+ return ctrl instanceof type ? ctrl : null;
862
+ }
863
+ findControl(predicate, firstOnly = false, parent = false) {
864
+ const controls = [];
865
+ for (const control of Object.values(this.controls)) {
866
+ if (predicate(control)) {
867
+ controls.push(control);
868
+ if (firstOnly) {
869
+ return controls;
870
+ }
349
871
  }
350
- return this.resolve(property.toString());
351
- };
352
- options.canDelete = () => false;
353
- options.canSet = () => false;
354
- return this.proxyService.getProxy(this.controls, options);
872
+ if (control instanceof ContainerControl) {
873
+ controls.push(...control.findControl(predicate, firstOnly));
874
+ if (controls.length > 0 && firstOnly) {
875
+ return controls;
876
+ }
877
+ }
878
+ }
879
+ if (parent) {
880
+ let currentParent = this.parent;
881
+ while (currentParent) {
882
+ for (const control of Object.values(currentParent.controls)) {
883
+ if (predicate(control)) {
884
+ controls.push(control);
885
+ if (firstOnly) {
886
+ return controls;
887
+ }
888
+ }
889
+ }
890
+ currentParent = currentParent.parent;
891
+ }
892
+ }
893
+ return controls;
355
894
  }
356
- resolve(name) {
357
- const result = this.controls[name];
358
- if (result)
359
- return result;
360
- return this.parent?.resolve(name);
895
+ castString(value) {
896
+ return typeof value === 'string' ? value.trim() : "";
361
897
  }
362
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterService, deps: [{ token: ProxyService }, { token: RegisterService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable });
898
+ resolveParent(name) {
899
+ if (!this.parent) {
900
+ return null;
901
+ }
902
+ else {
903
+ return this.parent.getControl(name);
904
+ }
905
+ }
906
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterService, deps: [{ token: RegisterService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable });
363
907
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterService });
364
908
  }
365
909
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterService, decorators: [{
366
910
  type: Injectable
367
- }], ctorParameters: () => [{ type: ProxyService }, { type: RegisterService, decorators: [{
911
+ }], ctorParameters: () => [{ type: RegisterService, decorators: [{
368
912
  type: Optional
369
913
  }, {
370
914
  type: SkipSelf
371
915
  }] }] });
372
916
 
373
917
  class ScopeService {
374
- proxyService;
375
918
  parent;
376
- constructor(proxyService, parent) {
377
- this.proxyService = proxyService;
919
+ constructor(parent) {
378
920
  this.parent = parent;
379
921
  }
380
922
  scope = null;
@@ -384,29 +926,22 @@ class ScopeService {
384
926
  get() {
385
927
  return this.scope;
386
928
  }
387
- proxy() {
388
- const parentName = "parent";
389
- const options = new ProxyOptions();
390
- options.isCustom = (target, property, root) => {
391
- return root && (property === parentName);
392
- };
393
- options.getCustom = (target, property, root) => {
394
- return this.parent?.proxy();
395
- };
396
- options.canDelete = (target, property, root) => {
397
- return !(root && property === parentName);
398
- };
399
- options.canSet = (target, property, root) => {
400
- return !(root && property === parentName);
929
+ getContext() {
930
+ if (!this.scope)
931
+ return {};
932
+ return {
933
+ ...this.scope,
934
+ parent: () => {
935
+ this.parent?.getContext();
936
+ }
401
937
  };
402
- return this.proxyService.getProxy(this.scope ?? {}, options);
403
938
  }
404
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScopeService, deps: [{ token: ProxyService }, { token: ScopeService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable });
939
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScopeService, deps: [{ token: ScopeService, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Injectable });
405
940
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScopeService });
406
941
  }
407
942
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ScopeService, decorators: [{
408
943
  type: Injectable
409
- }], ctorParameters: () => [{ type: ProxyService }, { type: ScopeService, decorators: [{
944
+ }], ctorParameters: () => [{ type: ScopeService, decorators: [{
410
945
  type: Optional
411
946
  }, {
412
947
  type: SkipSelf
@@ -415,18 +950,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
415
950
  class ProgrammabilityService {
416
951
  feelService;
417
952
  weakService;
418
- proxyService;
419
953
  toastService;
954
+ dialogService;
955
+ functionService;
420
956
  register;
421
957
  scope;
422
- constructor(feelService, weakService, proxyService, toastService, register, scope) {
958
+ constructor(feelService, weakService, toastService, dialogService, functionService, register, scope) {
423
959
  this.feelService = feelService;
424
960
  this.weakService = weakService;
425
- this.proxyService = proxyService;
426
961
  this.toastService = toastService;
962
+ this.dialogService = dialogService;
963
+ this.functionService = functionService;
427
964
  this.register = register;
428
965
  this.scope = scope;
966
+ this.predefinedFunctions = this.getPredefinedFunctions();
429
967
  }
968
+ predefinedFunctions;
430
969
  destroy$ = new Subject();
431
970
  ngOnDestroy() {
432
971
  this.destroy$.next();
@@ -494,6 +1033,11 @@ class ProgrammabilityService {
494
1033
  }
495
1034
  return null;
496
1035
  }
1036
+ invalidate(value) {
1037
+ if (this.isExpression(value)) {
1038
+ this.weakService.invalidate(this, this.getExpression(value));
1039
+ }
1040
+ }
497
1041
  cacheable = true;
498
1042
  evalUnaryTest(formGroup, expression, input) {
499
1043
  try {
@@ -535,40 +1079,33 @@ class ProgrammabilityService {
535
1079
  return null;
536
1080
  }
537
1081
  }
538
- createProxy(formGroup, proxyFn = null) {
539
- if (!formGroup) {
540
- return null;
541
- }
542
- const options = new ProxyOptions();
543
- const scope = this.scope ? this.scope.proxy() : null;
544
- options.extend = {
545
- parent: this.getParentContext(formGroup),
546
- getFormGroup: () => this.proxyService.getProxy(formGroup),
547
- getScope: () => scope,
548
- controls: () => this.register ? this.register.proxy() : null,
549
- notifyInfo: (message, delay) => this.toastService.notifyInfo(message, delay),
550
- notifySuccess: (message, delay) => this.toastService.notifySuccess(message, delay),
551
- notifyWarning: (message, delay) => this.toastService.notifyWarning(message, delay),
552
- notifyError: (message, delay) => this.toastService.notifyError(message, delay)
553
- };
554
- const scopeSymbol = "_";
555
- if (formGroup.get(scopeSymbol) === null) {
556
- options.extend[scopeSymbol] = scope;
557
- }
558
- if (proxyFn)
559
- proxyFn(options);
560
- return this.proxyService.getProxy(formGroup.value, options);
1082
+ getPredefinedFunctions() {
1083
+ const providers = [
1084
+ this.dialogService,
1085
+ this.toastService,
1086
+ this.functionService,
1087
+ this.register
1088
+ ];
1089
+ return providers.reduce((acc, provider) => {
1090
+ return {
1091
+ ...acc,
1092
+ ...provider.getContext()
1093
+ };
1094
+ }, {});
561
1095
  }
562
1096
  getParentContext(formGroup) {
1097
+ if (formGroup === null) {
1098
+ return null;
1099
+ }
563
1100
  const parent = this.getParent(formGroup);
564
1101
  if (!parent) {
565
1102
  return null;
566
1103
  }
567
- const options = new ProxyOptions();
568
- options.extend = {
569
- parent: this.getParentContext(parent)
1104
+ return {
1105
+ ...parent.value,
1106
+ formGroup: () => parent,
1107
+ parent: () => this.getParentContext(parent)
570
1108
  };
571
- return this.proxyService.getProxy(parent.value, options);
572
1109
  }
573
1110
  getParent(formGroup) {
574
1111
  let parent = formGroup.parent;
@@ -579,7 +1116,23 @@ class ProgrammabilityService {
579
1116
  }
580
1117
  getContext(control, options = {}) {
581
1118
  const formGroup = control;
582
- const context = this.createProxy(formGroup, options.proxyFn);
1119
+ const baseContext = formGroup?.value ?? {};
1120
+ let context = {
1121
+ ...baseContext,
1122
+ parent: () => this.getParentContext(formGroup),
1123
+ formGroup: () => ToProxy(formGroup),
1124
+ _: this.scope?.getContext(),
1125
+ fn: this.predefinedFunctions
1126
+ };
1127
+ if (options.extendContext) {
1128
+ const extended = options.extendContext();
1129
+ if (extended) {
1130
+ context = {
1131
+ ...context,
1132
+ ...extended
1133
+ };
1134
+ }
1135
+ }
583
1136
  return context;
584
1137
  }
585
1138
  watchExpression(formGroup, expression, callback) {
@@ -624,22 +1177,35 @@ class ProgrammabilityService {
624
1177
  }
625
1178
  }
626
1179
  }
627
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgrammabilityService, deps: [{ token: FeelService }, { token: WeakService }, { token: ProxyService }, { token: ToastService }, { token: RegisterService, optional: true }, { token: ScopeService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
1180
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgrammabilityService, deps: [{ token: FeelService }, { token: WeakService }, { token: ToastService }, { token: DialogService }, { token: FunctionService }, { token: RegisterService, optional: true }, { token: ScopeService, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
628
1181
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgrammabilityService });
629
1182
  }
630
1183
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: ProgrammabilityService, decorators: [{
631
1184
  type: Injectable
632
- }], ctorParameters: () => [{ type: FeelService }, { type: WeakService }, { type: ProxyService }, { type: ToastService }, { type: RegisterService, decorators: [{
1185
+ }], ctorParameters: () => [{ type: FeelService }, { type: WeakService }, { type: ToastService }, { type: DialogService }, { type: FunctionService }, { type: RegisterService, decorators: [{
633
1186
  type: Optional
634
1187
  }] }, { type: ScopeService, decorators: [{
635
1188
  type: Optional
636
1189
  }] }] });
637
1190
 
1191
+ function createControlFromValue(value) {
1192
+ if (value === null || typeof value !== 'object') {
1193
+ return new FormControl$1(value);
1194
+ }
1195
+ if (Array.isArray(value)) {
1196
+ return new FormArray(createControlFromArray(value));
1197
+ }
1198
+ return new FormGroup({});
1199
+ }
1200
+ function createControlFromArray(array) {
1201
+ return array.map(item => createControlFromValue(item));
1202
+ }
638
1203
  function patchForm(control, value, options) {
639
1204
  const defaultOptions = {
640
1205
  emitEvent: true,
641
1206
  validateType: false,
642
- fallbackValue: null
1207
+ fallbackValue: null,
1208
+ strict: true
643
1209
  };
644
1210
  const warn = (message) => {
645
1211
  if (options?.emitWarn)
@@ -649,7 +1215,7 @@ function patchForm(control, value, options) {
649
1215
  if (options?.emitError)
650
1216
  throw new Error(message);
651
1217
  };
652
- const { emitEvent, validateType, fallbackValue } = { ...defaultOptions, ...options };
1218
+ const { emitEvent, validateType, fallbackValue, strict } = { ...defaultOptions, ...options };
653
1219
  if (control instanceof FormControl$1) {
654
1220
  if (validateType && typeof value !== typeof control.value) {
655
1221
  warn(`Value type mismatch: expected ${typeof control.value}, but received ${typeof value}`);
@@ -667,22 +1233,28 @@ function patchForm(control, value, options) {
667
1233
  if (control.controls[key]) {
668
1234
  patchForm(control.controls[key], value[key], options);
669
1235
  }
1236
+ else if (!strict) {
1237
+ const newControl = createControlFromValue(value[key]);
1238
+ control.addControl(key, newControl);
1239
+ patchForm(newControl, value[key], options);
1240
+ }
670
1241
  else {
671
1242
  warn(`Key "${key}" not found in the FormGroup.`);
672
1243
  }
673
1244
  });
674
1245
  }
675
1246
  else if (control instanceof FormArray) {
676
- // qui ci vuole un intervento
677
- (value || []).forEach((item, index) => {
678
- if (control.at(index)) {
679
- patchForm(control.at(index), item, options);
680
- }
681
- else {
682
- warn(`Index ${index} not found in the FormArray. Adding dynamically...`);
683
- const newControl = control.addItem();
684
- patchForm(newControl, item, options);
685
- }
1247
+ const valueArray = Array.isArray(value) ? value : [];
1248
+ while (control.length < valueArray.length) {
1249
+ const newItemValue = valueArray[control.length];
1250
+ const newControl = createControlFromValue(newItemValue);
1251
+ control.push(newControl);
1252
+ }
1253
+ while (control.length > valueArray.length) {
1254
+ control.removeAt(control.length - 1);
1255
+ }
1256
+ valueArray.forEach((item, index) => {
1257
+ patchForm(control.at(index), item, options);
686
1258
  });
687
1259
  }
688
1260
  else {
@@ -720,80 +1292,24 @@ function groupRowsRecursively(components) {
720
1292
  return Array.from(groupedMap.entries()).map(([row, components]) => ({
721
1293
  row,
722
1294
  components
723
- }));
724
- }
725
-
726
- class EventService {
727
- commandSubject = new Subject();
728
- onCommand = this.commandSubject.asObservable();
729
- emitCommand(data) {
730
- this.commandSubject.next(data);
731
- }
732
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
733
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EventService, providedIn: 'root' });
734
- }
735
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EventService, decorators: [{
736
- type: Injectable,
737
- args: [{
738
- providedIn: 'root'
739
- }]
740
- }] });
741
-
742
- class MetadataService {
743
- constructor() {
744
- }
745
- setSchema(schema) {
746
- this.schema = schema ?? { forms: [] };
747
- }
748
- getSchema() {
749
- return this.schema;
750
- }
751
- setForms(forms) {
752
- this.forms = forms ?? [];
753
- }
754
- getForms() {
755
- return this.forms;
756
- }
757
- getFormByName(name) {
758
- return this.forms.find(form => form.name === name);
759
- }
760
- schema = { forms: [] };
761
- forms = [];
762
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
763
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataService });
764
- }
765
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MetadataService, decorators: [{
766
- type: Injectable
767
- }], ctorParameters: () => [] });
768
-
769
- const Texts$6 = {
770
- TypeToSearch: "Digita per cercare...",
771
- Upload: "Upload",
772
- ScrollLeft: "Scorri a sinistra",
773
- ScrollRight: "Scorri a destra",
774
- AddItem: "Aggiungi",
775
- RemoveItem: "Rimuovi",
776
- PreviousSection: "Sezione precedente",
777
- NextSection: "Sezione successiva",
778
- Show: "Visualizza",
779
- Remove: "Rimuovi",
780
- Close: "Chiudi",
781
- Name: "Nome",
782
- Size: "Dimensione",
783
- Type: "Tipo",
784
- Actions: "Azioni",
785
- ReadMore: "Leggi di più",
786
- ReadLess: "Leggi di meno",
787
- SelectAll: "Seleziona tutto",
788
- ChooseOne: "Scegli uno",
789
- True: "Vero",
790
- False: "Falso",
791
- Blank: "Vuoto",
792
- NotBlank: "Non vuoto",
793
- Information: "Informazioni",
794
- OpenMenu: "Apri Menu",
795
- CloseMenu: "Chiudi Menu"
796
- };
1295
+ }));
1296
+ }
1297
+
1298
+ class EventService {
1299
+ commandSubject = new Subject();
1300
+ onCommand = this.commandSubject.asObservable();
1301
+ emitCommand(data) {
1302
+ this.commandSubject.next(data);
1303
+ }
1304
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EventService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1305
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EventService, providedIn: 'root' });
1306
+ }
1307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EventService, decorators: [{
1308
+ type: Injectable,
1309
+ args: [{
1310
+ providedIn: 'root'
1311
+ }]
1312
+ }] });
797
1313
 
798
1314
  class ObjectURLRendererComponent {
799
1315
  params;
@@ -853,10 +1369,12 @@ class ActionsCellRenderer {
853
1369
  }
854
1370
  evaluateBoolean(value) {
855
1371
  const options = {
856
- proxyFn: (options) => {
857
- options.extend["getParams"] = () => this.params;
858
- options.extend["getData"] = () => this.getData();
859
- }
1372
+ extendContext: () => ({
1373
+ "event": {
1374
+ params: this.params,
1375
+ data: this.getData()
1376
+ }
1377
+ })
860
1378
  };
861
1379
  return this.programmability.evaluateBoolean(this.getFormGroup(), value, options);
862
1380
  }
@@ -867,11 +1385,13 @@ class ActionsCellRenderer {
867
1385
  if (action.click) {
868
1386
  const options = {
869
1387
  cacheable: false,
870
- proxyFn: (options) => {
871
- options.extend["getParams"] = () => this.params;
872
- options.extend["getAction"] = () => action;
873
- options.extend["getData"] = () => this.getData();
874
- }
1388
+ extendContext: () => ({
1389
+ "event": {
1390
+ params: this.params,
1391
+ action: action,
1392
+ data: this.getData()
1393
+ }
1394
+ })
875
1395
  };
876
1396
  return this.programmability.evaluate(this.getFormGroup(), action.click, options);
877
1397
  }
@@ -986,255 +1506,84 @@ class SetFilterComponent {
986
1506
  this.params.filterChangedCallback();
987
1507
  }
988
1508
  onSearchChange() {
989
- this.updateFilteredOptions();
990
- }
991
- onSelectAllChange() {
992
- this.setAll(this.selectAll);
993
- }
994
- parseKey(key) {
995
- if (key === 'true')
996
- return true;
997
- if (key === 'false')
998
- return false;
999
- const num = Number(key);
1000
- return isNaN(num) ? key : num;
1001
- }
1002
- setAll(select) {
1003
- this.options.forEach(o => o.selected = select);
1004
- this.updateFilteredOptions();
1005
- this.params.filterChangedCallback();
1006
- }
1007
- updateFilteredOptions() {
1008
- const search = this.searchText.toLowerCase();
1009
- this.filteredOptions = this.options.filter(o => o.label.toLowerCase().includes(search));
1010
- }
1011
- resolvePath(obj, path) {
1012
- return path.split('.').reduce((acc, part) => acc?.[part], obj);
1013
- }
1014
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1015
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SetFilterComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div style=\"padding: 5px;background-color: white;\">\r\n\r\n <div style=\"padding: 5px\">\r\n <ngx-sirio-input type=\"text\"\r\n [placeholder]=\"Texts.TypeToSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchChange()\">\r\n </ngx-sirio-input>\r\n </div>\r\n\r\n <div style=\"padding: 5px; max-height: 200px; overflow-y: auto;\">\r\n <ngx-sirio-checkbox [(ngModel)]=\"selectAll\" (ngModelChange)=\"onSelectAllChange()\">{{Texts.SelectAll}}</ngx-sirio-checkbox>\r\n\r\n <ngx-sirio-checkbox-group>\r\n <ngx-sirio-checkbox *ngFor=\"let option of filteredOptions\"\r\n [(ngModel)]=\"option.selected\"\r\n [value]=\"option.value\"\r\n (change)=\"onSelectionChange()\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SirioInputComponent, selector: "ngx-sirio-input", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "type", "name", "placeholder", "textHelp", "textFeedback", "rows", "cols", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "role"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioCheckboxComponent, selector: "ngx-sirio-checkbox", inputs: ["disabled", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "disabledState", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioCheckboxGroupComponent, selector: "ngx-sirio-checkbox-group", inputs: ["textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }] });
1016
- }
1017
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFilterComponent, decorators: [{
1018
- type: Component,
1019
- args: [{ standalone: true, imports: [CommonModule, FormsModule, SirioInputComponent,
1020
- SirioCheckboxComponent, SirioCheckboxGroupComponent,
1021
- SirioButtonComponent], template: "<div style=\"padding: 5px;background-color: white;\">\r\n\r\n <div style=\"padding: 5px\">\r\n <ngx-sirio-input type=\"text\"\r\n [placeholder]=\"Texts.TypeToSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchChange()\">\r\n </ngx-sirio-input>\r\n </div>\r\n\r\n <div style=\"padding: 5px; max-height: 200px; overflow-y: auto;\">\r\n <ngx-sirio-checkbox [(ngModel)]=\"selectAll\" (ngModelChange)=\"onSelectAllChange()\">{{Texts.SelectAll}}</ngx-sirio-checkbox>\r\n\r\n <ngx-sirio-checkbox-group>\r\n <ngx-sirio-checkbox *ngFor=\"let option of filteredOptions\"\r\n [(ngModel)]=\"option.selected\"\r\n [value]=\"option.value\"\r\n (change)=\"onSelectionChange()\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </div>\r\n\r\n</div>\r\n" }]
1022
- }] });
1023
-
1024
- function getCandidate(element) {
1025
- return Array.from(element.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), ' +
1026
- 'textarea:not([disabled]), button:not([disabled]), iframe, object, embed, ' +
1027
- '[tabindex]:not([tabindex="-1"]), [contenteditable]'));
1028
- }
1029
- function isVisible(element) {
1030
- let el = element;
1031
- while (el) {
1032
- const style = window.getComputedStyle(el);
1033
- if (style.display === 'none' || style.visibility === 'hidden')
1034
- return false;
1035
- el = el.parentElement;
1036
- }
1037
- return true;
1038
- }
1039
- function isFocusable(element) {
1040
- const style = window.getComputedStyle(element);
1041
- return element.tabIndex >= 0 &&
1042
- style.visibility !== 'hidden' &&
1043
- style.display !== 'none' &&
1044
- !element.hasAttribute('disabled') &&
1045
- isVisible(element);
1046
- }
1047
- function getFocusables(el, firstOnly = false) {
1048
- const candidates = getCandidate(el);
1049
- const result = [];
1050
- for (const focusableEl of candidates) {
1051
- if (isFocusable(focusableEl)) {
1052
- result.push(focusableEl);
1053
- if (firstOnly) {
1054
- break;
1055
- }
1056
- }
1057
- }
1058
- return result;
1059
- }
1060
- function setFocus(el) {
1061
- const focusables = getFocusables(el, true);
1062
- if (focusables.length === 0) {
1063
- return false;
1064
- }
1065
- focusables[0].focus();
1066
- return true;
1067
- }
1068
-
1069
- const Texts$5 = {
1070
- TypeToSearch: "Type to search...",
1071
- Upload: "Upload",
1072
- ScrollLeft: "Scroll left",
1073
- ScrollRight: "Scroll right",
1074
- AddItem: "Add",
1075
- RemoveItem: "Remove",
1076
- PreviousSection: "Previous section",
1077
- NextSection: "Next section",
1078
- Show: "Show",
1079
- Remove: "Remove",
1080
- Close: "Close",
1081
- Name: "Name",
1082
- Size: "Size",
1083
- Type: "Type",
1084
- Actions: "Actions",
1085
- ReadMore: "Read more",
1086
- ReadLess: "Read less",
1087
- SelectAll: "Select all",
1088
- ChooseOne: "Choose one",
1089
- True: "True",
1090
- False: "False",
1091
- Blank: "Blank",
1092
- NotBlank: "Not blank",
1093
- Information: "Information",
1094
- OpenMenu: "Open menu",
1095
- CloseMenu: "Close menu"
1096
- };
1097
-
1098
- const Texts$4 = {
1099
- TypeToSearch: "Zum Suchen tippen...",
1100
- Upload: "Hochladen",
1101
- ScrollLeft: "Nach links scrollen",
1102
- ScrollRight: "Nach rechts scrollen",
1103
- AddItem: "Hinzufügen",
1104
- RemoveItem: "Entfernen",
1105
- PreviousSection: "Vorheriger Abschnitt",
1106
- NextSection: "Nächster Abschnitt",
1107
- Show: "Anzeigen",
1108
- Remove: "Entfernen",
1109
- Close: "Schließen",
1110
- Name: "Name",
1111
- Size: "Größe",
1112
- Type: "Typ",
1113
- Actions: "Aktionen",
1114
- ReadMore: "Mehr lesen",
1115
- ReadLess: "Weniger lesen",
1116
- SelectAll: "Alles auswählen",
1117
- ChooseOne: "Wähle eine Option",
1118
- True: "Wahr",
1119
- False: "Falsch",
1120
- Blank: "Leer",
1121
- NotBlank: "Nicht leer",
1122
- Information: "Informationen",
1123
- OpenMenu: "Menü öffnen",
1124
- CloseMenu: "Menü schließen"
1125
- };
1126
-
1127
- const Texts$3 = {
1128
- TypeToSearch: "Tapez pour rechercher...",
1129
- Upload: "Téléverser",
1130
- ScrollLeft: "Faire défiler vers la gauche",
1131
- ScrollRight: "Faire défiler vers la droite",
1132
- AddItem: "Ajouter",
1133
- RemoveItem: "Supprimer",
1134
- PreviousSection: "Section précédente",
1135
- NextSection: "Section suivante",
1136
- Show: "Afficher",
1137
- Remove: "Supprimer",
1138
- Close: "Fermer",
1139
- Name: "Nom",
1140
- Size: "Taille",
1141
- Type: "Type",
1142
- Actions: "Actions",
1143
- ReadMore: "Lire la suite",
1144
- ReadLess: "Lire moins",
1145
- SelectAll: "Tout sélectionner",
1146
- ChooseOne: "Choisir un",
1147
- True: "Vrai",
1148
- False: "Faux",
1149
- Blank: "Vide",
1150
- NotBlank: "Non vide",
1151
- Information: "Informations",
1152
- OpenMenu: "Ouvrir le menu",
1153
- CloseMenu: "Fermer le menu"
1154
- };
1155
-
1156
- const Texts$2 = {
1157
- TypeToSearch: "Escribe para buscar...",
1158
- Upload: "Subir",
1159
- ScrollLeft: "Desplazar a la izquierda",
1160
- ScrollRight: "Desplazar a la derecha",
1161
- AddItem: "Agregar",
1162
- RemoveItem: "Eliminar",
1163
- PreviousSection: "Sección anterior",
1164
- NextSection: "Sección siguiente",
1165
- Show: "Mostrar",
1166
- Remove: "Eliminar",
1167
- Close: "Cerrar",
1168
- Name: "Nombre",
1169
- Size: "Tamaño",
1170
- Type: "Tipo",
1171
- Actions: "Acciones",
1172
- ReadMore: "Leer más",
1173
- ReadLess: "Leer menos",
1174
- SelectAll: "Seleccionar todo",
1175
- ChooseOne: "Elige uno",
1176
- True: "Verdadero",
1177
- False: "Falso",
1178
- Blank: "Vacío",
1179
- NotBlank: "No vacío",
1180
- Information: "Información",
1181
- OpenMenu: "Abrir menú",
1182
- CloseMenu: "Cerrar menú"
1183
- };
1184
-
1185
- const Texts$1 = {
1186
- TypeToSearch: "Digite para pesquisar...",
1187
- Upload: "Enviar",
1188
- ScrollLeft: "Rolar para a esquerda",
1189
- ScrollRight: "Rolar para a direita",
1190
- AddItem: "Adicionar",
1191
- RemoveItem: "Remover",
1192
- PreviousSection: "Seção anterior",
1193
- NextSection: "Próxima seção",
1194
- Show: "Mostrar",
1195
- Remove: "Remover",
1196
- Close: "Fechar",
1197
- Name: "Nome",
1198
- Size: "Tamanho",
1199
- Type: "Tipo",
1200
- Actions: "Ações",
1201
- ReadMore: "Leia mais",
1202
- ReadLess: "Leia menos",
1203
- SelectAll: "Selecionar tudo",
1204
- ChooseOne: "Escolha um",
1205
- True: "Verdadeiro",
1206
- False: "Falso",
1207
- Blank: "Vazio",
1208
- NotBlank: "Não vazio",
1209
- Information: "Informações",
1210
- OpenMenu: "Abrir menu",
1211
- CloseMenu: "Fechar menu"
1212
- };
1213
-
1214
- const Texts = {
1215
- ...Texts$6, // neutral
1216
- i18n: {
1217
- it: Texts$6,
1218
- en: Texts$5,
1219
- de: Texts$4,
1220
- fr: Texts$3,
1221
- es: Texts$2,
1222
- pt: Texts$1
1509
+ this.updateFilteredOptions();
1223
1510
  }
1224
- };
1511
+ onSelectAllChange() {
1512
+ this.setAll(this.selectAll);
1513
+ }
1514
+ parseKey(key) {
1515
+ if (key === 'true')
1516
+ return true;
1517
+ if (key === 'false')
1518
+ return false;
1519
+ const num = Number(key);
1520
+ return isNaN(num) ? key : num;
1521
+ }
1522
+ setAll(select) {
1523
+ this.options.forEach(o => o.selected = select);
1524
+ this.updateFilteredOptions();
1525
+ this.params.filterChangedCallback();
1526
+ }
1527
+ updateFilteredOptions() {
1528
+ const search = this.searchText.toLowerCase();
1529
+ this.filteredOptions = this.options.filter(o => o.label.toLowerCase().includes(search));
1530
+ }
1531
+ resolvePath(obj, path) {
1532
+ return path.split('.').reduce((acc, part) => acc?.[part], obj);
1533
+ }
1534
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFilterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1535
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SetFilterComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: "<div style=\"padding: 5px;background-color: white;\">\r\n\r\n <div style=\"padding: 5px\">\r\n <ngx-sirio-input type=\"text\"\r\n [placeholder]=\"Texts.TypeToSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchChange()\">\r\n </ngx-sirio-input>\r\n </div>\r\n\r\n <div style=\"padding: 5px; max-height: 200px; overflow-y: auto;\">\r\n <ngx-sirio-checkbox [(ngModel)]=\"selectAll\" (ngModelChange)=\"onSelectAllChange()\">{{Texts.SelectAll}}</ngx-sirio-checkbox>\r\n\r\n <ngx-sirio-checkbox-group>\r\n <ngx-sirio-checkbox *ngFor=\"let option of filteredOptions\"\r\n [(ngModel)]=\"option.selected\"\r\n [value]=\"option.value\"\r\n (change)=\"onSelectionChange()\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </div>\r\n\r\n</div>\r\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: SirioInputComponent, selector: "ngx-sirio-input", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "type", "name", "placeholder", "textHelp", "textFeedback", "rows", "cols", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "role"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioCheckboxComponent, selector: "ngx-sirio-checkbox", inputs: ["disabled", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "disabledState", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioCheckboxGroupComponent, selector: "ngx-sirio-checkbox-group", inputs: ["textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }] });
1536
+ }
1537
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SetFilterComponent, decorators: [{
1538
+ type: Component,
1539
+ args: [{ standalone: true, imports: [CommonModule, FormsModule, SirioInputComponent,
1540
+ SirioCheckboxComponent, SirioCheckboxGroupComponent,
1541
+ SirioButtonComponent], template: "<div style=\"padding: 5px;background-color: white;\">\r\n\r\n <div style=\"padding: 5px\">\r\n <ngx-sirio-input type=\"text\"\r\n [placeholder]=\"Texts.TypeToSearch\"\r\n [(ngModel)]=\"searchText\"\r\n (ngModelChange)=\"onSearchChange()\">\r\n </ngx-sirio-input>\r\n </div>\r\n\r\n <div style=\"padding: 5px; max-height: 200px; overflow-y: auto;\">\r\n <ngx-sirio-checkbox [(ngModel)]=\"selectAll\" (ngModelChange)=\"onSelectAllChange()\">{{Texts.SelectAll}}</ngx-sirio-checkbox>\r\n\r\n <ngx-sirio-checkbox-group>\r\n <ngx-sirio-checkbox *ngFor=\"let option of filteredOptions\"\r\n [(ngModel)]=\"option.selected\"\r\n [value]=\"option.value\"\r\n (change)=\"onSelectionChange()\">\r\n {{ option.label }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </div>\r\n\r\n</div>\r\n" }]
1542
+ }] });
1225
1543
 
1226
- const i18n = "i18n";
1227
- function localize(language, component, key) {
1228
- const lng = language?.toLowerCase();
1229
- if (lng) {
1230
- return component[i18n]?.[lng]?.[key]
1231
- || component[key]
1232
- || "";
1544
+ function getCandidate(element) {
1545
+ return Array.from(element.querySelectorAll('a[href], area[href], input:not([disabled]), select:not([disabled]), ' +
1546
+ 'textarea:not([disabled]), button:not([disabled]), iframe, object, embed, ' +
1547
+ '[tabindex]:not([tabindex="-1"]), [contenteditable]'));
1548
+ }
1549
+ function isVisible(element) {
1550
+ let el = element;
1551
+ while (el) {
1552
+ const style = window.getComputedStyle(el);
1553
+ if (style.display === 'none' || style.visibility === 'hidden')
1554
+ return false;
1555
+ el = el.parentElement;
1233
1556
  }
1234
- else {
1235
- return component[key]
1236
- || "";
1557
+ return true;
1558
+ }
1559
+ function isFocusable(element) {
1560
+ const style = window.getComputedStyle(element);
1561
+ return element.tabIndex >= 0 &&
1562
+ style.visibility !== 'hidden' &&
1563
+ style.display !== 'none' &&
1564
+ !element.hasAttribute('disabled') &&
1565
+ isVisible(element);
1566
+ }
1567
+ function getFocusables(el, firstOnly = false) {
1568
+ const candidates = getCandidate(el);
1569
+ const result = [];
1570
+ for (const focusableEl of candidates) {
1571
+ if (isFocusable(focusableEl)) {
1572
+ result.push(focusableEl);
1573
+ if (firstOnly) {
1574
+ break;
1575
+ }
1576
+ }
1577
+ }
1578
+ return result;
1579
+ }
1580
+ function setFocus(el) {
1581
+ const focusables = getFocusables(el, true);
1582
+ if (focusables.length === 0) {
1583
+ return false;
1237
1584
  }
1585
+ focusables[0].focus();
1586
+ return true;
1238
1587
  }
1239
1588
 
1240
1589
  //import { FeelService } from '../services/feel.service';
@@ -1332,12 +1681,15 @@ class GridService {
1332
1681
  NumberFilterModule,
1333
1682
  DateFilterModule,
1334
1683
  ColumnAutoSizeModule,
1335
- ColumnApiModule
1684
+ ColumnApiModule,
1685
+ RowSelectionModule,
1686
+ ValidationModule
1336
1687
  ];
1337
1688
  }
1338
1689
  ;
1339
1690
  getGridOptions(component, formGroup, language) {
1340
1691
  const columnDefs = this.getGridColumns(component, formGroup, language);
1692
+ const selection = this.getRowSelection(component, formGroup);
1341
1693
  const pagination = this.getGridPaginable(component);
1342
1694
  const pageSize = this.getGridPageSize(component);
1343
1695
  const texts = this.getGridTexts(language);
@@ -1348,8 +1700,12 @@ class GridService {
1348
1700
  headerClass: (component.floatingFilter === true)
1349
1701
  ? 'show-filter' : 'hide-filter'
1350
1702
  },
1703
+ selectionColumnDef: {
1704
+ pinned: 'left'
1705
+ },
1351
1706
  dataTypeDefinitions: this.getDataTypeDefinitions(),
1352
1707
  columnDefs: columnDefs,
1708
+ rowSelection: selection,
1353
1709
  pagination: pagination,
1354
1710
  paginationPageSize: pageSize,
1355
1711
  cacheBlockSize: pageSize,
@@ -1357,11 +1713,23 @@ class GridService {
1357
1713
  localeText: texts,
1358
1714
  enableCellTextSelection: true,
1359
1715
  theme: theme,
1360
- onGridReady: (params) => {
1716
+ onGridSizeChanged: (params) => {
1361
1717
  params.api.autoSizeColumns(["actions"]);
1362
- }
1718
+ },
1363
1719
  };
1364
1720
  }
1721
+ onGridSelectionChanged(component, formGroup, event) {
1722
+ if (component.selectionChanged) {
1723
+ return this.programmability.evaluate(formGroup, component.selectionChanged, {
1724
+ cacheable: false,
1725
+ extendContext: () => ({
1726
+ "event": {
1727
+ selectedRows: event.api.getSelectedRows()
1728
+ }
1729
+ })
1730
+ });
1731
+ }
1732
+ }
1365
1733
  locale(component, key, language) {
1366
1734
  return localize(language, component, key);
1367
1735
  }
@@ -1392,6 +1760,8 @@ class GridService {
1392
1760
  colId: 'actions',
1393
1761
  headerName: this.locale(Texts, 'Actions', language),
1394
1762
  resizable: false,
1763
+ sortable: false,
1764
+ filter: false,
1395
1765
  cellDataType: false,
1396
1766
  pinned: "right",
1397
1767
  cellRendererParams: {
@@ -1559,6 +1929,41 @@ class GridService {
1559
1929
  colDef.valueFormatter = (params) => this.formatMap(params.value, map);
1560
1930
  }
1561
1931
  }
1932
+ getRowSelection(component, formGroup) {
1933
+ if (component.selection === "singleRow") {
1934
+ return { mode: "singleRow" };
1935
+ }
1936
+ else if (component.selection === "multiRow") {
1937
+ const options = {
1938
+ mode: "multiRow",
1939
+ selectAll: 'filtered',
1940
+ hideDisabledCheckboxes: true
1941
+ };
1942
+ if (component.isSelectable) {
1943
+ return {
1944
+ ...options,
1945
+ isRowSelectable: (rowNode) => this.onRowSelectable(component, formGroup, rowNode.data)
1946
+ };
1947
+ }
1948
+ else {
1949
+ return options;
1950
+ }
1951
+ }
1952
+ return undefined;
1953
+ }
1954
+ onRowSelectable(component, formGroup, data) {
1955
+ if (!data)
1956
+ return false;
1957
+ const result = this.programmability.evaluate(formGroup, component.isSelectable, {
1958
+ cacheable: false,
1959
+ extendContext: () => ({
1960
+ "event": {
1961
+ data: data
1962
+ }
1963
+ })
1964
+ });
1965
+ return result === true;
1966
+ }
1562
1967
  getGridPaginable(component) {
1563
1968
  return (typeof component.rowCount === 'number' && component.rowCount > 0);
1564
1969
  }
@@ -2149,15 +2554,15 @@ class DropdownDirective {
2149
2554
  this.sirioSelect = sirioSelect;
2150
2555
  }
2151
2556
  ngAfterViewInit() {
2152
- this.handleValue(null);
2153
- this.handleValue(false);
2557
+ this.handleValue();
2154
2558
  this.handleSearchable();
2155
2559
  }
2156
- handleValue(value) {
2560
+ handleValue() {
2561
+ const falsyValues = [null, false, 0, ""];
2157
2562
  if (this.sirioSelect
2158
- && this.sirioSelect.value === value
2159
- && Array.isArray(this.sirioSelect.options)) {
2160
- const valueOption = this.sirioSelect.options.find(option => option.value === value);
2563
+ && Array.isArray(this.sirioSelect.options)
2564
+ && falsyValues.includes(this.sirioSelect.value)) {
2565
+ const valueOption = this.sirioSelect.options.find(option => option.value === this.sirioSelect.value);
2161
2566
  if (valueOption) {
2162
2567
  valueOption.isSelected = true;
2163
2568
  }
@@ -2442,7 +2847,6 @@ class AccordionDirective {
2442
2847
  if (current == 0)
2443
2848
  return;
2444
2849
  setTimeout(() => {
2445
- const oldIndex = this.sirioAccordion.panels.toArray().findIndex(panel => panel.panelIsOpen);
2446
2850
  const event = new Event("");
2447
2851
  this.sirioAccordion.closePanels(event);
2448
2852
  const panels = this.sirioAccordion.panels.toArray();
@@ -2455,18 +2859,8 @@ class AccordionDirective {
2455
2859
  if (previous === undefined) {
2456
2860
  showPanel(0);
2457
2861
  }
2458
- else if (previous < current) {
2459
- showPanel(current - 1);
2460
- }
2461
2862
  else {
2462
- if (oldIndex == current) {
2463
- // remove last
2464
- showPanel(current - 1);
2465
- }
2466
- else if (oldIndex < current) {
2467
- // remove middle
2468
- showPanel(oldIndex);
2469
- }
2863
+ showPanel(current - 1);
2470
2864
  }
2471
2865
  }, 100);
2472
2866
  }
@@ -2497,16 +2891,16 @@ class GridDirective {
2497
2891
  }
2498
2892
  ngOnChanges(changes) {
2499
2893
  if (changes["rowSource"]) {
2500
- this.onRowChanges();
2894
+ this.onRowChanges(this.rowSource);
2501
2895
  }
2502
2896
  }
2503
2897
  isGridReady = false;
2504
- onRowChanges() {
2505
- if (this.isArray(this.rowSource)) {
2506
- this.setRowData(this.rowSource);
2898
+ onRowChanges(rowSource) {
2899
+ if (this.isArray(rowSource)) {
2900
+ this.setRowData(rowSource);
2507
2901
  }
2508
- else if (this.isDataSource(this.rowSource)) {
2509
- this.setDataSource(this.rowSource);
2902
+ else if (this.isDataSource(rowSource)) {
2903
+ this.setDataSource(rowSource);
2510
2904
  }
2511
2905
  else {
2512
2906
  this.setRowData([]);
@@ -2551,78 +2945,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2551
2945
  type: Input
2552
2946
  }] } });
2553
2947
 
2554
- class Control {
2555
- name;
2556
- metadata;
2557
- componentRef;
2558
- elementRef;
2559
- constructor(name, metadata, componentRef, elementRef) {
2560
- this.name = name;
2561
- this.metadata = metadata;
2562
- this.componentRef = componentRef;
2563
- this.elementRef = elementRef;
2564
- }
2565
- getMetadata() {
2566
- return this.metadata;
2567
- }
2568
- getComponentRef() {
2569
- return this.componentRef;
2570
- }
2571
- getElementRef() {
2572
- return this.elementRef;
2573
- }
2574
- }
2575
- class ContainerControl extends Control {
2576
- register;
2577
- constructor(name, metadata, componentRef, elementRef, register) {
2578
- super(name, metadata, componentRef, elementRef);
2579
- this.register = register;
2580
- }
2581
- getControls() {
2582
- return this.register?.getControls() ?? [];
2583
- }
2584
- getControl(name) {
2585
- return this.register?.getControl(name);
2586
- }
2587
- findControl(name, type) {
2588
- const control = this.getControl(name);
2589
- if (control) {
2590
- if (!type) {
2591
- return control;
2592
- }
2593
- else if (control instanceof type) {
2594
- return control;
2595
- }
2596
- else {
2597
- return null;
2598
- }
2599
- }
2600
- for (const child of this.getControls()) {
2601
- if (child instanceof ContainerControl) {
2602
- const found = child.findControl(name, type);
2603
- if (found) {
2604
- return found;
2605
- }
2606
- }
2607
- }
2608
- return null;
2609
- }
2610
- }
2611
- class ItemControl extends ContainerControl {
2612
- index;
2613
- constructor(name, index, metadata, componentRef, elementRef, register) {
2614
- super(name, metadata, componentRef, elementRef, register);
2615
- this.index = index;
2616
- }
2617
- }
2618
-
2619
2948
  class FormControl extends ContainerControl {
2620
2949
  }
2621
2950
 
2622
2951
  class TextFieldControl extends Control {
2623
- setRandomColor() {
2952
+ setRandomColor = () => {
2624
2953
  this.getInput().sirioInput.nativeElement.style.backgroundColor = this.getRandomColor();
2625
- }
2954
+ };
2626
2955
  getInput() {
2627
2956
  return this.getComponentRef();
2628
2957
  }
@@ -2637,12 +2966,18 @@ class TextFieldControl extends Control {
2637
2966
  }
2638
2967
 
2639
2968
  class SelectControl extends Control {
2969
+ refresh = () => {
2970
+ this.getSelect()._refresh();
2971
+ };
2640
2972
  getSelect() {
2641
2973
  return this.getComponentRef();
2642
2974
  }
2643
2975
  }
2644
2976
 
2645
2977
  class TagListControl extends Control {
2978
+ refresh = () => {
2979
+ this.getSelect()._refresh();
2980
+ };
2646
2981
  getSelect() {
2647
2982
  return this.getComponentRef();
2648
2983
  }
@@ -2679,24 +3014,36 @@ class CheckBoxControl extends Control {
2679
3014
  }
2680
3015
 
2681
3016
  class ChipRadioControl extends Control {
3017
+ refresh = () => {
3018
+ this.getChipRadio()._refresh();
3019
+ };
2682
3020
  getChipRadio() {
2683
3021
  return this.getComponentRef();
2684
3022
  }
2685
3023
  }
2686
3024
 
2687
3025
  class RadioControl extends Control {
3026
+ refresh = () => {
3027
+ this.getRadio()._refresh();
3028
+ };
2688
3029
  getRadio() {
2689
3030
  return this.getComponentRef();
2690
3031
  }
2691
3032
  }
2692
3033
 
2693
3034
  class ChipCheckListControl extends Control {
3035
+ refresh = () => {
3036
+ this.getChipCheckBoxGroup()._refresh();
3037
+ };
2694
3038
  getChipCheckBoxGroup() {
2695
3039
  return this.getComponentRef();
2696
3040
  }
2697
3041
  }
2698
3042
 
2699
3043
  class CheckListControl extends Control {
3044
+ refresh = () => {
3045
+ this.getCheckboxGroup()._refresh();
3046
+ };
2700
3047
  getCheckboxGroup() {
2701
3048
  return this.getComponentRef();
2702
3049
  }
@@ -2742,12 +3089,15 @@ class GroupControl extends ContainerControl {
2742
3089
  }
2743
3090
 
2744
3091
  class TableControl extends Control {
2745
- setFilter(filter) {
3092
+ setFilter = (filter) => {
2746
3093
  this.getGrid().api.setFilterModel(filter);
2747
- }
2748
- clearFilter() {
3094
+ };
3095
+ clearFilter = () => {
2749
3096
  this.getGrid().api.setFilterModel(null);
2750
- }
3097
+ };
3098
+ refresh = () => {
3099
+ this.getGrid()._refresh();
3100
+ };
2751
3101
  getGrid() {
2752
3102
  return this.getComponentRef();
2753
3103
  }
@@ -2858,15 +3208,13 @@ function createControl(name, metadata, componentRef, elementRef, register) {
2858
3208
  class RegisterDirective {
2859
3209
  el;
2860
3210
  registerService;
2861
- proxyService;
2862
3211
  register = null;
2863
3212
  componentRef;
2864
3213
  dynamicField;
2865
3214
  itemFields;
2866
- constructor(el, registerService, proxyService) {
3215
+ constructor(el, registerService) {
2867
3216
  this.el = el;
2868
3217
  this.registerService = registerService;
2869
- this.proxyService = proxyService;
2870
3218
  }
2871
3219
  ngAfterContentInit() {
2872
3220
  this.registerControl();
@@ -2892,7 +3240,7 @@ class RegisterDirective {
2892
3240
  return this.register.name ?? this.register.id;
2893
3241
  }
2894
3242
  createDynamicRegister(name, metadata, componentRef, el, itemFields) {
2895
- const newRegister = new RegisterService(this.proxyService, null);
3243
+ const newRegister = new RegisterService(null);
2896
3244
  const registerAll = (itemFields) => {
2897
3245
  newRegister.unregisterAll();
2898
3246
  itemFields.forEach((itemField, index) => {
@@ -2910,7 +3258,7 @@ class RegisterDirective {
2910
3258
  });
2911
3259
  return newRegister;
2912
3260
  }
2913
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterDirective, deps: [{ token: i0.ElementRef }, { token: RegisterService }, { token: ProxyService }], target: i0.ɵɵFactoryTarget.Directive });
3261
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterDirective, deps: [{ token: i0.ElementRef }, { token: RegisterService }], target: i0.ɵɵFactoryTarget.Directive });
2914
3262
  static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: RegisterDirective, isStandalone: true, selector: "[register]", inputs: { register: "register", componentRef: "componentRef" }, queries: [{ propertyName: "dynamicField", first: true, predicate: i0.forwardRef(() => DynamicFieldsComponent), descendants: true }, { propertyName: "itemFields", predicate: i0.forwardRef(() => DynamicFieldsComponent), descendants: true }], ngImport: i0 });
2915
3263
  }
2916
3264
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RegisterDirective, decorators: [{
@@ -2919,7 +3267,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2919
3267
  selector: '[register]',
2920
3268
  standalone: true
2921
3269
  }]
2922
- }], ctorParameters: () => [{ type: i0.ElementRef }, { type: RegisterService }, { type: ProxyService }], propDecorators: { register: [{
3270
+ }], ctorParameters: () => [{ type: i0.ElementRef }, { type: RegisterService }], propDecorators: { register: [{
2923
3271
  type: Input
2924
3272
  }], componentRef: [{
2925
3273
  type: Input
@@ -2931,6 +3279,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2931
3279
  args: [forwardRef(() => DynamicFieldsComponent), { descendants: true }]
2932
3280
  }] } });
2933
3281
 
3282
+ class RefreshDirective {
3283
+ refresh = null;
3284
+ componentRef;
3285
+ constructor() {
3286
+ }
3287
+ ngAfterContentInit() {
3288
+ this.componentRef._refresh = this.refresh;
3289
+ }
3290
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RefreshDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
3291
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: RefreshDirective, isStandalone: true, selector: "[refresh]", inputs: { refresh: "refresh", componentRef: "componentRef" }, ngImport: i0 });
3292
+ }
3293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: RefreshDirective, decorators: [{
3294
+ type: Directive,
3295
+ args: [{
3296
+ selector: '[refresh]',
3297
+ standalone: true
3298
+ }]
3299
+ }], ctorParameters: () => [], propDecorators: { refresh: [{
3300
+ type: Input
3301
+ }], componentRef: [{
3302
+ type: Input
3303
+ }] } });
3304
+
2934
3305
  class UpdateBlurDirective {
2935
3306
  sirioInput;
2936
3307
  constructor(sirioInput) {
@@ -3714,7 +4085,9 @@ class DynamicFieldsComponent {
3714
4085
  return this.programmability.evaluateTemplate(this.formGroup, value);
3715
4086
  }
3716
4087
  evaluate(text, cacheable = true) {
3717
- return this.programmability.evaluate(this.formGroup, text, { cacheable: cacheable });
4088
+ return this.programmability.evaluate(this.formGroup, text, {
4089
+ cacheable: cacheable
4090
+ });
3718
4091
  }
3719
4092
  evaluateColor(value) {
3720
4093
  const color = this.evaluateString(value);
@@ -3746,14 +4119,8 @@ class DynamicFieldsComponent {
3746
4119
  }
3747
4120
  return control;
3748
4121
  }
3749
- getControlFromPath(path) {
3750
- const control = path
3751
- ? this.formGroup.get(path)
3752
- : this.formGroup;
3753
- if (!control) {
3754
- throw new Error(`FormGroup does not contain a control with path '${path}'`, { cause: this.formGroup });
3755
- }
3756
- return control;
4122
+ resolvePath(path) {
4123
+ return this.getFormGroup(this.getControlFromPath(path));
3757
4124
  }
3758
4125
  toHTML(text) {
3759
4126
  const watchKey = `:safeHtml(${text})`;
@@ -3805,16 +4172,29 @@ class DynamicFieldsComponent {
3805
4172
  return of([]);
3806
4173
  }
3807
4174
  }
4175
+ refreshValues(component) {
4176
+ return () => {
4177
+ if (component.valuesKey) {
4178
+ this.invalidate(component.valuesKey);
4179
+ }
4180
+ else if (component.valuesExpression) {
4181
+ this.invalidate(component.valuesExpression);
4182
+ }
4183
+ };
4184
+ }
3808
4185
  getGridOptions(component) {
3809
4186
  return this.weak.call(component, `getGridOptions_${this.language}`, () => this.grid.getGridOptions(component, this.formGroup, this.language));
3810
4187
  }
3811
4188
  getGridModules(component) {
3812
4189
  return this.weak.call(component, 'getGridModules', () => this.grid.getGridModules());
3813
4190
  }
3814
- getGridData(component) {
4191
+ onGridSelectionChanged(component, event) {
4192
+ this.grid.onGridSelectionChanged(component, this.formGroup, event);
4193
+ }
4194
+ getRowSource(component) {
3815
4195
  if (component.dataSource) {
3816
4196
  // Expression
3817
- const result = this.evaluate(component.dataSource);
4197
+ const result = this.evaluate(component.dataSource, true);
3818
4198
  return this.getAsObservable(result);
3819
4199
  }
3820
4200
  else {
@@ -3822,12 +4202,17 @@ class DynamicFieldsComponent {
3822
4202
  return of([]);
3823
4203
  }
3824
4204
  }
3825
- addItem(component) {
3826
- const formArray = this.getFormArray(this.getControlFromPath(component.path));
4205
+ refreshRowSource(component) {
4206
+ return () => {
4207
+ if (component.dataSource) {
4208
+ this.invalidate(component.dataSource);
4209
+ }
4210
+ };
4211
+ }
4212
+ addItem(formArray) {
3827
4213
  formArray.addItem();
3828
4214
  }
3829
- removeItem(component, index) {
3830
- const formArray = this.getFormArray(this.getControlFromPath(component.path));
4215
+ removeItem(formArray, index) {
3831
4216
  formArray.removeAt(index);
3832
4217
  }
3833
4218
  createUploadTables(component) {
@@ -3905,6 +4290,18 @@ class DynamicFieldsComponent {
3905
4290
  };
3906
4291
  addRemove($event.component.fileList);
3907
4292
  }
4293
+ invalidate(text) {
4294
+ return this.programmability.invalidate(text);
4295
+ }
4296
+ getControlFromPath(path) {
4297
+ const control = path
4298
+ ? this.formGroup.get(path)
4299
+ : this.formGroup;
4300
+ if (!control) {
4301
+ throw new Error(`FormGroup does not contain a control with path '${path}'`, { cause: this.formGroup });
4302
+ }
4303
+ return control;
4304
+ }
3908
4305
  focusFirst() {
3909
4306
  const focusableElements = this.el.nativeElement.querySelectorAll('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
3910
4307
  for (let el of focusableElements) {
@@ -3971,14 +4368,14 @@ class DynamicFieldsComponent {
3971
4368
  RegisterService,
3972
4369
  ProgrammabilityService,
3973
4370
  GridService
3974
- ], ngImport: i0, template: "<ng-container *ngFor=\"let row of rows\" [formGroup]=\"formGroup\">\r\n <div class=\"row field-set\">\r\n <ng-container *ngFor=\"let component of row.components\">\r\n <ng-container [ngSwitch]=\"component.type\">\r\n <div [class]=\"getClass(component)\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <!-- #region textfield -->\r\n <ng-container *ngSwitchCase=\"'textfield'\">\r\n <ngx-sirio-input type=\"text\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n [textcase]=\"component.textCase\"\r\n [maxlength]=\"evaluateNumber(component.maxLength)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textfield\r\n [register]=\"component\"\r\n [componentRef]=\"textfield\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region select -->\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <ngx-sirio-select [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n dropdown\r\n #select\r\n [register]=\"component\"\r\n [componentRef]=\"select\">\r\n <ngx-sirio-select-panel>\r\n <ngx-sirio-input *ngIf=\"component.searchable\" class=\"searchable\" type=\"text\" [placeholder]=\"locale(Texts, 'TypeToSearch')\"></ngx-sirio-input>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ locale(option, 'label') }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region taglist -->\r\n <ng-container *ngSwitchCase=\"'taglist'\">\r\n <ngx-sirio-select [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [isMultiple]=\"true\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #taglist\r\n [register]=\"component\"\r\n [componentRef]=\"taglist\">\r\n <ngx-sirio-select-panel>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ locale(option, 'label') }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <ngx-sirio-input type=\"number\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n number\r\n [defaultValue]=\"evaluateNumber(component.defaultValue)\"\r\n [minimum]=\"evaluateNumber(component.minimum)\"\r\n [maximum]=\"evaluateNumber(component.maximum)\"\r\n [decimalDigits]=\"evaluateNumber(component.decimalDigits)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #number\r\n [register]=\"component\"\r\n [componentRef]=\"number\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region datetime -->\r\n <ng-container *ngSwitchCase=\"'datetime'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ngx-sirio-datepicker [ariaLabel]=\"evaluateString(locale(component, 'ariaDateLabel') || locale(component, 'dateLabel'))\"\r\n [label]=\"evaluateString(locale(component, 'dateLabel'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n isoDate\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #date\r\n [register]=\"component\"\r\n [componentRef]=\"date\">\r\n </ngx-sirio-datepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region time -->\r\n <ng-container *ngSwitchCase=\"'time'\">\r\n <ngx-sirio-timepicker [ariaLabel]=\"evaluateString(locale(component, 'ariaTimeLabel') || locale(component, 'timeLabel'))\"\r\n [label]=\"evaluateString(locale(component, 'timeLabel'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #time\r\n [register]=\"component\"\r\n [componentRef]=\"time\">\r\n </ngx-sirio-timepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region toggle -->\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <ngx-sirio-toggle [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #toggle\r\n [register]=\"component\"\r\n [componentRef]=\"toggle\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-toggle>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-checkbox>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-radio-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipradio\r\n [register]=\"component\"\r\n [componentRef]=\"chipradio\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"radio\"\r\n [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-radio-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #radio\r\n [register]=\"component\"\r\n [componentRef]=\"radio\">\r\n <ngx-sirio-radio-button *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-radio-button>\r\n </ngx-sirio-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checklist -->\r\n <ng-container *ngSwitchCase=\"'checklist'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-checkbox-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipcheckbox\r\n [register]=\"component\"\r\n [componentRef]=\"chipcheckbox\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"checkbox\"\r\n [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n <ngx-sirio-checkbox *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region textarea -->\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <ngx-sirio-input type=\"textarea\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [formControlName]=\"component.key\"\r\n [textcase]=\"component.textCase\"\r\n [maxlength]=\"evaluateNumber(component.maxLength)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textarea\r\n [register]=\"component\"\r\n [componentRef]=\"textarea\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region filepicker -->\r\n <ng-container *ngSwitchCase=\"'filepicker'\">\r\n <ngx-sirio-file-upload [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [accept]=\"getMimeTypes(component.accept)\"\r\n [multiple]=\"evaluateBoolean(component.multiple)\"\r\n (fileUploadedEvent)=\"fileUploaded($event)\"\r\n [showFilelist]=\"!component.showDetails\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #filepicker\r\n [register]=\"component\"\r\n [componentRef]=\"filepicker\">\r\n <span class=\"fas fa-arrow-up\" aria-hidden=\"true\"></span>\r\n {{ locale(Texts, 'Upload') }}\r\n </ngx-sirio-file-upload>\r\n <ng-container *ngIf=\"component.showDetails\">\r\n <app-dynamic-fields [formGroup]=\"formGroup\"\r\n [rows]=\"createUploadTables(component)\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [collapse]=\"component.collapseTo\"\r\n [language]=\"language\"\r\n #text\r\n [register]=\"component\"\r\n [componentRef]=\"text\">\r\n <!--Reset View Context-->\r\n <div tabindex=\"0\" style=\"display:none\"></div>\r\n <div class=\"flex\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n <ng-container *ngIf=\"component.tooltip\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [attr.aria-label]=\"locale(Texts, 'Information')\"\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'tooltip')))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region html -->\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <div class=\"html-paragraph\"\r\n [innerHTML]=\"sanitize(evaluateTemplate(locale(component, 'content')))\"\r\n #html\r\n [register]=\"component\"\r\n [componentRef]=\"html\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"evaluateString(component.source)\"\r\n [alt]=\"evaluateString(locale(component, 'alt'))\"\r\n style=\"width: 100%;height: 100%;\"\r\n #image\r\n [register]=\"component\"\r\n [componentRef]=\"image\">\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region dynamiclist -->\r\n <ng-container *ngSwitchCase=\"'dynamiclist'\">\r\n <ng-container [formArrayName]=\"component.path\"\r\n [repeat]=\"evaluateNumber(component.repetitions)\"\r\n [allowAddRemove]=\"evaluateBoolean(component.allowAddRemove)\">\r\n <p *ngIf=\"component.description\">{{ evaluateString(locale(component, 'description')) }}</p>\r\n <ng-container *ngIf=\"getFormArray(formGroup.get(component.path)).controls.length > 0\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclisttab\">\r\n <ngx-sirio-tab [leftArrowLabel]=\"locale(Texts, 'ScrollLeft')\"\r\n [rightArrowLabel]=\"locale(Texts, 'ScrollRight')\"\r\n [tabCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclisttab>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-tab-item [label]=\"evaluateString(locale(component, 'label')) + ' ' + (i + 1)\">\r\n <ng-container *ngIf=\"i === dynamiclisttab.activeIndex\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclistaccordion\">\r\n <ngx-sirio-accordion [accordionCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclistaccordion>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-accordion-panel #panel accordionPanel>\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"evaluateString(locale(component, 'label')) + ' ' + (i + 1)\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <ng-container *ngIf=\"panel.panelIsOpen\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <div #dynamiclist\r\n [register]=\"component\"\r\n [componentRef]=\"dynamiclist\">\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <div [ngClass]=\"{'group-outline': component.showOutline === true, 'group-outline-repeat': true }\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <label>{{ evaluateString(locale(component, 'label')) + ' ' + (i + 1) }}</label>\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <ngx-sirio-button (click)=\"addItem(component)\" class=\"add-item\" [color]=\"null\" icon=\"fas fa-plus\">{{ evaluateString(locale(component, 'addLabel') || locale(Texts, 'AddItem')) }}</ngx-sirio-button>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region group -->\r\n <ng-container *ngSwitchCase=\"'group'\">\r\n <div [ngClass]=\"{\r\n 'group-outline': component.showOutline === true,\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <label>{{ evaluateString(locale(component, 'label')) }}</label>\r\n <div #group\r\n [register]=\"component\"\r\n [componentRef]=\"group\">\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(component.path))\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region table -->\r\n <ng-container *ngSwitchCase=\"'table'\">\r\n <label>{{ evaluateString(locale(component, 'label')) }}</label>\r\n <ag-grid-angular [modules]=\"getGridModules(component)\"\r\n [gridOptions]=\"getGridOptions(component)\"\r\n [rowSource]=\"(getGridData(component) | async) || []\"\r\n [style.height.px]=\"component.height\"\r\n #table\r\n [register]=\"component\"\r\n [componentRef]=\"table\" />\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region button -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ngx-sirio-button (clickEvent)=\"clickButton(component, $event)\"\r\n [color]=\"evaluateColor(component.color)\"\r\n [icon]=\"evaluateString(component.icon)\"\r\n [disabled]=\"evaluateBoolean(component.disabled)\"\r\n #button\r\n [register]=\"component\"\r\n [componentRef]=\"button\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-button>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region separator -->\r\n <ng-container *ngSwitchCase=\"'separator'\">\r\n <div class=\"separator\"\r\n #separator\r\n [register]=\"component\"\r\n [componentRef]=\"separator\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region spacer -->\r\n <ng-container *ngSwitchCase=\"'spacer'\">\r\n <div style=\"width: 100%\"\r\n [style.height.px]=\"component.height\"\r\n #spacer\r\n [register]=\"component\"\r\n [componentRef]=\"spacer\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region iframe -->\r\n <ng-container *ngSwitchCase=\"'iframe'\">\r\n <label [for]=\"component.id\">{{ evaluateString(locale(component, 'label')) }}</label>\r\n <iframe [src]=\"evaluateUrl(component.url)\"\r\n [title]=\"evaluateString(locale(component, 'label'))\"\r\n [style.width]=\"'100%'\"\r\n [style.height.px]=\"component.height\"\r\n [frameSecurity]=\"component.security\"\r\n #iframe\r\n [register]=\"component\"\r\n [componentRef]=\"iframe\">\r\n </iframe>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region alert -->\r\n <ng-container *ngSwitchCase=\"'alert'\">\r\n <ngx-sirio-alert [type]=\"component.role\"\r\n [labelClose]=\"locale(Texts, 'Close')\"\r\n #alert\r\n [register]=\"component\"\r\n [componentRef]=\"alert\">\r\n <ngx-sirio-alert-message>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </ngx-sirio-alert-message>\r\n </ngx-sirio-alert>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region notice -->\r\n <ng-container *ngSwitchCase=\"'notice'\">\r\n <ngx-sirio-notify #notice\r\n [register]=\"component\"\r\n [componentRef]=\"notice\">\r\n <ngx-sirio-notify-body [title]=\"evaluateString(locale(component, 'title'))\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </ngx-sirio-notify-body>\r\n </ngx-sirio-notify>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region range -->\r\n <ng-container *ngSwitchCase=\"'range'\">\r\n <ngx-sirio-slider [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [min]=\"evaluateNumber(component.range?.min) ?? 0\"\r\n [max]=\"evaluateNumber(component.range?.max) ?? 0\"\r\n #range\r\n [register]=\"component\"\r\n [componentRef]=\"range\">\r\n </ngx-sirio-slider>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tooltip -->\r\n <ng-container *ngSwitchCase=\"'tooltip'\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"\r\n #tooltip\r\n [register]=\"component\"\r\n [componentRef]=\"tooltip\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <p *ngIf=\"component.title\" class=\"sirio-tooltip-heading sirio-space-down\">\r\n {{ evaluateString(locale(component, 'title')) }}\r\n </p>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <ngx-sirio-tab #tab\r\n [register]=\"component\"\r\n [componentRef]=\"tab\"\r\n [leftArrowLabel]=\"locale(Texts, 'ScrollLeft')\"\r\n [rightArrowLabel]=\"locale(Texts, 'ScrollRight')\"\r\n tabControl>\r\n <ng-container *ngFor=\"let panel of component.panels\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(panel.disabled),\r\n formGroup: formGroup,\r\n path: panel.path\r\n }\">\r\n </ng-container>\r\n <ngx-sirio-tab-item [label]=\"evaluateString(locale(panel, 'label'))\"\r\n [disabled]=\"evaluateBoolean(panel.disabled) ?? false\"\r\n *ngIf=\"evaluateConditional(panel.conditional)\">\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(panel.path))\"\r\n [rows]=\"getTemplate(panel.template)?.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <ngx-sirio-accordion #accordion\r\n [register]=\"component\"\r\n [componentRef]=\"accordion\">\r\n <ng-container *ngFor=\"let panel of component.panels\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(panel.disabled),\r\n formGroup: formGroup,\r\n path: panel.path\r\n }\">\r\n </ng-container>\r\n <ngx-sirio-accordion-panel *ngIf=\"evaluateConditional(panel.conditional)\"\r\n [disabled]=\"evaluateBoolean(panel.disabled)\">\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"evaluateString(locale(panel, 'label'))\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(panel.path))\"\r\n [rows]=\"getTemplate(panel.template)?.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".flex{display:flex}.field-set{align-items:start}.field-set>.col-host>*{margin-bottom:10px}.separator{border-bottom:2px solid #d9e4f7;width:100%;margin:10px 0}.group-outline{border:1px solid #d9e4f7;padding:15px;margin-top:2px;margin-bottom:2px}.group-outline-repeat{margin-top:8px;margin-bottom:8px}.group-top .row{align-items:baseline}.group-center .row{align-items:center}.group-bottom .row{align-items:end}.text-paragraph p{margin-bottom:0!important}.sirio-control.ng-invalid .sirio-form-feedback{color:#aa224f;display:inline-block}.sirio-control.ng-invalid .sirio-input-group-text{color:#aa224f;border-color:#aa224f}.sirio-control.fp-disabled .sirio-input-group .sirio-input-group-text,.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{border:0px}.sirio-control.fp-readonly label:hover{color:#454d56}.sirio-control.fp-readonly input.sirio-form-control,.sirio-control.fp-readonly .sirio-dropdown .sirio-dropdown-select,.sirio-control.fp-readonly textarea.sirio-form-control{background:none!important;border:0px;padding:0}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{background:none}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text span{color:#5b6571}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text.prefix{padding-left:0}.sirio-upload.sirio-control.fp-readonly label,.sirio-upload.sirio-control.fp-disabled label{pointer-events:none}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label{color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label:before,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label{color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:before,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:after,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:after{background-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-upload.sirio-is-invalid button{background-color:#aa224f;border-color:#aa224f}.col-host .sirio-accordion .sirio-accordion-body .sirio-accordion-content{padding:16px}.col-host .sirio-accordion-body{overflow:unset!important}.ag-header-cell.hide-filter .ag-header-cell-filter-button{display:none}.sirio-tab.sirio-tab-scroll{display:block}.sirio-dropdown .searchable{position:absolute;width:100%;display:none;left:0}.ag-cell-value .btn-small-group{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.ag-cell-value .btn-small .sirio-btn{padding:.25rem .0625rem;margin:2px}\n"], dependencies: [{ kind: "component", type: DynamicFieldsComponent, selector: "app-dynamic-fields", inputs: ["rows", "formGroup", "language"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i10.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: AdornerDirective, selector: "[prefixAdorner], [suffixAdorner]", inputs: ["prefixAdorner", "suffixAdorner"] }, { kind: "directive", type: DisableDirective, selector: "[disableControl], [readonly]", inputs: ["disableControl", "readonly", "placeholder", "componentRef"] }, { kind: "directive", type: DisplayDirective, selector: "[hide], [show]", inputs: ["hide", "show"] }, { kind: "directive", type: FrameSecurityDirective, selector: "[frameSecurity]", inputs: ["frameSecurity"] }, { kind: "directive", type: DropdownDirective, selector: "[dropdown]" }, { kind: "directive", type: UpdateBlurDirective, selector: "[updateBlur]" }, { kind: "directive", type: RepeatDirective, selector: "[repeat], [allowAddRemove]", inputs: ["repeat", "allowAddRemove"] }, { kind: "directive", type: TabDirective, selector: "[tabCount]", inputs: ["tabCount"] }, { kind: "directive", type: GridDirective, selector: "[rowSource]", inputs: ["rowSource"] }, { kind: "directive", type: RegisterDirective, selector: "[register]", inputs: ["register", "componentRef"] }, { kind: "directive", type: AccordionDirective, selector: "[accordionCount]", inputs: ["accordionCount"] }, { kind: "directive", type: DateDirective, selector: "[isoDate]" }, { kind: "directive", type: NumberDirective, selector: "[number]", inputs: ["defaultValue", "minimum", "maximum", "decimalDigits"] }, { kind: "directive", type: TextDirective, selector: "[textcase], [maxlength]", inputs: ["textcase", "maxlength"] }, { kind: "directive", type: DisableFormDirective, selector: "[disableForm]", inputs: ["disableForm"] }, { kind: "directive", type: TabControlDirective, selector: "[tabControl]" }, { kind: "directive", type: CollapseDirective, selector: "[collapse]", inputs: ["collapse", "language"] }, { kind: "directive", type: AccordionPanelDirective, selector: "[accordionPanel]" }, { kind: "component", type: SirioInputComponent, selector: "ngx-sirio-input", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "type", "name", "placeholder", "textHelp", "textFeedback", "rows", "cols", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "role"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "directive", type: SirioValidationDirective, selector: "[validation]", inputs: ["canValidate", "isWarning", "showWhenValid"] }, { kind: "component", type: SirioSelectComponent, selector: "ngx-sirio-select", inputs: ["placeholder", "disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "isMultiple", "textHelp", "textFeedback", "ariaLabel", "ariaInvalid", "ariaDescribedBy"], outputs: ["focusEvent", "blurEvent", "keydownEvent"] }, { kind: "component", type: SirioSelectOptionComponent, selector: "ngx-sirio-select-option", inputs: ["value"], outputs: ["optionSelected", "blurEvent"] }, { kind: "component", type: SirioSelectPanelComponent, selector: "ngx-sirio-select-panel", outputs: ["optionSelected", "panelOpened", "panelClosed"] }, { kind: "component", type: SirioCheckboxGroupComponent, selector: "ngx-sirio-checkbox-group", inputs: ["textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioCheckboxComponent, selector: "ngx-sirio-checkbox", inputs: ["disabled", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "disabledState", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioDatepickerComponent, selector: "ngx-sirio-datepicker", inputs: ["name", "placeholder", "textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "value", "disabledState"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent", "datechangeEvent"] }, { kind: "component", type: SirioTimepickerComponent, selector: "ngx-sirio-timepicker", inputs: ["name", "label", "labelPopover", "ariaLabelPopoverButton", "placeholder", "textHelp", "textFeedback", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioRadioGroupComponent, selector: "ngx-sirio-radio-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioRadioButtonComponent, selector: "ngx-sirio-radio-button", inputs: ["disabledState", "label", "name", "textHelp", "textFeedback", "ariaInvalid", "ariaDescribedBy", "value", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioTabComponent, selector: "ngx-sirio-tab", inputs: ["isVertical", "isNavLine", "leftArrowLabel", "rightArrowLabel", "tabActive"], outputs: ["tabChange"] }, { kind: "component", type: SirioTabItemComponent, selector: "ngx-sirio-tab-item", inputs: ["label", "disabled", "icon"] }, { kind: "component", type: SirioAccordionComponent, selector: "ngx-sirio-accordion", inputs: ["dark"] }, { kind: "component", type: SirioAccordionPanelComponent, selector: "ngx-sirio-accordion-panel", inputs: ["active", "disabled"], outputs: ["opened", "closed"] }, { kind: "component", type: SirioAccordionHeaderComponent, selector: "ngx-sirio-accordion-header" }, { kind: "component", type: SirioAccordionBodyComponent, selector: "ngx-sirio-accordion-body" }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioFileUploadComponent, selector: "ngx-sirio-file-upload", inputs: ["multiple", "color", "accept", "maxFiles", "showFilelist", "label", "labelPopover", "ariaLabelPopoverButton", "name", "textHelp", "textFeedback", "ariaLabel", "ariaLabelDeleteFileButton", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "fileUploadedEvent", "fileDeletedEvent", "uploadErrorEvent", "blurEvent"] }, { kind: "component", type: SirioToggleComponent, selector: "ngx-sirio-toggle", inputs: ["name", "textHelp", "textFeedback", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioChipCheckboxGroupComponent, selector: "ngx-sirio-chip-checkbox-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioChipRadioGroupComponent, selector: "ngx-sirio-chip-radio-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioInputChipComponent, selector: "ngx-sirio-input-chip", inputs: ["disabledState", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "type", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioAlertComponent, selector: "ngx-sirio-alert", inputs: ["type", "labelClose", "isVisible"], outputs: ["closeEvent"] }, { kind: "component", type: SirioAlertMessageComponent, selector: "ngx-sirio-alert-message" }, { kind: "component", type: SirioSliderComponent, selector: "ngx-sirio-slider", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "description", "min", "max", "ariaInvalid", "ariaDescribedBy", "textHelp", "textFeedback"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioNotifyComponent, selector: "ngx-sirio-notify", inputs: ["isDark"] }, { kind: "component", type: SirioNotifyBodyComponent, selector: "ngx-sirio-notify-body", inputs: ["title"] }, { kind: "directive", type: SirioTooltipDirective, selector: "[sirioTooltip]", inputs: ["sirioTooltip", "content", "hasAction", "hasPopover", "actionLabel", "actionIconClass", "clickOutside", "position", "customTemplate"], outputs: ["clickEvent"] }, { kind: "component", type: TemplateWrapperComponent, selector: "app-template-wrapper", inputs: ["template", "context"] }, { kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }], encapsulation: i0.ViewEncapsulation.None });
4371
+ ], ngImport: i0, template: "<ng-container *ngFor=\"let row of rows\" [formGroup]=\"formGroup\">\r\n <div class=\"row field-set\">\r\n <ng-container *ngFor=\"let component of row.components\">\r\n <ng-container [ngSwitch]=\"component.type\">\r\n <div [class]=\"getClass(component)\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <!-- #region textfield -->\r\n <ng-container *ngSwitchCase=\"'textfield'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-input type=\"text\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n [textcase]=\"component.textCase\"\r\n [maxlength]=\"evaluateNumber(component.maxLength)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textfield\r\n [register]=\"component\"\r\n [componentRef]=\"textfield\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region select -->\r\n <ng-container *ngSwitchCase=\"'select'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-select [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n dropdown\r\n #select\r\n [register]=\"component\"\r\n [componentRef]=\"select\">\r\n <ngx-sirio-select-panel>\r\n <ngx-sirio-input *ngIf=\"component.searchable\" class=\"searchable\" type=\"text\" [placeholder]=\"locale(Texts, 'TypeToSearch')\"></ngx-sirio-input>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ locale(option, 'label') }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region taglist -->\r\n <ng-container *ngSwitchCase=\"'taglist'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-select [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [isMultiple]=\"true\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #taglist\r\n [register]=\"component\"\r\n [componentRef]=\"taglist\">\r\n <ngx-sirio-select-panel>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ locale(option, 'label') }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region number -->\r\n <ng-container *ngSwitchCase=\"'number'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-input type=\"number\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n number\r\n [defaultValue]=\"evaluateNumber(component.defaultValue)\"\r\n [minimum]=\"evaluateNumber(component.minimum)\"\r\n [maximum]=\"evaluateNumber(component.maximum)\"\r\n [decimalDigits]=\"evaluateNumber(component.decimalDigits)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #number\r\n [register]=\"component\"\r\n [componentRef]=\"number\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region datetime -->\r\n <ng-container *ngSwitchCase=\"'datetime'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ngx-sirio-datepicker [ariaLabel]=\"evaluateString(locale(component, 'ariaDateLabel') || locale(component, 'dateLabel'))\"\r\n [label]=\"evaluateString(locale(component, 'dateLabel'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n isoDate\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #date\r\n [register]=\"component\"\r\n [componentRef]=\"date\">\r\n </ngx-sirio-datepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region time -->\r\n <ng-container *ngSwitchCase=\"'time'\">\r\n <ngx-sirio-timepicker [ariaLabel]=\"evaluateString(locale(component, 'ariaTimeLabel') || locale(component, 'timeLabel'))\"\r\n [label]=\"evaluateString(locale(component, 'timeLabel'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #time\r\n [register]=\"component\"\r\n [componentRef]=\"time\">\r\n </ngx-sirio-timepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region toggle -->\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <ngx-sirio-toggle [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #toggle\r\n [register]=\"component\"\r\n [componentRef]=\"toggle\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-toggle>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-checkbox>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-radio-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #chipradio\r\n [register]=\"component\"\r\n [componentRef]=\"chipradio\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"radio\"\r\n [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-radio-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #radio\r\n [register]=\"component\"\r\n [componentRef]=\"radio\">\r\n <ngx-sirio-radio-button *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-radio-button>\r\n </ngx-sirio-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checklist -->\r\n <ng-container *ngSwitchCase=\"'checklist'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-checkbox-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #chipcheckbox\r\n [register]=\"component\"\r\n [componentRef]=\"chipcheckbox\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"checkbox\"\r\n [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n <ngx-sirio-checkbox *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region textarea -->\r\n <ng-container *ngSwitchCase=\"'textarea'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-input type=\"textarea\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [formControlName]=\"component.key\"\r\n [textcase]=\"component.textCase\"\r\n [maxlength]=\"evaluateNumber(component.maxLength)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textarea\r\n [register]=\"component\"\r\n [componentRef]=\"textarea\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region filepicker -->\r\n <ng-container *ngSwitchCase=\"'filepicker'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-file-upload [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [accept]=\"getMimeTypes(component.accept)\"\r\n [multiple]=\"evaluateBoolean(component.multiple)\"\r\n (fileUploadedEvent)=\"fileUploaded($event)\"\r\n [showFilelist]=\"!component.showDetails\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #filepicker\r\n [register]=\"component\"\r\n [componentRef]=\"filepicker\">\r\n <span class=\"fas fa-arrow-up\" aria-hidden=\"true\"></span>\r\n {{ locale(Texts, 'Upload') }}\r\n </ngx-sirio-file-upload>\r\n <ng-container *ngIf=\"component.showDetails\">\r\n <app-dynamic-fields [formGroup]=\"formGroup\"\r\n [rows]=\"createUploadTables(component)\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region range -->\r\n <ng-container *ngSwitchCase=\"'range'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-slider [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [min]=\"evaluateNumber(component.range?.min) ?? 0\"\r\n [max]=\"evaluateNumber(component.range?.max) ?? 0\"\r\n #range\r\n [register]=\"component\"\r\n [componentRef]=\"range\">\r\n </ngx-sirio-slider>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region dynamiclist -->\r\n <ng-container *ngSwitchCase=\"'dynamiclist'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [formArrayName]=\"component.key\"\r\n [repeat]=\"evaluateNumber(component.repetitions)\"\r\n [allowAddRemove]=\"evaluateBoolean(component.allowAddRemove)\">\r\n <p *ngIf=\"component.description\">{{ evaluateString(locale(component, 'description')) }}</p>\r\n <ng-container *ngIf=\"getFormArray(resolvePath(component.path).get(component.key)) as formArray\">\r\n <ng-container *ngIf=\"formArray.controls.length > 0\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclisttab\">\r\n <ngx-sirio-tab [leftArrowLabel]=\"locale(Texts, 'ScrollLeft')\"\r\n [rightArrowLabel]=\"locale(Texts, 'ScrollRight')\"\r\n [tabCount]=\"formArray.controls.length\"\r\n #dynamiclisttab>\r\n <ng-container *ngFor=\"let item of formArray.controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-tab-item [label]=\"evaluateString(locale(component, 'label')) + ' ' + (i + 1)\">\r\n <ng-container *ngIf=\"i === dynamiclisttab.activeIndex\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(formArray, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclistaccordion\">\r\n <ngx-sirio-accordion [accordionCount]=\"formArray.controls.length\"\r\n #dynamiclistaccordion>\r\n <ng-container *ngFor=\"let item of formArray.controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-accordion-panel #panel accordionPanel>\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"evaluateString(locale(component, 'label')) + ' ' + (i + 1)\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <ng-container *ngIf=\"panel.panelIsOpen\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(formArray, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <div #dynamiclist\r\n [register]=\"component\"\r\n [componentRef]=\"dynamiclist\">\r\n <ng-container *ngFor=\"let item of formArray.controls; let i = index;\" [formGroupName]=\"i\">\r\n <div [ngClass]=\"{'group-outline': component.showOutline === true, 'group-outline-repeat': true }\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <label>{{ evaluateString(locale(component, 'label')) + ' ' + (i + 1) }}</label>\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(formArray, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <ngx-sirio-button (click)=\"addItem(formArray)\" class=\"add-item\" [color]=\"null\" icon=\"fas fa-plus\">{{ evaluateString(locale(component, 'addLabel') || locale(Texts, 'AddItem')) }}</ngx-sirio-button>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region group -->\r\n <ng-container *ngSwitchCase=\"'group'\">\r\n <div [ngClass]=\"{\r\n 'group-outline': component.showOutline === true,\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <label>{{ evaluateString(locale(component, 'label')) }}</label>\r\n <div #group\r\n [register]=\"component\"\r\n [componentRef]=\"group\">\r\n <app-dynamic-fields [formGroup]=\"resolvePath(component.path)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <ngx-sirio-tab #tab\r\n [register]=\"component\"\r\n [componentRef]=\"tab\"\r\n [leftArrowLabel]=\"locale(Texts, 'ScrollLeft')\"\r\n [rightArrowLabel]=\"locale(Texts, 'ScrollRight')\"\r\n [isNavLine]=\"component.navigation\"\r\n [isVertical]=\"component.vertical\"\r\n tabControl>\r\n <ng-container *ngFor=\"let panel of component.panels; let i = index;\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(panel.disabled),\r\n formGroup: formGroup,\r\n path: panel.path\r\n }\">\r\n </ng-container>\r\n <ngx-sirio-tab-item [label]=\"evaluateString(locale(panel, 'label'))\"\r\n [icon]=\"evaluateString(panel.icon)\"\r\n [disabled]=\"evaluateBoolean(panel.disabled) ?? false\"\r\n *ngIf=\"evaluateConditional(panel.conditional)\">\r\n <div *ngIf=\"i === tab.activeIndex\" [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"resolvePath(panel.path)\"\r\n [rows]=\"getTemplate(panel.template)?.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <ngx-sirio-accordion #accordion\r\n [register]=\"component\"\r\n [componentRef]=\"accordion\">\r\n <ng-container *ngFor=\"let panel of component.panels\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(panel.disabled),\r\n formGroup: formGroup,\r\n path: panel.path\r\n }\">\r\n </ng-container>\r\n <ngx-sirio-accordion-panel *ngIf=\"evaluateConditional(panel.conditional)\"\r\n [disabled]=\"evaluateBoolean(panel.disabled)\">\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"evaluateString(locale(panel, 'label'))\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"resolvePath(panel.path)\"\r\n [rows]=\"getTemplate(panel.template)?.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [collapse]=\"component.collapseTo\"\r\n [language]=\"language\"\r\n #text\r\n [register]=\"component\"\r\n [componentRef]=\"text\">\r\n <!--Reset View Context-->\r\n <div tabindex=\"0\" style=\"display:none\"></div>\r\n <div class=\"flex\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n <ng-container *ngIf=\"component.tooltip\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [attr.aria-label]=\"locale(Texts, 'Information')\"\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'tooltip')))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region html -->\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <div class=\"html-paragraph\"\r\n [innerHTML]=\"sanitize(evaluateTemplate(locale(component, 'content')))\"\r\n #html\r\n [register]=\"component\"\r\n [componentRef]=\"html\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"evaluateString(component.source)\"\r\n [alt]=\"evaluateString(locale(component, 'alt'))\"\r\n style=\"width: 100%;height: 100%;\"\r\n #image\r\n [register]=\"component\"\r\n [componentRef]=\"image\">\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region table -->\r\n <ng-container *ngSwitchCase=\"'table'\">\r\n <label>{{ evaluateString(locale(component, 'label')) }}</label>\r\n <ag-grid-angular [modules]=\"getGridModules(component)\"\r\n [gridOptions]=\"getGridOptions(component)\"\r\n (selectionChanged)=\"onGridSelectionChanged(component, $event)\"\r\n [rowSource]=\"(getRowSource(component) | async) || []\"\r\n [refresh]=\"refreshRowSource(component)\"\r\n [style.height.px]=\"component.height\"\r\n #table\r\n [register]=\"component\"\r\n [componentRef]=\"table\" />\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region button -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ngx-sirio-button (clickEvent)=\"clickButton(component, $event)\"\r\n [color]=\"evaluateColor(component.color)\"\r\n [icon]=\"evaluateString(component.icon)\"\r\n [disabled]=\"evaluateBoolean(component.disabled)\"\r\n #button\r\n [register]=\"component\"\r\n [componentRef]=\"button\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-button>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region separator -->\r\n <ng-container *ngSwitchCase=\"'separator'\">\r\n <div class=\"separator\"\r\n #separator\r\n [register]=\"component\"\r\n [componentRef]=\"separator\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region spacer -->\r\n <ng-container *ngSwitchCase=\"'spacer'\">\r\n <div style=\"width: 100%\"\r\n [style.height.px]=\"component.height\"\r\n #spacer\r\n [register]=\"component\"\r\n [componentRef]=\"spacer\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region iframe -->\r\n <ng-container *ngSwitchCase=\"'iframe'\">\r\n <label [for]=\"component.id\">{{ evaluateString(locale(component, 'label')) }}</label>\r\n <iframe [src]=\"evaluateUrl(component.url)\"\r\n [title]=\"evaluateString(locale(component, 'label'))\"\r\n [style.width]=\"'100%'\"\r\n [style.height.px]=\"component.height\"\r\n [frameSecurity]=\"component.security\"\r\n #iframe\r\n [register]=\"component\"\r\n [componentRef]=\"iframe\">\r\n </iframe>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region alert -->\r\n <ng-container *ngSwitchCase=\"'alert'\">\r\n <ngx-sirio-alert [type]=\"component.role\"\r\n [labelClose]=\"locale(Texts, 'Close')\"\r\n #alert\r\n [register]=\"component\"\r\n [componentRef]=\"alert\">\r\n <ngx-sirio-alert-message>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </ngx-sirio-alert-message>\r\n </ngx-sirio-alert>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region notice -->\r\n <ng-container *ngSwitchCase=\"'notice'\">\r\n <ngx-sirio-notify #notice\r\n [register]=\"component\"\r\n [componentRef]=\"notice\">\r\n <ngx-sirio-notify-body [title]=\"evaluateString(locale(component, 'title'))\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </ngx-sirio-notify-body>\r\n </ngx-sirio-notify>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tooltip -->\r\n <ng-container *ngSwitchCase=\"'tooltip'\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"\r\n #tooltip\r\n [register]=\"component\"\r\n [componentRef]=\"tooltip\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <p *ngIf=\"component.title\" class=\"sirio-tooltip-heading sirio-space-down\">\r\n {{ evaluateString(locale(component, 'title')) }}\r\n </p>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".flex{display:flex}.field-set{align-items:start}.field-set>.col-host>*{margin-bottom:10px}.separator{border-bottom:2px solid #d9e4f7;width:100%;margin:10px 0}.group-outline{border:1px solid #d9e4f7;padding:15px;margin-top:2px;margin-bottom:2px}.group-outline-repeat{margin-top:8px;margin-bottom:8px}.group-top .row{align-items:baseline}.group-center .row{align-items:center}.group-bottom .row{align-items:end}.text-paragraph p{margin-bottom:0!important}.sirio-tab.sirio-tab-vertical .sirio-tab-body{margin-left:10px;margin-right:10px}.sirio-tab:not(.sirio-tab-vertical) .sirio-tab-body{margin-top:10px;margin-bottom:10px}.sirio-control.ng-invalid .sirio-form-feedback{color:#aa224f;display:inline-block}.sirio-control.ng-invalid .sirio-input-group-text{color:#aa224f;border-color:#aa224f}.sirio-control.fp-disabled .sirio-input-group .sirio-input-group-text,.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{border:0px}.sirio-control.fp-readonly label:hover{color:#454d56}.sirio-control.fp-readonly input.sirio-form-control,.sirio-control.fp-readonly .sirio-dropdown .sirio-dropdown-select,.sirio-control.fp-readonly textarea.sirio-form-control{background:none!important;border:0px;padding:0}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{background:none}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text span{color:#5b6571}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text.prefix{padding-left:0}.sirio-upload.sirio-control.fp-readonly label,.sirio-upload.sirio-control.fp-disabled label{pointer-events:none}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label{color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label:before,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label{color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:before,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:after,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:after{background-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-upload.sirio-is-invalid button{background-color:#aa224f;border-color:#aa224f}.col-host .sirio-accordion .sirio-accordion-body .sirio-accordion-content{padding:16px}.col-host .sirio-accordion-body{overflow:unset!important}.ag-header-cell.hide-filter .ag-header-cell-filter-button{display:none}.sirio-tab.sirio-tab-scroll{display:block}.sirio-dropdown .searchable{position:absolute;width:100%;display:none;left:0}.ag-cell-value .btn-small-group{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.ag-cell-value .btn-small .sirio-btn{padding:.25rem .0625rem;margin:2px}\n"], dependencies: [{ kind: "component", type: DynamicFieldsComponent, selector: "app-dynamic-fields", inputs: ["rows", "formGroup", "language"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i10.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i10.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "pipe", type: i10.AsyncPipe, name: "async" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "directive", type: AdornerDirective, selector: "[prefixAdorner], [suffixAdorner]", inputs: ["prefixAdorner", "suffixAdorner"] }, { kind: "directive", type: DisableDirective, selector: "[disableControl], [readonly]", inputs: ["disableControl", "readonly", "placeholder", "componentRef"] }, { kind: "directive", type: DisplayDirective, selector: "[hide], [show]", inputs: ["hide", "show"] }, { kind: "directive", type: FrameSecurityDirective, selector: "[frameSecurity]", inputs: ["frameSecurity"] }, { kind: "directive", type: DropdownDirective, selector: "[dropdown]" }, { kind: "directive", type: UpdateBlurDirective, selector: "[updateBlur]" }, { kind: "directive", type: RepeatDirective, selector: "[repeat], [allowAddRemove]", inputs: ["repeat", "allowAddRemove"] }, { kind: "directive", type: TabDirective, selector: "[tabCount]", inputs: ["tabCount"] }, { kind: "directive", type: GridDirective, selector: "[rowSource]", inputs: ["rowSource"] }, { kind: "directive", type: RegisterDirective, selector: "[register]", inputs: ["register", "componentRef"] }, { kind: "directive", type: RefreshDirective, selector: "[refresh]", inputs: ["refresh", "componentRef"] }, { kind: "directive", type: AccordionDirective, selector: "[accordionCount]", inputs: ["accordionCount"] }, { kind: "directive", type: DateDirective, selector: "[isoDate]" }, { kind: "directive", type: NumberDirective, selector: "[number]", inputs: ["defaultValue", "minimum", "maximum", "decimalDigits"] }, { kind: "directive", type: TextDirective, selector: "[textcase], [maxlength]", inputs: ["textcase", "maxlength"] }, { kind: "directive", type: DisableFormDirective, selector: "[disableForm]", inputs: ["disableForm"] }, { kind: "directive", type: TabControlDirective, selector: "[tabControl]" }, { kind: "directive", type: CollapseDirective, selector: "[collapse]", inputs: ["collapse", "language"] }, { kind: "directive", type: AccordionPanelDirective, selector: "[accordionPanel]" }, { kind: "component", type: SirioInputComponent, selector: "ngx-sirio-input", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "type", "name", "placeholder", "textHelp", "textFeedback", "rows", "cols", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "role"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "directive", type: SirioValidationDirective, selector: "[validation]", inputs: ["canValidate", "isWarning", "showWhenValid"] }, { kind: "component", type: SirioSelectComponent, selector: "ngx-sirio-select", inputs: ["placeholder", "disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "isMultiple", "textHelp", "textFeedback", "ariaLabel", "ariaInvalid", "ariaDescribedBy"], outputs: ["focusEvent", "blurEvent", "keydownEvent"] }, { kind: "component", type: SirioSelectOptionComponent, selector: "ngx-sirio-select-option", inputs: ["value"], outputs: ["optionSelected", "blurEvent"] }, { kind: "component", type: SirioSelectPanelComponent, selector: "ngx-sirio-select-panel", outputs: ["optionSelected", "panelOpened", "panelClosed"] }, { kind: "component", type: SirioCheckboxGroupComponent, selector: "ngx-sirio-checkbox-group", inputs: ["textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioCheckboxComponent, selector: "ngx-sirio-checkbox", inputs: ["disabled", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "disabledState", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioDatepickerComponent, selector: "ngx-sirio-datepicker", inputs: ["name", "placeholder", "textHelp", "textFeedback", "label", "labelPopover", "ariaLabelPopoverButton", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "value", "disabledState"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent", "datechangeEvent"] }, { kind: "component", type: SirioTimepickerComponent, selector: "ngx-sirio-timepicker", inputs: ["name", "label", "labelPopover", "ariaLabelPopoverButton", "placeholder", "textHelp", "textFeedback", "ariaLabel", "ariaAutocomplete", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioRadioGroupComponent, selector: "ngx-sirio-radio-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioRadioButtonComponent, selector: "ngx-sirio-radio-button", inputs: ["disabledState", "label", "name", "textHelp", "textFeedback", "ariaInvalid", "ariaDescribedBy", "value", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioTabComponent, selector: "ngx-sirio-tab", inputs: ["isVertical", "isNavLine", "leftArrowLabel", "rightArrowLabel", "tabActive"], outputs: ["tabChange"] }, { kind: "component", type: SirioTabItemComponent, selector: "ngx-sirio-tab-item", inputs: ["label", "disabled", "icon"] }, { kind: "component", type: SirioAccordionComponent, selector: "ngx-sirio-accordion", inputs: ["dark"] }, { kind: "component", type: SirioAccordionPanelComponent, selector: "ngx-sirio-accordion-panel", inputs: ["active", "disabled"], outputs: ["opened", "closed"] }, { kind: "component", type: SirioAccordionHeaderComponent, selector: "ngx-sirio-accordion-header" }, { kind: "component", type: SirioAccordionBodyComponent, selector: "ngx-sirio-accordion-body" }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioFileUploadComponent, selector: "ngx-sirio-file-upload", inputs: ["multiple", "color", "accept", "maxFiles", "showFilelist", "label", "labelPopover", "ariaLabelPopoverButton", "name", "textHelp", "textFeedback", "ariaLabel", "ariaLabelDeleteFileButton", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "fileUploadedEvent", "fileDeletedEvent", "uploadErrorEvent", "blurEvent"] }, { kind: "component", type: SirioToggleComponent, selector: "ngx-sirio-toggle", inputs: ["name", "textHelp", "textFeedback", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioChipCheckboxGroupComponent, selector: "ngx-sirio-chip-checkbox-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioChipRadioGroupComponent, selector: "ngx-sirio-chip-radio-group", inputs: ["label", "labelPopover", "ariaLabelPopoverButton", "textHelp", "textFeedback", "items", "ariaLabel", "ariaInvalid", "ariaDescribedBy", "disabledState", "value"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioInputChipComponent, selector: "ngx-sirio-input-chip", inputs: ["disabledState", "name", "textHelp", "textFeedback", "value", "ariaInvalid", "ariaDescribedBy", "type", "checked"], outputs: ["focusEvent", "blurEvent", "changeEvent"] }, { kind: "component", type: SirioAlertComponent, selector: "ngx-sirio-alert", inputs: ["type", "labelClose", "isVisible"], outputs: ["closeEvent"] }, { kind: "component", type: SirioAlertMessageComponent, selector: "ngx-sirio-alert-message" }, { kind: "component", type: SirioSliderComponent, selector: "ngx-sirio-slider", inputs: ["disabledState", "value", "label", "labelPopover", "ariaLabelPopoverButton", "description", "min", "max", "ariaInvalid", "ariaDescribedBy", "textHelp", "textFeedback"], outputs: ["focusEvent", "inputEvent", "blurEvent", "keyupEvent", "keydownEvent"] }, { kind: "component", type: SirioNotifyComponent, selector: "ngx-sirio-notify", inputs: ["isDark"] }, { kind: "component", type: SirioNotifyBodyComponent, selector: "ngx-sirio-notify-body", inputs: ["title"] }, { kind: "directive", type: SirioTooltipDirective, selector: "[sirioTooltip]", inputs: ["sirioTooltip", "content", "hasAction", "hasPopover", "actionLabel", "actionIconClass", "clickOutside", "position", "customTemplate"], outputs: ["clickEvent"] }, { kind: "component", type: TemplateWrapperComponent, selector: "app-template-wrapper", inputs: ["template", "context"] }, { kind: "component", type: AgGridAngular, selector: "ag-grid-angular", inputs: ["gridOptions", "modules", "statusBar", "sideBar", "suppressContextMenu", "preventDefaultOnContextMenu", "allowContextMenuWithControlKey", "columnMenu", "suppressMenuHide", "enableBrowserTooltips", "tooltipTrigger", "tooltipShowDelay", "tooltipHideDelay", "tooltipMouseTrack", "tooltipShowMode", "tooltipInteraction", "popupParent", "copyHeadersToClipboard", "copyGroupHeadersToClipboard", "clipboardDelimiter", "suppressCopyRowsToClipboard", "suppressCopySingleCellRanges", "suppressLastEmptyLineOnPaste", "suppressClipboardPaste", "suppressClipboardApi", "suppressCutToClipboard", "columnDefs", "defaultColDef", "defaultColGroupDef", "columnTypes", "dataTypeDefinitions", "maintainColumnOrder", "enableStrictPivotColumnOrder", "suppressFieldDotNotation", "headerHeight", "groupHeaderHeight", "floatingFiltersHeight", "pivotHeaderHeight", "pivotGroupHeaderHeight", "allowDragFromColumnsToolPanel", "suppressMovableColumns", "suppressColumnMoveAnimation", "suppressMoveWhenColumnDragging", "suppressDragLeaveHidesColumns", "suppressGroupChangesColumnVisibility", "suppressMakeColumnVisibleAfterUnGroup", "suppressRowGroupHidesColumns", "colResizeDefault", "suppressAutoSize", "autoSizePadding", "skipHeaderOnAutoSize", "autoSizeStrategy", "components", "editType", "singleClickEdit", "suppressClickEdit", "readOnlyEdit", "stopEditingWhenCellsLoseFocus", "enterNavigatesVertically", "enterNavigatesVerticallyAfterEdit", "enableCellEditingOnBackspace", "undoRedoCellEditing", "undoRedoCellEditingLimit", "defaultCsvExportParams", "suppressCsvExport", "defaultExcelExportParams", "suppressExcelExport", "excelStyles", "quickFilterText", "cacheQuickFilter", "includeHiddenColumnsInQuickFilter", "quickFilterParser", "quickFilterMatcher", "applyQuickFilterBeforePivotOrAgg", "excludeChildrenWhenTreeDataFiltering", "enableAdvancedFilter", "alwaysPassFilter", "includeHiddenColumnsInAdvancedFilter", "advancedFilterParent", "advancedFilterBuilderParams", "suppressAdvancedFilterEval", "suppressSetFilterByDefault", "enableCharts", "chartThemes", "customChartThemes", "chartThemeOverrides", "chartToolPanelsDef", "chartMenuItems", "loadingCellRenderer", "loadingCellRendererParams", "loadingCellRendererSelector", "localeText", "masterDetail", "keepDetailRows", "keepDetailRowsCount", "detailCellRenderer", "detailCellRendererParams", "detailRowHeight", "detailRowAutoHeight", "context", "dragAndDropImageComponent", "dragAndDropImageComponentParams", "alignedGrids", "tabIndex", "rowBuffer", "valueCache", "valueCacheNeverExpires", "enableCellExpressions", "suppressTouch", "suppressFocusAfterRefresh", "suppressBrowserResizeObserver", "suppressPropertyNamesCheck", "suppressChangeDetection", "debug", "loading", "overlayLoadingTemplate", "loadingOverlayComponent", "loadingOverlayComponentParams", "suppressLoadingOverlay", "overlayNoRowsTemplate", "noRowsOverlayComponent", "noRowsOverlayComponentParams", "suppressNoRowsOverlay", "pagination", "paginationPageSize", "paginationPageSizeSelector", "paginationAutoPageSize", "paginateChildRows", "suppressPaginationPanel", "pivotMode", "pivotPanelShow", "pivotMaxGeneratedColumns", "pivotDefaultExpanded", "pivotColumnGroupTotals", "pivotRowTotals", "pivotSuppressAutoColumn", "suppressExpandablePivotGroups", "functionsReadOnly", "aggFuncs", "suppressAggFuncInHeader", "alwaysAggregateAtRootLevel", "aggregateOnlyChangedColumns", "suppressAggFilteredOnly", "removePivotHeaderRowWhenSingleValueColumn", "animateRows", "cellFlashDuration", "cellFadeDuration", "allowShowChangeAfterFilter", "domLayout", "ensureDomOrder", "enableRtl", "suppressColumnVirtualisation", "suppressMaxRenderedRowRestriction", "suppressRowVirtualisation", "rowDragManaged", "suppressRowDrag", "suppressMoveWhenRowDragging", "rowDragEntireRow", "rowDragMultiRow", "rowDragText", "fullWidthCellRenderer", "fullWidthCellRendererParams", "embedFullWidthRows", "groupDisplayType", "groupDefaultExpanded", "autoGroupColumnDef", "groupMaintainOrder", "groupSelectsChildren", "groupLockGroupColumns", "groupAggFiltering", "groupTotalRow", "grandTotalRow", "suppressStickyTotalRow", "groupSuppressBlankHeader", "groupSelectsFiltered", "showOpenedGroup", "groupHideParentOfSingleChild", "groupRemoveSingleChildren", "groupRemoveLowestSingleChildren", "groupHideOpenParents", "groupAllowUnbalanced", "rowGroupPanelShow", "groupRowRenderer", "groupRowRendererParams", "treeData", "rowGroupPanelSuppressSort", "suppressGroupRowsSticky", "pinnedTopRowData", "pinnedBottomRowData", "rowModelType", "rowData", "asyncTransactionWaitMillis", "suppressModelUpdateAfterUpdateTransaction", "datasource", "cacheOverflowSize", "infiniteInitialRowCount", "serverSideInitialRowCount", "suppressServerSideFullWidthLoadingRow", "cacheBlockSize", "maxBlocksInCache", "maxConcurrentDatasourceRequests", "blockLoadDebounceMillis", "purgeClosedRowNodes", "serverSideDatasource", "serverSideSortAllLevels", "serverSideEnableClientSideSort", "serverSideOnlyRefreshFilteredGroups", "serverSidePivotResultFieldSeparator", "viewportDatasource", "viewportRowModelPageSize", "viewportRowModelBufferSize", "alwaysShowHorizontalScroll", "alwaysShowVerticalScroll", "debounceVerticalScrollbar", "suppressHorizontalScroll", "suppressScrollOnNewData", "suppressScrollWhenPopupsAreOpen", "suppressAnimationFrame", "suppressMiddleClickScrolls", "suppressPreventDefaultOnMouseWheel", "scrollbarWidth", "rowSelection", "cellSelection", "rowMultiSelectWithClick", "suppressRowDeselection", "suppressRowClickSelection", "suppressCellFocus", "suppressHeaderFocus", "selectionColumnDef", "suppressMultiRangeSelection", "enableCellTextSelection", "enableRangeSelection", "enableRangeHandle", "enableFillHandle", "fillHandleDirection", "suppressClearOnFillReduction", "sortingOrder", "accentedSort", "unSortIcon", "suppressMultiSort", "alwaysMultiSort", "multiSortKey", "suppressMaintainUnsortedOrder", "icons", "rowHeight", "rowStyle", "rowClass", "rowClassRules", "suppressRowHoverHighlight", "suppressRowTransform", "columnHoverHighlight", "gridId", "deltaSort", "treeDataDisplayType", "enableGroupEdit", "initialState", "theme", "loadThemeGoogleFonts", "getContextMenuItems", "getMainMenuItems", "postProcessPopup", "processUnpinnedColumns", "processCellForClipboard", "processHeaderForClipboard", "processGroupHeaderForClipboard", "processCellFromClipboard", "sendToClipboard", "processDataFromClipboard", "isExternalFilterPresent", "doesExternalFilterPass", "getChartToolbarItems", "createChartContainer", "focusGridInnerElement", "navigateToNextHeader", "tabToNextHeader", "navigateToNextCell", "tabToNextCell", "getLocaleText", "getDocument", "paginationNumberFormatter", "getGroupRowAgg", "isGroupOpenByDefault", "initialGroupOrderComparator", "processPivotResultColDef", "processPivotResultColGroupDef", "getDataPath", "getChildCount", "getServerSideGroupLevelParams", "isServerSideGroupOpenByDefault", "isApplyServerSideTransaction", "isServerSideGroup", "getServerSideGroupKey", "getBusinessKeyForNode", "getRowId", "resetRowDataOnUpdate", "processRowPostCreate", "isRowSelectable", "isRowMaster", "fillOperation", "postSortRows", "getRowStyle", "getRowClass", "getRowHeight", "isFullWidthRow"], outputs: ["toolPanelVisibleChanged", "toolPanelSizeChanged", "columnMenuVisibleChanged", "contextMenuVisibleChanged", "cutStart", "cutEnd", "pasteStart", "pasteEnd", "columnVisible", "columnPinned", "columnResized", "columnMoved", "columnValueChanged", "columnPivotModeChanged", "columnPivotChanged", "columnGroupOpened", "newColumnsLoaded", "gridColumnsChanged", "displayedColumnsChanged", "virtualColumnsChanged", "columnEverythingChanged", "columnHeaderMouseOver", "columnHeaderMouseLeave", "columnHeaderClicked", "columnHeaderContextMenu", "componentStateChanged", "cellValueChanged", "cellEditRequest", "rowValueChanged", "cellEditingStarted", "cellEditingStopped", "rowEditingStarted", "rowEditingStopped", "undoStarted", "undoEnded", "redoStarted", "redoEnded", "cellSelectionDeleteStart", "cellSelectionDeleteEnd", "rangeDeleteStart", "rangeDeleteEnd", "fillStart", "fillEnd", "filterOpened", "filterChanged", "filterModified", "advancedFilterBuilderVisibleChanged", "chartCreated", "chartRangeSelectionChanged", "chartOptionsChanged", "chartDestroyed", "cellKeyDown", "gridReady", "firstDataRendered", "gridSizeChanged", "modelUpdated", "virtualRowRemoved", "viewportChanged", "bodyScroll", "bodyScrollEnd", "dragStarted", "dragStopped", "dragCancelled", "stateUpdated", "paginationChanged", "rowDragEnter", "rowDragMove", "rowDragLeave", "rowDragEnd", "rowDragCancel", "columnRowGroupChanged", "rowGroupOpened", "expandOrCollapseAll", "pivotMaxColumnsExceeded", "pinnedRowDataChanged", "rowDataUpdated", "asyncTransactionsFlushed", "storeRefreshed", "headerFocused", "cellClicked", "cellDoubleClicked", "cellFocused", "cellMouseOver", "cellMouseOut", "cellMouseDown", "rowClicked", "rowDoubleClicked", "rowSelected", "selectionChanged", "cellContextMenu", "rangeSelectionChanged", "cellSelectionChanged", "tooltipShow", "tooltipHide", "sortChanged"] }], encapsulation: i0.ViewEncapsulation.None });
3975
4372
  }
3976
4373
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFieldsComponent, decorators: [{
3977
4374
  type: Component,
3978
4375
  args: [{ selector: 'app-dynamic-fields', standalone: true, imports: [CommonModule, ReactiveFormsModule,
3979
4376
  AdornerDirective, DisableDirective, DisplayDirective, FrameSecurityDirective,
3980
4377
  DropdownDirective, UpdateBlurDirective, RepeatDirective, TabDirective, GridDirective,
3981
- RegisterDirective, AccordionDirective, DateDirective, NumberDirective, TextDirective,
4378
+ RegisterDirective, RefreshDirective, AccordionDirective, DateDirective, NumberDirective, TextDirective,
3982
4379
  DisableFormDirective, TabControlDirective, CollapseDirective, AccordionPanelDirective,
3983
4380
  SirioInputComponent, SirioValidationDirective,
3984
4381
  SirioSelectComponent, SirioSelectOptionComponent, SirioSelectPanelComponent,
@@ -3995,7 +4392,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
3995
4392
  RegisterService,
3996
4393
  ProgrammabilityService,
3997
4394
  GridService
3998
- ], encapsulation: ViewEncapsulation.None, template: "<ng-container *ngFor=\"let row of rows\" [formGroup]=\"formGroup\">\r\n <div class=\"row field-set\">\r\n <ng-container *ngFor=\"let component of row.components\">\r\n <ng-container [ngSwitch]=\"component.type\">\r\n <div [class]=\"getClass(component)\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <!-- #region textfield -->\r\n <ng-container *ngSwitchCase=\"'textfield'\">\r\n <ngx-sirio-input type=\"text\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n [textcase]=\"component.textCase\"\r\n [maxlength]=\"evaluateNumber(component.maxLength)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textfield\r\n [register]=\"component\"\r\n [componentRef]=\"textfield\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region select -->\r\n <ng-container *ngSwitchCase=\"'select'\">\r\n <ngx-sirio-select [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n dropdown\r\n #select\r\n [register]=\"component\"\r\n [componentRef]=\"select\">\r\n <ngx-sirio-select-panel>\r\n <ngx-sirio-input *ngIf=\"component.searchable\" class=\"searchable\" type=\"text\" [placeholder]=\"locale(Texts, 'TypeToSearch')\"></ngx-sirio-input>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ locale(option, 'label') }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region taglist -->\r\n <ng-container *ngSwitchCase=\"'taglist'\">\r\n <ngx-sirio-select [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [isMultiple]=\"true\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #taglist\r\n [register]=\"component\"\r\n [componentRef]=\"taglist\">\r\n <ngx-sirio-select-panel>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ locale(option, 'label') }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region number -->\r\n <ng-container *ngSwitchCase=\"'number'\">\r\n <ngx-sirio-input type=\"number\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n number\r\n [defaultValue]=\"evaluateNumber(component.defaultValue)\"\r\n [minimum]=\"evaluateNumber(component.minimum)\"\r\n [maximum]=\"evaluateNumber(component.maximum)\"\r\n [decimalDigits]=\"evaluateNumber(component.decimalDigits)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #number\r\n [register]=\"component\"\r\n [componentRef]=\"number\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region datetime -->\r\n <ng-container *ngSwitchCase=\"'datetime'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ngx-sirio-datepicker [ariaLabel]=\"evaluateString(locale(component, 'ariaDateLabel') || locale(component, 'dateLabel'))\"\r\n [label]=\"evaluateString(locale(component, 'dateLabel'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n isoDate\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #date\r\n [register]=\"component\"\r\n [componentRef]=\"date\">\r\n </ngx-sirio-datepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region time -->\r\n <ng-container *ngSwitchCase=\"'time'\">\r\n <ngx-sirio-timepicker [ariaLabel]=\"evaluateString(locale(component, 'ariaTimeLabel') || locale(component, 'timeLabel'))\"\r\n [label]=\"evaluateString(locale(component, 'timeLabel'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #time\r\n [register]=\"component\"\r\n [componentRef]=\"time\">\r\n </ngx-sirio-timepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region toggle -->\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <ngx-sirio-toggle [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #toggle\r\n [register]=\"component\"\r\n [componentRef]=\"toggle\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-toggle>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-checkbox>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-radio-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipradio\r\n [register]=\"component\"\r\n [componentRef]=\"chipradio\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"radio\"\r\n [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-radio-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #radio\r\n [register]=\"component\"\r\n [componentRef]=\"radio\">\r\n <ngx-sirio-radio-button *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-radio-button>\r\n </ngx-sirio-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checklist -->\r\n <ng-container *ngSwitchCase=\"'checklist'\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-checkbox-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #chipcheckbox\r\n [register]=\"component\"\r\n [componentRef]=\"chipcheckbox\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"checkbox\"\r\n [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n <ngx-sirio-checkbox *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region textarea -->\r\n <ng-container *ngSwitchCase=\"'textarea'\">\r\n <ngx-sirio-input type=\"textarea\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [formControlName]=\"component.key\"\r\n [textcase]=\"component.textCase\"\r\n [maxlength]=\"evaluateNumber(component.maxLength)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textarea\r\n [register]=\"component\"\r\n [componentRef]=\"textarea\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region filepicker -->\r\n <ng-container *ngSwitchCase=\"'filepicker'\">\r\n <ngx-sirio-file-upload [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [accept]=\"getMimeTypes(component.accept)\"\r\n [multiple]=\"evaluateBoolean(component.multiple)\"\r\n (fileUploadedEvent)=\"fileUploaded($event)\"\r\n [showFilelist]=\"!component.showDetails\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #filepicker\r\n [register]=\"component\"\r\n [componentRef]=\"filepicker\">\r\n <span class=\"fas fa-arrow-up\" aria-hidden=\"true\"></span>\r\n {{ locale(Texts, 'Upload') }}\r\n </ngx-sirio-file-upload>\r\n <ng-container *ngIf=\"component.showDetails\">\r\n <app-dynamic-fields [formGroup]=\"formGroup\"\r\n [rows]=\"createUploadTables(component)\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [collapse]=\"component.collapseTo\"\r\n [language]=\"language\"\r\n #text\r\n [register]=\"component\"\r\n [componentRef]=\"text\">\r\n <!--Reset View Context-->\r\n <div tabindex=\"0\" style=\"display:none\"></div>\r\n <div class=\"flex\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n <ng-container *ngIf=\"component.tooltip\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [attr.aria-label]=\"locale(Texts, 'Information')\"\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'tooltip')))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region html -->\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <div class=\"html-paragraph\"\r\n [innerHTML]=\"sanitize(evaluateTemplate(locale(component, 'content')))\"\r\n #html\r\n [register]=\"component\"\r\n [componentRef]=\"html\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"evaluateString(component.source)\"\r\n [alt]=\"evaluateString(locale(component, 'alt'))\"\r\n style=\"width: 100%;height: 100%;\"\r\n #image\r\n [register]=\"component\"\r\n [componentRef]=\"image\">\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region dynamiclist -->\r\n <ng-container *ngSwitchCase=\"'dynamiclist'\">\r\n <ng-container [formArrayName]=\"component.path\"\r\n [repeat]=\"evaluateNumber(component.repetitions)\"\r\n [allowAddRemove]=\"evaluateBoolean(component.allowAddRemove)\">\r\n <p *ngIf=\"component.description\">{{ evaluateString(locale(component, 'description')) }}</p>\r\n <ng-container *ngIf=\"getFormArray(formGroup.get(component.path)).controls.length > 0\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclisttab\">\r\n <ngx-sirio-tab [leftArrowLabel]=\"locale(Texts, 'ScrollLeft')\"\r\n [rightArrowLabel]=\"locale(Texts, 'ScrollRight')\"\r\n [tabCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclisttab>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-tab-item [label]=\"evaluateString(locale(component, 'label')) + ' ' + (i + 1)\">\r\n <ng-container *ngIf=\"i === dynamiclisttab.activeIndex\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclistaccordion\">\r\n <ngx-sirio-accordion [accordionCount]=\"getFormArray(formGroup.get(component.path)).controls.length\"\r\n #dynamiclistaccordion>\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-accordion-panel #panel accordionPanel>\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"evaluateString(locale(component, 'label')) + ' ' + (i + 1)\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <ng-container *ngIf=\"panel.panelIsOpen\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <div #dynamiclist\r\n [register]=\"component\"\r\n [componentRef]=\"dynamiclist\">\r\n <ng-container *ngFor=\"let item of getFormArray(formGroup.get(component.path)).controls; let i = index;\" [formGroupName]=\"i\">\r\n <div [ngClass]=\"{'group-outline': component.showOutline === true, 'group-outline-repeat': true }\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <label>{{ evaluateString(locale(component, 'label')) + ' ' + (i + 1) }}</label>\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(component, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <ngx-sirio-button (click)=\"addItem(component)\" class=\"add-item\" [color]=\"null\" icon=\"fas fa-plus\">{{ evaluateString(locale(component, 'addLabel') || locale(Texts, 'AddItem')) }}</ngx-sirio-button>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region group -->\r\n <ng-container *ngSwitchCase=\"'group'\">\r\n <div [ngClass]=\"{\r\n 'group-outline': component.showOutline === true,\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <label>{{ evaluateString(locale(component, 'label')) }}</label>\r\n <div #group\r\n [register]=\"component\"\r\n [componentRef]=\"group\">\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(component.path))\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region table -->\r\n <ng-container *ngSwitchCase=\"'table'\">\r\n <label>{{ evaluateString(locale(component, 'label')) }}</label>\r\n <ag-grid-angular [modules]=\"getGridModules(component)\"\r\n [gridOptions]=\"getGridOptions(component)\"\r\n [rowSource]=\"(getGridData(component) | async) || []\"\r\n [style.height.px]=\"component.height\"\r\n #table\r\n [register]=\"component\"\r\n [componentRef]=\"table\" />\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region button -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ngx-sirio-button (clickEvent)=\"clickButton(component, $event)\"\r\n [color]=\"evaluateColor(component.color)\"\r\n [icon]=\"evaluateString(component.icon)\"\r\n [disabled]=\"evaluateBoolean(component.disabled)\"\r\n #button\r\n [register]=\"component\"\r\n [componentRef]=\"button\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-button>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region separator -->\r\n <ng-container *ngSwitchCase=\"'separator'\">\r\n <div class=\"separator\"\r\n #separator\r\n [register]=\"component\"\r\n [componentRef]=\"separator\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region spacer -->\r\n <ng-container *ngSwitchCase=\"'spacer'\">\r\n <div style=\"width: 100%\"\r\n [style.height.px]=\"component.height\"\r\n #spacer\r\n [register]=\"component\"\r\n [componentRef]=\"spacer\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region iframe -->\r\n <ng-container *ngSwitchCase=\"'iframe'\">\r\n <label [for]=\"component.id\">{{ evaluateString(locale(component, 'label')) }}</label>\r\n <iframe [src]=\"evaluateUrl(component.url)\"\r\n [title]=\"evaluateString(locale(component, 'label'))\"\r\n [style.width]=\"'100%'\"\r\n [style.height.px]=\"component.height\"\r\n [frameSecurity]=\"component.security\"\r\n #iframe\r\n [register]=\"component\"\r\n [componentRef]=\"iframe\">\r\n </iframe>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region alert -->\r\n <ng-container *ngSwitchCase=\"'alert'\">\r\n <ngx-sirio-alert [type]=\"component.role\"\r\n [labelClose]=\"locale(Texts, 'Close')\"\r\n #alert\r\n [register]=\"component\"\r\n [componentRef]=\"alert\">\r\n <ngx-sirio-alert-message>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </ngx-sirio-alert-message>\r\n </ngx-sirio-alert>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region notice -->\r\n <ng-container *ngSwitchCase=\"'notice'\">\r\n <ngx-sirio-notify #notice\r\n [register]=\"component\"\r\n [componentRef]=\"notice\">\r\n <ngx-sirio-notify-body [title]=\"evaluateString(locale(component, 'title'))\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </ngx-sirio-notify-body>\r\n </ngx-sirio-notify>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region range -->\r\n <ng-container *ngSwitchCase=\"'range'\">\r\n <ngx-sirio-slider [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [min]=\"evaluateNumber(component.range?.min) ?? 0\"\r\n [max]=\"evaluateNumber(component.range?.max) ?? 0\"\r\n #range\r\n [register]=\"component\"\r\n [componentRef]=\"range\">\r\n </ngx-sirio-slider>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tooltip -->\r\n <ng-container *ngSwitchCase=\"'tooltip'\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"\r\n #tooltip\r\n [register]=\"component\"\r\n [componentRef]=\"tooltip\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <p *ngIf=\"component.title\" class=\"sirio-tooltip-heading sirio-space-down\">\r\n {{ evaluateString(locale(component, 'title')) }}\r\n </p>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <ngx-sirio-tab #tab\r\n [register]=\"component\"\r\n [componentRef]=\"tab\"\r\n [leftArrowLabel]=\"locale(Texts, 'ScrollLeft')\"\r\n [rightArrowLabel]=\"locale(Texts, 'ScrollRight')\"\r\n tabControl>\r\n <ng-container *ngFor=\"let panel of component.panels\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(panel.disabled),\r\n formGroup: formGroup,\r\n path: panel.path\r\n }\">\r\n </ng-container>\r\n <ngx-sirio-tab-item [label]=\"evaluateString(locale(panel, 'label'))\"\r\n [disabled]=\"evaluateBoolean(panel.disabled) ?? false\"\r\n *ngIf=\"evaluateConditional(panel.conditional)\">\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(panel.path))\"\r\n [rows]=\"getTemplate(panel.template)?.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <ngx-sirio-accordion #accordion\r\n [register]=\"component\"\r\n [componentRef]=\"accordion\">\r\n <ng-container *ngFor=\"let panel of component.panels\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(panel.disabled),\r\n formGroup: formGroup,\r\n path: panel.path\r\n }\">\r\n </ng-container>\r\n <ngx-sirio-accordion-panel *ngIf=\"evaluateConditional(panel.conditional)\"\r\n [disabled]=\"evaluateBoolean(panel.disabled)\">\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"evaluateString(locale(panel, 'label'))\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(getControlFromPath(panel.path))\"\r\n [rows]=\"getTemplate(panel.template)?.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".flex{display:flex}.field-set{align-items:start}.field-set>.col-host>*{margin-bottom:10px}.separator{border-bottom:2px solid #d9e4f7;width:100%;margin:10px 0}.group-outline{border:1px solid #d9e4f7;padding:15px;margin-top:2px;margin-bottom:2px}.group-outline-repeat{margin-top:8px;margin-bottom:8px}.group-top .row{align-items:baseline}.group-center .row{align-items:center}.group-bottom .row{align-items:end}.text-paragraph p{margin-bottom:0!important}.sirio-control.ng-invalid .sirio-form-feedback{color:#aa224f;display:inline-block}.sirio-control.ng-invalid .sirio-input-group-text{color:#aa224f;border-color:#aa224f}.sirio-control.fp-disabled .sirio-input-group .sirio-input-group-text,.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{border:0px}.sirio-control.fp-readonly label:hover{color:#454d56}.sirio-control.fp-readonly input.sirio-form-control,.sirio-control.fp-readonly .sirio-dropdown .sirio-dropdown-select,.sirio-control.fp-readonly textarea.sirio-form-control{background:none!important;border:0px;padding:0}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{background:none}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text span{color:#5b6571}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text.prefix{padding-left:0}.sirio-upload.sirio-control.fp-readonly label,.sirio-upload.sirio-control.fp-disabled label{pointer-events:none}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label{color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label:before,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label{color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:before,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:after,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:after{background-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-upload.sirio-is-invalid button{background-color:#aa224f;border-color:#aa224f}.col-host .sirio-accordion .sirio-accordion-body .sirio-accordion-content{padding:16px}.col-host .sirio-accordion-body{overflow:unset!important}.ag-header-cell.hide-filter .ag-header-cell-filter-button{display:none}.sirio-tab.sirio-tab-scroll{display:block}.sirio-dropdown .searchable{position:absolute;width:100%;display:none;left:0}.ag-cell-value .btn-small-group{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.ag-cell-value .btn-small .sirio-btn{padding:.25rem .0625rem;margin:2px}\n"] }]
4395
+ ], encapsulation: ViewEncapsulation.None, template: "<ng-container *ngFor=\"let row of rows\" [formGroup]=\"formGroup\">\r\n <div class=\"row field-set\">\r\n <ng-container *ngFor=\"let component of row.components\">\r\n <ng-container [ngSwitch]=\"component.type\">\r\n <div [class]=\"getClass(component)\">\r\n <div [hide]=\"evaluateBoolean(component.conditional?.hide)\"\r\n [show]=\"evaluateBoolean(component.conditional?.show)\">\r\n <!-- #region textfield -->\r\n <ng-container *ngSwitchCase=\"'textfield'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-input type=\"text\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n [textcase]=\"component.textCase\"\r\n [maxlength]=\"evaluateNumber(component.maxLength)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textfield\r\n [register]=\"component\"\r\n [componentRef]=\"textfield\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region select -->\r\n <ng-container *ngSwitchCase=\"'select'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-select [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n dropdown\r\n #select\r\n [register]=\"component\"\r\n [componentRef]=\"select\">\r\n <ngx-sirio-select-panel>\r\n <ngx-sirio-input *ngIf=\"component.searchable\" class=\"searchable\" type=\"text\" [placeholder]=\"locale(Texts, 'TypeToSearch')\"></ngx-sirio-input>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ locale(option, 'label') }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region taglist -->\r\n <ng-container *ngSwitchCase=\"'taglist'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-select [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [isMultiple]=\"true\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #taglist\r\n [register]=\"component\"\r\n [componentRef]=\"taglist\">\r\n <ngx-sirio-select-panel>\r\n <ngx-sirio-select-option *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">{{ locale(option, 'label') }}</ngx-sirio-select-option>\r\n </ngx-sirio-select-panel>\r\n </ngx-sirio-select>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region number -->\r\n <ng-container *ngSwitchCase=\"'number'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-input type=\"number\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [prefixAdorner]=\"evaluateString(component.appearance?.prefixAdorner)\"\r\n [suffixAdorner]=\"evaluateString(component.appearance?.suffixAdorner)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n number\r\n [defaultValue]=\"evaluateNumber(component.defaultValue)\"\r\n [minimum]=\"evaluateNumber(component.minimum)\"\r\n [maximum]=\"evaluateNumber(component.maximum)\"\r\n [decimalDigits]=\"evaluateNumber(component.decimalDigits)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #number\r\n [register]=\"component\"\r\n [componentRef]=\"number\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region datetime -->\r\n <ng-container *ngSwitchCase=\"'datetime'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region date -->\r\n <ng-container *ngSwitchCase=\"'date'\">\r\n <ngx-sirio-datepicker [ariaLabel]=\"evaluateString(locale(component, 'ariaDateLabel') || locale(component, 'dateLabel'))\"\r\n [label]=\"evaluateString(locale(component, 'dateLabel'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n isoDate\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #date\r\n [register]=\"component\"\r\n [componentRef]=\"date\">\r\n </ngx-sirio-datepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region time -->\r\n <ng-container *ngSwitchCase=\"'time'\">\r\n <ngx-sirio-timepicker [ariaLabel]=\"evaluateString(locale(component, 'ariaTimeLabel') || locale(component, 'timeLabel'))\"\r\n [label]=\"evaluateString(locale(component, 'timeLabel'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #time\r\n [register]=\"component\"\r\n [componentRef]=\"time\">\r\n </ngx-sirio-timepicker>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checkbox -->\r\n <ng-container *ngSwitchCase=\"'checkbox'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region toggle -->\r\n <ng-container *ngSwitchCase=\"'toggle'\">\r\n <ngx-sirio-toggle [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #toggle\r\n [register]=\"component\"\r\n [componentRef]=\"toggle\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-toggle>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-checkbox>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region radio -->\r\n <ng-container *ngSwitchCase=\"'radio'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-radio-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #chipradio\r\n [register]=\"component\"\r\n [componentRef]=\"chipradio\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"radio\"\r\n [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-radio-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #radio\r\n [register]=\"component\"\r\n [componentRef]=\"radio\">\r\n <ngx-sirio-radio-button *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-radio-button>\r\n </ngx-sirio-radio-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region checklist -->\r\n <ng-container *ngSwitchCase=\"'checklist'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region chip -->\r\n <ng-container *ngSwitchCase=\"'chip'\">\r\n <ngx-sirio-chip-checkbox-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #chipcheckbox\r\n [register]=\"component\"\r\n [componentRef]=\"chipcheckbox\">\r\n <ngx-sirio-input-chip *ngFor=\"let option of (getValues(component) | async) || []\"\r\n type=\"checkbox\"\r\n [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-input-chip>\r\n </ngx-sirio-chip-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <ngx-sirio-checkbox-group [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [refresh]=\"refreshValues(component)\"\r\n #checkbox\r\n [register]=\"component\"\r\n [componentRef]=\"checkbox\">\r\n <ngx-sirio-checkbox *ngFor=\"let option of (getValues(component) | async) || []\" [value]=\"option.value\">\r\n {{ locale(option, 'label') }}\r\n </ngx-sirio-checkbox>\r\n </ngx-sirio-checkbox-group>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region textarea -->\r\n <ng-container *ngSwitchCase=\"'textarea'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-input type=\"textarea\"\r\n [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [placeholder]=\"locale(component, 'placeholder') || ''\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [formControlName]=\"component.key\"\r\n [textcase]=\"component.textCase\"\r\n [maxlength]=\"evaluateNumber(component.maxLength)\"\r\n updateBlur\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #textarea\r\n [register]=\"component\"\r\n [componentRef]=\"textarea\">\r\n </ngx-sirio-input>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region filepicker -->\r\n <ng-container *ngSwitchCase=\"'filepicker'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-file-upload [ariaLabel]=\"evaluateString(locale(component, 'ariaLabel') || locale(component, 'label'))\"\r\n [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [accept]=\"getMimeTypes(component.accept)\"\r\n [multiple]=\"evaluateBoolean(component.multiple)\"\r\n (fileUploadedEvent)=\"fileUploaded($event)\"\r\n [showFilelist]=\"!component.showDetails\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n #filepicker\r\n [register]=\"component\"\r\n [componentRef]=\"filepicker\">\r\n <span class=\"fas fa-arrow-up\" aria-hidden=\"true\"></span>\r\n {{ locale(Texts, 'Upload') }}\r\n </ngx-sirio-file-upload>\r\n <ng-container *ngIf=\"component.showDetails\">\r\n <app-dynamic-fields [formGroup]=\"formGroup\"\r\n [rows]=\"createUploadTables(component)\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region range -->\r\n <ng-container *ngSwitchCase=\"'range'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ngx-sirio-slider [label]=\"evaluateString(locale(component, 'label'))\"\r\n [labelPopover]=\"evaluateString(locale(component, 'tooltip'))\"\r\n [textHelp]=\"evaluateString(locale(component, 'description'))\"\r\n [textFeedback]=\"getTextFeedback(component)\"\r\n [readonly]=\"evaluateBoolean(component.readonly)\"\r\n [disableControl]=\"evaluateBoolean(component.disabled)\"\r\n [formControlName]=\"component.key\"\r\n validation\r\n [canValidate]=\"true\"\r\n [isWarning]=\"isWarning(component)\"\r\n [showWhenValid]=\"false\"\r\n [min]=\"evaluateNumber(component.range?.min) ?? 0\"\r\n [max]=\"evaluateNumber(component.range?.max) ?? 0\"\r\n #range\r\n [register]=\"component\"\r\n [componentRef]=\"range\">\r\n </ngx-sirio-slider>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region dynamiclist -->\r\n <ng-container *ngSwitchCase=\"'dynamiclist'\" [formGroup]=\"resolvePath(component.path)\">\r\n <ng-container [formArrayName]=\"component.key\"\r\n [repeat]=\"evaluateNumber(component.repetitions)\"\r\n [allowAddRemove]=\"evaluateBoolean(component.allowAddRemove)\">\r\n <p *ngIf=\"component.description\">{{ evaluateString(locale(component, 'description')) }}</p>\r\n <ng-container *ngIf=\"getFormArray(resolvePath(component.path).get(component.key)) as formArray\">\r\n <ng-container *ngIf=\"formArray.controls.length > 0\">\r\n <ng-container [ngSwitch]=\"component.subtype\">\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclisttab\">\r\n <ngx-sirio-tab [leftArrowLabel]=\"locale(Texts, 'ScrollLeft')\"\r\n [rightArrowLabel]=\"locale(Texts, 'ScrollRight')\"\r\n [tabCount]=\"formArray.controls.length\"\r\n #dynamiclisttab>\r\n <ng-container *ngFor=\"let item of formArray.controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-tab-item [label]=\"evaluateString(locale(component, 'label')) + ' ' + (i + 1)\">\r\n <ng-container *ngIf=\"i === dynamiclisttab.activeIndex\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(formArray, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <div [register]=\"component\"\r\n [componentRef]=\"dynamiclistaccordion\">\r\n <ngx-sirio-accordion [accordionCount]=\"formArray.controls.length\"\r\n #dynamiclistaccordion>\r\n <ng-container *ngFor=\"let item of formArray.controls; let i = index;\" [formGroupName]=\"i\">\r\n <ngx-sirio-accordion-panel #panel accordionPanel>\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"evaluateString(locale(component, 'label')) + ' ' + (i + 1)\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <ng-container *ngIf=\"panel.panelIsOpen\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(formArray, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region default -->\r\n <ng-container *ngSwitchDefault>\r\n <div #dynamiclist\r\n [register]=\"component\"\r\n [componentRef]=\"dynamiclist\">\r\n <ng-container *ngFor=\"let item of formArray.controls; let i = index;\" [formGroupName]=\"i\">\r\n <div [ngClass]=\"{'group-outline': component.showOutline === true, 'group-outline-repeat': true }\">\r\n <div [ngClass]=\"{\r\n'group-top': component.verticalAlignment === 'start',\r\n'group-center': component.verticalAlignment === 'center',\r\n'group-bottom': component.verticalAlignment === 'end'}\">\r\n <label>{{ evaluateString(locale(component, 'label')) + ' ' + (i + 1) }}</label>\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(item)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <div style=\"text-align:right\">\r\n <ngx-sirio-button (click)=\"removeItem(formArray, i)\" class=\"remove-item\" [color]=\"null\" icon=\"fas fa-trash\">{{ evaluateString(locale(component, 'removeLabel') || locale(Texts, 'RemoveItem')) }}</ngx-sirio-button>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </ng-container>\r\n </ng-container>\r\n <ng-container *ngIf=\"component.allowAddRemove\">\r\n <ngx-sirio-button (click)=\"addItem(formArray)\" class=\"add-item\" [color]=\"null\" icon=\"fas fa-plus\">{{ evaluateString(locale(component, 'addLabel') || locale(Texts, 'AddItem')) }}</ngx-sirio-button>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region group -->\r\n <ng-container *ngSwitchCase=\"'group'\">\r\n <div [ngClass]=\"{\r\n 'group-outline': component.showOutline === true,\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <label>{{ evaluateString(locale(component, 'label')) }}</label>\r\n <div #group\r\n [register]=\"component\"\r\n [componentRef]=\"group\">\r\n <app-dynamic-fields [formGroup]=\"resolvePath(component.path)\"\r\n [rows]=\"component.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tab -->\r\n <ng-container *ngSwitchCase=\"'tab'\">\r\n <ngx-sirio-tab #tab\r\n [register]=\"component\"\r\n [componentRef]=\"tab\"\r\n [leftArrowLabel]=\"locale(Texts, 'ScrollLeft')\"\r\n [rightArrowLabel]=\"locale(Texts, 'ScrollRight')\"\r\n [isNavLine]=\"component.navigation\"\r\n [isVertical]=\"component.vertical\"\r\n tabControl>\r\n <ng-container *ngFor=\"let panel of component.panels; let i = index;\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(panel.disabled),\r\n formGroup: formGroup,\r\n path: panel.path\r\n }\">\r\n </ng-container>\r\n <ngx-sirio-tab-item [label]=\"evaluateString(locale(panel, 'label'))\"\r\n [icon]=\"evaluateString(panel.icon)\"\r\n [disabled]=\"evaluateBoolean(panel.disabled) ?? false\"\r\n *ngIf=\"evaluateConditional(panel.conditional)\">\r\n <div *ngIf=\"i === tab.activeIndex\" [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"resolvePath(panel.path)\"\r\n [rows]=\"getTemplate(panel.template)?.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ngx-sirio-tab-item>\r\n </ng-container>\r\n </ngx-sirio-tab>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region accordion -->\r\n <ng-container *ngSwitchCase=\"'accordion'\">\r\n <ngx-sirio-accordion #accordion\r\n [register]=\"component\"\r\n [componentRef]=\"accordion\">\r\n <ng-container *ngFor=\"let panel of component.panels\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(panel.disabled),\r\n formGroup: formGroup,\r\n path: panel.path\r\n }\">\r\n </ng-container>\r\n <ngx-sirio-accordion-panel *ngIf=\"evaluateConditional(panel.conditional)\"\r\n [disabled]=\"evaluateBoolean(panel.disabled)\">\r\n <ngx-sirio-accordion-header>\r\n <span [innerText]=\"evaluateString(locale(panel, 'label'))\"></span>\r\n </ngx-sirio-accordion-header>\r\n <ngx-sirio-accordion-body>\r\n <div [ngClass]=\"{\r\n 'group-top': component.verticalAlignment === 'start',\r\n 'group-center': component.verticalAlignment === 'center',\r\n 'group-bottom': component.verticalAlignment === 'end'}\">\r\n <div>\r\n <app-dynamic-fields [formGroup]=\"resolvePath(panel.path)\"\r\n [rows]=\"getTemplate(panel.template)?.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </div>\r\n </ngx-sirio-accordion-body>\r\n </ngx-sirio-accordion-panel>\r\n </ng-container>\r\n </ngx-sirio-accordion>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region text -->\r\n <ng-container *ngSwitchCase=\"'text'\">\r\n <div [collapse]=\"component.collapseTo\"\r\n [language]=\"language\"\r\n #text\r\n [register]=\"component\"\r\n [componentRef]=\"text\">\r\n <!--Reset View Context-->\r\n <div tabindex=\"0\" style=\"display:none\"></div>\r\n <div class=\"flex\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n <ng-container *ngIf=\"component.tooltip\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [attr.aria-label]=\"locale(Texts, 'Information')\"\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'tooltip')))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region html -->\r\n <ng-container *ngSwitchCase=\"'html'\">\r\n <div class=\"html-paragraph\"\r\n [innerHTML]=\"sanitize(evaluateTemplate(locale(component, 'content')))\"\r\n #html\r\n [register]=\"component\"\r\n [componentRef]=\"html\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region image -->\r\n <ng-container *ngSwitchCase=\"'image'\">\r\n <img [src]=\"evaluateString(component.source)\"\r\n [alt]=\"evaluateString(locale(component, 'alt'))\"\r\n style=\"width: 100%;height: 100%;\"\r\n #image\r\n [register]=\"component\"\r\n [componentRef]=\"image\">\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region table -->\r\n <ng-container *ngSwitchCase=\"'table'\">\r\n <label>{{ evaluateString(locale(component, 'label')) }}</label>\r\n <ag-grid-angular [modules]=\"getGridModules(component)\"\r\n [gridOptions]=\"getGridOptions(component)\"\r\n (selectionChanged)=\"onGridSelectionChanged(component, $event)\"\r\n [rowSource]=\"(getRowSource(component) | async) || []\"\r\n [refresh]=\"refreshRowSource(component)\"\r\n [style.height.px]=\"component.height\"\r\n #table\r\n [register]=\"component\"\r\n [componentRef]=\"table\" />\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region button -->\r\n <ng-container *ngSwitchCase=\"'button'\">\r\n <ngx-sirio-button (clickEvent)=\"clickButton(component, $event)\"\r\n [color]=\"evaluateColor(component.color)\"\r\n [icon]=\"evaluateString(component.icon)\"\r\n [disabled]=\"evaluateBoolean(component.disabled)\"\r\n #button\r\n [register]=\"component\"\r\n [componentRef]=\"button\">\r\n {{ evaluateString(locale(component, 'label')) }}\r\n </ngx-sirio-button>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region separator -->\r\n <ng-container *ngSwitchCase=\"'separator'\">\r\n <div class=\"separator\"\r\n #separator\r\n [register]=\"component\"\r\n [componentRef]=\"separator\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region spacer -->\r\n <ng-container *ngSwitchCase=\"'spacer'\">\r\n <div style=\"width: 100%\"\r\n [style.height.px]=\"component.height\"\r\n #spacer\r\n [register]=\"component\"\r\n [componentRef]=\"spacer\">\r\n </div>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region iframe -->\r\n <ng-container *ngSwitchCase=\"'iframe'\">\r\n <label [for]=\"component.id\">{{ evaluateString(locale(component, 'label')) }}</label>\r\n <iframe [src]=\"evaluateUrl(component.url)\"\r\n [title]=\"evaluateString(locale(component, 'label'))\"\r\n [style.width]=\"'100%'\"\r\n [style.height.px]=\"component.height\"\r\n [frameSecurity]=\"component.security\"\r\n #iframe\r\n [register]=\"component\"\r\n [componentRef]=\"iframe\">\r\n </iframe>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region alert -->\r\n <ng-container *ngSwitchCase=\"'alert'\">\r\n <ngx-sirio-alert [type]=\"component.role\"\r\n [labelClose]=\"locale(Texts, 'Close')\"\r\n #alert\r\n [register]=\"component\"\r\n [componentRef]=\"alert\">\r\n <ngx-sirio-alert-message>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </ngx-sirio-alert-message>\r\n </ngx-sirio-alert>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region notice -->\r\n <ng-container *ngSwitchCase=\"'notice'\">\r\n <ngx-sirio-notify #notice\r\n [register]=\"component\"\r\n [componentRef]=\"notice\">\r\n <ngx-sirio-notify-body [title]=\"evaluateString(locale(component, 'title'))\">\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </ngx-sirio-notify-body>\r\n </ngx-sirio-notify>\r\n </ng-container>\r\n <!-- #endregion -->\r\n <!-- #region tooltip -->\r\n <ng-container *ngSwitchCase=\"'tooltip'\">\r\n <app-template-wrapper #tooltipWrapper [template]=\"tooltipTemplate\" [context]=\"{ component: component }\"></app-template-wrapper>\r\n <button class=\"sirio-label-popover fas fa-info-circle\"\r\n sirioTooltip\r\n [hasPopover]=\"true\"\r\n [customTemplate]=\"tooltipWrapper.getTemplateRef()\"\r\n #tooltip\r\n [register]=\"component\"\r\n [componentRef]=\"tooltip\"></button>\r\n <ng-template #tooltipTemplate let-component=\"component\">\r\n <div class=\"sirio-tooltip-body\">\r\n <p *ngIf=\"component.title\" class=\"sirio-tooltip-heading sirio-space-down\">\r\n {{ evaluateString(locale(component, 'title')) }}\r\n </p>\r\n <div class=\"text-paragraph\"\r\n [innerHTML]=\"toHTML(evaluateTemplate(locale(component, 'text')))\">\r\n </div>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <!-- #endregion -->\r\n </div>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</ng-container>\r\n", styles: [".flex{display:flex}.field-set{align-items:start}.field-set>.col-host>*{margin-bottom:10px}.separator{border-bottom:2px solid #d9e4f7;width:100%;margin:10px 0}.group-outline{border:1px solid #d9e4f7;padding:15px;margin-top:2px;margin-bottom:2px}.group-outline-repeat{margin-top:8px;margin-bottom:8px}.group-top .row{align-items:baseline}.group-center .row{align-items:center}.group-bottom .row{align-items:end}.text-paragraph p{margin-bottom:0!important}.sirio-tab.sirio-tab-vertical .sirio-tab-body{margin-left:10px;margin-right:10px}.sirio-tab:not(.sirio-tab-vertical) .sirio-tab-body{margin-top:10px;margin-bottom:10px}.sirio-control.ng-invalid .sirio-form-feedback{color:#aa224f;display:inline-block}.sirio-control.ng-invalid .sirio-input-group-text{color:#aa224f;border-color:#aa224f}.sirio-control.fp-disabled .sirio-input-group .sirio-input-group-text,.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{border:0px}.sirio-control.fp-readonly label:hover{color:#454d56}.sirio-control.fp-readonly input.sirio-form-control,.sirio-control.fp-readonly .sirio-dropdown .sirio-dropdown-select,.sirio-control.fp-readonly textarea.sirio-form-control{background:none!important;border:0px;padding:0}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text{background:none}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text span{color:#5b6571}.sirio-control.fp-readonly .sirio-input-group .sirio-input-group-text.prefix{padding-left:0}.sirio-upload.sirio-control.fp-readonly label,.sirio-upload.sirio-control.fp-disabled label{pointer-events:none}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label{color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]~label:before,.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-is-invalid input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label{color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:before,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:before{border-color:#aa224f}.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid~label:after,.sirio-form-check.sirio-form-toggle input[type=checkbox].sirio-is-invalid:checked~label:after{background-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=checkbox]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=checkbox]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label{color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]~label:before,.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:before{border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-form-check input[type=radio]:checked~label:after{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='512' height='512' viewBox='0 0 512 512'%3e%3cpath fill='%23AA224F' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3e%3c/svg%3e\");background-size:12px}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]+label{color:#aa224f;border-color:#aa224f}.sirio-control.sirio-is-invalid fieldset .sirio-chip-selection input[type=radio]:checked+label{color:#fff;background-color:#aa224f;border-color:#aa224f}.sirio-upload.sirio-is-invalid button{background-color:#aa224f;border-color:#aa224f}.col-host .sirio-accordion .sirio-accordion-body .sirio-accordion-content{padding:16px}.col-host .sirio-accordion-body{overflow:unset!important}.ag-header-cell.hide-filter .ag-header-cell-filter-button{display:none}.sirio-tab.sirio-tab-scroll{display:block}.sirio-dropdown .searchable{position:absolute;width:100%;display:none;left:0}.ag-cell-value .btn-small-group{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.ag-cell-value .btn-small .sirio-btn{padding:.25rem .0625rem;margin:2px}\n"] }]
3999
4396
  }], ctorParameters: () => [{ type: SanitizeService }, { type: MarkdownService }, { type: MimeService }, { type: ProgrammabilityService }, { type: EventService }, { type: WeakService }, { type: RegisterService }, { type: MetadataService }, { type: GridService }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { rows: [{
4000
4397
  type: Input
4001
4398
  }], formGroup: [{
@@ -4011,10 +4408,12 @@ class DynamicFormComponent {
4011
4408
  events;
4012
4409
  registerService;
4013
4410
  metadata;
4411
+ dialog;
4412
+ injector;
4014
4413
  schema;
4015
4414
  formGroup;
4016
4415
  value = {};
4017
- language = "";
4416
+ strict = false;
4018
4417
  showNav = true;
4019
4418
  showNavButton = true;
4020
4419
  showProgress = false;
@@ -4025,12 +4424,14 @@ class DynamicFormComponent {
4025
4424
  onCommand = new EventEmitter();
4026
4425
  activeNavChange = new EventEmitter();
4027
4426
  formDiv;
4028
- constructor(fb, programmability, events, registerService, metadata) {
4427
+ constructor(fb, programmability, events, registerService, metadata, dialog, injector) {
4029
4428
  this.fb = fb;
4030
4429
  this.programmability = programmability;
4031
4430
  this.events = events;
4032
4431
  this.registerService = registerService;
4033
4432
  this.metadata = metadata;
4433
+ this.dialog = dialog;
4434
+ this.injector = injector;
4034
4435
  }
4035
4436
  Texts = Texts;
4036
4437
  ngOnDestroy() {
@@ -4039,37 +4440,10 @@ class DynamicFormComponent {
4039
4440
  internalChange = false;
4040
4441
  ngOnChanges(changes) {
4041
4442
  if (changes['schema']) {
4042
- if (!this.formGroup) {
4043
- this.formGroup = this.fb.group({});
4044
- }
4045
- this.clearControls();
4046
- this.clearHandlers();
4047
- const schema = changes['schema'].currentValue;
4048
- const allForms = groupByRow(schema.forms ?? []);
4049
- this.metadata.setSchema(schema);
4050
- this.metadata.setForms(allForms);
4051
- this._forms = allForms.filter(item => item.isTemplate !== true);
4052
- ;
4053
- this.buildForm();
4054
- this.defaultValue = this.formGroup.value;
4055
- if (this.value) {
4056
- patchForm(this.formGroup, this.value);
4057
- }
4058
- if (this.initialized)
4059
- this.initialized.emit(this.formGroup);
4060
- this.registerHandlers();
4443
+ this.onChangeSchema();
4061
4444
  }
4062
4445
  if (changes['value']) {
4063
- if (this.internalChange) {
4064
- this.internalChange = false;
4065
- }
4066
- else {
4067
- this.formGroup.reset(this.defaultValue, { emitEvent: false });
4068
- this.clearFormArrays(this.formGroup);
4069
- patchForm(this.formGroup, this.value, {
4070
- emitEvent: false
4071
- });
4072
- }
4446
+ this.onChangeValue();
4073
4447
  }
4074
4448
  }
4075
4449
  get forms() {
@@ -4094,12 +4468,12 @@ class DynamicFormComponent {
4094
4468
  this.activeNav = this.getNext();
4095
4469
  }
4096
4470
  }
4097
- getControls() {
4098
- return this.registerService.getControls();
4099
- }
4100
4471
  getControl(name) {
4101
4472
  return this.registerService.getControl(name);
4102
4473
  }
4474
+ getControlAs(name, type) {
4475
+ return this.registerService.getControlAs(name, type);
4476
+ }
4103
4477
  get activeNav() {
4104
4478
  return this._activeNav;
4105
4479
  }
@@ -4114,6 +4488,13 @@ class DynamicFormComponent {
4114
4488
  this.activeNavChange.emit(this._activeNav);
4115
4489
  });
4116
4490
  }
4491
+ get language() {
4492
+ return this._language;
4493
+ }
4494
+ set language(value) {
4495
+ this._language = value ?? '';
4496
+ this.metadata.setLanguage(this._language);
4497
+ }
4117
4498
  getFormGroup(path) {
4118
4499
  const control = path ? this.formGroup.get(path) : this.formGroup;
4119
4500
  if (!(control instanceof FormGroup)) {
@@ -4139,11 +4520,67 @@ class DynamicFormComponent {
4139
4520
  evaluateBoolean(value) {
4140
4521
  return this.programmability.evaluateBoolean(this.formGroup, value);
4141
4522
  }
4523
+ evaluateTemplate(value) {
4524
+ return this.programmability.evaluateTemplate(this.formGroup, value);
4525
+ }
4526
+ openForm(template, options) {
4527
+ const formSchema = this.metadata.getTemplateByName(template);
4528
+ if (formSchema) {
4529
+ options = {
4530
+ ...options,
4531
+ injector: this.injector,
4532
+ language: this.language,
4533
+ };
4534
+ this.dialog.openDialog(formSchema, options);
4535
+ }
4536
+ }
4537
+ refresh() {
4538
+ patchForm(this.formGroup, this.value, {
4539
+ strict: this.strict
4540
+ });
4541
+ }
4142
4542
  valueChangesSubscription = null;
4143
4543
  onCommandSubscription = null;
4144
4544
  _forms = [];
4145
4545
  _activeNav = 0;
4546
+ _language = "";
4146
4547
  defaultValue = {};
4548
+ onChangeSchema() {
4549
+ if (!this.formGroup) {
4550
+ this.formGroup = this.fb.group({});
4551
+ }
4552
+ this.clearControls();
4553
+ this.clearHandlers();
4554
+ const schema = this.schema;
4555
+ const allForms = groupByRow(schema.forms ?? []);
4556
+ this.metadata.setSchema(schema);
4557
+ this.metadata.setForms(allForms);
4558
+ this._forms = allForms.filter(item => item.isTemplate !== true);
4559
+ ;
4560
+ this.buildForm();
4561
+ this.defaultValue = this.formGroup.value;
4562
+ if (this.value) {
4563
+ patchForm(this.formGroup, this.value, {
4564
+ strict: this.strict
4565
+ });
4566
+ }
4567
+ if (this.initialized)
4568
+ this.initialized.emit(this.formGroup);
4569
+ this.registerHandlers();
4570
+ }
4571
+ onChangeValue() {
4572
+ if (this.internalChange) {
4573
+ this.internalChange = false;
4574
+ }
4575
+ else {
4576
+ this.formGroup.reset(this.defaultValue, { emitEvent: false });
4577
+ this.clearFormArrays(this.formGroup);
4578
+ patchForm(this.formGroup, this.value, {
4579
+ emitEvent: false,
4580
+ strict: this.strict
4581
+ });
4582
+ }
4583
+ }
4147
4584
  getNext() {
4148
4585
  let index = this.activeNav + 1;
4149
4586
  const max = this.getMaxNav();
@@ -4223,14 +4660,15 @@ class DynamicFormComponent {
4223
4660
  let formComponent = this;
4224
4661
  components?.forEach((component) => {
4225
4662
  if (this.isFormComponent(component)) {
4663
+ const currentGroup = this.applyPath(this.fb, formGroup, component.path);
4226
4664
  let defaultValue = this.getDefaultValue(component);
4227
- const validators = this.getValidators(formGroup, component);
4665
+ const validators = this.getValidators(currentGroup, component);
4228
4666
  const options = {
4229
4667
  validators: validators || [],
4230
4668
  updateOn: this.getUpdateOn(component) || "change"
4231
4669
  };
4232
4670
  const control = formBuilder.control(defaultValue, options);
4233
- formGroup.addControl(component.key, control);
4671
+ currentGroup.addControl(component.key, control);
4234
4672
  }
4235
4673
  else if (this.isContainerComponent(component)) {
4236
4674
  const containers = this.getContainers(component);
@@ -4243,9 +4681,9 @@ class DynamicFormComponent {
4243
4681
  }
4244
4682
  else if (this.isArrayComponent(component)) {
4245
4683
  const itemComponent = this.getArrayItem(component);
4246
- if (itemComponent.path) {
4247
- const formArray = this.createFormArray(formBuilder, formGroup, itemComponent);
4248
- formGroup.addControl(itemComponent.path, formArray);
4684
+ if (itemComponent.key) {
4685
+ const currentGroup = this.applyPath(formBuilder, formGroup, itemComponent.path);
4686
+ this.createFormArray(formBuilder, currentGroup, itemComponent);
4249
4687
  }
4250
4688
  }
4251
4689
  });
@@ -4253,7 +4691,7 @@ class DynamicFormComponent {
4253
4691
  createFormArray(formBuilder, formGroup, itemComponent) {
4254
4692
  const formComponent = this;
4255
4693
  const formArray = formBuilder.array([]);
4256
- formGroup.addControl(itemComponent.path, formArray);
4694
+ formGroup.addControl(itemComponent.key, formArray);
4257
4695
  const createItem = function () {
4258
4696
  let newGroup = formBuilder.group({});
4259
4697
  itemComponent.rows?.forEach((row) => {
@@ -4274,7 +4712,7 @@ class DynamicFormComponent {
4274
4712
  const resize = function (size) {
4275
4713
  const newArray = resizeFormArray(this, size, createItem);
4276
4714
  prepareArray(newArray);
4277
- formGroup.setControl(itemComponent.path, newArray);
4715
+ formGroup.setControl(itemComponent.key, newArray);
4278
4716
  };
4279
4717
  prepareArray(formArray);
4280
4718
  return formArray;
@@ -4400,10 +4838,10 @@ class DynamicFormComponent {
4400
4838
  }
4401
4839
  getArrayItem(component) {
4402
4840
  if (component.type === 'dynamiclist') {
4403
- return { path: component.path, rows: component.rows };
4841
+ return { key: component.key, path: component.path, rows: component.rows };
4404
4842
  }
4405
4843
  else {
4406
- return { path: null, rows: [] };
4844
+ return { key: null, path: null, rows: [] };
4407
4845
  }
4408
4846
  }
4409
4847
  getContainers(component) {
@@ -4458,10 +4896,14 @@ class DynamicFormComponent {
4458
4896
  hasValue(value) {
4459
4897
  return value != null && value.trim().length > 0;
4460
4898
  }
4461
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormComponent, deps: [{ token: i1$1.FormBuilder }, { token: ProgrammabilityService }, { token: EventService }, { token: RegisterService }, { token: MetadataService }], target: i0.ɵɵFactoryTarget.Component });
4462
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DynamicFormComponent, isStandalone: true, selector: "app-dynamic-form", inputs: { schema: "schema", formGroup: "formGroup", value: "value", language: "language", showNav: "showNav", showNavButton: "showNavButton", showProgress: "showProgress", showFormTitle: "showFormTitle", progressStatus: "progressStatus", activeNav: "activeNav" }, outputs: { valueChange: "valueChange", initialized: "initialized", onCommand: "onCommand", activeNavChange: "activeNavChange" }, providers: [
4463
- EventService, ProgrammabilityService, RegisterService, MetadataService
4464
- ], viewQueries: [{ propertyName: "formDiv", first: true, predicate: ["default"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"ngs\">\r\n\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n\r\n <!-- #region progress -->\r\n <ngx-sirio-stepper-progress-bar *ngIf=\"showProgress\"\r\n (eventClick)=\"activateForm($event.data.label)\"\r\n [hasDropdown]=\"true\"\r\n [dropDownLabel]=\"locale(Texts, 'Show')\">\r\n <ng-container *ngFor=\"let form of forms, let formIndex = index\">\r\n <ngx-sirio-stepper-progress-item *ngIf=\"!evaluateBoolean(form.disabled)\"\r\n [hasNavigation]=\"true\"\r\n [status]=\"getFormStatus(form,formIndex)\"\r\n [label]=\"locale(form, 'title')\" />\r\n </ng-container>\r\n </ngx-sirio-stepper-progress-bar>\r\n <!-- #endregion -->\r\n\r\n <!-- #region form disable -->\r\n <ng-container *ngFor=\"let form of forms\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(form.disabled),\r\n formGroup: formGroup,\r\n path: form.path\r\n }\">\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <ng-container *ngIf=\"showNav\">\r\n\r\n <div class=\"col-md-4\">\r\n\r\n <!-- #region sidenav -->\r\n <ng-template #sidenavTemplate>\r\n <ngx-sirio-sidenav>\r\n <ng-container *ngFor=\"let form of forms, let sectionIndex = index\">\r\n <ng-container *ngIf=\"!evaluateBoolean(form.disabled)\">\r\n <ngx-sirio-sidenav-item [isActive]=\"activeNav == sectionIndex\"\r\n (click)=\"activeNav = sectionIndex\"\r\n (keydown.enter)=\"activeNav = sectionIndex\"\r\n tabindex=\"0\">\r\n {{ locale(form, 'title') }}\r\n </ngx-sirio-sidenav-item>\r\n </ng-container>\r\n </ng-container>\r\n </ngx-sirio-sidenav>\r\n </ng-template>\r\n\r\n <ngx-sirio-sidenav-mobile class=\"d-block d-lg-none\"\r\n [openMenuLabel]=\"locale(Texts, 'OpenMenu')\"\r\n [openMenuAriaLabel]=\"locale(Texts, 'OpenMenu')\"\r\n [closeMenuLabel]=\"locale(Texts, 'CloseMenu')\"\r\n closeMenuAriaLabel=\"locale(Texts, 'CloseMenu')\">\r\n <ng-container *ngTemplateOutlet=\"sidenavTemplate\"></ng-container>\r\n </ngx-sirio-sidenav-mobile>\r\n <div class=\"d-none d-lg-block\">\r\n <ng-container *ngTemplateOutlet=\"sidenavTemplate\"></ng-container>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n </div>\r\n\r\n <div class=\"col-md-1\">\r\n <div class=\"separator-horizontal\"></div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n <div class=\"content-element-form\" [ngClass]=\"showNav ? 'col-md-11' : 'col-md-16'\">\r\n\r\n <ng-container *ngFor=\"let form of forms, let sectionIndex = index\">\r\n <div *ngIf=\"activeNav == sectionIndex && !evaluateBoolean(form.disabled)\"\r\n #default\r\n [register]=\"form\"\r\n [componentRef]=\"default\">\r\n <h1 *ngIf=\"showFormTitle && form.title\" class=\"h3 form-title\">{{ locale(form, 'title') }}</h1>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(form.path)\"\r\n [rows]=\"form.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"showNavButton\">\r\n\r\n <div class=\"row section-navs\">\r\n <div class=\"col-8 col-md-8\">\r\n <ngx-sirio-button [color]=\"null\" *ngIf=\"canNext()\" (click)=\"goNext()\" class=\"nextSection\">\r\n {{ locale(Texts, 'NextSection') }}\r\n <span class=\"fa-solid fa-chevron-right\" style=\"margin-left: 10px\"></span>\r\n </ngx-sirio-button>\r\n </div>\r\n <div class=\"col-8 col-md-8\">\r\n <ngx-sirio-button [color]=\"null\" *ngIf=\"canPrevious()\" (click)=\"goPrevious()\" class=\"prevSection\">\r\n <span class=\"fa-solid fa-chevron-left\" style=\"margin-right: 10px\"></span>\r\n {{ locale(Texts, 'PreviousSection') }}\r\n </ngx-sirio-button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n</form>\r\n\r\n\r\n\r\n", styles: [".ngs .container,.ngs .container-fluid,.ngs .container-xxl,.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm{--ngsgutter-x: 1.5rem;--ngsgutter-y: 0;width:100%;padding-right:calc(var(--ngsgutter-x) * .5);padding-left:calc(var(--ngsgutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.ngs .container-sm,.ngs .container{max-width:540px}}@media (min-width: 768px){.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:720px}}@media (min-width: 992px){.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:960px}}@media (min-width: 1200px){.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:1140px}}@media (min-width: 1400px){.ngs .container-xxl,.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:1320px}}.ngs :root{--ngsbreakpoint-xs: 0;--ngsbreakpoint-sm: 576px;--ngsbreakpoint-md: 768px;--ngsbreakpoint-lg: 992px;--ngsbreakpoint-xl: 1200px;--ngsbreakpoint-xxl: 1400px}.ngs .row{--ngsgutter-x: 1.5rem;--ngsgutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--ngsgutter-y));margin-right:calc(-.5 * var(--ngsgutter-x));margin-left:calc(-.5 * var(--ngsgutter-x))}.ngs .row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--ngsgutter-x) * .5);padding-left:calc(var(--ngsgutter-x) * .5);margin-top:var(--ngsgutter-y)}.ngs .col{flex:1 0 0%}.ngs .row-cols-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-auto{flex:0 0 auto;width:auto}.ngs .col-1{flex:0 0 auto;width:6.25%}.ngs .col-2{flex:0 0 auto;width:12.5%}.ngs .col-3{flex:0 0 auto;width:18.75%}.ngs .col-4{flex:0 0 auto;width:25%}.ngs .col-5{flex:0 0 auto;width:31.25%}.ngs .col-6{flex:0 0 auto;width:37.5%}.ngs .col-7{flex:0 0 auto;width:43.75%}.ngs .col-8{flex:0 0 auto;width:50%}.ngs .col-9{flex:0 0 auto;width:56.25%}.ngs .col-10{flex:0 0 auto;width:62.5%}.ngs .col-11{flex:0 0 auto;width:68.75%}.ngs .col-12{flex:0 0 auto;width:75%}.ngs .col-13{flex:0 0 auto;width:81.25%}.ngs .col-14{flex:0 0 auto;width:87.5%}.ngs .col-15{flex:0 0 auto;width:93.75%}.ngs .col-16{flex:0 0 auto;width:100%}.ngs .offset-1{margin-left:6.25%}.ngs .offset-2{margin-left:12.5%}.ngs .offset-3{margin-left:18.75%}.ngs .offset-4{margin-left:25%}.ngs .offset-5{margin-left:31.25%}.ngs .offset-6{margin-left:37.5%}.ngs .offset-7{margin-left:43.75%}.ngs .offset-8{margin-left:50%}.ngs .offset-9{margin-left:56.25%}.ngs .offset-10{margin-left:62.5%}.ngs .offset-11{margin-left:68.75%}.ngs .offset-12{margin-left:75%}.ngs .offset-13{margin-left:81.25%}.ngs .offset-14{margin-left:87.5%}.ngs .offset-15{margin-left:93.75%}.ngs .g-0,.ngs .gx-0{--ngsgutter-x: 0}.ngs .g-0,.ngs .gy-0{--ngsgutter-y: 0}.ngs .g-1,.ngs .gx-1{--ngsgutter-x: .25rem}.ngs .g-1,.ngs .gy-1{--ngsgutter-y: .25rem}.ngs .g-2,.ngs .gx-2{--ngsgutter-x: .5rem}.ngs .g-2,.ngs .gy-2{--ngsgutter-y: .5rem}.ngs .g-3,.ngs .gx-3{--ngsgutter-x: 1rem}.ngs .g-3,.ngs .gy-3{--ngsgutter-y: 1rem}.ngs .g-4,.ngs .gx-4{--ngsgutter-x: 1.5rem}.ngs .g-4,.ngs .gy-4{--ngsgutter-y: 1.5rem}.ngs .g-5,.ngs .gx-5{--ngsgutter-x: 3rem}.ngs .g-5,.ngs .gy-5{--ngsgutter-y: 3rem}@media (min-width: 576px){.ngs .col-sm{flex:1 0 0%}.ngs .row-cols-sm-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-sm-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-sm-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-sm-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-sm-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-sm-auto{flex:0 0 auto;width:auto}.ngs .col-sm-1{flex:0 0 auto;width:6.25%}.ngs .col-sm-2{flex:0 0 auto;width:12.5%}.ngs .col-sm-3{flex:0 0 auto;width:18.75%}.ngs .col-sm-4{flex:0 0 auto;width:25%}.ngs .col-sm-5{flex:0 0 auto;width:31.25%}.ngs .col-sm-6{flex:0 0 auto;width:37.5%}.ngs .col-sm-7{flex:0 0 auto;width:43.75%}.ngs .col-sm-8{flex:0 0 auto;width:50%}.ngs .col-sm-9{flex:0 0 auto;width:56.25%}.ngs .col-sm-10{flex:0 0 auto;width:62.5%}.ngs .col-sm-11{flex:0 0 auto;width:68.75%}.ngs .col-sm-12{flex:0 0 auto;width:75%}.ngs .col-sm-13{flex:0 0 auto;width:81.25%}.ngs .col-sm-14{flex:0 0 auto;width:87.5%}.ngs .col-sm-15{flex:0 0 auto;width:93.75%}.ngs .col-sm-16{flex:0 0 auto;width:100%}.ngs .offset-sm-0{margin-left:0}.ngs .offset-sm-1{margin-left:6.25%}.ngs .offset-sm-2{margin-left:12.5%}.ngs .offset-sm-3{margin-left:18.75%}.ngs .offset-sm-4{margin-left:25%}.ngs .offset-sm-5{margin-left:31.25%}.ngs .offset-sm-6{margin-left:37.5%}.ngs .offset-sm-7{margin-left:43.75%}.ngs .offset-sm-8{margin-left:50%}.ngs .offset-sm-9{margin-left:56.25%}.ngs .offset-sm-10{margin-left:62.5%}.ngs .offset-sm-11{margin-left:68.75%}.ngs .offset-sm-12{margin-left:75%}.ngs .offset-sm-13{margin-left:81.25%}.ngs .offset-sm-14{margin-left:87.5%}.ngs .offset-sm-15{margin-left:93.75%}.ngs .g-sm-0,.ngs .gx-sm-0{--ngsgutter-x: 0}.ngs .g-sm-0,.ngs .gy-sm-0{--ngsgutter-y: 0}.ngs .g-sm-1,.ngs .gx-sm-1{--ngsgutter-x: .25rem}.ngs .g-sm-1,.ngs .gy-sm-1{--ngsgutter-y: .25rem}.ngs .g-sm-2,.ngs .gx-sm-2{--ngsgutter-x: .5rem}.ngs .g-sm-2,.ngs .gy-sm-2{--ngsgutter-y: .5rem}.ngs .g-sm-3,.ngs .gx-sm-3{--ngsgutter-x: 1rem}.ngs .g-sm-3,.ngs .gy-sm-3{--ngsgutter-y: 1rem}.ngs .g-sm-4,.ngs .gx-sm-4{--ngsgutter-x: 1.5rem}.ngs .g-sm-4,.ngs .gy-sm-4{--ngsgutter-y: 1.5rem}.ngs .g-sm-5,.ngs .gx-sm-5{--ngsgutter-x: 3rem}.ngs .g-sm-5,.ngs .gy-sm-5{--ngsgutter-y: 3rem}}@media (min-width: 768px){.ngs .col-md{flex:1 0 0%}.ngs .row-cols-md-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-md-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-md-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-md-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-md-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-md-auto{flex:0 0 auto;width:auto}.ngs .col-md-1{flex:0 0 auto;width:6.25%}.ngs .col-md-2{flex:0 0 auto;width:12.5%}.ngs .col-md-3{flex:0 0 auto;width:18.75%}.ngs .col-md-4{flex:0 0 auto;width:25%}.ngs .col-md-5{flex:0 0 auto;width:31.25%}.ngs .col-md-6{flex:0 0 auto;width:37.5%}.ngs .col-md-7{flex:0 0 auto;width:43.75%}.ngs .col-md-8{flex:0 0 auto;width:50%}.ngs .col-md-9{flex:0 0 auto;width:56.25%}.ngs .col-md-10{flex:0 0 auto;width:62.5%}.ngs .col-md-11{flex:0 0 auto;width:68.75%}.ngs .col-md-12{flex:0 0 auto;width:75%}.ngs .col-md-13{flex:0 0 auto;width:81.25%}.ngs .col-md-14{flex:0 0 auto;width:87.5%}.ngs .col-md-15{flex:0 0 auto;width:93.75%}.ngs .col-md-16{flex:0 0 auto;width:100%}.ngs .offset-md-0{margin-left:0}.ngs .offset-md-1{margin-left:6.25%}.ngs .offset-md-2{margin-left:12.5%}.ngs .offset-md-3{margin-left:18.75%}.ngs .offset-md-4{margin-left:25%}.ngs .offset-md-5{margin-left:31.25%}.ngs .offset-md-6{margin-left:37.5%}.ngs .offset-md-7{margin-left:43.75%}.ngs .offset-md-8{margin-left:50%}.ngs .offset-md-9{margin-left:56.25%}.ngs .offset-md-10{margin-left:62.5%}.ngs .offset-md-11{margin-left:68.75%}.ngs .offset-md-12{margin-left:75%}.ngs .offset-md-13{margin-left:81.25%}.ngs .offset-md-14{margin-left:87.5%}.ngs .offset-md-15{margin-left:93.75%}.ngs .g-md-0,.ngs .gx-md-0{--ngsgutter-x: 0}.ngs .g-md-0,.ngs .gy-md-0{--ngsgutter-y: 0}.ngs .g-md-1,.ngs .gx-md-1{--ngsgutter-x: .25rem}.ngs .g-md-1,.ngs .gy-md-1{--ngsgutter-y: .25rem}.ngs .g-md-2,.ngs .gx-md-2{--ngsgutter-x: .5rem}.ngs .g-md-2,.ngs .gy-md-2{--ngsgutter-y: .5rem}.ngs .g-md-3,.ngs .gx-md-3{--ngsgutter-x: 1rem}.ngs .g-md-3,.ngs .gy-md-3{--ngsgutter-y: 1rem}.ngs .g-md-4,.ngs .gx-md-4{--ngsgutter-x: 1.5rem}.ngs .g-md-4,.ngs .gy-md-4{--ngsgutter-y: 1.5rem}.ngs .g-md-5,.ngs .gx-md-5{--ngsgutter-x: 3rem}.ngs .g-md-5,.ngs .gy-md-5{--ngsgutter-y: 3rem}}@media (min-width: 992px){.ngs .col-lg{flex:1 0 0%}.ngs .row-cols-lg-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-lg-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-lg-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-lg-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-lg-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-lg-auto{flex:0 0 auto;width:auto}.ngs .col-lg-1{flex:0 0 auto;width:6.25%}.ngs .col-lg-2{flex:0 0 auto;width:12.5%}.ngs .col-lg-3{flex:0 0 auto;width:18.75%}.ngs .col-lg-4{flex:0 0 auto;width:25%}.ngs .col-lg-5{flex:0 0 auto;width:31.25%}.ngs .col-lg-6{flex:0 0 auto;width:37.5%}.ngs .col-lg-7{flex:0 0 auto;width:43.75%}.ngs .col-lg-8{flex:0 0 auto;width:50%}.ngs .col-lg-9{flex:0 0 auto;width:56.25%}.ngs .col-lg-10{flex:0 0 auto;width:62.5%}.ngs .col-lg-11{flex:0 0 auto;width:68.75%}.ngs .col-lg-12{flex:0 0 auto;width:75%}.ngs .col-lg-13{flex:0 0 auto;width:81.25%}.ngs .col-lg-14{flex:0 0 auto;width:87.5%}.ngs .col-lg-15{flex:0 0 auto;width:93.75%}.ngs .col-lg-16{flex:0 0 auto;width:100%}.ngs .offset-lg-0{margin-left:0}.ngs .offset-lg-1{margin-left:6.25%}.ngs .offset-lg-2{margin-left:12.5%}.ngs .offset-lg-3{margin-left:18.75%}.ngs .offset-lg-4{margin-left:25%}.ngs .offset-lg-5{margin-left:31.25%}.ngs .offset-lg-6{margin-left:37.5%}.ngs .offset-lg-7{margin-left:43.75%}.ngs .offset-lg-8{margin-left:50%}.ngs .offset-lg-9{margin-left:56.25%}.ngs .offset-lg-10{margin-left:62.5%}.ngs .offset-lg-11{margin-left:68.75%}.ngs .offset-lg-12{margin-left:75%}.ngs .offset-lg-13{margin-left:81.25%}.ngs .offset-lg-14{margin-left:87.5%}.ngs .offset-lg-15{margin-left:93.75%}.ngs .g-lg-0,.ngs .gx-lg-0{--ngsgutter-x: 0}.ngs .g-lg-0,.ngs .gy-lg-0{--ngsgutter-y: 0}.ngs .g-lg-1,.ngs .gx-lg-1{--ngsgutter-x: .25rem}.ngs .g-lg-1,.ngs .gy-lg-1{--ngsgutter-y: .25rem}.ngs .g-lg-2,.ngs .gx-lg-2{--ngsgutter-x: .5rem}.ngs .g-lg-2,.ngs .gy-lg-2{--ngsgutter-y: .5rem}.ngs .g-lg-3,.ngs .gx-lg-3{--ngsgutter-x: 1rem}.ngs .g-lg-3,.ngs .gy-lg-3{--ngsgutter-y: 1rem}.ngs .g-lg-4,.ngs .gx-lg-4{--ngsgutter-x: 1.5rem}.ngs .g-lg-4,.ngs .gy-lg-4{--ngsgutter-y: 1.5rem}.ngs .g-lg-5,.ngs .gx-lg-5{--ngsgutter-x: 3rem}.ngs .g-lg-5,.ngs .gy-lg-5{--ngsgutter-y: 3rem}}@media (min-width: 1200px){.ngs .col-xl{flex:1 0 0%}.ngs .row-cols-xl-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-xl-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-xl-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-xl-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-xl-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-xl-auto{flex:0 0 auto;width:auto}.ngs .col-xl-1{flex:0 0 auto;width:6.25%}.ngs .col-xl-2{flex:0 0 auto;width:12.5%}.ngs .col-xl-3{flex:0 0 auto;width:18.75%}.ngs .col-xl-4{flex:0 0 auto;width:25%}.ngs .col-xl-5{flex:0 0 auto;width:31.25%}.ngs .col-xl-6{flex:0 0 auto;width:37.5%}.ngs .col-xl-7{flex:0 0 auto;width:43.75%}.ngs .col-xl-8{flex:0 0 auto;width:50%}.ngs .col-xl-9{flex:0 0 auto;width:56.25%}.ngs .col-xl-10{flex:0 0 auto;width:62.5%}.ngs .col-xl-11{flex:0 0 auto;width:68.75%}.ngs .col-xl-12{flex:0 0 auto;width:75%}.ngs .col-xl-13{flex:0 0 auto;width:81.25%}.ngs .col-xl-14{flex:0 0 auto;width:87.5%}.ngs .col-xl-15{flex:0 0 auto;width:93.75%}.ngs .col-xl-16{flex:0 0 auto;width:100%}.ngs .offset-xl-0{margin-left:0}.ngs .offset-xl-1{margin-left:6.25%}.ngs .offset-xl-2{margin-left:12.5%}.ngs .offset-xl-3{margin-left:18.75%}.ngs .offset-xl-4{margin-left:25%}.ngs .offset-xl-5{margin-left:31.25%}.ngs .offset-xl-6{margin-left:37.5%}.ngs .offset-xl-7{margin-left:43.75%}.ngs .offset-xl-8{margin-left:50%}.ngs .offset-xl-9{margin-left:56.25%}.ngs .offset-xl-10{margin-left:62.5%}.ngs .offset-xl-11{margin-left:68.75%}.ngs .offset-xl-12{margin-left:75%}.ngs .offset-xl-13{margin-left:81.25%}.ngs .offset-xl-14{margin-left:87.5%}.ngs .offset-xl-15{margin-left:93.75%}.ngs .g-xl-0,.ngs .gx-xl-0{--ngsgutter-x: 0}.ngs .g-xl-0,.ngs .gy-xl-0{--ngsgutter-y: 0}.ngs .g-xl-1,.ngs .gx-xl-1{--ngsgutter-x: .25rem}.ngs .g-xl-1,.ngs .gy-xl-1{--ngsgutter-y: .25rem}.ngs .g-xl-2,.ngs .gx-xl-2{--ngsgutter-x: .5rem}.ngs .g-xl-2,.ngs .gy-xl-2{--ngsgutter-y: .5rem}.ngs .g-xl-3,.ngs .gx-xl-3{--ngsgutter-x: 1rem}.ngs .g-xl-3,.ngs .gy-xl-3{--ngsgutter-y: 1rem}.ngs .g-xl-4,.ngs .gx-xl-4{--ngsgutter-x: 1.5rem}.ngs .g-xl-4,.ngs .gy-xl-4{--ngsgutter-y: 1.5rem}.ngs .g-xl-5,.ngs .gx-xl-5{--ngsgutter-x: 3rem}.ngs .g-xl-5,.ngs .gy-xl-5{--ngsgutter-y: 3rem}}@media (min-width: 1400px){.ngs .col-xxl{flex:1 0 0%}.ngs .row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-xxl-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-xxl-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-xxl-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-xxl-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-xxl-auto{flex:0 0 auto;width:auto}.ngs .col-xxl-1{flex:0 0 auto;width:6.25%}.ngs .col-xxl-2{flex:0 0 auto;width:12.5%}.ngs .col-xxl-3{flex:0 0 auto;width:18.75%}.ngs .col-xxl-4{flex:0 0 auto;width:25%}.ngs .col-xxl-5{flex:0 0 auto;width:31.25%}.ngs .col-xxl-6{flex:0 0 auto;width:37.5%}.ngs .col-xxl-7{flex:0 0 auto;width:43.75%}.ngs .col-xxl-8{flex:0 0 auto;width:50%}.ngs .col-xxl-9{flex:0 0 auto;width:56.25%}.ngs .col-xxl-10{flex:0 0 auto;width:62.5%}.ngs .col-xxl-11{flex:0 0 auto;width:68.75%}.ngs .col-xxl-12{flex:0 0 auto;width:75%}.ngs .col-xxl-13{flex:0 0 auto;width:81.25%}.ngs .col-xxl-14{flex:0 0 auto;width:87.5%}.ngs .col-xxl-15{flex:0 0 auto;width:93.75%}.ngs .col-xxl-16{flex:0 0 auto;width:100%}.ngs .offset-xxl-0{margin-left:0}.ngs .offset-xxl-1{margin-left:6.25%}.ngs .offset-xxl-2{margin-left:12.5%}.ngs .offset-xxl-3{margin-left:18.75%}.ngs .offset-xxl-4{margin-left:25%}.ngs .offset-xxl-5{margin-left:31.25%}.ngs .offset-xxl-6{margin-left:37.5%}.ngs .offset-xxl-7{margin-left:43.75%}.ngs .offset-xxl-8{margin-left:50%}.ngs .offset-xxl-9{margin-left:56.25%}.ngs .offset-xxl-10{margin-left:62.5%}.ngs .offset-xxl-11{margin-left:68.75%}.ngs .offset-xxl-12{margin-left:75%}.ngs .offset-xxl-13{margin-left:81.25%}.ngs .offset-xxl-14{margin-left:87.5%}.ngs .offset-xxl-15{margin-left:93.75%}.ngs .g-xxl-0,.ngs .gx-xxl-0{--ngsgutter-x: 0}.ngs .g-xxl-0,.ngs .gy-xxl-0{--ngsgutter-y: 0}.ngs .g-xxl-1,.ngs .gx-xxl-1{--ngsgutter-x: .25rem}.ngs .g-xxl-1,.ngs .gy-xxl-1{--ngsgutter-y: .25rem}.ngs .g-xxl-2,.ngs .gx-xxl-2{--ngsgutter-x: .5rem}.ngs .g-xxl-2,.ngs .gy-xxl-2{--ngsgutter-y: .5rem}.ngs .g-xxl-3,.ngs .gx-xxl-3{--ngsgutter-x: 1rem}.ngs .g-xxl-3,.ngs .gy-xxl-3{--ngsgutter-y: 1rem}.ngs .g-xxl-4,.ngs .gx-xxl-4{--ngsgutter-x: 1.5rem}.ngs .g-xxl-4,.ngs .gy-xxl-4{--ngsgutter-y: 1.5rem}.ngs .g-xxl-5,.ngs .gx-xxl-5{--ngsgutter-x: 3rem}.ngs .g-xxl-5,.ngs .gy-xxl-5{--ngsgutter-y: 3rem}}.ngs .d-inline{display:inline!important}.ngs .d-inline-block{display:inline-block!important}.ngs .d-block{display:block!important}.ngs .d-grid{display:grid!important}.ngs .d-inline-grid{display:inline-grid!important}.ngs .d-table{display:table!important}.ngs .d-table-row{display:table-row!important}.ngs .d-table-cell{display:table-cell!important}.ngs .d-flex{display:flex!important}.ngs .d-inline-flex{display:inline-flex!important}.ngs .d-none{display:none!important}.ngs .flex-fill{flex:1 1 auto!important}.ngs .flex-row{flex-direction:row!important}.ngs .flex-column{flex-direction:column!important}.ngs .flex-row-reverse{flex-direction:row-reverse!important}.ngs .flex-column-reverse{flex-direction:column-reverse!important}.ngs .flex-grow-0{flex-grow:0!important}.ngs .flex-grow-1{flex-grow:1!important}.ngs .flex-shrink-0{flex-shrink:0!important}.ngs .flex-shrink-1{flex-shrink:1!important}.ngs .flex-wrap{flex-wrap:wrap!important}.ngs .flex-nowrap{flex-wrap:nowrap!important}.ngs .flex-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-start{justify-content:flex-start!important}.ngs .justify-content-end{justify-content:flex-end!important}.ngs .justify-content-center{justify-content:center!important}.ngs .justify-content-between{justify-content:space-between!important}.ngs .justify-content-around{justify-content:space-around!important}.ngs .justify-content-evenly{justify-content:space-evenly!important}.ngs .align-items-start{align-items:flex-start!important}.ngs .align-items-end{align-items:flex-end!important}.ngs .align-items-center{align-items:center!important}.ngs .align-items-baseline{align-items:baseline!important}.ngs .align-items-stretch{align-items:stretch!important}.ngs .align-content-start{align-content:flex-start!important}.ngs .align-content-end{align-content:flex-end!important}.ngs .align-content-center{align-content:center!important}.ngs .align-content-between{align-content:space-between!important}.ngs .align-content-around{align-content:space-around!important}.ngs .align-content-stretch{align-content:stretch!important}.ngs .align-self-auto{align-self:auto!important}.ngs .align-self-start{align-self:flex-start!important}.ngs .align-self-end{align-self:flex-end!important}.ngs .align-self-center{align-self:center!important}.ngs .align-self-baseline{align-self:baseline!important}.ngs .align-self-stretch{align-self:stretch!important}.ngs .order-first{order:-1!important}.ngs .order-0{order:0!important}.ngs .order-1{order:1!important}.ngs .order-2{order:2!important}.ngs .order-3{order:3!important}.ngs .order-4{order:4!important}.ngs .order-5{order:5!important}.ngs .order-last{order:6!important}.ngs .m-0{margin:0!important}.ngs .m-1{margin:.25rem!important}.ngs .m-2{margin:.5rem!important}.ngs .m-3{margin:1rem!important}.ngs .m-4{margin:1.5rem!important}.ngs .m-5{margin:3rem!important}.ngs .m-auto{margin:auto!important}.ngs .mx-0{margin-right:0!important;margin-left:0!important}.ngs .mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-0{margin-top:0!important}.ngs .mt-1{margin-top:.25rem!important}.ngs .mt-2{margin-top:.5rem!important}.ngs .mt-3{margin-top:1rem!important}.ngs .mt-4{margin-top:1.5rem!important}.ngs .mt-5{margin-top:3rem!important}.ngs .mt-auto{margin-top:auto!important}.ngs .me-0{margin-right:0!important}.ngs .me-1{margin-right:.25rem!important}.ngs .me-2{margin-right:.5rem!important}.ngs .me-3{margin-right:1rem!important}.ngs .me-4{margin-right:1.5rem!important}.ngs .me-5{margin-right:3rem!important}.ngs .me-auto{margin-right:auto!important}.ngs .mb-0{margin-bottom:0!important}.ngs .mb-1{margin-bottom:.25rem!important}.ngs .mb-2{margin-bottom:.5rem!important}.ngs .mb-3{margin-bottom:1rem!important}.ngs .mb-4{margin-bottom:1.5rem!important}.ngs .mb-5{margin-bottom:3rem!important}.ngs .mb-auto{margin-bottom:auto!important}.ngs .ms-0{margin-left:0!important}.ngs .ms-1{margin-left:.25rem!important}.ngs .ms-2{margin-left:.5rem!important}.ngs .ms-3{margin-left:1rem!important}.ngs .ms-4{margin-left:1.5rem!important}.ngs .ms-5{margin-left:3rem!important}.ngs .ms-auto{margin-left:auto!important}.ngs .p-0{padding:0!important}.ngs .p-1{padding:.25rem!important}.ngs .p-2{padding:.5rem!important}.ngs .p-3{padding:1rem!important}.ngs .p-4{padding:1.5rem!important}.ngs .p-5{padding:3rem!important}.ngs .px-0{padding-right:0!important;padding-left:0!important}.ngs .px-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-0{padding-top:0!important}.ngs .pt-1{padding-top:.25rem!important}.ngs .pt-2{padding-top:.5rem!important}.ngs .pt-3{padding-top:1rem!important}.ngs .pt-4{padding-top:1.5rem!important}.ngs .pt-5{padding-top:3rem!important}.ngs .pe-0{padding-right:0!important}.ngs .pe-1{padding-right:.25rem!important}.ngs .pe-2{padding-right:.5rem!important}.ngs .pe-3{padding-right:1rem!important}.ngs .pe-4{padding-right:1.5rem!important}.ngs .pe-5{padding-right:3rem!important}.ngs .pb-0{padding-bottom:0!important}.ngs .pb-1{padding-bottom:.25rem!important}.ngs .pb-2{padding-bottom:.5rem!important}.ngs .pb-3{padding-bottom:1rem!important}.ngs .pb-4{padding-bottom:1.5rem!important}.ngs .pb-5{padding-bottom:3rem!important}.ngs .ps-0{padding-left:0!important}.ngs .ps-1{padding-left:.25rem!important}.ngs .ps-2{padding-left:.5rem!important}.ngs .ps-3{padding-left:1rem!important}.ngs .ps-4{padding-left:1.5rem!important}.ngs .ps-5{padding-left:3rem!important}@media (min-width: 576px){.ngs .d-sm-inline{display:inline!important}.ngs .d-sm-inline-block{display:inline-block!important}.ngs .d-sm-block{display:block!important}.ngs .d-sm-grid{display:grid!important}.ngs .d-sm-inline-grid{display:inline-grid!important}.ngs .d-sm-table{display:table!important}.ngs .d-sm-table-row{display:table-row!important}.ngs .d-sm-table-cell{display:table-cell!important}.ngs .d-sm-flex{display:flex!important}.ngs .d-sm-inline-flex{display:inline-flex!important}.ngs .d-sm-none{display:none!important}.ngs .flex-sm-fill{flex:1 1 auto!important}.ngs .flex-sm-row{flex-direction:row!important}.ngs .flex-sm-column{flex-direction:column!important}.ngs .flex-sm-row-reverse{flex-direction:row-reverse!important}.ngs .flex-sm-column-reverse{flex-direction:column-reverse!important}.ngs .flex-sm-grow-0{flex-grow:0!important}.ngs .flex-sm-grow-1{flex-grow:1!important}.ngs .flex-sm-shrink-0{flex-shrink:0!important}.ngs .flex-sm-shrink-1{flex-shrink:1!important}.ngs .flex-sm-wrap{flex-wrap:wrap!important}.ngs .flex-sm-nowrap{flex-wrap:nowrap!important}.ngs .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-sm-start{justify-content:flex-start!important}.ngs .justify-content-sm-end{justify-content:flex-end!important}.ngs .justify-content-sm-center{justify-content:center!important}.ngs .justify-content-sm-between{justify-content:space-between!important}.ngs .justify-content-sm-around{justify-content:space-around!important}.ngs .justify-content-sm-evenly{justify-content:space-evenly!important}.ngs .align-items-sm-start{align-items:flex-start!important}.ngs .align-items-sm-end{align-items:flex-end!important}.ngs .align-items-sm-center{align-items:center!important}.ngs .align-items-sm-baseline{align-items:baseline!important}.ngs .align-items-sm-stretch{align-items:stretch!important}.ngs .align-content-sm-start{align-content:flex-start!important}.ngs .align-content-sm-end{align-content:flex-end!important}.ngs .align-content-sm-center{align-content:center!important}.ngs .align-content-sm-between{align-content:space-between!important}.ngs .align-content-sm-around{align-content:space-around!important}.ngs .align-content-sm-stretch{align-content:stretch!important}.ngs .align-self-sm-auto{align-self:auto!important}.ngs .align-self-sm-start{align-self:flex-start!important}.ngs .align-self-sm-end{align-self:flex-end!important}.ngs .align-self-sm-center{align-self:center!important}.ngs .align-self-sm-baseline{align-self:baseline!important}.ngs .align-self-sm-stretch{align-self:stretch!important}.ngs .order-sm-first{order:-1!important}.ngs .order-sm-0{order:0!important}.ngs .order-sm-1{order:1!important}.ngs .order-sm-2{order:2!important}.ngs .order-sm-3{order:3!important}.ngs .order-sm-4{order:4!important}.ngs .order-sm-5{order:5!important}.ngs .order-sm-last{order:6!important}.ngs .m-sm-0{margin:0!important}.ngs .m-sm-1{margin:.25rem!important}.ngs .m-sm-2{margin:.5rem!important}.ngs .m-sm-3{margin:1rem!important}.ngs .m-sm-4{margin:1.5rem!important}.ngs .m-sm-5{margin:3rem!important}.ngs .m-sm-auto{margin:auto!important}.ngs .mx-sm-0{margin-right:0!important;margin-left:0!important}.ngs .mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-sm-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-sm-0{margin-top:0!important}.ngs .mt-sm-1{margin-top:.25rem!important}.ngs .mt-sm-2{margin-top:.5rem!important}.ngs .mt-sm-3{margin-top:1rem!important}.ngs .mt-sm-4{margin-top:1.5rem!important}.ngs .mt-sm-5{margin-top:3rem!important}.ngs .mt-sm-auto{margin-top:auto!important}.ngs .me-sm-0{margin-right:0!important}.ngs .me-sm-1{margin-right:.25rem!important}.ngs .me-sm-2{margin-right:.5rem!important}.ngs .me-sm-3{margin-right:1rem!important}.ngs .me-sm-4{margin-right:1.5rem!important}.ngs .me-sm-5{margin-right:3rem!important}.ngs .me-sm-auto{margin-right:auto!important}.ngs .mb-sm-0{margin-bottom:0!important}.ngs .mb-sm-1{margin-bottom:.25rem!important}.ngs .mb-sm-2{margin-bottom:.5rem!important}.ngs .mb-sm-3{margin-bottom:1rem!important}.ngs .mb-sm-4{margin-bottom:1.5rem!important}.ngs .mb-sm-5{margin-bottom:3rem!important}.ngs .mb-sm-auto{margin-bottom:auto!important}.ngs .ms-sm-0{margin-left:0!important}.ngs .ms-sm-1{margin-left:.25rem!important}.ngs .ms-sm-2{margin-left:.5rem!important}.ngs .ms-sm-3{margin-left:1rem!important}.ngs .ms-sm-4{margin-left:1.5rem!important}.ngs .ms-sm-5{margin-left:3rem!important}.ngs .ms-sm-auto{margin-left:auto!important}.ngs .p-sm-0{padding:0!important}.ngs .p-sm-1{padding:.25rem!important}.ngs .p-sm-2{padding:.5rem!important}.ngs .p-sm-3{padding:1rem!important}.ngs .p-sm-4{padding:1.5rem!important}.ngs .p-sm-5{padding:3rem!important}.ngs .px-sm-0{padding-right:0!important;padding-left:0!important}.ngs .px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-sm-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-sm-0{padding-top:0!important}.ngs .pt-sm-1{padding-top:.25rem!important}.ngs .pt-sm-2{padding-top:.5rem!important}.ngs .pt-sm-3{padding-top:1rem!important}.ngs .pt-sm-4{padding-top:1.5rem!important}.ngs .pt-sm-5{padding-top:3rem!important}.ngs .pe-sm-0{padding-right:0!important}.ngs .pe-sm-1{padding-right:.25rem!important}.ngs .pe-sm-2{padding-right:.5rem!important}.ngs .pe-sm-3{padding-right:1rem!important}.ngs .pe-sm-4{padding-right:1.5rem!important}.ngs .pe-sm-5{padding-right:3rem!important}.ngs .pb-sm-0{padding-bottom:0!important}.ngs .pb-sm-1{padding-bottom:.25rem!important}.ngs .pb-sm-2{padding-bottom:.5rem!important}.ngs .pb-sm-3{padding-bottom:1rem!important}.ngs .pb-sm-4{padding-bottom:1.5rem!important}.ngs .pb-sm-5{padding-bottom:3rem!important}.ngs .ps-sm-0{padding-left:0!important}.ngs .ps-sm-1{padding-left:.25rem!important}.ngs .ps-sm-2{padding-left:.5rem!important}.ngs .ps-sm-3{padding-left:1rem!important}.ngs .ps-sm-4{padding-left:1.5rem!important}.ngs .ps-sm-5{padding-left:3rem!important}}@media (min-width: 768px){.ngs .d-md-inline{display:inline!important}.ngs .d-md-inline-block{display:inline-block!important}.ngs .d-md-block{display:block!important}.ngs .d-md-grid{display:grid!important}.ngs .d-md-inline-grid{display:inline-grid!important}.ngs .d-md-table{display:table!important}.ngs .d-md-table-row{display:table-row!important}.ngs .d-md-table-cell{display:table-cell!important}.ngs .d-md-flex{display:flex!important}.ngs .d-md-inline-flex{display:inline-flex!important}.ngs .d-md-none{display:none!important}.ngs .flex-md-fill{flex:1 1 auto!important}.ngs .flex-md-row{flex-direction:row!important}.ngs .flex-md-column{flex-direction:column!important}.ngs .flex-md-row-reverse{flex-direction:row-reverse!important}.ngs .flex-md-column-reverse{flex-direction:column-reverse!important}.ngs .flex-md-grow-0{flex-grow:0!important}.ngs .flex-md-grow-1{flex-grow:1!important}.ngs .flex-md-shrink-0{flex-shrink:0!important}.ngs .flex-md-shrink-1{flex-shrink:1!important}.ngs .flex-md-wrap{flex-wrap:wrap!important}.ngs .flex-md-nowrap{flex-wrap:nowrap!important}.ngs .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-md-start{justify-content:flex-start!important}.ngs .justify-content-md-end{justify-content:flex-end!important}.ngs .justify-content-md-center{justify-content:center!important}.ngs .justify-content-md-between{justify-content:space-between!important}.ngs .justify-content-md-around{justify-content:space-around!important}.ngs .justify-content-md-evenly{justify-content:space-evenly!important}.ngs .align-items-md-start{align-items:flex-start!important}.ngs .align-items-md-end{align-items:flex-end!important}.ngs .align-items-md-center{align-items:center!important}.ngs .align-items-md-baseline{align-items:baseline!important}.ngs .align-items-md-stretch{align-items:stretch!important}.ngs .align-content-md-start{align-content:flex-start!important}.ngs .align-content-md-end{align-content:flex-end!important}.ngs .align-content-md-center{align-content:center!important}.ngs .align-content-md-between{align-content:space-between!important}.ngs .align-content-md-around{align-content:space-around!important}.ngs .align-content-md-stretch{align-content:stretch!important}.ngs .align-self-md-auto{align-self:auto!important}.ngs .align-self-md-start{align-self:flex-start!important}.ngs .align-self-md-end{align-self:flex-end!important}.ngs .align-self-md-center{align-self:center!important}.ngs .align-self-md-baseline{align-self:baseline!important}.ngs .align-self-md-stretch{align-self:stretch!important}.ngs .order-md-first{order:-1!important}.ngs .order-md-0{order:0!important}.ngs .order-md-1{order:1!important}.ngs .order-md-2{order:2!important}.ngs .order-md-3{order:3!important}.ngs .order-md-4{order:4!important}.ngs .order-md-5{order:5!important}.ngs .order-md-last{order:6!important}.ngs .m-md-0{margin:0!important}.ngs .m-md-1{margin:.25rem!important}.ngs .m-md-2{margin:.5rem!important}.ngs .m-md-3{margin:1rem!important}.ngs .m-md-4{margin:1.5rem!important}.ngs .m-md-5{margin:3rem!important}.ngs .m-md-auto{margin:auto!important}.ngs .mx-md-0{margin-right:0!important;margin-left:0!important}.ngs .mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-md-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-md-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-md-0{margin-top:0!important}.ngs .mt-md-1{margin-top:.25rem!important}.ngs .mt-md-2{margin-top:.5rem!important}.ngs .mt-md-3{margin-top:1rem!important}.ngs .mt-md-4{margin-top:1.5rem!important}.ngs .mt-md-5{margin-top:3rem!important}.ngs .mt-md-auto{margin-top:auto!important}.ngs .me-md-0{margin-right:0!important}.ngs .me-md-1{margin-right:.25rem!important}.ngs .me-md-2{margin-right:.5rem!important}.ngs .me-md-3{margin-right:1rem!important}.ngs .me-md-4{margin-right:1.5rem!important}.ngs .me-md-5{margin-right:3rem!important}.ngs .me-md-auto{margin-right:auto!important}.ngs .mb-md-0{margin-bottom:0!important}.ngs .mb-md-1{margin-bottom:.25rem!important}.ngs .mb-md-2{margin-bottom:.5rem!important}.ngs .mb-md-3{margin-bottom:1rem!important}.ngs .mb-md-4{margin-bottom:1.5rem!important}.ngs .mb-md-5{margin-bottom:3rem!important}.ngs .mb-md-auto{margin-bottom:auto!important}.ngs .ms-md-0{margin-left:0!important}.ngs .ms-md-1{margin-left:.25rem!important}.ngs .ms-md-2{margin-left:.5rem!important}.ngs .ms-md-3{margin-left:1rem!important}.ngs .ms-md-4{margin-left:1.5rem!important}.ngs .ms-md-5{margin-left:3rem!important}.ngs .ms-md-auto{margin-left:auto!important}.ngs .p-md-0{padding:0!important}.ngs .p-md-1{padding:.25rem!important}.ngs .p-md-2{padding:.5rem!important}.ngs .p-md-3{padding:1rem!important}.ngs .p-md-4{padding:1.5rem!important}.ngs .p-md-5{padding:3rem!important}.ngs .px-md-0{padding-right:0!important;padding-left:0!important}.ngs .px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-md-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-md-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-md-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-md-0{padding-top:0!important}.ngs .pt-md-1{padding-top:.25rem!important}.ngs .pt-md-2{padding-top:.5rem!important}.ngs .pt-md-3{padding-top:1rem!important}.ngs .pt-md-4{padding-top:1.5rem!important}.ngs .pt-md-5{padding-top:3rem!important}.ngs .pe-md-0{padding-right:0!important}.ngs .pe-md-1{padding-right:.25rem!important}.ngs .pe-md-2{padding-right:.5rem!important}.ngs .pe-md-3{padding-right:1rem!important}.ngs .pe-md-4{padding-right:1.5rem!important}.ngs .pe-md-5{padding-right:3rem!important}.ngs .pb-md-0{padding-bottom:0!important}.ngs .pb-md-1{padding-bottom:.25rem!important}.ngs .pb-md-2{padding-bottom:.5rem!important}.ngs .pb-md-3{padding-bottom:1rem!important}.ngs .pb-md-4{padding-bottom:1.5rem!important}.ngs .pb-md-5{padding-bottom:3rem!important}.ngs .ps-md-0{padding-left:0!important}.ngs .ps-md-1{padding-left:.25rem!important}.ngs .ps-md-2{padding-left:.5rem!important}.ngs .ps-md-3{padding-left:1rem!important}.ngs .ps-md-4{padding-left:1.5rem!important}.ngs .ps-md-5{padding-left:3rem!important}}@media (min-width: 992px){.ngs .d-lg-inline{display:inline!important}.ngs .d-lg-inline-block{display:inline-block!important}.ngs .d-lg-block{display:block!important}.ngs .d-lg-grid{display:grid!important}.ngs .d-lg-inline-grid{display:inline-grid!important}.ngs .d-lg-table{display:table!important}.ngs .d-lg-table-row{display:table-row!important}.ngs .d-lg-table-cell{display:table-cell!important}.ngs .d-lg-flex{display:flex!important}.ngs .d-lg-inline-flex{display:inline-flex!important}.ngs .d-lg-none{display:none!important}.ngs .flex-lg-fill{flex:1 1 auto!important}.ngs .flex-lg-row{flex-direction:row!important}.ngs .flex-lg-column{flex-direction:column!important}.ngs .flex-lg-row-reverse{flex-direction:row-reverse!important}.ngs .flex-lg-column-reverse{flex-direction:column-reverse!important}.ngs .flex-lg-grow-0{flex-grow:0!important}.ngs .flex-lg-grow-1{flex-grow:1!important}.ngs .flex-lg-shrink-0{flex-shrink:0!important}.ngs .flex-lg-shrink-1{flex-shrink:1!important}.ngs .flex-lg-wrap{flex-wrap:wrap!important}.ngs .flex-lg-nowrap{flex-wrap:nowrap!important}.ngs .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-lg-start{justify-content:flex-start!important}.ngs .justify-content-lg-end{justify-content:flex-end!important}.ngs .justify-content-lg-center{justify-content:center!important}.ngs .justify-content-lg-between{justify-content:space-between!important}.ngs .justify-content-lg-around{justify-content:space-around!important}.ngs .justify-content-lg-evenly{justify-content:space-evenly!important}.ngs .align-items-lg-start{align-items:flex-start!important}.ngs .align-items-lg-end{align-items:flex-end!important}.ngs .align-items-lg-center{align-items:center!important}.ngs .align-items-lg-baseline{align-items:baseline!important}.ngs .align-items-lg-stretch{align-items:stretch!important}.ngs .align-content-lg-start{align-content:flex-start!important}.ngs .align-content-lg-end{align-content:flex-end!important}.ngs .align-content-lg-center{align-content:center!important}.ngs .align-content-lg-between{align-content:space-between!important}.ngs .align-content-lg-around{align-content:space-around!important}.ngs .align-content-lg-stretch{align-content:stretch!important}.ngs .align-self-lg-auto{align-self:auto!important}.ngs .align-self-lg-start{align-self:flex-start!important}.ngs .align-self-lg-end{align-self:flex-end!important}.ngs .align-self-lg-center{align-self:center!important}.ngs .align-self-lg-baseline{align-self:baseline!important}.ngs .align-self-lg-stretch{align-self:stretch!important}.ngs .order-lg-first{order:-1!important}.ngs .order-lg-0{order:0!important}.ngs .order-lg-1{order:1!important}.ngs .order-lg-2{order:2!important}.ngs .order-lg-3{order:3!important}.ngs .order-lg-4{order:4!important}.ngs .order-lg-5{order:5!important}.ngs .order-lg-last{order:6!important}.ngs .m-lg-0{margin:0!important}.ngs .m-lg-1{margin:.25rem!important}.ngs .m-lg-2{margin:.5rem!important}.ngs .m-lg-3{margin:1rem!important}.ngs .m-lg-4{margin:1.5rem!important}.ngs .m-lg-5{margin:3rem!important}.ngs .m-lg-auto{margin:auto!important}.ngs .mx-lg-0{margin-right:0!important;margin-left:0!important}.ngs .mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-lg-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-lg-0{margin-top:0!important}.ngs .mt-lg-1{margin-top:.25rem!important}.ngs .mt-lg-2{margin-top:.5rem!important}.ngs .mt-lg-3{margin-top:1rem!important}.ngs .mt-lg-4{margin-top:1.5rem!important}.ngs .mt-lg-5{margin-top:3rem!important}.ngs .mt-lg-auto{margin-top:auto!important}.ngs .me-lg-0{margin-right:0!important}.ngs .me-lg-1{margin-right:.25rem!important}.ngs .me-lg-2{margin-right:.5rem!important}.ngs .me-lg-3{margin-right:1rem!important}.ngs .me-lg-4{margin-right:1.5rem!important}.ngs .me-lg-5{margin-right:3rem!important}.ngs .me-lg-auto{margin-right:auto!important}.ngs .mb-lg-0{margin-bottom:0!important}.ngs .mb-lg-1{margin-bottom:.25rem!important}.ngs .mb-lg-2{margin-bottom:.5rem!important}.ngs .mb-lg-3{margin-bottom:1rem!important}.ngs .mb-lg-4{margin-bottom:1.5rem!important}.ngs .mb-lg-5{margin-bottom:3rem!important}.ngs .mb-lg-auto{margin-bottom:auto!important}.ngs .ms-lg-0{margin-left:0!important}.ngs .ms-lg-1{margin-left:.25rem!important}.ngs .ms-lg-2{margin-left:.5rem!important}.ngs .ms-lg-3{margin-left:1rem!important}.ngs .ms-lg-4{margin-left:1.5rem!important}.ngs .ms-lg-5{margin-left:3rem!important}.ngs .ms-lg-auto{margin-left:auto!important}.ngs .p-lg-0{padding:0!important}.ngs .p-lg-1{padding:.25rem!important}.ngs .p-lg-2{padding:.5rem!important}.ngs .p-lg-3{padding:1rem!important}.ngs .p-lg-4{padding:1.5rem!important}.ngs .p-lg-5{padding:3rem!important}.ngs .px-lg-0{padding-right:0!important;padding-left:0!important}.ngs .px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-lg-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-lg-0{padding-top:0!important}.ngs .pt-lg-1{padding-top:.25rem!important}.ngs .pt-lg-2{padding-top:.5rem!important}.ngs .pt-lg-3{padding-top:1rem!important}.ngs .pt-lg-4{padding-top:1.5rem!important}.ngs .pt-lg-5{padding-top:3rem!important}.ngs .pe-lg-0{padding-right:0!important}.ngs .pe-lg-1{padding-right:.25rem!important}.ngs .pe-lg-2{padding-right:.5rem!important}.ngs .pe-lg-3{padding-right:1rem!important}.ngs .pe-lg-4{padding-right:1.5rem!important}.ngs .pe-lg-5{padding-right:3rem!important}.ngs .pb-lg-0{padding-bottom:0!important}.ngs .pb-lg-1{padding-bottom:.25rem!important}.ngs .pb-lg-2{padding-bottom:.5rem!important}.ngs .pb-lg-3{padding-bottom:1rem!important}.ngs .pb-lg-4{padding-bottom:1.5rem!important}.ngs .pb-lg-5{padding-bottom:3rem!important}.ngs .ps-lg-0{padding-left:0!important}.ngs .ps-lg-1{padding-left:.25rem!important}.ngs .ps-lg-2{padding-left:.5rem!important}.ngs .ps-lg-3{padding-left:1rem!important}.ngs .ps-lg-4{padding-left:1.5rem!important}.ngs .ps-lg-5{padding-left:3rem!important}}@media (min-width: 1200px){.ngs .d-xl-inline{display:inline!important}.ngs .d-xl-inline-block{display:inline-block!important}.ngs .d-xl-block{display:block!important}.ngs .d-xl-grid{display:grid!important}.ngs .d-xl-inline-grid{display:inline-grid!important}.ngs .d-xl-table{display:table!important}.ngs .d-xl-table-row{display:table-row!important}.ngs .d-xl-table-cell{display:table-cell!important}.ngs .d-xl-flex{display:flex!important}.ngs .d-xl-inline-flex{display:inline-flex!important}.ngs .d-xl-none{display:none!important}.ngs .flex-xl-fill{flex:1 1 auto!important}.ngs .flex-xl-row{flex-direction:row!important}.ngs .flex-xl-column{flex-direction:column!important}.ngs .flex-xl-row-reverse{flex-direction:row-reverse!important}.ngs .flex-xl-column-reverse{flex-direction:column-reverse!important}.ngs .flex-xl-grow-0{flex-grow:0!important}.ngs .flex-xl-grow-1{flex-grow:1!important}.ngs .flex-xl-shrink-0{flex-shrink:0!important}.ngs .flex-xl-shrink-1{flex-shrink:1!important}.ngs .flex-xl-wrap{flex-wrap:wrap!important}.ngs .flex-xl-nowrap{flex-wrap:nowrap!important}.ngs .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-xl-start{justify-content:flex-start!important}.ngs .justify-content-xl-end{justify-content:flex-end!important}.ngs .justify-content-xl-center{justify-content:center!important}.ngs .justify-content-xl-between{justify-content:space-between!important}.ngs .justify-content-xl-around{justify-content:space-around!important}.ngs .justify-content-xl-evenly{justify-content:space-evenly!important}.ngs .align-items-xl-start{align-items:flex-start!important}.ngs .align-items-xl-end{align-items:flex-end!important}.ngs .align-items-xl-center{align-items:center!important}.ngs .align-items-xl-baseline{align-items:baseline!important}.ngs .align-items-xl-stretch{align-items:stretch!important}.ngs .align-content-xl-start{align-content:flex-start!important}.ngs .align-content-xl-end{align-content:flex-end!important}.ngs .align-content-xl-center{align-content:center!important}.ngs .align-content-xl-between{align-content:space-between!important}.ngs .align-content-xl-around{align-content:space-around!important}.ngs .align-content-xl-stretch{align-content:stretch!important}.ngs .align-self-xl-auto{align-self:auto!important}.ngs .align-self-xl-start{align-self:flex-start!important}.ngs .align-self-xl-end{align-self:flex-end!important}.ngs .align-self-xl-center{align-self:center!important}.ngs .align-self-xl-baseline{align-self:baseline!important}.ngs .align-self-xl-stretch{align-self:stretch!important}.ngs .order-xl-first{order:-1!important}.ngs .order-xl-0{order:0!important}.ngs .order-xl-1{order:1!important}.ngs .order-xl-2{order:2!important}.ngs .order-xl-3{order:3!important}.ngs .order-xl-4{order:4!important}.ngs .order-xl-5{order:5!important}.ngs .order-xl-last{order:6!important}.ngs .m-xl-0{margin:0!important}.ngs .m-xl-1{margin:.25rem!important}.ngs .m-xl-2{margin:.5rem!important}.ngs .m-xl-3{margin:1rem!important}.ngs .m-xl-4{margin:1.5rem!important}.ngs .m-xl-5{margin:3rem!important}.ngs .m-xl-auto{margin:auto!important}.ngs .mx-xl-0{margin-right:0!important;margin-left:0!important}.ngs .mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-xl-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-xl-0{margin-top:0!important}.ngs .mt-xl-1{margin-top:.25rem!important}.ngs .mt-xl-2{margin-top:.5rem!important}.ngs .mt-xl-3{margin-top:1rem!important}.ngs .mt-xl-4{margin-top:1.5rem!important}.ngs .mt-xl-5{margin-top:3rem!important}.ngs .mt-xl-auto{margin-top:auto!important}.ngs .me-xl-0{margin-right:0!important}.ngs .me-xl-1{margin-right:.25rem!important}.ngs .me-xl-2{margin-right:.5rem!important}.ngs .me-xl-3{margin-right:1rem!important}.ngs .me-xl-4{margin-right:1.5rem!important}.ngs .me-xl-5{margin-right:3rem!important}.ngs .me-xl-auto{margin-right:auto!important}.ngs .mb-xl-0{margin-bottom:0!important}.ngs .mb-xl-1{margin-bottom:.25rem!important}.ngs .mb-xl-2{margin-bottom:.5rem!important}.ngs .mb-xl-3{margin-bottom:1rem!important}.ngs .mb-xl-4{margin-bottom:1.5rem!important}.ngs .mb-xl-5{margin-bottom:3rem!important}.ngs .mb-xl-auto{margin-bottom:auto!important}.ngs .ms-xl-0{margin-left:0!important}.ngs .ms-xl-1{margin-left:.25rem!important}.ngs .ms-xl-2{margin-left:.5rem!important}.ngs .ms-xl-3{margin-left:1rem!important}.ngs .ms-xl-4{margin-left:1.5rem!important}.ngs .ms-xl-5{margin-left:3rem!important}.ngs .ms-xl-auto{margin-left:auto!important}.ngs .p-xl-0{padding:0!important}.ngs .p-xl-1{padding:.25rem!important}.ngs .p-xl-2{padding:.5rem!important}.ngs .p-xl-3{padding:1rem!important}.ngs .p-xl-4{padding:1.5rem!important}.ngs .p-xl-5{padding:3rem!important}.ngs .px-xl-0{padding-right:0!important;padding-left:0!important}.ngs .px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-xl-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-xl-0{padding-top:0!important}.ngs .pt-xl-1{padding-top:.25rem!important}.ngs .pt-xl-2{padding-top:.5rem!important}.ngs .pt-xl-3{padding-top:1rem!important}.ngs .pt-xl-4{padding-top:1.5rem!important}.ngs .pt-xl-5{padding-top:3rem!important}.ngs .pe-xl-0{padding-right:0!important}.ngs .pe-xl-1{padding-right:.25rem!important}.ngs .pe-xl-2{padding-right:.5rem!important}.ngs .pe-xl-3{padding-right:1rem!important}.ngs .pe-xl-4{padding-right:1.5rem!important}.ngs .pe-xl-5{padding-right:3rem!important}.ngs .pb-xl-0{padding-bottom:0!important}.ngs .pb-xl-1{padding-bottom:.25rem!important}.ngs .pb-xl-2{padding-bottom:.5rem!important}.ngs .pb-xl-3{padding-bottom:1rem!important}.ngs .pb-xl-4{padding-bottom:1.5rem!important}.ngs .pb-xl-5{padding-bottom:3rem!important}.ngs .ps-xl-0{padding-left:0!important}.ngs .ps-xl-1{padding-left:.25rem!important}.ngs .ps-xl-2{padding-left:.5rem!important}.ngs .ps-xl-3{padding-left:1rem!important}.ngs .ps-xl-4{padding-left:1.5rem!important}.ngs .ps-xl-5{padding-left:3rem!important}}@media (min-width: 1400px){.ngs .d-xxl-inline{display:inline!important}.ngs .d-xxl-inline-block{display:inline-block!important}.ngs .d-xxl-block{display:block!important}.ngs .d-xxl-grid{display:grid!important}.ngs .d-xxl-inline-grid{display:inline-grid!important}.ngs .d-xxl-table{display:table!important}.ngs .d-xxl-table-row{display:table-row!important}.ngs .d-xxl-table-cell{display:table-cell!important}.ngs .d-xxl-flex{display:flex!important}.ngs .d-xxl-inline-flex{display:inline-flex!important}.ngs .d-xxl-none{display:none!important}.ngs .flex-xxl-fill{flex:1 1 auto!important}.ngs .flex-xxl-row{flex-direction:row!important}.ngs .flex-xxl-column{flex-direction:column!important}.ngs .flex-xxl-row-reverse{flex-direction:row-reverse!important}.ngs .flex-xxl-column-reverse{flex-direction:column-reverse!important}.ngs .flex-xxl-grow-0{flex-grow:0!important}.ngs .flex-xxl-grow-1{flex-grow:1!important}.ngs .flex-xxl-shrink-0{flex-shrink:0!important}.ngs .flex-xxl-shrink-1{flex-shrink:1!important}.ngs .flex-xxl-wrap{flex-wrap:wrap!important}.ngs .flex-xxl-nowrap{flex-wrap:nowrap!important}.ngs .flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-xxl-start{justify-content:flex-start!important}.ngs .justify-content-xxl-end{justify-content:flex-end!important}.ngs .justify-content-xxl-center{justify-content:center!important}.ngs .justify-content-xxl-between{justify-content:space-between!important}.ngs .justify-content-xxl-around{justify-content:space-around!important}.ngs .justify-content-xxl-evenly{justify-content:space-evenly!important}.ngs .align-items-xxl-start{align-items:flex-start!important}.ngs .align-items-xxl-end{align-items:flex-end!important}.ngs .align-items-xxl-center{align-items:center!important}.ngs .align-items-xxl-baseline{align-items:baseline!important}.ngs .align-items-xxl-stretch{align-items:stretch!important}.ngs .align-content-xxl-start{align-content:flex-start!important}.ngs .align-content-xxl-end{align-content:flex-end!important}.ngs .align-content-xxl-center{align-content:center!important}.ngs .align-content-xxl-between{align-content:space-between!important}.ngs .align-content-xxl-around{align-content:space-around!important}.ngs .align-content-xxl-stretch{align-content:stretch!important}.ngs .align-self-xxl-auto{align-self:auto!important}.ngs .align-self-xxl-start{align-self:flex-start!important}.ngs .align-self-xxl-end{align-self:flex-end!important}.ngs .align-self-xxl-center{align-self:center!important}.ngs .align-self-xxl-baseline{align-self:baseline!important}.ngs .align-self-xxl-stretch{align-self:stretch!important}.ngs .order-xxl-first{order:-1!important}.ngs .order-xxl-0{order:0!important}.ngs .order-xxl-1{order:1!important}.ngs .order-xxl-2{order:2!important}.ngs .order-xxl-3{order:3!important}.ngs .order-xxl-4{order:4!important}.ngs .order-xxl-5{order:5!important}.ngs .order-xxl-last{order:6!important}.ngs .m-xxl-0{margin:0!important}.ngs .m-xxl-1{margin:.25rem!important}.ngs .m-xxl-2{margin:.5rem!important}.ngs .m-xxl-3{margin:1rem!important}.ngs .m-xxl-4{margin:1.5rem!important}.ngs .m-xxl-5{margin:3rem!important}.ngs .m-xxl-auto{margin:auto!important}.ngs .mx-xxl-0{margin-right:0!important;margin-left:0!important}.ngs .mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-xxl-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-xxl-0{margin-top:0!important}.ngs .mt-xxl-1{margin-top:.25rem!important}.ngs .mt-xxl-2{margin-top:.5rem!important}.ngs .mt-xxl-3{margin-top:1rem!important}.ngs .mt-xxl-4{margin-top:1.5rem!important}.ngs .mt-xxl-5{margin-top:3rem!important}.ngs .mt-xxl-auto{margin-top:auto!important}.ngs .me-xxl-0{margin-right:0!important}.ngs .me-xxl-1{margin-right:.25rem!important}.ngs .me-xxl-2{margin-right:.5rem!important}.ngs .me-xxl-3{margin-right:1rem!important}.ngs .me-xxl-4{margin-right:1.5rem!important}.ngs .me-xxl-5{margin-right:3rem!important}.ngs .me-xxl-auto{margin-right:auto!important}.ngs .mb-xxl-0{margin-bottom:0!important}.ngs .mb-xxl-1{margin-bottom:.25rem!important}.ngs .mb-xxl-2{margin-bottom:.5rem!important}.ngs .mb-xxl-3{margin-bottom:1rem!important}.ngs .mb-xxl-4{margin-bottom:1.5rem!important}.ngs .mb-xxl-5{margin-bottom:3rem!important}.ngs .mb-xxl-auto{margin-bottom:auto!important}.ngs .ms-xxl-0{margin-left:0!important}.ngs .ms-xxl-1{margin-left:.25rem!important}.ngs .ms-xxl-2{margin-left:.5rem!important}.ngs .ms-xxl-3{margin-left:1rem!important}.ngs .ms-xxl-4{margin-left:1.5rem!important}.ngs .ms-xxl-5{margin-left:3rem!important}.ngs .ms-xxl-auto{margin-left:auto!important}.ngs .p-xxl-0{padding:0!important}.ngs .p-xxl-1{padding:.25rem!important}.ngs .p-xxl-2{padding:.5rem!important}.ngs .p-xxl-3{padding:1rem!important}.ngs .p-xxl-4{padding:1.5rem!important}.ngs .p-xxl-5{padding:3rem!important}.ngs .px-xxl-0{padding-right:0!important;padding-left:0!important}.ngs .px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-xxl-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-xxl-0{padding-top:0!important}.ngs .pt-xxl-1{padding-top:.25rem!important}.ngs .pt-xxl-2{padding-top:.5rem!important}.ngs .pt-xxl-3{padding-top:1rem!important}.ngs .pt-xxl-4{padding-top:1.5rem!important}.ngs .pt-xxl-5{padding-top:3rem!important}.ngs .pe-xxl-0{padding-right:0!important}.ngs .pe-xxl-1{padding-right:.25rem!important}.ngs .pe-xxl-2{padding-right:.5rem!important}.ngs .pe-xxl-3{padding-right:1rem!important}.ngs .pe-xxl-4{padding-right:1.5rem!important}.ngs .pe-xxl-5{padding-right:3rem!important}.ngs .pb-xxl-0{padding-bottom:0!important}.ngs .pb-xxl-1{padding-bottom:.25rem!important}.ngs .pb-xxl-2{padding-bottom:.5rem!important}.ngs .pb-xxl-3{padding-bottom:1rem!important}.ngs .pb-xxl-4{padding-bottom:1.5rem!important}.ngs .pb-xxl-5{padding-bottom:3rem!important}.ngs .ps-xxl-0{padding-left:0!important}.ngs .ps-xxl-1{padding-left:.25rem!important}.ngs .ps-xxl-2{padding-left:.5rem!important}.ngs .ps-xxl-3{padding-left:1rem!important}.ngs .ps-xxl-4{padding-left:1.5rem!important}.ngs .ps-xxl-5{padding-left:3rem!important}}@media print{.ngs .d-print-inline{display:inline!important}.ngs .d-print-inline-block{display:inline-block!important}.ngs .d-print-block{display:block!important}.ngs .d-print-grid{display:grid!important}.ngs .d-print-inline-grid{display:inline-grid!important}.ngs .d-print-table{display:table!important}.ngs .d-print-table-row{display:table-row!important}.ngs .d-print-table-cell{display:table-cell!important}.ngs .d-print-flex{display:flex!important}.ngs .d-print-inline-flex{display:inline-flex!important}.ngs .d-print-none{display:none!important}}\n", ".prevSection button{padding:5px 10px;float:left;margin-left:0}.nextSection button{padding:5px 10px;float:right;margin-left:0}.separator-horizontal{width:1px;height:100%;background-color:#d6cece;margin:0 auto}.content-element-form{position:relative;padding-bottom:70px}.section-navs{width:100%;position:absolute;bottom:0;background-color:#f2f6fc;padding:10px;flex-direction:row-reverse}.sirio-nav-item a{cursor:pointer}.form-title{margin-bottom:15px}@media (max-width: 991px){.content-element-form{width:100%!important}}ngx-sirio-input-chip{margin-right:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: RegisterDirective, selector: "[register]", inputs: ["register", "componentRef"] }, { kind: "directive", type: DisableFormDirective, selector: "[disableForm]", inputs: ["disableForm"] }, { kind: "component", type: SirioSidenavMobileComponent, selector: "ngx-sirio-sidenav-mobile", inputs: ["openMenuLabel", "openMenuLabelSubtitile", "openMenuAriaLabel", "closeMenuLabel", "closeMenuAriaLabel", "closeMenuLabelSubtitile", "userProfileLabel", "userProfileType", "userProfileName", "userProfileSurname", "showUserInfo", "opened"] }, { kind: "component", type: SirioSidenavComponent, selector: "ngx-sirio-sidenav", inputs: ["sidenavTitle", "ariaLabel"] }, { kind: "component", type: SirioSidenavItemComponent, selector: "ngx-sirio-sidenav-item", inputs: ["labelTrigger", "isCustomNavItem", "isTrigger", "routerLinkUrl", "routerLinkFragment", "routerLinkQueryParams", "routerLinkQueryParamsHandling", "routerLinkState", "routerLinkRelativeTo", "routerLinkPreserveFragment", "routerLinkReplaceUrl", "href", "hrefTarget", "ariaLabelDesc", "isOpen", "isActive", "withTag", "tagType", "tagValue", "disabledState"] }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioStepperProgressBarComponent, selector: "ngx-sirio-stepper-progress-bar", inputs: ["ariaLabel", "hasDropdown", "dropDownLabel", "dropDownText"], outputs: ["eventClick"] }, { kind: "component", type: SirioStepperProgressItemComponent, selector: "ngx-sirio-stepper-progress-item", inputs: ["status", "hasNavigation", "screenReaderText", "label"] }, { kind: "component", type: DynamicFieldsComponent, selector: "app-dynamic-fields", inputs: ["rows", "formGroup", "language"] }], encapsulation: i0.ViewEncapsulation.None });
4899
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormComponent, deps: [{ token: i1$1.FormBuilder }, { token: ProgrammabilityService }, { token: EventService }, { token: RegisterService }, { token: MetadataService }, { token: DialogService }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
4900
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DynamicFormComponent, isStandalone: true, selector: "app-dynamic-form", inputs: { schema: "schema", formGroup: "formGroup", value: "value", strict: "strict", showNav: "showNav", showNavButton: "showNavButton", showProgress: "showProgress", showFormTitle: "showFormTitle", progressStatus: "progressStatus", activeNav: "activeNav", language: "language" }, outputs: { valueChange: "valueChange", initialized: "initialized", onCommand: "onCommand", activeNavChange: "activeNavChange" }, providers: [
4901
+ EventService,
4902
+ ProgrammabilityService,
4903
+ RegisterService,
4904
+ MetadataService,
4905
+ FunctionService
4906
+ ], viewQueries: [{ propertyName: "formDiv", first: true, predicate: ["default"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<form [formGroup]=\"formGroup\" class=\"ngs\">\r\n\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n\r\n <!-- #region progress -->\r\n <ngx-sirio-stepper-progress-bar *ngIf=\"showProgress\"\r\n (eventClick)=\"activateForm($event.data.label)\"\r\n [hasDropdown]=\"true\"\r\n [dropDownLabel]=\"locale(Texts, 'Show')\">\r\n <ng-container *ngFor=\"let form of forms, let formIndex = index\">\r\n <ngx-sirio-stepper-progress-item *ngIf=\"!evaluateBoolean(form.disabled)\"\r\n [hasNavigation]=\"true\"\r\n [status]=\"getFormStatus(form,formIndex)\"\r\n [label]=\"evaluateTemplate(locale(form, 'title'))\" />\r\n </ng-container>\r\n </ngx-sirio-stepper-progress-bar>\r\n <!-- #endregion -->\r\n\r\n <!-- #region form disable -->\r\n <ng-container *ngFor=\"let form of forms\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(form.disabled),\r\n formGroup: formGroup,\r\n path: form.path\r\n }\">\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <ng-container *ngIf=\"showNav\">\r\n\r\n <div class=\"col-md-4\">\r\n\r\n <!-- #region sidenav -->\r\n <ng-template #sidenavTemplate>\r\n <ngx-sirio-sidenav>\r\n <ng-container *ngFor=\"let form of forms, let sectionIndex = index\">\r\n <ng-container *ngIf=\"!evaluateBoolean(form.disabled)\">\r\n <ngx-sirio-sidenav-item [isActive]=\"activeNav == sectionIndex\"\r\n (click)=\"activeNav = sectionIndex\"\r\n (keydown.enter)=\"activeNav = sectionIndex\"\r\n tabindex=\"0\">\r\n {{ evaluateTemplate(locale(form, 'title')) }}\r\n </ngx-sirio-sidenav-item>\r\n </ng-container>\r\n </ng-container>\r\n </ngx-sirio-sidenav>\r\n </ng-template>\r\n\r\n <ngx-sirio-sidenav-mobile class=\"d-block d-lg-none\"\r\n [openMenuLabel]=\"locale(Texts, 'OpenMenu')\"\r\n [openMenuAriaLabel]=\"locale(Texts, 'OpenMenu')\"\r\n [closeMenuLabel]=\"locale(Texts, 'CloseMenu')\"\r\n closeMenuAriaLabel=\"locale(Texts, 'CloseMenu')\">\r\n <ng-container *ngTemplateOutlet=\"sidenavTemplate\"></ng-container>\r\n </ngx-sirio-sidenav-mobile>\r\n <div class=\"d-none d-lg-block\">\r\n <ng-container *ngTemplateOutlet=\"sidenavTemplate\"></ng-container>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n </div>\r\n\r\n <div class=\"col-md-1\">\r\n <div class=\"separator-horizontal\"></div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n <div class=\"content-element-form\" [ngClass]=\"showNav ? 'col-md-11' : 'col-md-16'\">\r\n\r\n <ng-container *ngFor=\"let form of forms, let sectionIndex = index\">\r\n <div *ngIf=\"activeNav == sectionIndex && !evaluateBoolean(form.disabled)\"\r\n #default\r\n [register]=\"form\"\r\n [componentRef]=\"default\">\r\n <h1 *ngIf=\"showFormTitle && form.title\" class=\"h3 form-title\">{{ evaluateTemplate(locale(form, 'title')) }}</h1>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(form.path)\"\r\n [rows]=\"form.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"showNavButton && (canNext() || canPrevious())\">\r\n\r\n <div class=\"row section-navs\">\r\n <div class=\"col-8 col-md-8\">\r\n <ngx-sirio-button [color]=\"null\" *ngIf=\"canNext()\" (click)=\"goNext()\" class=\"nextSection\">\r\n {{ locale(Texts, 'NextSection') }}\r\n <span class=\"fa-solid fa-chevron-right\" style=\"margin-left: 10px\"></span>\r\n </ngx-sirio-button>\r\n </div>\r\n <div class=\"col-8 col-md-8\">\r\n <ngx-sirio-button [color]=\"null\" *ngIf=\"canPrevious()\" (click)=\"goPrevious()\" class=\"prevSection\">\r\n <span class=\"fa-solid fa-chevron-left\" style=\"margin-right: 10px\"></span>\r\n {{ locale(Texts, 'PreviousSection') }}\r\n </ngx-sirio-button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n</form>\r\n\r\n\r\n\r\n", styles: [".ngs .container,.ngs .container-fluid,.ngs .container-xxl,.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm{--ngsgutter-x: 1.5rem;--ngsgutter-y: 0;width:100%;padding-right:calc(var(--ngsgutter-x) * .5);padding-left:calc(var(--ngsgutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.ngs .container-sm,.ngs .container{max-width:540px}}@media (min-width: 768px){.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:720px}}@media (min-width: 992px){.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:960px}}@media (min-width: 1200px){.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:1140px}}@media (min-width: 1400px){.ngs .container-xxl,.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:1320px}}.ngs :root{--ngsbreakpoint-xs: 0;--ngsbreakpoint-sm: 576px;--ngsbreakpoint-md: 768px;--ngsbreakpoint-lg: 992px;--ngsbreakpoint-xl: 1200px;--ngsbreakpoint-xxl: 1400px}.ngs .row{--ngsgutter-x: 1.5rem;--ngsgutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--ngsgutter-y));margin-right:calc(-.5 * var(--ngsgutter-x));margin-left:calc(-.5 * var(--ngsgutter-x))}.ngs .row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--ngsgutter-x) * .5);padding-left:calc(var(--ngsgutter-x) * .5);margin-top:var(--ngsgutter-y)}.ngs .col{flex:1 0 0%}.ngs .row-cols-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-auto{flex:0 0 auto;width:auto}.ngs .col-1{flex:0 0 auto;width:6.25%}.ngs .col-2{flex:0 0 auto;width:12.5%}.ngs .col-3{flex:0 0 auto;width:18.75%}.ngs .col-4{flex:0 0 auto;width:25%}.ngs .col-5{flex:0 0 auto;width:31.25%}.ngs .col-6{flex:0 0 auto;width:37.5%}.ngs .col-7{flex:0 0 auto;width:43.75%}.ngs .col-8{flex:0 0 auto;width:50%}.ngs .col-9{flex:0 0 auto;width:56.25%}.ngs .col-10{flex:0 0 auto;width:62.5%}.ngs .col-11{flex:0 0 auto;width:68.75%}.ngs .col-12{flex:0 0 auto;width:75%}.ngs .col-13{flex:0 0 auto;width:81.25%}.ngs .col-14{flex:0 0 auto;width:87.5%}.ngs .col-15{flex:0 0 auto;width:93.75%}.ngs .col-16{flex:0 0 auto;width:100%}.ngs .offset-1{margin-left:6.25%}.ngs .offset-2{margin-left:12.5%}.ngs .offset-3{margin-left:18.75%}.ngs .offset-4{margin-left:25%}.ngs .offset-5{margin-left:31.25%}.ngs .offset-6{margin-left:37.5%}.ngs .offset-7{margin-left:43.75%}.ngs .offset-8{margin-left:50%}.ngs .offset-9{margin-left:56.25%}.ngs .offset-10{margin-left:62.5%}.ngs .offset-11{margin-left:68.75%}.ngs .offset-12{margin-left:75%}.ngs .offset-13{margin-left:81.25%}.ngs .offset-14{margin-left:87.5%}.ngs .offset-15{margin-left:93.75%}.ngs .g-0,.ngs .gx-0{--ngsgutter-x: 0}.ngs .g-0,.ngs .gy-0{--ngsgutter-y: 0}.ngs .g-1,.ngs .gx-1{--ngsgutter-x: .25rem}.ngs .g-1,.ngs .gy-1{--ngsgutter-y: .25rem}.ngs .g-2,.ngs .gx-2{--ngsgutter-x: .5rem}.ngs .g-2,.ngs .gy-2{--ngsgutter-y: .5rem}.ngs .g-3,.ngs .gx-3{--ngsgutter-x: 1rem}.ngs .g-3,.ngs .gy-3{--ngsgutter-y: 1rem}.ngs .g-4,.ngs .gx-4{--ngsgutter-x: 1.5rem}.ngs .g-4,.ngs .gy-4{--ngsgutter-y: 1.5rem}.ngs .g-5,.ngs .gx-5{--ngsgutter-x: 3rem}.ngs .g-5,.ngs .gy-5{--ngsgutter-y: 3rem}@media (min-width: 576px){.ngs .col-sm{flex:1 0 0%}.ngs .row-cols-sm-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-sm-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-sm-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-sm-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-sm-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-sm-auto{flex:0 0 auto;width:auto}.ngs .col-sm-1{flex:0 0 auto;width:6.25%}.ngs .col-sm-2{flex:0 0 auto;width:12.5%}.ngs .col-sm-3{flex:0 0 auto;width:18.75%}.ngs .col-sm-4{flex:0 0 auto;width:25%}.ngs .col-sm-5{flex:0 0 auto;width:31.25%}.ngs .col-sm-6{flex:0 0 auto;width:37.5%}.ngs .col-sm-7{flex:0 0 auto;width:43.75%}.ngs .col-sm-8{flex:0 0 auto;width:50%}.ngs .col-sm-9{flex:0 0 auto;width:56.25%}.ngs .col-sm-10{flex:0 0 auto;width:62.5%}.ngs .col-sm-11{flex:0 0 auto;width:68.75%}.ngs .col-sm-12{flex:0 0 auto;width:75%}.ngs .col-sm-13{flex:0 0 auto;width:81.25%}.ngs .col-sm-14{flex:0 0 auto;width:87.5%}.ngs .col-sm-15{flex:0 0 auto;width:93.75%}.ngs .col-sm-16{flex:0 0 auto;width:100%}.ngs .offset-sm-0{margin-left:0}.ngs .offset-sm-1{margin-left:6.25%}.ngs .offset-sm-2{margin-left:12.5%}.ngs .offset-sm-3{margin-left:18.75%}.ngs .offset-sm-4{margin-left:25%}.ngs .offset-sm-5{margin-left:31.25%}.ngs .offset-sm-6{margin-left:37.5%}.ngs .offset-sm-7{margin-left:43.75%}.ngs .offset-sm-8{margin-left:50%}.ngs .offset-sm-9{margin-left:56.25%}.ngs .offset-sm-10{margin-left:62.5%}.ngs .offset-sm-11{margin-left:68.75%}.ngs .offset-sm-12{margin-left:75%}.ngs .offset-sm-13{margin-left:81.25%}.ngs .offset-sm-14{margin-left:87.5%}.ngs .offset-sm-15{margin-left:93.75%}.ngs .g-sm-0,.ngs .gx-sm-0{--ngsgutter-x: 0}.ngs .g-sm-0,.ngs .gy-sm-0{--ngsgutter-y: 0}.ngs .g-sm-1,.ngs .gx-sm-1{--ngsgutter-x: .25rem}.ngs .g-sm-1,.ngs .gy-sm-1{--ngsgutter-y: .25rem}.ngs .g-sm-2,.ngs .gx-sm-2{--ngsgutter-x: .5rem}.ngs .g-sm-2,.ngs .gy-sm-2{--ngsgutter-y: .5rem}.ngs .g-sm-3,.ngs .gx-sm-3{--ngsgutter-x: 1rem}.ngs .g-sm-3,.ngs .gy-sm-3{--ngsgutter-y: 1rem}.ngs .g-sm-4,.ngs .gx-sm-4{--ngsgutter-x: 1.5rem}.ngs .g-sm-4,.ngs .gy-sm-4{--ngsgutter-y: 1.5rem}.ngs .g-sm-5,.ngs .gx-sm-5{--ngsgutter-x: 3rem}.ngs .g-sm-5,.ngs .gy-sm-5{--ngsgutter-y: 3rem}}@media (min-width: 768px){.ngs .col-md{flex:1 0 0%}.ngs .row-cols-md-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-md-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-md-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-md-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-md-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-md-auto{flex:0 0 auto;width:auto}.ngs .col-md-1{flex:0 0 auto;width:6.25%}.ngs .col-md-2{flex:0 0 auto;width:12.5%}.ngs .col-md-3{flex:0 0 auto;width:18.75%}.ngs .col-md-4{flex:0 0 auto;width:25%}.ngs .col-md-5{flex:0 0 auto;width:31.25%}.ngs .col-md-6{flex:0 0 auto;width:37.5%}.ngs .col-md-7{flex:0 0 auto;width:43.75%}.ngs .col-md-8{flex:0 0 auto;width:50%}.ngs .col-md-9{flex:0 0 auto;width:56.25%}.ngs .col-md-10{flex:0 0 auto;width:62.5%}.ngs .col-md-11{flex:0 0 auto;width:68.75%}.ngs .col-md-12{flex:0 0 auto;width:75%}.ngs .col-md-13{flex:0 0 auto;width:81.25%}.ngs .col-md-14{flex:0 0 auto;width:87.5%}.ngs .col-md-15{flex:0 0 auto;width:93.75%}.ngs .col-md-16{flex:0 0 auto;width:100%}.ngs .offset-md-0{margin-left:0}.ngs .offset-md-1{margin-left:6.25%}.ngs .offset-md-2{margin-left:12.5%}.ngs .offset-md-3{margin-left:18.75%}.ngs .offset-md-4{margin-left:25%}.ngs .offset-md-5{margin-left:31.25%}.ngs .offset-md-6{margin-left:37.5%}.ngs .offset-md-7{margin-left:43.75%}.ngs .offset-md-8{margin-left:50%}.ngs .offset-md-9{margin-left:56.25%}.ngs .offset-md-10{margin-left:62.5%}.ngs .offset-md-11{margin-left:68.75%}.ngs .offset-md-12{margin-left:75%}.ngs .offset-md-13{margin-left:81.25%}.ngs .offset-md-14{margin-left:87.5%}.ngs .offset-md-15{margin-left:93.75%}.ngs .g-md-0,.ngs .gx-md-0{--ngsgutter-x: 0}.ngs .g-md-0,.ngs .gy-md-0{--ngsgutter-y: 0}.ngs .g-md-1,.ngs .gx-md-1{--ngsgutter-x: .25rem}.ngs .g-md-1,.ngs .gy-md-1{--ngsgutter-y: .25rem}.ngs .g-md-2,.ngs .gx-md-2{--ngsgutter-x: .5rem}.ngs .g-md-2,.ngs .gy-md-2{--ngsgutter-y: .5rem}.ngs .g-md-3,.ngs .gx-md-3{--ngsgutter-x: 1rem}.ngs .g-md-3,.ngs .gy-md-3{--ngsgutter-y: 1rem}.ngs .g-md-4,.ngs .gx-md-4{--ngsgutter-x: 1.5rem}.ngs .g-md-4,.ngs .gy-md-4{--ngsgutter-y: 1.5rem}.ngs .g-md-5,.ngs .gx-md-5{--ngsgutter-x: 3rem}.ngs .g-md-5,.ngs .gy-md-5{--ngsgutter-y: 3rem}}@media (min-width: 992px){.ngs .col-lg{flex:1 0 0%}.ngs .row-cols-lg-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-lg-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-lg-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-lg-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-lg-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-lg-auto{flex:0 0 auto;width:auto}.ngs .col-lg-1{flex:0 0 auto;width:6.25%}.ngs .col-lg-2{flex:0 0 auto;width:12.5%}.ngs .col-lg-3{flex:0 0 auto;width:18.75%}.ngs .col-lg-4{flex:0 0 auto;width:25%}.ngs .col-lg-5{flex:0 0 auto;width:31.25%}.ngs .col-lg-6{flex:0 0 auto;width:37.5%}.ngs .col-lg-7{flex:0 0 auto;width:43.75%}.ngs .col-lg-8{flex:0 0 auto;width:50%}.ngs .col-lg-9{flex:0 0 auto;width:56.25%}.ngs .col-lg-10{flex:0 0 auto;width:62.5%}.ngs .col-lg-11{flex:0 0 auto;width:68.75%}.ngs .col-lg-12{flex:0 0 auto;width:75%}.ngs .col-lg-13{flex:0 0 auto;width:81.25%}.ngs .col-lg-14{flex:0 0 auto;width:87.5%}.ngs .col-lg-15{flex:0 0 auto;width:93.75%}.ngs .col-lg-16{flex:0 0 auto;width:100%}.ngs .offset-lg-0{margin-left:0}.ngs .offset-lg-1{margin-left:6.25%}.ngs .offset-lg-2{margin-left:12.5%}.ngs .offset-lg-3{margin-left:18.75%}.ngs .offset-lg-4{margin-left:25%}.ngs .offset-lg-5{margin-left:31.25%}.ngs .offset-lg-6{margin-left:37.5%}.ngs .offset-lg-7{margin-left:43.75%}.ngs .offset-lg-8{margin-left:50%}.ngs .offset-lg-9{margin-left:56.25%}.ngs .offset-lg-10{margin-left:62.5%}.ngs .offset-lg-11{margin-left:68.75%}.ngs .offset-lg-12{margin-left:75%}.ngs .offset-lg-13{margin-left:81.25%}.ngs .offset-lg-14{margin-left:87.5%}.ngs .offset-lg-15{margin-left:93.75%}.ngs .g-lg-0,.ngs .gx-lg-0{--ngsgutter-x: 0}.ngs .g-lg-0,.ngs .gy-lg-0{--ngsgutter-y: 0}.ngs .g-lg-1,.ngs .gx-lg-1{--ngsgutter-x: .25rem}.ngs .g-lg-1,.ngs .gy-lg-1{--ngsgutter-y: .25rem}.ngs .g-lg-2,.ngs .gx-lg-2{--ngsgutter-x: .5rem}.ngs .g-lg-2,.ngs .gy-lg-2{--ngsgutter-y: .5rem}.ngs .g-lg-3,.ngs .gx-lg-3{--ngsgutter-x: 1rem}.ngs .g-lg-3,.ngs .gy-lg-3{--ngsgutter-y: 1rem}.ngs .g-lg-4,.ngs .gx-lg-4{--ngsgutter-x: 1.5rem}.ngs .g-lg-4,.ngs .gy-lg-4{--ngsgutter-y: 1.5rem}.ngs .g-lg-5,.ngs .gx-lg-5{--ngsgutter-x: 3rem}.ngs .g-lg-5,.ngs .gy-lg-5{--ngsgutter-y: 3rem}}@media (min-width: 1200px){.ngs .col-xl{flex:1 0 0%}.ngs .row-cols-xl-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-xl-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-xl-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-xl-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-xl-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-xl-auto{flex:0 0 auto;width:auto}.ngs .col-xl-1{flex:0 0 auto;width:6.25%}.ngs .col-xl-2{flex:0 0 auto;width:12.5%}.ngs .col-xl-3{flex:0 0 auto;width:18.75%}.ngs .col-xl-4{flex:0 0 auto;width:25%}.ngs .col-xl-5{flex:0 0 auto;width:31.25%}.ngs .col-xl-6{flex:0 0 auto;width:37.5%}.ngs .col-xl-7{flex:0 0 auto;width:43.75%}.ngs .col-xl-8{flex:0 0 auto;width:50%}.ngs .col-xl-9{flex:0 0 auto;width:56.25%}.ngs .col-xl-10{flex:0 0 auto;width:62.5%}.ngs .col-xl-11{flex:0 0 auto;width:68.75%}.ngs .col-xl-12{flex:0 0 auto;width:75%}.ngs .col-xl-13{flex:0 0 auto;width:81.25%}.ngs .col-xl-14{flex:0 0 auto;width:87.5%}.ngs .col-xl-15{flex:0 0 auto;width:93.75%}.ngs .col-xl-16{flex:0 0 auto;width:100%}.ngs .offset-xl-0{margin-left:0}.ngs .offset-xl-1{margin-left:6.25%}.ngs .offset-xl-2{margin-left:12.5%}.ngs .offset-xl-3{margin-left:18.75%}.ngs .offset-xl-4{margin-left:25%}.ngs .offset-xl-5{margin-left:31.25%}.ngs .offset-xl-6{margin-left:37.5%}.ngs .offset-xl-7{margin-left:43.75%}.ngs .offset-xl-8{margin-left:50%}.ngs .offset-xl-9{margin-left:56.25%}.ngs .offset-xl-10{margin-left:62.5%}.ngs .offset-xl-11{margin-left:68.75%}.ngs .offset-xl-12{margin-left:75%}.ngs .offset-xl-13{margin-left:81.25%}.ngs .offset-xl-14{margin-left:87.5%}.ngs .offset-xl-15{margin-left:93.75%}.ngs .g-xl-0,.ngs .gx-xl-0{--ngsgutter-x: 0}.ngs .g-xl-0,.ngs .gy-xl-0{--ngsgutter-y: 0}.ngs .g-xl-1,.ngs .gx-xl-1{--ngsgutter-x: .25rem}.ngs .g-xl-1,.ngs .gy-xl-1{--ngsgutter-y: .25rem}.ngs .g-xl-2,.ngs .gx-xl-2{--ngsgutter-x: .5rem}.ngs .g-xl-2,.ngs .gy-xl-2{--ngsgutter-y: .5rem}.ngs .g-xl-3,.ngs .gx-xl-3{--ngsgutter-x: 1rem}.ngs .g-xl-3,.ngs .gy-xl-3{--ngsgutter-y: 1rem}.ngs .g-xl-4,.ngs .gx-xl-4{--ngsgutter-x: 1.5rem}.ngs .g-xl-4,.ngs .gy-xl-4{--ngsgutter-y: 1.5rem}.ngs .g-xl-5,.ngs .gx-xl-5{--ngsgutter-x: 3rem}.ngs .g-xl-5,.ngs .gy-xl-5{--ngsgutter-y: 3rem}}@media (min-width: 1400px){.ngs .col-xxl{flex:1 0 0%}.ngs .row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-xxl-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-xxl-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-xxl-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-xxl-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-xxl-auto{flex:0 0 auto;width:auto}.ngs .col-xxl-1{flex:0 0 auto;width:6.25%}.ngs .col-xxl-2{flex:0 0 auto;width:12.5%}.ngs .col-xxl-3{flex:0 0 auto;width:18.75%}.ngs .col-xxl-4{flex:0 0 auto;width:25%}.ngs .col-xxl-5{flex:0 0 auto;width:31.25%}.ngs .col-xxl-6{flex:0 0 auto;width:37.5%}.ngs .col-xxl-7{flex:0 0 auto;width:43.75%}.ngs .col-xxl-8{flex:0 0 auto;width:50%}.ngs .col-xxl-9{flex:0 0 auto;width:56.25%}.ngs .col-xxl-10{flex:0 0 auto;width:62.5%}.ngs .col-xxl-11{flex:0 0 auto;width:68.75%}.ngs .col-xxl-12{flex:0 0 auto;width:75%}.ngs .col-xxl-13{flex:0 0 auto;width:81.25%}.ngs .col-xxl-14{flex:0 0 auto;width:87.5%}.ngs .col-xxl-15{flex:0 0 auto;width:93.75%}.ngs .col-xxl-16{flex:0 0 auto;width:100%}.ngs .offset-xxl-0{margin-left:0}.ngs .offset-xxl-1{margin-left:6.25%}.ngs .offset-xxl-2{margin-left:12.5%}.ngs .offset-xxl-3{margin-left:18.75%}.ngs .offset-xxl-4{margin-left:25%}.ngs .offset-xxl-5{margin-left:31.25%}.ngs .offset-xxl-6{margin-left:37.5%}.ngs .offset-xxl-7{margin-left:43.75%}.ngs .offset-xxl-8{margin-left:50%}.ngs .offset-xxl-9{margin-left:56.25%}.ngs .offset-xxl-10{margin-left:62.5%}.ngs .offset-xxl-11{margin-left:68.75%}.ngs .offset-xxl-12{margin-left:75%}.ngs .offset-xxl-13{margin-left:81.25%}.ngs .offset-xxl-14{margin-left:87.5%}.ngs .offset-xxl-15{margin-left:93.75%}.ngs .g-xxl-0,.ngs .gx-xxl-0{--ngsgutter-x: 0}.ngs .g-xxl-0,.ngs .gy-xxl-0{--ngsgutter-y: 0}.ngs .g-xxl-1,.ngs .gx-xxl-1{--ngsgutter-x: .25rem}.ngs .g-xxl-1,.ngs .gy-xxl-1{--ngsgutter-y: .25rem}.ngs .g-xxl-2,.ngs .gx-xxl-2{--ngsgutter-x: .5rem}.ngs .g-xxl-2,.ngs .gy-xxl-2{--ngsgutter-y: .5rem}.ngs .g-xxl-3,.ngs .gx-xxl-3{--ngsgutter-x: 1rem}.ngs .g-xxl-3,.ngs .gy-xxl-3{--ngsgutter-y: 1rem}.ngs .g-xxl-4,.ngs .gx-xxl-4{--ngsgutter-x: 1.5rem}.ngs .g-xxl-4,.ngs .gy-xxl-4{--ngsgutter-y: 1.5rem}.ngs .g-xxl-5,.ngs .gx-xxl-5{--ngsgutter-x: 3rem}.ngs .g-xxl-5,.ngs .gy-xxl-5{--ngsgutter-y: 3rem}}.ngs .d-inline{display:inline!important}.ngs .d-inline-block{display:inline-block!important}.ngs .d-block{display:block!important}.ngs .d-grid{display:grid!important}.ngs .d-inline-grid{display:inline-grid!important}.ngs .d-table{display:table!important}.ngs .d-table-row{display:table-row!important}.ngs .d-table-cell{display:table-cell!important}.ngs .d-flex{display:flex!important}.ngs .d-inline-flex{display:inline-flex!important}.ngs .d-none{display:none!important}.ngs .flex-fill{flex:1 1 auto!important}.ngs .flex-row{flex-direction:row!important}.ngs .flex-column{flex-direction:column!important}.ngs .flex-row-reverse{flex-direction:row-reverse!important}.ngs .flex-column-reverse{flex-direction:column-reverse!important}.ngs .flex-grow-0{flex-grow:0!important}.ngs .flex-grow-1{flex-grow:1!important}.ngs .flex-shrink-0{flex-shrink:0!important}.ngs .flex-shrink-1{flex-shrink:1!important}.ngs .flex-wrap{flex-wrap:wrap!important}.ngs .flex-nowrap{flex-wrap:nowrap!important}.ngs .flex-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-start{justify-content:flex-start!important}.ngs .justify-content-end{justify-content:flex-end!important}.ngs .justify-content-center{justify-content:center!important}.ngs .justify-content-between{justify-content:space-between!important}.ngs .justify-content-around{justify-content:space-around!important}.ngs .justify-content-evenly{justify-content:space-evenly!important}.ngs .align-items-start{align-items:flex-start!important}.ngs .align-items-end{align-items:flex-end!important}.ngs .align-items-center{align-items:center!important}.ngs .align-items-baseline{align-items:baseline!important}.ngs .align-items-stretch{align-items:stretch!important}.ngs .align-content-start{align-content:flex-start!important}.ngs .align-content-end{align-content:flex-end!important}.ngs .align-content-center{align-content:center!important}.ngs .align-content-between{align-content:space-between!important}.ngs .align-content-around{align-content:space-around!important}.ngs .align-content-stretch{align-content:stretch!important}.ngs .align-self-auto{align-self:auto!important}.ngs .align-self-start{align-self:flex-start!important}.ngs .align-self-end{align-self:flex-end!important}.ngs .align-self-center{align-self:center!important}.ngs .align-self-baseline{align-self:baseline!important}.ngs .align-self-stretch{align-self:stretch!important}.ngs .order-first{order:-1!important}.ngs .order-0{order:0!important}.ngs .order-1{order:1!important}.ngs .order-2{order:2!important}.ngs .order-3{order:3!important}.ngs .order-4{order:4!important}.ngs .order-5{order:5!important}.ngs .order-last{order:6!important}.ngs .m-0{margin:0!important}.ngs .m-1{margin:.25rem!important}.ngs .m-2{margin:.5rem!important}.ngs .m-3{margin:1rem!important}.ngs .m-4{margin:1.5rem!important}.ngs .m-5{margin:3rem!important}.ngs .m-auto{margin:auto!important}.ngs .mx-0{margin-right:0!important;margin-left:0!important}.ngs .mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-0{margin-top:0!important}.ngs .mt-1{margin-top:.25rem!important}.ngs .mt-2{margin-top:.5rem!important}.ngs .mt-3{margin-top:1rem!important}.ngs .mt-4{margin-top:1.5rem!important}.ngs .mt-5{margin-top:3rem!important}.ngs .mt-auto{margin-top:auto!important}.ngs .me-0{margin-right:0!important}.ngs .me-1{margin-right:.25rem!important}.ngs .me-2{margin-right:.5rem!important}.ngs .me-3{margin-right:1rem!important}.ngs .me-4{margin-right:1.5rem!important}.ngs .me-5{margin-right:3rem!important}.ngs .me-auto{margin-right:auto!important}.ngs .mb-0{margin-bottom:0!important}.ngs .mb-1{margin-bottom:.25rem!important}.ngs .mb-2{margin-bottom:.5rem!important}.ngs .mb-3{margin-bottom:1rem!important}.ngs .mb-4{margin-bottom:1.5rem!important}.ngs .mb-5{margin-bottom:3rem!important}.ngs .mb-auto{margin-bottom:auto!important}.ngs .ms-0{margin-left:0!important}.ngs .ms-1{margin-left:.25rem!important}.ngs .ms-2{margin-left:.5rem!important}.ngs .ms-3{margin-left:1rem!important}.ngs .ms-4{margin-left:1.5rem!important}.ngs .ms-5{margin-left:3rem!important}.ngs .ms-auto{margin-left:auto!important}.ngs .p-0{padding:0!important}.ngs .p-1{padding:.25rem!important}.ngs .p-2{padding:.5rem!important}.ngs .p-3{padding:1rem!important}.ngs .p-4{padding:1.5rem!important}.ngs .p-5{padding:3rem!important}.ngs .px-0{padding-right:0!important;padding-left:0!important}.ngs .px-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-0{padding-top:0!important}.ngs .pt-1{padding-top:.25rem!important}.ngs .pt-2{padding-top:.5rem!important}.ngs .pt-3{padding-top:1rem!important}.ngs .pt-4{padding-top:1.5rem!important}.ngs .pt-5{padding-top:3rem!important}.ngs .pe-0{padding-right:0!important}.ngs .pe-1{padding-right:.25rem!important}.ngs .pe-2{padding-right:.5rem!important}.ngs .pe-3{padding-right:1rem!important}.ngs .pe-4{padding-right:1.5rem!important}.ngs .pe-5{padding-right:3rem!important}.ngs .pb-0{padding-bottom:0!important}.ngs .pb-1{padding-bottom:.25rem!important}.ngs .pb-2{padding-bottom:.5rem!important}.ngs .pb-3{padding-bottom:1rem!important}.ngs .pb-4{padding-bottom:1.5rem!important}.ngs .pb-5{padding-bottom:3rem!important}.ngs .ps-0{padding-left:0!important}.ngs .ps-1{padding-left:.25rem!important}.ngs .ps-2{padding-left:.5rem!important}.ngs .ps-3{padding-left:1rem!important}.ngs .ps-4{padding-left:1.5rem!important}.ngs .ps-5{padding-left:3rem!important}@media (min-width: 576px){.ngs .d-sm-inline{display:inline!important}.ngs .d-sm-inline-block{display:inline-block!important}.ngs .d-sm-block{display:block!important}.ngs .d-sm-grid{display:grid!important}.ngs .d-sm-inline-grid{display:inline-grid!important}.ngs .d-sm-table{display:table!important}.ngs .d-sm-table-row{display:table-row!important}.ngs .d-sm-table-cell{display:table-cell!important}.ngs .d-sm-flex{display:flex!important}.ngs .d-sm-inline-flex{display:inline-flex!important}.ngs .d-sm-none{display:none!important}.ngs .flex-sm-fill{flex:1 1 auto!important}.ngs .flex-sm-row{flex-direction:row!important}.ngs .flex-sm-column{flex-direction:column!important}.ngs .flex-sm-row-reverse{flex-direction:row-reverse!important}.ngs .flex-sm-column-reverse{flex-direction:column-reverse!important}.ngs .flex-sm-grow-0{flex-grow:0!important}.ngs .flex-sm-grow-1{flex-grow:1!important}.ngs .flex-sm-shrink-0{flex-shrink:0!important}.ngs .flex-sm-shrink-1{flex-shrink:1!important}.ngs .flex-sm-wrap{flex-wrap:wrap!important}.ngs .flex-sm-nowrap{flex-wrap:nowrap!important}.ngs .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-sm-start{justify-content:flex-start!important}.ngs .justify-content-sm-end{justify-content:flex-end!important}.ngs .justify-content-sm-center{justify-content:center!important}.ngs .justify-content-sm-between{justify-content:space-between!important}.ngs .justify-content-sm-around{justify-content:space-around!important}.ngs .justify-content-sm-evenly{justify-content:space-evenly!important}.ngs .align-items-sm-start{align-items:flex-start!important}.ngs .align-items-sm-end{align-items:flex-end!important}.ngs .align-items-sm-center{align-items:center!important}.ngs .align-items-sm-baseline{align-items:baseline!important}.ngs .align-items-sm-stretch{align-items:stretch!important}.ngs .align-content-sm-start{align-content:flex-start!important}.ngs .align-content-sm-end{align-content:flex-end!important}.ngs .align-content-sm-center{align-content:center!important}.ngs .align-content-sm-between{align-content:space-between!important}.ngs .align-content-sm-around{align-content:space-around!important}.ngs .align-content-sm-stretch{align-content:stretch!important}.ngs .align-self-sm-auto{align-self:auto!important}.ngs .align-self-sm-start{align-self:flex-start!important}.ngs .align-self-sm-end{align-self:flex-end!important}.ngs .align-self-sm-center{align-self:center!important}.ngs .align-self-sm-baseline{align-self:baseline!important}.ngs .align-self-sm-stretch{align-self:stretch!important}.ngs .order-sm-first{order:-1!important}.ngs .order-sm-0{order:0!important}.ngs .order-sm-1{order:1!important}.ngs .order-sm-2{order:2!important}.ngs .order-sm-3{order:3!important}.ngs .order-sm-4{order:4!important}.ngs .order-sm-5{order:5!important}.ngs .order-sm-last{order:6!important}.ngs .m-sm-0{margin:0!important}.ngs .m-sm-1{margin:.25rem!important}.ngs .m-sm-2{margin:.5rem!important}.ngs .m-sm-3{margin:1rem!important}.ngs .m-sm-4{margin:1.5rem!important}.ngs .m-sm-5{margin:3rem!important}.ngs .m-sm-auto{margin:auto!important}.ngs .mx-sm-0{margin-right:0!important;margin-left:0!important}.ngs .mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-sm-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-sm-0{margin-top:0!important}.ngs .mt-sm-1{margin-top:.25rem!important}.ngs .mt-sm-2{margin-top:.5rem!important}.ngs .mt-sm-3{margin-top:1rem!important}.ngs .mt-sm-4{margin-top:1.5rem!important}.ngs .mt-sm-5{margin-top:3rem!important}.ngs .mt-sm-auto{margin-top:auto!important}.ngs .me-sm-0{margin-right:0!important}.ngs .me-sm-1{margin-right:.25rem!important}.ngs .me-sm-2{margin-right:.5rem!important}.ngs .me-sm-3{margin-right:1rem!important}.ngs .me-sm-4{margin-right:1.5rem!important}.ngs .me-sm-5{margin-right:3rem!important}.ngs .me-sm-auto{margin-right:auto!important}.ngs .mb-sm-0{margin-bottom:0!important}.ngs .mb-sm-1{margin-bottom:.25rem!important}.ngs .mb-sm-2{margin-bottom:.5rem!important}.ngs .mb-sm-3{margin-bottom:1rem!important}.ngs .mb-sm-4{margin-bottom:1.5rem!important}.ngs .mb-sm-5{margin-bottom:3rem!important}.ngs .mb-sm-auto{margin-bottom:auto!important}.ngs .ms-sm-0{margin-left:0!important}.ngs .ms-sm-1{margin-left:.25rem!important}.ngs .ms-sm-2{margin-left:.5rem!important}.ngs .ms-sm-3{margin-left:1rem!important}.ngs .ms-sm-4{margin-left:1.5rem!important}.ngs .ms-sm-5{margin-left:3rem!important}.ngs .ms-sm-auto{margin-left:auto!important}.ngs .p-sm-0{padding:0!important}.ngs .p-sm-1{padding:.25rem!important}.ngs .p-sm-2{padding:.5rem!important}.ngs .p-sm-3{padding:1rem!important}.ngs .p-sm-4{padding:1.5rem!important}.ngs .p-sm-5{padding:3rem!important}.ngs .px-sm-0{padding-right:0!important;padding-left:0!important}.ngs .px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-sm-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-sm-0{padding-top:0!important}.ngs .pt-sm-1{padding-top:.25rem!important}.ngs .pt-sm-2{padding-top:.5rem!important}.ngs .pt-sm-3{padding-top:1rem!important}.ngs .pt-sm-4{padding-top:1.5rem!important}.ngs .pt-sm-5{padding-top:3rem!important}.ngs .pe-sm-0{padding-right:0!important}.ngs .pe-sm-1{padding-right:.25rem!important}.ngs .pe-sm-2{padding-right:.5rem!important}.ngs .pe-sm-3{padding-right:1rem!important}.ngs .pe-sm-4{padding-right:1.5rem!important}.ngs .pe-sm-5{padding-right:3rem!important}.ngs .pb-sm-0{padding-bottom:0!important}.ngs .pb-sm-1{padding-bottom:.25rem!important}.ngs .pb-sm-2{padding-bottom:.5rem!important}.ngs .pb-sm-3{padding-bottom:1rem!important}.ngs .pb-sm-4{padding-bottom:1.5rem!important}.ngs .pb-sm-5{padding-bottom:3rem!important}.ngs .ps-sm-0{padding-left:0!important}.ngs .ps-sm-1{padding-left:.25rem!important}.ngs .ps-sm-2{padding-left:.5rem!important}.ngs .ps-sm-3{padding-left:1rem!important}.ngs .ps-sm-4{padding-left:1.5rem!important}.ngs .ps-sm-5{padding-left:3rem!important}}@media (min-width: 768px){.ngs .d-md-inline{display:inline!important}.ngs .d-md-inline-block{display:inline-block!important}.ngs .d-md-block{display:block!important}.ngs .d-md-grid{display:grid!important}.ngs .d-md-inline-grid{display:inline-grid!important}.ngs .d-md-table{display:table!important}.ngs .d-md-table-row{display:table-row!important}.ngs .d-md-table-cell{display:table-cell!important}.ngs .d-md-flex{display:flex!important}.ngs .d-md-inline-flex{display:inline-flex!important}.ngs .d-md-none{display:none!important}.ngs .flex-md-fill{flex:1 1 auto!important}.ngs .flex-md-row{flex-direction:row!important}.ngs .flex-md-column{flex-direction:column!important}.ngs .flex-md-row-reverse{flex-direction:row-reverse!important}.ngs .flex-md-column-reverse{flex-direction:column-reverse!important}.ngs .flex-md-grow-0{flex-grow:0!important}.ngs .flex-md-grow-1{flex-grow:1!important}.ngs .flex-md-shrink-0{flex-shrink:0!important}.ngs .flex-md-shrink-1{flex-shrink:1!important}.ngs .flex-md-wrap{flex-wrap:wrap!important}.ngs .flex-md-nowrap{flex-wrap:nowrap!important}.ngs .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-md-start{justify-content:flex-start!important}.ngs .justify-content-md-end{justify-content:flex-end!important}.ngs .justify-content-md-center{justify-content:center!important}.ngs .justify-content-md-between{justify-content:space-between!important}.ngs .justify-content-md-around{justify-content:space-around!important}.ngs .justify-content-md-evenly{justify-content:space-evenly!important}.ngs .align-items-md-start{align-items:flex-start!important}.ngs .align-items-md-end{align-items:flex-end!important}.ngs .align-items-md-center{align-items:center!important}.ngs .align-items-md-baseline{align-items:baseline!important}.ngs .align-items-md-stretch{align-items:stretch!important}.ngs .align-content-md-start{align-content:flex-start!important}.ngs .align-content-md-end{align-content:flex-end!important}.ngs .align-content-md-center{align-content:center!important}.ngs .align-content-md-between{align-content:space-between!important}.ngs .align-content-md-around{align-content:space-around!important}.ngs .align-content-md-stretch{align-content:stretch!important}.ngs .align-self-md-auto{align-self:auto!important}.ngs .align-self-md-start{align-self:flex-start!important}.ngs .align-self-md-end{align-self:flex-end!important}.ngs .align-self-md-center{align-self:center!important}.ngs .align-self-md-baseline{align-self:baseline!important}.ngs .align-self-md-stretch{align-self:stretch!important}.ngs .order-md-first{order:-1!important}.ngs .order-md-0{order:0!important}.ngs .order-md-1{order:1!important}.ngs .order-md-2{order:2!important}.ngs .order-md-3{order:3!important}.ngs .order-md-4{order:4!important}.ngs .order-md-5{order:5!important}.ngs .order-md-last{order:6!important}.ngs .m-md-0{margin:0!important}.ngs .m-md-1{margin:.25rem!important}.ngs .m-md-2{margin:.5rem!important}.ngs .m-md-3{margin:1rem!important}.ngs .m-md-4{margin:1.5rem!important}.ngs .m-md-5{margin:3rem!important}.ngs .m-md-auto{margin:auto!important}.ngs .mx-md-0{margin-right:0!important;margin-left:0!important}.ngs .mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-md-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-md-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-md-0{margin-top:0!important}.ngs .mt-md-1{margin-top:.25rem!important}.ngs .mt-md-2{margin-top:.5rem!important}.ngs .mt-md-3{margin-top:1rem!important}.ngs .mt-md-4{margin-top:1.5rem!important}.ngs .mt-md-5{margin-top:3rem!important}.ngs .mt-md-auto{margin-top:auto!important}.ngs .me-md-0{margin-right:0!important}.ngs .me-md-1{margin-right:.25rem!important}.ngs .me-md-2{margin-right:.5rem!important}.ngs .me-md-3{margin-right:1rem!important}.ngs .me-md-4{margin-right:1.5rem!important}.ngs .me-md-5{margin-right:3rem!important}.ngs .me-md-auto{margin-right:auto!important}.ngs .mb-md-0{margin-bottom:0!important}.ngs .mb-md-1{margin-bottom:.25rem!important}.ngs .mb-md-2{margin-bottom:.5rem!important}.ngs .mb-md-3{margin-bottom:1rem!important}.ngs .mb-md-4{margin-bottom:1.5rem!important}.ngs .mb-md-5{margin-bottom:3rem!important}.ngs .mb-md-auto{margin-bottom:auto!important}.ngs .ms-md-0{margin-left:0!important}.ngs .ms-md-1{margin-left:.25rem!important}.ngs .ms-md-2{margin-left:.5rem!important}.ngs .ms-md-3{margin-left:1rem!important}.ngs .ms-md-4{margin-left:1.5rem!important}.ngs .ms-md-5{margin-left:3rem!important}.ngs .ms-md-auto{margin-left:auto!important}.ngs .p-md-0{padding:0!important}.ngs .p-md-1{padding:.25rem!important}.ngs .p-md-2{padding:.5rem!important}.ngs .p-md-3{padding:1rem!important}.ngs .p-md-4{padding:1.5rem!important}.ngs .p-md-5{padding:3rem!important}.ngs .px-md-0{padding-right:0!important;padding-left:0!important}.ngs .px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-md-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-md-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-md-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-md-0{padding-top:0!important}.ngs .pt-md-1{padding-top:.25rem!important}.ngs .pt-md-2{padding-top:.5rem!important}.ngs .pt-md-3{padding-top:1rem!important}.ngs .pt-md-4{padding-top:1.5rem!important}.ngs .pt-md-5{padding-top:3rem!important}.ngs .pe-md-0{padding-right:0!important}.ngs .pe-md-1{padding-right:.25rem!important}.ngs .pe-md-2{padding-right:.5rem!important}.ngs .pe-md-3{padding-right:1rem!important}.ngs .pe-md-4{padding-right:1.5rem!important}.ngs .pe-md-5{padding-right:3rem!important}.ngs .pb-md-0{padding-bottom:0!important}.ngs .pb-md-1{padding-bottom:.25rem!important}.ngs .pb-md-2{padding-bottom:.5rem!important}.ngs .pb-md-3{padding-bottom:1rem!important}.ngs .pb-md-4{padding-bottom:1.5rem!important}.ngs .pb-md-5{padding-bottom:3rem!important}.ngs .ps-md-0{padding-left:0!important}.ngs .ps-md-1{padding-left:.25rem!important}.ngs .ps-md-2{padding-left:.5rem!important}.ngs .ps-md-3{padding-left:1rem!important}.ngs .ps-md-4{padding-left:1.5rem!important}.ngs .ps-md-5{padding-left:3rem!important}}@media (min-width: 992px){.ngs .d-lg-inline{display:inline!important}.ngs .d-lg-inline-block{display:inline-block!important}.ngs .d-lg-block{display:block!important}.ngs .d-lg-grid{display:grid!important}.ngs .d-lg-inline-grid{display:inline-grid!important}.ngs .d-lg-table{display:table!important}.ngs .d-lg-table-row{display:table-row!important}.ngs .d-lg-table-cell{display:table-cell!important}.ngs .d-lg-flex{display:flex!important}.ngs .d-lg-inline-flex{display:inline-flex!important}.ngs .d-lg-none{display:none!important}.ngs .flex-lg-fill{flex:1 1 auto!important}.ngs .flex-lg-row{flex-direction:row!important}.ngs .flex-lg-column{flex-direction:column!important}.ngs .flex-lg-row-reverse{flex-direction:row-reverse!important}.ngs .flex-lg-column-reverse{flex-direction:column-reverse!important}.ngs .flex-lg-grow-0{flex-grow:0!important}.ngs .flex-lg-grow-1{flex-grow:1!important}.ngs .flex-lg-shrink-0{flex-shrink:0!important}.ngs .flex-lg-shrink-1{flex-shrink:1!important}.ngs .flex-lg-wrap{flex-wrap:wrap!important}.ngs .flex-lg-nowrap{flex-wrap:nowrap!important}.ngs .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-lg-start{justify-content:flex-start!important}.ngs .justify-content-lg-end{justify-content:flex-end!important}.ngs .justify-content-lg-center{justify-content:center!important}.ngs .justify-content-lg-between{justify-content:space-between!important}.ngs .justify-content-lg-around{justify-content:space-around!important}.ngs .justify-content-lg-evenly{justify-content:space-evenly!important}.ngs .align-items-lg-start{align-items:flex-start!important}.ngs .align-items-lg-end{align-items:flex-end!important}.ngs .align-items-lg-center{align-items:center!important}.ngs .align-items-lg-baseline{align-items:baseline!important}.ngs .align-items-lg-stretch{align-items:stretch!important}.ngs .align-content-lg-start{align-content:flex-start!important}.ngs .align-content-lg-end{align-content:flex-end!important}.ngs .align-content-lg-center{align-content:center!important}.ngs .align-content-lg-between{align-content:space-between!important}.ngs .align-content-lg-around{align-content:space-around!important}.ngs .align-content-lg-stretch{align-content:stretch!important}.ngs .align-self-lg-auto{align-self:auto!important}.ngs .align-self-lg-start{align-self:flex-start!important}.ngs .align-self-lg-end{align-self:flex-end!important}.ngs .align-self-lg-center{align-self:center!important}.ngs .align-self-lg-baseline{align-self:baseline!important}.ngs .align-self-lg-stretch{align-self:stretch!important}.ngs .order-lg-first{order:-1!important}.ngs .order-lg-0{order:0!important}.ngs .order-lg-1{order:1!important}.ngs .order-lg-2{order:2!important}.ngs .order-lg-3{order:3!important}.ngs .order-lg-4{order:4!important}.ngs .order-lg-5{order:5!important}.ngs .order-lg-last{order:6!important}.ngs .m-lg-0{margin:0!important}.ngs .m-lg-1{margin:.25rem!important}.ngs .m-lg-2{margin:.5rem!important}.ngs .m-lg-3{margin:1rem!important}.ngs .m-lg-4{margin:1.5rem!important}.ngs .m-lg-5{margin:3rem!important}.ngs .m-lg-auto{margin:auto!important}.ngs .mx-lg-0{margin-right:0!important;margin-left:0!important}.ngs .mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-lg-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-lg-0{margin-top:0!important}.ngs .mt-lg-1{margin-top:.25rem!important}.ngs .mt-lg-2{margin-top:.5rem!important}.ngs .mt-lg-3{margin-top:1rem!important}.ngs .mt-lg-4{margin-top:1.5rem!important}.ngs .mt-lg-5{margin-top:3rem!important}.ngs .mt-lg-auto{margin-top:auto!important}.ngs .me-lg-0{margin-right:0!important}.ngs .me-lg-1{margin-right:.25rem!important}.ngs .me-lg-2{margin-right:.5rem!important}.ngs .me-lg-3{margin-right:1rem!important}.ngs .me-lg-4{margin-right:1.5rem!important}.ngs .me-lg-5{margin-right:3rem!important}.ngs .me-lg-auto{margin-right:auto!important}.ngs .mb-lg-0{margin-bottom:0!important}.ngs .mb-lg-1{margin-bottom:.25rem!important}.ngs .mb-lg-2{margin-bottom:.5rem!important}.ngs .mb-lg-3{margin-bottom:1rem!important}.ngs .mb-lg-4{margin-bottom:1.5rem!important}.ngs .mb-lg-5{margin-bottom:3rem!important}.ngs .mb-lg-auto{margin-bottom:auto!important}.ngs .ms-lg-0{margin-left:0!important}.ngs .ms-lg-1{margin-left:.25rem!important}.ngs .ms-lg-2{margin-left:.5rem!important}.ngs .ms-lg-3{margin-left:1rem!important}.ngs .ms-lg-4{margin-left:1.5rem!important}.ngs .ms-lg-5{margin-left:3rem!important}.ngs .ms-lg-auto{margin-left:auto!important}.ngs .p-lg-0{padding:0!important}.ngs .p-lg-1{padding:.25rem!important}.ngs .p-lg-2{padding:.5rem!important}.ngs .p-lg-3{padding:1rem!important}.ngs .p-lg-4{padding:1.5rem!important}.ngs .p-lg-5{padding:3rem!important}.ngs .px-lg-0{padding-right:0!important;padding-left:0!important}.ngs .px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-lg-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-lg-0{padding-top:0!important}.ngs .pt-lg-1{padding-top:.25rem!important}.ngs .pt-lg-2{padding-top:.5rem!important}.ngs .pt-lg-3{padding-top:1rem!important}.ngs .pt-lg-4{padding-top:1.5rem!important}.ngs .pt-lg-5{padding-top:3rem!important}.ngs .pe-lg-0{padding-right:0!important}.ngs .pe-lg-1{padding-right:.25rem!important}.ngs .pe-lg-2{padding-right:.5rem!important}.ngs .pe-lg-3{padding-right:1rem!important}.ngs .pe-lg-4{padding-right:1.5rem!important}.ngs .pe-lg-5{padding-right:3rem!important}.ngs .pb-lg-0{padding-bottom:0!important}.ngs .pb-lg-1{padding-bottom:.25rem!important}.ngs .pb-lg-2{padding-bottom:.5rem!important}.ngs .pb-lg-3{padding-bottom:1rem!important}.ngs .pb-lg-4{padding-bottom:1.5rem!important}.ngs .pb-lg-5{padding-bottom:3rem!important}.ngs .ps-lg-0{padding-left:0!important}.ngs .ps-lg-1{padding-left:.25rem!important}.ngs .ps-lg-2{padding-left:.5rem!important}.ngs .ps-lg-3{padding-left:1rem!important}.ngs .ps-lg-4{padding-left:1.5rem!important}.ngs .ps-lg-5{padding-left:3rem!important}}@media (min-width: 1200px){.ngs .d-xl-inline{display:inline!important}.ngs .d-xl-inline-block{display:inline-block!important}.ngs .d-xl-block{display:block!important}.ngs .d-xl-grid{display:grid!important}.ngs .d-xl-inline-grid{display:inline-grid!important}.ngs .d-xl-table{display:table!important}.ngs .d-xl-table-row{display:table-row!important}.ngs .d-xl-table-cell{display:table-cell!important}.ngs .d-xl-flex{display:flex!important}.ngs .d-xl-inline-flex{display:inline-flex!important}.ngs .d-xl-none{display:none!important}.ngs .flex-xl-fill{flex:1 1 auto!important}.ngs .flex-xl-row{flex-direction:row!important}.ngs .flex-xl-column{flex-direction:column!important}.ngs .flex-xl-row-reverse{flex-direction:row-reverse!important}.ngs .flex-xl-column-reverse{flex-direction:column-reverse!important}.ngs .flex-xl-grow-0{flex-grow:0!important}.ngs .flex-xl-grow-1{flex-grow:1!important}.ngs .flex-xl-shrink-0{flex-shrink:0!important}.ngs .flex-xl-shrink-1{flex-shrink:1!important}.ngs .flex-xl-wrap{flex-wrap:wrap!important}.ngs .flex-xl-nowrap{flex-wrap:nowrap!important}.ngs .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-xl-start{justify-content:flex-start!important}.ngs .justify-content-xl-end{justify-content:flex-end!important}.ngs .justify-content-xl-center{justify-content:center!important}.ngs .justify-content-xl-between{justify-content:space-between!important}.ngs .justify-content-xl-around{justify-content:space-around!important}.ngs .justify-content-xl-evenly{justify-content:space-evenly!important}.ngs .align-items-xl-start{align-items:flex-start!important}.ngs .align-items-xl-end{align-items:flex-end!important}.ngs .align-items-xl-center{align-items:center!important}.ngs .align-items-xl-baseline{align-items:baseline!important}.ngs .align-items-xl-stretch{align-items:stretch!important}.ngs .align-content-xl-start{align-content:flex-start!important}.ngs .align-content-xl-end{align-content:flex-end!important}.ngs .align-content-xl-center{align-content:center!important}.ngs .align-content-xl-between{align-content:space-between!important}.ngs .align-content-xl-around{align-content:space-around!important}.ngs .align-content-xl-stretch{align-content:stretch!important}.ngs .align-self-xl-auto{align-self:auto!important}.ngs .align-self-xl-start{align-self:flex-start!important}.ngs .align-self-xl-end{align-self:flex-end!important}.ngs .align-self-xl-center{align-self:center!important}.ngs .align-self-xl-baseline{align-self:baseline!important}.ngs .align-self-xl-stretch{align-self:stretch!important}.ngs .order-xl-first{order:-1!important}.ngs .order-xl-0{order:0!important}.ngs .order-xl-1{order:1!important}.ngs .order-xl-2{order:2!important}.ngs .order-xl-3{order:3!important}.ngs .order-xl-4{order:4!important}.ngs .order-xl-5{order:5!important}.ngs .order-xl-last{order:6!important}.ngs .m-xl-0{margin:0!important}.ngs .m-xl-1{margin:.25rem!important}.ngs .m-xl-2{margin:.5rem!important}.ngs .m-xl-3{margin:1rem!important}.ngs .m-xl-4{margin:1.5rem!important}.ngs .m-xl-5{margin:3rem!important}.ngs .m-xl-auto{margin:auto!important}.ngs .mx-xl-0{margin-right:0!important;margin-left:0!important}.ngs .mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-xl-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-xl-0{margin-top:0!important}.ngs .mt-xl-1{margin-top:.25rem!important}.ngs .mt-xl-2{margin-top:.5rem!important}.ngs .mt-xl-3{margin-top:1rem!important}.ngs .mt-xl-4{margin-top:1.5rem!important}.ngs .mt-xl-5{margin-top:3rem!important}.ngs .mt-xl-auto{margin-top:auto!important}.ngs .me-xl-0{margin-right:0!important}.ngs .me-xl-1{margin-right:.25rem!important}.ngs .me-xl-2{margin-right:.5rem!important}.ngs .me-xl-3{margin-right:1rem!important}.ngs .me-xl-4{margin-right:1.5rem!important}.ngs .me-xl-5{margin-right:3rem!important}.ngs .me-xl-auto{margin-right:auto!important}.ngs .mb-xl-0{margin-bottom:0!important}.ngs .mb-xl-1{margin-bottom:.25rem!important}.ngs .mb-xl-2{margin-bottom:.5rem!important}.ngs .mb-xl-3{margin-bottom:1rem!important}.ngs .mb-xl-4{margin-bottom:1.5rem!important}.ngs .mb-xl-5{margin-bottom:3rem!important}.ngs .mb-xl-auto{margin-bottom:auto!important}.ngs .ms-xl-0{margin-left:0!important}.ngs .ms-xl-1{margin-left:.25rem!important}.ngs .ms-xl-2{margin-left:.5rem!important}.ngs .ms-xl-3{margin-left:1rem!important}.ngs .ms-xl-4{margin-left:1.5rem!important}.ngs .ms-xl-5{margin-left:3rem!important}.ngs .ms-xl-auto{margin-left:auto!important}.ngs .p-xl-0{padding:0!important}.ngs .p-xl-1{padding:.25rem!important}.ngs .p-xl-2{padding:.5rem!important}.ngs .p-xl-3{padding:1rem!important}.ngs .p-xl-4{padding:1.5rem!important}.ngs .p-xl-5{padding:3rem!important}.ngs .px-xl-0{padding-right:0!important;padding-left:0!important}.ngs .px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-xl-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-xl-0{padding-top:0!important}.ngs .pt-xl-1{padding-top:.25rem!important}.ngs .pt-xl-2{padding-top:.5rem!important}.ngs .pt-xl-3{padding-top:1rem!important}.ngs .pt-xl-4{padding-top:1.5rem!important}.ngs .pt-xl-5{padding-top:3rem!important}.ngs .pe-xl-0{padding-right:0!important}.ngs .pe-xl-1{padding-right:.25rem!important}.ngs .pe-xl-2{padding-right:.5rem!important}.ngs .pe-xl-3{padding-right:1rem!important}.ngs .pe-xl-4{padding-right:1.5rem!important}.ngs .pe-xl-5{padding-right:3rem!important}.ngs .pb-xl-0{padding-bottom:0!important}.ngs .pb-xl-1{padding-bottom:.25rem!important}.ngs .pb-xl-2{padding-bottom:.5rem!important}.ngs .pb-xl-3{padding-bottom:1rem!important}.ngs .pb-xl-4{padding-bottom:1.5rem!important}.ngs .pb-xl-5{padding-bottom:3rem!important}.ngs .ps-xl-0{padding-left:0!important}.ngs .ps-xl-1{padding-left:.25rem!important}.ngs .ps-xl-2{padding-left:.5rem!important}.ngs .ps-xl-3{padding-left:1rem!important}.ngs .ps-xl-4{padding-left:1.5rem!important}.ngs .ps-xl-5{padding-left:3rem!important}}@media (min-width: 1400px){.ngs .d-xxl-inline{display:inline!important}.ngs .d-xxl-inline-block{display:inline-block!important}.ngs .d-xxl-block{display:block!important}.ngs .d-xxl-grid{display:grid!important}.ngs .d-xxl-inline-grid{display:inline-grid!important}.ngs .d-xxl-table{display:table!important}.ngs .d-xxl-table-row{display:table-row!important}.ngs .d-xxl-table-cell{display:table-cell!important}.ngs .d-xxl-flex{display:flex!important}.ngs .d-xxl-inline-flex{display:inline-flex!important}.ngs .d-xxl-none{display:none!important}.ngs .flex-xxl-fill{flex:1 1 auto!important}.ngs .flex-xxl-row{flex-direction:row!important}.ngs .flex-xxl-column{flex-direction:column!important}.ngs .flex-xxl-row-reverse{flex-direction:row-reverse!important}.ngs .flex-xxl-column-reverse{flex-direction:column-reverse!important}.ngs .flex-xxl-grow-0{flex-grow:0!important}.ngs .flex-xxl-grow-1{flex-grow:1!important}.ngs .flex-xxl-shrink-0{flex-shrink:0!important}.ngs .flex-xxl-shrink-1{flex-shrink:1!important}.ngs .flex-xxl-wrap{flex-wrap:wrap!important}.ngs .flex-xxl-nowrap{flex-wrap:nowrap!important}.ngs .flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-xxl-start{justify-content:flex-start!important}.ngs .justify-content-xxl-end{justify-content:flex-end!important}.ngs .justify-content-xxl-center{justify-content:center!important}.ngs .justify-content-xxl-between{justify-content:space-between!important}.ngs .justify-content-xxl-around{justify-content:space-around!important}.ngs .justify-content-xxl-evenly{justify-content:space-evenly!important}.ngs .align-items-xxl-start{align-items:flex-start!important}.ngs .align-items-xxl-end{align-items:flex-end!important}.ngs .align-items-xxl-center{align-items:center!important}.ngs .align-items-xxl-baseline{align-items:baseline!important}.ngs .align-items-xxl-stretch{align-items:stretch!important}.ngs .align-content-xxl-start{align-content:flex-start!important}.ngs .align-content-xxl-end{align-content:flex-end!important}.ngs .align-content-xxl-center{align-content:center!important}.ngs .align-content-xxl-between{align-content:space-between!important}.ngs .align-content-xxl-around{align-content:space-around!important}.ngs .align-content-xxl-stretch{align-content:stretch!important}.ngs .align-self-xxl-auto{align-self:auto!important}.ngs .align-self-xxl-start{align-self:flex-start!important}.ngs .align-self-xxl-end{align-self:flex-end!important}.ngs .align-self-xxl-center{align-self:center!important}.ngs .align-self-xxl-baseline{align-self:baseline!important}.ngs .align-self-xxl-stretch{align-self:stretch!important}.ngs .order-xxl-first{order:-1!important}.ngs .order-xxl-0{order:0!important}.ngs .order-xxl-1{order:1!important}.ngs .order-xxl-2{order:2!important}.ngs .order-xxl-3{order:3!important}.ngs .order-xxl-4{order:4!important}.ngs .order-xxl-5{order:5!important}.ngs .order-xxl-last{order:6!important}.ngs .m-xxl-0{margin:0!important}.ngs .m-xxl-1{margin:.25rem!important}.ngs .m-xxl-2{margin:.5rem!important}.ngs .m-xxl-3{margin:1rem!important}.ngs .m-xxl-4{margin:1.5rem!important}.ngs .m-xxl-5{margin:3rem!important}.ngs .m-xxl-auto{margin:auto!important}.ngs .mx-xxl-0{margin-right:0!important;margin-left:0!important}.ngs .mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-xxl-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-xxl-0{margin-top:0!important}.ngs .mt-xxl-1{margin-top:.25rem!important}.ngs .mt-xxl-2{margin-top:.5rem!important}.ngs .mt-xxl-3{margin-top:1rem!important}.ngs .mt-xxl-4{margin-top:1.5rem!important}.ngs .mt-xxl-5{margin-top:3rem!important}.ngs .mt-xxl-auto{margin-top:auto!important}.ngs .me-xxl-0{margin-right:0!important}.ngs .me-xxl-1{margin-right:.25rem!important}.ngs .me-xxl-2{margin-right:.5rem!important}.ngs .me-xxl-3{margin-right:1rem!important}.ngs .me-xxl-4{margin-right:1.5rem!important}.ngs .me-xxl-5{margin-right:3rem!important}.ngs .me-xxl-auto{margin-right:auto!important}.ngs .mb-xxl-0{margin-bottom:0!important}.ngs .mb-xxl-1{margin-bottom:.25rem!important}.ngs .mb-xxl-2{margin-bottom:.5rem!important}.ngs .mb-xxl-3{margin-bottom:1rem!important}.ngs .mb-xxl-4{margin-bottom:1.5rem!important}.ngs .mb-xxl-5{margin-bottom:3rem!important}.ngs .mb-xxl-auto{margin-bottom:auto!important}.ngs .ms-xxl-0{margin-left:0!important}.ngs .ms-xxl-1{margin-left:.25rem!important}.ngs .ms-xxl-2{margin-left:.5rem!important}.ngs .ms-xxl-3{margin-left:1rem!important}.ngs .ms-xxl-4{margin-left:1.5rem!important}.ngs .ms-xxl-5{margin-left:3rem!important}.ngs .ms-xxl-auto{margin-left:auto!important}.ngs .p-xxl-0{padding:0!important}.ngs .p-xxl-1{padding:.25rem!important}.ngs .p-xxl-2{padding:.5rem!important}.ngs .p-xxl-3{padding:1rem!important}.ngs .p-xxl-4{padding:1.5rem!important}.ngs .p-xxl-5{padding:3rem!important}.ngs .px-xxl-0{padding-right:0!important;padding-left:0!important}.ngs .px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-xxl-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-xxl-0{padding-top:0!important}.ngs .pt-xxl-1{padding-top:.25rem!important}.ngs .pt-xxl-2{padding-top:.5rem!important}.ngs .pt-xxl-3{padding-top:1rem!important}.ngs .pt-xxl-4{padding-top:1.5rem!important}.ngs .pt-xxl-5{padding-top:3rem!important}.ngs .pe-xxl-0{padding-right:0!important}.ngs .pe-xxl-1{padding-right:.25rem!important}.ngs .pe-xxl-2{padding-right:.5rem!important}.ngs .pe-xxl-3{padding-right:1rem!important}.ngs .pe-xxl-4{padding-right:1.5rem!important}.ngs .pe-xxl-5{padding-right:3rem!important}.ngs .pb-xxl-0{padding-bottom:0!important}.ngs .pb-xxl-1{padding-bottom:.25rem!important}.ngs .pb-xxl-2{padding-bottom:.5rem!important}.ngs .pb-xxl-3{padding-bottom:1rem!important}.ngs .pb-xxl-4{padding-bottom:1.5rem!important}.ngs .pb-xxl-5{padding-bottom:3rem!important}.ngs .ps-xxl-0{padding-left:0!important}.ngs .ps-xxl-1{padding-left:.25rem!important}.ngs .ps-xxl-2{padding-left:.5rem!important}.ngs .ps-xxl-3{padding-left:1rem!important}.ngs .ps-xxl-4{padding-left:1.5rem!important}.ngs .ps-xxl-5{padding-left:3rem!important}}@media print{.ngs .d-print-inline{display:inline!important}.ngs .d-print-inline-block{display:inline-block!important}.ngs .d-print-block{display:block!important}.ngs .d-print-grid{display:grid!important}.ngs .d-print-inline-grid{display:inline-grid!important}.ngs .d-print-table{display:table!important}.ngs .d-print-table-row{display:table-row!important}.ngs .d-print-table-cell{display:table-cell!important}.ngs .d-print-flex{display:flex!important}.ngs .d-print-inline-flex{display:inline-flex!important}.ngs .d-print-none{display:none!important}}\n", ".prevSection button{padding:5px 10px;float:left;margin-left:0}.nextSection button{padding:5px 10px;float:right;margin-left:0}.separator-horizontal{width:1px;height:100%;background-color:#d6cece;margin:0 auto}.content-element-form .section-navs{width:100%;background-color:#f2f6fc;margin-left:0;margin-right:0;padding:10px;flex-direction:row-reverse}.sirio-nav-item a{cursor:pointer}.sirio-toast{width:auto;min-width:17rem;max-width:41rem}.form-title{margin-bottom:15px}@media (max-width: 991px){.content-element-form{width:100%!important}}ngx-sirio-input-chip{margin-right:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i10.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i10.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: RegisterDirective, selector: "[register]", inputs: ["register", "componentRef"] }, { kind: "directive", type: DisableFormDirective, selector: "[disableForm]", inputs: ["disableForm"] }, { kind: "component", type: SirioSidenavMobileComponent, selector: "ngx-sirio-sidenav-mobile", inputs: ["openMenuLabel", "openMenuLabelSubtitile", "openMenuAriaLabel", "closeMenuLabel", "closeMenuAriaLabel", "closeMenuLabelSubtitile", "userProfileLabel", "userProfileType", "userProfileName", "userProfileSurname", "showUserInfo", "opened"] }, { kind: "component", type: SirioSidenavComponent, selector: "ngx-sirio-sidenav", inputs: ["sidenavTitle", "ariaLabel"] }, { kind: "component", type: SirioSidenavItemComponent, selector: "ngx-sirio-sidenav-item", inputs: ["labelTrigger", "isCustomNavItem", "isTrigger", "routerLinkUrl", "routerLinkFragment", "routerLinkQueryParams", "routerLinkQueryParamsHandling", "routerLinkState", "routerLinkRelativeTo", "routerLinkPreserveFragment", "routerLinkReplaceUrl", "href", "hrefTarget", "ariaLabelDesc", "isOpen", "isActive", "withTag", "tagType", "tagValue", "disabledState"] }, { kind: "component", type: SirioButtonComponent, selector: "ngx-sirio-button", inputs: ["ariaExpanded", "ariaControls", "ariaActivedescendant", "ariaHaspopup", "ariaLabel", "ariaRequired", "ariaInvalid", "ariaDescribedby", "icon", "title", "role", "color", "isFloating", "isExtended", "isLight", "isSmall", "disabled", "isDropdown", "type", "dismissType", "isBtnBlock"], outputs: ["clickEvent", "focusEvent", "blurEvent"] }, { kind: "component", type: SirioStepperProgressBarComponent, selector: "ngx-sirio-stepper-progress-bar", inputs: ["ariaLabel", "hasDropdown", "dropDownLabel", "dropDownText"], outputs: ["eventClick"] }, { kind: "component", type: SirioStepperProgressItemComponent, selector: "ngx-sirio-stepper-progress-item", inputs: ["status", "hasNavigation", "screenReaderText", "label"] }, { kind: "component", type: DynamicFieldsComponent, selector: "app-dynamic-fields", inputs: ["rows", "formGroup", "language"] }], encapsulation: i0.ViewEncapsulation.None });
4465
4907
  }
4466
4908
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DynamicFormComponent, decorators: [{
4467
4909
  type: Component,
@@ -4470,15 +4912,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
4470
4912
  SirioSidenavMobileComponent, SirioSidenavComponent, SirioSidenavItemComponent,
4471
4913
  SirioButtonComponent, SirioStepperProgressBarComponent, SirioStepperProgressItemComponent,
4472
4914
  DynamicFieldsComponent], providers: [
4473
- EventService, ProgrammabilityService, RegisterService, MetadataService
4474
- ], encapsulation: ViewEncapsulation.None, template: "<form [formGroup]=\"formGroup\" class=\"ngs\">\r\n\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n\r\n <!-- #region progress -->\r\n <ngx-sirio-stepper-progress-bar *ngIf=\"showProgress\"\r\n (eventClick)=\"activateForm($event.data.label)\"\r\n [hasDropdown]=\"true\"\r\n [dropDownLabel]=\"locale(Texts, 'Show')\">\r\n <ng-container *ngFor=\"let form of forms, let formIndex = index\">\r\n <ngx-sirio-stepper-progress-item *ngIf=\"!evaluateBoolean(form.disabled)\"\r\n [hasNavigation]=\"true\"\r\n [status]=\"getFormStatus(form,formIndex)\"\r\n [label]=\"locale(form, 'title')\" />\r\n </ng-container>\r\n </ngx-sirio-stepper-progress-bar>\r\n <!-- #endregion -->\r\n\r\n <!-- #region form disable -->\r\n <ng-container *ngFor=\"let form of forms\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(form.disabled),\r\n formGroup: formGroup,\r\n path: form.path\r\n }\">\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <ng-container *ngIf=\"showNav\">\r\n\r\n <div class=\"col-md-4\">\r\n\r\n <!-- #region sidenav -->\r\n <ng-template #sidenavTemplate>\r\n <ngx-sirio-sidenav>\r\n <ng-container *ngFor=\"let form of forms, let sectionIndex = index\">\r\n <ng-container *ngIf=\"!evaluateBoolean(form.disabled)\">\r\n <ngx-sirio-sidenav-item [isActive]=\"activeNav == sectionIndex\"\r\n (click)=\"activeNav = sectionIndex\"\r\n (keydown.enter)=\"activeNav = sectionIndex\"\r\n tabindex=\"0\">\r\n {{ locale(form, 'title') }}\r\n </ngx-sirio-sidenav-item>\r\n </ng-container>\r\n </ng-container>\r\n </ngx-sirio-sidenav>\r\n </ng-template>\r\n\r\n <ngx-sirio-sidenav-mobile class=\"d-block d-lg-none\"\r\n [openMenuLabel]=\"locale(Texts, 'OpenMenu')\"\r\n [openMenuAriaLabel]=\"locale(Texts, 'OpenMenu')\"\r\n [closeMenuLabel]=\"locale(Texts, 'CloseMenu')\"\r\n closeMenuAriaLabel=\"locale(Texts, 'CloseMenu')\">\r\n <ng-container *ngTemplateOutlet=\"sidenavTemplate\"></ng-container>\r\n </ngx-sirio-sidenav-mobile>\r\n <div class=\"d-none d-lg-block\">\r\n <ng-container *ngTemplateOutlet=\"sidenavTemplate\"></ng-container>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n </div>\r\n\r\n <div class=\"col-md-1\">\r\n <div class=\"separator-horizontal\"></div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n <div class=\"content-element-form\" [ngClass]=\"showNav ? 'col-md-11' : 'col-md-16'\">\r\n\r\n <ng-container *ngFor=\"let form of forms, let sectionIndex = index\">\r\n <div *ngIf=\"activeNav == sectionIndex && !evaluateBoolean(form.disabled)\"\r\n #default\r\n [register]=\"form\"\r\n [componentRef]=\"default\">\r\n <h1 *ngIf=\"showFormTitle && form.title\" class=\"h3 form-title\">{{ locale(form, 'title') }}</h1>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(form.path)\"\r\n [rows]=\"form.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"showNavButton\">\r\n\r\n <div class=\"row section-navs\">\r\n <div class=\"col-8 col-md-8\">\r\n <ngx-sirio-button [color]=\"null\" *ngIf=\"canNext()\" (click)=\"goNext()\" class=\"nextSection\">\r\n {{ locale(Texts, 'NextSection') }}\r\n <span class=\"fa-solid fa-chevron-right\" style=\"margin-left: 10px\"></span>\r\n </ngx-sirio-button>\r\n </div>\r\n <div class=\"col-8 col-md-8\">\r\n <ngx-sirio-button [color]=\"null\" *ngIf=\"canPrevious()\" (click)=\"goPrevious()\" class=\"prevSection\">\r\n <span class=\"fa-solid fa-chevron-left\" style=\"margin-right: 10px\"></span>\r\n {{ locale(Texts, 'PreviousSection') }}\r\n </ngx-sirio-button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n</form>\r\n\r\n\r\n\r\n", styles: [".ngs .container,.ngs .container-fluid,.ngs .container-xxl,.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm{--ngsgutter-x: 1.5rem;--ngsgutter-y: 0;width:100%;padding-right:calc(var(--ngsgutter-x) * .5);padding-left:calc(var(--ngsgutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.ngs .container-sm,.ngs .container{max-width:540px}}@media (min-width: 768px){.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:720px}}@media (min-width: 992px){.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:960px}}@media (min-width: 1200px){.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:1140px}}@media (min-width: 1400px){.ngs .container-xxl,.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:1320px}}.ngs :root{--ngsbreakpoint-xs: 0;--ngsbreakpoint-sm: 576px;--ngsbreakpoint-md: 768px;--ngsbreakpoint-lg: 992px;--ngsbreakpoint-xl: 1200px;--ngsbreakpoint-xxl: 1400px}.ngs .row{--ngsgutter-x: 1.5rem;--ngsgutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--ngsgutter-y));margin-right:calc(-.5 * var(--ngsgutter-x));margin-left:calc(-.5 * var(--ngsgutter-x))}.ngs .row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--ngsgutter-x) * .5);padding-left:calc(var(--ngsgutter-x) * .5);margin-top:var(--ngsgutter-y)}.ngs .col{flex:1 0 0%}.ngs .row-cols-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-auto{flex:0 0 auto;width:auto}.ngs .col-1{flex:0 0 auto;width:6.25%}.ngs .col-2{flex:0 0 auto;width:12.5%}.ngs .col-3{flex:0 0 auto;width:18.75%}.ngs .col-4{flex:0 0 auto;width:25%}.ngs .col-5{flex:0 0 auto;width:31.25%}.ngs .col-6{flex:0 0 auto;width:37.5%}.ngs .col-7{flex:0 0 auto;width:43.75%}.ngs .col-8{flex:0 0 auto;width:50%}.ngs .col-9{flex:0 0 auto;width:56.25%}.ngs .col-10{flex:0 0 auto;width:62.5%}.ngs .col-11{flex:0 0 auto;width:68.75%}.ngs .col-12{flex:0 0 auto;width:75%}.ngs .col-13{flex:0 0 auto;width:81.25%}.ngs .col-14{flex:0 0 auto;width:87.5%}.ngs .col-15{flex:0 0 auto;width:93.75%}.ngs .col-16{flex:0 0 auto;width:100%}.ngs .offset-1{margin-left:6.25%}.ngs .offset-2{margin-left:12.5%}.ngs .offset-3{margin-left:18.75%}.ngs .offset-4{margin-left:25%}.ngs .offset-5{margin-left:31.25%}.ngs .offset-6{margin-left:37.5%}.ngs .offset-7{margin-left:43.75%}.ngs .offset-8{margin-left:50%}.ngs .offset-9{margin-left:56.25%}.ngs .offset-10{margin-left:62.5%}.ngs .offset-11{margin-left:68.75%}.ngs .offset-12{margin-left:75%}.ngs .offset-13{margin-left:81.25%}.ngs .offset-14{margin-left:87.5%}.ngs .offset-15{margin-left:93.75%}.ngs .g-0,.ngs .gx-0{--ngsgutter-x: 0}.ngs .g-0,.ngs .gy-0{--ngsgutter-y: 0}.ngs .g-1,.ngs .gx-1{--ngsgutter-x: .25rem}.ngs .g-1,.ngs .gy-1{--ngsgutter-y: .25rem}.ngs .g-2,.ngs .gx-2{--ngsgutter-x: .5rem}.ngs .g-2,.ngs .gy-2{--ngsgutter-y: .5rem}.ngs .g-3,.ngs .gx-3{--ngsgutter-x: 1rem}.ngs .g-3,.ngs .gy-3{--ngsgutter-y: 1rem}.ngs .g-4,.ngs .gx-4{--ngsgutter-x: 1.5rem}.ngs .g-4,.ngs .gy-4{--ngsgutter-y: 1.5rem}.ngs .g-5,.ngs .gx-5{--ngsgutter-x: 3rem}.ngs .g-5,.ngs .gy-5{--ngsgutter-y: 3rem}@media (min-width: 576px){.ngs .col-sm{flex:1 0 0%}.ngs .row-cols-sm-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-sm-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-sm-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-sm-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-sm-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-sm-auto{flex:0 0 auto;width:auto}.ngs .col-sm-1{flex:0 0 auto;width:6.25%}.ngs .col-sm-2{flex:0 0 auto;width:12.5%}.ngs .col-sm-3{flex:0 0 auto;width:18.75%}.ngs .col-sm-4{flex:0 0 auto;width:25%}.ngs .col-sm-5{flex:0 0 auto;width:31.25%}.ngs .col-sm-6{flex:0 0 auto;width:37.5%}.ngs .col-sm-7{flex:0 0 auto;width:43.75%}.ngs .col-sm-8{flex:0 0 auto;width:50%}.ngs .col-sm-9{flex:0 0 auto;width:56.25%}.ngs .col-sm-10{flex:0 0 auto;width:62.5%}.ngs .col-sm-11{flex:0 0 auto;width:68.75%}.ngs .col-sm-12{flex:0 0 auto;width:75%}.ngs .col-sm-13{flex:0 0 auto;width:81.25%}.ngs .col-sm-14{flex:0 0 auto;width:87.5%}.ngs .col-sm-15{flex:0 0 auto;width:93.75%}.ngs .col-sm-16{flex:0 0 auto;width:100%}.ngs .offset-sm-0{margin-left:0}.ngs .offset-sm-1{margin-left:6.25%}.ngs .offset-sm-2{margin-left:12.5%}.ngs .offset-sm-3{margin-left:18.75%}.ngs .offset-sm-4{margin-left:25%}.ngs .offset-sm-5{margin-left:31.25%}.ngs .offset-sm-6{margin-left:37.5%}.ngs .offset-sm-7{margin-left:43.75%}.ngs .offset-sm-8{margin-left:50%}.ngs .offset-sm-9{margin-left:56.25%}.ngs .offset-sm-10{margin-left:62.5%}.ngs .offset-sm-11{margin-left:68.75%}.ngs .offset-sm-12{margin-left:75%}.ngs .offset-sm-13{margin-left:81.25%}.ngs .offset-sm-14{margin-left:87.5%}.ngs .offset-sm-15{margin-left:93.75%}.ngs .g-sm-0,.ngs .gx-sm-0{--ngsgutter-x: 0}.ngs .g-sm-0,.ngs .gy-sm-0{--ngsgutter-y: 0}.ngs .g-sm-1,.ngs .gx-sm-1{--ngsgutter-x: .25rem}.ngs .g-sm-1,.ngs .gy-sm-1{--ngsgutter-y: .25rem}.ngs .g-sm-2,.ngs .gx-sm-2{--ngsgutter-x: .5rem}.ngs .g-sm-2,.ngs .gy-sm-2{--ngsgutter-y: .5rem}.ngs .g-sm-3,.ngs .gx-sm-3{--ngsgutter-x: 1rem}.ngs .g-sm-3,.ngs .gy-sm-3{--ngsgutter-y: 1rem}.ngs .g-sm-4,.ngs .gx-sm-4{--ngsgutter-x: 1.5rem}.ngs .g-sm-4,.ngs .gy-sm-4{--ngsgutter-y: 1.5rem}.ngs .g-sm-5,.ngs .gx-sm-5{--ngsgutter-x: 3rem}.ngs .g-sm-5,.ngs .gy-sm-5{--ngsgutter-y: 3rem}}@media (min-width: 768px){.ngs .col-md{flex:1 0 0%}.ngs .row-cols-md-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-md-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-md-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-md-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-md-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-md-auto{flex:0 0 auto;width:auto}.ngs .col-md-1{flex:0 0 auto;width:6.25%}.ngs .col-md-2{flex:0 0 auto;width:12.5%}.ngs .col-md-3{flex:0 0 auto;width:18.75%}.ngs .col-md-4{flex:0 0 auto;width:25%}.ngs .col-md-5{flex:0 0 auto;width:31.25%}.ngs .col-md-6{flex:0 0 auto;width:37.5%}.ngs .col-md-7{flex:0 0 auto;width:43.75%}.ngs .col-md-8{flex:0 0 auto;width:50%}.ngs .col-md-9{flex:0 0 auto;width:56.25%}.ngs .col-md-10{flex:0 0 auto;width:62.5%}.ngs .col-md-11{flex:0 0 auto;width:68.75%}.ngs .col-md-12{flex:0 0 auto;width:75%}.ngs .col-md-13{flex:0 0 auto;width:81.25%}.ngs .col-md-14{flex:0 0 auto;width:87.5%}.ngs .col-md-15{flex:0 0 auto;width:93.75%}.ngs .col-md-16{flex:0 0 auto;width:100%}.ngs .offset-md-0{margin-left:0}.ngs .offset-md-1{margin-left:6.25%}.ngs .offset-md-2{margin-left:12.5%}.ngs .offset-md-3{margin-left:18.75%}.ngs .offset-md-4{margin-left:25%}.ngs .offset-md-5{margin-left:31.25%}.ngs .offset-md-6{margin-left:37.5%}.ngs .offset-md-7{margin-left:43.75%}.ngs .offset-md-8{margin-left:50%}.ngs .offset-md-9{margin-left:56.25%}.ngs .offset-md-10{margin-left:62.5%}.ngs .offset-md-11{margin-left:68.75%}.ngs .offset-md-12{margin-left:75%}.ngs .offset-md-13{margin-left:81.25%}.ngs .offset-md-14{margin-left:87.5%}.ngs .offset-md-15{margin-left:93.75%}.ngs .g-md-0,.ngs .gx-md-0{--ngsgutter-x: 0}.ngs .g-md-0,.ngs .gy-md-0{--ngsgutter-y: 0}.ngs .g-md-1,.ngs .gx-md-1{--ngsgutter-x: .25rem}.ngs .g-md-1,.ngs .gy-md-1{--ngsgutter-y: .25rem}.ngs .g-md-2,.ngs .gx-md-2{--ngsgutter-x: .5rem}.ngs .g-md-2,.ngs .gy-md-2{--ngsgutter-y: .5rem}.ngs .g-md-3,.ngs .gx-md-3{--ngsgutter-x: 1rem}.ngs .g-md-3,.ngs .gy-md-3{--ngsgutter-y: 1rem}.ngs .g-md-4,.ngs .gx-md-4{--ngsgutter-x: 1.5rem}.ngs .g-md-4,.ngs .gy-md-4{--ngsgutter-y: 1.5rem}.ngs .g-md-5,.ngs .gx-md-5{--ngsgutter-x: 3rem}.ngs .g-md-5,.ngs .gy-md-5{--ngsgutter-y: 3rem}}@media (min-width: 992px){.ngs .col-lg{flex:1 0 0%}.ngs .row-cols-lg-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-lg-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-lg-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-lg-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-lg-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-lg-auto{flex:0 0 auto;width:auto}.ngs .col-lg-1{flex:0 0 auto;width:6.25%}.ngs .col-lg-2{flex:0 0 auto;width:12.5%}.ngs .col-lg-3{flex:0 0 auto;width:18.75%}.ngs .col-lg-4{flex:0 0 auto;width:25%}.ngs .col-lg-5{flex:0 0 auto;width:31.25%}.ngs .col-lg-6{flex:0 0 auto;width:37.5%}.ngs .col-lg-7{flex:0 0 auto;width:43.75%}.ngs .col-lg-8{flex:0 0 auto;width:50%}.ngs .col-lg-9{flex:0 0 auto;width:56.25%}.ngs .col-lg-10{flex:0 0 auto;width:62.5%}.ngs .col-lg-11{flex:0 0 auto;width:68.75%}.ngs .col-lg-12{flex:0 0 auto;width:75%}.ngs .col-lg-13{flex:0 0 auto;width:81.25%}.ngs .col-lg-14{flex:0 0 auto;width:87.5%}.ngs .col-lg-15{flex:0 0 auto;width:93.75%}.ngs .col-lg-16{flex:0 0 auto;width:100%}.ngs .offset-lg-0{margin-left:0}.ngs .offset-lg-1{margin-left:6.25%}.ngs .offset-lg-2{margin-left:12.5%}.ngs .offset-lg-3{margin-left:18.75%}.ngs .offset-lg-4{margin-left:25%}.ngs .offset-lg-5{margin-left:31.25%}.ngs .offset-lg-6{margin-left:37.5%}.ngs .offset-lg-7{margin-left:43.75%}.ngs .offset-lg-8{margin-left:50%}.ngs .offset-lg-9{margin-left:56.25%}.ngs .offset-lg-10{margin-left:62.5%}.ngs .offset-lg-11{margin-left:68.75%}.ngs .offset-lg-12{margin-left:75%}.ngs .offset-lg-13{margin-left:81.25%}.ngs .offset-lg-14{margin-left:87.5%}.ngs .offset-lg-15{margin-left:93.75%}.ngs .g-lg-0,.ngs .gx-lg-0{--ngsgutter-x: 0}.ngs .g-lg-0,.ngs .gy-lg-0{--ngsgutter-y: 0}.ngs .g-lg-1,.ngs .gx-lg-1{--ngsgutter-x: .25rem}.ngs .g-lg-1,.ngs .gy-lg-1{--ngsgutter-y: .25rem}.ngs .g-lg-2,.ngs .gx-lg-2{--ngsgutter-x: .5rem}.ngs .g-lg-2,.ngs .gy-lg-2{--ngsgutter-y: .5rem}.ngs .g-lg-3,.ngs .gx-lg-3{--ngsgutter-x: 1rem}.ngs .g-lg-3,.ngs .gy-lg-3{--ngsgutter-y: 1rem}.ngs .g-lg-4,.ngs .gx-lg-4{--ngsgutter-x: 1.5rem}.ngs .g-lg-4,.ngs .gy-lg-4{--ngsgutter-y: 1.5rem}.ngs .g-lg-5,.ngs .gx-lg-5{--ngsgutter-x: 3rem}.ngs .g-lg-5,.ngs .gy-lg-5{--ngsgutter-y: 3rem}}@media (min-width: 1200px){.ngs .col-xl{flex:1 0 0%}.ngs .row-cols-xl-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-xl-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-xl-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-xl-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-xl-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-xl-auto{flex:0 0 auto;width:auto}.ngs .col-xl-1{flex:0 0 auto;width:6.25%}.ngs .col-xl-2{flex:0 0 auto;width:12.5%}.ngs .col-xl-3{flex:0 0 auto;width:18.75%}.ngs .col-xl-4{flex:0 0 auto;width:25%}.ngs .col-xl-5{flex:0 0 auto;width:31.25%}.ngs .col-xl-6{flex:0 0 auto;width:37.5%}.ngs .col-xl-7{flex:0 0 auto;width:43.75%}.ngs .col-xl-8{flex:0 0 auto;width:50%}.ngs .col-xl-9{flex:0 0 auto;width:56.25%}.ngs .col-xl-10{flex:0 0 auto;width:62.5%}.ngs .col-xl-11{flex:0 0 auto;width:68.75%}.ngs .col-xl-12{flex:0 0 auto;width:75%}.ngs .col-xl-13{flex:0 0 auto;width:81.25%}.ngs .col-xl-14{flex:0 0 auto;width:87.5%}.ngs .col-xl-15{flex:0 0 auto;width:93.75%}.ngs .col-xl-16{flex:0 0 auto;width:100%}.ngs .offset-xl-0{margin-left:0}.ngs .offset-xl-1{margin-left:6.25%}.ngs .offset-xl-2{margin-left:12.5%}.ngs .offset-xl-3{margin-left:18.75%}.ngs .offset-xl-4{margin-left:25%}.ngs .offset-xl-5{margin-left:31.25%}.ngs .offset-xl-6{margin-left:37.5%}.ngs .offset-xl-7{margin-left:43.75%}.ngs .offset-xl-8{margin-left:50%}.ngs .offset-xl-9{margin-left:56.25%}.ngs .offset-xl-10{margin-left:62.5%}.ngs .offset-xl-11{margin-left:68.75%}.ngs .offset-xl-12{margin-left:75%}.ngs .offset-xl-13{margin-left:81.25%}.ngs .offset-xl-14{margin-left:87.5%}.ngs .offset-xl-15{margin-left:93.75%}.ngs .g-xl-0,.ngs .gx-xl-0{--ngsgutter-x: 0}.ngs .g-xl-0,.ngs .gy-xl-0{--ngsgutter-y: 0}.ngs .g-xl-1,.ngs .gx-xl-1{--ngsgutter-x: .25rem}.ngs .g-xl-1,.ngs .gy-xl-1{--ngsgutter-y: .25rem}.ngs .g-xl-2,.ngs .gx-xl-2{--ngsgutter-x: .5rem}.ngs .g-xl-2,.ngs .gy-xl-2{--ngsgutter-y: .5rem}.ngs .g-xl-3,.ngs .gx-xl-3{--ngsgutter-x: 1rem}.ngs .g-xl-3,.ngs .gy-xl-3{--ngsgutter-y: 1rem}.ngs .g-xl-4,.ngs .gx-xl-4{--ngsgutter-x: 1.5rem}.ngs .g-xl-4,.ngs .gy-xl-4{--ngsgutter-y: 1.5rem}.ngs .g-xl-5,.ngs .gx-xl-5{--ngsgutter-x: 3rem}.ngs .g-xl-5,.ngs .gy-xl-5{--ngsgutter-y: 3rem}}@media (min-width: 1400px){.ngs .col-xxl{flex:1 0 0%}.ngs .row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-xxl-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-xxl-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-xxl-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-xxl-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-xxl-auto{flex:0 0 auto;width:auto}.ngs .col-xxl-1{flex:0 0 auto;width:6.25%}.ngs .col-xxl-2{flex:0 0 auto;width:12.5%}.ngs .col-xxl-3{flex:0 0 auto;width:18.75%}.ngs .col-xxl-4{flex:0 0 auto;width:25%}.ngs .col-xxl-5{flex:0 0 auto;width:31.25%}.ngs .col-xxl-6{flex:0 0 auto;width:37.5%}.ngs .col-xxl-7{flex:0 0 auto;width:43.75%}.ngs .col-xxl-8{flex:0 0 auto;width:50%}.ngs .col-xxl-9{flex:0 0 auto;width:56.25%}.ngs .col-xxl-10{flex:0 0 auto;width:62.5%}.ngs .col-xxl-11{flex:0 0 auto;width:68.75%}.ngs .col-xxl-12{flex:0 0 auto;width:75%}.ngs .col-xxl-13{flex:0 0 auto;width:81.25%}.ngs .col-xxl-14{flex:0 0 auto;width:87.5%}.ngs .col-xxl-15{flex:0 0 auto;width:93.75%}.ngs .col-xxl-16{flex:0 0 auto;width:100%}.ngs .offset-xxl-0{margin-left:0}.ngs .offset-xxl-1{margin-left:6.25%}.ngs .offset-xxl-2{margin-left:12.5%}.ngs .offset-xxl-3{margin-left:18.75%}.ngs .offset-xxl-4{margin-left:25%}.ngs .offset-xxl-5{margin-left:31.25%}.ngs .offset-xxl-6{margin-left:37.5%}.ngs .offset-xxl-7{margin-left:43.75%}.ngs .offset-xxl-8{margin-left:50%}.ngs .offset-xxl-9{margin-left:56.25%}.ngs .offset-xxl-10{margin-left:62.5%}.ngs .offset-xxl-11{margin-left:68.75%}.ngs .offset-xxl-12{margin-left:75%}.ngs .offset-xxl-13{margin-left:81.25%}.ngs .offset-xxl-14{margin-left:87.5%}.ngs .offset-xxl-15{margin-left:93.75%}.ngs .g-xxl-0,.ngs .gx-xxl-0{--ngsgutter-x: 0}.ngs .g-xxl-0,.ngs .gy-xxl-0{--ngsgutter-y: 0}.ngs .g-xxl-1,.ngs .gx-xxl-1{--ngsgutter-x: .25rem}.ngs .g-xxl-1,.ngs .gy-xxl-1{--ngsgutter-y: .25rem}.ngs .g-xxl-2,.ngs .gx-xxl-2{--ngsgutter-x: .5rem}.ngs .g-xxl-2,.ngs .gy-xxl-2{--ngsgutter-y: .5rem}.ngs .g-xxl-3,.ngs .gx-xxl-3{--ngsgutter-x: 1rem}.ngs .g-xxl-3,.ngs .gy-xxl-3{--ngsgutter-y: 1rem}.ngs .g-xxl-4,.ngs .gx-xxl-4{--ngsgutter-x: 1.5rem}.ngs .g-xxl-4,.ngs .gy-xxl-4{--ngsgutter-y: 1.5rem}.ngs .g-xxl-5,.ngs .gx-xxl-5{--ngsgutter-x: 3rem}.ngs .g-xxl-5,.ngs .gy-xxl-5{--ngsgutter-y: 3rem}}.ngs .d-inline{display:inline!important}.ngs .d-inline-block{display:inline-block!important}.ngs .d-block{display:block!important}.ngs .d-grid{display:grid!important}.ngs .d-inline-grid{display:inline-grid!important}.ngs .d-table{display:table!important}.ngs .d-table-row{display:table-row!important}.ngs .d-table-cell{display:table-cell!important}.ngs .d-flex{display:flex!important}.ngs .d-inline-flex{display:inline-flex!important}.ngs .d-none{display:none!important}.ngs .flex-fill{flex:1 1 auto!important}.ngs .flex-row{flex-direction:row!important}.ngs .flex-column{flex-direction:column!important}.ngs .flex-row-reverse{flex-direction:row-reverse!important}.ngs .flex-column-reverse{flex-direction:column-reverse!important}.ngs .flex-grow-0{flex-grow:0!important}.ngs .flex-grow-1{flex-grow:1!important}.ngs .flex-shrink-0{flex-shrink:0!important}.ngs .flex-shrink-1{flex-shrink:1!important}.ngs .flex-wrap{flex-wrap:wrap!important}.ngs .flex-nowrap{flex-wrap:nowrap!important}.ngs .flex-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-start{justify-content:flex-start!important}.ngs .justify-content-end{justify-content:flex-end!important}.ngs .justify-content-center{justify-content:center!important}.ngs .justify-content-between{justify-content:space-between!important}.ngs .justify-content-around{justify-content:space-around!important}.ngs .justify-content-evenly{justify-content:space-evenly!important}.ngs .align-items-start{align-items:flex-start!important}.ngs .align-items-end{align-items:flex-end!important}.ngs .align-items-center{align-items:center!important}.ngs .align-items-baseline{align-items:baseline!important}.ngs .align-items-stretch{align-items:stretch!important}.ngs .align-content-start{align-content:flex-start!important}.ngs .align-content-end{align-content:flex-end!important}.ngs .align-content-center{align-content:center!important}.ngs .align-content-between{align-content:space-between!important}.ngs .align-content-around{align-content:space-around!important}.ngs .align-content-stretch{align-content:stretch!important}.ngs .align-self-auto{align-self:auto!important}.ngs .align-self-start{align-self:flex-start!important}.ngs .align-self-end{align-self:flex-end!important}.ngs .align-self-center{align-self:center!important}.ngs .align-self-baseline{align-self:baseline!important}.ngs .align-self-stretch{align-self:stretch!important}.ngs .order-first{order:-1!important}.ngs .order-0{order:0!important}.ngs .order-1{order:1!important}.ngs .order-2{order:2!important}.ngs .order-3{order:3!important}.ngs .order-4{order:4!important}.ngs .order-5{order:5!important}.ngs .order-last{order:6!important}.ngs .m-0{margin:0!important}.ngs .m-1{margin:.25rem!important}.ngs .m-2{margin:.5rem!important}.ngs .m-3{margin:1rem!important}.ngs .m-4{margin:1.5rem!important}.ngs .m-5{margin:3rem!important}.ngs .m-auto{margin:auto!important}.ngs .mx-0{margin-right:0!important;margin-left:0!important}.ngs .mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-0{margin-top:0!important}.ngs .mt-1{margin-top:.25rem!important}.ngs .mt-2{margin-top:.5rem!important}.ngs .mt-3{margin-top:1rem!important}.ngs .mt-4{margin-top:1.5rem!important}.ngs .mt-5{margin-top:3rem!important}.ngs .mt-auto{margin-top:auto!important}.ngs .me-0{margin-right:0!important}.ngs .me-1{margin-right:.25rem!important}.ngs .me-2{margin-right:.5rem!important}.ngs .me-3{margin-right:1rem!important}.ngs .me-4{margin-right:1.5rem!important}.ngs .me-5{margin-right:3rem!important}.ngs .me-auto{margin-right:auto!important}.ngs .mb-0{margin-bottom:0!important}.ngs .mb-1{margin-bottom:.25rem!important}.ngs .mb-2{margin-bottom:.5rem!important}.ngs .mb-3{margin-bottom:1rem!important}.ngs .mb-4{margin-bottom:1.5rem!important}.ngs .mb-5{margin-bottom:3rem!important}.ngs .mb-auto{margin-bottom:auto!important}.ngs .ms-0{margin-left:0!important}.ngs .ms-1{margin-left:.25rem!important}.ngs .ms-2{margin-left:.5rem!important}.ngs .ms-3{margin-left:1rem!important}.ngs .ms-4{margin-left:1.5rem!important}.ngs .ms-5{margin-left:3rem!important}.ngs .ms-auto{margin-left:auto!important}.ngs .p-0{padding:0!important}.ngs .p-1{padding:.25rem!important}.ngs .p-2{padding:.5rem!important}.ngs .p-3{padding:1rem!important}.ngs .p-4{padding:1.5rem!important}.ngs .p-5{padding:3rem!important}.ngs .px-0{padding-right:0!important;padding-left:0!important}.ngs .px-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-0{padding-top:0!important}.ngs .pt-1{padding-top:.25rem!important}.ngs .pt-2{padding-top:.5rem!important}.ngs .pt-3{padding-top:1rem!important}.ngs .pt-4{padding-top:1.5rem!important}.ngs .pt-5{padding-top:3rem!important}.ngs .pe-0{padding-right:0!important}.ngs .pe-1{padding-right:.25rem!important}.ngs .pe-2{padding-right:.5rem!important}.ngs .pe-3{padding-right:1rem!important}.ngs .pe-4{padding-right:1.5rem!important}.ngs .pe-5{padding-right:3rem!important}.ngs .pb-0{padding-bottom:0!important}.ngs .pb-1{padding-bottom:.25rem!important}.ngs .pb-2{padding-bottom:.5rem!important}.ngs .pb-3{padding-bottom:1rem!important}.ngs .pb-4{padding-bottom:1.5rem!important}.ngs .pb-5{padding-bottom:3rem!important}.ngs .ps-0{padding-left:0!important}.ngs .ps-1{padding-left:.25rem!important}.ngs .ps-2{padding-left:.5rem!important}.ngs .ps-3{padding-left:1rem!important}.ngs .ps-4{padding-left:1.5rem!important}.ngs .ps-5{padding-left:3rem!important}@media (min-width: 576px){.ngs .d-sm-inline{display:inline!important}.ngs .d-sm-inline-block{display:inline-block!important}.ngs .d-sm-block{display:block!important}.ngs .d-sm-grid{display:grid!important}.ngs .d-sm-inline-grid{display:inline-grid!important}.ngs .d-sm-table{display:table!important}.ngs .d-sm-table-row{display:table-row!important}.ngs .d-sm-table-cell{display:table-cell!important}.ngs .d-sm-flex{display:flex!important}.ngs .d-sm-inline-flex{display:inline-flex!important}.ngs .d-sm-none{display:none!important}.ngs .flex-sm-fill{flex:1 1 auto!important}.ngs .flex-sm-row{flex-direction:row!important}.ngs .flex-sm-column{flex-direction:column!important}.ngs .flex-sm-row-reverse{flex-direction:row-reverse!important}.ngs .flex-sm-column-reverse{flex-direction:column-reverse!important}.ngs .flex-sm-grow-0{flex-grow:0!important}.ngs .flex-sm-grow-1{flex-grow:1!important}.ngs .flex-sm-shrink-0{flex-shrink:0!important}.ngs .flex-sm-shrink-1{flex-shrink:1!important}.ngs .flex-sm-wrap{flex-wrap:wrap!important}.ngs .flex-sm-nowrap{flex-wrap:nowrap!important}.ngs .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-sm-start{justify-content:flex-start!important}.ngs .justify-content-sm-end{justify-content:flex-end!important}.ngs .justify-content-sm-center{justify-content:center!important}.ngs .justify-content-sm-between{justify-content:space-between!important}.ngs .justify-content-sm-around{justify-content:space-around!important}.ngs .justify-content-sm-evenly{justify-content:space-evenly!important}.ngs .align-items-sm-start{align-items:flex-start!important}.ngs .align-items-sm-end{align-items:flex-end!important}.ngs .align-items-sm-center{align-items:center!important}.ngs .align-items-sm-baseline{align-items:baseline!important}.ngs .align-items-sm-stretch{align-items:stretch!important}.ngs .align-content-sm-start{align-content:flex-start!important}.ngs .align-content-sm-end{align-content:flex-end!important}.ngs .align-content-sm-center{align-content:center!important}.ngs .align-content-sm-between{align-content:space-between!important}.ngs .align-content-sm-around{align-content:space-around!important}.ngs .align-content-sm-stretch{align-content:stretch!important}.ngs .align-self-sm-auto{align-self:auto!important}.ngs .align-self-sm-start{align-self:flex-start!important}.ngs .align-self-sm-end{align-self:flex-end!important}.ngs .align-self-sm-center{align-self:center!important}.ngs .align-self-sm-baseline{align-self:baseline!important}.ngs .align-self-sm-stretch{align-self:stretch!important}.ngs .order-sm-first{order:-1!important}.ngs .order-sm-0{order:0!important}.ngs .order-sm-1{order:1!important}.ngs .order-sm-2{order:2!important}.ngs .order-sm-3{order:3!important}.ngs .order-sm-4{order:4!important}.ngs .order-sm-5{order:5!important}.ngs .order-sm-last{order:6!important}.ngs .m-sm-0{margin:0!important}.ngs .m-sm-1{margin:.25rem!important}.ngs .m-sm-2{margin:.5rem!important}.ngs .m-sm-3{margin:1rem!important}.ngs .m-sm-4{margin:1.5rem!important}.ngs .m-sm-5{margin:3rem!important}.ngs .m-sm-auto{margin:auto!important}.ngs .mx-sm-0{margin-right:0!important;margin-left:0!important}.ngs .mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-sm-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-sm-0{margin-top:0!important}.ngs .mt-sm-1{margin-top:.25rem!important}.ngs .mt-sm-2{margin-top:.5rem!important}.ngs .mt-sm-3{margin-top:1rem!important}.ngs .mt-sm-4{margin-top:1.5rem!important}.ngs .mt-sm-5{margin-top:3rem!important}.ngs .mt-sm-auto{margin-top:auto!important}.ngs .me-sm-0{margin-right:0!important}.ngs .me-sm-1{margin-right:.25rem!important}.ngs .me-sm-2{margin-right:.5rem!important}.ngs .me-sm-3{margin-right:1rem!important}.ngs .me-sm-4{margin-right:1.5rem!important}.ngs .me-sm-5{margin-right:3rem!important}.ngs .me-sm-auto{margin-right:auto!important}.ngs .mb-sm-0{margin-bottom:0!important}.ngs .mb-sm-1{margin-bottom:.25rem!important}.ngs .mb-sm-2{margin-bottom:.5rem!important}.ngs .mb-sm-3{margin-bottom:1rem!important}.ngs .mb-sm-4{margin-bottom:1.5rem!important}.ngs .mb-sm-5{margin-bottom:3rem!important}.ngs .mb-sm-auto{margin-bottom:auto!important}.ngs .ms-sm-0{margin-left:0!important}.ngs .ms-sm-1{margin-left:.25rem!important}.ngs .ms-sm-2{margin-left:.5rem!important}.ngs .ms-sm-3{margin-left:1rem!important}.ngs .ms-sm-4{margin-left:1.5rem!important}.ngs .ms-sm-5{margin-left:3rem!important}.ngs .ms-sm-auto{margin-left:auto!important}.ngs .p-sm-0{padding:0!important}.ngs .p-sm-1{padding:.25rem!important}.ngs .p-sm-2{padding:.5rem!important}.ngs .p-sm-3{padding:1rem!important}.ngs .p-sm-4{padding:1.5rem!important}.ngs .p-sm-5{padding:3rem!important}.ngs .px-sm-0{padding-right:0!important;padding-left:0!important}.ngs .px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-sm-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-sm-0{padding-top:0!important}.ngs .pt-sm-1{padding-top:.25rem!important}.ngs .pt-sm-2{padding-top:.5rem!important}.ngs .pt-sm-3{padding-top:1rem!important}.ngs .pt-sm-4{padding-top:1.5rem!important}.ngs .pt-sm-5{padding-top:3rem!important}.ngs .pe-sm-0{padding-right:0!important}.ngs .pe-sm-1{padding-right:.25rem!important}.ngs .pe-sm-2{padding-right:.5rem!important}.ngs .pe-sm-3{padding-right:1rem!important}.ngs .pe-sm-4{padding-right:1.5rem!important}.ngs .pe-sm-5{padding-right:3rem!important}.ngs .pb-sm-0{padding-bottom:0!important}.ngs .pb-sm-1{padding-bottom:.25rem!important}.ngs .pb-sm-2{padding-bottom:.5rem!important}.ngs .pb-sm-3{padding-bottom:1rem!important}.ngs .pb-sm-4{padding-bottom:1.5rem!important}.ngs .pb-sm-5{padding-bottom:3rem!important}.ngs .ps-sm-0{padding-left:0!important}.ngs .ps-sm-1{padding-left:.25rem!important}.ngs .ps-sm-2{padding-left:.5rem!important}.ngs .ps-sm-3{padding-left:1rem!important}.ngs .ps-sm-4{padding-left:1.5rem!important}.ngs .ps-sm-5{padding-left:3rem!important}}@media (min-width: 768px){.ngs .d-md-inline{display:inline!important}.ngs .d-md-inline-block{display:inline-block!important}.ngs .d-md-block{display:block!important}.ngs .d-md-grid{display:grid!important}.ngs .d-md-inline-grid{display:inline-grid!important}.ngs .d-md-table{display:table!important}.ngs .d-md-table-row{display:table-row!important}.ngs .d-md-table-cell{display:table-cell!important}.ngs .d-md-flex{display:flex!important}.ngs .d-md-inline-flex{display:inline-flex!important}.ngs .d-md-none{display:none!important}.ngs .flex-md-fill{flex:1 1 auto!important}.ngs .flex-md-row{flex-direction:row!important}.ngs .flex-md-column{flex-direction:column!important}.ngs .flex-md-row-reverse{flex-direction:row-reverse!important}.ngs .flex-md-column-reverse{flex-direction:column-reverse!important}.ngs .flex-md-grow-0{flex-grow:0!important}.ngs .flex-md-grow-1{flex-grow:1!important}.ngs .flex-md-shrink-0{flex-shrink:0!important}.ngs .flex-md-shrink-1{flex-shrink:1!important}.ngs .flex-md-wrap{flex-wrap:wrap!important}.ngs .flex-md-nowrap{flex-wrap:nowrap!important}.ngs .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-md-start{justify-content:flex-start!important}.ngs .justify-content-md-end{justify-content:flex-end!important}.ngs .justify-content-md-center{justify-content:center!important}.ngs .justify-content-md-between{justify-content:space-between!important}.ngs .justify-content-md-around{justify-content:space-around!important}.ngs .justify-content-md-evenly{justify-content:space-evenly!important}.ngs .align-items-md-start{align-items:flex-start!important}.ngs .align-items-md-end{align-items:flex-end!important}.ngs .align-items-md-center{align-items:center!important}.ngs .align-items-md-baseline{align-items:baseline!important}.ngs .align-items-md-stretch{align-items:stretch!important}.ngs .align-content-md-start{align-content:flex-start!important}.ngs .align-content-md-end{align-content:flex-end!important}.ngs .align-content-md-center{align-content:center!important}.ngs .align-content-md-between{align-content:space-between!important}.ngs .align-content-md-around{align-content:space-around!important}.ngs .align-content-md-stretch{align-content:stretch!important}.ngs .align-self-md-auto{align-self:auto!important}.ngs .align-self-md-start{align-self:flex-start!important}.ngs .align-self-md-end{align-self:flex-end!important}.ngs .align-self-md-center{align-self:center!important}.ngs .align-self-md-baseline{align-self:baseline!important}.ngs .align-self-md-stretch{align-self:stretch!important}.ngs .order-md-first{order:-1!important}.ngs .order-md-0{order:0!important}.ngs .order-md-1{order:1!important}.ngs .order-md-2{order:2!important}.ngs .order-md-3{order:3!important}.ngs .order-md-4{order:4!important}.ngs .order-md-5{order:5!important}.ngs .order-md-last{order:6!important}.ngs .m-md-0{margin:0!important}.ngs .m-md-1{margin:.25rem!important}.ngs .m-md-2{margin:.5rem!important}.ngs .m-md-3{margin:1rem!important}.ngs .m-md-4{margin:1.5rem!important}.ngs .m-md-5{margin:3rem!important}.ngs .m-md-auto{margin:auto!important}.ngs .mx-md-0{margin-right:0!important;margin-left:0!important}.ngs .mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-md-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-md-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-md-0{margin-top:0!important}.ngs .mt-md-1{margin-top:.25rem!important}.ngs .mt-md-2{margin-top:.5rem!important}.ngs .mt-md-3{margin-top:1rem!important}.ngs .mt-md-4{margin-top:1.5rem!important}.ngs .mt-md-5{margin-top:3rem!important}.ngs .mt-md-auto{margin-top:auto!important}.ngs .me-md-0{margin-right:0!important}.ngs .me-md-1{margin-right:.25rem!important}.ngs .me-md-2{margin-right:.5rem!important}.ngs .me-md-3{margin-right:1rem!important}.ngs .me-md-4{margin-right:1.5rem!important}.ngs .me-md-5{margin-right:3rem!important}.ngs .me-md-auto{margin-right:auto!important}.ngs .mb-md-0{margin-bottom:0!important}.ngs .mb-md-1{margin-bottom:.25rem!important}.ngs .mb-md-2{margin-bottom:.5rem!important}.ngs .mb-md-3{margin-bottom:1rem!important}.ngs .mb-md-4{margin-bottom:1.5rem!important}.ngs .mb-md-5{margin-bottom:3rem!important}.ngs .mb-md-auto{margin-bottom:auto!important}.ngs .ms-md-0{margin-left:0!important}.ngs .ms-md-1{margin-left:.25rem!important}.ngs .ms-md-2{margin-left:.5rem!important}.ngs .ms-md-3{margin-left:1rem!important}.ngs .ms-md-4{margin-left:1.5rem!important}.ngs .ms-md-5{margin-left:3rem!important}.ngs .ms-md-auto{margin-left:auto!important}.ngs .p-md-0{padding:0!important}.ngs .p-md-1{padding:.25rem!important}.ngs .p-md-2{padding:.5rem!important}.ngs .p-md-3{padding:1rem!important}.ngs .p-md-4{padding:1.5rem!important}.ngs .p-md-5{padding:3rem!important}.ngs .px-md-0{padding-right:0!important;padding-left:0!important}.ngs .px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-md-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-md-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-md-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-md-0{padding-top:0!important}.ngs .pt-md-1{padding-top:.25rem!important}.ngs .pt-md-2{padding-top:.5rem!important}.ngs .pt-md-3{padding-top:1rem!important}.ngs .pt-md-4{padding-top:1.5rem!important}.ngs .pt-md-5{padding-top:3rem!important}.ngs .pe-md-0{padding-right:0!important}.ngs .pe-md-1{padding-right:.25rem!important}.ngs .pe-md-2{padding-right:.5rem!important}.ngs .pe-md-3{padding-right:1rem!important}.ngs .pe-md-4{padding-right:1.5rem!important}.ngs .pe-md-5{padding-right:3rem!important}.ngs .pb-md-0{padding-bottom:0!important}.ngs .pb-md-1{padding-bottom:.25rem!important}.ngs .pb-md-2{padding-bottom:.5rem!important}.ngs .pb-md-3{padding-bottom:1rem!important}.ngs .pb-md-4{padding-bottom:1.5rem!important}.ngs .pb-md-5{padding-bottom:3rem!important}.ngs .ps-md-0{padding-left:0!important}.ngs .ps-md-1{padding-left:.25rem!important}.ngs .ps-md-2{padding-left:.5rem!important}.ngs .ps-md-3{padding-left:1rem!important}.ngs .ps-md-4{padding-left:1.5rem!important}.ngs .ps-md-5{padding-left:3rem!important}}@media (min-width: 992px){.ngs .d-lg-inline{display:inline!important}.ngs .d-lg-inline-block{display:inline-block!important}.ngs .d-lg-block{display:block!important}.ngs .d-lg-grid{display:grid!important}.ngs .d-lg-inline-grid{display:inline-grid!important}.ngs .d-lg-table{display:table!important}.ngs .d-lg-table-row{display:table-row!important}.ngs .d-lg-table-cell{display:table-cell!important}.ngs .d-lg-flex{display:flex!important}.ngs .d-lg-inline-flex{display:inline-flex!important}.ngs .d-lg-none{display:none!important}.ngs .flex-lg-fill{flex:1 1 auto!important}.ngs .flex-lg-row{flex-direction:row!important}.ngs .flex-lg-column{flex-direction:column!important}.ngs .flex-lg-row-reverse{flex-direction:row-reverse!important}.ngs .flex-lg-column-reverse{flex-direction:column-reverse!important}.ngs .flex-lg-grow-0{flex-grow:0!important}.ngs .flex-lg-grow-1{flex-grow:1!important}.ngs .flex-lg-shrink-0{flex-shrink:0!important}.ngs .flex-lg-shrink-1{flex-shrink:1!important}.ngs .flex-lg-wrap{flex-wrap:wrap!important}.ngs .flex-lg-nowrap{flex-wrap:nowrap!important}.ngs .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-lg-start{justify-content:flex-start!important}.ngs .justify-content-lg-end{justify-content:flex-end!important}.ngs .justify-content-lg-center{justify-content:center!important}.ngs .justify-content-lg-between{justify-content:space-between!important}.ngs .justify-content-lg-around{justify-content:space-around!important}.ngs .justify-content-lg-evenly{justify-content:space-evenly!important}.ngs .align-items-lg-start{align-items:flex-start!important}.ngs .align-items-lg-end{align-items:flex-end!important}.ngs .align-items-lg-center{align-items:center!important}.ngs .align-items-lg-baseline{align-items:baseline!important}.ngs .align-items-lg-stretch{align-items:stretch!important}.ngs .align-content-lg-start{align-content:flex-start!important}.ngs .align-content-lg-end{align-content:flex-end!important}.ngs .align-content-lg-center{align-content:center!important}.ngs .align-content-lg-between{align-content:space-between!important}.ngs .align-content-lg-around{align-content:space-around!important}.ngs .align-content-lg-stretch{align-content:stretch!important}.ngs .align-self-lg-auto{align-self:auto!important}.ngs .align-self-lg-start{align-self:flex-start!important}.ngs .align-self-lg-end{align-self:flex-end!important}.ngs .align-self-lg-center{align-self:center!important}.ngs .align-self-lg-baseline{align-self:baseline!important}.ngs .align-self-lg-stretch{align-self:stretch!important}.ngs .order-lg-first{order:-1!important}.ngs .order-lg-0{order:0!important}.ngs .order-lg-1{order:1!important}.ngs .order-lg-2{order:2!important}.ngs .order-lg-3{order:3!important}.ngs .order-lg-4{order:4!important}.ngs .order-lg-5{order:5!important}.ngs .order-lg-last{order:6!important}.ngs .m-lg-0{margin:0!important}.ngs .m-lg-1{margin:.25rem!important}.ngs .m-lg-2{margin:.5rem!important}.ngs .m-lg-3{margin:1rem!important}.ngs .m-lg-4{margin:1.5rem!important}.ngs .m-lg-5{margin:3rem!important}.ngs .m-lg-auto{margin:auto!important}.ngs .mx-lg-0{margin-right:0!important;margin-left:0!important}.ngs .mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-lg-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-lg-0{margin-top:0!important}.ngs .mt-lg-1{margin-top:.25rem!important}.ngs .mt-lg-2{margin-top:.5rem!important}.ngs .mt-lg-3{margin-top:1rem!important}.ngs .mt-lg-4{margin-top:1.5rem!important}.ngs .mt-lg-5{margin-top:3rem!important}.ngs .mt-lg-auto{margin-top:auto!important}.ngs .me-lg-0{margin-right:0!important}.ngs .me-lg-1{margin-right:.25rem!important}.ngs .me-lg-2{margin-right:.5rem!important}.ngs .me-lg-3{margin-right:1rem!important}.ngs .me-lg-4{margin-right:1.5rem!important}.ngs .me-lg-5{margin-right:3rem!important}.ngs .me-lg-auto{margin-right:auto!important}.ngs .mb-lg-0{margin-bottom:0!important}.ngs .mb-lg-1{margin-bottom:.25rem!important}.ngs .mb-lg-2{margin-bottom:.5rem!important}.ngs .mb-lg-3{margin-bottom:1rem!important}.ngs .mb-lg-4{margin-bottom:1.5rem!important}.ngs .mb-lg-5{margin-bottom:3rem!important}.ngs .mb-lg-auto{margin-bottom:auto!important}.ngs .ms-lg-0{margin-left:0!important}.ngs .ms-lg-1{margin-left:.25rem!important}.ngs .ms-lg-2{margin-left:.5rem!important}.ngs .ms-lg-3{margin-left:1rem!important}.ngs .ms-lg-4{margin-left:1.5rem!important}.ngs .ms-lg-5{margin-left:3rem!important}.ngs .ms-lg-auto{margin-left:auto!important}.ngs .p-lg-0{padding:0!important}.ngs .p-lg-1{padding:.25rem!important}.ngs .p-lg-2{padding:.5rem!important}.ngs .p-lg-3{padding:1rem!important}.ngs .p-lg-4{padding:1.5rem!important}.ngs .p-lg-5{padding:3rem!important}.ngs .px-lg-0{padding-right:0!important;padding-left:0!important}.ngs .px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-lg-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-lg-0{padding-top:0!important}.ngs .pt-lg-1{padding-top:.25rem!important}.ngs .pt-lg-2{padding-top:.5rem!important}.ngs .pt-lg-3{padding-top:1rem!important}.ngs .pt-lg-4{padding-top:1.5rem!important}.ngs .pt-lg-5{padding-top:3rem!important}.ngs .pe-lg-0{padding-right:0!important}.ngs .pe-lg-1{padding-right:.25rem!important}.ngs .pe-lg-2{padding-right:.5rem!important}.ngs .pe-lg-3{padding-right:1rem!important}.ngs .pe-lg-4{padding-right:1.5rem!important}.ngs .pe-lg-5{padding-right:3rem!important}.ngs .pb-lg-0{padding-bottom:0!important}.ngs .pb-lg-1{padding-bottom:.25rem!important}.ngs .pb-lg-2{padding-bottom:.5rem!important}.ngs .pb-lg-3{padding-bottom:1rem!important}.ngs .pb-lg-4{padding-bottom:1.5rem!important}.ngs .pb-lg-5{padding-bottom:3rem!important}.ngs .ps-lg-0{padding-left:0!important}.ngs .ps-lg-1{padding-left:.25rem!important}.ngs .ps-lg-2{padding-left:.5rem!important}.ngs .ps-lg-3{padding-left:1rem!important}.ngs .ps-lg-4{padding-left:1.5rem!important}.ngs .ps-lg-5{padding-left:3rem!important}}@media (min-width: 1200px){.ngs .d-xl-inline{display:inline!important}.ngs .d-xl-inline-block{display:inline-block!important}.ngs .d-xl-block{display:block!important}.ngs .d-xl-grid{display:grid!important}.ngs .d-xl-inline-grid{display:inline-grid!important}.ngs .d-xl-table{display:table!important}.ngs .d-xl-table-row{display:table-row!important}.ngs .d-xl-table-cell{display:table-cell!important}.ngs .d-xl-flex{display:flex!important}.ngs .d-xl-inline-flex{display:inline-flex!important}.ngs .d-xl-none{display:none!important}.ngs .flex-xl-fill{flex:1 1 auto!important}.ngs .flex-xl-row{flex-direction:row!important}.ngs .flex-xl-column{flex-direction:column!important}.ngs .flex-xl-row-reverse{flex-direction:row-reverse!important}.ngs .flex-xl-column-reverse{flex-direction:column-reverse!important}.ngs .flex-xl-grow-0{flex-grow:0!important}.ngs .flex-xl-grow-1{flex-grow:1!important}.ngs .flex-xl-shrink-0{flex-shrink:0!important}.ngs .flex-xl-shrink-1{flex-shrink:1!important}.ngs .flex-xl-wrap{flex-wrap:wrap!important}.ngs .flex-xl-nowrap{flex-wrap:nowrap!important}.ngs .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-xl-start{justify-content:flex-start!important}.ngs .justify-content-xl-end{justify-content:flex-end!important}.ngs .justify-content-xl-center{justify-content:center!important}.ngs .justify-content-xl-between{justify-content:space-between!important}.ngs .justify-content-xl-around{justify-content:space-around!important}.ngs .justify-content-xl-evenly{justify-content:space-evenly!important}.ngs .align-items-xl-start{align-items:flex-start!important}.ngs .align-items-xl-end{align-items:flex-end!important}.ngs .align-items-xl-center{align-items:center!important}.ngs .align-items-xl-baseline{align-items:baseline!important}.ngs .align-items-xl-stretch{align-items:stretch!important}.ngs .align-content-xl-start{align-content:flex-start!important}.ngs .align-content-xl-end{align-content:flex-end!important}.ngs .align-content-xl-center{align-content:center!important}.ngs .align-content-xl-between{align-content:space-between!important}.ngs .align-content-xl-around{align-content:space-around!important}.ngs .align-content-xl-stretch{align-content:stretch!important}.ngs .align-self-xl-auto{align-self:auto!important}.ngs .align-self-xl-start{align-self:flex-start!important}.ngs .align-self-xl-end{align-self:flex-end!important}.ngs .align-self-xl-center{align-self:center!important}.ngs .align-self-xl-baseline{align-self:baseline!important}.ngs .align-self-xl-stretch{align-self:stretch!important}.ngs .order-xl-first{order:-1!important}.ngs .order-xl-0{order:0!important}.ngs .order-xl-1{order:1!important}.ngs .order-xl-2{order:2!important}.ngs .order-xl-3{order:3!important}.ngs .order-xl-4{order:4!important}.ngs .order-xl-5{order:5!important}.ngs .order-xl-last{order:6!important}.ngs .m-xl-0{margin:0!important}.ngs .m-xl-1{margin:.25rem!important}.ngs .m-xl-2{margin:.5rem!important}.ngs .m-xl-3{margin:1rem!important}.ngs .m-xl-4{margin:1.5rem!important}.ngs .m-xl-5{margin:3rem!important}.ngs .m-xl-auto{margin:auto!important}.ngs .mx-xl-0{margin-right:0!important;margin-left:0!important}.ngs .mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-xl-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-xl-0{margin-top:0!important}.ngs .mt-xl-1{margin-top:.25rem!important}.ngs .mt-xl-2{margin-top:.5rem!important}.ngs .mt-xl-3{margin-top:1rem!important}.ngs .mt-xl-4{margin-top:1.5rem!important}.ngs .mt-xl-5{margin-top:3rem!important}.ngs .mt-xl-auto{margin-top:auto!important}.ngs .me-xl-0{margin-right:0!important}.ngs .me-xl-1{margin-right:.25rem!important}.ngs .me-xl-2{margin-right:.5rem!important}.ngs .me-xl-3{margin-right:1rem!important}.ngs .me-xl-4{margin-right:1.5rem!important}.ngs .me-xl-5{margin-right:3rem!important}.ngs .me-xl-auto{margin-right:auto!important}.ngs .mb-xl-0{margin-bottom:0!important}.ngs .mb-xl-1{margin-bottom:.25rem!important}.ngs .mb-xl-2{margin-bottom:.5rem!important}.ngs .mb-xl-3{margin-bottom:1rem!important}.ngs .mb-xl-4{margin-bottom:1.5rem!important}.ngs .mb-xl-5{margin-bottom:3rem!important}.ngs .mb-xl-auto{margin-bottom:auto!important}.ngs .ms-xl-0{margin-left:0!important}.ngs .ms-xl-1{margin-left:.25rem!important}.ngs .ms-xl-2{margin-left:.5rem!important}.ngs .ms-xl-3{margin-left:1rem!important}.ngs .ms-xl-4{margin-left:1.5rem!important}.ngs .ms-xl-5{margin-left:3rem!important}.ngs .ms-xl-auto{margin-left:auto!important}.ngs .p-xl-0{padding:0!important}.ngs .p-xl-1{padding:.25rem!important}.ngs .p-xl-2{padding:.5rem!important}.ngs .p-xl-3{padding:1rem!important}.ngs .p-xl-4{padding:1.5rem!important}.ngs .p-xl-5{padding:3rem!important}.ngs .px-xl-0{padding-right:0!important;padding-left:0!important}.ngs .px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-xl-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-xl-0{padding-top:0!important}.ngs .pt-xl-1{padding-top:.25rem!important}.ngs .pt-xl-2{padding-top:.5rem!important}.ngs .pt-xl-3{padding-top:1rem!important}.ngs .pt-xl-4{padding-top:1.5rem!important}.ngs .pt-xl-5{padding-top:3rem!important}.ngs .pe-xl-0{padding-right:0!important}.ngs .pe-xl-1{padding-right:.25rem!important}.ngs .pe-xl-2{padding-right:.5rem!important}.ngs .pe-xl-3{padding-right:1rem!important}.ngs .pe-xl-4{padding-right:1.5rem!important}.ngs .pe-xl-5{padding-right:3rem!important}.ngs .pb-xl-0{padding-bottom:0!important}.ngs .pb-xl-1{padding-bottom:.25rem!important}.ngs .pb-xl-2{padding-bottom:.5rem!important}.ngs .pb-xl-3{padding-bottom:1rem!important}.ngs .pb-xl-4{padding-bottom:1.5rem!important}.ngs .pb-xl-5{padding-bottom:3rem!important}.ngs .ps-xl-0{padding-left:0!important}.ngs .ps-xl-1{padding-left:.25rem!important}.ngs .ps-xl-2{padding-left:.5rem!important}.ngs .ps-xl-3{padding-left:1rem!important}.ngs .ps-xl-4{padding-left:1.5rem!important}.ngs .ps-xl-5{padding-left:3rem!important}}@media (min-width: 1400px){.ngs .d-xxl-inline{display:inline!important}.ngs .d-xxl-inline-block{display:inline-block!important}.ngs .d-xxl-block{display:block!important}.ngs .d-xxl-grid{display:grid!important}.ngs .d-xxl-inline-grid{display:inline-grid!important}.ngs .d-xxl-table{display:table!important}.ngs .d-xxl-table-row{display:table-row!important}.ngs .d-xxl-table-cell{display:table-cell!important}.ngs .d-xxl-flex{display:flex!important}.ngs .d-xxl-inline-flex{display:inline-flex!important}.ngs .d-xxl-none{display:none!important}.ngs .flex-xxl-fill{flex:1 1 auto!important}.ngs .flex-xxl-row{flex-direction:row!important}.ngs .flex-xxl-column{flex-direction:column!important}.ngs .flex-xxl-row-reverse{flex-direction:row-reverse!important}.ngs .flex-xxl-column-reverse{flex-direction:column-reverse!important}.ngs .flex-xxl-grow-0{flex-grow:0!important}.ngs .flex-xxl-grow-1{flex-grow:1!important}.ngs .flex-xxl-shrink-0{flex-shrink:0!important}.ngs .flex-xxl-shrink-1{flex-shrink:1!important}.ngs .flex-xxl-wrap{flex-wrap:wrap!important}.ngs .flex-xxl-nowrap{flex-wrap:nowrap!important}.ngs .flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-xxl-start{justify-content:flex-start!important}.ngs .justify-content-xxl-end{justify-content:flex-end!important}.ngs .justify-content-xxl-center{justify-content:center!important}.ngs .justify-content-xxl-between{justify-content:space-between!important}.ngs .justify-content-xxl-around{justify-content:space-around!important}.ngs .justify-content-xxl-evenly{justify-content:space-evenly!important}.ngs .align-items-xxl-start{align-items:flex-start!important}.ngs .align-items-xxl-end{align-items:flex-end!important}.ngs .align-items-xxl-center{align-items:center!important}.ngs .align-items-xxl-baseline{align-items:baseline!important}.ngs .align-items-xxl-stretch{align-items:stretch!important}.ngs .align-content-xxl-start{align-content:flex-start!important}.ngs .align-content-xxl-end{align-content:flex-end!important}.ngs .align-content-xxl-center{align-content:center!important}.ngs .align-content-xxl-between{align-content:space-between!important}.ngs .align-content-xxl-around{align-content:space-around!important}.ngs .align-content-xxl-stretch{align-content:stretch!important}.ngs .align-self-xxl-auto{align-self:auto!important}.ngs .align-self-xxl-start{align-self:flex-start!important}.ngs .align-self-xxl-end{align-self:flex-end!important}.ngs .align-self-xxl-center{align-self:center!important}.ngs .align-self-xxl-baseline{align-self:baseline!important}.ngs .align-self-xxl-stretch{align-self:stretch!important}.ngs .order-xxl-first{order:-1!important}.ngs .order-xxl-0{order:0!important}.ngs .order-xxl-1{order:1!important}.ngs .order-xxl-2{order:2!important}.ngs .order-xxl-3{order:3!important}.ngs .order-xxl-4{order:4!important}.ngs .order-xxl-5{order:5!important}.ngs .order-xxl-last{order:6!important}.ngs .m-xxl-0{margin:0!important}.ngs .m-xxl-1{margin:.25rem!important}.ngs .m-xxl-2{margin:.5rem!important}.ngs .m-xxl-3{margin:1rem!important}.ngs .m-xxl-4{margin:1.5rem!important}.ngs .m-xxl-5{margin:3rem!important}.ngs .m-xxl-auto{margin:auto!important}.ngs .mx-xxl-0{margin-right:0!important;margin-left:0!important}.ngs .mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-xxl-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-xxl-0{margin-top:0!important}.ngs .mt-xxl-1{margin-top:.25rem!important}.ngs .mt-xxl-2{margin-top:.5rem!important}.ngs .mt-xxl-3{margin-top:1rem!important}.ngs .mt-xxl-4{margin-top:1.5rem!important}.ngs .mt-xxl-5{margin-top:3rem!important}.ngs .mt-xxl-auto{margin-top:auto!important}.ngs .me-xxl-0{margin-right:0!important}.ngs .me-xxl-1{margin-right:.25rem!important}.ngs .me-xxl-2{margin-right:.5rem!important}.ngs .me-xxl-3{margin-right:1rem!important}.ngs .me-xxl-4{margin-right:1.5rem!important}.ngs .me-xxl-5{margin-right:3rem!important}.ngs .me-xxl-auto{margin-right:auto!important}.ngs .mb-xxl-0{margin-bottom:0!important}.ngs .mb-xxl-1{margin-bottom:.25rem!important}.ngs .mb-xxl-2{margin-bottom:.5rem!important}.ngs .mb-xxl-3{margin-bottom:1rem!important}.ngs .mb-xxl-4{margin-bottom:1.5rem!important}.ngs .mb-xxl-5{margin-bottom:3rem!important}.ngs .mb-xxl-auto{margin-bottom:auto!important}.ngs .ms-xxl-0{margin-left:0!important}.ngs .ms-xxl-1{margin-left:.25rem!important}.ngs .ms-xxl-2{margin-left:.5rem!important}.ngs .ms-xxl-3{margin-left:1rem!important}.ngs .ms-xxl-4{margin-left:1.5rem!important}.ngs .ms-xxl-5{margin-left:3rem!important}.ngs .ms-xxl-auto{margin-left:auto!important}.ngs .p-xxl-0{padding:0!important}.ngs .p-xxl-1{padding:.25rem!important}.ngs .p-xxl-2{padding:.5rem!important}.ngs .p-xxl-3{padding:1rem!important}.ngs .p-xxl-4{padding:1.5rem!important}.ngs .p-xxl-5{padding:3rem!important}.ngs .px-xxl-0{padding-right:0!important;padding-left:0!important}.ngs .px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-xxl-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-xxl-0{padding-top:0!important}.ngs .pt-xxl-1{padding-top:.25rem!important}.ngs .pt-xxl-2{padding-top:.5rem!important}.ngs .pt-xxl-3{padding-top:1rem!important}.ngs .pt-xxl-4{padding-top:1.5rem!important}.ngs .pt-xxl-5{padding-top:3rem!important}.ngs .pe-xxl-0{padding-right:0!important}.ngs .pe-xxl-1{padding-right:.25rem!important}.ngs .pe-xxl-2{padding-right:.5rem!important}.ngs .pe-xxl-3{padding-right:1rem!important}.ngs .pe-xxl-4{padding-right:1.5rem!important}.ngs .pe-xxl-5{padding-right:3rem!important}.ngs .pb-xxl-0{padding-bottom:0!important}.ngs .pb-xxl-1{padding-bottom:.25rem!important}.ngs .pb-xxl-2{padding-bottom:.5rem!important}.ngs .pb-xxl-3{padding-bottom:1rem!important}.ngs .pb-xxl-4{padding-bottom:1.5rem!important}.ngs .pb-xxl-5{padding-bottom:3rem!important}.ngs .ps-xxl-0{padding-left:0!important}.ngs .ps-xxl-1{padding-left:.25rem!important}.ngs .ps-xxl-2{padding-left:.5rem!important}.ngs .ps-xxl-3{padding-left:1rem!important}.ngs .ps-xxl-4{padding-left:1.5rem!important}.ngs .ps-xxl-5{padding-left:3rem!important}}@media print{.ngs .d-print-inline{display:inline!important}.ngs .d-print-inline-block{display:inline-block!important}.ngs .d-print-block{display:block!important}.ngs .d-print-grid{display:grid!important}.ngs .d-print-inline-grid{display:inline-grid!important}.ngs .d-print-table{display:table!important}.ngs .d-print-table-row{display:table-row!important}.ngs .d-print-table-cell{display:table-cell!important}.ngs .d-print-flex{display:flex!important}.ngs .d-print-inline-flex{display:inline-flex!important}.ngs .d-print-none{display:none!important}}\n", ".prevSection button{padding:5px 10px;float:left;margin-left:0}.nextSection button{padding:5px 10px;float:right;margin-left:0}.separator-horizontal{width:1px;height:100%;background-color:#d6cece;margin:0 auto}.content-element-form{position:relative;padding-bottom:70px}.section-navs{width:100%;position:absolute;bottom:0;background-color:#f2f6fc;padding:10px;flex-direction:row-reverse}.sirio-nav-item a{cursor:pointer}.form-title{margin-bottom:15px}@media (max-width: 991px){.content-element-form{width:100%!important}}ngx-sirio-input-chip{margin-right:.5rem}\n"] }]
4475
- }], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: ProgrammabilityService }, { type: EventService }, { type: RegisterService }, { type: MetadataService }], propDecorators: { schema: [{
4915
+ EventService,
4916
+ ProgrammabilityService,
4917
+ RegisterService,
4918
+ MetadataService,
4919
+ FunctionService
4920
+ ], encapsulation: ViewEncapsulation.None, template: "<form [formGroup]=\"formGroup\" class=\"ngs\">\r\n\r\n <div class=\"container-fluid\">\r\n <div class=\"row\">\r\n\r\n <!-- #region progress -->\r\n <ngx-sirio-stepper-progress-bar *ngIf=\"showProgress\"\r\n (eventClick)=\"activateForm($event.data.label)\"\r\n [hasDropdown]=\"true\"\r\n [dropDownLabel]=\"locale(Texts, 'Show')\">\r\n <ng-container *ngFor=\"let form of forms, let formIndex = index\">\r\n <ngx-sirio-stepper-progress-item *ngIf=\"!evaluateBoolean(form.disabled)\"\r\n [hasNavigation]=\"true\"\r\n [status]=\"getFormStatus(form,formIndex)\"\r\n [label]=\"evaluateTemplate(locale(form, 'title'))\" />\r\n </ng-container>\r\n </ngx-sirio-stepper-progress-bar>\r\n <!-- #endregion -->\r\n\r\n <!-- #region form disable -->\r\n <ng-container *ngFor=\"let form of forms\">\r\n <ng-container *disableForm=\"{\r\n disabled: evaluateBoolean(form.disabled),\r\n formGroup: formGroup,\r\n path: form.path\r\n }\">\r\n </ng-container>\r\n </ng-container>\r\n <!-- #endregion -->\r\n\r\n <ng-container *ngIf=\"showNav\">\r\n\r\n <div class=\"col-md-4\">\r\n\r\n <!-- #region sidenav -->\r\n <ng-template #sidenavTemplate>\r\n <ngx-sirio-sidenav>\r\n <ng-container *ngFor=\"let form of forms, let sectionIndex = index\">\r\n <ng-container *ngIf=\"!evaluateBoolean(form.disabled)\">\r\n <ngx-sirio-sidenav-item [isActive]=\"activeNav == sectionIndex\"\r\n (click)=\"activeNav = sectionIndex\"\r\n (keydown.enter)=\"activeNav = sectionIndex\"\r\n tabindex=\"0\">\r\n {{ evaluateTemplate(locale(form, 'title')) }}\r\n </ngx-sirio-sidenav-item>\r\n </ng-container>\r\n </ng-container>\r\n </ngx-sirio-sidenav>\r\n </ng-template>\r\n\r\n <ngx-sirio-sidenav-mobile class=\"d-block d-lg-none\"\r\n [openMenuLabel]=\"locale(Texts, 'OpenMenu')\"\r\n [openMenuAriaLabel]=\"locale(Texts, 'OpenMenu')\"\r\n [closeMenuLabel]=\"locale(Texts, 'CloseMenu')\"\r\n closeMenuAriaLabel=\"locale(Texts, 'CloseMenu')\">\r\n <ng-container *ngTemplateOutlet=\"sidenavTemplate\"></ng-container>\r\n </ngx-sirio-sidenav-mobile>\r\n <div class=\"d-none d-lg-block\">\r\n <ng-container *ngTemplateOutlet=\"sidenavTemplate\"></ng-container>\r\n </div>\r\n <!-- #endregion -->\r\n\r\n </div>\r\n\r\n <div class=\"col-md-1\">\r\n <div class=\"separator-horizontal\"></div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n <div class=\"content-element-form\" [ngClass]=\"showNav ? 'col-md-11' : 'col-md-16'\">\r\n\r\n <ng-container *ngFor=\"let form of forms, let sectionIndex = index\">\r\n <div *ngIf=\"activeNav == sectionIndex && !evaluateBoolean(form.disabled)\"\r\n #default\r\n [register]=\"form\"\r\n [componentRef]=\"default\">\r\n <h1 *ngIf=\"showFormTitle && form.title\" class=\"h3 form-title\">{{ evaluateTemplate(locale(form, 'title')) }}</h1>\r\n <app-dynamic-fields [formGroup]=\"getFormGroup(form.path)\"\r\n [rows]=\"form.rows\"\r\n [language]=\"language\"></app-dynamic-fields>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"showNavButton && (canNext() || canPrevious())\">\r\n\r\n <div class=\"row section-navs\">\r\n <div class=\"col-8 col-md-8\">\r\n <ngx-sirio-button [color]=\"null\" *ngIf=\"canNext()\" (click)=\"goNext()\" class=\"nextSection\">\r\n {{ locale(Texts, 'NextSection') }}\r\n <span class=\"fa-solid fa-chevron-right\" style=\"margin-left: 10px\"></span>\r\n </ngx-sirio-button>\r\n </div>\r\n <div class=\"col-8 col-md-8\">\r\n <ngx-sirio-button [color]=\"null\" *ngIf=\"canPrevious()\" (click)=\"goPrevious()\" class=\"prevSection\">\r\n <span class=\"fa-solid fa-chevron-left\" style=\"margin-right: 10px\"></span>\r\n {{ locale(Texts, 'PreviousSection') }}\r\n </ngx-sirio-button>\r\n </div>\r\n </div>\r\n\r\n </ng-container>\r\n\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n</form>\r\n\r\n\r\n\r\n", styles: [".ngs .container,.ngs .container-fluid,.ngs .container-xxl,.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm{--ngsgutter-x: 1.5rem;--ngsgutter-y: 0;width:100%;padding-right:calc(var(--ngsgutter-x) * .5);padding-left:calc(var(--ngsgutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width: 576px){.ngs .container-sm,.ngs .container{max-width:540px}}@media (min-width: 768px){.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:720px}}@media (min-width: 992px){.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:960px}}@media (min-width: 1200px){.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:1140px}}@media (min-width: 1400px){.ngs .container-xxl,.ngs .container-xl,.ngs .container-lg,.ngs .container-md,.ngs .container-sm,.ngs .container{max-width:1320px}}.ngs :root{--ngsbreakpoint-xs: 0;--ngsbreakpoint-sm: 576px;--ngsbreakpoint-md: 768px;--ngsbreakpoint-lg: 992px;--ngsbreakpoint-xl: 1200px;--ngsbreakpoint-xxl: 1400px}.ngs .row{--ngsgutter-x: 1.5rem;--ngsgutter-y: 0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--ngsgutter-y));margin-right:calc(-.5 * var(--ngsgutter-x));margin-left:calc(-.5 * var(--ngsgutter-x))}.ngs .row>*{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--ngsgutter-x) * .5);padding-left:calc(var(--ngsgutter-x) * .5);margin-top:var(--ngsgutter-y)}.ngs .col{flex:1 0 0%}.ngs .row-cols-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-auto{flex:0 0 auto;width:auto}.ngs .col-1{flex:0 0 auto;width:6.25%}.ngs .col-2{flex:0 0 auto;width:12.5%}.ngs .col-3{flex:0 0 auto;width:18.75%}.ngs .col-4{flex:0 0 auto;width:25%}.ngs .col-5{flex:0 0 auto;width:31.25%}.ngs .col-6{flex:0 0 auto;width:37.5%}.ngs .col-7{flex:0 0 auto;width:43.75%}.ngs .col-8{flex:0 0 auto;width:50%}.ngs .col-9{flex:0 0 auto;width:56.25%}.ngs .col-10{flex:0 0 auto;width:62.5%}.ngs .col-11{flex:0 0 auto;width:68.75%}.ngs .col-12{flex:0 0 auto;width:75%}.ngs .col-13{flex:0 0 auto;width:81.25%}.ngs .col-14{flex:0 0 auto;width:87.5%}.ngs .col-15{flex:0 0 auto;width:93.75%}.ngs .col-16{flex:0 0 auto;width:100%}.ngs .offset-1{margin-left:6.25%}.ngs .offset-2{margin-left:12.5%}.ngs .offset-3{margin-left:18.75%}.ngs .offset-4{margin-left:25%}.ngs .offset-5{margin-left:31.25%}.ngs .offset-6{margin-left:37.5%}.ngs .offset-7{margin-left:43.75%}.ngs .offset-8{margin-left:50%}.ngs .offset-9{margin-left:56.25%}.ngs .offset-10{margin-left:62.5%}.ngs .offset-11{margin-left:68.75%}.ngs .offset-12{margin-left:75%}.ngs .offset-13{margin-left:81.25%}.ngs .offset-14{margin-left:87.5%}.ngs .offset-15{margin-left:93.75%}.ngs .g-0,.ngs .gx-0{--ngsgutter-x: 0}.ngs .g-0,.ngs .gy-0{--ngsgutter-y: 0}.ngs .g-1,.ngs .gx-1{--ngsgutter-x: .25rem}.ngs .g-1,.ngs .gy-1{--ngsgutter-y: .25rem}.ngs .g-2,.ngs .gx-2{--ngsgutter-x: .5rem}.ngs .g-2,.ngs .gy-2{--ngsgutter-y: .5rem}.ngs .g-3,.ngs .gx-3{--ngsgutter-x: 1rem}.ngs .g-3,.ngs .gy-3{--ngsgutter-y: 1rem}.ngs .g-4,.ngs .gx-4{--ngsgutter-x: 1.5rem}.ngs .g-4,.ngs .gy-4{--ngsgutter-y: 1.5rem}.ngs .g-5,.ngs .gx-5{--ngsgutter-x: 3rem}.ngs .g-5,.ngs .gy-5{--ngsgutter-y: 3rem}@media (min-width: 576px){.ngs .col-sm{flex:1 0 0%}.ngs .row-cols-sm-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-sm-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-sm-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-sm-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-sm-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-sm-auto{flex:0 0 auto;width:auto}.ngs .col-sm-1{flex:0 0 auto;width:6.25%}.ngs .col-sm-2{flex:0 0 auto;width:12.5%}.ngs .col-sm-3{flex:0 0 auto;width:18.75%}.ngs .col-sm-4{flex:0 0 auto;width:25%}.ngs .col-sm-5{flex:0 0 auto;width:31.25%}.ngs .col-sm-6{flex:0 0 auto;width:37.5%}.ngs .col-sm-7{flex:0 0 auto;width:43.75%}.ngs .col-sm-8{flex:0 0 auto;width:50%}.ngs .col-sm-9{flex:0 0 auto;width:56.25%}.ngs .col-sm-10{flex:0 0 auto;width:62.5%}.ngs .col-sm-11{flex:0 0 auto;width:68.75%}.ngs .col-sm-12{flex:0 0 auto;width:75%}.ngs .col-sm-13{flex:0 0 auto;width:81.25%}.ngs .col-sm-14{flex:0 0 auto;width:87.5%}.ngs .col-sm-15{flex:0 0 auto;width:93.75%}.ngs .col-sm-16{flex:0 0 auto;width:100%}.ngs .offset-sm-0{margin-left:0}.ngs .offset-sm-1{margin-left:6.25%}.ngs .offset-sm-2{margin-left:12.5%}.ngs .offset-sm-3{margin-left:18.75%}.ngs .offset-sm-4{margin-left:25%}.ngs .offset-sm-5{margin-left:31.25%}.ngs .offset-sm-6{margin-left:37.5%}.ngs .offset-sm-7{margin-left:43.75%}.ngs .offset-sm-8{margin-left:50%}.ngs .offset-sm-9{margin-left:56.25%}.ngs .offset-sm-10{margin-left:62.5%}.ngs .offset-sm-11{margin-left:68.75%}.ngs .offset-sm-12{margin-left:75%}.ngs .offset-sm-13{margin-left:81.25%}.ngs .offset-sm-14{margin-left:87.5%}.ngs .offset-sm-15{margin-left:93.75%}.ngs .g-sm-0,.ngs .gx-sm-0{--ngsgutter-x: 0}.ngs .g-sm-0,.ngs .gy-sm-0{--ngsgutter-y: 0}.ngs .g-sm-1,.ngs .gx-sm-1{--ngsgutter-x: .25rem}.ngs .g-sm-1,.ngs .gy-sm-1{--ngsgutter-y: .25rem}.ngs .g-sm-2,.ngs .gx-sm-2{--ngsgutter-x: .5rem}.ngs .g-sm-2,.ngs .gy-sm-2{--ngsgutter-y: .5rem}.ngs .g-sm-3,.ngs .gx-sm-3{--ngsgutter-x: 1rem}.ngs .g-sm-3,.ngs .gy-sm-3{--ngsgutter-y: 1rem}.ngs .g-sm-4,.ngs .gx-sm-4{--ngsgutter-x: 1.5rem}.ngs .g-sm-4,.ngs .gy-sm-4{--ngsgutter-y: 1.5rem}.ngs .g-sm-5,.ngs .gx-sm-5{--ngsgutter-x: 3rem}.ngs .g-sm-5,.ngs .gy-sm-5{--ngsgutter-y: 3rem}}@media (min-width: 768px){.ngs .col-md{flex:1 0 0%}.ngs .row-cols-md-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-md-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-md-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-md-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-md-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-md-auto{flex:0 0 auto;width:auto}.ngs .col-md-1{flex:0 0 auto;width:6.25%}.ngs .col-md-2{flex:0 0 auto;width:12.5%}.ngs .col-md-3{flex:0 0 auto;width:18.75%}.ngs .col-md-4{flex:0 0 auto;width:25%}.ngs .col-md-5{flex:0 0 auto;width:31.25%}.ngs .col-md-6{flex:0 0 auto;width:37.5%}.ngs .col-md-7{flex:0 0 auto;width:43.75%}.ngs .col-md-8{flex:0 0 auto;width:50%}.ngs .col-md-9{flex:0 0 auto;width:56.25%}.ngs .col-md-10{flex:0 0 auto;width:62.5%}.ngs .col-md-11{flex:0 0 auto;width:68.75%}.ngs .col-md-12{flex:0 0 auto;width:75%}.ngs .col-md-13{flex:0 0 auto;width:81.25%}.ngs .col-md-14{flex:0 0 auto;width:87.5%}.ngs .col-md-15{flex:0 0 auto;width:93.75%}.ngs .col-md-16{flex:0 0 auto;width:100%}.ngs .offset-md-0{margin-left:0}.ngs .offset-md-1{margin-left:6.25%}.ngs .offset-md-2{margin-left:12.5%}.ngs .offset-md-3{margin-left:18.75%}.ngs .offset-md-4{margin-left:25%}.ngs .offset-md-5{margin-left:31.25%}.ngs .offset-md-6{margin-left:37.5%}.ngs .offset-md-7{margin-left:43.75%}.ngs .offset-md-8{margin-left:50%}.ngs .offset-md-9{margin-left:56.25%}.ngs .offset-md-10{margin-left:62.5%}.ngs .offset-md-11{margin-left:68.75%}.ngs .offset-md-12{margin-left:75%}.ngs .offset-md-13{margin-left:81.25%}.ngs .offset-md-14{margin-left:87.5%}.ngs .offset-md-15{margin-left:93.75%}.ngs .g-md-0,.ngs .gx-md-0{--ngsgutter-x: 0}.ngs .g-md-0,.ngs .gy-md-0{--ngsgutter-y: 0}.ngs .g-md-1,.ngs .gx-md-1{--ngsgutter-x: .25rem}.ngs .g-md-1,.ngs .gy-md-1{--ngsgutter-y: .25rem}.ngs .g-md-2,.ngs .gx-md-2{--ngsgutter-x: .5rem}.ngs .g-md-2,.ngs .gy-md-2{--ngsgutter-y: .5rem}.ngs .g-md-3,.ngs .gx-md-3{--ngsgutter-x: 1rem}.ngs .g-md-3,.ngs .gy-md-3{--ngsgutter-y: 1rem}.ngs .g-md-4,.ngs .gx-md-4{--ngsgutter-x: 1.5rem}.ngs .g-md-4,.ngs .gy-md-4{--ngsgutter-y: 1.5rem}.ngs .g-md-5,.ngs .gx-md-5{--ngsgutter-x: 3rem}.ngs .g-md-5,.ngs .gy-md-5{--ngsgutter-y: 3rem}}@media (min-width: 992px){.ngs .col-lg{flex:1 0 0%}.ngs .row-cols-lg-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-lg-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-lg-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-lg-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-lg-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-lg-auto{flex:0 0 auto;width:auto}.ngs .col-lg-1{flex:0 0 auto;width:6.25%}.ngs .col-lg-2{flex:0 0 auto;width:12.5%}.ngs .col-lg-3{flex:0 0 auto;width:18.75%}.ngs .col-lg-4{flex:0 0 auto;width:25%}.ngs .col-lg-5{flex:0 0 auto;width:31.25%}.ngs .col-lg-6{flex:0 0 auto;width:37.5%}.ngs .col-lg-7{flex:0 0 auto;width:43.75%}.ngs .col-lg-8{flex:0 0 auto;width:50%}.ngs .col-lg-9{flex:0 0 auto;width:56.25%}.ngs .col-lg-10{flex:0 0 auto;width:62.5%}.ngs .col-lg-11{flex:0 0 auto;width:68.75%}.ngs .col-lg-12{flex:0 0 auto;width:75%}.ngs .col-lg-13{flex:0 0 auto;width:81.25%}.ngs .col-lg-14{flex:0 0 auto;width:87.5%}.ngs .col-lg-15{flex:0 0 auto;width:93.75%}.ngs .col-lg-16{flex:0 0 auto;width:100%}.ngs .offset-lg-0{margin-left:0}.ngs .offset-lg-1{margin-left:6.25%}.ngs .offset-lg-2{margin-left:12.5%}.ngs .offset-lg-3{margin-left:18.75%}.ngs .offset-lg-4{margin-left:25%}.ngs .offset-lg-5{margin-left:31.25%}.ngs .offset-lg-6{margin-left:37.5%}.ngs .offset-lg-7{margin-left:43.75%}.ngs .offset-lg-8{margin-left:50%}.ngs .offset-lg-9{margin-left:56.25%}.ngs .offset-lg-10{margin-left:62.5%}.ngs .offset-lg-11{margin-left:68.75%}.ngs .offset-lg-12{margin-left:75%}.ngs .offset-lg-13{margin-left:81.25%}.ngs .offset-lg-14{margin-left:87.5%}.ngs .offset-lg-15{margin-left:93.75%}.ngs .g-lg-0,.ngs .gx-lg-0{--ngsgutter-x: 0}.ngs .g-lg-0,.ngs .gy-lg-0{--ngsgutter-y: 0}.ngs .g-lg-1,.ngs .gx-lg-1{--ngsgutter-x: .25rem}.ngs .g-lg-1,.ngs .gy-lg-1{--ngsgutter-y: .25rem}.ngs .g-lg-2,.ngs .gx-lg-2{--ngsgutter-x: .5rem}.ngs .g-lg-2,.ngs .gy-lg-2{--ngsgutter-y: .5rem}.ngs .g-lg-3,.ngs .gx-lg-3{--ngsgutter-x: 1rem}.ngs .g-lg-3,.ngs .gy-lg-3{--ngsgutter-y: 1rem}.ngs .g-lg-4,.ngs .gx-lg-4{--ngsgutter-x: 1.5rem}.ngs .g-lg-4,.ngs .gy-lg-4{--ngsgutter-y: 1.5rem}.ngs .g-lg-5,.ngs .gx-lg-5{--ngsgutter-x: 3rem}.ngs .g-lg-5,.ngs .gy-lg-5{--ngsgutter-y: 3rem}}@media (min-width: 1200px){.ngs .col-xl{flex:1 0 0%}.ngs .row-cols-xl-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-xl-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-xl-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-xl-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-xl-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-xl-auto{flex:0 0 auto;width:auto}.ngs .col-xl-1{flex:0 0 auto;width:6.25%}.ngs .col-xl-2{flex:0 0 auto;width:12.5%}.ngs .col-xl-3{flex:0 0 auto;width:18.75%}.ngs .col-xl-4{flex:0 0 auto;width:25%}.ngs .col-xl-5{flex:0 0 auto;width:31.25%}.ngs .col-xl-6{flex:0 0 auto;width:37.5%}.ngs .col-xl-7{flex:0 0 auto;width:43.75%}.ngs .col-xl-8{flex:0 0 auto;width:50%}.ngs .col-xl-9{flex:0 0 auto;width:56.25%}.ngs .col-xl-10{flex:0 0 auto;width:62.5%}.ngs .col-xl-11{flex:0 0 auto;width:68.75%}.ngs .col-xl-12{flex:0 0 auto;width:75%}.ngs .col-xl-13{flex:0 0 auto;width:81.25%}.ngs .col-xl-14{flex:0 0 auto;width:87.5%}.ngs .col-xl-15{flex:0 0 auto;width:93.75%}.ngs .col-xl-16{flex:0 0 auto;width:100%}.ngs .offset-xl-0{margin-left:0}.ngs .offset-xl-1{margin-left:6.25%}.ngs .offset-xl-2{margin-left:12.5%}.ngs .offset-xl-3{margin-left:18.75%}.ngs .offset-xl-4{margin-left:25%}.ngs .offset-xl-5{margin-left:31.25%}.ngs .offset-xl-6{margin-left:37.5%}.ngs .offset-xl-7{margin-left:43.75%}.ngs .offset-xl-8{margin-left:50%}.ngs .offset-xl-9{margin-left:56.25%}.ngs .offset-xl-10{margin-left:62.5%}.ngs .offset-xl-11{margin-left:68.75%}.ngs .offset-xl-12{margin-left:75%}.ngs .offset-xl-13{margin-left:81.25%}.ngs .offset-xl-14{margin-left:87.5%}.ngs .offset-xl-15{margin-left:93.75%}.ngs .g-xl-0,.ngs .gx-xl-0{--ngsgutter-x: 0}.ngs .g-xl-0,.ngs .gy-xl-0{--ngsgutter-y: 0}.ngs .g-xl-1,.ngs .gx-xl-1{--ngsgutter-x: .25rem}.ngs .g-xl-1,.ngs .gy-xl-1{--ngsgutter-y: .25rem}.ngs .g-xl-2,.ngs .gx-xl-2{--ngsgutter-x: .5rem}.ngs .g-xl-2,.ngs .gy-xl-2{--ngsgutter-y: .5rem}.ngs .g-xl-3,.ngs .gx-xl-3{--ngsgutter-x: 1rem}.ngs .g-xl-3,.ngs .gy-xl-3{--ngsgutter-y: 1rem}.ngs .g-xl-4,.ngs .gx-xl-4{--ngsgutter-x: 1.5rem}.ngs .g-xl-4,.ngs .gy-xl-4{--ngsgutter-y: 1.5rem}.ngs .g-xl-5,.ngs .gx-xl-5{--ngsgutter-x: 3rem}.ngs .g-xl-5,.ngs .gy-xl-5{--ngsgutter-y: 3rem}}@media (min-width: 1400px){.ngs .col-xxl{flex:1 0 0%}.ngs .row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.ngs .row-cols-xxl-1>*{flex:0 0 auto;width:100%}.ngs .row-cols-xxl-2>*{flex:0 0 auto;width:50%}.ngs .row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.ngs .row-cols-xxl-4>*{flex:0 0 auto;width:25%}.ngs .row-cols-xxl-5>*{flex:0 0 auto;width:20%}.ngs .row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.ngs .col-xxl-auto{flex:0 0 auto;width:auto}.ngs .col-xxl-1{flex:0 0 auto;width:6.25%}.ngs .col-xxl-2{flex:0 0 auto;width:12.5%}.ngs .col-xxl-3{flex:0 0 auto;width:18.75%}.ngs .col-xxl-4{flex:0 0 auto;width:25%}.ngs .col-xxl-5{flex:0 0 auto;width:31.25%}.ngs .col-xxl-6{flex:0 0 auto;width:37.5%}.ngs .col-xxl-7{flex:0 0 auto;width:43.75%}.ngs .col-xxl-8{flex:0 0 auto;width:50%}.ngs .col-xxl-9{flex:0 0 auto;width:56.25%}.ngs .col-xxl-10{flex:0 0 auto;width:62.5%}.ngs .col-xxl-11{flex:0 0 auto;width:68.75%}.ngs .col-xxl-12{flex:0 0 auto;width:75%}.ngs .col-xxl-13{flex:0 0 auto;width:81.25%}.ngs .col-xxl-14{flex:0 0 auto;width:87.5%}.ngs .col-xxl-15{flex:0 0 auto;width:93.75%}.ngs .col-xxl-16{flex:0 0 auto;width:100%}.ngs .offset-xxl-0{margin-left:0}.ngs .offset-xxl-1{margin-left:6.25%}.ngs .offset-xxl-2{margin-left:12.5%}.ngs .offset-xxl-3{margin-left:18.75%}.ngs .offset-xxl-4{margin-left:25%}.ngs .offset-xxl-5{margin-left:31.25%}.ngs .offset-xxl-6{margin-left:37.5%}.ngs .offset-xxl-7{margin-left:43.75%}.ngs .offset-xxl-8{margin-left:50%}.ngs .offset-xxl-9{margin-left:56.25%}.ngs .offset-xxl-10{margin-left:62.5%}.ngs .offset-xxl-11{margin-left:68.75%}.ngs .offset-xxl-12{margin-left:75%}.ngs .offset-xxl-13{margin-left:81.25%}.ngs .offset-xxl-14{margin-left:87.5%}.ngs .offset-xxl-15{margin-left:93.75%}.ngs .g-xxl-0,.ngs .gx-xxl-0{--ngsgutter-x: 0}.ngs .g-xxl-0,.ngs .gy-xxl-0{--ngsgutter-y: 0}.ngs .g-xxl-1,.ngs .gx-xxl-1{--ngsgutter-x: .25rem}.ngs .g-xxl-1,.ngs .gy-xxl-1{--ngsgutter-y: .25rem}.ngs .g-xxl-2,.ngs .gx-xxl-2{--ngsgutter-x: .5rem}.ngs .g-xxl-2,.ngs .gy-xxl-2{--ngsgutter-y: .5rem}.ngs .g-xxl-3,.ngs .gx-xxl-3{--ngsgutter-x: 1rem}.ngs .g-xxl-3,.ngs .gy-xxl-3{--ngsgutter-y: 1rem}.ngs .g-xxl-4,.ngs .gx-xxl-4{--ngsgutter-x: 1.5rem}.ngs .g-xxl-4,.ngs .gy-xxl-4{--ngsgutter-y: 1.5rem}.ngs .g-xxl-5,.ngs .gx-xxl-5{--ngsgutter-x: 3rem}.ngs .g-xxl-5,.ngs .gy-xxl-5{--ngsgutter-y: 3rem}}.ngs .d-inline{display:inline!important}.ngs .d-inline-block{display:inline-block!important}.ngs .d-block{display:block!important}.ngs .d-grid{display:grid!important}.ngs .d-inline-grid{display:inline-grid!important}.ngs .d-table{display:table!important}.ngs .d-table-row{display:table-row!important}.ngs .d-table-cell{display:table-cell!important}.ngs .d-flex{display:flex!important}.ngs .d-inline-flex{display:inline-flex!important}.ngs .d-none{display:none!important}.ngs .flex-fill{flex:1 1 auto!important}.ngs .flex-row{flex-direction:row!important}.ngs .flex-column{flex-direction:column!important}.ngs .flex-row-reverse{flex-direction:row-reverse!important}.ngs .flex-column-reverse{flex-direction:column-reverse!important}.ngs .flex-grow-0{flex-grow:0!important}.ngs .flex-grow-1{flex-grow:1!important}.ngs .flex-shrink-0{flex-shrink:0!important}.ngs .flex-shrink-1{flex-shrink:1!important}.ngs .flex-wrap{flex-wrap:wrap!important}.ngs .flex-nowrap{flex-wrap:nowrap!important}.ngs .flex-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-start{justify-content:flex-start!important}.ngs .justify-content-end{justify-content:flex-end!important}.ngs .justify-content-center{justify-content:center!important}.ngs .justify-content-between{justify-content:space-between!important}.ngs .justify-content-around{justify-content:space-around!important}.ngs .justify-content-evenly{justify-content:space-evenly!important}.ngs .align-items-start{align-items:flex-start!important}.ngs .align-items-end{align-items:flex-end!important}.ngs .align-items-center{align-items:center!important}.ngs .align-items-baseline{align-items:baseline!important}.ngs .align-items-stretch{align-items:stretch!important}.ngs .align-content-start{align-content:flex-start!important}.ngs .align-content-end{align-content:flex-end!important}.ngs .align-content-center{align-content:center!important}.ngs .align-content-between{align-content:space-between!important}.ngs .align-content-around{align-content:space-around!important}.ngs .align-content-stretch{align-content:stretch!important}.ngs .align-self-auto{align-self:auto!important}.ngs .align-self-start{align-self:flex-start!important}.ngs .align-self-end{align-self:flex-end!important}.ngs .align-self-center{align-self:center!important}.ngs .align-self-baseline{align-self:baseline!important}.ngs .align-self-stretch{align-self:stretch!important}.ngs .order-first{order:-1!important}.ngs .order-0{order:0!important}.ngs .order-1{order:1!important}.ngs .order-2{order:2!important}.ngs .order-3{order:3!important}.ngs .order-4{order:4!important}.ngs .order-5{order:5!important}.ngs .order-last{order:6!important}.ngs .m-0{margin:0!important}.ngs .m-1{margin:.25rem!important}.ngs .m-2{margin:.5rem!important}.ngs .m-3{margin:1rem!important}.ngs .m-4{margin:1.5rem!important}.ngs .m-5{margin:3rem!important}.ngs .m-auto{margin:auto!important}.ngs .mx-0{margin-right:0!important;margin-left:0!important}.ngs .mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-0{margin-top:0!important}.ngs .mt-1{margin-top:.25rem!important}.ngs .mt-2{margin-top:.5rem!important}.ngs .mt-3{margin-top:1rem!important}.ngs .mt-4{margin-top:1.5rem!important}.ngs .mt-5{margin-top:3rem!important}.ngs .mt-auto{margin-top:auto!important}.ngs .me-0{margin-right:0!important}.ngs .me-1{margin-right:.25rem!important}.ngs .me-2{margin-right:.5rem!important}.ngs .me-3{margin-right:1rem!important}.ngs .me-4{margin-right:1.5rem!important}.ngs .me-5{margin-right:3rem!important}.ngs .me-auto{margin-right:auto!important}.ngs .mb-0{margin-bottom:0!important}.ngs .mb-1{margin-bottom:.25rem!important}.ngs .mb-2{margin-bottom:.5rem!important}.ngs .mb-3{margin-bottom:1rem!important}.ngs .mb-4{margin-bottom:1.5rem!important}.ngs .mb-5{margin-bottom:3rem!important}.ngs .mb-auto{margin-bottom:auto!important}.ngs .ms-0{margin-left:0!important}.ngs .ms-1{margin-left:.25rem!important}.ngs .ms-2{margin-left:.5rem!important}.ngs .ms-3{margin-left:1rem!important}.ngs .ms-4{margin-left:1.5rem!important}.ngs .ms-5{margin-left:3rem!important}.ngs .ms-auto{margin-left:auto!important}.ngs .p-0{padding:0!important}.ngs .p-1{padding:.25rem!important}.ngs .p-2{padding:.5rem!important}.ngs .p-3{padding:1rem!important}.ngs .p-4{padding:1.5rem!important}.ngs .p-5{padding:3rem!important}.ngs .px-0{padding-right:0!important;padding-left:0!important}.ngs .px-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-0{padding-top:0!important}.ngs .pt-1{padding-top:.25rem!important}.ngs .pt-2{padding-top:.5rem!important}.ngs .pt-3{padding-top:1rem!important}.ngs .pt-4{padding-top:1.5rem!important}.ngs .pt-5{padding-top:3rem!important}.ngs .pe-0{padding-right:0!important}.ngs .pe-1{padding-right:.25rem!important}.ngs .pe-2{padding-right:.5rem!important}.ngs .pe-3{padding-right:1rem!important}.ngs .pe-4{padding-right:1.5rem!important}.ngs .pe-5{padding-right:3rem!important}.ngs .pb-0{padding-bottom:0!important}.ngs .pb-1{padding-bottom:.25rem!important}.ngs .pb-2{padding-bottom:.5rem!important}.ngs .pb-3{padding-bottom:1rem!important}.ngs .pb-4{padding-bottom:1.5rem!important}.ngs .pb-5{padding-bottom:3rem!important}.ngs .ps-0{padding-left:0!important}.ngs .ps-1{padding-left:.25rem!important}.ngs .ps-2{padding-left:.5rem!important}.ngs .ps-3{padding-left:1rem!important}.ngs .ps-4{padding-left:1.5rem!important}.ngs .ps-5{padding-left:3rem!important}@media (min-width: 576px){.ngs .d-sm-inline{display:inline!important}.ngs .d-sm-inline-block{display:inline-block!important}.ngs .d-sm-block{display:block!important}.ngs .d-sm-grid{display:grid!important}.ngs .d-sm-inline-grid{display:inline-grid!important}.ngs .d-sm-table{display:table!important}.ngs .d-sm-table-row{display:table-row!important}.ngs .d-sm-table-cell{display:table-cell!important}.ngs .d-sm-flex{display:flex!important}.ngs .d-sm-inline-flex{display:inline-flex!important}.ngs .d-sm-none{display:none!important}.ngs .flex-sm-fill{flex:1 1 auto!important}.ngs .flex-sm-row{flex-direction:row!important}.ngs .flex-sm-column{flex-direction:column!important}.ngs .flex-sm-row-reverse{flex-direction:row-reverse!important}.ngs .flex-sm-column-reverse{flex-direction:column-reverse!important}.ngs .flex-sm-grow-0{flex-grow:0!important}.ngs .flex-sm-grow-1{flex-grow:1!important}.ngs .flex-sm-shrink-0{flex-shrink:0!important}.ngs .flex-sm-shrink-1{flex-shrink:1!important}.ngs .flex-sm-wrap{flex-wrap:wrap!important}.ngs .flex-sm-nowrap{flex-wrap:nowrap!important}.ngs .flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-sm-start{justify-content:flex-start!important}.ngs .justify-content-sm-end{justify-content:flex-end!important}.ngs .justify-content-sm-center{justify-content:center!important}.ngs .justify-content-sm-between{justify-content:space-between!important}.ngs .justify-content-sm-around{justify-content:space-around!important}.ngs .justify-content-sm-evenly{justify-content:space-evenly!important}.ngs .align-items-sm-start{align-items:flex-start!important}.ngs .align-items-sm-end{align-items:flex-end!important}.ngs .align-items-sm-center{align-items:center!important}.ngs .align-items-sm-baseline{align-items:baseline!important}.ngs .align-items-sm-stretch{align-items:stretch!important}.ngs .align-content-sm-start{align-content:flex-start!important}.ngs .align-content-sm-end{align-content:flex-end!important}.ngs .align-content-sm-center{align-content:center!important}.ngs .align-content-sm-between{align-content:space-between!important}.ngs .align-content-sm-around{align-content:space-around!important}.ngs .align-content-sm-stretch{align-content:stretch!important}.ngs .align-self-sm-auto{align-self:auto!important}.ngs .align-self-sm-start{align-self:flex-start!important}.ngs .align-self-sm-end{align-self:flex-end!important}.ngs .align-self-sm-center{align-self:center!important}.ngs .align-self-sm-baseline{align-self:baseline!important}.ngs .align-self-sm-stretch{align-self:stretch!important}.ngs .order-sm-first{order:-1!important}.ngs .order-sm-0{order:0!important}.ngs .order-sm-1{order:1!important}.ngs .order-sm-2{order:2!important}.ngs .order-sm-3{order:3!important}.ngs .order-sm-4{order:4!important}.ngs .order-sm-5{order:5!important}.ngs .order-sm-last{order:6!important}.ngs .m-sm-0{margin:0!important}.ngs .m-sm-1{margin:.25rem!important}.ngs .m-sm-2{margin:.5rem!important}.ngs .m-sm-3{margin:1rem!important}.ngs .m-sm-4{margin:1.5rem!important}.ngs .m-sm-5{margin:3rem!important}.ngs .m-sm-auto{margin:auto!important}.ngs .mx-sm-0{margin-right:0!important;margin-left:0!important}.ngs .mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-sm-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-sm-0{margin-top:0!important}.ngs .mt-sm-1{margin-top:.25rem!important}.ngs .mt-sm-2{margin-top:.5rem!important}.ngs .mt-sm-3{margin-top:1rem!important}.ngs .mt-sm-4{margin-top:1.5rem!important}.ngs .mt-sm-5{margin-top:3rem!important}.ngs .mt-sm-auto{margin-top:auto!important}.ngs .me-sm-0{margin-right:0!important}.ngs .me-sm-1{margin-right:.25rem!important}.ngs .me-sm-2{margin-right:.5rem!important}.ngs .me-sm-3{margin-right:1rem!important}.ngs .me-sm-4{margin-right:1.5rem!important}.ngs .me-sm-5{margin-right:3rem!important}.ngs .me-sm-auto{margin-right:auto!important}.ngs .mb-sm-0{margin-bottom:0!important}.ngs .mb-sm-1{margin-bottom:.25rem!important}.ngs .mb-sm-2{margin-bottom:.5rem!important}.ngs .mb-sm-3{margin-bottom:1rem!important}.ngs .mb-sm-4{margin-bottom:1.5rem!important}.ngs .mb-sm-5{margin-bottom:3rem!important}.ngs .mb-sm-auto{margin-bottom:auto!important}.ngs .ms-sm-0{margin-left:0!important}.ngs .ms-sm-1{margin-left:.25rem!important}.ngs .ms-sm-2{margin-left:.5rem!important}.ngs .ms-sm-3{margin-left:1rem!important}.ngs .ms-sm-4{margin-left:1.5rem!important}.ngs .ms-sm-5{margin-left:3rem!important}.ngs .ms-sm-auto{margin-left:auto!important}.ngs .p-sm-0{padding:0!important}.ngs .p-sm-1{padding:.25rem!important}.ngs .p-sm-2{padding:.5rem!important}.ngs .p-sm-3{padding:1rem!important}.ngs .p-sm-4{padding:1.5rem!important}.ngs .p-sm-5{padding:3rem!important}.ngs .px-sm-0{padding-right:0!important;padding-left:0!important}.ngs .px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-sm-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-sm-0{padding-top:0!important}.ngs .pt-sm-1{padding-top:.25rem!important}.ngs .pt-sm-2{padding-top:.5rem!important}.ngs .pt-sm-3{padding-top:1rem!important}.ngs .pt-sm-4{padding-top:1.5rem!important}.ngs .pt-sm-5{padding-top:3rem!important}.ngs .pe-sm-0{padding-right:0!important}.ngs .pe-sm-1{padding-right:.25rem!important}.ngs .pe-sm-2{padding-right:.5rem!important}.ngs .pe-sm-3{padding-right:1rem!important}.ngs .pe-sm-4{padding-right:1.5rem!important}.ngs .pe-sm-5{padding-right:3rem!important}.ngs .pb-sm-0{padding-bottom:0!important}.ngs .pb-sm-1{padding-bottom:.25rem!important}.ngs .pb-sm-2{padding-bottom:.5rem!important}.ngs .pb-sm-3{padding-bottom:1rem!important}.ngs .pb-sm-4{padding-bottom:1.5rem!important}.ngs .pb-sm-5{padding-bottom:3rem!important}.ngs .ps-sm-0{padding-left:0!important}.ngs .ps-sm-1{padding-left:.25rem!important}.ngs .ps-sm-2{padding-left:.5rem!important}.ngs .ps-sm-3{padding-left:1rem!important}.ngs .ps-sm-4{padding-left:1.5rem!important}.ngs .ps-sm-5{padding-left:3rem!important}}@media (min-width: 768px){.ngs .d-md-inline{display:inline!important}.ngs .d-md-inline-block{display:inline-block!important}.ngs .d-md-block{display:block!important}.ngs .d-md-grid{display:grid!important}.ngs .d-md-inline-grid{display:inline-grid!important}.ngs .d-md-table{display:table!important}.ngs .d-md-table-row{display:table-row!important}.ngs .d-md-table-cell{display:table-cell!important}.ngs .d-md-flex{display:flex!important}.ngs .d-md-inline-flex{display:inline-flex!important}.ngs .d-md-none{display:none!important}.ngs .flex-md-fill{flex:1 1 auto!important}.ngs .flex-md-row{flex-direction:row!important}.ngs .flex-md-column{flex-direction:column!important}.ngs .flex-md-row-reverse{flex-direction:row-reverse!important}.ngs .flex-md-column-reverse{flex-direction:column-reverse!important}.ngs .flex-md-grow-0{flex-grow:0!important}.ngs .flex-md-grow-1{flex-grow:1!important}.ngs .flex-md-shrink-0{flex-shrink:0!important}.ngs .flex-md-shrink-1{flex-shrink:1!important}.ngs .flex-md-wrap{flex-wrap:wrap!important}.ngs .flex-md-nowrap{flex-wrap:nowrap!important}.ngs .flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-md-start{justify-content:flex-start!important}.ngs .justify-content-md-end{justify-content:flex-end!important}.ngs .justify-content-md-center{justify-content:center!important}.ngs .justify-content-md-between{justify-content:space-between!important}.ngs .justify-content-md-around{justify-content:space-around!important}.ngs .justify-content-md-evenly{justify-content:space-evenly!important}.ngs .align-items-md-start{align-items:flex-start!important}.ngs .align-items-md-end{align-items:flex-end!important}.ngs .align-items-md-center{align-items:center!important}.ngs .align-items-md-baseline{align-items:baseline!important}.ngs .align-items-md-stretch{align-items:stretch!important}.ngs .align-content-md-start{align-content:flex-start!important}.ngs .align-content-md-end{align-content:flex-end!important}.ngs .align-content-md-center{align-content:center!important}.ngs .align-content-md-between{align-content:space-between!important}.ngs .align-content-md-around{align-content:space-around!important}.ngs .align-content-md-stretch{align-content:stretch!important}.ngs .align-self-md-auto{align-self:auto!important}.ngs .align-self-md-start{align-self:flex-start!important}.ngs .align-self-md-end{align-self:flex-end!important}.ngs .align-self-md-center{align-self:center!important}.ngs .align-self-md-baseline{align-self:baseline!important}.ngs .align-self-md-stretch{align-self:stretch!important}.ngs .order-md-first{order:-1!important}.ngs .order-md-0{order:0!important}.ngs .order-md-1{order:1!important}.ngs .order-md-2{order:2!important}.ngs .order-md-3{order:3!important}.ngs .order-md-4{order:4!important}.ngs .order-md-5{order:5!important}.ngs .order-md-last{order:6!important}.ngs .m-md-0{margin:0!important}.ngs .m-md-1{margin:.25rem!important}.ngs .m-md-2{margin:.5rem!important}.ngs .m-md-3{margin:1rem!important}.ngs .m-md-4{margin:1.5rem!important}.ngs .m-md-5{margin:3rem!important}.ngs .m-md-auto{margin:auto!important}.ngs .mx-md-0{margin-right:0!important;margin-left:0!important}.ngs .mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-md-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-md-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-md-0{margin-top:0!important}.ngs .mt-md-1{margin-top:.25rem!important}.ngs .mt-md-2{margin-top:.5rem!important}.ngs .mt-md-3{margin-top:1rem!important}.ngs .mt-md-4{margin-top:1.5rem!important}.ngs .mt-md-5{margin-top:3rem!important}.ngs .mt-md-auto{margin-top:auto!important}.ngs .me-md-0{margin-right:0!important}.ngs .me-md-1{margin-right:.25rem!important}.ngs .me-md-2{margin-right:.5rem!important}.ngs .me-md-3{margin-right:1rem!important}.ngs .me-md-4{margin-right:1.5rem!important}.ngs .me-md-5{margin-right:3rem!important}.ngs .me-md-auto{margin-right:auto!important}.ngs .mb-md-0{margin-bottom:0!important}.ngs .mb-md-1{margin-bottom:.25rem!important}.ngs .mb-md-2{margin-bottom:.5rem!important}.ngs .mb-md-3{margin-bottom:1rem!important}.ngs .mb-md-4{margin-bottom:1.5rem!important}.ngs .mb-md-5{margin-bottom:3rem!important}.ngs .mb-md-auto{margin-bottom:auto!important}.ngs .ms-md-0{margin-left:0!important}.ngs .ms-md-1{margin-left:.25rem!important}.ngs .ms-md-2{margin-left:.5rem!important}.ngs .ms-md-3{margin-left:1rem!important}.ngs .ms-md-4{margin-left:1.5rem!important}.ngs .ms-md-5{margin-left:3rem!important}.ngs .ms-md-auto{margin-left:auto!important}.ngs .p-md-0{padding:0!important}.ngs .p-md-1{padding:.25rem!important}.ngs .p-md-2{padding:.5rem!important}.ngs .p-md-3{padding:1rem!important}.ngs .p-md-4{padding:1.5rem!important}.ngs .p-md-5{padding:3rem!important}.ngs .px-md-0{padding-right:0!important;padding-left:0!important}.ngs .px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-md-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-md-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-md-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-md-0{padding-top:0!important}.ngs .pt-md-1{padding-top:.25rem!important}.ngs .pt-md-2{padding-top:.5rem!important}.ngs .pt-md-3{padding-top:1rem!important}.ngs .pt-md-4{padding-top:1.5rem!important}.ngs .pt-md-5{padding-top:3rem!important}.ngs .pe-md-0{padding-right:0!important}.ngs .pe-md-1{padding-right:.25rem!important}.ngs .pe-md-2{padding-right:.5rem!important}.ngs .pe-md-3{padding-right:1rem!important}.ngs .pe-md-4{padding-right:1.5rem!important}.ngs .pe-md-5{padding-right:3rem!important}.ngs .pb-md-0{padding-bottom:0!important}.ngs .pb-md-1{padding-bottom:.25rem!important}.ngs .pb-md-2{padding-bottom:.5rem!important}.ngs .pb-md-3{padding-bottom:1rem!important}.ngs .pb-md-4{padding-bottom:1.5rem!important}.ngs .pb-md-5{padding-bottom:3rem!important}.ngs .ps-md-0{padding-left:0!important}.ngs .ps-md-1{padding-left:.25rem!important}.ngs .ps-md-2{padding-left:.5rem!important}.ngs .ps-md-3{padding-left:1rem!important}.ngs .ps-md-4{padding-left:1.5rem!important}.ngs .ps-md-5{padding-left:3rem!important}}@media (min-width: 992px){.ngs .d-lg-inline{display:inline!important}.ngs .d-lg-inline-block{display:inline-block!important}.ngs .d-lg-block{display:block!important}.ngs .d-lg-grid{display:grid!important}.ngs .d-lg-inline-grid{display:inline-grid!important}.ngs .d-lg-table{display:table!important}.ngs .d-lg-table-row{display:table-row!important}.ngs .d-lg-table-cell{display:table-cell!important}.ngs .d-lg-flex{display:flex!important}.ngs .d-lg-inline-flex{display:inline-flex!important}.ngs .d-lg-none{display:none!important}.ngs .flex-lg-fill{flex:1 1 auto!important}.ngs .flex-lg-row{flex-direction:row!important}.ngs .flex-lg-column{flex-direction:column!important}.ngs .flex-lg-row-reverse{flex-direction:row-reverse!important}.ngs .flex-lg-column-reverse{flex-direction:column-reverse!important}.ngs .flex-lg-grow-0{flex-grow:0!important}.ngs .flex-lg-grow-1{flex-grow:1!important}.ngs .flex-lg-shrink-0{flex-shrink:0!important}.ngs .flex-lg-shrink-1{flex-shrink:1!important}.ngs .flex-lg-wrap{flex-wrap:wrap!important}.ngs .flex-lg-nowrap{flex-wrap:nowrap!important}.ngs .flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-lg-start{justify-content:flex-start!important}.ngs .justify-content-lg-end{justify-content:flex-end!important}.ngs .justify-content-lg-center{justify-content:center!important}.ngs .justify-content-lg-between{justify-content:space-between!important}.ngs .justify-content-lg-around{justify-content:space-around!important}.ngs .justify-content-lg-evenly{justify-content:space-evenly!important}.ngs .align-items-lg-start{align-items:flex-start!important}.ngs .align-items-lg-end{align-items:flex-end!important}.ngs .align-items-lg-center{align-items:center!important}.ngs .align-items-lg-baseline{align-items:baseline!important}.ngs .align-items-lg-stretch{align-items:stretch!important}.ngs .align-content-lg-start{align-content:flex-start!important}.ngs .align-content-lg-end{align-content:flex-end!important}.ngs .align-content-lg-center{align-content:center!important}.ngs .align-content-lg-between{align-content:space-between!important}.ngs .align-content-lg-around{align-content:space-around!important}.ngs .align-content-lg-stretch{align-content:stretch!important}.ngs .align-self-lg-auto{align-self:auto!important}.ngs .align-self-lg-start{align-self:flex-start!important}.ngs .align-self-lg-end{align-self:flex-end!important}.ngs .align-self-lg-center{align-self:center!important}.ngs .align-self-lg-baseline{align-self:baseline!important}.ngs .align-self-lg-stretch{align-self:stretch!important}.ngs .order-lg-first{order:-1!important}.ngs .order-lg-0{order:0!important}.ngs .order-lg-1{order:1!important}.ngs .order-lg-2{order:2!important}.ngs .order-lg-3{order:3!important}.ngs .order-lg-4{order:4!important}.ngs .order-lg-5{order:5!important}.ngs .order-lg-last{order:6!important}.ngs .m-lg-0{margin:0!important}.ngs .m-lg-1{margin:.25rem!important}.ngs .m-lg-2{margin:.5rem!important}.ngs .m-lg-3{margin:1rem!important}.ngs .m-lg-4{margin:1.5rem!important}.ngs .m-lg-5{margin:3rem!important}.ngs .m-lg-auto{margin:auto!important}.ngs .mx-lg-0{margin-right:0!important;margin-left:0!important}.ngs .mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-lg-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-lg-0{margin-top:0!important}.ngs .mt-lg-1{margin-top:.25rem!important}.ngs .mt-lg-2{margin-top:.5rem!important}.ngs .mt-lg-3{margin-top:1rem!important}.ngs .mt-lg-4{margin-top:1.5rem!important}.ngs .mt-lg-5{margin-top:3rem!important}.ngs .mt-lg-auto{margin-top:auto!important}.ngs .me-lg-0{margin-right:0!important}.ngs .me-lg-1{margin-right:.25rem!important}.ngs .me-lg-2{margin-right:.5rem!important}.ngs .me-lg-3{margin-right:1rem!important}.ngs .me-lg-4{margin-right:1.5rem!important}.ngs .me-lg-5{margin-right:3rem!important}.ngs .me-lg-auto{margin-right:auto!important}.ngs .mb-lg-0{margin-bottom:0!important}.ngs .mb-lg-1{margin-bottom:.25rem!important}.ngs .mb-lg-2{margin-bottom:.5rem!important}.ngs .mb-lg-3{margin-bottom:1rem!important}.ngs .mb-lg-4{margin-bottom:1.5rem!important}.ngs .mb-lg-5{margin-bottom:3rem!important}.ngs .mb-lg-auto{margin-bottom:auto!important}.ngs .ms-lg-0{margin-left:0!important}.ngs .ms-lg-1{margin-left:.25rem!important}.ngs .ms-lg-2{margin-left:.5rem!important}.ngs .ms-lg-3{margin-left:1rem!important}.ngs .ms-lg-4{margin-left:1.5rem!important}.ngs .ms-lg-5{margin-left:3rem!important}.ngs .ms-lg-auto{margin-left:auto!important}.ngs .p-lg-0{padding:0!important}.ngs .p-lg-1{padding:.25rem!important}.ngs .p-lg-2{padding:.5rem!important}.ngs .p-lg-3{padding:1rem!important}.ngs .p-lg-4{padding:1.5rem!important}.ngs .p-lg-5{padding:3rem!important}.ngs .px-lg-0{padding-right:0!important;padding-left:0!important}.ngs .px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-lg-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-lg-0{padding-top:0!important}.ngs .pt-lg-1{padding-top:.25rem!important}.ngs .pt-lg-2{padding-top:.5rem!important}.ngs .pt-lg-3{padding-top:1rem!important}.ngs .pt-lg-4{padding-top:1.5rem!important}.ngs .pt-lg-5{padding-top:3rem!important}.ngs .pe-lg-0{padding-right:0!important}.ngs .pe-lg-1{padding-right:.25rem!important}.ngs .pe-lg-2{padding-right:.5rem!important}.ngs .pe-lg-3{padding-right:1rem!important}.ngs .pe-lg-4{padding-right:1.5rem!important}.ngs .pe-lg-5{padding-right:3rem!important}.ngs .pb-lg-0{padding-bottom:0!important}.ngs .pb-lg-1{padding-bottom:.25rem!important}.ngs .pb-lg-2{padding-bottom:.5rem!important}.ngs .pb-lg-3{padding-bottom:1rem!important}.ngs .pb-lg-4{padding-bottom:1.5rem!important}.ngs .pb-lg-5{padding-bottom:3rem!important}.ngs .ps-lg-0{padding-left:0!important}.ngs .ps-lg-1{padding-left:.25rem!important}.ngs .ps-lg-2{padding-left:.5rem!important}.ngs .ps-lg-3{padding-left:1rem!important}.ngs .ps-lg-4{padding-left:1.5rem!important}.ngs .ps-lg-5{padding-left:3rem!important}}@media (min-width: 1200px){.ngs .d-xl-inline{display:inline!important}.ngs .d-xl-inline-block{display:inline-block!important}.ngs .d-xl-block{display:block!important}.ngs .d-xl-grid{display:grid!important}.ngs .d-xl-inline-grid{display:inline-grid!important}.ngs .d-xl-table{display:table!important}.ngs .d-xl-table-row{display:table-row!important}.ngs .d-xl-table-cell{display:table-cell!important}.ngs .d-xl-flex{display:flex!important}.ngs .d-xl-inline-flex{display:inline-flex!important}.ngs .d-xl-none{display:none!important}.ngs .flex-xl-fill{flex:1 1 auto!important}.ngs .flex-xl-row{flex-direction:row!important}.ngs .flex-xl-column{flex-direction:column!important}.ngs .flex-xl-row-reverse{flex-direction:row-reverse!important}.ngs .flex-xl-column-reverse{flex-direction:column-reverse!important}.ngs .flex-xl-grow-0{flex-grow:0!important}.ngs .flex-xl-grow-1{flex-grow:1!important}.ngs .flex-xl-shrink-0{flex-shrink:0!important}.ngs .flex-xl-shrink-1{flex-shrink:1!important}.ngs .flex-xl-wrap{flex-wrap:wrap!important}.ngs .flex-xl-nowrap{flex-wrap:nowrap!important}.ngs .flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-xl-start{justify-content:flex-start!important}.ngs .justify-content-xl-end{justify-content:flex-end!important}.ngs .justify-content-xl-center{justify-content:center!important}.ngs .justify-content-xl-between{justify-content:space-between!important}.ngs .justify-content-xl-around{justify-content:space-around!important}.ngs .justify-content-xl-evenly{justify-content:space-evenly!important}.ngs .align-items-xl-start{align-items:flex-start!important}.ngs .align-items-xl-end{align-items:flex-end!important}.ngs .align-items-xl-center{align-items:center!important}.ngs .align-items-xl-baseline{align-items:baseline!important}.ngs .align-items-xl-stretch{align-items:stretch!important}.ngs .align-content-xl-start{align-content:flex-start!important}.ngs .align-content-xl-end{align-content:flex-end!important}.ngs .align-content-xl-center{align-content:center!important}.ngs .align-content-xl-between{align-content:space-between!important}.ngs .align-content-xl-around{align-content:space-around!important}.ngs .align-content-xl-stretch{align-content:stretch!important}.ngs .align-self-xl-auto{align-self:auto!important}.ngs .align-self-xl-start{align-self:flex-start!important}.ngs .align-self-xl-end{align-self:flex-end!important}.ngs .align-self-xl-center{align-self:center!important}.ngs .align-self-xl-baseline{align-self:baseline!important}.ngs .align-self-xl-stretch{align-self:stretch!important}.ngs .order-xl-first{order:-1!important}.ngs .order-xl-0{order:0!important}.ngs .order-xl-1{order:1!important}.ngs .order-xl-2{order:2!important}.ngs .order-xl-3{order:3!important}.ngs .order-xl-4{order:4!important}.ngs .order-xl-5{order:5!important}.ngs .order-xl-last{order:6!important}.ngs .m-xl-0{margin:0!important}.ngs .m-xl-1{margin:.25rem!important}.ngs .m-xl-2{margin:.5rem!important}.ngs .m-xl-3{margin:1rem!important}.ngs .m-xl-4{margin:1.5rem!important}.ngs .m-xl-5{margin:3rem!important}.ngs .m-xl-auto{margin:auto!important}.ngs .mx-xl-0{margin-right:0!important;margin-left:0!important}.ngs .mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-xl-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-xl-0{margin-top:0!important}.ngs .mt-xl-1{margin-top:.25rem!important}.ngs .mt-xl-2{margin-top:.5rem!important}.ngs .mt-xl-3{margin-top:1rem!important}.ngs .mt-xl-4{margin-top:1.5rem!important}.ngs .mt-xl-5{margin-top:3rem!important}.ngs .mt-xl-auto{margin-top:auto!important}.ngs .me-xl-0{margin-right:0!important}.ngs .me-xl-1{margin-right:.25rem!important}.ngs .me-xl-2{margin-right:.5rem!important}.ngs .me-xl-3{margin-right:1rem!important}.ngs .me-xl-4{margin-right:1.5rem!important}.ngs .me-xl-5{margin-right:3rem!important}.ngs .me-xl-auto{margin-right:auto!important}.ngs .mb-xl-0{margin-bottom:0!important}.ngs .mb-xl-1{margin-bottom:.25rem!important}.ngs .mb-xl-2{margin-bottom:.5rem!important}.ngs .mb-xl-3{margin-bottom:1rem!important}.ngs .mb-xl-4{margin-bottom:1.5rem!important}.ngs .mb-xl-5{margin-bottom:3rem!important}.ngs .mb-xl-auto{margin-bottom:auto!important}.ngs .ms-xl-0{margin-left:0!important}.ngs .ms-xl-1{margin-left:.25rem!important}.ngs .ms-xl-2{margin-left:.5rem!important}.ngs .ms-xl-3{margin-left:1rem!important}.ngs .ms-xl-4{margin-left:1.5rem!important}.ngs .ms-xl-5{margin-left:3rem!important}.ngs .ms-xl-auto{margin-left:auto!important}.ngs .p-xl-0{padding:0!important}.ngs .p-xl-1{padding:.25rem!important}.ngs .p-xl-2{padding:.5rem!important}.ngs .p-xl-3{padding:1rem!important}.ngs .p-xl-4{padding:1.5rem!important}.ngs .p-xl-5{padding:3rem!important}.ngs .px-xl-0{padding-right:0!important;padding-left:0!important}.ngs .px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-xl-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-xl-0{padding-top:0!important}.ngs .pt-xl-1{padding-top:.25rem!important}.ngs .pt-xl-2{padding-top:.5rem!important}.ngs .pt-xl-3{padding-top:1rem!important}.ngs .pt-xl-4{padding-top:1.5rem!important}.ngs .pt-xl-5{padding-top:3rem!important}.ngs .pe-xl-0{padding-right:0!important}.ngs .pe-xl-1{padding-right:.25rem!important}.ngs .pe-xl-2{padding-right:.5rem!important}.ngs .pe-xl-3{padding-right:1rem!important}.ngs .pe-xl-4{padding-right:1.5rem!important}.ngs .pe-xl-5{padding-right:3rem!important}.ngs .pb-xl-0{padding-bottom:0!important}.ngs .pb-xl-1{padding-bottom:.25rem!important}.ngs .pb-xl-2{padding-bottom:.5rem!important}.ngs .pb-xl-3{padding-bottom:1rem!important}.ngs .pb-xl-4{padding-bottom:1.5rem!important}.ngs .pb-xl-5{padding-bottom:3rem!important}.ngs .ps-xl-0{padding-left:0!important}.ngs .ps-xl-1{padding-left:.25rem!important}.ngs .ps-xl-2{padding-left:.5rem!important}.ngs .ps-xl-3{padding-left:1rem!important}.ngs .ps-xl-4{padding-left:1.5rem!important}.ngs .ps-xl-5{padding-left:3rem!important}}@media (min-width: 1400px){.ngs .d-xxl-inline{display:inline!important}.ngs .d-xxl-inline-block{display:inline-block!important}.ngs .d-xxl-block{display:block!important}.ngs .d-xxl-grid{display:grid!important}.ngs .d-xxl-inline-grid{display:inline-grid!important}.ngs .d-xxl-table{display:table!important}.ngs .d-xxl-table-row{display:table-row!important}.ngs .d-xxl-table-cell{display:table-cell!important}.ngs .d-xxl-flex{display:flex!important}.ngs .d-xxl-inline-flex{display:inline-flex!important}.ngs .d-xxl-none{display:none!important}.ngs .flex-xxl-fill{flex:1 1 auto!important}.ngs .flex-xxl-row{flex-direction:row!important}.ngs .flex-xxl-column{flex-direction:column!important}.ngs .flex-xxl-row-reverse{flex-direction:row-reverse!important}.ngs .flex-xxl-column-reverse{flex-direction:column-reverse!important}.ngs .flex-xxl-grow-0{flex-grow:0!important}.ngs .flex-xxl-grow-1{flex-grow:1!important}.ngs .flex-xxl-shrink-0{flex-shrink:0!important}.ngs .flex-xxl-shrink-1{flex-shrink:1!important}.ngs .flex-xxl-wrap{flex-wrap:wrap!important}.ngs .flex-xxl-nowrap{flex-wrap:nowrap!important}.ngs .flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.ngs .justify-content-xxl-start{justify-content:flex-start!important}.ngs .justify-content-xxl-end{justify-content:flex-end!important}.ngs .justify-content-xxl-center{justify-content:center!important}.ngs .justify-content-xxl-between{justify-content:space-between!important}.ngs .justify-content-xxl-around{justify-content:space-around!important}.ngs .justify-content-xxl-evenly{justify-content:space-evenly!important}.ngs .align-items-xxl-start{align-items:flex-start!important}.ngs .align-items-xxl-end{align-items:flex-end!important}.ngs .align-items-xxl-center{align-items:center!important}.ngs .align-items-xxl-baseline{align-items:baseline!important}.ngs .align-items-xxl-stretch{align-items:stretch!important}.ngs .align-content-xxl-start{align-content:flex-start!important}.ngs .align-content-xxl-end{align-content:flex-end!important}.ngs .align-content-xxl-center{align-content:center!important}.ngs .align-content-xxl-between{align-content:space-between!important}.ngs .align-content-xxl-around{align-content:space-around!important}.ngs .align-content-xxl-stretch{align-content:stretch!important}.ngs .align-self-xxl-auto{align-self:auto!important}.ngs .align-self-xxl-start{align-self:flex-start!important}.ngs .align-self-xxl-end{align-self:flex-end!important}.ngs .align-self-xxl-center{align-self:center!important}.ngs .align-self-xxl-baseline{align-self:baseline!important}.ngs .align-self-xxl-stretch{align-self:stretch!important}.ngs .order-xxl-first{order:-1!important}.ngs .order-xxl-0{order:0!important}.ngs .order-xxl-1{order:1!important}.ngs .order-xxl-2{order:2!important}.ngs .order-xxl-3{order:3!important}.ngs .order-xxl-4{order:4!important}.ngs .order-xxl-5{order:5!important}.ngs .order-xxl-last{order:6!important}.ngs .m-xxl-0{margin:0!important}.ngs .m-xxl-1{margin:.25rem!important}.ngs .m-xxl-2{margin:.5rem!important}.ngs .m-xxl-3{margin:1rem!important}.ngs .m-xxl-4{margin:1.5rem!important}.ngs .m-xxl-5{margin:3rem!important}.ngs .m-xxl-auto{margin:auto!important}.ngs .mx-xxl-0{margin-right:0!important;margin-left:0!important}.ngs .mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.ngs .mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.ngs .mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.ngs .mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.ngs .mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.ngs .mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.ngs .my-xxl-0{margin-top:0!important;margin-bottom:0!important}.ngs .my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.ngs .my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.ngs .my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.ngs .my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.ngs .my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.ngs .my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.ngs .mt-xxl-0{margin-top:0!important}.ngs .mt-xxl-1{margin-top:.25rem!important}.ngs .mt-xxl-2{margin-top:.5rem!important}.ngs .mt-xxl-3{margin-top:1rem!important}.ngs .mt-xxl-4{margin-top:1.5rem!important}.ngs .mt-xxl-5{margin-top:3rem!important}.ngs .mt-xxl-auto{margin-top:auto!important}.ngs .me-xxl-0{margin-right:0!important}.ngs .me-xxl-1{margin-right:.25rem!important}.ngs .me-xxl-2{margin-right:.5rem!important}.ngs .me-xxl-3{margin-right:1rem!important}.ngs .me-xxl-4{margin-right:1.5rem!important}.ngs .me-xxl-5{margin-right:3rem!important}.ngs .me-xxl-auto{margin-right:auto!important}.ngs .mb-xxl-0{margin-bottom:0!important}.ngs .mb-xxl-1{margin-bottom:.25rem!important}.ngs .mb-xxl-2{margin-bottom:.5rem!important}.ngs .mb-xxl-3{margin-bottom:1rem!important}.ngs .mb-xxl-4{margin-bottom:1.5rem!important}.ngs .mb-xxl-5{margin-bottom:3rem!important}.ngs .mb-xxl-auto{margin-bottom:auto!important}.ngs .ms-xxl-0{margin-left:0!important}.ngs .ms-xxl-1{margin-left:.25rem!important}.ngs .ms-xxl-2{margin-left:.5rem!important}.ngs .ms-xxl-3{margin-left:1rem!important}.ngs .ms-xxl-4{margin-left:1.5rem!important}.ngs .ms-xxl-5{margin-left:3rem!important}.ngs .ms-xxl-auto{margin-left:auto!important}.ngs .p-xxl-0{padding:0!important}.ngs .p-xxl-1{padding:.25rem!important}.ngs .p-xxl-2{padding:.5rem!important}.ngs .p-xxl-3{padding:1rem!important}.ngs .p-xxl-4{padding:1.5rem!important}.ngs .p-xxl-5{padding:3rem!important}.ngs .px-xxl-0{padding-right:0!important;padding-left:0!important}.ngs .px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.ngs .px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.ngs .px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.ngs .px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.ngs .px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.ngs .py-xxl-0{padding-top:0!important;padding-bottom:0!important}.ngs .py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.ngs .py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.ngs .py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.ngs .py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.ngs .py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.ngs .pt-xxl-0{padding-top:0!important}.ngs .pt-xxl-1{padding-top:.25rem!important}.ngs .pt-xxl-2{padding-top:.5rem!important}.ngs .pt-xxl-3{padding-top:1rem!important}.ngs .pt-xxl-4{padding-top:1.5rem!important}.ngs .pt-xxl-5{padding-top:3rem!important}.ngs .pe-xxl-0{padding-right:0!important}.ngs .pe-xxl-1{padding-right:.25rem!important}.ngs .pe-xxl-2{padding-right:.5rem!important}.ngs .pe-xxl-3{padding-right:1rem!important}.ngs .pe-xxl-4{padding-right:1.5rem!important}.ngs .pe-xxl-5{padding-right:3rem!important}.ngs .pb-xxl-0{padding-bottom:0!important}.ngs .pb-xxl-1{padding-bottom:.25rem!important}.ngs .pb-xxl-2{padding-bottom:.5rem!important}.ngs .pb-xxl-3{padding-bottom:1rem!important}.ngs .pb-xxl-4{padding-bottom:1.5rem!important}.ngs .pb-xxl-5{padding-bottom:3rem!important}.ngs .ps-xxl-0{padding-left:0!important}.ngs .ps-xxl-1{padding-left:.25rem!important}.ngs .ps-xxl-2{padding-left:.5rem!important}.ngs .ps-xxl-3{padding-left:1rem!important}.ngs .ps-xxl-4{padding-left:1.5rem!important}.ngs .ps-xxl-5{padding-left:3rem!important}}@media print{.ngs .d-print-inline{display:inline!important}.ngs .d-print-inline-block{display:inline-block!important}.ngs .d-print-block{display:block!important}.ngs .d-print-grid{display:grid!important}.ngs .d-print-inline-grid{display:inline-grid!important}.ngs .d-print-table{display:table!important}.ngs .d-print-table-row{display:table-row!important}.ngs .d-print-table-cell{display:table-cell!important}.ngs .d-print-flex{display:flex!important}.ngs .d-print-inline-flex{display:inline-flex!important}.ngs .d-print-none{display:none!important}}\n", ".prevSection button{padding:5px 10px;float:left;margin-left:0}.nextSection button{padding:5px 10px;float:right;margin-left:0}.separator-horizontal{width:1px;height:100%;background-color:#d6cece;margin:0 auto}.content-element-form .section-navs{width:100%;background-color:#f2f6fc;margin-left:0;margin-right:0;padding:10px;flex-direction:row-reverse}.sirio-nav-item a{cursor:pointer}.sirio-toast{width:auto;min-width:17rem;max-width:41rem}.form-title{margin-bottom:15px}@media (max-width: 991px){.content-element-form{width:100%!important}}ngx-sirio-input-chip{margin-right:.5rem}\n"] }]
4921
+ }], ctorParameters: () => [{ type: i1$1.FormBuilder }, { type: ProgrammabilityService }, { type: EventService }, { type: RegisterService }, { type: MetadataService }, { type: DialogService }, { type: i0.Injector }], propDecorators: { schema: [{
4476
4922
  type: Input
4477
4923
  }], formGroup: [{
4478
4924
  type: Input
4479
4925
  }], value: [{
4480
4926
  type: Input
4481
- }], language: [{
4927
+ }], strict: [{
4482
4928
  type: Input
4483
4929
  }], showNav: [{
4484
4930
  type: Input
@@ -4503,6 +4949,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
4503
4949
  args: ['default']
4504
4950
  }], activeNav: [{
4505
4951
  type: Input
4952
+ }], language: [{
4953
+ type: Input
4506
4954
  }] } });
4507
4955
 
4508
4956
  function extractFiles(data) {
@@ -4755,5 +5203,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
4755
5203
  * Generated bundle index. Do not edit.
4756
5204
  */
4757
5205
 
4758
- export { DataService, DynamicFormComponent, FeelService, MarkdownService, SanitizeService, ScopeService, ToastService, toFormData };
5206
+ export { DataService, DialogService, DynamicFormComponent, FeelService, MarkdownService, SanitizeService, ScopeService, ToastService, toFormData };
4759
5207
  //# sourceMappingURL=wemake4u-form-player-se.mjs.map