design-angular-kit 1.0.0-1 → 1.0.0-11
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 +183 -24
- package/assets/i18n/en.json +97 -0
- package/assets/i18n/it.json +97 -0
- package/esm2020/lib/abstracts/abstract-form.component.mjs +171 -0
- package/esm2020/lib/abstracts/abstract.component.mjs +45 -0
- package/esm2020/lib/components/components.module.mjs +256 -0
- package/esm2020/lib/components/core/accordion/accordion.component.mjs +31 -0
- package/esm2020/lib/components/core/alert/alert.component.mjs +69 -0
- package/esm2020/lib/components/core/badge/badge.directive.mjs +34 -0
- package/esm2020/lib/components/core/button/button.directive.mjs +80 -0
- package/esm2020/lib/components/core/callout/callout.component.mjs +84 -0
- package/esm2020/lib/components/core/card/card.component.mjs +58 -0
- package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +79 -0
- package/esm2020/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +15 -0
- package/esm2020/lib/components/core/chip/chip.component.mjs +89 -0
- package/esm2020/lib/components/core/collapse/collapse.component.mjs +101 -0
- package/esm2020/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +24 -0
- package/esm2020/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
- package/esm2020/lib/components/core/dimmer/dimmer.component.mjs +59 -0
- package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +130 -0
- package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +68 -0
- package/esm2020/lib/components/core/forward/forward.directive.mjs +51 -0
- package/esm2020/lib/components/core/link/link.component.mjs +40 -0
- package/esm2020/lib/components/core/list/list/list.component.mjs +13 -0
- package/esm2020/lib/components/core/list/list-item/list-item.component.mjs +36 -0
- package/esm2020/lib/components/core/modal/modal.component.mjs +98 -0
- package/esm2020/lib/components/core/notifications/notifications.component.mjs +110 -0
- package/esm2020/lib/components/core/pagination/pagination.component.mjs +131 -0
- package/esm2020/lib/components/core/popover/popover.directive.mjs +179 -0
- package/esm2020/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
- package/esm2020/lib/components/core/progress-button/progress-button.component.mjs +27 -0
- package/esm2020/lib/components/core/rating/rating.component.mjs +49 -0
- package/esm2020/lib/components/core/spinner/spinner.component.mjs +35 -0
- package/esm2020/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +127 -0
- package/esm2020/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +19 -0
- package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +59 -0
- package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +36 -0
- package/esm2020/lib/components/core/table/table.component.mjs +57 -0
- package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +143 -0
- package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +40 -0
- package/esm2020/lib/components/form/input/input.component.mjs +222 -0
- package/esm2020/lib/components/form/password-input/password-input.component.mjs +112 -0
- package/esm2020/lib/components/form/radio-button/radio-button.component.mjs +68 -0
- package/esm2020/lib/components/form/select/select.component.mjs +62 -0
- package/esm2020/lib/components/form/textarea/textarea.component.mjs +46 -0
- package/esm2020/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +139 -0
- package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +104 -0
- package/esm2020/lib/components/navigation/back-button/back-button.component.mjs +69 -0
- package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +64 -0
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +56 -0
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +23 -0
- package/esm2020/lib/components/navigation/header/header.component.mjs +57 -0
- package/esm2020/lib/components/utils/icon/icon.component.mjs +54 -0
- package/esm2020/lib/components/utils/language-switcher/language-switcher.component.mjs +39 -0
- package/esm2020/lib/components/utils/not-found-page/not-found-page.component.mjs +13 -0
- package/esm2020/lib/design-angular-kit.module.mjs +45 -131
- package/esm2020/lib/interfaces/core.mjs +16 -0
- package/esm2020/lib/interfaces/form.mjs +2 -0
- package/esm2020/lib/interfaces/icon.mjs +2 -0
- package/esm2020/lib/interfaces/utils.mjs +2 -0
- package/esm2020/lib/pipes/mark-matching-text.pipe.mjs +36 -0
- package/esm2020/lib/services/notifications/notifications.service.mjs +120 -0
- package/esm2020/lib/utils/boolean-input.mjs +15 -0
- package/esm2020/lib/utils/file-utils.mjs +73 -0
- package/esm2020/lib/utils/regex.mjs +26 -0
- package/esm2020/lib/validators/it-validators.mjs +134 -0
- package/esm2020/public_api.mjs +67 -36
- package/fesm2015/design-angular-kit.mjs +3550 -2712
- package/fesm2015/design-angular-kit.mjs.map +1 -1
- package/fesm2020/design-angular-kit.mjs +3519 -2722
- package/fesm2020/design-angular-kit.mjs.map +1 -1
- package/lib/abstracts/abstract-form.component.d.ts +86 -0
- package/lib/abstracts/abstract.component.d.ts +30 -0
- package/lib/components/components.module.d.ts +60 -0
- package/lib/components/core/accordion/accordion.component.d.ts +12 -0
- package/lib/components/core/alert/alert.component.d.ts +39 -0
- package/lib/components/core/badge/badge.directive.d.ts +16 -0
- package/lib/components/core/button/button.directive.d.ts +36 -0
- package/lib/components/core/callout/callout.component.d.ts +47 -0
- package/lib/components/core/card/card.component.d.ts +41 -0
- package/lib/components/core/carousel/carousel/carousel.component.d.ts +50 -0
- package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +11 -0
- package/lib/components/core/chip/chip.component.d.ts +62 -0
- package/lib/components/core/collapse/collapse.component.d.ts +60 -0
- package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +12 -0
- package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +5 -0
- package/lib/components/core/dimmer/dimmer.component.d.ts +24 -0
- package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +81 -0
- package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +39 -0
- package/lib/components/core/forward/forward.directive.d.ts +14 -0
- package/lib/components/core/link/link.component.d.ts +31 -0
- package/lib/components/core/list/list/list.component.d.ts +10 -0
- package/lib/components/core/list/list-item/list-item.component.d.ts +24 -0
- package/lib/components/core/modal/modal.component.d.ts +59 -0
- package/lib/components/core/notifications/notifications.component.d.ts +44 -0
- package/lib/components/core/pagination/pagination.component.d.ts +92 -0
- package/lib/components/core/popover/popover.directive.d.ts +98 -0
- package/lib/components/core/progress-bar/progress-bar.component.d.ts +28 -0
- package/lib/components/core/progress-button/progress-button.component.d.ts +22 -0
- package/lib/components/core/rating/rating.component.d.ts +24 -0
- package/lib/components/core/spinner/spinner.component.d.ts +21 -0
- package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +104 -0
- package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +20 -0
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +30 -0
- package/lib/components/core/tab/tab-item/tab-item.component.d.ts +34 -0
- package/lib/components/core/table/table.component.d.ts +54 -0
- package/lib/components/core/tooltip/tooltip.directive.d.ts +81 -0
- package/lib/components/form/checkbox/checkbox.component.d.ts +30 -0
- package/lib/components/form/input/input.component.d.ts +96 -0
- package/lib/components/form/password-input/password-input.component.d.ts +55 -0
- package/lib/components/form/radio-button/radio-button.component.d.ts +29 -0
- package/lib/components/form/select/select.component.d.ts +30 -0
- package/lib/components/form/textarea/textarea.component.d.ts +24 -0
- package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +54 -0
- package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +59 -0
- package/lib/components/navigation/back-button/back-button.component.d.ts +47 -0
- package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +41 -0
- package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +32 -0
- package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +22 -0
- package/lib/components/navigation/header/header.component.d.ts +24 -0
- package/lib/components/utils/icon/icon.component.d.ts +40 -0
- package/lib/components/utils/language-switcher/language-switcher.component.d.ts +23 -0
- package/lib/components/utils/not-found-page/not-found-page.component.d.ts +5 -0
- package/lib/design-angular-kit.module.d.ts +7 -24
- package/lib/interfaces/core.d.ts +59 -0
- package/lib/interfaces/form.d.ts +67 -0
- package/lib/interfaces/icon.d.ts +3 -0
- package/lib/interfaces/utils.d.ts +10 -0
- package/lib/services/notifications/notifications.service.d.ts +63 -0
- package/lib/utils/boolean-input.d.ts +11 -0
- package/lib/utils/file-utils.d.ts +32 -0
- package/lib/utils/regex.d.ts +25 -0
- package/lib/validators/it-validators.d.ts +58 -0
- package/package.json +22 -13
- package/public_api.d.ts +59 -35
- package/esm2020/lib/badge/badge.directive.mjs +0 -83
- package/esm2020/lib/breadcrumb/breadcrumb-item.component.mjs +0 -66
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -89
- package/esm2020/lib/button/button.directive.mjs +0 -185
- package/esm2020/lib/button/button.module.mjs +0 -18
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -138
- package/esm2020/lib/collapse/collapse-group.component.mjs +0 -57
- package/esm2020/lib/collapse/collapse-item.component.mjs +0 -79
- package/esm2020/lib/collapse/collapse.config.mjs +0 -12
- package/esm2020/lib/collapse/collapse.directive.mjs +0 -55
- package/esm2020/lib/collapse/collapse.module.mjs +0 -22
- package/esm2020/lib/dropdown/dropdown-divider.component.mjs +0 -11
- package/esm2020/lib/dropdown/dropdown-item.component.mjs +0 -97
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -143
- package/esm2020/lib/dropdown/dropdown.config.mjs +0 -12
- package/esm2020/lib/dropdown/dropdown.directive.mjs +0 -156
- package/esm2020/lib/dropdown/dropdown.module.mjs +0 -25
- package/esm2020/lib/enums/icons.enum.mjs +0 -27
- package/esm2020/lib/form-input/form-input-password.utils.mjs +0 -154
- package/esm2020/lib/form-input/form-input.component.mjs +0 -495
- package/esm2020/lib/form-input/it-prefix.directive.mjs +0 -13
- package/esm2020/lib/form-input/it-suffix.directive.mjs +0 -13
- package/esm2020/lib/form-input/it-text-prefix.directive.mjs +0 -13
- package/esm2020/lib/form-input/it-text-suffix.directive.mjs +0 -13
- package/esm2020/lib/form-input/mark-matching-text.pipe.mjs +0 -36
- package/esm2020/lib/icon/icon.component.mjs +0 -87
- package/esm2020/lib/icon/icon.module.mjs +0 -18
- package/esm2020/lib/models/Alignment.mjs +0 -15
- package/esm2020/lib/models/ButtonSize.mjs +0 -15
- package/esm2020/lib/models/InputType.mjs +0 -44
- package/esm2020/lib/models/ThemeColor.mjs +0 -30
- package/esm2020/lib/popover/popover.config.mjs +0 -17
- package/esm2020/lib/popover/popover.directive.mjs +0 -33
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -98
- package/esm2020/lib/radio/radio.component.mjs +0 -287
- package/esm2020/lib/radio/unique-selection-dispatcher.mjs +0 -55
- package/esm2020/lib/tabs/tab-group.component.mjs +0 -177
- package/esm2020/lib/tabs/tab.component.mjs +0 -73
- package/esm2020/lib/tabs/tabs.module.mjs +0 -20
- package/esm2020/lib/toggle/toggle.component.mjs +0 -86
- package/esm2020/lib/tooltip/tooltip.config.mjs +0 -17
- package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -43
- package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
- package/esm2020/lib/util/focus-mouse.directive.mjs +0 -32
- package/esm2020/lib/util/util.mjs +0 -12
- package/esm2020/lib/util/utils.module.mjs +0 -16
- package/lib/badge/badge.directive.d.ts +0 -33
- package/lib/breadcrumb/breadcrumb-item.component.d.ts +0 -33
- package/lib/breadcrumb/breadcrumb.component.d.ts +0 -33
- package/lib/button/button.directive.d.ts +0 -72
- package/lib/button/button.module.d.ts +0 -8
- package/lib/checkbox/checkbox.component.d.ts +0 -61
- package/lib/collapse/collapse-group.component.d.ts +0 -16
- package/lib/collapse/collapse-item.component.d.ts +0 -46
- package/lib/collapse/collapse.config.d.ts +0 -6
- package/lib/collapse/collapse.directive.d.ts +0 -25
- package/lib/collapse/collapse.module.d.ts +0 -12
- package/lib/dropdown/dropdown-divider.component.d.ts +0 -5
- package/lib/dropdown/dropdown-item.component.d.ts +0 -56
- package/lib/dropdown/dropdown.component.d.ts +0 -65
- package/lib/dropdown/dropdown.config.d.ts +0 -6
- package/lib/dropdown/dropdown.directive.d.ts +0 -77
- package/lib/dropdown/dropdown.module.d.ts +0 -15
- package/lib/enums/icons.enum.d.ts +0 -23
- package/lib/form-input/form-input-password.utils.d.ts +0 -45
- package/lib/form-input/form-input.component.d.ts +0 -283
- package/lib/form-input/it-prefix.directive.d.ts +0 -5
- package/lib/form-input/it-suffix.directive.d.ts +0 -5
- package/lib/form-input/it-text-prefix.directive.d.ts +0 -5
- package/lib/form-input/it-text-suffix.directive.d.ts +0 -5
- package/lib/icon/icon.component.d.ts +0 -34
- package/lib/icon/icon.module.d.ts +0 -8
- package/lib/models/Alignment.d.ts +0 -12
- package/lib/models/ButtonSize.d.ts +0 -11
- package/lib/models/InputType.d.ts +0 -36
- package/lib/models/ThemeColor.d.ts +0 -21
- package/lib/popover/popover.config.d.ts +0 -11
- package/lib/popover/popover.directive.d.ts +0 -20
- package/lib/popover/popover.module.d.ts +0 -9
- package/lib/progress-bar/progress-bar.component.d.ts +0 -55
- package/lib/radio/radio.component.d.ts +0 -116
- package/lib/radio/unique-selection-dispatcher.d.ts +0 -36
- package/lib/tabs/tab-group.component.d.ts +0 -71
- package/lib/tabs/tab.component.d.ts +0 -44
- package/lib/tabs/tabs.module.d.ts +0 -10
- package/lib/toggle/toggle.component.d.ts +0 -46
- package/lib/tooltip/tooltip.config.d.ts +0 -11
- package/lib/tooltip/tooltip.directive.d.ts +0 -27
- package/lib/tooltip/tooltip.module.d.ts +0 -9
- package/lib/util/focus-mouse.directive.d.ts +0 -13
- package/lib/util/util.d.ts +0 -5
- package/lib/util/utils.module.d.ts +0 -7
- /package/lib/{form-input → pipes}/mark-matching-text.pipe.d.ts +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
export class DimmerComponent {
|
|
6
|
+
constructor(elementRef) {
|
|
7
|
+
this.elementRef = elementRef;
|
|
8
|
+
this._active = false;
|
|
9
|
+
this._color = '';
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Dimmer status
|
|
13
|
+
* @default false
|
|
14
|
+
*/
|
|
15
|
+
set active(value) { this._active = value; }
|
|
16
|
+
;
|
|
17
|
+
get active() { return this._active; }
|
|
18
|
+
/**
|
|
19
|
+
* Colore del dimmer
|
|
20
|
+
* @default ''
|
|
21
|
+
*/
|
|
22
|
+
set color(value) { this._color = value; }
|
|
23
|
+
;
|
|
24
|
+
get color() { return this._color; }
|
|
25
|
+
ngOnInit() {
|
|
26
|
+
this.elementRef?.nativeElement?.parentElement?.classList?.add('dimmable');
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
DimmerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DimmerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
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: [
|
|
31
|
+
trigger('fade', [
|
|
32
|
+
transition(':enter', [
|
|
33
|
+
style({ opacity: 0 }),
|
|
34
|
+
animate('150ms', style({ opacity: 0.92 })),
|
|
35
|
+
]),
|
|
36
|
+
transition(':leave', [
|
|
37
|
+
animate('150ms', style({ opacity: 0 })),
|
|
38
|
+
]),
|
|
39
|
+
])
|
|
40
|
+
], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DimmerComponent, decorators: [{
|
|
42
|
+
type: Component,
|
|
43
|
+
args: [{ selector: 'it-dimmer', changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
44
|
+
trigger('fade', [
|
|
45
|
+
transition(':enter', [
|
|
46
|
+
style({ opacity: 0 }),
|
|
47
|
+
animate('150ms', style({ opacity: 0.92 })),
|
|
48
|
+
]),
|
|
49
|
+
transition(':leave', [
|
|
50
|
+
animate('150ms', style({ opacity: 0 })),
|
|
51
|
+
]),
|
|
52
|
+
])
|
|
53
|
+
], template: "<div class=\"dimmer\" *ngIf=\"active\" @fade [ngClass]=\"[color]\">\n <div class=\"dimmer-inner\">\n <ng-content></ng-content>\n </div>\n</div>" }]
|
|
54
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { active: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], color: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}] } });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGltbWVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kaW1tZXIvZGltbWVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kaW1tZXIvZGltbWVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQzs7O0FBb0I5RixNQUFNLE9BQU8sZUFBZTtJQWtCMUIsWUFDVSxVQUFzQjtRQUF0QixlQUFVLEdBQVYsVUFBVSxDQUFZO1FBWHhCLFlBQU8sR0FBRyxLQUFLLENBQUM7UUFRaEIsV0FBTSxHQUFnQixFQUFFLENBQUM7SUFJOUIsQ0FBQztJQWxCSjs7O01BR0U7SUFDRixJQUFhLE1BQU0sQ0FBRSxLQUFjLElBQUcsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUEsQ0FBQSxDQUFDO0lBQUEsQ0FBQztJQUM1RCxJQUFJLE1BQU0sS0FBSSxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDO0lBR3BDOzs7TUFHRTtJQUNGLElBQWEsS0FBSyxDQUFFLEtBQWtCLElBQUcsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUEsQ0FBQSxDQUFDO0lBQUEsQ0FBQztJQUM5RCxJQUFJLEtBQUssS0FBSSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0lBT2xDLFFBQVE7UUFDTixJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsRUFBRSxhQUFhLEVBQUUsU0FBUyxFQUFFLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUM1RSxDQUFDOzs0R0F4QlUsZUFBZTtnR0FBZixlQUFlLCtGQ3JCNUIsc0pBSU0sZ09ES1E7UUFDVixPQUFPLENBQUMsTUFBTSxFQUFFO1lBQ1osVUFBVSxDQUFDLFFBQVEsRUFBRTtnQkFDakIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO2dCQUNyQixPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2FBQzdDLENBQUM7WUFDRixVQUFVLENBQUMsUUFBUSxFQUFFO2dCQUNqQixPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO2FBQzFDLENBQUM7U0FDTCxDQUFDO0tBQ0w7MkZBRVksZUFBZTtrQkFoQjNCLFNBQVM7K0JBQ0UsV0FBVyxtQkFFSix1QkFBdUIsQ0FBQyxNQUFNLGNBQ25DO3dCQUNWLE9BQU8sQ0FBQyxNQUFNLEVBQUU7NEJBQ1osVUFBVSxDQUFDLFFBQVEsRUFBRTtnQ0FDakIsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO2dDQUNyQixPQUFPLENBQUMsT0FBTyxFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDOzZCQUM3QyxDQUFDOzRCQUNGLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Z0NBQ2pCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7NkJBQzFDLENBQUM7eUJBQ0wsQ0FBQztxQkFDTDtpR0FRYyxNQUFNO3NCQUFsQixLQUFLO2dCQVFPLEtBQUs7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBEaW1tZXJDb2xvciA9ICcnIHwgJ2RpbW1lci1wcmltYXJ5JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtZGltbWVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpbW1lci5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcignZmFkZScsIFtcbiAgICAgICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwIH0pLFxuICAgICAgICAgICAgYW5pbWF0ZSgnMTUwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAuOTIgfSkpLFxuICAgICAgICBdKSxcbiAgICAgICAgdHJhbnNpdGlvbignOmxlYXZlJywgW1xuICAgICAgICAgICAgYW5pbWF0ZSgnMTUwbXMnLCBzdHlsZSh7IG9wYWNpdHk6IDAgfSkpLFxuICAgICAgICBdKSxcbiAgICBdKVxuXVxufSlcbmV4cG9ydCBjbGFzcyBEaW1tZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKlxuICAgKiBEaW1tZXIgc3RhdHVzXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICovXG4gIEBJbnB1dCgpIHNldCBhY3RpdmUgKHZhbHVlOiBib29sZWFuKSB7dGhpcy5fYWN0aXZlID0gdmFsdWV9O1xuICBnZXQgYWN0aXZlKCkge3JldHVybiB0aGlzLl9hY3RpdmU7IH1cbiAgcHJpdmF0ZSBfYWN0aXZlID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIENvbG9yZSBkZWwgZGltbWVyXG4gICAqIEBkZWZhdWx0ICcnXG4gICovXG4gIEBJbnB1dCgpIHNldCBjb2xvciAodmFsdWU6IERpbW1lckNvbG9yKSB7dGhpcy5fY29sb3IgPSB2YWx1ZX07XG4gIGdldCBjb2xvcigpIHtyZXR1cm4gdGhpcy5fY29sb3I7IH1cbiAgcHJpdmF0ZSBfY29sb3I6IERpbW1lckNvbG9yID0gJyc7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBlbGVtZW50UmVmOiBFbGVtZW50UmVmXG4gICkge31cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRSZWY/Lm5hdGl2ZUVsZW1lbnQ/LnBhcmVudEVsZW1lbnQ/LmNsYXNzTGlzdD8uYWRkKCdkaW1tYWJsZScpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZGltbWVyXCIgKm5nSWY9XCJhY3RpdmVcIiBAZmFkZSBbbmdDbGFzc109XCJbY29sb3JdXCI+XG4gIDxkaXYgY2xhc3M9XCJkaW1tZXItaW5uZXJcIj5cbiAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gIDwvZGl2PlxuPC9kaXY+Il19
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { AbstractComponent } from '../../../../abstracts/abstract.component';
|
|
3
|
+
import { isTrueBooleanInput } from '../../../../utils/boolean-input';
|
|
4
|
+
import { DropdownItemComponent } from '../dropdown-item/dropdown-item.component';
|
|
5
|
+
import { Dropdown } from 'bootstrap-italia';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../../utils/icon/icon.component";
|
|
8
|
+
export class DropdownComponent extends AbstractComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
/**
|
|
12
|
+
* Fires immediately when the show instance method is called.
|
|
13
|
+
*/
|
|
14
|
+
this.onShow = new EventEmitter();
|
|
15
|
+
/**
|
|
16
|
+
* Fired when the dropdown has been made visible to the user and CSS transitions have completed.
|
|
17
|
+
*/
|
|
18
|
+
this.onShown = new EventEmitter();
|
|
19
|
+
/**
|
|
20
|
+
* Fires immediately when the hide instance method has been called.
|
|
21
|
+
*/
|
|
22
|
+
this.onHide = new EventEmitter();
|
|
23
|
+
/**
|
|
24
|
+
* Fired when the dropdown has finished being hidden from the user and CSS transitions have completed.
|
|
25
|
+
*/
|
|
26
|
+
this.onHidden = new EventEmitter();
|
|
27
|
+
}
|
|
28
|
+
get buttonClass() {
|
|
29
|
+
let btnClass = 'btn dropdown-toggle';
|
|
30
|
+
if (this.color) {
|
|
31
|
+
btnClass += ` btn-${this.color}`;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
btnClass += ` btn-dropdown`;
|
|
35
|
+
}
|
|
36
|
+
return btnClass;
|
|
37
|
+
}
|
|
38
|
+
get isFullWidth() {
|
|
39
|
+
return isTrueBooleanInput(this.fullWidth);
|
|
40
|
+
}
|
|
41
|
+
get isDark() {
|
|
42
|
+
return isTrueBooleanInput(this.dark);
|
|
43
|
+
}
|
|
44
|
+
ngOnChanges(changes) {
|
|
45
|
+
if (changes['dark'] && !changes['dark'].firstChange) {
|
|
46
|
+
this.setDarkItems();
|
|
47
|
+
}
|
|
48
|
+
super.ngOnChanges(changes);
|
|
49
|
+
}
|
|
50
|
+
ngAfterViewInit() {
|
|
51
|
+
super.ngAfterViewInit();
|
|
52
|
+
this.setDarkItems();
|
|
53
|
+
if (this.dropdownButton) {
|
|
54
|
+
const element = this.dropdownButton.nativeElement;
|
|
55
|
+
this.dropdown = Dropdown.getOrCreateInstance(element);
|
|
56
|
+
element.addEventListener('show.bs.dropdown', event => this.onShow.emit(event));
|
|
57
|
+
element.addEventListener('shown.bs.dropdown', event => this.onShown.emit(event));
|
|
58
|
+
element.addEventListener('hide.bs.dropdown', event => this.onHide.emit(event));
|
|
59
|
+
element.addEventListener('hidden.bs.dropdown', event => this.onHidden.emit(event));
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Set child items dark mode
|
|
64
|
+
* @private
|
|
65
|
+
*/
|
|
66
|
+
setDarkItems() {
|
|
67
|
+
this.items?.forEach(item => {
|
|
68
|
+
item.setDark(this.isDark);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Toggles the dropdown menu of a given navbar or tabbed navigation.
|
|
73
|
+
*/
|
|
74
|
+
toggle() {
|
|
75
|
+
this.dropdown?.toggle();
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Shows the dropdown menu of a given navbar or tabbed navigation.
|
|
79
|
+
*/
|
|
80
|
+
show() {
|
|
81
|
+
this.dropdown?.show();
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Hides the dropdown menu of a given navbar or tabbed navigation.
|
|
85
|
+
*/
|
|
86
|
+
hide() {
|
|
87
|
+
this.dropdown?.hide();
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Updates the position of an element's dropdown.
|
|
91
|
+
*/
|
|
92
|
+
update() {
|
|
93
|
+
this.dropdown?.update();
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Destroys an element's dropdown. (Removes stored data on the DOM element)
|
|
97
|
+
*/
|
|
98
|
+
dispose() {
|
|
99
|
+
this.dropdown?.dispose();
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
DropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
103
|
+
DropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownComponent, selector: "it-dropdown", inputs: { color: "color", direction: "direction", fullWidth: "fullWidth", dark: "dark" }, outputs: { onShow: "onShow", onShown: "onShown", onHide: "onHide", onHidden: "onHidden" }, queries: [{ propertyName: "items", predicate: DropdownItemComponent }], viewQueries: [{ propertyName: "dropdownButton", first: true, predicate: ["dropdownButton"], descendants: true }], exportAs: ["itDropdown"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"dropdown {{direction}}\">\n <button #dropdownButton [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: i1.IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
105
|
+
type: Component,
|
|
106
|
+
args: [{ selector: 'it-dropdown', exportAs: 'itDropdown', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"dropdown {{direction}}\">\n <button #dropdownButton [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"] }]
|
|
107
|
+
}], propDecorators: { color: [{
|
|
108
|
+
type: Input
|
|
109
|
+
}], direction: [{
|
|
110
|
+
type: Input
|
|
111
|
+
}], fullWidth: [{
|
|
112
|
+
type: Input
|
|
113
|
+
}], dark: [{
|
|
114
|
+
type: Input
|
|
115
|
+
}], items: [{
|
|
116
|
+
type: ContentChildren,
|
|
117
|
+
args: [DropdownItemComponent]
|
|
118
|
+
}], onShow: [{
|
|
119
|
+
type: Output
|
|
120
|
+
}], onShown: [{
|
|
121
|
+
type: Output
|
|
122
|
+
}], onHide: [{
|
|
123
|
+
type: Output
|
|
124
|
+
}], onHidden: [{
|
|
125
|
+
type: Output
|
|
126
|
+
}], dropdownButton: [{
|
|
127
|
+
type: ViewChild,
|
|
128
|
+
args: ['dropdownButton']
|
|
129
|
+
}] } });
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Ryb3Bkb3duL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kcm9wZG93bi9kcm9wZG93bi9kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxlQUFlLEVBRWYsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBR04sU0FBUyxFQUNWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBRTdFLE9BQU8sRUFBZ0Isa0JBQWtCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUNqRixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVM1QyxNQUFNLE9BQU8saUJBQWtCLFNBQVEsaUJBQWlCO0lBUHhEOztRQXFDRTs7V0FFRztRQUNPLFdBQU0sR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzRDs7V0FFRztRQUNPLFlBQU8sR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUU1RDs7V0FFRztRQUNPLFdBQU0sR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUUzRDs7V0FFRztRQUNPLGFBQVEsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQTRGOUQ7SUFyRkMsSUFBSSxXQUFXO1FBQ2IsSUFBSSxRQUFRLEdBQUcscUJBQXFCLENBQUM7UUFDckMsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ2QsUUFBUSxJQUFJLFFBQVEsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1NBQ2xDO2FBQU07WUFDTCxRQUFRLElBQUksZUFBZSxDQUFDO1NBQzdCO1FBRUQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVELElBQUksV0FBVztRQUNiLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRVEsV0FBVyxDQUFDLE9BQXNCO1FBQ3pDLElBQUksT0FBTyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFdBQVcsRUFBRTtZQUNuRCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDckI7UUFDRCxLQUFLLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFUSxlQUFlO1FBQ3RCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFcEIsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsYUFBYSxDQUFDO1lBQ2xELElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRXRELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDL0UsT0FBTyxDQUFDLGdCQUFnQixDQUFDLG1CQUFtQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQy9FLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDcEY7SUFDSCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ssWUFBWTtRQUNsQixJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN6QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQzFCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQzNCLENBQUM7OzhHQTNJVSxpQkFBaUI7a0dBQWpCLGlCQUFpQiw4UEE0QlgscUJBQXFCLHFOQ3JEeEMsMDBCQXNCQTsyRkRHYSxpQkFBaUI7a0JBUDdCLFNBQVM7K0JBQ0UsYUFBYSxZQUdiLFlBQVksbUJBQ0wsdUJBQXVCLENBQUMsTUFBTTs4QkFPdEMsS0FBSztzQkFBYixLQUFLO2dCQVFHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBS0csU0FBUztzQkFBakIsS0FBSztnQkFLRyxJQUFJO3NCQUFaLEtBQUs7Z0JBS2tDLEtBQUs7c0JBQTVDLGVBQWU7dUJBQUMscUJBQXFCO2dCQUs1QixNQUFNO3NCQUFmLE1BQU07Z0JBS0csT0FBTztzQkFBaEIsTUFBTTtnQkFLRyxNQUFNO3NCQUFmLE1BQU07Z0JBS0csUUFBUTtzQkFBakIsTUFBTTtnQkFLOEIsY0FBYztzQkFBbEQsU0FBUzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnV0dG9uQ29sb3IsIERyb3Bkb3duRGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9jb3JlJztcbmltcG9ydCB7IEJvb2xlYW5JbnB1dCwgaXNUcnVlQm9vbGVhbklucHV0IH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvYm9vbGVhbi1pbnB1dCc7XG5pbXBvcnQgeyBEcm9wZG93bkl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9kcm9wZG93bi1pdGVtL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcbmltcG9ydCB7IERyb3Bkb3duIH0gZnJvbSAnYm9vdHN0cmFwLWl0YWxpYSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l0LWRyb3Bkb3duJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdpdERyb3Bkb3duJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25Db21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIEJ1dHRvbiBjb2xvclxuICAgKi9cbiAgQElucHV0KCkgY29sb3I/OiBCdXR0b25Db2xvcjtcblxuICAvKipcbiAgICogVG8gb3BlbiBtZW51IGl0ZW1zIHRvOlxuICAgKiAtIDxzdHJvbmc+ZHJvcHVwPC9zdHJvbmc+OiB1cFxuICAgKiAtIDxzdHJvbmc+ZHJvcGVuZDwvc3Ryb25nPjogcmlnaHRcbiAgICogLSA8c3Ryb25nPmRyb3BzdGFydDwvc3Ryb25nPjogbGVmdFxuICAgKi9cbiAgQElucHV0KCkgZGlyZWN0aW9uPzogRHJvcGRvd25EaXJlY3Rpb247XG5cbiAgLyoqXG4gICAqIFRvIGdldCBhIGRyb3Bkb3duIG1lbnUgYXMgd2lkZSBhcyB0aGUgZWxlbWVudCBjb250YWluaW5nIHRoZSBkcm9wZG93biBidXR0b25cbiAgICovXG4gIEBJbnB1dCgpIGZ1bGxXaWR0aD86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogRGFyayBtZW51IHN0eWxlXG4gICAqL1xuICBASW5wdXQoKSBkYXJrPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBUaGUgZHJvcGRvd24gaXRlbXNcbiAgICovXG4gIEBDb250ZW50Q2hpbGRyZW4oRHJvcGRvd25JdGVtQ29tcG9uZW50KSBpdGVtcz86IFF1ZXJ5TGlzdDxEcm9wZG93bkl0ZW1Db21wb25lbnQ+O1xuXG4gIC8qKlxuICAgKiBGaXJlcyBpbW1lZGlhdGVseSB3aGVuIHRoZSBzaG93IGluc3RhbmNlIG1ldGhvZCBpcyBjYWxsZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgb25TaG93OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHRoZSBkcm9wZG93biBoYXMgYmVlbiBtYWRlIHZpc2libGUgdG8gdGhlIHVzZXIgYW5kIENTUyB0cmFuc2l0aW9ucyBoYXZlIGNvbXBsZXRlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBvblNob3duOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBGaXJlcyBpbW1lZGlhdGVseSB3aGVuIHRoZSBoaWRlIGluc3RhbmNlIG1ldGhvZCBoYXMgYmVlbiBjYWxsZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgb25IaWRlOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBGaXJlZCB3aGVuIHRoZSBkcm9wZG93biBoYXMgZmluaXNoZWQgYmVpbmcgaGlkZGVuIGZyb20gdGhlIHVzZXIgYW5kIENTUyB0cmFuc2l0aW9ucyBoYXZlIGNvbXBsZXRlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBvbkhpZGRlbjogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuXG4gIHByaXZhdGUgZHJvcGRvd24/OiBEcm9wZG93bjtcblxuICBAVmlld0NoaWxkKCdkcm9wZG93bkJ1dHRvbicpIHByaXZhdGUgZHJvcGRvd25CdXR0b24/OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICBnZXQgYnV0dG9uQ2xhc3MoKTogc3RyaW5nIHtcbiAgICBsZXQgYnRuQ2xhc3MgPSAnYnRuIGRyb3Bkb3duLXRvZ2dsZSc7XG4gICAgaWYgKHRoaXMuY29sb3IpIHtcbiAgICAgIGJ0bkNsYXNzICs9IGAgYnRuLSR7dGhpcy5jb2xvcn1gO1xuICAgIH0gZWxzZSB7XG4gICAgICBidG5DbGFzcyArPSBgIGJ0bi1kcm9wZG93bmA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGJ0bkNsYXNzO1xuICB9XG5cbiAgZ2V0IGlzRnVsbFdpZHRoKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1RydWVCb29sZWFuSW5wdXQodGhpcy5mdWxsV2lkdGgpO1xuICB9XG5cbiAgZ2V0IGlzRGFyaygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNUcnVlQm9vbGVhbklucHV0KHRoaXMuZGFyayk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ2RhcmsnXSAmJiAhY2hhbmdlc1snZGFyayddLmZpcnN0Q2hhbmdlKSB7XG4gICAgICB0aGlzLnNldERhcmtJdGVtcygpO1xuICAgIH1cbiAgICBzdXBlci5uZ09uQ2hhbmdlcyhjaGFuZ2VzKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB0aGlzLnNldERhcmtJdGVtcygpO1xuXG4gICAgaWYgKHRoaXMuZHJvcGRvd25CdXR0b24pIHtcbiAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLmRyb3Bkb3duQnV0dG9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0aGlzLmRyb3Bkb3duID0gRHJvcGRvd24uZ2V0T3JDcmVhdGVJbnN0YW5jZShlbGVtZW50KTtcblxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93LmJzLmRyb3Bkb3duJywgZXZlbnQgPT4gdGhpcy5vblNob3cuZW1pdChldmVudCkpO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93bi5icy5kcm9wZG93bicsIGV2ZW50ID0+IHRoaXMub25TaG93bi5lbWl0KGV2ZW50KSk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGUuYnMuZHJvcGRvd24nLCBldmVudCA9PiB0aGlzLm9uSGlkZS5lbWl0KGV2ZW50KSk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGRlbi5icy5kcm9wZG93bicsIGV2ZW50ID0+IHRoaXMub25IaWRkZW4uZW1pdChldmVudCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgY2hpbGQgaXRlbXMgZGFyayBtb2RlXG4gICAqIEBwcml2YXRlXG4gICAqL1xuICBwcml2YXRlIHNldERhcmtJdGVtcygpOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1zPy5mb3JFYWNoKGl0ZW0gPT4ge1xuICAgICAgaXRlbS5zZXREYXJrKHRoaXMuaXNEYXJrKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUb2dnbGVzIHRoZSBkcm9wZG93biBtZW51IG9mIGEgZ2l2ZW4gbmF2YmFyIG9yIHRhYmJlZCBuYXZpZ2F0aW9uLlxuICAgKi9cbiAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRyb3Bkb3duPy50b2dnbGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTaG93cyB0aGUgZHJvcGRvd24gbWVudSBvZiBhIGdpdmVuIG5hdmJhciBvciB0YWJiZWQgbmF2aWdhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBzaG93KCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd24/LnNob3coKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIaWRlcyB0aGUgZHJvcGRvd24gbWVudSBvZiBhIGdpdmVuIG5hdmJhciBvciB0YWJiZWQgbmF2aWdhdGlvbi5cbiAgICovXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd24/LmhpZGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSBwb3NpdGlvbiBvZiBhbiBlbGVtZW50J3MgZHJvcGRvd24uXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd24/LnVwZGF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIGFuIGVsZW1lbnQncyBkcm9wZG93bi4gKFJlbW92ZXMgc3RvcmVkIGRhdGEgb24gdGhlIERPTSBlbGVtZW50KVxuICAgKi9cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bj8uZGlzcG9zZSgpO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZHJvcGRvd24ge3tkaXJlY3Rpb259fVwiPlxuICA8YnV0dG9uICNkcm9wZG93bkJ1dHRvbiBbaWRdPVwiaWRcIlxuICAgICAgICAgIFtjbGFzc109XCJidXR0b25DbGFzc1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJkcm9wZG93blwiXG4gICAgICAgICAgYXJpYS1oYXNwb3B1cD1cInRydWVcIlxuICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiPlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltidXR0b25dXCI+PC9uZy1jb250ZW50PlxuICAgIDxpdC1pY29uIGNsYXNzPVwiaWNvbi1leHBhbmRcIiBuYW1lPVwiZXhwYW5kXCIgc2l6ZT1cInNtXCIgW2NvbG9yXT1cInRoaXMuY29sb3IgPyAnbGlnaHQnIDogJ3ByaW1hcnknXCI+PC9pdC1pY29uPlxuICA8L2J1dHRvbj5cblxuICA8ZGl2IGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIFtjbGFzcy5mdWxsLXdpZHRoXT1cImlzRnVsbFdpZHRoXCIgW2NsYXNzLmRhcmtdPVwiaXNEYXJrXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkXCI+XG4gICAgPGRpdiBjbGFzcz1cImxpbmstbGlzdC13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibGluay1saXN0LWhlYWRpbmdcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2xpc3RIZWFkaW5nXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgICAgPHVsIGNsYXNzPVwibGluay1saXN0XCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltsaXN0XVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvdWw+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { isTrueBooleanInput } from '../../../../utils/boolean-input';
|
|
3
|
+
import { LinkComponent } from '../../link/link.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "../../link/link.component";
|
|
7
|
+
import * as i3 from "../../../utils/icon/icon.component";
|
|
8
|
+
import * as i4 from "@ngx-translate/core";
|
|
9
|
+
export class DropdownItemComponent extends LinkComponent {
|
|
10
|
+
constructor() {
|
|
11
|
+
super(...arguments);
|
|
12
|
+
/**
|
|
13
|
+
* The icon position
|
|
14
|
+
* @default right
|
|
15
|
+
*/
|
|
16
|
+
this.iconPosition = 'right';
|
|
17
|
+
/**
|
|
18
|
+
* Change icon color if menu is dark
|
|
19
|
+
* @default false
|
|
20
|
+
*/
|
|
21
|
+
this.isDark = false;
|
|
22
|
+
}
|
|
23
|
+
get isDivider() {
|
|
24
|
+
return isTrueBooleanInput(this.divider);
|
|
25
|
+
}
|
|
26
|
+
get isActive() {
|
|
27
|
+
return isTrueBooleanInput(this.active);
|
|
28
|
+
}
|
|
29
|
+
get isLarge() {
|
|
30
|
+
return isTrueBooleanInput(this.large);
|
|
31
|
+
}
|
|
32
|
+
get linkClass() {
|
|
33
|
+
let linkClass = `list-item ${this.isActive ? 'active' : 'dropdown-item'}`;
|
|
34
|
+
if (this.isDisabled) {
|
|
35
|
+
linkClass += ' disabled';
|
|
36
|
+
}
|
|
37
|
+
if (this.isLarge) {
|
|
38
|
+
linkClass += ' large';
|
|
39
|
+
}
|
|
40
|
+
if (this.iconName) {
|
|
41
|
+
linkClass += ` ${this.iconPosition === 'right' ? 'right-icon' : 'left-icon'}`;
|
|
42
|
+
}
|
|
43
|
+
return linkClass;
|
|
44
|
+
}
|
|
45
|
+
setDark(dark) {
|
|
46
|
+
if (this.isDark !== dark) {
|
|
47
|
+
this.isDark = dark;
|
|
48
|
+
this._changeDetectorRef.detectChanges();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
DropdownItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
53
|
+
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\" [id]=\"id\" [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: i2.LinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }, { kind: "component", type: i3.IconComponent, selector: "it-icon[name]", inputs: ["name", "size", "color", "padded", "class"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
54
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownItemComponent, decorators: [{
|
|
55
|
+
type: Component,
|
|
56
|
+
args: [{ selector: 'it-dropdown-item', changeDetection: ChangeDetectionStrategy.OnPush, template: "<li>\n <span *ngIf=\"isDivider; else item\" class=\"divider\"></span>\n\n <ng-template #item>\n <it-link [class]=\"linkClass\" [id]=\"id\" [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"] }]
|
|
57
|
+
}], propDecorators: { divider: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], active: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], large: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], iconName: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], iconPosition: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}] } });
|
|
68
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZHJvcGRvd24vZHJvcGRvd24taXRlbS9kcm9wZG93bi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kcm9wZG93bi9kcm9wZG93bi1pdGVtL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7O0FBUTFELE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxhQUFhO0lBTnhEOztRQTRCRTs7O1dBR0c7UUFDTSxpQkFBWSxHQUFxQixPQUFPLENBQUM7UUFFbEQ7OztXQUdHO1FBQ0gsV0FBTSxHQUFZLEtBQUssQ0FBQztLQW1DekI7SUFqQ0MsSUFBSSxTQUFTO1FBQ1gsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDMUMsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLGtCQUFrQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBSSxTQUFTO1FBQ1gsSUFBSSxTQUFTLEdBQUcsYUFBYSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQzFFLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixTQUFTLElBQUksV0FBVyxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLFNBQVMsSUFBSSxRQUFRLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsU0FBUyxJQUFJLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7U0FDL0U7UUFFRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBRUQsT0FBTyxDQUFDLElBQWE7UUFDbkIsSUFBSSxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksRUFBRTtZQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDekM7SUFDSCxDQUFDOztrSEFsRVUscUJBQXFCO3NHQUFyQixxQkFBcUIscU1DWGxDLHczQkF1QkE7MkZEWmEscUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLGtCQUFrQixtQkFHWCx1QkFBdUIsQ0FBQyxNQUFNOzhCQU90QyxPQUFPO3NCQUFmLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQU1HLFlBQVk7c0JBQXBCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBpc1RydWVCb29sZWFuSW5wdXQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9ib29sZWFuLWlucHV0JztcbmltcG9ydCB7IEljb25OYW1lIH0gZnJvbSAnLi4vLi4vLi4vLi4vaW50ZXJmYWNlcy9pY29uJztcbmltcG9ydCB7IExpbmtDb21wb25lbnQgfSBmcm9tICcuLi8uLi9saW5rL2xpbmsuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtZHJvcGRvd24taXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZHJvcGRvd24taXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBMaW5rQ29tcG9uZW50IHtcblxuICAvKipcbiAgICogU2hvdyBkaXZpZGVyXG4gICAqL1xuICBASW5wdXQoKSBkaXZpZGVyPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBBY3RpdmUgaXRlbVxuICAgKi9cbiAgQElucHV0KCkgYWN0aXZlPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBUbyBpbmNyZWFzZSB0aGUgc2l6ZSBvZiBsaW5rc1xuICAgKi9cbiAgQElucHV0KCkgbGFyZ2U/OiBCb29sZWFuSW5wdXQ7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGljb24gdG8gc2hvd1xuICAgKi9cbiAgQElucHV0KCkgaWNvbk5hbWU/OiBJY29uTmFtZTtcblxuICAvKipcbiAgICogVGhlIGljb24gcG9zaXRpb25cbiAgICogQGRlZmF1bHQgcmlnaHRcbiAgICovXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCc7XG5cbiAgLyoqXG4gICAqIENoYW5nZSBpY29uIGNvbG9yIGlmIG1lbnUgaXMgZGFya1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgaXNEYXJrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGlzRGl2aWRlcigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNUcnVlQm9vbGVhbklucHV0KHRoaXMuZGl2aWRlcik7XG4gIH1cblxuICBnZXQgaXNBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVHJ1ZUJvb2xlYW5JbnB1dCh0aGlzLmFjdGl2ZSk7XG4gIH1cblxuICBnZXQgaXNMYXJnZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNUcnVlQm9vbGVhbklucHV0KHRoaXMubGFyZ2UpO1xuICB9XG5cbiAgZ2V0IGxpbmtDbGFzcygpOiBzdHJpbmcge1xuICAgIGxldCBsaW5rQ2xhc3MgPSBgbGlzdC1pdGVtICR7dGhpcy5pc0FjdGl2ZSA/ICdhY3RpdmUnIDogJ2Ryb3Bkb3duLWl0ZW0nfWA7XG4gICAgaWYgKHRoaXMuaXNEaXNhYmxlZCkge1xuICAgICAgbGlua0NsYXNzICs9ICcgZGlzYWJsZWQnO1xuICAgIH1cbiAgICBpZiAodGhpcy5pc0xhcmdlKSB7XG4gICAgICBsaW5rQ2xhc3MgKz0gJyBsYXJnZSc7XG4gICAgfVxuICAgIGlmICh0aGlzLmljb25OYW1lKSB7XG4gICAgICBsaW5rQ2xhc3MgKz0gYCAke3RoaXMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnID8gJ3JpZ2h0LWljb24nIDogJ2xlZnQtaWNvbid9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gbGlua0NsYXNzO1xuICB9XG5cbiAgc2V0RGFyayhkYXJrOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEYXJrICE9PSBkYXJrKSB7XG4gICAgICB0aGlzLmlzRGFyayA9IGRhcms7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bGk+XG4gIDxzcGFuICpuZ0lmPVwiaXNEaXZpZGVyOyBlbHNlIGl0ZW1cIiBjbGFzcz1cImRpdmlkZXJcIj48L3NwYW4+XG5cbiAgPG5nLXRlbXBsYXRlICNpdGVtPlxuICAgIDxpdC1saW5rIFtjbGFzc109XCJsaW5rQ2xhc3NcIiBbaWRdPVwiaWRcIiBbaHJlZl09XCJocmVmXCIgW2V4dGVybmFsTGlua109XCJleHRlcm5hbExpbmtcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgIDxpdC1pY29uICpuZ0lmPVwiaWNvbk5hbWUgJiYgaWNvblBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJzbVwiXG4gICAgICAgICAgICAgICAgW25hbWVdPVwiaWNvbk5hbWVcIlxuICAgICAgICAgICAgICAgIFtjb2xvcl09XCJpc0RhcmsgPyAnbGlnaHQnIDogJ3ByaW1hcnknXCJcbiAgICAgICAgICAgICAgICBbY2xhc3NdPVwiaWNvblBvc2l0aW9uXCI+PC9pdC1pY29uPlxuXG4gICAgICA8c3Bhbj48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9zcGFuPlxuXG4gICAgICA8aXQtaWNvbiAqbmdJZj1cImljb25OYW1lICYmIGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0J1wiXG4gICAgICAgICAgICAgICAgc2l6ZT1cInNtXCJcbiAgICAgICAgICAgICAgICBbbmFtZV09XCJpY29uTmFtZVwiXG4gICAgICAgICAgICAgICAgW2NvbG9yXT1cImlzRGFyayA/ICdsaWdodCcgOiAncHJpbWFyeSdcIlxuICAgICAgICAgICAgICAgIFtjbGFzc109XCJpY29uUG9zaXRpb25cIj48L2l0LWljb24+XG5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaXNBY3RpdmVcIiBjbGFzcz1cInZpc3VhbGx5LWhpZGRlblwiPnt7J2l0LmNvcmUuYWN0aXZlJ3x0cmFuc2xhdGV9fTwvc3Bhbj5cbiAgICA8L2l0LWxpbms+XG4gIDwvbmctdGVtcGxhdGU+XG48L2xpPlxuIl19
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { DOCUMENT } from '@angular/common';
|
|
2
|
+
import { Directive, HostListener, Inject, Input } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class ForwardDirective {
|
|
5
|
+
constructor(document) {
|
|
6
|
+
this.document = document;
|
|
7
|
+
this._itForward = undefined;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Indica, se HTMLElement, l'elemento a cui navigare, o se stringa, il selettore che selezionerà l'elemento a cui navigare.
|
|
11
|
+
*/
|
|
12
|
+
set itForward(value) { this._itForward = value; }
|
|
13
|
+
get itForward() { return this._itForward; }
|
|
14
|
+
onClick(event) {
|
|
15
|
+
event.preventDefault();
|
|
16
|
+
if (this.itForward) {
|
|
17
|
+
if (typeof this.itForward === 'string') {
|
|
18
|
+
this.document?.querySelector(this.itForward)?.scrollIntoView({
|
|
19
|
+
behavior: 'smooth',
|
|
20
|
+
block: 'start',
|
|
21
|
+
inline: "nearest"
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
else if (this.itForward instanceof HTMLElement) {
|
|
25
|
+
this.itForward.scrollIntoView({
|
|
26
|
+
behavior: 'smooth',
|
|
27
|
+
block: 'start',
|
|
28
|
+
inline: "nearest"
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
ForwardDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ForwardDirective, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
|
|
35
|
+
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 });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ForwardDirective, decorators: [{
|
|
37
|
+
type: Directive,
|
|
38
|
+
args: [{
|
|
39
|
+
selector: '[itForward]',
|
|
40
|
+
host: { 'class': 'forward' }
|
|
41
|
+
}]
|
|
42
|
+
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
43
|
+
type: Inject,
|
|
44
|
+
args: [DOCUMENT]
|
|
45
|
+
}] }]; }, propDecorators: { itForward: [{
|
|
46
|
+
type: Input
|
|
47
|
+
}], onClick: [{
|
|
48
|
+
type: HostListener,
|
|
49
|
+
args: ['click', ['$event']]
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZm9yd2FyZC9mb3J3YXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNdkUsTUFBTSxPQUFPLGdCQUFnQjtJQVMzQixZQUM0QixRQUFtQjtRQUFuQixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBSHZDLGVBQVUsR0FBcUMsU0FBUyxDQUFDO0lBSTdELENBQUM7SUFUTDs7TUFFRTtJQUNGLElBQWEsU0FBUyxDQUFDLEtBQXVDLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVGLElBQUksU0FBUyxLQUF1QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBUTdFLE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbEIsSUFBSSxPQUFPLElBQUksQ0FBQyxTQUFTLEtBQUssUUFBUSxFQUFFO2dCQUN0QyxJQUFJLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsY0FBYyxDQUFDO29CQUMzRCxRQUFRLEVBQUUsUUFBUTtvQkFDbEIsS0FBSyxFQUFFLE9BQU87b0JBQ2QsTUFBTSxFQUFFLFNBQVM7aUJBQ2xCLENBQUMsQ0FBQTthQUNIO2lCQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsWUFBWSxXQUFXLEVBQUU7Z0JBQ2hELElBQUksQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO29CQUM1QixRQUFRLEVBQUUsUUFBUTtvQkFDbEIsS0FBSyxFQUFFLE9BQU87b0JBQ2QsTUFBTSxFQUFFLFNBQVM7aUJBQ2xCLENBQUMsQ0FBQzthQUNKO1NBQ0Y7SUFDSCxDQUFDOzs2R0EvQlUsZ0JBQWdCLGtCQVVqQixRQUFRO2lHQVZQLGdCQUFnQjsyRkFBaEIsZ0JBQWdCO2tCQUo1QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxhQUFhO29CQUN2QixJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFDO2lCQUMzQjs7MEJBV0ksTUFBTTsyQkFBQyxRQUFROzRDQUxMLFNBQVM7c0JBQXJCLEtBQUs7Z0JBU04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpdEZvcndhcmRdJyxcbiAgaG9zdDogeydjbGFzcyc6ICdmb3J3YXJkJ31cbn0pXG5leHBvcnQgY2xhc3MgRm9yd2FyZERpcmVjdGl2ZSB7XG5cbiAgLyoqXG4gICAqIEluZGljYSwgc2UgSFRNTEVsZW1lbnQsIGwnZWxlbWVudG8gYSBjdWkgbmF2aWdhcmUsIG8gc2Ugc3RyaW5nYSwgaWwgc2VsZXR0b3JlIGNoZSBzZWxlemlvbmVyw6AgbCdlbGVtZW50byBhIGN1aSBuYXZpZ2FyZS5cbiAgKi9cbiAgQElucHV0KCkgc2V0IGl0Rm9yd2FyZCh2YWx1ZTogSFRNTEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQpIHsgdGhpcy5faXRGb3J3YXJkID0gdmFsdWU7IH1cbiAgZ2V0IGl0Rm9yd2FyZCgpOiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl9pdEZvcndhcmQ7IH1cbiAgcHJpdmF0ZSBfaXRGb3J3YXJkOiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50PzogRG9jdW1lbnRcbiAgKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuaXRGb3J3YXJkKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuaXRGb3J3YXJkID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5xdWVyeVNlbGVjdG9yKHRoaXMuaXRGb3J3YXJkKT8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXRGb3J3YXJkIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5pdEZvcndhcmQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { isTrueBooleanInput } from '../../../utils/boolean-input';
|
|
3
|
+
import { AbstractComponent } from '../../../abstracts/abstract.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "@angular/router";
|
|
7
|
+
export class LinkComponent extends AbstractComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
/**
|
|
11
|
+
* Custom class
|
|
12
|
+
*/
|
|
13
|
+
this.class = '';
|
|
14
|
+
}
|
|
15
|
+
get isExternalLink() {
|
|
16
|
+
return isTrueBooleanInput(this.externalLink);
|
|
17
|
+
}
|
|
18
|
+
get isDisabled() {
|
|
19
|
+
return isTrueBooleanInput(this.disabled);
|
|
20
|
+
}
|
|
21
|
+
ngAfterViewInit() {
|
|
22
|
+
super.ngAfterViewInit();
|
|
23
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
LinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
27
|
+
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" }, usesInheritance: true, ngImport: i0, template: "<a *ngIf=\"!isExternalLink; else externalLink\" [id]=\"id\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [id]=\"id\" [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", 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.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LinkComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ selector: 'it-link', changeDetection: ChangeDetectionStrategy.OnPush, template: "<a *ngIf=\"!isExternalLink; else externalLink\" [id]=\"id\" [class]=\"class\" [routerLink]=\"isDisabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n</a>\n<ng-template #externalLink>\n <a [id]=\"id\" [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" }]
|
|
31
|
+
}], propDecorators: { href: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], externalLink: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}], disabled: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], class: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}] } });
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGluay9saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9saW5rL2xpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFnQixrQkFBa0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDOzs7O0FBTzFFLE1BQU0sT0FBTyxhQUFjLFNBQVEsaUJBQWlCO0lBTHBEOztRQTJCRTs7V0FFRztRQUNNLFVBQUssR0FBVyxFQUFFLENBQUM7S0FjN0I7SUFaQyxJQUFJLGNBQWM7UUFDaEIsT0FBTyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzNDLENBQUM7SUFFUSxlQUFlO1FBQ3RCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMxRSxDQUFDOzswR0F0Q1UsYUFBYTs4RkFBYixhQUFhLG9LQ1QxQix3ZEFZQTsyRkRIYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVMsbUJBRUYsdUJBQXVCLENBQUMsTUFBTTs4QkFZdEMsSUFBSTtzQkFBWixLQUFLO2dCQUtHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQm9vbGVhbklucHV0LCBpc1RydWVCb29sZWFuSW5wdXQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9ib29sZWFuLWlucHV0JztcbmltcG9ydCB7IEFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYWJzdHJhY3RzL2Fic3RyYWN0LmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2l0LWxpbmsnLFxuICB0ZW1wbGF0ZVVybDogJy4vbGluay5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFRoZSByb3V0ZXIgbGluayBhY3Rpb25cbiAgICpcbiAgICogQ29tbWFuZHMgdG8gcGFzcyB0byBSb3V0ZXIjY3JlYXRlVXJsVHJlZS5cbiAgICogLSBhcnJheTogY29tbWFuZHMgdG8gcGFzcyB0byBSb3V0ZXIjY3JlYXRlVXJsVHJlZS5cbiAgICogLSBzdHJpbmc6IHNob3J0aGFuZCBmb3IgYXJyYXkgb2YgY29tbWFuZHMgd2l0aCBqdXN0IHRoZSBzdHJpbmcsIGkuZS4gWycvcm91dGUnXVxuICAgKiAtIG51bGx8dW5kZWZpbmVkOiBEaXNhYmxlcyB0aGUgbGluayBieSByZW1vdmluZyB0aGUgaHJlZlxuICAgKi9cbiAgQElucHV0KCkgaHJlZj86IGFueVtdIHwgc3RyaW5nIHwgbnVsbDtcblxuICAvKipcbiAgICogSXMgYW4gZXh0ZXJuYWwgbGluayAoZmFsc2UgdG8gbm90IHVzZSBBbmd1bGFyIHJvdXRlciBsaW5rKVxuICAgKi9cbiAgQElucHV0KCkgZXh0ZXJuYWxMaW5rPzogQm9vbGVhbklucHV0O1xuXG4gIC8qKlxuICAgKiBJcyBkaXNhYmxlZCBsaW5rXG4gICAqL1xuICBASW5wdXQoKSBkaXNhYmxlZD86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogQ3VzdG9tIGNsYXNzXG4gICAqL1xuICBASW5wdXQoKSBjbGFzczogc3RyaW5nID0gJyc7XG5cbiAgZ2V0IGlzRXh0ZXJuYWxMaW5rKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc1RydWVCb29sZWFuSW5wdXQodGhpcy5leHRlcm5hbExpbmspO1xuICB9XG5cbiAgZ2V0IGlzRGlzYWJsZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzVHJ1ZUJvb2xlYW5JbnB1dCh0aGlzLmRpc2FibGVkKTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnY2xhc3MnKTtcbiAgfVxufVxuIiwiPGEgKm5nSWY9XCIhaXNFeHRlcm5hbExpbms7IGVsc2UgZXh0ZXJuYWxMaW5rXCIgW2lkXT1cImlkXCIgW2NsYXNzXT1cImNsYXNzXCIgW3JvdXRlckxpbmtdPVwiaXNEaXNhYmxlZCA/IG51bGwgOiBocmVmXCI+XG4gIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuPC9hPlxuPG5nLXRlbXBsYXRlICNleHRlcm5hbExpbms+XG4gIDxhIFtpZF09XCJpZFwiIFtjbGFzc109XCJjbGFzc1wiIFthdHRyLmhyZWZdPVwiaXNEaXNhYmxlZCA/IG51bGwgOiBocmVmXCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtDb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjbGlua0NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ListComponent {
|
|
4
|
+
}
|
|
5
|
+
ListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6
|
+
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", changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
7
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListComponent, decorators: [{
|
|
8
|
+
type: Component,
|
|
9
|
+
args: [{ selector: 'it-list', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"it-list-wrapper\">\n <ul class=\"it-list\">\n <ng-content></ng-content>\n </ul>\n</div>\n" }]
|
|
10
|
+
}], propDecorators: { linkList: [{
|
|
11
|
+
type: Input
|
|
12
|
+
}] } });
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVExRSxNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTs4RkFBYixhQUFhLGlGQ1IxQiw2R0FLQTsyRkRHYSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVMsbUJBRUYsdUJBQXVCLENBQUMsTUFBTTs4QkFPdEMsUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQgfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9ib29sZWFuLWlucHV0JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtbGlzdCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LmNvbXBvbmVudC5odG1sJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTGlzdENvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIEFkZCAnbGluay1saXN0JyBjbGFzcyBmb3IgbmF2aWdhdGlvbiBtZW7DuVxuICAgKi9cbiAgQElucHV0KCkgbGlua0xpc3Q/OiBCb29sZWFuSW5wdXQ7XG5cbn1cbiIsIjxkaXYgY2xhc3M9XCJpdC1saXN0LXdyYXBwZXJcIj5cbiAgPHVsIGNsYXNzPVwiaXQtbGlzdFwiPlxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgPC91bD5cbjwvZGl2PlxuIl19
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { isTrueBooleanInput } from '../../../../utils/boolean-input';
|
|
3
|
+
import { LinkComponent } from '../../link/link.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@angular/common";
|
|
6
|
+
import * as i2 from "../../link/link.component";
|
|
7
|
+
export class ListItemComponent extends LinkComponent {
|
|
8
|
+
get itemClass() {
|
|
9
|
+
let itemClass = 'list-item';
|
|
10
|
+
if (isTrueBooleanInput(this.active)) {
|
|
11
|
+
itemClass += ` active`;
|
|
12
|
+
}
|
|
13
|
+
if (isTrueBooleanInput(this.large)) {
|
|
14
|
+
itemClass += ` large`;
|
|
15
|
+
}
|
|
16
|
+
if (this.class) {
|
|
17
|
+
itemClass += ` ${this.class}`;
|
|
18
|
+
}
|
|
19
|
+
return itemClass;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
ListItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
23
|
+
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: i2.LinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ListItemComponent, decorators: [{
|
|
25
|
+
type: Component,
|
|
26
|
+
args: [{ selector: 'it-list-item', changeDetection: ChangeDetectionStrategy.OnPush, 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"] }]
|
|
27
|
+
}], propDecorators: { active: [{
|
|
28
|
+
type: Input
|
|
29
|
+
}], large: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], avatar: [{
|
|
32
|
+
type: Input
|
|
33
|
+
}], image: [{
|
|
34
|
+
type: Input
|
|
35
|
+
}] } });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9saXN0L2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQWdCLGtCQUFrQixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7O0FBUTFELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxhQUFhO0lBdUJsRCxJQUFJLFNBQVM7UUFDWCxJQUFJLFNBQVMsR0FBRyxXQUFXLENBQUM7UUFDNUIsSUFBSSxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbkMsU0FBUyxJQUFJLFNBQVMsQ0FBQztTQUN4QjtRQUNELElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQ2xDLFNBQVMsSUFBSSxRQUFRLENBQUM7U0FDdkI7UUFDRCxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDZCxTQUFTLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7U0FDL0I7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzs4R0FuQ1UsaUJBQWlCO2tHQUFqQixpQkFBaUIsMkpDVjlCLHdvQ0F5Q0E7MkZEL0JhLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLG1CQUdQLHVCQUF1QixDQUFDLE1BQU07OEJBT3RDLE1BQU07c0JBQWQsS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGlzVHJ1ZUJvb2xlYW5JbnB1dCB9IGZyb20gJy4uLy4uLy4uLy4uL3V0aWxzL2Jvb2xlYW4taW5wdXQnO1xuaW1wb3J0IHsgTGlua0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL2xpbmsvbGluay5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdpdC1saXN0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIExpc3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgTGlua0NvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIEFkZCBhY3RpdmUgY2xhc3NcbiAgICovXG4gIEBJbnB1dCgpIGFjdGl2ZT86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogQWRkIGxhcmdlIGNsYXNzXG4gICAqL1xuICBASW5wdXQoKSBsYXJnZT86IEJvb2xlYW5JbnB1dDtcblxuICAvKipcbiAgICogVGhlIGF2YXRhciB1cmxcbiAgICovXG4gIEBJbnB1dCgpIGF2YXRhcj86IFVSTDtcblxuICAvKipcbiAgICogVGhlIHRodW1iIGltYWdlIHVybFxuICAgKi9cbiAgQElucHV0KCkgaW1hZ2U/OiBVUkw7XG5cblxuICBnZXQgaXRlbUNsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IGl0ZW1DbGFzcyA9ICdsaXN0LWl0ZW0nO1xuICAgIGlmIChpc1RydWVCb29sZWFuSW5wdXQodGhpcy5hY3RpdmUpKSB7XG4gICAgICBpdGVtQ2xhc3MgKz0gYCBhY3RpdmVgO1xuICAgIH1cbiAgICBpZiAoaXNUcnVlQm9vbGVhbklucHV0KHRoaXMubGFyZ2UpKSB7XG4gICAgICBpdGVtQ2xhc3MgKz0gYCBsYXJnZWA7XG4gICAgfVxuICAgIGlmICh0aGlzLmNsYXNzKSB7XG4gICAgICBpdGVtQ2xhc3MgKz0gYCAke3RoaXMuY2xhc3N9YDtcbiAgICB9XG4gICAgcmV0dXJuIGl0ZW1DbGFzcztcbiAgfVxuXG59XG4iLCI8bGk+XG4gIDxuZy10ZW1wbGF0ZSAjY29udGVudD5cbiAgICA8ZGl2IGNsYXNzPVwiaXQtcm91bmRlZC1pY29uXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbaWNvbl1cIj48L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiYXZhdGFyXCIgY2xhc3M9XCJhdmF0YXIgc2l6ZS1sZ1wiPlxuICAgICAgPGltZyBbYXR0ci5zcmNdPVwiYXZhdGFyXCIgYWx0PVwiYXZhdGFyXCI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2ICpuZ0lmPVwiaW1hZ2VcIiBjbGFzcz1cIml0LXRodW1iXCI+XG4gICAgICA8aW1nIFthdHRyLnNyY109XCJpbWFnZVwiIGFsdD1cInRodW1iXCI+XG4gICAgPC9kaXY+XG5cbiAgICA8ZGl2IGNsYXNzPVwiaXQtcmlnaHQtem9uZVwiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0XCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlthY3Rpb25dXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICA8c3BhbiBjbGFzcz1cIml0LW11bHRpcGxlXCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwibWV0YWRhdGFcIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbWV0YWRhdGFdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L3NwYW4+XG5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW211bHRpcGxlXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgPC9uZy10ZW1wbGF0ZT5cblxuXG4gIDxkaXYgKm5nSWY9XCIhaHJlZjsgZWxzZSBsaW5rXCIgW2NsYXNzXT1cIml0ZW1DbGFzc1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxuZy10ZW1wbGF0ZSAjbGluaz5cbiAgICA8aXQtbGluayBbY2xhc3NdPVwiaXRlbUNsYXNzXCIgW2hyZWZdPVwiaHJlZlwiIFtleHRlcm5hbExpbmtdPVwiZXh0ZXJuYWxMaW5rXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvaXQtbGluaz5cbiAgPC9uZy10ZW1wbGF0ZT5cbjwvbGk+XG4iXX0=
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { AbstractComponent } from '../../../abstracts/abstract.component';
|
|
3
|
+
import { Modal } from 'bootstrap-italia';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "@ngx-translate/core";
|
|
6
|
+
export class ModalComponent extends AbstractComponent {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
/**
|
|
10
|
+
* This event fires immediately when the instance method show is called.
|
|
11
|
+
*/
|
|
12
|
+
this.onShow = new EventEmitter();
|
|
13
|
+
/**
|
|
14
|
+
* This event fires when the modal has been made visible to the user (it will wait for CSS transitions to complete).
|
|
15
|
+
*/
|
|
16
|
+
this.onShown = new EventEmitter();
|
|
17
|
+
/**
|
|
18
|
+
* This event is raised immediately when the instance method hide has been called.
|
|
19
|
+
*/
|
|
20
|
+
this.onHide = new EventEmitter();
|
|
21
|
+
/**
|
|
22
|
+
* This event fires when the modal has finished hiding from the user (it will wait for CSS transitions to complete).
|
|
23
|
+
*/
|
|
24
|
+
this.onHidden = new EventEmitter();
|
|
25
|
+
/**
|
|
26
|
+
* This event is fired when the modal is displayed, its background is static and a click outside the modal or a press
|
|
27
|
+
* of the esc key occurs and data-bs-keyboard is set to false.
|
|
28
|
+
*/
|
|
29
|
+
this.onHidePrevented = new EventEmitter();
|
|
30
|
+
}
|
|
31
|
+
ngAfterViewInit() {
|
|
32
|
+
super.ngAfterViewInit();
|
|
33
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
|
|
34
|
+
if (this.modalElement) {
|
|
35
|
+
const element = this.modalElement.nativeElement;
|
|
36
|
+
this.modal = Modal.getOrCreateInstance(element);
|
|
37
|
+
element.addEventListener('show.bs.modal', event => this.onShow.emit(event));
|
|
38
|
+
element.addEventListener('shown.bs.modal', event => this.onShown.emit(event));
|
|
39
|
+
element.addEventListener('hide.bs.modal', event => this.onHide.emit(event));
|
|
40
|
+
element.addEventListener('hidden.bs.modal', event => this.onHidden.emit(event));
|
|
41
|
+
element.addEventListener('hidePrevented.bs.modal', event => this.onHidePrevented.emit(event));
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Manually activate/deactivate a modal. Returns to the caller before the modal has actually been shown or hidden
|
|
46
|
+
*/
|
|
47
|
+
toggle() {
|
|
48
|
+
this.modal?.toggle();
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Manually open a modal. Returns to the caller before the modal has actually been displayed
|
|
52
|
+
*/
|
|
53
|
+
show() {
|
|
54
|
+
this.modal?.show();
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Manually hide a modal. Returns to the caller before the modal has actually been hidden
|
|
58
|
+
*/
|
|
59
|
+
hide() {
|
|
60
|
+
this.modal?.hide();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Manually reposition the modal if the height of the modal changes when it is opened (in case a scroll bar appears).
|
|
64
|
+
*/
|
|
65
|
+
handleUpdate() {
|
|
66
|
+
this.modal?.handleUpdate();
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Destroys the modal of an element.
|
|
70
|
+
*/
|
|
71
|
+
dispose() {
|
|
72
|
+
this.modal?.dispose();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ModalComponent, selector: "it-modal[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 #modalElement [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\">\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\"\n [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: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
77
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, decorators: [{
|
|
78
|
+
type: Component,
|
|
79
|
+
args: [{ selector: 'it-modal[title]', exportAs: 'itModal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #modalElement [id]=\"id\" class=\"modal fade\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id+'-label'\">\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\"\n [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"] }]
|
|
80
|
+
}], propDecorators: { title: [{
|
|
81
|
+
type: Input
|
|
82
|
+
}], size: [{
|
|
83
|
+
type: Input
|
|
84
|
+
}], onShow: [{
|
|
85
|
+
type: Output
|
|
86
|
+
}], onShown: [{
|
|
87
|
+
type: Output
|
|
88
|
+
}], onHide: [{
|
|
89
|
+
type: Output
|
|
90
|
+
}], onHidden: [{
|
|
91
|
+
type: Output
|
|
92
|
+
}], onHidePrevented: [{
|
|
93
|
+
type: Output
|
|
94
|
+
}], modalElement: [{
|
|
95
|
+
type: ViewChild,
|
|
96
|
+
args: ['modalElement', { static: false }]
|
|
97
|
+
}] } });
|
|
98
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2SCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7OztBQVN6QyxNQUFNLE9BQU8sY0FBZSxTQUFRLGlCQUFpQjtJQVByRDs7UUFtQkU7O1dBRUc7UUFDTyxXQUFNLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0Q7O1dBRUc7UUFDTyxZQUFPLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFNUQ7O1dBRUc7UUFDTyxXQUFNLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFM0Q7O1dBRUc7UUFDTyxhQUFRLEdBQXdCLElBQUksWUFBWSxFQUFFLENBQUM7UUFFN0Q7OztXQUdHO1FBQ08sb0JBQWUsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQTBEckU7SUFuRFUsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3JCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO1lBQ2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRWhELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQzVFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDOUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDNUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNoRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsd0JBQXdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1NBQy9GO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNULElBQUksQ0FBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksWUFBWTtRQUNqQixJQUFJLENBQUMsS0FBSyxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRDs7T0FFRztJQUNJLE9BQU87UUFDWixJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7OzJHQTVGVSxjQUFjOytGQUFkLGNBQWMsNFhDWDNCLDZ3QkFxQkE7MkZEVmEsY0FBYztrQkFQMUIsU0FBUzsrQkFDRSxpQkFBaUIsWUFHakIsU0FBUyxtQkFDRix1QkFBdUIsQ0FBQyxNQUFNOzhCQU90QyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csSUFBSTtzQkFBWixLQUFLO2dCQUtJLE1BQU07c0JBQWYsTUFBTTtnQkFLRyxPQUFPO3NCQUFoQixNQUFNO2dCQUtHLE1BQU07c0JBQWYsTUFBTTtnQkFLRyxRQUFRO3NCQUFqQixNQUFNO2dCQU1HLGVBQWU7c0JBQXhCLE1BQU07Z0JBSytDLFlBQVk7c0JBQWpFLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICdib290c3RyYXAtaXRhbGlhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtbW9kYWxbdGl0bGVdJyxcbiAgdGVtcGxhdGVVcmw6ICcuL21vZGFsLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgZXhwb3J0QXM6ICdpdE1vZGFsJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxDb21wb25lbnQgZXh0ZW5kcyBBYnN0cmFjdENvbXBvbmVudCB7XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RhbCBUaXRsZVxuICAgKi9cbiAgQElucHV0KCkgdGl0bGUhOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBtb2RhbCBzaXplXG4gICAqL1xuICBASW5wdXQoKSBzaXplPzogJ21vZGFsLXNtJyB8ICdtb2RhbC1sZycgfCAnbW9kYWwteGwnO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIGltbWVkaWF0ZWx5IHdoZW4gdGhlIGluc3RhbmNlIG1ldGhvZCBzaG93IGlzIGNhbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBvblNob3c6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgZmlyZXMgd2hlbiB0aGUgbW9kYWwgaGFzIGJlZW4gbWFkZSB2aXNpYmxlIHRvIHRoZSB1c2VyIChpdCB3aWxsIHdhaXQgZm9yIENTUyB0cmFuc2l0aW9ucyB0byBjb21wbGV0ZSkuXG4gICAqL1xuICBAT3V0cHV0KCkgb25TaG93bjogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyByYWlzZWQgaW1tZWRpYXRlbHkgd2hlbiB0aGUgaW5zdGFuY2UgbWV0aG9kIGhpZGUgaGFzIGJlZW4gY2FsbGVkLlxuICAgKi9cbiAgQE91dHB1dCgpIG9uSGlkZTogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBmaXJlcyB3aGVuIHRoZSBtb2RhbCBoYXMgZmluaXNoZWQgaGlkaW5nIGZyb20gdGhlIHVzZXIgKGl0IHdpbGwgd2FpdCBmb3IgQ1NTIHRyYW5zaXRpb25zIHRvIGNvbXBsZXRlKS5cbiAgICovXG4gIEBPdXRwdXQoKSBvbkhpZGRlbjogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBpcyBmaXJlZCB3aGVuIHRoZSBtb2RhbCBpcyBkaXNwbGF5ZWQsIGl0cyBiYWNrZ3JvdW5kIGlzIHN0YXRpYyBhbmQgYSBjbGljayBvdXRzaWRlIHRoZSBtb2RhbCBvciBhIHByZXNzXG4gICAqIG9mIHRoZSBlc2Mga2V5IG9jY3VycyBhbmQgZGF0YS1icy1rZXlib2FyZCBpcyBzZXQgdG8gZmFsc2UuXG4gICAqL1xuICBAT3V0cHV0KCkgb25IaWRlUHJldmVudGVkOiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG5cbiAgcHJpdmF0ZSBtb2RhbD86IE1vZGFsO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIG1vZGFsRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndGl0bGUnKTtcblxuICAgIGlmICh0aGlzLm1vZGFsRWxlbWVudCkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMubW9kYWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0aGlzLm1vZGFsID0gTW9kYWwuZ2V0T3JDcmVhdGVJbnN0YW5jZShlbGVtZW50KTtcblxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93LmJzLm1vZGFsJywgZXZlbnQgPT4gdGhpcy5vblNob3cuZW1pdChldmVudCkpO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93bi5icy5tb2RhbCcsIGV2ZW50ID0+IHRoaXMub25TaG93bi5lbWl0KGV2ZW50KSk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGUuYnMubW9kYWwnLCBldmVudCA9PiB0aGlzLm9uSGlkZS5lbWl0KGV2ZW50KSk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGRlbi5icy5tb2RhbCcsIGV2ZW50ID0+IHRoaXMub25IaWRkZW4uZW1pdChldmVudCkpO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdoaWRlUHJldmVudGVkLmJzLm1vZGFsJywgZXZlbnQgPT4gdGhpcy5vbkhpZGVQcmV2ZW50ZWQuZW1pdChldmVudCkpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBhY3RpdmF0ZS9kZWFjdGl2YXRlIGEgbW9kYWwuIFJldHVybnMgdG8gdGhlIGNhbGxlciBiZWZvcmUgdGhlIG1vZGFsIGhhcyBhY3R1YWxseSBiZWVuIHNob3duIG9yIGhpZGRlblxuICAgKi9cbiAgcHVibGljIHRvZ2dsZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsPy50b2dnbGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSBvcGVuIGEgbW9kYWwuIFJldHVybnMgdG8gdGhlIGNhbGxlciBiZWZvcmUgdGhlIG1vZGFsIGhhcyBhY3R1YWxseSBiZWVuIGRpc3BsYXllZFxuICAgKi9cbiAgcHVibGljIHNob3coKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbD8uc2hvdygpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IGhpZGUgYSBtb2RhbC4gUmV0dXJucyB0byB0aGUgY2FsbGVyIGJlZm9yZSB0aGUgbW9kYWwgaGFzIGFjdHVhbGx5IGJlZW4gaGlkZGVuXG4gICAqL1xuICBwdWJsaWMgaGlkZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsPy5oaWRlKCk7XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgcmVwb3NpdGlvbiB0aGUgbW9kYWwgaWYgdGhlIGhlaWdodCBvZiB0aGUgbW9kYWwgY2hhbmdlcyB3aGVuIGl0IGlzIG9wZW5lZCAoaW4gY2FzZSBhIHNjcm9sbCBiYXIgYXBwZWFycykuXG4gICAqL1xuICBwdWJsaWMgaGFuZGxlVXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWw/LmhhbmRsZVVwZGF0ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlc3Ryb3lzIHRoZSBtb2RhbCBvZiBhbiBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGRpc3Bvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbD8uZGlzcG9zZSgpO1xuICB9XG5cbn1cbiIsIjxkaXYgI21vZGFsRWxlbWVudCBbaWRdPVwiaWRcIiBjbGFzcz1cIm1vZGFsIGZhZGVcIlxuICAgICB0YWJpbmRleD1cIi0xXCJcbiAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJpZCsnLWxhYmVsJ1wiPlxuICA8ZGl2IGNsYXNzPVwibW9kYWwtZGlhbG9nIHt7c2l6ZX19XCI+XG4gICAgPGRpdiBjbGFzcz1cIm1vZGFsLWNvbnRlbnRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1oZWFkZXJcIj5cbiAgICAgICAgPGgyIGNsYXNzPVwibW9kYWwtdGl0bGUgaDUgbm9fdG9jXCIgaWQ9XCJ7e2lkfX0tbGFiZWxcIj57e3RpdGxlfX08L2gyPlxuICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cImJ0bi1jbG9zZVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidpdC5jb3JlLmNsb3NlLW1vZGFsJ3x0cmFuc2xhdGVcIj48L2J1dHRvbj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbWItM1wiPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXIgbW9kYWwtZm9vdGVyLXNoYWRvd1wiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
|