@mintplayer/ng-bootstrap 13.1.10 → 13.1.15
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/_bootstrap.scss +14 -0
- package/esm2020/lib/components/accordion/accordion/accordion.component.mjs +2 -4
- package/esm2020/lib/components/accordion/accordion-tab/accordion-tab.component.mjs +1 -11
- package/esm2020/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.mjs +3 -8
- package/esm2020/lib/components/accordion/accordion.module.mjs +4 -8
- package/esm2020/lib/components/alert/alert/alert.component.mjs +2 -4
- package/esm2020/lib/components/alert/alert-close/alert-close.component.mjs +1 -3
- package/esm2020/lib/components/calendar/calendar.component.mjs +16 -15
- package/esm2020/lib/components/card/card/card.component.mjs +4 -10
- package/esm2020/lib/components/card/card-header/card-header.component.mjs +2 -6
- package/esm2020/lib/components/carousel/carousel/carousel.component.mjs +9 -7
- package/esm2020/lib/components/carousel/carousel-image/carousel-image.directive.mjs +1 -1
- package/esm2020/lib/components/code-snippet/code-snippet.component.mjs +28 -0
- package/esm2020/lib/components/code-snippet/code-snippet.module.mjs +34 -0
- package/esm2020/lib/components/code-snippet/index.mjs +3 -0
- package/esm2020/lib/components/context-menu/context-menu.directive.mjs +34 -14
- package/esm2020/lib/components/context-menu/context-menu.module.mjs +8 -4
- package/esm2020/lib/components/copy/copy.directive.mjs +45 -0
- package/esm2020/lib/components/copy/copy.module.mjs +26 -0
- package/esm2020/lib/components/copy/index.mjs +3 -0
- package/esm2020/lib/components/datatable/datatable/datatable.component.mjs +6 -8
- package/esm2020/lib/components/datatable/datatable-settings.mjs +1 -1
- package/esm2020/lib/components/datatable/datatable.module.mjs +1 -1
- package/esm2020/lib/components/datatable/row-template/row-template.directive.mjs +3 -3
- package/esm2020/lib/components/datepicker/datepicker.component.mjs +32 -7
- package/esm2020/lib/components/dropdown/dropdown/dropdown.directive.mjs +10 -3
- package/esm2020/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.mjs +14 -16
- package/esm2020/lib/components/file-upload/component/file-upload.component.mjs +85 -0
- package/esm2020/lib/components/file-upload/directive/file-upload-template.directive.mjs +18 -0
- package/esm2020/lib/components/file-upload/file-upload.mjs +2 -0
- package/esm2020/lib/components/file-upload/file-upload.module.mjs +43 -0
- package/esm2020/lib/components/file-upload/index.mjs +5 -0
- package/esm2020/lib/components/for/for.directive.mjs +38 -0
- package/esm2020/lib/components/for/for.module.mjs +26 -0
- package/esm2020/lib/components/for/index.mjs +3 -0
- package/esm2020/lib/components/index.mjs +7 -1
- package/esm2020/lib/components/modal/component/index.mjs +3 -0
- package/esm2020/lib/components/modal/component/modal/modal.component.mjs +13 -0
- package/esm2020/lib/components/modal/component/modal-content/modal-content.component.mjs +27 -0
- package/esm2020/lib/components/modal/directives/index.mjs +4 -0
- package/esm2020/lib/components/modal/directives/modal-body/modal-body.directive.mjs +18 -0
- package/esm2020/lib/components/modal/directives/modal-footer/modal-footer.directive.mjs +18 -0
- package/esm2020/lib/components/modal/directives/modal-header/modal-header.directive.mjs +18 -0
- package/esm2020/lib/components/modal/index.mjs +5 -0
- package/esm2020/lib/components/modal/interfaces/index.mjs +2 -0
- package/esm2020/lib/components/modal/interfaces/modal-animation-meta.mjs +2 -0
- package/esm2020/lib/components/modal/modal.module.mjs +48 -0
- package/esm2020/lib/components/modal/providers/modal-content.provider.mjs +3 -0
- package/esm2020/lib/components/modal/service/modal.service.mjs +52 -0
- package/esm2020/lib/components/multiselect/component/multiselect.component.mjs +34 -0
- package/esm2020/lib/components/multiselect/directives/button-template/button-template.directive.mjs +18 -0
- package/esm2020/lib/components/multiselect/directives/footer-template/footer-template.directive.mjs +18 -0
- package/esm2020/lib/components/multiselect/directives/header-template/header-template.directive.mjs +18 -0
- package/esm2020/lib/components/multiselect/directives/index.mjs +4 -0
- package/esm2020/lib/components/multiselect/index.mjs +3 -2
- package/esm2020/lib/components/multiselect/multiselect.module.mjs +21 -6
- package/esm2020/lib/components/navbar/index.mjs +2 -1
- package/esm2020/lib/components/navbar/navbar/navbar.component.mjs +3 -3
- package/esm2020/lib/components/navbar/navbar-brand/navbar-brand.component.mjs +18 -0
- package/esm2020/lib/components/navbar/navbar-dropdown/navbar-dropdown.component.mjs +7 -6
- package/esm2020/lib/components/navbar/navbar-item/navbar-item.component.mjs +16 -5
- package/esm2020/lib/components/navbar/navbar-nav/navbar-nav.component.mjs +1 -1
- package/esm2020/lib/components/navbar/navbar.module.mjs +10 -5
- package/esm2020/lib/components/pagination/pagination/pagination.component.mjs +88 -71
- package/esm2020/lib/components/rating/index.mjs +3 -0
- package/esm2020/lib/components/rating/rating.component.mjs +72 -0
- package/esm2020/lib/components/rating/rating.module.mjs +26 -0
- package/esm2020/lib/components/scrollspy/component/scrollspy.component.mjs +30 -6
- package/esm2020/lib/components/select2/component/select2.component.mjs +7 -9
- package/esm2020/lib/components/select2/directive/item-template.directive.mjs +1 -2
- package/esm2020/lib/components/snackbar/component/snackbar.component.mjs +1 -1
- package/esm2020/lib/components/snackbar/service/snackbar.service.mjs +4 -4
- package/esm2020/lib/components/snackbar/snackbar.module.mjs +8 -4
- package/esm2020/lib/components/tab-control/tab-control/tab-control.component.mjs +8 -7
- package/esm2020/lib/components/tab-control/tab-page/tab-page.component.mjs +4 -6
- package/esm2020/lib/components/toggle-button/toggle-button.component.mjs +19 -15
- package/esm2020/lib/components/tooltip/directive/tooltip.directive.mjs +9 -3
- package/esm2020/lib/components/tooltip/tooltip.module.mjs +8 -4
- package/esm2020/lib/interfaces/date-day-of-month.mjs +1 -1
- package/esm2020/lib/interfaces/index.mjs +2 -1
- package/esm2020/lib/interfaces/week.mjs +1 -1
- package/esm2020/lib/interfaces/weekday.mjs +2 -0
- package/esm2020/lib/pipes/format-bytes/format-bytes.module.mjs +26 -0
- package/esm2020/lib/pipes/format-bytes/format-bytes.pipe.mjs +23 -0
- package/esm2020/lib/pipes/format-bytes/index.mjs +3 -0
- package/esm2020/lib/pipes/index.mjs +2 -1
- package/esm2020/lib/services/calendar-month/calendar-month.service.mjs +34 -18
- package/fesm2015/mintplayer-ng-bootstrap.mjs +1347 -579
- package/fesm2015/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/fesm2020/mintplayer-ng-bootstrap.mjs +1342 -580
- package/fesm2020/mintplayer-ng-bootstrap.mjs.map +1 -1
- package/lib/components/accordion/accordion/accordion.component.d.ts +1 -4
- package/lib/components/accordion/accordion-tab/accordion-tab.component.d.ts +1 -4
- package/lib/components/accordion/accordion-tab-header/accordion-tab-header.component.d.ts +1 -4
- package/lib/components/accordion/accordion.module.d.ts +1 -2
- package/lib/components/alert/alert/alert.component.d.ts +1 -4
- package/lib/components/alert/alert-close/alert-close.component.d.ts +1 -3
- package/lib/components/calendar/calendar.component.d.ts +4 -5
- package/lib/components/card/card/card.component.d.ts +1 -6
- package/lib/components/card/card-header/card-header.component.d.ts +1 -4
- package/lib/components/carousel/carousel/carousel.component.d.ts +9 -9
- package/lib/components/code-snippet/code-snippet.component.d.ts +12 -0
- package/lib/components/code-snippet/code-snippet.module.d.ts +10 -0
- package/lib/components/code-snippet/index.d.ts +2 -0
- package/lib/components/context-menu/context-menu.directive.d.ts +4 -2
- package/lib/components/context-menu/context-menu.module.d.ts +2 -1
- package/lib/components/copy/copy.directive.d.ts +11 -0
- package/lib/components/copy/copy.module.d.ts +8 -0
- package/lib/components/copy/index.d.ts +2 -0
- package/lib/components/datatable/datatable/datatable.component.d.ts +4 -5
- package/lib/components/datatable/row-template/row-template.directive.d.ts +1 -1
- package/lib/components/datepicker/datepicker.component.d.ts +11 -7
- package/lib/components/dropdown/dropdown/dropdown.directive.d.ts +1 -0
- package/lib/components/dropdown/dropdown-menu/dropdown-menu.directive.d.ts +3 -3
- package/lib/components/file-upload/component/file-upload.component.d.ts +19 -0
- package/lib/components/file-upload/directive/file-upload-template.directive.d.ts +8 -0
- package/lib/components/file-upload/file-upload.d.ts +4 -0
- package/lib/components/file-upload/file-upload.module.d.ts +12 -0
- package/lib/components/file-upload/index.d.ts +4 -0
- package/lib/components/for/for.directive.d.ts +8 -0
- package/lib/components/for/for.module.d.ts +8 -0
- package/lib/components/for/index.d.ts +2 -0
- package/lib/components/index.d.ts +6 -0
- package/lib/components/modal/component/index.d.ts +2 -0
- package/lib/components/modal/component/modal/modal.component.d.ts +10 -0
- package/lib/components/modal/component/modal-content/modal-content.component.d.ts +13 -0
- package/lib/components/modal/directives/index.d.ts +3 -0
- package/lib/components/modal/directives/modal-body/modal-body.directive.d.ts +8 -0
- package/lib/components/modal/directives/modal-footer/modal-footer.directive.d.ts +8 -0
- package/lib/components/modal/directives/modal-header/modal-header.directive.d.ts +8 -0
- package/lib/components/modal/index.d.ts +4 -0
- package/lib/components/modal/interfaces/index.d.ts +1 -0
- package/lib/components/modal/interfaces/modal-animation-meta.d.ts +7 -0
- package/lib/components/modal/modal.module.d.ts +13 -0
- package/lib/components/modal/providers/modal-content.provider.d.ts +2 -0
- package/lib/components/modal/service/modal.service.d.ts +14 -0
- package/lib/components/multiselect/{multiselect.component.d.ts → component/multiselect.component.d.ts} +7 -6
- package/lib/components/multiselect/directives/button-template/button-template.directive.d.ts +8 -0
- package/lib/components/multiselect/directives/footer-template/footer-template.directive.d.ts +8 -0
- package/lib/components/multiselect/directives/header-template/header-template.directive.d.ts +8 -0
- package/lib/components/multiselect/directives/index.d.ts +3 -0
- package/lib/components/multiselect/index.d.ts +2 -1
- package/lib/components/multiselect/multiselect.module.d.ts +8 -5
- package/lib/components/navbar/index.d.ts +1 -0
- package/lib/components/navbar/navbar/navbar.component.d.ts +1 -1
- package/lib/components/navbar/navbar-brand/navbar-brand.component.d.ts +6 -0
- package/lib/components/navbar/navbar-dropdown/navbar-dropdown.component.d.ts +4 -4
- package/lib/components/navbar/navbar-item/navbar-item.component.d.ts +3 -4
- package/lib/components/navbar/navbar.module.d.ts +5 -4
- package/lib/components/pagination/pagination/pagination.component.d.ts +9 -10
- package/lib/components/rating/index.d.ts +2 -0
- package/lib/components/rating/rating.component.d.ts +22 -0
- package/lib/components/rating/rating.module.d.ts +8 -0
- package/lib/components/scrollspy/component/scrollspy.component.d.ts +11 -3
- package/lib/components/select2/component/select2.component.d.ts +4 -6
- package/lib/components/snackbar/component/snackbar.component.d.ts +1 -2
- package/lib/components/snackbar/snackbar.module.d.ts +2 -1
- package/lib/components/tab-control/tab-control/tab-control.component.d.ts +4 -6
- package/lib/components/tab-control/tab-page/tab-page.component.d.ts +3 -4
- package/lib/components/toggle-button/toggle-button.component.d.ts +5 -5
- package/lib/components/tooltip/directive/tooltip.directive.d.ts +1 -0
- package/lib/components/tooltip/tooltip.module.d.ts +2 -1
- package/lib/interfaces/date-day-of-month.d.ts +1 -0
- package/lib/interfaces/index.d.ts +1 -0
- package/lib/interfaces/week.d.ts +1 -1
- package/lib/interfaces/weekday.d.ts +4 -0
- package/lib/pipes/format-bytes/format-bytes.module.d.ts +8 -0
- package/lib/pipes/format-bytes/format-bytes.pipe.d.ts +7 -0
- package/lib/pipes/format-bytes/index.d.ts +2 -0
- package/lib/pipes/index.d.ts +1 -0
- package/lib/services/calendar-month/calendar-month.service.d.ts +2 -0
- package/package.json +3 -2
- package/src/assets/ic-upload-file.svg +7 -0
- package/src/styles/custom.scss +12 -0
- package/src/styles/ngx-highlight-themes/solarized-dark.scss +89 -0
- package/src/styles/utilities/cursor.scss +10 -0
- package/src/styles/utilities/white-space.scss +10 -0
- package/esm2020/lib/components/multiselect/multiselect.component.mjs +0 -36
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class BsFormatBytesPipe {
|
|
4
|
+
transform(value, decimals = 2) {
|
|
5
|
+
if (value === 0) {
|
|
6
|
+
return "0 Bytes";
|
|
7
|
+
}
|
|
8
|
+
const k = 1024;
|
|
9
|
+
const dm = decimals <= 0 ? 0 : decimals;
|
|
10
|
+
const sizes = ["Bytes", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
|
|
11
|
+
const i = Math.floor(Math.log(value) / Math.log(k));
|
|
12
|
+
return parseFloat((value / Math.pow(k, i)).toFixed(dm)) + " " + sizes[i];
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
BsFormatBytesPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFormatBytesPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
16
|
+
BsFormatBytesPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFormatBytesPipe, name: "bsFormatBytes" });
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsFormatBytesPipe, decorators: [{
|
|
18
|
+
type: Pipe,
|
|
19
|
+
args: [{
|
|
20
|
+
name: 'bsFormatBytes'
|
|
21
|
+
}]
|
|
22
|
+
}] });
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0LWJ5dGVzLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvcGlwZXMvZm9ybWF0LWJ5dGVzL2Zvcm1hdC1ieXRlcy5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8saUJBQWlCO0lBRTVCLFNBQVMsQ0FBQyxLQUFhLEVBQUUsUUFBUSxHQUFHLENBQUM7UUFDbkMsSUFBSSxLQUFLLEtBQUssQ0FBQyxFQUFFO1lBQ2YsT0FBTyxTQUFTLENBQUM7U0FDbEI7UUFFRCxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDZixNQUFNLEVBQUUsR0FBRyxRQUFRLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztRQUN4QyxNQUFNLEtBQUssR0FBRyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEUsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVwRCxPQUFPLFVBQVUsQ0FBQyxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEdBQUcsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7OEdBYlUsaUJBQWlCOzRHQUFqQixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFIN0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZUFBZTtpQkFDdEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBQaXBlKHtcbiAgbmFtZTogJ2JzRm9ybWF0Qnl0ZXMnXG59KVxuZXhwb3J0IGNsYXNzIEJzRm9ybWF0Qnl0ZXNQaXBlIGltcGxlbWVudHMgUGlwZVRyYW5zZm9ybSB7XG5cbiAgdHJhbnNmb3JtKHZhbHVlOiBudW1iZXIsIGRlY2ltYWxzID0gMikge1xuICAgIGlmICh2YWx1ZSA9PT0gMCkge1xuICAgICAgcmV0dXJuIFwiMCBCeXRlc1wiO1xuICAgIH1cblxuICAgIGNvbnN0IGsgPSAxMDI0O1xuICAgIGNvbnN0IGRtID0gZGVjaW1hbHMgPD0gMCA/IDAgOiBkZWNpbWFscztcbiAgICBjb25zdCBzaXplcyA9IFtcIkJ5dGVzXCIsIFwiS0JcIiwgXCJNQlwiLCBcIkdCXCIsIFwiVEJcIiwgXCJQQlwiLCBcIkVCXCIsIFwiWkJcIiwgXCJZQlwiXTtcbiAgICBjb25zdCBpID0gTWF0aC5mbG9vcihNYXRoLmxvZyh2YWx1ZSkgLyBNYXRoLmxvZyhrKSk7XG5cbiAgICByZXR1cm4gcGFyc2VGbG9hdCgodmFsdWUgLyBNYXRoLnBvdyhrLCBpKSkudG9GaXhlZChkbSkpICsgXCIgXCIgKyBzaXplc1tpXTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './format-bytes.module';
|
|
2
|
+
export * from './format-bytes.pipe';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvcGlwZXMvZm9ybWF0LWJ5dGVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybWF0LWJ5dGVzLm1vZHVsZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC1ieXRlcy5waXBlJzsiXX0=
|
|
@@ -1,2 +1,3 @@
|
|
|
1
1
|
export * from './font-color';
|
|
2
|
-
|
|
2
|
+
export * from './format-bytes';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL21pbnRwbGF5ZXItbmctYm9vdHN0cmFwL3NyYy9saWIvcGlwZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxnQkFBZ0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9udC1jb2xvcic7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm1hdC1ieXRlcyc7Il19
|
|
@@ -3,22 +3,24 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export class BsCalendarMonthService {
|
|
4
4
|
getWeeks(month) {
|
|
5
5
|
const firstAndLast = this.getFirstAndLastDayOfMonth(month);
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
6
|
+
const firstOfMonth = this.getMondayBefore(firstAndLast.first);
|
|
7
|
+
const lastOfMonth = this.getSundayAfter(firstAndLast.last);
|
|
8
|
+
const days = this.dateDiff(firstOfMonth, lastOfMonth) + 1;
|
|
9
|
+
const firstDayOffset = (firstAndLast.first.getDay() + 7 - 1) % 7;
|
|
10
|
+
const allDays = this.generateList(days).map(d => d - firstDayOffset).map(d => {
|
|
11
|
+
const wrongDate = new Date(firstAndLast.first.getFullYear(), firstAndLast.first.getMonth(), firstAndLast.first.getDate() + d);
|
|
12
|
+
const correctDate = new Date(wrongDate.getFullYear(), wrongDate.getMonth(), wrongDate.getDate());
|
|
13
|
+
return {
|
|
14
|
+
date: correctDate,
|
|
15
|
+
dayOfMonth: correctDate.getDate(),
|
|
16
|
+
isInMonth: (correctDate.getFullYear() === month.getFullYear()) && (correctDate.getMonth() === month.getMonth())
|
|
17
|
+
};
|
|
18
|
+
});
|
|
17
19
|
const weeks = this.chunk(allDays, 7);
|
|
18
20
|
const weeksMapped = weeks.map((w, i) => {
|
|
19
21
|
return {
|
|
20
|
-
number: this.weekOfYear(new Date(month.getFullYear(), month.getMonth(), w.find(d => d
|
|
21
|
-
|
|
22
|
+
number: this.weekOfYear(new Date(month.getFullYear(), month.getMonth(), w.find(d => d.isInMonth)?.dayOfMonth)),
|
|
23
|
+
days: w
|
|
22
24
|
};
|
|
23
25
|
});
|
|
24
26
|
return weeksMapped;
|
|
@@ -43,10 +45,9 @@ export class BsCalendarMonthService {
|
|
|
43
45
|
return Math.ceil((utcDiff / (1000 * 60 * 60 * 24) + 1) / 7);
|
|
44
46
|
}
|
|
45
47
|
getFirstAndLastDayOfMonth(date) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
};
|
|
48
|
+
const first = new Date(date.getFullYear(), date.getMonth(), 1);
|
|
49
|
+
const last = new Date(date.getFullYear(), date.getMonth() + 1, 0);
|
|
50
|
+
return { first, last };
|
|
50
51
|
}
|
|
51
52
|
dateDiff(date1, date2) {
|
|
52
53
|
const utc1 = this.toUTC(date1);
|
|
@@ -68,6 +69,21 @@ export class BsCalendarMonthService {
|
|
|
68
69
|
}
|
|
69
70
|
return result;
|
|
70
71
|
}
|
|
72
|
+
getMondayBefore(date) {
|
|
73
|
+
const day = date.getDay(), diff = date.getDate() - day + (day == 0 ? -6 : 1); // adjust when day is sunday
|
|
74
|
+
const monday = new Date(date);
|
|
75
|
+
monday.setDate(diff);
|
|
76
|
+
return monday;
|
|
77
|
+
}
|
|
78
|
+
getSundayAfter(date) {
|
|
79
|
+
const day = date.getDay();
|
|
80
|
+
const sunday = new Date(date);
|
|
81
|
+
if (day !== 0) {
|
|
82
|
+
const diff = date.getDate() + 7 - day;
|
|
83
|
+
sunday.setDate(diff);
|
|
84
|
+
}
|
|
85
|
+
return sunday;
|
|
86
|
+
}
|
|
71
87
|
}
|
|
72
88
|
BsCalendarMonthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCalendarMonthService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
73
89
|
BsCalendarMonthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.1", ngImport: i0, type: BsCalendarMonthService, providedIn: 'root' });
|
|
@@ -77,4 +93,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.1", ngImpor
|
|
|
77
93
|
providedIn: 'root'
|
|
78
94
|
}]
|
|
79
95
|
}] });
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9zZXJ2aWNlcy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFMUIsUUFBUSxDQUFDLEtBQVc7UUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxZQUFZLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RFLE1BQU0sT0FBTyxHQUE4QjtZQUN6QyxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQztZQUNsRixHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNqQyxPQUFPO29CQUNMLElBQUksRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFdBQVcsRUFBRSxFQUFFLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUM7b0JBQ2pILFVBQVUsRUFBRSxDQUFDLEdBQUcsQ0FBQztpQkFDbEIsQ0FBQztZQUNKLENBQUMsQ0FBQztZQUNGLEdBQUcsSUFBSSxDQUFD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XG5pbXBvcnQgeyBEYXRlRGF5T2ZNb250aCB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZGF0ZS1kYXktb2YtbW9udGgnO1xuaW1wb3J0IHsgRmlyc3RBbmRMYXN0RGF0ZSB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvZmlyc3QtYW5kLWxhc3QtZGF0ZSc7XG5pbXBvcnQgeyBXZWVrIH0gZnJvbSAnLi4vLi4vaW50ZXJmYWNlcy93ZWVrJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgQnNDYWxlbmRhck1vbnRoU2VydmljZSB7XG5cbiAgcHVibGljIGdldFdlZWtzKG1vbnRoOiBEYXRlKSB7XG4gICAgY29uc3QgZmlyc3RBbmRMYXN0ID0gdGhpcy5nZXRGaXJzdEFuZExhc3REYXlPZk1vbnRoKG1vbnRoKTtcbiAgICBjb25zdCBkYXlzID0gdGhpcy5kYXRlRGlmZihmaXJzdEFuZExhc3QuZmlyc3QsIGZpcnN0QW5kTGFzdC5sYXN0KSArIDE7XG4gICAgY29uc3QgYWxsRGF5czogKERhdGVEYXlPZk1vbnRoIHwgbnVsbClbXSA9IFtcbiAgICAgIC4uLnRoaXMuZ2VuZXJhdGVMaXN0KHRoaXMuZGF5T2ZXZWVrTW9uZGF5QmFzZWQoZmlyc3RBbmRMYXN0LmZpcnN0KSkubWFwKGQgPT4gbnVsbCksXG4gICAgICAuLi50aGlzLmdlbmVyYXRlTGlzdChkYXlzKS5tYXAoZCA9PiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgZGF0ZTogbmV3IERhdGUoZmlyc3RBbmRMYXN0LmZpcnN0LmdldEZ1bGxZZWFyKCksIGZpcnN0QW5kTGFzdC5maXJzdC5nZXRNb250aCgpLCBmaXJzdEFuZExhc3QuZmlyc3QuZ2V0RGF0ZSgpICsgZCksXG4gICAgICAgICAgZGF5T2ZNb250aDogZCArIDEsXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICAgIC4uLnRoaXMuZ2VuZXJhdGVMaXN0KDYgLSB0aGlzLmRheU9mV2Vla01vbmRheUJhc2VkKGZpcnN0QW5kTGFzdC5sYXN0KSkubWFwKGQgPT4gbnVsbCksXG4gICAgXTtcbiAgICBjb25zdCB3ZWVrcyA9IHRoaXMuY2h1bmsoYWxsRGF5cywgNyk7XG4gICAgY29uc3Qgd2Vla3NNYXBwZWQgPSB3ZWVrcy5tYXA8V2Vlaz4oKHcsIGkpID0+IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIG51bWJlcjogdGhpcy53ZWVrT2ZZZWFyKG5ldyBEYXRlKG1vbnRoLmdldEZ1bGxZZWFyKCksIG1vbnRoLmdldE1vbnRoKCksIHcuZmluZChkID0+IGQgIT09IG51bGwpPy5kYXlPZk1vbnRoKSksXG4gICAgICAgIHdlZWs6IHdcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gd2Vla3NNYXBwZWQ7XG4gIH1cbiAgXG4gIGdlbmVyYXRlTGlzdChjb3VudDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIFsuLi5BcnJheShjb3VudCkua2V5cygpXTtcbiAgfVxuXG4gIGRheU9mV2Vla01vbmRheUJhc2VkKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBkID0gZGF0ZS5nZXREYXkoKSAtIDE7XG4gICAgaWYgKGQgPCAwKSB7XG4gICAgICByZXR1cm4gNjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuICB9XG5cbiAgd2Vla09mWWVhcihkYXRlOiBEYXRlKSB7XG4gICAgY29uc3QgZGF0ZUNsb25lID0gbmV3IERhdGUoRGF0ZS5VVEMoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKSk7XG4gICAgZGF0ZUNsb25lLnNldFVUQ0RhdGUoZGF0ZUNsb25lLmdldFVUQ0RhdGUoKSArIDQgLSAoZGF0ZUNsb25lLmdldFVUQ0RheSgpIHx8IDcpKTtcbiAgICBjb25zdCB5ZWFyU3RhcnQgPSBuZXcgRGF0ZShEYXRlLlVUQyhkYXRlQ2xvbmUuZ2V0VVRDRnVsbFllYXIoKSwgMCwgMSkpO1xuICAgIGNvbnN0IHV0Y0RpZmYgPSB0aGlzLnRvVVRDKGRhdGVDbG9uZSkgLSB0aGlzLnRvVVRDKHllYXJTdGFydCk7XG4gICAgcmV0dXJuIE1hdGguY2VpbCgodXRjRGlmZiAvICgxMDAwICogNjAgKiA2MCAqIDI0KSArIDEpIC8gNyk7XG4gIH1cblxuICBnZXRGaXJzdEFuZExhc3REYXlPZk1vbnRoKGRhdGU6IERhdGUpIHtcbiAgICByZXR1cm4gPEZpcnN0QW5kTGFzdERhdGU+e1xuICAgICAgZmlyc3Q6IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCAxKSxcbiAgICAgIGxhc3Q6IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpICsgMSwgMClcbiAgICB9O1xuICB9XG5cbiAgZGF0ZURpZmYoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKSB7XG4gICAgY29uc3QgdXRjMSA9IHRoaXMudG9VVEMoZGF0ZTEpO1xuICAgIGNvbnN0IHV0YzIgPSB0aGlzLnRvVVRDKGRhdGUyKTtcbiAgICBjb25zdCBtc1BlckRheSA9IDEwMDAgKiA2MCAqIDYwICogMjQ7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoKHV0YzIgLSB1dGMxKSAvIG1zUGVyRGF5KTtcbiAgfVxuXG4gIGRheU9mWWVhcihkYXRlOiBEYXRlKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIDAsIDApO1xuICAgIHJldHVybiB0aGlzLmRhdGVEaWZmKHN0YXJ0LCBkYXRlKTtcbiAgfVxuXG4gIHRvVVRDKGRhdGU6IERhdGUpIHtcbiAgICByZXR1cm4gRGF0ZS5VVEMoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKTtcbiAgfVxuXG4gIGNodW5rPFQ+KGl0ZW1zOiBUW10sIHNpemU6IG51bWJlcikge1xuICAgIGNvbnN0IHJlc3VsdDogVFtdW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSArPSBzaXplKSB7XG4gICAgICByZXN1bHQucHVzaChpdGVtcy5zbGljZShpLCBpICsgc2l6ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG59XG4iXX0=
|
|
96
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItbW9udGguc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbWludHBsYXllci1uZy1ib290c3RyYXAvc3JjL2xpYi9zZXJ2aWNlcy9jYWxlbmRhci1tb250aC9jYWxlbmRhci1tb250aC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBUTNDLE1BQU0sT0FBTyxzQkFBc0I7SUFFMUIsUUFBUSxDQUFDLEtBQVc7UUFDekIsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlELE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNELE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxFQUFFLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxRCxNQUFNLGNBQWMsR0FBRyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUNqRSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUU7WUFDM0UsTUFBTSxTQUFTLEdBQUcsSUFBSSxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxXQUFXLEVBQUUsRUFBRSxZQUFZLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRSxFQUFFLFlB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ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZURheU9mTW9udGggfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2RhdGUtZGF5LW9mLW1vbnRoJztcbmltcG9ydCB7IEZpcnN0QW5kTGFzdERhdGUgfSBmcm9tICcuLi8uLi9pbnRlcmZhY2VzL2ZpcnN0LWFuZC1sYXN0LWRhdGUnO1xuaW1wb3J0IHsgV2VlayB9IGZyb20gJy4uLy4uL2ludGVyZmFjZXMvd2Vlayc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIEJzQ2FsZW5kYXJNb250aFNlcnZpY2Uge1xuXG4gIHB1YmxpYyBnZXRXZWVrcyhtb250aDogRGF0ZSkge1xuICAgIGNvbnN0IGZpcnN0QW5kTGFzdCA9IHRoaXMuZ2V0Rmlyc3RBbmRMYXN0RGF5T2ZNb250aChtb250aCk7XG4gICAgY29uc3QgZmlyc3RPZk1vbnRoID0gdGhpcy5nZXRNb25kYXlCZWZvcmUoZmlyc3RBbmRMYXN0LmZpcnN0KTtcbiAgICBjb25zdCBsYXN0T2ZNb250aCA9IHRoaXMuZ2V0U3VuZGF5QWZ0ZXIoZmlyc3RBbmRMYXN0Lmxhc3QpO1xuICAgIGNvbnN0IGRheXMgPSB0aGlzLmRhdGVEaWZmKGZpcnN0T2ZNb250aCwgbGFzdE9mTW9udGgpICsgMTtcbiAgICBjb25zdCBmaXJzdERheU9mZnNldCA9IChmaXJzdEFuZExhc3QuZmlyc3QuZ2V0RGF5KCkgKyA3IC0gMSkgJSA3O1xuICAgIGNvbnN0IGFsbERheXMgPSB0aGlzLmdlbmVyYXRlTGlzdChkYXlzKS5tYXAoZCA9PiBkIC0gZmlyc3REYXlPZmZzZXQpLm1hcChkID0+IHtcbiAgICAgIGNvbnN0IHdyb25nRGF0ZSA9IG5ldyBEYXRlKGZpcnN0QW5kTGFzdC5maXJzdC5nZXRGdWxsWWVhcigpLCBmaXJzdEFuZExhc3QuZmlyc3QuZ2V0TW9udGgoKSwgZmlyc3RBbmRMYXN0LmZpcnN0LmdldERhdGUoKSArIGQpO1xuICAgICAgY29uc3QgY29ycmVjdERhdGUgPSBuZXcgRGF0ZSh3cm9uZ0RhdGUuZ2V0RnVsbFllYXIoKSwgd3JvbmdEYXRlLmdldE1vbnRoKCksIHdyb25nRGF0ZS5nZXREYXRlKCkpO1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgZGF0ZTogY29ycmVjdERhdGUsXG4gICAgICAgIGRheU9mTW9udGg6IGNvcnJlY3REYXRlLmdldERhdGUoKSxcbiAgICAgICAgaXNJbk1vbnRoOiAoY29ycmVjdERhdGUuZ2V0RnVsbFllYXIoKSA9PT0gbW9udGguZ2V0RnVsbFllYXIoKSkgJiYgKGNvcnJlY3REYXRlLmdldE1vbnRoKCkgPT09IG1vbnRoLmdldE1vbnRoKCkpXG4gICAgICB9O1xuICAgIH0pO1xuICAgIGNvbnN0IHdlZWtzID0gdGhpcy5jaHVuayhhbGxEYXlzLCA3KTtcbiAgICBjb25zdCB3ZWVrc01hcHBlZCA9IHdlZWtzLm1hcDxXZWVrPigodywgaSkgPT4ge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgbnVtYmVyOiB0aGlzLndlZWtPZlllYXIobmV3IERhdGUobW9udGguZ2V0RnVsbFllYXIoKSwgbW9udGguZ2V0TW9udGgoKSwgdy5maW5kKGQgPT4gZC5pc0luTW9udGgpPy5kYXlPZk1vbnRoKSksXG4gICAgICAgIGRheXM6IHdcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gd2Vla3NNYXBwZWQ7XG4gIH1cbiAgXG4gIGdlbmVyYXRlTGlzdChjb3VudDogbnVtYmVyKSB7XG4gICAgcmV0dXJuIFsuLi5BcnJheShjb3VudCkua2V5cygpXTtcbiAgfVxuXG4gIGRheU9mV2Vla01vbmRheUJhc2VkKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBkID0gZGF0ZS5nZXREYXkoKSAtIDE7XG4gICAgaWYgKGQgPCAwKSB7XG4gICAgICByZXR1cm4gNjtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGQ7XG4gICAgfVxuICB9XG5cbiAgd2Vla09mWWVhcihkYXRlOiBEYXRlKSB7XG4gICAgY29uc3QgZGF0ZUNsb25lID0gbmV3IERhdGUoRGF0ZS5VVEMoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKSk7XG4gICAgZGF0ZUNsb25lLnNldFVUQ0RhdGUoZGF0ZUNsb25lLmdldFVUQ0RhdGUoKSArIDQgLSAoZGF0ZUNsb25lLmdldFVUQ0RheSgpIHx8IDcpKTtcbiAgICBjb25zdCB5ZWFyU3RhcnQgPSBuZXcgRGF0ZShEYXRlLlVUQyhkYXRlQ2xvbmUuZ2V0VVRDRnVsbFllYXIoKSwgMCwgMSkpO1xuICAgIGNvbnN0IHV0Y0RpZmYgPSB0aGlzLnRvVVRDKGRhdGVDbG9uZSkgLSB0aGlzLnRvVVRDKHllYXJTdGFydCk7XG4gICAgcmV0dXJuIE1hdGguY2VpbCgodXRjRGlmZiAvICgxMDAwICogNjAgKiA2MCAqIDI0KSArIDEpIC8gNyk7XG4gIH1cblxuICBnZXRGaXJzdEFuZExhc3REYXlPZk1vbnRoKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBmaXJzdCA9IG5ldyBEYXRlKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCAxKTtcbiAgICBjb25zdCBsYXN0ID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCkgKyAxLCAwKTtcbiAgICByZXR1cm4gPEZpcnN0QW5kTGFzdERhdGU+eyBmaXJzdCwgbGFzdCB9O1xuICB9XG5cbiAgZGF0ZURpZmYoZGF0ZTE6IERhdGUsIGRhdGUyOiBEYXRlKSB7XG4gICAgY29uc3QgdXRjMSA9IHRoaXMudG9VVEMoZGF0ZTEpO1xuICAgIGNvbnN0IHV0YzIgPSB0aGlzLnRvVVRDKGRhdGUyKTtcbiAgICBjb25zdCBtc1BlckRheSA9IDEwMDAgKiA2MCAqIDYwICogMjQ7XG4gICAgcmV0dXJuIE1hdGguZmxvb3IoKHV0YzIgLSB1dGMxKSAvIG1zUGVyRGF5KTtcbiAgfVxuXG4gIGRheU9mWWVhcihkYXRlOiBEYXRlKSB7XG4gICAgY29uc3Qgc3RhcnQgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIDAsIDApO1xuICAgIHJldHVybiB0aGlzLmRhdGVEaWZmKHN0YXJ0LCBkYXRlKTtcbiAgfVxuXG4gIHRvVVRDKGRhdGU6IERhdGUpIHtcbiAgICByZXR1cm4gRGF0ZS5VVEMoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKTtcbiAgfVxuXG4gIGNodW5rPFQ+KGl0ZW1zOiBUW10sIHNpemU6IG51bWJlcikge1xuICAgIGNvbnN0IHJlc3VsdDogVFtdW10gPSBbXTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGl0ZW1zLmxlbmd0aDsgaSArPSBzaXplKSB7XG4gICAgICByZXN1bHQucHVzaChpdGVtcy5zbGljZShpLCBpICsgc2l6ZSkpO1xuICAgIH1cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9XG5cbiAgZ2V0TW9uZGF5QmVmb3JlKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERheSgpLCBkaWZmID0gZGF0ZS5nZXREYXRlKCkgLSBkYXkgKyAoZGF5ID09IDAgPyAtNiA6IDEpOyAvLyBhZGp1c3Qgd2hlbiBkYXkgaXMgc3VuZGF5XG4gICAgY29uc3QgbW9uZGF5ID0gbmV3IERhdGUoZGF0ZSk7XG4gICAgbW9uZGF5LnNldERhdGUoZGlmZik7XG4gICAgcmV0dXJuIG1vbmRheTtcbiAgfVxuXG4gIGdldFN1bmRheUFmdGVyKGRhdGU6IERhdGUpIHtcbiAgICBjb25zdCBkYXkgPSBkYXRlLmdldERheSgpO1xuICAgIGNvbnN0IHN1bmRheSA9IG5ldyBEYXRlKGRhdGUpO1xuICAgIGlmIChkYXkgIT09IDApIHtcbiAgICAgIGNvbnN0IGRpZmYgPSBkYXRlLmdldERhdGUoKSArIDcgLSBkYXk7XG4gICAgICBzdW5kYXkuc2V0RGF0ZShkaWZmKTtcbiAgICB9XG4gICAgcmV0dXJuIHN1bmRheTtcbiAgfVxufSJdfQ==
|