design-angular-kit 1.0.2 → 1.1.0
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 +4 -3
- package/assets/i18n/en.json +6 -0
- package/assets/i18n/it.json +6 -0
- package/esm2022/lib/abstracts/abstract-form.component.mjs +3 -3
- package/esm2022/lib/abstracts/abstract.component.mjs +3 -3
- package/esm2022/lib/components/core/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/components/core/alert/alert.component.mjs +3 -3
- package/esm2022/lib/components/core/avatar/avatar-dropdown/avatar-dropdown.component.mjs +6 -6
- package/esm2022/lib/components/core/avatar/avatar-group/avatar-group.component.mjs +6 -6
- package/esm2022/lib/components/core/avatar/avatar.directive.mjs +3 -3
- package/esm2022/lib/components/core/avatar/avatar.module.mjs +4 -4
- package/esm2022/lib/components/core/badge/badge.directive.mjs +3 -3
- package/esm2022/lib/components/core/button/button.directive.mjs +14 -4
- package/esm2022/lib/components/core/callout/callout.component.mjs +3 -3
- package/esm2022/lib/components/core/card/card.component.mjs +3 -3
- package/esm2022/lib/components/core/carousel/carousel/carousel.component.mjs +3 -3
- package/esm2022/lib/components/core/carousel/carousel-item/carousel-item.component.mjs +3 -3
- package/esm2022/lib/components/core/carousel/carousel.module.mjs +4 -4
- package/esm2022/lib/components/core/chip/chip.component.mjs +5 -5
- package/esm2022/lib/components/core/collapse/collapse.component.mjs +3 -3
- package/esm2022/lib/components/core/dimmer/dimmer-buttons/dimmer-buttons.component.mjs +3 -3
- package/esm2022/lib/components/core/dimmer/dimmer-icon/dimmer-icon.component.mjs +3 -3
- package/esm2022/lib/components/core/dimmer/dimmer.component.mjs +3 -3
- package/esm2022/lib/components/core/dimmer/dimmer.module.mjs +4 -4
- package/esm2022/lib/components/core/dropdown/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/components/core/dropdown/dropdown-item/dropdown-item.component.mjs +3 -3
- package/esm2022/lib/components/core/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/lib/components/core/forward/forward.directive.mjs +3 -3
- package/esm2022/lib/components/core/link/link.component.mjs +3 -3
- package/esm2022/lib/components/core/list/list/list.component.mjs +3 -3
- package/esm2022/lib/components/core/list/list-item/list-item.component.mjs +3 -3
- package/esm2022/lib/components/core/list/list.module.mjs +4 -4
- package/esm2022/lib/components/core/modal/modal.component.mjs +3 -3
- package/esm2022/lib/components/core/notifications/notifications.component.mjs +3 -3
- package/esm2022/lib/components/core/pagination/pagination.component.mjs +3 -3
- package/esm2022/lib/components/core/popover/popover.directive.mjs +5 -5
- package/esm2022/lib/components/core/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/lib/components/core/progress-button/progress-button.component.mjs +3 -3
- package/esm2022/lib/components/core/spinner/spinner.component.mjs +3 -3
- package/esm2022/lib/components/core/steppers/steppers-container/steppers-container.component.mjs +4 -4
- package/esm2022/lib/components/core/steppers/steppers-item/steppers-item.component.mjs +3 -3
- package/esm2022/lib/components/core/steppers/steppers.module.mjs +4 -4
- package/esm2022/lib/components/core/tab/tab-container/tab-container.component.mjs +16 -7
- package/esm2022/lib/components/core/tab/tab-item/tab-item.component.mjs +3 -3
- package/esm2022/lib/components/core/tab/tab.module.mjs +4 -4
- package/esm2022/lib/components/core/table/sort/sort-header/sort-header.component.mjs +3 -3
- package/esm2022/lib/components/core/table/sort/sort.directive.mjs +3 -3
- package/esm2022/lib/components/core/table/table.component.mjs +3 -3
- package/esm2022/lib/components/core/table/table.module.mjs +4 -4
- package/esm2022/lib/components/core/timeline/timeline-item/timeline-item.component.mjs +76 -0
- package/esm2022/lib/components/core/timeline/timeline.component.mjs +36 -0
- package/esm2022/lib/components/core/timeline/timeline.module.mjs +18 -0
- package/esm2022/lib/components/core/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/lib/components/form/autocomplete/autocomplete.component.mjs +3 -3
- package/esm2022/lib/components/form/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/components/form/form.module.mjs +4 -4
- package/esm2022/lib/components/form/input/input.component.mjs +7 -4
- package/esm2022/lib/components/form/password-input/password-input.component.mjs +3 -3
- package/esm2022/lib/components/form/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/lib/components/form/range/range.component.mjs +3 -3
- package/esm2022/lib/components/form/rating/rating.component.mjs +3 -3
- package/esm2022/lib/components/form/select/select.component.mjs +3 -3
- package/esm2022/lib/components/form/textarea/textarea.component.mjs +3 -3
- package/esm2022/lib/components/form/upload-drag-drop/upload-drag-drop.component.mjs +3 -3
- package/esm2022/lib/components/form/upload-file-list/upload-file-list.component.mjs +3 -3
- package/esm2022/lib/components/navigation/back-button/back-button.component.mjs +4 -4
- package/esm2022/lib/components/navigation/back-to-top/back-to-top.component.mjs +3 -3
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb/breadcrumb.component.mjs +3 -3
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +3 -3
- package/esm2022/lib/components/navigation/breadcrumbs/breadcrumbs.module.mjs +4 -4
- package/esm2022/lib/components/navigation/header/header.component.mjs +12 -5
- package/esm2022/lib/components/navigation/megamenu/megamenu.component.mjs +3 -3
- package/esm2022/lib/components/navigation/navbar/navbar/navbar.component.mjs +3 -3
- package/esm2022/lib/components/navigation/navbar/navbar-item/navbar-item.component.mjs +3 -3
- package/esm2022/lib/components/navigation/navbar/navbar.module.mjs +4 -4
- package/esm2022/lib/components/navigation/sidebar/sidebar.component.mjs +3 -3
- package/esm2022/lib/components/utils/error-page/error-page.component.mjs +3 -3
- package/esm2022/lib/components/utils/icon/icon.component.mjs +3 -3
- package/esm2022/lib/components/utils/language-switcher/language-switcher.component.mjs +3 -3
- package/esm2022/lib/design-angular-kit.module.mjs +15 -9
- package/esm2022/lib/interfaces/core.mjs +1 -1
- package/esm2022/lib/interfaces/icon.mjs +2 -1
- package/esm2022/lib/pipes/date-ago.pipe.mjs +3 -3
- package/esm2022/lib/pipes/duration.pipe.mjs +3 -3
- package/esm2022/lib/pipes/mark-matching-text.pipe.mjs +3 -3
- package/esm2022/lib/services/notification/notification.service.mjs +3 -3
- package/esm2022/lib/utils/regex.mjs +5 -1
- package/esm2022/lib/validators/it-validators.mjs +8 -2
- package/esm2022/public_api.mjs +4 -1
- package/fesm2022/design-angular-kit.mjs +419 -263
- package/fesm2022/design-angular-kit.mjs.map +1 -1
- package/lib/components/core/button/button.directive.d.ts +6 -1
- package/lib/components/core/tab/tab-container/tab-container.component.d.ts +5 -2
- package/lib/components/core/timeline/timeline-item/timeline-item.component.d.ts +66 -0
- package/lib/components/core/timeline/timeline.component.d.ts +21 -0
- package/lib/components/core/timeline/timeline.module.d.ts +8 -0
- package/lib/components/navigation/header/header.component.d.ts +2 -0
- package/lib/design-angular-kit.module.d.ts +16 -15
- package/lib/interfaces/core.d.ts +17 -0
- package/lib/interfaces/icon.d.ts +1 -1
- package/lib/utils/regex.d.ts +4 -0
- package/lib/validators/it-validators.d.ts +4 -0
- package/package.json +8 -8
- package/public_api.d.ts +3 -0
|
@@ -41,10 +41,10 @@ export class ItRangeComponent extends ItAbstractFormComponent {
|
|
|
41
41
|
const val = (((this.control.value ?? diff / 2) - min) * 100) / diff;
|
|
42
42
|
this.slider.nativeElement.style.setProperty('--range-percentage', `${val}%`);
|
|
43
43
|
}
|
|
44
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
45
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
44
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRangeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
45
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItRangeComponent, isStandalone: true, selector: "it-range", inputs: { max: "max", min: "min", step: "step", leftColor: "leftColor", rightColor: "rightColor" }, viewQueries: [{ propertyName: "slider", first: true, predicate: ["slider"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"d-flex justify-content-between align-items-center\">\n @if (label) {\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n }\n <ng-content></ng-content>\n</div>\n\n<input\n #slider\n [id]=\"id\"\n type=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n class=\"form-range\"\n [class.double-color]=\"!!leftColor && !!rightColor\"\n [formControl]=\"control\" />\n", styles: [".form-range.double-color::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--range-left-color) var(--range-percentage),var(--range-right-color) var(--range-percentage))}.form-range.double-color::-moz-range-track{background:linear-gradient(to right,var(--range-left-color) var(--range-percentage),var(--range-right-color) var(--range-percentage))}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
46
46
|
}
|
|
47
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
47
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRangeComponent, decorators: [{
|
|
48
48
|
type: Component,
|
|
49
49
|
args: [{ selector: 'it-range', standalone: true, imports: [ReactiveFormsModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"d-flex justify-content-between align-items-center\">\n @if (label) {\n <label [for]=\"id\" class=\"form-label\">{{ label }}</label>\n }\n <ng-content></ng-content>\n</div>\n\n<input\n #slider\n [id]=\"id\"\n type=\"range\"\n [min]=\"min\"\n [max]=\"max\"\n [step]=\"step\"\n class=\"form-range\"\n [class.double-color]=\"!!leftColor && !!rightColor\"\n [formControl]=\"control\" />\n", styles: [".form-range.double-color::-webkit-slider-runnable-track{background:linear-gradient(to right,var(--range-left-color) var(--range-percentage),var(--range-right-color) var(--range-percentage))}.form-range.double-color::-moz-range-track{background:linear-gradient(to right,var(--range-left-color) var(--range-percentage),var(--range-right-color) var(--range-percentage))}\n"] }]
|
|
50
50
|
}], propDecorators: { max: [{
|
|
@@ -36,10 +36,10 @@ export class ItRatingComponent extends ItAbstractFormComponent {
|
|
|
36
36
|
generateStars() {
|
|
37
37
|
return Array.from({ length: this.starCount }, (_, i) => i + 1).reverse();
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRatingComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItRatingComponent, isStandalone: true, selector: "it-rating", inputs: { value: "value", starCount: "starCount" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<fieldset class=\"rating\" [class.rating-label]=\"!!label\" [class.rating-read-only]=\"control.disabled\">\n <legend>\n <span>{{ label }}</span>\n <span class=\"visually-hidden\">\n {{ 'it.core.rating-star' | translate: { current: control.value || 0, total: stars.length } }}\n </span>\n </legend>\n\n @for (starValue of stars; track starValue) {\n <input\n [id]=\"id + '-' + starValue\"\n type=\"radio\"\n [name]=\"id\"\n [value]=\"starValue\"\n [attr.aria-hidden]=\"control.disabled\"\n [formControl]=\"control\" />\n <label class=\"full\" [for]=\"id + '-' + starValue\">\n <it-icon name=\"star-full\" size=\"sm\"></it-icon>\n <span class=\"visually-hidden\">\n {{ 'it.core.rate-star' | translate: { current: starValue, total: stars.length } }}\n </span>\n </label>\n }\n</fieldset>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: ["name", "formControlName", "value"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItRatingComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ standalone: true, selector: 'it-rating', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ReactiveFormsModule, ItIconComponent], template: "<fieldset class=\"rating\" [class.rating-label]=\"!!label\" [class.rating-read-only]=\"control.disabled\">\n <legend>\n <span>{{ label }}</span>\n <span class=\"visually-hidden\">\n {{ 'it.core.rating-star' | translate: { current: control.value || 0, total: stars.length } }}\n </span>\n </legend>\n\n @for (starValue of stars; track starValue) {\n <input\n [id]=\"id + '-' + starValue\"\n type=\"radio\"\n [name]=\"id\"\n [value]=\"starValue\"\n [attr.aria-hidden]=\"control.disabled\"\n [formControl]=\"control\" />\n <label class=\"full\" [for]=\"id + '-' + starValue\">\n <it-icon name=\"star-full\" size=\"sm\"></it-icon>\n <span class=\"visually-hidden\">\n {{ 'it.core.rate-star' | translate: { current: starValue, total: stars.length } }}\n </span>\n </label>\n }\n</fieldset>\n" }]
|
|
45
45
|
}], propDecorators: { value: [{
|
|
@@ -52,10 +52,10 @@ export class ItSelectComponent extends ItAbstractFormComponent {
|
|
|
52
52
|
}
|
|
53
53
|
return false;
|
|
54
54
|
}
|
|
55
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
56
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
56
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItSelectComponent, isStandalone: true, selector: "it-select", inputs: { options: "options", groups: "groups", description: "description", defaultOption: "defaultOption" }, usesInheritance: true, ngImport: i0, template: "<div class=\"select-wrapper\">\n @if (label) {\n <label [for]=\"id\">{{ label }}</label>\n }\n <select\n [id]=\"id\"\n [formControl]=\"control\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n (blur)=\"markAsTouched()\"\n [attr.aria-describedby]=\"id + '-description'\">\n @if (defaultOption) {\n <option [ngValue]=\"null\" disabled selected>\n {{ defaultOption }}\n </option>\n }\n\n <ng-content></ng-content>\n\n @if (options) {\n @for (option of options; track option.value) {\n <option [disabled]=\"optionIsDisabled(option)\" [ngValue]=\"option.value\">\n {{ option.text ?? option.value }}\n </option>\n }\n }\n\n @if (groups) {\n @for (group of groups; track group) {\n <optgroup [label]=\"group.label\">\n @for (option of group.options; track option.value) {\n <option [disabled]=\"optionIsDisabled(option)\" [ngValue]=\"option.value\">\n {{ option.text ?? option.value }}\n </option>\n }\n </optgroup>\n }\n }\n </select>\n @if (description) {\n <small [id]=\"id + '-description'\" class=\"form-text\">{{ description }}</small>\n }\n\n @if (isInvalid) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</div>\n", styles: [".select-wrapper{margin-bottom:1.7rem}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }] }); }
|
|
57
57
|
}
|
|
58
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItSelectComponent, decorators: [{
|
|
59
59
|
type: Component,
|
|
60
60
|
args: [{ standalone: true, selector: 'it-select', imports: [ReactiveFormsModule, AsyncPipe], template: "<div class=\"select-wrapper\">\n @if (label) {\n <label [for]=\"id\">{{ label }}</label>\n }\n <select\n [id]=\"id\"\n [formControl]=\"control\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n (blur)=\"markAsTouched()\"\n [attr.aria-describedby]=\"id + '-description'\">\n @if (defaultOption) {\n <option [ngValue]=\"null\" disabled selected>\n {{ defaultOption }}\n </option>\n }\n\n <ng-content></ng-content>\n\n @if (options) {\n @for (option of options; track option.value) {\n <option [disabled]=\"optionIsDisabled(option)\" [ngValue]=\"option.value\">\n {{ option.text ?? option.value }}\n </option>\n }\n }\n\n @if (groups) {\n @for (group of groups; track group) {\n <optgroup [label]=\"group.label\">\n @for (option of group.options; track option.value) {\n <option [disabled]=\"optionIsDisabled(option)\" [ngValue]=\"option.value\">\n {{ option.text ?? option.value }}\n </option>\n }\n </optgroup>\n }\n }\n </select>\n @if (description) {\n <small [id]=\"id + '-description'\" class=\"form-text\">{{ description }}</small>\n }\n\n @if (isInvalid) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError>\n <ng-content select=\"[error]\"></ng-content>\n </div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</div>\n", styles: [".select-wrapper{margin-bottom:1.7rem}\n"] }]
|
|
61
61
|
}], propDecorators: { options: [{
|
|
@@ -37,10 +37,10 @@ export class ItTextareaComponent extends ItAbstractFormComponent {
|
|
|
37
37
|
get isReadonly() {
|
|
38
38
|
return this.readonly === 'plaintext' || !!this.readonly;
|
|
39
39
|
}
|
|
40
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
41
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
41
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItTextareaComponent, isStandalone: true, selector: "it-textarea", inputs: { rows: "rows", placeholder: "placeholder", description: "description", readonly: "readonly" }, usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\n @if (label) {\n <label [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{ label }}</label>\n }\n <textarea\n [id]=\"id\"\n [rows]=\"rows\"\n [class.form-control]=\"readonly !== 'plaintext'\"\n [class.form-control-plaintext]=\"readonly === 'plaintext'\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [readonly]=\"isReadonly\"\n (blur)=\"markAsTouched()\"></textarea>\n\n @if (description) {\n <small [id]=\"id + '-description'\" class=\"form-text\">{{ description }}</small>\n }\n @if (isInvalid) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</div>\n", styles: ["textarea.is-invalid{border-color:#cc334d}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
42
42
|
}
|
|
43
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItTextareaComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
45
|
args: [{ standalone: true, selector: 'it-textarea', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ReactiveFormsModule, AsyncPipe], template: "<div class=\"form-group\">\n @if (label) {\n <label [for]=\"id\" [class.active]=\"!!control.value || !!placeholder\">{{ label }}</label>\n }\n <textarea\n [id]=\"id\"\n [rows]=\"rows\"\n [class.form-control]=\"readonly !== 'plaintext'\"\n [class.form-control-plaintext]=\"readonly === 'plaintext'\"\n [class.is-invalid]=\"isInvalid\"\n [class.is-valid]=\"isValid\"\n [placeholder]=\"placeholder\"\n [formControl]=\"control\"\n [readonly]=\"isReadonly\"\n (blur)=\"markAsTouched()\"></textarea>\n\n @if (description) {\n <small [id]=\"id + '-description'\" class=\"form-text\">{{ description }}</small>\n }\n @if (isInvalid) {\n <div class=\"form-feedback just-validate-error-label\" [id]=\"id + '-error'\">\n <div #customError><ng-content select=\"[error]\"></ng-content></div>\n @if (!customError.hasChildNodes()) {\n {{ invalidMessage | async }}\n }\n </div>\n }\n</div>\n", styles: ["textarea.is-invalid{border-color:#cc334d}\n"] }]
|
|
46
46
|
}], propDecorators: { rows: [{
|
|
@@ -116,10 +116,10 @@ export class ItUploadDragDropComponent extends ItAbstractComponent {
|
|
|
116
116
|
this.donut?.set(0);
|
|
117
117
|
this._changeDetectorRef.detectChanges();
|
|
118
118
|
}
|
|
119
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
120
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
119
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItUploadDragDropComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
120
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItUploadDragDropComponent, isStandalone: true, selector: "it-upload-drag-drop", inputs: { accept: "accept" }, outputs: { fileStartUpload: "fileStartUpload" }, host: { listeners: { "dragover": "onDragOver($event)", "dragleave": "onDragLeave($event)", "drop": "onDrop($event)" } }, viewQueries: [{ propertyName: "donutElement", first: true, predicate: ["donutElement"], descendants: true }], exportAs: ["itUploadDragDrop"], usesInheritance: true, ngImport: i0, template: "<div class=\"upload-dragdrop\" [class.dragover]=\"isDragover\" [class.loading]=\"isLoading\" [class.success]=\"isSuccess\">\n <div class=\"upload-dragdrop-image\">\n <img\n [ngSrc]=\"assetBasePath + '/dist/assets/upload-drag-drop-icon.svg'\"\n alt=\"drag-drop-icon\"\n aria-hidden=\"true\"\n [width]=\"180\"\n [height]=\"180\" />\n <div class=\"upload-dragdrop-loading\">\n <div class=\"progress-donut\" #donutElement></div>\n </div>\n <div class=\"upload-dragdrop-success\">\n <it-icon name=\"check\"></it-icon>\n </div>\n </div>\n <div class=\"upload-dragdrop-text\">\n <p class=\"upload-dragdrop-weight\">\n <it-icon name=\"file\" size=\"xs\"></it-icon>\n {{ extension }} ({{ fileSize }})\n </p>\n <h5>{{ filename || ('it.form.upload-drag-file' | translate) }}</h5>\n @if (isLoading) {\n <p>{{ 'it.form.upload-loading' | translate }}</p>\n }\n @if (isSuccess) {\n <p>{{ 'it.form.upload-complete' | translate }}</p>\n }\n @if (!isLoading && !isSuccess) {\n <p>\n {{ 'it.form.upload-or' | translate }}\n <input type=\"file\" [id]=\"id\" class=\"upload-dragdrop-input\" [accept]=\"accept\" (change)=\"onLoadFile($event)\" />\n <label [for]=\"id\">{{ 'it.form.upload-select-device' | translate }}</label>\n </p>\n }\n </div>\n</div>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
121
121
|
}
|
|
122
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
122
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItUploadDragDropComponent, decorators: [{
|
|
123
123
|
type: Component,
|
|
124
124
|
args: [{ standalone: true, selector: 'it-upload-drag-drop', exportAs: 'itUploadDragDrop', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent, TranslateModule, NgOptimizedImage], template: "<div class=\"upload-dragdrop\" [class.dragover]=\"isDragover\" [class.loading]=\"isLoading\" [class.success]=\"isSuccess\">\n <div class=\"upload-dragdrop-image\">\n <img\n [ngSrc]=\"assetBasePath + '/dist/assets/upload-drag-drop-icon.svg'\"\n alt=\"drag-drop-icon\"\n aria-hidden=\"true\"\n [width]=\"180\"\n [height]=\"180\" />\n <div class=\"upload-dragdrop-loading\">\n <div class=\"progress-donut\" #donutElement></div>\n </div>\n <div class=\"upload-dragdrop-success\">\n <it-icon name=\"check\"></it-icon>\n </div>\n </div>\n <div class=\"upload-dragdrop-text\">\n <p class=\"upload-dragdrop-weight\">\n <it-icon name=\"file\" size=\"xs\"></it-icon>\n {{ extension }} ({{ fileSize }})\n </p>\n <h5>{{ filename || ('it.form.upload-drag-file' | translate) }}</h5>\n @if (isLoading) {\n <p>{{ 'it.form.upload-loading' | translate }}</p>\n }\n @if (isSuccess) {\n <p>{{ 'it.form.upload-complete' | translate }}</p>\n }\n @if (!isLoading && !isSuccess) {\n <p>\n {{ 'it.form.upload-or' | translate }}\n <input type=\"file\" [id]=\"id\" class=\"upload-dragdrop-input\" [accept]=\"accept\" (change)=\"onLoadFile($event)\" />\n <label [for]=\"id\">{{ 'it.form.upload-select-device' | translate }}</label>\n </p>\n }\n </div>\n</div>\n" }]
|
|
125
125
|
}], ctorParameters: () => [], propDecorators: { accept: [{
|
|
@@ -79,10 +79,10 @@ export class ItUploadFileListComponent extends ItAbstractComponent {
|
|
|
79
79
|
getFileSize(file) {
|
|
80
80
|
return ItFileUtils.getFileSizeString(file);
|
|
81
81
|
}
|
|
82
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
83
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItUploadFileListComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItUploadFileListComponent, isStandalone: true, selector: "it-upload-file-list", inputs: { fileList: "fileList", accept: "accept", multiple: ["multiple", "multiple", inputToBoolean], images: ["images", "images", inputToBoolean], hideLoadButton: ["hideLoadButton", "hideLoadButton", inputToBoolean] }, outputs: { uploadFiles: "uploadFiles", deleteItem: "deleteItem" }, usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "@if (!hideLoadButton) {\n <input type=\"file\" [id]=\"id\" class=\"upload\" [accept]=\"accept\" [multiple]=\"multiple\" (change)=\"onLoadFiles($event)\" />\n <label [for]=\"id\">\n <it-icon name=\"upload\" size=\"sm\"></it-icon>\n <span>{{ 'it.form.upload' | translate }}</span>\n </label>\n}\n\n@if (fileList.length) {\n <ul class=\"upload-file-list\" [class.upload-file-list-image]=\"images\">\n @for (item of fileList; track item.id) {\n <li\n class=\"upload-file\"\n [class.error]=\"item.error\"\n [class.uploading]=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [class.success]=\"!item.error && (!item.progress || item.progress >= 100)\">\n @if (images) {\n <div class=\"upload-image\">\n <img [attr.src]=\"previewImages.get(item.id)\" [alt]=\"item.file.name\" />\n </div>\n } @else {\n <it-icon name=\"file\" size=\"sm\" [color]=\"!item.error ? (item.progress ? 'secondary' : 'primary') : 'danger'\"></it-icon>\n }\n <p [itTooltip]=\"item.tooltip\">\n <span class=\"visually-hidden\">{{ 'it.form.uploaded-file' | translate: { name: item.file.name } }}</span>\n {{ item.file.name }} <span class=\"upload-file-weight\">{{ getFileSize(item.file) }}</span>\n </p>\n @if (item.removable && (!item.progress || item.progress < 100)) {\n <button type=\"button\" (click)=\"deleteItem.emit(item)\">\n <span class=\"visually-hidden\">{{ 'it.form.delete-file' | translate: { name: item.file.name } }}</span>\n <it-icon name=\"close\"></it-icon>\n </button>\n }\n @if ((!item.removable && !item.progress) || (item.progress !== undefined && item.progress >= 100)) {\n <button type=\"button\" disabled>\n <span class=\"visually-hidden\">{{ 'it.form.upload-complete' | translate }}</span>\n <it-icon name=\"check\"></it-icon>\n </button>\n }\n @if (!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100) {\n <it-progress-bar [value]=\"item.progress!\"></it-progress-bar>\n }\n </li>\n }\n </ul>\n}\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "directive", type: ItTooltipDirective, selector: "[itTooltip]", inputs: ["itTooltip", "tooltipPlacement", "tooltipHtml"], outputs: ["showEvent", "shownEvent", "hideEvent", "hiddenEvent", "insertedEvent"], exportAs: ["itTooltip"] }, { kind: "component", type: ItProgressBarComponent, selector: "it-progress-bar", inputs: ["value", "showLabel", "indeterminate", "color"] }] }); }
|
|
84
84
|
}
|
|
85
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
85
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItUploadFileListComponent, decorators: [{
|
|
86
86
|
type: Component,
|
|
87
87
|
args: [{ standalone: true, selector: 'it-upload-file-list', imports: [ItIconComponent, TranslateModule, ItTooltipDirective, ItProgressBarComponent], template: "@if (!hideLoadButton) {\n <input type=\"file\" [id]=\"id\" class=\"upload\" [accept]=\"accept\" [multiple]=\"multiple\" (change)=\"onLoadFiles($event)\" />\n <label [for]=\"id\">\n <it-icon name=\"upload\" size=\"sm\"></it-icon>\n <span>{{ 'it.form.upload' | translate }}</span>\n </label>\n}\n\n@if (fileList.length) {\n <ul class=\"upload-file-list\" [class.upload-file-list-image]=\"images\">\n @for (item of fileList; track item.id) {\n <li\n class=\"upload-file\"\n [class.error]=\"item.error\"\n [class.uploading]=\"!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100\"\n [class.success]=\"!item.error && (!item.progress || item.progress >= 100)\">\n @if (images) {\n <div class=\"upload-image\">\n <img [attr.src]=\"previewImages.get(item.id)\" [alt]=\"item.file.name\" />\n </div>\n } @else {\n <it-icon name=\"file\" size=\"sm\" [color]=\"!item.error ? (item.progress ? 'secondary' : 'primary') : 'danger'\"></it-icon>\n }\n <p [itTooltip]=\"item.tooltip\">\n <span class=\"visually-hidden\">{{ 'it.form.uploaded-file' | translate: { name: item.file.name } }}</span>\n {{ item.file.name }} <span class=\"upload-file-weight\">{{ getFileSize(item.file) }}</span>\n </p>\n @if (item.removable && (!item.progress || item.progress < 100)) {\n <button type=\"button\" (click)=\"deleteItem.emit(item)\">\n <span class=\"visually-hidden\">{{ 'it.form.delete-file' | translate: { name: item.file.name } }}</span>\n <it-icon name=\"close\"></it-icon>\n </button>\n }\n @if ((!item.removable && !item.progress) || (item.progress !== undefined && item.progress >= 100)) {\n <button type=\"button\" disabled>\n <span class=\"visually-hidden\">{{ 'it.form.upload-complete' | translate }}</span>\n <it-icon name=\"check\"></it-icon>\n </button>\n }\n @if (!item.error && item.progress !== undefined && item.progress > 0 && item.progress < 100) {\n <it-progress-bar [value]=\"item.progress!\"></it-progress-bar>\n }\n </li>\n }\n </ul>\n}\n" }]
|
|
88
88
|
}], propDecorators: { fileList: [{
|
|
@@ -45,10 +45,10 @@ export class ItBackButtonComponent {
|
|
|
45
45
|
}
|
|
46
46
|
this._location.back();
|
|
47
47
|
}
|
|
48
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
49
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
48
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackButtonComponent, deps: [{ token: i1.Location }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
49
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItBackButtonComponent, isStandalone: true, selector: "it-back-button", inputs: { buttonStyle: "buttonStyle", direction: "direction", showIcon: ["showIcon", "showIcon", inputToBoolean], showText: ["showText", "showText", inputToBoolean], backFn: "backFn" }, exportAs: ["itBackButton"], ngImport: i0, template: "@if (buttonStyle === 'link') {\n <a href=\"#\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n}\n\n@if (buttonStyle === 'button') {\n <button itButton=\"primary\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n}\n\n<ng-template #content>\n @if (showIcon) {\n <it-icon\n size=\"sm\"\n [name]=\"direction === 'left' ? 'arrow-left' : 'arrow-up'\"\n [color]=\"buttonStyle === 'link' ? 'primary' : 'white'\"\n [class.me-2]=\"showText\"></it-icon>\n }\n\n <span [class.visually-hidden]=\"!showText\">\n {{ (direction === 'left' ? 'it.navigation.go-back' : 'it.navigation.upper-level') | translate }}\n </span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled", "type"], exportAs: ["itButton"] }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
50
50
|
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
51
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackButtonComponent, decorators: [{
|
|
52
52
|
type: Component,
|
|
53
53
|
args: [{ standalone: true, selector: 'it-back-button', exportAs: 'itBackButton', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet, ItButtonDirective, ItIconComponent, TranslateModule], template: "@if (buttonStyle === 'link') {\n <a href=\"#\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </a>\n}\n\n@if (buttonStyle === 'button') {\n <button itButton=\"primary\" class=\"go-back\" (click)=\"goBack($event)\">\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\n </button>\n}\n\n<ng-template #content>\n @if (showIcon) {\n <it-icon\n size=\"sm\"\n [name]=\"direction === 'left' ? 'arrow-left' : 'arrow-up'\"\n [color]=\"buttonStyle === 'link' ? 'primary' : 'white'\"\n [class.me-2]=\"showText\"></it-icon>\n }\n\n <span [class.visually-hidden]=\"!showText\">\n {{ (direction === 'left' ? 'it.navigation.go-back' : 'it.navigation.upper-level') | translate }}\n </span>\n</ng-template>\n" }]
|
|
54
54
|
}], ctorParameters: () => [{ type: i1.Location }], propDecorators: { buttonStyle: [{
|
|
@@ -64,4 +64,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
64
64
|
}], backFn: [{
|
|
65
65
|
type: Input
|
|
66
66
|
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFjay1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWFuZ3VsYXIta2l0L3NyYy9saWIvY29tcG9uZW50cy9uYXZpZ2F0aW9uL2JhY2stYnV0dG9uL2JhY2stYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9iYWNrLWJ1dHRvbi9iYWNrLWJ1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQVksZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQVV6RCxNQUFNLE9BQU8scUJBQXFCO0lBc0NoQyxZQUE0QixTQUFtQjtRQUFuQixjQUFTLEdBQVQsU0FBUyxDQUFVO1FBckMvQzs7Ozs7V0FLRztRQUNNLGdCQUFXLEdBQXNCLFFBQVEsQ0FBQztRQUVuRDs7Ozs7V0FLRztRQUNNLGNBQVMsR0FBa0IsTUFBTSxDQUFDO1FBRTNDOzs7V0FHRztRQUNtQyxhQUFRLEdBQVksSUFBSSxDQUFDO1FBRS9EOzs7V0FHRztRQUNtQyxhQUFRLEdBQVksSUFBSSxDQUFDO0lBV2IsQ0FBQztJQUVuRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxLQUFZO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN2QixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3JDLENBQUM7UUFFRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7OEdBbERVLHFCQUFxQjtrR0FBckIscUJBQXFCLG1KQXFCWixjQUFjLHNDQU1kLGNBQWMsMkVDMUNwQyxzeUJBeUJBLDRDRFpZLGdCQUFnQixvSkFBRSxpQkFBaUIsMElBQUUsZUFBZSwwSEFBRSxlQUFlOzsyRkFFcEUscUJBQXFCO2tCQVJqQyxTQUFTO2lDQUNJLElBQUksWUFDTixnQkFBZ0IsWUFFaEIsY0FBYyxtQkFDUCx1QkFBdUIsQ0FBQyxNQUFNLFdBQ3RDLENBQUMsZ0JBQWdCLEVBQUUsaUJBQWlCLEVBQUUsZUFBZSxFQUFFLGVBQWUsQ0FBQzs2RUFTdkUsV0FBVztzQkFBbkIsS0FBSztnQkFRRyxTQUFTO3NCQUFqQixLQUFLO2dCQU1nQyxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFNRSxRQUFRO3NCQUE3QyxLQUFLO3VCQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRTtnQkFTM0IsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IExvY2F0aW9uLCBOZ1RlbXBsYXRlT3V0bGV0IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IEl0QnV0dG9uRGlyZWN0aXZlIH0gZnJvbSAnLi4vLi4vY29yZS9idXR0b24vYnV0dG9uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJdEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi91dGlscy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWJhY2stYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2JhY2stYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgZXhwb3J0QXM6ICdpdEJhY2tCdXR0b24nLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW05nVGVtcGxhdGVPdXRsZXQsIEl0QnV0dG9uRGlyZWN0aXZlLCBJdEljb25Db21wb25lbnQsIFRyYW5zbGF0ZU1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEl0QmFja0J1dHRvbkNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBCYWNrIGJ1dHRvbiBzdHlsZVxuICAgKiAtIDxiPmxpbms8L2I+OiB1c2UgYSBsaW5rIHdpdGggaWNvbiBhbmQgdGV4dFxuICAgKiAtIDxiPmJ1dHRvbjwvYj46IHVzZSBhIGJ1dHRvbiB3aXRoIGljb24gYW5kIHRleHRcbiAgICogQGRlZmF1bHQgYnV0dG9uXG4gICAqL1xuICBASW5wdXQoKSBidXR0b25TdHlsZTogJ2xpbmsnIHwgJ2J1dHRvbicgPSAnYnV0dG9uJztcblxuICAvKipcbiAgICogQnV0dG9uIGRpcmVjdGlvblxuICAgKiAtIDxiPmxlZnQ8L2I+OiBCYWNrIGRpcmVjdGlvblxuICAgKiAtIDxiPnVwPC9iPjogVXBwZXIgZGlyZWN0aW9uXG4gICAqIEBkZWZhdWx0IGxlZnRcbiAgICovXG4gIEBJbnB1dCgpIGRpcmVjdGlvbjogJ2xlZnQnIHwgJ3VwJyA9ICdsZWZ0JztcblxuICAvKipcbiAgICogU2hvdy9IaWRlIGljb25cbiAgICogQGRlZmF1bHQgdHJ1ZVxuICAgKi9cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzaG93SWNvbjogYm9vbGVhbiA9IHRydWU7XG5cbiAgLyoqXG4gICAqIFNob3cvSGlkZSB0ZXh0XG4gICAqIEBkZWZhdWx0IHRydWVcbiAgICovXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc2hvd1RleHQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIC8qKlxuICAgKiBDdXN0b20gYmFjayBsb2dpYyA8YnIvPlxuICAgKlxuICAgKiBOT1RFOiB0byB1c2UgJ3RoaXMnIG5lZWQgYmluZCBmdW5jdGlvbiAgPGJyLz5cbiAgICogQGV4YW1wbGUgYmFja0NiRm4gPSB0aGlzLmVycm9yQ2FsbGJhY2suYmluZCh0aGlzKTtcbiAgICogKGVycm9yQ2FsbGJhY2sgaXMgeW91ciBmdW5jdGlvbiwgcGFzcyBiYWNrQ2JGbiB0byB0aGUgY29tcG9uZW50KVxuICAgKi9cbiAgQElucHV0KCkgYmFja0ZuPzogKGxvY2F0aW9uOiBMb2NhdGlvbikgPT4gdm9pZDtcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgX2xvY2F0aW9uOiBMb2NhdGlvbikge31cblxuICAvKipcbiAgICogR28gYmFjayBmdW5jdGlvblxuICAgKi9cbiAgcHVibGljIGdvQmFjayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIGlmICh0aGlzLmJhY2tGbikge1xuICAgICAgcmV0dXJuIHRoaXMuYmFja0ZuKHRoaXMuX2xvY2F0aW9uKTtcbiAgICB9XG5cbiAgICB0aGlzLl9sb2NhdGlvbi5iYWNrKCk7XG4gIH1cbn1cbiIsIkBpZiAoYnV0dG9uU3R5bGUgPT09ICdsaW5rJykge1xuICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZ28tYmFja1wiIChjbGljayk9XCJnb0JhY2soJGV2ZW50KVwiPlxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gIDwvYT5cbn1cblxuQGlmIChidXR0b25TdHlsZSA9PT0gJ2J1dHRvbicpIHtcbiAgPGJ1dHRvbiBpdEJ1dHRvbj1cInByaW1hcnlcIiBjbGFzcz1cImdvLWJhY2tcIiAoY2xpY2spPVwiZ29CYWNrKCRldmVudClcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICA8L2J1dHRvbj5cbn1cblxuPG5nLXRlbXBsYXRlICNjb250ZW50PlxuICBAaWYgKHNob3dJY29uKSB7XG4gICAgPGl0LWljb25cbiAgICAgIHNpemU9XCJzbVwiXG4gICAgICBbbmFtZV09XCJkaXJlY3Rpb24gPT09ICdsZWZ0JyA/ICdhcnJvdy1sZWZ0JyA6ICdhcnJvdy11cCdcIlxuICAgICAgW2NvbG9yXT1cImJ1dHRvblN0eWxlID09PSAnbGluaycgPyAncHJpbWFyeScgOiAnd2hpdGUnXCJcbiAgICAgIFtjbGFzcy5tZS0yXT1cInNob3dUZXh0XCI+PC9pdC1pY29uPlxuICB9XG5cbiAgPHNwYW4gW2NsYXNzLnZpc3VhbGx5LWhpZGRlbl09XCIhc2hvd1RleHRcIj5cbiAgICB7eyAoZGlyZWN0aW9uID09PSAnbGVmdCcgPyAnaXQubmF2aWdhdGlvbi5nby1iYWNrJyA6ICdpdC5uYXZpZ2F0aW9uLnVwcGVyLWxldmVsJykgfCB0cmFuc2xhdGUgfX1cbiAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -36,10 +36,10 @@ export class ItBackToTopComponent extends ItAbstractComponent {
|
|
|
36
36
|
dispose() {
|
|
37
37
|
this.backToTop?.dispose();
|
|
38
38
|
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
40
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
39
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackToTopComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
40
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItBackToTopComponent, isStandalone: true, selector: "it-back-to-top", inputs: { small: ["small", "small", inputToBoolean], shadow: ["shadow", "shadow", inputToBoolean], dark: ["dark", "dark", inputToBoolean] }, viewQueries: [{ propertyName: "backToTopElement", first: true, predicate: ["backToTop"], descendants: true }], exportAs: ["itBackToTop"], usesInheritance: true, ngImport: i0, template: "<a\n #backToTop\n [id]=\"id\"\n href=\"#\"\n aria-hidden=\"true\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"small\"\n [class.shadow]=\"shadow\"\n [class.dark]=\"dark\">\n <it-icon name=\"arrow-up\" [color]=\"dark ? 'secondary' : 'light'\"></it-icon>\n</a>\n", dependencies: [{ kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
41
41
|
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBackToTopComponent, decorators: [{
|
|
43
43
|
type: Component,
|
|
44
44
|
args: [{ standalone: true, selector: 'it-back-to-top', exportAs: 'itBackToTop', changeDetection: ChangeDetectionStrategy.OnPush, imports: [ItIconComponent], template: "<a\n #backToTop\n [id]=\"id\"\n href=\"#\"\n aria-hidden=\"true\"\n class=\"back-to-top\"\n [class.back-to-top-small]=\"small\"\n [class.shadow]=\"shadow\"\n [class.dark]=\"dark\">\n <it-icon name=\"arrow-up\" [color]=\"dark ? 'secondary' : 'light'\"></it-icon>\n</a>\n" }]
|
|
45
45
|
}], propDecorators: { small: [{
|
|
@@ -33,10 +33,10 @@ export class ItBreadcrumbComponent {
|
|
|
33
33
|
ngOnDestroy() {
|
|
34
34
|
this.itemSubscriptions?.forEach(item => item.unsubscribe());
|
|
35
35
|
}
|
|
36
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItBreadcrumbComponent, isStandalone: true, selector: "it-breadcrumb", inputs: { separator: "separator", dark: ["dark", "dark", inputToBoolean] }, queries: [{ propertyName: "items", predicate: ItBreadcrumbItemComponent }], ngImport: i0, template: "<nav class=\"breadcrumb-container\" [attr.aria-label]=\"'it.navigation.navigation-path' | translate\">\n @if (items) {\n <ol class=\"breadcrumb\" [class.dark]=\"dark\" [class.px-3]=\"dark\">\n @for (item of items; track item; let isLast = $last) {\n <li class=\"breadcrumb-item\" [class.active]=\"item.active\" [attr.aria-current]=\"item.active ? 'page' : null\">\n @if (item.iconName) {\n <it-icon [name]=\"item.iconName\" [color]=\"dark ? 'white' : 'secondary'\" size=\"sm\" svgClass=\"align-top me-1\"></it-icon>\n }\n @if (!item.active && !isLast) {\n <it-link [href]=\"item.href\" [class]=\"item.class\" [externalLink]=\"item.externalLink\" [disabled]=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </it-link>\n } @else {\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n }\n @if (!isLast) {\n <span class=\"separator\">{{ separator }}</span>\n }\n </li>\n }\n </ol>\n }\n</nav>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "component", type: ItLinkComponent, selector: "it-link", inputs: ["href", "externalLink", "disabled", "class"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
38
|
}
|
|
39
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
41
41
|
args: [{ standalone: true, selector: 'it-breadcrumb', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ItIconComponent, ItLinkComponent, NgTemplateOutlet], template: "<nav class=\"breadcrumb-container\" [attr.aria-label]=\"'it.navigation.navigation-path' | translate\">\n @if (items) {\n <ol class=\"breadcrumb\" [class.dark]=\"dark\" [class.px-3]=\"dark\">\n @for (item of items; track item; let isLast = $last) {\n <li class=\"breadcrumb-item\" [class.active]=\"item.active\" [attr.aria-current]=\"item.active ? 'page' : null\">\n @if (item.iconName) {\n <it-icon [name]=\"item.iconName\" [color]=\"dark ? 'white' : 'secondary'\" size=\"sm\" svgClass=\"align-top me-1\"></it-icon>\n }\n @if (!item.active && !isLast) {\n <it-link [href]=\"item.href\" [class]=\"item.class\" [externalLink]=\"item.externalLink\" [disabled]=\"item.disabled\">\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n </it-link>\n } @else {\n <ng-container *ngTemplateOutlet=\"item.htmlContent\"></ng-container>\n }\n @if (!isLast) {\n <span class=\"separator\">{{ separator }}</span>\n }\n </li>\n }\n </ol>\n }\n</nav>\n" }]
|
|
42
42
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { separator: [{
|
package/esm2022/lib/components/navigation/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs
CHANGED
|
@@ -3,10 +3,10 @@ import { ItLinkComponent } from '../../../core/link/link.component';
|
|
|
3
3
|
import { inputToBoolean } from '../../../../utils/coercion';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class ItBreadcrumbItemComponent extends ItLinkComponent {
|
|
6
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
7
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
6
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
7
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItBreadcrumbItemComponent, isStandalone: true, selector: "it-breadcrumb-item", inputs: { active: ["active", "active", inputToBoolean], iconName: "iconName" }, viewQueries: [{ propertyName: "htmlContent", first: true, predicate: TemplateRef, descendants: true }], usesInheritance: true, ngImport: i0, template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n", changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
8
8
|
}
|
|
9
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
9
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbItemComponent, decorators: [{
|
|
10
10
|
type: Component,
|
|
11
11
|
args: [{ standalone: true, selector: 'it-breadcrumb-item', changeDetection: ChangeDetectionStrategy.OnPush, imports: [], template: "<ng-template>\n <ng-content></ng-content>\n</ng-template>\n" }]
|
|
12
12
|
}], propDecorators: { active: [{
|
|
@@ -4,11 +4,11 @@ import { ItBreadcrumbItemComponent } from './breadcrumb-item/breadcrumb-item.com
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
const breadcrumb = [ItBreadcrumbComponent, ItBreadcrumbItemComponent];
|
|
6
6
|
export class ItBreadcrumbsModule {
|
|
7
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
8
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
9
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
8
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbsModule, imports: [ItBreadcrumbComponent, ItBreadcrumbItemComponent], exports: [ItBreadcrumbComponent, ItBreadcrumbItemComponent] }); }
|
|
9
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbsModule, imports: [ItBreadcrumbComponent] }); }
|
|
10
10
|
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
11
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItBreadcrumbsModule, decorators: [{
|
|
12
12
|
type: NgModule,
|
|
13
13
|
args: [{
|
|
14
14
|
imports: breadcrumb,
|
|
@@ -2,6 +2,7 @@ import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, ViewCh
|
|
|
2
2
|
import { TranslateModule } from '@ngx-translate/core';
|
|
3
3
|
import { ItIconComponent } from '../../utils/icon/icon.component';
|
|
4
4
|
import { ItNavBarModule } from '../navbar/navbar.module';
|
|
5
|
+
import { ItNavBarComponent } from '../navbar/navbar/navbar.component';
|
|
5
6
|
import { ItButtonDirective } from '../../core/button/button.directive';
|
|
6
7
|
import { inputToBoolean } from '../../../utils/coercion';
|
|
7
8
|
import { HeaderSticky } from 'bootstrap-italia';
|
|
@@ -46,12 +47,15 @@ export class ItHeaderComponent {
|
|
|
46
47
|
event.preventDefault();
|
|
47
48
|
this.searchClick.emit(event);
|
|
48
49
|
}
|
|
49
|
-
|
|
50
|
-
|
|
50
|
+
toggleCollapse() {
|
|
51
|
+
this.itNavBarComponent?.toggleCollapse();
|
|
52
|
+
}
|
|
53
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
54
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItHeaderComponent, isStandalone: true, selector: "it-header", inputs: { light: ["light", "light", inputToBoolean], sticky: ["sticky", "sticky", inputToBoolean], showSlim: ["showSlim", "showSlim", inputToBoolean], smallHeader: ["smallHeader", "smallHeader", inputToBoolean], showSearch: ["showSearch", "showSearch", inputToBoolean], slimTitle: "slimTitle", slimTitleLink: "slimTitleLink", loginStyle: "loginStyle", megamenu: ["megamenu", "megamenu", inputToBoolean], expand: ["expand", "expand", inputToBoolean] }, outputs: { loginClick: "loginClick", searchClick: "searchClick" }, viewQueries: [{ propertyName: "headerWrapper", first: true, predicate: ["headerWrapper"], descendants: true }, { propertyName: "itNavBarComponent", first: true, predicate: ItNavBarComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<header\n #headerWrapper\n class=\"it-header-wrapper\"\n [class.it-header-sticky]=\"sticky\"\n data-bs-position-type=\"fixed\"\n data-bs-sticky-class-name=\"is-sticky\"\n data-bs-target=\"#header-nav-wrapper\">\n @if (showSlim) {\n <div class=\"it-header-slim-wrapper\" [class.theme-light]=\"light\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-slim-wrapper-content\">\n <a class=\"d-none d-lg-block navbar-brand\" [href]=\"slimTitleLink\" [target]=\"slimTitleLink !== '#' ? '_blank' : '_self'\">\n {{ slimTitle }}\n </a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation' | translate\">\n <a\n class=\"it-opener d-lg-none\"\n data-bs-toggle=\"collapse\"\n href=\"#menuC1\"\n role=\"button\"\n aria-expanded=\"false\"\n aria-controls=\"menuC1\">\n <span>{{ slimTitle }}</span>\n <it-icon name=\"expand\"></it-icon>\n </a>\n <div class=\"link-list-wrapper collapse\" id=\"menuC1\">\n <ng-content select=\"[slimLinkList]\"></ng-content>\n </div>\n </nav>\n </div>\n <div class=\"it-header-slim-right-zone\">\n <ng-content select=\"[slimRightZone]\"></ng-content>\n @if (loginStyle === 'default') {\n <div class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"emitLoginClick($event)\" href=\"#\">\n {{ 'it.navigation.login' | translate }}\n </a>\n </div>\n }\n @if (loginStyle === 'full') {\n <a itButton=\"primary\" class=\"btn-full btn-icon\" (click)=\"emitLoginClick($event)\" href=\"#\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n </span>\n <span class=\"d-none d-lg-block\">{{ 'it.navigation.full-login' | translate }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"smallHeader\" [class.theme-light]=\"light\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-center-content-wrapper\">\n <div class=\"it-brand-wrapper\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"it-right-zone\">\n <ng-content select=\"[rightZone]\"></ng-content>\n\n @if (showSearch) {\n <div class=\"it-search-wrapper\">\n <span class=\"d-none d-md-block\">{{ 'it.navigation.search' | translate }}</span>\n <a\n href=\"#\"\n class=\"search-link rounded-icon\"\n [attr.aria-label]=\"'it.navigation.website-search' | translate\"\n (click)=\"emitSearchClick($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-header-navbar-wrapper\" [class.theme-light-desk]=\"light\" id=\"header-nav-wrapper\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <it-navbar [megamenu]=\"megamenu\" [expand]=\"expand\">\n <ng-container navItems>\n <ng-content select=\"[navItems]\"></ng-content>\n </ng-container>\n </it-navbar>\n </div>\n </div>\n </div>\n </div>\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"], dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }, { kind: "directive", type: ItButtonDirective, selector: "[itButton]", inputs: ["itButton", "size", "block", "disabled", "type"], exportAs: ["itButton"] }, { kind: "ngmodule", type: ItNavBarModule }, { kind: "component", type: i2.ItNavBarComponent, selector: "it-navbar", inputs: ["megamenu", "expand"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
51
55
|
}
|
|
52
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
56
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItHeaderComponent, decorators: [{
|
|
53
57
|
type: Component,
|
|
54
|
-
args: [{ standalone: true, selector: 'it-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ItIconComponent, ItButtonDirective, ItNavBarModule], template: "<header\n #headerWrapper\n class=\"it-header-wrapper\"\n [class.it-header-sticky]=\"sticky\"\n data-bs-position-type=\"fixed\"\n data-bs-sticky-class-name=\"is-sticky\">\n @if (showSlim) {\n <div class=\"it-header-slim-wrapper\" [class.theme-light]=\"light\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-slim-wrapper-content\">\n <a class=\"d-none d-lg-block navbar-brand\" [href]=\"slimTitleLink\" [target]=\"slimTitleLink !== '#' ? '_blank' : '_self'\">\n {{ slimTitle }}\n </a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation' | translate\">\n <a\n class=\"it-opener d-lg-none\"\n data-bs-toggle=\"collapse\"\n href=\"#menuC1\"\n role=\"button\"\n aria-expanded=\"false\"\n aria-controls=\"menuC1\">\n <span>{{ slimTitle }}</span>\n <it-icon name=\"expand\"></it-icon>\n </a>\n <div class=\"link-list-wrapper collapse\" id=\"menuC1\">\n <ng-content select=\"[slimLinkList]\"></ng-content>\n </div>\n </nav>\n </div>\n <div class=\"it-header-slim-right-zone\">\n <ng-content select=\"[slimRightZone]\"></ng-content>\n @if (loginStyle === 'default') {\n <div class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"emitLoginClick($event)\" href=\"#\">\n {{ 'it.navigation.login' | translate }}\n </a>\n </div>\n }\n @if (loginStyle === 'full') {\n <a itButton=\"primary\" class=\"btn-full btn-icon\" (click)=\"emitLoginClick($event)\" href=\"#\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n </span>\n <span class=\"d-none d-lg-block\">{{ 'it.navigation.full-login' | translate }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"smallHeader\" [class.theme-light]=\"light\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-center-content-wrapper\">\n <div class=\"it-brand-wrapper\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"it-right-zone\">\n <ng-content select=\"[rightZone]\"></ng-content>\n\n @if (showSearch) {\n <div class=\"it-search-wrapper\">\n <span class=\"d-none d-md-block\">{{ 'it.navigation.search' | translate }}</span>\n <a\n href=\"#\"\n class=\"search-link rounded-icon\"\n [attr.aria-label]=\"'it.navigation.website-search' | translate\"\n (click)=\"emitSearchClick($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-header-navbar-wrapper\" [class.theme-light-desk]=\"light\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <it-navbar [megamenu]=\"megamenu\" [expand]=\"expand\">\n <ng-container navItems>\n <ng-content select=\"[navItems]\"></ng-content>\n </ng-container>\n </it-navbar>\n </div>\n </div>\n </div>\n </div>\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"] }]
|
|
58
|
+
args: [{ standalone: true, selector: 'it-header', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ItIconComponent, ItButtonDirective, ItNavBarModule], template: "<header\n #headerWrapper\n class=\"it-header-wrapper\"\n [class.it-header-sticky]=\"sticky\"\n data-bs-position-type=\"fixed\"\n data-bs-sticky-class-name=\"is-sticky\"\n data-bs-target=\"#header-nav-wrapper\">\n @if (showSlim) {\n <div class=\"it-header-slim-wrapper\" [class.theme-light]=\"light\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-slim-wrapper-content\">\n <a class=\"d-none d-lg-block navbar-brand\" [href]=\"slimTitleLink\" [target]=\"slimTitleLink !== '#' ? '_blank' : '_self'\">\n {{ slimTitle }}\n </a>\n <div class=\"nav-mobile\">\n <nav [attr.aria-label]=\"'it.navigation.secondary-navigation' | translate\">\n <a\n class=\"it-opener d-lg-none\"\n data-bs-toggle=\"collapse\"\n href=\"#menuC1\"\n role=\"button\"\n aria-expanded=\"false\"\n aria-controls=\"menuC1\">\n <span>{{ slimTitle }}</span>\n <it-icon name=\"expand\"></it-icon>\n </a>\n <div class=\"link-list-wrapper collapse\" id=\"menuC1\">\n <ng-content select=\"[slimLinkList]\"></ng-content>\n </div>\n </nav>\n </div>\n <div class=\"it-header-slim-right-zone\">\n <ng-content select=\"[slimRightZone]\"></ng-content>\n @if (loginStyle === 'default') {\n <div class=\"it-access-top-wrapper\">\n <a class=\"btn btn-primary btn-sm\" (click)=\"emitLoginClick($event)\" href=\"#\">\n {{ 'it.navigation.login' | translate }}\n </a>\n </div>\n }\n @if (loginStyle === 'full') {\n <a itButton=\"primary\" class=\"btn-full btn-icon\" (click)=\"emitLoginClick($event)\" href=\"#\">\n <span class=\"rounded-icon\">\n <it-icon name=\"user\" color=\"primary\"></it-icon>\n </span>\n <span class=\"d-none d-lg-block\">{{ 'it.navigation.full-login' | translate }}</span>\n </a>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n }\n <div class=\"it-nav-wrapper\">\n <div class=\"it-header-center-wrapper\" [class.it-small-header]=\"smallHeader\" [class.theme-light]=\"light\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <div class=\"it-header-center-content-wrapper\">\n <div class=\"it-brand-wrapper\">\n <ng-content select=\"[brand]\"></ng-content>\n </div>\n <div class=\"it-right-zone\">\n <ng-content select=\"[rightZone]\"></ng-content>\n\n @if (showSearch) {\n <div class=\"it-search-wrapper\">\n <span class=\"d-none d-md-block\">{{ 'it.navigation.search' | translate }}</span>\n <a\n href=\"#\"\n class=\"search-link rounded-icon\"\n [attr.aria-label]=\"'it.navigation.website-search' | translate\"\n (click)=\"emitSearchClick($event)\">\n <it-icon name=\"search\"></it-icon>\n </a>\n </div>\n }\n </div>\n </div>\n </div>\n </div>\n </div>\n </div>\n <div class=\"it-header-navbar-wrapper\" [class.theme-light-desk]=\"light\" id=\"header-nav-wrapper\">\n <div class=\"container\">\n <div class=\"row\">\n <div class=\"col-12\">\n <it-navbar [megamenu]=\"megamenu\" [expand]=\"expand\">\n <ng-container navItems>\n <ng-content select=\"[navItems]\"></ng-content>\n </ng-container>\n </it-navbar>\n </div>\n </div>\n </div>\n </div>\n </div>\n</header>\n", styles: [".nav-mobile:has(.link-list-wrapper:empty){display:none}\n"] }]
|
|
55
59
|
}], ctorParameters: () => [], propDecorators: { light: [{
|
|
56
60
|
type: Input,
|
|
57
61
|
args: [{ transform: inputToBoolean }]
|
|
@@ -80,6 +84,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
80
84
|
}], headerWrapper: [{
|
|
81
85
|
type: ViewChild,
|
|
82
86
|
args: ['headerWrapper']
|
|
87
|
+
}], itNavBarComponent: [{
|
|
88
|
+
type: ViewChild,
|
|
89
|
+
args: [ItNavBarComponent]
|
|
83
90
|
}], megamenu: [{
|
|
84
91
|
type: Input,
|
|
85
92
|
args: [{ transform: inputToBoolean }]
|
|
@@ -87,4 +94,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
87
94
|
type: Input,
|
|
88
95
|
args: [{ transform: inputToBoolean }]
|
|
89
96
|
}] } });
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBVWhELE1BQU0sT0FBTyxpQkFBaUI7SUEyQjVCO1FBdEJzQyxhQUFRLEdBQWEsSUFBSSxDQUFDO1FBRTFCLGdCQUFXLEdBQWEsSUFBSSxDQUFDO1FBRTdCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFHekQsa0JBQWEsR0FBdUIsR0FBRyxDQUFDO1FBRXhDLGVBQVUsR0FBZ0MsTUFBTSxDQUFDO1FBU3BCLFdBQU0sR0FBYSxJQUFJLENBQUM7UUFLNUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLFlBQVksRUFBUyxD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LGNBQWMsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT3V0cHV0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBJdEljb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi91dGlscy9pY29uL2ljb24uY29tcG9uZW50JztcbmltcG9ydCB7IEl0TmF2QmFyTW9kdWxlIH0gZnJvbSAnLi4vbmF2YmFyL25hdmJhci5tb2R1bGUnO1xuXG5pbXBvcnQgeyBJdEJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2NvcmUvYnV0dG9uL2J1dHRvbi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgaW5wdXRUb0Jvb2xlYW4gfSBmcm9tICcuLi8uLi8uLi91dGlscy9jb2VyY2lvbic7XG5pbXBvcnQgeyBIZWFkZXJTdGlja3kgfSBmcm9tICdib290c3RyYXAtaXRhbGlhJztcblxuQENvbXBvbmVudCh7XG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHNlbGVjdG9yOiAnaXQtaGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2hlYWRlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2hlYWRlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW1wb3J0czogW1RyYW5zbGF0ZU1vZHVsZSwgSXRJY29uQ29tcG9uZW50LCBJdEJ1dHRvbkRpcmVjdGl2ZSwgSXROYXZCYXJNb2R1bGVdLFxufSlcbmV4cG9ydCBjbGFzcyBJdEhlYWRlckNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcyB7XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgbGlnaHQ/OiBib29sZWFuO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc3RpY2t5PzogYm9vbGVhbjtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dTbGltPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzbWFsbEhlYWRlcj86IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc2hvd1NlYXJjaD86IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpIHNsaW1UaXRsZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBzbGltVGl0bGVMaW5rOiBzdHJpbmcgfCB1bmRlZmluZWQgPSAnIyc7XG5cbiAgQElucHV0KCkgbG9naW5TdHlsZTogJ25vbmUnIHwgJ2RlZmF1bHQnIHwgJ2Z1bGwnID0gJ25vbmUnO1xuXG4gIEBPdXRwdXQoKSBsb2dpbkNsaWNrOiBFdmVudEVtaXR0ZXI8RXZlbnQ+O1xuXG4gIEBPdXRwdXQoKSBzZWFyY2hDbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PjtcblxuICBAVmlld0NoaWxkKCdoZWFkZXJXcmFwcGVyJykgcHJpdmF0ZSBoZWFkZXJXcmFwcGVyPzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBtZWdhbWVudT86IGJvb2xlYW47XG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgZXhwYW5kPzogYm9vbGVhbiA9IHRydWU7XG5cbiAgcHJpdmF0ZSBzdGlja3lIZWFkZXI/OiBIZWFkZXJTdGlja3k7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5sb2dpbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgICB0aGlzLnNlYXJjaENsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxFdmVudD4oKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICB0aGlzLnVwZGF0ZUxpc3RlbmVycygpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydzdGlja3knXSAmJiBjaGFuZ2VzWydzdGlja3knXS5jdXJyZW50VmFsdWUgPT0gdHJ1ZSAmJiAhY2hhbmdlc1snc3RpY2t5J10uZmlyc3RDaGFuZ2UpIHtcbiAgICAgIHRoaXMudXBkYXRlTGlzdGVuZXJzKCk7XG4gICAgfVxuICAgIGlmIChjaGFuZ2VzWydzdGlja3knXSAmJiBjaGFuZ2VzWydzdGlja3knXS5jdXJyZW50VmFsdWUgPT0gZmFsc2UpIHtcbiAgICAgIHRoaXMuc3RpY2t5SGVhZGVyPy5fZWxlbWVudE9iaj8uX3Vuc2V0U3RpY2t5KCk7XG4gICAgICB0aGlzLnN0aWNreUhlYWRlcj8uX2VsZW1lbnRPYmo/LmRpc3Bvc2UoKTtcbiAgICAgIGRlbGV0ZSB0aGlzLnN0aWNreUhlYWRlcjtcbiAgICAgIHRoaXMuc3RpY2t5SGVhZGVyID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZUxpc3RlbmVycygpIHtcbiAgICBpZiAoIXRoaXMuc3RpY2t5SGVhZGVyICYmIHRoaXMuaGVhZGVyV3JhcHBlciAmJiB0aGlzLnN0aWNreSkge1xuICAgICAgdGhpcy5zdGlja3lIZWFkZXIgPSBuZXcgSGVhZGVyU3RpY2t5KHRoaXMuaGVhZGVyV3JhcHBlci5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG4gIH1cblxuICBwcm90ZWN0ZWQgZW1pdExvZ2luQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLmxvZ2luQ2xpY2suZW1pdChldmVudCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgZW1pdFNlYXJjaENsaWNrKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5zZWFyY2hDbGljay5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPGhlYWRlclxuICAjaGVhZGVyV3JhcHBlclxuICBjbGFzcz1cIml0LWhlYWRlci13cmFwcGVyXCJcbiAgW2NsYXNzLml0LWhlYWRlci1zdGlja3ldPVwic3RpY2t5XCJcbiAgZGF0YS1icy1wb3NpdGlvbi10eXBlPVwiZml4ZWRcIlxuICBkYXRhLWJzLXN0aWNreS1jbGFzcy1uYW1lPVwiaXMtc3RpY2t5XCI+XG4gIEBpZiAoc2hvd1NsaW0pIHtcbiAgICA8ZGl2IGNsYXNzPVwiaXQtaGVhZGVyLXNsaW0td3JhcHBlclwiIFtjbGFzcy50aGVtZS1saWdodF09XCJsaWdodFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0LWhlYWRlci1zbGltLXdyYXBwZXItY29udGVudFwiPlxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtbm9uZSBkLWxnLWJsb2NrIG5hdmJhci1icmFuZFwiIFtocmVmXT1cInNsaW1UaXRsZUxpbmtcIiBbdGFyZ2V0XT1cInNsaW1UaXRsZUxpbmsgIT09ICcjJyA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiPlxuICAgICAgICAgICAgICAgIHt7IHNsaW1UaXRsZSB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtbW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgPG5hdiBbYXR0ci5hcmlhLWxhYmVsXT1cIidpdC5uYXZpZ2F0aW9uLnNlY29uZGFyeS1uYXZpZ2F0aW9uJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpdC1vcGVuZXIgZC1sZy1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjbWVudUMxXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJtZW51QzFcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgc2xpbVRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aXQtaWNvbiBuYW1lPVwiZXhwYW5kXCI+PC9pdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstbGlzdC13cmFwcGVyIGNvbGxhcHNlXCIgaWQ9XCJtZW51QzFcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NsaW1MaW5rTGlzdF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdC1oZWFkZXItc2xpbS1yaWdodC16b25lXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NsaW1SaWdodFpvbmVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIEBpZiAobG9naW5TdHlsZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXQtYWNjZXNzLXRvcC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiIChjbGljayk9XCJlbWl0TG9naW5DbGljaygkZXZlbnQpXCIgaHJlZj1cIiNcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnaXQubmF2aWdhdGlvbi5sb2dpbicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAobG9naW5TdHlsZSA9PT0gJ2Z1bGwnKSB7XG4gICAgICAgICAgICAgICAgICA8YSBpdEJ1dHRvbj1cInByaW1hcnlcIiBjbGFzcz1cImJ0bi1mdWxsIGJ0bi1pY29uXCIgKGNsaWNrKT1cImVtaXRMb2dpbkNsaWNrKCRldmVudClcIiBocmVmPVwiI1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvdW5kZWQtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpdC1pY29uIG5hbWU9XCJ1c2VyXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9pdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1ub25lIGQtbGctYmxvY2tcIj57eyAnaXQubmF2aWdhdGlvbi5mdWxsLWxvZ2luJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbiAgPGRpdiBjbGFzcz1cIml0LW5hdi13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIml0LWhlYWRlci1jZW50ZXItd3JhcHBlclwiIFtjbGFzcy5pdC1zbWFsbC1oZWFkZXJdPVwic21hbGxIZWFkZXJcIiBbY2xhc3MudGhlbWUtbGlnaHRdPVwibGlnaHRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdC1oZWFkZXItY2VudGVyLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXQtYnJhbmQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlticmFuZF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXQtcmlnaHQtem9uZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltyaWdodFpvbmVdXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgICAgICAgICAgQGlmIChzaG93U2VhcmNoKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXQtc2VhcmNoLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLW5vbmUgZC1tZC1ibG9ja1wiPnt7ICdpdC5uYXZpZ2F0aW9uLnNlYXJjaCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWxpbmsgcm91bmRlZC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidpdC5uYXZpZ2F0aW9uLndlYnNpdGUtc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVtaXRTZWFyY2hDbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGl0LWljb24gbmFtZT1cInNlYXJjaFwiPjwvaXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpdC1oZWFkZXItbmF2YmFyLXdyYXBwZXJcIiBbY2xhc3MudGhlbWUtbGlnaHQtZGVza109XCJsaWdodFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgPGl0LW5hdmJhciBbbWVnYW1lbnVdPVwibWVnYW1lbnVcIiBbZXhwYW5kXT1cImV4cGFuZFwiPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyIG5hdkl0ZW1zPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltuYXZJdGVtc11cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9pdC1uYXZiYXI+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9oZWFkZXI+XG4iXX0=
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1hbmd1bGFyLWtpdC9zcmMvbGliL2NvbXBvbmVudHMvbmF2aWdhdGlvbi9oZWFkZXIvaGVhZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUVULFlBQVksRUFDWixLQUFLLEVBRUwsTUFBTSxFQUVOLFNBQVMsR0FDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN6RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUV0RSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDOzs7O0FBVWhELE1BQU0sT0FBTyxpQkFBaUI7SUE2QjVCO1FBeEJzQyxhQUFRLEdBQWEsSUFBSSxDQUFDO1FBRTFCLGdCQUFXLEdBQWEsSUFBSSxDQUFDO1FBRTdCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFHekQsa0JBQWEsR0FBdUIsR0FBRyxDQUFDO1FBRXhDLGVBQVUsR0FBZ0MsTUFBTSxDQUFDO1FBV3BCLFdBQU0sR0FBYSxJQUFJLENB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YTtzQkFBaEQsU0FBUzt1QkFBQyxlQUFlO2dCQUVZLGlCQUFpQjtzQkFBdEQsU0FBUzt1QkFBQyxpQkFBaUI7Z0JBRVUsUUFBUTtzQkFBN0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUU7Z0JBQ0UsTUFBTTtzQkFBM0MsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgU2ltcGxlQ2hhbmdlcyxcbiAgVmlld0NoaWxkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZU1vZHVsZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgSXRJY29uQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vdXRpbHMvaWNvbi9pY29uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJdE5hdkJhck1vZHVsZSB9IGZyb20gJy4uL25hdmJhci9uYXZiYXIubW9kdWxlJztcbmltcG9ydCB7IEl0TmF2QmFyQ29tcG9uZW50IH0gZnJvbSAnLi4vbmF2YmFyL25hdmJhci9uYXZiYXIuY29tcG9uZW50JztcblxuaW1wb3J0IHsgSXRCdXR0b25EaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9jb3JlL2J1dHRvbi9idXR0b24uZGlyZWN0aXZlJztcbmltcG9ydCB7IGlucHV0VG9Cb29sZWFuIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvY29lcmNpb24nO1xuaW1wb3J0IHsgSGVhZGVyU3RpY2t5IH0gZnJvbSAnYm9vdHN0cmFwLWl0YWxpYSc7XG5cbkBDb21wb25lbnQoe1xuICBzdGFuZGFsb25lOiB0cnVlLFxuICBzZWxlY3RvcjogJ2l0LWhlYWRlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9oZWFkZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGltcG9ydHM6IFtUcmFuc2xhdGVNb2R1bGUsIEl0SWNvbkNvbXBvbmVudCwgSXRCdXR0b25EaXJlY3RpdmUsIEl0TmF2QmFyTW9kdWxlXSxcbn0pXG5leHBvcnQgY2xhc3MgSXRIZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0LCBPbkNoYW5nZXMge1xuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIGxpZ2h0PzogYm9vbGVhbjtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHN0aWNreT86IGJvb2xlYW47XG5cbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBzaG93U2xpbT86IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCh7IHRyYW5zZm9ybTogaW5wdXRUb0Jvb2xlYW4gfSkgc21hbGxIZWFkZXI/OiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIHNob3dTZWFyY2g/OiBib29sZWFuID0gdHJ1ZTtcblxuICBASW5wdXQoKSBzbGltVGl0bGU6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgc2xpbVRpdGxlTGluazogc3RyaW5nIHwgdW5kZWZpbmVkID0gJyMnO1xuXG4gIEBJbnB1dCgpIGxvZ2luU3R5bGU6ICdub25lJyB8ICdkZWZhdWx0JyB8ICdmdWxsJyA9ICdub25lJztcblxuICBAT3V0cHV0KCkgbG9naW5DbGljazogRXZlbnRFbWl0dGVyPEV2ZW50PjtcblxuICBAT3V0cHV0KCkgc2VhcmNoQ2xpY2s6IEV2ZW50RW1pdHRlcjxFdmVudD47XG5cbiAgQFZpZXdDaGlsZCgnaGVhZGVyV3JhcHBlcicpIHByaXZhdGUgaGVhZGVyV3JhcHBlcj86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gIEBWaWV3Q2hpbGQoSXROYXZCYXJDb21wb25lbnQpIHByaXZhdGUgaXROYXZCYXJDb21wb25lbnQ/OiBJdE5hdkJhckNvbXBvbmVudDtcblxuICBASW5wdXQoeyB0cmFuc2Zvcm06IGlucHV0VG9Cb29sZWFuIH0pIG1lZ2FtZW51PzogYm9vbGVhbjtcbiAgQElucHV0KHsgdHJhbnNmb3JtOiBpbnB1dFRvQm9vbGVhbiB9KSBleHBhbmQ/OiBib29sZWFuID0gdHJ1ZTtcblxuICBwcml2YXRlIHN0aWNreUhlYWRlcj86IEhlYWRlclN0aWNreTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmxvZ2luQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICAgIHRoaXMuc2VhcmNoQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPEV2ZW50PigpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMudXBkYXRlTGlzdGVuZXJzKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgaWYgKGNoYW5nZXNbJ3N0aWNreSddICYmIGNoYW5nZXNbJ3N0aWNreSddLmN1cnJlbnRWYWx1ZSA9PSB0cnVlICYmICFjaGFuZ2VzWydzdGlja3knXS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy51cGRhdGVMaXN0ZW5lcnMoKTtcbiAgICB9XG4gICAgaWYgKGNoYW5nZXNbJ3N0aWNreSddICYmIGNoYW5nZXNbJ3N0aWNreSddLmN1cnJlbnRWYWx1ZSA9PSBmYWxzZSkge1xuICAgICAgdGhpcy5zdGlja3lIZWFkZXI/Ll9lbGVtZW50T2JqPy5fdW5zZXRTdGlja3koKTtcbiAgICAgIHRoaXMuc3RpY2t5SGVhZGVyPy5fZWxlbWVudE9iaj8uZGlzcG9zZSgpO1xuICAgICAgZGVsZXRlIHRoaXMuc3RpY2t5SGVhZGVyO1xuICAgICAgdGhpcy5zdGlja3lIZWFkZXIgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlTGlzdGVuZXJzKCkge1xuICAgIGlmICghdGhpcy5zdGlja3lIZWFkZXIgJiYgdGhpcy5oZWFkZXJXcmFwcGVyICYmIHRoaXMuc3RpY2t5KSB7XG4gICAgICB0aGlzLnN0aWNreUhlYWRlciA9IG5ldyBIZWFkZXJTdGlja3kodGhpcy5oZWFkZXJXcmFwcGVyLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0TG9naW5DbGljayhldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIHRoaXMubG9naW5DbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBlbWl0U2VhcmNoQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICB0aGlzLnNlYXJjaENsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgdG9nZ2xlQ29sbGFwc2UoKSB7XG4gICAgdGhpcy5pdE5hdkJhckNvbXBvbmVudD8udG9nZ2xlQ29sbGFwc2UoKTtcbiAgfVxufVxuIiwiPGhlYWRlclxuICAjaGVhZGVyV3JhcHBlclxuICBjbGFzcz1cIml0LWhlYWRlci13cmFwcGVyXCJcbiAgW2NsYXNzLml0LWhlYWRlci1zdGlja3ldPVwic3RpY2t5XCJcbiAgZGF0YS1icy1wb3NpdGlvbi10eXBlPVwiZml4ZWRcIlxuICBkYXRhLWJzLXN0aWNreS1jbGFzcy1uYW1lPVwiaXMtc3RpY2t5XCJcbiAgZGF0YS1icy10YXJnZXQ9XCIjaGVhZGVyLW5hdi13cmFwcGVyXCI+XG4gIEBpZiAoc2hvd1NsaW0pIHtcbiAgICA8ZGl2IGNsYXNzPVwiaXQtaGVhZGVyLXNsaW0td3JhcHBlclwiIFtjbGFzcy50aGVtZS1saWdodF09XCJsaWdodFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMlwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0LWhlYWRlci1zbGltLXdyYXBwZXItY29udGVudFwiPlxuICAgICAgICAgICAgICA8YSBjbGFzcz1cImQtbm9uZSBkLWxnLWJsb2NrIG5hdmJhci1icmFuZFwiIFtocmVmXT1cInNsaW1UaXRsZUxpbmtcIiBbdGFyZ2V0XT1cInNsaW1UaXRsZUxpbmsgIT09ICcjJyA/ICdfYmxhbmsnIDogJ19zZWxmJ1wiPlxuICAgICAgICAgICAgICAgIHt7IHNsaW1UaXRsZSB9fVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJuYXYtbW9iaWxlXCI+XG4gICAgICAgICAgICAgICAgPG5hdiBbYXR0ci5hcmlhLWxhYmVsXT1cIidpdC5uYXZpZ2F0aW9uLnNlY29uZGFyeS1uYXZpZ2F0aW9uJyB8IHRyYW5zbGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJpdC1vcGVuZXIgZC1sZy1ub25lXCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS1icy10b2dnbGU9XCJjb2xsYXBzZVwiXG4gICAgICAgICAgICAgICAgICAgIGhyZWY9XCIjbWVudUMxXCJcbiAgICAgICAgICAgICAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtZXhwYW5kZWQ9XCJmYWxzZVwiXG4gICAgICAgICAgICAgICAgICAgIGFyaWEtY29udHJvbHM9XCJtZW51QzFcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+e3sgc2xpbVRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICAgICAgICA8aXQtaWNvbiBuYW1lPVwiZXhwYW5kXCI+PC9pdC1pY29uPlxuICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmstbGlzdC13cmFwcGVyIGNvbGxhcHNlXCIgaWQ9XCJtZW51QzFcIj5cbiAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NsaW1MaW5rTGlzdF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L25hdj5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdC1oZWFkZXItc2xpbS1yaWdodC16b25lXCI+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW3NsaW1SaWdodFpvbmVdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgIEBpZiAobG9naW5TdHlsZSA9PT0gJ2RlZmF1bHQnKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXQtYWNjZXNzLXRvcC13cmFwcGVyXCI+XG4gICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1zbVwiIChjbGljayk9XCJlbWl0TG9naW5DbGljaygkZXZlbnQpXCIgaHJlZj1cIiNcIj5cbiAgICAgICAgICAgICAgICAgICAgICB7eyAnaXQubmF2aWdhdGlvbi5sb2dpbicgfCB0cmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIEBpZiAobG9naW5TdHlsZSA9PT0gJ2Z1bGwnKSB7XG4gICAgICAgICAgICAgICAgICA8YSBpdEJ1dHRvbj1cInByaW1hcnlcIiBjbGFzcz1cImJ0bi1mdWxsIGJ0bi1pY29uXCIgKGNsaWNrKT1cImVtaXRMb2dpbkNsaWNrKCRldmVudClcIiBocmVmPVwiI1wiPlxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJvdW5kZWQtaWNvblwiPlxuICAgICAgICAgICAgICAgICAgICAgIDxpdC1pY29uIG5hbWU9XCJ1c2VyXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9pdC1pY29uPlxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZC1ub25lIGQtbGctYmxvY2tcIj57eyAnaXQubmF2aWdhdGlvbi5mdWxsLWxvZ2luJyB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvYT5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIH1cbiAgPGRpdiBjbGFzcz1cIml0LW5hdi13cmFwcGVyXCI+XG4gICAgPGRpdiBjbGFzcz1cIml0LWhlYWRlci1jZW50ZXItd3JhcHBlclwiIFtjbGFzcy5pdC1zbWFsbC1oZWFkZXJdPVwic21hbGxIZWFkZXJcIiBbY2xhc3MudGhlbWUtbGlnaHRdPVwibGlnaHRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXJcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTJcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdC1oZWFkZXItY2VudGVyLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXQtYnJhbmQtd3JhcHBlclwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIlticmFuZF1cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXQtcmlnaHQtem9uZVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cIltyaWdodFpvbmVdXCI+PC9uZy1jb250ZW50PlxuXG4gICAgICAgICAgICAgICAgQGlmIChzaG93U2VhcmNoKSB7XG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXQtc2VhcmNoLXdyYXBwZXJcIj5cbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLW5vbmUgZC1tZC1ibG9ja1wiPnt7ICdpdC5uYXZpZ2F0aW9uLnNlYXJjaCcgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gICAgICAgICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2VhcmNoLWxpbmsgcm91bmRlZC1pY29uXCJcbiAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidpdC5uYXZpZ2F0aW9uLndlYnNpdGUtc2VhcmNoJyB8IHRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgICAgKGNsaWNrKT1cImVtaXRTZWFyY2hDbGljaygkZXZlbnQpXCI+XG4gICAgICAgICAgICAgICAgICAgICAgPGl0LWljb24gbmFtZT1cInNlYXJjaFwiPjwvaXQtaWNvbj5cbiAgICAgICAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJpdC1oZWFkZXItbmF2YmFyLXdyYXBwZXJcIiBbY2xhc3MudGhlbWUtbGlnaHQtZGVza109XCJsaWdodFwiIGlkPVwiaGVhZGVyLW5hdi13cmFwcGVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyXCI+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyXCI+XG4gICAgICAgICAgICA8aXQtbmF2YmFyIFttZWdhbWVudV09XCJtZWdhbWVudVwiIFtleHBhbmRdPVwiZXhwYW5kXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgbmF2SXRlbXM+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25hdkl0ZW1zXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2l0LW5hdmJhcj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9kaXY+XG48L2hlYWRlcj5cbiJdfQ==
|
|
@@ -9,10 +9,10 @@ export class ItMegamenuComponent {
|
|
|
9
9
|
*/
|
|
10
10
|
this.mode = 'normal';
|
|
11
11
|
}
|
|
12
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
12
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItMegamenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: ItMegamenuComponent, isStandalone: true, selector: "it-megamenu", inputs: { mode: "mode", header: ["header", "header", inputToBoolean], footer: ["footer", "footer", inputToBoolean] }, ngImport: i0, template: "<div class=\"megamenu pb-5 pt-3 py-lg-0\">\n <div class=\"row\">\n @if (mode === 'left-section') {\n <div class=\"col-xs-12 col-lg-4 px-0\">\n <div class=\"row\">\n <div class=\"col-12 it-vertical it-description pb-lg-3\">\n <div class=\"description-content ps-4 ps-sm-5 ms-3\">\n <ng-content select=\"[megamenuLeftZone]\"></ng-content>\n </div>\n </div>\n </div>\n </div>\n }\n <div class=\"col-12\" [class.col-lg-8]=\"mode !== 'normal'\">\n @if (header) {\n <div class=\"it-heading-link-wrapper\">\n <ng-content select=\"[megamenuHeadingLink]\"></ng-content>\n </div>\n }\n <div class=\"row\">\n <ng-content select=\"[megamenuLinkList]\"></ng-content>\n </div>\n </div>\n @if (footer || mode === 'right-section') {\n <div [class.col-xs-12]=\"mode === 'right-section'\" [class.col-lg-4]=\"mode === 'right-section'\" [class.px-0]=\"mode === 'right-section'\">\n <div [class.it-footer-link-wrapper]=\"footer\" [class.it-footer-link-wrapper-vertical]=\"mode === 'right-section'\">\n <div class=\"d-flex flex-column justify-content-around\" [class.flex-lg-row]=\"mode !== 'right-section'\">\n <ng-content select=\"[megamenuFooter]\"></ng-content>\n </div>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: ["::ng-deep .theme-light-desk .nav-link:before{background-color:#06c}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
14
|
}
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItMegamenuComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
17
|
args: [{ standalone: true, selector: 'it-megamenu', changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgTemplateOutlet], template: "<div class=\"megamenu pb-5 pt-3 py-lg-0\">\n <div class=\"row\">\n @if (mode === 'left-section') {\n <div class=\"col-xs-12 col-lg-4 px-0\">\n <div class=\"row\">\n <div class=\"col-12 it-vertical it-description pb-lg-3\">\n <div class=\"description-content ps-4 ps-sm-5 ms-3\">\n <ng-content select=\"[megamenuLeftZone]\"></ng-content>\n </div>\n </div>\n </div>\n </div>\n }\n <div class=\"col-12\" [class.col-lg-8]=\"mode !== 'normal'\">\n @if (header) {\n <div class=\"it-heading-link-wrapper\">\n <ng-content select=\"[megamenuHeadingLink]\"></ng-content>\n </div>\n }\n <div class=\"row\">\n <ng-content select=\"[megamenuLinkList]\"></ng-content>\n </div>\n </div>\n @if (footer || mode === 'right-section') {\n <div [class.col-xs-12]=\"mode === 'right-section'\" [class.col-lg-4]=\"mode === 'right-section'\" [class.px-0]=\"mode === 'right-section'\">\n <div [class.it-footer-link-wrapper]=\"footer\" [class.it-footer-link-wrapper-vertical]=\"mode === 'right-section'\">\n <div class=\"d-flex flex-column justify-content-around\" [class.flex-lg-row]=\"mode !== 'right-section'\">\n <ng-content select=\"[megamenuFooter]\"></ng-content>\n </div>\n </div>\n </div>\n }\n </div>\n</div>\n", styles: ["::ng-deep .theme-light-desk .nav-link:before{background-color:#06c}\n"] }]
|
|
18
18
|
}], propDecorators: { mode: [{
|
|
@@ -18,10 +18,10 @@ export class ItNavBarComponent {
|
|
|
18
18
|
toggleCollapse() {
|
|
19
19
|
this.navbar?.toggle(this.collapseButton?.nativeElement);
|
|
20
20
|
}
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
22
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
22
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.0.6", type: ItNavBarComponent, isStandalone: true, selector: "it-navbar", inputs: { megamenu: ["megamenu", "megamenu", inputToBoolean], expand: ["expand", "expand", inputToBoolean] }, viewQueries: [{ propertyName: "collapseButton", first: true, predicate: ["collapseButton"], descendants: true }, { propertyName: "collapseView", first: true, predicate: ["collapseView"], descendants: true }], ngImport: i0, template: "<nav\n class=\"navbar\"\n [class.navbar-expand-lg]=\"expand\"\n [class.has-megamenu]=\"megamenu\"\n [attr.aria-label]=\"'it.navbar.aria-label-main' | translate\">\n <button\n (click)=\"toggleCollapse()\"\n #collapseButton\n class=\"custom-navbar-toggler\"\n type=\"button\"\n [attr.aria-label]=\"'it.navbar.aria-label-toggle' | translate\">\n <it-icon name=\"burger\"></it-icon>\n </button>\n <div #collapseView class=\"navbar-collapsable\" style=\"display: none\">\n <div class=\"overlay\" style=\"display: none\"></div>\n <div class=\"close-div\">\n <button class=\"btn close-menu\" type=\"button\">\n <span class=\"visually-hidden\">{{ 'it.navbar.hide' | translate }}</span>\n <it-icon name=\"close-big\"></it-icon>\n </button>\n </div>\n <div class=\"menu-wrapper\">\n <ul class=\"navbar-nav\">\n <ng-content select=\"[navItems]\"></ng-content>\n </ul>\n </div>\n </div>\n</nav>\n", dependencies: [{ kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i1.TranslatePipe, name: "translate" }, { kind: "component", type: ItIconComponent, selector: "it-icon", inputs: ["name", "size", "color", "padded", "svgClass", "labelWaria"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImport: i0, type: ItNavBarComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{ standalone: true, selector: 'it-navbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [TranslateModule, ItIconComponent, ItButtonDirective], template: "<nav\n class=\"navbar\"\n [class.navbar-expand-lg]=\"expand\"\n [class.has-megamenu]=\"megamenu\"\n [attr.aria-label]=\"'it.navbar.aria-label-main' | translate\">\n <button\n (click)=\"toggleCollapse()\"\n #collapseButton\n class=\"custom-navbar-toggler\"\n type=\"button\"\n [attr.aria-label]=\"'it.navbar.aria-label-toggle' | translate\">\n <it-icon name=\"burger\"></it-icon>\n </button>\n <div #collapseView class=\"navbar-collapsable\" style=\"display: none\">\n <div class=\"overlay\" style=\"display: none\"></div>\n <div class=\"close-div\">\n <button class=\"btn close-menu\" type=\"button\">\n <span class=\"visually-hidden\">{{ 'it.navbar.hide' | translate }}</span>\n <it-icon name=\"close-big\"></it-icon>\n </button>\n </div>\n <div class=\"menu-wrapper\">\n <ul class=\"navbar-nav\">\n <ng-content select=\"[navItems]\"></ng-content>\n </ul>\n </div>\n </div>\n</nav>\n" }]
|
|
27
27
|
}], propDecorators: { megamenu: [{
|