design-angular-kit 1.0.0-9 → 1.0.0-prerelease.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +212 -64
- package/assets/i18n/en.json +81 -12
- package/assets/i18n/it.json +80 -11
- package/esm2022/lib/abstracts/abstract-form.component.mjs +187 -0
- package/esm2022/lib/abstracts/abstract.component.mjs +45 -0
- package/esm2022/lib/components/core/accordion/accordion.component.mjs +39 -0
- package/esm2022/lib/components/core/alert/alert.component.mjs +71 -0
- package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +43 -0
- package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +38 -0
- package/esm2022/lib/components/core/avatar/avatar.directive.mjs +78 -0
- package/esm2022/lib/components/core/avatar/avatar.module.mjs +33 -0
- package/esm2022/lib/components/core/badge/badge.directive.mjs +39 -0
- package/esm2022/lib/components/core/button/button.directive.mjs +86 -0
- package/esm2022/lib/components/core/callout/callout.component.mjs +57 -0
- package/esm2022/lib/components/core/card/card.component.mjs +59 -0
- package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +84 -0
- package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +19 -0
- package/esm2022/lib/components/core/carousel/carousel.module.mjs +18 -0
- package/esm2022/lib/components/core/chip/chip.component.mjs +136 -0
- package/esm2022/lib/components/core/collapse/collapse.component.mjs +104 -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 +55 -0
- package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +19 -0
- package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +144 -0
- package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +61 -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 +42 -0
- package/esm2022/lib/components/core/list/list/list.component.mjs +22 -0
- package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +51 -0
- package/esm2022/lib/components/core/list/list.module.mjs +18 -0
- package/esm2022/lib/components/core/modal/modal.component.mjs +194 -0
- package/esm2022/lib/components/core/notifications/notifications.component.mjs +111 -0
- package/esm2022/lib/components/core/pagination/pagination.component.mjs +130 -0
- package/esm2022/lib/components/core/popover/popover.directive.mjs +176 -0
- package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
- package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +25 -0
- package/esm2022/lib/components/core/spinner/spinner.component.mjs +30 -0
- package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +116 -0
- package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +20 -0
- package/esm2022/lib/components/core/steppers/steppers.module.mjs +18 -0
- package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +63 -0
- package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +39 -0
- package/esm2022/lib/components/core/tab/tab.module.mjs +18 -0
- package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +134 -0
- package/esm2022/lib/components/core/table/sort/sort.directive.mjs +123 -0
- package/esm2022/lib/components/core/table/table.component.mjs +45 -0
- package/esm2022/lib/components/core/table/table.module.mjs +19 -0
- package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +143 -0
- package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +106 -0
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +48 -0
- package/esm2022/lib/components/form/form.module.mjs +59 -0
- package/esm2022/lib/components/form/input/input.component.mjs +187 -0
- package/esm2022/lib/components/form/password-input/password-input.component.mjs +149 -0
- package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +60 -0
- package/esm2022/lib/components/form/range/range.component.mjs +64 -0
- package/esm2022/lib/components/form/rating/rating.component.mjs +50 -0
- package/esm2022/lib/components/form/select/select.component.mjs +70 -0
- package/esm2022/lib/components/form/textarea/textarea.component.mjs +55 -0
- package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +142 -0
- package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +107 -0
- package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +67 -0
- package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +58 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +51 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +21 -0
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +18 -0
- package/esm2022/lib/components/navigation/header/header.component.mjs +87 -0
- package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +27 -0
- package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +40 -0
- package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +11 -0
- package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +18 -0
- package/esm2022/lib/components/utils/error-page/error-page.component.mjs +74 -0
- package/esm2022/lib/components/utils/icon/icon.component.mjs +58 -0
- package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +50 -0
- package/esm2022/lib/design-angular-kit.module.mjs +213 -0
- package/esm2022/lib/enums/colors.enums.mjs +12 -0
- package/esm2022/lib/enums/sizes.enum.mjs +9 -0
- package/esm2022/lib/interfaces/core.mjs +16 -0
- package/esm2022/lib/interfaces/design-angular-kit-config.mjs +7 -0
- package/esm2022/lib/interfaces/form.mjs +2 -0
- package/esm2022/lib/interfaces/icon.mjs +165 -0
- package/esm2022/lib/interfaces/sortable-table.mjs +6 -0
- package/esm2022/lib/pipes/date-ago.pipe.mjs +56 -0
- package/esm2022/lib/pipes/duration.pipe.mjs +110 -0
- package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +48 -0
- package/esm2022/lib/provide-design-angular-kit.mjs +61 -0
- package/esm2022/lib/services/notification/notification.service.mjs +120 -0
- package/esm2022/lib/utils/coercion.mjs +18 -0
- package/esm2022/lib/utils/date-utils.mjs +160 -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 +99 -0
- package/fesm2022/design-angular-kit.mjs +5556 -0
- package/fesm2022/design-angular-kit.mjs.map +1 -0
- package/lib/abstracts/{abstract-form-component.d.ts → abstract-form.component.d.ts} +12 -14
- package/lib/abstracts/abstract.component.d.ts +18 -8
- package/lib/components/core/accordion/accordion.component.d.ts +11 -5
- package/lib/components/core/alert/alert.component.d.ts +15 -10
- package/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.d.ts +29 -0
- package/lib/components/core/avatar/avatar-group/avatar-group.component.d.ts +13 -0
- package/lib/components/core/avatar/avatar.directive.d.ts +33 -0
- package/lib/components/core/avatar/avatar.module.d.ts +9 -0
- package/lib/components/core/badge/badge.directive.d.ts +14 -7
- package/lib/components/core/button/button.directive.d.ts +25 -15
- package/lib/components/core/callout/callout.component.d.ts +18 -20
- package/lib/components/core/card/card.component.d.ts +46 -18
- 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 +29 -15
- package/lib/components/core/collapse/collapse.component.d.ts +22 -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 +6 -6
- package/lib/components/core/dimmer/dimmer.module.d.ts +9 -0
- package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +30 -17
- package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +15 -12
- 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 +14 -10
- package/lib/components/core/list/list/list.component.d.ts +20 -6
- package/lib/components/core/list/list-item/list-item.component.d.ts +23 -9
- package/lib/components/core/list/list.module.d.ts +8 -0
- package/lib/components/core/modal/modal.component.d.ts +89 -13
- package/lib/components/core/notifications/notifications.component.d.ts +9 -8
- 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 +11 -8
- package/lib/components/core/progress-button/progress-button.component.d.ts +5 -6
- package/lib/components/core/spinner/spinner.component.d.ts +13 -10
- package/lib/components/core/steppers/steppers-container/steppers-container.component.d.ts +55 -27
- package/lib/components/core/steppers/steppers-item/steppers-item.component.d.ts +5 -4
- package/lib/components/core/steppers/steppers.module.d.ts +8 -0
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +15 -12
- package/lib/components/core/tab/tab-item/tab-item.component.d.ts +14 -10
- package/lib/components/core/tab/tab.module.d.ts +8 -0
- package/lib/components/core/table/sort/sort-header/sort-header.component.d.ts +72 -0
- package/lib/components/core/table/sort/sort.directive.d.ts +53 -0
- package/lib/components/core/table/table.component.d.ts +26 -20
- package/lib/components/core/table/table.module.d.ts +9 -0
- package/lib/components/core/tooltip/tooltip.directive.d.ts +12 -11
- package/lib/components/form/autocomplete/autocomplete.component.d.ts +55 -0
- package/lib/components/form/checkbox/checkbox.component.d.ts +23 -12
- package/lib/components/form/form.module.d.ts +17 -0
- package/lib/components/form/input/input.component.d.ts +42 -43
- package/lib/components/form/password-input/password-input.component.d.ts +35 -10
- package/lib/components/form/radio-button/radio-button.component.d.ts +20 -11
- 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 +15 -5
- package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +18 -12
- package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +14 -11
- package/lib/components/navigation/back-button/back-button.component.d.ts +8 -8
- package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +15 -16
- package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +12 -14
- package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +9 -8
- package/lib/components/navigation/breadcrumbs/breadcrumbs.module.d.ts +8 -0
- package/lib/components/navigation/header/header.component.d.ts +28 -25
- package/lib/components/navigation/megamenu/megamenu.component.d.ts +22 -0
- package/lib/components/navigation/navbar/navbar/navbar.component.d.ts +16 -0
- package/lib/components/navigation/navbar/navbar-item/navbar-item.component.d.ts +5 -0
- package/lib/components/navigation/navbar/navbar.module.d.ts +8 -0
- package/lib/components/utils/error-page/error-page.component.d.ts +44 -0
- package/lib/components/utils/icon/icon.component.d.ts +25 -17
- package/lib/components/utils/language-switcher/language-switcher.component.d.ts +9 -5
- package/lib/design-angular-kit.module.d.ts +44 -7
- package/lib/enums/colors.enums.d.ts +10 -0
- package/lib/enums/sizes.enum.d.ts +7 -0
- package/lib/interfaces/core.d.ts +16 -15
- package/lib/interfaces/design-angular-kit-config.d.ts +30 -0
- package/lib/interfaces/form.d.ts +9 -9
- package/lib/interfaces/icon.d.ts +4 -3
- package/lib/interfaces/sortable-table.d.ts +33 -0
- package/lib/pipes/date-ago.pipe.d.ts +17 -0
- package/lib/pipes/duration.pipe.d.ts +35 -0
- package/lib/pipes/mark-matching-text.pipe.d.ts +15 -7
- package/lib/provide-design-angular-kit.d.ts +7 -0
- package/lib/services/{notifications/notifications.service.d.ts → notification/notification.service.d.ts} +3 -3
- package/lib/utils/coercion.d.ts +14 -0
- package/lib/utils/date-utils.d.ts +78 -0
- package/lib/utils/file-utils.d.ts +1 -1
- package/lib/utils/regex.d.ts +5 -0
- package/lib/validators/it-validators.d.ts +9 -2
- package/package.json +17 -22
- package/public_api.d.ts +31 -4
- package/esm2020/lib/abstracts/abstract-form-component.mjs +0 -174
- package/esm2020/lib/abstracts/abstract.component.mjs +0 -27
- package/esm2020/lib/components/core/accordion/accordion.component.mjs +0 -31
- package/esm2020/lib/components/core/alert/alert.component.mjs +0 -69
- package/esm2020/lib/components/core/badge/badge.directive.mjs +0 -34
- package/esm2020/lib/components/core/button/button.directive.mjs +0 -80
- package/esm2020/lib/components/core/callout/callout.component.mjs +0 -84
- 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 -101
- package/esm2020/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +0 -24
- package/esm2020/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +0 -11
- package/esm2020/lib/components/core/dimmer/dimmer.component.mjs +0 -59
- package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +0 -130
- package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +0 -68
- package/esm2020/lib/components/core/forward/forward.directive.mjs +0 -51
- package/esm2020/lib/components/core/link/link.component.mjs +0 -40
- 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 -110
- package/esm2020/lib/components/core/pagination/pagination.component.mjs +0 -51
- package/esm2020/lib/components/core/popover/popover.directive.mjs +0 -179
- 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/steppers/steppers-container/steppers-container.component.mjs +0 -119
- package/esm2020/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +0 -18
- package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +0 -59
- package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +0 -36
- package/esm2020/lib/components/core/table/table.component.mjs +0 -57
- package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +0 -143
- package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +0 -40
- package/esm2020/lib/components/form/input/input.component.mjs +0 -222
- 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 -137
- package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +0 -104
- package/esm2020/lib/components/navigation/back-button/back-button.component.mjs +0 -69
- package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +0 -74
- 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 -63
- package/esm2020/lib/components/utils/icon/icon.component.mjs +0 -54
- package/esm2020/lib/components/utils/language-switcher/language-switcher.component.mjs +0 -39
- package/esm2020/lib/components/utils/not-found-page/not-found-page.component.mjs +0 -13
- package/esm2020/lib/design-angular-kit.module.mjs +0 -56
- 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 -257
- package/esm2020/lib/pipes/mark-matching-text.pipe.mjs +0 -36
- package/esm2020/lib/services/notifications/notifications.service.mjs +0 -120
- package/esm2020/lib/utils/boolean-input.mjs +0 -15
- package/esm2020/lib/utils/file-utils.mjs +0 -73
- package/esm2020/lib/utils/regex.mjs +0 -26
- package/esm2020/lib/validators/it-validators.mjs +0 -134
- package/esm2020/public_api.mjs +0 -70
- package/fesm2015/design-angular-kit.mjs +0 -3850
- package/fesm2015/design-angular-kit.mjs.map +0 -1
- package/fesm2020/design-angular-kit.mjs +0 -3797
- 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 -61
- package/lib/utils/boolean-input.d.ts +0 -11
- /package/{esm2020 → esm2022}/design-angular-kit.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/interfaces/utils.mjs +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { ItLinkComponent } from '../../link/link.component';
|
|
3
|
+
import { ItIconComponent } from '../../../utils/icon/icon.component';
|
|
4
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
+
import { inputToBoolean } from '../../../../utils/coercion';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@ngx-translate/core";
|
|
8
|
+
export class ItDropdownItemComponent extends ItLinkComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
super(...arguments);
|
|
11
|
+
/**
|
|
12
|
+
* The icon position
|
|
13
|
+
* @default right
|
|
14
|
+
*/
|
|
15
|
+
this.iconPosition = 'right';
|
|
16
|
+
/**
|
|
17
|
+
* Change icon color if menu is dark
|
|
18
|
+
* @default false
|
|
19
|
+
*/
|
|
20
|
+
this.isDark = false;
|
|
21
|
+
}
|
|
22
|
+
get linkClass() {
|
|
23
|
+
let linkClass = `list-item ${this.active ? 'active' : 'dropdown-item'}`;
|
|
24
|
+
if (this.disabled) {
|
|
25
|
+
linkClass += ' disabled';
|
|
26
|
+
}
|
|
27
|
+
if (this.large) {
|
|
28
|
+
linkClass += ' large';
|
|
29
|
+
}
|
|
30
|
+
if (this.iconName) {
|
|
31
|
+
linkClass += ` ${this.iconPosition === 'right' ? 'right-icon' : 'left-icon'}`;
|
|
32
|
+
}
|
|
33
|
+
return linkClass;
|
|
34
|
+
}
|
|
35
|
+
setDark(dark) {
|
|
36
|
+
if (this.isDark !== dark) {
|
|
37
|
+
this.isDark = dark;
|
|
38
|
+
this._changeDetectorRef.detectChanges();
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItDropdownItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItDropdownItemComponent, isStandalone: true, selector: "it-dropdown-item", inputs: { divider: ["divider", "divider", inputToBoolean], active: ["active", "active", inputToBoolean], large: ["large", "large", inputToBoolean], iconName: "iconName", iconPosition: "iconPosition" }, usesInheritance: true, ngImport: i0, template: "<li>\n @if (divider) {\n <span class=\"divider\"></span>\n } @else {\n <it-link [class]=\"linkClass\" [id]=\"id\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n @if (iconName && iconPosition === 'left') {\n <it-icon size=\"sm\" [name]=\"iconName\" [color]=\"isDark ? 'light' : 'primary'\" [svgClass]=\"iconPosition\"></it-icon>\n }\n <span><ng-content></ng-content></span>\n @if (iconName && iconPosition === 'right') {\n <it-icon size=\"sm\" [name]=\"iconName\" [color]=\"isDark ? 'light' : 'primary'\" [svgClass]=\"iconPosition\"></it-icon>\n }\n @if (active) {\n <span class=\"visually-hidden\">{{ 'it.core.active' | translate }}</span>\n }\n </it-link>\n }\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"], dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ItLinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43
|
+
}
|
|
44
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItDropdownItemComponent, decorators: [{
|
|
45
|
+
type: Component,
|
|
46
|
+
args: [{ standalone: true, selector: 'it-dropdown-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, TranslateModule, ItLinkComponent], template: "<li>\n @if (divider) {\n <span class=\"divider\"></span>\n } @else {\n <it-link [class]=\"linkClass\" [id]=\"id\" [href]=\"href\" [externalLink]=\"externalLink\" [disabled]=\"disabled\">\n @if (iconName && iconPosition === 'left') {\n <it-icon size=\"sm\" [name]=\"iconName\" [color]=\"isDark ? 'light' : 'primary'\" [svgClass]=\"iconPosition\"></it-icon>\n }\n <span><ng-content></ng-content></span>\n @if (iconName && iconPosition === 'right') {\n <it-icon size=\"sm\" [name]=\"iconName\" [color]=\"isDark ? 'light' : 'primary'\" [svgClass]=\"iconPosition\"></it-icon>\n }\n @if (active) {\n <span class=\"visually-hidden\">{{ 'it.core.active' | translate }}</span>\n }\n </it-link>\n }\n</li>\n", styles: [".list-item.disabled{pointer-events:none;cursor:default}\n"] }]
|
|
47
|
+
}], propDecorators: { divider: [{
|
|
48
|
+
type: Input,
|
|
49
|
+
args: [{ transform: inputToBoolean }]
|
|
50
|
+
}], active: [{
|
|
51
|
+
type: Input,
|
|
52
|
+
args: [{ transform: inputToBoolean }]
|
|
53
|
+
}], large: [{
|
|
54
|
+
type: Input,
|
|
55
|
+
args: [{ transform: inputToBoolean }]
|
|
56
|
+
}], iconName: [{
|
|
57
|
+
type: Input
|
|
58
|
+
}], iconPosition: [{
|
|
59
|
+
type: Input
|
|
60
|
+
}] } });
|
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24taXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZHJvcGRvd24vZHJvcGRvd24taXRlbS9kcm9wZG93bi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9kcm9wZG93bi9kcm9wZG93bi1pdGVtL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzVELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFdEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7QUFVNUQsTUFBTSxPQUFPLHVCQUF3QixTQUFRLGVBQWU7SUFSNUQ7O1FBZ0NFOzs7V0FHRztRQUNNLGlCQUFZLEdBQXFCLE9BQU8sQ0FBQztRQUVsRDs7O1dBR0c7UUFDSCxXQUFNLEdBQVksS0FBSyxDQUFDO0tBdUJ6QjtJQXJCQyxJQUFJLFNBQVM7UUFDWCxJQUFJLFNBQVMsR0FBRyxhQUFhLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEUsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsU0FBUyxJQUFJLFdBQVcsQ0FBQztRQUMzQixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixTQUFTLElBQUksUUFBUSxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixTQUFTLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNoRixDQUFDO1FBRUQsT0FBTyxTQUFTLENBQUM7SUFDbkIsQ0FBQztJQUVELE9BQU8sQ0FBQyxJQUFhO1FBQ25CLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQztZQUNuQixJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxFQUFFLENBQUM7UUFDMUMsQ0FBQztJQUNILENBQUM7OEdBeERVLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDhGQUtkLGNBQWMsZ0NBTWQsY0FBYyw2QkFNZCxjQUFjLHdHQ2pDcEMsK3ZCQWtCQSxtSERKWSxlQUFlLDBIQUFFLGVBQWUsNEZBQUUsZUFBZTs7MkZBRWhELHVCQUF1QjtrQkFSbkMsU0FBUztpQ0FDSSxJQUFJLFlBQ04sa0JBQWtCLG1CQUdYLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxlQUFlLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQzs4QkFPdEIsT0FBTztzQkFBNUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsTUFBTTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsS0FBSztzQkFBMUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBSzNCLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTUcsWUFBWTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uTmFtZSB9IGZyb20gJy4uLy4uLy4uLy4uL2ludGVyZmFjZXMvaWNvbic7XG5pbXBvcnQgeyBJdExpbmtDb21wb25lbnQgfSBmcm9tICcuLi8uLi9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IEl0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5cbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1kcm9wZG93bi1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kcm9wZG93bi1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbSXRJY29uQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGUsIEl0TGlua0NvbXBvbmVudF0sXG59KVxuZXhwb3J0IGNsYXNzIEl0RHJvcGRvd25JdGVtQ29tcG9uZW50IGV4dGVuZHMgSXRMaW5rQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFNob3cgZGl2aWRlclxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBkaXZpZGVyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWN0aXZlIGl0ZW1cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgYWN0aXZlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVG8gaW5jcmVhc2UgdGhlIHNpemUgb2YgbGlua3NcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgbGFyZ2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiBpY29uIHRvIHNob3dcbiAgICovXG4gIEBJbnB1dCgpIGljb25OYW1lOiBJY29uTmFtZSB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogVGhlIGljb24gcG9zaXRpb25cbiAgICogQGRlZmF1bHQgcmlnaHRcbiAgICovXG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdyaWdodCc7XG5cbiAgLyoqXG4gICAqIENoYW5nZSBpY29uIGNvbG9yIGlmIG1lbnUgaXMgZGFya1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgaXNEYXJrOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGxpbmtDbGFzcygpOiBzdHJpbmcge1xuICAgIGxldCBsaW5rQ2xhc3MgPSBgbGlzdC1pdGVtICR7dGhpcy5hY3RpdmUgPyAnYWN0aXZlJyA6ICdkcm9wZG93bi1pdGVtJ31gO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBsaW5rQ2xhc3MgKz0gJyBkaXNhYmxlZCc7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhcmdlKSB7XG4gICAgICBsaW5rQ2xhc3MgKz0gJyBsYXJnZSc7XG4gICAgfVxuICAgIGlmICh0aGlzLmljb25OYW1lKSB7XG4gICAgICBsaW5rQ2xhc3MgKz0gYCAke3RoaXMuaWNvblBvc2l0aW9uID09PSAncmlnaHQnID8gJ3JpZ2h0LWljb24nIDogJ2xlZnQtaWNvbid9YDtcbiAgICB9XG5cbiAgICByZXR1cm4gbGlua0NsYXNzO1xuICB9XG5cbiAgc2V0RGFyayhkYXJrOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNEYXJrICE9PSBkYXJrKSB7XG4gICAgICB0aGlzLmlzRGFyayA9IGRhcms7XG4gICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgfVxuICB9XG59XG4iLCI8bGk+XG4gIEBpZiAoZGl2aWRlcikge1xuICAgIDxzcGFuIGNsYXNzPVwiZGl2aWRlclwiPjwvc3Bhbj5cbiAgfSBAZWxzZSB7XG4gICAgPGl0LWxpbmsgW2NsYXNzXT1cImxpbmtDbGFzc1wiIFtpZF09XCJpZFwiIFtocmVmXT1cImhyZWZcIiBbZXh0ZXJuYWxMaW5rXT1cImV4dGVybmFsTGlua1wiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiPlxuICAgICAgQGlmIChpY29uTmFtZSAmJiBpY29uUG9zaXRpb24gPT09ICdsZWZ0Jykge1xuICAgICAgICA8aXQtaWNvbiBzaXplPVwic21cIiBbbmFtZV09XCJpY29uTmFtZVwiIFtjb2xvcl09XCJpc0RhcmsgPyAnbGlnaHQnIDogJ3ByaW1hcnknXCIgW3N2Z0NsYXNzXT1cImljb25Qb3NpdGlvblwiPjwvaXQtaWNvbj5cbiAgICAgIH1cbiAgICAgIDxzcGFuPjxuZy1jb250ZW50PjwvbmctY29udGVudD48L3NwYW4+XG4gICAgICBAaWYgKGljb25OYW1lICYmIGljb25Qb3NpdGlvbiA9PT0gJ3JpZ2h0Jykge1xuICAgICAgICA8aXQtaWNvbiBzaXplPVwic21cIiBbbmFtZV09XCJpY29uTmFtZVwiIFtjb2xvcl09XCJpc0RhcmsgPyAnbGlnaHQnIDogJ3ByaW1hcnknXCIgW3N2Z0NsYXNzXT1cImljb25Qb3NpdGlvblwiPjwvaXQtaWNvbj5cbiAgICAgIH1cbiAgICAgIEBpZiAoYWN0aXZlKSB7XG4gICAgICAgIDxzcGFuIGNsYXNzPVwidmlzdWFsbHktaGlkZGVuXCI+e3sgJ2l0LmNvcmUuYWN0aXZlJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgIH1cbiAgICA8L2l0LWxpbms+XG4gIH1cbjwvbGk+XG4iXX0=
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ItDropdownComponent } from './dropdown/dropdown.component';
|
|
3
|
+
import { ItDropdownItemComponent } from './dropdown-item/dropdown-item.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const dropdownComponents = [ItDropdownComponent, ItDropdownItemComponent];
|
|
6
|
+
export class ItDropdownModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: ItDropdownModule, imports: [ItDropdownComponent, ItDropdownItemComponent], exports: [ItDropdownComponent, ItDropdownItemComponent] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItDropdownModule, imports: [ItDropdownItemComponent] }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItDropdownModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: dropdownComponents,
|
|
15
|
+
exports: dropdownComponents,
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDOztBQUVsRixNQUFNLGtCQUFrQixHQUFHLENBQUMsbUJBQW1CLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztBQU0xRSxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQU5ELG1CQUFtQixFQUFFLHVCQUF1QixhQUE1QyxtQkFBbUIsRUFBRSx1QkFBdUI7K0dBTTNELGdCQUFnQixZQU5vQix1QkFBdUI7OzJGQU0zRCxnQkFBZ0I7a0JBSjVCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLGtCQUFrQjtvQkFDM0IsT0FBTyxFQUFFLGtCQUFrQjtpQkFDNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0RHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9kcm9wZG93bi1pdGVtL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50JztcblxuY29uc3QgZHJvcGRvd25Db21wb25lbnRzID0gW0l0RHJvcGRvd25Db21wb25lbnQsIEl0RHJvcGRvd25JdGVtQ29tcG9uZW50XTtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogZHJvcGRvd25Db21wb25lbnRzLFxuICBleHBvcnRzOiBkcm9wZG93bkNvbXBvbmVudHMsXG59KVxuZXhwb3J0IGNsYXNzIEl0RHJvcGRvd25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -0,0 +1,53 @@
|
|
|
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 ItForwardDirective {
|
|
5
|
+
/**
|
|
6
|
+
* Indica, se HTMLElement, l'elemento a cui navigare, o se stringa, il selettore che selezionerà l'elemento a cui navigare.
|
|
7
|
+
*/
|
|
8
|
+
set itForward(value) { this._itForward = value; }
|
|
9
|
+
get itForward() { return this._itForward; }
|
|
10
|
+
constructor(document) {
|
|
11
|
+
this.document = document;
|
|
12
|
+
this._itForward = undefined;
|
|
13
|
+
}
|
|
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
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItForwardDirective, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.2", type: ItForwardDirective, isStandalone: true, selector: "[itForward]", inputs: { itForward: "itForward" }, host: { listeners: { "click": "onClick($event)" }, classAttribute: "forward" }, ngImport: i0 }); }
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItForwardDirective, decorators: [{
|
|
37
|
+
type: Directive,
|
|
38
|
+
args: [{
|
|
39
|
+
standalone: true,
|
|
40
|
+
selector: '[itForward]',
|
|
41
|
+
// eslint-disable-next-line @angular-eslint/no-host-metadata-property
|
|
42
|
+
host: { 'class': 'forward' }
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
45
|
+
type: Inject,
|
|
46
|
+
args: [DOCUMENT]
|
|
47
|
+
}] }], propDecorators: { itForward: [{
|
|
48
|
+
type: Input
|
|
49
|
+
}], onClick: [{
|
|
50
|
+
type: HostListener,
|
|
51
|
+
args: ['click', ['$event']]
|
|
52
|
+
}] } });
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yd2FyZC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvZm9yd2FyZC9mb3J3YXJkLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDM0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRdkUsTUFBTSxPQUFPLGtCQUFrQjtJQUU3Qjs7TUFFRTtJQUNGLElBQWEsU0FBUyxDQUFDLEtBQXVDLElBQUksSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDO0lBQzVGLElBQUksU0FBUyxLQUF1QyxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO0lBRzdFLFlBQzRCLFFBQW1CO1FBQW5CLGFBQVEsR0FBUixRQUFRLENBQVc7UUFIdkMsZUFBVSxHQUFxQyxTQUFTLENBQUM7SUFJN0QsQ0FBQztJQUdMLE9BQU8sQ0FBQyxLQUFVO1FBQ2hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLE9BQU8sSUFBSSxDQUFDLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDdkMsSUFBSSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLGNBQWMsQ0FBQztvQkFDM0QsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLEtBQUssRUFBRSxPQUFPO29CQUNkLE1BQU0sRUFBRSxTQUFTO2lCQUNsQixDQUFDLENBQUE7WUFDSixDQUFDO2lCQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsWUFBWSxXQUFXLEVBQUUsQ0FBQztnQkFDakQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUM7b0JBQzVCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixLQUFLLEVBQUUsT0FBTztvQkFDZCxNQUFNLEVBQUUsU0FBUztpQkFDbEIsQ0FBQyxDQUFDO1lBQ0wsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDOzhHQS9CVSxrQkFBa0Isa0JBVW5CLFFBQVE7a0dBVlAsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQU45QixTQUFTO21CQUFDO29CQUNULFVBQVUsRUFBRSxJQUFJO29CQUNoQixRQUFRLEVBQUUsYUFBYTtvQkFDdkIscUVBQXFFO29CQUNyRSxJQUFJLEVBQUUsRUFBQyxPQUFPLEVBQUUsU0FBUyxFQUFDO2lCQUMzQjs7MEJBV0ksTUFBTTsyQkFBQyxRQUFRO3lDQUxMLFNBQVM7c0JBQXJCLEtBQUs7Z0JBU04sT0FBTztzQkFETixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdExpc3RlbmVyLCBJbmplY3QsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ1tpdEZvcndhcmRdJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHsnY2xhc3MnOiAnZm9yd2FyZCd9XG59KVxuZXhwb3J0IGNsYXNzIEl0Rm9yd2FyZERpcmVjdGl2ZSB7XG5cbiAgLyoqXG4gICAqIEluZGljYSwgc2UgSFRNTEVsZW1lbnQsIGwnZWxlbWVudG8gYSBjdWkgbmF2aWdhcmUsIG8gc2Ugc3RyaW5nYSwgaWwgc2VsZXR0b3JlIGNoZSBzZWxlemlvbmVyw6AgbCdlbGVtZW50byBhIGN1aSBuYXZpZ2FyZS5cbiAgKi9cbiAgQElucHV0KCkgc2V0IGl0Rm9yd2FyZCh2YWx1ZTogSFRNTEVsZW1lbnQgfCBzdHJpbmcgfCB1bmRlZmluZWQpIHsgdGhpcy5faXRGb3J3YXJkID0gdmFsdWU7IH1cbiAgZ2V0IGl0Rm9yd2FyZCgpOiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCB7IHJldHVybiB0aGlzLl9pdEZvcndhcmQ7IH1cbiAgcHJpdmF0ZSBfaXRGb3J3YXJkOiBIVE1MRWxlbWVudCB8IHN0cmluZyB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50PzogRG9jdW1lbnRcbiAgKSB7IH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IGFueSkge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKHRoaXMuaXRGb3J3YXJkKSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMuaXRGb3J3YXJkID09PSAnc3RyaW5nJykge1xuICAgICAgICB0aGlzLmRvY3VtZW50Py5xdWVyeVNlbGVjdG9yKHRoaXMuaXRGb3J3YXJkKT8uc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHRoaXMuaXRGb3J3YXJkIGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5pdEZvcndhcmQuc2Nyb2xsSW50b1ZpZXcoe1xuICAgICAgICAgIGJlaGF2aW9yOiAnc21vb3RoJyxcbiAgICAgICAgICBibG9jazogJ3N0YXJ0JyxcbiAgICAgICAgICBpbmxpbmU6IFwibmVhcmVzdFwiXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { ItAbstractComponent } from '../../../abstracts/abstract.component';
|
|
3
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
4
|
+
import { RouterLink } from '@angular/router';
|
|
5
|
+
import { inputToBoolean } from '../../../utils/coercion';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class ItLinkComponent extends ItAbstractComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
super(...arguments);
|
|
10
|
+
/**
|
|
11
|
+
* Custom class
|
|
12
|
+
*/
|
|
13
|
+
this.class = '';
|
|
14
|
+
}
|
|
15
|
+
ngAfterViewInit() {
|
|
16
|
+
super.ngAfterViewInit();
|
|
17
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'class');
|
|
18
|
+
}
|
|
19
|
+
ngOnChanges(changes) {
|
|
20
|
+
super.ngOnChanges(changes);
|
|
21
|
+
if (changes['class']) {
|
|
22
|
+
this._changeDetectorRef.markForCheck();
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItLinkComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
26
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItLinkComponent, isStandalone: true, selector: "it-link", inputs: { href: "href", externalLink: ["externalLink", "externalLink", inputToBoolean], disabled: ["disabled", "disabled", inputToBoolean], class: "class" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!externalLink) {\n <a [id]=\"id\" [class]=\"class\" [routerLink]=\"(disabled ? null : href)!\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n} @else {\n <a [id]=\"id\" [class]=\"class\" [attr.href]=\"disabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n}\n\n<ng-template #linkContent>\n <ng-content></ng-content>\n</ng-template>\n", dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
27
|
+
}
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItLinkComponent, decorators: [{
|
|
29
|
+
type: Component,
|
|
30
|
+
args: [{ standalone: true, selector: 'it-link', changeDetection: ChangeDetectionStrategy.OnPush, imports: [RouterLink, NgTemplateOutlet], template: "@if (!externalLink) {\n <a [id]=\"id\" [class]=\"class\" [routerLink]=\"(disabled ? null : href)!\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n} @else {\n <a [id]=\"id\" [class]=\"class\" [attr.href]=\"disabled ? null : href\">\n <ng-container *ngTemplateOutlet=\"linkContent\"></ng-container>\n </a>\n}\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
|
+
args: [{ transform: inputToBoolean }]
|
|
36
|
+
}], disabled: [{
|
|
37
|
+
type: Input,
|
|
38
|
+
args: [{ transform: inputToBoolean }]
|
|
39
|
+
}], class: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}] } });
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGluay9saW5rLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9saW5rL2xpbmsuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFpQix1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUM1RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQVN6RCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSxtQkFBbUI7SUFQeEQ7O1FBK0JFOztXQUVHO1FBQ00sVUFBSyxHQUFXLEVBQUUsQ0FBQztLQWE3QjtJQVhVLGVBQWU7UUFDdEIsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQzFFLENBQUM7SUFFUSxXQUFXLENBQUMsT0FBc0I7UUFDekMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMzQixJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN6QyxDQUFDO0lBQ0gsQ0FBQzs4R0F2Q1UsZUFBZTtrR0FBZixlQUFlLGtIQWdCTixjQUFjLHNDQU1kLGNBQWMseUZDbkNwQyx3YUFhQSw0Q0RGWSxVQUFVLG9PQUFFLGdCQUFnQjs7MkZBRTNCLGVBQWU7a0JBUDNCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLFNBQVMsbUJBRUYsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLFVBQVUsRUFBRSxnQkFBZ0IsQ0FBQzs4QkFZOUIsSUFBSTtzQkFBWixLQUFLO2dCQU1nQyxZQUFZO3NCQUFqRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLM0IsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcyB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSXRBYnN0cmFjdENvbXBvbmVudCB9IGZyb20gJy4uLy4uLy4uL2Fic3RyYWN0cy9hYnN0cmFjdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJMaW5rIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1saW5rJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpbmsuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1JvdXRlckxpbmssIE5nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdExpbmtDb21wb25lbnQgZXh0ZW5kcyBJdEFic3RyYWN0Q29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqXG4gICAqIFRoZSByb3V0ZXIgbGluayBhY3Rpb25cbiAgICpcbiAgICogQ29tbWFuZHMgdG8gcGFzcyB0byBSb3V0ZXIjY3JlYXRlVXJsVHJlZS5cbiAgICogLSBhcnJheTogY29tbWFuZHMgdG8gcGFzcyB0byBSb3V0ZXIjY3JlYXRlVXJsVHJlZS5cbiAgICogLSBzdHJpbmc6IHNob3J0aGFuZCBmb3IgYXJyYXkgb2YgY29tbWFuZHMgd2l0aCBqdXN0IHRoZSBzdHJpbmcsIGkuZS4gWycvcm91dGUnXVxuICAgKiAtIG51bGx8dW5kZWZpbmVkOiBEaXNhYmxlcyB0aGUgbGluayBieSByZW1vdmluZyB0aGUgaHJlZlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcbiAgQElucHV0KCkgaHJlZjogYW55W10gfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBJcyBhbiBleHRlcm5hbCBsaW5rIChmYWxzZSB0byBub3QgdXNlIEFuZ3VsYXIgcm91dGVyIGxpbmspXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGV4dGVybmFsTGluaz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIElzIGRpc2FibGVkIGxpbmtcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZGlzYWJsZWQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gY2xhc3NcbiAgICovXG4gIEBJbnB1dCgpIGNsYXNzOiBzdHJpbmcgPSAnJztcblxuICBvdmVycmlkZSBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgdGhpcy5fcmVuZGVyZXIucmVtb3ZlQXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsYXNzJyk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gICAgaWYgKGNoYW5nZXNbJ2NsYXNzJ10pIHtcbiAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgfVxufVxuIiwiQGlmICghZXh0ZXJuYWxMaW5rKSB7XG4gIDxhIFtpZF09XCJpZFwiIFtjbGFzc109XCJjbGFzc1wiIFtyb3V0ZXJMaW5rXT1cIihkaXNhYmxlZCA/IG51bGwgOiBocmVmKSFcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua0NvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgPC9hPlxufSBAZWxzZSB7XG4gIDxhIFtpZF09XCJpZFwiIFtjbGFzc109XCJjbGFzc1wiIFthdHRyLmhyZWZdPVwiZGlzYWJsZWQgPyBudWxsIDogaHJlZlwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2E+XG59XG5cbjxuZy10ZW1wbGF0ZSAjbGlua0NvbnRlbnQ+XG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
3
|
+
import { inputToBoolean } from '../../../../utils/coercion';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class ItListComponent {
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItListComponent, isStandalone: true, selector: "it-list", inputs: { linkList: ["linkList", "linkList", inputToBoolean], linkSubList: ["linkSubList", "linkSubList", inputToBoolean], multiline: ["multiline", "multiline", inputToBoolean] }, ngImport: i0, template: "@if (!linkSubList) {\n <div [class.multiline]=\"multiline\" [class]=\"linkList ? 'link-list-wrapper' : 'it-list-wrapper'\">\n <ul [class]=\"linkList ? 'link-list' : 'it-list'\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ul>\n </div>\n}\n@if (linkSubList) {\n <ul class=\"link-sublist\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ul>\n}\n<ng-template #contentTpl><ng-content></ng-content></ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
|
+
}
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItListComponent, decorators: [{
|
|
10
|
+
type: Component,
|
|
11
|
+
args: [{ standalone: true, selector: 'it-list', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet], template: "@if (!linkSubList) {\n <div [class.multiline]=\"multiline\" [class]=\"linkList ? 'link-list-wrapper' : 'it-list-wrapper'\">\n <ul [class]=\"linkList ? 'link-list' : 'it-list'\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ul>\n </div>\n}\n@if (linkSubList) {\n <ul class=\"link-sublist\">\n <ng-container *ngTemplateOutlet=\"contentTpl\"></ng-container>\n </ul>\n}\n<ng-template #contentTpl><ng-content></ng-content></ng-template>\n" }]
|
|
12
|
+
}], propDecorators: { linkList: [{
|
|
13
|
+
type: Input,
|
|
14
|
+
args: [{ transform: inputToBoolean }]
|
|
15
|
+
}], linkSubList: [{
|
|
16
|
+
type: Input,
|
|
17
|
+
args: [{ transform: inputToBoolean }]
|
|
18
|
+
}], multiline: [{
|
|
19
|
+
type: Input,
|
|
20
|
+
args: [{ transform: inputToBoolean }]
|
|
21
|
+
}] } });
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0L2xpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC9saXN0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7QUFTNUQsTUFBTSxPQUFPLGVBQWU7OEdBQWYsZUFBZTtrR0FBZixlQUFlLHdGQUtOLGNBQWMsK0NBTWQsY0FBYyx5Q0FNZCxjQUFjLDZCQzVCcEMsNmRBYUEsNENESlksZ0JBQWdCOzsyRkFFZixlQUFlO2tCQVAzQixTQUFTO2lDQUNJLElBQUksWUFDTixTQUFTLG1CQUVGLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxnQkFBZ0IsQ0FBQzs4QkFPVyxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxXQUFXO3NCQUFoRCxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxTQUFTO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1saXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdExpc3RDb21wb25lbnQge1xuICAvKipcbiAgICogQWRkICdsaW5rLWxpc3QnIGNsYXNzIGZvciBuYXZpZ2F0aW9uIG1lbnVcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgbGlua0xpc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgJ2xpbmstc3VibGlzdCcgY2xhc3MgZm9yIG5hdmlnYXRpb24gbWVudVxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBsaW5rU3ViTGlzdD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCAnbXVsdGlsaW5lJyBjbGFzcyBmb3Igd3JhcHBlclxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBtdWx0aWxpbmU/OiBib29sZWFuO1xufVxuIiwiQGlmICghbGlua1N1Ykxpc3QpIHtcbiAgPGRpdiBbY2xhc3MubXVsdGlsaW5lXT1cIm11bHRpbGluZVwiIFtjbGFzc109XCJsaW5rTGlzdCA/ICdsaW5rLWxpc3Qtd3JhcHBlcicgOiAnaXQtbGlzdC13cmFwcGVyJ1wiPlxuICAgIDx1bCBbY2xhc3NdPVwibGlua0xpc3QgPyAnbGluay1saXN0JyA6ICdpdC1saXN0J1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3VsPlxuICA8L2Rpdj5cbn1cbkBpZiAobGlua1N1Ykxpc3QpIHtcbiAgPHVsIGNsYXNzPVwibGluay1zdWJsaXN0XCI+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUcGxcIj48L25nLWNvbnRhaW5lcj5cbiAgPC91bD5cbn1cbjxuZy10ZW1wbGF0ZSAjY29udGVudFRwbD48bmctY29udGVudD48L25nLWNvbnRlbnQ+PC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { ItLinkComponent } from '../../link/link.component';
|
|
3
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
4
|
+
import { inputToBoolean } from '../../../../utils/coercion';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class ItListItemComponent extends ItLinkComponent {
|
|
7
|
+
get itemClass() {
|
|
8
|
+
let itemClass = 'list-item';
|
|
9
|
+
if (this.disabled) {
|
|
10
|
+
itemClass += ` disabled`;
|
|
11
|
+
}
|
|
12
|
+
if (this.active) {
|
|
13
|
+
itemClass += ` active`;
|
|
14
|
+
}
|
|
15
|
+
if (this.large) {
|
|
16
|
+
itemClass += ` large`;
|
|
17
|
+
}
|
|
18
|
+
if (this.iconLeft) {
|
|
19
|
+
itemClass += ` icon-left`;
|
|
20
|
+
}
|
|
21
|
+
if (this.iconRight) {
|
|
22
|
+
itemClass += ` icon-right`;
|
|
23
|
+
}
|
|
24
|
+
if (this.class) {
|
|
25
|
+
itemClass += ` ${this.class}`;
|
|
26
|
+
}
|
|
27
|
+
return itemClass;
|
|
28
|
+
}
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItListItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItListItemComponent, isStandalone: true, selector: "it-list-item", inputs: { active: ["active", "active", inputToBoolean], large: "large", iconLeft: ["iconLeft", "iconLeft", inputToBoolean], iconRight: ["iconRight", "iconRight", inputToBoolean], 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 @if (avatar) {\n <div class=\"avatar size-lg\">\n <img [attr.src]=\"avatar\" alt=\"avatar\" />\n </div>\n }\n\n @if (image) {\n <div class=\"it-thumb\">\n <img [attr.src]=\"image\" alt=\"thumb\" />\n </div>\n }\n\n <div class=\"it-right-zone\">\n <ng-content></ng-content>\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 @if (!href) {\n <div [class]=\"itemClass\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n } @else {\n <it-link [class]=\"itemClass\" [href]=\"href\" [externalLink]=\"!!externalLink\" [disabled]=\"!!disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </it-link>\n }\n</li>\n", styles: [".metadata:empty,.it-rounded-icon:empty{display:none}:host ::ng-deep it-icon+.it-multiple{display:none!important}:host ::ng-deep .list-item-title-icon-wrapper+.it-multiple{display:none!important}:host ::ng-deep p+.it-multiple{display:none!important}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ItLinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
31
|
+
}
|
|
32
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItListItemComponent, decorators: [{
|
|
33
|
+
type: Component,
|
|
34
|
+
args: [{ standalone: true, selector: 'it-list-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, ItLinkComponent], template: "<li>\n <ng-template #content>\n <div class=\"it-rounded-icon\">\n <ng-content select=\"[icon]\"></ng-content>\n </div>\n\n @if (avatar) {\n <div class=\"avatar size-lg\">\n <img [attr.src]=\"avatar\" alt=\"avatar\" />\n </div>\n }\n\n @if (image) {\n <div class=\"it-thumb\">\n <img [attr.src]=\"image\" alt=\"thumb\" />\n </div>\n }\n\n <div class=\"it-right-zone\">\n <ng-content></ng-content>\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 @if (!href) {\n <div [class]=\"itemClass\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </div>\n } @else {\n <it-link [class]=\"itemClass\" [href]=\"href\" [externalLink]=\"!!externalLink\" [disabled]=\"!!disabled\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </it-link>\n }\n</li>\n", styles: [".metadata:empty,.it-rounded-icon:empty{display:none}:host ::ng-deep it-icon+.it-multiple{display:none!important}:host ::ng-deep .list-item-title-icon-wrapper+.it-multiple{display:none!important}:host ::ng-deep p+.it-multiple{display:none!important}\n"] }]
|
|
35
|
+
}], propDecorators: { active: [{
|
|
36
|
+
type: Input,
|
|
37
|
+
args: [{ transform: inputToBoolean }]
|
|
38
|
+
}], large: [{
|
|
39
|
+
type: Input
|
|
40
|
+
}], iconLeft: [{
|
|
41
|
+
type: Input,
|
|
42
|
+
args: [{ transform: inputToBoolean }]
|
|
43
|
+
}], iconRight: [{
|
|
44
|
+
type: Input,
|
|
45
|
+
args: [{ transform: inputToBoolean }]
|
|
46
|
+
}], avatar: [{
|
|
47
|
+
type: Input
|
|
48
|
+
}], image: [{
|
|
49
|
+
type: Input
|
|
50
|
+
}] } });
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9saXN0L2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL2xpc3QvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQVU1RCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsZUFBZTtJQWtDdEQsSUFBSSxTQUFTO1FBQ1gsSUFBSSxTQUFTLEdBQUcsV0FBVyxDQUFDO1FBQzVCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ2xCLFNBQVMsSUFBSSxXQUFXLENBQUM7UUFDM0IsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2hCLFNBQVMsSUFBSSxTQUFTLENBQUM7UUFDekIsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQ2YsU0FBUyxJQUFJLFFBQVEsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbEIsU0FBUyxJQUFJLFlBQVksQ0FBQztRQUM1QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDbkIsU0FBUyxJQUFJLGFBQWEsQ0FBQztRQUM3QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDZixTQUFTLElBQUksSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDaEMsQ0FBQztRQUNELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7OEdBdkRVLG1CQUFtQjtrR0FBbkIsbUJBQW1CLHVGQUtWLGNBQWMsc0RBV2QsY0FBYyx5Q0FNZCxjQUFjLHNGQ25DcEMsbW1DQTBDQSxvVEQvQlksZ0JBQWdCLG9KQUFFLGVBQWU7OzJGQUVoQyxtQkFBbUI7a0JBUi9CLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLGNBQWMsbUJBR1AsdUJBQXVCLENBQUMsTUFBTSxXQUN0QyxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQzs4QkFPTixNQUFNO3NCQUEzQyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLM0IsS0FBSztzQkFBYixLQUFLO2dCQU1nQyxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxTQUFTO3NCQUE5QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFLM0IsTUFBTTtzQkFBZCxLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdExpbmtDb21wb25lbnQgfSBmcm9tICcuLi8uLi9saW5rL2xpbmsuY29tcG9uZW50JztcbmltcG9ydCB7IE5nVGVtcGxhdGVPdXRsZXQgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWxpc3QtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9saXN0LWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtOZ1RlbXBsYXRlT3V0bGV0LCBJdExpbmtDb21wb25lbnRdLFxufSlcbmV4cG9ydCBjbGFzcyBJdExpc3RJdGVtQ29tcG9uZW50IGV4dGVuZHMgSXRMaW5rQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIEFkZCBhY3RpdmUgY2xhc3NcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgYWN0aXZlPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQWRkIGxhcmdlIGNsYXNzXG4gICAqL1xuICBASW5wdXQoKSBsYXJnZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEFkZCBpY29uLWxlZnQgY2xhc3NcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgaWNvbkxlZnQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBZGQgaWNvbi1yaWdodCBjbGFzc1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBpY29uUmlnaHQ/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgYXZhdGFyIHVybFxuICAgKi9cbiAgQElucHV0KCkgYXZhdGFyOiBVUkwgfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0aHVtYiBpbWFnZSB1cmxcbiAgICovXG4gIEBJbnB1dCgpIGltYWdlOiBVUkwgfCB1bmRlZmluZWQ7XG5cbiAgZ2V0IGl0ZW1DbGFzcygpOiBzdHJpbmcge1xuICAgIGxldCBpdGVtQ2xhc3MgPSAnbGlzdC1pdGVtJztcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgaXRlbUNsYXNzICs9IGAgZGlzYWJsZWRgO1xuICAgIH1cbiAgICBpZiAodGhpcy5hY3RpdmUpIHtcbiAgICAgIGl0ZW1DbGFzcyArPSBgIGFjdGl2ZWA7XG4gICAgfVxuICAgIGlmICh0aGlzLmxhcmdlKSB7XG4gICAgICBpdGVtQ2xhc3MgKz0gYCBsYXJnZWA7XG4gICAgfVxuICAgIGlmICh0aGlzLmljb25MZWZ0KSB7XG4gICAgICBpdGVtQ2xhc3MgKz0gYCBpY29uLWxlZnRgO1xuICAgIH1cbiAgICBpZiAodGhpcy5pY29uUmlnaHQpIHtcbiAgICAgIGl0ZW1DbGFzcyArPSBgIGljb24tcmlnaHRgO1xuICAgIH1cbiAgICBpZiAodGhpcy5jbGFzcykge1xuICAgICAgaXRlbUNsYXNzICs9IGAgJHt0aGlzLmNsYXNzfWA7XG4gICAgfVxuICAgIHJldHVybiBpdGVtQ2xhc3M7XG4gIH1cbn1cbiIsIjxsaT5cbiAgPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICAgIDxkaXYgY2xhc3M9XCJpdC1yb3VuZGVkLWljb25cIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltpY29uXVwiPjwvbmctY29udGVudD5cbiAgICA8L2Rpdj5cblxuICAgIEBpZiAoYXZhdGFyKSB7XG4gICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyIHNpemUtbGdcIj5cbiAgICAgICAgPGltZyBbYXR0ci5zcmNdPVwiYXZhdGFyXCIgYWx0PVwiYXZhdGFyXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIEBpZiAoaW1hZ2UpIHtcbiAgICAgIDxkaXYgY2xhc3M9XCJpdC10aHVtYlwiPlxuICAgICAgICA8aW1nIFthdHRyLnNyY109XCJpbWFnZVwiIGFsdD1cInRodW1iXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgIH1cblxuICAgIDxkaXYgY2xhc3M9XCJpdC1yaWdodC16b25lXCI+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYWN0aW9uXVwiPjwvbmctY29udGVudD5cblxuICAgICAgPHNwYW4gY2xhc3M9XCJpdC1tdWx0aXBsZVwiPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIm1ldGFkYXRhXCI+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW21ldGFkYXRhXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9zcGFuPlxuXG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttdWx0aXBsZV1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbiAgQGlmICghaHJlZikge1xuICAgIDxkaXYgW2NsYXNzXT1cIml0ZW1DbGFzc1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbiAgfSBAZWxzZSB7XG4gICAgPGl0LWxpbmsgW2NsYXNzXT1cIml0ZW1DbGFzc1wiIFtocmVmXT1cImhyZWZcIiBbZXh0ZXJuYWxMaW5rXT1cIiEhZXh0ZXJuYWxMaW5rXCIgW2Rpc2FibGVkXT1cIiEhZGlzYWJsZWRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9pdC1saW5rPlxuICB9XG48L2xpPlxuIl19
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { ItListComponent } from './list/list.component';
|
|
3
|
+
import { ItListItemComponent } from './list-item/list-item.component';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
const listComponents = [ItListComponent, ItListItemComponent];
|
|
6
|
+
export class ItListModule {
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.1.2", ngImport: i0, type: ItListModule, imports: [ItListComponent, ItListItemComponent], exports: [ItListComponent, ItListItemComponent] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItListModule }); }
|
|
10
|
+
}
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItListModule, decorators: [{
|
|
12
|
+
type: NgModule,
|
|
13
|
+
args: [{
|
|
14
|
+
imports: listComponents,
|
|
15
|
+
exports: listComponents,
|
|
16
|
+
}]
|
|
17
|
+
}] });
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0Lm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFdEUsTUFBTSxjQUFjLEdBQUcsQ0FBQyxlQUFlLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztBQU05RCxNQUFNLE9BQU8sWUFBWTs4R0FBWixZQUFZOytHQUFaLFlBQVksWUFORCxlQUFlLEVBQUUsbUJBQW1CLGFBQXBDLGVBQWUsRUFBRSxtQkFBbUI7K0dBTS9DLFlBQVk7OzJGQUFaLFlBQVk7a0JBSnhCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLGNBQWM7b0JBQ3ZCLE9BQU8sRUFBRSxjQUFjO2lCQUN4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdExpc3RDb21wb25lbnQgfSBmcm9tICcuL2xpc3QvbGlzdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuXG5jb25zdCBsaXN0Q29tcG9uZW50cyA9IFtJdExpc3RDb21wb25lbnQsIEl0TGlzdEl0ZW1Db21wb25lbnRdO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBsaXN0Q29tcG9uZW50cyxcbiAgZXhwb3J0czogbGlzdENvbXBvbmVudHMsXG59KVxuZXhwb3J0IGNsYXNzIEl0TGlzdE1vZHVsZSB7fVxuIl19
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { ItAbstractComponent } from '../../../abstracts/abstract.component';
|
|
3
|
+
import { Modal } from 'bootstrap-italia';
|
|
4
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
5
|
+
import { inputToBoolean } from '../../../utils/coercion';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@ngx-translate/core";
|
|
8
|
+
/**
|
|
9
|
+
* Modal windows
|
|
10
|
+
* @description To show featured content, notifications to users, or personalized content.
|
|
11
|
+
*/
|
|
12
|
+
export class ItModalComponent extends ItAbstractComponent {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* Show/Hide close button on header
|
|
17
|
+
* @default true
|
|
18
|
+
*/
|
|
19
|
+
this.closeButton = true;
|
|
20
|
+
/**
|
|
21
|
+
* To have modals that appear with fades
|
|
22
|
+
* @default true
|
|
23
|
+
*/
|
|
24
|
+
this.fade = true;
|
|
25
|
+
/**
|
|
26
|
+
* Includes a modal-backdrop element. Alternatively, specify static for a backdrop which doesn’t close the modal when clicked.
|
|
27
|
+
* @default true
|
|
28
|
+
*/
|
|
29
|
+
this.backdrop = true;
|
|
30
|
+
/**
|
|
31
|
+
* Puts the focus on the modal when initialized.
|
|
32
|
+
* @default true
|
|
33
|
+
*/
|
|
34
|
+
this.focus = true;
|
|
35
|
+
/**
|
|
36
|
+
* Closes the modal when escape key is pressed.
|
|
37
|
+
* @default true
|
|
38
|
+
*/
|
|
39
|
+
this.keyboard = true;
|
|
40
|
+
/**
|
|
41
|
+
* This event fires immediately when the instance method show is called.
|
|
42
|
+
*/
|
|
43
|
+
this.showEvent = new EventEmitter();
|
|
44
|
+
/**
|
|
45
|
+
* This event fires when the modal has been made visible to the user (it will wait for CSS transitions to complete).
|
|
46
|
+
*/
|
|
47
|
+
this.shownEvent = new EventEmitter();
|
|
48
|
+
/**
|
|
49
|
+
* This event is raised immediately when the instance method hide has been called.
|
|
50
|
+
*/
|
|
51
|
+
this.hideEvent = new EventEmitter();
|
|
52
|
+
/**
|
|
53
|
+
* This event fires when the modal has finished hiding from the user (it will wait for CSS transitions to complete).
|
|
54
|
+
*/
|
|
55
|
+
this.hiddenEvent = new EventEmitter();
|
|
56
|
+
/**
|
|
57
|
+
* This event is fired when the modal is displayed, its background is static and a click outside the modal or a press
|
|
58
|
+
* of the esc key occurs and data-bs-keyboard is set to false.
|
|
59
|
+
*/
|
|
60
|
+
this.hidePreventedEvent = new EventEmitter();
|
|
61
|
+
}
|
|
62
|
+
ngAfterViewInit() {
|
|
63
|
+
super.ngAfterViewInit();
|
|
64
|
+
this._renderer.removeAttribute(this._elementRef.nativeElement, 'title');
|
|
65
|
+
if (this.modalElement) {
|
|
66
|
+
const element = this.modalElement.nativeElement;
|
|
67
|
+
this.modal = Modal.getOrCreateInstance(element, {
|
|
68
|
+
...this.options,
|
|
69
|
+
backdrop: this.backdrop === 'static' ? 'static' : this.backdrop,
|
|
70
|
+
focus: this.focus,
|
|
71
|
+
keyboard: this.keyboard,
|
|
72
|
+
});
|
|
73
|
+
element.addEventListener('show.bs.modal', event => this.showEvent.emit(event));
|
|
74
|
+
element.addEventListener('shown.bs.modal', event => this.shownEvent.emit(event));
|
|
75
|
+
element.addEventListener('hide.bs.modal', event => this.hideEvent.emit(event));
|
|
76
|
+
element.addEventListener('hidden.bs.modal', event => this.hiddenEvent.emit(event));
|
|
77
|
+
element.addEventListener('hidePrevented.bs.modal', event => this.hidePreventedEvent.emit(event));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
get modalClass() {
|
|
81
|
+
let modalClass = 'modal';
|
|
82
|
+
if (this.fade) {
|
|
83
|
+
modalClass += ` fade`;
|
|
84
|
+
}
|
|
85
|
+
if (this.alertModal) {
|
|
86
|
+
modalClass += ` alert-modal`;
|
|
87
|
+
}
|
|
88
|
+
if (this.dialogLinkList) {
|
|
89
|
+
modalClass += ` it-dialog-link-list`;
|
|
90
|
+
}
|
|
91
|
+
if (this.popconfirm) {
|
|
92
|
+
modalClass += ` popconfirm-modal`;
|
|
93
|
+
}
|
|
94
|
+
if (this.scrollable) {
|
|
95
|
+
modalClass += ` it-dialog-scrollable`;
|
|
96
|
+
}
|
|
97
|
+
return modalClass;
|
|
98
|
+
}
|
|
99
|
+
get dialogClass() {
|
|
100
|
+
let dialogClass = 'modal-dialog';
|
|
101
|
+
if (this.alignment) {
|
|
102
|
+
dialogClass += ` modal-dialog-${this.alignment}`;
|
|
103
|
+
}
|
|
104
|
+
if (this.size) {
|
|
105
|
+
dialogClass += ` modal-${this.size}`;
|
|
106
|
+
}
|
|
107
|
+
return dialogClass;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Manually activate/deactivate a modal. Returns to the caller before the modal has actually been shown or hidden
|
|
111
|
+
*/
|
|
112
|
+
toggle() {
|
|
113
|
+
this.modal?.toggle();
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Manually open a modal. Returns to the caller before the modal has actually been displayed
|
|
117
|
+
*/
|
|
118
|
+
show() {
|
|
119
|
+
this.modal?.show();
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Manually hide a modal. Returns to the caller before the modal has actually been hidden
|
|
123
|
+
*/
|
|
124
|
+
hide() {
|
|
125
|
+
this.modal?.hide();
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Manually reposition the modal if the height of the modal changes when it is opened (in case a scroll bar appears).
|
|
129
|
+
*/
|
|
130
|
+
handleUpdate() {
|
|
131
|
+
this.modal?.handleUpdate();
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Destroys the modal of an element.
|
|
135
|
+
*/
|
|
136
|
+
dispose() {
|
|
137
|
+
this.modal?.dispose();
|
|
138
|
+
}
|
|
139
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItModalComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
140
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: ItModalComponent, isStandalone: true, selector: "it-modal", inputs: { closeButton: ["closeButton", "closeButton", inputToBoolean], alertModal: ["alertModal", "alertModal", inputToBoolean], dialogLinkList: ["dialogLinkList", "dialogLinkList", inputToBoolean], popconfirm: ["popconfirm", "popconfirm", inputToBoolean], scrollable: ["scrollable", "scrollable", inputToBoolean], fade: ["fade", "fade", inputToBoolean], alignment: "alignment", size: "size", backdrop: "backdrop", focus: ["focus", "focus", inputToBoolean], keyboard: ["keyboard", "keyboard", inputToBoolean], footerShadow: ["footerShadow", "footerShadow", inputToBoolean], options: "options" }, outputs: { showEvent: "showEvent", shownEvent: "shownEvent", hideEvent: "hideEvent", hiddenEvent: "hiddenEvent", hidePreventedEvent: "hidePreventedEvent" }, viewQueries: [{ propertyName: "modalElement", first: true, predicate: ["modalElement"], descendants: true }], exportAs: ["itModal"], usesInheritance: true, ngImport: i0, template: "<div\n #modalElement\n [id]=\"id\"\n [class]=\"modalClass\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id + '-title'\"\n [attr.aria-describedby]=\"id + '-description'\">\n <div [class]=\"dialogClass\">\n <div class=\"modal-content\" role=\"document\">\n <div class=\"modal-header\">\n <ng-content select=\"[beforeTitle]\"></ng-content>\n\n <h2 class=\"modal-title h5\" id=\"{{ id }}-title\">\n <ng-content select=\"[modalTitle]\"></ng-content>\n </h2>\n\n @if (closeButton) {\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" [attr.aria-label]=\"'it.core.close-modal' | translate\"></button>\n }\n </div>\n\n <div class=\"modal-body\">\n <div id=\"{{ id }}-description\">\n <ng-content select=\"[description]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <div class=\"modal-footer\" [class.modal-footer-shadow]=\"footerShadow\">\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: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
141
|
+
}
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: ItModalComponent, decorators: [{
|
|
143
|
+
type: Component,
|
|
144
|
+
args: [{ standalone: true, selector: 'it-modal', exportAs: 'itModal', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule], template: "<div\n #modalElement\n [id]=\"id\"\n [class]=\"modalClass\"\n tabindex=\"-1\"\n role=\"dialog\"\n aria-hidden=\"true\"\n [attr.aria-labelledby]=\"id + '-title'\"\n [attr.aria-describedby]=\"id + '-description'\">\n <div [class]=\"dialogClass\">\n <div class=\"modal-content\" role=\"document\">\n <div class=\"modal-header\">\n <ng-content select=\"[beforeTitle]\"></ng-content>\n\n <h2 class=\"modal-title h5\" id=\"{{ id }}-title\">\n <ng-content select=\"[modalTitle]\"></ng-content>\n </h2>\n\n @if (closeButton) {\n <button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" [attr.aria-label]=\"'it.core.close-modal' | translate\"></button>\n }\n </div>\n\n <div class=\"modal-body\">\n <div id=\"{{ id }}-description\">\n <ng-content select=\"[description]\"></ng-content>\n </div>\n <ng-content></ng-content>\n </div>\n\n <div class=\"modal-footer\" [class.modal-footer-shadow]=\"footerShadow\">\n <ng-content select=\"[footer]\"></ng-content>\n </div>\n </div>\n </div>\n</div>\n", styles: [".modal-footer:empty{display:none}\n"] }]
|
|
145
|
+
}], propDecorators: { closeButton: [{
|
|
146
|
+
type: Input,
|
|
147
|
+
args: [{ transform: inputToBoolean }]
|
|
148
|
+
}], alertModal: [{
|
|
149
|
+
type: Input,
|
|
150
|
+
args: [{ transform: inputToBoolean }]
|
|
151
|
+
}], dialogLinkList: [{
|
|
152
|
+
type: Input,
|
|
153
|
+
args: [{ transform: inputToBoolean }]
|
|
154
|
+
}], popconfirm: [{
|
|
155
|
+
type: Input,
|
|
156
|
+
args: [{ transform: inputToBoolean }]
|
|
157
|
+
}], scrollable: [{
|
|
158
|
+
type: Input,
|
|
159
|
+
args: [{ transform: inputToBoolean }]
|
|
160
|
+
}], fade: [{
|
|
161
|
+
type: Input,
|
|
162
|
+
args: [{ transform: inputToBoolean }]
|
|
163
|
+
}], alignment: [{
|
|
164
|
+
type: Input
|
|
165
|
+
}], size: [{
|
|
166
|
+
type: Input
|
|
167
|
+
}], backdrop: [{
|
|
168
|
+
type: Input
|
|
169
|
+
}], focus: [{
|
|
170
|
+
type: Input,
|
|
171
|
+
args: [{ transform: inputToBoolean }]
|
|
172
|
+
}], keyboard: [{
|
|
173
|
+
type: Input,
|
|
174
|
+
args: [{ transform: inputToBoolean }]
|
|
175
|
+
}], footerShadow: [{
|
|
176
|
+
type: Input,
|
|
177
|
+
args: [{ transform: inputToBoolean }]
|
|
178
|
+
}], options: [{
|
|
179
|
+
type: Input
|
|
180
|
+
}], showEvent: [{
|
|
181
|
+
type: Output
|
|
182
|
+
}], shownEvent: [{
|
|
183
|
+
type: Output
|
|
184
|
+
}], hideEvent: [{
|
|
185
|
+
type: Output
|
|
186
|
+
}], hiddenEvent: [{
|
|
187
|
+
type: Output
|
|
188
|
+
}], hidePreventedEvent: [{
|
|
189
|
+
type: Output
|
|
190
|
+
}], modalElement: [{
|
|
191
|
+
type: ViewChild,
|
|
192
|
+
args: ['modalElement', { static: false }]
|
|
193
|
+
}] } });
|
|
194
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9jb3JlL21vZGFsL21vZGFsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvY29yZS9tb2RhbC9tb2RhbC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWlCLHVCQUF1QixFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEksT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDNUUsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUV0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUV6RDs7O0dBR0c7QUFVSCxNQUFNLE9BQU8sZ0JBQWlCLFNBQVEsbUJBQW1CO0lBVHpEOztRQVVFOzs7V0FHRztRQUNtQyxnQkFBVyxHQUFZLElBQUksQ0FBQztRQTBCbEU7OztXQUdHO1FBQ21DLFNBQUksR0FBYSxJQUFJLENBQUM7UUFpQjVEOzs7V0FHRztRQUNNLGFBQVEsR0FBdUIsSUFBSSxDQUFDO1FBRTdDOzs7V0FHRztRQUNtQyxVQUFLLEdBQVksSUFBSSxDQUFDO1FBRTVEOzs7V0FHRztRQUNtQyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBYS9EOztXQUVHO1FBQ2MsY0FBUyxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJFOztXQUVHO1FBQ2MsZUFBVSxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXRFOztXQUVHO1FBQ2MsY0FBUyxHQUF3QixJQUFJLFlBQVksRUFBRSxDQUFDO1FBRXJFOztXQUVHO1FBQ2MsZ0JBQVcsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUV2RTs7O1dBR0c7UUFDYyx1QkFBa0IsR0FBd0IsSUFBSSxZQUFZLEVBQUUsQ0FBQztLQTRGL0U7SUF0RlUsZUFBZTtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFeEUsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUM7WUFDaEQsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFO2dCQUM5QyxHQUFHLElBQUksQ0FBQyxPQUFPO2dCQUNmLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUTtnQkFDL0QsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLO2dCQUNqQixRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVE7YUFDeEIsQ0FBQyxDQUFDO1lBRUgsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDL0UsT0FBTyxDQUFDLGdCQUFnQixDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUNqRixPQUFPLENBQUMsZ0JBQWdCLENBQUMsZUFBZSxFQUFFLEtBQUssQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztZQUMvRSxPQUFPLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLEVBQUUsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBQ25GLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRyxDQUFDO0lBQ0gsQ0FBQztJQUVELElBQWMsVUFBVTtRQUN0QixJQUFJLFVBQVUsR0FBRyxPQUFPLENBQUM7UUFDekIsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxVQUFVLElBQUksT0FBTyxDQUFDO1FBQ3hCLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixVQUFVLElBQUksY0FBYyxDQUFDO1FBQy9CLENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixVQUFVLElBQUksc0JBQXNCLENBQUM7UUFDdkMsQ0FBQztRQUNELElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3BCLFVBQVUsSUFBSSxtQkFBbUIsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDcEIsVUFBVSxJQUFJLHVCQUF1QixDQUFDO1FBQ3hDLENBQUM7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBRUQsSUFBYyxXQUFXO1FBQ3ZCLElBQUksV0FBVyxHQUFHLGNBQWMsQ0FBQztRQUNqQyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixXQUFXLElBQUksaUJBQWlCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUNuRCxDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDZCxXQUFXLElBQUksVUFBVSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkMsQ0FBQztRQUNELE9BQU8sV0FBVyxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU07UUFDWCxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNJLElBQUk7UUFDVCxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRDs7T0FFRztJQUNJLFlBQVk7UUFDakIsSUFBSSxDQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxPQUFPO1FBQ1osSUFBSSxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUN4QixDQUFDOzhHQXBNVSxnQkFBZ0I7a0dBQWhCLGdCQUFnQixrR0FLUCxjQUFjLDRDQU1kLGNBQWMsd0RBTWQsY0FBYyw0Q0FNZCxjQUFjLDRDQU1kLGNBQWMsMEJBTWQsY0FBYyx5RkEyQmQsY0FBYyxzQ0FNZCxjQUFjLGtEQU1kLGNBQWMsMFdDOUZwQyxnbkNBb0NBLDRGRGxCWSxlQUFlOzsyRkFFZCxnQkFBZ0I7a0JBVDVCLFNBQVM7aUNBQ0ksSUFBSSxZQUNOLFVBQVUsWUFHVixTQUFTLG1CQUNGLHVCQUF1QixDQUFDLE1BQU0sV0FDdEMsQ0FBQyxlQUFlLENBQUM7OEJBT1ksV0FBVztzQkFBaEQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsVUFBVTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsY0FBYztzQkFBbkQsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsVUFBVTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsVUFBVTtzQkFBL0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBTUUsSUFBSTtzQkFBekMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBUzNCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBTUcsSUFBSTtzQkFBWixLQUFLO2dCQU1HLFFBQVE7c0JBQWhCLEtBQUs7Z0JBTWdDLEtBQUs7c0JBQTFDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQU1FLFFBQVE7c0JBQTdDLEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQU1FLFlBQVk7c0JBQWpELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO2dCQUszQixPQUFPO3NCQUFmLEtBQUs7Z0JBS1csU0FBUztzQkFBekIsTUFBTTtnQkFLVSxVQUFVO3NCQUExQixNQUFNO2dCQUtVLFNBQVM7c0JBQXpCLE1BQU07Z0JBS1UsV0FBVztzQkFBM0IsTUFBTTtnQkFNVSxrQkFBa0I7c0JBQWxDLE1BQU07Z0JBSStDLFlBQVk7c0JBQWpFLFNBQVM7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFmdGVyVmlld0luaXQsIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdEFic3RyYWN0Q29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4vYWJzdHJhY3RzL2Fic3RyYWN0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ2Jvb3RzdHJhcC1pdGFsaWEnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBNb2RhbCBhcyBCU01vZGFsIH0gZnJvbSAnYm9vdHN0cmFwJztcbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuXG4vKipcbiAqIE1vZGFsIHdpbmRvd3NcbiAqIEBkZXNjcmlwdGlvbiBUbyBzaG93IGZlYXR1cmVkIGNvbnRlbnQsIG5vdGlmaWNhdGlvbnMgdG8gdXNlcnMsIG9yIHBlcnNvbmFsaXplZCBjb250ZW50LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgc2VsZWN0b3I6ICdpdC1tb2RhbCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIGV4cG9ydEFzOiAnaXRNb2RhbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBpbXBvcnRzOiBbVHJhbnNsYXRlTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSXRNb2RhbENvbXBvbmVudCBleHRlbmRzIEl0QWJzdHJhY3RDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqIFNob3cvSGlkZSBjbG9zZSBidXR0b24gb24gaGVhZGVyXG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgY2xvc2VCdXR0b246IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBUbyBjb3JyZWN0bHkgZm9ybWF0IHRoZSBjb250ZW50cyBvZiB0aGUgbW9kYWwgd2l0aCBpY29uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGFsZXJ0TW9kYWw/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUbyBjb3JyZWN0bHkgZm9ybWF0IHRoZSBjb250ZW50cyBvZiB0aGUgbW9kYWwgd2l0aCBMaW5rIExpc3RcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZGlhbG9nTGlua0xpc3Q/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNb2RhbCB0eXBlIFBvcGNvbmZpcm0gY2FuIGJlIHVzZWQgZm9yIHNob3J0IGNvbmZpcm1hdGlvbiBtZXNzYWdlcy5cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgcG9wY29uZmlybT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFlvdSBjYW4gY2hvb3NlIHRvIHVzZSBhIHNjcm9sbCBpbnNpZGUgdGhlIG1vZGFsLCBrZWVwaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3RlciBvZiB0aGUgbW9kYWwgYWx3YXlzIHZpc2libGVcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc2Nyb2xsYWJsZT86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFRvIGhhdmUgbW9kYWxzIHRoYXQgYXBwZWFyIHdpdGggZmFkZXNcbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBmYWRlPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIE1vZGFsIGFsaWdubWVudFxuICAgKiAtIDxiPmNlbnRlcmVkPC9iPjogdG8gdmVydGljYWxseSBjZW50ZXIgdGhlIG1vZGFsXG4gICAqIC0gPGI+bGVmdDwvYj46IHRvIGxlZnQtYWxpZ24gdGhlIG1vZGFsXG4gICAqIC0gPGI+cmlnaHQ8L2I+OiB0byByaWdodC1hbGlnbiB0aGUgbW9kYWxcbiAgICogQGRlZmF1bHQgdW5kZWZpbmVkXG4gICAqL1xuICBASW5wdXQoKSBhbGlnbm1lbnQ6ICdjZW50ZXJlZCcgfCAnbGVmdCcgfCAncmlnaHQnIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kYWwgc2l6ZVxuICAgKiBAZGVmYXVsdCB1bmRlZmluZWRcbiAgICovXG4gIEBJbnB1dCgpIHNpemU6ICdzbScgfCAnbGcnIHwgJ3hsJyB8IHVuZGVmaW5lZDtcblxuICAvKipcbiAgICogSW5jbHVkZXMgYSBtb2RhbC1iYWNrZHJvcCBlbGVtZW50LiBBbHRlcm5hdGl2ZWx5LCBzcGVjaWZ5IHN0YXRpYyBmb3IgYSBiYWNrZHJvcCB3aGljaCBkb2VzbuKAmXQgY2xvc2UgdGhlIG1vZGFsIHdoZW4gY2xpY2tlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KCkgYmFja2Ryb3A6ICdzdGF0aWMnIHwgYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFB1dHMgdGhlIGZvY3VzIG9uIHRoZSBtb2RhbCB3aGVuIGluaXRpYWxpemVkLlxuICAgKiBAZGVmYXVsdCB0cnVlXG4gICAqL1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGZvY3VzOiBib29sZWFuID0gdHJ1ZTtcblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBtb2RhbCB3aGVuIGVzY2FwZSBrZXkgaXMgcHJlc3NlZC5cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBrZXlib2FyZDogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFRvIGJldHRlciBkaXN0aW5ndWlzaCB0aGUgZm9vdGVyIGVsZW1lbnQgd2l0aCBhIHNoYWRvd1xuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBmb290ZXJTaGFkb3c/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBNb2RhbCBvcHRpb25zXG4gICAqL1xuICBASW5wdXQoKSBvcHRpb25zPzogUGFydGlhbDxCU01vZGFsLk9wdGlvbnM+O1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIGltbWVkaWF0ZWx5IHdoZW4gdGhlIGluc3RhbmNlIG1ldGhvZCBzaG93IGlzIGNhbGxlZC5cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgc2hvd0V2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGZpcmVzIHdoZW4gdGhlIG1vZGFsIGhhcyBiZWVuIG1hZGUgdmlzaWJsZSB0byB0aGUgdXNlciAoaXQgd2lsbCB3YWl0IGZvciBDU1MgdHJhbnNpdGlvbnMgdG8gY29tcGxldGUpLlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBzaG93bkV2ZW50OiBFdmVudEVtaXR0ZXI8RXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIC8qKlxuICAgKiBUaGlzIGV2ZW50IGlzIHJhaXNlZCBpbW1lZGlhdGVseSB3aGVuIHRoZSBpbnN0YW5jZSBtZXRob2QgaGlkZSBoYXMgYmVlbiBjYWxsZWQuXG4gICAqL1xuICBAT3V0cHV0KCkgcHVibGljIGhpZGVFdmVudDogRXZlbnRFbWl0dGVyPEV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICAvKipcbiAgICogVGhpcyBldmVudCBmaXJlcyB3aGVuIHRoZSBtb2RhbCBoYXMgZmluaXNoZWQgaGlkaW5nIGZyb20gdGhlIHVzZXIgKGl0IHdpbGwgd2FpdCBmb3IgQ1NTIHRyYW5zaXRpb25zIHRvIGNvbXBsZXRlKS5cbiAgICovXG4gIEBPdXRwdXQoKSBwdWJsaWMgaGlkZGVuRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgLyoqXG4gICAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgd2hlbiB0aGUgbW9kYWwgaXMgZGlzcGxheWVkLCBpdHMgYmFja2dyb3VuZCBpcyBzdGF0aWMgYW5kIGEgY2xpY2sgb3V0c2lkZSB0aGUgbW9kYWwgb3IgYSBwcmVzc1xuICAgKiBvZiB0aGUgZXNjIGtleSBvY2N1cnMgYW5kIGRhdGEtYnMta2V5Ym9hcmQgaXMgc2V0IHRvIGZhbHNlLlxuICAgKi9cbiAgQE91dHB1dCgpIHB1YmxpYyBoaWRlUHJldmVudGVkRXZlbnQ6IEV2ZW50RW1pdHRlcjxFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgcHJpdmF0ZSBtb2RhbD86IE1vZGFsO1xuXG4gIEBWaWV3Q2hpbGQoJ21vZGFsRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KSBwcml2YXRlIG1vZGFsRWxlbWVudD86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gIG92ZXJyaWRlIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICB0aGlzLl9yZW5kZXJlci5yZW1vdmVBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndGl0bGUnKTtcblxuICAgIGlmICh0aGlzLm1vZGFsRWxlbWVudCkge1xuICAgICAgY29uc3QgZWxlbWVudCA9IHRoaXMubW9kYWxFbGVtZW50Lm5hdGl2ZUVsZW1lbnQ7XG4gICAgICB0aGlzLm1vZGFsID0gTW9kYWwuZ2V0T3JDcmVhdGVJbnN0YW5jZShlbGVtZW50LCB7XG4gICAgICAgIC4uLnRoaXMub3B0aW9ucyxcbiAgICAgICAgYmFja2Ryb3A6IHRoaXMuYmFja2Ryb3AgPT09ICdzdGF0aWMnID8gJ3N0YXRpYycgOiB0aGlzLmJhY2tkcm9wLFxuICAgICAgICBmb2N1czogdGhpcy5mb2N1cyxcbiAgICAgICAga2V5Ym9hcmQ6IHRoaXMua2V5Ym9hcmQsXG4gICAgICB9KTtcblxuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93LmJzLm1vZGFsJywgZXZlbnQgPT4gdGhpcy5zaG93RXZlbnQuZW1pdChldmVudCkpO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdzaG93bi5icy5tb2RhbCcsIGV2ZW50ID0+IHRoaXMuc2hvd25FdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGUuYnMubW9kYWwnLCBldmVudCA9PiB0aGlzLmhpZGVFdmVudC5lbWl0KGV2ZW50KSk7XG4gICAgICBlbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2hpZGRlbi5icy5tb2RhbCcsIGV2ZW50ID0+IHRoaXMuaGlkZGVuRXZlbnQuZW1pdChldmVudCkpO1xuICAgICAgZWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdoaWRlUHJldmVudGVkLmJzLm1vZGFsJywgZXZlbnQgPT4gdGhpcy5oaWRlUHJldmVudGVkRXZlbnQuZW1pdChldmVudCkpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBnZXQgbW9kYWxDbGFzcygpOiBzdHJpbmcge1xuICAgIGxldCBtb2RhbENsYXNzID0gJ21vZGFsJztcbiAgICBpZiAodGhpcy5mYWRlKSB7XG4gICAgICBtb2RhbENsYXNzICs9IGAgZmFkZWA7XG4gICAgfVxuICAgIGlmICh0aGlzLmFsZXJ0TW9kYWwpIHtcbiAgICAgIG1vZGFsQ2xhc3MgKz0gYCBhbGVydC1tb2RhbGA7XG4gICAgfVxuICAgIGlmICh0aGlzLmRpYWxvZ0xpbmtMaXN0KSB7XG4gICAgICBtb2RhbENsYXNzICs9IGAgaXQtZGlhbG9nLWxpbmstbGlzdGA7XG4gICAgfVxuICAgIGlmICh0aGlzLnBvcGNvbmZpcm0pIHtcbiAgICAgIG1vZGFsQ2xhc3MgKz0gYCBwb3Bjb25maXJtLW1vZGFsYDtcbiAgICB9XG4gICAgaWYgKHRoaXMuc2Nyb2xsYWJsZSkge1xuICAgICAgbW9kYWxDbGFzcyArPSBgIGl0LWRpYWxvZy1zY3JvbGxhYmxlYDtcbiAgICB9XG4gICAgcmV0dXJuIG1vZGFsQ2xhc3M7XG4gIH1cblxuICBwcm90ZWN0ZWQgZ2V0IGRpYWxvZ0NsYXNzKCk6IHN0cmluZyB7XG4gICAgbGV0IGRpYWxvZ0NsYXNzID0gJ21vZGFsLWRpYWxvZyc7XG4gICAgaWYgKHRoaXMuYWxpZ25tZW50KSB7XG4gICAgICBkaWFsb2dDbGFzcyArPSBgIG1vZGFsLWRpYWxvZy0ke3RoaXMuYWxpZ25tZW50fWA7XG4gICAgfVxuICAgIGlmICh0aGlzLnNpemUpIHtcbiAgICAgIGRpYWxvZ0NsYXNzICs9IGAgbW9kYWwtJHt0aGlzLnNpemV9YDtcbiAgICB9XG4gICAgcmV0dXJuIGRpYWxvZ0NsYXNzO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IGFjdGl2YXRlL2RlYWN0aXZhdGUgYSBtb2RhbC4gUmV0dXJucyB0byB0aGUgY2FsbGVyIGJlZm9yZSB0aGUgbW9kYWwgaGFzIGFjdHVhbGx5IGJlZW4gc2hvd24gb3IgaGlkZGVuXG4gICAqL1xuICBwdWJsaWMgdG9nZ2xlKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWw/LnRvZ2dsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIE1hbnVhbGx5IG9wZW4gYSBtb2RhbC4gUmV0dXJucyB0byB0aGUgY2FsbGVyIGJlZm9yZSB0aGUgbW9kYWwgaGFzIGFjdHVhbGx5IGJlZW4gZGlzcGxheWVkXG4gICAqL1xuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsPy5zaG93KCk7XG4gIH1cblxuICAvKipcbiAgICogTWFudWFsbHkgaGlkZSBhIG1vZGFsLiBSZXR1cm5zIHRvIHRoZSBjYWxsZXIgYmVmb3JlIHRoZSBtb2RhbCBoYXMgYWN0dWFsbHkgYmVlbiBoaWRkZW5cbiAgICovXG4gIHB1YmxpYyBoaWRlKCk6IHZvaWQge1xuICAgIHRoaXMubW9kYWw/LmhpZGUoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYW51YWxseSByZXBvc2l0aW9uIHRoZSBtb2RhbCBpZiB0aGUgaGVpZ2h0IG9mIHRoZSBtb2RhbCBjaGFuZ2VzIHdoZW4gaXQgaXMgb3BlbmVkIChpbiBjYXNlIGEgc2Nyb2xsIGJhciBhcHBlYXJzKS5cbiAgICovXG4gIHB1YmxpYyBoYW5kbGVVcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbD8uaGFuZGxlVXBkYXRlKCk7XG4gIH1cblxuICAvKipcbiAgICogRGVzdHJveXMgdGhlIG1vZGFsIG9mIGFuIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgZGlzcG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsPy5kaXNwb3NlKCk7XG4gIH1cbn1cbiIsIjxkaXZcbiAgI21vZGFsRWxlbWVudFxuICBbaWRdPVwiaWRcIlxuICBbY2xhc3NdPVwibW9kYWxDbGFzc1wiXG4gIHRhYmluZGV4PVwiLTFcIlxuICByb2xlPVwiZGlhbG9nXCJcbiAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImlkICsgJy10aXRsZSdcIlxuICBbYXR0ci5hcmlhLWRlc2NyaWJlZGJ5XT1cImlkICsgJy1kZXNjcmlwdGlvbidcIj5cbiAgPGRpdiBbY2xhc3NdPVwiZGlhbG9nQ2xhc3NcIj5cbiAgICA8ZGl2IGNsYXNzPVwibW9kYWwtY29udGVudFwiIHJvbGU9XCJkb2N1bWVudFwiPlxuICAgICAgPGRpdiBjbGFzcz1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbYmVmb3JlVGl0bGVdXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgIDxoMiBjbGFzcz1cIm1vZGFsLXRpdGxlIGg1XCIgaWQ9XCJ7eyBpZCB9fS10aXRsZVwiPlxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlttb2RhbFRpdGxlXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9oMj5cblxuICAgICAgICBAaWYgKGNsb3NlQnV0dG9uKSB7XG4gICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJidG4tY2xvc2VcIiBkYXRhLWJzLWRpc21pc3M9XCJtb2RhbFwiIFthdHRyLmFyaWEtbGFiZWxdPVwiJ2l0LmNvcmUuY2xvc2UtbW9kYWwnIHwgdHJhbnNsYXRlXCI+PC9idXR0b24+XG4gICAgICAgIH1cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2IGNsYXNzPVwibW9kYWwtYm9keVwiPlxuICAgICAgICA8ZGl2IGlkPVwie3sgaWQgfX0tZGVzY3JpcHRpb25cIj5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGVzY3JpcHRpb25dXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG5cbiAgICAgIDxkaXYgY2xhc3M9XCJtb2RhbC1mb290ZXJcIiBbY2xhc3MubW9kYWwtZm9vdGVyLXNoYWRvd109XCJmb290ZXJTaGFkb3dcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Zvb3Rlcl1cIj48L25nLWNvbnRlbnQ+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|