design-angular-kit 1.1.0 → 1.1.2

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 (86) hide show
  1. package/README.md +66 -60
  2. package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +5 -5
  3. package/esm2022/lib/components/form/form.module.mjs +5 -1
  4. package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +191 -0
  5. package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +2 -0
  6. package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +70 -0
  7. package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +70 -0
  8. package/esm2022/lib/components/form/transfer/transfer.component.mjs +147 -0
  9. package/esm2022/lib/components/form/transfer/transfer.model.mjs +6 -0
  10. package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +98 -0
  11. package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +44 -0
  12. package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +116 -0
  13. package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +2 -0
  14. package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +65 -0
  15. package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +23 -0
  16. package/esm2022/lib/design-angular-kit.module.mjs +10 -6
  17. package/esm2022/lib/provide-design-angular-kit.mjs +5 -5
  18. package/esm2022/public_api.mjs +25 -21
  19. package/fesm2022/design-angular-kit.mjs +1045 -255
  20. package/fesm2022/design-angular-kit.mjs.map +1 -1
  21. package/lib/components/form/form.module.d.ts +4 -3
  22. package/lib/components/form/transfer/store/transfer.reducers.d.ts +103 -0
  23. package/lib/components/form/transfer/store/transfer.state.d.ts +18 -0
  24. package/lib/components/form/transfer/store/transfer.store.d.ts +23 -0
  25. package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +48 -0
  26. package/lib/components/form/transfer/transfer.component.d.ts +75 -0
  27. package/lib/components/form/transfer/transfer.model.d.ts +6 -0
  28. package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +16 -0
  29. package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +7 -0
  30. package/lib/components/navigation/navscroll/navscroll.component.d.ts +47 -0
  31. package/lib/components/navigation/navscroll/navscroll.model.d.ts +10 -0
  32. package/lib/components/navigation/navscroll/navscroll.store.d.ts +16 -0
  33. package/lib/components/navigation/navscroll/navscroll.utils.d.ts +6 -0
  34. package/lib/design-angular-kit.module.d.ts +8 -7
  35. package/package.json +5 -1
  36. package/public_api.d.ts +24 -20
  37. package/schematics/collection.json +19 -0
  38. package/schematics/ng-add/index.d.ts +3 -0
  39. package/schematics/ng-add/index.js +29 -0
  40. package/schematics/ng-add/index.js.map +1 -0
  41. package/schematics/ng-add/index.spec.d.ts +1 -0
  42. package/schematics/ng-add/index.spec.js +43 -0
  43. package/schematics/ng-add/index.spec.js.map +1 -0
  44. package/schematics/ng-add/rules/setup-project/add-animations.d.ts +2 -0
  45. package/schematics/ng-add/rules/setup-project/add-animations.js +11 -0
  46. package/schematics/ng-add/rules/setup-project/add-animations.js.map +1 -0
  47. package/schematics/ng-add/rules/setup-project/add-assets.d.ts +3 -0
  48. package/schematics/ng-add/rules/setup-project/add-assets.js +50 -0
  49. package/schematics/ng-add/rules/setup-project/add-assets.js.map +1 -0
  50. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.d.ts +3 -0
  51. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +43 -0
  52. package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +1 -0
  53. package/schematics/ng-add/rules/setup-project/add-http-client.d.ts +2 -0
  54. package/schematics/ng-add/rules/setup-project/add-http-client.js +11 -0
  55. package/schematics/ng-add/rules/setup-project/add-http-client.js.map +1 -0
  56. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.d.ts +11 -0
  57. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +112 -0
  58. package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +1 -0
  59. package/schematics/ng-add/rules/setup-project/add-localisation.d.ts +3 -0
  60. package/schematics/ng-add/rules/setup-project/add-localisation.js +50 -0
  61. package/schematics/ng-add/rules/setup-project/add-localisation.js.map +1 -0
  62. package/schematics/ng-add/rules/setup-project/angular-json-helper.d.ts +2 -0
  63. package/schematics/ng-add/rules/setup-project/angular-json-helper.js +13 -0
  64. package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +1 -0
  65. package/schematics/ng-add/rules/setup-project/exceptions.d.ts +7 -0
  66. package/schematics/ng-add/rules/setup-project/exceptions.js +17 -0
  67. package/schematics/ng-add/rules/setup-project/exceptions.js.map +1 -0
  68. package/schematics/ng-add/rules/setup-project/index.d.ts +6 -0
  69. package/schematics/ng-add/rules/setup-project/index.js +23 -0
  70. package/schematics/ng-add/rules/setup-project/index.js.map +1 -0
  71. package/schematics/ng-add/schema.d.ts +3 -0
  72. package/schematics/ng-add/schema.js +3 -0
  73. package/schematics/ng-add/schema.js.map +1 -0
  74. package/schematics/ng-add/schema.json +16 -0
  75. package/schematics/ng-add/setup-project.d.ts +3 -0
  76. package/schematics/ng-add/setup-project.js +37 -0
  77. package/schematics/ng-add/setup-project.js.map +1 -0
  78. package/schematics/ng-add/setup-project.spec.d.ts +1 -0
  79. package/schematics/ng-add/setup-project.spec.js +139 -0
  80. package/schematics/ng-add/setup-project.spec.js.map +1 -0
  81. package/schematics/ng-add/utils.d.ts +14 -0
  82. package/schematics/ng-add/utils.js +49 -0
  83. package/schematics/ng-add/utils.js.map +1 -0
  84. package/schematics/ng-add/versions-helper.d.ts +3 -0
  85. package/schematics/ng-add/versions-helper.js +40 -0
  86. package/schematics/ng-add/versions-helper.js.map +1 -0
package/README.md CHANGED
@@ -64,10 +64,25 @@ npm install design-angular-kit --save
64
64
  Scegli la versione corrispondente alla tua versione Angular:
65
65
 
66
66
  | Angular | design-angular-kit |
67
- |---------|--------------------|
67
+ | ------- | ------------------ |
68
68
  | 18+ | v1.1.0 + |
69
69
  | 17+ | v1.0.0 + |
70
70
 
71
+ In alternativa, puoi lanciar il comando
72
+
73
+ ```sh
74
+ ng add design-angular-kit --project <projectName>
75
+ ```
76
+
77
+ Eseguirà in serie:
78
+
79
+ - scelta della corretta versione da installare
80
+ - installazione della dipendenza
81
+ - aggiunta della dipendenza al package.json
82
+ - configurazione dell'applicazione
83
+
84
+ Le istruzioni del paragrafo successivo, **Configurazione**, verranno eseguite automaticamente, eccetto per la personalizzazione della configurazione di _i18n_.
85
+
71
86
  ## Configurazione
72
87
 
73
88
  ### Configurazione app
@@ -84,49 +99,39 @@ poter inizializzare le funzionalità della libreria.
84
99
  import { provideDesignAngularKit } from 'design-angular-kit';
85
100
 
86
101
  export const appConfig: ApplicationConfig = {
87
- providers: [
88
- ...
89
- provideDesignAngularKit(),
90
- ]
91
- }
102
+ providers: [...provideDesignAngularKit()],
103
+ };
92
104
  ```
93
105
 
94
106
  #### Applicazione modulare
95
107
 
96
- È necessario importare `DesignAngularKitModule` all'interno del modulo principale dell'applicazione (solitamente denominato **AppModule**)
108
+ È necessario importare `DesignAngularKitModule` all'interno del modulo principale dell'applicazione (solitamente denominato **AppModule**)
97
109
  utilizzando il metodo `forRoot` per poter inizializzare le funzionalità della libreria e **importare tutti i componenti**.
98
110
 
99
111
  ```typescript
100
112
  import { DesignAngularKitModule } from 'design-angular-kit';
101
113
 
102
114
  @NgModule({
103
- imports: [
104
- ...
105
- DesignAngularKitModule.forRoot()
106
- ]
115
+ imports: [...DesignAngularKitModule.forRoot()],
107
116
  })
108
- export class AppModule { }
117
+ export class AppModule {}
109
118
  ```
110
119
 
111
120
  Utilizza il metodo `forChild` durante l'importazione del modulo `DesignAngularKitModule` in altri moduli dell'applicazione per **importare tutti i componenti** della libreria.
112
121
 
113
-
114
122
  ```typescript
115
123
  import { DesignAngularKitModule } from 'design-angular-kit';
116
124
 
117
125
  @NgModule({
118
- imports: [
119
- ...
120
- DesignAngularKitModule.forChild()
121
- ],
126
+ imports: [...DesignAngularKitModule.forChild()],
122
127
  exports: [DesignAngularKitModule],
123
128
  })
124
- export class SharedModule { }
129
+ export class SharedModule {}
125
130
  ```
126
131
 
127
132
  #### Applicazione ibrida
128
133
 
129
- Se nella tua applicazione è presente il modulo **AppModule** ma vuoi utilizzare i nostri **componenti con la configurazione _standalone_**,
134
+ Se nella tua applicazione è presente il modulo **AppModule** ma vuoi utilizzare i nostri **componenti con la configurazione _standalone_**,
130
135
  utilizza la funzione `provideDesignAngularKit` all'interno del modulo principale dell'applicazione per poter inizializzare le funzionalità della libreria.
131
136
 
132
137
  ```typescript
@@ -134,11 +139,9 @@ import { provideDesignAngularKit } from 'design-angular-kit';
134
139
 
135
140
  @NgModule({
136
141
  imports: [],
137
- providers: [
138
- provideDesignAngularKit(),
139
- ]
142
+ providers: [provideDesignAngularKit()],
140
143
  })
141
- export class AppModule { }
144
+ export class AppModule {}
142
145
  ```
143
146
 
144
147
  #### Parametri di configurazione
@@ -161,7 +164,7 @@ const initConfig: DesignAngularKitConfig | undefined = {
161
164
  * @default true
162
165
  */
163
166
  loadFont: boolean | undefined,
164
-
167
+
165
168
  ...
166
169
  };
167
170
 
@@ -171,11 +174,12 @@ DesignAngularKitModule.forRoot(initConfig)
171
174
  ```
172
175
 
173
176
  ### Importazione stili bootstrap-italia
177
+
174
178
  Configura gli stili richiesti nel file `styles.scss`. Importa la libreria SCSS come mostrato nell'esempio qui sotto.
175
179
 
176
180
  ```scss
177
181
  // Importazione libreria SCSS di bootstrap-italia
178
- @import "bootstrap-italia/src/scss/bootstrap-italia";
182
+ @import 'bootstrap-italia/src/scss/bootstrap-italia';
179
183
  ```
180
184
 
181
185
  <details>
@@ -190,7 +194,6 @@ L’utilizzo del blu #0066CC dovrebbe però essere riservato alle amministrazion
190
194
  Stato, e quindi ci si può trovare nella condizione di dover personalizzare i valori delle variabili
191
195
  colore di Bootstrap Italia, impostando nuovi valori per le proprie necessità.
192
196
 
193
-
194
197
  Questo colore e le altre tonalità vengono generate a partire dalla terna HSB, pertanto occorre modificare le variabili primary-h, primary-s e primary-b.
195
198
  Per avere la corrispondenza tra valore esadecimale del colore e HSB si può utilizzare il portale rgb.to, ad esempio https://rgb.to/0066CC.
196
199
 
@@ -213,6 +216,7 @@ $font-family-monospace: 'Custom Font', 'Courier New', Courier, monospace;
213
216
  // Importazione libreria SCSS di bootstrap-italia
214
217
  @import 'bootstrap-italia/src/scss/bootstrap-italia';
215
218
  ```
219
+
216
220
  </details>
217
221
 
218
222
  ### Supporto icone e assets
@@ -250,6 +254,7 @@ Modifica il tuo `angular.json` aggiungendo:
250
254
  ]
251
255
  }
252
256
  ```
257
+
253
258
  Puoi utilizzare le label localizzate della libreria `design-angular-kit` nella tua applicazione, ad esempio `{{'it.errors.required-field' | translate}}`. [Vedi le nostre label](projects/design-angular-kit/assets/i18n/it.json)
254
259
 
255
260
  #### Localizzazione esistente
@@ -257,7 +262,6 @@ Puoi utilizzare le label localizzate della libreria `design-angular-kit` nella t
257
262
  Se utilizzi già i file di localizzazione nella tua app, puoi utilizzare la libreria [ngx-translate-multi-http-loader](https://www.npmjs.com/package/ngx-translate-multi-http-loader)
258
263
  per caricare sia i file di localizzazione dell'app che quelli della libreria `design-angular-kit`
259
264
 
260
-
261
265
  **Utilizzando la funzione `provideDesignAngularKit`:**
262
266
 
263
267
  ```typescript
@@ -269,16 +273,18 @@ import { provideDesignAngularKit } from 'design-angular-kit';
269
273
  provideDesignAngularKit({
270
274
  translateLoader: (itPrefix: string, itSuffix: string) => ({
271
275
  provide: TranslateLoader,
272
- useFactory: (http: HttpBackend) => new MultiTranslateHttpLoader(http, [
273
- { prefix: itPrefix, suffix: itSuffix }, // Load library translations first, so you can edit the keys in your localization file
274
- { prefix: './assets/i18n/' }, // Your i18n location
275
- ]),
276
- deps: [HttpBackend]
276
+ useFactory: (http: HttpBackend) =>
277
+ new MultiTranslateHttpLoader(http, [
278
+ { prefix: itPrefix, suffix: itSuffix }, // Load library translations first, so you can edit the keys in your localization file
279
+ { prefix: './assets/i18n/' }, // Your i18n location
280
+ ]),
281
+ deps: [HttpBackend],
277
282
  }),
278
- })
283
+ });
279
284
  ```
280
285
 
281
286
  **Utilizzando il modulo `DesignAngularKitModule`:**
287
+
282
288
  ```typescript
283
289
  import { HttpBackend } from '@angular/common/http';
284
290
  import { TranslateLoader } from '@ngx-translate/core';
@@ -288,22 +294,24 @@ import { DesignAngularKitModule } from 'design-angular-kit';
288
294
  DesignAngularKitModule.forRoot({
289
295
  translateLoader: (itPrefix: string, itSuffix: string) => ({
290
296
  provide: TranslateLoader,
291
- useFactory: (http: HttpBackend) => new MultiTranslateHttpLoader(http, [
292
- { prefix: itPrefix, suffix: itSuffix }, // Load library translations first, so you can edit the keys in your localization file
293
- { prefix: './assets/i18n/' }, // Your i18n location
294
- ]),
295
- deps: [HttpBackend]
297
+ useFactory: (http: HttpBackend) =>
298
+ new MultiTranslateHttpLoader(http, [
299
+ { prefix: itPrefix, suffix: itSuffix }, // Load library translations first, so you can edit the keys in your localization file
300
+ { prefix: './assets/i18n/' }, // Your i18n location
301
+ ]),
302
+ deps: [HttpBackend],
296
303
  }),
297
- })
304
+ });
298
305
  ```
299
306
 
300
307
  #### Personalizzazione della localizzazione
301
308
 
302
309
  Se vuoi personalizzare le nostre label:
303
- - Non includere il supporto i18n nel tuo `angular.json`
304
- - Crea i tuoi file di localizzazione personalizzati nella tua cartella `assets/bootstrap-italia/i18n/` (crea il percorso se non esiste)
305
- - Il json deve avere [questo formato](projects/design-angular-kit/assets/i18n/it.json).
306
- - Aggiungi nella configurazione iniziale della libreria il `translateLoader` custom, sostituendo la stringa `assets/bootstrap-italia/i18n/` all'attributo `itPrefix`
310
+
311
+ - Non includere il supporto i18n nel tuo `angular.json`
312
+ - Crea i tuoi file di localizzazione personalizzati nella tua cartella `assets/bootstrap-italia/i18n/` (crea il percorso se non esiste)
313
+ - Il json deve avere [questo formato](projects/design-angular-kit/assets/i18n/it.json).
314
+ - Aggiungi nella configurazione iniziale della libreria il `translateLoader` custom, sostituendo la stringa `assets/bootstrap-italia/i18n/` all'attributo `itPrefix`
307
315
  - Oppure, aggiungi le localizzazioni nei tuoi file json, sovrascrivendo le [chiavi del json della libreria](projects/design-angular-kit/assets/i18n/it.json).
308
316
 
309
317
  ### Utilizzo
@@ -317,13 +325,12 @@ import { ItAlertComponent, ItPaginationComponent, ItBreadcrumbsModule } from 'de
317
325
 
318
326
  @NgModule({
319
327
  imports: [
320
- ItAlertComponent,
321
- ItPaginationComponent,
322
- ItBreadcrumbsModule // Include ItBreadcrumbComponent e ItBreadcrumbItemComponent
328
+ ItAlertComponent,
329
+ ItPaginationComponent,
330
+ ItBreadcrumbsModule, // Include ItBreadcrumbComponent e ItBreadcrumbItemComponent
323
331
  ],
324
332
  })
325
- export class YourAppModule {
326
- }
333
+ export class YourAppModule {}
327
334
  ```
328
335
 
329
336
  ```typescript
@@ -333,24 +340,23 @@ import { ItAlertComponent, ItPaginationComponent, ItBreadcrumbsModule } from 'de
333
340
  selector: 'app-product',
334
341
  standalone: true,
335
342
  imports: [ItAlertComponent, ItPaginationComponent, ItBreadcrumbsModule],
336
- templateUrl: './product.component.html'
343
+ templateUrl: './product.component.html',
337
344
  })
338
- export class ProductComponent {
339
- }
345
+ export class ProductComponent {}
340
346
  ```
341
347
 
342
348
  ## Come contribuire 💙
343
349
 
344
350
  👉🏻 È possibile contribuire alla libreria in vari modi:
345
351
 
346
- * Con il proprio codice, prendendo in carico una issue tra quelle aperte e non già assegnate tra [le issue](https://github.com/italia/design-angular-kit/issues) di Angular Kit (è sufficiente anche un commento sulla issue per notificare la volontà di presa in carico).
347
- * Attraverso la segnalazione di bug o miglioramenti al [repository ufficiale](https://github.com/italia/design-angular-kit/) di Angular Kit.
348
- * Scrivendoci sul [canale dedicato](https://developersitalia.slack.com/messages/C04H3C19D52/) di Slack.
352
+ - Con il proprio codice, prendendo in carico una issue tra quelle aperte e non già assegnate tra [le issue](https://github.com/italia/design-angular-kit/issues) di Angular Kit (è sufficiente anche un commento sulla issue per notificare la volontà di presa in carico).
353
+ - Attraverso la segnalazione di bug o miglioramenti al [repository ufficiale](https://github.com/italia/design-angular-kit/) di Angular Kit.
354
+ - Scrivendoci sul [canale dedicato](https://developersitalia.slack.com/messages/C04H3C19D52/) di Slack.
349
355
 
350
356
  ## Come contribuire con il codice
351
357
 
352
358
  Vorresti dare una mano su Design Angular Kit? **Sei nel posto giusto!**
353
-
359
+
354
360
  Se non l'hai già fatto, inizia spendendo qualche minuto per approfondire la tua conoscenza sulle
355
361
  [linee guida di design per i servizi web della PA](https://design-italia.readthedocs.io/it/stable/index.html),
356
362
  e fai riferimento alle [indicazioni su come contribuire a Design Angular Kit](https://github.com/italia/design-angular-kit/blob/main/CONTRIBUTING.md).
@@ -410,7 +416,7 @@ git clone https://github.com/italia/design-angular-kit.git
410
416
 
411
417
  3. Al caricamento, Visual Studio Code riconoscerà la presenta della configurazione di un Devcontainer. Aprire il progetto con il devcontainer. Altre info [qui](https://code.visualstudio.com/docs/devcontainers/create-dev-container).
412
418
 
413
- 4. Visual Studio Code effettuerà il setup del container, andando ad installare la corretta versione di NodeJs, di npm e delle estensioni dell'IDE. Le dipendenze di progetto saranno installate nel processo di creazione del container. L'ambiente di sviuppo sarà pronto a setup ultimato.
419
+ 4. Visual Studio Code effettuerà il setup del container, andando ad installare la corretta versione di NodeJs, di npm e delle estensioni dell'IDE. Le dipendenze di progetto saranno installate nel processo di creazione del container. L'ambiente di sviuppo sarà pronto a setup ultimato.
414
420
 
415
421
  5. Lanciare l'applicazione in locale
416
422
 
@@ -438,9 +444,9 @@ npm run test
438
444
 
439
445
  Un grazie speciale a chi ha reso possibile lo sviluppo di questa libreria
440
446
 
441
- [![Antonino Bonanno](https://github.com/AntoninoBonanno.png?size=100)](https://github.com/AntoninoBonanno) | [![Cristian Borelli](https://github.com/cri99.png?size=100)](https://github.com/cri99) | [![Alessio Napolitano](https://github.com/alenap93.png?size=100)](https://github.com/alenap93) |
442
- --- | --- | --- |
443
- Antonino Bonanno | Cristian Borelli | Alessio Napolitano |
447
+ | [![Antonino Bonanno](https://github.com/AntoninoBonanno.png?size=100)](https://github.com/AntoninoBonanno) | [![Cristian Borelli](https://github.com/cri99.png?size=100)](https://github.com/cri99) | [![Alessio Napolitano](https://github.com/alenap93.png?size=100)](https://github.com/alenap93) |
448
+ | ---------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------- |
449
+ | Antonino Bonanno | Cristian Borelli | Alessio Napolitano |
444
450
 
445
451
  e grazie in particolare al team di [NetService](https://www.net-serv.it/):
446
452
 
@@ -448,7 +454,7 @@ e grazie in particolare al team di [NetService](https://www.net-serv.it/):
448
454
 
449
455
  ---
450
456
 
451
- Tutti i contributor (*made with [contributors-img](https://contrib.rocks)*)
457
+ Tutti i contributor (_made with [contributors-img](https://contrib.rocks)_)
452
458
 
453
459
  <a href = "https://github.com/italia/design-angular-kit/graphs/contributors">
454
460
  <img src = "https://contrib.rocks/image?repo=italia/design-angular-kit"/>
@@ -32,9 +32,9 @@ export class ItDimmerComponent {
32
32
  this.elementRef?.nativeElement?.parentElement?.classList?.add('dimmable');
33
33
  }
34
34
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItDimmerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItDimmerComponent, isStandalone: true, selector: "it-dimmer", inputs: { active: "active", color: "color" }, ngImport: i0, template: "@if (active) {\n <div class=\"dimmer\" @fade [ngClass]=\"[color]\">\n <div class=\"dimmer-inner\">\n <ng-content></ng-content>\n </div>\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
35
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItDimmerComponent, isStandalone: true, selector: "it-dimmer", inputs: { active: "active", color: "color" }, ngImport: i0, template: "@if (active) {\n <div class=\"dimmer\" @fade [ngClass]=\"[color, 'show']\">\n <div class=\"dimmer-inner\">\n <ng-content></ng-content>\n </div>\n </div>\n}\n", dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [
36
36
  trigger('fade', [
37
- transition(':enter', [style({ opacity: 0 }), animate('150ms', style({ opacity: 0.92 }))]),
37
+ transition(':enter', [style({ opacity: 0 }), animate('150ms', style({ opacity: 0.9 }))]),
38
38
  transition(':leave', [animate('150ms', style({ opacity: 0 }))]),
39
39
  ]),
40
40
  ], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
@@ -43,13 +43,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
43
43
  type: Component,
44
44
  args: [{ standalone: true, selector: 'it-dimmer', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
45
45
  trigger('fade', [
46
- transition(':enter', [style({ opacity: 0 }), animate('150ms', style({ opacity: 0.92 }))]),
46
+ transition(':enter', [style({ opacity: 0 }), animate('150ms', style({ opacity: 0.9 }))]),
47
47
  transition(':leave', [animate('150ms', style({ opacity: 0 }))]),
48
48
  ]),
49
- ], imports: [NgClass], template: "@if (active) {\n <div class=\"dimmer\" @fade [ngClass]=\"[color]\">\n <div class=\"dimmer-inner\">\n <ng-content></ng-content>\n </div>\n </div>\n}\n" }]
49
+ ], imports: [NgClass], template: "@if (active) {\n <div class=\"dimmer\" @fade [ngClass]=\"[color, 'show']\">\n <div class=\"dimmer-inner\">\n <ng-content></ng-content>\n </div>\n </div>\n}\n" }]
50
50
  }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { active: [{
51
51
  type: Input
52
52
  }], color: [{
53
53
  type: Input
54
54
  }] } });
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltbWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kaW1tZXIvZGltbWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kaW1tZXIvZGltbWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBaUIxQyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7T0FHRztJQUNILElBQWEsTUFBTSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsSUFBYSxLQUFLLENBQUMsS0FBa0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBR0QsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWRsQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBWWhCLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO0lBRVksQ0FBQztJQUU5QyxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUUsQ0FBQzs4R0E3QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsbUhDbkI5QixvS0FPQSw0Q0RVWSxPQUFPLHNFQU5MO1lBQ1YsT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDZCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pGLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoRSxDQUFDO1NBQ0g7OzJGQUdVLGlCQUFpQjtrQkFiN0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxNQUFNLEVBQUU7NEJBQ2QsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUN6RixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ2hFLENBQUM7cUJBQ0gsV0FDUSxDQUFDLE9BQU8sQ0FBQzsrRUFPTCxNQUFNO3NCQUFsQixLQUFLO2dCQVlPLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIERpbW1lckNvbG9yID0gJycgfCAnZGltbWVyLXByaW1hcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1kaW1tZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGltbWVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdmYWRlJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZSgnMTUwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAuOTIgfSkpXSksXG4gICAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbYW5pbWF0ZSgnMTUwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpXSksXG4gICAgXSksXG4gIF0sXG4gIGltcG9ydHM6IFtOZ0NsYXNzXSxcbn0pXG5leHBvcnQgY2xhc3MgSXREaW1tZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogRGltbWVyIHN0YXR1c1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KCkgc2V0IGFjdGl2ZSh2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuX2FjdGl2ZSA9IHZhbHVlO1xuICB9XG4gIGdldCBhY3RpdmUoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZTtcbiAgfVxuICBwcml2YXRlIF9hY3RpdmUgPSBmYWxzZTtcblxuICAvKipcbiAgICogQ29sb3JlIGRlbCBkaW1tZXJcbiAgICogQGRlZmF1bHQgJydcbiAgICovXG4gIEBJbnB1dCgpIHNldCBjb2xvcih2YWx1ZTogRGltbWVyQ29sb3IpIHtcbiAgICB0aGlzLl9jb2xvciA9IHZhbHVlO1xuICB9XG4gIGdldCBjb2xvcigpIHtcbiAgICByZXR1cm4gdGhpcy5fY29sb3I7XG4gIH1cbiAgcHJpdmF0ZSBfY29sb3I6IERpbW1lckNvbG9yID0gJyc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZWxlbWVudFJlZj8ubmF0aXZlRWxlbWVudD8ucGFyZW50RWxlbWVudD8uY2xhc3NMaXN0Py5hZGQoJ2RpbW1hYmxlJyk7XG4gIH1cbn1cbiIsIkBpZiAoYWN0aXZlKSB7XG4gIDxkaXYgY2xhc3M9XCJkaW1tZXJcIiBAZmFkZSBbbmdDbGFzc109XCJbY29sb3JdXCI+XG4gICAgPGRpdiBjbGFzcz1cImRpbW1lci1pbm5lclwiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbn1cbiJdfQ==
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltbWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kaW1tZXIvZGltbWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kaW1tZXIvZGltbWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUM5RixPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7O0FBaUIxQyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCOzs7T0FHRztJQUNILElBQWEsTUFBTSxDQUFDLEtBQWM7UUFDaEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFDdkIsQ0FBQztJQUNELElBQUksTUFBTTtRQUNSLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0lBR0Q7OztPQUdHO0lBQ0gsSUFBYSxLQUFLLENBQUMsS0FBa0I7UUFDbkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztJQUNELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBR0QsWUFBb0IsVUFBc0I7UUFBdEIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQWRsQyxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBWWhCLFdBQU0sR0FBZ0IsRUFBRSxDQUFDO0lBRVksQ0FBQztJQUU5QyxRQUFRO1FBQ04sSUFBSSxDQUFDLFVBQVUsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBRSxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDNUUsQ0FBQzs4R0E3QlUsaUJBQWlCO2tHQUFqQixpQkFBaUIsbUhDbkI5Qiw0S0FPQSw0Q0RVWSxPQUFPLHNFQU5MO1lBQ1YsT0FBTyxDQUFDLE1BQU0sRUFBRTtnQkFDZCxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3hGLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoRSxDQUFDO1NBQ0g7OzJGQUdVLGlCQUFpQjtrQkFiN0IsU0FBUztpQ0FDSSxJQUFJLFlBQ04sV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxNQUFNLEVBQUU7NEJBQ2QsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDOzRCQUN4RixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7eUJBQ2hFLENBQUM7cUJBQ0gsV0FDUSxDQUFDLE9BQU8sQ0FBQzsrRUFPTCxNQUFNO3NCQUFsQixLQUFLO2dCQVlPLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTmdDbGFzcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbmV4cG9ydCB0eXBlIERpbW1lckNvbG9yID0gJycgfCAnZGltbWVyLXByaW1hcnknO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1kaW1tZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZGltbWVyLmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGFuaW1hdGlvbnM6IFtcbiAgICB0cmlnZ2VyKCdmYWRlJywgW1xuICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW3N0eWxlKHsgb3BhY2l0eTogMCB9KSwgYW5pbWF0ZSgnMTUwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAuOSB9KSldKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKCcxNTBtcycsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSldKSxcbiAgICBdKSxcbiAgXSxcbiAgaW1wb3J0czogW05nQ2xhc3NdLFxufSlcbmV4cG9ydCBjbGFzcyBJdERpbW1lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIC8qKlxuICAgKiBEaW1tZXIgc3RhdHVzXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoKSBzZXQgYWN0aXZlKHZhbHVlOiBib29sZWFuKSB7XG4gICAgdGhpcy5fYWN0aXZlID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGFjdGl2ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fYWN0aXZlO1xuICB9XG4gIHByaXZhdGUgX2FjdGl2ZSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBDb2xvcmUgZGVsIGRpbW1lclxuICAgKiBAZGVmYXVsdCAnJ1xuICAgKi9cbiAgQElucHV0KCkgc2V0IGNvbG9yKHZhbHVlOiBEaW1tZXJDb2xvcikge1xuICAgIHRoaXMuX2NvbG9yID0gdmFsdWU7XG4gIH1cbiAgZ2V0IGNvbG9yKCkge1xuICAgIHJldHVybiB0aGlzLl9jb2xvcjtcbiAgfVxuICBwcml2YXRlIF9jb2xvcjogRGltbWVyQ29sb3IgPSAnJztcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHt9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5lbGVtZW50UmVmPy5uYXRpdmVFbGVtZW50Py5wYXJlbnRFbGVtZW50Py5jbGFzc0xpc3Q/LmFkZCgnZGltbWFibGUnKTtcbiAgfVxufVxuIiwiQGlmIChhY3RpdmUpIHtcbiAgPGRpdiBjbGFzcz1cImRpbW1lclwiIEBmYWRlIFtuZ0NsYXNzXT1cIltjb2xvciwgJ3Nob3cnXVwiPlxuICAgIDxkaXYgY2xhc3M9XCJkaW1tZXItaW5uZXJcIj5cbiAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG59XG4iXX0=
@@ -10,6 +10,7 @@ import { ItTextareaComponent } from './textarea/textarea.component';
10
10
  import { ItUploadDragDropComponent } from './upload-drag-drop/upload-drag-drop.component';
11
11
  import { ItUploadFileListComponent } from './upload-file-list/upload-file-list.component';
12
12
  import { ItAutocompleteComponent } from './autocomplete/autocomplete.component';
13
+ import { ItTransferComponent } from './transfer/transfer.component';
13
14
  import * as i0 from "@angular/core";
14
15
  const formComponents = [
15
16
  ItAutocompleteComponent,
@@ -21,6 +22,7 @@ const formComponents = [
21
22
  ItRatingComponent,
22
23
  ItSelectComponent,
23
24
  ItTextareaComponent,
25
+ ItTransferComponent,
24
26
  ItUploadDragDropComponent,
25
27
  ItUploadFileListComponent,
26
28
  ];
@@ -35,6 +37,7 @@ export class ItFormModule {
35
37
  ItRatingComponent,
36
38
  ItSelectComponent,
37
39
  ItTextareaComponent,
40
+ ItTransferComponent,
38
41
  ItUploadDragDropComponent,
39
42
  ItUploadFileListComponent], exports: [ItAutocompleteComponent,
40
43
  ItCheckboxComponent,
@@ -45,6 +48,7 @@ export class ItFormModule {
45
48
  ItRatingComponent,
46
49
  ItSelectComponent,
47
50
  ItTextareaComponent,
51
+ ItTransferComponent,
48
52
  ItUploadDragDropComponent,
49
53
  ItUploadFileListComponent] }); }
50
54
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItFormModule, imports: [formComponents] }); }
@@ -56,4 +60,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
56
60
  exports: formComponents,
57
61
  }]
58
62
  }] });
59
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQzs7QUFFaEYsTUFBTSxjQUFjLEdBQUc7SUFDckIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIseUJBQXlCO0lBQ3pCLHlCQUF5QjtDQUMxQixDQUFDO0FBTUYsTUFBTSxPQUFPLFlBQVk7OEdBQVosWUFBWTsrR0FBWixZQUFZLFlBakJ2Qix1QkFBdUI7WUFDdkIsbUJBQW1CO1lBQ25CLGdCQUFnQjtZQUNoQix3QkFBd0I7WUFDeEIsc0JBQXNCO1lBQ3RCLGdCQUFnQjtZQUNoQixpQkFBaUI7WUFDakIsaUJBQWlCO1lBQ2pCLG1CQUFtQjtZQUNuQix5QkFBeUI7WUFDekIseUJBQXlCLGFBVnpCLHVCQUF1QjtZQUN2QixtQkFBbUI7WUFDbkIsZ0JBQWdCO1lBQ2hCLHdCQUF3QjtZQUN4QixzQkFBc0I7WUFDdEIsZ0JBQWdCO1lBQ2hCLGlCQUFpQjtZQUNqQixpQkFBaUI7WUFDakIsbUJBQW1CO1lBQ25CLHlCQUF5QjtZQUN6Qix5QkFBeUI7K0dBT2QsWUFBWSxZQUhkLGNBQWM7OzJGQUdaLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLE9BQU8sRUFBRSxjQUFjO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UGFzc3dvcmRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0UmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL3JhbmdlL3JhbmdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFJhdGluZ0NvbXBvbmVudCB9IGZyb20gJy4vcmF0aW5nL3JhdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEl0VGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFVwbG9hZERyYWdEcm9wQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQtZHJhZy1kcm9wL3VwbG9hZC1kcmFnLWRyb3AuY29tcG9uZW50JztcbmltcG9ydCB7IEl0VXBsb2FkRmlsZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC1maWxlLWxpc3QvdXBsb2FkLWZpbGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcblxuY29uc3QgZm9ybUNvbXBvbmVudHMgPSBbXG4gIEl0QXV0b2NvbXBsZXRlQ29tcG9uZW50LFxuICBJdENoZWNrYm94Q29tcG9uZW50LFxuICBJdElucHV0Q29tcG9uZW50LFxuICBJdFBhc3N3b3JkSW5wdXRDb21wb25lbnQsXG4gIEl0UmFkaW9CdXR0b25Db21wb25lbnQsXG4gIEl0UmFuZ2VDb21wb25lbnQsXG4gIEl0UmF0aW5nQ29tcG9uZW50LFxuICBJdFNlbGVjdENvbXBvbmVudCxcbiAgSXRUZXh0YXJlYUNvbXBvbmVudCxcbiAgSXRVcGxvYWREcmFnRHJvcENvbXBvbmVudCxcbiAgSXRVcGxvYWRGaWxlTGlzdENvbXBvbmVudCxcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IGZvcm1Db21wb25lbnRzLFxuICBleHBvcnRzOiBmb3JtQ29tcG9uZW50cyxcbn0pXG5leHBvcnQgY2xhc3MgSXRGb3JtTW9kdWxlIHt9XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyQ0FBMkMsQ0FBQztBQUNyRixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUMxRixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7QUFFcEUsTUFBTSxjQUFjLEdBQUc7SUFDckIsdUJBQXVCO0lBQ3ZCLG1CQUFtQjtJQUNuQixnQkFBZ0I7SUFDaEIsd0JBQXdCO0lBQ3hCLHNCQUFzQjtJQUN0QixnQkFBZ0I7SUFDaEIsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLHlCQUF5QjtJQUN6Qix5QkFBeUI7Q0FDMUIsQ0FBQztBQU1GLE1BQU0sT0FBTyxZQUFZOzhHQUFaLFlBQVk7K0dBQVosWUFBWSxZQWxCdkIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQUN0QixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHlCQUF5QjtZQUN6Qix5QkFBeUIsYUFYekIsdUJBQXVCO1lBQ3ZCLG1CQUFtQjtZQUNuQixnQkFBZ0I7WUFDaEIsd0JBQXdCO1lBQ3hCLHNCQUFzQjtZQUN0QixnQkFBZ0I7WUFDaEIsaUJBQWlCO1lBQ2pCLGlCQUFpQjtZQUNqQixtQkFBbUI7WUFDbkIsbUJBQW1CO1lBQ25CLHlCQUF5QjtZQUN6Qix5QkFBeUI7K0dBT2QsWUFBWSxZQUhkLGNBQWM7OzJGQUdaLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLE9BQU8sRUFBRSxjQUFjO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQvaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UGFzc3dvcmRJbnB1dENvbXBvbmVudCB9IGZyb20gJy4vcGFzc3dvcmQtaW5wdXQvcGFzc3dvcmQtaW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UmFkaW9CdXR0b25Db21wb25lbnQgfSBmcm9tICcuL3JhZGlvLWJ1dHRvbi9yYWRpby1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0UmFuZ2VDb21wb25lbnQgfSBmcm9tICcuL3JhbmdlL3JhbmdlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFJhdGluZ0NvbXBvbmVudCB9IGZyb20gJy4vcmF0aW5nL3JhdGluZy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRTZWxlY3RDb21wb25lbnQgfSBmcm9tICcuL3NlbGVjdC9zZWxlY3QuY29tcG9uZW50JztcbmltcG9ydCB7IEl0VGV4dGFyZWFDb21wb25lbnQgfSBmcm9tICcuL3RleHRhcmVhL3RleHRhcmVhLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFVwbG9hZERyYWdEcm9wQ29tcG9uZW50IH0gZnJvbSAnLi91cGxvYWQtZHJhZy1kcm9wL3VwbG9hZC1kcmFnLWRyb3AuY29tcG9uZW50JztcbmltcG9ydCB7IEl0VXBsb2FkRmlsZUxpc3RDb21wb25lbnQgfSBmcm9tICcuL3VwbG9hZC1maWxlLWxpc3QvdXBsb2FkLWZpbGUtbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRBdXRvY29tcGxldGVDb21wb25lbnQgfSBmcm9tICcuL2F1dG9jb21wbGV0ZS9hdXRvY29tcGxldGUuY29tcG9uZW50JztcbmltcG9ydCB7IEl0VHJhbnNmZXJDb21wb25lbnQgfSBmcm9tICcuL3RyYW5zZmVyL3RyYW5zZmVyLmNvbXBvbmVudCc7XG5cbmNvbnN0IGZvcm1Db21wb25lbnRzID0gW1xuICBJdEF1dG9jb21wbGV0ZUNvbXBvbmVudCxcbiAgSXRDaGVja2JveENvbXBvbmVudCxcbiAgSXRJbnB1dENvbXBvbmVudCxcbiAgSXRQYXNzd29yZElucHV0Q29tcG9uZW50LFxuICBJdFJhZGlvQnV0dG9uQ29tcG9uZW50LFxuICBJdFJhbmdlQ29tcG9uZW50LFxuICBJdFJhdGluZ0NvbXBvbmVudCxcbiAgSXRTZWxlY3RDb21wb25lbnQsXG4gIEl0VGV4dGFyZWFDb21wb25lbnQsXG4gIEl0VHJhbnNmZXJDb21wb25lbnQsXG4gIEl0VXBsb2FkRHJhZ0Ryb3BDb21wb25lbnQsXG4gIEl0VXBsb2FkRmlsZUxpc3RDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBmb3JtQ29tcG9uZW50cyxcbiAgZXhwb3J0czogZm9ybUNvbXBvbmVudHMsXG59KVxuZXhwb3J0IGNsYXNzIEl0Rm9ybU1vZHVsZSB7fVxuIl19
@@ -0,0 +1,191 @@
1
+ //#region private utility functions
2
+ const generateSelectAll = (checked, items) => {
3
+ const selected = new Set();
4
+ if (checked) {
5
+ items.forEach(item => selected.add(item));
6
+ }
7
+ return selected;
8
+ };
9
+ const updateSelected = (set, item) => {
10
+ if (set.has(item)) {
11
+ set.delete(item);
12
+ }
13
+ else {
14
+ set.add(item);
15
+ }
16
+ return set;
17
+ };
18
+ //#endregion
19
+ //#region reducers
20
+ const init = (state, { source, target }) => ({
21
+ ...state,
22
+ initialItems: {
23
+ source: [...source],
24
+ target: [...target],
25
+ },
26
+ current: {
27
+ source: [...source],
28
+ target: [...target],
29
+ },
30
+ });
31
+ const transfer = (state) => {
32
+ return {
33
+ ...state,
34
+ current: {
35
+ ...state.current,
36
+ source: state.current.source.filter(i => !state.selections.source.has(i)),
37
+ target: Array.from(new Set([...state.current.target, ...Array.from(state.selections.source)])),
38
+ },
39
+ selections: {
40
+ ...state.selections,
41
+ source: new Set(),
42
+ },
43
+ operationsEnabled: {
44
+ ...state.operationsEnabled,
45
+ transfer: false,
46
+ reset: true,
47
+ },
48
+ };
49
+ };
50
+ const backtransfer = (state) => {
51
+ return {
52
+ ...state,
53
+ current: {
54
+ ...state.current,
55
+ target: state.current.target.filter(i => !state.selections.target.has(i)),
56
+ source: Array.from(new Set([...state.current.source, ...Array.from(state.selections.target)])),
57
+ },
58
+ selections: {
59
+ ...state.selections,
60
+ target: new Set(),
61
+ },
62
+ operationsEnabled: {
63
+ ...state.operationsEnabled,
64
+ backtransfer: false,
65
+ reset: true,
66
+ },
67
+ };
68
+ };
69
+ const reset = (state) => {
70
+ return {
71
+ ...state,
72
+ current: {
73
+ source: [...state.initialItems.source],
74
+ target: [...state.initialItems.target],
75
+ },
76
+ operationsEnabled: {
77
+ ...state.operationsEnabled,
78
+ reset: false,
79
+ },
80
+ };
81
+ };
82
+ const selectAllSource = (state, { checked }) => {
83
+ const items = state.current.source;
84
+ const selected = generateSelectAll(checked, items);
85
+ const transfer = Boolean(selected.size);
86
+ return {
87
+ ...state,
88
+ selections: {
89
+ ...state.selections,
90
+ source: selected,
91
+ },
92
+ operationsEnabled: {
93
+ ...state.operationsEnabled,
94
+ transfer,
95
+ },
96
+ };
97
+ };
98
+ const selectAllTarget = (state, { checked }) => {
99
+ const items = state.current.target;
100
+ const selected = generateSelectAll(checked, items);
101
+ const backtransfer = Boolean(selected.size);
102
+ return {
103
+ ...state,
104
+ selections: {
105
+ ...state.selections,
106
+ target: selected,
107
+ },
108
+ operationsEnabled: {
109
+ ...state.operationsEnabled,
110
+ backtransfer,
111
+ },
112
+ };
113
+ };
114
+ const selectionItemSource = (previousState, { item }) => {
115
+ const selected = updateSelected(previousState.selections.source, item);
116
+ const selectedItems = Array.from(selected);
117
+ const transfer = Boolean(selectedItems.length);
118
+ const source = new Set([...selectedItems]);
119
+ const state = {
120
+ ...previousState,
121
+ selections: {
122
+ ...previousState.selections,
123
+ source,
124
+ },
125
+ operationsEnabled: {
126
+ ...previousState.operationsEnabled,
127
+ transfer,
128
+ },
129
+ };
130
+ return state;
131
+ };
132
+ const selectionItemTarget = (previousState, { item }) => {
133
+ const selected = updateSelected(previousState.selections.target, item);
134
+ const selectedItems = Array.from(selected);
135
+ const backtransfer = Boolean(selectedItems.length);
136
+ const target = new Set([...selectedItems]);
137
+ const state = {
138
+ ...previousState,
139
+ selections: {
140
+ ...previousState.selections,
141
+ target,
142
+ },
143
+ operationsEnabled: {
144
+ ...previousState.operationsEnabled,
145
+ backtransfer,
146
+ },
147
+ };
148
+ return state;
149
+ };
150
+ //#endregion reducers
151
+ //#region public reducers
152
+ const initialStateFn = () => ({
153
+ initialItems: {
154
+ source: [],
155
+ target: [],
156
+ },
157
+ current: {
158
+ source: [],
159
+ target: [],
160
+ },
161
+ selections: {
162
+ source: new Set(),
163
+ target: new Set(),
164
+ },
165
+ operationsEnabled: {
166
+ transfer: false,
167
+ backtransfer: false,
168
+ reset: false,
169
+ },
170
+ });
171
+ const initFn = (payload) => (state) => init(state, payload);
172
+ const transferFn = () => (state) => transfer(state);
173
+ const backtransferFn = () => (state) => backtransfer(state);
174
+ const resetFn = () => (state) => reset(state);
175
+ const selectAllSourceFn = ({ checked }) => (state) => selectAllSource(state, { checked });
176
+ const selectAllTargetFn = ({ checked }) => (state) => selectAllTarget(state, { checked });
177
+ const selectionItemSourceFn = ({ item }) => (state) => selectionItemSource(state, { item });
178
+ const selectionItemTargetFn = ({ item }) => (state) => selectionItemTarget(state, { item });
179
+ //#endregion
180
+ export default {
181
+ initialStateFn,
182
+ initFn,
183
+ transferFn,
184
+ backtransferFn,
185
+ resetFn,
186
+ selectAllSourceFn,
187
+ selectAllTargetFn,
188
+ selectionItemSourceFn,
189
+ selectionItemTargetFn,
190
+ };
191
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIucmVkdWNlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vdHJhbnNmZXIvc3RvcmUvdHJhbnNmZXIucmVkdWNlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsbUNBQW1DO0FBQ25DLE1BQU0saUJBQWlCLEdBQUcsQ0FBSSxPQUFnQixFQUFFLEtBQXdCLEVBQUUsRUFBRTtJQUMxRSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBbUIsQ0FBQztJQUM1QyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBQ1osS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUM7QUFDbEIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxjQUFjLEdBQUcsQ0FBSSxHQUF5QixFQUFFLElBQXFCLEVBQUUsRUFBRTtJQUM3RSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztRQUNsQixHQUFHLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ25CLENBQUM7U0FBTSxDQUFDO1FBQ04sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQixDQUFDO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLENBQUM7QUFDRixZQUFZO0FBRVosa0JBQWtCO0FBQ2xCLE1BQU0sSUFBSSxHQUFHLENBQUksS0FBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBcUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRSxHQUFHLEtBQUs7SUFDUixZQUFZLEVBQUU7UUFDWixNQUFNLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztRQUNu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Q0FBYSxDQUFDO0FBRXBELE1BQU0scUJBQXFCLEdBQ3pCLENBQUksRUFBRSxJQUFJLEVBQTZCLEVBQUUsRUFBRSxDQUMzQyxDQUFDLEtBQWUsRUFBRSxFQUFFLENBQ2xCLG1CQUFtQixDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxDQUFhLENBQUM7QUFFckQsTUFBTSxxQkFBcUIsR0FDekIsQ0FBSSxFQUFFLElBQUksRUFBNkIsRUFBRSxFQUFFLENBQzNDLENBQUMsS0FBZSxFQUFFLEVBQUUsQ0FDbEIsbUJBQW1CLENBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQWEsQ0FBQztBQUNyRCxZQUFZO0FBRVosZUFBZTtJQUNiLGNBQWM7SUFDZCxNQUFNO0lBQ04sVUFBVTtJQUNWLGNBQWM7SUFDZCxPQUFPO0lBQ1AsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixxQkFBcUI7SUFDckIscUJBQXFCO0NBQ3RCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUcmFuc2Zlckl0ZW0sIFRyYW5zZmVySXRlbVNlbGVjdGlvbiB9IGZyb20gJy4uL3RyYW5zZmVyLm1vZGVsJztcbmltcG9ydCB7IFNlbGVjdGlvblN0YXRlLCBTdGF0ZSB9IGZyb20gJy4vdHJhbnNmZXIuc3RhdGUnO1xuXG4vLyNyZWdpb24gcHJpdmF0ZSB1dGlsaXR5IGZ1bmN0aW9uc1xuY29uc3QgZ2VuZXJhdGVTZWxlY3RBbGwgPSA8VD4oY2hlY2tlZDogYm9vbGVhbiwgaXRlbXM6IFRyYW5zZmVySXRlbTxUPltdKSA9PiB7XG4gIGNvbnN0IHNlbGVjdGVkID0gbmV3IFNldDxUcmFuc2Zlckl0ZW08VD4+KCk7XG4gIGlmIChjaGVja2VkKSB7XG4gICAgaXRlbXMuZm9yRWFjaChpdGVtID0+IHNlbGVjdGVkLmFkZChpdGVtKSk7XG4gIH1cblxuICByZXR1cm4gc2VsZWN0ZWQ7XG59O1xuXG5jb25zdCB1cGRhdGVTZWxlY3RlZCA9IDxUPihzZXQ6IFNldDxUcmFuc2Zlckl0ZW08VD4+LCBpdGVtOiBUcmFuc2Zlckl0ZW08VD4pID0+IHtcbiAgaWYgKHNldC5oYXMoaXRlbSkpIHtcbiAgICBzZXQuZGVsZXRlKGl0ZW0pO1xuICB9IGVsc2Uge1xuICAgIHNldC5hZGQoaXRlbSk7XG4gIH1cblxuICByZXR1cm4gc2V0O1xufTtcbi8vI2VuZHJlZ2lvblxuXG4vLyNyZWdpb24gcmVkdWNlcnNcbmNvbnN0IGluaXQgPSA8VD4oc3RhdGU6IFN0YXRlPFQ+LCB7IHNvdXJjZSwgdGFyZ2V0IH06IFNlbGVjdGlvblN0YXRlPFQ+KSA9PiAoe1xuICAuLi5zdGF0ZSxcbiAgaW5pdGlhbEl0ZW1zOiB7XG4gICAgc291cmNlOiBbLi4uc291cmNlXSxcbiAgICB0YXJnZXQ6IFsuLi50YXJnZXRdLFxuICB9LFxuICBjdXJyZW50OiB7XG4gICAgc291cmNlOiBbLi4uc291cmNlXSxcbiAgICB0YXJnZXQ6IFsuLi50YXJnZXRdLFxuICB9LFxufSk7XG5cbmNvbnN0IHRyYW5zZmVyID0gPFQ+KHN0YXRlOiBTdGF0ZTxUPikgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIGN1cnJlbnQ6IHtcbiAgICAgIC4uLnN0YXRlLmN1cnJlbnQsXG4gICAgICBzb3VyY2U6IHN0YXRlLmN1cnJlbnQuc291cmNlLmZpbHRlcihpID0+ICFzdGF0ZS5zZWxlY3Rpb25zLnNvdXJjZS5oYXMoaSkpLFxuICAgICAgdGFyZ2V0OiBBcnJheS5mcm9tKG5ldyBTZXQoWy4uLnN0YXRlLmN1cnJlbnQudGFyZ2V0LCAuLi5BcnJheS5mcm9tKHN0YXRlLnNlbGVjdGlvbnMuc291cmNlKV0gYXMgVHJhbnNmZXJJdGVtU2VsZWN0aW9uPFQ+KSksXG4gICAgfSxcbiAgICBzZWxlY3Rpb25zOiB7XG4gICAgICAuLi5zdGF0ZS5zZWxlY3Rpb25zLFxuICAgICAgc291cmNlOiBuZXcgU2V0PFRyYW5zZmVySXRlbTxUPj4oKSxcbiAgICB9LFxuICAgIG9wZXJhdGlvbnNFbmFibGVkOiB7XG4gICAgICAuLi5zdGF0ZS5vcGVyYXRpb25zRW5hYmxlZCxcbiAgICAgIHRyYW5zZmVyOiBmYWxzZSxcbiAgICAgIHJlc2V0OiB0cnVlLFxuICAgIH0sXG4gIH0gc2F0aXNmaWVzIFN0YXRlPFQ+O1xufTtcblxuY29uc3QgYmFja3RyYW5zZmVyID0gPFQ+KHN0YXRlOiBTdGF0ZTxUPikgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIGN1cnJlbnQ6IHtcbiAgICAgIC4uLnN0YXRlLmN1cnJlbnQsXG4gICAgICB0YXJnZXQ6IHN0YXRlLmN1cnJlbnQudGFyZ2V0LmZpbHRlcihpID0+ICFzdGF0ZS5zZWxlY3Rpb25zLnRhcmdldC5oYXMoaSkpLFxuICAgICAgc291cmNlOiBBcnJheS5mcm9tKG5ldyBTZXQoWy4uLnN0YXRlLmN1cnJlbnQuc291cmNlLCAuLi5BcnJheS5mcm9tKHN0YXRlLnNlbGVjdGlvbnMudGFyZ2V0KV0gYXMgVHJhbnNmZXJJdGVtU2VsZWN0aW9uPFQ+KSksXG4gICAgfSxcbiAgICBzZWxlY3Rpb25zOiB7XG4gICAgICAuLi5zdGF0ZS5zZWxlY3Rpb25zLFxuICAgICAgdGFyZ2V0OiBuZXcgU2V0PFRyYW5zZmVySXRlbTxUPj4oKSxcbiAgICB9LFxuICAgIG9wZXJhdGlvbnNFbmFibGVkOiB7XG4gICAgICAuLi5zdGF0ZS5vcGVyYXRpb25zRW5hYmxlZCxcbiAgICAgIGJhY2t0cmFuc2ZlcjogZmFsc2UsXG4gICAgICByZXNldDogdHJ1ZSxcbiAgICB9LFxuICB9IHNhdGlzZmllcyBTdGF0ZTxUPjtcbn07XG5cbmNvbnN0IHJlc2V0ID0gPFQ+KHN0YXRlOiBTdGF0ZTxUPikgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIGN1cnJlbnQ6IHtcbiAgICAgIHNvdXJjZTogWy4uLnN0YXRlLmluaXRpYWxJdGVtcy5zb3VyY2VdLFxuICAgICAgdGFyZ2V0OiBbLi4uc3RhdGUuaW5pdGlhbEl0ZW1zLnRhcmdldF0sXG4gICAgfSxcbiAgICBvcGVyYXRpb25zRW5hYmxlZDoge1xuICAgICAgLi4uc3RhdGUub3BlcmF0aW9uc0VuYWJsZWQsXG4gICAgICByZXNldDogZmFsc2UsXG4gICAgfSxcbiAgfSBzYXRpc2ZpZXMgU3RhdGU8VD47XG59O1xuXG5jb25zdCBzZWxlY3RBbGxTb3VyY2UgPSA8VD4oc3RhdGU6IFN0YXRlPFQ+LCB7IGNoZWNrZWQgfTogeyBjaGVja2VkOiBib29sZWFuIH0pID0+IHtcbiAgY29uc3QgaXRlbXMgPSBzdGF0ZS5jdXJyZW50LnNvdXJjZTtcbiAgY29uc3Qgc2VsZWN0ZWQgPSBnZW5lcmF0ZVNlbGVjdEFsbChjaGVja2VkLCBpdGVtcyk7XG4gIGNvbnN0IHRyYW5zZmVyID0gQm9vbGVhbihzZWxlY3RlZC5zaXplKTtcblxuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIHNlbGVjdGlvbnM6IHtcbiAgICAgIC4uLnN0YXRlLnNlbGVjdGlvbnMsXG4gICAgICBzb3VyY2U6IHNlbGVjdGVkLFxuICAgIH0sXG4gICAgb3BlcmF0aW9uc0VuYWJsZWQ6IHtcbiAgICAgIC4uLnN0YXRlLm9wZXJhdGlvbnNFbmFibGVkLFxuICAgICAgdHJhbnNmZXIsXG4gICAgfSxcbiAgfSBzYXRpc2ZpZXMgU3RhdGU8VD47XG59O1xuXG5jb25zdCBzZWxlY3RBbGxUYXJnZXQgPSA8VD4oc3RhdGU6IFN0YXRlPFQ+LCB7IGNoZWNrZWQgfTogeyBjaGVja2VkOiBib29sZWFuIH0pID0+IHtcbiAgY29uc3QgaXRlbXMgPSBzdGF0ZS5jdXJyZW50LnRhcmdldDtcbiAgY29uc3Qgc2VsZWN0ZWQgPSBnZW5lcmF0ZVNlbGVjdEFsbChjaGVja2VkLCBpdGVtcyk7XG4gIGNvbnN0IGJhY2t0cmFuc2ZlciA9IEJvb2xlYW4oc2VsZWN0ZWQuc2l6ZSk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5zdGF0ZSxcbiAgICBzZWxlY3Rpb25zOiB7XG4gICAgICAuLi5zdGF0ZS5zZWxlY3Rpb25zLFxuICAgICAgdGFyZ2V0OiBzZWxlY3RlZCxcbiAgICB9LFxuICAgIG9wZXJhdGlvbnNFbmFibGVkOiB7XG4gICAgICAuLi5zdGF0ZS5vcGVyYXRpb25zRW5hYmxlZCxcbiAgICAgIGJhY2t0cmFuc2ZlcixcbiAgICB9LFxuICB9IHNhdGlzZmllcyBTdGF0ZTxUPjtcbn07XG5cbmNvbnN0IHNlbGVjdGlvbkl0ZW1Tb3VyY2UgPSA8VD4ocHJldmlvdXNTdGF0ZTogU3RhdGU8VD4sIHsgaXRlbSB9OiB7IGl0ZW06IFRyYW5zZmVySXRlbTxUPiB9KSA9PiB7XG4gIGNvbnN0IHNlbGVjdGVkID0gdXBkYXRlU2VsZWN0ZWQocHJldmlvdXNTdGF0ZS5zZWxlY3Rpb25zLnNvdXJjZSwgaXRlbSk7XG4gIGNvbnN0IHNlbGVjdGVkSXRlbXMgPSBBcnJheS5mcm9tKHNlbGVjdGVkKTtcbiAgY29uc3QgdHJhbnNmZXIgPSBCb29sZWFuKHNlbGVjdGVkSXRlbXMubGVuZ3RoKTtcbiAgY29uc3Qgc291cmNlID0gbmV3IFNldChbLi4uc2VsZWN0ZWRJdGVtc10pO1xuXG4gIGNvbnN0IHN0YXRlID0ge1xuICAgIC4uLnByZXZpb3VzU3RhdGUsXG4gICAgc2VsZWN0aW9uczoge1xuICAgICAgLi4ucHJldmlvdXNTdGF0ZS5zZWxlY3Rpb25zLFxuICAgICAgc291cmNlLFxuICAgIH0sXG4gICAgb3BlcmF0aW9uc0VuYWJsZWQ6IHtcbiAgICAgIC4uLnByZXZpb3VzU3RhdGUub3BlcmF0aW9uc0VuYWJsZWQsXG4gICAgICB0cmFuc2ZlcixcbiAgICB9LFxuICB9IHNhdGlzZmllcyBTdGF0ZTxUPjtcblxuICByZXR1cm4gc3RhdGU7XG59O1xuXG5jb25zdCBzZWxlY3Rpb25JdGVtVGFyZ2V0ID0gPFQ+KHByZXZpb3VzU3RhdGU6IFN0YXRlPFQ+LCB7IGl0ZW0gfTogeyBpdGVtOiBUcmFuc2Zlckl0ZW08VD4gfSkgPT4ge1xuICBjb25zdCBzZWxlY3RlZCA9IHVwZGF0ZVNlbGVjdGVkKHByZXZpb3VzU3RhdGUuc2VsZWN0aW9ucy50YXJnZXQsIGl0ZW0pO1xuICBjb25zdCBzZWxlY3RlZEl0ZW1zID0gQXJyYXkuZnJvbShzZWxlY3RlZCk7XG4gIGNvbnN0IGJhY2t0cmFuc2ZlciA9IEJvb2xlYW4oc2VsZWN0ZWRJdGVtcy5sZW5ndGgpO1xuICBjb25zdCB0YXJnZXQgPSBuZXcgU2V0KFsuLi5zZWxlY3RlZEl0ZW1zXSk7XG5cbiAgY29uc3Qgc3RhdGUgPSB7XG4gICAgLi4ucHJldmlvdXNTdGF0ZSxcbiAgICBzZWxlY3Rpb25zOiB7XG4gICAgICAuLi5wcmV2aW91c1N0YXRlLnNlbGVjdGlvbnMsXG4gICAgICB0YXJnZXQsXG4gICAgfSxcbiAgICBvcGVyYXRpb25zRW5hYmxlZDoge1xuICAgICAgLi4ucHJldmlvdXNTdGF0ZS5vcGVyYXRpb25zRW5hYmxlZCxcbiAgICAgIGJhY2t0cmFuc2ZlcixcbiAgICB9LFxuICB9IHNhdGlzZmllcyBTdGF0ZTxUPjtcblxuICByZXR1cm4gc3RhdGU7XG59O1xuLy8jZW5kcmVnaW9uIHJlZHVjZXJzXG5cbi8vI3JlZ2lvbiBwdWJsaWMgcmVkdWNlcnNcbmNvbnN0IGluaXRpYWxTdGF0ZUZuID0gPFQ+KCkgPT4gKHtcbiAgaW5pdGlhbEl0ZW1zOiB7XG4gICAgc291cmNlOiBbXSxcbiAgICB0YXJnZXQ6IFtdLFxuICB9LFxuICBjdXJyZW50OiB7XG4gICAgc291cmNlOiBbXSxcbiAgICB0YXJnZXQ6IFtdLFxuICB9LFxuICBzZWxlY3Rpb25zOiB7XG4gICAgc291cmNlOiBuZXcgU2V0PFRyYW5zZmVySXRlbTxUPj4oKSxcbiAgICB0YXJnZXQ6IG5ldyBTZXQ8VHJhbnNmZXJJdGVtPFQ+PigpLFxuICB9LFxuICBvcGVyYXRpb25zRW5hYmxlZDoge1xuICAgIHRyYW5zZmVyOiBmYWxzZSxcbiAgICBiYWNrdHJhbnNmZXI6IGZhbHNlLFxuICAgIHJlc2V0OiBmYWxzZSxcbiAgfSxcbn0pO1xuY29uc3QgaW5pdEZuID1cbiAgPFQ+KHBheWxvYWQ6IFNlbGVjdGlvblN0YXRlPFQ+KSA9PlxuICAoc3RhdGU6IFN0YXRlPFQ+KSA9PlxuICAgIGluaXQoc3RhdGUsIHBheWxvYWQpO1xuXG5jb25zdCB0cmFuc2ZlckZuID1cbiAgPFQ+KCkgPT5cbiAgKHN0YXRlOiBTdGF0ZTxUPikgPT5cbiAgICB0cmFuc2ZlcihzdGF0ZSk7XG5cbmNvbnN0IGJhY2t0cmFuc2ZlckZuID1cbiAgPFQ+KCkgPT5cbiAgKHN0YXRlOiBTdGF0ZTxUPikgPT5cbiAgICBiYWNrdHJhbnNmZXIoc3RhdGUpO1xuXG5jb25zdCByZXNldEZuID1cbiAgPFQ+KCkgPT5cbiAgKHN0YXRlOiBTdGF0ZTxUPikgPT5cbiAgICByZXNldChzdGF0ZSk7XG5cbmNvbnN0IHNlbGVjdEFsbFNvdXJjZUZuID1cbiAgPFQ+KHsgY2hlY2tlZCB9OiB7IGNoZWNrZWQ6IGJvb2xlYW4gfSkgPT5cbiAgKHN0YXRlOiBTdGF0ZTxUPikgPT5cbiAgICBzZWxlY3RBbGxTb3VyY2Uoc3RhdGUsIHsgY2hlY2tlZCB9KSBhcyBTdGF0ZTxUPjtcblxuY29uc3Qgc2VsZWN0QWxsVGFyZ2V0Rm4gPVxuICA8VD4oeyBjaGVja2VkIH06IHsgY2hlY2tlZDogYm9vbGVhbiB9KSA9PlxuICAoc3RhdGU6IFN0YXRlPFQ+KSA9PlxuICAgIHNlbGVjdEFsbFRhcmdldChzdGF0ZSwgeyBjaGVja2VkIH0pIGFzIFN0YXRlPFQ+O1xuXG5jb25zdCBzZWxlY3Rpb25JdGVtU291cmNlRm4gPVxuICA8VD4oeyBpdGVtIH06IHsgaXRlbTogVHJhbnNmZXJJdGVtPFQ+IH0pID0+XG4gIChzdGF0ZTogU3RhdGU8VD4pID0+XG4gICAgc2VsZWN0aW9uSXRlbVNvdXJjZShzdGF0ZSwgeyBpdGVtIH0pIGFzIFN0YXRlPFQ+O1xuXG5jb25zdCBzZWxlY3Rpb25JdGVtVGFyZ2V0Rm4gPVxuICA8VD4oeyBpdGVtIH06IHsgaXRlbTogVHJhbnNmZXJJdGVtPFQ+IH0pID0+XG4gIChzdGF0ZTogU3RhdGU8VD4pID0+XG4gICAgc2VsZWN0aW9uSXRlbVRhcmdldChzdGF0ZSwgeyBpdGVtIH0pIGFzIFN0YXRlPFQ+O1xuLy8jZW5kcmVnaW9uXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgaW5pdGlhbFN0YXRlRm4sXG4gIGluaXRGbixcbiAgdHJhbnNmZXJGbixcbiAgYmFja3RyYW5zZmVyRm4sXG4gIHJlc2V0Rm4sXG4gIHNlbGVjdEFsbFNvdXJjZUZuLFxuICBzZWxlY3RBbGxUYXJnZXRGbixcbiAgc2VsZWN0aW9uSXRlbVNvdXJjZUZuLFxuICBzZWxlY3Rpb25JdGVtVGFyZ2V0Rm4sXG59O1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXIuc3RhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2Zvcm0vdHJhbnNmZXIvc3RvcmUvdHJhbnNmZXIuc3RhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFRyYW5zZmVySXRlbSB9IGZyb20gJy4uL3RyYW5zZmVyLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3Rpb25TdGF0ZTxUPiB7XG4gIHNvdXJjZTogQXJyYXk8VHJhbnNmZXJJdGVtPFQ+PjtcbiAgdGFyZ2V0OiBBcnJheTxUcmFuc2Zlckl0ZW08VD4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFN0YXRlPFQ+IHtcbiAgaW5pdGlhbEl0ZW1zOiBTZWxlY3Rpb25TdGF0ZTxUPjtcbiAgY3VycmVudDogU2VsZWN0aW9uU3RhdGU8VD47XG4gIHNlbGVjdGlvbnM6IHtcbiAgICBzb3VyY2U6IFNldDxUcmFuc2Zlckl0ZW08VD4+O1xuICAgIHRhcmdldDogU2V0PFRyYW5zZmVySXRlbTxUPj47XG4gIH07XG4gIG9wZXJhdGlvbnNFbmFibGVkOiB7XG4gICAgdHJhbnNmZXI6IGJvb2xlYW47XG4gICAgYmFja3RyYW5zZmVyOiBib29sZWFuO1xuICAgIHJlc2V0OiBib29sZWFuO1xuICB9O1xufVxuIl19