@sebgroup/green-angular 3.8.0 → 4.0.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/{esm2020 → esm2022}/lib/accordion/accordion-list-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/accordion/accordion.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/accordion/accordion.module.mjs +5 -5
- package/esm2022/lib/badge/badge.component.mjs +80 -0
- package/{esm2020 → esm2022}/lib/badge/badge.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/button/button.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/button/button.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/cell-table/cell-table-item.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/cell-table/cell-table.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/cell-table/cell-table.module.mjs +7 -7
- package/{esm2020 → esm2022}/lib/cell-table/cell-underline.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/context-menu/context-menu.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/context-menu/context-menu.module.mjs +5 -5
- package/esm2022/lib/datepicker/datepicker.component.mjs +138 -0
- package/{esm2020 → esm2022}/lib/datepicker/datepicker.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/dropdown/dropdown-button.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/dropdown/dropdown-option.directive.mjs +4 -4
- package/esm2022/lib/dropdown/dropdown.component.mjs +212 -0
- package/{esm2020 → esm2022}/lib/dropdown/dropdown.module.mjs +9 -9
- package/{esm2020 → esm2022}/lib/green-angular.module.mjs +31 -31
- package/{esm2020 → esm2022}/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/in-page-wizard/in-page-wizard.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/modal/modal-footer.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/modal/modal-header.directive.mjs +4 -4
- package/esm2022/lib/modal/modal.component.mjs +258 -0
- package/{esm2020 → esm2022}/lib/modal/modal.module.mjs +12 -12
- package/{esm2020 → esm2022}/lib/pagination/pagination.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/pagination/pagination.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/progress-circle/progress-circle.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/progress-circle/progress-circle.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/segmented-control/segmented-control.component.mjs +6 -6
- package/{esm2020 → esm2022}/lib/segmented-control/segmented-control.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/shared/core-element/core-element.directive.mjs +4 -4
- package/{esm2020 → esm2022}/lib/shared/core-element/core-element.module.mjs +5 -5
- package/{esm2020/src → esm2022}/lib/shared/on-scroll.directive.mjs +10 -10
- package/{esm2020 → esm2022}/lib/shared/shared.module.mjs +5 -5
- package/esm2022/lib/slider/slider.component.mjs +113 -0
- package/{esm2020 → esm2022}/lib/slider/slider.module.mjs +5 -5
- package/{esm2020 → esm2022}/lib/sortable-list/sortable-list.component.mjs +4 -4
- package/{esm2020 → esm2022}/lib/sortable-list/sortable-list.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/accordion/accordion-list-item.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/accordion/accordion.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/accordion/accordion.module.mjs +5 -5
- package/esm2022/src/lib/badge/badge.component.mjs +80 -0
- package/{esm2020 → esm2022}/src/lib/badge/badge.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/button/button.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/button/button.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/cell-table/cell-table-item.component.mjs +6 -6
- package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.module.mjs +7 -7
- package/{esm2020 → esm2022}/src/lib/cell-table/cell-underline.directive.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/context-menu/context-menu.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/context-menu/context-menu.module.mjs +5 -5
- package/esm2022/src/lib/datepicker/datepicker.component.mjs +138 -0
- package/{esm2020 → esm2022}/src/lib/datepicker/datepicker.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/dropdown/dropdown-button.directive.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/dropdown/dropdown-option.directive.mjs +4 -4
- package/esm2022/src/lib/dropdown/dropdown.component.mjs +212 -0
- package/{esm2020 → esm2022}/src/lib/dropdown/dropdown.module.mjs +9 -9
- package/{esm2020 → esm2022}/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/in-page-wizard/in-page-wizard.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/modal/modal-footer.directive.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/modal/modal-header.directive.mjs +4 -4
- package/esm2022/src/lib/modal/modal.component.mjs +258 -0
- package/{esm2020 → esm2022}/src/lib/modal/modal.module.mjs +12 -12
- package/{esm2020 → esm2022}/src/lib/pagination/pagination.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/pagination/pagination.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/progress-circle/progress-circle.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/progress-circle/progress-circle.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/segmented-control/segmented-control.component.mjs +6 -6
- package/{esm2020 → esm2022}/src/lib/segmented-control/segmented-control.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/shared/core-element/core-element.directive.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/shared/core-element/core-element.module.mjs +5 -5
- package/esm2022/src/lib/shared/on-scroll.directive.mjs +47 -0
- package/{esm2020 → esm2022}/src/lib/shared/shared.module.mjs +5 -5
- package/esm2022/src/lib/slider/slider.component.mjs +113 -0
- package/{esm2020 → esm2022}/src/lib/slider/slider.module.mjs +5 -5
- package/{esm2020 → esm2022}/src/lib/sortable-list/sortable-list.component.mjs +4 -4
- package/{esm2020 → esm2022}/src/lib/sortable-list/sortable-list.module.mjs +5 -5
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-accordion.mjs +10 -10
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-badge.mjs +16 -16
- package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-button.mjs +7 -7
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-button.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-cell-table.mjs +17 -17
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-context-menu.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-datepicker.mjs +20 -20
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-dropdown.mjs +69 -69
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-in-page-wizard.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-modal.mjs +43 -43
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-modal.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-pagination.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-progress-circle.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -1
- package/{fesm2015 → fesm2022}/sebgroup-green-angular-src-lib-segmented-control.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-shared.mjs +20 -20
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-slider.mjs +13 -13
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-slider.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-sortable-list.mjs +7 -7
- package/{fesm2020 → fesm2022}/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/sebgroup-green-angular.mjs +289 -289
- package/{fesm2020 → fesm2022}/sebgroup-green-angular.mjs.map +1 -1
- package/lib/accordion/accordion-list-item.component.d.ts +1 -1
- package/lib/accordion/accordion.component.d.ts +1 -1
- package/lib/badge/badge.component.d.ts +1 -1
- package/lib/button/button.component.d.ts +1 -1
- package/lib/cell-table/cell-table-item.component.d.ts +1 -1
- package/lib/cell-table/cell-table.component.d.ts +1 -1
- package/lib/cell-table/cell-table.types.d.ts +1 -1
- package/lib/cell-table/cell-underline.directive.d.ts +1 -1
- package/lib/context-menu/context-menu.component.d.ts +1 -1
- package/lib/datepicker/datepicker.component.d.ts +1 -1
- package/lib/dropdown/dropdown.component.d.ts +4 -4
- package/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +1 -1
- package/lib/modal/modal.component.d.ts +3 -3
- package/lib/pagination/pagination.component.d.ts +1 -1
- package/lib/progress-circle/progress-circle.component.d.ts +1 -1
- package/lib/segmented-control/segmented-control.component.d.ts +1 -1
- package/lib/slider/slider.component.d.ts +1 -1
- package/lib/sortable-list/sortable-list.component.d.ts +1 -1
- package/package.json +58 -94
- package/src/lib/accordion/accordion-list-item.component.d.ts +1 -1
- package/src/lib/accordion/accordion.component.d.ts +1 -1
- package/src/lib/badge/badge.component.d.ts +1 -1
- package/src/lib/button/button.component.d.ts +1 -1
- package/src/lib/cell-table/cell-table-item.component.d.ts +1 -1
- package/src/lib/cell-table/cell-table.component.d.ts +1 -1
- package/src/lib/cell-table/cell-table.types.d.ts +1 -1
- package/src/lib/cell-table/cell-underline.directive.d.ts +1 -1
- package/src/lib/context-menu/context-menu.component.d.ts +1 -1
- package/src/lib/datepicker/datepicker.component.d.ts +1 -1
- package/src/lib/dropdown/dropdown.component.d.ts +4 -4
- package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +1 -1
- package/src/lib/modal/modal.component.d.ts +3 -3
- package/src/lib/pagination/pagination.component.d.ts +1 -1
- package/src/lib/progress-circle/progress-circle.component.d.ts +1 -1
- package/src/lib/segmented-control/segmented-control.component.d.ts +1 -1
- package/src/lib/slider/slider.component.d.ts +1 -1
- package/src/lib/sortable-list/sortable-list.component.d.ts +1 -1
- package/esm2020/lib/badge/badge.component.mjs +0 -80
- package/esm2020/lib/datepicker/datepicker.component.mjs +0 -138
- package/esm2020/lib/dropdown/dropdown.component.mjs +0 -212
- package/esm2020/lib/modal/modal.component.mjs +0 -258
- package/esm2020/lib/shared/on-scroll.directive.mjs +0 -47
- package/esm2020/lib/slider/slider.component.mjs +0 -113
- package/esm2020/src/lib/badge/badge.component.mjs +0 -80
- package/esm2020/src/lib/datepicker/datepicker.component.mjs +0 -138
- package/esm2020/src/lib/dropdown/dropdown.component.mjs +0 -212
- package/esm2020/src/lib/modal/modal.component.mjs +0 -258
- package/esm2020/src/lib/slider/slider.component.mjs +0 -113
- package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs +0 -140
- package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-badge.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-button.mjs +0 -50
- package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs +0 -272
- package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-context-menu.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs +0 -166
- package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs +0 -266
- package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs +0 -328
- package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs +0 -197
- package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -63
- package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-segmented-control.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs +0 -114
- package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs +0 -136
- package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -204
- package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs.map +0 -1
- package/fesm2015/sebgroup-green-angular.mjs +0 -2165
- package/fesm2015/sebgroup-green-angular.mjs.map +0 -1
- package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs +0 -102
- package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs.map +0 -1
- package/fesm2020/sebgroup-green-angular-src-lib-button.mjs.map +0 -1
- package/fesm2020/sebgroup-green-angular-src-lib-context-menu.mjs +0 -104
- package/fesm2020/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -72
- package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -58
- package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs.map +0 -1
- /package/{esm2020 → esm2022}/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/accordion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/badge/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/cell-table/cell-table.types.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/cell-table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/context-menu/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/datepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/in-page-wizard/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/modal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/pagination/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/progress-circle/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/segmented-control/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/core-element/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/shared/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/slider/index.mjs +0 -0
- /package/{esm2020 → esm2022}/lib/sortable-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/sebgroup-green-angular.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/accordion/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/badge/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/button/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/cell-table/cell-table.types.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/cell-table/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/context-menu/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/datepicker/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/dropdown/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/in-page-wizard/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/modal/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/pagination/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/progress-circle/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/segmented-control/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/shared/core-element/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/shared/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/slider/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/sortable-list/index.mjs +0 -0
- /package/{esm2020 → esm2022}/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -0
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, Input, Output, EventEmitter, ChangeDetectorRef, } from '@angular/core';
|
|
2
|
-
import { NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
-
import { randomId } from '@sebgroup/extract';
|
|
4
|
-
import { endOfDay, startOfDay } from 'date-fns';
|
|
5
|
-
import '@sebgroup/green-core/components/datepicker/index.js';
|
|
6
|
-
import * as DatepickerTransStyles from '@sebgroup/green-core/components/datepicker/datepicker.trans.styles.js';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@sebgroup/green-angular/src/lib/shared";
|
|
9
|
-
export class NggDatepickerComponent {
|
|
10
|
-
constructor(_cdr) {
|
|
11
|
-
this._cdr = _cdr;
|
|
12
|
-
this.id = randomId();
|
|
13
|
-
this.isValid = null;
|
|
14
|
-
this.valueChange = new EventEmitter();
|
|
15
|
-
DatepickerTransStyles.register();
|
|
16
|
-
}
|
|
17
|
-
get options() {
|
|
18
|
-
return this._options;
|
|
19
|
-
}
|
|
20
|
-
set options(value) {
|
|
21
|
-
this._options = value;
|
|
22
|
-
}
|
|
23
|
-
get showWeekNumbers() {
|
|
24
|
-
return this.options?.showWeeks ?? false;
|
|
25
|
-
}
|
|
26
|
-
get dateFormat() {
|
|
27
|
-
return this.options?.dateFormat ?? 'y-m-d';
|
|
28
|
-
}
|
|
29
|
-
get value() {
|
|
30
|
-
return this._value;
|
|
31
|
-
}
|
|
32
|
-
set value(newValue) {
|
|
33
|
-
if (typeof newValue === 'string') {
|
|
34
|
-
newValue = new Date(newValue);
|
|
35
|
-
}
|
|
36
|
-
if (newValue !== this._value) {
|
|
37
|
-
this._value = newValue || undefined;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
get min() {
|
|
41
|
-
const minDate = this.options?.minDate;
|
|
42
|
-
return minDate ? minDate : new Date(new Date().getFullYear() - 10, 0, 1);
|
|
43
|
-
}
|
|
44
|
-
get max() {
|
|
45
|
-
const maxDate = this.options?.maxDate;
|
|
46
|
-
return maxDate ? maxDate : new Date(new Date().getFullYear() + 10, 0, 1);
|
|
47
|
-
}
|
|
48
|
-
writeValue(value) {
|
|
49
|
-
this.value = value;
|
|
50
|
-
this._cdr.detectChanges();
|
|
51
|
-
}
|
|
52
|
-
registerOnChange(fn) {
|
|
53
|
-
this.onChangeFn = fn;
|
|
54
|
-
}
|
|
55
|
-
registerOnTouched(fn) {
|
|
56
|
-
this.onTouchedFn = fn;
|
|
57
|
-
}
|
|
58
|
-
onDateChange(evt) {
|
|
59
|
-
const e = evt;
|
|
60
|
-
this.value = e.detail.value;
|
|
61
|
-
this.valueChange.emit(e.detail.value);
|
|
62
|
-
this.onChangeFn && this.onChangeFn(e.detail.value);
|
|
63
|
-
}
|
|
64
|
-
ngAfterViewInit() {
|
|
65
|
-
this._cdr.detectChanges();
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
NggDatepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
-
NggDatepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggDatepickerComponent, selector: "ngg-datepicker", inputs: { size: "size", hideLabel: "hideLabel", disabledWeekends: "disabledWeekends", disabledDates: "disabledDates", options: "options", value: "value", id: "id", label: "label", isValid: "isValid" }, outputs: { valueChange: "valueChange" }, providers: [
|
|
70
|
-
{
|
|
71
|
-
provide: NG_VALUE_ACCESSOR,
|
|
72
|
-
useExisting: NggDatepickerComponent,
|
|
73
|
-
multi: true,
|
|
74
|
-
},
|
|
75
|
-
], ngImport: i0, template: "<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NggCoreElementDirective, selector: "[nggCoreElement]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDatepickerComponent, decorators: [{
|
|
77
|
-
type: Component,
|
|
78
|
-
args: [{ selector: 'ngg-datepicker', providers: [
|
|
79
|
-
{
|
|
80
|
-
provide: NG_VALUE_ACCESSOR,
|
|
81
|
-
useExisting: NggDatepickerComponent,
|
|
82
|
-
multi: true,
|
|
83
|
-
},
|
|
84
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <gds-datepicker\n *nggCoreElement\n [attr.id]=\"id\"\n [label]=\"label\"\n [value]=\"value\"\n (change)=\"onDateChange($event)\"\n [invalid]=\"isValid === false\"\n [min]=\"min\"\n [max]=\"max\"\n [showWeekNumbers]=\"showWeekNumbers\"\n [dateformat]=\"dateFormat\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [disabledWeekends]=\"disabledWeekends\"\n [disabledDates]=\"disabledDates\"\n >\n <span slot=\"message\">\n <ng-content select=\"[data-form-info]\"></ng-content>\n </span>\n </gds-datepicker>\n</div>\n" }]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; }, propDecorators: { size: [{
|
|
86
|
-
type: Input
|
|
87
|
-
}], hideLabel: [{
|
|
88
|
-
type: Input
|
|
89
|
-
}], disabledWeekends: [{
|
|
90
|
-
type: Input
|
|
91
|
-
}], disabledDates: [{
|
|
92
|
-
type: Input
|
|
93
|
-
}], options: [{
|
|
94
|
-
type: Input
|
|
95
|
-
}], value: [{
|
|
96
|
-
type: Input
|
|
97
|
-
}], id: [{
|
|
98
|
-
type: Input
|
|
99
|
-
}], label: [{
|
|
100
|
-
type: Input
|
|
101
|
-
}], isValid: [{
|
|
102
|
-
type: Input
|
|
103
|
-
}], valueChange: [{
|
|
104
|
-
type: Output
|
|
105
|
-
}] } });
|
|
106
|
-
export function dateValidator(dates) {
|
|
107
|
-
return (control) => {
|
|
108
|
-
const value = control.value;
|
|
109
|
-
if (!value) {
|
|
110
|
-
return null;
|
|
111
|
-
}
|
|
112
|
-
const newDate = new Date(value);
|
|
113
|
-
const isValidDate = !isNaN(newDate.getTime());
|
|
114
|
-
if (!isValidDate) {
|
|
115
|
-
return { validDate: true };
|
|
116
|
-
}
|
|
117
|
-
const validMinDate = dates?.min ? newDate >= startOfDay(dates.min) : true;
|
|
118
|
-
const validMaxDate = dates?.max ? newDate <= endOfDay(dates.max) : true;
|
|
119
|
-
if (!validMinDate && dates?.min) {
|
|
120
|
-
return {
|
|
121
|
-
validDate: {
|
|
122
|
-
minDate: startOfDay(dates.min),
|
|
123
|
-
actualDate: newDate,
|
|
124
|
-
},
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
if (!validMaxDate && dates?.max) {
|
|
128
|
-
return {
|
|
129
|
-
validDate: {
|
|
130
|
-
maxDate: endOfDay(dates.max),
|
|
131
|
-
actualDate: newDate,
|
|
132
|
-
},
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
return null;
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9kYXRlcGlja2VyL2RhdGVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULEtBQUssRUFDTCxNQUFNLEVBQ04sWUFBWSxFQUNaLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQTtBQUN0QixPQUFPLEVBR0wsaUJBQWlCLEdBR2xCLE1BQU0sZ0JBQWdCLENBQUE7QUFDdkIsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQzVDLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFBO0FBRS9DLE9BQU8scURBQXFELENBQUE7QUFDNUQsT0FBTyxLQUFLLHFCQUFxQixNQUFNLHVFQUF1RSxDQUFBOzs7QUF5QzlHLE1BQU0sT0FBTyxzQkFBc0I7SUEwRGpDLFlBQW9CLElBQXVCO1FBQXZCLFNBQUksR0FBSixJQUFJLENBQW1CO1FBckJsQyxPQUFFLEdBQVksUUFBUSxFQUFFLENBQUE7UUFFeEIsWUFBTyxHQUFtQixJQUFJLENBQUE7UUFDcEIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQW1CekUscUJBQXFCLENBQUMsUUFBUSxFQUFFLENBQUE7SUFDbEMsQ0FBQztJQXBERCxJQUNJLE9BQU87UUFDVCxPQUEwQixJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3pDLENBQUM7SUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUF3QjtRQUNsQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQTtJQUN2QixDQUFD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QUFJLEtBQUssRUFBRSxHQUFHLEVBQUU7WUFDL0IsT0FBTztnQkFDTCxTQUFTLEVBQUU7b0JBQ1QsT0FBTyxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDO29CQUM1QixVQUFVLEVBQUUsT0FBTztpQkFDcEI7YUFDRixDQUFBO1NBQ0Y7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUMsQ0FBQTtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBFdmVudEVtaXR0ZXIsXG4gIENoYW5nZURldGVjdG9yUmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHtcbiAgQWJzdHJhY3RDb250cm9sLFxuICBDb250cm9sVmFsdWVBY2Nlc3NvcixcbiAgTkdfVkFMVUVfQUNDRVNTT1IsXG4gIFZhbGlkYXRpb25FcnJvcnMsXG4gIFZhbGlkYXRvckZuLFxufSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IHJhbmRvbUlkIH0gZnJvbSAnQHNlYmdyb3VwL2V4dHJhY3QnXG5pbXBvcnQgeyBlbmRPZkRheSwgc3RhcnRPZkRheSB9IGZyb20gJ2RhdGUtZm5zJ1xuXG5pbXBvcnQgJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9pbmRleC5qcydcbmltcG9ydCAqIGFzIERhdGVwaWNrZXJUcmFuc1N0eWxlcyBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci50cmFucy5zdHlsZXMuanMnXG5cbmV4cG9ydCBpbnRlcmZhY2UgQXR0cmlidXRlcyB7XG4gIGlkPzogc3RyaW5nXG4gIHJvbGU/OiBzdHJpbmdcbiAgc3R5bGU/OiBDU1NTdHlsZURlY2xhcmF0aW9uXG4gIHRhYkluZGV4PzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRWxlbWVudFByb3BzIHtcbiAgYXR0cmlidXRlczogQXR0cmlidXRlc1xuICBjbGFzc2VzOiBzdHJpbmdbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGVwaWNrZXJPcHRpb25zIHtcbiAgbGFiZWw/OiBzdHJpbmdcbiAgbG9jYWxlPzogc3RyaW5nXG4gIGN1cnJlbnREYXRlPzogRGF0ZSB8IHN0cmluZ1xuICBzZWxlY3RlZERhdGU/OiBEYXRlIHwgc3RyaW5nXG4gIGNsb3NlT25TZWxlY3Q/OiBib29sZWFuXG4gIHVzZUN1cnJlbnRUaW1lPzogYm9vbGVhblxuICB3ZWVrTmFtZT86IHsgYWJicjogc3RyaW5nOyBkaXNwbGF5VGV4dDogc3RyaW5nIH1cbiAgc2hvd1dlZWtzPzogYm9vbGVhblxuICBtaW5EYXRlPzogRGF0ZVxuICBtYXhEYXRlPzogRGF0ZVxuICBkYXRlRm9ybWF0Pzogc3RyaW5nXG4gIG9uQ2hhbmdlPzogKHNlbGVjdGVkRGF0ZTogRGF0ZSkgPT4gdm9pZFxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZ2ctZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IE5nZ0RhdGVwaWNrZXJDb21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRGF0ZXBpY2tlckNvbXBvbmVudFxuICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0XG57XG4gIEBJbnB1dCgpIHNpemU/OiAnc21hbGwnIHwgJ21lZGl1bSdcbiAgQElucHV0KCkgaGlkZUxhYmVsPzogYm9vbGVhblxuICBASW5wdXQoKSBkaXNhYmxlZFdlZWtlbmRzPzogYm9vbGVhblxuICBASW5wdXQoKSBkaXNhYmxlZERhdGVzPzogRGF0ZVtdXG5cbiAgQElucHV0KClcbiAgZ2V0IG9wdGlvbnMoKTogRGF0ZXBpY2tlck9wdGlvbnMge1xuICAgIHJldHVybiA8RGF0ZXBpY2tlck9wdGlvbnM+dGhpcy5fb3B0aW9uc1xuICB9XG4gIHNldCBvcHRpb25zKHZhbHVlOiBEYXRlcGlja2VyT3B0aW9ucykge1xuICAgIHRoaXMuX29wdGlvbnMgPSB2YWx1ZVxuICB9XG5cbiAgZ2V0IHNob3dXZWVrTnVtYmVycygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5vcHRpb25zPy5zaG93V2Vla3MgPz8gZmFsc2VcbiAgfVxuXG4gIGdldCBkYXRlRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMub3B0aW9ucz8uZGF0ZUZvcm1hdCA/PyAneS1tLWQnXG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgdmFsdWUoKTogc3RyaW5nIHwgRGF0ZSB8IHVuZGVmaW5lZCB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlXG4gIH1cbiAgc2V0IHZhbHVlKG5ld1ZhbHVlOiBzdHJpbmcgfCBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgaWYgKHR5cGVvZiBuZXdWYWx1ZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgIG5ld1ZhbHVlID0gbmV3IERhdGUobmV3VmFsdWUpXG4gICAgfVxuICAgIGlmIChuZXdWYWx1ZSAhPT0gdGhpcy5fdmFsdWUpIHtcbiAgICAgIHRoaXMuX3ZhbHVlID0gbmV3VmFsdWUgfHwgdW5kZWZpbmVkXG4gICAgfVxuICB9XG5cbiAgQElucHV0KCkgaWQ/OiBzdHJpbmcgPSByYW5kb21JZCgpXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG4gIEBJbnB1dCgpIGlzVmFsaWQ6IGJvb2xlYW4gfCBudWxsID0gbnVsbFxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcblxuICBvbkNoYW5nZUZuPzogKHZhbHVlOiBhbnkpID0+IHZvaWRcbiAgb25Ub3VjaGVkRm4/OiBhbnlcblxuICBfdmFsdWU6IERhdGUgfCB1bmRlZmluZWRcbiAgcHJpdmF0ZSBfb3B0aW9ucz86IERhdGVwaWNrZXJPcHRpb25zXG5cbiAgZ2V0IG1pbigpOiBEYXRlIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5vcHRpb25zPy5taW5EYXRlXG4gICAgcmV0dXJuIG1pbkRhdGUgPyBtaW5EYXRlIDogbmV3IERhdGUobmV3IERhdGUoKS5nZXRGdWxsWWVhcigpIC0gMTAsIDAsIDEpXG4gIH1cblxuICBnZXQgbWF4KCk6IERhdGUgfCB1bmRlZmluZWQge1xuICAgIGNvbnN0IG1heERhdGUgPSB0aGlzLm9wdGlvbnM/Lm1heERhdGVcbiAgICByZXR1cm4gbWF4RGF0ZSA/IG1heERhdGUgOiBuZXcgRGF0ZShuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCkgKyAxMCwgMCwgMSlcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2NkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHtcbiAgICBEYXRlcGlja2VyVHJhbnNTdHlsZXMucmVnaXN0ZXIoKVxuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlXG4gICAgdGhpcy5fY2RyLmRldGVjdENoYW5nZXMoKVxuICB9XG5cbiAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2hlZEZuID0gZm5cbiAgfVxuXG4gIG9uRGF0ZUNoYW5nZShldnQ6IEV2ZW50KSB7XG4gICAgY29uc3QgZSA9IGV2dCBhcyBDdXN0b21FdmVudFxuXG4gICAgdGhpcy52YWx1ZSA9IGUuZGV0YWlsLnZhbHVlXG5cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZS5kZXRhaWwudmFsdWUpXG4gICAgdGhpcy5vbkNoYW5nZUZuICYmIHRoaXMub25DaGFuZ2VGbihlLmRldGFpbC52YWx1ZSlcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVWYWxpZGF0b3IoZGF0ZXM/OiB7IG1pbj86IERhdGU7IG1heD86IERhdGUgfSk6IFZhbGlkYXRvckZuIHtcbiAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgY29uc3QgdmFsdWUgPSBjb250cm9sLnZhbHVlXG4gICAgaWYgKCF2YWx1ZSkge1xuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG4gICAgY29uc3QgbmV3RGF0ZSA9IG5ldyBEYXRlKHZhbHVlKVxuICAgIGNvbnN0IGlzVmFsaWREYXRlID0gIWlzTmFOKG5ld0RhdGUuZ2V0VGltZSgpKVxuICAgIGlmICghaXNWYWxpZERhdGUpIHtcbiAgICAgIHJldHVybiB7IHZhbGlkRGF0ZTogdHJ1ZSB9XG4gICAgfVxuXG4gICAgY29uc3QgdmFsaWRNaW5EYXRlID0gZGF0ZXM/Lm1pbiA/IG5ld0RhdGUgPj0gc3RhcnRPZkRheShkYXRlcy5taW4pIDogdHJ1ZVxuICAgIGNvbnN0IHZhbGlkTWF4RGF0ZSA9IGRhdGVzPy5tYXggPyBuZXdEYXRlIDw9IGVuZE9mRGF5KGRhdGVzLm1heCkgOiB0cnVlXG5cbiAgICBpZiAoIXZhbGlkTWluRGF0ZSAmJiBkYXRlcz8ubWluKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICB2YWxpZERhdGU6IHtcbiAgICAgICAgICBtaW5EYXRlOiBzdGFydE9mRGF5KGRhdGVzLm1pbiksXG4gICAgICAgICAgYWN0dWFsRGF0ZTogbmV3RGF0ZSxcbiAgICAgICAgfSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKCF2YWxpZE1heERhdGUgJiYgZGF0ZXM/Lm1heCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdmFsaWREYXRlOiB7XG4gICAgICAgICAgbWF4RGF0ZTogZW5kT2ZEYXkoZGF0ZXMubWF4KSxcbiAgICAgICAgICBhY3R1YWxEYXRlOiBuZXdEYXRlLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBudWxsXG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XG4gIDxnZHMtZGF0ZXBpY2tlclxuICAgICpuZ2dDb3JlRWxlbWVudFxuICAgIFthdHRyLmlkXT1cImlkXCJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIFt2YWx1ZV09XCJ2YWx1ZVwiXG4gICAgKGNoYW5nZSk9XCJvbkRhdGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgW2ludmFsaWRdPVwiaXNWYWxpZCA9PT0gZmFsc2VcIlxuICAgIFttaW5dPVwibWluXCJcbiAgICBbbWF4XT1cIm1heFwiXG4gICAgW3Nob3dXZWVrTnVtYmVyc109XCJzaG93V2Vla051bWJlcnNcIlxuICAgIFtkYXRlZm9ybWF0XT1cImRhdGVGb3JtYXRcIlxuICAgIFtzaXplXT1cInNpemVcIlxuICAgIFtoaWRlTGFiZWxdPVwiaGlkZUxhYmVsXCJcbiAgICBbZGlzYWJsZWRXZWVrZW5kc109XCJkaXNhYmxlZFdlZWtlbmRzXCJcbiAgICBbZGlzYWJsZWREYXRlc109XCJkaXNhYmxlZERhdGVzXCJcbiAgPlxuICAgIDxzcGFuIHNsb3Q9XCJtZXNzYWdlXCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZGF0YS1mb3JtLWluZm9dXCI+PC9uZy1jb250ZW50PlxuICAgIDwvc3Bhbj5cbiAgPC9nZHMtZGF0ZXBpY2tlcj5cbjwvZGl2PlxuIl19
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, Inject, Injector, Input, Output, ViewChild, } from '@angular/core';
|
|
2
|
-
import { NgControl, NG_VALUE_ACCESSOR, } from '@angular/forms';
|
|
3
|
-
import { NggDropdownOptionDirective } from './dropdown-option.directive';
|
|
4
|
-
import { NggDropdownButtonDirective } from './dropdown-button.directive';
|
|
5
|
-
import '@sebgroup/green-core/components/dropdown/index.js';
|
|
6
|
-
import * as DropdownTransStyles from '@sebgroup/green-core/components/dropdown/dropdown.trans.styles.js';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/common";
|
|
9
|
-
import * as i2 from "@sebgroup/green-angular/src/lib/shared";
|
|
10
|
-
export class NggDropdownComponent {
|
|
11
|
-
constructor(injector, _cdr) {
|
|
12
|
-
this.injector = injector;
|
|
13
|
-
this._cdr = _cdr;
|
|
14
|
-
this.loop = false;
|
|
15
|
-
this.display = 'label';
|
|
16
|
-
this.useValue = 'value';
|
|
17
|
-
this._multiSelect = false;
|
|
18
|
-
this._searchable = false;
|
|
19
|
-
this.valueChange = new EventEmitter();
|
|
20
|
-
this.touched = new EventEmitter();
|
|
21
|
-
this.onValueChange = (event) => {
|
|
22
|
-
const target = event.target;
|
|
23
|
-
this._value = target.value;
|
|
24
|
-
this.texts = {
|
|
25
|
-
...this.texts,
|
|
26
|
-
select: this.displayTextByValue(this._value),
|
|
27
|
-
};
|
|
28
|
-
this.onChangeFn?.(this.value);
|
|
29
|
-
this.valueChange.emit(this.value);
|
|
30
|
-
this._cdr.detectChanges();
|
|
31
|
-
};
|
|
32
|
-
// These adapter functions are used to maintain backwards compatibility with the old interface
|
|
33
|
-
this.compareWithAdapter = (o1, o2) => {
|
|
34
|
-
const compareFn = this.compareWith || ((a, b) => a === b);
|
|
35
|
-
return compareFn(o1, o2);
|
|
36
|
-
};
|
|
37
|
-
this.searchFilterAdapter = (q, o) => {
|
|
38
|
-
if (this.searchFilter)
|
|
39
|
-
return this.searchFilter(q, o.value);
|
|
40
|
-
else
|
|
41
|
-
return ((q, o) => o.innerHTML.toLowerCase().includes(q.toLowerCase()))(q, o);
|
|
42
|
-
};
|
|
43
|
-
this.optionByValue = (value) => {
|
|
44
|
-
return this.options?.find((o) => o[this.useValue] === value);
|
|
45
|
-
};
|
|
46
|
-
this.displayTextByValue = (value) => {
|
|
47
|
-
if (!Array.isArray(value))
|
|
48
|
-
return (this.optionByValue(value)?.[this.display] ||
|
|
49
|
-
(this.texts?.placeholder ?? 'Select'));
|
|
50
|
-
const displayValues = value.map((v) => this.optionByValue(v)?.[this.display]);
|
|
51
|
-
return displayValues?.length > 2
|
|
52
|
-
? `${displayValues.length} ${this.texts?.selected} `
|
|
53
|
-
: displayValues?.join(', ') || (this.texts?.placeholder ?? 'Select');
|
|
54
|
-
};
|
|
55
|
-
DropdownTransStyles.register();
|
|
56
|
-
}
|
|
57
|
-
//
|
|
58
|
-
set options(value) {
|
|
59
|
-
this._options = value;
|
|
60
|
-
this.texts = {
|
|
61
|
-
...this.texts,
|
|
62
|
-
select: this.displayTextByValue(this._value),
|
|
63
|
-
};
|
|
64
|
-
}
|
|
65
|
-
get options() {
|
|
66
|
-
return this._options;
|
|
67
|
-
}
|
|
68
|
-
//
|
|
69
|
-
set multiSelect(value) {
|
|
70
|
-
this._multiSelect = this.convertToBoolean(value);
|
|
71
|
-
}
|
|
72
|
-
get multiSelect() {
|
|
73
|
-
return this._multiSelect;
|
|
74
|
-
}
|
|
75
|
-
//
|
|
76
|
-
set searchable(value) {
|
|
77
|
-
this._searchable = this.convertToBoolean(value);
|
|
78
|
-
}
|
|
79
|
-
get searchable() {
|
|
80
|
-
return this._searchable;
|
|
81
|
-
}
|
|
82
|
-
//
|
|
83
|
-
set value(newValue) {
|
|
84
|
-
if (!this.options)
|
|
85
|
-
return;
|
|
86
|
-
this._value = newValue;
|
|
87
|
-
this.texts = {
|
|
88
|
-
...this.texts,
|
|
89
|
-
select: this.displayTextByValue(this._value),
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
get value() {
|
|
93
|
-
return this._value;
|
|
94
|
-
}
|
|
95
|
-
//
|
|
96
|
-
get selectedOption() {
|
|
97
|
-
return Array.isArray(this.value)
|
|
98
|
-
? this.value.map((v) => this.optionByValue(v))
|
|
99
|
-
: this.optionByValue(this.value);
|
|
100
|
-
}
|
|
101
|
-
get control() {
|
|
102
|
-
return this.injector.get(NgControl);
|
|
103
|
-
}
|
|
104
|
-
ngOnInit() {
|
|
105
|
-
if (!this._value) {
|
|
106
|
-
if (this.multiSelect)
|
|
107
|
-
this._value = this.options
|
|
108
|
-
?.filter((o) => o.selected === true)
|
|
109
|
-
?.map((o) => o[this.useValue]);
|
|
110
|
-
else
|
|
111
|
-
this._value = this.options?.find((o) => o.selected === true)?.[this.useValue];
|
|
112
|
-
this.texts = {
|
|
113
|
-
...this.texts,
|
|
114
|
-
select: this.displayTextByValue(this._value),
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
this.texts = {
|
|
118
|
-
close: this.texts?.close ?? 'Close',
|
|
119
|
-
optionsDescription: this.texts?.optionsDescription ?? 'Options',
|
|
120
|
-
placeholder: this.texts?.placeholder ?? 'Select',
|
|
121
|
-
searchPlaceholder: this.texts?.searchPlaceholder ?? 'Search',
|
|
122
|
-
selected: this.texts?.selected ?? 'selected',
|
|
123
|
-
select: this.displayTextByValue(this._value),
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
writeValue(value) {
|
|
127
|
-
this.value = value;
|
|
128
|
-
this._cdr.detectChanges();
|
|
129
|
-
}
|
|
130
|
-
registerOnChange(fn) {
|
|
131
|
-
this.onChangeFn = fn;
|
|
132
|
-
}
|
|
133
|
-
registerOnTouched(fn) {
|
|
134
|
-
this.onTouchedFn = fn;
|
|
135
|
-
}
|
|
136
|
-
convertToBoolean(value) {
|
|
137
|
-
return (value === '' || value === 'true' || value.toString() === 'true' || false);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
NggDropdownComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownComponent, deps: [{ token: Injector }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
141
|
-
NggDropdownComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggDropdownComponent, selector: "ngg-dropdown", inputs: { id: "id", texts: "texts", loop: "loop", display: "display", useValue: "useValue", label: "label", valid: "valid", invalid: "invalid", compareWith: "compareWith", searchFilter: "searchFilter", syncPopoverWidth: "syncPopoverWidth", size: "size", hideLabel: "hideLabel", maxHeight: "maxHeight", fixedPlacement: "fixedPlacement", options: "options", multiSelect: "multiSelect", searchable: "searchable", value: "value" }, outputs: { valueChange: "valueChange", touched: "touched" }, providers: [
|
|
142
|
-
{
|
|
143
|
-
provide: NG_VALUE_ACCESSOR,
|
|
144
|
-
useExisting: NggDropdownComponent,
|
|
145
|
-
multi: true,
|
|
146
|
-
},
|
|
147
|
-
], queries: [{ propertyName: "customOption", first: true, predicate: NggDropdownOptionDirective, descendants: true }, { propertyName: "customButton", first: true, predicate: NggDropdownButtonDirective, descendants: true }], viewQueries: [{ propertyName: "gdsDropdown", first: true, predicate: ["gdsDropdown"], descendants: true }], ngImport: i0, template: "<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"value\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n [syncPopoverWidth]=\"syncPopoverWidth\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [maxHeight]=\"maxHeight\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <ng-container *ngIf=\"!option.heading; else optionHeading\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n <ng-template #optionHeading>\n <gds-menu-heading *nggCoreElement>{{ option.label }}</gds-menu-heading>\n </ng-template>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span class=\"trigger\">{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n", styles: [".trigger{display:block;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}\n"], dependencies: [{ 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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.NggCoreElementDirective, selector: "[nggCoreElement]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
148
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggDropdownComponent, decorators: [{
|
|
149
|
-
type: Component,
|
|
150
|
-
args: [{ selector: 'ngg-dropdown', providers: [
|
|
151
|
-
{
|
|
152
|
-
provide: NG_VALUE_ACCESSOR,
|
|
153
|
-
useExisting: NggDropdownComponent,
|
|
154
|
-
multi: true,
|
|
155
|
-
},
|
|
156
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"form-group\">\n <gds-dropdown\n *nggCoreElement\n #gdsDropdown\n [value]=\"value\"\n [searchable]=\"searchable\"\n [label]=\"label\"\n (change)=\"onValueChange($event)\"\n [multiple]=\"multiSelect\"\n [invalid]=\"invalid\"\n [compareWith]=\"compareWithAdapter\"\n [searchFilter]=\"searchFilterAdapter\"\n [syncPopoverWidth]=\"syncPopoverWidth\"\n [size]=\"size\"\n [hideLabel]=\"hideLabel\"\n [maxHeight]=\"maxHeight\"\n >\n <span slot=\"message\" #formInfo\n ><ng-content select=\"[data-form-info]\"></ng-content\n ></span>\n\n <span slot=\"trigger\"\n ><ng-container\n *ngTemplateOutlet=\"\n customButton?.templateRef && selectedOption\n ? customButton!.templateRef\n : defaultButton;\n context: { option: selectedOption }\n \"\n ></ng-container\n ></span>\n\n <ng-container *ngFor=\"let option of options; let index = index\">\n <ng-container *ngIf=\"!option.heading; else optionHeading\">\n <gds-option *nggCoreElement [value]=\"option[useValue]\"\n ><ng-container\n *ngTemplateOutlet=\"\n customOption?.templateRef\n ? customOption!.templateRef\n : defaultOption;\n context: { option: option, index: index }\n \"\n ></ng-container\n ></gds-option>\n </ng-container>\n <ng-template #optionHeading>\n <gds-menu-heading *nggCoreElement>{{ option.label }}</gds-menu-heading>\n </ng-template>\n </ng-container>\n </gds-dropdown>\n</div>\n\n<ng-template #defaultButton let-selected=\"option\">\n <span class=\"trigger\">{{ texts?.select }}</span>\n</ng-template>\n\n<ng-template #defaultOption let-option=\"option\">\n {{ display ? option[display] : option.name }}\n</ng-template>\n", styles: [".trigger{display:block;overflow:hidden;text-overflow:ellipsis;text-wrap:nowrap}\n"] }]
|
|
157
|
-
}], ctorParameters: function () { return [{ type: i0.Injector, decorators: [{
|
|
158
|
-
type: Inject,
|
|
159
|
-
args: [Injector]
|
|
160
|
-
}] }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { id: [{
|
|
161
|
-
type: Input
|
|
162
|
-
}], texts: [{
|
|
163
|
-
type: Input
|
|
164
|
-
}], loop: [{
|
|
165
|
-
type: Input
|
|
166
|
-
}], display: [{
|
|
167
|
-
type: Input
|
|
168
|
-
}], useValue: [{
|
|
169
|
-
type: Input
|
|
170
|
-
}], label: [{
|
|
171
|
-
type: Input
|
|
172
|
-
}], valid: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], invalid: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}], compareWith: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], searchFilter: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], syncPopoverWidth: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], size: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], hideLabel: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], maxHeight: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], fixedPlacement: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], options: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], multiSelect: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], searchable: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], value: [{
|
|
197
|
-
type: Input
|
|
198
|
-
}], valueChange: [{
|
|
199
|
-
type: Output
|
|
200
|
-
}], touched: [{
|
|
201
|
-
type: Output
|
|
202
|
-
}], customOption: [{
|
|
203
|
-
type: ContentChild,
|
|
204
|
-
args: [NggDropdownOptionDirective]
|
|
205
|
-
}], customButton: [{
|
|
206
|
-
type: ContentChild,
|
|
207
|
-
args: [NggDropdownButtonDirective]
|
|
208
|
-
}], gdsDropdown: [{
|
|
209
|
-
type: ViewChild,
|
|
210
|
-
args: ['gdsDropdown', { static: false }]
|
|
211
|
-
}] } });
|
|
212
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvZHJvcGRvd24vZHJvcGRvd24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFlBQVksRUFDWixVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUVMLFNBQVMsRUFDVCxpQkFBaUIsR0FDbEIsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV2QixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN4RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUV4RSxPQUFPLG1EQUFtRCxDQUFBO0FBTTFELE9BQU8sS0FBSyxtQkFBbUIsTUFBTSxtRUFBbUUsQ0FBQTs7OztBQWtDeEcsTUFBTSxPQUFPLG9CQUFvQjtJQTJHL0IsWUFDNEIsUUFBa0IsRUFDcEMsSUFBdUI7UUFETCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ3BDLFNBQUksR0FBSixJQUFJLENBQW1CO1FBMUd4QixTQUFJLEdBQWEsS0FBSyxDQUFBO1FBQ3RCLFlBQU8sR0FBRyxPQUFPLENBQUE7UUFDakIsYUFBUSxHQUFHLE9BQU8sQ0FBQTtRQWtDbkIsaUJBQVksR0FBRyxLQUFLLENBQUE7UUFTcEIsZ0JBQVcsR0FBRyxLQUFLLENBQUE7UUE0QlIsZ0JBQVcsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQTtRQUN4RCxZQUFPLEdBQ3hC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aEMsU0FBUzsrQkFDRSxjQUFjLGFBR2I7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxzQkFBc0I7NEJBQ2pDLEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGLG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE4RzVDLE1BQU07MkJBQUMsUUFBUTs0RUEzR1QsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBR08sT0FBTztzQkFBbkIsS0FBSztnQkFhTyxXQUFXO3NCQUF2QixLQUFLO2dCQVNPLFVBQVU7c0JBQXRCLEtBQUs7Z0JBU08sS0FBSztzQkFBakIsS0FBSztnQkF5QmEsV0FBVztzQkFBN0IsTUFBTTtnQkFDWSxPQUFPO3NCQUF6QixNQUFNO2dCQUlQLFlBQVk7c0JBRFgsWUFBWTt1QkFBQywwQkFBMEI7Z0JBSXhDLFlBQVk7c0JBRFgsWUFBWTt1QkFBQywwQkFBMEI7Z0JBR0ssV0FBVztzQkFBdkQsU0FBUzt1QkFBQyxhQUFhLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIEluamVjdG9yLFxuICBJbnB1dCxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICBOZ0NvbnRyb2wsXG4gIE5HX1ZBTFVFX0FDQ0VTU09SLFxufSBmcm9tICdAYW5ndWxhci9mb3JtcydcblxuaW1wb3J0IHsgTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmUgfSBmcm9tICcuL2Ryb3Bkb3duLW9wdGlvbi5kaXJlY3RpdmUnXG5pbXBvcnQgeyBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZSB9IGZyb20gJy4vZHJvcGRvd24tYnV0dG9uLmRpcmVjdGl2ZSdcblxuaW1wb3J0ICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2Ryb3Bkb3duL2luZGV4LmpzJ1xuaW1wb3J0IHR5cGUge1xuICBHZHNEcm9wZG93bixcbiAgR2RzT3B0aW9uLFxufSBmcm9tICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2Ryb3Bkb3duL2luZGV4LmpzJ1xuXG5pbXBvcnQgKiBhcyBEcm9wZG93blRyYW5zU3R5bGVzIGZyb20gJ0BzZWJncm91cC9ncmVlbi1jb3JlL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24udHJhbnMuc3R5bGVzLmpzJ1xuXG5leHBvcnQgdHlwZSBDb21wYXJlV2l0aDxUID0gYW55PiA9IChvMTogVCwgbzI6IFQpID0+IGJvb2xlYW5cbmV4cG9ydCB0eXBlIFNlYXJjaEZpbHRlcjxUID0gYW55PiA9IChzZWFyY2g6IHN0cmluZywgdmFsdWU6IFQpID0+IGJvb2xlYW5cbmV4cG9ydCB0eXBlIERyb3Bkb3duUGxhY2VtZW50cyA9ICdib3R0b20tc3RhcnQnIHwgJ3RvcC1zdGFydCdcbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25UZXh0cyB7XG4gIHNlbGVjdD86IHN0cmluZ1xuICBzZWxlY3RlZD86IHN0cmluZ1xuICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICBzZWFyY2hQbGFjZWhvbGRlcj86IHN0cmluZ1xuICBjbG9zZT86IHN0cmluZ1xuICBvcHRpb25zRGVzY3JpcHRpb24/OiBzdHJpbmdcbn1cbmV4cG9ydCBpbnRlcmZhY2UgRHJvcGRvd25PcHRpb24ge1xuICBsYWJlbD86IHN0cmluZ1xuICB2YWx1ZT86IGFueVxuICBzZWxlY3RlZD86IGJvb2xlYW5cbiAgaGVhZGluZz86IGJvb2xlYW5cbiAgW2tleTogc3RyaW5nXTogYW55XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZy1kcm9wZG93bicsXG4gIHRlbXBsYXRlVXJsOiAnZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogTmdnRHJvcGRvd25Db21wb25lbnQsXG4gICAgICBtdWx0aTogdHJ1ZSxcbiAgICB9LFxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgTmdnRHJvcGRvd25Db21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgT25Jbml0IHtcbiAgQElucHV0KCkgaWQ/OiBzdHJpbmdcbiAgQElucHV0KCkgdGV4dHM/OiBEcm9wZG93blRleHRzXG4gIEBJbnB1dCgpIGxvb3A/OiBib29sZWFuID0gZmFsc2VcbiAgQElucHV0KCkgZGlzcGxheSA9ICdsYWJlbCdcbiAgQElucHV0KCkgdXNlVmFsdWUgPSAndmFsdWUnXG4gIEBJbnB1dCgpIGxhYmVsPzogc3RyaW5nXG4gIEBJbnB1dCgpIHZhbGlkPzogYm9vbGVhblxuICBASW5wdXQoKSBpbnZhbGlkPzogYm9vbGVhblxuICBASW5wdXQoKSBjb21wYXJlV2l0aD86IENvbXBhcmVXaXRoXG4gIEBJbnB1dCgpIHNlYXJjaEZpbHRlcj86IFNlYXJjaEZpbHRlclxuICBASW5wdXQoKSBzeW5jUG9wb3ZlcldpZHRoPzogYm9vbGVhblxuICBASW5wdXQoKSBzaXplPzogJ3NtYWxsJyB8ICdtZWRpdW0nXG4gIEBJbnB1dCgpIGhpZGVMYWJlbD86IGJvb2xlYW5cbiAgQElucHV0KCkgbWF4SGVpZ2h0PzogbnVtYmVyXG5cbiAgLyoqIEBkZXByZWNhdGVkICovXG4gIEBJbnB1dCgpIGZpeGVkUGxhY2VtZW50PzogRHJvcGRvd25QbGFjZW1lbnRzXG5cbiAgLy9cbiAgQElucHV0KCkgc2V0IG9wdGlvbnModmFsdWU6IERyb3Bkb3duT3B0aW9uW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9vcHRpb25zID0gdmFsdWVcbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgLi4udGhpcy50ZXh0cyxcbiAgICAgIHNlbGVjdDogdGhpcy5kaXNwbGF5VGV4dEJ5VmFsdWUodGhpcy5fdmFsdWUpLFxuICAgIH1cbiAgfVxuICBnZXQgb3B0aW9ucygpOiBEcm9wZG93bk9wdGlvbltdIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fb3B0aW9uc1xuICB9XG4gIHByaXZhdGUgX29wdGlvbnM6IERyb3Bkb3duT3B0aW9uW10gfCB1bmRlZmluZWRcblxuICAvL1xuICBASW5wdXQoKSBzZXQgbXVsdGlTZWxlY3QodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9tdWx0aVNlbGVjdCA9IHRoaXMuY29udmVydFRvQm9vbGVhbih2YWx1ZSlcbiAgfVxuICBnZXQgbXVsdGlTZWxlY3QoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX211bHRpU2VsZWN0XG4gIH1cbiAgcHJpdmF0ZSBfbXVsdGlTZWxlY3QgPSBmYWxzZVxuXG4gIC8vXG4gIEBJbnB1dCgpIHNldCBzZWFyY2hhYmxlKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdGhpcy5fc2VhcmNoYWJsZSA9IHRoaXMuY29udmVydFRvQm9vbGVhbih2YWx1ZSlcbiAgfVxuICBnZXQgc2VhcmNoYWJsZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fc2VhcmNoYWJsZVxuICB9XG4gIHByaXZhdGUgX3NlYXJjaGFibGUgPSBmYWxzZVxuXG4gIC8vXG4gIEBJbnB1dCgpIHNldCB2YWx1ZShuZXdWYWx1ZTogYW55KSB7XG4gICAgaWYgKCF0aGlzLm9wdGlvbnMpIHJldHVyblxuXG4gICAgdGhpcy5fdmFsdWUgPSBuZXdWYWx1ZVxuXG4gICAgdGhpcy50ZXh0cyA9IHtcbiAgICAgIC4uLnRoaXMudGV4dHMsXG4gICAgICBzZWxlY3Q6IHRoaXMuZGlzcGxheVRleHRCeVZhbHVlKHRoaXMuX3ZhbHVlKSxcbiAgICB9XG4gIH1cbiAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlXG4gIH1cbiAgcHJpdmF0ZSBfdmFsdWU6IERyb3Bkb3duT3B0aW9uIHwgRHJvcGRvd25PcHRpb25bXSB8IHVuZGVmaW5lZFxuXG4gIC8vXG4gIGdldCBzZWxlY3RlZE9wdGlvbigpIHtcbiAgICByZXR1cm4gQXJyYXkuaXNBcnJheSh0aGlzLnZhbHVlKVxuICAgICAgPyB0aGlzLnZhbHVlLm1hcCgodjogYW55KSA9PiB0aGlzLm9wdGlvbkJ5VmFsdWUodikpXG4gICAgICA6IHRoaXMub3B0aW9uQnlWYWx1ZSh0aGlzLnZhbHVlKVxuICB9XG5cbiAgb25DaGFuZ2VGbj86ICh2YWx1ZTogdW5rbm93bikgPT4gdm9pZFxuICBvblRvdWNoZWRGbj86ICgpID0+IHZvaWRcblxuICBAT3V0cHV0KCkgcmVhZG9ubHkgdmFsdWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KClcbiAgQE91dHB1dCgpIHJlYWRvbmx5IHRvdWNoZWQ6IEV2ZW50RW1pdHRlcjxib29sZWFuPiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpXG5cbiAgQENvbnRlbnRDaGlsZChOZ2dEcm9wZG93bk9wdGlvbkRpcmVjdGl2ZSlcbiAgY3VzdG9tT3B0aW9uPzogTmdnRHJvcGRvd25PcHRpb25EaXJlY3RpdmVcblxuICBAQ29udGVudENoaWxkKE5nZ0Ryb3Bkb3duQnV0dG9uRGlyZWN0aXZlKVxuICBjdXN0b21CdXR0b24/OiBOZ2dEcm9wZG93bkJ1dHRvbkRpcmVjdGl2ZVxuXG4gIEBWaWV3Q2hpbGQoJ2dkc0Ryb3Bkb3duJywgeyBzdGF0aWM6IGZhbHNlIH0pIGdkc0Ryb3Bkb3duPzogRWxlbWVudFJlZlxuXG4gIHB1YmxpYyBvblZhbHVlQ2hhbmdlOiAoZXZlbnQ6IEV2ZW50KSA9PiB2b2lkID0gKGV2ZW50KSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEdkc0Ryb3Bkb3duPERyb3Bkb3duT3B0aW9uPlxuICAgIHRoaXMuX3ZhbHVlID0gdGFyZ2V0LnZhbHVlXG5cbiAgICB0aGlzLnRleHRzID0ge1xuICAgICAgLi4udGhpcy50ZXh0cyxcbiAgICAgIHNlbGVjdDogdGhpcy5kaXNwbGF5VGV4dEJ5VmFsdWUodGhpcy5fdmFsdWUpLFxuICAgIH1cblxuICAgIHRoaXMub25DaGFuZ2VGbj8uKHRoaXMudmFsdWUpXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KHRoaXMudmFsdWUpXG5cbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICBnZXQgY29udHJvbCgpOiBOZ0NvbnRyb2wgfCB1bmRlZmluZWQge1xuICAgIHJldHVybiB0aGlzLmluamVjdG9yLmdldChOZ0NvbnRyb2wpXG4gIH1cblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KEluamVjdG9yKSBwcml2YXRlIGluamVjdG9yOiBJbmplY3RvcixcbiAgICBwcml2YXRlIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICApIHtcbiAgICBEcm9wZG93blRyYW5zU3R5bGVzLnJlZ2lzdGVyKClcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fdmFsdWUpIHtcbiAgICAgIGlmICh0aGlzLm11bHRpU2VsZWN0KVxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMub3B0aW9uc1xuICAgICAgICAgID8uZmlsdGVyKChvKSA9PiBvLnNlbGVjdGVkID09PSB0cnVlKVxuICAgICAgICAgID8ubWFwKChvKSA9PiBvW3RoaXMudXNlVmFsdWVdKVxuICAgICAgZWxzZVxuICAgICAgICB0aGlzLl92YWx1ZSA9IHRoaXMub3B0aW9ucz8uZmluZCgobykgPT4gby5zZWxlY3RlZCA9PT0gdHJ1ZSk/LltcbiAgICAgICAgICB0aGlzLnVzZVZhbHVlXG4gICAgICAgIF1cblxuICAgICAgdGhpcy50ZXh0cyA9IHtcbiAgICAgICAgLi4udGhpcy50ZXh0cyxcbiAgICAgICAgc2VsZWN0OiB0aGlzLmRpc3BsYXlUZXh0QnlWYWx1ZSh0aGlzLl92YWx1ZSksXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy50ZXh0cyA9IHtcbiAgICAgIGNsb3NlOiB0aGlzLnRleHRzPy5jbG9zZSA/PyAnQ2xvc2UnLFxuICAgICAgb3B0aW9uc0Rlc2NyaXB0aW9uOiB0aGlzLnRleHRzPy5vcHRpb25zRGVzY3JpcHRpb24gPz8gJ09wdGlvbnMnLFxuICAgICAgcGxhY2Vob2xkZXI6IHRoaXMudGV4dHM/LnBsYWNlaG9sZGVyID8/ICdTZWxlY3QnLFxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6IHRoaXMudGV4dHM/LnNlYXJjaFBsYWNlaG9sZGVyID8/ICdTZWFyY2gnLFxuICAgICAgc2VsZWN0ZWQ6IHRoaXMudGV4dHM/LnNlbGVjdGVkID8/ICdzZWxlY3RlZCcsXG4gICAgICBzZWxlY3Q6IHRoaXMuZGlzcGxheVRleHRCeVZhbHVlKHRoaXMuX3ZhbHVlKSxcbiAgICB9XG4gIH1cblxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLnZhbHVlID0gdmFsdWVcbiAgICB0aGlzLl9jZHIuZGV0ZWN0Q2hhbmdlcygpXG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB1bmtub3duKTogdm9pZCB7XG4gICAgdGhpcy5vbkNoYW5nZUZuID0gZm5cbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoZWRGbiA9IGZuXG4gIH1cblxuICAvLyBUaGVzZSBhZGFwdGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCB0byBtYWludGFpbiBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBvbGQgaW50ZXJmYWNlXG4gIGNvbXBhcmVXaXRoQWRhcHRlciA9IChvMTogYW55LCBvMjogYW55KSA9PiB7XG4gICAgY29uc3QgY29tcGFyZUZuID0gdGhpcy5jb21wYXJlV2l0aCB8fCAoKGEsIGIpID0+IGEgPT09IGIpXG4gICAgcmV0dXJuIGNvbXBhcmVGbihvMSwgbzIpXG4gIH1cbiAgc2VhcmNoRmlsdGVyQWRhcHRlciA9IChxOiBzdHJpbmcsIG86IEdkc09wdGlvbikgPT4ge1xuICAgIGlmICh0aGlzLnNlYXJjaEZpbHRlcikgcmV0dXJuIHRoaXMuc2VhcmNoRmlsdGVyKHEsIG8udmFsdWUpXG4gICAgZWxzZVxuICAgICAgcmV0dXJuICgocTogc3RyaW5nLCBvOiBHZHNPcHRpb24pID0+XG4gICAgICAgIG8uaW5uZXJIVE1MLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMocS50b0xvd2VyQ2FzZSgpKSkocSwgbylcbiAgfVxuXG4gIHByaXZhdGUgY29udmVydFRvQm9vbGVhbih2YWx1ZTogc3RyaW5nIHwgYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHJldHVybiAoXG4gICAgICB2YWx1ZSA9PT0gJycgfHwgdmFsdWUgPT09ICd0cnVlJyB8fCB2YWx1ZS50b1N0cmluZygpID09PSAndHJ1ZScgfHwgZmFsc2VcbiAgICApXG4gIH1cblxuICBwcml2YXRlIG9wdGlvbkJ5VmFsdWUgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgIHJldHVybiB0aGlzLm9wdGlvbnM/LmZpbmQoKG8pID0+IG9bdGhpcy51c2VWYWx1ZV0gPT09IHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBkaXNwbGF5VGV4dEJ5VmFsdWUgPSAodmFsdWU6IGFueSkgPT4ge1xuICAgIGlmICghQXJyYXkuaXNBcnJheSh2YWx1ZSkpXG4gICAgICByZXR1cm4gKFxuICAgICAgICB0aGlzLm9wdGlvbkJ5VmFsdWUodmFsdWUpPy5bdGhpcy5kaXNwbGF5XSB8fFxuICAgICAgICAodGhpcy50ZXh0cz8ucGxhY2Vob2xkZXIgPz8gJ1NlbGVjdCcpXG4gICAgICApXG5cbiAgICBjb25zdCBkaXNwbGF5VmFsdWVzID0gdmFsdWUubWFwKFxuICAgICAgKHYpID0+IHRoaXMub3B0aW9uQnlWYWx1ZSh2KT8uW3RoaXMuZGlzcGxheV0sXG4gICAgKVxuICAgIHJldHVybiBkaXNwbGF5VmFsdWVzPy5sZW5ndGggPiAyXG4gICAgICA/IGAke2Rpc3BsYXlWYWx1ZXMubGVuZ3RofSAke3RoaXMudGV4dHM/LnNlbGVjdGVkfSBgXG4gICAgICA6IGRpc3BsYXlWYWx1ZXM/LmpvaW4oJywgJykgfHwgKHRoaXMudGV4dHM/LnBsYWNlaG9sZGVyID8/ICdTZWxlY3QnKVxuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxuICA8Z2RzLWRyb3Bkb3duXG4gICAgKm5nZ0NvcmVFbGVtZW50XG4gICAgI2dkc0Ryb3Bkb3duXG4gICAgW3ZhbHVlXT1cInZhbHVlXCJcbiAgICBbc2VhcmNoYWJsZV09XCJzZWFyY2hhYmxlXCJcbiAgICBbbGFiZWxdPVwibGFiZWxcIlxuICAgIChjaGFuZ2UpPVwib25WYWx1ZUNoYW5nZSgkZXZlbnQpXCJcbiAgICBbbXVsdGlwbGVdPVwibXVsdGlTZWxlY3RcIlxuICAgIFtpbnZhbGlkXT1cImludmFsaWRcIlxuICAgIFtjb21wYXJlV2l0aF09XCJjb21wYXJlV2l0aEFkYXB0ZXJcIlxuICAgIFtzZWFyY2hGaWx0ZXJdPVwic2VhcmNoRmlsdGVyQWRhcHRlclwiXG4gICAgW3N5bmNQb3BvdmVyV2lkdGhdPVwic3luY1BvcG92ZXJXaWR0aFwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW2hpZGVMYWJlbF09XCJoaWRlTGFiZWxcIlxuICAgIFttYXhIZWlnaHRdPVwibWF4SGVpZ2h0XCJcbiAgPlxuICAgIDxzcGFuIHNsb3Q9XCJtZXNzYWdlXCIgI2Zvcm1JbmZvXG4gICAgICA+PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2RhdGEtZm9ybS1pbmZvXVwiPjwvbmctY29udGVudFxuICAgID48L3NwYW4+XG5cbiAgICA8c3BhbiBzbG90PVwidHJpZ2dlclwiXG4gICAgICA+PG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cIlxuICAgICAgICAgIGN1c3RvbUJ1dHRvbj8udGVtcGxhdGVSZWYgJiYgc2VsZWN0ZWRPcHRpb25cbiAgICAgICAgICAgID8gY3VzdG9tQnV0dG9uIS50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgOiBkZWZhdWx0QnV0dG9uO1xuICAgICAgICAgIGNvbnRleHQ6IHsgb3B0aW9uOiBzZWxlY3RlZE9wdGlvbiB9XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXJcbiAgICA+PC9zcGFuPlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnM7IGxldCBpbmRleCA9IGluZGV4XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIW9wdGlvbi5oZWFkaW5nOyBlbHNlIG9wdGlvbkhlYWRpbmdcIj5cbiAgICAgICAgPGdkcy1vcHRpb24gKm5nZ0NvcmVFbGVtZW50IFt2YWx1ZV09XCJvcHRpb25bdXNlVmFsdWVdXCJcbiAgICAgICAgICA+PG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICAgICAgY3VzdG9tT3B0aW9uPy50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgID8gY3VzdG9tT3B0aW9uIS50ZW1wbGF0ZVJlZlxuICAgICAgICAgICAgICAgIDogZGVmYXVsdE9wdGlvbjtcbiAgICAgICAgICAgICAgY29udGV4dDogeyBvcHRpb246IG9wdGlvbiwgaW5kZXg6IGluZGV4IH1cbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyXG4gICAgICAgID48L2dkcy1vcHRpb24+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjb3B0aW9uSGVhZGluZz5cbiAgICAgICAgPGdkcy1tZW51LWhlYWRpbmcgKm5nZ0NvcmVFbGVtZW50Pnt7IG9wdGlvbi5sYWJlbCB9fTwvZ2RzLW1lbnUtaGVhZGluZz5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZ2RzLWRyb3Bkb3duPlxuPC9kaXY+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdEJ1dHRvbiBsZXQtc2VsZWN0ZWQ9XCJvcHRpb25cIj5cbiAgPHNwYW4gY2xhc3M9XCJ0cmlnZ2VyXCI+e3sgdGV4dHM/LnNlbGVjdCB9fTwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZGVmYXVsdE9wdGlvbiBsZXQtb3B0aW9uPVwib3B0aW9uXCI+XG4gIHt7IGRpc3BsYXkgPyBvcHRpb25bZGlzcGxheV0gOiBvcHRpb24ubmFtZSB9fVxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|