design-angular-kit 1.0.0-1 → 1.0.0-3
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 +152 -18
- package/assets/i18n/it.json +81 -0
- package/esm2020/lib/abstracts/abstract-form-component.mjs +165 -0
- package/esm2020/lib/abstracts/abstract.component.mjs +20 -0
- package/esm2020/lib/components/core/accordion/accordion.component.mjs +20 -0
- package/esm2020/lib/components/core/alert/alert.component.mjs +29 -0
- package/esm2020/lib/components/core/badge/badge.directive.mjs +34 -0
- package/esm2020/lib/components/core/button/button.directive.mjs +78 -0
- package/esm2020/lib/components/core/callout/callout.component.mjs +84 -0
- package/esm2020/lib/components/core/card/card.component.mjs +58 -0
- package/esm2020/lib/components/core/carousel/carousel/carousel.component.mjs +66 -0
- package/esm2020/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +14 -0
- package/esm2020/lib/components/core/chip/chip.component.mjs +89 -0
- package/esm2020/lib/components/core/collapse/collapse.component.mjs +96 -0
- package/esm2020/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +24 -0
- package/esm2020/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +11 -0
- package/esm2020/lib/components/core/dimmer/dimmer.component.mjs +59 -0
- package/esm2020/lib/components/core/dropdown/dropdown/dropdown.component.mjs +60 -0
- package/esm2020/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +71 -0
- package/esm2020/lib/components/core/forward/forward.directive.mjs +51 -0
- package/esm2020/lib/components/core/link/link.component.mjs +39 -0
- package/esm2020/lib/components/core/list/list/list.component.mjs +13 -0
- package/esm2020/lib/components/core/list/list-item/list-item.component.mjs +36 -0
- package/esm2020/lib/components/core/modal/modal.component.mjs +98 -0
- package/esm2020/lib/components/core/notifications/notifications.component.mjs +66 -0
- package/esm2020/lib/components/core/pagination/pagination.component.mjs +51 -0
- package/esm2020/lib/components/core/popover/popover.directive.mjs +176 -0
- package/esm2020/lib/components/core/progress-bar/progress-bar.component.mjs +34 -0
- package/esm2020/lib/components/core/progress-button/progress-button.component.mjs +27 -0
- package/esm2020/lib/components/core/spinner/spinner.component.mjs +35 -0
- package/esm2020/lib/components/core/tab/tab-container/tab-container.component.mjs +33 -0
- package/esm2020/lib/components/core/tab/tab-item/tab-item.component.mjs +36 -0
- package/esm2020/lib/components/core/table/table.component.mjs +57 -0
- package/esm2020/lib/components/core/tooltip/tooltip.directive.mjs +140 -0
- package/esm2020/lib/components/form/checkbox/checkbox.component.mjs +40 -0
- package/esm2020/lib/components/form/input/input.component.mjs +226 -0
- package/esm2020/lib/components/form/password-input/password-input.component.mjs +112 -0
- package/esm2020/lib/components/form/radio-button/radio-button.component.mjs +53 -0
- package/esm2020/lib/components/form/select/select.component.mjs +62 -0
- package/esm2020/lib/components/form/textarea/textarea.component.mjs +46 -0
- package/esm2020/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +134 -0
- package/esm2020/lib/components/form/upload-file-list/upload-file-list.component.mjs +99 -0
- package/esm2020/lib/components/navigation/back-button/back-button.component.mjs +69 -0
- package/esm2020/lib/components/navigation/back-to-top/back-to-top.component.mjs +39 -0
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +45 -0
- package/esm2020/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +23 -0
- package/esm2020/lib/components/navigation/header/header.component.mjs +61 -0
- package/esm2020/lib/components/utils/icon/icon.component.mjs +54 -0
- package/esm2020/lib/components/utils/not-found-page/not-found-page.component.mjs +13 -0
- package/esm2020/lib/design-angular-kit.module.mjs +32 -132
- package/esm2020/lib/interfaces/core.mjs +16 -0
- package/esm2020/lib/interfaces/form.mjs +2 -0
- package/esm2020/lib/interfaces/icon.mjs +2 -0
- package/esm2020/lib/modules/components.module.mjs +245 -0
- package/esm2020/lib/pipes/mark-matching-text.pipe.mjs +36 -0
- package/esm2020/lib/services/notifications/notifications.service.mjs +122 -0
- package/esm2020/lib/utils/boolean-input.mjs +15 -0
- package/esm2020/lib/utils/file-utils.mjs +65 -0
- package/esm2020/lib/utils/regex.mjs +26 -0
- package/esm2020/lib/validators/it-validators.mjs +131 -0
- package/esm2020/public_api.mjs +62 -36
- package/fesm2015/design-angular-kit.mjs +2856 -2640
- package/fesm2015/design-angular-kit.mjs.map +1 -1
- package/fesm2020/design-angular-kit.mjs +2837 -2640
- package/fesm2020/design-angular-kit.mjs.map +1 -1
- package/lib/abstracts/abstract-form-component.d.ts +84 -0
- package/lib/abstracts/abstract.component.d.ts +14 -0
- package/lib/components/core/accordion/accordion.component.d.ts +16 -0
- package/lib/components/core/alert/alert.component.d.ts +17 -0
- package/lib/components/core/badge/badge.directive.d.ts +16 -0
- package/lib/components/core/button/button.directive.d.ts +38 -0
- package/lib/components/core/callout/callout.component.d.ts +47 -0
- package/lib/components/core/card/card.component.d.ts +41 -0
- package/lib/components/core/carousel/carousel/carousel.component.d.ts +46 -0
- package/lib/components/core/carousel/carousel-item/carousel-item.component.d.ts +10 -0
- package/lib/components/core/chip/chip.component.d.ts +62 -0
- package/lib/components/core/collapse/collapse.component.d.ts +59 -0
- package/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.d.ts +12 -0
- package/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.d.ts +5 -0
- package/lib/components/core/dimmer/dimmer.component.d.ts +24 -0
- package/lib/components/core/dropdown/dropdown/dropdown.component.d.ts +43 -0
- package/lib/components/core/dropdown/dropdown-item/dropdown-item.component.d.ts +44 -0
- package/lib/components/core/forward/forward.directive.d.ts +14 -0
- package/lib/components/core/link/link.component.d.ts +34 -0
- package/lib/components/core/list/list/list.component.d.ts +10 -0
- package/lib/components/core/list/list-item/list-item.component.d.ts +24 -0
- package/lib/components/core/modal/modal.component.d.ts +59 -0
- package/lib/components/core/notifications/notifications.component.d.ts +30 -0
- package/lib/components/core/pagination/pagination.component.d.ts +31 -0
- package/lib/components/core/popover/popover.directive.d.ts +97 -0
- package/lib/components/core/progress-bar/progress-bar.component.d.ts +28 -0
- package/lib/components/core/progress-button/progress-button.component.d.ts +22 -0
- package/lib/components/core/spinner/spinner.component.d.ts +21 -0
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +28 -0
- package/lib/components/core/tab/tab-item/tab-item.component.d.ts +34 -0
- package/lib/components/core/table/table.component.d.ts +54 -0
- package/lib/components/core/tooltip/tooltip.directive.d.ts +80 -0
- package/lib/components/form/checkbox/checkbox.component.d.ts +30 -0
- package/lib/components/form/input/input.component.d.ts +94 -0
- package/lib/components/form/password-input/password-input.component.d.ts +54 -0
- package/lib/components/form/radio-button/radio-button.component.d.ts +29 -0
- package/lib/components/form/select/select.component.d.ts +30 -0
- package/lib/components/form/textarea/textarea.component.d.ts +24 -0
- package/lib/components/form/upload-drag-drop/upload-drag-drop.component.d.ts +53 -0
- package/lib/components/form/upload-file-list/upload-file-list.component.d.ts +57 -0
- package/lib/components/navigation/back-button/back-button.component.d.ts +47 -0
- package/lib/components/navigation/back-to-top/back-to-top.component.d.ts +27 -0
- package/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +30 -0
- package/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +22 -0
- package/lib/components/navigation/header/header.component.d.ts +28 -0
- package/lib/components/utils/icon/icon.component.d.ts +40 -0
- package/lib/components/utils/not-found-page/not-found-page.component.d.ts +5 -0
- package/lib/design-angular-kit.module.d.ts +4 -24
- package/lib/interfaces/core.d.ts +36 -0
- package/lib/interfaces/form.d.ts +61 -0
- package/lib/interfaces/icon.d.ts +3 -0
- package/lib/modules/components.module.d.ts +58 -0
- package/lib/{form-input → pipes}/mark-matching-text.pipe.d.ts +0 -0
- package/lib/services/notifications/notifications.service.d.ts +63 -0
- package/lib/utils/boolean-input.d.ts +11 -0
- package/lib/utils/file-utils.d.ts +27 -0
- package/lib/utils/regex.d.ts +25 -0
- package/lib/validators/it-validators.d.ts +58 -0
- package/package.json +20 -13
- package/public_api.d.ts +54 -35
- package/esm2020/lib/badge/badge.directive.mjs +0 -83
- package/esm2020/lib/breadcrumb/breadcrumb-item.component.mjs +0 -66
- package/esm2020/lib/breadcrumb/breadcrumb.component.mjs +0 -89
- package/esm2020/lib/button/button.directive.mjs +0 -185
- package/esm2020/lib/button/button.module.mjs +0 -18
- package/esm2020/lib/checkbox/checkbox.component.mjs +0 -138
- package/esm2020/lib/collapse/collapse-group.component.mjs +0 -57
- package/esm2020/lib/collapse/collapse-item.component.mjs +0 -79
- package/esm2020/lib/collapse/collapse.config.mjs +0 -12
- package/esm2020/lib/collapse/collapse.directive.mjs +0 -55
- package/esm2020/lib/collapse/collapse.module.mjs +0 -22
- package/esm2020/lib/dropdown/dropdown-divider.component.mjs +0 -11
- package/esm2020/lib/dropdown/dropdown-item.component.mjs +0 -97
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -143
- package/esm2020/lib/dropdown/dropdown.config.mjs +0 -12
- package/esm2020/lib/dropdown/dropdown.directive.mjs +0 -156
- package/esm2020/lib/dropdown/dropdown.module.mjs +0 -25
- package/esm2020/lib/enums/icons.enum.mjs +0 -27
- package/esm2020/lib/form-input/form-input-password.utils.mjs +0 -154
- package/esm2020/lib/form-input/form-input.component.mjs +0 -495
- package/esm2020/lib/form-input/it-prefix.directive.mjs +0 -13
- package/esm2020/lib/form-input/it-suffix.directive.mjs +0 -13
- package/esm2020/lib/form-input/it-text-prefix.directive.mjs +0 -13
- package/esm2020/lib/form-input/it-text-suffix.directive.mjs +0 -13
- package/esm2020/lib/form-input/mark-matching-text.pipe.mjs +0 -36
- package/esm2020/lib/icon/icon.component.mjs +0 -87
- package/esm2020/lib/icon/icon.module.mjs +0 -18
- package/esm2020/lib/models/Alignment.mjs +0 -15
- package/esm2020/lib/models/ButtonSize.mjs +0 -15
- package/esm2020/lib/models/InputType.mjs +0 -44
- package/esm2020/lib/models/ThemeColor.mjs +0 -30
- package/esm2020/lib/popover/popover.config.mjs +0 -17
- package/esm2020/lib/popover/popover.directive.mjs +0 -33
- package/esm2020/lib/popover/popover.module.mjs +0 -19
- package/esm2020/lib/progress-bar/progress-bar.component.mjs +0 -98
- package/esm2020/lib/radio/radio.component.mjs +0 -287
- package/esm2020/lib/radio/unique-selection-dispatcher.mjs +0 -55
- package/esm2020/lib/tabs/tab-group.component.mjs +0 -177
- package/esm2020/lib/tabs/tab.component.mjs +0 -73
- package/esm2020/lib/tabs/tabs.module.mjs +0 -20
- package/esm2020/lib/toggle/toggle.component.mjs +0 -86
- package/esm2020/lib/tooltip/tooltip.config.mjs +0 -17
- package/esm2020/lib/tooltip/tooltip.directive.mjs +0 -43
- package/esm2020/lib/tooltip/tooltip.module.mjs +0 -19
- package/esm2020/lib/util/focus-mouse.directive.mjs +0 -32
- package/esm2020/lib/util/util.mjs +0 -12
- package/esm2020/lib/util/utils.module.mjs +0 -16
- package/lib/badge/badge.directive.d.ts +0 -33
- package/lib/breadcrumb/breadcrumb-item.component.d.ts +0 -33
- package/lib/breadcrumb/breadcrumb.component.d.ts +0 -33
- package/lib/button/button.directive.d.ts +0 -72
- package/lib/button/button.module.d.ts +0 -8
- package/lib/checkbox/checkbox.component.d.ts +0 -61
- package/lib/collapse/collapse-group.component.d.ts +0 -16
- package/lib/collapse/collapse-item.component.d.ts +0 -46
- package/lib/collapse/collapse.config.d.ts +0 -6
- package/lib/collapse/collapse.directive.d.ts +0 -25
- package/lib/collapse/collapse.module.d.ts +0 -12
- package/lib/dropdown/dropdown-divider.component.d.ts +0 -5
- package/lib/dropdown/dropdown-item.component.d.ts +0 -56
- package/lib/dropdown/dropdown.component.d.ts +0 -65
- package/lib/dropdown/dropdown.config.d.ts +0 -6
- package/lib/dropdown/dropdown.directive.d.ts +0 -77
- package/lib/dropdown/dropdown.module.d.ts +0 -15
- package/lib/enums/icons.enum.d.ts +0 -23
- package/lib/form-input/form-input-password.utils.d.ts +0 -45
- package/lib/form-input/form-input.component.d.ts +0 -283
- package/lib/form-input/it-prefix.directive.d.ts +0 -5
- package/lib/form-input/it-suffix.directive.d.ts +0 -5
- package/lib/form-input/it-text-prefix.directive.d.ts +0 -5
- package/lib/form-input/it-text-suffix.directive.d.ts +0 -5
- package/lib/icon/icon.component.d.ts +0 -34
- package/lib/icon/icon.module.d.ts +0 -8
- package/lib/models/Alignment.d.ts +0 -12
- package/lib/models/ButtonSize.d.ts +0 -11
- package/lib/models/InputType.d.ts +0 -36
- package/lib/models/ThemeColor.d.ts +0 -21
- package/lib/popover/popover.config.d.ts +0 -11
- package/lib/popover/popover.directive.d.ts +0 -20
- package/lib/popover/popover.module.d.ts +0 -9
- package/lib/progress-bar/progress-bar.component.d.ts +0 -55
- package/lib/radio/radio.component.d.ts +0 -116
- package/lib/radio/unique-selection-dispatcher.d.ts +0 -36
- package/lib/tabs/tab-group.component.d.ts +0 -71
- package/lib/tabs/tab.component.d.ts +0 -44
- package/lib/tabs/tabs.module.d.ts +0 -10
- package/lib/toggle/toggle.component.d.ts +0 -46
- package/lib/tooltip/tooltip.config.d.ts +0 -11
- package/lib/tooltip/tooltip.directive.d.ts +0 -27
- package/lib/tooltip/tooltip.module.d.ts +0 -9
- package/lib/util/focus-mouse.directive.d.ts +0 -13
- package/lib/util/util.d.ts +0 -5
- package/lib/util/utils.module.d.ts +0 -7
|
@@ -1,156 +0,0 @@
|
|
|
1
|
-
import { ContentChild, ContentChildren, Directive, EventEmitter, forwardRef, Inject, Output, Optional, } from '@angular/core';
|
|
2
|
-
import { DOCUMENT } from '@angular/common';
|
|
3
|
-
import { NgbDropdown, NgbDropdownAnchor, NgbDropdownItem, NgbDropdownMenu, NgbDropdownToggle, NgbNavbar } from '@ng-bootstrap/ng-bootstrap';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./dropdown.config";
|
|
6
|
-
export class ItNavbar extends NgbNavbar {
|
|
7
|
-
}
|
|
8
|
-
ItNavbar.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItNavbar, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
-
ItNavbar.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItNavbar, selector: ".navbar", usesInheritance: true, ngImport: i0 });
|
|
10
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItNavbar, decorators: [{
|
|
11
|
-
type: Directive,
|
|
12
|
-
args: [{ selector: '.navbar' }]
|
|
13
|
-
}] });
|
|
14
|
-
/**
|
|
15
|
-
* A directive you should put on a dropdown item to enable keyboard navigation.
|
|
16
|
-
* Arrow keys will move focus between items marked with this directive.
|
|
17
|
-
*
|
|
18
|
-
* @since 4.1.0
|
|
19
|
-
*/
|
|
20
|
-
export class ItDropdownItem extends NgbDropdownItem {
|
|
21
|
-
constructor(elementRef, _renderer) {
|
|
22
|
-
super(elementRef, _renderer);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
ItDropdownItem.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownItem, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
26
|
-
ItDropdownItem.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdownItem, selector: "[itDropdownItem]", usesInheritance: true, ngImport: i0 });
|
|
27
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownItem, decorators: [{
|
|
28
|
-
type: Directive,
|
|
29
|
-
args: [{
|
|
30
|
-
selector: '[itDropdownItem]'
|
|
31
|
-
}]
|
|
32
|
-
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; } });
|
|
33
|
-
/**
|
|
34
|
-
* A directive that wraps dropdown menu content and dropdown items.
|
|
35
|
-
*/
|
|
36
|
-
export class ItDropdownMenu extends NgbDropdownMenu {
|
|
37
|
-
constructor(dropdown, _elementRef) {
|
|
38
|
-
super(dropdown, _elementRef);
|
|
39
|
-
this.dropdown = dropdown;
|
|
40
|
-
}
|
|
41
|
-
ngAfterContentInit() {
|
|
42
|
-
super.menuItems = this.menuItems;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
ItDropdownMenu.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownMenu, deps: [{ token: forwardRef(() => ItDropdown) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
46
|
-
ItDropdownMenu.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdownMenu, selector: "[itDropdownMenu]", host: { properties: { "attr.data-popper-placement": "placement" } }, queries: [{ propertyName: "menuItems", predicate: ItDropdownItem }], usesInheritance: true, ngImport: i0 });
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownMenu, decorators: [{
|
|
48
|
-
type: Directive,
|
|
49
|
-
args: [{
|
|
50
|
-
selector: '[itDropdownMenu]',
|
|
51
|
-
host: {
|
|
52
|
-
'[attr.data-popper-placement]': 'placement'
|
|
53
|
-
}
|
|
54
|
-
}]
|
|
55
|
-
}], ctorParameters: function () { return [{ type: ItDropdown, decorators: [{
|
|
56
|
-
type: Inject,
|
|
57
|
-
args: [forwardRef(() => ItDropdown)]
|
|
58
|
-
}] }, { type: i0.ElementRef }]; }, propDecorators: { menuItems: [{
|
|
59
|
-
type: ContentChildren,
|
|
60
|
-
args: [ItDropdownItem]
|
|
61
|
-
}] } });
|
|
62
|
-
/**
|
|
63
|
-
* A directive to mark an element to which dropdown menu will be anchored.
|
|
64
|
-
*
|
|
65
|
-
* This is a simple version of the `NgbDropdownToggle` directive.
|
|
66
|
-
* It plays the same role, but doesn't listen to click events to toggle dropdown menu thus enabling support
|
|
67
|
-
* for events other than click.
|
|
68
|
-
*
|
|
69
|
-
* @since 1.1.0
|
|
70
|
-
*/
|
|
71
|
-
export class ItDropdownAnchor extends NgbDropdownAnchor {
|
|
72
|
-
constructor(dropdown, _elementRef) {
|
|
73
|
-
super(dropdown, _elementRef);
|
|
74
|
-
this.dropdown = dropdown;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
ItDropdownAnchor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownAnchor, deps: [{ token: forwardRef(() => ItDropdown) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
78
|
-
ItDropdownAnchor.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdownAnchor, selector: "[itDropdownAnchor]", usesInheritance: true, ngImport: i0 });
|
|
79
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownAnchor, decorators: [{
|
|
80
|
-
type: Directive,
|
|
81
|
-
args: [{ selector: '[itDropdownAnchor]' }]
|
|
82
|
-
}], ctorParameters: function () { return [{ type: ItDropdown, decorators: [{
|
|
83
|
-
type: Inject,
|
|
84
|
-
args: [forwardRef(() => ItDropdown)]
|
|
85
|
-
}] }, { type: i0.ElementRef }]; } });
|
|
86
|
-
/**
|
|
87
|
-
* A directive to mark an element that will toggle dropdown via the `click` event.
|
|
88
|
-
*
|
|
89
|
-
* You can also use `NgbDropdownAnchor` as an alternative.
|
|
90
|
-
*/
|
|
91
|
-
export class ItDropdownToggle extends NgbDropdownToggle {
|
|
92
|
-
constructor(dropdown, elementRef) {
|
|
93
|
-
super(dropdown, elementRef);
|
|
94
|
-
this.dropdown = dropdown;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
ItDropdownToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownToggle, deps: [{ token: forwardRef(() => ItDropdown) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
98
|
-
ItDropdownToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdownToggle, selector: "[itDropdownToggle]", host: { properties: { "class": "placement" } }, providers: [{ provide: ItDropdownAnchor, useExisting: forwardRef(() => ItDropdownToggle) }], usesInheritance: true, ngImport: i0 });
|
|
99
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownToggle, decorators: [{
|
|
100
|
-
type: Directive,
|
|
101
|
-
args: [{
|
|
102
|
-
selector: '[itDropdownToggle]',
|
|
103
|
-
host: {
|
|
104
|
-
'[class]': 'placement'
|
|
105
|
-
},
|
|
106
|
-
providers: [{ provide: ItDropdownAnchor, useExisting: forwardRef(() => ItDropdownToggle) }]
|
|
107
|
-
}]
|
|
108
|
-
}], ctorParameters: function () { return [{ type: ItDropdown, decorators: [{
|
|
109
|
-
type: Inject,
|
|
110
|
-
args: [forwardRef(() => ItDropdown)]
|
|
111
|
-
}] }, { type: i0.ElementRef }]; } });
|
|
112
|
-
/**
|
|
113
|
-
* A directive that provides contextual overlays for displaying lists of links and more.
|
|
114
|
-
*/
|
|
115
|
-
export class ItDropdown extends NgbDropdown {
|
|
116
|
-
constructor(_changeDetector, config, _document, _ngZone, _elementRef, _renderer, itNavbar) {
|
|
117
|
-
super(_changeDetector, config, _document, _ngZone, _elementRef, _renderer, itNavbar);
|
|
118
|
-
/**
|
|
119
|
-
* An event fired when the dropdown is opened or closed.
|
|
120
|
-
*
|
|
121
|
-
* The event payload is a `boolean`:
|
|
122
|
-
* * `true` - the dropdown was opened
|
|
123
|
-
* * `false` - the dropdown was closed
|
|
124
|
-
*/
|
|
125
|
-
this.openChange = new EventEmitter();
|
|
126
|
-
}
|
|
127
|
-
ngAfterContentInit() {
|
|
128
|
-
super["_menu"] = this._itMenu;
|
|
129
|
-
super["_anchor"] = this._itAnchor;
|
|
130
|
-
super.ngAfterContentInit();
|
|
131
|
-
}
|
|
132
|
-
ngOnChanges(changes) {
|
|
133
|
-
super.ngOnChanges(changes);
|
|
134
|
-
}
|
|
135
|
-
ngOnDestroy() { super.ngOnDestroy(); }
|
|
136
|
-
}
|
|
137
|
-
ItDropdown.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdown, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ItDropdownConfig }, { token: DOCUMENT }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: ItNavbar, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
138
|
-
ItDropdown.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: ItDropdown, selector: "[itDropdown]", outputs: { openChange: "openChange" }, queries: [{ propertyName: "_itMenu", first: true, predicate: ItDropdownMenu, descendants: true }, { propertyName: "_itAnchor", first: true, predicate: ItDropdownAnchor, descendants: true }], exportAs: ["itDropdown"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdown, decorators: [{
|
|
140
|
-
type: Directive,
|
|
141
|
-
args: [{ selector: '[itDropdown]', exportAs: 'itDropdown' }]
|
|
142
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ItDropdownConfig }, { type: undefined, decorators: [{
|
|
143
|
-
type: Inject,
|
|
144
|
-
args: [DOCUMENT]
|
|
145
|
-
}] }, { type: i0.NgZone }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: ItNavbar, decorators: [{
|
|
146
|
-
type: Optional
|
|
147
|
-
}] }]; }, propDecorators: { _itMenu: [{
|
|
148
|
-
type: ContentChild,
|
|
149
|
-
args: [ItDropdownMenu, { static: false }]
|
|
150
|
-
}], _itAnchor: [{
|
|
151
|
-
type: ContentChild,
|
|
152
|
-
args: [ItDropdownAnchor, { static: false }]
|
|
153
|
-
}], openChange: [{
|
|
154
|
-
type: Output
|
|
155
|
-
}] } });
|
|
156
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFFTCxZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFFVCxZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFJTixNQUFNLEVBSU4sUUFBUSxHQUVULE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7OztBQUk1SSxNQUFNLE9BQU8sUUFBUyxTQUFRLFNBQVM7O3NHQUExQixRQUFROzBGQUFSLFFBQVE7NEZBQVIsUUFBUTtrQkFEcEIsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUM7O0FBSWhDOzs7OztHQUtHO0FBSUgsTUFBTSxPQUFPLGNBQWUsU0FBUSxlQUFlO0lBQ2pELFlBQVksVUFBbUMsRUFBRSxTQUFvQjtRQUNuRSxLQUFLLENBQUMsVUFBVSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0lBQy9CLENBQUM7OzRHQUhVLGNBQWM7Z0dBQWQsY0FBYzs0RkFBZCxjQUFjO2tCQUgxQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOztBQU9EOztHQUVHO0FBT0gsTUFBTSxPQUFPLGNBQWUsU0FBUSxlQUFlO0lBR2pELFlBQ2lELFFBQW9CLEVBQUUsV0FBb0M7UUFDckcsS0FBSyxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsQ0FBQztRQURjLGFBQVEsR0FBUixRQUFRLENBQVk7SUFFbkUsQ0FBQztJQUVI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LENBQUMsQ0FBQyxDQUFDOzt3R0FoQzNCLFVBQVUsbUZBZ0JULFFBQVE7NEZBaEJULFVBQVUsZ0lBRVAsY0FBYyw0RUFDZCxnQkFBZ0I7NEZBSG5CLFVBQVU7a0JBRHRCLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUM7OzBCQWlCdEQsTUFBTTsyQkFBQyxRQUFROzswQkFDTyxRQUFROzRDQWZZLE9BQU87c0JBQXJELFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFDSSxTQUFTO3NCQUF6RCxZQUFZO3VCQUFDLGdCQUFnQixFQUFFLEVBQUMsTUFBTSxFQUFFLEtBQUssRUFBQztnQkFTckMsVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIlxuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbnRlbnRDaGlsZCxcbiAgQ29udGVudENoaWxkcmVuLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgZm9yd2FyZFJlZixcbiAgSW5qZWN0LFxuICBOZ1pvbmUsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIE9uRGVzdHJveSxcbiAgT3V0cHV0LFxuICBRdWVyeUxpc3QsXG4gIFJlbmRlcmVyMixcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgT3B0aW9uYWwsXG4gIE9uQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RPQ1VNRU5UfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdiRHJvcGRvd24sIE5nYkRyb3Bkb3duQW5jaG9yLCBOZ2JEcm9wZG93bkl0ZW0sIE5nYkRyb3Bkb3duTWVudSwgTmdiRHJvcGRvd25Ub2dnbGUsIE5nYk5hdmJhciB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IEl0RHJvcGRvd25Db25maWcgfSBmcm9tICcuL2Ryb3Bkb3duLmNvbmZpZyc7XG5cbkBEaXJlY3RpdmUoe3NlbGVjdG9yOiAnLm5hdmJhcid9KVxuZXhwb3J0IGNsYXNzIEl0TmF2YmFyIGV4dGVuZHMgTmdiTmF2YmFyIHtcbn1cblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB5b3Ugc2hvdWxkIHB1dCBvbiBhIGRyb3Bkb3duIGl0ZW0gdG8gZW5hYmxlIGtleWJvYXJkIG5hdmlnYXRpb24uXG4gKiBBcnJvdyBrZXlzIHdpbGwgbW92ZSBmb2N1cyBiZXR3ZWVuIGl0ZW1zIG1hcmtlZCB3aXRoIHRoaXMgZGlyZWN0aXZlLlxuICpcbiAqIEBzaW5jZSA0LjEuMFxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbaXREcm9wZG93bkl0ZW1dJ1xufSlcbmV4cG9ydCBjbGFzcyBJdERyb3Bkb3duSXRlbSBleHRlbmRzIE5nYkRyb3Bkb3duSXRlbSB7XG4gIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LCBfcmVuZGVyZXI6IFJlbmRlcmVyMikge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYsIF9yZW5kZXJlcik7XG4gIH1cbn1cblxuLyoqXG4gKiBBIGRpcmVjdGl2ZSB0aGF0IHdyYXBzIGRyb3Bkb3duIG1lbnUgY29udGVudCBhbmQgZHJvcGRvd24gaXRlbXMuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tpdERyb3Bkb3duTWVudV0nLFxuICBob3N0OiB7XG4gICAgJ1thdHRyLmRhdGEtcG9wcGVyLXBsYWNlbWVudF0nOiAncGxhY2VtZW50J1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIEl0RHJvcGRvd25NZW51IGV4dGVuZHMgTmdiRHJvcGRvd25NZW51IGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBDb250ZW50Q2hpbGRyZW4oSXREcm9wZG93bkl0ZW0pIG1lbnVJdGVtczogUXVlcnlMaXN0PEl0RHJvcGRvd25JdGVtPjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBJdERyb3Bkb3duKSkgcHVibGljIGRyb3Bkb3duOiBJdERyb3Bkb3duLCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgc3VwZXIoZHJvcGRvd24sIF9lbGVtZW50UmVmKTtcbiAgICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm1lbnVJdGVtcyA9IHRoaXMubWVudUl0ZW1zO1xuICB9XG5cblxuXG59XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdG8gbWFyayBhbiBlbGVtZW50IHRvIHdoaWNoIGRyb3Bkb3duIG1lbnUgd2lsbCBiZSBhbmNob3JlZC5cbiAqXG4gKiBUaGlzIGlzIGEgc2ltcGxlIHZlcnNpb24gb2YgdGhlIGBOZ2JEcm9wZG93blRvZ2dsZWAgZGlyZWN0aXZlLlxuICogSXQgcGxheXMgdGhlIHNhbWUgcm9sZSwgYnV0IGRvZXNuJ3QgbGlzdGVuIHRvIGNsaWNrIGV2ZW50cyB0byB0b2dnbGUgZHJvcGRvd24gbWVudSB0aHVzIGVuYWJsaW5nIHN1cHBvcnRcbiAqIGZvciBldmVudHMgb3RoZXIgdGhhbiBjbGljay5cbiAqXG4gKiBAc2luY2UgMS4xLjBcbiAqL1xuQERpcmVjdGl2ZShcbiAgICB7c2VsZWN0b3I6ICdbaXREcm9wZG93bkFuY2hvcl0nfSlcbmV4cG9ydCBjbGFzcyBJdERyb3Bkb3duQW5jaG9yIGV4dGVuZHMgTmdiRHJvcGRvd25BbmNob3Ige1xuICBjb25zdHJ1Y3RvcihcbiAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBJdERyb3Bkb3duKSkgcHVibGljIGRyb3Bkb3duOiBJdERyb3Bkb3duLCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAgICAgc3VwZXIoZHJvcGRvd24sIF9lbGVtZW50UmVmKVxuICB9XG59XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdG8gbWFyayBhbiBlbGVtZW50IHRoYXQgd2lsbCB0b2dnbGUgZHJvcGRvd24gdmlhIHRoZSBgY2xpY2tgIGV2ZW50LlxuICpcbiAqIFlvdSBjYW4gYWxzbyB1c2UgYE5nYkRyb3Bkb3duQW5jaG9yYCBhcyBhbiBhbHRlcm5hdGl2ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2l0RHJvcGRvd25Ub2dnbGVdJyxcbiAgaG9zdDoge1xuICAgICdbY2xhc3NdJzogJ3BsYWNlbWVudCdcbiAgfSxcbiAgcHJvdmlkZXJzOiBbe3Byb3ZpZGU6IEl0RHJvcGRvd25BbmNob3IsIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEl0RHJvcGRvd25Ub2dnbGUpfV1cbn0pXG5leHBvcnQgY2xhc3MgSXREcm9wZG93blRvZ2dsZSBleHRlbmRzIE5nYkRyb3Bkb3duVG9nZ2xlIHtcbiAgY29uc3RydWN0b3IoQEluamVjdChmb3J3YXJkUmVmKCgpID0+IEl0RHJvcGRvd24pKSBwdWJsaWMgZHJvcGRvd246IEl0RHJvcGRvd24sIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+KSB7XG4gICAgc3VwZXIoZHJvcGRvd24sIGVsZW1lbnRSZWYpO1xuICB9XG59XG5cbi8qKlxuICogQSBkaXJlY3RpdmUgdGhhdCBwcm92aWRlcyBjb250ZXh0dWFsIG92ZXJsYXlzIGZvciBkaXNwbGF5aW5nIGxpc3RzIG9mIGxpbmtzIGFuZCBtb3JlLlxuICovXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tpdERyb3Bkb3duXScsIGV4cG9ydEFzOiAnaXREcm9wZG93bid9KVxuZXhwb3J0IGNsYXNzIEl0RHJvcGRvd24gZXh0ZW5kcyBOZ2JEcm9wZG93biBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcblxuICBAQ29udGVudENoaWxkKEl0RHJvcGRvd25NZW51LCB7c3RhdGljOiBmYWxzZX0pIF9pdE1lbnU6IEl0RHJvcGRvd25NZW51O1xuICBAQ29udGVudENoaWxkKEl0RHJvcGRvd25BbmNob3IsIHtzdGF0aWM6IGZhbHNlfSkgX2l0QW5jaG9yOiBJdERyb3Bkb3duQW5jaG9yO1xuXG4gIC8qKlxuICAgKiBBbiBldmVudCBmaXJlZCB3aGVuIHRoZSBkcm9wZG93biBpcyBvcGVuZWQgb3IgY2xvc2VkLlxuICAgKlxuICAgKiBUaGUgZXZlbnQgcGF5bG9hZCBpcyBhIGBib29sZWFuYDpcbiAgICogKiBgdHJ1ZWAgLSB0aGUgZHJvcGRvd24gd2FzIG9wZW5lZFxuICAgKiAqIGBmYWxzZWAgLSB0aGUgZHJvcGRvd24gd2FzIGNsb3NlZFxuICAgKi9cbiAgQE91dHB1dCgpIG9wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICBfY2hhbmdlRGV0ZWN0b3I6IENoYW5nZURldGVjdG9yUmVmLCBjb25maWc6IEl0RHJvcGRvd25Db25maWcsXG4gICAgICBASW5qZWN0KERPQ1VNRU5UKSBfZG9jdW1lbnQ6IGFueSwgX25nWm9uZTogTmdab25lLCBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICBfcmVuZGVyZXI6IFJlbmRlcmVyMiwgQE9wdGlvbmFsKCkgaXROYXZiYXI6IEl0TmF2YmFyKSB7XG4gICAgICAgIHN1cGVyKF9jaGFuZ2VEZXRlY3RvciwgY29uZmlnLCBfZG9jdW1lbnQsIF9uZ1pvbmUsIF9lbGVtZW50UmVmLCBfcmVuZGVyZXIsIGl0TmF2YmFyKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICBzdXBlcltcIl9tZW51XCJdID0gdGhpcy5faXRNZW51O1xuICAgIHN1cGVyW1wiX2FuY2hvclwiXSA9IHRoaXMuX2l0QW5jaG9yO1xuXG4gICAgc3VwZXIubmdBZnRlckNvbnRlbnRJbml0KCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgc3VwZXIubmdPbkNoYW5nZXMoY2hhbmdlcyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHsgc3VwZXIubmdPbkRlc3Ryb3koKTsgfVxuXG59Il19
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { CommonModule } from "@angular/common";
|
|
2
|
-
import { NgModule } from "@angular/core";
|
|
3
|
-
import { NgbDropdownModule } from "@ng-bootstrap/ng-bootstrap";
|
|
4
|
-
import { ItButtonModule } from "../button/button.module";
|
|
5
|
-
import { ItIconModule } from "../icon/icon.module";
|
|
6
|
-
import { ItUtilsModule } from "../util/utils.module";
|
|
7
|
-
import { DropdownDividerComponent } from "./dropdown-divider.component";
|
|
8
|
-
import { DropdownItemComponent } from "./dropdown-item.component";
|
|
9
|
-
import { DropdownComponent } from "./dropdown.component";
|
|
10
|
-
import { ItDropdown, ItDropdownAnchor, ItDropdownItem, ItDropdownMenu, ItDropdownToggle, ItNavbar } from "./dropdown.directive";
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
export class ItDropdownModule {
|
|
13
|
-
}
|
|
14
|
-
ItDropdownModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
-
ItDropdownModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownModule, declarations: [DropdownComponent, DropdownDividerComponent, DropdownItemComponent, ItDropdown, ItNavbar, ItDropdownMenu, ItDropdownAnchor, ItDropdownToggle, ItDropdownItem], imports: [CommonModule, NgbDropdownModule, ItIconModule, ItButtonModule, ItUtilsModule], exports: [DropdownComponent, DropdownDividerComponent, DropdownItemComponent, ItDropdown, ItNavbar, ItDropdownMenu, ItDropdownAnchor, ItDropdownToggle, ItDropdownItem] });
|
|
16
|
-
ItDropdownModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownModule, imports: [CommonModule, NgbDropdownModule, ItIconModule, ItButtonModule, ItUtilsModule] });
|
|
17
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: ItDropdownModule, decorators: [{
|
|
18
|
-
type: NgModule,
|
|
19
|
-
args: [{
|
|
20
|
-
declarations: [DropdownComponent, DropdownDividerComponent, DropdownItemComponent, ItDropdown, ItNavbar, ItDropdownMenu, ItDropdownAnchor, ItDropdownToggle, ItDropdownItem],
|
|
21
|
-
imports: [CommonModule, NgbDropdownModule, ItIconModule, ItButtonModule, ItUtilsModule],
|
|
22
|
-
exports: [DropdownComponent, DropdownDividerComponent, DropdownItemComponent, ItDropdown, ItNavbar, ItDropdownMenu, ItDropdownAnchor, ItDropdownToggle, ItDropdownItem]
|
|
23
|
-
}]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3JELE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxVQUFVLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFPaEksTUFBTSxPQUFPLGdCQUFnQjs7OEdBQWhCLGdCQUFnQjsrR0FBaEIsZ0JBQWdCLGlCQUpWLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsYUFDakssWUFBWSxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsYUFBYSxhQUM1RSxpQkFBaUIsRUFBRSx3QkFBd0IsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxjQUFjOytHQUU3SixnQkFBZ0IsWUFIZixZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhOzRGQUc3RSxnQkFBZ0I7a0JBTDVCLFFBQVE7bUJBQUM7b0JBQ04sWUFBWSxFQUFFLENBQUMsaUJBQWlCLEVBQUUsd0JBQXdCLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFLFFBQVEsRUFBRSxjQUFjLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsY0FBYyxDQUFDO29CQUM1SyxPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxhQUFhLENBQUM7b0JBQ3ZGLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLHFCQUFxQixFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLGNBQWMsQ0FBQztpQkFDMUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOZ2JEcm9wZG93bk1vZHVsZSB9IGZyb20gXCJAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcFwiO1xuaW1wb3J0IHsgSXRCdXR0b25Nb2R1bGUgfSBmcm9tIFwiLi4vYnV0dG9uL2J1dHRvbi5tb2R1bGVcIjtcbmltcG9ydCB7IEl0SWNvbk1vZHVsZSB9IGZyb20gXCIuLi9pY29uL2ljb24ubW9kdWxlXCI7XG5pbXBvcnQgeyBJdFV0aWxzTW9kdWxlIH0gZnJvbSBcIi4uL3V0aWwvdXRpbHMubW9kdWxlXCI7XG5pbXBvcnQgeyBEcm9wZG93bkRpdmlkZXJDb21wb25lbnQgfSBmcm9tIFwiLi9kcm9wZG93bi1kaXZpZGVyLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHJvcGRvd25JdGVtQ29tcG9uZW50IH0gZnJvbSBcIi4vZHJvcGRvd24taXRlbS5jb21wb25lbnRcIjtcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSBcIi4vZHJvcGRvd24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBJdERyb3Bkb3duLCBJdERyb3Bkb3duQW5jaG9yLCBJdERyb3Bkb3duSXRlbSwgSXREcm9wZG93bk1lbnUsIEl0RHJvcGRvd25Ub2dnbGUsIEl0TmF2YmFyIH0gZnJvbSBcIi4vZHJvcGRvd24uZGlyZWN0aXZlXCI7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbRHJvcGRvd25Db21wb25lbnQsIERyb3Bkb3duRGl2aWRlckNvbXBvbmVudCwgRHJvcGRvd25JdGVtQ29tcG9uZW50LCBJdERyb3Bkb3duLCBJdE5hdmJhciwgSXREcm9wZG93bk1lbnUsIEl0RHJvcGRvd25BbmNob3IsIEl0RHJvcGRvd25Ub2dnbGUsIEl0RHJvcGRvd25JdGVtXSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2JEcm9wZG93bk1vZHVsZSwgSXRJY29uTW9kdWxlLCBJdEJ1dHRvbk1vZHVsZSwgSXRVdGlsc01vZHVsZV0sXG4gICAgZXhwb3J0czogW0Ryb3Bkb3duQ29tcG9uZW50LCBEcm9wZG93bkRpdmlkZXJDb21wb25lbnQsIERyb3Bkb3duSXRlbUNvbXBvbmVudCwgSXREcm9wZG93biwgSXROYXZiYXIsIEl0RHJvcGRvd25NZW51LCBJdERyb3Bkb3duQW5jaG9yLCBJdERyb3Bkb3duVG9nZ2xlLCBJdERyb3Bkb3duSXRlbV1cbn0pXG5leHBvcnQgY2xhc3MgSXREcm9wZG93bk1vZHVsZSB7fSJdfQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
export var IconSizeEnum;
|
|
2
|
-
(function (IconSizeEnum) {
|
|
3
|
-
IconSizeEnum["sx"] = "icon-xs";
|
|
4
|
-
IconSizeEnum["sm"] = "icon-sm";
|
|
5
|
-
IconSizeEnum["lg"] = "icon-lg";
|
|
6
|
-
IconSizeEnum["xl"] = "icon-xl";
|
|
7
|
-
IconSizeEnum["default"] = "";
|
|
8
|
-
})(IconSizeEnum || (IconSizeEnum = {}));
|
|
9
|
-
export var IconColorEnum;
|
|
10
|
-
(function (IconColorEnum) {
|
|
11
|
-
IconColorEnum["default"] = "default";
|
|
12
|
-
IconColorEnum["primary"] = "primary";
|
|
13
|
-
IconColorEnum["secondary"] = "secondary";
|
|
14
|
-
IconColorEnum["info"] = "info";
|
|
15
|
-
IconColorEnum["success"] = "success";
|
|
16
|
-
IconColorEnum["warning"] = "warning";
|
|
17
|
-
IconColorEnum["danger"] = "danger";
|
|
18
|
-
IconColorEnum["disable"] = "disable";
|
|
19
|
-
IconColorEnum["light"] = "light";
|
|
20
|
-
IconColorEnum["white"] = "white";
|
|
21
|
-
})(IconColorEnum || (IconColorEnum = {}));
|
|
22
|
-
export var IconBackgroundColorEnum;
|
|
23
|
-
(function (IconBackgroundColorEnum) {
|
|
24
|
-
IconBackgroundColorEnum["light"] = "light";
|
|
25
|
-
IconBackgroundColorEnum["dark"] = "dark";
|
|
26
|
-
})(IconBackgroundColorEnum || (IconBackgroundColorEnum = {}));
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbnMuZW51bS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2VudW1zL2ljb25zLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksWUFNWDtBQU5ELFdBQVksWUFBWTtJQUN0Qiw4QkFBYyxDQUFBO0lBQ2QsOEJBQWMsQ0FBQTtJQUNkLDhCQUFjLENBQUE7SUFDZCw4QkFBYyxDQUFBO0lBQ2QsNEJBQVksQ0FBQTtBQUNkLENBQUMsRUFOVyxZQUFZLEtBQVosWUFBWSxRQU12QjtBQUVELE1BQU0sQ0FBTixJQUFZLGFBV1g7QUFYRCxXQUFZLGFBQWE7SUFDdkIsb0NBQW1CLENBQUE7SUFDbkIsb0NBQW1CLENBQUE7SUFDbkIsd0NBQXVCLENBQUE7SUFDdkIsOEJBQWEsQ0FBQTtJQUNiLG9DQUFtQixDQUFBO0lBQ25CLG9DQUFtQixDQUFBO0lBQ25CLGtDQUFpQixDQUFBO0lBQ2pCLG9DQUFtQixDQUFBO0lBQ25CLGdDQUFlLENBQUE7SUFDZixnQ0FBZSxDQUFBO0FBQ2pCLENBQUMsRUFYVyxhQUFhLEtBQWIsYUFBYSxRQVd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLHVCQUdYO0FBSEQsV0FBWSx1QkFBdUI7SUFDakMsMENBQWUsQ0FBQTtJQUNmLHdDQUFhLENBQUE7QUFDZixDQUFDLEVBSFcsdUJBQXVCLEtBQXZCLHVCQUF1QixRQUdsQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIEljb25TaXplRW51bSB7XG4gIHN4ID0gJ2ljb24teHMnLFxuICBzbSA9ICdpY29uLXNtJyxcbiAgbGcgPSAnaWNvbi1sZycsXG4gIHhsID0gJ2ljb24teGwnLFxuICBkZWZhdWx0ID0gJydcbn1cblxuZXhwb3J0IGVudW0gSWNvbkNvbG9yRW51bSB7XG4gIGRlZmF1bHQgPSAnZGVmYXVsdCcsXG4gIHByaW1hcnkgPSAncHJpbWFyeScsXG4gIHNlY29uZGFyeSA9ICdzZWNvbmRhcnknLFxuICBpbmZvID0gJ2luZm8nLFxuICBzdWNjZXNzID0gJ3N1Y2Nlc3MnLFxuICB3YXJuaW5nID0gJ3dhcm5pbmcnLFxuICBkYW5nZXIgPSAnZGFuZ2VyJyxcbiAgZGlzYWJsZSA9ICdkaXNhYmxlJyxcbiAgbGlnaHQgPSAnbGlnaHQnLFxuICB3aGl0ZSA9ICd3aGl0ZScsXG59XG5cbmV4cG9ydCBlbnVtIEljb25CYWNrZ3JvdW5kQ29sb3JFbnVtIHtcbiAgbGlnaHQgPSAnbGlnaHQnLFxuICBkYXJrID0gJ2RhcmsnLFxufVxuXG4iXX0=
|
|
@@ -1,154 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Classe di utility creata sulla base del seguente sorgente di bootstrap-italia: https://github.com/italia/bootstrap-italia/blob/main/src/js/plugins/input-password.js
|
|
3
|
-
* TODO: Da sostituire una volta che i metodi scoreText, scoreColor, e calculateScore
|
|
4
|
-
* saranno importabili dalla libreria bootstrap-italia.
|
|
5
|
-
*/
|
|
6
|
-
export class FormInputPasswordUtils {
|
|
7
|
-
constructor(_config) {
|
|
8
|
-
this._config = _config;
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Returns a value between -1 and 100 to score
|
|
12
|
-
* the user's password.
|
|
13
|
-
*
|
|
14
|
-
* @param string password The password to be checked.
|
|
15
|
-
* @return int
|
|
16
|
-
*/
|
|
17
|
-
calculateScore(password) {
|
|
18
|
-
var score = 0;
|
|
19
|
-
// empty password
|
|
20
|
-
if (password.trim().length === 0) {
|
|
21
|
-
return -2;
|
|
22
|
-
}
|
|
23
|
-
// password < this._config.minimumLength
|
|
24
|
-
if (password.length < this._config.minimumLength) {
|
|
25
|
-
return -1;
|
|
26
|
-
}
|
|
27
|
-
// password length
|
|
28
|
-
score += password.length * 4;
|
|
29
|
-
score += this._checkRepetition(1, password).length - password.length;
|
|
30
|
-
score += this._checkRepetition(2, password).length - password.length;
|
|
31
|
-
score += this._checkRepetition(3, password).length - password.length;
|
|
32
|
-
score += this._checkRepetition(4, password).length - password.length;
|
|
33
|
-
// password has 3 numbers
|
|
34
|
-
if (password.match(/(.*[0-9].*[0-9].*[0-9])/)) {
|
|
35
|
-
score += 5;
|
|
36
|
-
}
|
|
37
|
-
// password has at least 2 sybols
|
|
38
|
-
let symbols = '.*[!,@,#,$,%,^,&,*,?,_,~]';
|
|
39
|
-
symbols = new RegExp('(' + symbols + symbols + ')');
|
|
40
|
-
if (password.match(symbols)) {
|
|
41
|
-
score += 5;
|
|
42
|
-
}
|
|
43
|
-
// password has Upper and Lower chars
|
|
44
|
-
if (password.match(/([a-z].*[A-Z])|([A-Z].*[a-z])/)) {
|
|
45
|
-
score += 10;
|
|
46
|
-
}
|
|
47
|
-
// password has number and chars
|
|
48
|
-
if (password.match(/([a-zA-Z])/) && password.match(/([0-9])/)) {
|
|
49
|
-
score += 15;
|
|
50
|
-
}
|
|
51
|
-
// password has number and symbol
|
|
52
|
-
if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([0-9])/)) {
|
|
53
|
-
score += 15;
|
|
54
|
-
}
|
|
55
|
-
// password has char and symbol
|
|
56
|
-
if (password.match(/([!,@,#,$,%,^,&,*,?,_,~])/) && password.match(/([a-zA-Z])/)) {
|
|
57
|
-
score += 15;
|
|
58
|
-
}
|
|
59
|
-
// password is just numbers or chars
|
|
60
|
-
if (password.match(/^\w+$/) || password.match(/^\d+$/)) {
|
|
61
|
-
score -= 10;
|
|
62
|
-
}
|
|
63
|
-
if (score > 100) {
|
|
64
|
-
score = 100;
|
|
65
|
-
}
|
|
66
|
-
if (score < 0) {
|
|
67
|
-
score = 0;
|
|
68
|
-
}
|
|
69
|
-
return score;
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Checks for repetition of characters in
|
|
73
|
-
* a string
|
|
74
|
-
*
|
|
75
|
-
* @param int rLen Repetition length.
|
|
76
|
-
* @param string str The string to be checked.
|
|
77
|
-
* @return string
|
|
78
|
-
*/
|
|
79
|
-
_checkRepetition(rLen, str) {
|
|
80
|
-
var res = '', repeated = false;
|
|
81
|
-
for (var i = 0; i < str.length; i++) {
|
|
82
|
-
repeated = true;
|
|
83
|
-
for (var j = 0; j < rLen && j + i + rLen < str.length; j++) {
|
|
84
|
-
repeated = repeated && str.charAt(j + i) === str.charAt(j + i + rLen);
|
|
85
|
-
}
|
|
86
|
-
if (j < rLen) {
|
|
87
|
-
repeated = false;
|
|
88
|
-
}
|
|
89
|
-
if (repeated) {
|
|
90
|
-
i += rLen - 1;
|
|
91
|
-
repeated = false;
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
res += str.charAt(i);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return res;
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Returns strings based on the score given.
|
|
101
|
-
*
|
|
102
|
-
* @param int score Score base.
|
|
103
|
-
* @return string
|
|
104
|
-
*/
|
|
105
|
-
scoreText(score) {
|
|
106
|
-
if (score === -1) {
|
|
107
|
-
return this._config.shortPass;
|
|
108
|
-
}
|
|
109
|
-
else if (score === -2) {
|
|
110
|
-
return this._config.enterPass;
|
|
111
|
-
}
|
|
112
|
-
score = score < 0 ? 0 : score;
|
|
113
|
-
if (score < 26) {
|
|
114
|
-
return this._config.shortPass;
|
|
115
|
-
}
|
|
116
|
-
if (score < 51) {
|
|
117
|
-
return this._config.badPass;
|
|
118
|
-
}
|
|
119
|
-
if (score < 76) {
|
|
120
|
-
return this._config.goodPass;
|
|
121
|
-
}
|
|
122
|
-
return this._config.strongPass;
|
|
123
|
-
}
|
|
124
|
-
scoreColor(score) {
|
|
125
|
-
if (score === -1) {
|
|
126
|
-
return 'danger';
|
|
127
|
-
}
|
|
128
|
-
if (score === -2) {
|
|
129
|
-
return 'muted';
|
|
130
|
-
}
|
|
131
|
-
score = score < 0 ? 0 : score;
|
|
132
|
-
if (score < 26) {
|
|
133
|
-
return 'danger';
|
|
134
|
-
}
|
|
135
|
-
if (score < 51) {
|
|
136
|
-
return 'warning';
|
|
137
|
-
}
|
|
138
|
-
if (score < 76) {
|
|
139
|
-
return 'success';
|
|
140
|
-
}
|
|
141
|
-
return 'success';
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
FormInputPasswordUtils.DEFAULT_CONFIG = {
|
|
145
|
-
shortPass: 'Password molto debole',
|
|
146
|
-
badPass: 'Password debole',
|
|
147
|
-
goodPass: 'Password sicura',
|
|
148
|
-
strongPass: 'Password molto sicura',
|
|
149
|
-
enterPass: 'Inserisci almeno 8 caratteri e una lettera maiuscola',
|
|
150
|
-
alertCaps: 'CAPS LOCK inserito',
|
|
151
|
-
showText: true,
|
|
152
|
-
minimumLength: 4,
|
|
153
|
-
};
|
|
154
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1pbnB1dC1wYXNzd29yZC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2Zvcm0taW5wdXQvZm9ybS1pbnB1dC1wYXNzd29yZC51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTs7OztHQUlHO0FBQ0gsTUFBTSxPQUFPLHNCQUFzQjtJQWFqQyxZQUFvQixPQUFvQztRQUFwQyxZQUFPLEdBQVAsT0FBTyxDQUE2QjtJQUFHLENBQUM7SUFFMUQ7Ozs7OztLQU1DO0lBQ0ksY0FBYyxDQUFDLFFBQWdCO1FBQ3BDLElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUViLGlCQUFpQjtRQUNqQixJQUFJLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ2hDLE9BQU8sQ0FBQyxDQUFDLENBQUE7U0FDVjtRQUVELHdDQUF3QztRQUN4QyxJQUFJLFFBQVEsQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUU7WUFDaEQsT0FBTyxDQUFDLENBQUMsQ0FBQTtTQUNWO1FBRUQsa0JBQWtCO1FBQ2xCLEtBQUssSUFBSSxRQUFRLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQTtRQUM1QixLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtRQUNwRSxLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtRQUNwRSxLQUFLLElBQUksSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQyxNQUFNLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQTtRQUNwRSxL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Q0FBQTtTQUNqQjtRQUNELElBQUksS0FBSyxHQUFHLEVBQUUsRUFBRTtZQUNkLE9BQU8sU0FBUyxDQUFBO1NBQ2pCO1FBRUQsT0FBTyxTQUFTLENBQUE7SUFDbEIsQ0FBQzs7QUF2S3NCLHFDQUFjLEdBQUk7SUFDdkMsU0FBUyxFQUFFLHVCQUF1QjtJQUNsQyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0IsVUFBVSxFQUFFLHVCQUF1QjtJQUNuQyxTQUFTLEVBQUUsc0RBQXNEO0lBQ2pFLFNBQVMsRUFBRSxvQkFBb0I7SUFDL0IsUUFBUSxFQUFFLElBQUk7SUFDZCxhQUFhLEVBQUUsQ0FBQztDQUNqQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGFzc3dvcmRTdHJlbmd0aE1ldGVyQ29uZmlnIH0gZnJvbSBcIi4vZm9ybS1pbnB1dC5jb21wb25lbnRcIlxuXG4vKipcbiAqIENsYXNzZSBkaSB1dGlsaXR5IGNyZWF0YSBzdWxsYSBiYXNlIGRlbCBzZWd1ZW50ZSBzb3JnZW50ZSBkaSBib290c3RyYXAtaXRhbGlhOiBodHRwczovL2dpdGh1Yi5jb20vaXRhbGlhL2Jvb3RzdHJhcC1pdGFsaWEvYmxvYi9tYWluL3NyYy9qcy9wbHVnaW5zL2lucHV0LXBhc3N3b3JkLmpzXG4gKiBUT0RPOiBEYSBzb3N0aXR1aXJlIHVuYSB2b2x0YSBjaGUgaSBtZXRvZGkgc2NvcmVUZXh0LCBzY29yZUNvbG9yLCBlIGNhbGN1bGF0ZVNjb3JlIFxuICogc2FyYW5ubyBpbXBvcnRhYmlsaSBkYWxsYSBsaWJyZXJpYSBib290c3RyYXAtaXRhbGlhLlxuICovXG5leHBvcnQgY2xhc3MgRm9ybUlucHV0UGFzc3dvcmRVdGlscyB7XG5cbiAgcHVibGljIHN0YXRpYyByZWFkb25seSBERUZBVUxUX0NPTkZJRyA9ICB7XG4gICAgc2hvcnRQYXNzOiAnUGFzc3dvcmQgbW9sdG8gZGVib2xlJyxcbiAgICBiYWRQYXNzOiAnUGFzc3dvcmQgZGVib2xlJyxcbiAgICBnb29kUGFzczogJ1Bhc3N3b3JkIHNpY3VyYScsXG4gICAgc3Ryb25nUGFzczogJ1Bhc3N3b3JkIG1vbHRvIHNpY3VyYScsXG4gICAgZW50ZXJQYXNzOiAnSW5zZXJpc2NpIGFsbWVubyA4IGNhcmF0dGVyaSBlIHVuYSBsZXR0ZXJhIG1haXVzY29sYScsXG4gICAgYWxlcnRDYXBzOiAnQ0FQUyBMT0NLIGluc2VyaXRvJyxcbiAgICBzaG93VGV4dDogdHJ1ZSxcbiAgICBtaW5pbXVtTGVuZ3RoOiA0LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NvbmZpZzogUGFzc3dvcmRTdHJlbmd0aE1ldGVyQ29uZmlnKSB7fVxuXG4gICAgLyoqXG4gICAqIFJldHVybnMgYSB2YWx1ZSBiZXR3ZWVuIC0xIGFuZCAxMDAgdG8gc2NvcmVcbiAgICogdGhlIHVzZXIncyBwYXNzd29yZC5cbiAgICpcbiAgICogQHBhcmFtICBzdHJpbmcgcGFzc3dvcmQgVGhlIHBhc3N3b3JkIHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm4gaW50XG4gICAqL1xuICBwdWJsaWMgY2FsY3VsYXRlU2NvcmUocGFzc3dvcmQ6IHN0cmluZykge1xuICAgIHZhciBzY29yZSA9IDBcblxuICAgIC8vIGVtcHR5IHBhc3N3b3JkXG4gICAgaWYgKHBhc3N3b3JkLnRyaW0oKS5sZW5ndGggPT09IDApIHtcbiAgICAgIHJldHVybiAtMlxuICAgIH1cblxuICAgIC8vIHBhc3N3b3JkIDwgdGhpcy5fY29uZmlnLm1pbmltdW1MZW5ndGhcbiAgICBpZiAocGFzc3dvcmQubGVuZ3RoIDwgdGhpcy5fY29uZmlnLm1pbmltdW1MZW5ndGgpIHtcbiAgICAgIHJldHVybiAtMVxuICAgIH1cblxuICAgIC8vIHBhc3N3b3JkIGxlbmd0aFxuICAgIHNjb3JlICs9IHBhc3N3b3JkLmxlbmd0aCAqIDRcbiAgICBzY29yZSArPSB0aGlzLl9jaGVja1JlcGV0aXRpb24oMSwgcGFzc3dvcmQpLmxlbmd0aCAtIHBhc3N3b3JkLmxlbmd0aFxuICAgIHNjb3JlICs9IHRoaXMuX2NoZWNrUmVwZXRpdGlvbigyLCBwYXNzd29yZCkubGVuZ3RoIC0gcGFzc3dvcmQubGVuZ3RoXG4gICAgc2NvcmUgKz0gdGhpcy5fY2hlY2tSZXBldGl0aW9uKDMsIHBhc3N3b3JkKS5sZW5ndGggLSBwYXNzd29yZC5sZW5ndGhcbiAgICBzY29yZSArPSB0aGlzLl9jaGVja1JlcGV0aXRpb24oNCwgcGFzc3dvcmQpLmxlbmd0aCAtIHBhc3N3b3JkLmxlbmd0aFxuXG4gICAgLy8gcGFzc3dvcmQgaGFzIDMgbnVtYmVyc1xuICAgIGlmIChwYXNzd29yZC5tYXRjaCgvKC4qWzAtOV0uKlswLTldLipbMC05XSkvKSkge1xuICAgICAgc2NvcmUgKz0gNVxuICAgIH1cblxuICAgIC8vIHBhc3N3b3JkIGhhcyBhdCBsZWFzdCAyIHN5Ym9sc1xuICAgIGxldCBzeW1ib2xzOiBSZWdFeHAgfCBzdHJpbmcgPSAnLipbISxALCMsJCwlLF4sJiwqLD8sXyx+XSc7XG4gICAgc3ltYm9scyA9IG5ldyBSZWdFeHAoJygnICsgc3ltYm9scyArIHN5bWJvbHMgKyAnKScpXG4gICAgaWYgKHBhc3N3b3JkLm1hdGNoKHN5bWJvbHMpKSB7XG4gICAgICBzY29yZSArPSA1XG4gICAgfVxuXG4gICAgLy8gcGFzc3dvcmQgaGFzIFVwcGVyIGFuZCBMb3dlciBjaGFyc1xuICAgIGlmIChwYXNzd29yZC5tYXRjaCgvKFthLXpdLipbQS1aXSl8KFtBLVpdLipbYS16XSkvKSkge1xuICAgICAgc2NvcmUgKz0gMTBcbiAgICB9XG5cbiAgICAvLyBwYXNzd29yZCBoYXMgbnVtYmVyIGFuZCBjaGFyc1xuICAgIGlmIChwYXNzd29yZC5tYXRjaCgvKFthLXpBLVpdKS8pICYmIHBhc3N3b3JkLm1hdGNoKC8oWzAtOV0pLykpIHtcbiAgICAgIHNjb3JlICs9IDE1XG4gICAgfVxuXG4gICAgLy8gcGFzc3dvcmQgaGFzIG51bWJlciBhbmQgc3ltYm9sXG4gICAgaWYgKHBhc3N3b3JkLm1hdGNoKC8oWyEsQCwjLCQsJSxeLCYsKiw/LF8sfl0pLykgJiYgcGFzc3dvcmQubWF0Y2goLyhbMC05XSkvKSkge1xuICAgICAgc2NvcmUgKz0gMTVcbiAgICB9XG5cbiAgICAvLyBwYXNzd29yZCBoYXMgY2hhciBhbmQgc3ltYm9sXG4gICAgaWYgKHBhc3N3b3JkLm1hdGNoKC8oWyEsQCwjLCQsJSxeLCYsKiw/LF8sfl0pLykgJiYgcGFzc3dvcmQubWF0Y2goLyhbYS16QS1aXSkvKSkge1xuICAgICAgc2NvcmUgKz0gMTVcbiAgICB9XG5cbiAgICAvLyBwYXNzd29yZCBpcyBqdXN0IG51bWJlcnMgb3IgY2hhcnNcbiAgICBpZiAocGFzc3dvcmQubWF0Y2goL15cXHcrJC8pIHx8IHBhc3N3b3JkLm1hdGNoKC9eXFxkKyQvKSkge1xuICAgICAgc2NvcmUgLT0gMTBcbiAgICB9XG5cbiAgICBpZiAoc2NvcmUgPiAxMDApIHtcbiAgICAgIHNjb3JlID0gMTAwXG4gICAgfVxuXG4gICAgaWYgKHNjb3JlIDwgMCkge1xuICAgICAgc2NvcmUgPSAwXG4gICAgfVxuXG4gICAgcmV0dXJuIHNjb3JlXG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGZvciByZXBldGl0aW9uIG9mIGNoYXJhY3RlcnMgaW5cbiAgICogYSBzdHJpbmdcbiAgICpcbiAgICogQHBhcmFtIGludCByTGVuIFJlcGV0aXRpb24gbGVuZ3RoLlxuICAgKiBAcGFyYW0gc3RyaW5nIHN0ciBUaGUgc3RyaW5nIHRvIGJlIGNoZWNrZWQuXG4gICAqIEByZXR1cm4gc3RyaW5nXG4gICAqL1xuICBwcml2YXRlIF9jaGVja1JlcGV0aXRpb24ockxlbiwgc3RyKSB7XG4gICAgdmFyIHJlcyA9ICcnLFxuICAgICAgcmVwZWF0ZWQgPSBmYWxzZVxuICAgIGZvciAodmFyIGkgPSAwOyBpIDwgc3RyLmxlbmd0aDsgaSsrKSB7XG4gICAgICByZXBlYXRlZCA9IHRydWVcbiAgICAgIGZvciAodmFyIGogPSAwOyBqIDwgckxlbiAmJiBqICsgaSArIHJMZW4gPCBzdHIubGVuZ3RoOyBqKyspIHtcbiAgICAgICAgcmVwZWF0ZWQgPSByZXBlYXRlZCAmJiBzdHIuY2hhckF0KGogKyBpKSA9PT0gc3RyLmNoYXJBdChqICsgaSArIHJMZW4pXG4gICAgICB9XG4gICAgICBpZiAoaiA8IHJMZW4pIHtcbiAgICAgICAgcmVwZWF0ZWQgPSBmYWxzZVxuICAgICAgfVxuICAgICAgaWYgKHJlcGVhdGVkKSB7XG4gICAgICAgIGkgKz0gckxlbiAtIDFcbiAgICAgICAgcmVwZWF0ZWQgPSBmYWxzZVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzICs9IHN0ci5jaGFyQXQoaSlcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHJlc1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgc3RyaW5ncyBiYXNlZCBvbiB0aGUgc2NvcmUgZ2l2ZW4uXG4gICAqXG4gICAqIEBwYXJhbSBpbnQgc2NvcmUgU2NvcmUgYmFzZS5cbiAgICogQHJldHVybiBzdHJpbmdcbiAgICovXG4gICBwdWJsaWMgc2NvcmVUZXh0KHNjb3JlKSB7XG5cbiAgICBpZiAoc2NvcmUgPT09IC0xKSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnNob3J0UGFzcztcbiAgICB9IGVsc2UgaWYgKHNjb3JlID09PSAtMikge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5lbnRlclBhc3M7XG4gICAgfVxuXG4gICAgc2NvcmUgPSBzY29yZSA8IDAgPyAwIDogc2NvcmVcblxuICAgIGlmIChzY29yZSA8IDI2KSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLnNob3J0UGFzc1xuICAgIH1cbiAgICBpZiAoc2NvcmUgPCA1MSkge1xuICAgICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5iYWRQYXNzXG4gICAgfVxuICAgIGlmIChzY29yZSA8IDc2KSB7XG4gICAgICByZXR1cm4gdGhpcy5fY29uZmlnLmdvb2RQYXNzXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2NvbmZpZy5zdHJvbmdQYXNzXG4gIH1cblxuICBwdWJsaWMgc2NvcmVDb2xvcihzY29yZSkge1xuICAgIGlmIChzY29yZSA9PT0gLTEpIHtcbiAgICAgIHJldHVybiAnZGFuZ2VyJ1xuICAgIH1cbiAgICBpZiAoc2NvcmUgPT09IC0yKSB7XG4gICAgICByZXR1cm4gJ211dGVkJ1xuICAgIH1cblxuICAgIHNjb3JlID0gc2NvcmUgPCAwID8gMCA6IHNjb3JlXG5cbiAgICBpZiAoc2NvcmUgPCAyNikge1xuICAgICAgcmV0dXJuICdkYW5nZXInXG4gICAgfVxuICAgIGlmIChzY29yZSA8IDUxKSB7XG4gICAgICByZXR1cm4gJ3dhcm5pbmcnXG4gICAgfVxuICAgIGlmIChzY29yZSA8IDc2KSB7XG4gICAgICByZXR1cm4gJ3N1Y2Nlc3MnXG4gICAgfVxuXG4gICAgcmV0dXJuICdzdWNjZXNzJ1xuICB9XG59Il19
|