design-angular-kit 1.1.0 → 1.1.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 +66 -60
- package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +5 -5
- package/esm2022/lib/components/form/form.module.mjs +5 -1
- package/esm2022/lib/components/form/transfer/store/transfer.reducers.mjs +191 -0
- package/esm2022/lib/components/form/transfer/store/transfer.state.mjs +2 -0
- package/esm2022/lib/components/form/transfer/store/transfer.store.mjs +70 -0
- package/esm2022/lib/components/form/transfer/transfer-list/transfer-list.component.mjs +70 -0
- package/esm2022/lib/components/form/transfer/transfer.component.mjs +147 -0
- package/esm2022/lib/components/form/transfer/transfer.model.mjs +6 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll-list-item.component.mjs +98 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll-list-items.component.mjs +44 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll.component.mjs +116 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll.model.mjs +2 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll.store.mjs +65 -0
- package/esm2022/lib/components/navigation/navscroll/navscroll.utils.mjs +23 -0
- package/esm2022/lib/design-angular-kit.module.mjs +10 -6
- package/esm2022/lib/provide-design-angular-kit.mjs +5 -5
- package/esm2022/public_api.mjs +25 -21
- package/fesm2022/design-angular-kit.mjs +1045 -255
- package/fesm2022/design-angular-kit.mjs.map +1 -1
- package/lib/components/form/form.module.d.ts +4 -3
- package/lib/components/form/transfer/store/transfer.reducers.d.ts +103 -0
- package/lib/components/form/transfer/store/transfer.state.d.ts +18 -0
- package/lib/components/form/transfer/store/transfer.store.d.ts +23 -0
- package/lib/components/form/transfer/transfer-list/transfer-list.component.d.ts +48 -0
- package/lib/components/form/transfer/transfer.component.d.ts +75 -0
- package/lib/components/form/transfer/transfer.model.d.ts +6 -0
- package/lib/components/navigation/navscroll/navscroll-list-item.component.d.ts +16 -0
- package/lib/components/navigation/navscroll/navscroll-list-items.component.d.ts +7 -0
- package/lib/components/navigation/navscroll/navscroll.component.d.ts +47 -0
- package/lib/components/navigation/navscroll/navscroll.model.d.ts +10 -0
- package/lib/components/navigation/navscroll/navscroll.store.d.ts +16 -0
- package/lib/components/navigation/navscroll/navscroll.utils.d.ts +6 -0
- package/lib/design-angular-kit.module.d.ts +8 -7
- package/package.json +5 -1
- package/public_api.d.ts +24 -20
- package/schematics/collection.json +19 -0
- package/schematics/ng-add/index.d.ts +3 -0
- package/schematics/ng-add/index.js +29 -0
- package/schematics/ng-add/index.js.map +1 -0
- package/schematics/ng-add/index.spec.d.ts +1 -0
- package/schematics/ng-add/index.spec.js +43 -0
- package/schematics/ng-add/index.spec.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-animations.d.ts +2 -0
- package/schematics/ng-add/rules/setup-project/add-animations.js +11 -0
- package/schematics/ng-add/rules/setup-project/add-animations.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-assets.d.ts +3 -0
- package/schematics/ng-add/rules/setup-project/add-assets.js +50 -0
- package/schematics/ng-add/rules/setup-project/add-assets.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.d.ts +3 -0
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js +43 -0
- package/schematics/ng-add/rules/setup-project/add-design-angular-kit.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-http-client.d.ts +2 -0
- package/schematics/ng-add/rules/setup-project/add-http-client.js +11 -0
- package/schematics/ng-add/rules/setup-project/add-http-client.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.d.ts +11 -0
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js +112 -0
- package/schematics/ng-add/rules/setup-project/add-import-to-style-file.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/add-localisation.d.ts +3 -0
- package/schematics/ng-add/rules/setup-project/add-localisation.js +50 -0
- package/schematics/ng-add/rules/setup-project/add-localisation.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/angular-json-helper.d.ts +2 -0
- package/schematics/ng-add/rules/setup-project/angular-json-helper.js +13 -0
- package/schematics/ng-add/rules/setup-project/angular-json-helper.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/exceptions.d.ts +7 -0
- package/schematics/ng-add/rules/setup-project/exceptions.js +17 -0
- package/schematics/ng-add/rules/setup-project/exceptions.js.map +1 -0
- package/schematics/ng-add/rules/setup-project/index.d.ts +6 -0
- package/schematics/ng-add/rules/setup-project/index.js +23 -0
- package/schematics/ng-add/rules/setup-project/index.js.map +1 -0
- package/schematics/ng-add/schema.d.ts +3 -0
- package/schematics/ng-add/schema.js +3 -0
- package/schematics/ng-add/schema.js.map +1 -0
- package/schematics/ng-add/schema.json +16 -0
- package/schematics/ng-add/setup-project.d.ts +3 -0
- package/schematics/ng-add/setup-project.js +37 -0
- package/schematics/ng-add/setup-project.js.map +1 -0
- package/schematics/ng-add/setup-project.spec.d.ts +1 -0
- package/schematics/ng-add/setup-project.spec.js +139 -0
- package/schematics/ng-add/setup-project.spec.js.map +1 -0
- package/schematics/ng-add/utils.d.ts +14 -0
- package/schematics/ng-add/utils.js +49 -0
- package/schematics/ng-add/utils.js.map +1 -0
- package/schematics/ng-add/versions-helper.d.ts +3 -0
- package/schematics/ng-add/versions-helper.js +40 -0
- package/schematics/ng-add/versions-helper.js.map +1 -0
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { AsyncPipe, NgClass, NgTemplateOutlet, ViewportScroller } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, DestroyRef, ElementRef, HostListener, inject, Input, ViewChild, } from '@angular/core';
|
|
3
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
+
import { RouterLink, RouterLinkActive, RouterLinkWithHref } from '@angular/router';
|
|
5
|
+
import { delay, filter, map, tap, withLatestFrom } from 'rxjs';
|
|
6
|
+
import { ItNavscrollListItemsComponent } from './navscroll-list-items.component';
|
|
7
|
+
import { NavscrollStore } from './navscroll.store';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
/**
|
|
10
|
+
* Navscroll
|
|
11
|
+
* @description Show a list of links to anchor of the document.
|
|
12
|
+
*/
|
|
13
|
+
export class ItNavscrollComponent {
|
|
14
|
+
onScroll() {
|
|
15
|
+
const sectionContainer = this.#elementRef.nativeElement.querySelector('.it-page-sections-container');
|
|
16
|
+
this.#store.updateProgressBar(sectionContainer);
|
|
17
|
+
}
|
|
18
|
+
onResize() {
|
|
19
|
+
this.#setMobile();
|
|
20
|
+
}
|
|
21
|
+
#store;
|
|
22
|
+
#scroller;
|
|
23
|
+
#destroyRef;
|
|
24
|
+
#elementRef;
|
|
25
|
+
constructor() {
|
|
26
|
+
/**
|
|
27
|
+
* Header of the Navscroll
|
|
28
|
+
*/
|
|
29
|
+
this.header = '';
|
|
30
|
+
/**
|
|
31
|
+
* Border position
|
|
32
|
+
* @default left
|
|
33
|
+
*/
|
|
34
|
+
this.borderPosition = 'left';
|
|
35
|
+
/**
|
|
36
|
+
* Alignment
|
|
37
|
+
* @default top
|
|
38
|
+
*/
|
|
39
|
+
this.alignment = 'top';
|
|
40
|
+
/**
|
|
41
|
+
* Theme
|
|
42
|
+
* @default light
|
|
43
|
+
*/
|
|
44
|
+
this.theme = 'light';
|
|
45
|
+
this.#store = inject(NavscrollStore);
|
|
46
|
+
this.#scroller = inject(ViewportScroller);
|
|
47
|
+
this.#destroyRef = inject(DestroyRef);
|
|
48
|
+
this.#elementRef = inject(ElementRef);
|
|
49
|
+
this.selectedTitle = this.#store.selected.pipe(map(selected => selected?.title ?? ''));
|
|
50
|
+
this.progressBarValue = this.#store.progressBar;
|
|
51
|
+
this.isMobile = this.#store.isMobile;
|
|
52
|
+
this.#store.menuItemSelected
|
|
53
|
+
.pipe(takeUntilDestroyed(), withLatestFrom(this.isMobile), tap(v => {
|
|
54
|
+
const isMobile = v[1];
|
|
55
|
+
if (isMobile) {
|
|
56
|
+
this.toggleButtonRef.nativeElement.click();
|
|
57
|
+
}
|
|
58
|
+
}))
|
|
59
|
+
.subscribe();
|
|
60
|
+
}
|
|
61
|
+
ngOnInit() {
|
|
62
|
+
this.#initViewScrollerSubscription();
|
|
63
|
+
this.#store.init(this.items);
|
|
64
|
+
this.#setMobile();
|
|
65
|
+
}
|
|
66
|
+
#initViewScrollerSubscription() {
|
|
67
|
+
this.#store.selected
|
|
68
|
+
.pipe(takeUntilDestroyed(this.#destroyRef), filter(selected => Boolean(selected)), map(v => v), delay(0), //WA
|
|
69
|
+
tap({
|
|
70
|
+
next: ({ href }) => {
|
|
71
|
+
this.#scroller.scrollToAnchor(href);
|
|
72
|
+
},
|
|
73
|
+
}))
|
|
74
|
+
.subscribe();
|
|
75
|
+
}
|
|
76
|
+
#setMobile() {
|
|
77
|
+
this.#store.setMobile(window);
|
|
78
|
+
}
|
|
79
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavscrollComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
80
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItNavscrollComponent, isStandalone: true, selector: "it-navscroll", inputs: { header: "header", items: "items", borderPosition: "borderPosition", alignment: "alignment", theme: "theme", pageSectionsTemplate: "pageSectionsTemplate" }, host: { listeners: { "window:scroll": "onScroll($event)", "window:resize": "onResize($event)" } }, providers: [NavscrollStore], viewQueries: [{ propertyName: "toggleButtonRef", first: true, predicate: ["toggleButtonRef"], descendants: true }], ngImport: i0, template: "<div class=\"container py-lg-5\">\n <div class=\"row\">\n <div class=\"col-12 col-lg-4\">\n <div class=\"it-navscroll-sticky\" [ngClass]=\"{ 'it-navscroll-sticky-mobile': isMobile | async }\" data-bs-stackable=\"true\">\n <nav\n class=\"navbar it-navscroll-wrapper navbar-expand-lg\"\n [class.it-top-navscroll]=\"alignment === 'top'\"\n [class.it-bottom-navscroll]=\"alignment === 'bottom'\"\n [class.it-left-side]=\"borderPosition === 'left'\"\n [class.it-right-side]=\"borderPosition === 'right'\"\n [class.theme-dark-mobile]=\"theme === 'dark'\"\n [class.theme-dark-desktop]=\"theme === 'dark'\">\n <button\n class=\"custom-navbar-toggler\"\n type=\"button\"\n aria-controls=\"navbarNav\"\n aria-expanded=\"false\"\n aria-label=\"Toggle navigation\"\n data-bs-toggle=\"navbarcollapsible\"\n data-bs-target=\"#navbarNav\"\n #toggleButtonRef>\n <span class=\"it-list\"></span>{{ selectedTitle | async }}\n </button>\n <div class=\"progress custom-navbar-progressbar\">\n <div\n class=\"progress-bar it-navscroll-progressbar\"\n role=\"progressbar\"\n [style.width.%]=\"progressBarValue | async\"\n [attr.aria-valuenow]=\"progressBarValue | async\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n <div class=\"navbar-collapsable\" id=\"navbarNav\">\n <div class=\"overlay\"></div>\n <div class=\"close-div visually-hidden\">\n <button class=\"btn close-menu\" type=\"button\"><span class=\"it-close\"></span>Chiudi</button>\n </div>\n <button type=\"button\" class=\"it-back-button btn w-100 text-start\">\n <svg class=\"icon icon-sm icon-primary align-top\">\n <use\n href=\"/bootstrap-italia/dist/svg/sprites.svg#it-chevron-left\"\n xlink:href=\"/bootstrap-italia/dist/svg/sprites.svg#it-chevron-left\"></use>\n </svg>\n <span>Indietro</span>\n </button>\n <div class=\"menu-wrapper\">\n <div class=\"link-list-wrapper\">\n <h3>{{ header }}</h3>\n <div class=\"progress\">\n <div\n class=\"progress-bar it-navscroll-progressbar\"\n role=\"progressbar\"\n [style.width.%]=\"progressBarValue | async\"\n [attr.aria-valuenow]=\"progressBarValue | async\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n <it-navscroll-list-items [items]=\"items\"></it-navscroll-list-items>\n </div>\n </div>\n </div>\n </nav>\n </div>\n </div>\n <div class=\"col-12 col-lg-8 it-page-sections-container\">\n <ng-container\n *ngTemplateOutlet=\"pageSectionsTemplate ? pageSectionsTemplate : defaultPageSectionsTemplate; context: { items: items }\">\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #defaultPageSectionsTemplate let-items=\"items\">\n @for (item of items; track item.href) {\n <ng-container *ngTemplateOutlet=\"paragraphTemplate; context: { item: item, level: 1 }\"></ng-container>\n }\n</ng-template>\n\n<ng-template #paragraphTemplate let-item=\"item\" let-level=\"level\" let-nextLevel=\"level+1\">\n @switch (level) {\n @case (1) {\n <h2 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h2>\n }\n @case (2) {\n <h3 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h3>\n }\n @case (3) {\n <h4 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h4>\n }\n @case (4) {\n <h5 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h5>\n }\n @default {\n <h6 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h6>\n }\n }\n <p>{{ item.text }}</p>\n @for (item of item.childs; track item.href) {\n <ng-container *ngTemplateOutlet=\"paragraphTemplate; context: { item: item, level: nextLevel }\"></ng-container>\n }\n</ng-template>\n", styles: [".it-navscroll-sticky{position:sticky;top:0}.it-navscroll-sticky-mobile{z-index:1020}\n"], dependencies: [{ kind: "component", type: ItNavscrollListItemsComponent, selector: "it-navscroll-list-items", inputs: ["items"] }, { kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
81
|
+
}
|
|
82
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavscrollComponent, decorators: [{
|
|
83
|
+
type: Component,
|
|
84
|
+
args: [{ selector: 'it-navscroll', standalone: true, imports: [
|
|
85
|
+
ItNavscrollListItemsComponent,
|
|
86
|
+
AsyncPipe,
|
|
87
|
+
NgTemplateOutlet,
|
|
88
|
+
RouterLink,
|
|
89
|
+
RouterLinkActive,
|
|
90
|
+
RouterLinkWithHref,
|
|
91
|
+
AsyncPipe,
|
|
92
|
+
NgClass,
|
|
93
|
+
], changeDetection: ChangeDetectionStrategy.OnPush, providers: [NavscrollStore], template: "<div class=\"container py-lg-5\">\n <div class=\"row\">\n <div class=\"col-12 col-lg-4\">\n <div class=\"it-navscroll-sticky\" [ngClass]=\"{ 'it-navscroll-sticky-mobile': isMobile | async }\" data-bs-stackable=\"true\">\n <nav\n class=\"navbar it-navscroll-wrapper navbar-expand-lg\"\n [class.it-top-navscroll]=\"alignment === 'top'\"\n [class.it-bottom-navscroll]=\"alignment === 'bottom'\"\n [class.it-left-side]=\"borderPosition === 'left'\"\n [class.it-right-side]=\"borderPosition === 'right'\"\n [class.theme-dark-mobile]=\"theme === 'dark'\"\n [class.theme-dark-desktop]=\"theme === 'dark'\">\n <button\n class=\"custom-navbar-toggler\"\n type=\"button\"\n aria-controls=\"navbarNav\"\n aria-expanded=\"false\"\n aria-label=\"Toggle navigation\"\n data-bs-toggle=\"navbarcollapsible\"\n data-bs-target=\"#navbarNav\"\n #toggleButtonRef>\n <span class=\"it-list\"></span>{{ selectedTitle | async }}\n </button>\n <div class=\"progress custom-navbar-progressbar\">\n <div\n class=\"progress-bar it-navscroll-progressbar\"\n role=\"progressbar\"\n [style.width.%]=\"progressBarValue | async\"\n [attr.aria-valuenow]=\"progressBarValue | async\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n <div class=\"navbar-collapsable\" id=\"navbarNav\">\n <div class=\"overlay\"></div>\n <div class=\"close-div visually-hidden\">\n <button class=\"btn close-menu\" type=\"button\"><span class=\"it-close\"></span>Chiudi</button>\n </div>\n <button type=\"button\" class=\"it-back-button btn w-100 text-start\">\n <svg class=\"icon icon-sm icon-primary align-top\">\n <use\n href=\"/bootstrap-italia/dist/svg/sprites.svg#it-chevron-left\"\n xlink:href=\"/bootstrap-italia/dist/svg/sprites.svg#it-chevron-left\"></use>\n </svg>\n <span>Indietro</span>\n </button>\n <div class=\"menu-wrapper\">\n <div class=\"link-list-wrapper\">\n <h3>{{ header }}</h3>\n <div class=\"progress\">\n <div\n class=\"progress-bar it-navscroll-progressbar\"\n role=\"progressbar\"\n [style.width.%]=\"progressBarValue | async\"\n [attr.aria-valuenow]=\"progressBarValue | async\"\n aria-valuemin=\"0\"\n aria-valuemax=\"100\"></div>\n </div>\n <it-navscroll-list-items [items]=\"items\"></it-navscroll-list-items>\n </div>\n </div>\n </div>\n </nav>\n </div>\n </div>\n <div class=\"col-12 col-lg-8 it-page-sections-container\">\n <ng-container\n *ngTemplateOutlet=\"pageSectionsTemplate ? pageSectionsTemplate : defaultPageSectionsTemplate; context: { items: items }\">\n </ng-container>\n </div>\n </div>\n</div>\n\n<ng-template #defaultPageSectionsTemplate let-items=\"items\">\n @for (item of items; track item.href) {\n <ng-container *ngTemplateOutlet=\"paragraphTemplate; context: { item: item, level: 1 }\"></ng-container>\n }\n</ng-template>\n\n<ng-template #paragraphTemplate let-item=\"item\" let-level=\"level\" let-nextLevel=\"level+1\">\n @switch (level) {\n @case (1) {\n <h2 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h2>\n }\n @case (2) {\n <h3 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h3>\n }\n @case (3) {\n <h4 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h4>\n }\n @case (4) {\n <h5 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h5>\n }\n @default {\n <h6 class=\"it-page-section\" id=\"{{ item.href }}\">{{ item.title }}</h6>\n }\n }\n <p>{{ item.text }}</p>\n @for (item of item.childs; track item.href) {\n <ng-container *ngTemplateOutlet=\"paragraphTemplate; context: { item: item, level: nextLevel }\"></ng-container>\n }\n</ng-template>\n", styles: [".it-navscroll-sticky{position:sticky;top:0}.it-navscroll-sticky-mobile{z-index:1020}\n"] }]
|
|
94
|
+
}], ctorParameters: () => [], propDecorators: { header: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], items: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], borderPosition: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}], alignment: [{
|
|
101
|
+
type: Input
|
|
102
|
+
}], theme: [{
|
|
103
|
+
type: Input
|
|
104
|
+
}], pageSectionsTemplate: [{
|
|
105
|
+
type: Input
|
|
106
|
+
}], onScroll: [{
|
|
107
|
+
type: HostListener,
|
|
108
|
+
args: ['window:scroll', ['$event']]
|
|
109
|
+
}], onResize: [{
|
|
110
|
+
type: HostListener,
|
|
111
|
+
args: ['window:resize', ['$event']]
|
|
112
|
+
}], toggleButtonRef: [{
|
|
113
|
+
type: ViewChild,
|
|
114
|
+
args: ['toggleButtonRef']
|
|
115
|
+
}] } });
|
|
116
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZzY3JvbGwvbmF2c2Nyb2xsLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZzY3JvbGwvbmF2c2Nyb2xsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekYsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osTUFBTSxFQUNOLEtBQUssRUFHTCxTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDaEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ25GLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsY0FBYyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRWpGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7QUFFbkQ7OztHQUdHO0FBbUJILE1BQU0sT0FBTyxvQkFBb0I7SUFpQy9CLFFBQVE7UUFDTixNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLGFB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S2hCLE9BQU87OzJGQU9FLG9CQUFvQjtrQkFsQmhDLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUDt3QkFDUCw2QkFBNkI7d0JBQzdCLFNBQVM7d0JBQ1QsZ0JBQWdCO3dCQUNoQixVQUFVO3dCQUNWLGdCQUFnQjt3QkFDaEIsa0JBQWtCO3dCQUNsQixTQUFTO3dCQUNULE9BQU87cUJBQ1IsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0sYUFDcEMsQ0FBQyxjQUFjLENBQUM7d0RBTWxCLE1BQU07c0JBQWQsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1HLEtBQUs7c0JBQWIsS0FBSztnQkFNTixvQkFBb0I7c0JBRG5CLEtBQUs7Z0JBSU4sUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFPekMsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFNaEMsZUFBZTtzQkFEdkIsU0FBUzt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBc3luY1BpcGUsIE5nQ2xhc3MsIE5nVGVtcGxhdGVPdXRsZXQsIFZpZXdwb3J0U2Nyb2xsZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRGVzdHJveVJlZixcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIElucHV0LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgUm91dGVyTGluaywgUm91dGVyTGlua0FjdGl2ZSwgUm91dGVyTGlua1dpdGhIcmVmIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IGRlbGF5LCBmaWx0ZXIsIG1hcCwgdGFwLCB3aXRoTGF0ZXN0RnJvbSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgSXROYXZzY3JvbGxMaXN0SXRlbXNDb21wb25lbnQgfSBmcm9tICcuL25hdnNjcm9sbC1saXN0LWl0ZW1zLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOYXZzY3JvbGxJdGVtIH0gZnJvbSAnLi9uYXZzY3JvbGwubW9kZWwnO1xuaW1wb3J0IHsgTmF2c2Nyb2xsU3RvcmUgfSBmcm9tICcuL25hdnNjcm9sbC5zdG9yZSc7XG5cbi8qKlxuICogTmF2c2Nyb2xsXG4gKiBAZGVzY3JpcHRpb24gU2hvdyBhIGxpc3Qgb2YgbGlua3MgdG8gYW5jaG9yIG9mIHRoZSBkb2N1bWVudC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnaXQtbmF2c2Nyb2xsJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIEl0TmF2c2Nyb2xsTGlzdEl0ZW1zQ29tcG9uZW50LFxuICAgIEFzeW5jUGlwZSxcbiAgICBOZ1RlbXBsYXRlT3V0bGV0LFxuICAgIFJvdXRlckxpbmssXG4gICAgUm91dGVyTGlua0FjdGl2ZSxcbiAgICBSb3V0ZXJMaW5rV2l0aEhyZWYsXG4gICAgQXN5bmNQaXBlLFxuICAgIE5nQ2xhc3MsXG4gIF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZzY3JvbGwuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vbmF2c2Nyb2xsLmNvbXBvbmVudC5zY3NzJyxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW05hdnNjcm9sbFN0b3JlXSxcbn0pXG5leHBvcnQgY2xhc3MgSXROYXZzY3JvbGxDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICAvKipcbiAgICogSGVhZGVyIG9mIHRoZSBOYXZzY3JvbGxcbiAgICovXG4gIEBJbnB1dCgpIGhlYWRlciA9ICcnO1xuICAvKipcbiAgICogQSBsaXN0IG9mIGxpbmtzXG4gICAqL1xuICBASW5wdXQoKSBpdGVtcyE6IEFycmF5PE5hdnNjcm9sbEl0ZW0+O1xuICAvKipcbiAgICogQm9yZGVyIHBvc2l0aW9uXG4gICAqIEBkZWZhdWx0IGxlZnRcbiAgICovXG4gIEBJbnB1dCgpIGJvcmRlclBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnID0gJ2xlZnQnO1xuICAvKipcbiAgICogQWxpZ25tZW50XG4gICAqIEBkZWZhdWx0IHRvcFxuICAgKi9cbiAgQElucHV0KCkgYWxpZ25tZW50OiAndG9wJyB8ICdib3R0b20nID0gJ3RvcCc7XG5cbiAgLyoqXG4gICAqIFRoZW1lXG4gICAqIEBkZWZhdWx0IGxpZ2h0XG4gICAqL1xuICBASW5wdXQoKSB0aGVtZTogJ2xpZ2h0JyB8ICdkYXJrJyA9ICdsaWdodCc7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSB0ZW1wbGF0ZSBmb3IgdGhlIGNvbnRlbnQgc2VjdGlvblxuICAgKi9cbiAgQElucHV0KClcbiAgcGFnZVNlY3Rpb25zVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpzY3JvbGwnLCBbJyRldmVudCddKSAvLyBmb3Igd2luZG93IHNjcm9sbCBldmVudHNcbiAgb25TY3JvbGwoKSB7XG4gICAgY29uc3Qgc2VjdGlvbkNvbnRhaW5lciA9IHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuaXQtcGFnZS1zZWN0aW9ucy1jb250YWluZXInKTtcbiAgICB0aGlzLiNzdG9yZS51cGRhdGVQcm9ncmVzc0JhcihzZWN0aW9uQ29udGFpbmVyKTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxuICBvblJlc2l6ZSgpIHtcbiAgICB0aGlzLiNzZXRNb2JpbGUoKTtcbiAgfVxuXG4gIEBWaWV3Q2hpbGQoJ3RvZ2dsZUJ1dHRvblJlZicpXG4gIHJlYWRvbmx5IHRvZ2dsZUJ1dHRvblJlZiE6IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIHJlYWRvbmx5ICNzdG9yZSA9IGluamVjdChOYXZzY3JvbGxTdG9yZSk7XG5cbiAgcmVhZG9ubHkgI3Njcm9sbGVyID0gaW5qZWN0KFZpZXdwb3J0U2Nyb2xsZXIpO1xuXG4gIHJlYWRvbmx5ICNkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gIHJlYWRvbmx5ICNlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkVGl0bGUgPSB0aGlzLiNzdG9yZS5zZWxlY3RlZC5waXBlKG1hcChzZWxlY3RlZCA9PiBzZWxlY3RlZD8udGl0bGUgPz8gJycpKTtcblxuICByZWFkb25seSBwcm9ncmVzc0JhclZhbHVlID0gdGhpcy4jc3RvcmUucHJvZ3Jlc3NCYXI7XG5cbiAgcmVhZG9ubHkgaXNNb2JpbGUgPSB0aGlzLiNzdG9yZS5pc01vYmlsZTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLiNzdG9yZS5tZW51SXRlbVNlbGVjdGVkXG4gICAgICAucGlwZShcbiAgICAgICAgdGFrZVVudGlsRGVzdHJveWVkKCksXG4gICAgICAgIHdpdGhMYXRlc3RGcm9tKHRoaXMuaXNNb2JpbGUpLFxuICAgICAgICB0YXAodiA9PiB7XG4gICAgICAgICAgY29uc3QgaXNNb2JpbGUgPSB2WzFdO1xuICAgICAgICAgIGlmIChpc01vYmlsZSkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVCdXR0b25SZWYubmF0aXZlRWxlbWVudC5jbGljaygpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuI2luaXRWaWV3U2Nyb2xsZXJTdWJzY3JpcHRpb24oKTtcbiAgICB0aGlzLiNzdG9yZS5pbml0KHRoaXMuaXRlbXMpO1xuICAgIHRoaXMuI3NldE1vYmlsZSgpO1xuICB9XG5cbiAgI2luaXRWaWV3U2Nyb2xsZXJTdWJzY3JpcHRpb24oKSB7XG4gICAgdGhpcy4jc3RvcmUuc2VsZWN0ZWRcbiAgICAgIC5waXBlKFxuICAgICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy4jZGVzdHJveVJlZiksXG4gICAgICAgIGZpbHRlcihzZWxlY3RlZCA9PiBCb29sZWFuKHNlbGVjdGVkKSksXG4gICAgICAgIG1hcCh2ID0+IHYgYXMgTmF2c2Nyb2xsSXRlbSksXG4gICAgICAgIGRlbGF5KDApLCAvL1dBXG4gICAgICAgIHRhcCh7XG4gICAgICAgICAgbmV4dDogKHsgaHJlZiB9KSA9PiB7XG4gICAgICAgICAgICB0aGlzLiNzY3JvbGxlci5zY3JvbGxUb0FuY2hvcihocmVmKTtcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgI3NldE1vYmlsZSgpIHtcbiAgICB0aGlzLiNzdG9yZS5zZXRNb2JpbGUod2luZG93KTtcbiAgfVxufVxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lciBweS1sZy01XCI+XG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIGNvbC1sZy00XCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiaXQtbmF2c2Nyb2xsLXN0aWNreVwiIFtuZ0NsYXNzXT1cInsgJ2l0LW5hdnNjcm9sbC1zdGlja3ktbW9iaWxlJzogaXNNb2JpbGUgfCBhc3luYyB9XCIgZGF0YS1icy1zdGFja2FibGU9XCJ0cnVlXCI+XG4gICAgICAgIDxuYXZcbiAgICAgICAgICBjbGFzcz1cIm5hdmJhciBpdC1uYXZzY3JvbGwtd3JhcHBlciBuYXZiYXItZXhwYW5kLWxnXCJcbiAgICAgICAgICBbY2xhc3MuaXQtdG9wLW5hdnNjcm9sbF09XCJhbGlnbm1lbnQgPT09ICd0b3AnXCJcbiAgICAgICAgICBbY2xhc3MuaXQtYm90dG9tLW5hdnNjcm9sbF09XCJhbGlnbm1lbnQgPT09ICdib3R0b20nXCJcbiAgICAgICAgICBbY2xhc3MuaXQtbGVmdC1zaWRlXT1cImJvcmRlclBvc2l0aW9uID09PSAnbGVmdCdcIlxuICAgICAgICAgIFtjbGFzcy5pdC1yaWdodC1zaWRlXT1cImJvcmRlclBvc2l0aW9uID09PSAncmlnaHQnXCJcbiAgICAgICAgICBbY2xhc3MudGhlbWUtZGFyay1tb2JpbGVdPVwidGhlbWUgPT09ICdkYXJrJ1wiXG4gICAgICAgICAgW2NsYXNzLnRoZW1lLWRhcmstZGVza3RvcF09XCJ0aGVtZSA9PT0gJ2RhcmsnXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgY2xhc3M9XCJjdXN0b20tbmF2YmFyLXRvZ2dsZXJcIlxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBhcmlhLWNvbnRyb2xzPVwibmF2YmFyTmF2XCJcbiAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICBhcmlhLWxhYmVsPVwiVG9nZ2xlIG5hdmlnYXRpb25cIlxuICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJuYXZiYXJjb2xsYXBzaWJsZVwiXG4gICAgICAgICAgICBkYXRhLWJzLXRhcmdldD1cIiNuYXZiYXJOYXZcIlxuICAgICAgICAgICAgI3RvZ2dsZUJ1dHRvblJlZj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiaXQtbGlzdFwiPjwvc3Bhbj57eyBzZWxlY3RlZFRpdGxlIHwgYXN5bmMgfX1cbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicHJvZ3Jlc3MgY3VzdG9tLW5hdmJhci1wcm9ncmVzc2JhclwiPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBjbGFzcz1cInByb2dyZXNzLWJhciBpdC1uYXZzY3JvbGwtcHJvZ3Jlc3NiYXJcIlxuICAgICAgICAgICAgICByb2xlPVwicHJvZ3Jlc3NiYXJcIlxuICAgICAgICAgICAgICBbc3R5bGUud2lkdGguJV09XCJwcm9ncmVzc0JhclZhbHVlIHwgYXN5bmNcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLXZhbHVlbm93XT1cInByb2dyZXNzQmFyVmFsdWUgfCBhc3luY1wiXG4gICAgICAgICAgICAgIGFyaWEtdmFsdWVtaW49XCIwXCJcbiAgICAgICAgICAgICAgYXJpYS12YWx1ZW1heD1cIjEwMFwiPjwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXZiYXItY29sbGFwc2FibGVcIiBpZD1cIm5hdmJhck5hdlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm92ZXJsYXlcIj48L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjbG9zZS1kaXYgdmlzdWFsbHktaGlkZGVuXCI+XG4gICAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gY2xvc2UtbWVudVwiIHR5cGU9XCJidXR0b25cIj48c3BhbiBjbGFzcz1cIml0LWNsb3NlXCI+PC9zcGFuPkNoaXVkaTwvYnV0dG9uPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiBjbGFzcz1cIml0LWJhY2stYnV0dG9uIGJ0biB3LTEwMCB0ZXh0LXN0YXJ0XCI+XG4gICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uIGljb24tc20gaWNvbi1wcmltYXJ5IGFsaWduLXRvcFwiPlxuICAgICAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgICAgIGhyZWY9XCIvYm9vdHN0cmFwLWl0YWxpYS9kaXN0L3N2Zy9zcHJpdGVzLnN2ZyNpdC1jaGV2cm9uLWxlZnRcIlxuICAgICAgICAgICAgICAgICAgeGxpbms6aHJlZj1cIi9ib290c3RyYXAtaXRhbGlhL2Rpc3Qvc3ZnL3Nwcml0ZXMuc3ZnI2l0LWNoZXZyb24tbGVmdFwiPjwvdXNlPlxuICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgICAgPHNwYW4+SW5kaWV0cm88L3NwYW4+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstbGlzdC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgPGgzPnt7IGhlYWRlciB9fTwvaDM+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzXCI+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwicHJvZ3Jlc3MtYmFyIGl0LW5hdnNjcm9sbC1wcm9ncmVzc2JhclwiXG4gICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcm9ncmVzc2JhclwiXG4gICAgICAgICAgICAgICAgICAgIFtzdHlsZS53aWR0aC4lXT1cInByb2dyZXNzQmFyVmFsdWUgfCBhc3luY1wiXG4gICAgICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtdmFsdWVub3ddPVwicHJvZ3Jlc3NCYXJWYWx1ZSB8IGFzeW5jXCJcbiAgICAgICAgICAgICAgICAgICAgYXJpYS12YWx1ZW1pbj1cIjBcIlxuICAgICAgICAgICAgICAgICAgICBhcmlhLXZhbHVlbWF4PVwiMTAwXCI+PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgPGl0LW5hdnNjcm9sbC1saXN0LWl0ZW1zIFtpdGVtc109XCJpdGVtc1wiPjwvaXQtbmF2c2Nyb2xsLWxpc3QtaXRlbXM+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvbmF2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImNvbC0xMiBjb2wtbGctOCBpdC1wYWdlLXNlY3Rpb25zLWNvbnRhaW5lclwiPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInBhZ2VTZWN0aW9uc1RlbXBsYXRlID8gcGFnZVNlY3Rpb25zVGVtcGxhdGUgOiBkZWZhdWx0UGFnZVNlY3Rpb25zVGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbXM6IGl0ZW1zIH1cIj5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGUgI2RlZmF1bHRQYWdlU2VjdGlvbnNUZW1wbGF0ZSBsZXQtaXRlbXM9XCJpdGVtc1wiPlxuICBAZm9yIChpdGVtIG9mIGl0ZW1zOyB0cmFjayBpdGVtLmhyZWYpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGFyYWdyYXBoVGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbTogaXRlbSwgbGV2ZWw6IDEgfVwiPjwvbmctY29udGFpbmVyPlxuICB9XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BhcmFncmFwaFRlbXBsYXRlIGxldC1pdGVtPVwiaXRlbVwiIGxldC1sZXZlbD1cImxldmVsXCIgbGV0LW5leHRMZXZlbD1cImxldmVsKzFcIj5cbiAgQHN3aXRjaCAobGV2ZWwpIHtcbiAgICBAY2FzZSAoMSkge1xuICAgICAgPGgyIGNsYXNzPVwiaXQtcGFnZS1zZWN0aW9uXCIgaWQ9XCJ7eyBpdGVtLmhyZWYgfX1cIj57eyBpdGVtLnRpdGxlIH19PC9oMj5cbiAgICB9XG4gICAgQGNhc2UgKDIpIHtcbiAgICAgIDxoMyBjbGFzcz1cIml0LXBhZ2Utc2VjdGlvblwiIGlkPVwie3sgaXRlbS5ocmVmIH19XCI+e3sgaXRlbS50aXRsZSB9fTwvaDM+XG4gICAgfVxuICAgIEBjYXNlICgzKSB7XG4gICAgICA8aDQgY2xhc3M9XCJpdC1wYWdlLXNlY3Rpb25cIiBpZD1cInt7IGl0ZW0uaHJlZiB9fVwiPnt7IGl0ZW0udGl0bGUgfX08L2g0PlxuICAgIH1cbiAgICBAY2FzZSAoNCkge1xuICAgICAgPGg1IGNsYXNzPVwiaXQtcGFnZS1zZWN0aW9uXCIgaWQ9XCJ7eyBpdGVtLmhyZWYgfX1cIj57eyBpdGVtLnRpdGxlIH19PC9oNT5cbiAgICB9XG4gICAgQGRlZmF1bHQge1xuICAgICAgPGg2IGNsYXNzPVwiaXQtcGFnZS1zZWN0aW9uXCIgaWQ9XCJ7eyBpdGVtLmhyZWYgfX1cIj57eyBpdGVtLnRpdGxlIH19PC9oNj5cbiAgICB9XG4gIH1cbiAgPHA+e3sgaXRlbS50ZXh0IH19PC9wPlxuICBAZm9yIChpdGVtIG9mIGl0ZW0uY2hpbGRzOyB0cmFjayBpdGVtLmhyZWYpIHtcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwicGFyYWdyYXBoVGVtcGxhdGU7IGNvbnRleHQ6IHsgaXRlbTogaXRlbSwgbGV2ZWw6IG5leHRMZXZlbCB9XCI+PC9uZy1jb250YWluZXI+XG4gIH1cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdnNjcm9sbC9uYXZzY3JvbGwubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgTmF2c2Nyb2xsSXRlbSB7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgaHJlZjogc3RyaW5nO1xuICBjaGlsZHM6IE5hdnNjcm9sbEl0ZW1zO1xufVxuXG5leHBvcnQgdHlwZSBOYXZzY3JvbGxJdGVtcyA9IEFycmF5PE5hdnNjcm9sbEl0ZW0+O1xuXG5leHBvcnQgaW50ZXJmYWNlIE5hdnNjcm9sbEl0ZW1BY3RpdmUge1xuICBhY3RpdmU6IGJvb2xlYW47XG59XG4iXX0=
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { BehaviorSubject, distinctUntilChanged, map, Subject } from 'rxjs';
|
|
2
|
+
import { flattenNavscrollItems, search } from './navscroll.utils';
|
|
3
|
+
export class NavscrollStore {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.#state = new BehaviorSubject({
|
|
6
|
+
items: new Set(),
|
|
7
|
+
active: [],
|
|
8
|
+
selected: undefined,
|
|
9
|
+
progressBar: 0,
|
|
10
|
+
isMobile: false,
|
|
11
|
+
});
|
|
12
|
+
this.#state$ = this.#state.asObservable();
|
|
13
|
+
this.selected = this.#state$.pipe(map(({ selected }) => selected), distinctUntilChanged());
|
|
14
|
+
this.progressBar = this.#state$.pipe(map(({ progressBar }) => progressBar), distinctUntilChanged());
|
|
15
|
+
this.isMobile = this.#state$.pipe(map(({ isMobile }) => isMobile), distinctUntilChanged());
|
|
16
|
+
this.#menuItemSelected = new Subject();
|
|
17
|
+
this.menuItemSelected = this.#menuItemSelected.asObservable();
|
|
18
|
+
}
|
|
19
|
+
#state;
|
|
20
|
+
#state$;
|
|
21
|
+
#menuItemSelected;
|
|
22
|
+
init(navscrollItems) {
|
|
23
|
+
const flattenItems = flattenNavscrollItems(navscrollItems);
|
|
24
|
+
//the first item is selected by default
|
|
25
|
+
const selected = (flattenItems && flattenItems.length && flattenItems[0]) ?? undefined;
|
|
26
|
+
const state = {
|
|
27
|
+
items: new Set(flattenItems),
|
|
28
|
+
active: selected ? [selected] : [],
|
|
29
|
+
selected: selected,
|
|
30
|
+
progressBar: 0,
|
|
31
|
+
isMobile: false,
|
|
32
|
+
};
|
|
33
|
+
this.#state.next(state);
|
|
34
|
+
}
|
|
35
|
+
setActive(item) {
|
|
36
|
+
const { items } = this.#state.value;
|
|
37
|
+
const active = search(items, item);
|
|
38
|
+
const state = this.#state.value;
|
|
39
|
+
this.#state.next({ ...state, items, selected: item, active });
|
|
40
|
+
}
|
|
41
|
+
isActive$(item) {
|
|
42
|
+
return this.#state.asObservable().pipe(map(state => state.active.includes(item)));
|
|
43
|
+
}
|
|
44
|
+
updateProgressBar(container) {
|
|
45
|
+
if (!container) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
const offset = Math.abs(container.getBoundingClientRect().top);
|
|
49
|
+
const height = container.getBoundingClientRect().height;
|
|
50
|
+
const scrollAmount = (offset / height) * 100;
|
|
51
|
+
const scrollValue = Math.min(100, Math.max(0, scrollAmount));
|
|
52
|
+
const state = this.#state.value;
|
|
53
|
+
this.#state.next({ ...state, progressBar: scrollValue });
|
|
54
|
+
}
|
|
55
|
+
selectMenuItem() {
|
|
56
|
+
this.#menuItemSelected.next(undefined);
|
|
57
|
+
}
|
|
58
|
+
setMobile({ innerWidth }) {
|
|
59
|
+
const isLessThan992px = innerWidth < 992;
|
|
60
|
+
const isMobile = isLessThan992px;
|
|
61
|
+
const state = this.#state.value;
|
|
62
|
+
this.#state.next({ ...state, isMobile });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLnN0b3JlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdnNjcm9sbC9uYXZzY3JvbGwuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxvQkFBb0IsRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQVVsRSxNQUFNLE9BQU8sY0FBYztJQUEzQjtRQUNXLFdBQU0sR0FBRyxJQUFJLGVBQWUsQ0FBaUI7WUFDcEQsS0FBSyxFQUFFLElBQUksR0FBRyxFQUFpQjtZQUMvQixNQUFNLEVBQUUsRUFBRTtZQUNWLFFBQVEsRUFBRSxTQUFTO1lBQ25CLFdBQVcsRUFBRSxDQUFDO1lBQ2QsUUFBUSxFQUFFLEtBQUs7U0FDaEIsQ0FBQyxDQUFDO1FBRU0sWUFBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFckMsYUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNuQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDL0Isb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUVPLGdCQUFXLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQ3RDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQyxFQUNyQyxvQkFBb0IsRUFBRSxDQUN2QixDQUFDO1FBRU8sYUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNuQyxHQUFHLENBQUMsQ0FBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFDL0Isb0JBQW9CLEVBQUUsQ0FDdkIsQ0FBQztRQUVPLHNCQUFpQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFFbEMscUJBQWdCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBb0RwRSxDQUFDO0lBL0VVLE1BQU0sQ0FNWjtJQUVNLE9BQU8sQ0FBOEI7SUFpQnJDLGlCQUFpQixDQUFpQjtJQUkzQyxJQUFJLENBQUMsY0FBb0M7UUFDdkMsTUFBTSxZQUFZLEdBQUcscUJBQXFCLENBQUMsY0FBYyxDQUFDLENBQUM7UUFDM0QsdUNBQXVDO1FBQ3ZDLE1BQU0sUUFBUSxHQUFJLENBQUMsWUFBWSxJQUFJLFlBQVksQ0FBQyxNQUFNLElBQUksWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFtQixJQUFJLFNBQVMsQ0FBQztRQUUxRyxNQUFNLEtBQUssR0FBRztZQUNaLEtBQUssRUFBRSxJQUFJLEdBQUcsQ0FBQyxZQUFZLENBQUM7WUFDNUIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTtZQUNsQyxRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsQ0FBQztZQUNkLFFBQVEsRUFBRSxLQUFLO1NBQ2hCLENBQUM7UUFFRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQsU0FBUyxDQUFDLElBQW1CO1FBQzNCLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUVwQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ25DLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQW1CO1FBQzNCLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BGLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxTQUFzQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPO1FBQ1QsQ0FBQztRQUNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDL0QsTUFBTSxNQUFNLEdBQUcsU0FBUyxDQUFDLHFCQUFxQixFQUFFLENBQUMsTUFBTSxDQUFDO1FBQ3hELE1BQU0sWUFBWSxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLEdBQUcsQ0FBQztRQUM3QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDO1FBQzdELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCxTQUFTLENBQUMsRUFBRSxVQUFVLEVBQTBCO1FBQzlDLE1BQU0sZUFBZSxHQUFHLFVBQVUsR0FBRyxHQUFHLENBQUM7UUFDekMsTUFBTSxRQUFRLEdBQUcsZUFBZSxDQUFDO1FBQ2pDLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUMzQyxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE5hdnNjcm9sbEl0ZW0gfSBmcm9tICcuL25hdnNjcm9sbC5tb2RlbCc7XG5pbXBvcnQgeyBmbGF0dGVuTmF2c2Nyb2xsSXRlbXMsIHNlYXJjaCB9IGZyb20gJy4vbmF2c2Nyb2xsLnV0aWxzJztcblxuaW50ZXJmYWNlIE5hdnNjcm9sbFN0YXRlIHtcbiAgaXRlbXM6IFNldDxOYXZzY3JvbGxJdGVtPjtcbiAgYWN0aXZlOiBBcnJheTxOYXZzY3JvbGxJdGVtPjtcbiAgc2VsZWN0ZWQ/OiBOYXZzY3JvbGxJdGVtO1xuICBwcm9ncmVzc0JhcjogbnVtYmVyO1xuICBpc01vYmlsZTogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGNsYXNzIE5hdnNjcm9sbFN0b3JlIHtcbiAgcmVhZG9ubHkgI3N0YXRlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxOYXZzY3JvbGxTdGF0ZT4oe1xuICAgIGl0ZW1zOiBuZXcgU2V0PE5hdnNjcm9sbEl0ZW0+KCksXG4gICAgYWN0aXZlOiBbXSxcbiAgICBzZWxlY3RlZDogdW5kZWZpbmVkLFxuICAgIHByb2dyZXNzQmFyOiAwLFxuICAgIGlzTW9iaWxlOiBmYWxzZSxcbiAgfSk7XG5cbiAgcmVhZG9ubHkgI3N0YXRlJCA9IHRoaXMuI3N0YXRlLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHJlYWRvbmx5IHNlbGVjdGVkID0gdGhpcy4jc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh7IHNlbGVjdGVkIH0pID0+IHNlbGVjdGVkKSxcbiAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICk7XG5cbiAgcmVhZG9ubHkgcHJvZ3Jlc3NCYXIgPSB0aGlzLiNzdGF0ZSQucGlwZShcbiAgICBtYXAoKHsgcHJvZ3Jlc3NCYXIgfSkgPT4gcHJvZ3Jlc3NCYXIpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgKTtcblxuICByZWFkb25seSBpc01vYmlsZSA9IHRoaXMuI3N0YXRlJC5waXBlKFxuICAgIG1hcCgoeyBpc01vYmlsZSB9KSA9PiBpc01vYmlsZSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICApO1xuXG4gIHJlYWRvbmx5ICNtZW51SXRlbVNlbGVjdGVkID0gbmV3IFN1YmplY3QoKTtcblxuICByZWFkb25seSBtZW51SXRlbVNlbGVjdGVkID0gdGhpcy4jbWVudUl0ZW1TZWxlY3RlZC5hc09ic2VydmFibGUoKTtcblxuICBpbml0KG5hdnNjcm9sbEl0ZW1zOiBBcnJheTxOYXZzY3JvbGxJdGVtPikge1xuICAgIGNvbnN0IGZsYXR0ZW5JdGVtcyA9IGZsYXR0ZW5OYXZzY3JvbGxJdGVtcyhuYXZzY3JvbGxJdGVtcyk7XG4gICAgLy90aGUgZmlyc3QgaXRlbSBpcyBzZWxlY3RlZCBieSBkZWZhdWx0XG4gICAgY29uc3Qgc2VsZWN0ZWQgPSAoKGZsYXR0ZW5JdGVtcyAmJiBmbGF0dGVuSXRlbXMubGVuZ3RoICYmIGZsYXR0ZW5JdGVtc1swXSkgYXMgTmF2c2Nyb2xsSXRlbSkgPz8gdW5kZWZpbmVkO1xuXG4gICAgY29uc3Qgc3RhdGUgPSB7XG4gICAgICBpdGVtczogbmV3IFNldChmbGF0dGVuSXRlbXMpLFxuICAgICAgYWN0aXZlOiBzZWxlY3RlZCA/IFtzZWxlY3RlZF0gOiBbXSxcbiAgICAgIHNlbGVjdGVkOiBzZWxlY3RlZCxcbiAgICAgIHByb2dyZXNzQmFyOiAwLFxuICAgICAgaXNNb2JpbGU6IGZhbHNlLFxuICAgIH07XG5cbiAgICB0aGlzLiNzdGF0ZS5uZXh0KHN0YXRlKTtcbiAgfVxuXG4gIHNldEFjdGl2ZShpdGVtOiBOYXZzY3JvbGxJdGVtKSB7XG4gICAgY29uc3QgeyBpdGVtcyB9ID0gdGhpcy4jc3RhdGUudmFsdWU7XG5cbiAgICBjb25zdCBhY3RpdmUgPSBzZWFyY2goaXRlbXMsIGl0ZW0pO1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy4jc3RhdGUudmFsdWU7XG4gICAgdGhpcy4jc3RhdGUubmV4dCh7IC4uLnN0YXRlLCBpdGVtcywgc2VsZWN0ZWQ6IGl0ZW0sIGFjdGl2ZSB9KTtcbiAgfVxuXG4gIGlzQWN0aXZlJChpdGVtOiBOYXZzY3JvbGxJdGVtKSB7XG4gICAgcmV0dXJuIHRoaXMuI3N0YXRlLmFzT2JzZXJ2YWJsZSgpLnBpcGUobWFwKHN0YXRlID0+IHN0YXRlLmFjdGl2ZS5pbmNsdWRlcyhpdGVtKSkpO1xuICB9XG5cbiAgdXBkYXRlUHJvZ3Jlc3NCYXIoY29udGFpbmVyOiBIVE1MRWxlbWVudCkge1xuICAgIGlmICghY29udGFpbmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IG9mZnNldCA9IE1hdGguYWJzKGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS50b3ApO1xuICAgIGNvbnN0IGhlaWdodCA9IGNvbnRhaW5lci5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQ7XG4gICAgY29uc3Qgc2Nyb2xsQW1vdW50ID0gKG9mZnNldCAvIGhlaWdodCkgKiAxMDA7XG4gICAgY29uc3Qgc2Nyb2xsVmFsdWUgPSBNYXRoLm1pbigxMDAsIE1hdGgubWF4KDAsIHNjcm9sbEFtb3VudCkpO1xuICAgIGNvbnN0IHN0YXRlID0gdGhpcy4jc3RhdGUudmFsdWU7XG4gICAgdGhpcy4jc3RhdGUubmV4dCh7IC4uLnN0YXRlLCBwcm9ncmVzc0Jhcjogc2Nyb2xsVmFsdWUgfSk7XG4gIH1cblxuICBzZWxlY3RNZW51SXRlbSgpIHtcbiAgICB0aGlzLiNtZW51SXRlbVNlbGVjdGVkLm5leHQodW5kZWZpbmVkKTtcbiAgfVxuXG4gIHNldE1vYmlsZSh7IGlubmVyV2lkdGggfTogeyBpbm5lcldpZHRoOiBudW1iZXIgfSkge1xuICAgIGNvbnN0IGlzTGVzc1RoYW45OTJweCA9IGlubmVyV2lkdGggPCA5OTI7XG4gICAgY29uc3QgaXNNb2JpbGUgPSBpc0xlc3NUaGFuOTkycHg7XG4gICAgY29uc3Qgc3RhdGUgPSB0aGlzLiNzdGF0ZS52YWx1ZTtcbiAgICB0aGlzLiNzdGF0ZS5uZXh0KHsgLi4uc3RhdGUsIGlzTW9iaWxlIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
function searchFn(items, item) {
|
|
2
|
+
//ricerca
|
|
3
|
+
const nodes = Array.from(items);
|
|
4
|
+
const parent = nodes.find(i => i.childs.includes(item));
|
|
5
|
+
const ancestors = parent?.childs?.length ? searchFn(items, parent) : [];
|
|
6
|
+
return [item, ...ancestors];
|
|
7
|
+
}
|
|
8
|
+
function flattenNavscrollItemsFn(items) {
|
|
9
|
+
const result = [];
|
|
10
|
+
function flatten(items) {
|
|
11
|
+
for (const item of items) {
|
|
12
|
+
result.push(item);
|
|
13
|
+
if (item.childs && item.childs.length > 0) {
|
|
14
|
+
flatten(item.childs);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
flatten(items);
|
|
19
|
+
return result;
|
|
20
|
+
}
|
|
21
|
+
export const search = searchFn;
|
|
22
|
+
export const flattenNavscrollItems = flattenNavscrollItemsFn;
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2c2Nyb2xsLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL25hdnNjcm9sbC9uYXZzY3JvbGwudXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsU0FBUyxRQUFRLENBQUMsS0FBeUIsRUFBRSxJQUFtQjtJQUM5RCxTQUFTO0lBQ1QsTUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoQyxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUN4RCxNQUFNLFNBQVMsR0FBRyxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0lBQ3hFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBRUQsU0FBUyx1QkFBdUIsQ0FBQyxLQUFxQjtJQUNwRCxNQUFNLE1BQU0sR0FBbUIsRUFBRSxDQUFDO0lBRWxDLFNBQVMsT0FBTyxDQUFDLEtBQXFCO1FBQ3BDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFLENBQUM7WUFDekIsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNsQixJQUFJLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2YsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQztBQUVELE1BQU0sQ0FBQyxNQUFNLE1BQU0sR0FBRyxRQUFRLENBQUM7QUFDL0IsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOYXZzY3JvbGxJdGVtLCBOYXZzY3JvbGxJdGVtcyB9IGZyb20gJy4vbmF2c2Nyb2xsLm1vZGVsJztcblxuZnVuY3Rpb24gc2VhcmNoRm4oaXRlbXM6IFNldDxOYXZzY3JvbGxJdGVtPiwgaXRlbTogTmF2c2Nyb2xsSXRlbSk6IEFycmF5PE5hdnNjcm9sbEl0ZW0+IHtcbiAgLy9yaWNlcmNhXG4gIGNvbnN0IG5vZGVzID0gQXJyYXkuZnJvbShpdGVtcyk7XG4gIGNvbnN0IHBhcmVudCA9IG5vZGVzLmZpbmQoaSA9PiBpLmNoaWxkcy5pbmNsdWRlcyhpdGVtKSk7XG4gIGNvbnN0IGFuY2VzdG9ycyA9IHBhcmVudD8uY2hpbGRzPy5sZW5ndGggPyBzZWFyY2hGbihpdGVtcywgcGFyZW50KSA6IFtdO1xuICByZXR1cm4gW2l0ZW0sIC4uLmFuY2VzdG9yc107XG59XG5cbmZ1bmN0aW9uIGZsYXR0ZW5OYXZzY3JvbGxJdGVtc0ZuKGl0ZW1zOiBOYXZzY3JvbGxJdGVtcyk6IE5hdnNjcm9sbEl0ZW1zIHtcbiAgY29uc3QgcmVzdWx0OiBOYXZzY3JvbGxJdGVtcyA9IFtdO1xuXG4gIGZ1bmN0aW9uIGZsYXR0ZW4oaXRlbXM6IE5hdnNjcm9sbEl0ZW1zKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICByZXN1bHQucHVzaChpdGVtKTtcbiAgICAgIGlmIChpdGVtLmNoaWxkcyAmJiBpdGVtLmNoaWxkcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIGZsYXR0ZW4oaXRlbS5jaGlsZHMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGZsYXR0ZW4oaXRlbXMpO1xuICByZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgY29uc3Qgc2VhcmNoID0gc2VhcmNoRm47XG5leHBvcnQgY29uc3QgZmxhdHRlbk5hdnNjcm9sbEl0ZW1zID0gZmxhdHRlbk5hdnNjcm9sbEl0ZW1zRm47XG4iXX0=
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import { provideDesignAngularKit } from './provide-design-angular-kit';
|
|
3
2
|
import { ItAccordionComponent } from './components/core/accordion/accordion.component';
|
|
4
3
|
import { ItAlertComponent } from './components/core/alert/alert.component';
|
|
5
4
|
import { ItAvatarModule } from './components/core/avatar/avatar.module';
|
|
@@ -15,7 +14,6 @@ import { ItDropdownModule } from './components/core/dropdown/dropdown.module';
|
|
|
15
14
|
import { ItForwardDirective } from './components/core/forward/forward.directive';
|
|
16
15
|
import { ItLinkComponent } from './components/core/link/link.component';
|
|
17
16
|
import { ItListModule } from './components/core/list/list.module';
|
|
18
|
-
import { ItMegamenuComponent } from './components/navigation/megamenu/megamenu.component';
|
|
19
17
|
import { ItModalComponent } from './components/core/modal/modal.component';
|
|
20
18
|
import { ItNotificationsComponent } from './components/core/notifications/notifications.component';
|
|
21
19
|
import { ItPaginationComponent } from './components/core/pagination/pagination.component';
|
|
@@ -26,13 +24,16 @@ import { ItSpinnerComponent } from './components/core/spinner/spinner.component'
|
|
|
26
24
|
import { ItSteppersModule } from './components/core/steppers/steppers.module';
|
|
27
25
|
import { ItTabModule } from './components/core/tab/tab.module';
|
|
28
26
|
import { ItTableModule } from './components/core/table/table.module';
|
|
27
|
+
import { ItTimelineModule } from './components/core/timeline/timeline.module';
|
|
29
28
|
import { ItTooltipDirective } from './components/core/tooltip/tooltip.directive';
|
|
30
29
|
import { ItFormModule } from './components/form/form.module';
|
|
31
30
|
import { ItBackButtonComponent } from './components/navigation/back-button/back-button.component';
|
|
32
31
|
import { ItBackToTopComponent } from './components/navigation/back-to-top/back-to-top.component';
|
|
33
32
|
import { ItBreadcrumbsModule } from './components/navigation/breadcrumbs/breadcrumbs.module';
|
|
34
33
|
import { ItHeaderComponent } from './components/navigation/header/header.component';
|
|
34
|
+
import { ItMegamenuComponent } from './components/navigation/megamenu/megamenu.component';
|
|
35
35
|
import { ItNavBarModule } from './components/navigation/navbar/navbar.module';
|
|
36
|
+
import { ItNavscrollComponent } from './components/navigation/navscroll/navscroll.component';
|
|
36
37
|
import { ItSidebarComponent } from './components/navigation/sidebar/sidebar.component';
|
|
37
38
|
import { ItErrorPageComponent } from './components/utils/error-page/error-page.component';
|
|
38
39
|
import { ItIconComponent } from './components/utils/icon/icon.component';
|
|
@@ -40,7 +41,7 @@ import { ItLanguageSwitcherComponent } from './components/utils/language-switche
|
|
|
40
41
|
import { ItDateAgoPipe } from './pipes/date-ago.pipe';
|
|
41
42
|
import { ItDurationPipe } from './pipes/duration.pipe';
|
|
42
43
|
import { ItMarkMatchingTextPipe } from './pipes/mark-matching-text.pipe';
|
|
43
|
-
import {
|
|
44
|
+
import { provideDesignAngularKit } from './provide-design-angular-kit';
|
|
44
45
|
import * as i0 from "@angular/core";
|
|
45
46
|
/**
|
|
46
47
|
* Core components
|
|
@@ -85,6 +86,7 @@ const navigation = [
|
|
|
85
86
|
ItNavBarModule,
|
|
86
87
|
ItSidebarComponent,
|
|
87
88
|
ItMegamenuComponent,
|
|
89
|
+
ItNavscrollComponent,
|
|
88
90
|
];
|
|
89
91
|
/**
|
|
90
92
|
* Utils components
|
|
@@ -147,7 +149,8 @@ export class DesignAngularKitModule {
|
|
|
147
149
|
ItHeaderComponent,
|
|
148
150
|
ItNavBarModule,
|
|
149
151
|
ItSidebarComponent,
|
|
150
|
-
ItMegamenuComponent,
|
|
152
|
+
ItMegamenuComponent,
|
|
153
|
+
ItNavscrollComponent, ItErrorPageComponent, ItIconComponent, ItLanguageSwitcherComponent, ItDateAgoPipe, ItDurationPipe, ItMarkMatchingTextPipe], exports: [ItAccordionComponent,
|
|
151
154
|
ItAlertComponent,
|
|
152
155
|
ItAvatarModule,
|
|
153
156
|
ItBadgeDirective,
|
|
@@ -180,7 +183,8 @@ export class DesignAngularKitModule {
|
|
|
180
183
|
ItHeaderComponent,
|
|
181
184
|
ItNavBarModule,
|
|
182
185
|
ItSidebarComponent,
|
|
183
|
-
ItMegamenuComponent,
|
|
186
|
+
ItMegamenuComponent,
|
|
187
|
+
ItNavscrollComponent, ItErrorPageComponent, ItIconComponent, ItLanguageSwitcherComponent, ItDateAgoPipe, ItDurationPipe, ItMarkMatchingTextPipe] }); }
|
|
184
188
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: DesignAngularKitModule, imports: [ItAlertComponent,
|
|
185
189
|
ItAvatarModule,
|
|
186
190
|
ItCarouselModule,
|
|
@@ -220,4 +224,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
|
|
|
220
224
|
exports: components,
|
|
221
225
|
}]
|
|
222
226
|
}] });
|
|
223
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduLWFuZ3VsYXIta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2Rlc2lnbi1hbmd1bGFyLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFOUQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVB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YztZQUtkLGdCQUFnQjtZQUdoQixjQUFjO1lBQ2QsZ0JBQWdCO1lBR2hCLFlBQVk7WUFRWixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGFBQWE7WUFFYixnQkFBZ0IsRUEyQlAsa0JBQWtCO1lBQzNCLFlBQVksRUFuQlosbUJBQW1CO1lBRW5CLGNBQWM7OzJGQTJCSCxzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEZXNpZ25Bbmd1bGFyS2l0Q29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Rlc2lnbi1hbmd1bGFyLWtpdC1jb25maWcnO1xuaW1wb3J0IHsgcHJvdmlkZURlc2lnbkFuZ3VsYXJLaXQgfSBmcm9tICcuL3Byb3ZpZGUtZGVzaWduLWFuZ3VsYXIta2l0JztcbmltcG9ydCB7IEl0QWNjb3JkaW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvYWNjb3JkaW9uL2FjY29yZGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRBbGVydENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2FsZXJ0L2FsZXJ0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEF2YXRhck1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2F2YXRhci9hdmF0YXIubW9kdWxlJztcbmltcG9ydCB7IEl0QmFkZ2VEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9iYWRnZS9iYWRnZS5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSXRCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdENhbGxvdXRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9jYWxsb3V0L2NhbGxvdXQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0Q2FyZENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2NhcmQvY2FyZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRDYXJvdXNlbE1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2Nhcm91c2VsL2Nhcm91c2VsLm1vZHVsZSc7XG5pbXBvcnQgeyBJdENoaXBDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9jaGlwL2NoaXAuY29tcG9uZW50JztcbmltcG9ydCB7IEl0Q29sbGFwc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9jb2xsYXBzZS9jb2xsYXBzZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXREaW1tZXJNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9kaW1tZXIvZGltbWVyLm1vZHVsZSc7XG5pbXBvcnQgeyBJdERyb3Bkb3duTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlJztcbmltcG9ydCB7IEl0Rm9yd2FyZERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2ZvcndhcmQvZm9yd2FyZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSXRMaW5rQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvbGluay9saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdExpc3RNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9saXN0L2xpc3QubW9kdWxlJztcbmltcG9ydCB7IEl0TWVnYW1lbnVDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9tZWdhbWVudS9tZWdhbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRNb2RhbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL21vZGFsL21vZGFsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdE5vdGlmaWNhdGlvbnNDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9ub3RpZmljYXRpb25zL25vdGlmaWNhdGlvbnMuY29tcG9uZW50JztcbmltcG9ydCB7IEl0UGFnaW5hdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRQb3BvdmVyRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvcG9wb3Zlci9wb3BvdmVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdFByb2dyZXNzQmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvcHJvZ3Jlc3MtYmFyL3Byb2dyZXNzLWJhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRQcm9ncmVzc0J1dHRvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3Byb2dyZXNzLWJ1dHRvbi9wcm9ncmVzcy1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0U3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRTdGVwcGVyc01vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3N0ZXBwZXJzL3N0ZXBwZXJzLm1vZHVsZSc7XG5pbXBvcnQgeyBJdFRhYk1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3RhYi90YWIubW9kdWxlJztcbmltcG9ydCB7IEl0VGFibGVNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS90YWJsZS90YWJsZS5tb2R1bGUnO1xuaW1wb3J0IHsgSXRUb29sdGlwRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvdG9vbHRpcC90b29sdGlwLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdEZvcm1Nb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvZm9ybS9mb3JtLm1vZHVsZSc7XG5pbXBvcnQgeyBJdEJhY2tCdXR0b25Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9iYWNrLWJ1dHRvbi9iYWNrLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRCYWNrVG9Ub3BDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9iYWNrLXRvLXRvcC9iYWNrLXRvLXRvcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRCcmVhZGNydW1ic01vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLm1vZHVsZSc7XG5pbXBvcnQgeyBJdEhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9uYXZpZ2F0aW9uL2hlYWRlci9oZWFkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEl0TmF2QmFyTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2YmFyL25hdmJhci5tb2R1bGUnO1xuaW1wb3J0IHsgSXRTaWRlYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vc2lkZWJhci9zaWRlYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdEVycm9yUGFnZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91dGlscy9lcnJvci1wYWdlL2Vycm9yLXBhZ2UuY29tcG9uZW50JztcbmltcG9ydCB7IEl0SWNvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91dGlscy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0TGFuZ3VhZ2VTd2l0Y2hlckNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy91dGlscy9sYW5ndWFnZS1zd2l0Y2hlci9sYW5ndWFnZS1zd2l0Y2hlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXREYXRlQWdvUGlwZSB9IGZyb20gJy4vcGlwZXMvZGF0ZS1hZ28ucGlwZSc7XG5pbXBvcnQgeyBJdER1cmF0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvZHVyYXRpb24ucGlwZSc7XG5pbXBvcnQgeyBJdE1hcmtNYXRjaGluZ1RleHRQaXBlIH0gZnJvbSAnLi9waXBlcy9tYXJrLW1hdGNoaW5nLXRleHQucGlwZSc7XG5pbXBvcnQgeyBJdFRpbWVsaW5lTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvdGltZWxpbmUvdGltZWxpbmUubW9kdWxlJztcblxuLyoqXG4gKiBDb3JlIGNvbXBvbmVudHNcbiAqL1xuY29uc3QgY29yZSA9IFtcbiAgSXRBY2NvcmRpb25Db21wb25lbnQsXG4gIEl0QWxlcnRDb21wb25lbnQsXG4gIEl0QXZhdGFyTW9kdWxlLFxuICBJdEJhZGdlRGlyZWN0aXZlLFxuICBJdEJ1dHRvbkRpcmVjdGl2ZSxcbiAgSXRDYWxsb3V0Q29tcG9uZW50LFxuICBJdENhcmRDb21wb25lbnQsXG4gIEl0Q2Fyb3VzZWxNb2R1bGUsXG4gIEl0Q2hpcENvbXBvbmVudCxcbiAgSXRDb2xsYXBzZUNvbXBvbmVudCxcbiAgSXREaW1tZXJNb2R1bGUsXG4gIEl0RHJvcGRvd25Nb2R1bGUsXG4gIEl0Rm9yd2FyZERpcmVjdGl2ZSxcbiAgSXRMaW5rQ29tcG9uZW50LFxuICBJdExpc3RNb2R1bGUsXG4gIEl0TW9kYWxDb21wb25lbnQsXG4gIEl0Tm90aWZpY2F0aW9uc0NvbXBvbmVudCxcbiAgSXRQYWdpbmF0aW9uQ29tcG9uZW50LFxuICBJdFBvcG92ZXJEaXJlY3RpdmUsXG4gIEl0UHJvZ3Jlc3NCYXJDb21wb25lbnQsXG4gIEl0UHJvZ3Jlc3NCdXR0b25Db21wb25lbnQsXG4gIEl0U3Bpbm5lckNvbXBvbmVudCxcbiAgSXRTdGVwcGVyc01vZHVsZSxcbiAgSXRUYWJNb2R1bGUsXG4gIEl0VGFibGVNb2R1bGUsXG4gIEl0VG9vbHRpcERpcmVjdGl2ZSxcbiAgSXRUaW1lbGluZU1vZHVsZSxcbl07XG5cbi8qKlxuICogTmF2aWdhdGlvbiBDb21wb25lbnRzXG4gKi9cbmNvbnN0IG5hdmlnYXRpb24gPSBbXG4gIEl0QmFja0J1dHRvbkNvbXBvbmVudCxcbiAgSXRCYWNrVG9Ub3BDb21wb25lbnQsXG4gIEl0QnJlYWRjcnVtYnNNb2R1bGUsXG4gIEl0SGVhZGVyQ29tcG9uZW50LFxuICBJdE5hdkJhck1vZHVsZSxcbiAgSXRTaWRlYmFyQ29tcG9uZW50LFxuICBJdE1lZ2FtZW51Q29tcG9uZW50LFxuXTtcblxuLyoqXG4gKiBVdGlscyBjb21wb25lbnRzXG4gKi9cbmNvbnN0IHV0aWxzID0gW0l0RXJyb3JQYWdlQ29tcG9uZW50LCBJdEljb25Db21wb25lbnQsIEl0TGFuZ3VhZ2VTd2l0Y2hlckNvbXBvbmVudF07XG5cbi8qKlxuICogTGlicmFyeSBwaXBlc1xuICovXG5jb25zdCBwaXBlcyA9IFtJdERhdGVBZ29QaXBlLCBJdER1cmF0aW9uUGlwZSwgSXRNYXJrTWF0Y2hpbmdUZXh0UGlwZV07XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIC4uLmNvcmUsIC8vIENvcmUgY29tcG9uZW50c1xuICBJdEZvcm1Nb2R1bGUsIC8vIEZvcm0gY29tcG9uZW50c1xuICAuLi5uYXZpZ2F0aW9uLCAvLyBOYXZpZ2F0aW9uIENvbXBvbmVudHNcbiAgLi4udXRpbHMsIC8vIFV0aWxzIGNvbXBvbmVudHNcbiAgLi4ucGlwZXMsIC8vIExpYnJhcnkgcGlwZXNcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IGNvbXBvbmVudHMsXG4gIGV4cG9ydHM6IGNvbXBvbmVudHMsXG59KVxuZXhwb3J0IGNsYXNzIERlc2lnbkFuZ3VsYXJLaXRNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnPzogRGVzaWduQW5ndWxhcktpdENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzaWduQW5ndWxhcktpdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGVzaWduQW5ndWxhcktpdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3Byb3ZpZGVEZXNpZ25Bbmd1bGFyS2l0KGNvbmZpZyldLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzaWduQW5ndWxhcktpdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGVzaWduQW5ndWxhcktpdE1vZHVsZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
227
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzaWduLWFuZ3VsYXIta2l0Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2Rlc2lnbi1hbmd1bGFyLWtpdC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF1QixRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDdkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0Q0FBNEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sdUNBQXVDLENBQUM7QUFDeEUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1Q0FBdUMsQ0FBQztBQUN4RSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbEUsT0FBTyxFQUFF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QXRCWixxQkFBcUI7WUFFckIsbUJBQW1CO1lBQ25CLGlCQUFpQjtZQUNqQixjQUFjLEVBU0Qsb0JBQW9CLEVBQW1CLDJCQUEyQixFQTVDL0UsY0FBYztZQUtkLGdCQUFnQjtZQUdoQixjQUFjO1lBQ2QsZ0JBQWdCO1lBR2hCLFlBQVk7WUFRWixnQkFBZ0I7WUFDaEIsV0FBVztZQUNYLGFBQWE7WUFFYixnQkFBZ0IsRUE0QlAsa0JBQWtCO1lBQzNCLFlBQVksRUFwQlosbUJBQW1CO1lBRW5CLGNBQWM7OzJGQTRCSCxzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLFVBQVU7b0JBQ25CLE9BQU8sRUFBRSxVQUFVO2lCQUNwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJdEFjY29yZGlvbkNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2FjY29yZGlvbi9hY2NvcmRpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0QWxlcnRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9hbGVydC9hbGVydC5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRBdmF0YXJNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9hdmF0YXIvYXZhdGFyLm1vZHVsZSc7XG5pbXBvcnQgeyBJdEJhZGdlRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSXRDYWxsb3V0Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvY2FsbG91dC9jYWxsb3V0LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdENhcmRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9jYXJkL2NhcmQuY29tcG9uZW50JztcbmltcG9ydCB7IEl0Q2Fyb3VzZWxNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9jYXJvdXNlbC9jYXJvdXNlbC5tb2R1bGUnO1xuaW1wb3J0IHsgSXRDaGlwQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvY2hpcC9jaGlwLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdENvbGxhcHNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvY29sbGFwc2UvY29sbGFwc2UuY29tcG9uZW50JztcbmltcG9ydCB7IEl0RGltbWVyTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvZGltbWVyL2RpbW1lci5tb2R1bGUnO1xuaW1wb3J0IHsgSXREcm9wZG93bk1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2Ryb3Bkb3duL2Ryb3Bkb3duLm1vZHVsZSc7XG5pbXBvcnQgeyBJdEZvcndhcmREaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9mb3J3YXJkL2ZvcndhcmQuZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0TGlua0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL2xpbmsvbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRMaXN0TW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvbGlzdC9saXN0Lm1vZHVsZSc7XG5pbXBvcnQgeyBJdE1vZGFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvbW9kYWwvbW9kYWwuY29tcG9uZW50JztcbmltcG9ydCB7IEl0Tm90aWZpY2F0aW9uc0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL25vdGlmaWNhdGlvbnMvbm90aWZpY2F0aW9ucy5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRQYWdpbmF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFBvcG92ZXJEaXJlY3RpdmUgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9wb3BvdmVyL3BvcG92ZXIuZGlyZWN0aXZlJztcbmltcG9ydCB7IEl0UHJvZ3Jlc3NCYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvY29yZS9wcm9ncmVzcy1iYXIvcHJvZ3Jlc3MtYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFByb2dyZXNzQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvcHJvZ3Jlc3MtYnV0dG9uL3Byb2dyZXNzLWJ1dHRvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFN0ZXBwZXJzTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvc3RlcHBlcnMvc3RlcHBlcnMubW9kdWxlJztcbmltcG9ydCB7IEl0VGFiTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvdGFiL3RhYi5tb2R1bGUnO1xuaW1wb3J0IHsgSXRUYWJsZU1vZHVsZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3RhYmxlL3RhYmxlLm1vZHVsZSc7XG5pbXBvcnQgeyBJdFRpbWVsaW5lTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2NvcmUvdGltZWxpbmUvdGltZWxpbmUubW9kdWxlJztcbmltcG9ydCB7IEl0VG9vbHRpcERpcmVjdGl2ZSB9IGZyb20gJy4vY29tcG9uZW50cy9jb3JlL3Rvb2x0aXAvdG9vbHRpcC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgSXRGb3JtTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL2Zvcm0vZm9ybS5tb2R1bGUnO1xuaW1wb3J0IHsgSXRCYWNrQnV0dG9uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vYmFjay1idXR0b24vYmFjay1idXR0b24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0QmFja1RvVG9wQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vYmFjay10by10b3AvYmFjay10by10b3AuY29tcG9uZW50JztcbmltcG9ydCB7IEl0QnJlYWRjcnVtYnNNb2R1bGUgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9icmVhZGNydW1icy9icmVhZGNydW1icy5tb2R1bGUnO1xuaW1wb3J0IHsgSXRIZWFkZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdE1lZ2FtZW51Q29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbWVnYW1lbnUvbWVnYW1lbnUuY29tcG9uZW50JztcbmltcG9ydCB7IEl0TmF2QmFyTW9kdWxlIH0gZnJvbSAnLi9jb21wb25lbnRzL25hdmlnYXRpb24vbmF2YmFyL25hdmJhci5tb2R1bGUnO1xuaW1wb3J0IHsgSXROYXZzY3JvbGxDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9uYXZzY3JvbGwvbmF2c2Nyb2xsLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdFNpZGViYXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9zaWRlYmFyL3NpZGViYXIuY29tcG9uZW50JztcbmltcG9ydCB7IEl0RXJyb3JQYWdlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2Vycm9yLXBhZ2UvZXJyb3ItcGFnZS5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2ljb24vaWNvbi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSXRMYW5ndWFnZVN3aXRjaGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3V0aWxzL2xhbmd1YWdlLXN3aXRjaGVyL2xhbmd1YWdlLXN3aXRjaGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZXNpZ25Bbmd1bGFyS2l0Q29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Rlc2lnbi1hbmd1bGFyLWtpdC1jb25maWcnO1xuaW1wb3J0IHsgSXREYXRlQWdvUGlwZSB9IGZyb20gJy4vcGlwZXMvZGF0ZS1hZ28ucGlwZSc7XG5pbXBvcnQgeyBJdER1cmF0aW9uUGlwZSB9IGZyb20gJy4vcGlwZXMvZHVyYXRpb24ucGlwZSc7XG5pbXBvcnQgeyBJdE1hcmtNYXRjaGluZ1RleHRQaXBlIH0gZnJvbSAnLi9waXBlcy9tYXJrLW1hdGNoaW5nLXRleHQucGlwZSc7XG5pbXBvcnQgeyBwcm92aWRlRGVzaWduQW5ndWxhcktpdCB9IGZyb20gJy4vcHJvdmlkZS1kZXNpZ24tYW5ndWxhci1raXQnO1xuXG4vKipcbiAqIENvcmUgY29tcG9uZW50c1xuICovXG5jb25zdCBjb3JlID0gW1xuICBJdEFjY29yZGlvbkNvbXBvbmVudCxcbiAgSXRBbGVydENvbXBvbmVudCxcbiAgSXRBdmF0YXJNb2R1bGUsXG4gIEl0QmFkZ2VEaXJlY3RpdmUsXG4gIEl0QnV0dG9uRGlyZWN0aXZlLFxuICBJdENhbGxvdXRDb21wb25lbnQsXG4gIEl0Q2FyZENvbXBvbmVudCxcbiAgSXRDYXJvdXNlbE1vZHVsZSxcbiAgSXRDaGlwQ29tcG9uZW50LFxuICBJdENvbGxhcHNlQ29tcG9uZW50LFxuICBJdERpbW1lck1vZHVsZSxcbiAgSXREcm9wZG93bk1vZHVsZSxcbiAgSXRGb3J3YXJkRGlyZWN0aXZlLFxuICBJdExpbmtDb21wb25lbnQsXG4gIEl0TGlzdE1vZHVsZSxcbiAgSXRNb2RhbENvbXBvbmVudCxcbiAgSXROb3RpZmljYXRpb25zQ29tcG9uZW50LFxuICBJdFBhZ2luYXRpb25Db21wb25lbnQsXG4gIEl0UG9wb3ZlckRpcmVjdGl2ZSxcbiAgSXRQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgSXRQcm9ncmVzc0J1dHRvbkNvbXBvbmVudCxcbiAgSXRTcGlubmVyQ29tcG9uZW50LFxuICBJdFN0ZXBwZXJzTW9kdWxlLFxuICBJdFRhYk1vZHVsZSxcbiAgSXRUYWJsZU1vZHVsZSxcbiAgSXRUb29sdGlwRGlyZWN0aXZlLFxuICBJdFRpbWVsaW5lTW9kdWxlLFxuXTtcblxuLyoqXG4gKiBOYXZpZ2F0aW9uIENvbXBvbmVudHNcbiAqL1xuY29uc3QgbmF2aWdhdGlvbiA9IFtcbiAgSXRCYWNrQnV0dG9uQ29tcG9uZW50LFxuICBJdEJhY2tUb1RvcENvbXBvbmVudCxcbiAgSXRCcmVhZGNydW1ic01vZHVsZSxcbiAgSXRIZWFkZXJDb21wb25lbnQsXG4gIEl0TmF2QmFyTW9kdWxlLFxuICBJdFNpZGViYXJDb21wb25lbnQsXG4gIEl0TWVnYW1lbnVDb21wb25lbnQsXG4gIEl0TmF2c2Nyb2xsQ29tcG9uZW50LFxuXTtcblxuLyoqXG4gKiBVdGlscyBjb21wb25lbnRzXG4gKi9cbmNvbnN0IHV0aWxzID0gW0l0RXJyb3JQYWdlQ29tcG9uZW50LCBJdEljb25Db21wb25lbnQsIEl0TGFuZ3VhZ2VTd2l0Y2hlckNvbXBvbmVudF07XG5cbi8qKlxuICogTGlicmFyeSBwaXBlc1xuICovXG5jb25zdCBwaXBlcyA9IFtJdERhdGVBZ29QaXBlLCBJdER1cmF0aW9uUGlwZSwgSXRNYXJrTWF0Y2hpbmdUZXh0UGlwZV07XG5cbmNvbnN0IGNvbXBvbmVudHMgPSBbXG4gIC4uLmNvcmUsIC8vIENvcmUgY29tcG9uZW50c1xuICBJdEZvcm1Nb2R1bGUsIC8vIEZvcm0gY29tcG9uZW50c1xuICAuLi5uYXZpZ2F0aW9uLCAvLyBOYXZpZ2F0aW9uIENvbXBvbmVudHNcbiAgLi4udXRpbHMsIC8vIFV0aWxzIGNvbXBvbmVudHNcbiAgLi4ucGlwZXMsIC8vIExpYnJhcnkgcGlwZXNcbl07XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IGNvbXBvbmVudHMsXG4gIGV4cG9ydHM6IGNvbXBvbmVudHMsXG59KVxuZXhwb3J0IGNsYXNzIERlc2lnbkFuZ3VsYXJLaXRNb2R1bGUge1xuICBwdWJsaWMgc3RhdGljIGZvclJvb3QoY29uZmlnPzogRGVzaWduQW5ndWxhcktpdENvbmZpZyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzaWduQW5ndWxhcktpdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGVzaWduQW5ndWxhcktpdE1vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW3Byb3ZpZGVEZXNpZ25Bbmd1bGFyS2l0KGNvbmZpZyldLFxuICAgIH07XG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGZvckNoaWxkKCk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGVzaWduQW5ndWxhcktpdE1vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGVzaWduQW5ndWxhcktpdE1vZHVsZSxcbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { HttpClient, provideHttpClient } from '@angular/common/http';
|
|
1
2
|
import { APP_INITIALIZER, importProvidersFrom, makeEnvironmentProviders } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import { loadFonts } from 'bootstrap-italia';
|
|
3
|
+
import { provideAnimationsAsync } from '@angular/platform-browser/animations/async';
|
|
4
4
|
import { TranslateLoader, TranslateModule, TranslateService } from '@ngx-translate/core';
|
|
5
|
-
import { HttpClient, provideHttpClient } from '@angular/common/http';
|
|
6
5
|
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
|
|
7
|
-
import {
|
|
6
|
+
import { loadFonts } from 'bootstrap-italia';
|
|
7
|
+
import { IT_ASSET_BASE_PATH } from './interfaces/design-angular-kit-config';
|
|
8
8
|
/**
|
|
9
9
|
* Configures DesignAngularKit library
|
|
10
10
|
* @param config the DesignAngularKit config
|
|
@@ -61,4 +61,4 @@ export function provideDesignAngularKit(config) {
|
|
|
61
61
|
});
|
|
62
62
|
return makeEnvironmentProviders(providers);
|
|
63
63
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
64
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZS1kZXNpZ24tYW5ndWxhci1raXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tYW5ndWxhci1raXQvc3JjL2xpYi9wcm92aWRlLWRlc2lnbi1hbmd1bGFyLWtpdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLGVBQWUsRUFBd0IsbUJBQW1CLEVBQUUsd0JBQXdCLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDL0gsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDcEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNqRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDN0MsT0FBTyxFQUEwQixrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBRXBHOzs7R0FHRztBQUNILE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxNQUErQjtJQUNyRSxJQUFJLGFBQWEsR0FBRyxvQkFBb0IsQ0FBQztJQUN6QyxJQUFJLE1BQU0sRUFBRSxhQUFhLEVBQUUsQ0FBQztRQUMxQixhQUFhLEdBQUcsTUFBTSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDMUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU0sU0FBUyxHQUEyQztRQUN4RDtZQUNFLE9BQU8sRUFBRSxrQkFBa0I7WUFDM0IsUUFBUSxFQUFFLGFBQWE7U0FDeEI7UUFDRCxzQkFBc0IsRUFBRTtRQUN4QixpQkFBaUIsRUFBRTtLQUNwQixDQUFDO0lBRUYsSUFBSSxNQUFNLEVBQUUsUUFBUSxLQUFLLEtBQUssRUFBRSxDQUFDO1FBQy9CLHVEQUF1RDtRQUN2RCxTQUFTLENBQUMsSUFBSSxDQUFDO1lBQ2IsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLEdBQUcsRUFBRTtnQkFDZixPQUFPLEdBQUcsRUFBRTtvQkFDVixTQUFTLENBQUMsR0FBRyxhQUFhLGFBQWEsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUM7WUFDSixDQUFDO1lBQ0QsS0FBSyxFQUFFLElBQUk7U0FDWixDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsaURBQWlEO0lBQ2pELE1BQU0sVUFBVSxHQUFHLEdBQUcsYUFBYSxRQUFRLENBQUM7SUFDNUMsTUFBTSxVQUFVLEdBQUcsT0FBTyxDQUFDLENBQUMsb0VBQW9FO0lBQ2hHLFNBQVMsQ0FBQyxJQUFJLENBQ1osbUJBQW1CLENBQ2pCLGVBQWUsQ0FBQyxPQUFPLENBQUM7UUFDdEIsTUFBTSxFQUFFLE1BQU0sRUFBRSxlQUFlLEVBQUUsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLElBQUk7WUFDM0QsT0FBTyxFQUFFLGVBQWU7WUFDeEIsVUFBVSxFQUFFLENBQUMsSUFBZ0IsRUFBRSxFQUFFLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQztZQUN2RixJQUFJLEVBQUUsQ0FBQyxVQUFVLENBQUM7U0FDbkI7UUFDRCxlQUFlLEVBQUUsSUFBSTtRQUNyQixjQUFjLEVBQUUsSUFBSTtLQUNyQixDQUFDLENBQ0gsQ0FDRixDQUFDO0lBRUYsdURBQXVEO0lBQ3ZELFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDYixPQUFPLEVBQUUsZUFBZTtRQUN4QixVQUFVLEVBQUUsQ0FBQyxnQkFBa0MsRUFBRSxFQUFFO1lBQ2pELE9BQU8sR0FBRyxFQUFFO2dCQUNWLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsNkNBQTZDO1lBQ3hGLENBQUMsQ0FBQztRQUNKLENBQUM7UUFDRCxLQUFLLEVBQUUsSUFBSTtRQUNYLElBQUksRUFBRSxDQUFDLGdCQUFnQixDQUFDO0tBQ3pCLENBQUMsQ0FBQztJQUVILE9BQU8sd0JBQXdCLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDN0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIHByb3ZpZGVIdHRwQ2xpZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgQVBQX0lOSVRJQUxJWkVSLCBFbnZpcm9ubWVudFByb3ZpZGVycywgaW1wb3J0UHJvdmlkZXJzRnJvbSwgbWFrZUVudmlyb25tZW50UHJvdmlkZXJzLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUFuaW1hdGlvbnNBc3luYyB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXIvYW5pbWF0aW9ucy9hc3luYyc7XG5pbXBvcnQgeyBUcmFuc2xhdGVMb2FkZXIsIFRyYW5zbGF0ZU1vZHVsZSwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlSHR0cExvYWRlciB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2h0dHAtbG9hZGVyJztcbmltcG9ydCB7IGxvYWRGb250cyB9IGZyb20gJ2Jvb3RzdHJhcC1pdGFsaWEnO1xuaW1wb3J0IHsgRGVzaWduQW5ndWxhcktpdENvbmZpZywgSVRfQVNTRVRfQkFTRV9QQVRIIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2Rlc2lnbi1hbmd1bGFyLWtpdC1jb25maWcnO1xuXG4vKipcbiAqIENvbmZpZ3VyZXMgRGVzaWduQW5ndWxhcktpdCBsaWJyYXJ5XG4gKiBAcGFyYW0gY29uZmlnIHRoZSBEZXNpZ25Bbmd1bGFyS2l0IGNvbmZpZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZURlc2lnbkFuZ3VsYXJLaXQoY29uZmlnPzogRGVzaWduQW5ndWxhcktpdENvbmZpZyk6IEVudmlyb25tZW50UHJvdmlkZXJzIHtcbiAgbGV0IGFzc2V0QmFzZVBhdGggPSAnLi9ib290c3RyYXAtaXRhbGlhJztcbiAgaWYgKGNvbmZpZz8uYXNzZXRCYXNlUGF0aCkge1xuICAgIGFzc2V0QmFzZVBhdGggPSBjb25maWcuYXNzZXRCYXNlUGF0aC5lbmRzV2l0aCgnLycpXG4gICAgICA/IGNvbmZpZy5hc3NldEJhc2VQYXRoLnN1YnN0cmluZygwLCBjb25maWcuYXNzZXRCYXNlUGF0aC5sYXN0SW5kZXhPZignLycpKVxuICAgICAgOiBjb25maWcuYXNzZXRCYXNlUGF0aDtcbiAgfVxuXG4gIGNvbnN0IHByb3ZpZGVyczogQXJyYXk8RW52aXJvbm1lbnRQcm92aWRlcnMgfCBQcm92aWRlcj4gPSBbXG4gICAge1xuICAgICAgcHJvdmlkZTogSVRfQVNTRVRfQkFTRV9QQVRILFxuICAgICAgdXNlVmFsdWU6IGFzc2V0QmFzZVBhdGgsXG4gICAgfSxcbiAgICBwcm92aWRlQW5pbWF0aW9uc0FzeW5jKCksXG4gICAgcHJvdmlkZUh0dHBDbGllbnQoKSxcbiAgXTtcblxuICBpZiAoY29uZmlnPy5sb2FkRm9udCAhPT0gZmFsc2UpIHtcbiAgICAvLyBBZGQgcHJvdmlkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgYm9vdHN0cmFwLWl0YWxpYSBmb250XG4gICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgICAgdXNlRmFjdG9yeTogKCkgPT4ge1xuICAgICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICAgIGxvYWRGb250cyhgJHthc3NldEJhc2VQYXRofS9kaXN0L2ZvbnRzYCk7XG4gICAgICAgIH07XG4gICAgICB9LFxuICAgICAgbXVsdGk6IHRydWUsXG4gICAgfSk7XG4gIH1cblxuICAvLyBBZGQgcHJvdmlkZXIgdG8gaW5pdGlhbGl6ZSB0aGUgVHJhbnNsYXRlTW9kdWxlXG4gIGNvbnN0IGxhbmdQcmVmaXggPSBgJHthc3NldEJhc2VQYXRofS9pMThuL2A7XG4gIGNvbnN0IGxhbmdTdWZmaXggPSBgLmpzb25gOyAvLyBUT0RPOiBhZGQgP3Yke3ZlcnNpb259IHRvIHByZXZlbnQgY2FjaGUgbG9hZGluZyBvbiB2ZXJzaW9uIGNoYW5nZVxuICBwcm92aWRlcnMucHVzaChcbiAgICBpbXBvcnRQcm92aWRlcnNGcm9tKFxuICAgICAgVHJhbnNsYXRlTW9kdWxlLmZvclJvb3Qoe1xuICAgICAgICBsb2FkZXI6IGNvbmZpZz8udHJhbnNsYXRlTG9hZGVyPy4obGFuZ1ByZWZpeCwgbGFuZ1N1ZmZpeCkgPz8ge1xuICAgICAgICAgIHByb3ZpZGU6IFRyYW5zbGF0ZUxvYWRlcixcbiAgICAgICAgICB1c2VGYWN0b3J5OiAoaHR0cDogSHR0cENsaWVudCkgPT4gbmV3IFRyYW5zbGF0ZUh0dHBMb2FkZXIoaHR0cCwgbGFuZ1ByZWZpeCwgbGFuZ1N1ZmZpeCksXG4gICAgICAgICAgZGVwczogW0h0dHBDbGllbnRdLFxuICAgICAgICB9LFxuICAgICAgICBkZWZhdWx0TGFuZ3VhZ2U6ICdpdCcsXG4gICAgICAgIHVzZURlZmF1bHRMYW5nOiB0cnVlLFxuICAgICAgfSlcbiAgICApXG4gICk7XG5cbiAgLy8gQWRkIHByb3ZpZGVyIHRvIGluaXRpYWxpemUgbGlicmFyeSBkZWZhdWx0IGxhbmd1YWdlc1xuICBwcm92aWRlcnMucHVzaCh7XG4gICAgcHJvdmlkZTogQVBQX0lOSVRJQUxJWkVSLFxuICAgIHVzZUZhY3Rvcnk6ICh0cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlKSA9PiB7XG4gICAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgICB0cmFuc2xhdGVTZXJ2aWNlLmFkZExhbmdzKFsnaXQnLCAnZW4nXSk7IC8vIEFkZHMgJ2l0JyBhbmQgJ2VuJyBhcyBhdmFpbGFibGUgbGFuZ3VhZ2VzLlxuICAgICAgfTtcbiAgICB9LFxuICAgIG11bHRpOiB0cnVlLFxuICAgIGRlcHM6IFtUcmFuc2xhdGVTZXJ2aWNlXSxcbiAgfSk7XG5cbiAgcmV0dXJuIG1ha2VFbnZpcm9ubWVudFByb3ZpZGVycyhwcm92aWRlcnMpO1xufVxuIl19
|