design-angular-kit 1.0.0-16 → 1.0.0-18
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.
- package/README.md +31 -6
- package/assets/i18n/en.json +4 -1
- package/assets/i18n/it.json +4 -1
- package/esm2022/lib/abstracts/abstract-form.component.mjs +186 -0
- package/esm2022/lib/abstracts/abstract.component.mjs +45 -0
- package/esm2022/lib/components/components.module.mjs +188 -0
- package/esm2022/lib/components/core/accordion/accordion.component.mjs +38 -0
- package/esm2022/lib/components/core/alert/alert.component.mjs +74 -0
- package/esm2022/lib/components/core/badge/badge.directive.mjs +38 -0
- package/esm2022/lib/components/core/button/button.directive.mjs +85 -0
- package/esm2022/lib/components/core/callout/callout.component.mjs +57 -0
- package/esm2022/lib/components/core/card/card.component.mjs +64 -0
- package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +89 -0
- package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +19 -0
- package/esm2022/lib/components/core/carousel/carousel.module.mjs +23 -0
- package/esm2022/lib/components/core/chip/chip.component.mjs +96 -0
- package/esm2022/lib/components/core/collapse/collapse.component.mjs +101 -0
- package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +24 -0
- package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
- package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +59 -0
- package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +27 -0
- package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +143 -0
- package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +68 -0
- package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +18 -0
- package/esm2022/lib/components/core/forward/forward.directive.mjs +53 -0
- package/esm2022/lib/components/core/link/link.component.mjs +46 -0
- package/esm2022/lib/components/core/list/list/list.component.mjs +17 -0
- package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +40 -0
- package/esm2022/lib/components/core/list/list.module.mjs +23 -0
- package/esm2022/lib/components/core/modal/modal.component.mjs +164 -0
- package/esm2022/lib/components/core/notifications/notifications.component.mjs +111 -0
- package/esm2022/lib/components/core/pagination/pagination.component.mjs +133 -0
- package/esm2022/lib/components/core/popover/popover.directive.mjs +175 -0
- package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +35 -0
- package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +27 -0
- package/esm2022/lib/components/core/spinner/spinner.component.mjs +36 -0
- package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +138 -0
- package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +19 -0
- package/esm2022/lib/components/core/steppers/steppers.module.mjs +23 -0
- package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +60 -0
- package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +36 -0
- package/esm2022/lib/components/core/tab/tab.module.mjs +23 -0
- package/esm2022/lib/components/core/table/table.component.mjs +57 -0
- package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +142 -0
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +49 -0
- package/esm2022/lib/components/form/form.module.mjs +55 -0
- package/esm2022/lib/components/form/input/input.component.mjs +239 -0
- package/esm2022/lib/components/form/password-input/password-input.component.mjs +155 -0
- package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +69 -0
- package/esm2022/lib/components/form/range/range.component.mjs +64 -0
- package/esm2022/lib/components/form/rating/rating.component.mjs +51 -0
- package/esm2022/lib/components/form/select/select.component.mjs +70 -0
- package/esm2022/lib/components/form/textarea/textarea.component.mjs +47 -0
- package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +140 -0
- package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +112 -0
- package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +71 -0
- package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +64 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +57 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +23 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +18 -0
- package/esm2022/lib/components/navigation/header/header.component.mjs +58 -0
- package/esm2022/lib/components/utils/error-page/error-page.component.mjs +81 -0
- package/esm2022/lib/components/utils/icon/icon.component.mjs +55 -0
- package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +41 -0
- package/esm2022/lib/design-angular-kit.module.mjs +68 -0
- package/{esm2020 → esm2022}/lib/interfaces/form.mjs +1 -1
- package/esm2022/lib/interfaces/icon.mjs +165 -0
- package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +37 -0
- package/esm2022/lib/services/notification/notification.service.mjs +120 -0
- package/esm2022/lib/utils/file-utils.mjs +73 -0
- package/esm2022/lib/utils/regex.mjs +31 -0
- package/esm2022/lib/validators/it-validators.mjs +153 -0
- package/esm2022/public_api.mjs +85 -0
- package/fesm2022/design-angular-kit.mjs +4615 -0
- package/fesm2022/design-angular-kit.mjs.map +1 -0
- package/lib/abstracts/abstract-form.component.d.ts +4 -4
- package/lib/abstracts/abstract.component.d.ts +3 -3
- package/lib/components/components.module.d.ts +32 -52
- package/lib/components/core/accordion/accordion.component.d.ts +6 -5
- package/lib/components/core/alert/alert.component.d.ts +5 -5
- package/lib/components/core/badge/badge.directive.d.ts +5 -5
- package/lib/components/core/button/button.directive.d.ts +11 -11
- package/lib/components/core/callout/callout.component.d.ts +7 -7
- package/lib/components/core/card/card.component.d.ts +8 -8
- package/lib/components/core/carousel/carousel/carousel.component.d.ts +10 -10
- package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +4 -4
- package/lib/components/core/carousel/carousel.module.d.ts +8 -0
- package/lib/components/core/chip/chip.component.d.ts +6 -3
- package/lib/components/core/collapse/collapse.component.d.ts +8 -8
- package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +3 -3
- package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +3 -3
- package/lib/components/core/dimmer/dimmer.component.d.ts +4 -4
- package/lib/components/core/dimmer/dimmer.module.d.ts +9 -0
- package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +14 -9
- package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +8 -8
- package/lib/components/core/dropdown/dropdown.module.d.ts +8 -0
- package/lib/components/core/forward/forward.directive.d.ts +3 -3
- package/lib/components/core/link/link.component.d.ts +9 -8
- package/lib/components/core/list/list/list.component.d.ts +4 -4
- package/lib/components/core/list/list-item/list-item.component.d.ts +9 -9
- package/lib/components/core/list/list.module.d.ts +8 -0
- package/lib/components/core/modal/modal.component.d.ts +11 -11
- package/lib/components/core/notifications/notifications.component.d.ts +6 -6
- package/lib/components/core/pagination/pagination.component.d.ts +8 -8
- package/lib/components/core/popover/popover.directive.d.ts +3 -3
- package/lib/components/core/progress-bar/progress-bar.component.d.ts +6 -6
- package/lib/components/core/progress-button/progress-button.component.d.ts +5 -5
- package/lib/components/core/spinner/spinner.component.d.ts +5 -5
- package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +37 -13
- package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +5 -5
- package/lib/components/core/steppers/steppers.module.d.ts +8 -0
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +9 -9
- package/lib/components/core/tab/tab-item/tab-item.component.d.ts +8 -8
- package/lib/components/core/tab/tab.module.d.ts +8 -0
- package/lib/components/core/table/table.component.d.ts +12 -12
- package/lib/components/core/tooltip/tooltip.directive.d.ts +3 -3
- package/lib/components/form/checkbox/checkbox.component.d.ts +12 -10
- package/lib/components/form/form.module.d.ts +16 -0
- package/lib/components/form/input/input.component.d.ts +18 -13
- package/lib/components/form/password-input/password-input.component.d.ts +11 -6
- package/lib/components/form/radio-button/radio-button.component.d.ts +6 -6
- package/lib/components/form/range/range.component.d.ts +42 -0
- package/lib/components/form/rating/rating.component.d.ts +24 -0
- package/lib/components/form/select/select.component.d.ts +11 -6
- package/lib/components/form/textarea/textarea.component.d.ts +5 -5
- package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +4 -4
- package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +6 -6
- package/lib/components/navigation/back-button/back-button.component.d.ts +3 -3
- package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +7 -7
- package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -6
- package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +6 -6
- package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +8 -0
- package/lib/components/navigation/header/header.component.d.ts +6 -6
- package/lib/components/utils/error-page/error-page.component.d.ts +6 -6
- package/lib/components/utils/icon/icon.component.d.ts +7 -7
- package/lib/components/utils/language-switcher/language-switcher.component.d.ts +4 -4
- package/lib/design-angular-kit.module.d.ts +3 -4
- package/lib/interfaces/core.d.ts +16 -16
- package/lib/interfaces/form.d.ts +3 -3
- package/lib/interfaces/icon.d.ts +4 -4
- package/lib/pipes/mark-matching-text.pipe.d.ts +4 -4
- package/lib/services/{notifications/notifications.service.d.ts → notification/notification.service.d.ts} +3 -3
- package/lib/utils/boolean-input.d.ts +1 -1
- package/lib/utils/regex.d.ts +5 -0
- package/lib/validators/it-validators.d.ts +4 -0
- package/package.json +13 -19
- package/public_api.d.ts +13 -4
- package/esm2020/lib/abstracts/abstract-form.component.mjs +0 -188
- package/esm2020/lib/abstracts/abstract.component.mjs +0 -45
- package/esm2020/lib/components/components.module.mjs +0 -256
- package/esm2020/lib/components/core/accordion/accordion.component.mjs +0 -35
- package/esm2020/lib/components/core/alert/alert.component.mjs +0 -73
- package/esm2020/lib/components/core/badge/badge.directive.mjs +0 -37
- package/esm2020/lib/components/core/button/button.directive.mjs +0 -84
- package/esm2020/lib/components/core/callout/callout.component.mjs +0 -57
- package/esm2020/lib/components/core/card/card.component.mjs +0 -64
- package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +0 -89
- package/esm2020/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +0 -19
- package/esm2020/lib/components/core/chip/chip.component.mjs +0 -89
- package/esm2020/lib/components/core/collapse/collapse.component.mjs +0 -101
- package/esm2020/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +0 -24
- package/esm2020/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +0 -11
- package/esm2020/lib/components/core/dimmer/dimmer.component.mjs +0 -59
- package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +0 -130
- package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +0 -68
- package/esm2020/lib/components/core/forward/forward.directive.mjs +0 -52
- package/esm2020/lib/components/core/link/link.component.mjs +0 -40
- package/esm2020/lib/components/core/list/list/list.component.mjs +0 -17
- package/esm2020/lib/components/core/list/list-item/list-item.component.mjs +0 -41
- package/esm2020/lib/components/core/modal/modal.component.mjs +0 -163
- package/esm2020/lib/components/core/notifications/notifications.component.mjs +0 -110
- package/esm2020/lib/components/core/pagination/pagination.component.mjs +0 -131
- package/esm2020/lib/components/core/popover/popover.directive.mjs +0 -174
- package/esm2020/lib/components/core/progress-bar/progress-bar.component.mjs +0 -34
- package/esm2020/lib/components/core/progress-button/progress-button.component.mjs +0 -27
- package/esm2020/lib/components/core/rating/rating.component.mjs +0 -49
- package/esm2020/lib/components/core/spinner/spinner.component.mjs +0 -35
- package/esm2020/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +0 -127
- package/esm2020/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +0 -19
- package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +0 -59
- package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +0 -36
- package/esm2020/lib/components/core/table/table.component.mjs +0 -57
- package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +0 -141
- package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -40
- package/esm2020/lib/components/form/input/input.component.mjs +0 -232
- package/esm2020/lib/components/form/password-input/password-input.component.mjs +0 -152
- package/esm2020/lib/components/form/radio-button/radio-button.component.mjs +0 -68
- package/esm2020/lib/components/form/select/select.component.mjs +0 -62
- package/esm2020/lib/components/form/textarea/textarea.component.mjs +0 -46
- package/esm2020/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +0 -139
- package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +0 -104
- package/esm2020/lib/components/navigation/back-button/back-button.component.mjs +0 -69
- package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +0 -64
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -56
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +0 -23
- package/esm2020/lib/components/navigation/header/header.component.mjs +0 -57
- package/esm2020/lib/components/utils/error-page/error-page.component.mjs +0 -79
- package/esm2020/lib/components/utils/icon/icon.component.mjs +0 -55
- package/esm2020/lib/components/utils/language-switcher/language-switcher.component.mjs +0 -39
- package/esm2020/lib/design-angular-kit.module.mjs +0 -68
- package/esm2020/lib/interfaces/icon.mjs +0 -162
- package/esm2020/lib/pipes/mark-matching-text.pipe.mjs +0 -36
- package/esm2020/lib/services/notifications/notifications.service.mjs +0 -120
- package/esm2020/lib/utils/file-utils.mjs +0 -73
- package/esm2020/lib/utils/regex.mjs +0 -26
- package/esm2020/lib/validators/it-validators.mjs +0 -147
- package/esm2020/public_api.mjs +0 -74
- package/fesm2015/design-angular-kit.mjs +0 -4422
- package/fesm2015/design-angular-kit.mjs.map +0 -1
- package/fesm2020/design-angular-kit.mjs +0 -4354
- package/fesm2020/design-angular-kit.mjs.map +0 -1
- package/lib/components/core/rating/rating.component.d.ts +0 -24
- /package/{esm2020 → esm2022}/design-angular-kit.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/design-angular-kit-config.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/core.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/design-angular-kit-init.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/boolean-input.mjs +0 -0
package/README.md
CHANGED
|
@@ -63,17 +63,18 @@ npm install design-angular-kit@unstable --save
|
|
|
63
63
|
Procedi a registrare `DesignAngularKitModule` nel tuo **app.module.ts**.
|
|
64
64
|
|
|
65
65
|
```typescript
|
|
66
|
-
import {DesignAngularKitModule} from 'design-angular-kit';
|
|
66
|
+
import {DesignAngularKitModule, ItComponentsModule} from 'design-angular-kit';
|
|
67
67
|
|
|
68
68
|
@NgModule({
|
|
69
69
|
imports: [
|
|
70
70
|
...
|
|
71
|
-
DesignAngularKitModule
|
|
71
|
+
DesignAngularKitModule,
|
|
72
|
+
ItComponentsModule // importa tutti i componenti della libreria
|
|
72
73
|
]
|
|
73
74
|
})
|
|
74
75
|
```
|
|
75
76
|
<details>
|
|
76
|
-
<summary>Configurazione della libreria</summary>
|
|
77
|
+
<summary>Configurazione custom della libreria</summary>
|
|
77
78
|
|
|
78
79
|
```typescript
|
|
79
80
|
import {DesignAngularKitModule, DesignAngularKitInit} from 'design-angular-kit';
|
|
@@ -90,12 +91,36 @@ import {DesignAngularKitModule} from 'design-angular-kit';
|
|
|
90
91
|
@NgModule({
|
|
91
92
|
imports: [
|
|
92
93
|
...
|
|
93
|
-
DesignAngularKitModule.forRoot(initConfig)
|
|
94
|
+
DesignAngularKitModule.forRoot(initConfig)
|
|
94
95
|
]
|
|
95
96
|
})
|
|
96
97
|
```
|
|
97
98
|
</details>
|
|
98
99
|
|
|
100
|
+
Usa `ItComponentsModule` per importare tutti i componenti della libreria, in alternativa puoi importare solo i componenti/moduli di cui hai bisogno, ad es. Alert, Paginazione e Breadcrumb.
|
|
101
|
+
|
|
102
|
+
```typescript
|
|
103
|
+
import {ItAlertComponent, ItPaginationComponent, ItBreadcrumbsModule} from 'design-angular-kit';
|
|
104
|
+
|
|
105
|
+
@NgModule({
|
|
106
|
+
imports: [
|
|
107
|
+
ItAlertComponent,
|
|
108
|
+
ItPaginationComponent,
|
|
109
|
+
ItBreadcrumbsModule // Include ItBreadcrumbComponent e ItBreadcrumbItemComponent
|
|
110
|
+
],
|
|
111
|
+
})
|
|
112
|
+
export class YourAppModule {
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@Component({
|
|
116
|
+
selector: 'app-product',
|
|
117
|
+
standalone: true,
|
|
118
|
+
imports: [ItAlertComponent],
|
|
119
|
+
templateUrl: './product.component.html'
|
|
120
|
+
})
|
|
121
|
+
export class ProductComponent {
|
|
122
|
+
}
|
|
123
|
+
```
|
|
99
124
|
|
|
100
125
|
### Importazione stili bootstrap-italia
|
|
101
126
|
Configura gli stili richiesti nel file `styles.scss`. Importa la libreria SCSS come mostrato nell'esempio qui sotto.
|
|
@@ -197,7 +222,7 @@ Modifica nel tuo `app.module.ts`:
|
|
|
197
222
|
},
|
|
198
223
|
defaultLanguage: 'it'
|
|
199
224
|
}),
|
|
200
|
-
DesignAngularKitModule
|
|
225
|
+
DesignAngularKitModule
|
|
201
226
|
]
|
|
202
227
|
})
|
|
203
228
|
```
|
|
@@ -214,7 +239,7 @@ Se non utilizzi i file di localizzazione nella tua app, devi aggiungere il provi
|
|
|
214
239
|
@NgModule({
|
|
215
240
|
imports: [
|
|
216
241
|
...
|
|
217
|
-
DesignAngularKitModule
|
|
242
|
+
DesignAngularKitModule,
|
|
218
243
|
],
|
|
219
244
|
providers: [
|
|
220
245
|
TranslateStore
|
package/assets/i18n/en.json
CHANGED
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
"close": "Close",
|
|
8
8
|
"continue": "Continue",
|
|
9
9
|
"edit": "Edit",
|
|
10
|
+
"show": "Show",
|
|
10
11
|
"show-all": "Show all",
|
|
11
|
-
"details": "Details"
|
|
12
|
+
"details": "Details",
|
|
13
|
+
"download": "Download"
|
|
12
14
|
},
|
|
13
15
|
"errors": {
|
|
14
16
|
"generic": "An error has occurred",
|
|
@@ -26,6 +28,7 @@
|
|
|
26
28
|
"tax-code-invalid": "Enter a valid tax code",
|
|
27
29
|
"vat-number-invalid": "Enter a valid VAT number",
|
|
28
30
|
"cap-invalid": "Enter a valid zip code",
|
|
31
|
+
"iban-invalid": "Enter a valid IBAN",
|
|
29
32
|
"regex-invalid": "Please enter a valid REGEX expression",
|
|
30
33
|
"pattern-invalid": "The field must have the pattern {{pattern}}",
|
|
31
34
|
"password-no-match": "Passwords must match",
|
package/assets/i18n/it.json
CHANGED
|
@@ -7,8 +7,10 @@
|
|
|
7
7
|
"close": "Chiudi",
|
|
8
8
|
"continue": "Continua",
|
|
9
9
|
"edit": "Modifica",
|
|
10
|
+
"show": "Visualizza",
|
|
10
11
|
"show-all": "Mostra tutto",
|
|
11
|
-
"details": "Dettagli"
|
|
12
|
+
"details": "Dettagli",
|
|
13
|
+
"download": "Scarica"
|
|
12
14
|
},
|
|
13
15
|
"errors": {
|
|
14
16
|
"generic": "Si è verificato un errore",
|
|
@@ -26,6 +28,7 @@
|
|
|
26
28
|
"tax-code-invalid": "Inserisci un codice fiscale valido",
|
|
27
29
|
"vat-number-invalid": "Inserisci una partita iva valida",
|
|
28
30
|
"cap-invalid": "Inserisci un CAP valido",
|
|
31
|
+
"iban-invalid": "Inserisci un IBAN valido",
|
|
29
32
|
"regex-invalid": "Inserisci un espressione REGEX valida",
|
|
30
33
|
"pattern-invalid": "Il campo deve avere il pattern {{pattern}}",
|
|
31
34
|
"password-no-match": "Le password devono essere identiche",
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { FormControl } from '@angular/forms';
|
|
2
|
+
import { Component, Input, Optional, Self } from '@angular/core';
|
|
3
|
+
import { ItAbstractComponent } from './abstract.component';
|
|
4
|
+
import { isFalseBooleanInput, isTrueBooleanInput } from '../utils/boolean-input';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
import * as i1 from "@ngx-translate/core";
|
|
7
|
+
import * as i2 from "@angular/forms";
|
|
8
|
+
export class ItAbstractFormComponent extends ItAbstractComponent {
|
|
9
|
+
/**
|
|
10
|
+
* Set the disabled state
|
|
11
|
+
*/
|
|
12
|
+
set disabled(isDisabled) {
|
|
13
|
+
this.setDisabledState(isTrueBooleanInput(isDisabled));
|
|
14
|
+
}
|
|
15
|
+
constructor(_translateService, _ngControl) {
|
|
16
|
+
super();
|
|
17
|
+
this._translateService = _translateService;
|
|
18
|
+
this._ngControl = _ngControl;
|
|
19
|
+
/**
|
|
20
|
+
* Validation color display mode (validation triggered if field is touched or not pristine)
|
|
21
|
+
* - <b>true</b>: Always show the validation color
|
|
22
|
+
* - <b>false</b>: Never show validation color
|
|
23
|
+
* - <b>only-valid</b>: Show only valid validation color
|
|
24
|
+
* - <b>only-invalid</b>: Show only invalid validation color
|
|
25
|
+
* @default <b>only-invalid</b>: Show only invalid validation color
|
|
26
|
+
*/
|
|
27
|
+
this.validationMode = 'only-invalid';
|
|
28
|
+
this.onChange = (_) => {
|
|
29
|
+
};
|
|
30
|
+
this.onTouched = () => {
|
|
31
|
+
};
|
|
32
|
+
this.control = new FormControl();
|
|
33
|
+
this._ngControl && (this._ngControl.valueAccessor = this);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Check if field is invalid (Validation failed)
|
|
37
|
+
*/
|
|
38
|
+
get isInvalid() {
|
|
39
|
+
if (this.validationMode === 'only-valid' || (this.validationMode !== 'only-invalid' && isFalseBooleanInput(this.validationMode))) {
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
if (this._ngControl) {
|
|
43
|
+
return this._ngControl.invalid === true && (!this._ngControl.pristine || this._ngControl.touched === true);
|
|
44
|
+
}
|
|
45
|
+
return this.control.invalid && (!this.control.pristine || this.control.touched);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Check if field is valid (Validation successful)
|
|
49
|
+
*/
|
|
50
|
+
get isValid() {
|
|
51
|
+
if (this.validationMode === 'only-invalid' || (this.validationMode !== 'only-valid' && isFalseBooleanInput(this.validationMode))) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
if (this._ngControl) {
|
|
55
|
+
return this._ngControl.valid === true && (!this._ngControl.pristine || this._ngControl.touched === true);
|
|
56
|
+
}
|
|
57
|
+
return this.control.valid && (!this.control.pristine || this.control.touched);
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Return the invalid message string from TranslateService
|
|
61
|
+
*/
|
|
62
|
+
get invalidMessage() {
|
|
63
|
+
if (this.hasError('required')) {
|
|
64
|
+
return this._translateService.get('it.errors.required-field');
|
|
65
|
+
}
|
|
66
|
+
return this._translateService.get('it.errors.invalid-field');
|
|
67
|
+
}
|
|
68
|
+
ngOnInit() {
|
|
69
|
+
if (this._ngControl?.control) {
|
|
70
|
+
this.control.setValidators(this._ngControl.control.validator);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
registerOnChange(fn) {
|
|
74
|
+
this.control.valueChanges.subscribe(fn);
|
|
75
|
+
this.onChange = fn;
|
|
76
|
+
}
|
|
77
|
+
registerOnTouched(fn) {
|
|
78
|
+
this.onTouched = fn;
|
|
79
|
+
}
|
|
80
|
+
setDisabledState(isDisabled) {
|
|
81
|
+
if (isDisabled) {
|
|
82
|
+
return this.control.disable();
|
|
83
|
+
}
|
|
84
|
+
this.control.enable();
|
|
85
|
+
}
|
|
86
|
+
writeValue(value) {
|
|
87
|
+
this.control.setValue(value, { emitEvent: false });
|
|
88
|
+
this._changeDetectorRef.detectChanges();
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Mark the control as touched
|
|
92
|
+
*/
|
|
93
|
+
markAsTouched() {
|
|
94
|
+
if (!this.control.touched) {
|
|
95
|
+
this.onTouched();
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Fired to check if form control is touched
|
|
100
|
+
*/
|
|
101
|
+
ngDoCheck() {
|
|
102
|
+
if (this._ngControl?.control) {
|
|
103
|
+
const ngControl = this._ngControl.control;
|
|
104
|
+
if (this.control.touched !== ngControl.touched) {
|
|
105
|
+
if (ngControl.touched) {
|
|
106
|
+
this.control.markAsTouched();
|
|
107
|
+
}
|
|
108
|
+
else {
|
|
109
|
+
this.control.markAsUntouched();
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
if (this.control.pristine !== ngControl.pristine) {
|
|
113
|
+
if (ngControl.pristine) {
|
|
114
|
+
this.control.markAsPristine();
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
this.control.markAsDirty();
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
this._changeDetectorRef.detectChanges();
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Add the validators in control and parent control
|
|
125
|
+
* @param validators the validators
|
|
126
|
+
* @protected
|
|
127
|
+
*/
|
|
128
|
+
addValidators(validators) {
|
|
129
|
+
if (!Array.isArray(validators)) {
|
|
130
|
+
validators = [validators];
|
|
131
|
+
}
|
|
132
|
+
validators.forEach(validator => {
|
|
133
|
+
if (!this.control.hasValidator(validator)) {
|
|
134
|
+
this.control.addValidators(validator);
|
|
135
|
+
}
|
|
136
|
+
if (this._ngControl?.control && !this._ngControl.control.hasValidator(validator)) {
|
|
137
|
+
this._ngControl.control.addValidators(validator);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Reports whether the control with the given path has the error specified. <br/>
|
|
143
|
+
* If the control is not present, false is returned.
|
|
144
|
+
* @param errorCode The code of the error to check
|
|
145
|
+
* @param path A list of control names that designates how to move from the current control
|
|
146
|
+
* to the control that should be queried for errors.
|
|
147
|
+
* @returns whether the given error is present in the control at the given path.
|
|
148
|
+
*/
|
|
149
|
+
hasError(errorCode, path) {
|
|
150
|
+
if (this._ngControl) {
|
|
151
|
+
return this._ngControl.hasError(errorCode, path);
|
|
152
|
+
}
|
|
153
|
+
return this.control.hasError(errorCode, path);
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Reports error data for the control with the given path.
|
|
157
|
+
* @param errorCode The code of the error to check
|
|
158
|
+
* @param path A list of control names that designates how to move from the current control
|
|
159
|
+
* to the control that should be queried for errors.
|
|
160
|
+
* @returns error data for that particular error. If the control or error is not present,
|
|
161
|
+
* null is returned.
|
|
162
|
+
*/
|
|
163
|
+
getError(errorCode, path) {
|
|
164
|
+
if (this._ngControl) {
|
|
165
|
+
return this._ngControl.getError(errorCode, path);
|
|
166
|
+
}
|
|
167
|
+
return this.control.getError(errorCode, path);
|
|
168
|
+
}
|
|
169
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItAbstractFormComponent, deps: [{ token: i1.TranslateService }, { token: i2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
170
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: ItAbstractFormComponent, selector: "ng-component", inputs: { label: "label", validationMode: "validationMode", disabled: "disabled" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
171
|
+
}
|
|
172
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItAbstractFormComponent, decorators: [{
|
|
173
|
+
type: Component,
|
|
174
|
+
args: [{ template: '' }]
|
|
175
|
+
}], ctorParameters: function () { return [{ type: i1.TranslateService }, { type: i2.NgControl, decorators: [{
|
|
176
|
+
type: Self
|
|
177
|
+
}, {
|
|
178
|
+
type: Optional
|
|
179
|
+
}] }]; }, propDecorators: { label: [{
|
|
180
|
+
type: Input
|
|
181
|
+
}], validationMode: [{
|
|
182
|
+
type: Input
|
|
183
|
+
}], disabled: [{
|
|
184
|
+
type: Input
|
|
185
|
+
}] } });
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QtZm9ybS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9hYnN0cmFjdHMvYWJzdHJhY3QtZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF3QixXQUFXLEVBQTBCLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0YsT0FBTyxFQUFFLFNBQVMsRUFBVyxLQUFLLEVBQVUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMzRCxPQUFPLEVBQWdCLG1CQUFtQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7Ozs7QUFLL0YsTUFBTSxPQUFnQix1QkFBaUMsU0FBUSxtQkFBbUI7SUFpQmhGOztPQUVHO0lBQ0gsSUFBYSxRQUFRLENBQUMsVUFBd0I7UUFDNUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQU9ELFlBQ3FCLGlCQUFtQyxFQUNmLFVBQXFCO1FBRTVELEtBQUssRUFBRSxDQUFDO1FBSFcsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNmLGVBQVUsR0FBVixVQUFVLENBQVc7UUF4QjlEOzs7Ozs7O1dBT0c7UUFDTSxtQkFBYyxHQUFpRCxjQUFjLENBQUM7UUFvRXZGLGFBQVEsR0FBRyxDQUFDLENBQUksRUFBRSxFQUFFO1FBQ3BCLENBQUMsQ0FBQztRQUVGLGNBQVMsR0FBRyxHQUFHLEVBQUU7UUFDakIsQ0FBQyxDQUFDO1FBckRBLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxTQUFTO1FBQ1gsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLFlBQVksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEtBQUssY0FBYyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFO1lBQ2hJLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQztTQUM1RztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxPQUFPO1FBQ1QsSUFBSSxJQUFJLENBQUMsY0FBYyxLQUFLLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEtBQUssWUFBWSxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFFO1lBQ2hJLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO1FBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEtBQUssSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsQ0FBQztTQUMxRztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDaEYsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxjQUFjO1FBQ2hCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM3QixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsMEJBQTBCLENBQUMsQ0FBQztTQUMvRDtRQUVELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQy9ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sRUFBRTtZQUM1QixJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBRSxJQUFJLENBQUMsVUFBVSxDQUFDLE9BQXVCLENBQUMsU0FBUyxDQUFDLENBQUM7U0FDaEY7SUFDSCxDQUFDO0lBUUQsZ0JBQWdCLENBQUMsRUFBTztRQUN0QixJQUFJLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ2xDLElBQUksVUFBVSxFQUFFO1lBQ2QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVE7UUFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDbkQsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDekIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsU0FBUztRQUNQLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUU7WUFDNUIsTUFBTSxTQUFTLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUM7WUFDMUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsT0FBTyxFQUFFO2dCQUM5QyxJQUFJLFNBQVMsQ0FBQyxPQUFPLEVBQUU7b0JBQ3JCLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxFQUFFLENBQUM7aUJBQzlCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxPQUFPLENBQUMsZUFBZSxFQUFFLENBQUM7aUJBQ2hDO2FBQ0Y7WUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxLQUFLLFNBQVMsQ0FBQyxRQUFRLEVBQUU7Z0JBQ2hELElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRTtvQkFDdEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQztpQkFDL0I7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLEVBQUUsQ0FBQztpQkFDNUI7YUFDRjtTQUNGO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDO0lBQzFDLENBQUM7SUFFRDs7OztPQUlHO0lBQ08sYUFBYSxDQUFDLFVBQXVDO1FBQzdELElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzlCLFVBQVUsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1NBQzNCO1FBRUQsVUFBVSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsRUFBRTtZQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLEVBQUU7Z0JBQ3pDLElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ3ZDO1lBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsRUFBRTtnQkFDaEYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2FBQ2xEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQ7Ozs7Ozs7T0FPRztJQUNJLFFBQVEsQ0FBQyxTQUFpQixFQUFFLElBQXNDO1FBQ3ZFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNsRDtRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ2hELENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ksUUFBUSxDQUFDLFNBQWlCLEVBQUUsSUFBc0M7UUFDdkUsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQ2xEO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDaEQsQ0FBQzs4R0FoTW1CLHVCQUF1QjtrR0FBdkIsdUJBQXVCLCtKQUR0QixFQUFFOzsyRkFDSCx1QkFBdUI7a0JBRDVDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzswQkFnQ3RCLElBQUk7OzBCQUFJLFFBQVE7NENBMUJWLEtBQUs7c0JBQWIsS0FBSztnQkFVRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtPLFFBQVE7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgRm9ybUNvbnRyb2wsIE5nQ29udHJvbCwgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIERvQ2hlY2ssIElucHV0LCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdEFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi9hYnN0cmFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBpc0ZhbHNlQm9vbGVhbklucHV0LCBpc1RydWVCb29sZWFuSW5wdXQgfSBmcm9tICcuLi91dGlscy9ib29sZWFuLWlucHV0JztcbmltcG9ydCB7IE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEl0QWJzdHJhY3RGb3JtQ29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgSXRBYnN0cmFjdENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3IsIERvQ2hlY2sge1xuXG4gIC8qKlxuICAgKiBUaGUgbGFiZWwgb2YgZm9ybSBjb250cm9sXG4gICAqL1xuICBASW5wdXQoKSBsYWJlbD86IHN0cmluZztcblxuICAvKipcbiAgICogVmFsaWRhdGlvbiBjb2xvciBkaXNwbGF5IG1vZGUgKHZhbGlkYXRpb24gdHJpZ2dlcmVkIGlmIGZpZWxkIGlzIHRvdWNoZWQgb3Igbm90IHByaXN0aW5lKVxuICAgKiAtIDxiPnRydWU8L2I+OiBBbHdheXMgc2hvdyB0aGUgdmFsaWRhdGlvbiBjb2xvclxuICAgKiAtIDxiPmZhbHNlPC9iPjogTmV2ZXIgc2hvdyB2YWxpZGF0aW9uIGNvbG9yXG4gICAqIC0gPGI+b25seS12YWxpZDwvYj46IFNob3cgb25seSB2YWxpZCB2YWxpZGF0aW9uIGNvbG9yXG4gICAqIC0gPGI+b25seS1pbnZhbGlkPC9iPjogU2hvdyBvbmx5IGludmFsaWQgdmFsaWRhdGlvbiBjb2xvclxuICAgKiBAZGVmYXVsdCA8Yj5vbmx5LWludmFsaWQ8L2I+OiBTaG93IG9ubHkgaW52YWxpZCB2YWxpZGF0aW9uIGNvbG9yXG4gICAqL1xuICBASW5wdXQoKSB2YWxpZGF0aW9uTW9kZTogQm9vbGVhbklucHV0IHwgJ29ubHktdmFsaWQnIHwgJ29ubHktaW52YWxpZCcgPSAnb25seS1pbnZhbGlkJztcblxuICAvKipcbiAgICogU2V0IHRoZSBkaXNhYmxlZCBzdGF0ZVxuICAgKi9cbiAgQElucHV0KCkgc2V0IGRpc2FibGVkKGlzRGlzYWJsZWQ6IEJvb2xlYW5JbnB1dCkge1xuICAgIHRoaXMuc2V0RGlzYWJsZWRTdGF0ZShpc1RydWVCb29sZWFuSW5wdXQoaXNEaXNhYmxlZCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEludGVybmFsIGZvcm0gY29udHJvbFxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnRyb2w6IEZvcm1Db250cm9sO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCByZWFkb25seSBfdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcbiAgICBAU2VsZigpIEBPcHRpb25hbCgpIHByb3RlY3RlZCByZWFkb25seSBfbmdDb250cm9sOiBOZ0NvbnRyb2xcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmNvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2woKTtcbiAgICB0aGlzLl9uZ0NvbnRyb2wgJiYgKHRoaXMuX25nQ29udHJvbC52YWx1ZUFjY2Vzc29yID0gdGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgZmllbGQgaXMgaW52YWxpZCAoVmFsaWRhdGlvbiBmYWlsZWQpXG4gICAqL1xuICBnZXQgaXNJbnZhbGlkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnZhbGlkYXRpb25Nb2RlID09PSAnb25seS12YWxpZCcgfHwgKHRoaXMudmFsaWRhdGlvbk1vZGUgIT09ICdvbmx5LWludmFsaWQnICYmIGlzRmFsc2VCb29sZWFuSW5wdXQodGhpcy52YWxpZGF0aW9uTW9kZSkpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9uZ0NvbnRyb2wpIHtcbiAgICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wuaW52YWxpZCA9PT0gdHJ1ZSAmJiAoIXRoaXMuX25nQ29udHJvbC5wcmlzdGluZSB8fCB0aGlzLl9uZ0NvbnRyb2wudG91Y2hlZCA9PT0gdHJ1ZSk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuaW52YWxpZCAmJiAoIXRoaXMuY29udHJvbC5wcmlzdGluZSB8fCB0aGlzLmNvbnRyb2wudG91Y2hlZCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2sgaWYgZmllbGQgaXMgdmFsaWQgKFZhbGlkYXRpb24gc3VjY2Vzc2Z1bClcbiAgICovXG4gIGdldCBpc1ZhbGlkKCk6IGJvb2xlYW4gfCB1bmRlZmluZWQge1xuICAgIGlmICh0aGlzLnZhbGlkYXRpb25Nb2RlID09PSAnb25seS1pbnZhbGlkJyB8fCAodGhpcy52YWxpZGF0aW9uTW9kZSAhPT0gJ29ubHktdmFsaWQnICYmIGlzRmFsc2VCb29sZWFuSW5wdXQodGhpcy52YWxpZGF0aW9uTW9kZSkpKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLl9uZ0NvbnRyb2wpIHtcbiAgICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wudmFsaWQgPT09IHRydWUgJiYgKCF0aGlzLl9uZ0NvbnRyb2wucHJpc3RpbmUgfHwgdGhpcy5fbmdDb250cm9sLnRvdWNoZWQgPT09IHRydWUpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jb250cm9sLnZhbGlkICYmICghdGhpcy5jb250cm9sLnByaXN0aW5lIHx8IHRoaXMuY29udHJvbC50b3VjaGVkKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm4gdGhlIGludmFsaWQgbWVzc2FnZSBzdHJpbmcgZnJvbSBUcmFuc2xhdGVTZXJ2aWNlXG4gICAqL1xuICBnZXQgaW52YWxpZE1lc3NhZ2UoKTogT2JzZXJ2YWJsZTxzdHJpbmc+IHtcbiAgICBpZiAodGhpcy5oYXNFcnJvcigncmVxdWlyZWQnKSkge1xuICAgICAgcmV0dXJuIHRoaXMuX3RyYW5zbGF0ZVNlcnZpY2UuZ2V0KCdpdC5lcnJvcnMucmVxdWlyZWQtZmllbGQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fdHJhbnNsYXRlU2VydmljZS5nZXQoJ2l0LmVycm9ycy5pbnZhbGlkLWZpZWxkJyk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbmdDb250cm9sPy5jb250cm9sKSB7XG4gICAgICB0aGlzLmNvbnRyb2wuc2V0VmFsaWRhdG9ycygodGhpcy5fbmdDb250cm9sLmNvbnRyb2wgYXMgRm9ybUNvbnRyb2wpLnZhbGlkYXRvcik7XG4gICAgfVxuICB9XG5cbiAgb25DaGFuZ2UgPSAoXzogVCkgPT4ge1xuICB9O1xuXG4gIG9uVG91Y2hlZCA9ICgpID0+IHtcbiAgfTtcblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2wudmFsdWVDaGFuZ2VzLnN1YnNjcmliZShmbik7XG4gICAgdGhpcy5vbkNoYW5nZSA9IGZuO1xuICB9XG5cbiAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25Ub3VjaGVkID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgcmV0dXJuIHRoaXMuY29udHJvbC5kaXNhYmxlKCk7XG4gICAgfVxuICAgIHRoaXMuY29udHJvbC5lbmFibGUoKTtcbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IFQpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRyb2wuc2V0VmFsdWUodmFsdWUsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KTtcbiAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogTWFyayB0aGUgY29udHJvbCBhcyB0b3VjaGVkXG4gICAqL1xuICBtYXJrQXNUb3VjaGVkKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb250cm9sLnRvdWNoZWQpIHtcbiAgICAgIHRoaXMub25Ub3VjaGVkKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpcmVkIHRvIGNoZWNrIGlmIGZvcm0gY29udHJvbCBpcyB0b3VjaGVkXG4gICAqL1xuICBuZ0RvQ2hlY2soKSB7XG4gICAgaWYgKHRoaXMuX25nQ29udHJvbD8uY29udHJvbCkge1xuICAgICAgY29uc3QgbmdDb250cm9sID0gdGhpcy5fbmdDb250cm9sLmNvbnRyb2w7XG4gICAgICBpZiAodGhpcy5jb250cm9sLnRvdWNoZWQgIT09IG5nQ29udHJvbC50b3VjaGVkKSB7XG4gICAgICAgIGlmIChuZ0NvbnRyb2wudG91Y2hlZCkge1xuICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNUb3VjaGVkKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5jb250cm9sLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBpZiAodGhpcy5jb250cm9sLnByaXN0aW5lICE9PSBuZ0NvbnRyb2wucHJpc3RpbmUpIHtcbiAgICAgICAgaWYgKG5nQ29udHJvbC5wcmlzdGluZSkge1xuICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuY29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgdGhlIHZhbGlkYXRvcnMgaW4gY29udHJvbCBhbmQgcGFyZW50IGNvbnRyb2xcbiAgICogQHBhcmFtIHZhbGlkYXRvcnMgdGhlIHZhbGlkYXRvcnNcbiAgICogQHByb3RlY3RlZFxuICAgKi9cbiAgcHJvdGVjdGVkIGFkZFZhbGlkYXRvcnModmFsaWRhdG9yczogVmFsaWRhdG9yRm4gfCBWYWxpZGF0b3JGbltdKTogdm9pZCB7XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KHZhbGlkYXRvcnMpKSB7XG4gICAgICB2YWxpZGF0b3JzID0gW3ZhbGlkYXRvcnNdO1xuICAgIH1cblxuICAgIHZhbGlkYXRvcnMuZm9yRWFjaCh2YWxpZGF0b3IgPT4ge1xuICAgICAgaWYgKCF0aGlzLmNvbnRyb2wuaGFzVmFsaWRhdG9yKHZhbGlkYXRvcikpIHtcbiAgICAgICAgdGhpcy5jb250cm9sLmFkZFZhbGlkYXRvcnModmFsaWRhdG9yKTtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX25nQ29udHJvbD8uY29udHJvbCAmJiAhdGhpcy5fbmdDb250cm9sLmNvbnRyb2wuaGFzVmFsaWRhdG9yKHZhbGlkYXRvcikpIHtcbiAgICAgICAgdGhpcy5fbmdDb250cm9sLmNvbnRyb2wuYWRkVmFsaWRhdG9ycyh2YWxpZGF0b3IpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcG9ydHMgd2hldGhlciB0aGUgY29udHJvbCB3aXRoIHRoZSBnaXZlbiBwYXRoIGhhcyB0aGUgZXJyb3Igc3BlY2lmaWVkLiA8YnIvPlxuICAgKiBJZiB0aGUgY29udHJvbCBpcyBub3QgcHJlc2VudCwgZmFsc2UgaXMgcmV0dXJuZWQuXG4gICAqIEBwYXJhbSBlcnJvckNvZGUgVGhlIGNvZGUgb2YgdGhlIGVycm9yIHRvIGNoZWNrXG4gICAqIEBwYXJhbSBwYXRoIEEgbGlzdCBvZiBjb250cm9sIG5hbWVzIHRoYXQgZGVzaWduYXRlcyBob3cgdG8gbW92ZSBmcm9tIHRoZSBjdXJyZW50IGNvbnRyb2xcbiAgICogdG8gdGhlIGNvbnRyb2wgdGhhdCBzaG91bGQgYmUgcXVlcmllZCBmb3IgZXJyb3JzLlxuICAgKiBAcmV0dXJucyB3aGV0aGVyIHRoZSBnaXZlbiBlcnJvciBpcyBwcmVzZW50IGluIHRoZSBjb250cm9sIGF0IHRoZSBnaXZlbiBwYXRoLlxuICAgKi9cbiAgcHVibGljIGhhc0Vycm9yKGVycm9yQ29kZTogc3RyaW5nLCBwYXRoPzogQXJyYXk8c3RyaW5nIHwgbnVtYmVyPiB8IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgIGlmICh0aGlzLl9uZ0NvbnRyb2wpIHtcbiAgICAgIHJldHVybiB0aGlzLl9uZ0NvbnRyb2wuaGFzRXJyb3IoZXJyb3JDb2RlLCBwYXRoKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY29udHJvbC5oYXNFcnJvcihlcnJvckNvZGUsIHBhdGgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcG9ydHMgZXJyb3IgZGF0YSBmb3IgdGhlIGNvbnRyb2wgd2l0aCB0aGUgZ2l2ZW4gcGF0aC5cbiAgICogQHBhcmFtIGVycm9yQ29kZSBUaGUgY29kZSBvZiB0aGUgZXJyb3IgdG8gY2hlY2tcbiAgICogQHBhcmFtIHBhdGggQSBsaXN0IG9mIGNvbnRyb2wgbmFtZXMgdGhhdCBkZXNpZ25hdGVzIGhvdyB0byBtb3ZlIGZyb20gdGhlIGN1cnJlbnQgY29udHJvbFxuICAgKiB0byB0aGUgY29udHJvbCB0aGF0IHNob3VsZCBiZSBxdWVyaWVkIGZvciBlcnJvcnMuXG4gICAqIEByZXR1cm5zIGVycm9yIGRhdGEgZm9yIHRoYXQgcGFydGljdWxhciBlcnJvci4gSWYgdGhlIGNvbnRyb2wgb3IgZXJyb3IgaXMgbm90IHByZXNlbnQsXG4gICAqIG51bGwgaXMgcmV0dXJuZWQuXG4gICAqL1xuICBwdWJsaWMgZ2V0RXJyb3IoZXJyb3JDb2RlOiBzdHJpbmcsIHBhdGg/OiBBcnJheTxzdHJpbmcgfCBudW1iZXI+IHwgc3RyaW5nKTogYW55IHtcbiAgICBpZiAodGhpcy5fbmdDb250cm9sKSB7XG4gICAgICByZXR1cm4gdGhpcy5fbmdDb250cm9sLmdldEVycm9yKGVycm9yQ29kZSwgcGF0aCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmNvbnRyb2wuZ2V0RXJyb3IoZXJyb3JDb2RlLCBwYXRoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { ChangeDetectorRef, Component, ElementRef, EventEmitter, inject, Input, Output, Renderer2 } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ItAbstractComponent {
|
|
4
|
+
/**
|
|
5
|
+
* Counter of active instances
|
|
6
|
+
* @private
|
|
7
|
+
*/
|
|
8
|
+
static { this.instances = 0; }
|
|
9
|
+
constructor() {
|
|
10
|
+
/**
|
|
11
|
+
* The element ID
|
|
12
|
+
*/
|
|
13
|
+
this.id = this.getDefaultId();
|
|
14
|
+
this._renderer = inject(Renderer2);
|
|
15
|
+
this._elementRef = inject(ElementRef);
|
|
16
|
+
this._changeDetectorRef = inject(ChangeDetectorRef);
|
|
17
|
+
this.valueChanges = new EventEmitter();
|
|
18
|
+
}
|
|
19
|
+
ngAfterViewInit() {
|
|
20
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'id');
|
|
21
|
+
}
|
|
22
|
+
ngOnChanges(changes) {
|
|
23
|
+
this.valueChanges.next(); // The inputs were changed
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Generate unique id for components
|
|
27
|
+
* @private
|
|
28
|
+
*/
|
|
29
|
+
getDefaultId() {
|
|
30
|
+
const name = this.constructor.name.replace('Component', '');
|
|
31
|
+
const kebabName = name.replace(/[A-Z]+(?![a-z])|[A-Z]/g, ($, ofs) => (ofs ? '-' : '') + $.toLowerCase());
|
|
32
|
+
return `${kebabName}-${ItAbstractComponent.instances++}`;
|
|
33
|
+
}
|
|
34
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItAbstractComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: ItAbstractComponent, selector: "ng-component", inputs: { id: "id" }, outputs: { valueChanges: "valueChanges" }, usesOnChanges: true, ngImport: i0, template: '', isInline: true }); }
|
|
36
|
+
}
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItAbstractComponent, decorators: [{
|
|
38
|
+
type: Component,
|
|
39
|
+
args: [{ template: '' }]
|
|
40
|
+
}], ctorParameters: function () { return []; }, propDecorators: { id: [{
|
|
41
|
+
type: Input
|
|
42
|
+
}], valueChanges: [{
|
|
43
|
+
type: Output
|
|
44
|
+
}] } });
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWJzdHJhY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvYWJzdHJhY3RzL2Fic3RyYWN0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQzs7QUFHdkIsTUFBTSxPQUFnQixtQkFBbUI7SUFZdkM7OztPQUdHO2FBQ1ksY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBTzdCO1FBckJBOztXQUVHO1FBQ00sT0FBRSxHQUFXLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQW1CeEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDbkMsSUFBSSxDQUFDLFdBQVcsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBRXBELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztJQUMvQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLDBCQUEwQjtJQUN0RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssWUFBWTtRQUNsQixNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUN6RyxPQUFPLEdBQUcsU0FBUyxJQUFJLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7SUFDM0QsQ0FBQzs4R0EvQ21CLG1CQUFtQjtrR0FBbkIsbUJBQW1CLDBJQURsQixFQUFFOzsyRkFDSCxtQkFBbUI7a0JBRHhDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzBFQU1oQixFQUFFO3NCQUFWLEtBQUs7Z0JBS1csWUFBWTtzQkFBNUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgaW5qZWN0LFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuXG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCBJRFxuICAgKi9cbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9IHRoaXMuZ2V0RGVmYXVsdElkKCk7XG5cbiAgLyoqXG4gICAqIEZpcmVkIHdoZW4gY29tcG9uZW50IGlucHV0IGF0dHJpYnV0ZXMgd2FzIGNoYW5nZWRcbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgdmFsdWVDaGFuZ2VzOiBFdmVudEVtaXR0ZXI8dm9pZD47XG5cbiAgLyoqXG4gICAqIENvdW50ZXIgb2YgYWN0aXZlIGluc3RhbmNlc1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBzdGF0aWMgaW5zdGFuY2VzID0gMDtcblxuXG4gIHByb3RlY3RlZCByZWFkb25seSBfcmVuZGVyZXI6IFJlbmRlcmVyMjsgLy8gSW5qZWN0ZWRcbiAgcHJvdGVjdGVkIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmOyAvLyBJbmplY3RlZFxuICBwcm90ZWN0ZWQgcmVhZG9ubHkgX2NoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZjsgLy8gSW5qZWN0ZWRcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLl9yZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICAgIHRoaXMuX2VsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgdGhpcy52YWx1ZUNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2lkJyk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZUNoYW5nZXMubmV4dCgpOyAvLyBUaGUgaW5wdXRzIHdlcmUgY2hhbmdlZFxuICB9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlIHVuaXF1ZSBpZCBmb3IgY29tcG9uZW50c1xuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXREZWZhdWx0SWQoKTogc3RyaW5nIHtcbiAgICBjb25zdCBuYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLnJlcGxhY2UoJ0NvbXBvbmVudCcsICcnKTtcbiAgICBjb25zdCBrZWJhYk5hbWUgPSBuYW1lLnJlcGxhY2UoL1tBLVpdKyg/IVthLXpdKXxbQS1aXS9nLCAoJCwgb2ZzKSA9PiAob2ZzID8gJy0nIDogJycpICsgJC50b0xvd2VyQ2FzZSgpKTtcbiAgICByZXR1cm4gYCR7a2ViYWJOYW1lfS0ke0l0QWJzdHJhY3RDb21wb25lbnQuaW5zdGFuY2VzKyt9YDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ItAccordionComponent } from './core/accordion/accordion.component';
|
|
3
|
+
import { ItAlertComponent } from './core/alert/alert.component';
|
|
4
|
+
import { ItBadgeDirective } from './core/badge/badge.directive';
|
|
5
|
+
import { ItButtonDirective } from './core/button/button.directive';
|
|
6
|
+
import { ItCalloutComponent } from './core/callout/callout.component';
|
|
7
|
+
import { ItCardComponent } from './core/card/card.component';
|
|
8
|
+
import { ItCarouselModule } from './core/carousel/carousel.module';
|
|
9
|
+
import { ItCollapseComponent } from './core/collapse/collapse.component';
|
|
10
|
+
import { ItDimmerModule } from './core/dimmer/dimmer.module';
|
|
11
|
+
import { ItDropdownModule } from './core/dropdown/dropdown.module';
|
|
12
|
+
import { ItLinkComponent } from './core/link/link.component';
|
|
13
|
+
import { ItListModule } from './core/list/list.module';
|
|
14
|
+
import { ItModalComponent } from './core/modal/modal.component';
|
|
15
|
+
import { ItNotificationsComponent } from './core/notifications/notifications.component';
|
|
16
|
+
import { ItPaginationComponent } from './core/pagination/pagination.component';
|
|
17
|
+
import { ItPopoverDirective } from './core/popover/popover.directive';
|
|
18
|
+
import { ItProgressBarComponent } from './core/progress-bar/progress-bar.component';
|
|
19
|
+
import { ItProgressButtonComponent } from './core/progress-button/progress-button.component';
|
|
20
|
+
import { ItSpinnerComponent } from './core/spinner/spinner.component';
|
|
21
|
+
import { ItSteppersModule } from './core/steppers/steppers.module';
|
|
22
|
+
import { ItTabModule } from './core/tab/tab.module';
|
|
23
|
+
import { ItTableComponent } from './core/table/table.component';
|
|
24
|
+
import { ItTooltipDirective } from './core/tooltip/tooltip.directive';
|
|
25
|
+
import { ItFormModule } from './form/form.module';
|
|
26
|
+
import { ItBackButtonComponent } from './navigation/back-button/back-button.component';
|
|
27
|
+
import { ItBackToTopComponent } from './navigation/back-to-top/back-to-top.component';
|
|
28
|
+
import { ItBreadcrumbsModule } from './navigation/breadcrumbs/breadcrumbs.module';
|
|
29
|
+
import { ItHeaderComponent } from './navigation/header/header.component';
|
|
30
|
+
import { ItIconComponent } from './utils/icon/icon.component';
|
|
31
|
+
import { ItLanguageSwitcherComponent } from './utils/language-switcher/language-switcher.component';
|
|
32
|
+
import { ItErrorPageComponent } from './utils/error-page/error-page.component';
|
|
33
|
+
import { ItChipComponent } from './core/chip/chip.component';
|
|
34
|
+
import { ItForwardDirective } from './core/forward/forward.directive';
|
|
35
|
+
import { MarkMatchingTextPipe } from '../pipes/mark-matching-text.pipe';
|
|
36
|
+
import * as i0 from "@angular/core";
|
|
37
|
+
/**
|
|
38
|
+
* Core components
|
|
39
|
+
*/
|
|
40
|
+
const core = [
|
|
41
|
+
ItAccordionComponent,
|
|
42
|
+
ItAlertComponent,
|
|
43
|
+
ItBadgeDirective,
|
|
44
|
+
ItButtonDirective,
|
|
45
|
+
ItCalloutComponent,
|
|
46
|
+
ItCardComponent,
|
|
47
|
+
ItCarouselModule,
|
|
48
|
+
ItChipComponent,
|
|
49
|
+
ItCollapseComponent,
|
|
50
|
+
ItDimmerModule,
|
|
51
|
+
ItDropdownModule,
|
|
52
|
+
ItForwardDirective,
|
|
53
|
+
ItLinkComponent,
|
|
54
|
+
ItListModule,
|
|
55
|
+
ItModalComponent,
|
|
56
|
+
ItNotificationsComponent,
|
|
57
|
+
ItPaginationComponent,
|
|
58
|
+
ItPopoverDirective,
|
|
59
|
+
ItProgressBarComponent,
|
|
60
|
+
ItProgressButtonComponent,
|
|
61
|
+
ItSpinnerComponent,
|
|
62
|
+
ItSteppersModule,
|
|
63
|
+
ItTabModule,
|
|
64
|
+
ItTableComponent,
|
|
65
|
+
ItTooltipDirective
|
|
66
|
+
];
|
|
67
|
+
/**
|
|
68
|
+
* Navigation Components
|
|
69
|
+
*/
|
|
70
|
+
const navigation = [
|
|
71
|
+
ItBackButtonComponent,
|
|
72
|
+
ItBackToTopComponent,
|
|
73
|
+
ItBreadcrumbsModule,
|
|
74
|
+
ItHeaderComponent
|
|
75
|
+
];
|
|
76
|
+
/**
|
|
77
|
+
* Utils components
|
|
78
|
+
*/
|
|
79
|
+
const utils = [
|
|
80
|
+
ItErrorPageComponent,
|
|
81
|
+
ItIconComponent,
|
|
82
|
+
ItLanguageSwitcherComponent,
|
|
83
|
+
MarkMatchingTextPipe
|
|
84
|
+
];
|
|
85
|
+
export class ItComponentsModule {
|
|
86
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
87
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.1.3", ngImport: i0, type: ItComponentsModule, imports: [ItAccordionComponent,
|
|
88
|
+
ItAlertComponent,
|
|
89
|
+
ItBadgeDirective,
|
|
90
|
+
ItButtonDirective,
|
|
91
|
+
ItCalloutComponent,
|
|
92
|
+
ItCardComponent,
|
|
93
|
+
ItCarouselModule,
|
|
94
|
+
ItChipComponent,
|
|
95
|
+
ItCollapseComponent,
|
|
96
|
+
ItDimmerModule,
|
|
97
|
+
ItDropdownModule,
|
|
98
|
+
ItForwardDirective,
|
|
99
|
+
ItLinkComponent,
|
|
100
|
+
ItListModule,
|
|
101
|
+
ItModalComponent,
|
|
102
|
+
ItNotificationsComponent,
|
|
103
|
+
ItPaginationComponent,
|
|
104
|
+
ItPopoverDirective,
|
|
105
|
+
ItProgressBarComponent,
|
|
106
|
+
ItProgressButtonComponent,
|
|
107
|
+
ItSpinnerComponent,
|
|
108
|
+
ItSteppersModule,
|
|
109
|
+
ItTabModule,
|
|
110
|
+
ItTableComponent,
|
|
111
|
+
ItTooltipDirective, ItFormModule, ItBackButtonComponent,
|
|
112
|
+
ItBackToTopComponent,
|
|
113
|
+
ItBreadcrumbsModule,
|
|
114
|
+
ItHeaderComponent, ItErrorPageComponent,
|
|
115
|
+
ItIconComponent,
|
|
116
|
+
ItLanguageSwitcherComponent,
|
|
117
|
+
MarkMatchingTextPipe], exports: [ItAccordionComponent,
|
|
118
|
+
ItAlertComponent,
|
|
119
|
+
ItBadgeDirective,
|
|
120
|
+
ItButtonDirective,
|
|
121
|
+
ItCalloutComponent,
|
|
122
|
+
ItCardComponent,
|
|
123
|
+
ItCarouselModule,
|
|
124
|
+
ItChipComponent,
|
|
125
|
+
ItCollapseComponent,
|
|
126
|
+
ItDimmerModule,
|
|
127
|
+
ItDropdownModule,
|
|
128
|
+
ItForwardDirective,
|
|
129
|
+
ItLinkComponent,
|
|
130
|
+
ItListModule,
|
|
131
|
+
ItModalComponent,
|
|
132
|
+
ItNotificationsComponent,
|
|
133
|
+
ItPaginationComponent,
|
|
134
|
+
ItPopoverDirective,
|
|
135
|
+
ItProgressBarComponent,
|
|
136
|
+
ItProgressButtonComponent,
|
|
137
|
+
ItSpinnerComponent,
|
|
138
|
+
ItSteppersModule,
|
|
139
|
+
ItTabModule,
|
|
140
|
+
ItTableComponent,
|
|
141
|
+
ItTooltipDirective, ItFormModule, ItBackButtonComponent,
|
|
142
|
+
ItBackToTopComponent,
|
|
143
|
+
ItBreadcrumbsModule,
|
|
144
|
+
ItHeaderComponent, ItErrorPageComponent,
|
|
145
|
+
ItIconComponent,
|
|
146
|
+
ItLanguageSwitcherComponent,
|
|
147
|
+
MarkMatchingTextPipe] }); }
|
|
148
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItComponentsModule, imports: [ItAlertComponent,
|
|
149
|
+
ItCarouselModule,
|
|
150
|
+
ItChipComponent,
|
|
151
|
+
ItDimmerModule,
|
|
152
|
+
ItDropdownModule,
|
|
153
|
+
ItListModule,
|
|
154
|
+
ItModalComponent,
|
|
155
|
+
ItNotificationsComponent,
|
|
156
|
+
ItPaginationComponent,
|
|
157
|
+
ItProgressBarComponent,
|
|
158
|
+
ItProgressButtonComponent,
|
|
159
|
+
ItSpinnerComponent,
|
|
160
|
+
ItSteppersModule,
|
|
161
|
+
ItTabModule, ItFormModule, ItBackButtonComponent,
|
|
162
|
+
ItBreadcrumbsModule,
|
|
163
|
+
ItHeaderComponent, ItErrorPageComponent,
|
|
164
|
+
ItLanguageSwitcherComponent, ItCarouselModule,
|
|
165
|
+
ItDimmerModule,
|
|
166
|
+
ItDropdownModule,
|
|
167
|
+
ItListModule,
|
|
168
|
+
ItSteppersModule,
|
|
169
|
+
ItTabModule, ItFormModule, ItBreadcrumbsModule] }); }
|
|
170
|
+
}
|
|
171
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItComponentsModule, decorators: [{
|
|
172
|
+
type: NgModule,
|
|
173
|
+
args: [{
|
|
174
|
+
imports: [
|
|
175
|
+
...core,
|
|
176
|
+
ItFormModule,
|
|
177
|
+
...navigation,
|
|
178
|
+
...utils
|
|
179
|
+
],
|
|
180
|
+
exports: [
|
|
181
|
+
...core,
|
|
182
|
+
ItFormModule,
|
|
183
|
+
...navigation,
|
|
184
|
+
...utils
|
|
185
|
+
]
|
|
186
|
+
}]
|
|
187
|
+
}] });
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50cy5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvbXBvbmVudHMubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzdELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQy9FLE9BQU8sRUFB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QUFHLFVBQVU7d0JBQ2IsR0FBRyxLQUFLO3FCQUNUO29CQUNELE9BQU8sRUFBRTt3QkFDUCxHQUFHLElBQUk7d0JBQ1AsWUFBWTt3QkFDWixHQUFHLFVBQVU7d0JBQ2IsR0FBRyxLQUFLO3FCQUNUO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEl0QWNjb3JkaW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0QWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvYWxlcnQvYWxlcnQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0QmFkZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2NvcmUvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9jb3JlL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0Q2FsbG91dENvbXBvbmVudCB9IGZyb20gJy4vY29yZS9jYWxsb3V0L2NhbGxvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29yZS9jYXJkL2NhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0Q2Fyb3VzZWxNb2R1bGUgfSBmcm9tICcuL2NvcmUvY2Fyb3VzZWwvY2Fyb3VzZWwubW9kdWxlJztcbmltcG9ydCB7IEl0Q29sbGFwc2VDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvY29sbGFwc2UvY29sbGFwc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEl0RGltbWVyTW9kdWxlIH0gZnJvbSAnLi9jb3JlL2RpbW1lci9kaW1tZXIubW9kdWxlJztcbmltcG9ydCB7IEl0RHJvcGRvd25Nb2R1bGUgfSBmcm9tICcuL2NvcmUvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJztcbmltcG9ydCB7IEl0TGlua0NvbXBvbmVudCB9IGZyb20gJy4vY29yZS9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IEl0TGlzdE1vZHVsZSB9IGZyb20gJy4vY29yZS9saXN0L2xpc3QubW9kdWxlJztcbmltcG9ydCB7IEl0TW9kYWxDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEl0Tm90aWZpY2F0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29yZS9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29yZS9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0UG9wb3ZlckRpcmVjdGl2ZSB9IGZyb20gJy4vY29yZS9wb3BvdmVyL3BvcG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0UHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRQcm9ncmVzc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29yZS9wcm9ncmVzcy1idXR0b24vcHJvZ3Jlc3MtYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2NvcmUvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFN0ZXBwZXJzTW9kdWxlIH0gZnJvbSAnLi9jb3JlL3N0ZXBwZXJzL3N0ZXBwZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBJdFRhYk1vZHVsZSB9IGZyb20gJy4vY29yZS90YWIvdGFiLm1vZHVsZSc7XG5pbXBvcnQgeyBJdFRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9jb3JlL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFRvb2x0aXBEaXJlY3RpdmUgfSBmcm9tICcuL2NvcmUvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdEZvcm1Nb2R1bGUgfSBmcm9tICcuL2Zvcm0vZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgSXRCYWNrQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9uYXZpZ2F0aW9uL2JhY2stYnV0dG9uL2JhY2stYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEJhY2tUb1RvcENvbXBvbmVudCB9IGZyb20gJy4vbmF2aWdhdGlvbi9iYWNrLXRvLXRvcC9iYWNrLXRvLXRvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJy4vbmF2aWdhdGlvbi9icmVhZGNydW1icy9icmVhZGNydW1icy5tb2R1bGUnO1xuaW1wb3J0IHsgSXRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL25hdmlnYXRpb24vaGVhZGVyL2hlYWRlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi91dGlscy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0TGFuZ3VhZ2VTd2l0Y2hlckNvbXBvbmVudCB9IGZyb20gJy4vdXRpbHMvbGFuZ3VhZ2Utc3dpdGNoZXIvbGFuZ3VhZ2Utc3dpdGNoZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEl0RXJyb3JQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi91dGlscy9lcnJvci1wYWdlL2Vycm9yLXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEl0Q2hpcENvbXBvbmVudCB9IGZyb20gJy4vY29yZS9jaGlwL2NoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IEl0Rm9yd2FyZERpcmVjdGl2ZSB9IGZyb20gJy4vY29yZS9mb3J3YXJkL2ZvcndhcmQuZGlyZWN0aXZlJztcbmltcG9ydCB7IE1hcmtNYXRjaGluZ1RleHRQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbWFyay1tYXRjaGluZy10ZXh0LnBpcGUnO1xuXG5cbi8qKlxuICogQ29yZSBjb21wb25lbnRzXG4gKi9cbmNvbnN0IGNvcmUgPSBbXG4gIEl0QWNjb3JkaW9uQ29tcG9uZW50LFxuICBJdEFsZXJ0Q29tcG9uZW50LFxuICBJdEJhZGdlRGlyZWN0aXZlLFxuICBJdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgSXRDYWxsb3V0Q29tcG9uZW50LFxuICBJdENhcmRDb21wb25lbnQsXG4gIEl0Q2Fyb3VzZWxNb2R1bGUsXG4gIEl0Q2hpcENvbXBvbmVudCxcbiAgSXRDb2xsYXBzZUNvbXBvbmVudCxcbiAgSXREaW1tZXJNb2R1bGUsXG4gIEl0RHJvcGRvd25Nb2R1bGUsXG4gIEl0Rm9yd2FyZERpcmVjdGl2ZSxcbiAgSXRMaW5rQ29tcG9uZW50LFxuICBJdExpc3RNb2R1bGUsXG4gIEl0TW9kYWxDb21wb25lbnQsXG4gIEl0Tm90aWZpY2F0aW9uc0NvbXBvbmVudCxcbiAgSXRQYWdpbmF0aW9uQ29tcG9uZW50LFxuICBJdFBvcG92ZXJEaXJlY3RpdmUsXG4gIEl0UHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gIEl0UHJvZ3Jlc3NCdXR0b25Db21wb25lbnQsXG4gIEl0U3Bpbm5lckNvbXBvbmVudCxcbiAgSXRTdGVwcGVyc01vZHVsZSxcbiAgSXRUYWJNb2R1bGUsXG4gIEl0VGFibGVDb21wb25lbnQsXG4gIEl0VG9vbHRpcERpcmVjdGl2ZVxuXTtcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIENvbXBvbmVudHNcbiAqL1xuY29uc3QgbmF2aWdhdGlvbiA9IFtcbiAgSXRCYWNrQnV0dG9uQ29tcG9uZW50LFxuICBJdEJhY2tUb1RvcENvbXBvbmVudCxcbiAgSXRCcmVhZGNydW1ic01vZHVsZSxcbiAgSXRIZWFkZXJDb21wb25lbnRcbl07XG5cbi8qKlxuICogVXRpbHMgY29tcG9uZW50c1xuICovXG5jb25zdCB1dGlscyA9IFtcbiAgSXRFcnJvclBhZ2VDb21wb25lbnQsXG4gIEl0SWNvbkNvbXBvbmVudCxcbiAgSXRMYW5ndWFnZVN3aXRjaGVyQ29tcG9uZW50LFxuICBNYXJrTWF0Y2hpbmdUZXh0UGlwZVxuXTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIC4uLmNvcmUsXG4gICAgSXRGb3JtTW9kdWxlLCAvLyBGb3JtIGNvbXBvbmVudHNcbiAgICAuLi5uYXZpZ2F0aW9uLFxuICAgIC4uLnV0aWxzXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICAuLi5jb3JlLFxuICAgIEl0Rm9ybU1vZHVsZSwgLy8gRm9ybSBjb21wb25lbnRzXG4gICAgLi4ubmF2aWdhdGlvbixcbiAgICAuLi51dGlsc1xuICBdXG59KVxuZXhwb3J0IGNsYXNzIEl0Q29tcG9uZW50c01vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild } from '@angular/core';
|
|
2
|
+
import { ItCollapseComponent } from '../collapse/collapse.component';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* Accordion
|
|
6
|
+
* @description Build vertically collapsible accordions based on Collapse.
|
|
7
|
+
*/
|
|
8
|
+
export class ItAccordionComponent extends ItCollapseComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
this.isCollapsed = true;
|
|
12
|
+
}
|
|
13
|
+
ngAfterViewInit() {
|
|
14
|
+
super.ngAfterViewInit();
|
|
15
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
|
|
16
|
+
this.isCollapsed = !this.isOpenedOnStart;
|
|
17
|
+
this.hideEvent.subscribe(() => {
|
|
18
|
+
this.isCollapsed = true;
|
|
19
|
+
this._changeDetectorRef.detectChanges();
|
|
20
|
+
});
|
|
21
|
+
this.showEvent.subscribe(() => {
|
|
22
|
+
this.isCollapsed = false;
|
|
23
|
+
this._changeDetectorRef.detectChanges();
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItAccordionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
27
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.3", type: ItAccordionComponent, isStandalone: true, selector: "it-accordion[title]", inputs: { title: "title" }, viewQueries: [{ propertyName: "collapseDiv", first: true, predicate: ["collapse"], descendants: true }], exportAs: ["itAccordion"], usesInheritance: true, ngImport: i0, template: "<div class=\"accordion\">\n <div class=\"accordion-item\">\n\n <h2 class=\"accordion-header\" id=\"collapse-{{id}}-heading\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [class.collapsed]=\"isCollapsed\"\n [attr.data-bs-target]=\"'#collapse-' + id\"\n [attr.aria-controls]=\"'collapse-' + id\"\n [attr.aria-expanded]=\"isOpenedOnStart ? 'true' : 'false'\">\n {{title}}\n </button>\n </h2>\n\n <div #collapse id=\"collapse-{{id}}\" role=\"region\"\n class=\"accordion-collapse collapse {{class}}\"\n [attr.aria-labelledby]=\"'collapse-' + id + '-heading'\">\n\n <div class=\"accordion-body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
28
|
+
}
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.3", ngImport: i0, type: ItAccordionComponent, decorators: [{
|
|
30
|
+
type: Component,
|
|
31
|
+
args: [{ standalone: true, selector: 'it-accordion[title]', exportAs: 'itAccordion', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<div class=\"accordion\">\n <div class=\"accordion-item\">\n\n <h2 class=\"accordion-header\" id=\"collapse-{{id}}-heading\">\n <button\n class=\"accordion-button\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [class.collapsed]=\"isCollapsed\"\n [attr.data-bs-target]=\"'#collapse-' + id\"\n [attr.aria-controls]=\"'collapse-' + id\"\n [attr.aria-expanded]=\"isOpenedOnStart ? 'true' : 'false'\">\n {{title}}\n </button>\n </h2>\n\n <div #collapse id=\"collapse-{{id}}\" role=\"region\"\n class=\"accordion-collapse collapse {{class}}\"\n [attr.aria-labelledby]=\"'collapse-' + id + '-heading'\">\n\n <div class=\"accordion-body\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n\n" }]
|
|
32
|
+
}], propDecorators: { title: [{
|
|
33
|
+
type: Input
|
|
34
|
+
}], collapseDiv: [{
|
|
35
|
+
type: ViewChild,
|
|
36
|
+
args: ['collapse']
|
|
37
|
+
}] } });
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9hY2NvcmRpb24vYWNjb3JkaW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDaEgsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7O0FBRXJFOzs7R0FHRztBQVNILE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFSN0Q7O1FBaUJZLGdCQUFXLEdBQVksSUFBSSxDQUFDO0tBaUJ2QztJQWZVLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBRXhFLElBQUksQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ3pDLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQztZQUN4QixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUM7WUFDekIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0F4QlUsb0JBQW9CO2tHQUFwQixvQkFBb0Isc1FDZmpDLGt6QkEyQkE7OzJGRFphLG9CQUFvQjtrQkFSaEMsU0FBUztpQ0FDSSxJQUFJLFlBQ04scUJBQXFCLFlBRXJCLGFBQWEsbUJBQ04sdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxFQUFFOzhCQU9GLEtBQUs7c0JBQWIsS0FBSztnQkFFb0MsV0FBVztzQkFBcEQsU0FBUzt1QkFBQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRDb2xsYXBzZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbGxhcHNlL2NvbGxhcHNlLmNvbXBvbmVudCc7XG5cbi8qKlxuICogQWNjb3JkaW9uXG4gKiBAZGVzY3JpcHRpb24gQnVpbGQgdmVydGljYWxseSBjb2xsYXBzaWJsZSBhY2NvcmRpb25zIGJhc2VkIG9uIENvbGxhcHNlLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1hY2NvcmRpb25bdGl0bGVdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2FjY29yZGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGV4cG9ydEFzOiAnaXRBY2NvcmRpb24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW11cbn0pXG5leHBvcnQgY2xhc3MgSXRBY2NvcmRpb25Db21wb25lbnQgZXh0ZW5kcyBJdENvbGxhcHNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG5cbiAgLyoqXG4gICAqIEFjY29yZGlvbiBUaXRsZVxuICAgKi9cbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XG5cbiAgQFZpZXdDaGlsZCgnY29sbGFwc2UnKSBwcm90ZWN0ZWQgb3ZlcnJpZGUgY29sbGFwc2VEaXY/OiBFbGVtZW50UmVmPEhUTUxEaXZFbGVtZW50PjtcblxuICBwcm90ZWN0ZWQgaXNDb2xsYXBzZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndGl0bGUnKTtcblxuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc09wZW5lZE9uU3RhcnQ7XG4gICAgdGhpcy5oaWRlRXZlbnQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuaXNDb2xsYXBzZWQgPSB0cnVlO1xuICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH0pO1xuICAgIHRoaXMuc2hvd0V2ZW50LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLmlzQ29sbGFwc2VkID0gZmFsc2U7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImFjY29yZGlvblwiPlxuICA8ZGl2IGNsYXNzPVwiYWNjb3JkaW9uLWl0ZW1cIj5cblxuICAgIDxoMiBjbGFzcz1cImFjY29yZGlvbi1oZWFkZXJcIiBpZD1cImNvbGxhcHNlLXt7aWR9fS1oZWFkaW5nXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiYWNjb3JkaW9uLWJ1dHRvblwiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBkYXRhLWJzLXRvZ2dsZT1cImNvbGxhcHNlXCJcbiAgICAgICAgW2NsYXNzLmNvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiXG4gICAgICAgIFthdHRyLmRhdGEtYnMtdGFyZ2V0XT1cIicjY29sbGFwc2UtJyArIGlkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCInY29sbGFwc2UtJyArIGlkXCJcbiAgICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJpc09wZW5lZE9uU3RhcnQgPyAndHJ1ZScgOiAnZmFsc2UnXCI+XG4gICAgICAgIHt7dGl0bGV9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9oMj5cblxuICAgIDxkaXYgI2NvbGxhcHNlIGlkPVwiY29sbGFwc2Ute3tpZH19XCIgcm9sZT1cInJlZ2lvblwiXG4gICAgICAgICBjbGFzcz1cImFjY29yZGlvbi1jb2xsYXBzZSBjb2xsYXBzZSB7e2NsYXNzfX1cIlxuICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cIidjb2xsYXBzZS0nICsgaWQgKyAnLWhlYWRpbmcnXCI+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY2NvcmRpb24tYm9keVwiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cblxuIl19
|