design-angular-kit 1.0.0-2 → 1.0.0-21
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 +102 -26
- package/assets/i18n/en.json +122 -0
- package/assets/i18n/it.json +52 -11
- 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 +192 -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 +47 -0
- package/esm2022/lib/design-angular-kit-config.mjs +15 -0
- package/esm2022/lib/design-angular-kit.module.mjs +68 -0
- package/esm2022/lib/interfaces/core.mjs +16 -0
- package/esm2022/lib/interfaces/design-angular-kit-init.mjs +2 -0
- package/esm2022/lib/interfaces/form.mjs +2 -0
- package/esm2022/lib/interfaces/icon.mjs +165 -0
- package/esm2022/lib/interfaces/utils.mjs +2 -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 +4649 -0
- package/fesm2022/design-angular-kit.mjs.map +1 -0
- package/lib/abstracts/{abstract-form-component.d.ts → abstract-form.component.d.ts} +12 -10
- package/lib/abstracts/abstract.component.d.ts +24 -8
- package/lib/components/components.module.d.ts +40 -0
- package/lib/components/core/accordion/accordion.component.d.ts +11 -9
- package/lib/components/core/alert/alert.component.d.ts +32 -5
- package/lib/components/core/badge/badge.directive.d.ts +12 -6
- package/lib/components/core/button/button.directive.d.ts +24 -17
- package/lib/components/core/callout/callout.component.d.ts +26 -17
- package/lib/components/core/card/card.component.d.ts +23 -13
- package/lib/components/core/carousel/carousel/carousel.component.d.ts +34 -15
- package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +8 -3
- package/lib/components/core/carousel/carousel.module.d.ts +8 -0
- package/lib/components/core/chip/chip.component.d.ts +8 -5
- package/lib/components/core/collapse/collapse.component.d.ts +16 -15
- 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 +53 -10
- package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +8 -13
- 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 -10
- package/lib/components/core/list/list/list.component.d.ts +6 -5
- package/lib/components/core/list/list-item/list-item.component.d.ts +12 -8
- package/lib/components/core/list/list.module.d.ts +8 -0
- package/lib/components/core/modal/modal.component.d.ts +83 -14
- package/lib/components/core/notifications/notifications.component.d.ts +25 -11
- package/lib/components/core/pagination/pagination.component.d.ts +71 -10
- package/lib/components/core/popover/popover.directive.d.ts +15 -14
- 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 +6 -6
- package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +128 -0
- package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +20 -0
- package/lib/components/core/steppers/steppers.module.d.ts +8 -0
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +14 -12
- package/lib/components/core/tab/tab-item/tab-item.component.d.ts +11 -11
- package/lib/components/core/tab/tab.module.d.ts +8 -0
- package/lib/components/core/table/table.component.d.ts +14 -14
- package/lib/components/core/tooltip/tooltip.directive.d.ts +12 -11
- package/lib/components/form/checkbox/checkbox.component.d.ts +13 -10
- package/lib/components/form/form.module.d.ts +16 -0
- package/lib/components/form/input/input.component.d.ts +59 -13
- package/lib/components/form/password-input/password-input.component.d.ts +33 -8
- package/lib/components/form/radio-button/radio-button.component.d.ts +7 -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 +12 -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 +8 -7
- package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +11 -9
- package/lib/components/navigation/back-button/back-button.component.d.ts +4 -4
- package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +28 -13
- package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +11 -9
- 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 +9 -13
- package/lib/components/utils/error-page/error-page.component.d.ts +44 -0
- package/lib/components/utils/icon/icon.component.d.ts +14 -16
- package/lib/components/utils/language-switcher/language-switcher.component.d.ts +27 -0
- package/lib/design-angular-kit-config.d.ts +16 -0
- package/lib/design-angular-kit.module.d.ts +9 -4
- package/lib/interfaces/core.d.ts +40 -16
- package/lib/interfaces/design-angular-kit-init.d.ts +7 -0
- package/lib/interfaces/form.d.ts +32 -8
- package/lib/interfaces/icon.d.ts +4 -3
- package/lib/interfaces/utils.d.ts +10 -0
- package/lib/pipes/mark-matching-text.pipe.d.ts +10 -0
- package/lib/services/{notifications/notifications.service.d.ts → notification/notification.service.d.ts} +20 -20
- package/lib/utils/boolean-input.d.ts +1 -1
- package/lib/utils/file-utils.d.ts +5 -0
- package/lib/utils/regex.d.ts +5 -0
- package/lib/validators/it-validators.d.ts +16 -9
- package/package.json +13 -17
- package/public_api.d.ts +21 -4
- package/esm2020/lib/abstracts/abstract-form-component.mjs +0 -165
- package/esm2020/lib/abstracts/abstract.component.mjs +0 -20
- package/esm2020/lib/components/core/accordion/accordion.component.mjs +0 -20
- package/esm2020/lib/components/core/alert/alert.component.mjs +0 -29
- package/esm2020/lib/components/core/badge/badge.directive.mjs +0 -34
- package/esm2020/lib/components/core/button/button.directive.mjs +0 -78
- package/esm2020/lib/components/core/callout/callout.component.mjs +0 -59
- package/esm2020/lib/components/core/card/card.component.mjs +0 -58
- package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +0 -66
- package/esm2020/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +0 -14
- package/esm2020/lib/components/core/chip/chip.component.mjs +0 -89
- package/esm2020/lib/components/core/collapse/collapse.component.mjs +0 -96
- 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 -60
- package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +0 -71
- package/esm2020/lib/components/core/forward/forward.directive.mjs +0 -51
- package/esm2020/lib/components/core/link/link.component.mjs +0 -39
- package/esm2020/lib/components/core/list/list/list.component.mjs +0 -13
- package/esm2020/lib/components/core/list/list-item/list-item.component.mjs +0 -36
- package/esm2020/lib/components/core/modal/modal.component.mjs +0 -98
- package/esm2020/lib/components/core/notifications/notifications.component.mjs +0 -66
- package/esm2020/lib/components/core/pagination/pagination.component.mjs +0 -51
- package/esm2020/lib/components/core/popover/popover.directive.mjs +0 -176
- 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/spinner/spinner.component.mjs +0 -35
- package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +0 -33
- 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 -140
- package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -40
- package/esm2020/lib/components/form/input/input.component.mjs +0 -159
- package/esm2020/lib/components/form/password-input/password-input.component.mjs +0 -112
- package/esm2020/lib/components/form/radio-button/radio-button.component.mjs +0 -53
- 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 -134
- package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +0 -99
- 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 -39
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +0 -45
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +0 -23
- package/esm2020/lib/components/navigation/header/header.component.mjs +0 -61
- package/esm2020/lib/components/utils/icon/icon.component.mjs +0 -54
- package/esm2020/lib/components/utils/not-found-page/not-found-page.component.mjs +0 -13
- package/esm2020/lib/design-angular-kit.module.mjs +0 -42
- package/esm2020/lib/interfaces/core.mjs +0 -16
- package/esm2020/lib/interfaces/form.mjs +0 -2
- package/esm2020/lib/interfaces/icon.mjs +0 -2
- package/esm2020/lib/modules/components.module.mjs +0 -241
- package/esm2020/lib/services/notifications/notifications.service.mjs +0 -122
- package/esm2020/lib/utils/file-utils.mjs +0 -65
- package/esm2020/lib/utils/regex.mjs +0 -26
- package/esm2020/lib/validators/it-validators.mjs +0 -131
- package/esm2020/public_api.mjs +0 -64
- package/fesm2015/design-angular-kit.mjs +0 -3271
- package/fesm2015/design-angular-kit.mjs.map +0 -1
- package/fesm2020/design-angular-kit.mjs +0 -3231
- package/fesm2020/design-angular-kit.mjs.map +0 -1
- package/lib/components/utils/not-found-page/not-found-page.component.d.ts +0 -5
- package/lib/modules/components.module.d.ts +0 -57
- /package/{esm2020 → esm2022}/design-angular-kit.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/utils/boolean-input.mjs +0 -0
|
@@ -1,3271 +0,0 @@
|
|
|
1
|
-
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, Input, Self, Optional, Directive, HostBinding, ChangeDetectionStrategy, ContentChildren, HostListener, TemplateRef, ViewChild, EventEmitter, Output, Injectable, Inject, NgModule } from '@angular/core';
|
|
3
|
-
import * as i2$1 from '@ngx-translate/core';
|
|
4
|
-
import { TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
5
|
-
import { HttpClientModule, HttpClient } from '@angular/common/http';
|
|
6
|
-
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
7
|
-
import * as i1 from '@angular/common';
|
|
8
|
-
import { DOCUMENT, CommonModule, NgIf, NgForOf } from '@angular/common';
|
|
9
|
-
import * as i2 from '@angular/forms';
|
|
10
|
-
import { FormControl, Validators, ReactiveFormsModule } from '@angular/forms';
|
|
11
|
-
import * as i2$2 from '@angular/router';
|
|
12
|
-
import { RouterLink } from '@angular/router';
|
|
13
|
-
import { CarouselBI, Collapse, Modal, Notification, Popover, Tooltip, InputPassword, ProgressDonut } from 'bootstrap-italia';
|
|
14
|
-
import { Subject, filter, Observable, take } from 'rxjs';
|
|
15
|
-
import { trigger, transition, style, animate } from '@angular/animations';
|
|
16
|
-
|
|
17
|
-
class AbstractComponent {
|
|
18
|
-
constructor(_renderer, _elementRef) {
|
|
19
|
-
this._renderer = _renderer;
|
|
20
|
-
this._elementRef = _elementRef;
|
|
21
|
-
}
|
|
22
|
-
ngAfterViewInit() {
|
|
23
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'id');
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
AbstractComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
-
AbstractComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AbstractComponent, selector: "ng-component", inputs: { id: "id" }, ngImport: i0, template: '', isInline: true });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractComponent, decorators: [{
|
|
29
|
-
type: Component,
|
|
30
|
-
args: [{ template: '' }]
|
|
31
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { id: [{
|
|
32
|
-
type: Input
|
|
33
|
-
}] } });
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Check if boolean input has true value and not is `undefined`
|
|
37
|
-
* @param booleanInput the boolean input
|
|
38
|
-
*/
|
|
39
|
-
function isTrueBooleanInput(booleanInput) {
|
|
40
|
-
return booleanInput !== undefined && (booleanInput === true || booleanInput === 'true');
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Check if boolean input has false value or is `undefined`
|
|
44
|
-
* @param booleanInput the boolean input
|
|
45
|
-
*/
|
|
46
|
-
function isFalseBooleanInput(booleanInput) {
|
|
47
|
-
return booleanInput === undefined || booleanInput === false || booleanInput === 'false';
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
class AbstractFormComponent extends AbstractComponent {
|
|
51
|
-
constructor(_ngControl, _translateService, _renderer, _elementRef) {
|
|
52
|
-
super(_renderer, _elementRef);
|
|
53
|
-
this._ngControl = _ngControl;
|
|
54
|
-
this._translateService = _translateService;
|
|
55
|
-
this._renderer = _renderer;
|
|
56
|
-
this._elementRef = _elementRef;
|
|
57
|
-
/**
|
|
58
|
-
* Validation color display mode (validation triggered if field is touched or not pristine)
|
|
59
|
-
* - <b>true</b>: Always show the validation color
|
|
60
|
-
* - <b>false</b>: Never show validation color
|
|
61
|
-
* - <b>only-valid</b>: Show only valid validation color
|
|
62
|
-
* - <b>only-invalid</b>: Show only invalid validation color
|
|
63
|
-
* @default <b>only-invalid</b>: Show only invalid validation color
|
|
64
|
-
*/
|
|
65
|
-
this.validationMode = 'only-invalid';
|
|
66
|
-
this.onChange = (_) => {
|
|
67
|
-
};
|
|
68
|
-
this.onTouched = () => {
|
|
69
|
-
};
|
|
70
|
-
this.control = new FormControl();
|
|
71
|
-
this._ngControl && (this._ngControl.valueAccessor = this);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Check if field is invalid (Validation failed)
|
|
75
|
-
*/
|
|
76
|
-
get isInvalid() {
|
|
77
|
-
if (this.validationMode === 'only-valid' || (this.validationMode !== 'only-invalid' && isFalseBooleanInput(this.validationMode))) {
|
|
78
|
-
return undefined;
|
|
79
|
-
}
|
|
80
|
-
if (this._ngControl) {
|
|
81
|
-
return this._ngControl.invalid === true && (!this._ngControl.pristine || this._ngControl.touched === true);
|
|
82
|
-
}
|
|
83
|
-
return this.control.invalid && (!this.control.pristine || this.control.touched);
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Check if field is valid (Validation successful)
|
|
87
|
-
*/
|
|
88
|
-
get isValid() {
|
|
89
|
-
if (this.validationMode === 'only-invalid' || (this.validationMode !== 'only-valid' && isFalseBooleanInput(this.validationMode))) {
|
|
90
|
-
return undefined;
|
|
91
|
-
}
|
|
92
|
-
if (this._ngControl) {
|
|
93
|
-
return this._ngControl.valid === true && (!this._ngControl.pristine || this._ngControl.touched === true);
|
|
94
|
-
}
|
|
95
|
-
return this.control.valid && (!this.control.pristine || this.control.touched);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* Return the invalid message string from TranslateService
|
|
99
|
-
*/
|
|
100
|
-
get invalidMessage() {
|
|
101
|
-
if (this.control.hasError('required')) {
|
|
102
|
-
return this._translateService.get('it.errors.required-field');
|
|
103
|
-
}
|
|
104
|
-
return this._translateService.get('it.errors.invalid-field');
|
|
105
|
-
}
|
|
106
|
-
ngOnInit() {
|
|
107
|
-
if (this._ngControl) {
|
|
108
|
-
this.control.setValidators(this._ngControl.control.validator);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
registerOnChange(fn) {
|
|
112
|
-
this.control.valueChanges.subscribe(fn);
|
|
113
|
-
this.onChange = fn;
|
|
114
|
-
}
|
|
115
|
-
registerOnTouched(fn) {
|
|
116
|
-
this.onTouched = fn;
|
|
117
|
-
}
|
|
118
|
-
setDisabledState(isDisabled) {
|
|
119
|
-
if (isDisabled) {
|
|
120
|
-
return this.control.disable();
|
|
121
|
-
}
|
|
122
|
-
this.control.enable();
|
|
123
|
-
}
|
|
124
|
-
writeValue(value) {
|
|
125
|
-
this.control.setValue(value, { emitEvent: false });
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Mark the control as touched
|
|
129
|
-
*/
|
|
130
|
-
markAsTouched() {
|
|
131
|
-
if (!this.control.touched) {
|
|
132
|
-
this.onTouched();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Fired to check if form control is touched
|
|
137
|
-
*/
|
|
138
|
-
ngDoCheck() {
|
|
139
|
-
var _a, _b;
|
|
140
|
-
if (this.control.touched) {
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
if ((_b = (_a = this._ngControl) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.touched) {
|
|
144
|
-
this.control.markAsTouched();
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
/**
|
|
148
|
-
* Add the validators in control and parent control
|
|
149
|
-
* @param validators the validators
|
|
150
|
-
* @protected
|
|
151
|
-
*/
|
|
152
|
-
addValidators(validators) {
|
|
153
|
-
if (!Array.isArray(validators)) {
|
|
154
|
-
validators = [validators];
|
|
155
|
-
}
|
|
156
|
-
validators.forEach(validator => {
|
|
157
|
-
var _a;
|
|
158
|
-
if (!this.control.hasValidator(validator)) {
|
|
159
|
-
this.control.addValidators(validator);
|
|
160
|
-
}
|
|
161
|
-
if (((_a = this._ngControl) === null || _a === void 0 ? void 0 : _a.control) && !this._ngControl.control.hasValidator(validator)) {
|
|
162
|
-
this._ngControl.control.addValidators(validator);
|
|
163
|
-
}
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
/**
|
|
167
|
-
* Reports whether the control with the given path has the error specified. <br/>
|
|
168
|
-
* If the control is not present, false is returned.
|
|
169
|
-
* @param errorCode The code of the error to check
|
|
170
|
-
* @param path A list of control names that designates how to move from the current control
|
|
171
|
-
* to the control that should be queried for errors.
|
|
172
|
-
* @returns whether the given error is present in the control at the given path.
|
|
173
|
-
*/
|
|
174
|
-
hasError(errorCode, path) {
|
|
175
|
-
if (this._ngControl) {
|
|
176
|
-
return this._ngControl.hasError(errorCode, path);
|
|
177
|
-
}
|
|
178
|
-
return this.control.hasError(errorCode, path);
|
|
179
|
-
}
|
|
180
|
-
/**
|
|
181
|
-
* Reports error data for the control with the given path.
|
|
182
|
-
* @param errorCode The code of the error to check
|
|
183
|
-
* @param path A list of control names that designates how to move from the current control
|
|
184
|
-
* to the control that should be queried for errors.
|
|
185
|
-
* @returns error data for that particular error. If the control or error is not present,
|
|
186
|
-
* null is returned.
|
|
187
|
-
*/
|
|
188
|
-
getError(errorCode, path) {
|
|
189
|
-
if (this._ngControl) {
|
|
190
|
-
return this._ngControl.getError(errorCode, path);
|
|
191
|
-
}
|
|
192
|
-
return this.control.getError(errorCode, path);
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
AbstractFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractFormComponent, deps: [{ token: i2.NgControl, optional: true, self: true }, { token: i2$1.TranslateService }, { token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
196
|
-
AbstractFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AbstractFormComponent, selector: "ng-component", inputs: { label: "label", validationMode: "validationMode" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
|
|
197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AbstractFormComponent, decorators: [{
|
|
198
|
-
type: Component,
|
|
199
|
-
args: [{ template: '' }]
|
|
200
|
-
}], ctorParameters: function () {
|
|
201
|
-
return [{ type: i2.NgControl, decorators: [{
|
|
202
|
-
type: Self
|
|
203
|
-
}, {
|
|
204
|
-
type: Optional
|
|
205
|
-
}] }, { type: i2$1.TranslateService }, { type: i0.Renderer2 }, { type: i0.ElementRef }];
|
|
206
|
-
}, propDecorators: { label: [{
|
|
207
|
-
type: Input
|
|
208
|
-
}], validationMode: [{
|
|
209
|
-
type: Input
|
|
210
|
-
}] } });
|
|
211
|
-
|
|
212
|
-
class AccordionComponent extends AbstractComponent {
|
|
213
|
-
ngAfterViewInit() {
|
|
214
|
-
super.ngAfterViewInit();
|
|
215
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
|
|
216
|
-
}
|
|
217
|
-
}
|
|
218
|
-
AccordionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccordionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
219
|
-
AccordionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AccordionComponent, selector: "it-accordion[id][title]", inputs: { title: "title", opened: "opened" }, 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 px-0\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [class.collapsed]=\"!opened\"\n [attr.data-bs-target]=\"'#collapse-' + id\"\n [attr.aria-controls]=\"'collapse-' + id\"\n [attr.aria-expanded]=\"opened ? 'true' : 'false'\">\n {{title}}\n </button>\n </h2>\n\n <div id=\"collapse-{{id}}\"\n class=\"accordion-collapse collapse\"\n role=\"region\"\n [class.show]=\"opened\"\n [attr.aria-labelledby]=\"'collapse-' + id + '-heading'\">\n\n <div class=\"accordion-body p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n\n", styles: [""] });
|
|
220
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AccordionComponent, decorators: [{
|
|
221
|
-
type: Component,
|
|
222
|
-
args: [{ selector: 'it-accordion[id][title]', 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 px-0\"\n type=\"button\"\n data-bs-toggle=\"collapse\"\n [class.collapsed]=\"!opened\"\n [attr.data-bs-target]=\"'#collapse-' + id\"\n [attr.aria-controls]=\"'collapse-' + id\"\n [attr.aria-expanded]=\"opened ? 'true' : 'false'\">\n {{title}}\n </button>\n </h2>\n\n <div id=\"collapse-{{id}}\"\n class=\"accordion-collapse collapse\"\n role=\"region\"\n [class.show]=\"opened\"\n [attr.aria-labelledby]=\"'collapse-' + id + '-heading'\">\n\n <div class=\"accordion-body p-0\">\n <ng-content></ng-content>\n </div>\n </div>\n </div>\n</div>\n\n" }]
|
|
223
|
-
}], propDecorators: { title: [{
|
|
224
|
-
type: Input
|
|
225
|
-
}], opened: [{
|
|
226
|
-
type: Input
|
|
227
|
-
}] } });
|
|
228
|
-
|
|
229
|
-
class IconComponent {
|
|
230
|
-
constructor(_renderer, _elementRef) {
|
|
231
|
-
this._renderer = _renderer;
|
|
232
|
-
this._elementRef = _elementRef;
|
|
233
|
-
/**
|
|
234
|
-
* Custom class
|
|
235
|
-
*/
|
|
236
|
-
this.class = '';
|
|
237
|
-
}
|
|
238
|
-
/**
|
|
239
|
-
* Return the icon href
|
|
240
|
-
*/
|
|
241
|
-
get iconHref() {
|
|
242
|
-
return `/bootstrap-italia/dist/svg/sprites.svg#it-${this.name}`;
|
|
243
|
-
}
|
|
244
|
-
/**
|
|
245
|
-
* Return the icon class
|
|
246
|
-
*/
|
|
247
|
-
get iconClass() {
|
|
248
|
-
let iconClass = 'icon';
|
|
249
|
-
if (this.size) {
|
|
250
|
-
iconClass += ` icon-${this.size}`;
|
|
251
|
-
}
|
|
252
|
-
if (this.color) {
|
|
253
|
-
iconClass += ` icon-${this.color}`;
|
|
254
|
-
}
|
|
255
|
-
if (this.class) {
|
|
256
|
-
iconClass += ` ${this.class}`;
|
|
257
|
-
}
|
|
258
|
-
return iconClass;
|
|
259
|
-
}
|
|
260
|
-
ngAfterViewInit() {
|
|
261
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
262
|
-
}
|
|
263
|
-
}
|
|
264
|
-
IconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IconComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
265
|
-
IconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: IconComponent, selector: "it-icon[name]", inputs: { name: "name", size: "size", color: "color", padded: "padded", class: "class" }, ngImport: i0, template: "<svg [class]=\"iconClass\" [class.icon-padded]=\"padded\">\n <use [attr.href]=\"iconHref\" [attr.xlink:href]=\"iconHref\"></use>\n</svg>\n", styles: [""] });
|
|
266
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: IconComponent, decorators: [{
|
|
267
|
-
type: Component,
|
|
268
|
-
args: [{ selector: 'it-icon[name]', template: "<svg [class]=\"iconClass\" [class.icon-padded]=\"padded\">\n <use [attr.href]=\"iconHref\" [attr.xlink:href]=\"iconHref\"></use>\n</svg>\n" }]
|
|
269
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { name: [{
|
|
270
|
-
type: Input
|
|
271
|
-
}], size: [{
|
|
272
|
-
type: Input
|
|
273
|
-
}], color: [{
|
|
274
|
-
type: Input
|
|
275
|
-
}], padded: [{
|
|
276
|
-
type: Input
|
|
277
|
-
}], class: [{
|
|
278
|
-
type: Input
|
|
279
|
-
}] } });
|
|
280
|
-
|
|
281
|
-
class AlertComponent {
|
|
282
|
-
constructor() {
|
|
283
|
-
/**
|
|
284
|
-
* The alert color
|
|
285
|
-
* @default info
|
|
286
|
-
*/
|
|
287
|
-
this.color = 'info';
|
|
288
|
-
}
|
|
289
|
-
get isDismissible() {
|
|
290
|
-
return isTrueBooleanInput(this.dismissible);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
AlertComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AlertComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
294
|
-
AlertComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AlertComponent, selector: "it-alert", inputs: { color: "color", dismissible: "dismissible" }, ngImport: i0, template: "<div class=\"alert alert-{{color}}\"\n [class.alert-dismissible]=\"isDismissible\"\n [class.fade]=\"isDismissible\"\n [class.show]=\"isDismissible\"\n role=\"alert\">\n <h4 class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n </h4>\n\n <ng-content></ng-content>\n\n <button *ngIf=\"isDismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n [attr.aria-label]=\"'it.core.close-alert'|translate\">\n <it-icon name=\"close\"></it-icon>\n </button>\n</div>\n", styles: [".alert-heading:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
295
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AlertComponent, decorators: [{
|
|
296
|
-
type: Component,
|
|
297
|
-
args: [{ selector: 'it-alert', template: "<div class=\"alert alert-{{color}}\"\n [class.alert-dismissible]=\"isDismissible\"\n [class.fade]=\"isDismissible\"\n [class.show]=\"isDismissible\"\n role=\"alert\">\n <h4 class=\"alert-heading\">\n <ng-content select=\"[heading]\"></ng-content>\n </h4>\n\n <ng-content></ng-content>\n\n <button *ngIf=\"isDismissible\"\n type=\"button\"\n class=\"btn-close\"\n data-bs-dismiss=\"alert\"\n [attr.aria-label]=\"'it.core.close-alert'|translate\">\n <it-icon name=\"close\"></it-icon>\n </button>\n</div>\n", styles: [".alert-heading:empty{display:none}\n"] }]
|
|
298
|
-
}], propDecorators: { color: [{
|
|
299
|
-
type: Input
|
|
300
|
-
}], dismissible: [{
|
|
301
|
-
type: Input
|
|
302
|
-
}] } });
|
|
303
|
-
|
|
304
|
-
class BadgeDirective {
|
|
305
|
-
get badgeClass() {
|
|
306
|
-
let badgeClass = 'badge';
|
|
307
|
-
if (isTrueBooleanInput(this.rounded)) {
|
|
308
|
-
badgeClass += ` rounded-pill`;
|
|
309
|
-
}
|
|
310
|
-
if (this.color) {
|
|
311
|
-
badgeClass += ` bg-${this.color}`;
|
|
312
|
-
}
|
|
313
|
-
return badgeClass;
|
|
314
|
-
}
|
|
315
|
-
}
|
|
316
|
-
BadgeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BadgeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
317
|
-
BadgeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: BadgeDirective, selector: "[itBadge]", inputs: { color: ["itBadge", "color"], rounded: "rounded" }, host: { properties: { "class": "this.badgeClass" } }, exportAs: ["itBadge"], ngImport: i0 });
|
|
318
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BadgeDirective, decorators: [{
|
|
319
|
-
type: Directive,
|
|
320
|
-
args: [{
|
|
321
|
-
selector: '[itBadge]',
|
|
322
|
-
exportAs: 'itBadge'
|
|
323
|
-
}]
|
|
324
|
-
}], propDecorators: { color: [{
|
|
325
|
-
type: Input,
|
|
326
|
-
args: ['itBadge']
|
|
327
|
-
}], rounded: [{
|
|
328
|
-
type: Input,
|
|
329
|
-
args: ['rounded']
|
|
330
|
-
}], badgeClass: [{
|
|
331
|
-
type: HostBinding,
|
|
332
|
-
args: ['class']
|
|
333
|
-
}] } });
|
|
334
|
-
|
|
335
|
-
class ProgressBarComponent {
|
|
336
|
-
/**
|
|
337
|
-
* Return the background color
|
|
338
|
-
*/
|
|
339
|
-
get bgColor() {
|
|
340
|
-
if (!this.color) {
|
|
341
|
-
return '';
|
|
342
|
-
}
|
|
343
|
-
return ` bg-${this.color}`;
|
|
344
|
-
}
|
|
345
|
-
get isIndeterminate() {
|
|
346
|
-
return isTrueBooleanInput(this.indeterminate);
|
|
347
|
-
}
|
|
348
|
-
}
|
|
349
|
-
ProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
350
|
-
ProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ProgressBarComponent, selector: "it-progress-bar[value]", inputs: { value: "value", showLabel: "showLabel", indeterminate: "indeterminate", color: "color" }, ngImport: i0, template: "<div class=\"progress-bar-wrapper\">\n <div *ngIf=\"showLabel\" class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{'it.core.progress'|translate}} </span>{{value}}%\n </div>\n <div class=\"progress\"\n [class.progress-color]=\"!!color\"\n [class.progress-indeterminate]=\"isIndeterminate\">\n\n <div *ngIf=\"isIndeterminate; else determinate\" class=\"progress-bar{{bgColor}}\" role=\"progressbar\"></div>\n <ng-template #determinate>\n <div class=\"progress-bar{{bgColor}}\" role=\"progressbar\" [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n </ng-template>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
351
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
352
|
-
type: Component,
|
|
353
|
-
args: [{ selector: 'it-progress-bar[value]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"progress-bar-wrapper\">\n <div *ngIf=\"showLabel\" class=\"progress-bar-label\">\n <span class=\"visually-hidden\">{{'it.core.progress'|translate}} </span>{{value}}%\n </div>\n <div class=\"progress\"\n [class.progress-color]=\"!!color\"\n [class.progress-indeterminate]=\"isIndeterminate\">\n\n <div *ngIf=\"isIndeterminate; else determinate\" class=\"progress-bar{{bgColor}}\" role=\"progressbar\"></div>\n <ng-template #determinate>\n <div class=\"progress-bar{{bgColor}}\" role=\"progressbar\" [style.width.%]=\"value\"\n [attr.aria-valuenow]=\"value\" aria-valuemin=\"0\" aria-valuemax=\"100\"></div>\n </ng-template>\n </div>\n</div>\n" }]
|
|
354
|
-
}], propDecorators: { value: [{
|
|
355
|
-
type: Input
|
|
356
|
-
}], showLabel: [{
|
|
357
|
-
type: Input
|
|
358
|
-
}], indeterminate: [{
|
|
359
|
-
type: Input
|
|
360
|
-
}], color: [{
|
|
361
|
-
type: Input
|
|
362
|
-
}] } });
|
|
363
|
-
|
|
364
|
-
class ButtonDirective {
|
|
365
|
-
constructor() {
|
|
366
|
-
this.isFocus = false;
|
|
367
|
-
}
|
|
368
|
-
onFocus() {
|
|
369
|
-
this.isFocus = true;
|
|
370
|
-
}
|
|
371
|
-
onBlur() {
|
|
372
|
-
this.isFocus = false;
|
|
373
|
-
}
|
|
374
|
-
get hostClasses() {
|
|
375
|
-
var _a;
|
|
376
|
-
let cssClass = 'btn';
|
|
377
|
-
if (this.color) {
|
|
378
|
-
cssClass += ` btn-${this.color}`;
|
|
379
|
-
}
|
|
380
|
-
if (this.size) {
|
|
381
|
-
cssClass += ` btn-${this.size}`;
|
|
382
|
-
}
|
|
383
|
-
if (this.block) {
|
|
384
|
-
cssClass += ' btn-block';
|
|
385
|
-
}
|
|
386
|
-
if (isTrueBooleanInput(this.disabled)) {
|
|
387
|
-
cssClass += ' disabled';
|
|
388
|
-
}
|
|
389
|
-
if (this.isFocus) {
|
|
390
|
-
cssClass += ' focus--mouse';
|
|
391
|
-
}
|
|
392
|
-
if (((_a = this.icons) === null || _a === void 0 ? void 0 : _a.length) && !this.progressBar) {
|
|
393
|
-
cssClass += ' btn-icon';
|
|
394
|
-
}
|
|
395
|
-
if (this.progressBar) {
|
|
396
|
-
cssClass += ' btn-progress';
|
|
397
|
-
}
|
|
398
|
-
return cssClass;
|
|
399
|
-
}
|
|
400
|
-
}
|
|
401
|
-
ButtonDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ButtonDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
402
|
-
ButtonDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ButtonDirective, selector: "[itButton]", inputs: { color: ["itButton", "color"], size: "size", block: "block", disabled: "disabled" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()" }, properties: { "disabled": "this.disabled", "class": "this.hostClasses" } }, queries: [{ propertyName: "icons", predicate: IconComponent }, { propertyName: "progressBar", predicate: ProgressBarComponent }], exportAs: ["itButton"], ngImport: i0 });
|
|
403
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ButtonDirective, decorators: [{
|
|
404
|
-
type: Directive,
|
|
405
|
-
args: [{
|
|
406
|
-
selector: '[itButton]',
|
|
407
|
-
exportAs: 'itButton'
|
|
408
|
-
}]
|
|
409
|
-
}], propDecorators: { color: [{
|
|
410
|
-
type: Input,
|
|
411
|
-
args: ['itButton']
|
|
412
|
-
}], size: [{
|
|
413
|
-
type: Input
|
|
414
|
-
}], block: [{
|
|
415
|
-
type: Input
|
|
416
|
-
}], disabled: [{
|
|
417
|
-
type: Input
|
|
418
|
-
}, {
|
|
419
|
-
type: HostBinding,
|
|
420
|
-
args: ['disabled']
|
|
421
|
-
}], icons: [{
|
|
422
|
-
type: ContentChildren,
|
|
423
|
-
args: [IconComponent]
|
|
424
|
-
}], progressBar: [{
|
|
425
|
-
type: ContentChildren,
|
|
426
|
-
args: [ProgressBarComponent]
|
|
427
|
-
}], onFocus: [{
|
|
428
|
-
type: HostListener,
|
|
429
|
-
args: ['focus']
|
|
430
|
-
}], onBlur: [{
|
|
431
|
-
type: HostListener,
|
|
432
|
-
args: ['blur']
|
|
433
|
-
}], hostClasses: [{
|
|
434
|
-
type: HostBinding,
|
|
435
|
-
args: ['class']
|
|
436
|
-
}] } });
|
|
437
|
-
|
|
438
|
-
class CalloutComponent {
|
|
439
|
-
constructor(_renderer, _elementRef) {
|
|
440
|
-
this._renderer = _renderer;
|
|
441
|
-
this._elementRef = _elementRef;
|
|
442
|
-
/**
|
|
443
|
-
* Callout appearance
|
|
444
|
-
* - <b>default</b>
|
|
445
|
-
* - <b>highlight</b>: Callout version with border only on the left side
|
|
446
|
-
* - <b>more</b>: It looks radically different from the other styles available and is suitable for more extensive texts
|
|
447
|
-
* @default default
|
|
448
|
-
*/
|
|
449
|
-
this.appearance = 'default';
|
|
450
|
-
}
|
|
451
|
-
/**
|
|
452
|
-
* Retrieve the current icon to show
|
|
453
|
-
*/
|
|
454
|
-
get iconName() {
|
|
455
|
-
if (this.icon) {
|
|
456
|
-
return this.icon;
|
|
457
|
-
}
|
|
458
|
-
if (this.appearance === 'more') {
|
|
459
|
-
return 'zoom-in';
|
|
460
|
-
}
|
|
461
|
-
switch (this.color) {
|
|
462
|
-
case 'success':
|
|
463
|
-
return 'check-circle';
|
|
464
|
-
case 'warning':
|
|
465
|
-
return 'help-circle';
|
|
466
|
-
case 'danger':
|
|
467
|
-
return 'close-circle';
|
|
468
|
-
case 'important':
|
|
469
|
-
case 'note':
|
|
470
|
-
default:
|
|
471
|
-
return 'info-circle';
|
|
472
|
-
}
|
|
473
|
-
}
|
|
474
|
-
ngAfterViewInit() {
|
|
475
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
CalloutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalloutComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
479
|
-
CalloutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CalloutComponent, selector: "it-callout", inputs: { title: "title", icon: "icon", color: "color", appearance: "appearance" }, ngImport: i0, template: "<div class=\"callout {{color}}\"\n [class.callout-highlight]=\"appearance === 'highlight'\"\n [class.callout-more]=\"appearance === 'more'\">\n\n <div class=\"callout-title\" *ngIf=\"title\">\n <it-icon [name]=\"iconName\"></it-icon>\n <span class=\"visually-hidden\">{{title}}</span>\n {{title}}\n </div>\n <p class=\"callout-big-text\">\n <ng-content select=\"[bigText]\"></ng-content>\n </p>\n <ng-content></ng-content>\n</div>\n", styles: [".callout-big-text:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }] });
|
|
480
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CalloutComponent, decorators: [{
|
|
481
|
-
type: Component,
|
|
482
|
-
args: [{ selector: 'it-callout', template: "<div class=\"callout {{color}}\"\n [class.callout-highlight]=\"appearance === 'highlight'\"\n [class.callout-more]=\"appearance === 'more'\">\n\n <div class=\"callout-title\" *ngIf=\"title\">\n <it-icon [name]=\"iconName\"></it-icon>\n <span class=\"visually-hidden\">{{title}}</span>\n {{title}}\n </div>\n <p class=\"callout-big-text\">\n <ng-content select=\"[bigText]\"></ng-content>\n </p>\n <ng-content></ng-content>\n</div>\n", styles: [".callout-big-text:empty{display:none}\n"] }]
|
|
483
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { title: [{
|
|
484
|
-
type: Input
|
|
485
|
-
}], icon: [{
|
|
486
|
-
type: Input
|
|
487
|
-
}], color: [{
|
|
488
|
-
type: Input
|
|
489
|
-
}], appearance: [{
|
|
490
|
-
type: Input
|
|
491
|
-
}] } });
|
|
492
|
-
|
|
493
|
-
class CardComponent extends AbstractComponent {
|
|
494
|
-
constructor() {
|
|
495
|
-
super(...arguments);
|
|
496
|
-
/**
|
|
497
|
-
* It serves to space the cards in their mobile version.
|
|
498
|
-
* @default true
|
|
499
|
-
*/
|
|
500
|
-
this.space = true;
|
|
501
|
-
/**
|
|
502
|
-
* Custom card class
|
|
503
|
-
*/
|
|
504
|
-
this.cardClass = '';
|
|
505
|
-
/**
|
|
506
|
-
* Custom card body class
|
|
507
|
-
*/
|
|
508
|
-
this.bodyClass = '';
|
|
509
|
-
}
|
|
510
|
-
get isSpace() {
|
|
511
|
-
return isTrueBooleanInput(this.space);
|
|
512
|
-
}
|
|
513
|
-
get isTeaser() {
|
|
514
|
-
return isTrueBooleanInput(this.teaser);
|
|
515
|
-
}
|
|
516
|
-
get isHasImage() {
|
|
517
|
-
return isTrueBooleanInput(this.hasImage);
|
|
518
|
-
}
|
|
519
|
-
get isRounded() {
|
|
520
|
-
return isTrueBooleanInput(this.rounded);
|
|
521
|
-
}
|
|
522
|
-
get isShadow() {
|
|
523
|
-
return isTrueBooleanInput(this.shadow);
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
CardComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CardComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
527
|
-
CardComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CardComponent, selector: "it-card", inputs: { space: "space", teaser: "teaser", hasImage: "hasImage", rounded: "rounded", shadow: "shadow", cardClass: "cardClass", bodyClass: "bodyClass" }, usesInheritance: true, ngImport: i0, template: "<div class=\"card-wrapper\" [class.card-space]=\"isSpace\">\n <div class=\"card {{cardClass}}\"\n [class.card-teaser]=\"isTeaser\"\n [class.card-img.no-after]=\"isHasImage\"\n [class.shadow]=\"isShadow\"\n [class.rounded]=\"isRounded\">\n\n <ng-content select=\"[beforeBody]\"></ng-content>\n\n <div class=\"card-body {{bodyClass}}\">\n <ng-content></ng-content>\n </div>\n\n </div>\n</div>\n", styles: [".card-body:empty{display:none}\n"] });
|
|
528
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CardComponent, decorators: [{
|
|
529
|
-
type: Component,
|
|
530
|
-
args: [{ selector: 'it-card', template: "<div class=\"card-wrapper\" [class.card-space]=\"isSpace\">\n <div class=\"card {{cardClass}}\"\n [class.card-teaser]=\"isTeaser\"\n [class.card-img.no-after]=\"isHasImage\"\n [class.shadow]=\"isShadow\"\n [class.rounded]=\"isRounded\">\n\n <ng-content select=\"[beforeBody]\"></ng-content>\n\n <div class=\"card-body {{bodyClass}}\">\n <ng-content></ng-content>\n </div>\n\n </div>\n</div>\n", styles: [".card-body:empty{display:none}\n"] }]
|
|
531
|
-
}], propDecorators: { space: [{
|
|
532
|
-
type: Input
|
|
533
|
-
}], teaser: [{
|
|
534
|
-
type: Input
|
|
535
|
-
}], hasImage: [{
|
|
536
|
-
type: Input
|
|
537
|
-
}], rounded: [{
|
|
538
|
-
type: Input
|
|
539
|
-
}], shadow: [{
|
|
540
|
-
type: Input
|
|
541
|
-
}], cardClass: [{
|
|
542
|
-
type: Input
|
|
543
|
-
}], bodyClass: [{
|
|
544
|
-
type: Input
|
|
545
|
-
}] } });
|
|
546
|
-
|
|
547
|
-
class CarouselItemComponent {
|
|
548
|
-
}
|
|
549
|
-
CarouselItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CarouselItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
550
|
-
CarouselItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CarouselItemComponent, selector: "it-carousel-item", viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""] });
|
|
551
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CarouselItemComponent, decorators: [{
|
|
552
|
-
type: Component,
|
|
553
|
-
args: [{ selector: 'it-carousel-item', template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
554
|
-
}], propDecorators: { htmlContent: [{
|
|
555
|
-
type: ViewChild,
|
|
556
|
-
args: [TemplateRef]
|
|
557
|
-
}] } });
|
|
558
|
-
|
|
559
|
-
class CarouselComponent {
|
|
560
|
-
constructor() {
|
|
561
|
-
/**
|
|
562
|
-
* The carousel type
|
|
563
|
-
* @default default
|
|
564
|
-
*/
|
|
565
|
-
this.type = 'default';
|
|
566
|
-
/**
|
|
567
|
-
* Custom class in splide__track element
|
|
568
|
-
*/
|
|
569
|
-
this.trackClass = '';
|
|
570
|
-
}
|
|
571
|
-
get typeClass() {
|
|
572
|
-
const typeClass = 'it-carousel-landscape-abstract';
|
|
573
|
-
return this.type === 'default' ? typeClass : typeClass + `-${this.type}`;
|
|
574
|
-
}
|
|
575
|
-
get isFullCarousel() {
|
|
576
|
-
return isTrueBooleanInput(this.fullCarousel);
|
|
577
|
-
}
|
|
578
|
-
get isBigImg() {
|
|
579
|
-
return isTrueBooleanInput(this.bigImg);
|
|
580
|
-
}
|
|
581
|
-
get isLined() {
|
|
582
|
-
return isTrueBooleanInput(this.lined);
|
|
583
|
-
}
|
|
584
|
-
ngAfterViewInit() {
|
|
585
|
-
this.carousel = CarouselBI.getOrCreateInstance(this.carouselDiv.nativeElement);
|
|
586
|
-
}
|
|
587
|
-
/**
|
|
588
|
-
* Removes CarouselBI features
|
|
589
|
-
*/
|
|
590
|
-
dispose() {
|
|
591
|
-
var _a;
|
|
592
|
-
(_a = this.carousel) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
593
|
-
}
|
|
594
|
-
}
|
|
595
|
-
CarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CarouselComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
596
|
-
CarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CarouselComponent, selector: "it-carousel", inputs: { title: "title", type: "type", trackClass: "trackClass", fullCarousel: "fullCarousel", bigImg: "bigImg", lined: "lined" }, queries: [{ propertyName: "items", predicate: CarouselItemComponent }], viewQueries: [{ propertyName: "carouselDiv", first: true, predicate: ["carousel"], descendants: true }], exportAs: ["itCarousel"], ngImport: i0, template: "<div class=\"it-carousel-wrapper splide {{typeClass}}\"\n [class.it-full-carousel]=\"isFullCarousel\"\n [class.it-big-img]=\"isBigImg\"\n data-bs-carousel-splide #carousel>\n\n <div class=\"it-header-block\" *ngIf=\"title\">\n <div class=\"it-header-block-title\">\n <h2>{{title}}</h2>\n </div>\n </div>\n\n <div class=\"splide__track {{trackClass}}\">\n <ul class=\"splide__list\">\n <li *ngFor=\"let item of items\" class=\"splide__slide\" [class.lined_slide]=\"isLined\">\n <div class=\"it-single-slide-wrapper\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </div>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".splide__container{box-sizing:border-box;position:relative}.splide__list{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important;transform-style:preserve-3d}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide__progress__bar{width:0}.splide{outline:none;position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;outline:none;position:relative}.splide__slide img{vertical-align:bottom}.splide__slider{position:relative}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;contain:strict;display:inline-block;height:20px;inset:0;margin:auto;position:absolute;width:20px}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide--draggable>.splide__slider>.splide__track,.splide--draggable>.splide__track{-webkit-user-select:none;user-select:none}.splide--fade>.splide__slider>.splide__track>.splide__list,.splide--fade>.splide__track>.splide__list{display:block}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--fade>.splide__track>.splide__list>.splide__slide{left:0;opacity:0;position:absolute;top:0;z-index:0}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{opacity:1;position:relative;z-index:1}.splide--rtl{direction:rtl}.splide--ttb.is-active>.splide__slider>.splide__track>.splide__list,.splide--ttb.is-active>.splide__track>.splide__list{display:block}.splide__arrow{align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:flex;height:2em;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover{opacity:.9}.splide__arrow:focus{outline:none}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4)}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus{outline:none}.splide__progress__bar{background:#ccc;height:3px}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--nav>.splide__track>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--nav>.splide__track>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide:focus,.splide--nav>.splide__track>.splide__list>.splide__slide:focus{outline:none}.splide--rtl>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev{left:auto;right:1em}.splide--rtl>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:scaleX(1)}.splide--rtl>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next{left:1em;right:auto}.splide--rtl>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next svg{transform:scaleX(-1)}.splide--ttb>.splide__arrows .splide__arrow,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow,.splide--ttb>.splide__track>.splide__arrows .splide__arrow{left:50%;transform:translate(-50%)}.splide--ttb>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev{top:1em}.splide--ttb>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:rotate(-90deg)}.splide--ttb>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next{bottom:1em;top:auto}.splide--ttb>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next svg{transform:rotate(90deg)}.splide--ttb>.splide__pagination,.splide--ttb>.splide__slider>.splide__pagination{display:flex;flex-direction:column;inset:0 .5em 0 auto;padding:1em 0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
597
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
598
|
-
type: Component,
|
|
599
|
-
args: [{ selector: 'it-carousel', exportAs: 'itCarousel', template: "<div class=\"it-carousel-wrapper splide {{typeClass}}\"\n [class.it-full-carousel]=\"isFullCarousel\"\n [class.it-big-img]=\"isBigImg\"\n data-bs-carousel-splide #carousel>\n\n <div class=\"it-header-block\" *ngIf=\"title\">\n <div class=\"it-header-block-title\">\n <h2>{{title}}</h2>\n </div>\n </div>\n\n <div class=\"splide__track {{trackClass}}\">\n <ul class=\"splide__list\">\n <li *ngFor=\"let item of items\" class=\"splide__slide\" [class.lined_slide]=\"isLined\">\n <div class=\"it-single-slide-wrapper\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </div>\n </li>\n </ul>\n </div>\n</div>\n", styles: [".splide__container{box-sizing:border-box;position:relative}.splide__list{-webkit-backface-visibility:hidden;backface-visibility:hidden;display:flex;height:100%;margin:0!important;padding:0!important;transform-style:preserve-3d}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{align-items:center;display:flex;flex-wrap:wrap;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide__progress__bar{width:0}.splide{outline:none;position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;flex-shrink:0;list-style-type:none!important;margin:0;outline:none;position:relative}.splide__slide img{vertical-align:bottom}.splide__slider{position:relative}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;contain:strict;display:inline-block;height:20px;inset:0;margin:auto;position:absolute;width:20px}.splide__track{overflow:hidden;position:relative;z-index:0}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide--draggable>.splide__slider>.splide__track,.splide--draggable>.splide__track{-webkit-user-select:none;user-select:none}.splide--fade>.splide__slider>.splide__track>.splide__list,.splide--fade>.splide__track>.splide__list{display:block}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--fade>.splide__track>.splide__list>.splide__slide{left:0;opacity:0;position:absolute;top:0;z-index:0}.splide--fade>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--fade>.splide__track>.splide__list>.splide__slide.is-active{opacity:1;position:relative;z-index:1}.splide--rtl{direction:rtl}.splide--ttb.is-active>.splide__slider>.splide__track>.splide__list,.splide--ttb.is-active>.splide__track>.splide__list{display:block}.splide__arrow{align-items:center;background:#ccc;border:0;border-radius:50%;cursor:pointer;display:flex;height:2em;justify-content:center;opacity:.7;padding:0;position:absolute;top:50%;transform:translateY(-50%);width:2em;z-index:1}.splide__arrow svg{fill:#000;height:1.2em;width:1.2em}.splide__arrow:hover{opacity:.9}.splide__arrow:focus{outline:none}.splide__arrow--prev{left:1em}.splide__arrow--prev svg{transform:scaleX(-1)}.splide__arrow--next{right:1em}.splide__pagination{bottom:.5em;left:0;padding:0 1em;position:absolute;right:0;z-index:1}.splide__pagination__page{background:#ccc;border:0;border-radius:50%;display:inline-block;height:8px;margin:3px;opacity:.7;padding:0;transition:transform .2s linear;width:8px}.splide__pagination__page.is-active{background:#fff;transform:scale(1.4)}.splide__pagination__page:hover{cursor:pointer;opacity:.9}.splide__pagination__page:focus{outline:none}.splide__progress__bar{background:#ccc;height:3px}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide,.splide--nav>.splide__track>.splide__list>.splide__slide{border:3px solid transparent;cursor:pointer}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide.is-active,.splide--nav>.splide__track>.splide__list>.splide__slide.is-active{border:3px solid #000}.splide--nav>.splide__slider>.splide__track>.splide__list>.splide__slide:focus,.splide--nav>.splide__track>.splide__list>.splide__slide:focus{outline:none}.splide--rtl>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev{left:auto;right:1em}.splide--rtl>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:scaleX(1)}.splide--rtl>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next{left:1em;right:auto}.splide--rtl>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--rtl>.splide__track>.splide__arrows .splide__arrow--next svg{transform:scaleX(-1)}.splide--ttb>.splide__arrows .splide__arrow,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow,.splide--ttb>.splide__track>.splide__arrows .splide__arrow{left:50%;transform:translate(-50%)}.splide--ttb>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev{top:1em}.splide--ttb>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--prev svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--prev svg{transform:rotate(-90deg)}.splide--ttb>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next{bottom:1em;top:auto}.splide--ttb>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__slider>.splide__track>.splide__arrows .splide__arrow--next svg,.splide--ttb>.splide__track>.splide__arrows .splide__arrow--next svg{transform:rotate(90deg)}.splide--ttb>.splide__pagination,.splide--ttb>.splide__slider>.splide__pagination{display:flex;flex-direction:column;inset:0 .5em 0 auto;padding:1em 0}\n"] }]
|
|
600
|
-
}], propDecorators: { title: [{
|
|
601
|
-
type: Input
|
|
602
|
-
}], type: [{
|
|
603
|
-
type: Input
|
|
604
|
-
}], trackClass: [{
|
|
605
|
-
type: Input
|
|
606
|
-
}], fullCarousel: [{
|
|
607
|
-
type: Input
|
|
608
|
-
}], bigImg: [{
|
|
609
|
-
type: Input
|
|
610
|
-
}], lined: [{
|
|
611
|
-
type: Input
|
|
612
|
-
}], items: [{
|
|
613
|
-
type: ContentChildren,
|
|
614
|
-
args: [CarouselItemComponent]
|
|
615
|
-
}], carouselDiv: [{
|
|
616
|
-
type: ViewChild,
|
|
617
|
-
args: ['carousel']
|
|
618
|
-
}] } });
|
|
619
|
-
|
|
620
|
-
class CollapseComponent extends AbstractComponent {
|
|
621
|
-
constructor(_renderer, _elementRef) {
|
|
622
|
-
super(_renderer, _elementRef);
|
|
623
|
-
this._renderer = _renderer;
|
|
624
|
-
this._elementRef = _elementRef;
|
|
625
|
-
/**
|
|
626
|
-
* Custom class
|
|
627
|
-
*/
|
|
628
|
-
this.class = '';
|
|
629
|
-
/**
|
|
630
|
-
* This event fires immediately when the show method is called.
|
|
631
|
-
*/
|
|
632
|
-
this.onShow = new EventEmitter();
|
|
633
|
-
/**
|
|
634
|
-
* This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).
|
|
635
|
-
*/
|
|
636
|
-
this.onShown = new EventEmitter();
|
|
637
|
-
/**
|
|
638
|
-
* This event fires immediately when the hide method is called.
|
|
639
|
-
*/
|
|
640
|
-
this.onHide = new EventEmitter();
|
|
641
|
-
/**
|
|
642
|
-
* This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).
|
|
643
|
-
*/
|
|
644
|
-
this.onHidden = new EventEmitter();
|
|
645
|
-
this.element = this._elementRef.nativeElement;
|
|
646
|
-
}
|
|
647
|
-
get isMulti() {
|
|
648
|
-
return isTrueBooleanInput(this.multi);
|
|
649
|
-
}
|
|
650
|
-
ngAfterViewInit() {
|
|
651
|
-
super.ngAfterViewInit();
|
|
652
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
653
|
-
this.collapse = Collapse.getOrCreateInstance(this.collapseDiv.nativeElement, {
|
|
654
|
-
toggle: false
|
|
655
|
-
});
|
|
656
|
-
this.element.addEventListener('show.bs.collapse', event => this.onShow.emit(event));
|
|
657
|
-
this.element.addEventListener('shown.bs.collapse', event => this.onShown.emit(event));
|
|
658
|
-
this.element.addEventListener('hide.bs.collapse', event => this.onHide.emit(event));
|
|
659
|
-
this.element.addEventListener('hidden.bs.collapse', event => this.onHidden.emit(event));
|
|
660
|
-
}
|
|
661
|
-
/**
|
|
662
|
-
* Shows a resealable item
|
|
663
|
-
* NOTE: Returns to the caller before the collapsable element has actually been shown (onShown event).
|
|
664
|
-
*/
|
|
665
|
-
show() {
|
|
666
|
-
var _a;
|
|
667
|
-
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.show();
|
|
668
|
-
}
|
|
669
|
-
/**
|
|
670
|
-
* Hides a resealable item
|
|
671
|
-
* NOTE: Returns to the caller before the collapsable element has actually been hidden (onHidden Event)
|
|
672
|
-
*/
|
|
673
|
-
hide() {
|
|
674
|
-
var _a;
|
|
675
|
-
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.hide();
|
|
676
|
-
}
|
|
677
|
-
/**
|
|
678
|
-
* Toggle a collapsible item to show or hide it.
|
|
679
|
-
* NOTE: Returns to the caller before the collapsable element has actually been shown or hidden (onShown and onHidden events)
|
|
680
|
-
*/
|
|
681
|
-
toggle() {
|
|
682
|
-
var _a;
|
|
683
|
-
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.toggle();
|
|
684
|
-
}
|
|
685
|
-
/**
|
|
686
|
-
* Eliminates the possibility of an item being resealable
|
|
687
|
-
*/
|
|
688
|
-
dispose() {
|
|
689
|
-
var _a;
|
|
690
|
-
(_a = this.collapse) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
691
|
-
}
|
|
692
|
-
}
|
|
693
|
-
CollapseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CollapseComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
694
|
-
CollapseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CollapseComponent, selector: "it-collapse[id]", inputs: { multi: "multi", class: "class" }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden" }, viewQueries: [{ propertyName: "collapseDiv", first: true, predicate: ["collapse"], descendants: true }], exportAs: ["itCollapse"], usesInheritance: true, ngImport: i0, template: "<div [id]=\"id\" class=\"collapse {{class}}\" [class.multi-collapse]=\"isMulti\" #collapse>\n <ng-content></ng-content>\n</div>\n", styles: [""] });
|
|
695
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CollapseComponent, decorators: [{
|
|
696
|
-
type: Component,
|
|
697
|
-
args: [{ selector: 'it-collapse[id]', exportAs: 'itCollapse', template: "<div [id]=\"id\" class=\"collapse {{class}}\" [class.multi-collapse]=\"isMulti\" #collapse>\n <ng-content></ng-content>\n</div>\n" }]
|
|
698
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { multi: [{
|
|
699
|
-
type: Input
|
|
700
|
-
}], class: [{
|
|
701
|
-
type: Input
|
|
702
|
-
}], onShow: [{
|
|
703
|
-
type: Output
|
|
704
|
-
}], onShown: [{
|
|
705
|
-
type: Output
|
|
706
|
-
}], onHide: [{
|
|
707
|
-
type: Output
|
|
708
|
-
}], onHidden: [{
|
|
709
|
-
type: Output
|
|
710
|
-
}], collapseDiv: [{
|
|
711
|
-
type: ViewChild,
|
|
712
|
-
args: ['collapse']
|
|
713
|
-
}] } });
|
|
714
|
-
|
|
715
|
-
class LinkComponent {
|
|
716
|
-
constructor(_renderer, _elementRef) {
|
|
717
|
-
this._renderer = _renderer;
|
|
718
|
-
this._elementRef = _elementRef;
|
|
719
|
-
/**
|
|
720
|
-
* Custom class
|
|
721
|
-
*/
|
|
722
|
-
this.class = '';
|
|
723
|
-
}
|
|
724
|
-
get isExternalLink() {
|
|
725
|
-
return isTrueBooleanInput(this.externalLink);
|
|
726
|
-
}
|
|
727
|
-
get isDisabled() {
|
|
728
|
-
return isTrueBooleanInput(this.disabled);
|
|
729
|
-
}
|
|
730
|
-
ngAfterViewInit() {
|
|
731
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
732
|
-
}
|
|
733
|
-
}
|
|
734
|
-
LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LinkComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
735
|
-
LinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: LinkComponent, selector: "it-link", inputs: { href: "href", externalLink: "externalLink", disabled: "disabled", class: "class" }, ngImport: i0, template: "<a *ngIf=\"!isExternalLink; else externalLink\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] });
|
|
736
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LinkComponent, decorators: [{
|
|
737
|
-
type: Component,
|
|
738
|
-
args: [{ selector: 'it-link', template: "<a *ngIf=\"!isExternalLink; else externalLink\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [class]=\"class\" [attr.href]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n</ng-template>\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
739
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { href: [{
|
|
740
|
-
type: Input
|
|
741
|
-
}], externalLink: [{
|
|
742
|
-
type: Input
|
|
743
|
-
}], disabled: [{
|
|
744
|
-
type: Input
|
|
745
|
-
}], class: [{
|
|
746
|
-
type: Input
|
|
747
|
-
}] } });
|
|
748
|
-
|
|
749
|
-
class DropdownItemComponent extends LinkComponent {
|
|
750
|
-
constructor(_renderer, _elementRef, _changeDetectorRef) {
|
|
751
|
-
super(_renderer, _elementRef);
|
|
752
|
-
this._renderer = _renderer;
|
|
753
|
-
this._elementRef = _elementRef;
|
|
754
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
755
|
-
/**
|
|
756
|
-
* The icon position
|
|
757
|
-
* @default right
|
|
758
|
-
*/
|
|
759
|
-
this.iconPosition = 'right';
|
|
760
|
-
/**
|
|
761
|
-
* Change icon color if menu is dark
|
|
762
|
-
* @default false
|
|
763
|
-
*/
|
|
764
|
-
this.isDark = false;
|
|
765
|
-
}
|
|
766
|
-
get isDivider() {
|
|
767
|
-
return isTrueBooleanInput(this.divider);
|
|
768
|
-
}
|
|
769
|
-
get isActive() {
|
|
770
|
-
return isTrueBooleanInput(this.active);
|
|
771
|
-
}
|
|
772
|
-
get isLarge() {
|
|
773
|
-
return isTrueBooleanInput(this.large);
|
|
774
|
-
}
|
|
775
|
-
get linkClass() {
|
|
776
|
-
let linkClass = `list-item ${this.isActive ? 'active' : 'dropdown-item'}`;
|
|
777
|
-
if (this.isDisabled) {
|
|
778
|
-
linkClass += ' disabled';
|
|
779
|
-
}
|
|
780
|
-
if (this.isLarge) {
|
|
781
|
-
linkClass += ' large';
|
|
782
|
-
}
|
|
783
|
-
if (this.iconName) {
|
|
784
|
-
linkClass += ` ${this.iconPosition === 'right' ? 'right-icon' : 'left-icon'}`;
|
|
785
|
-
}
|
|
786
|
-
return linkClass;
|
|
787
|
-
}
|
|
788
|
-
setDark(dark) {
|
|
789
|
-
if (this.isDark !== dark) {
|
|
790
|
-
this.isDark = dark;
|
|
791
|
-
this._changeDetectorRef.detectChanges();
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
|
-
}
|
|
795
|
-
DropdownItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownItemComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
796
|
-
DropdownItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownItemComponent, selector: "it-dropdown-item", inputs: { divider: "divider", active: "active", large: "large", iconName: "iconName", iconPosition: "iconPosition" }, usesInheritance: true, ngImport: i0, template: "<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <it-icon *ngIf=\"iconName && iconPosition === 'left'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span><ng-content></ng-content></span>\n\n <it-icon *ngIf=\"iconName && iconPosition === 'right'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span *ngIf=\"isActive\" class=\"visually-hidden\">{{'it.core.active'|translate}}</span>\n </it-link>\n </ng-template>\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: LinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
797
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownItemComponent, decorators: [{
|
|
798
|
-
type: Component,
|
|
799
|
-
args: [{ selector: 'it-dropdown-item', template: "<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <it-icon *ngIf=\"iconName && iconPosition === 'left'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span><ng-content></ng-content></span>\n\n <it-icon *ngIf=\"iconName && iconPosition === 'right'\"\n size=\"sm\"\n [name]=\"iconName\"\n [color]=\"isDark ? 'light' : 'primary'\"\n [class]=\"iconPosition\"></it-icon>\n\n <span *ngIf=\"isActive\" class=\"visually-hidden\">{{'it.core.active'|translate}}</span>\n </it-link>\n </ng-template>\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"] }]
|
|
800
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { divider: [{
|
|
801
|
-
type: Input
|
|
802
|
-
}], active: [{
|
|
803
|
-
type: Input
|
|
804
|
-
}], large: [{
|
|
805
|
-
type: Input
|
|
806
|
-
}], iconName: [{
|
|
807
|
-
type: Input
|
|
808
|
-
}], iconPosition: [{
|
|
809
|
-
type: Input
|
|
810
|
-
}] } });
|
|
811
|
-
|
|
812
|
-
class DropdownComponent extends AbstractComponent {
|
|
813
|
-
get buttonClass() {
|
|
814
|
-
let btnClass = 'btn dropdown-toggle';
|
|
815
|
-
if (this.color) {
|
|
816
|
-
btnClass += ` btn-${this.color}`;
|
|
817
|
-
}
|
|
818
|
-
else {
|
|
819
|
-
btnClass += ` btn-dropdown`;
|
|
820
|
-
}
|
|
821
|
-
return btnClass;
|
|
822
|
-
}
|
|
823
|
-
get isFullWidth() {
|
|
824
|
-
return isTrueBooleanInput(this.fullWidth);
|
|
825
|
-
}
|
|
826
|
-
get isDark() {
|
|
827
|
-
return isTrueBooleanInput(this.dark);
|
|
828
|
-
}
|
|
829
|
-
ngOnChanges(changes) {
|
|
830
|
-
if (changes['dark'] && !changes['dark'].firstChange) {
|
|
831
|
-
this.setDarkItems();
|
|
832
|
-
}
|
|
833
|
-
}
|
|
834
|
-
ngAfterViewInit() {
|
|
835
|
-
super.ngAfterViewInit();
|
|
836
|
-
this.setDarkItems();
|
|
837
|
-
}
|
|
838
|
-
/**
|
|
839
|
-
* Set child items dark mode
|
|
840
|
-
* @private
|
|
841
|
-
*/
|
|
842
|
-
setDarkItems() {
|
|
843
|
-
var _a;
|
|
844
|
-
(_a = this.items) === null || _a === void 0 ? void 0 : _a.forEach(item => {
|
|
845
|
-
item.setDark(this.isDark);
|
|
846
|
-
});
|
|
847
|
-
}
|
|
848
|
-
}
|
|
849
|
-
DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
850
|
-
DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownComponent, selector: "it-dropdown[id]", inputs: { color: "color", direction: "direction", fullWidth: "fullWidth", dark: "dark" }, queries: [{ propertyName: "items", predicate: DropdownItemComponent }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown {{direction}}\">\n <button [id]=\"id\"\n [class]=\"buttonClass\"\n type=\"button\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <ng-content select=\"[button]\"></ng-content>\n <it-icon class=\"icon-expand\" name=\"expand\" size=\"sm\" [color]=\"this.color ? 'light' : 'primary'\"></it-icon>\n </button>\n\n <div class=\"dropdown-menu\" [class.full-width]=\"isFullWidth\" [class.dark]=\"isDark\" [attr.aria-labelledby]=\"id\">\n <div class=\"link-list-wrapper\">\n <div class=\"link-list-heading\">\n <ng-content select=\"[listHeading]\"></ng-content>\n </div>\n <ul class=\"link-list\">\n <ng-content select=\"[list]\"></ng-content>\n </ul>\n </div>\n </div>\n</div>\n", styles: [".link-list-heading:empty{display:none}\n"], dependencies: [{ kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }] });
|
|
851
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
852
|
-
type: Component,
|
|
853
|
-
args: [{ selector: 'it-dropdown[id]', template: "<div class=\"dropdown {{direction}}\">\n <button [id]=\"id\"\n [class]=\"buttonClass\"\n type=\"button\"\n data-bs-toggle=\"dropdown\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\">\n <ng-content select=\"[button]\"></ng-content>\n <it-icon class=\"icon-expand\" name=\"expand\" size=\"sm\" [color]=\"this.color ? 'light' : 'primary'\"></it-icon>\n </button>\n\n <div class=\"dropdown-menu\" [class.full-width]=\"isFullWidth\" [class.dark]=\"isDark\" [attr.aria-labelledby]=\"id\">\n <div class=\"link-list-wrapper\">\n <div class=\"link-list-heading\">\n <ng-content select=\"[listHeading]\"></ng-content>\n </div>\n <ul class=\"link-list\">\n <ng-content select=\"[list]\"></ng-content>\n </ul>\n </div>\n </div>\n</div>\n", styles: [".link-list-heading:empty{display:none}\n"] }]
|
|
854
|
-
}], propDecorators: { color: [{
|
|
855
|
-
type: Input
|
|
856
|
-
}], direction: [{
|
|
857
|
-
type: Input
|
|
858
|
-
}], fullWidth: [{
|
|
859
|
-
type: Input
|
|
860
|
-
}], dark: [{
|
|
861
|
-
type: Input
|
|
862
|
-
}], items: [{
|
|
863
|
-
type: ContentChildren,
|
|
864
|
-
args: [DropdownItemComponent]
|
|
865
|
-
}] } });
|
|
866
|
-
|
|
867
|
-
class ListComponent {
|
|
868
|
-
}
|
|
869
|
-
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
870
|
-
ListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ListComponent, selector: "it-list", inputs: { linkList: "linkList" }, ngImport: i0, template: "<div class=\"it-list-wrapper\">\n <ul class=\"it-list\">\n <ng-content></ng-content>\n </ul>\n</div>\n", styles: [""] });
|
|
871
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListComponent, decorators: [{
|
|
872
|
-
type: Component,
|
|
873
|
-
args: [{ selector: 'it-list', template: "<div class=\"it-list-wrapper\">\n <ul class=\"it-list\">\n <ng-content></ng-content>\n </ul>\n</div>\n" }]
|
|
874
|
-
}], propDecorators: { linkList: [{
|
|
875
|
-
type: Input
|
|
876
|
-
}] } });
|
|
877
|
-
|
|
878
|
-
class ListItemComponent extends LinkComponent {
|
|
879
|
-
get itemClass() {
|
|
880
|
-
let itemClass = 'list-item';
|
|
881
|
-
if (isTrueBooleanInput(this.active)) {
|
|
882
|
-
itemClass += ` active`;
|
|
883
|
-
}
|
|
884
|
-
if (isTrueBooleanInput(this.large)) {
|
|
885
|
-
itemClass += ` large`;
|
|
886
|
-
}
|
|
887
|
-
if (this.class) {
|
|
888
|
-
itemClass += ` ${this.class}`;
|
|
889
|
-
}
|
|
890
|
-
return itemClass;
|
|
891
|
-
}
|
|
892
|
-
}
|
|
893
|
-
ListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
894
|
-
ListItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ListItemComponent, selector: "it-list-item", inputs: { active: "active", large: "large", avatar: "avatar", image: "image" }, usesInheritance: true, ngImport: i0, template: "<li>\n <ng-template #content>\n <div class=\"it-rounded-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n <div *ngIf=\"avatar\" class=\"avatar size-lg\">\n <img [attr.src]=\"avatar\" alt=\"avatar\">\n </div>\n\n <div *ngIf=\"image\" class=\"it-thumb\">\n <img [attr.src]=\"image\" alt=\"thumb\">\n </div>\n\n <div class=\"it-right-zone\">\n <span class=\"text\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"[action]\"></ng-content>\n\n <span class=\"it-multiple\">\n <span class=\"metadata\">\n <ng-content select=\"[metadata]\"></ng-content>\n </span>\n\n <ng-content select=\"[multiple]\"></ng-content>\n </span>\n </div>\n </ng-template>\n\n\n <div *ngIf=\"!href; else link\" [class]=\"itemClass\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <ng-template #link>\n <it-link [class]=\"itemClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </it-link>\n </ng-template>\n</li>\n", styles: [".metadata:empty,.it-rounded-icon:empty{display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }] });
|
|
895
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListItemComponent, decorators: [{
|
|
896
|
-
type: Component,
|
|
897
|
-
args: [{ selector: 'it-list-item', template: "<li>\n <ng-template #content>\n <div class=\"it-rounded-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n <div *ngIf=\"avatar\" class=\"avatar size-lg\">\n <img [attr.src]=\"avatar\" alt=\"avatar\">\n </div>\n\n <div *ngIf=\"image\" class=\"it-thumb\">\n <img [attr.src]=\"image\" alt=\"thumb\">\n </div>\n\n <div class=\"it-right-zone\">\n <span class=\"text\">\n <ng-content></ng-content>\n </span>\n <ng-content select=\"[action]\"></ng-content>\n\n <span class=\"it-multiple\">\n <span class=\"metadata\">\n <ng-content select=\"[metadata]\"></ng-content>\n </span>\n\n <ng-content select=\"[multiple]\"></ng-content>\n </span>\n </div>\n </ng-template>\n\n\n <div *ngIf=\"!href; else link\" [class]=\"itemClass\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n\n <ng-template #link>\n <it-link [class]=\"itemClass\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </it-link>\n </ng-template>\n</li>\n", styles: [".metadata:empty,.it-rounded-icon:empty{display:none}\n"] }]
|
|
898
|
-
}], propDecorators: { active: [{
|
|
899
|
-
type: Input
|
|
900
|
-
}], large: [{
|
|
901
|
-
type: Input
|
|
902
|
-
}], avatar: [{
|
|
903
|
-
type: Input
|
|
904
|
-
}], image: [{
|
|
905
|
-
type: Input
|
|
906
|
-
}] } });
|
|
907
|
-
|
|
908
|
-
class ModalComponent extends AbstractComponent {
|
|
909
|
-
constructor() {
|
|
910
|
-
super(...arguments);
|
|
911
|
-
/**
|
|
912
|
-
* This event fires immediately when the instance method show is called.
|
|
913
|
-
*/
|
|
914
|
-
this.onShow = new EventEmitter();
|
|
915
|
-
/**
|
|
916
|
-
* This event fires when the modal has been made visible to the user (it will wait for CSS transitions to complete).
|
|
917
|
-
*/
|
|
918
|
-
this.onShown = new EventEmitter();
|
|
919
|
-
/**
|
|
920
|
-
* This event is raised immediately when the instance method hide has been called.
|
|
921
|
-
*/
|
|
922
|
-
this.onHide = new EventEmitter();
|
|
923
|
-
/**
|
|
924
|
-
* This event fires when the modal has finished hiding from the user (it will wait for CSS transitions to complete).
|
|
925
|
-
*/
|
|
926
|
-
this.onHidden = new EventEmitter();
|
|
927
|
-
/**
|
|
928
|
-
* This event is fired when the modal is displayed, its background is static and a click outside the modal or a press
|
|
929
|
-
* of the esc key occurs and data-bs-keyboard is set to false.
|
|
930
|
-
*/
|
|
931
|
-
this.onHidePrevented = new EventEmitter();
|
|
932
|
-
}
|
|
933
|
-
ngAfterViewInit() {
|
|
934
|
-
super.ngAfterViewInit();
|
|
935
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
|
|
936
|
-
if (this.modalElement) {
|
|
937
|
-
const element = this.modalElement.nativeElement;
|
|
938
|
-
this.modal = Modal.getOrCreateInstance(element);
|
|
939
|
-
element.addEventListener('show.bs.modal', event => this.onShow.emit(event));
|
|
940
|
-
element.addEventListener('shown.bs.modal', event => this.onShown.emit(event));
|
|
941
|
-
element.addEventListener('hide.bs.modal', event => this.onHide.emit(event));
|
|
942
|
-
element.addEventListener('hidden.bs.modal', event => this.onHidden.emit(event));
|
|
943
|
-
element.addEventListener('hidePrevented.bs.modal', event => this.onHidePrevented.emit(event));
|
|
944
|
-
}
|
|
945
|
-
}
|
|
946
|
-
/**
|
|
947
|
-
* Manually activate/deactivate a modal. Returns to the caller before the modal has actually been shown or hidden
|
|
948
|
-
*/
|
|
949
|
-
toggle() {
|
|
950
|
-
var _a;
|
|
951
|
-
(_a = this.modal) === null || _a === void 0 ? void 0 : _a.toggle();
|
|
952
|
-
}
|
|
953
|
-
/**
|
|
954
|
-
* Manually open a modal. Returns to the caller before the modal has actually been displayed
|
|
955
|
-
*/
|
|
956
|
-
show() {
|
|
957
|
-
var _a;
|
|
958
|
-
(_a = this.modal) === null || _a === void 0 ? void 0 : _a.show();
|
|
959
|
-
}
|
|
960
|
-
/**
|
|
961
|
-
* Manually hide a modal. Returns to the caller before the modal has actually been hidden
|
|
962
|
-
*/
|
|
963
|
-
hide() {
|
|
964
|
-
var _a;
|
|
965
|
-
(_a = this.modal) === null || _a === void 0 ? void 0 : _a.hide();
|
|
966
|
-
}
|
|
967
|
-
/**
|
|
968
|
-
* Manually reposition the modal if the height of the modal changes when it is opened (in case a scroll bar appears).
|
|
969
|
-
*/
|
|
970
|
-
handleUpdate() {
|
|
971
|
-
var _a;
|
|
972
|
-
(_a = this.modal) === null || _a === void 0 ? void 0 : _a.handleUpdate();
|
|
973
|
-
}
|
|
974
|
-
/**
|
|
975
|
-
* Destroys the modal of an element.
|
|
976
|
-
*/
|
|
977
|
-
dispose() {
|
|
978
|
-
var _a;
|
|
979
|
-
(_a = this.modal) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
980
|
-
}
|
|
981
|
-
}
|
|
982
|
-
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
983
|
-
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ModalComponent, selector: "it-modal[id][title]", inputs: { title: "title", size: "size" }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden", onHidePrevented: "onHidePrevented" }, viewQueries: [{ propertyName: "modalElement", first: true, predicate: ["modalElement"], descendants: true }], exportAs: ["itModal"], usesInheritance: true, ngImport: i0, template: "<div [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\" #modalElement>\n <div class=\"modal-dialog {{size}}\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-title h5 no_toc\" id=\"{{id}}-label\">{{title}}</h2>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" [attr.aria-label]=\"'it.core.close-modal'|translate\"></button>\n </div>\n <div class=\"modal-body mb-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer modal-footer-shadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal-footer:empty{display:none}\n"], dependencies: [{ kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
984
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, decorators: [{
|
|
985
|
-
type: Component,
|
|
986
|
-
args: [{ selector: 'it-modal[id][title]', exportAs: 'itModal', template: "<div [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\" #modalElement>\n <div class=\"modal-dialog {{size}}\">\n <div class=\"modal-content\">\n <div class=\"modal-header\">\n <h2 class=\"modal-title h5 no_toc\" id=\"{{id}}-label\">{{title}}</h2>\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" [attr.aria-label]=\"'it.core.close-modal'|translate\"></button>\n </div>\n <div class=\"modal-body mb-3\">\n <ng-content></ng-content>\n </div>\n <div class=\"modal-footer modal-footer-shadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal-footer:empty{display:none}\n"] }]
|
|
987
|
-
}], propDecorators: { title: [{
|
|
988
|
-
type: Input
|
|
989
|
-
}], size: [{
|
|
990
|
-
type: Input
|
|
991
|
-
}], onShow: [{
|
|
992
|
-
type: Output
|
|
993
|
-
}], onShown: [{
|
|
994
|
-
type: Output
|
|
995
|
-
}], onHide: [{
|
|
996
|
-
type: Output
|
|
997
|
-
}], onHidden: [{
|
|
998
|
-
type: Output
|
|
999
|
-
}], onHidePrevented: [{
|
|
1000
|
-
type: Output
|
|
1001
|
-
}], modalElement: [{
|
|
1002
|
-
type: ViewChild,
|
|
1003
|
-
args: ['modalElement', { static: false }]
|
|
1004
|
-
}] } });
|
|
1005
|
-
|
|
1006
|
-
var NotificationType;
|
|
1007
|
-
(function (NotificationType) {
|
|
1008
|
-
NotificationType["Standard"] = "standard";
|
|
1009
|
-
NotificationType["Success"] = "success";
|
|
1010
|
-
NotificationType["Error"] = "error";
|
|
1011
|
-
NotificationType["Info"] = "info";
|
|
1012
|
-
NotificationType["Warning"] = "warning";
|
|
1013
|
-
})(NotificationType || (NotificationType = {}));
|
|
1014
|
-
var NotificationPosition;
|
|
1015
|
-
(function (NotificationPosition) {
|
|
1016
|
-
NotificationPosition["Top"] = "top-fix mt-3";
|
|
1017
|
-
NotificationPosition["Bottom"] = "bottom-fix mb-3";
|
|
1018
|
-
NotificationPosition["Left"] = "left-fix ms-3";
|
|
1019
|
-
NotificationPosition["Right"] = "right-fix me-3";
|
|
1020
|
-
})(NotificationPosition || (NotificationPosition = {}));
|
|
1021
|
-
|
|
1022
|
-
class NotificationsService {
|
|
1023
|
-
constructor() {
|
|
1024
|
-
this.subject = new Subject();
|
|
1025
|
-
}
|
|
1026
|
-
/**
|
|
1027
|
-
* Listen on notification arrived
|
|
1028
|
-
* @param filterType filter type of notification
|
|
1029
|
-
*/
|
|
1030
|
-
onNotification(filterType) {
|
|
1031
|
-
return this.subject.asObservable().pipe(filter(n => n && (!filterType || (n.type === filterType))));
|
|
1032
|
-
}
|
|
1033
|
-
/**
|
|
1034
|
-
* Show new notification
|
|
1035
|
-
* @param notification notification
|
|
1036
|
-
*/
|
|
1037
|
-
addNotification(notification) {
|
|
1038
|
-
this.subject.next(notification);
|
|
1039
|
-
}
|
|
1040
|
-
/**
|
|
1041
|
-
* Create new Standard notification
|
|
1042
|
-
* @param title notification title
|
|
1043
|
-
* @param message notification message
|
|
1044
|
-
* @param dismissable notification dismissable
|
|
1045
|
-
* @param duration notification duration (millis)
|
|
1046
|
-
* @param position notification position
|
|
1047
|
-
*/
|
|
1048
|
-
standard(title, message, dismissable = true, duration, position) {
|
|
1049
|
-
this.addNotification({
|
|
1050
|
-
type: NotificationType.Standard,
|
|
1051
|
-
message,
|
|
1052
|
-
title,
|
|
1053
|
-
duration,
|
|
1054
|
-
dismissable,
|
|
1055
|
-
position
|
|
1056
|
-
});
|
|
1057
|
-
}
|
|
1058
|
-
/**
|
|
1059
|
-
* Create new Success notification
|
|
1060
|
-
* @param title notification title
|
|
1061
|
-
* @param message notification message
|
|
1062
|
-
* @param dismissable notification dismissable
|
|
1063
|
-
* @param duration notification duration (millis)
|
|
1064
|
-
* @param position notification position
|
|
1065
|
-
*/
|
|
1066
|
-
success(title, message, dismissable = true, duration, position) {
|
|
1067
|
-
this.addNotification({
|
|
1068
|
-
type: NotificationType.Success,
|
|
1069
|
-
message,
|
|
1070
|
-
title,
|
|
1071
|
-
duration,
|
|
1072
|
-
dismissable,
|
|
1073
|
-
position
|
|
1074
|
-
});
|
|
1075
|
-
}
|
|
1076
|
-
/**
|
|
1077
|
-
* Create new Error notification
|
|
1078
|
-
* @param title notification title
|
|
1079
|
-
* @param message notification message
|
|
1080
|
-
* @param dismissable notification dismissable
|
|
1081
|
-
* @param duration notification duration (millis)
|
|
1082
|
-
* @param position notification position
|
|
1083
|
-
*/
|
|
1084
|
-
error(title, message, dismissable = true, duration, position) {
|
|
1085
|
-
this.addNotification({
|
|
1086
|
-
type: NotificationType.Error,
|
|
1087
|
-
message,
|
|
1088
|
-
title,
|
|
1089
|
-
duration,
|
|
1090
|
-
dismissable,
|
|
1091
|
-
position
|
|
1092
|
-
});
|
|
1093
|
-
}
|
|
1094
|
-
/**
|
|
1095
|
-
* Create new Warning notification
|
|
1096
|
-
* @param title notification title
|
|
1097
|
-
* @param message notification message
|
|
1098
|
-
* @param dismissable notification dismissable
|
|
1099
|
-
* @param duration notification duration (millis)
|
|
1100
|
-
* @param position notification position
|
|
1101
|
-
*/
|
|
1102
|
-
warning(title, message, dismissable = true, duration, position) {
|
|
1103
|
-
this.addNotification({
|
|
1104
|
-
type: NotificationType.Warning,
|
|
1105
|
-
message,
|
|
1106
|
-
title,
|
|
1107
|
-
duration,
|
|
1108
|
-
dismissable,
|
|
1109
|
-
position
|
|
1110
|
-
});
|
|
1111
|
-
}
|
|
1112
|
-
/**
|
|
1113
|
-
* Create new Info notification
|
|
1114
|
-
* @param title notification title
|
|
1115
|
-
* @param message notification message
|
|
1116
|
-
* @param dismissable notification dismissable
|
|
1117
|
-
* @param duration notification duration (millis)
|
|
1118
|
-
* @param position notification position
|
|
1119
|
-
*/
|
|
1120
|
-
info(title, message, dismissable = true, duration, position) {
|
|
1121
|
-
this.addNotification({
|
|
1122
|
-
type: NotificationType.Info,
|
|
1123
|
-
message,
|
|
1124
|
-
title,
|
|
1125
|
-
duration,
|
|
1126
|
-
dismissable,
|
|
1127
|
-
position
|
|
1128
|
-
});
|
|
1129
|
-
}
|
|
1130
|
-
}
|
|
1131
|
-
NotificationsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1132
|
-
NotificationsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationsService, providedIn: 'root' });
|
|
1133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationsService, decorators: [{
|
|
1134
|
-
type: Injectable,
|
|
1135
|
-
args: [{
|
|
1136
|
-
providedIn: 'root'
|
|
1137
|
-
}]
|
|
1138
|
-
}] });
|
|
1139
|
-
|
|
1140
|
-
class NotificationsComponent {
|
|
1141
|
-
constructor(_notificationService) {
|
|
1142
|
-
this._notificationService = _notificationService;
|
|
1143
|
-
/**
|
|
1144
|
-
* Default notifications duration
|
|
1145
|
-
* @default 8000
|
|
1146
|
-
*/
|
|
1147
|
-
this.duration = 8000;
|
|
1148
|
-
this.notifications = [];
|
|
1149
|
-
this.subscription = this._notificationService.onNotification().subscribe(notification => {
|
|
1150
|
-
if (!notification.duration) {
|
|
1151
|
-
notification.duration = this.duration; // Add duration if not is set
|
|
1152
|
-
}
|
|
1153
|
-
if (!notification.position && this.position) {
|
|
1154
|
-
notification.position = this.position; // Add position if not is set
|
|
1155
|
-
}
|
|
1156
|
-
const newNotification = Object.assign(Object.assign({}, notification), { id: `${notification.type}-${this.notifications.length}-notification` });
|
|
1157
|
-
const index = this.notifications.push(newNotification);
|
|
1158
|
-
setTimeout(() => {
|
|
1159
|
-
// Show the notification
|
|
1160
|
-
new Notification(document.getElementById(newNotification.id), {
|
|
1161
|
-
timeout: notification.duration
|
|
1162
|
-
}).show();
|
|
1163
|
-
// Clear notification after the duration
|
|
1164
|
-
setTimeout(() => {
|
|
1165
|
-
this.notifications = this.notifications.splice(index, 1);
|
|
1166
|
-
}, notification.duration);
|
|
1167
|
-
}, 200);
|
|
1168
|
-
});
|
|
1169
|
-
}
|
|
1170
|
-
ngOnDestroy() {
|
|
1171
|
-
this.subscription.unsubscribe();
|
|
1172
|
-
}
|
|
1173
|
-
get NotificationType() {
|
|
1174
|
-
return NotificationType;
|
|
1175
|
-
}
|
|
1176
|
-
/**
|
|
1177
|
-
* Hide the notification
|
|
1178
|
-
* @param id
|
|
1179
|
-
*/
|
|
1180
|
-
hideNotification(id) {
|
|
1181
|
-
var _a;
|
|
1182
|
-
(_a = Notification.getInstance(document.getElementById(id))) === null || _a === void 0 ? void 0 : _a.hide();
|
|
1183
|
-
}
|
|
1184
|
-
}
|
|
1185
|
-
NotificationsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationsComponent, deps: [{ token: NotificationsService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1186
|
-
NotificationsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: NotificationsComponent, selector: "it-notifications", inputs: { duration: "duration", position: "position" }, ngImport: i0, template: "<div *ngFor=\"let notification of notifications; let i = index\"\n [id]=\"notification.id\"\n class=\"notification {{notification.position}} {{notification.type}}\"\n [class.with-icon]=\"notification.type !== NotificationType.Standard\"\n [class.dismissable]=\"notification.dismissable\"\n role=\"alert\" [attr.aria-labelledby]=\"notification.id+'-title'\">\n\n <h2 [id]=\"notification.id+'-title'\" class=\"h5\">\n <ng-container>{{notification.title}}</ng-container>\n </h2>\n <p *ngIf=\"notification.message\">{{notification.message}}</p>\n\n <button *ngIf=\"notification.dismissable\" type=\"button\" class=\"btn notification-close\"\n (click)=\"hideNotification(notification.id)\">\n <it-icon name=\"close\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.close-notification'|translate:{title: notification.title} }}</span>\n </button>\n</div>\n", styles: [".notification{z-index:10000}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
1187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotificationsComponent, decorators: [{
|
|
1188
|
-
type: Component,
|
|
1189
|
-
args: [{ selector: 'it-notifications', template: "<div *ngFor=\"let notification of notifications; let i = index\"\n [id]=\"notification.id\"\n class=\"notification {{notification.position}} {{notification.type}}\"\n [class.with-icon]=\"notification.type !== NotificationType.Standard\"\n [class.dismissable]=\"notification.dismissable\"\n role=\"alert\" [attr.aria-labelledby]=\"notification.id+'-title'\">\n\n <h2 [id]=\"notification.id+'-title'\" class=\"h5\">\n <ng-container>{{notification.title}}</ng-container>\n </h2>\n <p *ngIf=\"notification.message\">{{notification.message}}</p>\n\n <button *ngIf=\"notification.dismissable\" type=\"button\" class=\"btn notification-close\"\n (click)=\"hideNotification(notification.id)\">\n <it-icon name=\"close\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.close-notification'|translate:{title: notification.title} }}</span>\n </button>\n</div>\n", styles: [".notification{z-index:10000}\n"] }]
|
|
1190
|
-
}], ctorParameters: function () { return [{ type: NotificationsService }]; }, propDecorators: { duration: [{
|
|
1191
|
-
type: Input
|
|
1192
|
-
}], position: [{
|
|
1193
|
-
type: Input
|
|
1194
|
-
}] } });
|
|
1195
|
-
|
|
1196
|
-
class PaginationComponent {
|
|
1197
|
-
constructor() {
|
|
1198
|
-
/**
|
|
1199
|
-
* Fired when page is changed
|
|
1200
|
-
*/
|
|
1201
|
-
this.newPageEvent = new EventEmitter();
|
|
1202
|
-
}
|
|
1203
|
-
/**
|
|
1204
|
-
* Create array to generate pagination of 5 element
|
|
1205
|
-
*/
|
|
1206
|
-
get pages() {
|
|
1207
|
-
const length = this.pageNumbers > 5 ? 5 : this.pageNumbers;
|
|
1208
|
-
let start = (this.currentPage > 1 && this.pageNumbers > 5) ? this.currentPage - 1 : 1;
|
|
1209
|
-
if (this.pageNumbers > 5) {
|
|
1210
|
-
if ((this.currentPage + 1) >= this.pageNumbers) {
|
|
1211
|
-
start -= 2;
|
|
1212
|
-
}
|
|
1213
|
-
else if (this.currentPage >= (this.pageNumbers - 2)) {
|
|
1214
|
-
start -= (this.pageNumbers - (this.currentPage + 1));
|
|
1215
|
-
}
|
|
1216
|
-
}
|
|
1217
|
-
return Array.from({ length }, (_, i) => i + start);
|
|
1218
|
-
}
|
|
1219
|
-
/**
|
|
1220
|
-
* On click page change
|
|
1221
|
-
* @param newPage the new page of table
|
|
1222
|
-
*/
|
|
1223
|
-
pageChange(newPage) {
|
|
1224
|
-
this.newPageEvent.emit(newPage - 1); // emit new page
|
|
1225
|
-
}
|
|
1226
|
-
}
|
|
1227
|
-
PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1228
|
-
PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PaginationComponent, selector: "it-pagination[currentPage][pageNumbers]", inputs: { currentPage: "currentPage", pageNumbers: "pageNumbers", alignment: "alignment" }, outputs: { newPageEvent: "newPageEvent" }, ngImport: i0, template: "<nav class=\"pagination-wrapper\"\n [class.justify-content-center]=\"alignment==='center'\"\n [class.justify-content-end]=\"alignment==='end'\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage < 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage)\">\n <it-icon name=\"chevron-left\" color=\"primary\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.previous-page'|translate}}</span>\n </a>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && currentPage > 2\">\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(1)\">1</a></li>\n <li class=\"page-item\" *ngIf=\"currentPage > 3\">\n <span class=\"page-link\">...</span>\n </li>\n </ng-container>\n\n <li class=\"page-item\" *ngFor=\"let page of pages\">\n <a class=\"page-link\" aria-current=\"page\" *ngIf=\"page === (currentPage + 1); else inactivePage\">\n <span class=\"d-inline-block d-sm-none\">{{'it.core.page'|translate}}</span> {{page}}\n </a>\n <ng-template #inactivePage>\n <a class=\"page-link\" (click)=\"pageChange(page)\">{{page}}</a>\n </ng-template>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && pageNumbers - currentPage > 3\">\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(pageNumbers)\">{{pageNumbers}}</a></li>\n </ng-container>\n\n <li class=\"page-item\" [class.disabled]=\"currentPage >= pageNumbers - 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage + 2)\">\n <span class=\"visually-hidden\">{{'it.core.next-page'|translate}}</span>\n <it-icon name=\"chevron-right\" color=\"primary\"></it-icon>\n </a>\n </li>\n </ul>\n</nav>\n", styles: [".page-item:not(.disabled)>a.page-link{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
1229
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
1230
|
-
type: Component,
|
|
1231
|
-
args: [{ selector: 'it-pagination[currentPage][pageNumbers]', template: "<nav class=\"pagination-wrapper\"\n [class.justify-content-center]=\"alignment==='center'\"\n [class.justify-content-end]=\"alignment==='end'\">\n <ul class=\"pagination\">\n <li class=\"page-item\" [class.disabled]=\"currentPage < 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage)\">\n <it-icon name=\"chevron-left\" color=\"primary\"></it-icon>\n <span class=\"visually-hidden\">{{'it.core.previous-page'|translate}}</span>\n </a>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && currentPage > 2\">\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(1)\">1</a></li>\n <li class=\"page-item\" *ngIf=\"currentPage > 3\">\n <span class=\"page-link\">...</span>\n </li>\n </ng-container>\n\n <li class=\"page-item\" *ngFor=\"let page of pages\">\n <a class=\"page-link\" aria-current=\"page\" *ngIf=\"page === (currentPage + 1); else inactivePage\">\n <span class=\"d-inline-block d-sm-none\">{{'it.core.page'|translate}}</span> {{page}}\n </a>\n <ng-template #inactivePage>\n <a class=\"page-link\" (click)=\"pageChange(page)\">{{page}}</a>\n </ng-template>\n </li>\n\n <ng-container *ngIf=\"pageNumbers > 5 && pageNumbers - currentPage > 3\">\n <li class=\"page-item\">\n <span class=\"page-link\">...</span>\n </li>\n <li class=\"page-item\"><a class=\"page-link\" (click)=\"pageChange(pageNumbers)\">{{pageNumbers}}</a></li>\n </ng-container>\n\n <li class=\"page-item\" [class.disabled]=\"currentPage >= pageNumbers - 1\">\n <a class=\"page-link\" (click)=\"pageChange(currentPage + 2)\">\n <span class=\"visually-hidden\">{{'it.core.next-page'|translate}}</span>\n <it-icon name=\"chevron-right\" color=\"primary\"></it-icon>\n </a>\n </li>\n </ul>\n</nav>\n", styles: [".page-item:not(.disabled)>a.page-link{cursor:pointer}\n"] }]
|
|
1232
|
-
}], propDecorators: { currentPage: [{
|
|
1233
|
-
type: Input
|
|
1234
|
-
}], pageNumbers: [{
|
|
1235
|
-
type: Input
|
|
1236
|
-
}], alignment: [{
|
|
1237
|
-
type: Input
|
|
1238
|
-
}], newPageEvent: [{
|
|
1239
|
-
type: Output
|
|
1240
|
-
}] } });
|
|
1241
|
-
|
|
1242
|
-
class PopoverDirective {
|
|
1243
|
-
constructor(_elementRef) {
|
|
1244
|
-
this._elementRef = _elementRef;
|
|
1245
|
-
/**
|
|
1246
|
-
* This event fires immediately when the show method is called.
|
|
1247
|
-
*/
|
|
1248
|
-
this.onShow = new EventEmitter();
|
|
1249
|
-
/**
|
|
1250
|
-
* This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).
|
|
1251
|
-
*/
|
|
1252
|
-
this.onShown = new EventEmitter();
|
|
1253
|
-
/**
|
|
1254
|
-
* This event fires immediately when the hide method is called.
|
|
1255
|
-
*/
|
|
1256
|
-
this.onHide = new EventEmitter();
|
|
1257
|
-
/**
|
|
1258
|
-
* This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).
|
|
1259
|
-
*/
|
|
1260
|
-
this.onHidden = new EventEmitter();
|
|
1261
|
-
/**
|
|
1262
|
-
* This event fires after the show event when the tooltip template has been added to the DOM.
|
|
1263
|
-
*/
|
|
1264
|
-
this.onInserted = new EventEmitter();
|
|
1265
|
-
this.element = this._elementRef.nativeElement;
|
|
1266
|
-
}
|
|
1267
|
-
/**
|
|
1268
|
-
* Define the popover content
|
|
1269
|
-
* @param content the popover content
|
|
1270
|
-
*/
|
|
1271
|
-
set content(content) {
|
|
1272
|
-
this.element.setAttribute('data-bs-content', content);
|
|
1273
|
-
}
|
|
1274
|
-
/**
|
|
1275
|
-
* Define the popover title
|
|
1276
|
-
* @param title the popover title
|
|
1277
|
-
*/
|
|
1278
|
-
set title(title) {
|
|
1279
|
-
if (title) {
|
|
1280
|
-
// this.element.setAttribute("title", title);
|
|
1281
|
-
this.element.setAttribute('data-bs-original-title', title);
|
|
1282
|
-
}
|
|
1283
|
-
}
|
|
1284
|
-
/**
|
|
1285
|
-
* Define the popover placement
|
|
1286
|
-
* @param placement
|
|
1287
|
-
*/
|
|
1288
|
-
set placement(placement) {
|
|
1289
|
-
this.element.setAttribute('data-bs-placement', placement);
|
|
1290
|
-
}
|
|
1291
|
-
/**
|
|
1292
|
-
* Appends the popover to a specific element.
|
|
1293
|
-
* @param container
|
|
1294
|
-
*/
|
|
1295
|
-
set container(container) {
|
|
1296
|
-
if (container) {
|
|
1297
|
-
this.element.setAttribute('data-container', container);
|
|
1298
|
-
}
|
|
1299
|
-
}
|
|
1300
|
-
/**
|
|
1301
|
-
* Indicates whether the title contains html
|
|
1302
|
-
* @param html true if contain html
|
|
1303
|
-
*/
|
|
1304
|
-
set html(html) {
|
|
1305
|
-
this.element.setAttribute('data-bs-html', isTrueBooleanInput(html) ? 'true' : 'false');
|
|
1306
|
-
}
|
|
1307
|
-
/**
|
|
1308
|
-
* How popover is triggered
|
|
1309
|
-
* - 'hover': To open the Popover on hover of the mouse over the element
|
|
1310
|
-
* - 'focus': To ignore popovers on the user's next click of an element other than the toggle element.
|
|
1311
|
-
* @param trigger
|
|
1312
|
-
*/
|
|
1313
|
-
set hover(trigger) {
|
|
1314
|
-
if (trigger) {
|
|
1315
|
-
this.element.setAttribute('data-bs-trigger', trigger);
|
|
1316
|
-
}
|
|
1317
|
-
}
|
|
1318
|
-
ngAfterViewInit() {
|
|
1319
|
-
this.element.setAttribute('data-bs-toggle', 'popover');
|
|
1320
|
-
this.popover = Popover.getOrCreateInstance(this.element);
|
|
1321
|
-
this.element.addEventListener('show.bs.popover', event => this.onShow.emit(event));
|
|
1322
|
-
this.element.addEventListener('shown.bs.popover', event => this.onShown.emit(event));
|
|
1323
|
-
this.element.addEventListener('hide.bs.popover', event => this.onHide.emit(event));
|
|
1324
|
-
this.element.addEventListener('hidden.bs.popover', event => this.onHidden.emit(event));
|
|
1325
|
-
this.element.addEventListener('inserted.bs.popover', event => this.onInserted.emit(event));
|
|
1326
|
-
}
|
|
1327
|
-
/**
|
|
1328
|
-
* Shows the popover of an item.
|
|
1329
|
-
*/
|
|
1330
|
-
show() {
|
|
1331
|
-
var _a;
|
|
1332
|
-
(_a = this.popover) === null || _a === void 0 ? void 0 : _a.show();
|
|
1333
|
-
}
|
|
1334
|
-
/**
|
|
1335
|
-
* Hide the popover of an element.
|
|
1336
|
-
*/
|
|
1337
|
-
hide() {
|
|
1338
|
-
var _a;
|
|
1339
|
-
(_a = this.popover) === null || _a === void 0 ? void 0 : _a.hide();
|
|
1340
|
-
}
|
|
1341
|
-
/**
|
|
1342
|
-
* Activate / Deactivate the popover of an element
|
|
1343
|
-
*/
|
|
1344
|
-
toggle() {
|
|
1345
|
-
var _a;
|
|
1346
|
-
(_a = this.popover) === null || _a === void 0 ? void 0 : _a.toggle();
|
|
1347
|
-
}
|
|
1348
|
-
/**
|
|
1349
|
-
* Hides and destroys the popover of an element.
|
|
1350
|
-
*/
|
|
1351
|
-
dispose() {
|
|
1352
|
-
var _a;
|
|
1353
|
-
(_a = this.popover) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
1354
|
-
}
|
|
1355
|
-
/**
|
|
1356
|
-
* Gives the popover of an element a chance to be shown.
|
|
1357
|
-
*/
|
|
1358
|
-
enable() {
|
|
1359
|
-
var _a;
|
|
1360
|
-
(_a = this.popover) === null || _a === void 0 ? void 0 : _a.enable();
|
|
1361
|
-
}
|
|
1362
|
-
/**
|
|
1363
|
-
* Removes the ability to show the popover of an element.
|
|
1364
|
-
*/
|
|
1365
|
-
disable() {
|
|
1366
|
-
var _a;
|
|
1367
|
-
(_a = this.popover) === null || _a === void 0 ? void 0 : _a.disable();
|
|
1368
|
-
}
|
|
1369
|
-
/**
|
|
1370
|
-
* Toggles the possibility that the popover of an element is shown or hidden.
|
|
1371
|
-
*/
|
|
1372
|
-
toggleEnabled() {
|
|
1373
|
-
var _a;
|
|
1374
|
-
(_a = this.popover) === null || _a === void 0 ? void 0 : _a.disable();
|
|
1375
|
-
}
|
|
1376
|
-
/**
|
|
1377
|
-
* Updates the position of an element's popover.
|
|
1378
|
-
*/
|
|
1379
|
-
update() {
|
|
1380
|
-
var _a;
|
|
1381
|
-
(_a = this.popover) === null || _a === void 0 ? void 0 : _a.disable();
|
|
1382
|
-
}
|
|
1383
|
-
}
|
|
1384
|
-
PopoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PopoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1385
|
-
PopoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: PopoverDirective, selector: "[itPopover]", inputs: { content: ["itPopover", "content"], title: ["popoverTitle", "title"], placement: ["popoverPlacement", "placement"], container: ["popoverContainer", "container"], html: ["popoverHtml", "html"], hover: ["popoverTrigger", "hover"] }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden", onInserted: "onInserted" }, exportAs: ["itPopover"], ngImport: i0 });
|
|
1386
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PopoverDirective, decorators: [{
|
|
1387
|
-
type: Directive,
|
|
1388
|
-
args: [{
|
|
1389
|
-
selector: '[itPopover]',
|
|
1390
|
-
exportAs: 'itPopover'
|
|
1391
|
-
}]
|
|
1392
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { content: [{
|
|
1393
|
-
type: Input,
|
|
1394
|
-
args: ['itPopover']
|
|
1395
|
-
}], title: [{
|
|
1396
|
-
type: Input,
|
|
1397
|
-
args: ['popoverTitle']
|
|
1398
|
-
}], placement: [{
|
|
1399
|
-
type: Input,
|
|
1400
|
-
args: ['popoverPlacement']
|
|
1401
|
-
}], container: [{
|
|
1402
|
-
type: Input,
|
|
1403
|
-
args: ['popoverContainer']
|
|
1404
|
-
}], html: [{
|
|
1405
|
-
type: Input,
|
|
1406
|
-
args: ['popoverHtml']
|
|
1407
|
-
}], hover: [{
|
|
1408
|
-
type: Input,
|
|
1409
|
-
args: ['popoverTrigger']
|
|
1410
|
-
}], onShow: [{
|
|
1411
|
-
type: Output
|
|
1412
|
-
}], onShown: [{
|
|
1413
|
-
type: Output
|
|
1414
|
-
}], onHide: [{
|
|
1415
|
-
type: Output
|
|
1416
|
-
}], onHidden: [{
|
|
1417
|
-
type: Output
|
|
1418
|
-
}], onInserted: [{
|
|
1419
|
-
type: Output
|
|
1420
|
-
}] } });
|
|
1421
|
-
|
|
1422
|
-
class ProgressButtonComponent {
|
|
1423
|
-
get isProgress() {
|
|
1424
|
-
return typeof this.progress === 'number' || isTrueBooleanInput(this.progress);
|
|
1425
|
-
}
|
|
1426
|
-
get progressValue() {
|
|
1427
|
-
return typeof this.progress === 'number' ? this.progress : 0;
|
|
1428
|
-
}
|
|
1429
|
-
get isIndeterminate() {
|
|
1430
|
-
return typeof this.progress !== 'number' && isTrueBooleanInput(this.progress);
|
|
1431
|
-
}
|
|
1432
|
-
}
|
|
1433
|
-
ProgressButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1434
|
-
ProgressButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ProgressButtonComponent, selector: "button[itButton][progress]", inputs: { progress: "progress", progressColor: "progressColor" }, ngImport: i0, template: "<ng-content></ng-content>\n\n<it-progress-bar *ngIf=\"isProgress\"\n [value]=\"progressValue\"\n [indeterminate]=\"isIndeterminate\"\n [color]=\"progressColor\"></it-progress-bar>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ProgressBarComponent, selector: "it-progress-bar[value]", inputs: ["value", "showLabel", "indeterminate", "color"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1435
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressButtonComponent, decorators: [{
|
|
1436
|
-
type: Component,
|
|
1437
|
-
args: [{ selector: 'button[itButton][progress]', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-content></ng-content>\n\n<it-progress-bar *ngIf=\"isProgress\"\n [value]=\"progressValue\"\n [indeterminate]=\"isIndeterminate\"\n [color]=\"progressColor\"></it-progress-bar>\n" }]
|
|
1438
|
-
}], propDecorators: { progress: [{
|
|
1439
|
-
type: Input
|
|
1440
|
-
}], progressColor: [{
|
|
1441
|
-
type: Input
|
|
1442
|
-
}] } });
|
|
1443
|
-
|
|
1444
|
-
class SpinnerComponent {
|
|
1445
|
-
constructor() {
|
|
1446
|
-
/**
|
|
1447
|
-
* The spinner is active
|
|
1448
|
-
*/
|
|
1449
|
-
this.active = true;
|
|
1450
|
-
}
|
|
1451
|
-
get isActive() {
|
|
1452
|
-
return isTrueBooleanInput(this.active);
|
|
1453
|
-
}
|
|
1454
|
-
get isSmall() {
|
|
1455
|
-
return isTrueBooleanInput(this.small);
|
|
1456
|
-
}
|
|
1457
|
-
get isDouble() {
|
|
1458
|
-
return isTrueBooleanInput(this.double);
|
|
1459
|
-
}
|
|
1460
|
-
}
|
|
1461
|
-
SpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SpinnerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1462
|
-
SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SpinnerComponent, selector: "it-spinner", inputs: { active: "active", small: "small", double: "double" }, ngImport: i0, template: "<div class=\"progress-spinner\"\n [class.progress-spinner-double]=\"isDouble\"\n [class.progress-spinner-active]=\"isActive\"\n [class.size-sm]=\"isSmall\">\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <span class=\"visually-hidden\">{{'it.core.loading'|translate}}...</span>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
1463
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SpinnerComponent, decorators: [{
|
|
1464
|
-
type: Component,
|
|
1465
|
-
args: [{ selector: 'it-spinner', template: "<div class=\"progress-spinner\"\n [class.progress-spinner-double]=\"isDouble\"\n [class.progress-spinner-active]=\"isActive\"\n [class.size-sm]=\"isSmall\">\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <div *ngIf=\"isDouble\" class=\"progress-spinner-inner\"></div>\n <span class=\"visually-hidden\">{{'it.core.loading'|translate}}...</span>\n</div>\n" }]
|
|
1466
|
-
}], propDecorators: { active: [{
|
|
1467
|
-
type: Input
|
|
1468
|
-
}], small: [{
|
|
1469
|
-
type: Input
|
|
1470
|
-
}], double: [{
|
|
1471
|
-
type: Input
|
|
1472
|
-
}] } });
|
|
1473
|
-
|
|
1474
|
-
class TabItemComponent extends AbstractComponent {
|
|
1475
|
-
constructor() {
|
|
1476
|
-
super(...arguments);
|
|
1477
|
-
/**
|
|
1478
|
-
* Custom class
|
|
1479
|
-
*/
|
|
1480
|
-
this.class = '';
|
|
1481
|
-
}
|
|
1482
|
-
ngAfterViewInit() {
|
|
1483
|
-
super.ngAfterViewInit();
|
|
1484
|
-
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
1485
|
-
}
|
|
1486
|
-
}
|
|
1487
|
-
TabItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1488
|
-
TabItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabItemComponent, selector: "it-tab-item[id]", inputs: { label: "label", icon: "icon", active: "active", disabled: "disabled", class: "class" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""] });
|
|
1489
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabItemComponent, decorators: [{
|
|
1490
|
-
type: Component,
|
|
1491
|
-
args: [{ selector: 'it-tab-item[id]', template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
1492
|
-
}], propDecorators: { label: [{
|
|
1493
|
-
type: Input
|
|
1494
|
-
}], icon: [{
|
|
1495
|
-
type: Input
|
|
1496
|
-
}], active: [{
|
|
1497
|
-
type: Input
|
|
1498
|
-
}], disabled: [{
|
|
1499
|
-
type: Input
|
|
1500
|
-
}], class: [{
|
|
1501
|
-
type: Input
|
|
1502
|
-
}], htmlContent: [{
|
|
1503
|
-
type: ViewChild,
|
|
1504
|
-
args: [TemplateRef]
|
|
1505
|
-
}] } });
|
|
1506
|
-
|
|
1507
|
-
class TabContainerComponent {
|
|
1508
|
-
constructor(_changeDetectorRef) {
|
|
1509
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
1510
|
-
}
|
|
1511
|
-
isTrueBooleanInput(booleanInput) {
|
|
1512
|
-
return isTrueBooleanInput(booleanInput);
|
|
1513
|
-
}
|
|
1514
|
-
ngAfterViewInit() {
|
|
1515
|
-
this._changeDetectorRef.detectChanges();
|
|
1516
|
-
}
|
|
1517
|
-
}
|
|
1518
|
-
TabContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabContainerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
1519
|
-
TabContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabContainerComponent, selector: "it-tab-container", inputs: { auto: "auto", iconText: "iconText", dark: "dark" }, queries: [{ propertyName: "tabs", predicate: TabItemComponent }], ngImport: i0, template: "<ul class=\"nav nav-tabs\"\n [class.auto]=\"isTrueBooleanInput(auto)\"\n [class.nav-tabs-icon-text]=\"isTrueBooleanInput(iconText)\"\n [class.nav-dark]=\"isTrueBooleanInput(dark)\"\n role=\"tablist\">\n\n <li class=\"nav-item\" *ngFor=\"let tab of tabs\">\n <a [id]=\"tab.id+'-tab-link'\"\n role=\"tab\"\n data-bs-toggle=\"tab\"\n class=\"nav-link\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.disabled]=\"isTrueBooleanInput(tab.disabled)\"\n [attr.href]=\"'#'+tab.id+'-tab'\"\n [attr.aria-controls]=\"tab.id+'-tab'\">\n <it-icon *ngIf=\"tab.icon\" [name]=\"tab.icon\"></it-icon>\n {{tab.label}}\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content\">\n <div *ngFor=\"let tab of tabs\"\n [id]=\"tab.id+'-tab'\"\n class=\"tab-pane fade {{tab.class ?? ''}}\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.show]=\"isTrueBooleanInput(tab.active)\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id+'-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }] });
|
|
1520
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabContainerComponent, decorators: [{
|
|
1521
|
-
type: Component,
|
|
1522
|
-
args: [{ selector: 'it-tab-container', template: "<ul class=\"nav nav-tabs\"\n [class.auto]=\"isTrueBooleanInput(auto)\"\n [class.nav-tabs-icon-text]=\"isTrueBooleanInput(iconText)\"\n [class.nav-dark]=\"isTrueBooleanInput(dark)\"\n role=\"tablist\">\n\n <li class=\"nav-item\" *ngFor=\"let tab of tabs\">\n <a [id]=\"tab.id+'-tab-link'\"\n role=\"tab\"\n data-bs-toggle=\"tab\"\n class=\"nav-link\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.disabled]=\"isTrueBooleanInput(tab.disabled)\"\n [attr.href]=\"'#'+tab.id+'-tab'\"\n [attr.aria-controls]=\"tab.id+'-tab'\">\n <it-icon *ngIf=\"tab.icon\" [name]=\"tab.icon\"></it-icon>\n {{tab.label}}\n </a>\n </li>\n</ul>\n\n<div class=\"tab-content\">\n <div *ngFor=\"let tab of tabs\"\n [id]=\"tab.id+'-tab'\"\n class=\"tab-pane fade {{tab.class ?? ''}}\"\n [class.active]=\"isTrueBooleanInput(tab.active)\"\n [class.show]=\"isTrueBooleanInput(tab.active)\"\n role=\"tabpanel\"\n [attr.aria-labelledby]=\"tab.id+'-tab-link'\">\n <ng-container *ngTemplateOutlet=\"tab.htmlContent\"></ng-container>\n </div>\n</div>\n" }]
|
|
1523
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { auto: [{
|
|
1524
|
-
type: Input
|
|
1525
|
-
}], iconText: [{
|
|
1526
|
-
type: Input
|
|
1527
|
-
}], dark: [{
|
|
1528
|
-
type: Input
|
|
1529
|
-
}], tabs: [{
|
|
1530
|
-
type: ContentChildren,
|
|
1531
|
-
args: [TabItemComponent]
|
|
1532
|
-
}] } });
|
|
1533
|
-
|
|
1534
|
-
class TableComponent {
|
|
1535
|
-
constructor() {
|
|
1536
|
-
/**
|
|
1537
|
-
* Responsive tables allow you to scroll tables horizontally with ease.
|
|
1538
|
-
* @default responsive
|
|
1539
|
-
*/
|
|
1540
|
-
this.responsive = 'responsive';
|
|
1541
|
-
}
|
|
1542
|
-
get isStriped() {
|
|
1543
|
-
return isTrueBooleanInput(this.striped);
|
|
1544
|
-
}
|
|
1545
|
-
get isHover() {
|
|
1546
|
-
return isTrueBooleanInput(this.hover);
|
|
1547
|
-
}
|
|
1548
|
-
get isBordered() {
|
|
1549
|
-
return isTrueBooleanInput(this.bordered);
|
|
1550
|
-
}
|
|
1551
|
-
get isBorderless() {
|
|
1552
|
-
return isTrueBooleanInput(this.borderless);
|
|
1553
|
-
}
|
|
1554
|
-
get isCompact() {
|
|
1555
|
-
return isTrueBooleanInput(this.compact);
|
|
1556
|
-
}
|
|
1557
|
-
get isCaptionTop() {
|
|
1558
|
-
return isTrueBooleanInput(this.captionTop);
|
|
1559
|
-
}
|
|
1560
|
-
}
|
|
1561
|
-
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1562
|
-
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TableComponent, selector: "it-table", inputs: { color: "color", headColor: "headColor", alignment: "alignment", striped: "striped", hover: "hover", bordered: "bordered", borderless: "borderless", compact: "compact", captionTop: "captionTop", responsive: "responsive" }, ngImport: i0, template: "<div [class]=\"responsive ? 'table-' + responsive : undefined\">\n <table class=\"table{{color ? ' table-' + color : '' }}\"\n [class.table-striped]=\"isStriped\"\n [class.table-hover]=\"isHover\"\n [class.table-bordered]=\"isBordered\"\n [class.table-borderless]=\"isBorderless\"\n [class.table-sm]=\"isCompact\"\n [class.caption-top]=\"isCaptionTop\">\n <caption>\n <ng-content select=\"[caption]\"></ng-content>\n </caption>\n <thead [class]=\"headColor ? 'table-' + headColor : undefined\">\n <ng-content select=\"[thead]\"></ng-content>\n </thead>\n <tbody>\n <ng-content select=\"[tbody]\"></ng-content>\n </tbody>\n <tfoot>\n <ng-content select=\"[tfoot]\"></ng-content>\n </tfoot>\n </table>\n</div>\n", styles: ["caption:empty{display:none}caption:empty~thead{border-top:none!important}\n"] });
|
|
1563
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableComponent, decorators: [{
|
|
1564
|
-
type: Component,
|
|
1565
|
-
args: [{ selector: 'it-table', template: "<div [class]=\"responsive ? 'table-' + responsive : undefined\">\n <table class=\"table{{color ? ' table-' + color : '' }}\"\n [class.table-striped]=\"isStriped\"\n [class.table-hover]=\"isHover\"\n [class.table-bordered]=\"isBordered\"\n [class.table-borderless]=\"isBorderless\"\n [class.table-sm]=\"isCompact\"\n [class.caption-top]=\"isCaptionTop\">\n <caption>\n <ng-content select=\"[caption]\"></ng-content>\n </caption>\n <thead [class]=\"headColor ? 'table-' + headColor : undefined\">\n <ng-content select=\"[thead]\"></ng-content>\n </thead>\n <tbody>\n <ng-content select=\"[tbody]\"></ng-content>\n </tbody>\n <tfoot>\n <ng-content select=\"[tfoot]\"></ng-content>\n </tfoot>\n </table>\n</div>\n", styles: ["caption:empty{display:none}caption:empty~thead{border-top:none!important}\n"] }]
|
|
1566
|
-
}], propDecorators: { color: [{
|
|
1567
|
-
type: Input
|
|
1568
|
-
}], headColor: [{
|
|
1569
|
-
type: Input
|
|
1570
|
-
}], alignment: [{
|
|
1571
|
-
type: Input
|
|
1572
|
-
}], striped: [{
|
|
1573
|
-
type: Input
|
|
1574
|
-
}], hover: [{
|
|
1575
|
-
type: Input
|
|
1576
|
-
}], bordered: [{
|
|
1577
|
-
type: Input
|
|
1578
|
-
}], borderless: [{
|
|
1579
|
-
type: Input
|
|
1580
|
-
}], compact: [{
|
|
1581
|
-
type: Input
|
|
1582
|
-
}], captionTop: [{
|
|
1583
|
-
type: Input
|
|
1584
|
-
}], responsive: [{
|
|
1585
|
-
type: Input
|
|
1586
|
-
}] } });
|
|
1587
|
-
|
|
1588
|
-
class TooltipDirective {
|
|
1589
|
-
constructor(_elementRef) {
|
|
1590
|
-
this._elementRef = _elementRef;
|
|
1591
|
-
/**
|
|
1592
|
-
* This event fires immediately when the show method is called.
|
|
1593
|
-
*/
|
|
1594
|
-
this.onShow = new EventEmitter();
|
|
1595
|
-
/**
|
|
1596
|
-
* This event is triggered when the tooltip has been made visible to the user (it will wait for the CSS transitions to complete).
|
|
1597
|
-
*/
|
|
1598
|
-
this.onShown = new EventEmitter();
|
|
1599
|
-
/**
|
|
1600
|
-
* This event fires immediately when the hide method is called.
|
|
1601
|
-
*/
|
|
1602
|
-
this.onHide = new EventEmitter();
|
|
1603
|
-
/**
|
|
1604
|
-
* This event is raised when the tooltip has finished being hidden from the user (it will wait for the CSS transitions to complete).
|
|
1605
|
-
*/
|
|
1606
|
-
this.onHidden = new EventEmitter();
|
|
1607
|
-
/**
|
|
1608
|
-
* This event fires after the show event when the tooltip template has been added to the DOM.
|
|
1609
|
-
*/
|
|
1610
|
-
this.onInserted = new EventEmitter();
|
|
1611
|
-
this.element = this._elementRef.nativeElement;
|
|
1612
|
-
}
|
|
1613
|
-
/**
|
|
1614
|
-
* Define the tooltip title
|
|
1615
|
-
* @param title the tooltip title
|
|
1616
|
-
*/
|
|
1617
|
-
set title(title) {
|
|
1618
|
-
if (title) {
|
|
1619
|
-
// this.element.setAttribute("title", title);
|
|
1620
|
-
this.element.setAttribute('data-bs-original-title', title);
|
|
1621
|
-
}
|
|
1622
|
-
}
|
|
1623
|
-
/**
|
|
1624
|
-
* Define the tooltip placement
|
|
1625
|
-
* @param placement
|
|
1626
|
-
*/
|
|
1627
|
-
set placement(placement) {
|
|
1628
|
-
this.element.setAttribute('data-bs-placement', placement);
|
|
1629
|
-
}
|
|
1630
|
-
/**
|
|
1631
|
-
* Indicates whether the title contains html
|
|
1632
|
-
* @param html true if contain html
|
|
1633
|
-
*/
|
|
1634
|
-
set html(html) {
|
|
1635
|
-
this.element.setAttribute('data-bs-html', isTrueBooleanInput(html) ? 'true' : 'false');
|
|
1636
|
-
}
|
|
1637
|
-
ngAfterViewInit() {
|
|
1638
|
-
this.element.setAttribute('data-bs-toggle', 'tooltip');
|
|
1639
|
-
this.tooltip = Tooltip.getOrCreateInstance(this.element);
|
|
1640
|
-
this.element.addEventListener('show.bs.tooltip', event => this.onShow.emit(event));
|
|
1641
|
-
this.element.addEventListener('shown.bs.tooltip', event => this.onShown.emit(event));
|
|
1642
|
-
this.element.addEventListener('hide.bs.tooltip', event => this.onHide.emit(event));
|
|
1643
|
-
this.element.addEventListener('hidden.bs.tooltip', event => this.onHidden.emit(event));
|
|
1644
|
-
this.element.addEventListener('inserted.bs.tooltip', event => this.onInserted.emit(event));
|
|
1645
|
-
}
|
|
1646
|
-
/**
|
|
1647
|
-
* Shows the tooltip of an item.
|
|
1648
|
-
*/
|
|
1649
|
-
show() {
|
|
1650
|
-
var _a;
|
|
1651
|
-
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.show();
|
|
1652
|
-
}
|
|
1653
|
-
/**
|
|
1654
|
-
* Hide the tooltip of an element.
|
|
1655
|
-
*/
|
|
1656
|
-
hide() {
|
|
1657
|
-
var _a;
|
|
1658
|
-
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.hide();
|
|
1659
|
-
}
|
|
1660
|
-
/**
|
|
1661
|
-
* Activate / Deactivate the tooltip of an element
|
|
1662
|
-
*/
|
|
1663
|
-
toggle() {
|
|
1664
|
-
var _a;
|
|
1665
|
-
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.toggle();
|
|
1666
|
-
}
|
|
1667
|
-
/**
|
|
1668
|
-
* Hides and destroys the tooltip of an element.
|
|
1669
|
-
*/
|
|
1670
|
-
dispose() {
|
|
1671
|
-
var _a;
|
|
1672
|
-
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.dispose();
|
|
1673
|
-
}
|
|
1674
|
-
/**
|
|
1675
|
-
* Gives the tooltip of an element a chance to be shown.
|
|
1676
|
-
*/
|
|
1677
|
-
enable() {
|
|
1678
|
-
var _a;
|
|
1679
|
-
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.enable();
|
|
1680
|
-
}
|
|
1681
|
-
/**
|
|
1682
|
-
* Removes the ability to show the tooltip of an element.
|
|
1683
|
-
*/
|
|
1684
|
-
disable() {
|
|
1685
|
-
var _a;
|
|
1686
|
-
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.disable();
|
|
1687
|
-
}
|
|
1688
|
-
/**
|
|
1689
|
-
* Toggles the possibility that the tooltip of an element is shown or hidden.
|
|
1690
|
-
*/
|
|
1691
|
-
toggleEnabled() {
|
|
1692
|
-
var _a;
|
|
1693
|
-
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.disable();
|
|
1694
|
-
}
|
|
1695
|
-
/**
|
|
1696
|
-
* Updates the position of an element's tooltip.
|
|
1697
|
-
*/
|
|
1698
|
-
update() {
|
|
1699
|
-
var _a;
|
|
1700
|
-
(_a = this.tooltip) === null || _a === void 0 ? void 0 : _a.disable();
|
|
1701
|
-
}
|
|
1702
|
-
}
|
|
1703
|
-
TooltipDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TooltipDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1704
|
-
TooltipDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: TooltipDirective, selector: "[itTooltip]", inputs: { title: ["itTooltip", "title"], placement: ["tooltipPlacement", "placement"], html: ["tooltipHtml", "html"] }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden", onInserted: "onInserted" }, exportAs: ["itTooltip"], ngImport: i0 });
|
|
1705
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TooltipDirective, decorators: [{
|
|
1706
|
-
type: Directive,
|
|
1707
|
-
args: [{
|
|
1708
|
-
selector: '[itTooltip]',
|
|
1709
|
-
exportAs: 'itTooltip'
|
|
1710
|
-
}]
|
|
1711
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { title: [{
|
|
1712
|
-
type: Input,
|
|
1713
|
-
args: ['itTooltip']
|
|
1714
|
-
}], placement: [{
|
|
1715
|
-
type: Input,
|
|
1716
|
-
args: ['tooltipPlacement']
|
|
1717
|
-
}], html: [{
|
|
1718
|
-
type: Input,
|
|
1719
|
-
args: ['tooltipHtml']
|
|
1720
|
-
}], onShow: [{
|
|
1721
|
-
type: Output
|
|
1722
|
-
}], onShown: [{
|
|
1723
|
-
type: Output
|
|
1724
|
-
}], onHide: [{
|
|
1725
|
-
type: Output
|
|
1726
|
-
}], onHidden: [{
|
|
1727
|
-
type: Output
|
|
1728
|
-
}], onInserted: [{
|
|
1729
|
-
type: Output
|
|
1730
|
-
}] } });
|
|
1731
|
-
|
|
1732
|
-
class CheckboxComponent extends AbstractFormComponent {
|
|
1733
|
-
get isIndeterminate() {
|
|
1734
|
-
return isTrueBooleanInput(this.indeterminate);
|
|
1735
|
-
}
|
|
1736
|
-
get isGroup() {
|
|
1737
|
-
return isTrueBooleanInput(this.group);
|
|
1738
|
-
}
|
|
1739
|
-
ngOnInit() {
|
|
1740
|
-
super.ngOnInit();
|
|
1741
|
-
if (this.control.value || this.checked === undefined) {
|
|
1742
|
-
return;
|
|
1743
|
-
}
|
|
1744
|
-
const value = isTrueBooleanInput(this.checked);
|
|
1745
|
-
this.writeValue(value);
|
|
1746
|
-
return this.onChange(value);
|
|
1747
|
-
}
|
|
1748
|
-
}
|
|
1749
|
-
CheckboxComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CheckboxComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1750
|
-
CheckboxComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CheckboxComponent, selector: "it-checkbox[id][label]", inputs: { toggle: "toggle", inline: "inline", group: "group", checked: "checked", indeterminate: "indeterminate" }, usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div class=\"form-check\"\n [class.form-check-group]=\"isGroup\"\n [class.form-check-inline]=\"inline\">\n\n <div *ngIf=\"toggle; else defaultStyle\" class=\"toggles\">\n <label [for]=\"id\">\n {{label}}\n <input [id]=\"id\"\n type=\"checkbox\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\">\n <span class=\"lever\"></span>\n </label>\n </div>\n\n <ng-template #defaultStyle>\n <input [id]=\"id\"\n type=\"checkbox\"\n class=\"form-check-input\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [class.semi-checked]=\"isIndeterminate\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\">\n <label class=\"form-check-label\" [for]=\"id\">{{label}}</label>\n </ng-template>\n\n <small *ngIf=\"isGroup\" [id]=\"id + '-help'\" class=\"form-text\">\n <ng-content></ng-content>\n </small>\n\n <div *ngIf=\"isInvalid && isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <ng-container *ngTemplateOutlet=\"error\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"isInvalid && !isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <ng-container *ngTemplateOutlet=\"error\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #error>\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n</ng-template>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
1751
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CheckboxComponent, decorators: [{
|
|
1752
|
-
type: Component,
|
|
1753
|
-
args: [{ selector: 'it-checkbox[id][label]', template: "<ng-container>\n <div class=\"form-check\"\n [class.form-check-group]=\"isGroup\"\n [class.form-check-inline]=\"inline\">\n\n <div *ngIf=\"toggle; else defaultStyle\" class=\"toggles\">\n <label [for]=\"id\">\n {{label}}\n <input [id]=\"id\"\n type=\"checkbox\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\">\n <span class=\"lever\"></span>\n </label>\n </div>\n\n <ng-template #defaultStyle>\n <input [id]=\"id\"\n type=\"checkbox\"\n class=\"form-check-input\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [class.semi-checked]=\"isIndeterminate\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\">\n <label class=\"form-check-label\" [for]=\"id\">{{label}}</label>\n </ng-template>\n\n <small *ngIf=\"isGroup\" [id]=\"id + '-help'\" class=\"form-text\">\n <ng-content></ng-content>\n </small>\n\n <div *ngIf=\"isInvalid && isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <ng-container *ngTemplateOutlet=\"error\"></ng-container>\n </div>\n </div>\n\n <div *ngIf=\"isInvalid && !isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <ng-container *ngTemplateOutlet=\"error\"></ng-container>\n </div>\n</ng-container>\n\n<ng-template #error>\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n</ng-template>\n" }]
|
|
1754
|
-
}], propDecorators: { toggle: [{
|
|
1755
|
-
type: Input
|
|
1756
|
-
}], inline: [{
|
|
1757
|
-
type: Input
|
|
1758
|
-
}], group: [{
|
|
1759
|
-
type: Input
|
|
1760
|
-
}], checked: [{
|
|
1761
|
-
type: Input
|
|
1762
|
-
}], indeterminate: [{
|
|
1763
|
-
type: Input
|
|
1764
|
-
}] } });
|
|
1765
|
-
|
|
1766
|
-
/**
|
|
1767
|
-
* General Email Regex (RFC 5322 Official Standard)
|
|
1768
|
-
* http://emailregex.com/
|
|
1769
|
-
*/
|
|
1770
|
-
const EMAIL_REGEX = /(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])/;
|
|
1771
|
-
/**
|
|
1772
|
-
* Phone number Regex
|
|
1773
|
-
*/
|
|
1774
|
-
const PHONE_NUMBER_REGEX = /^\s*(?:\+?(\d{1,3}))?[-. (]*(\d{3})[-. )]*(\d{3})[-. ]*(\d{3})(?: *x(\d+))?\s*$/;
|
|
1775
|
-
/**
|
|
1776
|
-
* URL Regex
|
|
1777
|
-
*/
|
|
1778
|
-
const URL_REGEX = /(https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|www\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\.[^\s]{2,}|https?:\/\/(?:www\.|(?!www))[a-zA-Z0-9]+\.[^\s]{2,}|www\.[a-zA-Z0-9]+\.[^\s]{2,})/;
|
|
1779
|
-
/**
|
|
1780
|
-
* The italian tax code Regex (Codice Fiscale)
|
|
1781
|
-
*/
|
|
1782
|
-
const ITALIAN_TAX_CODE_REGEX = /^[a-z]{6}[0-9]{2}[a-z][0-9]{2}[a-z][0-9]{3}[a-z]$/;
|
|
1783
|
-
/**
|
|
1784
|
-
* The VAT number Regex (Partita iva)
|
|
1785
|
-
*/
|
|
1786
|
-
const VAT_NUMBER_REGEX = /^[0-9]{11}$/;
|
|
1787
|
-
/**
|
|
1788
|
-
* Italian CAP Regex
|
|
1789
|
-
*/
|
|
1790
|
-
const CAP_REGEX = /^[0-9]{5}$/;
|
|
1791
|
-
|
|
1792
|
-
class ItValidators {
|
|
1793
|
-
/**
|
|
1794
|
-
* Static pattern validator with custom error
|
|
1795
|
-
* @param regex
|
|
1796
|
-
* @param error
|
|
1797
|
-
*/
|
|
1798
|
-
static customPattern(regex, error) {
|
|
1799
|
-
return (control) => {
|
|
1800
|
-
if (!control.value) {
|
|
1801
|
-
// if control is empty return no error
|
|
1802
|
-
return null;
|
|
1803
|
-
}
|
|
1804
|
-
// test the value of the control against the regexp supplied
|
|
1805
|
-
const valid = regex.test(control.value);
|
|
1806
|
-
// if true, return no error (no error), else return error passed in the second parameter
|
|
1807
|
-
return valid ? null : error;
|
|
1808
|
-
};
|
|
1809
|
-
}
|
|
1810
|
-
/**
|
|
1811
|
-
* Set Validator if the condition is satisfied
|
|
1812
|
-
* @param validator the validator to apply if the condition is true
|
|
1813
|
-
* @param condition the condition
|
|
1814
|
-
*/
|
|
1815
|
-
static conditional(validator, condition) {
|
|
1816
|
-
return formControl => {
|
|
1817
|
-
if (!formControl.parent) {
|
|
1818
|
-
return null;
|
|
1819
|
-
}
|
|
1820
|
-
if (condition(formControl)) {
|
|
1821
|
-
return validator(formControl);
|
|
1822
|
-
}
|
|
1823
|
-
return null;
|
|
1824
|
-
};
|
|
1825
|
-
}
|
|
1826
|
-
/**
|
|
1827
|
-
* Check whether our password and confirm password are a match
|
|
1828
|
-
* @param control
|
|
1829
|
-
*/
|
|
1830
|
-
static passwordMatch(control) {
|
|
1831
|
-
var _a;
|
|
1832
|
-
const confirmControl = control.get('passwordConfirm'); //confirmPassword form control
|
|
1833
|
-
if (!confirmControl) {
|
|
1834
|
-
return null;
|
|
1835
|
-
}
|
|
1836
|
-
const password = (_a = control.get('password')) === null || _a === void 0 ? void 0 : _a.value; // get password from our password form control
|
|
1837
|
-
// compare is the password match
|
|
1838
|
-
if ((password && !confirmControl.value) || (confirmControl.value && password !== confirmControl.value)) {
|
|
1839
|
-
// if they don't match, set an error in our confirmPassword form control
|
|
1840
|
-
confirmControl === null || confirmControl === void 0 ? void 0 : confirmControl.setErrors({ noPasswordMatch: true });
|
|
1841
|
-
confirmControl === null || confirmControl === void 0 ? void 0 : confirmControl.markAsTouched();
|
|
1842
|
-
return control;
|
|
1843
|
-
}
|
|
1844
|
-
if (password) {
|
|
1845
|
-
confirmControl === null || confirmControl === void 0 ? void 0 : confirmControl.markAsTouched();
|
|
1846
|
-
}
|
|
1847
|
-
return null;
|
|
1848
|
-
}
|
|
1849
|
-
/**
|
|
1850
|
-
* Password validator
|
|
1851
|
-
* @param minLength minimum password length - default 10
|
|
1852
|
-
* @param hasNumber check whether the entered password has a number - default true
|
|
1853
|
-
* @param hasCapitalCase check whether the entered password has upper case letter - default true
|
|
1854
|
-
* @param hasSmallCase check whether the entered password has a lower-case letter - default true
|
|
1855
|
-
* @param hasSpecialCharacters check whether the entered password has a special character - default true
|
|
1856
|
-
*/
|
|
1857
|
-
static password(minLength = 10, hasNumber = true, hasCapitalCase = true, hasSmallCase = true, hasSpecialCharacters = true) {
|
|
1858
|
-
return Validators.compose([
|
|
1859
|
-
Validators.required,
|
|
1860
|
-
ItValidators.customPattern(/\d/, { hasNumber: hasNumber }),
|
|
1861
|
-
ItValidators.customPattern(/[A-Z]/, { hasCapitalCase: hasCapitalCase }),
|
|
1862
|
-
ItValidators.customPattern(/[a-z]/, { hasSmallCase: hasSmallCase }),
|
|
1863
|
-
ItValidators.customPattern(new RegExp(`[${ItValidators.SpecialCharacterPattern}]`), { hasSpecialCharacters: hasSpecialCharacters }),
|
|
1864
|
-
Validators.minLength(minLength)
|
|
1865
|
-
]);
|
|
1866
|
-
}
|
|
1867
|
-
/**
|
|
1868
|
-
* Email validator
|
|
1869
|
-
*/
|
|
1870
|
-
static email() {
|
|
1871
|
-
return [Validators.email, ItValidators.customPattern(EMAIL_REGEX, { invalidEmail: true })];
|
|
1872
|
-
}
|
|
1873
|
-
/**
|
|
1874
|
-
* Phone number validator
|
|
1875
|
-
*/
|
|
1876
|
-
static tel() {
|
|
1877
|
-
return ItValidators.customPattern(PHONE_NUMBER_REGEX, { invalidTel: true });
|
|
1878
|
-
}
|
|
1879
|
-
/**
|
|
1880
|
-
* URL validator
|
|
1881
|
-
*/
|
|
1882
|
-
static url() {
|
|
1883
|
-
return ItValidators.customPattern(URL_REGEX, { invalidUrl: true });
|
|
1884
|
-
}
|
|
1885
|
-
/**
|
|
1886
|
-
* Italian Tax Code validator
|
|
1887
|
-
*/
|
|
1888
|
-
static taxCode() {
|
|
1889
|
-
return ItValidators.customPattern(ITALIAN_TAX_CODE_REGEX, { invalidTaxCode: true });
|
|
1890
|
-
}
|
|
1891
|
-
/**
|
|
1892
|
-
* VAT Number validator
|
|
1893
|
-
*/
|
|
1894
|
-
static vatNumber() {
|
|
1895
|
-
return ItValidators.customPattern(VAT_NUMBER_REGEX, { invalidVatNumber: true });
|
|
1896
|
-
}
|
|
1897
|
-
/**
|
|
1898
|
-
* Italian Postal Code validator (CAP)
|
|
1899
|
-
*/
|
|
1900
|
-
static cap() {
|
|
1901
|
-
return ItValidators.customPattern(CAP_REGEX, { invalidCap: true });
|
|
1902
|
-
}
|
|
1903
|
-
/**
|
|
1904
|
-
* Check if value is a valid RegExp
|
|
1905
|
-
*/
|
|
1906
|
-
static regExp() {
|
|
1907
|
-
return (control) => {
|
|
1908
|
-
try {
|
|
1909
|
-
if (control === null || control === void 0 ? void 0 : control.value) {
|
|
1910
|
-
new RegExp(control.value);
|
|
1911
|
-
}
|
|
1912
|
-
}
|
|
1913
|
-
catch (e) {
|
|
1914
|
-
return { invalidRegex: true };
|
|
1915
|
-
}
|
|
1916
|
-
return null;
|
|
1917
|
-
};
|
|
1918
|
-
}
|
|
1919
|
-
}
|
|
1920
|
-
ItValidators.SpecialCharacterPattern = '!@#$%&*_+=;:|,.';
|
|
1921
|
-
|
|
1922
|
-
class InputComponent extends AbstractFormComponent {
|
|
1923
|
-
constructor() {
|
|
1924
|
-
super(...arguments);
|
|
1925
|
-
/**
|
|
1926
|
-
* The input type
|
|
1927
|
-
* @default text
|
|
1928
|
-
*/
|
|
1929
|
-
this.type = 'text';
|
|
1930
|
-
/**
|
|
1931
|
-
* The input placeholder
|
|
1932
|
-
*/
|
|
1933
|
-
this.placeholder = '';
|
|
1934
|
-
}
|
|
1935
|
-
get isActiveLabel() {
|
|
1936
|
-
const value = this.control.value;
|
|
1937
|
-
if ((!!value && value !== 0) || value === 0 || !!this.placeholder) {
|
|
1938
|
-
return true;
|
|
1939
|
-
}
|
|
1940
|
-
if (this.type === 'number' && (isTrueBooleanInput(this.currency) || isTrueBooleanInput(this.percentage))) {
|
|
1941
|
-
return true;
|
|
1942
|
-
}
|
|
1943
|
-
return this.type === 'date' || this.type === 'time';
|
|
1944
|
-
}
|
|
1945
|
-
/**
|
|
1946
|
-
* Check is readonly field
|
|
1947
|
-
*/
|
|
1948
|
-
get isReadonly() {
|
|
1949
|
-
return this.readonly === 'plaintext' || isTrueBooleanInput(this.readonly);
|
|
1950
|
-
}
|
|
1951
|
-
/**
|
|
1952
|
-
* Return the invalid message string from TranslateService
|
|
1953
|
-
*/
|
|
1954
|
-
get invalidMessage() {
|
|
1955
|
-
if (this.hasError('min') && this.min) {
|
|
1956
|
-
return this._translateService.get('it.errors.min-invalid', {
|
|
1957
|
-
min: this.min
|
|
1958
|
-
});
|
|
1959
|
-
}
|
|
1960
|
-
if (this.hasError('max') && this.max) {
|
|
1961
|
-
return this._translateService.get('it.errors.max-invalid', {
|
|
1962
|
-
max: this.max
|
|
1963
|
-
});
|
|
1964
|
-
}
|
|
1965
|
-
if (this.hasError('minlength')) {
|
|
1966
|
-
const error = this.getError('minlength');
|
|
1967
|
-
return this._translateService.get('it.errors.min-length-invalid', { min: error.requiredLength });
|
|
1968
|
-
}
|
|
1969
|
-
if (this.hasError('maxlength')) {
|
|
1970
|
-
const error = this.getError('maxlength');
|
|
1971
|
-
return this._translateService.get('it.errors.max-length-invalid', { max: error.requiredLength });
|
|
1972
|
-
}
|
|
1973
|
-
if (this.hasError('email') || this.hasError('invalidEmail')) {
|
|
1974
|
-
return this._translateService.get('it.errors.email-invalid');
|
|
1975
|
-
}
|
|
1976
|
-
if (this.hasError('invalidTel')) {
|
|
1977
|
-
return this._translateService.get('it.errors.tel-invalid');
|
|
1978
|
-
}
|
|
1979
|
-
if (this.hasError('invalidUrl')) {
|
|
1980
|
-
return this._translateService.get('it.errors.url-invalid');
|
|
1981
|
-
}
|
|
1982
|
-
if (this.hasError('invalidTaxCode')) {
|
|
1983
|
-
return this._translateService.get('it.errors.tax-code-invalid');
|
|
1984
|
-
}
|
|
1985
|
-
if (this.hasError('invalidVatNumber')) {
|
|
1986
|
-
return this._translateService.get('it.errors.vat-number-invalid');
|
|
1987
|
-
}
|
|
1988
|
-
if (this.hasError('invalidCap')) {
|
|
1989
|
-
return this._translateService.get('it.errors.cap-invalid');
|
|
1990
|
-
}
|
|
1991
|
-
if (this.hasError('invalidRegex')) {
|
|
1992
|
-
return this._translateService.get('it.errors.regex-invalid');
|
|
1993
|
-
}
|
|
1994
|
-
if (this.hasError('pattern')) {
|
|
1995
|
-
const error = this.getError('pattern');
|
|
1996
|
-
return this._translateService.get('it.errors.pattern-invalid', { pattern: error.requiredPattern });
|
|
1997
|
-
}
|
|
1998
|
-
return super.invalidMessage;
|
|
1999
|
-
}
|
|
2000
|
-
ngOnInit() {
|
|
2001
|
-
super.ngOnInit();
|
|
2002
|
-
const validators = [];
|
|
2003
|
-
switch (this.type) {
|
|
2004
|
-
case 'number':
|
|
2005
|
-
if (isTrueBooleanInput(this.percentage)) {
|
|
2006
|
-
this.min = this.min || 0;
|
|
2007
|
-
this.max = this.max || 100;
|
|
2008
|
-
}
|
|
2009
|
-
// Dynamic min/max validators
|
|
2010
|
-
validators.push((control) => this.min ? Validators.min(this.min)(control) : null);
|
|
2011
|
-
validators.push((control) => this.max ? Validators.max(this.max)(control) : null);
|
|
2012
|
-
break;
|
|
2013
|
-
case 'email':
|
|
2014
|
-
validators.push(ItValidators.email);
|
|
2015
|
-
break;
|
|
2016
|
-
case 'tel':
|
|
2017
|
-
validators.push(ItValidators.tel);
|
|
2018
|
-
break;
|
|
2019
|
-
case 'url':
|
|
2020
|
-
validators.push(ItValidators.url);
|
|
2021
|
-
break;
|
|
2022
|
-
}
|
|
2023
|
-
this.addValidators(validators);
|
|
2024
|
-
}
|
|
2025
|
-
/**
|
|
2026
|
-
* Increment or decrease the input number value of step
|
|
2027
|
-
* @param decrease true to decrease value
|
|
2028
|
-
*/
|
|
2029
|
-
incrementNumber(decrease = false) {
|
|
2030
|
-
var _a;
|
|
2031
|
-
if (this.type !== 'number') {
|
|
2032
|
-
return;
|
|
2033
|
-
}
|
|
2034
|
-
const step = (this.step === 'any' ? 1 : ((_a = this.step) !== null && _a !== void 0 ? _a : 1));
|
|
2035
|
-
let value = Number(this.control.value);
|
|
2036
|
-
value = (isNaN(value) ? 0 : value) + (decrease ? -step : step);
|
|
2037
|
-
value = Math.round(value * 1e12) / 1e12; // prevent js decimal error
|
|
2038
|
-
if (this.min !== undefined && value < this.min) {
|
|
2039
|
-
value = this.min;
|
|
2040
|
-
}
|
|
2041
|
-
else if (this.max !== undefined && value > this.max) {
|
|
2042
|
-
value = this.max;
|
|
2043
|
-
}
|
|
2044
|
-
this.control.setValue(value);
|
|
2045
|
-
}
|
|
2046
|
-
}
|
|
2047
|
-
InputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: InputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2048
|
-
InputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: InputComponent, selector: "it-input[id]", inputs: { type: "type", placeholder: "placeholder", description: "description", readonly: "readonly", max: "max", min: "min", step: "step", currency: "currency", percentage: "percentage", adaptive: "adaptive" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\n <div class=\"input-group\">\n <div class=\"input-group-prepend\" [class.d-none]=\"!prependText.hasChildNodes() && !prepend.hasChildNodes()\">\n <div #prepend>\n <ng-content select=\"[prepend]\"></ng-content>\n </div>\n <div class=\"input-group-text\" #prependText>\n <ng-content select=\"[prependText]\"></ng-content>\n </div>\n </div>\n\n <label *ngIf=\"label\" [for]=\"id\" [class.active]=\"isActiveLabel\"\n [class.empty-prepend-label]=\"!prependText.hasChildNodes() && !prepend.hasChildNodes()\">\n {{label}}\n </label>\n\n <span *ngIf=\"type === 'number'\"\n class=\"input-number\"\n [class.input-number-currency]=\"currency\"\n [class.input-number-percentage]=\"percentage\"\n [class.input-number-adaptive]=\"adaptive\">\n\n <input type=\"number\"\n [id]=\"id\"\n [step]=\"step ?? null\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [attr.aria-describedby]=\"id + '-description'\"\n (blur)=\"markAsTouched()\" />\n\n <button type=\"button\" class=\"input-number-add\" (click)=\"incrementNumber()\">\n <span class=\"visually-hidden\">{{'it.form.increase-value'}}</span>\n </button>\n <button type=\"button\" class=\"input-number-sub\" (click)=\"incrementNumber(true)\">\n <span class=\"visually-hidden\">{{'it.form.decrease-value'}}</span>\n </button>\n </span>\n\n <input *ngIf=\"type !== 'number'\"\n [id]=\"id\"\n [type]=\"type\"\n [class.form-control]=\"readonly !== 'plaintext'\"\n [class.form-control-plaintext]=\"readonly === 'plaintext'\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [attr.aria-describedby]=\"id + '-description'\"\n (blur)=\"markAsTouched()\">\n\n <div class=\"input-group-append\">\n <ng-content select=\"[append]\"></ng-content>\n\n <div class=\"input-group-text\">\n <ng-content select=\"[appendText]\"></ng-content>\n </div>\n </div>\n </div>\n\n <small *ngIf=\"description\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n <div *ngIf=\"isInvalid\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</div>\n", styles: [".form-group label{z-index:1000}.form-group input:focus:not(.focus--mouse){box-shadow:inherit!important;border-color:inherit!important}.form-group .input-number button.input-number-add{top:0}.form-group .input-number button.input-number-sub{bottom:0}.form-group .input-group-text:empty{display:none}.form-group label.empty-prepend-label{left:auto!important;max-width:100%!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
2049
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: InputComponent, decorators: [{
|
|
2050
|
-
type: Component,
|
|
2051
|
-
args: [{ selector: 'it-input[id]', template: "<div class=\"form-group\">\n <div class=\"input-group\">\n <div class=\"input-group-prepend\" [class.d-none]=\"!prependText.hasChildNodes() && !prepend.hasChildNodes()\">\n <div #prepend>\n <ng-content select=\"[prepend]\"></ng-content>\n </div>\n <div class=\"input-group-text\" #prependText>\n <ng-content select=\"[prependText]\"></ng-content>\n </div>\n </div>\n\n <label *ngIf=\"label\" [for]=\"id\" [class.active]=\"isActiveLabel\"\n [class.empty-prepend-label]=\"!prependText.hasChildNodes() && !prepend.hasChildNodes()\">\n {{label}}\n </label>\n\n <span *ngIf=\"type === 'number'\"\n class=\"input-number\"\n [class.input-number-currency]=\"currency\"\n [class.input-number-percentage]=\"percentage\"\n [class.input-number-adaptive]=\"adaptive\">\n\n <input type=\"number\"\n [id]=\"id\"\n [step]=\"step ?? null\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [attr.aria-describedby]=\"id + '-description'\"\n (blur)=\"markAsTouched()\" />\n\n <button type=\"button\" class=\"input-number-add\" (click)=\"incrementNumber()\">\n <span class=\"visually-hidden\">{{'it.form.increase-value'}}</span>\n </button>\n <button type=\"button\" class=\"input-number-sub\" (click)=\"incrementNumber(true)\">\n <span class=\"visually-hidden\">{{'it.form.decrease-value'}}</span>\n </button>\n </span>\n\n <input *ngIf=\"type !== 'number'\"\n [id]=\"id\"\n [type]=\"type\"\n [class.form-control]=\"readonly !== 'plaintext'\"\n [class.form-control-plaintext]=\"readonly === 'plaintext'\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [attr.aria-describedby]=\"id + '-description'\"\n (blur)=\"markAsTouched()\">\n\n <div class=\"input-group-append\">\n <ng-content select=\"[append]\"></ng-content>\n\n <div class=\"input-group-text\">\n <ng-content select=\"[appendText]\"></ng-content>\n </div>\n </div>\n </div>\n\n <small *ngIf=\"description\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n <div *ngIf=\"isInvalid\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</div>\n", styles: [".form-group label{z-index:1000}.form-group input:focus:not(.focus--mouse){box-shadow:inherit!important;border-color:inherit!important}.form-group .input-number button.input-number-add{top:0}.form-group .input-number button.input-number-sub{bottom:0}.form-group .input-group-text:empty{display:none}.form-group label.empty-prepend-label{left:auto!important;max-width:100%!important}\n"] }]
|
|
2052
|
-
}], propDecorators: { type: [{
|
|
2053
|
-
type: Input
|
|
2054
|
-
}], placeholder: [{
|
|
2055
|
-
type: Input
|
|
2056
|
-
}], description: [{
|
|
2057
|
-
type: Input
|
|
2058
|
-
}], readonly: [{
|
|
2059
|
-
type: Input
|
|
2060
|
-
}], max: [{
|
|
2061
|
-
type: Input
|
|
2062
|
-
}], min: [{
|
|
2063
|
-
type: Input
|
|
2064
|
-
}], step: [{
|
|
2065
|
-
type: Input
|
|
2066
|
-
}], currency: [{
|
|
2067
|
-
type: Input
|
|
2068
|
-
}], percentage: [{
|
|
2069
|
-
type: Input
|
|
2070
|
-
}], adaptive: [{
|
|
2071
|
-
type: Input
|
|
2072
|
-
}] } });
|
|
2073
|
-
|
|
2074
|
-
class PasswordInputComponent extends AbstractFormComponent {
|
|
2075
|
-
constructor() {
|
|
2076
|
-
super(...arguments);
|
|
2077
|
-
/**
|
|
2078
|
-
* The password minimum length
|
|
2079
|
-
* @default 10
|
|
2080
|
-
*/
|
|
2081
|
-
this.minLength = 10;
|
|
2082
|
-
/**
|
|
2083
|
-
* The password must contain at least one number
|
|
2084
|
-
* @default true
|
|
2085
|
-
*/
|
|
2086
|
-
this.useNumber = true;
|
|
2087
|
-
/**
|
|
2088
|
-
* The password must contain at least one uppercase character
|
|
2089
|
-
* @default true
|
|
2090
|
-
*/
|
|
2091
|
-
this.useCapitalCase = true;
|
|
2092
|
-
/**
|
|
2093
|
-
* The password must contain at least one lowercase character
|
|
2094
|
-
* @default true
|
|
2095
|
-
*/
|
|
2096
|
-
this.useSmallCase = true;
|
|
2097
|
-
/**
|
|
2098
|
-
* The password must contain at least one special character
|
|
2099
|
-
* @default true
|
|
2100
|
-
*/
|
|
2101
|
-
this.useSpecialCharacters = true;
|
|
2102
|
-
/**
|
|
2103
|
-
* The input placeholder
|
|
2104
|
-
*/
|
|
2105
|
-
this.placeholder = '';
|
|
2106
|
-
}
|
|
2107
|
-
ngOnInit() {
|
|
2108
|
-
super.ngOnInit();
|
|
2109
|
-
this.addValidators(ItValidators.password(this.minLength, this.useNumber, this.useCapitalCase, this.useSmallCase, this.useSpecialCharacters));
|
|
2110
|
-
}
|
|
2111
|
-
ngAfterViewInit() {
|
|
2112
|
-
super.ngAfterViewInit();
|
|
2113
|
-
if (this.inputElement) {
|
|
2114
|
-
this.inputPasswordBs = new InputPassword(this.inputElement.nativeElement, Object.assign(Object.assign({}, this.description && { enterPass: this.description }), { showText: this.isStrengthMeter, minimumLength: this.minLength }));
|
|
2115
|
-
}
|
|
2116
|
-
}
|
|
2117
|
-
get isStrengthMeter() {
|
|
2118
|
-
return isTrueBooleanInput(this.showStrengthMeter);
|
|
2119
|
-
}
|
|
2120
|
-
/**
|
|
2121
|
-
* Return the invalid message string from TranslateService
|
|
2122
|
-
*/
|
|
2123
|
-
get invalidMessage() {
|
|
2124
|
-
if (this.hasError('noPasswordMatch')) {
|
|
2125
|
-
return this._translateService.get('it.errors.password-no-match');
|
|
2126
|
-
}
|
|
2127
|
-
if (this.hasError('minlength')) {
|
|
2128
|
-
return this._translateService.get('it.errors.password-min-length', {
|
|
2129
|
-
minLength: this.minLength
|
|
2130
|
-
});
|
|
2131
|
-
}
|
|
2132
|
-
if (this.hasError('hasNumber')) {
|
|
2133
|
-
return this._translateService.get('it.errors.password-number');
|
|
2134
|
-
}
|
|
2135
|
-
if (this.hasError('hasCapitalCase')) {
|
|
2136
|
-
return this._translateService.get('it.errors.password-capital-case');
|
|
2137
|
-
}
|
|
2138
|
-
if (this.hasError('hasSmallCase')) {
|
|
2139
|
-
return this._translateService.get('it.errors.password-capital-case');
|
|
2140
|
-
}
|
|
2141
|
-
if (this.hasError('hasSpecialCharacters')) {
|
|
2142
|
-
return this._translateService.get('it.errors.password-special-character');
|
|
2143
|
-
}
|
|
2144
|
-
return super.invalidMessage;
|
|
2145
|
-
}
|
|
2146
|
-
}
|
|
2147
|
-
PasswordInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PasswordInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2148
|
-
PasswordInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PasswordInputComponent, selector: "it-password-input[id]", inputs: { minLength: "minLength", useNumber: "useNumber", useCapitalCase: "useCapitalCase", useSmallCase: "useSmallCase", useSpecialCharacters: "useSpecialCharacters", placeholder: "placeholder", description: "description", showStrengthMeter: "showStrengthMeter" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\n\n <label *ngIf=\"label\" [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{label}}</label>\n\n <input type=\"password\"\n [id]=\"id\"\n class=\"form-control input-password\"\n [class.input-password-strength-meter]=\"isStrengthMeter\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [attr.aria-describedby]=\"id + '-description'\" #input>\n\n <span class=\"password-icon\" aria-hidden=\"true\">\n <it-icon name=\"password-visible\" size=\"sm\" class=\"password-icon-visible\"></it-icon>\n <it-icon name=\"password-invisible\" size=\"sm\" class=\"password-icon-invisible d-none\"></it-icon>\n </span>\n\n <small *ngIf=\"description && !isStrengthMeter\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n\n <div *ngIf=\"isInvalid\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</div>\n", styles: [".form-group input:focus:not(.focus--mouse){box-shadow:inherit!important;border-color:inherit!important}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
2149
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PasswordInputComponent, decorators: [{
|
|
2150
|
-
type: Component,
|
|
2151
|
-
args: [{ selector: 'it-password-input[id]', template: "<div class=\"form-group\">\n\n <label *ngIf=\"label\" [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{label}}</label>\n\n <input type=\"password\"\n [id]=\"id\"\n class=\"form-control input-password\"\n [class.input-password-strength-meter]=\"isStrengthMeter\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [placeholder]=\"placeholder\"\n [attr.aria-describedby]=\"id + '-description'\" #input>\n\n <span class=\"password-icon\" aria-hidden=\"true\">\n <it-icon name=\"password-visible\" size=\"sm\" class=\"password-icon-visible\"></it-icon>\n <it-icon name=\"password-invisible\" size=\"sm\" class=\"password-icon-invisible d-none\"></it-icon>\n </span>\n\n <small *ngIf=\"description && !isStrengthMeter\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n\n <div *ngIf=\"isInvalid\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</div>\n", styles: [".form-group input:focus:not(.focus--mouse){box-shadow:inherit!important;border-color:inherit!important}\n"] }]
|
|
2152
|
-
}], propDecorators: { minLength: [{
|
|
2153
|
-
type: Input
|
|
2154
|
-
}], useNumber: [{
|
|
2155
|
-
type: Input
|
|
2156
|
-
}], useCapitalCase: [{
|
|
2157
|
-
type: Input
|
|
2158
|
-
}], useSmallCase: [{
|
|
2159
|
-
type: Input
|
|
2160
|
-
}], useSpecialCharacters: [{
|
|
2161
|
-
type: Input
|
|
2162
|
-
}], placeholder: [{
|
|
2163
|
-
type: Input
|
|
2164
|
-
}], description: [{
|
|
2165
|
-
type: Input
|
|
2166
|
-
}], showStrengthMeter: [{
|
|
2167
|
-
type: Input
|
|
2168
|
-
}], inputElement: [{
|
|
2169
|
-
type: ViewChild,
|
|
2170
|
-
args: ['input']
|
|
2171
|
-
}] } });
|
|
2172
|
-
|
|
2173
|
-
class RadioButtonComponent extends AbstractFormComponent {
|
|
2174
|
-
constructor() {
|
|
2175
|
-
super(...arguments);
|
|
2176
|
-
/**
|
|
2177
|
-
* If show radio inline
|
|
2178
|
-
* @default false
|
|
2179
|
-
*/
|
|
2180
|
-
this.inline = false;
|
|
2181
|
-
/**
|
|
2182
|
-
* If is radio group
|
|
2183
|
-
* @default false
|
|
2184
|
-
*/
|
|
2185
|
-
this.group = false;
|
|
2186
|
-
}
|
|
2187
|
-
get isInline() {
|
|
2188
|
-
return isTrueBooleanInput(this.inline);
|
|
2189
|
-
}
|
|
2190
|
-
get isGroup() {
|
|
2191
|
-
return isTrueBooleanInput(this.group);
|
|
2192
|
-
}
|
|
2193
|
-
get name() {
|
|
2194
|
-
var _a, _b;
|
|
2195
|
-
return ((_b = (_a = this._ngControl) === null || _a === void 0 ? void 0 : _a.name) === null || _b === void 0 ? void 0 : _b.toString()) || '';
|
|
2196
|
-
}
|
|
2197
|
-
ngOnInit() {
|
|
2198
|
-
super.ngOnInit();
|
|
2199
|
-
if (this.control.value || !this.value || isFalseBooleanInput(this.checked)) {
|
|
2200
|
-
return;
|
|
2201
|
-
}
|
|
2202
|
-
this.writeValue(this.value);
|
|
2203
|
-
return this.onChange(this.value);
|
|
2204
|
-
}
|
|
2205
|
-
}
|
|
2206
|
-
RadioButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RadioButtonComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2207
|
-
RadioButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: RadioButtonComponent, selector: "it-radio-button[id][label][value]", inputs: { value: "value", inline: "inline", group: "group", checked: "checked" }, usesInheritance: true, ngImport: i0, template: "<ng-container>\n <div class=\"form-check\"\n [class.form-check-group]=\"isGroup\"\n [class.form-check-inline]=\"isInline\">\n\n <input\n [id]=\"id\"\n type=\"radio\"\n [value]=\"value\"\n class=\"form-check-input\"\n [name]=\"name\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\">\n\n <label class=\"form-check-label\" [for]=\"id\">{{label}}</label>\n\n <small *ngIf=\"isGroup\" [id]=\"id + '-help'\" class=\"form-text\">\n <ng-content></ng-content>\n </small>\n\n <div *ngIf=\"isInvalid && isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n\n </div>\n\n <div *ngIf=\"isInvalid && !isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</ng-container>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
2208
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RadioButtonComponent, decorators: [{
|
|
2209
|
-
type: Component,
|
|
2210
|
-
args: [{ selector: 'it-radio-button[id][label][value]', template: "<ng-container>\n <div class=\"form-check\"\n [class.form-check-group]=\"isGroup\"\n [class.form-check-inline]=\"isInline\">\n\n <input\n [id]=\"id\"\n type=\"radio\"\n [value]=\"value\"\n class=\"form-check-input\"\n [name]=\"name\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [formControl]=\"control\"\n [attr.aria-describedby]=\"id + '-help'\">\n\n <label class=\"form-check-label\" [for]=\"id\">{{label}}</label>\n\n <small *ngIf=\"isGroup\" [id]=\"id + '-help'\" class=\"form-text\">\n <ng-content></ng-content>\n </small>\n\n <div *ngIf=\"isInvalid && isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n\n </div>\n\n <div *ngIf=\"isInvalid && !isGroup\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</ng-container>\n" }]
|
|
2211
|
-
}], propDecorators: { value: [{
|
|
2212
|
-
type: Input
|
|
2213
|
-
}], inline: [{
|
|
2214
|
-
type: Input
|
|
2215
|
-
}], group: [{
|
|
2216
|
-
type: Input
|
|
2217
|
-
}], checked: [{
|
|
2218
|
-
type: Input
|
|
2219
|
-
}] } });
|
|
2220
|
-
|
|
2221
|
-
class SelectComponent extends AbstractFormComponent {
|
|
2222
|
-
ngOnInit() {
|
|
2223
|
-
var _a;
|
|
2224
|
-
super.ngOnInit();
|
|
2225
|
-
if (this.control.value) {
|
|
2226
|
-
return;
|
|
2227
|
-
}
|
|
2228
|
-
const selectedOption = this.options.find(this.optionIsSelected);
|
|
2229
|
-
if (selectedOption) {
|
|
2230
|
-
this.writeValue(selectedOption.value);
|
|
2231
|
-
return this.onChange(selectedOption.value);
|
|
2232
|
-
}
|
|
2233
|
-
const selectedGroupOption = (_a = this.groups) === null || _a === void 0 ? void 0 : _a.flatMap(g => g.options).find(this.optionIsSelected);
|
|
2234
|
-
if (selectedGroupOption) {
|
|
2235
|
-
this.writeValue(selectedGroupOption.value);
|
|
2236
|
-
this.onChange(selectedGroupOption.value);
|
|
2237
|
-
}
|
|
2238
|
-
}
|
|
2239
|
-
/**
|
|
2240
|
-
* Check if the option is selected
|
|
2241
|
-
* @param option the option
|
|
2242
|
-
*/
|
|
2243
|
-
optionIsSelected(option) {
|
|
2244
|
-
if (option.selected === true) {
|
|
2245
|
-
return true;
|
|
2246
|
-
}
|
|
2247
|
-
if (typeof option.selected === 'function') {
|
|
2248
|
-
return option.selected(this.control.value);
|
|
2249
|
-
}
|
|
2250
|
-
return false;
|
|
2251
|
-
}
|
|
2252
|
-
/**
|
|
2253
|
-
* Check if the option is disabled
|
|
2254
|
-
* @param option the option
|
|
2255
|
-
*/
|
|
2256
|
-
optionIsDisabled(option) {
|
|
2257
|
-
if (option.disabled === true) {
|
|
2258
|
-
return true;
|
|
2259
|
-
}
|
|
2260
|
-
if (typeof option.disabled === 'function') {
|
|
2261
|
-
return option.disabled(this.control.value);
|
|
2262
|
-
}
|
|
2263
|
-
return false;
|
|
2264
|
-
}
|
|
2265
|
-
}
|
|
2266
|
-
SelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2267
|
-
SelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SelectComponent, selector: "it-select[id][options]", inputs: { options: "options", groups: "groups", description: "description" }, usesInheritance: true, ngImport: i0, template: "<div class=\"select-wrapper\">\n <label [for]=\"id\">{{label}}</label>\n <select [id]=\"id\" [formControl]=\"control\" [attr.aria-describedby]=\"id + '-description'\">\n <option *ngFor=\"let option of options\" [disabled]=\"optionIsDisabled(option)\" [value]=\"option.value\">\n {{option.text ?? option.value}}\n </option>\n\n <ng-container *ngIf=\"groups\">\n <optgroup *ngFor=\"let group of groups\" [label]=\"group.label\">\n <option *ngFor=\"let option of group.options\" [disabled]=\"optionIsDisabled(option)\" [value]=\"option.value\">\n {{option.text ?? option.value}}\n </option>\n </optgroup>\n </ng-container>\n </select>\n <small *ngIf=\"description\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n</div>\n", styles: [".select-wrapper{margin-bottom:1.7rem}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
2268
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SelectComponent, decorators: [{
|
|
2269
|
-
type: Component,
|
|
2270
|
-
args: [{ selector: 'it-select[id][options]', template: "<div class=\"select-wrapper\">\n <label [for]=\"id\">{{label}}</label>\n <select [id]=\"id\" [formControl]=\"control\" [attr.aria-describedby]=\"id + '-description'\">\n <option *ngFor=\"let option of options\" [disabled]=\"optionIsDisabled(option)\" [value]=\"option.value\">\n {{option.text ?? option.value}}\n </option>\n\n <ng-container *ngIf=\"groups\">\n <optgroup *ngFor=\"let group of groups\" [label]=\"group.label\">\n <option *ngFor=\"let option of group.options\" [disabled]=\"optionIsDisabled(option)\" [value]=\"option.value\">\n {{option.text ?? option.value}}\n </option>\n </optgroup>\n </ng-container>\n </select>\n <small *ngIf=\"description\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n</div>\n", styles: [".select-wrapper{margin-bottom:1.7rem}\n"] }]
|
|
2271
|
-
}], propDecorators: { options: [{
|
|
2272
|
-
type: Input
|
|
2273
|
-
}], groups: [{
|
|
2274
|
-
type: Input
|
|
2275
|
-
}], description: [{
|
|
2276
|
-
type: Input
|
|
2277
|
-
}] } });
|
|
2278
|
-
|
|
2279
|
-
class TextareaComponent extends AbstractFormComponent {
|
|
2280
|
-
constructor() {
|
|
2281
|
-
super(...arguments);
|
|
2282
|
-
/**
|
|
2283
|
-
* Textarea Rows
|
|
2284
|
-
* @default 3
|
|
2285
|
-
*/
|
|
2286
|
-
this.rows = 3;
|
|
2287
|
-
/**
|
|
2288
|
-
* The textarea placeholder
|
|
2289
|
-
*/
|
|
2290
|
-
this.placeholder = '';
|
|
2291
|
-
}
|
|
2292
|
-
/**
|
|
2293
|
-
* Return the invalid message string from TranslateService
|
|
2294
|
-
*/
|
|
2295
|
-
get invalidMessage() {
|
|
2296
|
-
if (this.control.hasError('maxlength')) {
|
|
2297
|
-
const error = this.getError('maxlength');
|
|
2298
|
-
return this._translateService.get('it.errors.max-length-invalid', { max: error.requiredLength });
|
|
2299
|
-
}
|
|
2300
|
-
if (this.control.hasError('pattern')) {
|
|
2301
|
-
const error = this.getError('pattern');
|
|
2302
|
-
return this._translateService.get('it.errors.pattern-invalid', { pattern: error.requiredPattern });
|
|
2303
|
-
}
|
|
2304
|
-
return super.invalidMessage;
|
|
2305
|
-
}
|
|
2306
|
-
}
|
|
2307
|
-
TextareaComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2308
|
-
TextareaComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TextareaComponent, selector: "it-textarea[id]", inputs: { rows: "rows", placeholder: "placeholder", description: "description" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\n <label *ngIf=\"label\" [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{label}}</label>\n <textarea\n [id]=\"id\"\n [rows]=\"rows\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n (blur)=\"markAsTouched()\"></textarea>\n\n <small *ngIf=\"description\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n <div *ngIf=\"isInvalid\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</div>\n", styles: ["textarea.is-invalid{border-color:#d9364f}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
2309
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TextareaComponent, decorators: [{
|
|
2310
|
-
type: Component,
|
|
2311
|
-
args: [{ selector: 'it-textarea[id]', template: "<div class=\"form-group\">\n <label *ngIf=\"label\" [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{label}}</label>\n <textarea\n [id]=\"id\"\n [rows]=\"rows\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n (blur)=\"markAsTouched()\"></textarea>\n\n <small *ngIf=\"description\" [id]=\"id + '-description'\" class=\"form-text\">{{description}}</small>\n <div *ngIf=\"isInvalid\" class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n <ng-container *ngIf=\"!customError.hasChildNodes()\">{{invalidMessage | async}}</ng-container>\n </div>\n</div>\n", styles: ["textarea.is-invalid{border-color:#d9364f}\n"] }]
|
|
2312
|
-
}], propDecorators: { rows: [{
|
|
2313
|
-
type: Input
|
|
2314
|
-
}], placeholder: [{
|
|
2315
|
-
type: Input
|
|
2316
|
-
}], description: [{
|
|
2317
|
-
type: Input
|
|
2318
|
-
}] } });
|
|
2319
|
-
|
|
2320
|
-
class FileUtils {
|
|
2321
|
-
/**
|
|
2322
|
-
* Return the file size string
|
|
2323
|
-
* @param file the file
|
|
2324
|
-
* @param decimals decimal to show
|
|
2325
|
-
*/
|
|
2326
|
-
static getFileSizeString(file, decimals = 2) {
|
|
2327
|
-
const bytes = file.size;
|
|
2328
|
-
if (!+bytes) {
|
|
2329
|
-
return '0 Bytes';
|
|
2330
|
-
}
|
|
2331
|
-
const k = 1024;
|
|
2332
|
-
const dm = decimals < 0 ? 0 : decimals;
|
|
2333
|
-
const sizes = ['Bytes', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB'];
|
|
2334
|
-
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
2335
|
-
return `${parseFloat((bytes / Math.pow(k, i)).toFixed(dm))} ${sizes[i]}`;
|
|
2336
|
-
}
|
|
2337
|
-
/**
|
|
2338
|
-
* Convert a file to base64 string
|
|
2339
|
-
* @param file the base64 string
|
|
2340
|
-
*/
|
|
2341
|
-
static fileToBase64(file) {
|
|
2342
|
-
const reader = new FileReader();
|
|
2343
|
-
reader.readAsDataURL(file);
|
|
2344
|
-
return new Observable(observer => {
|
|
2345
|
-
reader.onload = (e) => {
|
|
2346
|
-
const target = e.target;
|
|
2347
|
-
if (!target || !target.result || target.result instanceof ArrayBuffer) {
|
|
2348
|
-
return observer.error('Error on parse');
|
|
2349
|
-
}
|
|
2350
|
-
observer.next(target.result);
|
|
2351
|
-
observer.complete();
|
|
2352
|
-
};
|
|
2353
|
-
reader.onerror = error => {
|
|
2354
|
-
observer.error(error);
|
|
2355
|
-
};
|
|
2356
|
-
});
|
|
2357
|
-
}
|
|
2358
|
-
/**
|
|
2359
|
-
* Convert base64 to Blob
|
|
2360
|
-
* @param base64 the base64 string
|
|
2361
|
-
* @param mimeType the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types">MIME type</a> (example 'application/pdf')
|
|
2362
|
-
*/
|
|
2363
|
-
static base64ToBlob(base64, mimeType) {
|
|
2364
|
-
const byteString = window.atob(base64);
|
|
2365
|
-
const arrayBuffer = new ArrayBuffer(byteString.length);
|
|
2366
|
-
const int8Array = new Uint8Array(arrayBuffer);
|
|
2367
|
-
for (let i = 0; i < byteString.length; i++) {
|
|
2368
|
-
int8Array[i] = byteString.charCodeAt(i);
|
|
2369
|
-
}
|
|
2370
|
-
return new Blob([int8Array], { type: mimeType });
|
|
2371
|
-
}
|
|
2372
|
-
/**
|
|
2373
|
-
* Convert base64 to File
|
|
2374
|
-
* @param base64 the base64 string
|
|
2375
|
-
* @param mimeType the <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types">MIME type</a> (example 'application/pdf')
|
|
2376
|
-
* @param filename the file name
|
|
2377
|
-
*/
|
|
2378
|
-
static base64ToFile(base64, mimeType, filename) {
|
|
2379
|
-
const fileBlob = FileUtils.base64ToBlob(base64, mimeType);
|
|
2380
|
-
return new File([fileBlob], filename, { type: mimeType });
|
|
2381
|
-
}
|
|
2382
|
-
}
|
|
2383
|
-
|
|
2384
|
-
class UploadDragDropComponent extends AbstractComponent {
|
|
2385
|
-
constructor() {
|
|
2386
|
-
super(...arguments);
|
|
2387
|
-
/**
|
|
2388
|
-
* The accepted file type to upload <br>
|
|
2389
|
-
* Possible values: <a href="https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types/Common_types">MIME Types</a> separated by comma
|
|
2390
|
-
* @example application/pdf,image/png
|
|
2391
|
-
* @default *
|
|
2392
|
-
*/
|
|
2393
|
-
this.accept = '*';
|
|
2394
|
-
/**
|
|
2395
|
-
* Fired when file start to upload
|
|
2396
|
-
*/
|
|
2397
|
-
this.fileStartUpload = new EventEmitter();
|
|
2398
|
-
this.isDragover = false;
|
|
2399
|
-
this.isLoading = false;
|
|
2400
|
-
this.isSuccess = false;
|
|
2401
|
-
}
|
|
2402
|
-
ngAfterViewInit() {
|
|
2403
|
-
super.ngAfterViewInit();
|
|
2404
|
-
if (this.donutElement) {
|
|
2405
|
-
this.donut = ProgressDonut.getOrCreateInstance(this.donutElement.nativeElement);
|
|
2406
|
-
}
|
|
2407
|
-
}
|
|
2408
|
-
// Dragover listener
|
|
2409
|
-
onDragOver(evt) {
|
|
2410
|
-
evt.preventDefault();
|
|
2411
|
-
evt.stopPropagation();
|
|
2412
|
-
this.isDragover = !this.isLoading;
|
|
2413
|
-
}
|
|
2414
|
-
// Dragleave listener
|
|
2415
|
-
onDragLeave(evt) {
|
|
2416
|
-
evt.preventDefault();
|
|
2417
|
-
evt.stopPropagation();
|
|
2418
|
-
this.isDragover = false;
|
|
2419
|
-
}
|
|
2420
|
-
// Drop leave listener
|
|
2421
|
-
onDrop(evt) {
|
|
2422
|
-
var _a;
|
|
2423
|
-
evt.preventDefault();
|
|
2424
|
-
evt.stopPropagation();
|
|
2425
|
-
this.isDragover = false;
|
|
2426
|
-
const files = (_a = evt.dataTransfer) === null || _a === void 0 ? void 0 : _a.files;
|
|
2427
|
-
if (this.isLoading || !(files === null || files === void 0 ? void 0 : files.length)) {
|
|
2428
|
-
return;
|
|
2429
|
-
}
|
|
2430
|
-
this.start(files[0]);
|
|
2431
|
-
}
|
|
2432
|
-
/**
|
|
2433
|
-
* On load file from input
|
|
2434
|
-
* @param event
|
|
2435
|
-
*/
|
|
2436
|
-
onLoadFile(event) {
|
|
2437
|
-
var _a;
|
|
2438
|
-
const files = (_a = event.target) === null || _a === void 0 ? void 0 : _a.files;
|
|
2439
|
-
if (!(files === null || files === void 0 ? void 0 : files.length)) {
|
|
2440
|
-
return;
|
|
2441
|
-
}
|
|
2442
|
-
this.start(files[0]);
|
|
2443
|
-
}
|
|
2444
|
-
/**
|
|
2445
|
-
* Start the upload file
|
|
2446
|
-
* @param file
|
|
2447
|
-
*/
|
|
2448
|
-
start(file) {
|
|
2449
|
-
var _a, _b;
|
|
2450
|
-
if (this.accept !== '*' && !this.accept.includes(file.type)) {
|
|
2451
|
-
return;
|
|
2452
|
-
}
|
|
2453
|
-
(_a = this.donut) === null || _a === void 0 ? void 0 : _a.set(0);
|
|
2454
|
-
this.isLoading = true;
|
|
2455
|
-
const splitName = file.name.split('.');
|
|
2456
|
-
this.filename = splitName[0];
|
|
2457
|
-
this.extension = (_b = splitName[1]) === null || _b === void 0 ? void 0 : _b.toUpperCase();
|
|
2458
|
-
this.fileSize = FileUtils.getFileSizeString(file);
|
|
2459
|
-
this.fileStartUpload.emit(file);
|
|
2460
|
-
}
|
|
2461
|
-
/**
|
|
2462
|
-
* Percentage of upload
|
|
2463
|
-
* @param value the percentage
|
|
2464
|
-
*/
|
|
2465
|
-
progress(value) {
|
|
2466
|
-
var _a;
|
|
2467
|
-
if (value >= 100) {
|
|
2468
|
-
this.success();
|
|
2469
|
-
}
|
|
2470
|
-
else {
|
|
2471
|
-
(_a = this.donut) === null || _a === void 0 ? void 0 : _a.set(((value < 0) ? 0 : value) / 100);
|
|
2472
|
-
}
|
|
2473
|
-
}
|
|
2474
|
-
/**
|
|
2475
|
-
* Upload success
|
|
2476
|
-
*/
|
|
2477
|
-
success() {
|
|
2478
|
-
this.isLoading = false;
|
|
2479
|
-
this.isSuccess = true;
|
|
2480
|
-
}
|
|
2481
|
-
/**
|
|
2482
|
-
* Reset file uploader
|
|
2483
|
-
*/
|
|
2484
|
-
reset() {
|
|
2485
|
-
var _a;
|
|
2486
|
-
this.isLoading = false;
|
|
2487
|
-
this.isSuccess = false;
|
|
2488
|
-
this.filename = this.extension = this.fileSize = undefined;
|
|
2489
|
-
(_a = this.donut) === null || _a === void 0 ? void 0 : _a.set(0);
|
|
2490
|
-
}
|
|
2491
|
-
}
|
|
2492
|
-
UploadDragDropComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: UploadDragDropComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2493
|
-
UploadDragDropComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: UploadDragDropComponent, selector: "it-upload-drag-drop[id]", inputs: { accept: "accept" }, outputs: { fileStartUpload: "fileStartUpload" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" } }, viewQueries: [{ propertyName: "donutElement", first: true, predicate: ["donutElement"], descendants: true }], exportAs: ["itUploadDragDrop"], usesInheritance: true, ngImport: i0, template: "<div class=\"upload-dragdrop\" [class.dragover]=\"isDragover\" [class.loading]=\"isLoading\" [class.success]=\"isSuccess\">\n <div class=\"upload-dragdrop-image\">\n <img src=\"/bootstrap-italia/dist/assets/upload-drag-drop-icon.svg\" alt=\"drag-drop-icon\" aria-hidden=\"true\">\n <div class=\"upload-dragdrop-loading\">\n <div class=\"progress-donut\" #donutElement></div>\n </div>\n <div class=\"upload-dragdrop-success\">\n <it-icon name=\"check\"></it-icon>\n </div>\n </div>\n <div class=\"upload-dragdrop-text\">\n <p class=\"upload-dragdrop-weight\">\n <it-icon name=\"file\" size=\"xs\"></it-icon>\n {{extension}} ({{fileSize}})\n </p>\n <h5>{{filename || ('it.form.upload-drag-file'|translate)}}</h5>\n <p *ngIf=\"isLoading\">{{'it.form.upload-loading'|translate}}</p>\n <p *ngIf=\"isSuccess\">{{'it.form.upload-complete'|translate}}</p>\n <p *ngIf=\"!isLoading && !isSuccess\">{{'it.form.upload-or'|translate}}\n <input type=\"file\" [id]=\"id\" class=\"upload-dragdrop-input\" [accept]=\"accept\" (change)=\"onLoadFile($event)\"/>\n <label [for]=\"id\">{{'it.form.upload-select-device'|translate}}</label>\n </p>\n </div>\n</div>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
2494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: UploadDragDropComponent, decorators: [{
|
|
2495
|
-
type: Component,
|
|
2496
|
-
args: [{ selector: 'it-upload-drag-drop[id]', exportAs: 'itUploadDragDrop', template: "<div class=\"upload-dragdrop\" [class.dragover]=\"isDragover\" [class.loading]=\"isLoading\" [class.success]=\"isSuccess\">\n <div class=\"upload-dragdrop-image\">\n <img src=\"/bootstrap-italia/dist/assets/upload-drag-drop-icon.svg\" alt=\"drag-drop-icon\" aria-hidden=\"true\">\n <div class=\"upload-dragdrop-loading\">\n <div class=\"progress-donut\" #donutElement></div>\n </div>\n <div class=\"upload-dragdrop-success\">\n <it-icon name=\"check\"></it-icon>\n </div>\n </div>\n <div class=\"upload-dragdrop-text\">\n <p class=\"upload-dragdrop-weight\">\n <it-icon name=\"file\" size=\"xs\"></it-icon>\n {{extension}} ({{fileSize}})\n </p>\n <h5>{{filename || ('it.form.upload-drag-file'|translate)}}</h5>\n <p *ngIf=\"isLoading\">{{'it.form.upload-loading'|translate}}</p>\n <p *ngIf=\"isSuccess\">{{'it.form.upload-complete'|translate}}</p>\n <p *ngIf=\"!isLoading && !isSuccess\">{{'it.form.upload-or'|translate}}\n <input type=\"file\" [id]=\"id\" class=\"upload-dragdrop-input\" [accept]=\"accept\" (change)=\"onLoadFile($event)\"/>\n <label [for]=\"id\">{{'it.form.upload-select-device'|translate}}</label>\n </p>\n </div>\n</div>\n" }]
|
|
2497
|
-
}], propDecorators: { accept: [{
|
|
2498
|
-
type: Input
|
|
2499
|
-
}], fileStartUpload: [{
|
|
2500
|
-
type: Output
|
|
2501
|
-
}], donutElement: [{
|
|
2502
|
-
type: ViewChild,
|
|
2503
|
-
args: ['donutElement']
|
|
2504
|
-
}], onDragOver: [{
|
|
2505
|
-
type: HostListener,
|
|
2506
|
-
args: ['dragover', ['$event']]
|
|
2507
|
-
}], onDragLeave: [{
|
|
2508
|
-
type: HostListener,
|
|
2509
|
-
args: ['dragleave', ['$event']]
|
|
2510
|
-
}], onDrop: [{
|
|
2511
|
-
type: HostListener,
|
|
2512
|
-
args: ['drop', ['$event']]
|
|
2513
|
-
}] } });
|
|
2514
|
-
|
|
2515
|
-
class UploadFileListComponent extends AbstractComponent {
|
|
2516
|
-
constructor() {
|
|
2517
|
-
super(...arguments);
|
|
2518
|
-
/**
|
|
2519
|
-
* The accepted file type to upload
|
|
2520
|
-
* @default *
|
|
2521
|
-
*/
|
|
2522
|
-
this.accept = "*";
|
|
2523
|
-
/**
|
|
2524
|
-
* If upload multiple files
|
|
2525
|
-
*/
|
|
2526
|
-
this.multiple = true;
|
|
2527
|
-
/**
|
|
2528
|
-
* Fired when upload new files
|
|
2529
|
-
*/
|
|
2530
|
-
this.uploadFiles = new EventEmitter();
|
|
2531
|
-
/**
|
|
2532
|
-
* Fired on delete item button click
|
|
2533
|
-
*/
|
|
2534
|
-
this.deleteItem = new EventEmitter();
|
|
2535
|
-
/**
|
|
2536
|
-
* Cache to preview image
|
|
2537
|
-
*/
|
|
2538
|
-
this.previewImages = new Map();
|
|
2539
|
-
}
|
|
2540
|
-
ngOnInit() {
|
|
2541
|
-
if (this.isImageList && this.accept === '*') {
|
|
2542
|
-
this.accept = 'image/*';
|
|
2543
|
-
}
|
|
2544
|
-
}
|
|
2545
|
-
ngOnChanges(changes) {
|
|
2546
|
-
if (changes['fileList'] && this.isImageList) {
|
|
2547
|
-
this.fileList.forEach(item => {
|
|
2548
|
-
FileUtils.fileToBase64(item.file).pipe(take(1)).subscribe(base64 => {
|
|
2549
|
-
this.previewImages.set(item.id, base64);
|
|
2550
|
-
});
|
|
2551
|
-
});
|
|
2552
|
-
}
|
|
2553
|
-
}
|
|
2554
|
-
get isMultipleInput() {
|
|
2555
|
-
return isTrueBooleanInput(this.multiple);
|
|
2556
|
-
}
|
|
2557
|
-
get isImageList() {
|
|
2558
|
-
return isTrueBooleanInput(this.images);
|
|
2559
|
-
}
|
|
2560
|
-
get isHideLoadButton() {
|
|
2561
|
-
return isTrueBooleanInput(this.hideLoadButton);
|
|
2562
|
-
}
|
|
2563
|
-
/**
|
|
2564
|
-
* On load file from input
|
|
2565
|
-
* @param event
|
|
2566
|
-
*/
|
|
2567
|
-
onLoadFiles(event) {
|
|
2568
|
-
var _a;
|
|
2569
|
-
const files = (_a = event.target) === null || _a === void 0 ? void 0 : _a.files;
|
|
2570
|
-
if (!files || !files.length) {
|
|
2571
|
-
return;
|
|
2572
|
-
}
|
|
2573
|
-
this.uploadFiles.emit(files);
|
|
2574
|
-
}
|
|
2575
|
-
/**
|
|
2576
|
-
* Get the file size string
|
|
2577
|
-
* @param file
|
|
2578
|
-
*/
|
|
2579
|
-
getFileSize(file) {
|
|
2580
|
-
return FileUtils.getFileSizeString(file);
|
|
2581
|
-
}
|
|
2582
|
-
}
|
|
2583
|
-
UploadFileListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: UploadFileListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2584
|
-
UploadFileListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: UploadFileListComponent, selector: "it-upload-file-list[id][fileList]", inputs: { fileList: "fileList", accept: "accept", multiple: "multiple", images: "images", hideLoadButton: "hideLoadButton" }, outputs: { uploadFiles: "uploadFiles", deleteItem: "deleteItem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!isHideLoadButton\">\n <input type=\"file\" [id]=\"id\" class=\"upload\" [accept]=\"accept\" [multiple]=\"isMultipleInput\"\n (change)=\"onLoadFiles($event)\" />\n <label [for]=\"id\">\n <it-icon name=\"upload\" size=\"sm\"></it-icon>\n <span>{{'it.form.upload'|translate}}</span>\n </label>\n</ng-container>\n\n<ul class=\"upload-file-list\" [class.upload-file-list-image]=\"isImageList\" *ngIf=\"fileList.length\">\n <li *ngFor=\"let item of fileList\" class=\"upload-file\"\n [class.error]=\"!!item.error\"\n [class.uploading]=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [class.success]=\"!item.error && (!item.progress || item.progress >= 100)\">\n\n <div class=\"upload-image\" *ngIf=\"isImageList; else icon\">\n <img [attr.src]=\"previewImages.get(item.id)\" [alt]=\"item.file.name\" />\n </div>\n <ng-template #icon>\n <it-icon name=\"file\" size=\"sm\" [color]=\"!item.error ? 'primary' : 'danger'\"></it-icon>\n </ng-template>\n\n <p [itTooltip]=\"item.tooltip\">\n <span class=\"visually-hidden\">{{'it.form.uploaded-file'|translate : { name: item.file.name } }}</span>\n {{item.file.name}} <span class=\"upload-file-weight\">{{getFileSize(item.file)}}</span>\n </p>\n\n <button *ngIf=\"item.removable && (!item.progress || item.progress < 100)\" (click)=\"deleteItem.emit(item)\">\n <span class=\"visually-hidden\">{{'it.form.delete-file'|translate : { name: item.file.name } }}</span>\n <it-icon name=\"close\"></it-icon>\n </button>\n <button disabled *ngIf=\"(!item.removable && !item.progress) || (item.progress !== undefined && item.progress >= 100)\">\n <span class=\"visually-hidden\">{{'it.form.upload-complete'|translate}}</span>\n <it-icon name=\"check\"></it-icon>\n </button>\n\n <it-progress-bar *ngIf=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [value]=\"item.progress\"></it-progress-bar>\n </li>\n</ul>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ProgressBarComponent, selector: "it-progress-bar[value]", inputs: ["value", "showLabel", "indeterminate", "color"] }, { kind: "directive", type: TooltipDirective, selector: "[itTooltip]", inputs: ["itTooltip", "tooltipPlacement", "tooltipHtml"], outputs: ["onShow", "onShown", "onHide", "onHidden", "onInserted"], exportAs: ["itTooltip"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
2585
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: UploadFileListComponent, decorators: [{
|
|
2586
|
-
type: Component,
|
|
2587
|
-
args: [{ selector: 'it-upload-file-list[id][fileList]', template: "<ng-container *ngIf=\"!isHideLoadButton\">\n <input type=\"file\" [id]=\"id\" class=\"upload\" [accept]=\"accept\" [multiple]=\"isMultipleInput\"\n (change)=\"onLoadFiles($event)\" />\n <label [for]=\"id\">\n <it-icon name=\"upload\" size=\"sm\"></it-icon>\n <span>{{'it.form.upload'|translate}}</span>\n </label>\n</ng-container>\n\n<ul class=\"upload-file-list\" [class.upload-file-list-image]=\"isImageList\" *ngIf=\"fileList.length\">\n <li *ngFor=\"let item of fileList\" class=\"upload-file\"\n [class.error]=\"!!item.error\"\n [class.uploading]=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [class.success]=\"!item.error && (!item.progress || item.progress >= 100)\">\n\n <div class=\"upload-image\" *ngIf=\"isImageList; else icon\">\n <img [attr.src]=\"previewImages.get(item.id)\" [alt]=\"item.file.name\" />\n </div>\n <ng-template #icon>\n <it-icon name=\"file\" size=\"sm\" [color]=\"!item.error ? 'primary' : 'danger'\"></it-icon>\n </ng-template>\n\n <p [itTooltip]=\"item.tooltip\">\n <span class=\"visually-hidden\">{{'it.form.uploaded-file'|translate : { name: item.file.name } }}</span>\n {{item.file.name}} <span class=\"upload-file-weight\">{{getFileSize(item.file)}}</span>\n </p>\n\n <button *ngIf=\"item.removable && (!item.progress || item.progress < 100)\" (click)=\"deleteItem.emit(item)\">\n <span class=\"visually-hidden\">{{'it.form.delete-file'|translate : { name: item.file.name } }}</span>\n <it-icon name=\"close\"></it-icon>\n </button>\n <button disabled *ngIf=\"(!item.removable && !item.progress) || (item.progress !== undefined && item.progress >= 100)\">\n <span class=\"visually-hidden\">{{'it.form.upload-complete'|translate}}</span>\n <it-icon name=\"check\"></it-icon>\n </button>\n\n <it-progress-bar *ngIf=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [value]=\"item.progress\"></it-progress-bar>\n </li>\n</ul>\n" }]
|
|
2588
|
-
}], propDecorators: { fileList: [{
|
|
2589
|
-
type: Input
|
|
2590
|
-
}], accept: [{
|
|
2591
|
-
type: Input
|
|
2592
|
-
}], multiple: [{
|
|
2593
|
-
type: Input
|
|
2594
|
-
}], images: [{
|
|
2595
|
-
type: Input
|
|
2596
|
-
}], hideLoadButton: [{
|
|
2597
|
-
type: Input
|
|
2598
|
-
}], uploadFiles: [{
|
|
2599
|
-
type: Output
|
|
2600
|
-
}], deleteItem: [{
|
|
2601
|
-
type: Output
|
|
2602
|
-
}] } });
|
|
2603
|
-
|
|
2604
|
-
class BackButtonComponent {
|
|
2605
|
-
constructor(_location) {
|
|
2606
|
-
this._location = _location;
|
|
2607
|
-
/**
|
|
2608
|
-
* Back button style
|
|
2609
|
-
* - <b>link</b>: use a link with icon and text
|
|
2610
|
-
* - <b>button</b>: use a button with icon and text
|
|
2611
|
-
* @default button
|
|
2612
|
-
*/
|
|
2613
|
-
this.buttonStyle = 'button';
|
|
2614
|
-
/**
|
|
2615
|
-
* Button direction
|
|
2616
|
-
* - <b>left</b>: Back direction
|
|
2617
|
-
* - <b>up</b>: Upper direction
|
|
2618
|
-
* @default left
|
|
2619
|
-
*/
|
|
2620
|
-
this.direction = 'left';
|
|
2621
|
-
/**
|
|
2622
|
-
* Show/Hide icon
|
|
2623
|
-
* @default true
|
|
2624
|
-
*/
|
|
2625
|
-
this.showIcon = true;
|
|
2626
|
-
/**
|
|
2627
|
-
* Show/Hide text
|
|
2628
|
-
* @default true
|
|
2629
|
-
*/
|
|
2630
|
-
this.showText = true;
|
|
2631
|
-
}
|
|
2632
|
-
get isShowIcon() {
|
|
2633
|
-
return isTrueBooleanInput(this.showIcon);
|
|
2634
|
-
}
|
|
2635
|
-
get isShowText() {
|
|
2636
|
-
return isTrueBooleanInput(this.showText);
|
|
2637
|
-
}
|
|
2638
|
-
/**
|
|
2639
|
-
* Go back function
|
|
2640
|
-
*/
|
|
2641
|
-
goBack() {
|
|
2642
|
-
if (this.backFn) {
|
|
2643
|
-
return this.backFn(this._location);
|
|
2644
|
-
}
|
|
2645
|
-
this._location.back();
|
|
2646
|
-
}
|
|
2647
|
-
}
|
|
2648
|
-
BackButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BackButtonComponent, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Component });
|
|
2649
|
-
BackButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BackButtonComponent, selector: "it-back-button", inputs: { buttonStyle: "buttonStyle", direction: "direction", showIcon: "showIcon", showText: "showText", backFn: "backFn" }, exportAs: ["itBackButton"], ngImport: i0, template: "<a *ngIf=\"buttonStyle === 'link'\" class=\"go-back\" data-bs-toggle=\"historyback\" (click)=\"goBack()\" [routerLink]=\"null\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<button *ngIf=\"buttonStyle === 'button'\"\n itButton=\"primary\"\n class=\"go-back\"\n data-bs-toggle=\"historyback\"\n (click)=\"goBack()\">\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</button>\n\n<ng-template #content>\n <it-icon *ngIf=\"isShowIcon\"\n size=\"sm\"\n [name]=\"direction === 'left' ? 'arrow-left' : 'arrow-up'\"\n [color]=\"buttonStyle === 'link' ? 'primary' : 'white'\"\n [class.me-2]=\"isShowText\"></it-icon>\n\n <span [class.visually-hidden]=\"!isShowText\">\n {{(direction === 'left' ? 'it.navigation.go-back' : 'it.navigation.upper-level') | translate}}\n </span>\n</ng-template>\n", styles: ["a.go-back{cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$2.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: ButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled"], exportAs: ["itButton"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
2650
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BackButtonComponent, decorators: [{
|
|
2651
|
-
type: Component,
|
|
2652
|
-
args: [{ selector: 'it-back-button', exportAs: 'itBackButton', template: "<a *ngIf=\"buttonStyle === 'link'\" class=\"go-back\" data-bs-toggle=\"historyback\" (click)=\"goBack()\" [routerLink]=\"null\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</a>\n\n<button *ngIf=\"buttonStyle === 'button'\"\n itButton=\"primary\"\n class=\"go-back\"\n data-bs-toggle=\"historyback\"\n (click)=\"goBack()\">\n\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n</button>\n\n<ng-template #content>\n <it-icon *ngIf=\"isShowIcon\"\n size=\"sm\"\n [name]=\"direction === 'left' ? 'arrow-left' : 'arrow-up'\"\n [color]=\"buttonStyle === 'link' ? 'primary' : 'white'\"\n [class.me-2]=\"isShowText\"></it-icon>\n\n <span [class.visually-hidden]=\"!isShowText\">\n {{(direction === 'left' ? 'it.navigation.go-back' : 'it.navigation.upper-level') | translate}}\n </span>\n</ng-template>\n", styles: ["a.go-back{cursor:pointer}\n"] }]
|
|
2653
|
-
}], ctorParameters: function () { return [{ type: i1.Location }]; }, propDecorators: { buttonStyle: [{
|
|
2654
|
-
type: Input
|
|
2655
|
-
}], direction: [{
|
|
2656
|
-
type: Input
|
|
2657
|
-
}], showIcon: [{
|
|
2658
|
-
type: Input
|
|
2659
|
-
}], showText: [{
|
|
2660
|
-
type: Input
|
|
2661
|
-
}], backFn: [{
|
|
2662
|
-
type: Input
|
|
2663
|
-
}] } });
|
|
2664
|
-
|
|
2665
|
-
class BackToTopComponent extends AbstractComponent {
|
|
2666
|
-
constructor() {
|
|
2667
|
-
super(...arguments);
|
|
2668
|
-
/**
|
|
2669
|
-
* The back to top ID
|
|
2670
|
-
* @default 'back-to-top-button'
|
|
2671
|
-
*/
|
|
2672
|
-
this.id = 'back-to-top-button';
|
|
2673
|
-
}
|
|
2674
|
-
get isSmall() {
|
|
2675
|
-
return isTrueBooleanInput(this.small);
|
|
2676
|
-
}
|
|
2677
|
-
get isShadow() {
|
|
2678
|
-
return isTrueBooleanInput(this.shadow);
|
|
2679
|
-
}
|
|
2680
|
-
get isDark() {
|
|
2681
|
-
return isTrueBooleanInput(this.dark);
|
|
2682
|
-
}
|
|
2683
|
-
}
|
|
2684
|
-
BackToTopComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BackToTopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2685
|
-
BackToTopComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BackToTopComponent, selector: "it-back-to-top", inputs: { id: "id", small: "small", shadow: "shadow", dark: "dark" }, usesInheritance: true, ngImport: i0, template: "<a [id]=\"id\"\n href=\"#\"\n aria-hidden=\"true\"\n data-bs-toggle=\"backtotop\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"isSmall\"\n [class.shadow]=\"isShadow\"\n [class.dark]=\"isDark\">\n\n <it-icon name=\"arrow-up\" [color]=\"isDark ? 'secondary' : 'light'\"></it-icon>\n</a>\n", styles: [""], dependencies: [{ kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }] });
|
|
2686
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BackToTopComponent, decorators: [{
|
|
2687
|
-
type: Component,
|
|
2688
|
-
args: [{ selector: 'it-back-to-top', template: "<a [id]=\"id\"\n href=\"#\"\n aria-hidden=\"true\"\n data-bs-toggle=\"backtotop\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"isSmall\"\n [class.shadow]=\"isShadow\"\n [class.dark]=\"isDark\">\n\n <it-icon name=\"arrow-up\" [color]=\"isDark ? 'secondary' : 'light'\"></it-icon>\n</a>\n" }]
|
|
2689
|
-
}], propDecorators: { id: [{
|
|
2690
|
-
type: Input
|
|
2691
|
-
}], small: [{
|
|
2692
|
-
type: Input
|
|
2693
|
-
}], shadow: [{
|
|
2694
|
-
type: Input
|
|
2695
|
-
}], dark: [{
|
|
2696
|
-
type: Input
|
|
2697
|
-
}] } });
|
|
2698
|
-
|
|
2699
|
-
class BreadcrumbItemComponent extends LinkComponent {
|
|
2700
|
-
get isActive() {
|
|
2701
|
-
return isTrueBooleanInput(this.active);
|
|
2702
|
-
}
|
|
2703
|
-
}
|
|
2704
|
-
BreadcrumbItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BreadcrumbItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2705
|
-
BreadcrumbItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BreadcrumbItemComponent, selector: "it-breadcrumb-item", inputs: { active: "active", iconName: "iconName" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", styles: [""] });
|
|
2706
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BreadcrumbItemComponent, decorators: [{
|
|
2707
|
-
type: Component,
|
|
2708
|
-
args: [{ selector: 'it-breadcrumb-item', template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
2709
|
-
}], propDecorators: { active: [{
|
|
2710
|
-
type: Input
|
|
2711
|
-
}], iconName: [{
|
|
2712
|
-
type: Input
|
|
2713
|
-
}], htmlContent: [{
|
|
2714
|
-
type: ViewChild,
|
|
2715
|
-
args: [TemplateRef]
|
|
2716
|
-
}] } });
|
|
2717
|
-
|
|
2718
|
-
class BreadcrumbComponent {
|
|
2719
|
-
constructor(_changeDetectorRef) {
|
|
2720
|
-
this._changeDetectorRef = _changeDetectorRef;
|
|
2721
|
-
/**
|
|
2722
|
-
* The character to use as separator
|
|
2723
|
-
* @default /
|
|
2724
|
-
*/
|
|
2725
|
-
this.separator = '/';
|
|
2726
|
-
}
|
|
2727
|
-
get isDark() {
|
|
2728
|
-
return isTrueBooleanInput(this.dark);
|
|
2729
|
-
}
|
|
2730
|
-
ngAfterViewInit() {
|
|
2731
|
-
this._changeDetectorRef.detectChanges();
|
|
2732
|
-
}
|
|
2733
|
-
/**
|
|
2734
|
-
* Check if index is last item
|
|
2735
|
-
* @param index
|
|
2736
|
-
*/
|
|
2737
|
-
isLastItem(index) {
|
|
2738
|
-
return !!this.items && index >= (this.items.length - 1);
|
|
2739
|
-
}
|
|
2740
|
-
}
|
|
2741
|
-
BreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BreadcrumbComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2742
|
-
BreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BreadcrumbComponent, selector: "it-breadcrumb", inputs: { separator: "separator", dark: "dark" }, queries: [{ propertyName: "items", predicate: BreadcrumbItemComponent }], ngImport: i0, template: "<nav class=\"breadcrumb-container\" [attr.aria-label]=\"'it.navigation.navigation-path'|translate\">\n <ol class=\"breadcrumb\" [class.dark]=\"isDark\" [class.px-3]=\"isDark\">\n <li *ngFor=\"let item of items; let i = index\"\n class=\"breadcrumb-item\"\n [class.active]=\"item.isActive\"\n [attr.aria-current]=\"item.isActive ? 'page' : null\">\n\n <it-icon *ngIf=\"item.iconName\"\n [name]=\"item.iconName\"\n [color]=\"isDark ? 'white' : 'secondary'\"\n size=\"sm\"\n class=\"align-top me-1\"></it-icon>\n\n <it-link *ngIf=\"!item.isActive && !isLastItem(i); else activeContent\"\n [href]=\"item.href\" [class]=\"item.class\" [externalLink]=\"item.externalLink\" [disabled]=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </it-link>\n\n <ng-template #activeContent>\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </ng-template>\n\n <span *ngIf=\"!isLastItem(i)\" class=\"separator\">{{separator}}</span>\n </li>\n </ol>\n</nav>\n", styles: [""], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: LinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
2743
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BreadcrumbComponent, decorators: [{
|
|
2744
|
-
type: Component,
|
|
2745
|
-
args: [{ selector: 'it-breadcrumb', template: "<nav class=\"breadcrumb-container\" [attr.aria-label]=\"'it.navigation.navigation-path'|translate\">\n <ol class=\"breadcrumb\" [class.dark]=\"isDark\" [class.px-3]=\"isDark\">\n <li *ngFor=\"let item of items; let i = index\"\n class=\"breadcrumb-item\"\n [class.active]=\"item.isActive\"\n [attr.aria-current]=\"item.isActive ? 'page' : null\">\n\n <it-icon *ngIf=\"item.iconName\"\n [name]=\"item.iconName\"\n [color]=\"isDark ? 'white' : 'secondary'\"\n size=\"sm\"\n class=\"align-top me-1\"></it-icon>\n\n <it-link *ngIf=\"!item.isActive && !isLastItem(i); else activeContent\"\n [href]=\"item.href\" [class]=\"item.class\" [externalLink]=\"item.externalLink\" [disabled]=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </it-link>\n\n <ng-template #activeContent>\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </ng-template>\n\n <span *ngIf=\"!isLastItem(i)\" class=\"separator\">{{separator}}</span>\n </li>\n </ol>\n</nav>\n" }]
|
|
2746
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { separator: [{
|
|
2747
|
-
type: Input
|
|
2748
|
-
}], dark: [{
|
|
2749
|
-
type: Input
|
|
2750
|
-
}], items: [{
|
|
2751
|
-
type: ContentChildren,
|
|
2752
|
-
args: [BreadcrumbItemComponent]
|
|
2753
|
-
}] } });
|
|
2754
|
-
|
|
2755
|
-
class HeaderComponent extends AbstractComponent {
|
|
2756
|
-
/**
|
|
2757
|
-
* TODO: complete header
|
|
2758
|
-
* @param _renderer
|
|
2759
|
-
* @param _elementRef
|
|
2760
|
-
*/
|
|
2761
|
-
constructor(_renderer, _elementRef) {
|
|
2762
|
-
super(_renderer, _elementRef);
|
|
2763
|
-
this._renderer = _renderer;
|
|
2764
|
-
this._elementRef = _elementRef;
|
|
2765
|
-
this.showSlim = true;
|
|
2766
|
-
this.loginStyle = 'full';
|
|
2767
|
-
this.smallHeader = true;
|
|
2768
|
-
this.showSearch = true;
|
|
2769
|
-
this.loginClick = new EventEmitter();
|
|
2770
|
-
this.searchClick = new EventEmitter();
|
|
2771
|
-
}
|
|
2772
|
-
get isLight() {
|
|
2773
|
-
return isTrueBooleanInput(this.light);
|
|
2774
|
-
}
|
|
2775
|
-
get isShowSlim() {
|
|
2776
|
-
return isTrueBooleanInput(this.showSlim);
|
|
2777
|
-
}
|
|
2778
|
-
get isSmallHeader() {
|
|
2779
|
-
return isTrueBooleanInput(this.smallHeader);
|
|
2780
|
-
}
|
|
2781
|
-
get isShowSearch() {
|
|
2782
|
-
return isTrueBooleanInput(this.showSearch);
|
|
2783
|
-
}
|
|
2784
|
-
}
|
|
2785
|
-
HeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2786
|
-
HeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: HeaderComponent, selector: "it-header", inputs: { light: "light", showSlim: "showSlim", slimTitle: "slimTitle", loginStyle: "loginStyle", smallHeader: "smallHeader", showSearch: "showSearch" }, outputs: { loginClick: "loginClick", searchClick: "searchClick" }, usesInheritance: true, ngImport: i0, template: "<header class=\"it-header-wrapper\">\n <div *ngIf=\"isShowSlim\" class=\"it-header-slim-wrapper\" [class.theme-light]=\"isLight\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-slim-wrapper-content\">\n <a class=\"d-none d-lg-block navbar-brand\" href=\"#\">{{slimTitle}}</a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation'|translate\">\n <a class=\"it-opener d-lg-none\" data-bs-toggle=\"collapse\" href=\"#menuC1\" role=\"button\"\n aria-expanded=\"false\" aria-controls=\"menuC1\">\n <span>{{slimTitle}}</span>\n <it-icon name=\"expand\"></it-icon>\n </a>\n <div class=\"link-list-wrapper collapse\" id=\"menuC1\">\n <ng-content select=\"[slimLinkList]\"></ng-content>\n </div>\n </nav>\n </div>\n <div class=\"it-header-slim-right-zone\">\n <!-- TODO: add language dropdown -->\n <ng-content select=\"[slimRightZone]\"></ng-content>\n <div *ngIf=\"loginStyle === 'default'\" class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"loginClick.emit($event)\">\n {{'it.navigation.login'|translate}}\n </a>\n </div>\n </div>\n <button *ngIf=\"loginStyle === 'full'\" itButton=\"primary\" class=\"btn-full\" (click)=\"loginClick.emit($event)\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n <span class=\"d-none d-lg-block\">{{'it.navigation.full-login'|translate}}</span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"isSmallHeader\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-center-content-wrapper\">\n <div class=\"it-brand-wrapper\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"it-right-zone\">\n <ng-content select=\"[rightZone]\"></ng-content>\n\n <div class=\"it-search-wrapper\" *ngIf=\"isShowSearch\">\n <span class=\"d-none d-md-block\">{{'it.navigation.search'|translate}}</span>\n <a class=\"search-link rounded-icon\" [attr.aria-label]=\"'it.navigation.website-search'|translate\" (click)=\"searchClick.emit($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- TODO: complete header -->\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled"], exportAs: ["itButton"] }, { kind: "component", type: IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
2787
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HeaderComponent, decorators: [{
|
|
2788
|
-
type: Component,
|
|
2789
|
-
args: [{ selector: 'it-header', template: "<header class=\"it-header-wrapper\">\n <div *ngIf=\"isShowSlim\" class=\"it-header-slim-wrapper\" [class.theme-light]=\"isLight\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-slim-wrapper-content\">\n <a class=\"d-none d-lg-block navbar-brand\" href=\"#\">{{slimTitle}}</a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation'|translate\">\n <a class=\"it-opener d-lg-none\" data-bs-toggle=\"collapse\" href=\"#menuC1\" role=\"button\"\n aria-expanded=\"false\" aria-controls=\"menuC1\">\n <span>{{slimTitle}}</span>\n <it-icon name=\"expand\"></it-icon>\n </a>\n <div class=\"link-list-wrapper collapse\" id=\"menuC1\">\n <ng-content select=\"[slimLinkList]\"></ng-content>\n </div>\n </nav>\n </div>\n <div class=\"it-header-slim-right-zone\">\n <!-- TODO: add language dropdown -->\n <ng-content select=\"[slimRightZone]\"></ng-content>\n <div *ngIf=\"loginStyle === 'default'\" class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"loginClick.emit($event)\">\n {{'it.navigation.login'|translate}}\n </a>\n </div>\n </div>\n <button *ngIf=\"loginStyle === 'full'\" itButton=\"primary\" class=\"btn-full\" (click)=\"loginClick.emit($event)\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n <span class=\"d-none d-lg-block\">{{'it.navigation.full-login'|translate}}</span>\n </span>\n </button>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"isSmallHeader\">\n <div class=\"container-fluid\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-center-content-wrapper\">\n <div class=\"it-brand-wrapper\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"it-right-zone\">\n <ng-content select=\"[rightZone]\"></ng-content>\n\n <div class=\"it-search-wrapper\" *ngIf=\"isShowSearch\">\n <span class=\"d-none d-md-block\">{{'it.navigation.search'|translate}}</span>\n <a class=\"search-link rounded-icon\" [attr.aria-label]=\"'it.navigation.website-search'|translate\" (click)=\"searchClick.emit($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n\n <!-- TODO: complete header -->\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"] }]
|
|
2790
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }]; }, propDecorators: { light: [{
|
|
2791
|
-
type: Input
|
|
2792
|
-
}], showSlim: [{
|
|
2793
|
-
type: Input
|
|
2794
|
-
}], slimTitle: [{
|
|
2795
|
-
type: Input
|
|
2796
|
-
}], loginStyle: [{
|
|
2797
|
-
type: Input
|
|
2798
|
-
}], smallHeader: [{
|
|
2799
|
-
type: Input
|
|
2800
|
-
}], showSearch: [{
|
|
2801
|
-
type: Input
|
|
2802
|
-
}], loginClick: [{
|
|
2803
|
-
type: Output
|
|
2804
|
-
}], searchClick: [{
|
|
2805
|
-
type: Output
|
|
2806
|
-
}] } });
|
|
2807
|
-
|
|
2808
|
-
class NotFoundPageComponent {
|
|
2809
|
-
}
|
|
2810
|
-
NotFoundPageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotFoundPageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2811
|
-
NotFoundPageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: NotFoundPageComponent, selector: "it-not-found-page", ngImport: i0, template: "<div class=\"error-template text-center mt-5\">\n <h1>404</h1>\n <h2>{{'it.utils.404.title' | translate}}</h2>\n <p>{{'it.utils.404.description' | translate}}</p>\n\n <div class=\"mt-3\">\n <it-back-button></it-back-button>\n <a class=\"btn btn-primary ms-3\" href=\"/\" title=\"{{'it.utils.404.go-to-homepage' | translate}}\">\n {{'it.utils.404.go-to-homepage' | translate}}\n </a>\n </div>\n\n</div>\n", styles: [""], dependencies: [{ kind: "component", type: BackButtonComponent, selector: "it-back-button", inputs: ["buttonStyle", "direction", "showIcon", "showText", "backFn"], exportAs: ["itBackButton"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }] });
|
|
2812
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NotFoundPageComponent, decorators: [{
|
|
2813
|
-
type: Component,
|
|
2814
|
-
args: [{ selector: 'it-not-found-page', template: "<div class=\"error-template text-center mt-5\">\n <h1>404</h1>\n <h2>{{'it.utils.404.title' | translate}}</h2>\n <p>{{'it.utils.404.description' | translate}}</p>\n\n <div class=\"mt-3\">\n <it-back-button></it-back-button>\n <a class=\"btn btn-primary ms-3\" href=\"/\" title=\"{{'it.utils.404.go-to-homepage' | translate}}\">\n {{'it.utils.404.go-to-homepage' | translate}}\n </a>\n </div>\n\n</div>\n" }]
|
|
2815
|
-
}] });
|
|
2816
|
-
|
|
2817
|
-
class ChipComponent {
|
|
2818
|
-
constructor() {
|
|
2819
|
-
this._label = '';
|
|
2820
|
-
this._showCloseButton = false;
|
|
2821
|
-
this._size = '';
|
|
2822
|
-
this._color = undefined;
|
|
2823
|
-
this._disabled = false;
|
|
2824
|
-
this._icon = undefined;
|
|
2825
|
-
this._avatar = undefined;
|
|
2826
|
-
this._altAvatar = '';
|
|
2827
|
-
/**
|
|
2828
|
-
* Evento emesso al click sul bottone di chiusura
|
|
2829
|
-
*/
|
|
2830
|
-
this.close = new EventEmitter();
|
|
2831
|
-
this.iconClose = 'close';
|
|
2832
|
-
}
|
|
2833
|
-
/**
|
|
2834
|
-
* Indica la label
|
|
2835
|
-
*/
|
|
2836
|
-
set label(value) { this._label = value; }
|
|
2837
|
-
get label() { return this._label; }
|
|
2838
|
-
/**
|
|
2839
|
-
* Indica se mostrate il pulante di chisura
|
|
2840
|
-
*/
|
|
2841
|
-
set showCloseButton(value) { this._showCloseButton = value; }
|
|
2842
|
-
get showCloseButton() { return this._showCloseButton; }
|
|
2843
|
-
/**
|
|
2844
|
-
* Indica il size
|
|
2845
|
-
*/
|
|
2846
|
-
set size(value) { this._size = value; }
|
|
2847
|
-
get size() { return this._size; }
|
|
2848
|
-
/**
|
|
2849
|
-
* Indica il colore della chip
|
|
2850
|
-
*/
|
|
2851
|
-
set color(value) { this._color = value; }
|
|
2852
|
-
get color() { return this._color; }
|
|
2853
|
-
/**
|
|
2854
|
-
* Indica se la chip è disabilitata
|
|
2855
|
-
*/
|
|
2856
|
-
set disabled(value) { this._disabled = value; }
|
|
2857
|
-
get disabled() { return this._disabled; }
|
|
2858
|
-
/**
|
|
2859
|
-
* Indica il nome dell'icona, se valorizzata viene mostrata
|
|
2860
|
-
*/
|
|
2861
|
-
set icon(value) { this._icon = value; }
|
|
2862
|
-
get icon() { return this._icon; }
|
|
2863
|
-
/**
|
|
2864
|
-
* Indica l'url dell'avatar, se valorizzata viene mostrata
|
|
2865
|
-
*/
|
|
2866
|
-
set avatar(value) { this._avatar = value; }
|
|
2867
|
-
get avatar() { return this._avatar; }
|
|
2868
|
-
/**
|
|
2869
|
-
* Indica il valore da aggiungere al parametro alt, di default ''
|
|
2870
|
-
*/
|
|
2871
|
-
set altAvatar(value) { this._altAvatar = value; }
|
|
2872
|
-
get altAvatar() { return this._altAvatar; }
|
|
2873
|
-
clickToClose() {
|
|
2874
|
-
this.close.emit();
|
|
2875
|
-
}
|
|
2876
|
-
}
|
|
2877
|
-
ChipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2878
|
-
ChipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ChipComponent, selector: "it-chip", inputs: { label: "label", showCloseButton: "showCloseButton", size: "size", color: "color", disabled: "disabled", icon: "icon", avatar: "avatar", altAvatar: "altAvatar" }, outputs: { close: "close" }, ngImport: i0, template: "<div class=\"chip\" [ngClass]=\"[!showCloseButton ? 'chip-simple': 'alert', size === 'lg' ? 'chip-lg': '', color ? 'chip-' + color : '', disabled ? 'chip-disabled' : '']\">\n <svg *ngIf=\"icon\" class=\"icon icon-xs\"><use [attr.href]=\"'/bootstrap-italia/dist/svg/sprites.svg#it-' + icon\" [attr.xlink:href]=\"'/bootstrap-italia/dist/svg/sprites.svg#it-' + icon\"></use></svg>\n <div *ngIf=\"avatar\" class=\"avatar size-xs\">\n <img [src]=\"avatar\" [alt]=\"altAvatar\">\n </div>\n <span class=\"chip-label\">{{ label }}</span>\n <button *ngIf=\"showCloseButton\" (click)=\"clickToClose()\" [disabled]=\"disabled\">\n <svg class=\"icon\"><use href=\"/bootstrap-italia/dist/svg/sprites.svg#it-close\" xlink:href=\"/bootstrap-italia/dist/svg/sprites.svg#it-close\"></use></svg>\n <span class=\"visually-hidden\">{{ 'it.core.remove' | translate }} {{ label }}</span>\n </button>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2$1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2879
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ChipComponent, decorators: [{
|
|
2880
|
-
type: Component,
|
|
2881
|
-
args: [{ selector: 'it-chip', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"chip\" [ngClass]=\"[!showCloseButton ? 'chip-simple': 'alert', size === 'lg' ? 'chip-lg': '', color ? 'chip-' + color : '', disabled ? 'chip-disabled' : '']\">\n <svg *ngIf=\"icon\" class=\"icon icon-xs\"><use [attr.href]=\"'/bootstrap-italia/dist/svg/sprites.svg#it-' + icon\" [attr.xlink:href]=\"'/bootstrap-italia/dist/svg/sprites.svg#it-' + icon\"></use></svg>\n <div *ngIf=\"avatar\" class=\"avatar size-xs\">\n <img [src]=\"avatar\" [alt]=\"altAvatar\">\n </div>\n <span class=\"chip-label\">{{ label }}</span>\n <button *ngIf=\"showCloseButton\" (click)=\"clickToClose()\" [disabled]=\"disabled\">\n <svg class=\"icon\"><use href=\"/bootstrap-italia/dist/svg/sprites.svg#it-close\" xlink:href=\"/bootstrap-italia/dist/svg/sprites.svg#it-close\"></use></svg>\n <span class=\"visually-hidden\">{{ 'it.core.remove' | translate }} {{ label }}</span>\n </button>\n</div>" }]
|
|
2882
|
-
}], propDecorators: { label: [{
|
|
2883
|
-
type: Input
|
|
2884
|
-
}], showCloseButton: [{
|
|
2885
|
-
type: Input
|
|
2886
|
-
}], size: [{
|
|
2887
|
-
type: Input
|
|
2888
|
-
}], color: [{
|
|
2889
|
-
type: Input
|
|
2890
|
-
}], disabled: [{
|
|
2891
|
-
type: Input
|
|
2892
|
-
}], icon: [{
|
|
2893
|
-
type: Input
|
|
2894
|
-
}], avatar: [{
|
|
2895
|
-
type: Input
|
|
2896
|
-
}], altAvatar: [{
|
|
2897
|
-
type: Input
|
|
2898
|
-
}], close: [{
|
|
2899
|
-
type: Output
|
|
2900
|
-
}] } });
|
|
2901
|
-
|
|
2902
|
-
class ForwardDirective {
|
|
2903
|
-
constructor(document) {
|
|
2904
|
-
this.document = document;
|
|
2905
|
-
this._itForward = undefined;
|
|
2906
|
-
}
|
|
2907
|
-
/**
|
|
2908
|
-
* Indica, se HTMLElement, l'elemento a cui navigare, o se stringa, il selettore che selezionerà l'elemento a cui navigare.
|
|
2909
|
-
*/
|
|
2910
|
-
set itForward(value) { this._itForward = value; }
|
|
2911
|
-
get itForward() { return this._itForward; }
|
|
2912
|
-
onClick(event) {
|
|
2913
|
-
var _a, _b;
|
|
2914
|
-
event.preventDefault();
|
|
2915
|
-
if (this.itForward) {
|
|
2916
|
-
if (typeof this.itForward === 'string') {
|
|
2917
|
-
(_b = (_a = this.document) === null || _a === void 0 ? void 0 : _a.querySelector(this.itForward)) === null || _b === void 0 ? void 0 : _b.scrollIntoView({
|
|
2918
|
-
behavior: 'smooth',
|
|
2919
|
-
block: 'start',
|
|
2920
|
-
inline: "nearest"
|
|
2921
|
-
});
|
|
2922
|
-
}
|
|
2923
|
-
else if (this.itForward instanceof HTMLElement) {
|
|
2924
|
-
this.itForward.scrollIntoView({
|
|
2925
|
-
behavior: 'smooth',
|
|
2926
|
-
block: 'start',
|
|
2927
|
-
inline: "nearest"
|
|
2928
|
-
});
|
|
2929
|
-
}
|
|
2930
|
-
}
|
|
2931
|
-
}
|
|
2932
|
-
}
|
|
2933
|
-
ForwardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ForwardDirective, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2934
|
-
ForwardDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ForwardDirective, selector: "[itForward]", inputs: { itForward: "itForward" }, host: { listeners: { "click": "onClick($event)" }, classAttribute: "forward" }, ngImport: i0 });
|
|
2935
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ForwardDirective, decorators: [{
|
|
2936
|
-
type: Directive,
|
|
2937
|
-
args: [{
|
|
2938
|
-
selector: '[itForward]',
|
|
2939
|
-
host: { 'class': 'forward' }
|
|
2940
|
-
}]
|
|
2941
|
-
}], ctorParameters: function () {
|
|
2942
|
-
return [{ type: Document, decorators: [{
|
|
2943
|
-
type: Inject,
|
|
2944
|
-
args: [DOCUMENT]
|
|
2945
|
-
}] }];
|
|
2946
|
-
}, propDecorators: { itForward: [{
|
|
2947
|
-
type: Input
|
|
2948
|
-
}], onClick: [{
|
|
2949
|
-
type: HostListener,
|
|
2950
|
-
args: ['click', ['$event']]
|
|
2951
|
-
}] } });
|
|
2952
|
-
|
|
2953
|
-
class DimmerComponent {
|
|
2954
|
-
constructor(elementRef) {
|
|
2955
|
-
this.elementRef = elementRef;
|
|
2956
|
-
this._active = false;
|
|
2957
|
-
this._color = '';
|
|
2958
|
-
}
|
|
2959
|
-
/**
|
|
2960
|
-
* Dimmer status
|
|
2961
|
-
* @default false
|
|
2962
|
-
*/
|
|
2963
|
-
set active(value) { this._active = value; }
|
|
2964
|
-
;
|
|
2965
|
-
get active() { return this._active; }
|
|
2966
|
-
/**
|
|
2967
|
-
* Colore del dimmer
|
|
2968
|
-
* @default ''
|
|
2969
|
-
*/
|
|
2970
|
-
set color(value) { this._color = value; }
|
|
2971
|
-
;
|
|
2972
|
-
get color() { return this._color; }
|
|
2973
|
-
ngOnInit() {
|
|
2974
|
-
var _a, _b, _c, _d;
|
|
2975
|
-
(_d = (_c = (_b = (_a = this.elementRef) === null || _a === void 0 ? void 0 : _a.nativeElement) === null || _b === void 0 ? void 0 : _b.parentElement) === null || _c === void 0 ? void 0 : _c.classList) === null || _d === void 0 ? void 0 : _d.add('dimmable');
|
|
2976
|
-
}
|
|
2977
|
-
}
|
|
2978
|
-
DimmerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DimmerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
2979
|
-
DimmerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DimmerComponent, selector: "it-dimmer", inputs: { active: "active", color: "color" }, ngImport: i0, template: "<div class=\"dimmer\" *ngIf=\"active\" @fade [ngClass]=\"[color]\">\n <div class=\"dimmer-inner\">\n <ng-content></ng-content>\n </div>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
2980
|
-
trigger('fade', [
|
|
2981
|
-
transition(':enter', [
|
|
2982
|
-
style({ opacity: 0 }),
|
|
2983
|
-
animate('150ms', style({ opacity: 0.92 })),
|
|
2984
|
-
]),
|
|
2985
|
-
transition(':leave', [
|
|
2986
|
-
animate('150ms', style({ opacity: 0 })),
|
|
2987
|
-
]),
|
|
2988
|
-
])
|
|
2989
|
-
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2990
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DimmerComponent, decorators: [{
|
|
2991
|
-
type: Component,
|
|
2992
|
-
args: [{ selector: 'it-dimmer', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
2993
|
-
trigger('fade', [
|
|
2994
|
-
transition(':enter', [
|
|
2995
|
-
style({ opacity: 0 }),
|
|
2996
|
-
animate('150ms', style({ opacity: 0.92 })),
|
|
2997
|
-
]),
|
|
2998
|
-
transition(':leave', [
|
|
2999
|
-
animate('150ms', style({ opacity: 0 })),
|
|
3000
|
-
]),
|
|
3001
|
-
])
|
|
3002
|
-
], template: "<div class=\"dimmer\" *ngIf=\"active\" @fade [ngClass]=\"[color]\">\n <div class=\"dimmer-inner\">\n <ng-content></ng-content>\n </div>\n</div>" }]
|
|
3003
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { active: [{
|
|
3004
|
-
type: Input
|
|
3005
|
-
}], color: [{
|
|
3006
|
-
type: Input
|
|
3007
|
-
}] } });
|
|
3008
|
-
|
|
3009
|
-
class DimmerButtonsComponent {
|
|
3010
|
-
constructor() {
|
|
3011
|
-
this._hasOneButton = false;
|
|
3012
|
-
}
|
|
3013
|
-
/**
|
|
3014
|
-
* Indica se abbiamo 1 solo bottone
|
|
3015
|
-
* @default false
|
|
3016
|
-
*/
|
|
3017
|
-
set hasOneButton(value) { this._hasOneButton = value; }
|
|
3018
|
-
;
|
|
3019
|
-
get hasOneButton() { return this._hasOneButton; }
|
|
3020
|
-
}
|
|
3021
|
-
DimmerButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DimmerButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3022
|
-
DimmerButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DimmerButtonsComponent, selector: "it-dimmer-buttons", inputs: { hasOneButton: "hasOneButton" }, ngImport: i0, template: "<div class=\"dimmer-buttons bg-dark\" [ngClass]=\"{'single-button': hasOneButton}\">\n <ng-content></ng-content>\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3023
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DimmerButtonsComponent, decorators: [{
|
|
3024
|
-
type: Component,
|
|
3025
|
-
args: [{ selector: 'it-dimmer-buttons', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dimmer-buttons bg-dark\" [ngClass]=\"{'single-button': hasOneButton}\">\n <ng-content></ng-content>\n</div>" }]
|
|
3026
|
-
}], propDecorators: { hasOneButton: [{
|
|
3027
|
-
type: Input
|
|
3028
|
-
}] } });
|
|
3029
|
-
|
|
3030
|
-
class DimmerIconComponent {
|
|
3031
|
-
}
|
|
3032
|
-
DimmerIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DimmerIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
3033
|
-
DimmerIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DimmerIconComponent, selector: "it-dimmer-icon", ngImport: i0, template: "<div class=\"dimmer-icon\">\n <ng-content></ng-content>\n</div>", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3034
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DimmerIconComponent, decorators: [{
|
|
3035
|
-
type: Component,
|
|
3036
|
-
args: [{ selector: 'it-dimmer-icon', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dimmer-icon\">\n <ng-content></ng-content>\n</div>" }]
|
|
3037
|
-
}] });
|
|
3038
|
-
|
|
3039
|
-
/**
|
|
3040
|
-
* Core components
|
|
3041
|
-
*/
|
|
3042
|
-
const core = [
|
|
3043
|
-
AccordionComponent,
|
|
3044
|
-
AlertComponent,
|
|
3045
|
-
BadgeDirective,
|
|
3046
|
-
ButtonDirective,
|
|
3047
|
-
CalloutComponent,
|
|
3048
|
-
CardComponent,
|
|
3049
|
-
CarouselComponent,
|
|
3050
|
-
CarouselItemComponent,
|
|
3051
|
-
ChipComponent,
|
|
3052
|
-
CollapseComponent,
|
|
3053
|
-
DimmerButtonsComponent,
|
|
3054
|
-
DimmerComponent,
|
|
3055
|
-
DimmerIconComponent,
|
|
3056
|
-
DropdownComponent,
|
|
3057
|
-
DropdownItemComponent,
|
|
3058
|
-
ForwardDirective,
|
|
3059
|
-
LinkComponent,
|
|
3060
|
-
ListComponent,
|
|
3061
|
-
ListItemComponent,
|
|
3062
|
-
ModalComponent,
|
|
3063
|
-
NotificationsComponent,
|
|
3064
|
-
PaginationComponent,
|
|
3065
|
-
PopoverDirective,
|
|
3066
|
-
ProgressBarComponent,
|
|
3067
|
-
ProgressButtonComponent,
|
|
3068
|
-
SpinnerComponent,
|
|
3069
|
-
TabContainerComponent,
|
|
3070
|
-
TabItemComponent,
|
|
3071
|
-
TableComponent,
|
|
3072
|
-
TooltipDirective
|
|
3073
|
-
];
|
|
3074
|
-
/**
|
|
3075
|
-
* Form components
|
|
3076
|
-
*/
|
|
3077
|
-
const form = [
|
|
3078
|
-
CheckboxComponent,
|
|
3079
|
-
InputComponent,
|
|
3080
|
-
PasswordInputComponent,
|
|
3081
|
-
RadioButtonComponent,
|
|
3082
|
-
SelectComponent,
|
|
3083
|
-
TextareaComponent,
|
|
3084
|
-
UploadDragDropComponent,
|
|
3085
|
-
UploadFileListComponent
|
|
3086
|
-
];
|
|
3087
|
-
/**
|
|
3088
|
-
* Navigation Components
|
|
3089
|
-
*/
|
|
3090
|
-
const navigation = [
|
|
3091
|
-
BackButtonComponent,
|
|
3092
|
-
BackToTopComponent,
|
|
3093
|
-
BreadcrumbComponent,
|
|
3094
|
-
BreadcrumbItemComponent,
|
|
3095
|
-
HeaderComponent
|
|
3096
|
-
];
|
|
3097
|
-
/**
|
|
3098
|
-
* Utils components
|
|
3099
|
-
*/
|
|
3100
|
-
const utils = [
|
|
3101
|
-
IconComponent,
|
|
3102
|
-
NotFoundPageComponent
|
|
3103
|
-
];
|
|
3104
|
-
class ComponentsModule {
|
|
3105
|
-
}
|
|
3106
|
-
ComponentsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ComponentsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3107
|
-
ComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: ComponentsModule, declarations: [AbstractComponent,
|
|
3108
|
-
AbstractFormComponent, AccordionComponent,
|
|
3109
|
-
AlertComponent,
|
|
3110
|
-
BadgeDirective,
|
|
3111
|
-
ButtonDirective,
|
|
3112
|
-
CalloutComponent,
|
|
3113
|
-
CardComponent,
|
|
3114
|
-
CarouselComponent,
|
|
3115
|
-
CarouselItemComponent,
|
|
3116
|
-
ChipComponent,
|
|
3117
|
-
CollapseComponent,
|
|
3118
|
-
DimmerButtonsComponent,
|
|
3119
|
-
DimmerComponent,
|
|
3120
|
-
DimmerIconComponent,
|
|
3121
|
-
DropdownComponent,
|
|
3122
|
-
DropdownItemComponent,
|
|
3123
|
-
ForwardDirective,
|
|
3124
|
-
LinkComponent,
|
|
3125
|
-
ListComponent,
|
|
3126
|
-
ListItemComponent,
|
|
3127
|
-
ModalComponent,
|
|
3128
|
-
NotificationsComponent,
|
|
3129
|
-
PaginationComponent,
|
|
3130
|
-
PopoverDirective,
|
|
3131
|
-
ProgressBarComponent,
|
|
3132
|
-
ProgressButtonComponent,
|
|
3133
|
-
SpinnerComponent,
|
|
3134
|
-
TabContainerComponent,
|
|
3135
|
-
TabItemComponent,
|
|
3136
|
-
TableComponent,
|
|
3137
|
-
TooltipDirective, CheckboxComponent,
|
|
3138
|
-
InputComponent,
|
|
3139
|
-
PasswordInputComponent,
|
|
3140
|
-
RadioButtonComponent,
|
|
3141
|
-
SelectComponent,
|
|
3142
|
-
TextareaComponent,
|
|
3143
|
-
UploadDragDropComponent,
|
|
3144
|
-
UploadFileListComponent, BackButtonComponent,
|
|
3145
|
-
BackToTopComponent,
|
|
3146
|
-
BreadcrumbComponent,
|
|
3147
|
-
BreadcrumbItemComponent,
|
|
3148
|
-
HeaderComponent, IconComponent,
|
|
3149
|
-
NotFoundPageComponent], imports: [CommonModule,
|
|
3150
|
-
TranslateModule,
|
|
3151
|
-
ReactiveFormsModule,
|
|
3152
|
-
NgIf,
|
|
3153
|
-
NgForOf,
|
|
3154
|
-
RouterLink], exports: [AccordionComponent,
|
|
3155
|
-
AlertComponent,
|
|
3156
|
-
BadgeDirective,
|
|
3157
|
-
ButtonDirective,
|
|
3158
|
-
CalloutComponent,
|
|
3159
|
-
CardComponent,
|
|
3160
|
-
CarouselComponent,
|
|
3161
|
-
CarouselItemComponent,
|
|
3162
|
-
ChipComponent,
|
|
3163
|
-
CollapseComponent,
|
|
3164
|
-
DimmerButtonsComponent,
|
|
3165
|
-
DimmerComponent,
|
|
3166
|
-
DimmerIconComponent,
|
|
3167
|
-
DropdownComponent,
|
|
3168
|
-
DropdownItemComponent,
|
|
3169
|
-
ForwardDirective,
|
|
3170
|
-
LinkComponent,
|
|
3171
|
-
ListComponent,
|
|
3172
|
-
ListItemComponent,
|
|
3173
|
-
ModalComponent,
|
|
3174
|
-
NotificationsComponent,
|
|
3175
|
-
PaginationComponent,
|
|
3176
|
-
PopoverDirective,
|
|
3177
|
-
ProgressBarComponent,
|
|
3178
|
-
ProgressButtonComponent,
|
|
3179
|
-
SpinnerComponent,
|
|
3180
|
-
TabContainerComponent,
|
|
3181
|
-
TabItemComponent,
|
|
3182
|
-
TableComponent,
|
|
3183
|
-
TooltipDirective, CheckboxComponent,
|
|
3184
|
-
InputComponent,
|
|
3185
|
-
PasswordInputComponent,
|
|
3186
|
-
RadioButtonComponent,
|
|
3187
|
-
SelectComponent,
|
|
3188
|
-
TextareaComponent,
|
|
3189
|
-
UploadDragDropComponent,
|
|
3190
|
-
UploadFileListComponent, BackButtonComponent,
|
|
3191
|
-
BackToTopComponent,
|
|
3192
|
-
BreadcrumbComponent,
|
|
3193
|
-
BreadcrumbItemComponent,
|
|
3194
|
-
HeaderComponent, IconComponent,
|
|
3195
|
-
NotFoundPageComponent] });
|
|
3196
|
-
ComponentsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ComponentsModule, imports: [CommonModule,
|
|
3197
|
-
TranslateModule,
|
|
3198
|
-
ReactiveFormsModule] });
|
|
3199
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ComponentsModule, decorators: [{
|
|
3200
|
-
type: NgModule,
|
|
3201
|
-
args: [{
|
|
3202
|
-
declarations: [
|
|
3203
|
-
AbstractComponent,
|
|
3204
|
-
AbstractFormComponent,
|
|
3205
|
-
...core,
|
|
3206
|
-
...form,
|
|
3207
|
-
...navigation,
|
|
3208
|
-
...utils
|
|
3209
|
-
],
|
|
3210
|
-
imports: [
|
|
3211
|
-
CommonModule,
|
|
3212
|
-
TranslateModule,
|
|
3213
|
-
ReactiveFormsModule,
|
|
3214
|
-
NgIf,
|
|
3215
|
-
NgForOf,
|
|
3216
|
-
RouterLink
|
|
3217
|
-
],
|
|
3218
|
-
exports: [
|
|
3219
|
-
...core,
|
|
3220
|
-
...form,
|
|
3221
|
-
...navigation,
|
|
3222
|
-
...utils
|
|
3223
|
-
]
|
|
3224
|
-
}]
|
|
3225
|
-
}] });
|
|
3226
|
-
|
|
3227
|
-
class DesignAngularKitModule {
|
|
3228
|
-
}
|
|
3229
|
-
DesignAngularKitModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DesignAngularKitModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3230
|
-
DesignAngularKitModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: DesignAngularKitModule, imports: [ComponentsModule,
|
|
3231
|
-
HttpClientModule, i2$1.TranslateModule], exports: [ComponentsModule] });
|
|
3232
|
-
DesignAngularKitModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DesignAngularKitModule, imports: [ComponentsModule,
|
|
3233
|
-
HttpClientModule,
|
|
3234
|
-
TranslateModule.forChild({
|
|
3235
|
-
loader: {
|
|
3236
|
-
provide: TranslateLoader,
|
|
3237
|
-
useFactory: (http) => new TranslateHttpLoader(http, '/bootstrap-italia/i18n/'),
|
|
3238
|
-
deps: [HttpClient]
|
|
3239
|
-
},
|
|
3240
|
-
defaultLanguage: 'it'
|
|
3241
|
-
}), ComponentsModule] });
|
|
3242
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DesignAngularKitModule, decorators: [{
|
|
3243
|
-
type: NgModule,
|
|
3244
|
-
args: [{
|
|
3245
|
-
declarations: [],
|
|
3246
|
-
imports: [
|
|
3247
|
-
ComponentsModule,
|
|
3248
|
-
HttpClientModule,
|
|
3249
|
-
TranslateModule.forChild({
|
|
3250
|
-
loader: {
|
|
3251
|
-
provide: TranslateLoader,
|
|
3252
|
-
useFactory: (http) => new TranslateHttpLoader(http, '/bootstrap-italia/i18n/'),
|
|
3253
|
-
deps: [HttpClient]
|
|
3254
|
-
},
|
|
3255
|
-
defaultLanguage: 'it'
|
|
3256
|
-
})
|
|
3257
|
-
],
|
|
3258
|
-
exports: [ComponentsModule]
|
|
3259
|
-
}]
|
|
3260
|
-
}] });
|
|
3261
|
-
|
|
3262
|
-
/*
|
|
3263
|
-
* Public API Surface of design-angular-kit
|
|
3264
|
-
*/
|
|
3265
|
-
|
|
3266
|
-
/**
|
|
3267
|
-
* Generated bundle index. Do not edit.
|
|
3268
|
-
*/
|
|
3269
|
-
|
|
3270
|
-
export { AccordionComponent, AlertComponent, BackButtonComponent, BackToTopComponent, BadgeDirective, BreadcrumbComponent, BreadcrumbItemComponent, ButtonDirective, CAP_REGEX, CalloutComponent, CardComponent, CarouselComponent, CarouselItemComponent, CheckboxComponent, ChipComponent, CollapseComponent, ComponentsModule, DesignAngularKitModule, DimmerButtonsComponent, DimmerComponent, DimmerIconComponent, DropdownComponent, DropdownItemComponent, EMAIL_REGEX, FileUtils, ForwardDirective, HeaderComponent, ITALIAN_TAX_CODE_REGEX, IconComponent, InputComponent, ItValidators, LinkComponent, ListComponent, ListItemComponent, ModalComponent, NotFoundPageComponent, NotificationPosition, NotificationType, NotificationsComponent, NotificationsService, PHONE_NUMBER_REGEX, PaginationComponent, PasswordInputComponent, PopoverDirective, ProgressBarComponent, ProgressButtonComponent, RadioButtonComponent, SelectComponent, SpinnerComponent, TabContainerComponent, TabItemComponent, TableComponent, TextareaComponent, TooltipDirective, URL_REGEX, UploadDragDropComponent, UploadFileListComponent, VAT_NUMBER_REGEX };
|
|
3271
|
-
//# sourceMappingURL=design-angular-kit.mjs.map
|