@wizishop/angular-components 18.0.0 → 18.2.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/angular-components.scss +352 -358
- package/assets/i18n/it.json +1 -1
- package/esm2022/lib/components/ai-express/ai-express.component.mjs +3 -3
- package/esm2022/lib/components/alert/alert.component.mjs +3 -3
- package/esm2022/lib/components/alert-popup/alert-popup-module.mjs +5 -5
- package/esm2022/lib/components/alert-popup/alert-popup.component.mjs +3 -3
- package/esm2022/lib/components/alert-popup/alert-popup.service.mjs +3 -3
- package/esm2022/lib/components/back/back.component.mjs +3 -3
- package/esm2022/lib/components/block/block-title-legacy/block-title-legacy.component.mjs +3 -3
- package/esm2022/lib/components/block/block.component.mjs +3 -3
- package/esm2022/lib/components/block/separator/block-separator.component.mjs +3 -3
- package/esm2022/lib/components/block-with-checkbox/block-with-checkbox.component.mjs +3 -3
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +3 -3
- package/esm2022/lib/components/button/button.component.mjs +11 -5
- package/esm2022/lib/components/calendar/calendar.component.mjs +3 -3
- package/esm2022/lib/components/card-price/card-price.component.mjs +3 -3
- package/esm2022/lib/components/charging-bar/charging-bar.component.mjs +3 -3
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/components/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/lib/components/column/column.component.mjs +3 -3
- package/esm2022/lib/components/common/label/label.component.mjs +3 -3
- package/esm2022/lib/components/common/placeholder/placeholder.component.mjs +3 -3
- package/esm2022/lib/components/confirm-delete/confirm-delete.component.mjs +3 -3
- package/esm2022/lib/components/content-with-buttons/content-with-buttons.component.mjs +3 -3
- package/esm2022/lib/components/delete/delete.component.mjs +3 -3
- package/esm2022/lib/components/draganddrop-list/draganddrop-list.component.mjs +3 -3
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/components/edit-in-place/edit-in-place.component.mjs +3 -3
- package/esm2022/lib/components/expanded-panel/expanded-panel.component.mjs +3 -3
- package/esm2022/lib/components/expansion/accordion/accordion.component.mjs +3 -3
- package/esm2022/lib/components/expansion/expansion-panel/expansion-panel.component.mjs +3 -3
- package/esm2022/lib/components/expansion/expansion-panel/expansion-panel.directive.mjs +3 -3
- package/esm2022/lib/components/expansion/expansion-panel-header/expansion-panel-header.component.mjs +3 -3
- package/esm2022/lib/components/expansion/expansion-panel-header/expansion-panel-header.directive.mjs +3 -3
- package/esm2022/lib/components/expansion/expansion.module.mjs +4 -4
- package/esm2022/lib/components/filters/filters.component.mjs +3 -3
- package/esm2022/lib/components/free-popin/free-popin.component.mjs +3 -3
- package/esm2022/lib/components/google-preview/google-preview.component.mjs +3 -3
- package/esm2022/lib/components/header-page/header-page.component.mjs +10 -6
- package/esm2022/lib/components/hn/h1/h1.component.mjs +3 -3
- package/esm2022/lib/components/hn/h2/h2.component.mjs +3 -3
- package/esm2022/lib/components/hn/h3/h3.component.mjs +3 -3
- package/esm2022/lib/components/hn/h4/h4.component.mjs +3 -3
- package/esm2022/lib/components/image/image.component.mjs +3 -3
- package/esm2022/lib/components/info/info.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input/input.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-search/input-search.component.mjs +3 -3
- package/esm2022/lib/components/inputs/input-with-select/input-with-select.component.mjs +3 -3
- package/esm2022/lib/components/link/link.component.mjs +3 -3
- package/esm2022/lib/components/loader/loader.component.mjs +3 -3
- package/esm2022/lib/components/logo/logo.component.mjs +3 -3
- package/esm2022/lib/components/mosaic/mosaic.component.mjs +3 -3
- package/esm2022/lib/components/multiple-search/multiple-search.component.mjs +3 -3
- package/esm2022/lib/components/multiple-search-plus/multiple-search-plus.component.mjs +3 -3
- package/esm2022/lib/components/optional-disable-container/optional-disable-container.component.mjs +3 -3
- package/esm2022/lib/components/pagination/pagination.component.mjs +3 -3
- package/esm2022/lib/components/pagination/pagination.module.mjs +4 -4
- package/esm2022/lib/components/pagination/pipes/array-pages.pipe.mjs +3 -3
- package/esm2022/lib/components/pagination/pipes/custom-text.pipe.mjs +3 -3
- package/esm2022/lib/components/pagination/pipes/is-last-page.pipe.mjs +3 -3
- package/esm2022/lib/components/popin/popin.component.mjs +3 -3
- package/esm2022/lib/components/progress-bar/progress-bar.component.mjs +3 -3
- package/esm2022/lib/components/radio/option/option.component.mjs +3 -3
- package/esm2022/lib/components/radio/radio-group.directive.mjs +3 -3
- package/esm2022/lib/components/radio/radio.component.mjs +3 -3
- package/esm2022/lib/components/radio-legacy/radio-directive.mjs +3 -3
- package/esm2022/lib/components/radio-legacy/radio-group.directive.mjs +3 -3
- package/esm2022/lib/components/radio-legacy/radio.component.mjs +3 -3
- package/esm2022/lib/components/row/row.component.mjs +8 -5
- package/esm2022/lib/components/search/search.component.mjs +5 -5
- package/esm2022/lib/components/select/option/option.component.mjs +3 -3
- package/esm2022/lib/components/select/option/select-option.directive.mjs +3 -3
- package/esm2022/lib/components/select/option-call-to-action/option-call-to-action.component.mjs +3 -3
- package/esm2022/lib/components/select/select/select.component.mjs +3 -3
- package/esm2022/lib/components/select/select/select.directive.mjs +3 -3
- package/esm2022/lib/components/select/select/value-change.service.mjs +3 -3
- package/esm2022/lib/components/select/select-search-trigger/select-search-trigger.component.mjs +3 -3
- package/esm2022/lib/components/select-in-text/select-in-text.component.mjs +3 -3
- package/esm2022/lib/components/selected-list/selected-list.component.mjs +3 -3
- package/esm2022/lib/components/separator/separator.component.mjs +3 -3
- package/esm2022/lib/components/settings/settings.component.mjs +3 -3
- package/esm2022/lib/components/shared-components.module.mjs +4 -4
- package/esm2022/lib/components/snackbar/snackbar.component.mjs +3 -3
- package/esm2022/lib/components/state/state.component.mjs +3 -3
- package/esm2022/lib/components/summary/summary.component.mjs +3 -3
- package/esm2022/lib/components/switch/switch.component.mjs +3 -3
- package/esm2022/lib/components/table/directives/checkBoxRow.directive.mjs +3 -3
- package/esm2022/lib/components/table/directives/column.directive.mjs +3 -3
- package/esm2022/lib/components/table/directives/columnHeader.directive.mjs +3 -3
- package/esm2022/lib/components/table/directives/raw.directive.mjs +3 -3
- package/esm2022/lib/components/table/shared/filters-table.service.mjs +3 -3
- package/esm2022/lib/components/table/shared/table-checkbox-id.service.mjs +3 -3
- package/esm2022/lib/components/table/table.component.mjs +3 -3
- package/esm2022/lib/components/table/table.module.mjs +4 -4
- package/esm2022/lib/components/tabs/tab/tab.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tab-body/tab-body.component.mjs +3 -3
- package/esm2022/lib/components/tabs/tab-body/tab-body.directive.mjs +3 -3
- package/esm2022/lib/components/tabs/tabs.component.mjs +6 -6
- package/esm2022/lib/components/tag/tag.component.mjs +3 -3
- package/esm2022/lib/components/tag-dropdown/tag-dropdown.component.mjs +3 -3
- package/esm2022/lib/components/tag-label/tag-label.component.mjs +3 -3
- package/esm2022/lib/components/text/text.component.mjs +3 -3
- package/esm2022/lib/components/text-area/text-area.component.mjs +3 -3
- package/esm2022/lib/components/token-check/token-check.component.mjs +3 -3
- package/esm2022/lib/components/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/components/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/lib/components/tree/tree.component.mjs +3 -3
- package/esm2022/lib/components/tree/tree.module.mjs +4 -4
- package/esm2022/lib/components/upload/upload.component.mjs +3 -3
- package/esm2022/lib/components/wrapper/wrapper.component.mjs +3 -3
- package/esm2022/lib/components/wrapper-blocs/wrapper-blocs.component.mjs +3 -3
- package/esm2022/lib/components/wrapper-multiple-block/wrapper-multiple-block.component.mjs +3 -3
- package/esm2022/lib/components/wrapper-sidebar/wrapper-sidebar.component.mjs +3 -3
- package/esm2022/lib/directives/abstract-debounce/abstract-debounce.directive.mjs +3 -3
- package/esm2022/lib/directives/abstract-debounce/debounce-keyup.directive.mjs +3 -3
- package/esm2022/lib/directives/auto-hide/auto-hide.directive.mjs +3 -3
- package/esm2022/lib/directives/copy-to-clipboard/copy-to-clipboard.directive.mjs +3 -3
- package/esm2022/lib/directives/keyboard-events/keypress-enter.directive.mjs +3 -3
- package/esm2022/lib/directives/keyboard-events/only-numbers.directive.mjs +3 -3
- package/esm2022/lib/directives/keyboard-events/two-digital-decimal-number.directive.mjs +3 -3
- package/esm2022/lib/directives/ng-var.directive.mjs +3 -3
- package/esm2022/lib/directives/scroll-to/scroll-to.directive.mjs +3 -3
- package/esm2022/lib/directives/shared-directives.module.mjs +4 -4
- package/esm2022/lib/directives/watch-dom-tree/watch-dom-tree.directive.mjs +3 -3
- package/esm2022/lib/directives/zindex-toggle/zindex-toggle.directive.mjs +3 -3
- package/esm2022/lib/pipes/call-component-function.pipe.mjs +3 -3
- package/esm2022/lib/pipes/find-option-selected-field.pipe.mjs +3 -3
- package/esm2022/lib/pipes/select/filter-options.pipe.mjs +3 -3
- package/esm2022/lib/pipes/select/select-filters.pipe.mjs +3 -3
- package/esm2022/lib/pipes/selected-list/are-all-options-selected.pipe.mjs +3 -3
- package/esm2022/lib/pipes/shared-pipes.module.mjs +4 -4
- package/esm2022/lib/pipes/tree/format-object-to-recursif-tree.pipe.mjs +3 -3
- package/esm2022/lib/pipes/tree/format-object-to-simple-tree.pipe.mjs +3 -3
- package/esm2022/lib/services/dom.service.mjs +3 -3
- package/esm2022/lib/services/history.service.mjs +3 -3
- package/esm2022/lib/services/multiple-selection.service.mjs +3 -3
- package/esm2022/lib/wizi-components.module.mjs +4 -4
- package/fesm2022/wizishop-angular-components.mjs +436 -423
- package/fesm2022/wizishop-angular-components.mjs.map +1 -1
- package/lib/components/button/button.component.d.ts +3 -1
- package/lib/components/row/row.component.d.ts +2 -1
- package/package.json +10 -10
|
@@ -13,10 +13,10 @@ export class PagniationIsLastPage {
|
|
|
13
13
|
}
|
|
14
14
|
return currentPage === Math.ceil(totalItems / itemsPerPage);
|
|
15
15
|
}
|
|
16
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
17
|
-
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.0
|
|
16
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PagniationIsLastPage, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
17
|
+
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "18.2.0", ngImport: i0, type: PagniationIsLastPage, name: "IsLastPage" }); }
|
|
18
18
|
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PagniationIsLastPage, decorators: [{
|
|
20
20
|
type: Pipe,
|
|
21
21
|
args: [{
|
|
22
22
|
name: 'IsLastPage'
|
|
@@ -39,10 +39,10 @@ export class PopinComponent {
|
|
|
39
39
|
this.firstOpen = false;
|
|
40
40
|
}
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PopinComponent, deps: [{ token: i1.DomService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: PopinComponent, selector: "wac-popin", inputs: { title: "title", content: "content", imgSrc: "imgSrc", okButtonLabel: "okButtonLabel", koButtonLabel: "koButtonLabel", okButtonClass: "okButtonClass", koButtonClass: "koButtonClass", visible: "visible", background: "background", closeOnBackgroundClick: "closeOnBackgroundClick" }, outputs: { visibleChange: "visibleChange", response: "response" }, ngImport: i0, template: "<div class=\"wac-free\" *ngIf=\"visible\">\r\n <div class=\"wac-free__wrapper\" wzAutoHide (clickOutside)=\"closePopin(true)\">\r\n <a class=\"wac-free__wrapper__button-close\" (click)=\"closePopin()\">\r\n <i class=\"fas fa-times\"></i>\r\n </a>\r\n <div class=\"wac-free__wrapper__content\">\r\n <ng-scrollbar [visibility]=\"'hover'\" >\r\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" alt=\"barre admin\" />\r\n\r\n <h2 class=\"wac-popin__wrapper__title\" [innerHTML]=\"title\"></h2>\r\n\r\n <p class=\"wac-popin__wrapper__text\" [innerHTML]=\"content\"></p>\r\n </ng-scrollbar>\r\n </div>\r\n <div class=\"wac-free__wrapper__buttons\">\r\n <div class=\"wac-free__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\r\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\r\n </div>\r\n <div class=\"wac-free__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\r\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-free__background\" *ngIf=\"background\"></div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "component", type: i5.ButtonComponent, selector: "wac-button", inputs: ["extraClasses", "label", "icon", "isLoadingSvg", "iconNext", "textcolor", "colorIcon", "widthAuto", "contentHorizontalPosition", "iconFontSize", "hasLoader", "disabled", "whiteSpaceNowrap", "opacity", "animation", "animationRight", "animationText", "confirmDelete", "confirmDeleteText", "coin", "tooltip", "tooltipWidth", "borderColor", "noPadding", "tooltipPosition", "tooltipOneline", "confirmDeletePosition", "isLoading"], outputs: ["click", "isLoadingChange"] }] }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: PopinComponent, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
47
|
args: [{ selector: 'wac-popin', template: "<div class=\"wac-free\" *ngIf=\"visible\">\r\n <div class=\"wac-free__wrapper\" wzAutoHide (clickOutside)=\"closePopin(true)\">\r\n <a class=\"wac-free__wrapper__button-close\" (click)=\"closePopin()\">\r\n <i class=\"fas fa-times\"></i>\r\n </a>\r\n <div class=\"wac-free__wrapper__content\">\r\n <ng-scrollbar [visibility]=\"'hover'\" >\r\n <img *ngIf=\"imgSrc\" [src]=\"imgSrc\" alt=\"barre admin\" />\r\n\r\n <h2 class=\"wac-popin__wrapper__title\" [innerHTML]=\"title\"></h2>\r\n\r\n <p class=\"wac-popin__wrapper__text\" [innerHTML]=\"content\"></p>\r\n </ng-scrollbar>\r\n </div>\r\n <div class=\"wac-free__wrapper__buttons\">\r\n <div class=\"wac-free__wrapper__buttons__button\" *ngIf=\"okButtonLabel\">\r\n <wac-button [extraClasses]=\"'is-success'\" [label]=\"okButtonLabel\" [hasLoader]=\"true\" (click)=\"validatePopin()\"></wac-button>\r\n </div>\r\n <div class=\"wac-free__wrapper__buttons__button\" *ngIf=\"koButtonLabel\">\r\n <wac-button [extraClasses]=\"'is-danger is-outlined'\" [label]=\"koButtonLabel\" [hasLoader]=\"true\" (click)=\"refusePopin()\"></wac-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"wac-free__background\" *ngIf=\"background\"></div>\r\n</div>\r\n" }]
|
|
48
48
|
}], ctorParameters: () => [{ type: i1.DomService }], propDecorators: { title: [{
|
|
@@ -59,10 +59,10 @@ export class ProgressBarComponent {
|
|
|
59
59
|
return this.translateService.instant('wac.input.progressbar.information.good');
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
63
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
62
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressBarComponent, deps: [{ token: i1.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
63
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: ProgressBarComponent, isStandalone: true, selector: "wac-progress-bar", inputs: { valueLength: "valueLength", min: "min", max: "max" }, ngImport: i0, template: "<div class=\"wac-progressBarContent\">\n <div class=\"progressBar\">\n <progress class=\"progress\" [ngClass]=\"progressBarClass()\" [max]=\"progressBarGetMaxSize(max)\" [value]=\"valueLength\"></progress>\n <span [ngClass]=\"progressBarClass(1)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(1) }\"></span>\n <span [ngClass]=\"progressBarClass(2)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(2) }\"></span>\n </div>\n <div class=\"size\">\n <span class=\"is-size-7 wac-input__size\">\n <span *ngIf=\"valueLength\">\n <span [ngClass]=\"progressBarClass()\">{{ progressBarGetTextInfo() }}</span> -\n </span>\n <strong>{{ valueLength }}</strong> / {{ max }}\n </span>\n </div>\n</div>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
64
64
|
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ProgressBarComponent, decorators: [{
|
|
66
66
|
type: Component,
|
|
67
67
|
args: [{ selector: 'wac-progress-bar', standalone: true, imports: [CommonModule], template: "<div class=\"wac-progressBarContent\">\n <div class=\"progressBar\">\n <progress class=\"progress\" [ngClass]=\"progressBarClass()\" [max]=\"progressBarGetMaxSize(max)\" [value]=\"valueLength\"></progress>\n <span [ngClass]=\"progressBarClass(1)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(1) }\"></span>\n <span [ngClass]=\"progressBarClass(2)\" [ngStyle]=\"{ 'left.%': progressBarSpanPosition(2) }\"></span>\n </div>\n <div class=\"size\">\n <span class=\"is-size-7 wac-input__size\">\n <span *ngIf=\"valueLength\">\n <span [ngClass]=\"progressBarClass()\">{{ progressBarGetTextInfo() }}</span> -\n </span>\n <strong>{{ valueLength }}</strong> / {{ max }}\n </span>\n </div>\n</div>\n" }]
|
|
68
68
|
}], ctorParameters: () => [{ type: i1.TranslateService }], propDecorators: { valueLength: [{
|
|
@@ -14,10 +14,10 @@ export class RadioOptionComponent extends OptionComponent {
|
|
|
14
14
|
getContentRef() {
|
|
15
15
|
return this.contentOption;
|
|
16
16
|
}
|
|
17
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
18
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
17
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioOptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
18
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: RadioOptionComponent, selector: "wac-radio-option", providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: RadioOptionComponent }], viewQueries: [{ propertyName: "contentOption", first: true, predicate: ["contentWrapper"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n [ngClass]=\"{ 'disabled': disabled }\"\r\n class=\"wac-radio-option\"\r\n >\r\n <div [ngClass]=\"{ 'selected': selected, 'disabled': disabled }\" #contentWrapper>\r\n <input type=\"checkbox\" [id]=\"optionId\" [checked]=\"selected\" />\r\n <label [for]=\"optionId\">\r\n <ng-content></ng-content>\r\n </label>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
19
19
|
}
|
|
20
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
20
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioOptionComponent, decorators: [{
|
|
21
21
|
type: Component,
|
|
22
22
|
args: [{ selector: 'wac-radio-option', encapsulation: ViewEncapsulation.None, providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: RadioOptionComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [ngClass]=\"{ 'disabled': disabled }\"\r\n class=\"wac-radio-option\"\r\n >\r\n <div [ngClass]=\"{ 'selected': selected, 'disabled': disabled }\" #contentWrapper>\r\n <input type=\"checkbox\" [id]=\"optionId\" [checked]=\"selected\" />\r\n <label [for]=\"optionId\">\r\n <ng-content></ng-content>\r\n </label>\r\n </div>\r\n</div>" }]
|
|
23
23
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { contentOption: [{
|
|
@@ -21,13 +21,13 @@ export class RadioGroupDirective extends SelectDirective {
|
|
|
21
21
|
super(valueChangeService);
|
|
22
22
|
this.valueChangeService = valueChangeService;
|
|
23
23
|
}
|
|
24
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
25
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0
|
|
24
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioGroupDirective, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
25
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: RadioGroupDirective, selector: "[wacRadioGroup]", providers: [
|
|
26
26
|
{ provide: NG_VALUE_ACCESSOR, useExisting: RadioGroupDirective, multi: true },
|
|
27
27
|
ValueChangeService
|
|
28
28
|
], usesInheritance: true, ngImport: i0 }); }
|
|
29
29
|
}
|
|
30
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
30
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioGroupDirective, decorators: [{
|
|
31
31
|
type: Directive,
|
|
32
32
|
args: [{
|
|
33
33
|
selector: '[wacRadioGroup]',
|
|
@@ -11,8 +11,8 @@ export class RadioComponent extends RadioGroupDirective {
|
|
|
11
11
|
super(valueChangeService);
|
|
12
12
|
this.valueChangeService = valueChangeService;
|
|
13
13
|
}
|
|
14
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
15
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
14
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioComponent, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
15
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: RadioComponent, selector: "wac-radio", providers: [
|
|
16
16
|
{
|
|
17
17
|
provide: NG_VALUE_ACCESSOR,
|
|
18
18
|
useExisting: RadioComponent,
|
|
@@ -21,7 +21,7 @@ export class RadioComponent extends RadioGroupDirective {
|
|
|
21
21
|
ValueChangeService
|
|
22
22
|
], queries: [{ propertyName: "label", first: true, predicate: LabelComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div class=\"wac-radio\">\r\n <ng-container *ngIf=\"!!label\" class=\"wac-select__label\">\r\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\r\n </ng-container>\r\n <div class=\"wac-radio__row\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioComponent, decorators: [{
|
|
25
25
|
type: Component,
|
|
26
26
|
args: [{ selector: 'wac-radio', providers: [
|
|
27
27
|
{
|
|
@@ -8,10 +8,10 @@ export class RadioDirective extends SelectOptionDirective {
|
|
|
8
8
|
this.contentRef = contentRef;
|
|
9
9
|
this.changeDetectorRef = changeDetectorRef;
|
|
10
10
|
}
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
12
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0
|
|
11
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
12
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: RadioDirective, selector: "[wacRadio]", providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: RadioDirective }], exportAs: ["wacRadio"], usesInheritance: true, ngImport: i0 }); }
|
|
13
13
|
}
|
|
14
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioDirective, decorators: [{
|
|
15
15
|
type: Directive,
|
|
16
16
|
args: [{
|
|
17
17
|
selector: '[wacRadio]',
|
|
@@ -15,13 +15,13 @@ export class RadioGroupDirective extends SelectDirective {
|
|
|
15
15
|
super(valueChangeService);
|
|
16
16
|
this.valueChangeService = valueChangeService;
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioGroupDirective, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: RadioGroupDirective, selector: "[wacRadioGroup]", providers: [
|
|
20
20
|
{ provide: NG_VALUE_ACCESSOR, useExisting: RadioGroupDirective, multi: true },
|
|
21
21
|
ValueChangeService
|
|
22
22
|
], usesInheritance: true, ngImport: i0 }); }
|
|
23
23
|
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
24
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioGroupDirective, decorators: [{
|
|
25
25
|
type: Directive,
|
|
26
26
|
args: [{
|
|
27
27
|
selector: '[wacRadioGroup]',
|
|
@@ -32,10 +32,10 @@ export class RadioLegacyComponent {
|
|
|
32
32
|
valueInput(value) {
|
|
33
33
|
this.changeInput.emit(value);
|
|
34
34
|
}
|
|
35
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
36
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
35
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioLegacyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
36
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: RadioLegacyComponent, selector: "wac-radio-legacy", inputs: { label: "label", options: "options", value: "value", type: "type", id: "id", name: "name", alone: "alone" }, outputs: { changeInput: "changeInput" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: RadioLegacyComponent, multi: true }], ngImport: i0, template: "<div class=\"wac-radio\" *ngFor=\"let option of options\" [ngClass]=\"{ 'wac-radio--nowrap': type === 'column', alone: alone }\">\r\n <div class=\"wac-radio__row\">\r\n <input\r\n type=\"radio\"\r\n [id]=\"option.id\"\r\n class=\"is-checkradio\"\r\n [name]=\"option.name\"\r\n [value]=\"option.value\"\r\n [disabled]=\"option.disabled\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n <label [attr.for]=\"option.id\">{{ option.label }}</label>\r\n <div class=\"wac-radio__input\" *ngIf=\"value && option.value && option.hasInput\">\r\n <input type=\"text\" [placeholder]=\"option.placeholderInput\" (blur)=\"valueInput($event)\" />\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
37
37
|
}
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RadioLegacyComponent, decorators: [{
|
|
39
39
|
type: Component,
|
|
40
40
|
args: [{ selector: 'wac-radio-legacy', encapsulation: ViewEncapsulation.None, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: RadioLegacyComponent, multi: true }], template: "<div class=\"wac-radio\" *ngFor=\"let option of options\" [ngClass]=\"{ 'wac-radio--nowrap': type === 'column', alone: alone }\">\r\n <div class=\"wac-radio__row\">\r\n <input\r\n type=\"radio\"\r\n [id]=\"option.id\"\r\n class=\"is-checkradio\"\r\n [name]=\"option.name\"\r\n [value]=\"option.value\"\r\n [disabled]=\"option.disabled\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"onChange($event)\"\r\n />\r\n <label [attr.for]=\"option.id\">{{ option.label }}</label>\r\n <div class=\"wac-radio__input\" *ngIf=\"value && option.value && option.hasInput\">\r\n <input type=\"text\" [placeholder]=\"option.placeholderInput\" (blur)=\"valueInput($event)\" />\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
41
41
|
}], ctorParameters: () => [], propDecorators: { label: [{
|
|
@@ -19,6 +19,7 @@ export class RowComponent {
|
|
|
19
19
|
this.multipleLine = false;
|
|
20
20
|
this.childrenByLine = 0;
|
|
21
21
|
this.padding = '';
|
|
22
|
+
this.gap = '';
|
|
22
23
|
this.lastChildIsDown = false;
|
|
23
24
|
this.addClass = '';
|
|
24
25
|
this.halfMarginChild = '';
|
|
@@ -91,12 +92,12 @@ export class RowComponent {
|
|
|
91
92
|
handleDomChange(event) {
|
|
92
93
|
this.actionsDom();
|
|
93
94
|
}
|
|
94
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
95
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
95
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RowComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
96
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: RowComponent, selector: "wac-row", inputs: { position: "position", width: "width", height: "height", responsiveAuto: "responsiveAuto", childrensWidthAuto: "childrensWidthAuto", visibility: "visibility", marginChild: "marginChild", marginBottom: "marginBottom", marginBottomChild: "marginBottomChild", addWacBlock: "addWacBlock", lineDisplayContent: "lineDisplayContent", border: "border", multipleLine: "multipleLine", childrenByLine: "childrenByLine", padding: "padding", gap: "gap", lastChildIsDown: "lastChildIsDown", addClass: "addClass" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true }], ngImport: i0, template: "<div watchDomTree (dom-changed)=\"handleDomChange($event)\" [ngStyle]=\"{'padding': padding, 'gap': gap, 'margin-bottom': marginBottom,'transform': (childs > 1 || multipleLine ? 'translateX(-' + halfMarginChild + ')' : 'wrong'), 'width': ((childs > 1 && !addWacBlock) || multipleLine ? 'calc(100% + ' + marginChild + ')' : 'wrong')}\" class=\"wac-row {{ addWacBlock ? 'white-block' : '' }} {{ multipleLine ? 'multiple-line' : '' }} {{ lineDisplayContent ? 'direction-column' : '' }} {{ border ? 'with-border' : '' }} {{ lastChildIsDown ? 'last-child-down' : '' }} {{ childrensWidthAuto ? 'childrens-width-auto' : '' }} {{ position ? position : '' }} {{ visibility ? visibility : '' }} {{ responsiveClass ? responsiveClass : '' }} {{addClass}} {{nbChildsClass}} {{classWidth}}\" #container [ngClass]=\"{\r\n 'multiple-child': childs > 3,\r\n 'five-or-more-child': childs > 4,\r\n 'alone': childs === 1\r\n}\" [id]=\"id\">\r\n <ng-content></ng-content>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DomChangedDirective, selector: "[watchDomTree]" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
96
97
|
}
|
|
97
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: RowComponent, decorators: [{
|
|
98
99
|
type: Component,
|
|
99
|
-
args: [{ selector: 'wac-row', encapsulation: ViewEncapsulation.None, template: "<div watchDomTree (dom-changed)=\"handleDomChange($event)\" [ngStyle]=\"{'padding': padding,'margin-bottom': marginBottom,'transform': (childs > 1 || multipleLine ? 'translateX(-' + halfMarginChild + ')' : 'wrong'), 'width': ((childs > 1 && !addWacBlock) || multipleLine ? 'calc(100% + ' + marginChild + ')' : 'wrong')}\" class=\"wac-row {{ addWacBlock ? 'white-block' : '' }} {{ multipleLine ? 'multiple-line' : '' }} {{ lineDisplayContent ? 'direction-column' : '' }} {{ border ? 'with-border' : '' }} {{ lastChildIsDown ? 'last-child-down' : '' }} {{ childrensWidthAuto ? 'childrens-width-auto' : '' }} {{ position ? position : '' }} {{ visibility ? visibility : '' }} {{ responsiveClass ? responsiveClass : '' }} {{addClass}} {{nbChildsClass}} {{classWidth}}\" #container [ngClass]=\"{\r\n 'multiple-child': childs > 3,\r\n 'five-or-more-child': childs > 4,\r\n 'alone': childs === 1\r\n}\" [id]=\"id\">\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
|
|
100
|
+
args: [{ selector: 'wac-row', encapsulation: ViewEncapsulation.None, template: "<div watchDomTree (dom-changed)=\"handleDomChange($event)\" [ngStyle]=\"{'padding': padding, 'gap': gap, 'margin-bottom': marginBottom,'transform': (childs > 1 || multipleLine ? 'translateX(-' + halfMarginChild + ')' : 'wrong'), 'width': ((childs > 1 && !addWacBlock) || multipleLine ? 'calc(100% + ' + marginChild + ')' : 'wrong')}\" class=\"wac-row {{ addWacBlock ? 'white-block' : '' }} {{ multipleLine ? 'multiple-line' : '' }} {{ lineDisplayContent ? 'direction-column' : '' }} {{ border ? 'with-border' : '' }} {{ lastChildIsDown ? 'last-child-down' : '' }} {{ childrensWidthAuto ? 'childrens-width-auto' : '' }} {{ position ? position : '' }} {{ visibility ? visibility : '' }} {{ responsiveClass ? responsiveClass : '' }} {{addClass}} {{nbChildsClass}} {{classWidth}}\" #container [ngClass]=\"{\r\n 'multiple-child': childs > 3,\r\n 'five-or-more-child': childs > 4,\r\n 'alone': childs === 1\r\n}\" [id]=\"id\">\r\n <ng-content></ng-content>\r\n</div>\r\n" }]
|
|
100
101
|
}], propDecorators: { position: [{
|
|
101
102
|
type: Input
|
|
102
103
|
}], width: [{
|
|
@@ -127,6 +128,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
127
128
|
type: Input
|
|
128
129
|
}], padding: [{
|
|
129
130
|
type: Input
|
|
131
|
+
}], gap: [{
|
|
132
|
+
type: Input
|
|
130
133
|
}], lastChildIsDown: [{
|
|
131
134
|
type: Input
|
|
132
135
|
}], addClass: [{
|
|
@@ -138,4 +141,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
138
141
|
type: HostListener,
|
|
139
142
|
args: ['window:resize', ['$event']]
|
|
140
143
|
}] } });
|
|
141
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcm93L3Jvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Jvdy9yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdkIsTUFBTSxPQUFPLFlBQVk7SUFMekI7UUFRRSxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFNckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBSTNCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUV2QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFM0IsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBRW5CLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFYixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUV4QixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2Qsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFFckIsa0JBQWEsR0FBRyxFQUFFLENBQUM7S0F5RXBCO0lB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SztnQkFHTixpQkFBaUI7c0JBRGhCLEtBQUs7Z0JBR04sV0FBVztzQkFEVixLQUFLO2dCQUdOLGtCQUFrQjtzQkFEakIsS0FBSztnQkFHTixNQUFNO3NCQURMLEtBQUs7Z0JBR04sWUFBWTtzQkFEWCxLQUFLO2dCQUdOLGNBQWM7c0JBRGIsS0FBSztnQkFHTixPQUFPO3NCQUROLEtBQUs7Z0JBR04sZUFBZTtzQkFEZCxLQUFLO2dCQUdOLFFBQVE7c0JBRFAsS0FBSztnQkFHa0IsU0FBUztzQkFBaEMsU0FBUzt1QkFBQyxXQUFXO2dCQTZCdEIsUUFBUTtzQkFEUCxZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQWZ0ZXJDb250ZW50SW5pdCxcclxuICBDb21wb25lbnQsIEVsZW1lbnRSZWYsXHJcbiAgSG9zdExpc3RlbmVyLFxyXG4gIElucHV0LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3Q2hpbGQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb25cclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtOR19WQUxVRV9BQ0NFU1NPUn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQge09ic2VydmFibGV9IGZyb20gJ3J4anMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICd3YWMtcm93JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcm93LmNvbXBvbmVudC5odG1sJyxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBSb3dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyQ29udGVudEluaXQge1xyXG4gIEBJbnB1dCgpXHJcbiAgcG9zaXRpb246ICd0b3AtbGVmdCd8J3RvcC1taWRkbGUnfCd0b3AtcmlnaHQnfCdtaWRkbGUtbGVmdCd8J21pZGRsZS1taWRkbGUnfCdtaWRkbGUtcmlnaHQnfCdib3R0b20tbGVmdCd8J2JvdHRvbS1taWRkbGUnfCdib3R0b20tcmlnaHQnfCdzdHJldGNoLWxlZnQnfCdzdHJldGNoLW1pZGRsZSd8J3N0cmV0Y2gtcmlnaHQnO1xyXG4gIGlkID0gJyc7XHJcbiAgY2hpbGRzID0gMDtcclxuICBjbGFzc1dpZHRoID0gJyc7XHJcbiAgcmVzcG9uc2l2ZUNsYXNzID0gJyc7XHJcbiAgQElucHV0KClcclxuICB3aWR0aDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpXHJcbiAgaGVpZ2h0OiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICByZXNwb25zaXZlQXV0byA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgY2hpbGRyZW5zV2lkdGhBdXRvID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICB2aXNpYmlsaXR5OiAnbW9iaWxlLW9ubHknfCd0YWJsZXQtb25seSd8J2Rlc2t0b3Atb25seSd8J3VuZGVyLWRlc2t0b3AnfCdhYm92ZS1tb2JpbGUnO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWFyZ2luQ2hpbGQgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIG1hcmdpbkJvdHRvbSA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWFyZ2luQm90dG9tQ2hpbGQgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIGFkZFdhY0Jsb2NrID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBsaW5lRGlzcGxheUNvbnRlbnQgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGJvcmRlciA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgbXVsdGlwbGVMaW5lID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBjaGlsZHJlbkJ5TGluZSA9IDA7XHJcbiAgQElucHV0KClcclxuICBwYWRkaW5nID0gJyc7XHJcbiAgQElucHV0KClcclxuICBsYXN0Q2hpbGRJc0Rvd24gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGFkZENsYXNzID0gJyc7XHJcbiAgaGFsZk1hcmdpbkNoaWxkID0gJyc7XHJcbiAgQFZpZXdDaGlsZChgY29udGFpbmVyYCkgY29udGFpbmVyOiBFbGVtZW50UmVmO1xyXG4gIG5iQ2hpbGRzQ2xhc3MgPSAnJztcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmlkID0gJ3Jvdy0nICsgTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogMTAwMDAwKTtcclxuICAgIGlmICh0aGlzLm1hcmdpbkNoaWxkKSB7XHJcbiAgICAgIHRoaXMuaGFsZk1hcmdpbkNoaWxkID0gcGFyc2VJbnQodGhpcy5tYXJnaW5DaGlsZCkgLyAyICsgJ3B4JztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc3BvbnNpdmVDb250cm9sKHNpemUpIHtcclxuICAgIGlmIChzaXplID4gMTAyNCkge1xyXG4gICAgICB0aGlzLmNsYXNzV2lkdGggPSAnJztcclxuICAgIH0gZWxzZSBpZiAoc2l6ZSA8PSA0ODApIHtcclxuICAgICAgdGhpcy5jbGFzc1dpZHRoID0gJ2xvdyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmNsYXNzV2lkdGggPSAnbWVkaXVtJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc3BvbnNpdmVBdXRvKHNpemUpIHtcclxuICAgIGlmIChzaXplIDwgNTAwKSB7XHJcbiAgICAgIHRoaXMucmVzcG9uc2l2ZUNsYXNzID0gJ21vYmlsZSc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnJlc3BvbnNpdmVDbGFzcyA9ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignd2luZG93OnJlc2l6ZScsIFsnJGV2ZW50J10pXHJcbiAgb25SZXNpemUoKSB7XHJcbiAgICAgIGNvbnN0IHNpemUgPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICB0aGlzLnJlc3BvbnNpdmVDb250cm9sKHNpemUpO1xyXG4gICAgICBpZiAodGhpcy5yZXNwb25zaXZlQXV0bykge1xyXG4gICAgICAgIHRoaXMuaGFuZGxlUmVzcG9uc2l2ZUF1dG8oc2l6ZSk7XHJcbiAgICAgIH1cclxuICB9XHJcblxyXG4gIGFjdGlvbnNEb20oKSB7XHJcbiAgICB0aGlzLmNoaWxkcyA9IHRoaXMuY29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2hpbGRFbGVtZW50Q291bnQ7XHJcbiAgICBpZiAodGhpcy53aWR0aCkge1xyXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKS5wYXJlbnRFbGVtZW50LnN0eWxlLm1heFdpZHRoID0gdGhpcy53aWR0aDtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmhlaWdodCkge1xyXG4gICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKS5wYXJlbnRFbGVtZW50LnN0eWxlLm1heEhlaWdodCA9IHRoaXMuaGVpZ2h0O1xyXG4gICAgfVxyXG4gICAgaWYgKCh0aGlzLmNoaWxkcyA+IDEgJiYgdGhpcy5tYXJnaW5DaGlsZCkgfHwgdGhpcy5tdWx0aXBsZUxpbmUpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNoaWxkczsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgY2hpbGQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpLmNoaWxkcmVuW2ldO1xyXG4gICAgICAgIGNoaWxkLnN0eWxlLm1hcmdpbkxlZnQgPSB0aGlzLmhhbGZNYXJnaW5DaGlsZDtcclxuICAgICAgICBjaGlsZC5zdHlsZS5tYXJnaW5SaWdodCA9IHRoaXMuaGFsZk1hcmdpbkNoaWxkO1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlTGluZSkge1xyXG4gICAgICAgICAgY2hpbGQuc3R5bGUud2lkdGggPSAnY2FsYygnICsgKDEwMCAvIHRoaXMuY2hpbGRyZW5CeUxpbmUpICsgJyUgLSAnICsgdGhpcy5tYXJnaW5DaGlsZCArICcpJztcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmNoaWxkcyA+IDEgJiYgdGhpcy5tYXJnaW5Cb3R0b21DaGlsZCkge1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMuY2hpbGRzOyBpKyspIHtcclxuICAgICAgICBjb25zdCBjaGlsZDogYW55ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCkuY2hpbGRyZW5baV07XHJcbiAgICAgICAgY2hpbGQuc3R5bGUubWFyZ2luQm90dG9tID0gdGhpcy5tYXJnaW5Cb3R0b21DaGlsZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5uYkNoaWxkc0NsYXNzID0gJ25iLWNoaWxkLScgKyB0aGlzLmNoaWxkcztcclxuICAgIHRoaXMub25SZXNpemUoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcclxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICB0aGlzLmFjdGlvbnNEb20oKTtcclxuICAgIH0sIDEpO1xyXG4gIH1cclxuXHJcbiAgaGFuZGxlRG9tQ2hhbmdlKGV2ZW50KSB7XHJcbiAgICB0aGlzLmFjdGlvbnNEb20oKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiB3YXRjaERvbVRyZWUgKGRvbS1jaGFuZ2VkKT1cImhhbmRsZURvbUNoYW5nZSgkZXZlbnQpXCIgW25nU3R5bGVdPVwieydwYWRkaW5nJzogcGFkZGluZywnbWFyZ2luLWJvdHRvbSc6IG1hcmdpbkJvdHRvbSwndHJhbnNmb3JtJzogKGNoaWxkcyA+IDEgfHwgbXVsdGlwbGVMaW5lID8gJ3RyYW5zbGF0ZVgoLScgKyBoYWxmTWFyZ2luQ2hpbGQgKyAnKScgOiAnd3JvbmcnKSwgJ3dpZHRoJzogKChjaGlsZHMgPiAxICYmICFhZGRXYWNCbG9jaykgfHwgbXVsdGlwbGVMaW5lID8gJ2NhbGMoMTAwJSArICcgKyBtYXJnaW5DaGlsZCAgKyAnKScgOiAnd3JvbmcnKX1cIiBjbGFzcz1cIndhYy1yb3cge3sgYWRkV2FjQmxvY2sgPyAnd2hpdGUtYmxvY2snIDogJycgfX0ge3sgbXVsdGlwbGVMaW5lID8gJ211bHRpcGxlLWxpbmUnIDogJycgfX0ge3sgbGluZURpc3BsYXlDb250ZW50ID8gJ2RpcmVjdGlvbi1jb2x1bW4nIDogJycgfX0ge3sgYm9yZGVyID8gJ3dpdGgtYm9yZGVyJyA6ICcnIH19IHt7IGxhc3RDaGlsZElzRG93biA/ICdsYXN0LWNoaWxkLWRvd24nIDogJycgfX0ge3sgY2hpbGRyZW5zV2lkdGhBdXRvID8gJ2NoaWxkcmVucy13aWR0aC1hdXRvJyA6ICcnIH19IHt7IHBvc2l0aW9uID8gcG9zaXRpb24gOiAnJyB9fSB7eyB2aXNpYmlsaXR5ID8gdmlzaWJpbGl0eSA6ICcnIH19IHt7IHJlc3BvbnNpdmVDbGFzcyA/IHJlc3BvbnNpdmVDbGFzcyA6ICcnIH19IHt7YWRkQ2xhc3N9fSB7e25iQ2hpbGRzQ2xhc3N9fSB7e2NsYXNzV2lkdGh9fVwiICNjb250YWluZXIgW25nQ2xhc3NdPVwie1xyXG4gICdtdWx0aXBsZS1jaGlsZCc6IGNoaWxkcyA+IDMsXHJcbiAgJ2ZpdmUtb3ItbW9yZS1jaGlsZCc6IGNoaWxkcyA+IDQsXHJcbiAgJ2Fsb25lJzogY2hpbGRzID09PSAxXHJcbn1cIiBbaWRdPVwiaWRcIj5cclxuICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvcm93L3Jvdy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3Jvdy9yb3cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBQ1osS0FBSyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsRUFDbEIsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdkIsTUFBTSxPQUFPLFlBQVk7SUFMekI7UUFRRSxPQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ1IsV0FBTSxHQUFHLENBQUMsQ0FBQztRQUNYLGVBQVUsR0FBRyxFQUFFLENBQUM7UUFDaEIsb0JBQWUsR0FBRyxFQUFFLENBQUM7UUFNckIsbUJBQWMsR0FBRyxLQUFLLENBQUM7UUFFdkIsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBSTNCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBRWpCLGlCQUFZLEdBQUcsRUFBRSxDQUFDO1FBRWxCLHNCQUFpQixHQUFHLEVBQUUsQ0FBQztRQUV2QixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUVwQix1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFFM0IsV0FBTSxHQUFHLEtBQUssQ0FBQztRQUVmLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBRXJCLG1CQUFjLEdBQUcsQ0FBQyxDQUFDO1FBRW5CLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFFYixRQUFHLEdBQUcsRUFBRSxDQUFDO1FBRVQsb0JBQWUsR0FBRyxLQUFLLENBQUM7UUFFeEIsYUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNkLG9CQUFlLEdBQUcsRUFBRSxDQUFDO1FBRXJCLGtCQUFh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S0FBSztnQkFHTixZQUFZO3NCQURYLEtBQUs7Z0JBR04saUJBQWlCO3NCQURoQixLQUFLO2dCQUdOLFdBQVc7c0JBRFYsS0FBSztnQkFHTixrQkFBa0I7c0JBRGpCLEtBQUs7Z0JBR04sTUFBTTtzQkFETCxLQUFLO2dCQUdOLFlBQVk7c0JBRFgsS0FBSztnQkFHTixjQUFjO3NCQURiLEtBQUs7Z0JBR04sT0FBTztzQkFETixLQUFLO2dCQUdOLEdBQUc7c0JBREYsS0FBSztnQkFHTixlQUFlO3NCQURkLEtBQUs7Z0JBR04sUUFBUTtzQkFEUCxLQUFLO2dCQUdrQixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7Z0JBNkJ0QixRQUFRO3NCQURQLFlBQVk7dUJBQUMsZUFBZSxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBBZnRlckNvbnRlbnRJbml0LFxyXG4gIENvbXBvbmVudCwgRWxlbWVudFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdDaGlsZCxcclxuICBWaWV3RW5jYXBzdWxhdGlvblxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQge05HX1ZBTFVFX0FDQ0VTU09SfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3dhYy1yb3cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9yb3cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmVcclxufSlcclxuZXhwb3J0IGNsYXNzIFJvd0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCB7XHJcbiAgQElucHV0KClcclxuICBwb3NpdGlvbjogJ3RvcC1sZWZ0J3wndG9wLW1pZGRsZSd8J3RvcC1yaWdodCd8J21pZGRsZS1sZWZ0J3wnbWlkZGxlLW1pZGRsZSd8J21pZGRsZS1yaWdodCd8J2JvdHRvbS1sZWZ0J3wnYm90dG9tLW1pZGRsZSd8J2JvdHRvbS1yaWdodCd8J3N0cmV0Y2gtbGVmdCd8J3N0cmV0Y2gtbWlkZGxlJ3wnc3RyZXRjaC1yaWdodCc7XHJcbiAgaWQgPSAnJztcclxuICBjaGlsZHMgPSAwO1xyXG4gIGNsYXNzV2lkdGggPSAnJztcclxuICByZXNwb25zaXZlQ2xhc3MgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIHdpZHRoOiBzdHJpbmc7XHJcbiAgQElucHV0KClcclxuICBoZWlnaHQ6IHN0cmluZztcclxuICBASW5wdXQoKVxyXG4gIHJlc3BvbnNpdmVBdXRvID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBjaGlsZHJlbnNXaWR0aEF1dG8gPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIHZpc2liaWxpdHk6ICdtb2JpbGUtb25seSd8J3RhYmxldC1vbmx5J3wnZGVza3RvcC1vbmx5J3wndW5kZXItZGVza3RvcCd8J2Fib3ZlLW1vYmlsZSc7XHJcbiAgQElucHV0KClcclxuICBtYXJnaW5DaGlsZCA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgbWFyZ2luQm90dG9tID0gJyc7XHJcbiAgQElucHV0KClcclxuICBtYXJnaW5Cb3R0b21DaGlsZCA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgYWRkV2FjQmxvY2sgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGxpbmVEaXNwbGF5Q29udGVudCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpXHJcbiAgYm9yZGVyID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBtdWx0aXBsZUxpbmUgPSBmYWxzZTtcclxuICBASW5wdXQoKVxyXG4gIGNoaWxkcmVuQnlMaW5lID0gMDtcclxuICBASW5wdXQoKVxyXG4gIHBhZGRpbmcgPSAnJztcclxuICBASW5wdXQoKVxyXG4gIGdhcCA9ICcnO1xyXG4gIEBJbnB1dCgpXHJcbiAgbGFzdENoaWxkSXNEb3duID0gZmFsc2U7XHJcbiAgQElucHV0KClcclxuICBhZGRDbGFzcyA9ICcnO1xyXG4gIGhhbGZNYXJnaW5DaGlsZCA9ICcnO1xyXG4gIEBWaWV3Q2hpbGQoYGNvbnRhaW5lcmApIGNvbnRhaW5lcjogRWxlbWVudFJlZjtcclxuICBuYkNoaWxkc0NsYXNzID0gJyc7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5pZCA9ICdyb3ctJyArIE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIDEwMDAwMCk7XHJcbiAgICBpZiAodGhpcy5tYXJnaW5DaGlsZCkge1xyXG4gICAgICB0aGlzLmhhbGZNYXJnaW5DaGlsZCA9IHBhcnNlSW50KHRoaXMubWFyZ2luQ2hpbGQpIC8gMiArICdweCc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByZXNwb25zaXZlQ29udHJvbChzaXplKSB7XHJcbiAgICBpZiAoc2l6ZSA+IDEwMjQpIHtcclxuICAgICAgdGhpcy5jbGFzc1dpZHRoID0gJyc7XHJcbiAgICB9IGVsc2UgaWYgKHNpemUgPD0gNDgwKSB7XHJcbiAgICAgIHRoaXMuY2xhc3NXaWR0aCA9ICdsb3cnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5jbGFzc1dpZHRoID0gJ21lZGl1bSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSZXNwb25zaXZlQXV0byhzaXplKSB7XHJcbiAgICBpZiAoc2l6ZSA8IDUwMCkge1xyXG4gICAgICB0aGlzLnJlc3BvbnNpdmVDbGFzcyA9ICdtb2JpbGUnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5yZXNwb25zaXZlQ2xhc3MgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ3dpbmRvdzpyZXNpemUnLCBbJyRldmVudCddKVxyXG4gIG9uUmVzaXplKCkge1xyXG4gICAgICBjb25zdCBzaXplID0gdGhpcy5jb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aDtcclxuICAgICAgdGhpcy5yZXNwb25zaXZlQ29udHJvbChzaXplKTtcclxuICAgICAgaWYgKHRoaXMucmVzcG9uc2l2ZUF1dG8pIHtcclxuICAgICAgICB0aGlzLmhhbmRsZVJlc3BvbnNpdmVBdXRvKHNpemUpO1xyXG4gICAgICB9XHJcbiAgfVxyXG5cclxuICBhY3Rpb25zRG9tKCkge1xyXG4gICAgdGhpcy5jaGlsZHMgPSB0aGlzLmNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmNoaWxkRWxlbWVudENvdW50O1xyXG4gICAgaWYgKHRoaXMud2lkdGgpIHtcclxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCkucGFyZW50RWxlbWVudC5zdHlsZS5tYXhXaWR0aCA9IHRoaXMud2lkdGg7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5oZWlnaHQpIHtcclxuICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCkucGFyZW50RWxlbWVudC5zdHlsZS5tYXhIZWlnaHQgPSB0aGlzLmhlaWdodDtcclxuICAgIH1cclxuICAgIGlmICgodGhpcy5jaGlsZHMgPiAxICYmIHRoaXMubWFyZ2luQ2hpbGQpIHx8IHRoaXMubXVsdGlwbGVMaW5lKSB7XHJcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5jaGlsZHM7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IGNoaWxkOiBhbnkgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKS5jaGlsZHJlbltpXTtcclxuICAgICAgICBjaGlsZC5zdHlsZS5tYXJnaW5MZWZ0ID0gdGhpcy5oYWxmTWFyZ2luQ2hpbGQ7XHJcbiAgICAgICAgY2hpbGQuc3R5bGUubWFyZ2luUmlnaHQgPSB0aGlzLmhhbGZNYXJnaW5DaGlsZDtcclxuICAgICAgICBpZiAodGhpcy5tdWx0aXBsZUxpbmUpIHtcclxuICAgICAgICAgIGNoaWxkLnN0eWxlLndpZHRoID0gJ2NhbGMoJyArICgxMDAgLyB0aGlzLmNoaWxkcmVuQnlMaW5lKSArICclIC0gJyArIHRoaXMubWFyZ2luQ2hpbGQgKyAnKSc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5jaGlsZHMgPiAxICYmIHRoaXMubWFyZ2luQm90dG9tQ2hpbGQpIHtcclxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLmNoaWxkczsgaSsrKSB7XHJcbiAgICAgICAgY29uc3QgY2hpbGQ6IGFueSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpLmNoaWxkcmVuW2ldO1xyXG4gICAgICAgIGNoaWxkLnN0eWxlLm1hcmdpbkJvdHRvbSA9IHRoaXMubWFyZ2luQm90dG9tQ2hpbGQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMubmJDaGlsZHNDbGFzcyA9ICduYi1jaGlsZC0nICsgdGhpcy5jaGlsZHM7XHJcbiAgICB0aGlzLm9uUmVzaXplKCk7XHJcbiAgfVxyXG5cclxuICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgdGhpcy5hY3Rpb25zRG9tKCk7XHJcbiAgICB9LCAxKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZURvbUNoYW5nZShldmVudCkge1xyXG4gICAgdGhpcy5hY3Rpb25zRG9tKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgd2F0Y2hEb21UcmVlIChkb20tY2hhbmdlZCk9XCJoYW5kbGVEb21DaGFuZ2UoJGV2ZW50KVwiIFtuZ1N0eWxlXT1cInsncGFkZGluZyc6IHBhZGRpbmcsICdnYXAnOiBnYXAsICdtYXJnaW4tYm90dG9tJzogbWFyZ2luQm90dG9tLCd0cmFuc2Zvcm0nOiAoY2hpbGRzID4gMSB8fCBtdWx0aXBsZUxpbmUgPyAndHJhbnNsYXRlWCgtJyArIGhhbGZNYXJnaW5DaGlsZCArICcpJyA6ICd3cm9uZycpLCAnd2lkdGgnOiAoKGNoaWxkcyA+IDEgJiYgIWFkZFdhY0Jsb2NrKSB8fCBtdWx0aXBsZUxpbmUgPyAnY2FsYygxMDAlICsgJyArIG1hcmdpbkNoaWxkICArICcpJyA6ICd3cm9uZycpfVwiIGNsYXNzPVwid2FjLXJvdyB7eyBhZGRXYWNCbG9jayA/ICd3aGl0ZS1ibG9jaycgOiAnJyB9fSB7eyBtdWx0aXBsZUxpbmUgPyAnbXVsdGlwbGUtbGluZScgOiAnJyB9fSB7eyBsaW5lRGlzcGxheUNvbnRlbnQgPyAnZGlyZWN0aW9uLWNvbHVtbicgOiAnJyB9fSB7eyBib3JkZXIgPyAnd2l0aC1ib3JkZXInIDogJycgfX0ge3sgbGFzdENoaWxkSXNEb3duID8gJ2xhc3QtY2hpbGQtZG93bicgOiAnJyB9fSB7eyBjaGlsZHJlbnNXaWR0aEF1dG8gPyAnY2hpbGRyZW5zLXdpZHRoLWF1dG8nIDogJycgfX0ge3sgcG9zaXRpb24gPyBwb3NpdGlvbiA6ICcnIH19IHt7IHZpc2liaWxpdHkgPyB2aXNpYmlsaXR5IDogJycgfX0ge3sgcmVzcG9uc2l2ZUNsYXNzID8gcmVzcG9uc2l2ZUNsYXNzIDogJycgfX0ge3thZGRDbGFzc319IHt7bmJDaGlsZHNDbGFzc319IHt7Y2xhc3NXaWR0aH19XCIgI2NvbnRhaW5lciBbbmdDbGFzc109XCJ7XHJcbiAgJ211bHRpcGxlLWNoaWxkJzogY2hpbGRzID4gMyxcclxuICAnZml2ZS1vci1tb3JlLWNoaWxkJzogY2hpbGRzID4gNCxcclxuICAnYWxvbmUnOiBjaGlsZHMgPT09IDFcclxufVwiIFtpZF09XCJpZFwiPlxyXG4gIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -58,12 +58,12 @@ export class SearchComponent {
|
|
|
58
58
|
this.search = '';
|
|
59
59
|
this.closeSelect();
|
|
60
60
|
}
|
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
62
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SearchComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
62
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SearchComponent, selector: "wac-search", inputs: { placeholder: "placeholder", alwaysOpen: "alwaysOpen", label: "label", options: "options", disableSearchIn: "disableSearchIn", emptyResult: "emptyResult" }, outputs: { selectValue: "selectValue", searchKeyUp: "searchKeyUp", searchFocusOut: "searchFocusOut" }, ngImport: i0, template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <div class=\"wac-search__wrapper\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\r\n </div>\r\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\r\n <ng-scrollbar [visibility]=\"'hover'\" *ngIf=\"triggerOptions.length > 0\">\r\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\r\n <div [ngClass]=\"{ selected: item.checked }\" (click)=\"onSelectItem(index, item.id, item.label)\">\r\n {{ item.label }}\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\r\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i3.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }] }); }
|
|
63
63
|
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SearchComponent, decorators: [{
|
|
65
65
|
type: Component,
|
|
66
|
-
args: [{ selector: 'wac-search', template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\n <div class=\"wac-search__wrapper\">\n <button><i class=\"fal fa-search\"></i></button>\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\n </div>\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\n <ng-scrollbar [visibility]=\"'hover'\" *ngIf=\"triggerOptions.length > 0\">\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\n <div [ngClass]=\"{ selected: item.checked }\" (click)=\"onSelectItem(index, item.id, item.label)\">\n {{ item.label }}\n </div>\n </div>\n </ng-scrollbar>\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\n </div>\n </div>\n</div>\n" }]
|
|
66
|
+
args: [{ selector: 'wac-search', template: "<div class=\"wac-search\" [ngClass]=\"{ open: openSelect || alwaysOpen }\" [zIndexToggle]=\"openSelect\" wzAutoHide (clickOutside)=\"closeSelect()\">\r\n <div class=\"wac-search__wrapper\">\r\n <button><i class=\"fal fa-search\"></i></button>\r\n <input [value]=\"search\" type=\"text\" required [placeholder]=\"placeholder\" (focus)=\"openSelect = true;\" (focusout)=\"sendEventFocusOut()\" (keyup)=\"setSearchValueToQuery($event)\" />\r\n </div>\r\n <div class=\"wac-search__absolute\" *ngIf=\"triggerOptions\" [ngClass]=\"{'hidden': !openSelect}\">\r\n <ng-scrollbar [visibility]=\"'hover'\" *ngIf=\"triggerOptions.length > 0\">\r\n <div (click)=\"onClose()\" class=\"wac-select__content__item\" *ngFor=\"let item of triggerOptions; let index = index;\">\r\n <div [ngClass]=\"{ selected: item.checked }\" (click)=\"onSelectItem(index, item.id, item.label)\">\r\n {{ item.label }}\r\n </div>\r\n </div>\r\n </ng-scrollbar>\r\n <div class=\"wac-select__content__empty\" *ngIf=\"triggerOptions.length === 0\">\r\n <span *ngIf=\"emptyResult\">{{emptyResult}}</span>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
|
|
67
67
|
}], ctorParameters: () => [], propDecorators: { placeholder: [{
|
|
68
68
|
type: Input
|
|
69
69
|
}], alwaysOpen: [{
|
|
@@ -83,4 +83,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImpor
|
|
|
83
83
|
}], searchFocusOut: [{
|
|
84
84
|
type: Output
|
|
85
85
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItY29tcG9uZW50cy9zcmMvbGliL2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlYXJjaC9zZWFyY2guY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFVLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7O0FBUTdFLE1BQU0sT0FBTyxlQUFlO0lBYzFCO1FBWFMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUduQixvQkFBZSxHQUFHLEtBQUssQ0FBQztRQUN4QixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUMxQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFFVCxnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFVLENBQUM7UUFDekMsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQ3pDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztJQUN2QyxDQUFDO0lBRWhCLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDckMsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBSztRQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUNyQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO2dCQUN2QixJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDOUgsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUNyQyxDQUFDO1FBQ0gsQ0FBQztRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDMUIsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFhLEVBQUUsS0FBYSxFQUFFLEtBQWE7UUFDdEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7UUFDeEIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDL0IsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEtBQUssS0FBSyxJQUFJLE9BQU8sQ0FBQyxFQUFFLEtBQUssS0FBSyxDQUFDLENBQUM7WUFDeEcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDdEMsQ0FBQztJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7OEdBN0RVLGVBQWU7a0dBQWYsZUFBZSwrVENSNUIsMG9DQWtCQTs7MkZEVmEsZUFBZTtrQkFKM0IsU0FBUzsrQkFDRSxZQUFZO3dEQUtiLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFJSSxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ0csY0FBYztzQkFBdkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkluaXQsIE91dHB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7U2VhcmNoT3B0aW9ufSBmcm9tICcuL3NoYXJlZC9zZWFyY2gtb3B0aW9uLm1vZGVsJztcclxuaW1wb3J0IHtTZWxlY3RJdGVtfSBmcm9tICcuLi9zZWxlY3Qvc2VsZWN0LWl0ZW1zLmR0byc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3dhYy1zZWFyY2gnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2guY29tcG9uZW50Lmh0bWwnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBTZWFyY2hDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGFsd2F5c09wZW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIG9wdGlvbnM6IFNlYXJjaE9wdGlvbltdO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVTZWFyY2hJbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGVtcHR5UmVzdWx0ID0gJyc7XHJcbiAgc2VhcmNoOiBhbnkgPSAnJztcclxuICBvcGVuU2VsZWN0ID0gZmFsc2U7XHJcbiAgdHJpZ2dlck9wdGlvbnM6IFNlYXJjaE9wdGlvbltdO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RWYWx1ZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hLZXlVcCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBzZWFyY2hGb2N1c091dCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIGNvbnN0cnVjdG9yKCkge31cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRyaWdnZXJPcHRpb25zID0gdGhpcy5vcHRpb25zO1xyXG4gIH1cclxuXHJcbiAgb25DbG9zZSgpIHtcclxuICAgIHRoaXMub3BlblNlbGVjdCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VhcmNoVmFsdWVUb1F1ZXJ5KHZhbHVlKSB7XHJcbiAgICB0aGlzLnNlYXJjaCA9IHZhbHVlLnRhcmdldC52YWx1ZTtcclxuICAgIGlmICh0aGlzLmRpc2FibGVTZWFyY2hJbikge1xyXG4gICAgICB0aGlzLnRyaWdnZXJPcHRpb25zID0gdGhpcy5vcHRpb25zO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgaWYgKHRoaXMuc2VhcmNoLmxlbmd0aCA+IDApIHtcclxuICAgICAgICB0aGlzLm9wZW5TZWxlY3QgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMudHJpZ2dlck9wdGlvbnMgPSB0aGlzLm9wdGlvbnMuZmlsdGVyKGVsZW1lbnQgPT4gZWxlbWVudC5sYWJlbC50b0xvd2VyQ2FzZSgpLmluZGV4T2YodGhpcy5zZWFyY2gudG9Mb3dlckNhc2UoKSkgIT09IC0xKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRyaWdnZXJPcHRpb25zID0gdGhpcy5vcHRpb25zO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlYXJjaEtleVVwLmVtaXQodGhpcy5zZWFyY2gpO1xyXG4gIH1cclxuXHJcbiAgc2VuZEV2ZW50Rm9jdXNPdXQoKSB7XHJcbiAgICB0aGlzLnNlYXJjaEZvY3VzT3V0LmVtaXQodGhpcy5zZWFyY2gpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VTZWxlY3QoKSB7XHJcbiAgICB0aGlzLm9wZW5TZWxlY3QgPSBmYWxzZTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0SXRlbShpbmRleDogbnVtYmVyLCB2YWx1ZTogbnVtYmVyLCBsYWJlbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlYXJjaCA9ICcnO1xyXG4gICAgdGhpcy5vcGVuU2VsZWN0ID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlU2VhcmNoSW4pIHtcclxuICAgICAgdGhpcy5zZWxlY3RWYWx1ZS5lbWl0KGluZGV4KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvbnN0IGZpbmRJbk9wdGlvbiA9IHRoaXMub3B0aW9ucy5maW5kSW5kZXgoZWxlbWVudCA9PiBlbGVtZW50LmxhYmVsID09PSBsYWJlbCAmJiBlbGVtZW50LmlkID09PSB2YWx1ZSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0VmFsdWUuZW1pdChmaW5kSW5PcHRpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcmVzZXRBbGxWdWUoKSB7XHJcbiAgICB0aGlzLnNlYXJjaCA9ICcnO1xyXG4gICAgdGhpcy5jbG9zZVNlbGVjdCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIndhYy1zZWFyY2hcIiBbbmdDbGFzc109XCJ7IG9wZW46IG9wZW5TZWxlY3QgfHwgYWx3YXlzT3BlbiB9XCIgW3pJbmRleFRvZ2dsZV09XCJvcGVuU2VsZWN0XCIgd3pBdXRvSGlkZSAoY2xpY2tPdXRzaWRlKT1cImNsb3NlU2VsZWN0KClcIj5cclxuICA8ZGl2IGNsYXNzPVwid2FjLXNlYXJjaF9fd3JhcHBlclwiPlxyXG4gICAgPGJ1dHRvbj48aSBjbGFzcz1cImZhbCBmYS1zZWFyY2hcIj48L2k+PC9idXR0b24+XHJcbiAgICA8aW5wdXQgW3ZhbHVlXT1cInNlYXJjaFwiIHR5cGU9XCJ0ZXh0XCIgcmVxdWlyZWQgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgKGZvY3VzKT1cIm9wZW5TZWxlY3QgPSB0cnVlO1wiIChmb2N1c291dCk9XCJzZW5kRXZlbnRGb2N1c091dCgpXCIgKGtleXVwKT1cInNldFNlYXJjaFZhbHVlVG9RdWVyeSgkZXZlbnQpXCIgLz5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwid2FjLXNlYXJjaF9fYWJzb2x1dGVcIiAqbmdJZj1cInRyaWdnZXJPcHRpb25zXCIgW25nQ2xhc3NdPVwieydoaWRkZW4nOiAhb3BlblNlbGVjdH1cIj5cclxuICAgIDxuZy1zY3JvbGxiYXIgW3Zpc2liaWxpdHldPVwiJ2hvdmVyJ1wiICpuZ0lmPVwidHJpZ2dlck9wdGlvbnMubGVuZ3RoID4gMFwiPlxyXG4gICAgICA8ZGl2IChjbGljayk9XCJvbkNsb3NlKClcIiBjbGFzcz1cIndhYy1zZWxlY3RfX2NvbnRlbnRfX2l0ZW1cIiAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0cmlnZ2VyT3B0aW9uczsgbGV0IGluZGV4ID0gaW5kZXg7XCI+XHJcbiAgICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiBpdGVtLmNoZWNrZWQgfVwiIChjbGljayk9XCJvblNlbGVjdEl0ZW0oaW5kZXgsIGl0ZW0uaWQsIGl0ZW0ubGFiZWwpXCI+XHJcbiAgICAgICAgICB7eyBpdGVtLmxhYmVsIH19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1zY3JvbGxiYXI+XHJcbiAgICA8ZGl2IGNsYXNzPVwid2FjLXNlbGVjdF9fY29udGVudF9fZW1wdHlcIiAqbmdJZj1cInRyaWdnZXJPcHRpb25zLmxlbmd0aCA9PT0gMFwiPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cImVtcHR5UmVzdWx0XCI+e3tlbXB0eVJlc3VsdH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -15,10 +15,10 @@ export class OptionComponent extends SelectOptionDirective {
|
|
|
15
15
|
getContentRef() {
|
|
16
16
|
return this.contentOption;
|
|
17
17
|
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
19
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
18
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OptionComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
19
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: OptionComponent, selector: "wac-option", providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: OptionComponent }], viewQueries: [{ propertyName: "contentOption", first: true, predicate: ["contentWrapper"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n [ngClass]=\"{ 'disabled': disabled }\"\r\n class=\"wac-option\"\r\n >\r\n <div [ngClass]=\"{ 'selected': !disabled && selected, 'disabled': disabled }\" #contentWrapper>\r\n <wac-checkbox *ngIf=\"multiple\" [id]=\"checkBoxId\" [value]=\"selected\"></wac-checkbox>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.CheckboxComponent, selector: "wac-checkbox", inputs: ["label", "value", "type", "alone", "checked", "hasInput", "inputPlaceholder", "id", "name", "whiteSpace", "disabled"], outputs: ["valueChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
20
20
|
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OptionComponent, decorators: [{
|
|
22
22
|
type: Component,
|
|
23
23
|
args: [{ selector: 'wac-option', encapsulation: ViewEncapsulation.None, providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: OptionComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n [ngClass]=\"{ 'disabled': disabled }\"\r\n class=\"wac-option\"\r\n >\r\n <div [ngClass]=\"{ 'selected': !disabled && selected, 'disabled': disabled }\" #contentWrapper>\r\n <wac-checkbox *ngIf=\"multiple\" [id]=\"checkBoxId\" [value]=\"selected\"></wac-checkbox>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>" }]
|
|
24
24
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { contentOption: [{
|
|
@@ -61,10 +61,10 @@ export class SelectOptionDirective {
|
|
|
61
61
|
this.multiple = multiple;
|
|
62
62
|
this.changeDetectorRef.markForCheck();
|
|
63
63
|
}
|
|
64
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
65
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0
|
|
64
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
65
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: SelectOptionDirective, isStandalone: true, selector: "[wacOption]", inputs: { disabled: "disabled", value: "value", selected: "selected", onClickEventPreventDefault: "onClickEventPreventDefault" }, outputs: { selectedChange: "selectedChange" }, host: { listeners: { "click": "onClick($event)" }, properties: { "class.wac-option-selected": "this.isOptionSelected", "class.wac-option-disabled": "this.isOptionDisabled", "style.cursor": "this.cursor" } }, providers: [{ provide: OPTION_SELECTION_HANDLER, useExisting: SelectOptionDirective }], exportAs: ["wacOption"], ngImport: i0 }); }
|
|
66
66
|
}
|
|
67
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
67
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectOptionDirective, decorators: [{
|
|
68
68
|
type: Directive,
|
|
69
69
|
args: [{
|
|
70
70
|
selector: '[wacOption]',
|
package/esm2022/lib/components/select/option-call-to-action/option-call-to-action.component.mjs
CHANGED
|
@@ -2,10 +2,10 @@ import { Component } from '@angular/core';
|
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class OptionCallToActionComponent {
|
|
4
4
|
constructor() { }
|
|
5
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
6
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
5
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OptionCallToActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: OptionCallToActionComponent, selector: "wac-option-call-to-action", ngImport: i0, template: "\r\n<div class=\"wac-option-call-to-action\">\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n" }); }
|
|
7
7
|
}
|
|
8
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
8
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: OptionCallToActionComponent, decorators: [{
|
|
9
9
|
type: Component,
|
|
10
10
|
args: [{ selector: 'wac-option-call-to-action', template: "\r\n<div class=\"wac-option-call-to-action\">\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n\r\n" }]
|
|
11
11
|
}], ctorParameters: () => [] });
|
|
@@ -160,13 +160,13 @@ export class SelectComponent extends SelectDirective {
|
|
|
160
160
|
this.isDestroyed$.next();
|
|
161
161
|
this.isDestroyed$.complete();
|
|
162
162
|
}
|
|
163
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
164
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0
|
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectComponent, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
164
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.0", type: SelectComponent, selector: "wac-select", inputs: { required: "required", small: "small", keepPanelOpen: "keepPanelOpen", openPanel: "openPanel" }, outputs: { openPanelChange: "openPanelChange" }, host: { properties: { "attr.role": "this.role" } }, providers: [
|
|
165
165
|
{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true },
|
|
166
166
|
ValueChangeService
|
|
167
167
|
], queries: [{ propertyName: "customSearchTrigger", first: true, predicate: SelectSearchTriggerComponent, descendants: true }, { propertyName: "label", first: true, predicate: LabelComponent, descendants: true }], viewQueries: [{ propertyName: "selectHeader", first: true, predicate: ["selectHeader"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<p *ngIf=\"!!label\" class=\"wac-select__label\">\r\n <ng-content select=\"wac-label, .wac-label\" ></ng-content>\r\n</p>\r\n\r\n<div\r\n class=\"wac-select\"\r\n wzAutoHide\r\n (clickOutside)=\"onClosePanel()\"\r\n [triggerElement]=\"'wac-select__header__selection'\"\r\n [zIndexToggle]=\"openPanel\"\r\n [ngClass]=\"{'small': small}\"\r\n >\r\n\r\n <div #selectHeader class=\"wac-select__header\" [ngClass]=\"{ 'select-disabled' : disabled }\" (click)=\"!disabled && onTogglePanel()\" tabindex=\"0\">\r\n\r\n <ng-container [ngTemplateOutlet]=\"openPanel ? openPanelTrigger : closePanelTrigger\" >\r\n\r\n <ng-template #closePanelTrigger>\r\n <ng-container [ngTemplateOutlet]=\"defaultTrigger\"></ng-container>\r\n </ng-template>\r\n\r\n <ng-template #openPanelTrigger>\r\n <ng-content *ngIf=\"!!customSearchTrigger; else defaultTrigger\" select=\"wac-select-search-trigger\" ></ng-content>\r\n </ng-template>\r\n\r\n <ng-template #defaultTrigger>\r\n <ng-content *ngIf=\"!selectedOptionContent\" select=\"wac-placeholder,[role=placeholder]\"></ng-content>\r\n <div\r\n class=\"wac-select__header__selection wac-option__placeholder\"\r\n *ngIf=\"!!selectedOptionContent\"\r\n [innerHtml]=\"selectedOptionContent\">\r\n </div>\r\n </ng-template>\r\n\r\n </ng-container>\r\n\r\n <span class=\"wac-select__header__chevron\"><i class=\"fas fa-chevron-down\"></i></span>\r\n\r\n </div>\r\n\r\n\r\n <div class=\"wac-select__content\" *ngIf=\"!disabled\" [ngClass]=\"{ hidden: !openPanel, open: openPanel }\">\r\n\r\n <ng-scrollbar [visibility]=\"'hover'\" >\r\n <ng-content\r\n select=\"wac-option-call-to-action, wac-option, option, .option, [selectOption]\">\r\n </ng-content>\r\n </ng-scrollbar>\r\n\r\n <div *ngIf=\"!optionChildren?.length\" class=\"wac-select__content__empty\">\r\n <span>{{'wac.datatable.noresult' | translate}}</span>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.AutoHideDirective, selector: "[wzAutoHide]", inputs: ["triggerElement", "forceOn"], outputs: ["clickOutside"] }, { kind: "directive", type: i4.ZindexToggleDirective, selector: "[zIndexToggle]", inputs: ["zIndexToggle"], outputs: ["onEventChange"] }, { kind: "component", type: i5.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
|
|
168
168
|
}
|
|
169
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
169
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectComponent, decorators: [{
|
|
170
170
|
type: Component,
|
|
171
171
|
args: [{ selector: 'wac-select', providers: [
|
|
172
172
|
{ provide: NG_VALUE_ACCESSOR, useExisting: SelectComponent, multi: true },
|
|
@@ -130,13 +130,13 @@ export class SelectDirective {
|
|
|
130
130
|
this.isDestroyed$.next();
|
|
131
131
|
this.isDestroyed$.complete();
|
|
132
132
|
}
|
|
133
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
134
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0
|
|
133
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectDirective, deps: [{ token: i1.ValueChangeService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
134
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.0", type: SelectDirective, isStandalone: true, selector: "[wacSelect]", inputs: { value: "value", multiple: "multiple", disabled: "disabled", tabIndex: "tabIndex", searchByTyping: "searchByTyping" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "keydown": "onKeydown($event)" }, properties: { "attr.tabindex": "this.tabindex", "class.wac-select-disabled": "this.isSelectDisabled" } }, providers: [
|
|
135
135
|
{ provide: NG_VALUE_ACCESSOR, useExisting: SelectDirective, multi: true },
|
|
136
136
|
ValueChangeService
|
|
137
137
|
], queries: [{ propertyName: "optionChildren", predicate: OPTION_SELECTION_HANDLER, descendants: true }], exportAs: ["wacSelect"], ngImport: i0 }); }
|
|
138
138
|
}
|
|
139
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
139
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: SelectDirective, decorators: [{
|
|
140
140
|
type: Directive,
|
|
141
141
|
args: [{
|
|
142
142
|
selector: '[wacSelect]',
|
|
@@ -181,10 +181,10 @@ export class ValueChangeService {
|
|
|
181
181
|
this.resetListeners$.next();
|
|
182
182
|
this.resetListeners$.complete();
|
|
183
183
|
}
|
|
184
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0
|
|
185
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0
|
|
184
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ValueChangeService, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
185
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ValueChangeService }); }
|
|
186
186
|
}
|
|
187
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0
|
|
187
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: ValueChangeService, decorators: [{
|
|
188
188
|
type: Injectable
|
|
189
189
|
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }] });
|
|
190
190
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWUtY2hhbmdlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWNvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3NlbGVjdC9zZWxlY3QvdmFsdWUtY2hhbmdlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixVQUFVLEVBQXdCLE1BQU0sZUFBZSxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xELE9BQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7QUFJckQsTUFBTSxPQUFPLGtCQUFrQjtJQUkzQixJQUFJLEtBQUssQ0FBQyxLQUFvQztRQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3ZCLENBQUM7SUFnQkQsWUFBb0IsaUJBQW9DO1FBQXBDLHNCQUFpQixHQUFqQixpQkFBaUIsQ0FBbUI7UUExQnhELGlCQUFZLEdBQTJDLElBQUksT0FBTyxFQUFFLENBQUM7UUFZckUsYUFBUSxHQUFZLEtBQUssQ0FBQztRQVUxQix3QkFBbUIsR0FBVyxJQUFJLENBQUMsQ0FBQyx1QkFBdUI7UUFFM0Qsb0JBQWUsR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQW9GdkMseUJBQW9CLEdBQUcsQ0FBQyxNQUFxQyxFQUFFLEtBQWEsRUFBRSxNQUFjLEVBQUUsRUFBRTtZ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ZUFBZSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1lBRXpFLElBQUksZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUMzQixJQUFJLENBQUMsbUJBQW1CLEdBQUcsS0FBSyxDQUFDO1lBQ3JDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRDs7TUFFRTtJQUNNLGVBQWUsQ0FBQyxNQUFvQjtRQUN4QyxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUM3QyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZDLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxLQUFLLEtBQUssTUFBTSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXO1FBQ1AsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBMU9RLGtCQUFrQjtrSEFBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQUQ5QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0b3JSZWYsIEluamVjdGFibGUsIE9uRGVzdHJveSwgUXVlcnlMaXN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IG1lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IGZpbHRlciwgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IGNvbXBhcmVBcnJheXMgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hcnJheSc7XHJcbmltcG9ydCB7IE9wdGlvbkNvbXBvbmVudCB9IGZyb20gJy4uL29wdGlvbi9vcHRpb24uY29tcG9uZW50JztcclxuXHJcbkBJbmplY3RhYmxlKClcclxuZXhwb3J0IGNsYXNzIFZhbHVlQ2hhbmdlU2VydmljZTxUT3B0aW9uVmFsdWU+IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuXHJcbiAgICB2YWx1ZUNoYW5nZSQ6IFN1YmplY3Q8VE9wdGlvblZhbHVlIHwgVE9wdGlvblZhbHVlW10+ID0gbmV3IFN1YmplY3QoKTtcclxuXHJcbiAgICBzZXQgdmFsdWUodmFsdWU6IFRPcHRpb25WYWx1ZSB8IFRPcHRpb25WYWx1ZVtdKSB7XHJcbiAgICAgICAgdGhpcy5fdmFsdWUgPSB2YWx1ZTtcclxuICAgICAgICB0aGlzLmhhbmRsZVZhbHVlQ2hhbmdlKCk7XHJcbiAgICAgICAgdGhpcy52YWx1ZUNoYW5nZSQubmV4dCh2YWx1ZSk7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IHZhbHVlKCk6IFRPcHRpb25WYWx1ZSB8IFRPcHRpb25WYWx1ZVtdIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5fdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgbXVsdGlwbGU6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgICBwcml2YXRlIF92YWx1ZTogVE9wdGlvblZhbHVlIHwgVE9wdGlvblZhbHVlW107XHJcblxyXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XHJcblxyXG4gICAgb3B0aW9uQ2hpbGRyZW46IFF1ZXJ5TGlzdDxPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPj47XHJcblxyXG4gICAgc2VsZWN0ZWRPcHRpb25Db250ZW50OiBhbnk7XHJcblxyXG4gICAgaW5kZXhTZWxlY3RlZE9wdGlvbjogbnVtYmVyID0gbnVsbDsgLy8gdG9kbyB1cGRhdGUgdG8gYXJyYXlcclxuXHJcbiAgICByZXNldExpc3RlbmVycyQ6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7XHJcbiAgICB9XHJcblxyXG4gICAgaGFuZGxlU2VsZWN0T3B0aW9uc0NoYW5nZShvcHRpb25DaGlsZHJlbjogUXVlcnlMaXN0PE9wdGlvbkNvbXBvbmVudDxUT3B0aW9uVmFsdWU+PiwgdmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMucmVzZXRMaXN0ZW5lcnMkLm5leHQoKTtcclxuXHJcbiAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbiA9IG9wdGlvbkNoaWxkcmVuO1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gbnVsbDtcclxuXHJcbiAgICAgICAgdGhpcy5oYW5kbGVNdWx0aXBsZVNlbGVjdGlvbigpO1xyXG4gICAgICAgIHRoaXMuaGFuZGxlSW5pdGlhbFNlbGVjdGVkT3B0aW9uKCk7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVTZWxlY3RlZE9wdGlvbnNFdmVudCgpO1xyXG4gICAgfVxyXG5cclxuICAgIGFzc2lnblZhbHVlKHZhbHVlOiBUT3B0aW9uVmFsdWUgfCBUT3B0aW9uVmFsdWVbXSkge1xyXG4gICAgICAgIHRoaXMuX3ZhbHVlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSgpO1xyXG4gICAgfVxyXG5cclxuICAgIGhhbmRsZVZhbHVlQ2hhbmdlKCkge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlU2VsZWN0ZWRPcHRpb24oKTtcclxuICAgICAgICB0aGlzLnVwZGF0ZVNlbGVjdFBsYWNlaG9sZGVyKCk7XHJcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pIHtcclxuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcclxuICAgICAgICB0aGlzLm9wdGlvbkNoaWxkcmVuPy5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5zZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQpKTtcclxuICAgIH1cclxuXHJcbiAgICBzZWxlY3ROZXh0T3B0aW9uKCkge1xyXG4gICAgICAgIC8vIFRPRE8gOiBIYW5kbGUgbXVsdGlwbGUgc2VsZWN0aW9uXHJcbiAgICAgICAgaWYgKHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiArMSA+PSB0aGlzLm9wdGlvbkNoaWxkcmVuLmxlbmd0aCkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IDA7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uICsgMTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdFByZXZpb3VzT3B0aW9uKCkge1xyXG4gICAgICAgIC8vIFRPRE8gOiBIYW5kbGUgbXVsdGlwbGUgc2VsZWN0aW9uXHJcbiAgICAgICAgaWYgKCF0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pIHtcclxuICAgICAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5hc3NpZ25WYWx1ZShudWxsKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uID0gdGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uIC0gMTtcclxuICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5vcHRpb25DaGlsZHJlbi5nZXQodGhpcy5pbmRleFNlbGVjdGVkT3B0aW9uKS52YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICBzZWFyY2hPcHRpb25CeUZpcnN0TGV0dGVyKGxldHRlcjogc3RyaW5nKSB7XHJcbiAgICAgICAgLy8gVE9ETyA6IEhhbmRsZSBtdWx0aXBsZSBzZWxlY3Rpb25nXHJcbiAgICAgICAgY29uc3QgbWF0Y2hlZE9wdGlvbnNJbmRleCA9IHRoaXMub3B0aW9uQ2hpbGRyZW5cclxuICAgICAgICAgICAgLm1hcCgob3B0aW9uLCBpbmRleCkgPT4gdGhpcy5pbmRleE9mTWF0Y2hlZE9wdGlvbihvcHRpb24sIGluZGV4LCBsZXR0ZXIpKVxyXG4gICAgICAgICAgICAuZmlsdGVyKHRoaXMuaXNOb3ROdWxsKTtcclxuXHJcbiAgICAgICAgaWYgKCFtYXRjaGVkT3B0aW9uc0luZGV4Lmxlbmd0aCkgeyAvLyByZXNldCB0aGUgc2VsZWN0aW9uXHJcbiAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IG51bGw7XHJcbiAgICAgICAgICAgIHRoaXMudmFsdWUgPSBudWxsO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBmaW5kIHRoZSBuZXh0IG9wdGlvbiBhZnRlciB0aGUgY3VycmVudCBzZWxlY3RlZCBvcHRpb24sIG9yIHRoZSBmaXJzdCBvcHRpb25cclxuXHJcbiAgICAgICAgY29uc3QgdmFsaWRPcHRpb25JbmRleCA9IG1hdGNoZWRPcHRpb25zSW5kZXguZmluZCh0aGlzLmhpZ2hlc3RBbmRDbG9zZXN0SW5kZXgpO1xyXG5cclxuICAgICAgICB0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24gPSBpc05hTih2YWxpZE9wdGlvbkluZGV4KSA/IG1hdGNoZWRPcHRpb25zSW5kZXhbMF0gOiB2YWxpZE9wdGlvbkluZGV4O1xyXG4gICAgICAgIHRoaXMudmFsdWUgPSB0aGlzLm9wdGlvbkNoaWxkcmVuLmdldCh0aGlzLmluZGV4U2VsZWN0ZWRPcHRpb24pLnZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHNldE11bHRpcGxlKHZhbHVlOiBib29sZWFuKSB7XHJcbiAgICAgICAgdGhpcy5tdWx0aXBsZSA9IHZhbHVlO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaW5kZXhPZk1hdGNoZWRPcHRpb24gPSAob3B0aW9uOiBPcHRpb25Db21wb25lbnQ8VE9wdGlvblZhbHVlPiwgaW5kZXg6IG51bWJlciwgbGV0dGVyOiBzdHJpbmcpID0+IHtcclxuICAgICAgICBjb25zdCB0ZXh0T3B0aW9uID0gb3B0aW9uLmdldENvbnRlbnRSZWYoKS5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50LnRyaW0oKS50b0xvd2VyQ2FzZSgpO1xyXG4gICAgICAgIHJldHVybiB0ZXh0T3B0aW9uLnN0YXJ0c1dpdGgobGV0dGVyKSA/IGluZGV4IDogbnVsbDtcclxuICAgICAgfVxyXG5cclxuICAgIHByaXZhdGUgaXNOb3ROdWxsID0gKGluZGV4OiBudW1iZXIgfCBudWxsKSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIGluZGV4ICE9PSBudWxsO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgaGlnaGVzdEFuZENsb3Nlc3RJbmRleCA9IChpbmRleDogbnVtYmVyKSA9PiB7XHJcbiAgICAgICAgaWYgKGlzTmFOKHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChpbmRleCA+IHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbikge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZU11bHRpcGxlU2VsZWN0aW9uKCkge1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbi5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5zZXRNdWx0aXBsZSh0cnVlKSk7XHJcbiAgICAgICAgICAgIH0sIDApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZUluaXRpYWxTZWxlY3RlZE9wdGlvbigpIHtcclxuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHsgLy8gISBBdm9pZCBFeHByZXNzaW9uIGhhcyBjaGFuZ2VkLi4uXHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5tdXN0VXBkYXRlVmFsdWVXaXRoSW5pdGlhbFNlbGVjdGVkT3B0aW9uVmFsdWVzKCkpIHsgLy8gaW5pdGlhbCBvcHRpb24gdmFsdWUgc2VsZWN0ZWQgd2luIGFnYWluc3QgaW5pdGlhbCB2YWx1ZSBvciBuZ01vZGVsIHZhbHVlXHJcbiAgICAgICAgICAgICAgICB0aGlzLnZhbHVlID0gdGhpcy5tdWx0aXBsZSA/IHRoaXMuZ2V0U2VsZWN0ZWRPcHRpb25zVmFsdWVzKCkgOiB0aGlzLmdldFNlbGVjdGVkT3B0aW9uc1ZhbHVlcygpWzBdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbi5mb3JFYWNoKChvcHRpb24pID0+IG9wdGlvbi5zZXREaXNhYmxlZFN0YXRlKHRydWUpKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgdGhpcy5oYW5kbGVWYWx1ZUNoYW5nZSgpO1xyXG4gICAgICAgICAgfSwgMCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBtdXN0VXBkYXRlVmFsdWVXaXRoSW5pdGlhbFNlbGVjdGVkT3B0aW9uVmFsdWVzKCkge1xyXG4gICAgICAgIGlmICghdGhpcy5nZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudHMoKS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKHRoaXMubXVsdGlwbGUgJiYgQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gIWNvbXBhcmVBcnJheXModGhpcy52YWx1ZSwgdGhpcy5nZXRTZWxlY3RlZE9wdGlvbnNWYWx1ZXMoKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAhPT0gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbnNWYWx1ZXMoKVswXTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGhhbmRsZVNlbGVjdGVkT3B0aW9uc0V2ZW50KCkge1xyXG4gICAgICAgIHRoaXMub3B0aW9uU2VsZWN0ZWRDaGFuZ2VMaXN0ZW5lcnMoKS5zdWJzY3JpYmUoKG9wdGlvbikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBzZWxlY3RlZE9wdGlvbnNWYWx1ZXMgPSB0aGlzLmdldFNlbGVjdGVkT3B0aW9uc1ZhbHVlcygpO1xyXG4gICAgICAgICAgICBpZiAodGhpcy5tdWx0aXBsZSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy52YWx1ZSA9IHNlbGVjdGVkT3B0aW9uc1ZhbHVlcztcclxuICAgICAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLnZhbHVlID0gb3B0aW9uLnNlbGVjdGVkID8gb3B0aW9uLnZhbHVlIDogdW5kZWZpbmVkO1xyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdXBkYXRlU2VsZWN0UGxhY2Vob2xkZXIoKSB7XHJcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlICYmIHR5cGVvZiB0aGlzLnZhbHVlICE9PSAnbnVtYmVyJykge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkT3B0aW9uQ29udGVudCA9IG51bGw7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRPcHRpb25Db250ZW50ID0gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbnNDb250ZW50KCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZE9wdGlvbnNDb250ZW50KCkge1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlKSB7XHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGVkT3B0aW9uQ29tcG9uZW50cygpLnJlZHVjZSgoYWNjLCBvcHRpb24pID0+IChhY2MgPyBhY2MgKyAnLCAnIDogJycpICsgb3B0aW9uLmdldENvbnRlbnRSZWYoKS5uYXRpdmVFbGVtZW50LnRleHRDb250ZW50LnRyaW0oKSwgJycpOyAvLyB0b2RvIGltcHJvdmUgZm9yIG11bHRpcGxlXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzLmdldFNlbGVjdGVkT3B0aW9uQ29tcG9uZW50cygpWzBdPy5nZXRDb250ZW50UmVmKCkubmF0aXZlRWxlbWVudC5pbm5lckhUTUw7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBnZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudHMoKXtcclxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25DaGlsZHJlbi5maWx0ZXIoKG9wdGlvbikgPT4gb3B0aW9uLnNlbGVjdGVkKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFNlbGVjdGVkT3B0aW9uc1ZhbHVlcygpIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5nZXRTZWxlY3RlZE9wdGlvbkNvbXBvbmVudHMoKS5tYXAoKG9wdGlvbikgPT4gb3B0aW9uLnZhbHVlKTtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIG9wdGlvblNlbGVjdGVkQ2hhbmdlTGlzdGVuZXJzKCkge1xyXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkQ2hhbmdlJCA9ICB0aGlzLm9wdGlvbkNoaWxkcmVuLm1hcCgob3B0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiBvcHRpb24uc2VsZWN0ZWRDaGFuZ2UucGlwZShcclxuICAgICAgICAgICAgICAgIGZpbHRlcigoKSA9PiAhdGhpcy5kaXNhYmxlZCksXHJcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gb3B0aW9uKVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gbWVyZ2UoLi4uc2VsZWN0ZWRDaGFuZ2UkKS5waXBlKHRha2VVbnRpbCh0aGlzLnJlc2V0TGlzdGVuZXJzJCkpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgY2hhbmdlU2VsZWN0ZWRPcHRpb24oKSB7XHJcbiAgICAgICAgdGhpcy5vcHRpb25DaGlsZHJlbi5mb3JFYWNoKChvcHRpb25Db21wb25lbnQsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgIG9wdGlvbkNvbXBvbmVudC5zZXRTZWxlY3RlZCh0aGlzLmlzU2VsZWN0ZWRWYWx1ZShvcHRpb25Db21wb25lbnQudmFsdWUpKTtcclxuXHJcbiAgICAgICAgICAgIGlmIChvcHRpb25Db21wb25lbnQuc2VsZWN0ZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuaW5kZXhTZWxlY3RlZE9wdGlvbiA9IGluZGV4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgLyoqXHJcbiAgICAgICogTWF5IG5vdCB3b3JrIHdpdGggb2JqZWN0cyB2YWx1ZXNcclxuICAgICovXHJcbiAgICBwcml2YXRlIGlzU2VsZWN0ZWRWYWx1ZSh2YWx1ZTI6IFRPcHRpb25WYWx1ZSkge1xyXG4gICAgICAgIGlmICh0aGlzLm11bHRpcGxlICYmIEFycmF5LmlzQXJyYXkodGhpcy52YWx1ZSkpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUuaW5jbHVkZXModmFsdWUyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWUgPT09IHZhbHVlMjtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgICB0aGlzLnJlc2V0TGlzdGVuZXJzJC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5yZXNldExpc3RlbmVycyQuY29tcGxldGUoKTtcclxuICAgIH1cclxufSJdfQ==
|