mis-crystal-design-system 18.0.25 → 18.1.0-signal-test-1
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/action-list/action-list.component.d.ts +17 -15
- package/async-search-dropdown/async-dropdown.component.d.ts +43 -61
- package/button/button.component.d.ts +35 -13
- package/button/button.directive.d.ts +10 -8
- package/checkbox/checkbox.component.d.ts +15 -12
- package/chip/chip.component.d.ts +9 -11
- package/datepicker_v2/models/dp-config.model.d.ts +1 -0
- package/datepicker_v2/tz-datepicker.directive.d.ts +15 -18
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +42 -21
- package/daterangepicker_v2/tz-daterangepicker.directive.d.ts +12 -14
- package/daterangepicker_v2/tz-drp-container/tz-drp-container.component.d.ts +46 -23
- package/drawer/drawer-body/drawer-body.component.d.ts +2 -2
- package/dropdown/calculate-container-height.directive.d.ts +7 -8
- package/dropdown/dropdown.component.d.ts +41 -49
- package/dynamic-form/dynamic-form.component.d.ts +20 -16
- package/esm2022/action-list/action-list.component.mjs +113 -90
- package/esm2022/async-search-dropdown/async-dropdown.component.mjs +257 -327
- package/esm2022/button/button.component.mjs +56 -49
- package/esm2022/button/button.directive.mjs +36 -40
- package/esm2022/checkbox/checkbox.component.mjs +75 -70
- package/esm2022/chip/chip.component.mjs +20 -33
- package/esm2022/datepicker_v2/models/dp-config.model.mjs +1 -1
- package/esm2022/datepicker_v2/tz-datepicker.directive.mjs +42 -71
- package/esm2022/datepicker_v2/tz-dp-container/tz-dp-container.component.mjs +203 -173
- package/esm2022/datepicker_v2/utils/index.mjs +2 -1
- package/esm2022/daterangepicker_v2/tz-daterangepicker.directive.mjs +26 -51
- package/esm2022/daterangepicker_v2/tz-drp-container/tz-drp-container.component.mjs +283 -236
- package/esm2022/drawer/drawer-body/drawer-body.component.mjs +8 -7
- package/esm2022/dropdown/calculate-container-height.directive.mjs +25 -22
- package/esm2022/dropdown/dropdown.component.mjs +163 -187
- package/esm2022/dynamic-form/dynamic-form.component.mjs +119 -73
- package/esm2022/fab/fab.component.mjs +30 -34
- package/esm2022/filter/filter-panel/filter-panel.component.mjs +61 -59
- package/esm2022/input/directives/input/input.directive.mjs +22 -26
- package/esm2022/input/mis-input.component.mjs +42 -46
- package/esm2022/input-stepper/input-stepper/input-stepper.component.mjs +42 -52
- package/esm2022/loader/loader.component.mjs +8 -11
- package/esm2022/mobile-filter/mobile-filter.component.mjs +62 -62
- package/esm2022/modal/module-wrapper/module-wrapper.component.mjs +11 -9
- package/esm2022/multi-select-dropdown/multi-select-dropdown.component.mjs +235 -281
- package/esm2022/nested-multi-select-dropdown/nested-multi-select-dropdown.component.mjs +250 -287
- package/esm2022/phone-input/phone-input.component.mjs +21 -43
- package/esm2022/public-api.mjs +1 -1
- package/esm2022/radio-button/radio-button.component.mjs +15 -27
- package/esm2022/ske-loader/ske-loader.component.mjs +15 -29
- package/esm2022/slider/slider.component.mjs +23 -33
- package/esm2022/slider/slider.module.mjs +4 -11
- package/esm2022/snackbar/snackbar/snackbar.component.mjs +21 -15
- package/esm2022/snackbar/snackbar.service.mjs +3 -2
- package/esm2022/specificdatepicker/tz-sdp-container/tz-sdp-container.component.mjs +231 -344
- package/esm2022/specificdatepicker/tz-specificdatepicker.directive.mjs +77 -105
- package/esm2022/star-rating/star-rating.component.mjs +58 -72
- package/esm2022/switch/switch.component.mjs +34 -36
- package/esm2022/table/actions-cell/actions-cell.component.mjs +56 -55
- package/esm2022/table/custom-table-cell.directive.mjs +22 -18
- package/esm2022/table/filter/filter.component.mjs +60 -42
- package/esm2022/table/sort-icons.directive.mjs +16 -8
- package/esm2022/table/sub-table/sub-table.component.mjs +42 -45
- package/esm2022/table/table.component.mjs +182 -166
- package/esm2022/timepicker/timepicker.component.mjs +245 -160
- package/esm2022/timepicker/timepicker.directive.mjs +3 -2
- package/esm2022/timerangepicker/timerangepicker.component.mjs +200 -159
- package/esm2022/toast/toast.component.mjs +7 -8
- package/esm2022/toast/toast.data.service.mjs +15 -9
- package/esm2022/tooltip/tooltip-container/tooltip.component.mjs +12 -12
- package/esm2022/tooltip/tooltip.directive.mjs +4 -4
- package/esm2022/virtual-scroll/virtual-scroll.component.mjs +57 -59
- package/fab/fab.component.d.ts +12 -8
- package/fesm2022/mis-crystal-design-system-action-list.mjs +112 -89
- package/fesm2022/mis-crystal-design-system-action-list.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs +254 -325
- package/fesm2022/mis-crystal-design-system-async-search-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-button.mjs +89 -86
- package/fesm2022/mis-crystal-design-system-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-checkbox.mjs +74 -69
- package/fesm2022/mis-crystal-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-chip.mjs +19 -32
- package/fesm2022/mis-crystal-design-system-chip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs +243 -241
- package/fesm2022/mis-crystal-design-system-datepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs +306 -284
- package/fesm2022/mis-crystal-design-system-daterangepicker_v2.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-drawer.mjs +7 -6
- package/fesm2022/mis-crystal-design-system-drawer.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dropdown.mjs +184 -205
- package/fesm2022/mis-crystal-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs +119 -73
- package/fesm2022/mis-crystal-design-system-dynamic-form.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-fab.mjs +29 -33
- package/fesm2022/mis-crystal-design-system-fab.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-filter.mjs +60 -58
- package/fesm2022/mis-crystal-design-system-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs +41 -51
- package/fesm2022/mis-crystal-design-system-input-stepper.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-input.mjs +62 -71
- package/fesm2022/mis-crystal-design-system-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-loader.mjs +7 -10
- package/fesm2022/mis-crystal-design-system-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs +61 -61
- package/fesm2022/mis-crystal-design-system-mobile-filter.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-modal.mjs +10 -8
- package/fesm2022/mis-crystal-design-system-modal.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs +233 -279
- package/fesm2022/mis-crystal-design-system-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs +249 -286
- package/fesm2022/mis-crystal-design-system-nested-multi-select-dropdown.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-phone-input.mjs +20 -42
- package/fesm2022/mis-crystal-design-system-phone-input.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-radio-button.mjs +14 -26
- package/fesm2022/mis-crystal-design-system-radio-button.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs +14 -28
- package/fesm2022/mis-crystal-design-system-ske-loader.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-slider.mjs +25 -42
- package/fesm2022/mis-crystal-design-system-slider.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-snackbar.mjs +22 -15
- package/fesm2022/mis-crystal-design-system-snackbar.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs +305 -446
- package/fesm2022/mis-crystal-design-system-specificdatepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-star-rating.mjs +57 -71
- package/fesm2022/mis-crystal-design-system-star-rating.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-switch.mjs +33 -35
- package/fesm2022/mis-crystal-design-system-switch.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-table.mjs +368 -324
- package/fesm2022/mis-crystal-design-system-table.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timepicker.mjs +246 -160
- package/fesm2022/mis-crystal-design-system-timepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs +199 -158
- package/fesm2022/mis-crystal-design-system-timerangepicker.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-toast.mjs +19 -14
- package/fesm2022/mis-crystal-design-system-toast.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-tooltip.mjs +14 -14
- package/fesm2022/mis-crystal-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs +57 -59
- package/fesm2022/mis-crystal-design-system-virtual-scroll.mjs.map +1 -1
- package/fesm2022/mis-crystal-design-system.mjs.map +1 -1
- package/filter/filter-panel/filter-panel.component.d.ts +14 -14
- package/input/directives/input/input.directive.d.ts +6 -10
- package/input/mis-input.component.d.ts +12 -13
- package/input-stepper/input-stepper/input-stepper.component.d.ts +8 -7
- package/loader/loader.component.d.ts +3 -6
- package/mobile-filter/mobile-filter.component.d.ts +15 -15
- package/modal/module-wrapper/module-wrapper.component.d.ts +2 -3
- package/multi-select-dropdown/multi-select-dropdown.component.d.ts +89 -51
- package/nested-multi-select-dropdown/nested-multi-select-dropdown.component.d.ts +99 -56
- package/package.json +7 -13
- package/phone-input/phone-input.component.d.ts +16 -18
- package/radio-button/radio-button.component.d.ts +9 -11
- package/ske-loader/ske-loader.component.d.ts +8 -11
- package/slider/slider.component.d.ts +8 -11
- package/slider/slider.module.d.ts +1 -2
- package/snackbar/snackbar/snackbar.component.d.ts +3 -3
- package/specificdatepicker/tz-sdp-container/tz-sdp-container.component.d.ts +35 -35
- package/specificdatepicker/tz-specificdatepicker.directive.d.ts +24 -28
- package/star-rating/star-rating.component.d.ts +18 -18
- package/switch/switch.component.d.ts +8 -10
- package/table/actions-cell/actions-cell.component.d.ts +14 -14
- package/table/custom-table-cell.directive.d.ts +3 -3
- package/table/filter/filter.component.d.ts +9 -9
- package/table/sub-table/sub-table.component.d.ts +5 -5
- package/table/table.component.d.ts +38 -35
- package/timepicker/timepicker.component.d.ts +29 -28
- package/timerangepicker/timerangepicker.component.d.ts +36 -33
- package/toast/toast.data.service.d.ts +1 -1
- package/tooltip/tooltip-container/tooltip.component.d.ts +4 -4
- package/virtual-scroll/virtual-scroll.component.d.ts +8 -9
- package/button/button.directive.scss +0 -71
- package/drawer/drawer.scss +0 -20
- package/dynamic-theme/branding.types.d.ts +0 -84
- package/dynamic-theme/dynamic-theme.module.d.ts +0 -9
- package/dynamic-theme/dynamic-theme.service.d.ts +0 -89
- package/dynamic-theme/index.d.ts +0 -1
- package/dynamic-theme/public_api.d.ts +0 -3
- package/esm2022/dynamic-theme/branding.types.mjs +0 -93
- package/esm2022/dynamic-theme/dynamic-theme.module.mjs +0 -25
- package/esm2022/dynamic-theme/dynamic-theme.service.mjs +0 -193
- package/esm2022/dynamic-theme/index.mjs +0 -2
- package/esm2022/dynamic-theme/mis-crystal-design-system-dynamic-theme.mjs +0 -5
- package/esm2022/dynamic-theme/public_api.mjs +0 -4
- package/fesm2022/mis-crystal-design-system-dynamic-theme.mjs +0 -313
- package/fesm2022/mis-crystal-design-system-dynamic-theme.mjs.map +0 -1
- package/input/mis-input.component.scss +0 -180
- package/modal/modal.scss +0 -9
- package/styles/fonts/icomoon.eot +0 -0
- package/styles/fonts/icomoon.svg +0 -315
- package/styles/fonts/icomoon.ttf +0 -0
- package/styles/fonts/icomoon.woff +0 -0
- package/styles/mis-borders-backgrounds.scss +0 -764
- package/styles/mis-color-constants.scss +0 -353
- package/styles/mis-flex.scss +0 -321
- package/styles/mis-fonts.scss +0 -124
- package/styles/mis-icons.scss +0 -1054
- package/styles/mis-mixins.scss +0 -46
- package/styles/mis-old-icon-styles.scss +0 -498
- package/styles/mis-spacing-sizing.scss +0 -2590
- package/styles/mis-typography.scss +0 -462
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** @format */
|
|
2
2
|
import { trigger, transition, style, animate } from "@angular/animations";
|
|
3
3
|
import { ComponentPortal, PortalInjector } from "@angular/cdk/portal";
|
|
4
|
-
import { Component, ViewChild, ViewContainerRef } from "@angular/core";
|
|
4
|
+
import { Component, ViewChild, ViewContainerRef, ChangeDetectionStrategy, signal } from "@angular/core";
|
|
5
5
|
import { DrawerRef } from "../drawer-ref";
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "@angular/cdk/portal";
|
|
@@ -10,12 +10,13 @@ function DrawerBodyComponent_ng_template_2_Template(rf, ctx) { }
|
|
|
10
10
|
export class DrawerBodyComponent {
|
|
11
11
|
constructor(cfr) {
|
|
12
12
|
this.cfr = cfr;
|
|
13
|
+
this.drawerPortal = signal(null);
|
|
13
14
|
}
|
|
14
15
|
bindComponent(type, injector) {
|
|
15
16
|
this.initComponent(type, injector);
|
|
16
17
|
}
|
|
17
18
|
initComponent(type, injector) {
|
|
18
|
-
this.drawerPortal
|
|
19
|
+
this.drawerPortal.set(new ComponentPortal(type, this.place, injector));
|
|
19
20
|
}
|
|
20
21
|
createInjector(ref, inj) {
|
|
21
22
|
const injectorTokens = new WeakMap([[DrawerRef, ref]]);
|
|
@@ -35,25 +36,25 @@ export class DrawerBodyComponent {
|
|
|
35
36
|
} if (rf & 2) {
|
|
36
37
|
i0.ɵɵproperty("@slideInOut", undefined);
|
|
37
38
|
i0.ɵɵadvance(2);
|
|
38
|
-
i0.ɵɵproperty("cdkPortalOutlet", ctx.drawerPortal);
|
|
39
|
+
i0.ɵɵproperty("cdkPortalOutlet", ctx.drawerPortal());
|
|
39
40
|
} }, dependencies: [i1.CdkPortalOutlet], styles: [".mis-drawer-body[_ngcontent-%COMP%]{display:block;width:100%;height:100%}"], data: { animation: [
|
|
40
41
|
trigger("slideInOut", [
|
|
41
42
|
transition(":enter", [style({ transform: "translateX(100%)" }), animate("200ms ease-out", style({ transform: "translateX(0%)" }))]),
|
|
42
43
|
transition(":leave", [animate("200ms ease-out", style({ transform: "translateX(100%)" }))])
|
|
43
44
|
])
|
|
44
|
-
] } }); }
|
|
45
|
+
] }, changeDetection: 0 }); }
|
|
45
46
|
}
|
|
46
47
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(DrawerBodyComponent, [{
|
|
47
48
|
type: Component,
|
|
48
|
-
args: [{ selector: "mis-drawer-body", animations: [
|
|
49
|
+
args: [{ selector: "mis-drawer-body", changeDetection: ChangeDetectionStrategy.OnPush, animations: [
|
|
49
50
|
trigger("slideInOut", [
|
|
50
51
|
transition(":enter", [style({ transform: "translateX(100%)" }), animate("200ms ease-out", style({ transform: "translateX(0%)" }))]),
|
|
51
52
|
transition(":leave", [animate("200ms ease-out", style({ transform: "translateX(100%)" }))])
|
|
52
53
|
])
|
|
53
|
-
], template: "<!-- @format -->\n\n<div class=\"mis-drawer-body\" #place @slideInOut>\n <ng-template [cdkPortalOutlet]=\"drawerPortal\"></ng-template>\n</div>\n", styles: [".mis-drawer-body{display:block;width:100%;height:100%}\n"] }]
|
|
54
|
+
], template: "<!-- @format -->\n\n<div class=\"mis-drawer-body\" #place @slideInOut>\n <ng-template [cdkPortalOutlet]=\"drawerPortal()\"></ng-template>\n</div>\n", styles: [".mis-drawer-body{display:block;width:100%;height:100%}\n"] }]
|
|
54
55
|
}], () => [{ type: i0.ComponentFactoryResolver }], { place: [{
|
|
55
56
|
type: ViewChild,
|
|
56
57
|
args: ["place", { static: false, read: ViewContainerRef }]
|
|
57
58
|
}] }); })();
|
|
58
59
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(DrawerBodyComponent, { className: "DrawerBodyComponent" }); })();
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJhd2VyLWJvZHkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJhd2VyL2RyYXdlci1ib2R5L2RyYXdlci1ib2R5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RyYXdlci9kcmF3ZXItYm9keS9kcmF3ZXItYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjO0FBRWQsT0FBTyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFNBQVMsRUFBOEMsU0FBUyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLE1BQU0sRUFBMEIsTUFBTSxlQUFlLENBQUM7QUFDNUssT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFjMUMsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixZQUFvQixHQUE2QjtRQUE3QixRQUFHLEdBQUgsR0FBRyxDQUEwQjtRQUZqRCxpQkFBWSxHQUFnRCxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7SUFFckIsQ0FBQztJQUlyRCxhQUFhLENBQUMsSUFBUyxFQUFFLFFBQXdCO1FBQy9DLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFTyxhQUFhLENBQUMsSUFBUyxFQUFFLFFBQXdCO1FBQ3ZELElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksZUFBZSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVPLGNBQWMsQ0FBQyxHQUFjLEVBQUUsR0FBYTtRQUNsRCxNQUFNLGNBQWMsR0FBRyxJQUFJLE9BQU8sQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN2RCxPQUFPLElBQUksY0FBYyxDQUFDLEdBQUcsRUFBRSxjQUFjLENBQUMsQ0FBQztRQUMvQyx1RkFBdUY7SUFDekYsQ0FBQztvSEFuQlUsbUJBQW1CO29FQUFuQixtQkFBbUI7bUNBS2EsZ0JBQWdCOzs7OztZQ3RCN0QsaUNBQWdEO1lBQzlDLG9GQUFnRDtZQUNsRCxpQkFBTTs7WUFGOEIsdUNBQVc7WUFDaEMsZUFBa0M7WUFBbEMsb0RBQWtDOzJKRFNuQztnQkFDVixPQUFPLENBQUMsWUFBWSxFQUFFO29CQUNwQixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ25JLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUM7aUJBQzVGLENBQUM7YUFDSDs7aUZBRVUsbUJBQW1CO2NBWi9CLFNBQVM7MkJBQ0UsaUJBQWlCLG1CQUdWLHVCQUF1QixDQUFDLE1BQU0sY0FDbkM7b0JBQ1YsT0FBTyxDQUFDLFlBQVksRUFBRTt3QkFDcEIsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3dCQUNuSSxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO3FCQUM1RixDQUFDO2lCQUNIO3lEQU84RCxLQUFLO2tCQUFuRSxTQUFTO21CQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFLGdCQUFnQixFQUFFOztrRkFMbEQsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBmb3JtYXQgKi9cblxuaW1wb3J0IHsgdHJpZ2dlciwgdHJhbnNpdGlvbiwgc3R5bGUsIGFuaW1hdGUgfSBmcm9tIFwiQGFuZ3VsYXIvYW5pbWF0aW9uc1wiO1xuaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gXCJAYW5ndWxhci9jZGsvcG9ydGFsXCI7XG5pbXBvcnQgeyBDb21wb25lbnQsIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgSW5qZWN0b3IsIE9uSW5pdCwgVmlld0NoaWxkLCBWaWV3Q29udGFpbmVyUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgc2lnbmFsLCBTaWduYWwsIFdyaXRhYmxlU2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IERyYXdlclJlZiB9IGZyb20gXCIuLi9kcmF3ZXItcmVmXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtZHJhd2VyLWJvZHlcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9kcmF3ZXItYm9keS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vZHJhd2VyLWJvZHkuY29tcG9uZW50LnNjc3NcIl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcihcInNsaWRlSW5PdXRcIiwgW1xuICAgICAgdHJhbnNpdGlvbihcIjplbnRlclwiLCBbc3R5bGUoeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgxMDAlKVwiIH0pLCBhbmltYXRlKFwiMjAwbXMgZWFzZS1vdXRcIiwgc3R5bGUoeyB0cmFuc2Zvcm06IFwidHJhbnNsYXRlWCgwJSlcIiB9KSldKSxcbiAgICAgIHRyYW5zaXRpb24oXCI6bGVhdmVcIiwgW2FuaW1hdGUoXCIyMDBtcyBlYXNlLW91dFwiLCBzdHlsZSh7IHRyYW5zZm9ybTogXCJ0cmFuc2xhdGVYKDEwMCUpXCIgfSkpXSlcbiAgICBdKVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERyYXdlckJvZHlDb21wb25lbnQge1xuICBkcmF3ZXJQb3J0YWw6IFdyaXRhYmxlU2lnbmFsPENvbXBvbmVudFBvcnRhbDxhbnk+IHwgbnVsbD4gPSBzaWduYWwobnVsbCk7XG4gIFxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNmcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyKSB7fVxuXG4gIEBWaWV3Q2hpbGQoXCJwbGFjZVwiLCB7IHN0YXRpYzogZmFsc2UsIHJlYWQ6IFZpZXdDb250YWluZXJSZWYgfSkgcGxhY2U6IFZpZXdDb250YWluZXJSZWY7XG5cbiAgYmluZENvbXBvbmVudCh0eXBlOiBhbnksIGluamVjdG9yOiBQb3J0YWxJbmplY3Rvcikge1xuICAgIHRoaXMuaW5pdENvbXBvbmVudCh0eXBlLCBpbmplY3Rvcik7XG4gIH1cblxuICBwcml2YXRlIGluaXRDb21wb25lbnQodHlwZTogYW55LCBpbmplY3RvcjogUG9ydGFsSW5qZWN0b3IpIHtcbiAgICB0aGlzLmRyYXdlclBvcnRhbC5zZXQobmV3IENvbXBvbmVudFBvcnRhbCh0eXBlLCB0aGlzLnBsYWNlLCBpbmplY3RvcikpO1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVJbmplY3RvcihyZWY6IERyYXdlclJlZiwgaW5qOiBJbmplY3Rvcik6IFBvcnRhbEluamVjdG9yIHtcbiAgICBjb25zdCBpbmplY3RvclRva2VucyA9IG5ldyBXZWFrTWFwKFtbRHJhd2VyUmVmLCByZWZdXSk7XG4gICAgcmV0dXJuIG5ldyBQb3J0YWxJbmplY3RvcihpbmosIGluamVjdG9yVG9rZW5zKTtcbiAgICAvLyByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHsgcHJvdmlkZXJzOiBbeyBwcm92aWRlOiBpbmosIHVzZVZhbHVlOiBpbmplY3RvclRva2VucyB9XSB9KTtcbiAgfVxufVxuIiwiPCEtLSBAZm9ybWF0IC0tPlxuXG48ZGl2IGNsYXNzPVwibWlzLWRyYXdlci1ib2R5XCIgI3BsYWNlIEBzbGlkZUluT3V0PlxuICA8bmctdGVtcGxhdGUgW2Nka1BvcnRhbE91dGxldF09XCJkcmF3ZXJQb3J0YWwoKVwiPjwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,41 +1,44 @@
|
|
|
1
|
-
import { Directive,
|
|
1
|
+
import { computed, Directive, effect, ElementRef, inject, input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class CalculateContainerHeightDirective {
|
|
4
|
-
constructor(
|
|
5
|
-
this.
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
4
|
+
constructor() {
|
|
5
|
+
this.items = input([]);
|
|
6
|
+
this.visibleItems = input(10);
|
|
7
|
+
this.el = inject(ElementRef);
|
|
8
|
+
this.itemHeight = computed(() => {
|
|
9
|
+
const firstItemElement = this.el.nativeElement.querySelector('.item');
|
|
10
|
+
return firstItemElement ? firstItemElement.getBoundingClientRect().height : 0;
|
|
11
|
+
});
|
|
12
|
+
this.heightEffect = effect(() => {
|
|
9
13
|
this.setContainerHeight();
|
|
10
|
-
}
|
|
14
|
+
});
|
|
11
15
|
}
|
|
12
16
|
setContainerHeight() {
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
17
|
+
const firstItemHeight = this.itemHeight();
|
|
18
|
+
const numberOfItems = this.items()?.length || 0;
|
|
19
|
+
if (firstItemHeight === 0) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
16
22
|
let containerHeight = 0;
|
|
17
|
-
|
|
18
|
-
|
|
23
|
+
const maxScrollHeight = 200;
|
|
24
|
+
if (firstItemHeight * numberOfItems > maxScrollHeight) {
|
|
25
|
+
containerHeight = maxScrollHeight;
|
|
19
26
|
}
|
|
20
|
-
else if (numberOfItems <= this.visibleItems) {
|
|
27
|
+
else if (numberOfItems <= this.visibleItems()) {
|
|
21
28
|
containerHeight = firstItemHeight * numberOfItems;
|
|
22
29
|
}
|
|
23
30
|
else {
|
|
24
|
-
containerHeight = firstItemHeight * this.visibleItems;
|
|
31
|
+
containerHeight = firstItemHeight * this.visibleItems();
|
|
25
32
|
}
|
|
26
33
|
this.el.nativeElement.style.height = `${containerHeight}px`;
|
|
27
34
|
}
|
|
28
|
-
static { this.ɵfac = function CalculateContainerHeightDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalculateContainerHeightDirective)(
|
|
29
|
-
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: CalculateContainerHeightDirective, selectors: [["", "calculateContainerHeight", ""]], inputs: { items: "items", visibleItems: "visibleItems" } }); }
|
|
35
|
+
static { this.ɵfac = function CalculateContainerHeightDirective_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || CalculateContainerHeightDirective)(); }; }
|
|
36
|
+
static { this.ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: CalculateContainerHeightDirective, selectors: [["", "calculateContainerHeight", ""]], inputs: { items: [1, "items"], visibleItems: [1, "visibleItems"] } }); }
|
|
30
37
|
}
|
|
31
38
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CalculateContainerHeightDirective, [{
|
|
32
39
|
type: Directive,
|
|
33
40
|
args: [{
|
|
34
41
|
selector: '[calculateContainerHeight]'
|
|
35
42
|
}]
|
|
36
|
-
}],
|
|
37
|
-
|
|
38
|
-
}], visibleItems: [{
|
|
39
|
-
type: Input
|
|
40
|
-
}] }); })();
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbnRhaW5lci1oZWlnaHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vY2FsY3VsYXRlLWNvbnRhaW5lci1oZWlnaHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsU0FBUyxFQUFjLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFLNUUsTUFBTSxPQUFPLGlDQUFpQztJQUk1QyxZQUFvQixFQUFjO1FBQWQsT0FBRSxHQUFGLEVBQUUsQ0FBWTtJQUNsQyxDQUFDO0lBRUQsZUFBZTtRQUNiLFVBQVUsQ0FBQyxHQUFHLEVBQUU7WUFDZCxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDLEVBQUMsR0FBRyxDQUFDLENBQUM7SUFDVCxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sZUFBZSxHQUFHLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUEsQ0FBQyxDQUFDO1FBQzlGLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFFekQsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLElBQUksZUFBZSxHQUFHLGFBQWEsR0FBRyxHQUFHLEVBQUUsQ0FBQztZQUMxQyxlQUFlLEdBQUcsR0FBRyxDQUFDO1FBQ3hCLENBQUM7YUFBTSxJQUFJLGFBQWEsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDOUMsZUFBZSxHQUFHLGVBQWUsR0FBRyxhQUFhLENBQUM7UUFDcEQsQ0FBQzthQUFNLENBQUM7WUFDTixlQUFlLEdBQUcsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDeEQsQ0FBQztRQUVELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsR0FBRyxlQUFlLElBQUksQ0FBQztJQUM5RCxDQUFDO2tJQTVCVSxpQ0FBaUM7b0VBQWpDLGlDQUFpQzs7aUZBQWpDLGlDQUFpQztjQUg3QyxTQUFTO2VBQUM7Z0JBQ1QsUUFBUSxFQUFFLDRCQUE0QjthQUN2QzsyQ0FFVSxLQUFLO2tCQUFiLEtBQUs7WUFDRyxZQUFZO2tCQUFwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2FsY3VsYXRlQ29udGFpbmVySGVpZ2h0XSdcbn0pXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29udGFpbmVySGVpZ2h0RGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdHtcbiAgQElucHV0KCkgaXRlbXM6IGFueVtdO1xuICBASW5wdXQoKSB2aXNpYmxlSXRlbXM6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmKSB7XG4gIH1cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLnNldENvbnRhaW5lckhlaWdodCgpO1xuICAgIH0sMjAwKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0Q29udGFpbmVySGVpZ2h0KCkge1xuICAgIGNvbnN0IGZpcnN0SXRlbUVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLml0ZW0nKTtcbiAgICBjb25zdCBmaXJzdEl0ZW1IZWlnaHQgPSBmaXJzdEl0ZW1FbGVtZW50ID8gZmlyc3RJdGVtRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS5oZWlnaHQgOjA7XG4gICAgY29uc3QgbnVtYmVyT2ZJdGVtcyA9IHRoaXMuaXRlbXMgPyB0aGlzLml0ZW1zLmxlbmd0aCA6IDA7XG4gICAgICAgICAgICAgIFxuICAgIGxldCBjb250YWluZXJIZWlnaHQgPSAwO1xuICAgIGlmIChmaXJzdEl0ZW1IZWlnaHQgKiBudW1iZXJPZkl0ZW1zID4gMjAwKSB7XG4gICAgICBjb250YWluZXJIZWlnaHQgPSAyMDA7XG4gICAgfSBlbHNlIGlmIChudW1iZXJPZkl0ZW1zIDw9IHRoaXMudmlzaWJsZUl0ZW1zKSB7XG4gICAgICBjb250YWluZXJIZWlnaHQgPSBmaXJzdEl0ZW1IZWlnaHQgKiBudW1iZXJPZkl0ZW1zO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250YWluZXJIZWlnaHQgPSBmaXJzdEl0ZW1IZWlnaHQgKiB0aGlzLnZpc2libGVJdGVtcztcbiAgICB9XG5cbiAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuc3R5bGUuaGVpZ2h0ID0gYCR7Y29udGFpbmVySGVpZ2h0fXB4YDtcbiAgfVxuXG59XG4iXX0=
|
|
43
|
+
}], null, null); })();
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsY3VsYXRlLWNvbnRhaW5lci1oZWlnaHQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvZHJvcGRvd24vY2FsY3VsYXRlLWNvbnRhaW5lci1oZWlnaHQuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUIsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVMsTUFBTSxlQUFlLENBQUM7O0FBSzdHLE1BQU0sT0FBTyxpQ0FBaUM7SUFIOUM7UUFJUyxVQUFLLEdBQUcsS0FBSyxDQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLGlCQUFZLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBRXZCLE9BQUUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFakMsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDdEUsT0FBTyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixDQUFDLENBQUMsQ0FBQztRQUVLLGlCQUFZLEdBQUcsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNqQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztLQXVCSjtJQXJCUyxrQkFBa0I7UUFDeEIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQzFDLE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO1FBRWhELElBQUksZUFBZSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQzFCLE9BQU87UUFDVCxDQUFDO1FBRUQsSUFBSSxlQUFlLEdBQUcsQ0FBQyxDQUFDO1FBQ3hCLE1BQU0sZUFBZSxHQUFHLEdBQUcsQ0FBQztRQUU1QixJQUFJLGVBQWUsR0FBRyxhQUFhLEdBQUcsZUFBZSxFQUFFLENBQUM7WUFDdEQsZUFBZSxHQUFHLGVBQWUsQ0FBQztRQUNwQyxDQUFDO2FBQU0sSUFBSSxhQUFhLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFFLENBQUM7WUFDaEQsZUFBZSxHQUFHLGVBQWUsR0FBRyxhQUFhLENBQUM7UUFDcEQsQ0FBQzthQUFNLENBQUM7WUFDTixlQUFlLEdBQUcsZUFBZSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUMxRCxDQUFDO1FBRUQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE1BQU0sR0FBRyxHQUFHLGVBQWUsSUFBSSxDQUFDO0lBQzlELENBQUM7a0lBbkNVLGlDQUFpQztvRUFBakMsaUNBQWlDOztpRkFBakMsaUNBQWlDO2NBSDdDLFNBQVM7ZUFBQztnQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2FBQ3ZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbY2FsY3VsYXRlQ29udGFpbmVySGVpZ2h0XSdcbn0pXG5leHBvcnQgY2xhc3MgQ2FsY3VsYXRlQ29udGFpbmVySGVpZ2h0RGlyZWN0aXZlIHtcbiAgcHVibGljIGl0ZW1zID0gaW5wdXQ8YW55W10+KFtdKTtcbiAgcHVibGljIHZpc2libGVJdGVtcyA9IGlucHV0PG51bWJlcj4oMTApO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgZWwgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcHJpdmF0ZSBpdGVtSGVpZ2h0ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGZpcnN0SXRlbUVsZW1lbnQgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLml0ZW0nKTtcbiAgICByZXR1cm4gZmlyc3RJdGVtRWxlbWVudCA/IGZpcnN0SXRlbUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkuaGVpZ2h0IDogMDtcbiAgfSk7XG5cbiAgcHJpdmF0ZSBoZWlnaHRFZmZlY3QgPSBlZmZlY3QoKCkgPT4ge1xuICAgIHRoaXMuc2V0Q29udGFpbmVySGVpZ2h0KCk7XG4gIH0pO1xuXG4gIHByaXZhdGUgc2V0Q29udGFpbmVySGVpZ2h0KCkge1xuICAgIGNvbnN0IGZpcnN0SXRlbUhlaWdodCA9IHRoaXMuaXRlbUhlaWdodCgpO1xuICAgIGNvbnN0IG51bWJlck9mSXRlbXMgPSB0aGlzLml0ZW1zKCk/Lmxlbmd0aCB8fCAwO1xuICAgIFxuICAgIGlmIChmaXJzdEl0ZW1IZWlnaHQgPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgY29udGFpbmVySGVpZ2h0ID0gMDtcbiAgICBjb25zdCBtYXhTY3JvbGxIZWlnaHQgPSAyMDA7XG5cbiAgICBpZiAoZmlyc3RJdGVtSGVpZ2h0ICogbnVtYmVyT2ZJdGVtcyA+IG1heFNjcm9sbEhlaWdodCkge1xuICAgICAgY29udGFpbmVySGVpZ2h0ID0gbWF4U2Nyb2xsSGVpZ2h0O1xuICAgIH0gZWxzZSBpZiAobnVtYmVyT2ZJdGVtcyA8PSB0aGlzLnZpc2libGVJdGVtcygpKSB7XG4gICAgICBjb250YWluZXJIZWlnaHQgPSBmaXJzdEl0ZW1IZWlnaHQgKiBudW1iZXJPZkl0ZW1zO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb250YWluZXJIZWlnaHQgPSBmaXJzdEl0ZW1IZWlnaHQgKiB0aGlzLnZpc2libGVJdGVtcygpO1xuICAgIH1cblxuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5oZWlnaHQgPSBgJHtjb250YWluZXJIZWlnaHR9cHhgO1xuICB9XG59XG5cbiJdfQ==
|