@sebgroup/green-angular 6.8.0 → 7.0.0-rc.20251125130141487
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/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs +13 -13
- package/fesm2022/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-lib-badge.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-button.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-lib-button.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs +17 -15
- package/fesm2022/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs +17 -15
- package/fesm2022/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs +30 -28
- package/fesm2022/sebgroup-green-angular-src-lib-modal.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs +43 -38
- package/fesm2022/sebgroup-green-angular-src-lib-shared.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-slider.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs +7 -7
- package/fesm2022/sebgroup-green-angular-src-v-angular-account-number.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-alert.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +13 -10
- package/fesm2022/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-button.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs +8 -8
- package/fesm2022/sebgroup-green-angular-src-v-angular-card.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-v-angular-character-countdown.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-checkbox.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs +3 -3
- package/fesm2022/sebgroup-green-angular-src-v-angular-core.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs +52 -43
- package/fesm2022/sebgroup-green-angular-src-v-angular-datepicker.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs +19 -16
- package/fesm2022/sebgroup-green-angular-src-v-angular-drag-drop.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs +32 -32
- package/fesm2022/sebgroup-green-angular-src-v-angular-dropdown.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-v-angular-external-link.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs +19 -16
- package/fesm2022/sebgroup-green-angular-src-v-angular-i18n.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-info-circle.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs +13 -11
- package/fesm2022/sebgroup-green-angular-src-v-angular-input-mask.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-input.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs +22 -21
- package/fesm2022/sebgroup-green-angular-src-v-angular-modal.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-pagination.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs +16 -16
- package/fesm2022/sebgroup-green-angular-src-v-angular-radio.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs +8 -7
- package/fesm2022/sebgroup-green-angular-src-v-angular-slug.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs +28 -24
- package/fesm2022/sebgroup-green-angular-src-v-angular-table.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs +13 -12
- package/fesm2022/sebgroup-green-angular-src-v-angular-tabs.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs +9 -9
- package/fesm2022/sebgroup-green-angular-src-v-angular-textarea.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs +12 -12
- package/fesm2022/sebgroup-green-angular-src-v-angular-toast.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs +9 -8
- package/fesm2022/sebgroup-green-angular-src-v-angular-tooltip.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular-v-angular.mjs +347 -317
- package/fesm2022/sebgroup-green-angular-v-angular.mjs.map +1 -1
- package/fesm2022/sebgroup-green-angular.mjs +201 -188
- package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
- package/package.json +8 -94
- package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +1 -1
- package/src/v-angular/drag-drop/drag-drop.component.d.ts +3 -3
- package/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +1 -1
- package/v-angular/drag-drop/drag-drop.component.d.ts +3 -3
- package/esm2022/index.mjs +0 -18
- package/esm2022/lib/accordion/accordion-list-item.component.mjs +0 -50
- package/esm2022/lib/accordion/accordion.component.mjs +0 -77
- package/esm2022/lib/accordion/accordion.module.mjs +0 -24
- package/esm2022/lib/accordion/index.mjs +0 -4
- package/esm2022/lib/badge/badge.component.mjs +0 -85
- package/esm2022/lib/badge/badge.module.mjs +0 -23
- package/esm2022/lib/badge/index.mjs +0 -3
- package/esm2022/lib/button/button.component.mjs +0 -28
- package/esm2022/lib/button/button.module.mjs +0 -18
- package/esm2022/lib/button/index.mjs +0 -3
- package/esm2022/lib/cell-table/cell-table-item.component.mjs +0 -91
- package/esm2022/lib/cell-table/cell-table.component.mjs +0 -97
- package/esm2022/lib/cell-table/cell-table.module.mjs +0 -26
- package/esm2022/lib/cell-table/cell-table.types.mjs +0 -7
- package/esm2022/lib/cell-table/cell-underline.directive.mjs +0 -55
- package/esm2022/lib/cell-table/index.mjs +0 -4
- package/esm2022/lib/context-menu/context-menu.component.mjs +0 -79
- package/esm2022/lib/context-menu/context-menu.module.mjs +0 -37
- package/esm2022/lib/context-menu/index.mjs +0 -3
- package/esm2022/lib/datepicker/datepicker.component.mjs +0 -144
- package/esm2022/lib/datepicker/datepicker.module.mjs +0 -37
- package/esm2022/lib/datepicker/index.mjs +0 -3
- package/esm2022/lib/dropdown/dropdown-button.directive.mjs +0 -16
- package/esm2022/lib/dropdown/dropdown-option.directive.mjs +0 -16
- package/esm2022/lib/dropdown/dropdown.component.mjs +0 -248
- package/esm2022/lib/dropdown/dropdown.module.mjs +0 -51
- package/esm2022/lib/dropdown/index.mjs +0 -5
- package/esm2022/lib/green-angular.module.mjs +0 -72
- package/esm2022/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +0 -61
- package/esm2022/lib/in-page-wizard/in-page-wizard.module.mjs +0 -18
- package/esm2022/lib/in-page-wizard/index.mjs +0 -3
- package/esm2022/lib/modal/index.mjs +0 -5
- package/esm2022/lib/modal/modal-footer.directive.mjs +0 -16
- package/esm2022/lib/modal/modal-header.directive.mjs +0 -16
- package/esm2022/lib/modal/modal.component.mjs +0 -317
- package/esm2022/lib/modal/modal.module.mjs +0 -44
- package/esm2022/lib/pagination/index.mjs +0 -3
- package/esm2022/lib/pagination/pagination.component.mjs +0 -175
- package/esm2022/lib/pagination/pagination.module.mjs +0 -18
- package/esm2022/lib/progress-circle/index.mjs +0 -3
- package/esm2022/lib/progress-circle/progress-circle.component.mjs +0 -41
- package/esm2022/lib/progress-circle/progress-circle.module.mjs +0 -18
- package/esm2022/lib/segmented-control/index.mjs +0 -3
- package/esm2022/lib/segmented-control/segmented-control.component.mjs +0 -38
- package/esm2022/lib/segmented-control/segmented-control.module.mjs +0 -22
- package/esm2022/lib/shared/core-control/core-checkbox.directive.mjs +0 -39
- package/esm2022/lib/shared/core-control/core-control.directive.mjs +0 -94
- package/esm2022/lib/shared/core-control/core-control.module.mjs +0 -20
- package/esm2022/lib/shared/core-control/index.mjs +0 -4
- package/esm2022/lib/shared/core-element/core-element.directive.mjs +0 -34
- package/esm2022/lib/shared/core-element/core-element.module.mjs +0 -18
- package/esm2022/lib/shared/core-element/index.mjs +0 -3
- package/esm2022/lib/shared/core-renderer/core-renderer.mjs +0 -152
- package/esm2022/lib/shared/core-renderer/index.mjs +0 -2
- package/esm2022/lib/shared/core-router-link/core-router-link.directive.mjs +0 -53
- package/esm2022/lib/shared/core-router-link/core-router-link.module.mjs +0 -16
- package/esm2022/lib/shared/core-router-link/index.mjs +0 -3
- package/esm2022/lib/shared/index.mjs +0 -7
- package/esm2022/lib/shared/on-scroll.directive.mjs +0 -47
- package/esm2022/lib/shared/scope-resolver.mjs +0 -9
- package/esm2022/lib/shared/shared.module.mjs +0 -19
- package/esm2022/lib/slider/index.mjs +0 -3
- package/esm2022/lib/slider/slider.component.mjs +0 -116
- package/esm2022/lib/slider/slider.module.mjs +0 -19
- package/esm2022/lib/sortable-list/index.mjs +0 -3
- package/esm2022/lib/sortable-list/sortable-list.component.mjs +0 -181
- package/esm2022/lib/sortable-list/sortable-list.module.mjs +0 -20
- package/esm2022/sebgroup-green-angular.mjs +0 -5
- package/esm2022/src/lib/accordion/accordion-list-item.component.mjs +0 -50
- package/esm2022/src/lib/accordion/accordion.component.mjs +0 -77
- package/esm2022/src/lib/accordion/accordion.module.mjs +0 -24
- package/esm2022/src/lib/accordion/index.mjs +0 -4
- package/esm2022/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +0 -5
- package/esm2022/src/lib/badge/badge.component.mjs +0 -85
- package/esm2022/src/lib/badge/badge.module.mjs +0 -23
- package/esm2022/src/lib/badge/index.mjs +0 -3
- package/esm2022/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +0 -5
- package/esm2022/src/lib/button/button.component.mjs +0 -28
- package/esm2022/src/lib/button/button.module.mjs +0 -18
- package/esm2022/src/lib/button/index.mjs +0 -3
- package/esm2022/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +0 -5
- package/esm2022/src/lib/cell-table/cell-table-item.component.mjs +0 -91
- package/esm2022/src/lib/cell-table/cell-table.component.mjs +0 -97
- package/esm2022/src/lib/cell-table/cell-table.module.mjs +0 -26
- package/esm2022/src/lib/cell-table/cell-table.types.mjs +0 -7
- package/esm2022/src/lib/cell-table/cell-underline.directive.mjs +0 -55
- package/esm2022/src/lib/cell-table/index.mjs +0 -4
- package/esm2022/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +0 -5
- package/esm2022/src/lib/context-menu/context-menu.component.mjs +0 -79
- package/esm2022/src/lib/context-menu/context-menu.module.mjs +0 -37
- package/esm2022/src/lib/context-menu/index.mjs +0 -3
- package/esm2022/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +0 -5
- package/esm2022/src/lib/datepicker/datepicker.component.mjs +0 -144
- package/esm2022/src/lib/datepicker/datepicker.module.mjs +0 -37
- package/esm2022/src/lib/datepicker/index.mjs +0 -3
- package/esm2022/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +0 -5
- package/esm2022/src/lib/dropdown/dropdown-button.directive.mjs +0 -16
- package/esm2022/src/lib/dropdown/dropdown-option.directive.mjs +0 -16
- package/esm2022/src/lib/dropdown/dropdown.component.mjs +0 -248
- package/esm2022/src/lib/dropdown/dropdown.module.mjs +0 -51
- package/esm2022/src/lib/dropdown/index.mjs +0 -5
- package/esm2022/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +0 -5
- package/esm2022/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +0 -61
- package/esm2022/src/lib/in-page-wizard/in-page-wizard.module.mjs +0 -18
- package/esm2022/src/lib/in-page-wizard/index.mjs +0 -3
- package/esm2022/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +0 -5
- package/esm2022/src/lib/modal/index.mjs +0 -5
- package/esm2022/src/lib/modal/modal-footer.directive.mjs +0 -16
- package/esm2022/src/lib/modal/modal-header.directive.mjs +0 -16
- package/esm2022/src/lib/modal/modal.component.mjs +0 -317
- package/esm2022/src/lib/modal/modal.module.mjs +0 -44
- package/esm2022/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +0 -5
- package/esm2022/src/lib/pagination/index.mjs +0 -3
- package/esm2022/src/lib/pagination/pagination.component.mjs +0 -175
- package/esm2022/src/lib/pagination/pagination.module.mjs +0 -18
- package/esm2022/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +0 -5
- package/esm2022/src/lib/progress-circle/index.mjs +0 -3
- package/esm2022/src/lib/progress-circle/progress-circle.component.mjs +0 -41
- package/esm2022/src/lib/progress-circle/progress-circle.module.mjs +0 -18
- package/esm2022/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +0 -5
- package/esm2022/src/lib/segmented-control/index.mjs +0 -3
- package/esm2022/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +0 -5
- package/esm2022/src/lib/segmented-control/segmented-control.component.mjs +0 -38
- package/esm2022/src/lib/segmented-control/segmented-control.module.mjs +0 -22
- package/esm2022/src/lib/shared/core-control/core-checkbox.directive.mjs +0 -39
- package/esm2022/src/lib/shared/core-control/core-control.directive.mjs +0 -94
- package/esm2022/src/lib/shared/core-control/core-control.module.mjs +0 -20
- package/esm2022/src/lib/shared/core-control/index.mjs +0 -4
- package/esm2022/src/lib/shared/core-element/core-element.directive.mjs +0 -34
- package/esm2022/src/lib/shared/core-element/core-element.module.mjs +0 -18
- package/esm2022/src/lib/shared/core-element/index.mjs +0 -3
- package/esm2022/src/lib/shared/core-renderer/core-renderer.mjs +0 -152
- package/esm2022/src/lib/shared/core-renderer/index.mjs +0 -2
- package/esm2022/src/lib/shared/core-router-link/core-router-link.directive.mjs +0 -53
- package/esm2022/src/lib/shared/core-router-link/core-router-link.module.mjs +0 -16
- package/esm2022/src/lib/shared/core-router-link/index.mjs +0 -3
- package/esm2022/src/lib/shared/index.mjs +0 -7
- package/esm2022/src/lib/shared/on-scroll.directive.mjs +0 -47
- package/esm2022/src/lib/shared/scope-resolver.mjs +0 -9
- package/esm2022/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +0 -5
- package/esm2022/src/lib/shared/shared.module.mjs +0 -19
- package/esm2022/src/lib/slider/index.mjs +0 -3
- package/esm2022/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +0 -5
- package/esm2022/src/lib/slider/slider.component.mjs +0 -116
- package/esm2022/src/lib/slider/slider.module.mjs +0 -19
- package/esm2022/src/lib/sortable-list/index.mjs +0 -3
- package/esm2022/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +0 -5
- package/esm2022/src/lib/sortable-list/sortable-list.component.mjs +0 -181
- package/esm2022/src/lib/sortable-list/sortable-list.module.mjs +0 -20
- package/esm2022/src/v-angular/account-number/account-number.module.mjs +0 -18
- package/esm2022/src/v-angular/account-number/account-number.pipe.mjs +0 -55
- package/esm2022/src/v-angular/account-number/index.mjs +0 -3
- package/esm2022/src/v-angular/account-number/sebgroup-green-angular-src-v-angular-account-number.mjs +0 -5
- package/esm2022/src/v-angular/alert/alert.component.mjs +0 -49
- package/esm2022/src/v-angular/alert/alert.models.mjs +0 -8
- package/esm2022/src/v-angular/alert/alert.module.mjs +0 -18
- package/esm2022/src/v-angular/alert/index.mjs +0 -4
- package/esm2022/src/v-angular/alert/sebgroup-green-angular-src-v-angular-alert.mjs +0 -5
- package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +0 -300
- package/esm2022/src/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +0 -17
- package/esm2022/src/v-angular/base-control-value-accessor/index.mjs +0 -3
- package/esm2022/src/v-angular/base-control-value-accessor/sebgroup-green-angular-src-v-angular-base-control-value-accessor.mjs +0 -5
- package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.component.mjs +0 -25
- package/esm2022/src/v-angular/breadcrumbs/breadcrumbs.module.mjs +0 -20
- package/esm2022/src/v-angular/breadcrumbs/index.mjs +0 -3
- package/esm2022/src/v-angular/breadcrumbs/sebgroup-green-angular-src-v-angular-breadcrumbs.mjs +0 -5
- package/esm2022/src/v-angular/button/button.component.mjs +0 -108
- package/esm2022/src/v-angular/button/button.module.mjs +0 -20
- package/esm2022/src/v-angular/button/index.mjs +0 -3
- package/esm2022/src/v-angular/button/sebgroup-green-angular-src-v-angular-button.mjs +0 -5
- package/esm2022/src/v-angular/card/card.component.mjs +0 -11
- package/esm2022/src/v-angular/card/card.module.mjs +0 -18
- package/esm2022/src/v-angular/card/index.mjs +0 -3
- package/esm2022/src/v-angular/card/sebgroup-green-angular-src-v-angular-card.mjs +0 -5
- package/esm2022/src/v-angular/character-countdown/character-countdown.directive.mjs +0 -51
- package/esm2022/src/v-angular/character-countdown/character-countdown.module.mjs +0 -18
- package/esm2022/src/v-angular/character-countdown/index.mjs +0 -3
- package/esm2022/src/v-angular/character-countdown/sebgroup-green-angular-src-v-angular-character-countdown.mjs +0 -5
- package/esm2022/src/v-angular/checkbox/checkbox.component.mjs +0 -94
- package/esm2022/src/v-angular/checkbox/checkbox.module.mjs +0 -21
- package/esm2022/src/v-angular/checkbox/index.mjs +0 -3
- package/esm2022/src/v-angular/checkbox/sebgroup-green-angular-src-v-angular-checkbox.mjs +0 -5
- package/esm2022/src/v-angular/core/core.globals.mjs +0 -20
- package/esm2022/src/v-angular/core/core.utils.mjs +0 -62
- package/esm2022/src/v-angular/core/index.mjs +0 -3
- package/esm2022/src/v-angular/core/sebgroup-green-angular-src-v-angular-core.mjs +0 -5
- package/esm2022/src/v-angular/datepicker/components/calendar/calendar.component.mjs +0 -200
- package/esm2022/src/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +0 -115
- package/esm2022/src/v-angular/datepicker/components/date-input/date-input.component.mjs +0 -238
- package/esm2022/src/v-angular/datepicker/components/datepicker/datepicker.component.mjs +0 -192
- package/esm2022/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +0 -411
- package/esm2022/src/v-angular/datepicker/datepicker.globals.mjs +0 -20
- package/esm2022/src/v-angular/datepicker/datepicker.models.mjs +0 -56
- package/esm2022/src/v-angular/datepicker/datepicker.module.mjs +0 -63
- package/esm2022/src/v-angular/datepicker/datepicker.utils.mjs +0 -196
- package/esm2022/src/v-angular/datepicker/directives/calendar-date.directive.mjs +0 -47
- package/esm2022/src/v-angular/datepicker/index.mjs +0 -17
- package/esm2022/src/v-angular/datepicker/models/dates.mjs +0 -291
- package/esm2022/src/v-angular/datepicker/pipes/date-thook.pipe.mjs +0 -30
- package/esm2022/src/v-angular/datepicker/pipes/is-disabled.pipe.mjs +0 -37
- package/esm2022/src/v-angular/datepicker/pipes/matches.pipe.mjs +0 -17
- package/esm2022/src/v-angular/datepicker/sebgroup-green-angular-src-v-angular-datepicker.mjs +0 -5
- package/esm2022/src/v-angular/drag-drop/drag-drop.component.mjs +0 -497
- package/esm2022/src/v-angular/drag-drop/drag-drop.models.mjs +0 -2
- package/esm2022/src/v-angular/drag-drop/drag-drop.module.mjs +0 -49
- package/esm2022/src/v-angular/drag-drop/drag-drop.pipes.mjs +0 -70
- package/esm2022/src/v-angular/drag-drop/drag-drop.utils.mjs +0 -76
- package/esm2022/src/v-angular/drag-drop/index.mjs +0 -5
- package/esm2022/src/v-angular/drag-drop/sebgroup-green-angular-src-v-angular-drag-drop.mjs +0 -5
- package/esm2022/src/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +0 -380
- package/esm2022/src/v-angular/dropdown/dropdown-list/index.mjs +0 -2
- package/esm2022/src/v-angular/dropdown/dropdown.component.mjs +0 -303
- package/esm2022/src/v-angular/dropdown/dropdown.module.mjs +0 -38
- package/esm2022/src/v-angular/dropdown/index.mjs +0 -6
- package/esm2022/src/v-angular/dropdown/sebgroup-green-angular-src-v-angular-dropdown.mjs +0 -5
- package/esm2022/src/v-angular/dropdown/typeahead/index.mjs +0 -6
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +0 -110
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +0 -85
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +0 -138
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead.directive.mjs +0 -186
- package/esm2022/src/v-angular/dropdown/typeahead/typeahead.module.mjs +0 -33
- package/esm2022/src/v-angular/external-link/external-link.directive.mjs +0 -37
- package/esm2022/src/v-angular/external-link/external-link.module.mjs +0 -18
- package/esm2022/src/v-angular/external-link/index.mjs +0 -3
- package/esm2022/src/v-angular/external-link/sebgroup-green-angular-src-v-angular-external-link.mjs +0 -5
- package/esm2022/src/v-angular/i18n/i18n.json +0 -13
- package/esm2022/src/v-angular/i18n/i18n.module.mjs +0 -89
- package/esm2022/src/v-angular/i18n/i18n.test.module.mjs +0 -89
- package/esm2022/src/v-angular/i18n/index.mjs +0 -3
- package/esm2022/src/v-angular/i18n/sebgroup-green-angular-src-v-angular-i18n.mjs +0 -5
- package/esm2022/src/v-angular/info-circle/index.mjs +0 -3
- package/esm2022/src/v-angular/info-circle/info-circle.component.mjs +0 -28
- package/esm2022/src/v-angular/info-circle/info-circle.module.mjs +0 -21
- package/esm2022/src/v-angular/info-circle/sebgroup-green-angular-src-v-angular-info-circle.mjs +0 -5
- package/esm2022/src/v-angular/input/index.mjs +0 -3
- package/esm2022/src/v-angular/input/input.component.mjs +0 -248
- package/esm2022/src/v-angular/input/input.module.mjs +0 -41
- package/esm2022/src/v-angular/input/sebgroup-green-angular-src-v-angular-input.mjs +0 -5
- package/esm2022/src/v-angular/input-mask/config.mjs +0 -9
- package/esm2022/src/v-angular/input-mask/constants.mjs +0 -2
- package/esm2022/src/v-angular/input-mask/index.mjs +0 -6
- package/esm2022/src/v-angular/input-mask/input-mask-format.pipe.mjs +0 -21
- package/esm2022/src/v-angular/input-mask/input-mask.directive.mjs +0 -165
- package/esm2022/src/v-angular/input-mask/input-mask.module.mjs +0 -35
- package/esm2022/src/v-angular/input-mask/input-mask.types.mjs +0 -2
- package/esm2022/src/v-angular/input-mask/sebgroup-green-angular-src-v-angular-input-mask.mjs +0 -5
- package/esm2022/src/v-angular/modal/dialog/dialog.component.mjs +0 -242
- package/esm2022/src/v-angular/modal/fold-out/fold-out.component.mjs +0 -167
- package/esm2022/src/v-angular/modal/fold-out/fold-out.directive.mjs +0 -19
- package/esm2022/src/v-angular/modal/fold-out/keyboard-key.enum.mjs +0 -10
- package/esm2022/src/v-angular/modal/index.mjs +0 -6
- package/esm2022/src/v-angular/modal/modal.globals.mjs +0 -20
- package/esm2022/src/v-angular/modal/modal.module.mjs +0 -53
- package/esm2022/src/v-angular/modal/modal.types.mjs +0 -2
- package/esm2022/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.mjs +0 -5
- package/esm2022/src/v-angular/modal/slide-out/slide-out.component.mjs +0 -253
- package/esm2022/src/v-angular/pagination/index.mjs +0 -3
- package/esm2022/src/v-angular/pagination/pagination.component.mjs +0 -144
- package/esm2022/src/v-angular/pagination/pagination.module.mjs +0 -37
- package/esm2022/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.mjs +0 -5
- package/esm2022/src/v-angular/radio/index.mjs +0 -4
- package/esm2022/src/v-angular/radio/radio-group/radio-group.component.mjs +0 -86
- package/esm2022/src/v-angular/radio/radio.component.mjs +0 -153
- package/esm2022/src/v-angular/radio/radio.module.mjs +0 -22
- package/esm2022/src/v-angular/radio/sebgroup-green-angular-src-v-angular-radio.mjs +0 -5
- package/esm2022/src/v-angular/slug/index.mjs +0 -3
- package/esm2022/src/v-angular/slug/sebgroup-green-angular-src-v-angular-slug.mjs +0 -5
- package/esm2022/src/v-angular/slug/slug.module.mjs +0 -18
- package/esm2022/src/v-angular/slug/slug.pipe.mjs +0 -27
- package/esm2022/src/v-angular/table/index.mjs +0 -9
- package/esm2022/src/v-angular/table/sebgroup-green-angular-src-v-angular-table.mjs +0 -5
- package/esm2022/src/v-angular/table/table.component.mjs +0 -426
- package/esm2022/src/v-angular/table/table.directive.mjs +0 -110
- package/esm2022/src/v-angular/table/table.models.mjs +0 -2
- package/esm2022/src/v-angular/table/table.module.mjs +0 -40
- package/esm2022/src/v-angular/table/table.tools.mjs +0 -29
- package/esm2022/src/v-angular/table/tr-thook.pipe.mjs +0 -22
- package/esm2022/src/v-angular/tabs/index.mjs +0 -8
- package/esm2022/src/v-angular/tabs/sebgroup-green-angular-src-v-angular-tabs.mjs +0 -5
- package/esm2022/src/v-angular/tabs/tab.directive.mjs +0 -81
- package/esm2022/src/v-angular/tabs/tabs.component.mjs +0 -262
- package/esm2022/src/v-angular/tabs/tabs.models.mjs +0 -2
- package/esm2022/src/v-angular/tabs/tabs.module.mjs +0 -21
- package/esm2022/src/v-angular/textarea/index.mjs +0 -3
- package/esm2022/src/v-angular/textarea/sebgroup-green-angular-src-v-angular-textarea.mjs +0 -5
- package/esm2022/src/v-angular/textarea/textarea.component.mjs +0 -129
- package/esm2022/src/v-angular/textarea/textarea.module.mjs +0 -34
- package/esm2022/src/v-angular/toast/index.mjs +0 -8
- package/esm2022/src/v-angular/toast/sebgroup-green-angular-src-v-angular-toast.mjs +0 -5
- package/esm2022/src/v-angular/toast/toast-message.service.mjs +0 -82
- package/esm2022/src/v-angular/toast/toast.component.mjs +0 -66
- package/esm2022/src/v-angular/toast/toast.models.mjs +0 -8
- package/esm2022/src/v-angular/toast/toast.module.mjs +0 -21
- package/esm2022/src/v-angular/tooltip/index.mjs +0 -3
- package/esm2022/src/v-angular/tooltip/sebgroup-green-angular-src-v-angular-tooltip.mjs +0 -5
- package/esm2022/src/v-angular/tooltip/tooltip.directive.mjs +0 -293
- package/esm2022/src/v-angular/tooltip/tooltip.module.mjs +0 -18
- package/esm2022/src/v-angular/tooltip/tooltip.styles.mjs +0 -60
- package/esm2022/v-angular/account-number/account-number.module.mjs +0 -18
- package/esm2022/v-angular/account-number/account-number.pipe.mjs +0 -55
- package/esm2022/v-angular/account-number/index.mjs +0 -3
- package/esm2022/v-angular/alert/alert.component.mjs +0 -49
- package/esm2022/v-angular/alert/alert.models.mjs +0 -8
- package/esm2022/v-angular/alert/alert.module.mjs +0 -18
- package/esm2022/v-angular/alert/index.mjs +0 -4
- package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.component.mjs +0 -300
- package/esm2022/v-angular/base-control-value-accessor/base-control-value-accessor.module.mjs +0 -17
- package/esm2022/v-angular/base-control-value-accessor/index.mjs +0 -3
- package/esm2022/v-angular/breadcrumbs/breadcrumbs.component.mjs +0 -25
- package/esm2022/v-angular/breadcrumbs/breadcrumbs.module.mjs +0 -20
- package/esm2022/v-angular/breadcrumbs/index.mjs +0 -3
- package/esm2022/v-angular/button/button.component.mjs +0 -108
- package/esm2022/v-angular/button/button.module.mjs +0 -20
- package/esm2022/v-angular/button/index.mjs +0 -3
- package/esm2022/v-angular/card/card.component.mjs +0 -11
- package/esm2022/v-angular/card/card.module.mjs +0 -18
- package/esm2022/v-angular/card/index.mjs +0 -3
- package/esm2022/v-angular/character-countdown/character-countdown.directive.mjs +0 -51
- package/esm2022/v-angular/character-countdown/character-countdown.module.mjs +0 -18
- package/esm2022/v-angular/character-countdown/index.mjs +0 -3
- package/esm2022/v-angular/checkbox/checkbox.component.mjs +0 -94
- package/esm2022/v-angular/checkbox/checkbox.module.mjs +0 -21
- package/esm2022/v-angular/checkbox/index.mjs +0 -3
- package/esm2022/v-angular/core/core.globals.mjs +0 -20
- package/esm2022/v-angular/core/core.utils.mjs +0 -62
- package/esm2022/v-angular/core/index.mjs +0 -3
- package/esm2022/v-angular/datepicker/components/calendar/calendar.component.mjs +0 -200
- package/esm2022/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs +0 -115
- package/esm2022/v-angular/datepicker/components/date-input/date-input.component.mjs +0 -238
- package/esm2022/v-angular/datepicker/components/datepicker/datepicker.component.mjs +0 -192
- package/esm2022/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.mjs +0 -411
- package/esm2022/v-angular/datepicker/datepicker.globals.mjs +0 -20
- package/esm2022/v-angular/datepicker/datepicker.models.mjs +0 -56
- package/esm2022/v-angular/datepicker/datepicker.module.mjs +0 -63
- package/esm2022/v-angular/datepicker/datepicker.utils.mjs +0 -196
- package/esm2022/v-angular/datepicker/directives/calendar-date.directive.mjs +0 -47
- package/esm2022/v-angular/datepicker/index.mjs +0 -17
- package/esm2022/v-angular/datepicker/models/dates.mjs +0 -291
- package/esm2022/v-angular/datepicker/pipes/date-thook.pipe.mjs +0 -30
- package/esm2022/v-angular/datepicker/pipes/is-disabled.pipe.mjs +0 -37
- package/esm2022/v-angular/datepicker/pipes/matches.pipe.mjs +0 -17
- package/esm2022/v-angular/drag-drop/drag-drop.component.mjs +0 -497
- package/esm2022/v-angular/drag-drop/drag-drop.models.mjs +0 -2
- package/esm2022/v-angular/drag-drop/drag-drop.module.mjs +0 -49
- package/esm2022/v-angular/drag-drop/drag-drop.pipes.mjs +0 -70
- package/esm2022/v-angular/drag-drop/drag-drop.utils.mjs +0 -76
- package/esm2022/v-angular/drag-drop/index.mjs +0 -5
- package/esm2022/v-angular/dropdown/dropdown-list/dropdown-list.component.mjs +0 -380
- package/esm2022/v-angular/dropdown/dropdown-list/index.mjs +0 -2
- package/esm2022/v-angular/dropdown/dropdown.component.mjs +0 -303
- package/esm2022/v-angular/dropdown/dropdown.module.mjs +0 -38
- package/esm2022/v-angular/dropdown/index.mjs +0 -6
- package/esm2022/v-angular/dropdown/typeahead/index.mjs +0 -6
- package/esm2022/v-angular/dropdown/typeahead/typeahead-dropdown-list/typeahead-dropdown-list.component.mjs +0 -110
- package/esm2022/v-angular/dropdown/typeahead/typeahead-highlight/typeahead-highlight.component.mjs +0 -85
- package/esm2022/v-angular/dropdown/typeahead/typeahead-input/typeahead-input.component.mjs +0 -138
- package/esm2022/v-angular/dropdown/typeahead/typeahead.directive.mjs +0 -186
- package/esm2022/v-angular/dropdown/typeahead/typeahead.module.mjs +0 -33
- package/esm2022/v-angular/external-link/external-link.directive.mjs +0 -37
- package/esm2022/v-angular/external-link/external-link.module.mjs +0 -18
- package/esm2022/v-angular/external-link/index.mjs +0 -3
- package/esm2022/v-angular/i18n/i18n.json +0 -13
- package/esm2022/v-angular/i18n/i18n.module.mjs +0 -89
- package/esm2022/v-angular/i18n/i18n.test.module.mjs +0 -89
- package/esm2022/v-angular/i18n/index.mjs +0 -3
- package/esm2022/v-angular/index.mjs +0 -29
- package/esm2022/v-angular/info-circle/index.mjs +0 -3
- package/esm2022/v-angular/info-circle/info-circle.component.mjs +0 -28
- package/esm2022/v-angular/info-circle/info-circle.module.mjs +0 -21
- package/esm2022/v-angular/input/index.mjs +0 -3
- package/esm2022/v-angular/input/input.component.mjs +0 -248
- package/esm2022/v-angular/input/input.module.mjs +0 -41
- package/esm2022/v-angular/input-mask/config.mjs +0 -9
- package/esm2022/v-angular/input-mask/constants.mjs +0 -2
- package/esm2022/v-angular/input-mask/index.mjs +0 -6
- package/esm2022/v-angular/input-mask/input-mask-format.pipe.mjs +0 -21
- package/esm2022/v-angular/input-mask/input-mask.directive.mjs +0 -165
- package/esm2022/v-angular/input-mask/input-mask.module.mjs +0 -35
- package/esm2022/v-angular/input-mask/input-mask.types.mjs +0 -2
- package/esm2022/v-angular/modal/dialog/dialog.component.mjs +0 -242
- package/esm2022/v-angular/modal/fold-out/fold-out.component.mjs +0 -167
- package/esm2022/v-angular/modal/fold-out/fold-out.directive.mjs +0 -19
- package/esm2022/v-angular/modal/fold-out/keyboard-key.enum.mjs +0 -10
- package/esm2022/v-angular/modal/index.mjs +0 -6
- package/esm2022/v-angular/modal/modal.globals.mjs +0 -20
- package/esm2022/v-angular/modal/modal.module.mjs +0 -53
- package/esm2022/v-angular/modal/modal.types.mjs +0 -2
- package/esm2022/v-angular/modal/slide-out/slide-out.component.mjs +0 -253
- package/esm2022/v-angular/pagination/index.mjs +0 -3
- package/esm2022/v-angular/pagination/pagination.component.mjs +0 -144
- package/esm2022/v-angular/pagination/pagination.module.mjs +0 -37
- package/esm2022/v-angular/radio/index.mjs +0 -4
- package/esm2022/v-angular/radio/radio-group/radio-group.component.mjs +0 -86
- package/esm2022/v-angular/radio/radio.component.mjs +0 -153
- package/esm2022/v-angular/radio/radio.module.mjs +0 -22
- package/esm2022/v-angular/sebgroup-green-angular-v-angular.mjs +0 -5
- package/esm2022/v-angular/slug/index.mjs +0 -3
- package/esm2022/v-angular/slug/slug.module.mjs +0 -18
- package/esm2022/v-angular/slug/slug.pipe.mjs +0 -27
- package/esm2022/v-angular/table/index.mjs +0 -9
- package/esm2022/v-angular/table/table.component.mjs +0 -426
- package/esm2022/v-angular/table/table.directive.mjs +0 -110
- package/esm2022/v-angular/table/table.models.mjs +0 -2
- package/esm2022/v-angular/table/table.module.mjs +0 -40
- package/esm2022/v-angular/table/table.tools.mjs +0 -29
- package/esm2022/v-angular/table/tr-thook.pipe.mjs +0 -22
- package/esm2022/v-angular/tabs/index.mjs +0 -8
- package/esm2022/v-angular/tabs/tab.directive.mjs +0 -81
- package/esm2022/v-angular/tabs/tabs.component.mjs +0 -262
- package/esm2022/v-angular/tabs/tabs.models.mjs +0 -2
- package/esm2022/v-angular/tabs/tabs.module.mjs +0 -21
- package/esm2022/v-angular/textarea/index.mjs +0 -3
- package/esm2022/v-angular/textarea/textarea.component.mjs +0 -129
- package/esm2022/v-angular/textarea/textarea.module.mjs +0 -34
- package/esm2022/v-angular/toast/index.mjs +0 -8
- package/esm2022/v-angular/toast/toast-message.service.mjs +0 -82
- package/esm2022/v-angular/toast/toast.component.mjs +0 -66
- package/esm2022/v-angular/toast/toast.models.mjs +0 -8
- package/esm2022/v-angular/toast/toast.module.mjs +0 -21
- package/esm2022/v-angular/tooltip/index.mjs +0 -3
- package/esm2022/v-angular/tooltip/tooltip.directive.mjs +0 -293
- package/esm2022/v-angular/tooltip/tooltip.module.mjs +0 -18
- package/esm2022/v-angular/tooltip/tooltip.styles.mjs +0 -60
- package/esm2022/v-angular/v-angular.module.mjs +0 -132
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DropdownUtils {
|
|
4
|
-
flattenOptions(options, mustHaveLabel) {
|
|
5
|
-
if (!options)
|
|
6
|
-
return [];
|
|
7
|
-
return options.reduce((acc, current) => {
|
|
8
|
-
if (this.isGroup(current))
|
|
9
|
-
return acc.concat(this.flattenOptions(current.options, mustHaveLabel));
|
|
10
|
-
if (!current.disabled && !(mustHaveLabel && !current.label))
|
|
11
|
-
acc.push(current); // skip disabled
|
|
12
|
-
return acc;
|
|
13
|
-
}, []);
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Returns true if argument is an {@link OptionGroup}.
|
|
17
|
-
* @param option the object to check.
|
|
18
|
-
*/
|
|
19
|
-
isGroup(option) {
|
|
20
|
-
return 'options' in option;
|
|
21
|
-
}
|
|
22
|
-
deepEqual(original, change) {
|
|
23
|
-
if (original === change)
|
|
24
|
-
return true;
|
|
25
|
-
// breaks early if either original or change is a primitive value
|
|
26
|
-
if (typeof original !== 'object' ||
|
|
27
|
-
typeof change !== 'object' ||
|
|
28
|
-
original == null ||
|
|
29
|
-
change == null)
|
|
30
|
-
return false;
|
|
31
|
-
const keysOriginal = Object.keys(original);
|
|
32
|
-
const keysChange = Object.keys(change);
|
|
33
|
-
if (keysOriginal.length !== keysChange.length)
|
|
34
|
-
return false;
|
|
35
|
-
for (const key of keysOriginal) {
|
|
36
|
-
if (!keysChange.includes(key))
|
|
37
|
-
return false;
|
|
38
|
-
switch (true) {
|
|
39
|
-
case Array.isArray(original[key]) && Array.isArray(change[key]):
|
|
40
|
-
if (JSON.stringify(original[key].sort()) !==
|
|
41
|
-
JSON.stringify(change[key].sort()))
|
|
42
|
-
return false;
|
|
43
|
-
break;
|
|
44
|
-
case typeof original[key] === 'function':
|
|
45
|
-
case typeof change[key] === 'function':
|
|
46
|
-
if (original[key].toString() !== change[key].toString())
|
|
47
|
-
return false;
|
|
48
|
-
break;
|
|
49
|
-
default:
|
|
50
|
-
if (!this.deepEqual(original[key], change[key]))
|
|
51
|
-
return false;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
return true;
|
|
55
|
-
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownUtils, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
57
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownUtils }); }
|
|
58
|
-
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DropdownUtils, decorators: [{
|
|
60
|
-
type: Injectable
|
|
61
|
-
}] });
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2NvcmUvY29yZS51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFBOztBQWlCMUMsTUFBTSxPQUFPLGFBQWE7SUFLakIsY0FBYyxDQUNuQixPQUFvQyxFQUNwQyxhQUFzQjtRQUV0QixJQUFJLENBQUMsT0FBTztZQUFFLE9BQU8sRUFBUyxDQUFBO1FBQzlCLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxPQUFPLEVBQUUsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO2dCQUN2QixPQUFPLEdBQUcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUE7WUFDeEUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLElBQUksQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7Z0JBQ3pELEdBQUcsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUEsQ0FBQyxnQkFBZ0I7WUFDcEMsT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDLEVBQUUsRUFBUyxDQUFDLENBQUE7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksT0FBTyxDQUFDLE1BQXFCO1FBQ2xDLE9BQU8sU0FBUyxJQUFJLE1BQU0sQ0FBQTtJQUM1QixDQUFDO0lBRU0sU0FBUyxDQUFDLFFBQWEsRUFBRSxNQUFXO1FBQ3pDLElBQUksUUFBUSxLQUFLLE1BQU07WUFBRSxPQUFPLElBQUksQ0FBQTtRQUVwQyxpRUFBaUU7UUFDakUsSUFDRSxPQUFPLFFBQVEsS0FBSyxRQUFRO1lBQzVCLE9BQU8sTUFBTSxLQUFLLFFBQVE7WUFDMUIsUUFBUSxJQUFJLElBQUk7WUFDaEIsTUFBTSxJQUFJLElBQUk7WUFFZCxPQUFPLEtBQUssQ0FBQTtRQUVkLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDMUMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUV0QyxJQUFJLFlBQVksQ0FBQyxNQUFNLEtBQUssVUFBVSxDQUFDLE1BQU07WUFBRSxPQUFPLEtBQUssQ0FBQTtRQUUzRCxLQUFLLE1BQU0sR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQy9CLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFBRSxPQUFPLEtBQUssQ0FBQTtZQUUzQyxRQUFRLElBQUksRUFBRSxDQUFDO2dCQUNiLEtBQUssS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztvQkFDN0QsSUFDRSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQzt3QkFDcEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7d0JBRWxDLE9BQU8sS0FBSyxDQUFBO29CQUNkLE1BQUs7Z0JBQ1AsS0FBSyxPQUFPLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxVQUFVLENBQUM7Z0JBQ3pDLEtBQUssT0FBTyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssVUFBVTtvQkFDcEMsSUFBSSxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEtBQUssTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRTt3QkFBRSxPQUFPLEtBQUssQ0FBQTtvQkFDckUsTUFBSztnQkFDUDtvQkFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO3dCQUFFLE9BQU8sS0FBSyxDQUFBO1lBQ2pFLENBQUM7UUFDSCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUE7SUFDYixDQUFDOytHQWpFVSxhQUFhO21IQUFiLGFBQWE7OzRGQUFiLGFBQWE7a0JBRHpCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IGludGVyZmFjZSBPcHRpb248SywgVj4ge1xuICBrZXk6IEtcbiAgbGFiZWw6IFZcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0aW9uR3JvdXA8VCBleHRlbmRzIE9wdGlvbjxhbnksIGFueT4+IHtcbiAgbGFiZWw6IHN0cmluZ1xuICBvcHRpb25zOiBUW11cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCB0eXBlIE9wdGlvbkJhc2U8VCBleHRlbmRzIE9wdGlvbjxhbnksIGFueT4+ID0gVCB8IE9wdGlvbkdyb3VwPFQ+XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBEcm9wZG93blV0aWxzPFxuICBLID0gc3RyaW5nIHwgbnVsbCxcbiAgViA9IHN0cmluZyxcbiAgVCBleHRlbmRzIE9wdGlvbjxLLCBWPiA9IE9wdGlvbjxLLCBWPixcbj4ge1xuICBwdWJsaWMgZmxhdHRlbk9wdGlvbnMoXG4gICAgb3B0aW9uczogT3B0aW9uQmFzZTxUPltdIHwgdW5kZWZpbmVkLFxuICAgIG11c3RIYXZlTGFiZWw6IGJvb2xlYW4sXG4gICk6IFRbXSB7XG4gICAgaWYgKCFvcHRpb25zKSByZXR1cm4gW10gYXMgVFtdXG4gICAgcmV0dXJuIG9wdGlvbnMucmVkdWNlKChhY2MsIGN1cnJlbnQpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzR3JvdXAoY3VycmVudCkpXG4gICAgICAgIHJldHVybiBhY2MuY29uY2F0KHRoaXMuZmxhdHRlbk9wdGlvbnMoY3VycmVudC5vcHRpb25zLCBtdXN0SGF2ZUxhYmVsKSlcbiAgICAgIGlmICghY3VycmVudC5kaXNhYmxlZCAmJiAhKG11c3RIYXZlTGFiZWwgJiYgIWN1cnJlbnQubGFiZWwpKVxuICAgICAgICBhY2MucHVzaChjdXJyZW50KSAvLyBza2lwIGRpc2FibGVkXG4gICAgICByZXR1cm4gYWNjXG4gICAgfSwgW10gYXMgVFtdKVxuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdHJ1ZSBpZiBhcmd1bWVudCBpcyBhbiB7QGxpbmsgT3B0aW9uR3JvdXB9LlxuICAgKiBAcGFyYW0gb3B0aW9uIHRoZSBvYmplY3QgdG8gY2hlY2suXG4gICAqL1xuICBwdWJsaWMgaXNHcm91cChvcHRpb246IE9wdGlvbkJhc2U8VD4pOiBvcHRpb24gaXMgT3B0aW9uR3JvdXA8VD4ge1xuICAgIHJldHVybiAnb3B0aW9ucycgaW4gb3B0aW9uXG4gIH1cblxuICBwdWJsaWMgZGVlcEVxdWFsKG9yaWdpbmFsOiBhbnksIGNoYW5nZTogYW55KTogYm9vbGVhbiB7XG4gICAgaWYgKG9yaWdpbmFsID09PSBjaGFuZ2UpIHJldHVybiB0cnVlXG5cbiAgICAvLyBicmVha3MgZWFybHkgaWYgZWl0aGVyIG9yaWdpbmFsIG9yIGNoYW5nZSBpcyBhIHByaW1pdGl2ZSB2YWx1ZVxuICAgIGlmIChcbiAgICAgIHR5cGVvZiBvcmlnaW5hbCAhPT0gJ29iamVjdCcgfHxcbiAgICAgIHR5cGVvZiBjaGFuZ2UgIT09ICdvYmplY3QnIHx8XG4gICAgICBvcmlnaW5hbCA9PSBudWxsIHx8XG4gICAgICBjaGFuZ2UgPT0gbnVsbFxuICAgIClcbiAgICAgIHJldHVybiBmYWxzZVxuXG4gICAgY29uc3Qga2V5c09yaWdpbmFsID0gT2JqZWN0LmtleXMob3JpZ2luYWwpXG4gICAgY29uc3Qga2V5c0NoYW5nZSA9IE9iamVjdC5rZXlzKGNoYW5nZSlcblxuICAgIGlmIChrZXlzT3JpZ2luYWwubGVuZ3RoICE9PSBrZXlzQ2hhbmdlLmxlbmd0aCkgcmV0dXJuIGZhbHNlXG5cbiAgICBmb3IgKGNvbnN0IGtleSBvZiBrZXlzT3JpZ2luYWwpIHtcbiAgICAgIGlmICgha2V5c0NoYW5nZS5pbmNsdWRlcyhrZXkpKSByZXR1cm4gZmFsc2VcblxuICAgICAgc3dpdGNoICh0cnVlKSB7XG4gICAgICAgIGNhc2UgQXJyYXkuaXNBcnJheShvcmlnaW5hbFtrZXldKSAmJiBBcnJheS5pc0FycmF5KGNoYW5nZVtrZXldKTpcbiAgICAgICAgICBpZiAoXG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShvcmlnaW5hbFtrZXldLnNvcnQoKSkgIT09XG4gICAgICAgICAgICBKU09OLnN0cmluZ2lmeShjaGFuZ2Vba2V5XS5zb3J0KCkpXG4gICAgICAgICAgKVxuICAgICAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgY2FzZSB0eXBlb2Ygb3JpZ2luYWxba2V5XSA9PT0gJ2Z1bmN0aW9uJzpcbiAgICAgICAgY2FzZSB0eXBlb2YgY2hhbmdlW2tleV0gPT09ICdmdW5jdGlvbic6XG4gICAgICAgICAgaWYgKG9yaWdpbmFsW2tleV0udG9TdHJpbmcoKSAhPT0gY2hhbmdlW2tleV0udG9TdHJpbmcoKSkgcmV0dXJuIGZhbHNlXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICBpZiAoIXRoaXMuZGVlcEVxdWFsKG9yaWdpbmFsW2tleV0sIGNoYW5nZVtrZXldKSkgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './core.globals';
|
|
2
|
-
export * from './core.utils';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9jb3JlL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZ0JBQWdCLENBQUE7QUFDOUIsY0FBYyxjQUFjLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvcmUuZ2xvYmFscydcbmV4cG9ydCAqIGZyb20gJy4vY29yZS51dGlscydcbiJdfQ==
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ViZ3JvdXAtZ3JlZW4tYW5ndWxhci1zcmMtdi1hbmd1bGFyLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9jb3JlL3NlYmdyb3VwLWdyZWVuLWFuZ3VsYXItc3JjLXYtYW5ndWxhci1jb3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
import { WeekDay } from '@angular/common';
|
|
2
|
-
import { Component, EventEmitter, HostListener, Input, Output, QueryList, ViewChildren, } from '@angular/core';
|
|
3
|
-
import { generateDateMatrix, getDayOffset, sortWeekDays, } from '../../datepicker.utils';
|
|
4
|
-
import { CalendarDateDirective } from '../../directives/calendar-date.directive';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "@angular/common";
|
|
7
|
-
import * as i2 from "../../directives/calendar-date.directive";
|
|
8
|
-
import * as i3 from "../../pipes/is-disabled.pipe";
|
|
9
|
-
import * as i4 from "../../pipes/date-thook.pipe";
|
|
10
|
-
import * as i5 from "../../pipes/matches.pipe";
|
|
11
|
-
export class CalendarComponent {
|
|
12
|
-
constructor() {
|
|
13
|
-
this.dateClick = new EventEmitter();
|
|
14
|
-
this.minCalendarRows = 5;
|
|
15
|
-
this.firstDayOfWeek = WeekDay.Monday;
|
|
16
|
-
this.type = 'normal';
|
|
17
|
-
this.dateMatrix = [[]];
|
|
18
|
-
this.disableDateConfig = {};
|
|
19
|
-
this.lastDayOfWeek = WeekDay.Sunday;
|
|
20
|
-
}
|
|
21
|
-
// inputs that affects which dates in the calendar should be grayed out
|
|
22
|
-
set disableDates(value) {
|
|
23
|
-
this.updateDisableDateConfig({ excludeDates: value ?? [] });
|
|
24
|
-
}
|
|
25
|
-
set disableWeekDays(value) {
|
|
26
|
-
this.updateDisableDateConfig({ excludeDays: value });
|
|
27
|
-
}
|
|
28
|
-
set firstValid(value) {
|
|
29
|
-
this.updateDisableDateConfig({ fromDate: value });
|
|
30
|
-
}
|
|
31
|
-
set lastValid(value) {
|
|
32
|
-
this.updateDisableDateConfig({ toDate: value });
|
|
33
|
-
}
|
|
34
|
-
set closingTime(value) {
|
|
35
|
-
this.updateDisableDateConfig({ closingTime: value });
|
|
36
|
-
}
|
|
37
|
-
ngOnChanges(changes) {
|
|
38
|
-
if (changes.selected?.currentValue) {
|
|
39
|
-
this.selected = new Date(changes.selected.currentValue);
|
|
40
|
-
}
|
|
41
|
-
if (changes.firstDayOfWeek?.currentValue) {
|
|
42
|
-
this.lastDayOfWeek = sortWeekDays(changes.firstDayOfWeek.currentValue).pop();
|
|
43
|
-
}
|
|
44
|
-
if ((changes.month?.currentValue !== undefined &&
|
|
45
|
-
changes.month?.currentValue !== null) ||
|
|
46
|
-
!!changes.year?.currentValue ||
|
|
47
|
-
!!changes.firstDayOfWeek?.currentValue ||
|
|
48
|
-
!!changes.minCalendarRows?.currentValue) {
|
|
49
|
-
this.dateMatrix = generateDateMatrix(this.month, this.year, this.minCalendarRows, this.firstDayOfWeek);
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
clickDate(date) {
|
|
53
|
-
this.dateClick.emit(date);
|
|
54
|
-
}
|
|
55
|
-
keyNavigation(event) {
|
|
56
|
-
let activeElement;
|
|
57
|
-
if (event.key !== 'Tab')
|
|
58
|
-
activeElement = document.activeElement;
|
|
59
|
-
if (event.key === 'ArrowRight') {
|
|
60
|
-
const nextFocusable = this.getNextFocusable(activeElement);
|
|
61
|
-
if (nextFocusable)
|
|
62
|
-
nextFocusable.focus();
|
|
63
|
-
}
|
|
64
|
-
if (event.key === 'ArrowLeft') {
|
|
65
|
-
const nextFocusable = this.getPreviousFocusable(activeElement);
|
|
66
|
-
if (nextFocusable)
|
|
67
|
-
nextFocusable.focus();
|
|
68
|
-
}
|
|
69
|
-
if (event.key === 'ArrowUp') {
|
|
70
|
-
event.preventDefault();
|
|
71
|
-
const nextFocusable = this.getElementWithOffset(activeElement, -7);
|
|
72
|
-
if (nextFocusable)
|
|
73
|
-
nextFocusable.focus();
|
|
74
|
-
}
|
|
75
|
-
if (event.key === 'ArrowDown') {
|
|
76
|
-
event.preventDefault();
|
|
77
|
-
const nextFocusable = this.getElementWithOffset(activeElement, 7);
|
|
78
|
-
if (nextFocusable)
|
|
79
|
-
nextFocusable.focus();
|
|
80
|
-
}
|
|
81
|
-
if (event.key === 'Enter' || event.key === 'Space') {
|
|
82
|
-
if (activeElement) {
|
|
83
|
-
const dateRef = this.dateButtonRefs.find((ref) => ref.nativeElement === activeElement);
|
|
84
|
-
if (!dateRef?.disabled) {
|
|
85
|
-
this.dateClick.emit(dateRef?.calendarDate);
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
if (event.key === 'Home') {
|
|
90
|
-
event.preventDefault();
|
|
91
|
-
const nextFocusable = this.firstDayOfWeekElement();
|
|
92
|
-
if (nextFocusable)
|
|
93
|
-
nextFocusable.focus();
|
|
94
|
-
}
|
|
95
|
-
if (event.key === 'End') {
|
|
96
|
-
event.preventDefault();
|
|
97
|
-
const nextFocusable = this.lastDayOfWeekElement();
|
|
98
|
-
if (nextFocusable)
|
|
99
|
-
nextFocusable.focus();
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
getElementWithOffset(fromElement, offsetDays, returnOnlyEnabled = true) {
|
|
103
|
-
if (!fromElement)
|
|
104
|
-
return;
|
|
105
|
-
const fromIndex = this.dateButtonRefs
|
|
106
|
-
.toArray()
|
|
107
|
-
.map((ref) => ref.nativeElement)
|
|
108
|
-
.indexOf(fromElement);
|
|
109
|
-
const next = this.dateButtonRefs.get(fromIndex + offsetDays);
|
|
110
|
-
if (!next)
|
|
111
|
-
return;
|
|
112
|
-
if (returnOnlyEnabled && next.disabled)
|
|
113
|
-
return this.getElementWithOffset(next.nativeElement, offsetDays);
|
|
114
|
-
return next.nativeElement;
|
|
115
|
-
}
|
|
116
|
-
getNextFocusable(fromElement) {
|
|
117
|
-
if (!fromElement)
|
|
118
|
-
return;
|
|
119
|
-
return this.getElementWithOffset(fromElement, 1);
|
|
120
|
-
}
|
|
121
|
-
getPreviousFocusable(fromElement) {
|
|
122
|
-
if (!fromElement)
|
|
123
|
-
return;
|
|
124
|
-
return this.getElementWithOffset(fromElement, -1);
|
|
125
|
-
}
|
|
126
|
-
firstDayOfWeekElement() {
|
|
127
|
-
const activeElement = document.activeElement;
|
|
128
|
-
if (!activeElement)
|
|
129
|
-
return;
|
|
130
|
-
const dateRef = this.dateButtonRefs.find((ref) => ref.nativeElement === activeElement);
|
|
131
|
-
if (dateRef.calendarDate.getDay() === this.firstDayOfWeek)
|
|
132
|
-
return;
|
|
133
|
-
const offset = this.getDayOffset(dateRef.calendarDate.getDay(), this.firstDayOfWeek, 'back');
|
|
134
|
-
const targetElement = this.getElementWithOffset(activeElement, offset, false);
|
|
135
|
-
if (targetElement && targetElement.disabled)
|
|
136
|
-
return this.getNextFocusable(targetElement);
|
|
137
|
-
return targetElement;
|
|
138
|
-
}
|
|
139
|
-
lastDayOfWeekElement() {
|
|
140
|
-
const activeElement = document.activeElement;
|
|
141
|
-
if (!activeElement)
|
|
142
|
-
return;
|
|
143
|
-
const dateRef = this.dateButtonRefs.find((ref) => ref.nativeElement === activeElement);
|
|
144
|
-
if (dateRef.calendarDate.getDay() === this.lastDayOfWeek)
|
|
145
|
-
return;
|
|
146
|
-
const offset = this.getDayOffset(dateRef.calendarDate.getDay(), this.lastDayOfWeek, 'forward');
|
|
147
|
-
const targetElement = this.getElementWithOffset(activeElement, offset, false);
|
|
148
|
-
if (targetElement && targetElement.disabled)
|
|
149
|
-
return this.getPreviousFocusable(targetElement);
|
|
150
|
-
return targetElement;
|
|
151
|
-
}
|
|
152
|
-
getDayOffset(from, to, direction) {
|
|
153
|
-
return getDayOffset(from, to, this.firstDayOfWeek, direction);
|
|
154
|
-
}
|
|
155
|
-
updateDisableDateConfig(config) {
|
|
156
|
-
this.disableDateConfig = {
|
|
157
|
-
...this.disableDateConfig,
|
|
158
|
-
...config,
|
|
159
|
-
};
|
|
160
|
-
}
|
|
161
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
162
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CalendarComponent, selector: "nggv-calendar", inputs: { year: "year", month: "month", selected: "selected", locale: "locale", minCalendarRows: "minCalendarRows", firstDayOfWeek: "firstDayOfWeek", type: "type", disableDates: "disableDates", disableWeekDays: "disableWeekDays", firstValid: "firstValid", lastValid: "lastValid", closingTime: "closingTime" }, outputs: { dateClick: "dateClick" }, host: { listeners: { "keydown": "keyNavigation($event)" } }, viewQueries: [{ propertyName: "dateButtonRefs", predicate: CalendarDateDirective, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-container *ngFor=\"let weekRow of dateMatrix\">\n <div class=\"nggv-calendar-row\">\n <button\n *ngFor=\"let date of weekRow\"\n class=\"gds-button gds-button-alternative\"\n [attr.data-thook]=\"\n date | dateThook: (date | isDisabled: disableDateConfig)\n \"\n [attr.aria-label]=\"date\"\n [calendarDate]=\"date\"\n [notWithinMonth]=\"!(month === date?.getMonth())\"\n [selected]=\"date | matches: selected\"\n [disabled]=\"date | isDisabled: disableDateConfig\"\n (click)=\"clickDate(date)\"\n >\n {{ date | date: 'd' : undefined : locale }}\n </button>\n </div>\n</ng-container>\n", styles: [":host{--sg-border-color: transparent;--sg-border-width: 0;--sg-border-radius: 4px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}:host .nggv-calendar-row{display:flex;padding:2px;gap:1px}:host .nggv-calendar-row>*{line-height:2.5rem;padding:0;display:block;flex-grow:1;text-align:center;width:20%;color:#333}:host .nggv-calendar-row>*:disabled{border:0 solid transparent}:host .nggv-calendar-row>button{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;width:15%;background:transparent;width:44px;height:44px;border-radius:4px;font-size:1rem;font-family:inherit}:host .nggv-calendar-row>button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-calendar-row>button:focus,:host .nggv-calendar-row>button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .nggv-calendar-row>button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .nggv-calendar-row>button{border:2px solid currentcolor}}:host .nggv-calendar-row>button.small{min-height:2rem;padding:.4375rem .75rem;font-size:.875rem;line-height:1rem}:host .nggv-calendar-row>button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .nggv-calendar-row>button:not([disabled]):hover{background-color:#e9e9e9}:host .nggv-calendar-row>button:not([disabled]):focus{z-index:1;outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-calendar-row>button[disabled]{background-color:#eee;color:#adadad}:host .nggv-calendar-row>button.today{border:1px solid #333}:host .nggv-calendar-row>button.not-within-month:not([disabled]){color:#adadad;background-color:#f8f8f8}:host .nggv-calendar-row>button.not-within-month:not([disabled]):hover{background-color:#e9e9e9}:host .nggv-calendar-row>button.selected:not([disabled]){background-color:#1a1a1a;border-color:#1a1a1a;text-decoration:none;color:#fff}@media (max-width: 35.98em){:host .nggv-calendar-row>button{min-width:initial}}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.CalendarDateDirective, selector: "[calendarDate]", inputs: ["calendarDate", "selected", "notWithinMonth", "disabled"] }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i3.IsDisabledPipe, name: "isDisabled" }, { kind: "pipe", type: i4.DateThookPipe, name: "dateThook" }, { kind: "pipe", type: i5.MatchesPipe, name: "matches" }] }); }
|
|
163
|
-
}
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarComponent, decorators: [{
|
|
165
|
-
type: Component,
|
|
166
|
-
args: [{ selector: 'nggv-calendar', template: "<ng-container *ngFor=\"let weekRow of dateMatrix\">\n <div class=\"nggv-calendar-row\">\n <button\n *ngFor=\"let date of weekRow\"\n class=\"gds-button gds-button-alternative\"\n [attr.data-thook]=\"\n date | dateThook: (date | isDisabled: disableDateConfig)\n \"\n [attr.aria-label]=\"date\"\n [calendarDate]=\"date\"\n [notWithinMonth]=\"!(month === date?.getMonth())\"\n [selected]=\"date | matches: selected\"\n [disabled]=\"date | isDisabled: disableDateConfig\"\n (click)=\"clickDate(date)\"\n >\n {{ date | date: 'd' : undefined : locale }}\n </button>\n </div>\n</ng-container>\n", styles: [":host{--sg-border-color: transparent;--sg-border-width: 0;--sg-border-radius: 4px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9}:host .nggv-calendar-row{display:flex;padding:2px;gap:1px}:host .nggv-calendar-row>*{line-height:2.5rem;padding:0;display:block;flex-grow:1;text-align:center;width:20%;color:#333}:host .nggv-calendar-row>*:disabled{border:0 solid transparent}:host .nggv-calendar-row>button{padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;width:15%;background:transparent;width:44px;height:44px;border-radius:4px;font-size:1rem;font-family:inherit}:host .nggv-calendar-row>button:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-calendar-row>button:focus,:host .nggv-calendar-row>button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host .nggv-calendar-row>button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host .nggv-calendar-row>button{border:2px solid currentcolor}}:host .nggv-calendar-row>button.small{min-height:2rem;padding:.4375rem .75rem;font-size:.875rem;line-height:1rem}:host .nggv-calendar-row>button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}:host .nggv-calendar-row>button:not([disabled]):hover{background-color:#e9e9e9}:host .nggv-calendar-row>button:not([disabled]):focus{z-index:1;outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .nggv-calendar-row>button[disabled]{background-color:#eee;color:#adadad}:host .nggv-calendar-row>button.today{border:1px solid #333}:host .nggv-calendar-row>button.not-within-month:not([disabled]){color:#adadad;background-color:#f8f8f8}:host .nggv-calendar-row>button.not-within-month:not([disabled]):hover{background-color:#e9e9e9}:host .nggv-calendar-row>button.selected:not([disabled]){background-color:#1a1a1a;border-color:#1a1a1a;text-decoration:none;color:#fff}@media (max-width: 35.98em){:host .nggv-calendar-row>button{min-width:initial}}\n"] }]
|
|
167
|
-
}], propDecorators: { dateClick: [{
|
|
168
|
-
type: Output
|
|
169
|
-
}], dateButtonRefs: [{
|
|
170
|
-
type: ViewChildren,
|
|
171
|
-
args: [CalendarDateDirective]
|
|
172
|
-
}], year: [{
|
|
173
|
-
type: Input
|
|
174
|
-
}], month: [{
|
|
175
|
-
type: Input
|
|
176
|
-
}], selected: [{
|
|
177
|
-
type: Input
|
|
178
|
-
}], locale: [{
|
|
179
|
-
type: Input
|
|
180
|
-
}], minCalendarRows: [{
|
|
181
|
-
type: Input
|
|
182
|
-
}], firstDayOfWeek: [{
|
|
183
|
-
type: Input
|
|
184
|
-
}], type: [{
|
|
185
|
-
type: Input
|
|
186
|
-
}], disableDates: [{
|
|
187
|
-
type: Input
|
|
188
|
-
}], disableWeekDays: [{
|
|
189
|
-
type: Input
|
|
190
|
-
}], firstValid: [{
|
|
191
|
-
type: Input
|
|
192
|
-
}], lastValid: [{
|
|
193
|
-
type: Input
|
|
194
|
-
}], closingTime: [{
|
|
195
|
-
type: Input
|
|
196
|
-
}], keyNavigation: [{
|
|
197
|
-
type: HostListener,
|
|
198
|
-
args: ['keydown', ['$event']]
|
|
199
|
-
}] } });
|
|
200
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy92LWFuZ3VsYXIvZGF0ZXBpY2tlci9jb21wb25lbnRzL2NhbGVuZGFyL2NhbGVuZGFyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9jYWxlbmRhci9jYWxlbmRhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDekMsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUVULFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQTtBQUV0QixPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLFlBQVksRUFDWixZQUFZLEdBQ2IsTUFBTSx3QkFBd0IsQ0FBQTtBQUMvQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQTs7Ozs7OztBQVNoRixNQUFNLE9BQU8saUJBQWlCO0lBTDlCO1FBTVksY0FBUyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUE7UUFXckMsb0JBQWUsR0FBRyxDQUFDLENBQUE7UUFDbkIsbUJBQWMsR0FBWSxPQUFPLENBQUMsTUFBTSxDQUFBO1FBQ3hDLFNBQUksR0FBaUIsUUFBUSxDQUFBO1FBbUJ0QyxlQUFVLEdBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUMzQixzQkFBaUIsR0FBc0IsRUFBRSxDQUFBO1FBRWpDLGtCQUFhLEdBQVksT0FBTyxDQUFDLE1BQU0sQ0FBQTtLQTZLaEQ7SUFqTUMsdUVBQXVFO0lBQ3ZFLElBQWEsWUFBWSxDQUFDLEtBQXlCO1FBQ2pELElBQUksQ0FBQyx1QkFB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USxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgV2Vla0RheSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBTaW1wbGVDaGFuZ2VzLFxuICBWaWV3Q2hpbGRyZW4sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7XG4gIGdlbmVyYXRlRGF0ZU1hdHJpeCxcbiAgZ2V0RGF5T2Zmc2V0LFxuICBzb3J0V2Vla0RheXMsXG59IGZyb20gJy4uLy4uL2RhdGVwaWNrZXIudXRpbHMnXG5pbXBvcnQgeyBDYWxlbmRhckRhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL2NhbGVuZGFyLWRhdGUuZGlyZWN0aXZlJ1xuXG5pbXBvcnQgdHlwZSB7IENhbGVuZGFyVHlwZSwgRGlzYWJsZURhdGVDb25maWcgfSBmcm9tICcuLi8uLi9kYXRlcGlja2VyLm1vZGVscydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi1jYWxlbmRhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9jYWxlbmRhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2NhbGVuZGFyLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgQE91dHB1dCgpIGRhdGVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZT4oKVxuXG4gIEBWaWV3Q2hpbGRyZW4oQ2FsZW5kYXJEYXRlRGlyZWN0aXZlKVxuICBkYXRlQnV0dG9uUmVmcyE6IFF1ZXJ5TGlzdDxDYWxlbmRhckRhdGVEaXJlY3RpdmU+XG5cbiAgQElucHV0KCkgeWVhciE6IG51bWJlclxuICBASW5wdXQoKSBtb250aCE6IG51bWJlclxuICBASW5wdXQoKSBzZWxlY3RlZDogRGF0ZSB8IHVuZGVmaW5lZFxuXG4gIC8vIGlucHV0cyB0aGF0IGNvbmZpZ3VyZSBkaXNwbGF5IGJlaGF2aW91clxuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBASW5wdXQoKSBtaW5DYWxlbmRhclJvd3MgPSA1XG4gIEBJbnB1dCgpIGZpcnN0RGF5T2ZXZWVrOiBXZWVrRGF5ID0gV2Vla0RheS5Nb25kYXlcbiAgQElucHV0KCkgdHlwZTogQ2FsZW5kYXJUeXBlID0gJ25vcm1hbCdcblxuICAvLyBpbnB1dHMgdGhhdCBhZmZlY3RzIHdoaWNoIGRhdGVzIGluIHRoZSBjYWxlbmRhciBzaG91bGQgYmUgZ3JheWVkIG91dFxuICBASW5wdXQoKSBzZXQgZGlzYWJsZURhdGVzKHZhbHVlOiBEYXRlW10gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVEYXRlQ29uZmlnKHsgZXhjbHVkZURhdGVzOiB2YWx1ZSA/PyBbXSB9KVxuICB9XG4gIEBJbnB1dCgpIHNldCBkaXNhYmxlV2Vla0RheXModmFsdWU6IFdlZWtEYXlbXSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZURhdGVDb25maWcoeyBleGNsdWRlRGF5czogdmFsdWUgfSlcbiAgfVxuICBASW5wdXQoKSBzZXQgZmlyc3RWYWxpZCh2YWx1ZTogRGF0ZSB8IHVuZGVmaW5lZCkge1xuICAgIHRoaXMudXBkYXRlRGlzYWJsZURhdGVDb25maWcoeyBmcm9tRGF0ZTogdmFsdWUgfSlcbiAgfVxuICBASW5wdXQoKSBzZXQgbGFzdFZhbGlkKHZhbHVlOiBEYXRlIHwgdW5kZWZpbmVkKSB7XG4gICAgdGhpcy51cGRhdGVEaXNhYmxlRGF0ZUNvbmZpZyh7IHRvRGF0ZTogdmFsdWUgfSlcbiAgfVxuICBASW5wdXQoKSBzZXQgY2xvc2luZ1RpbWUodmFsdWU6IERhdGUgfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLnVwZGF0ZURpc2FibGVEYXRlQ29uZmlnKHsgY2xvc2luZ1RpbWU6IHZhbHVlIH0pXG4gIH1cblxuICBkYXRlTWF0cml4OiBEYXRlW11bXSA9IFtbXV1cbiAgZGlzYWJsZURhdGVDb25maWc6IERpc2FibGVEYXRlQ29uZmlnID0ge31cblxuICBwcml2YXRlIGxhc3REYXlPZldlZWs6IFdlZWtEYXkgPSBXZWVrRGF5LlN1bmRheVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoY2hhbmdlcy5zZWxlY3RlZD8uY3VycmVudFZhbHVlKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkID0gbmV3IERhdGUoY2hhbmdlcy5zZWxlY3RlZC5jdXJyZW50VmFsdWUpXG4gICAgfVxuXG4gICAgaWYgKGNoYW5nZXMuZmlyc3REYXlPZldlZWs/LmN1cnJlbnRWYWx1ZSkge1xuICAgICAgdGhpcy5sYXN0RGF5T2ZXZWVrID0gc29ydFdlZWtEYXlzKFxuICAgICAgICBjaGFuZ2VzLmZpcnN0RGF5T2ZXZWVrLmN1cnJlbnRWYWx1ZSxcbiAgICAgICkucG9wKCkgYXMgV2Vla0RheVxuICAgIH1cblxuICAgIGlmIChcbiAgICAgIChjaGFuZ2VzLm1vbnRoPy5jdXJyZW50VmFsdWUgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICBjaGFuZ2VzLm1vbnRoPy5jdXJyZW50VmFsdWUgIT09IG51bGwpIHx8XG4gICAgICAhIWNoYW5nZXMueWVhcj8uY3VycmVudFZhbHVlIHx8XG4gICAgICAhIWNoYW5nZXMuZmlyc3REYXlPZldlZWs/LmN1cnJlbnRWYWx1ZSB8fFxuICAgICAgISFjaGFuZ2VzLm1pbkNhbGVuZGFyUm93cz8uY3VycmVudFZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLmRhdGVNYXRyaXggPSBnZW5lcmF0ZURhdGVNYXRyaXgoXG4gICAgICAgIHRoaXMubW9udGgsXG4gICAgICAgIHRoaXMueWVhcixcbiAgICAgICAgdGhpcy5taW5DYWxlbmRhclJvd3MsXG4gICAgICAgIHRoaXMuZmlyc3REYXlPZldlZWssXG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgY2xpY2tEYXRlKGRhdGU6IERhdGUpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGVDbGljay5lbWl0KGRhdGUpXG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duJywgWyckZXZlbnQnXSlcbiAga2V5TmF2aWdhdGlvbihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGxldCBhY3RpdmVFbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZFxuICAgIGlmIChldmVudC5rZXkgIT09ICdUYWInKVxuICAgICAgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dSaWdodCcpIHtcbiAgICAgIGNvbnN0IG5leHRGb2N1c2FibGUgPSB0aGlzLmdldE5leHRGb2N1c2FibGUoYWN0aXZlRWxlbWVudClcbiAgICAgIGlmIChuZXh0Rm9jdXNhYmxlKSBuZXh0Rm9jdXNhYmxlLmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dMZWZ0Jykge1xuICAgICAgY29uc3QgbmV4dEZvY3VzYWJsZSA9IHRoaXMuZ2V0UHJldmlvdXNGb2N1c2FibGUoYWN0aXZlRWxlbWVudClcbiAgICAgIGlmIChuZXh0Rm9jdXNhYmxlKSBuZXh0Rm9jdXNhYmxlLmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgIGNvbnN0IG5leHRGb2N1c2FibGUgPSB0aGlzLmdldEVsZW1lbnRXaXRoT2Zmc2V0KGFjdGl2ZUVsZW1lbnQsIC03KVxuICAgICAgaWYgKG5leHRGb2N1c2FibGUpIG5leHRGb2N1c2FibGUuZm9jdXMoKVxuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdBcnJvd0Rvd24nKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBjb25zdCBuZXh0Rm9jdXNhYmxlID0gdGhpcy5nZXRFbGVtZW50V2l0aE9mZnNldChhY3RpdmVFbGVtZW50LCA3KVxuICAgICAgaWYgKG5leHRGb2N1c2FibGUpIG5leHRGb2N1c2FibGUuZm9jdXMoKVxuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicgfHwgZXZlbnQua2V5ID09PSAnU3BhY2UnKSB7XG4gICAgICBpZiAoYWN0aXZlRWxlbWVudCkge1xuICAgICAgICBjb25zdCBkYXRlUmVmID0gdGhpcy5kYXRlQnV0dG9uUmVmcy5maW5kKFxuICAgICAgICAgIChyZWYpID0+IHJlZi5uYXRpdmVFbGVtZW50ID09PSBhY3RpdmVFbGVtZW50LFxuICAgICAgICApXG4gICAgICAgIGlmICghZGF0ZVJlZj8uZGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmRhdGVDbGljay5lbWl0KGRhdGVSZWY/LmNhbGVuZGFyRGF0ZSlcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09ICdIb21lJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgY29uc3QgbmV4dEZvY3VzYWJsZSA9IHRoaXMuZmlyc3REYXlPZldlZWtFbGVtZW50KClcbiAgICAgIGlmIChuZXh0Rm9jdXNhYmxlKSBuZXh0Rm9jdXNhYmxlLmZvY3VzKClcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSAnRW5kJykge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKVxuICAgICAgY29uc3QgbmV4dEZvY3VzYWJsZSA9IHRoaXMubGFzdERheU9mV2Vla0VsZW1lbnQoKVxuICAgICAgaWYgKG5leHRGb2N1c2FibGUpIG5leHRGb2N1c2FibGUuZm9jdXMoKVxuICAgIH1cbiAgfVxuXG4gIGdldEVsZW1lbnRXaXRoT2Zmc2V0KFxuICAgIGZyb21FbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCxcbiAgICBvZmZzZXREYXlzOiBudW1iZXIsXG4gICAgcmV0dXJuT25seUVuYWJsZWQgPSB0cnVlLFxuICApOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKCFmcm9tRWxlbWVudCkgcmV0dXJuXG4gICAgY29uc3QgZnJvbUluZGV4ID0gdGhpcy5kYXRlQnV0dG9uUmVmc1xuICAgICAgLnRvQXJyYXkoKVxuICAgICAgLm1hcCgocmVmKSA9PiByZWYubmF0aXZlRWxlbWVudClcbiAgICAgIC5pbmRleE9mKGZyb21FbGVtZW50KVxuICAgIGNvbnN0IG5leHQgPSB0aGlzLmRhdGVCdXR0b25SZWZzLmdldChmcm9tSW5kZXggKyBvZmZzZXREYXlzKVxuICAgIGlmICghbmV4dCkgcmV0dXJuXG4gICAgaWYgKHJldHVybk9ubHlFbmFibGVkICYmIG5leHQuZGlzYWJsZWQpXG4gICAgICByZXR1cm4gdGhpcy5nZXRFbGVtZW50V2l0aE9mZnNldChuZXh0Lm5hdGl2ZUVsZW1lbnQsIG9mZnNldERheXMpXG4gICAgcmV0dXJuIG5leHQubmF0aXZlRWxlbWVudFxuICB9XG5cbiAgZ2V0TmV4dEZvY3VzYWJsZShcbiAgICBmcm9tRWxlbWVudDogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQsXG4gICk6IEhUTUxFbGVtZW50IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIWZyb21FbGVtZW50KSByZXR1cm5cbiAgICByZXR1cm4gdGhpcy5nZXRFbGVtZW50V2l0aE9mZnNldChmcm9tRWxlbWVudCwgMSlcbiAgfVxuXG4gIGdldFByZXZpb3VzRm9jdXNhYmxlKFxuICAgIGZyb21FbGVtZW50OiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCxcbiAgKTogSFRNTEVsZW1lbnQgfCB1bmRlZmluZWQge1xuICAgIGlmICghZnJvbUVsZW1lbnQpIHJldHVyblxuICAgIHJldHVybiB0aGlzLmdldEVsZW1lbnRXaXRoT2Zmc2V0KGZyb21FbGVtZW50LCAtMSlcbiAgfVxuXG4gIGZpcnN0RGF5T2ZXZWVrRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICBpZiAoIWFjdGl2ZUVsZW1lbnQpIHJldHVyblxuICAgIGNvbnN0IGRhdGVSZWYgPSB0aGlzLmRhdGVCdXR0b25SZWZzLmZpbmQoXG4gICAgICAocmVmKSA9PiByZWYubmF0aXZlRWxlbWVudCA9PT0gYWN0aXZlRWxlbWVudCxcbiAgICApIGFzIENhbGVuZGFyRGF0ZURpcmVjdGl2ZVxuICAgIGlmIChkYXRlUmVmLmNhbGVuZGFyRGF0ZS5nZXREYXkoKSA9PT0gdGhpcy5maXJzdERheU9mV2VlaykgcmV0dXJuXG4gICAgY29uc3Qgb2Zmc2V0ID0gdGhpcy5nZXREYXlPZmZzZXQoXG4gICAgICBkYXRlUmVmLmNhbGVuZGFyRGF0ZS5nZXREYXkoKSxcbiAgICAgIHRoaXMuZmlyc3REYXlPZldlZWssXG4gICAgICAnYmFjaycsXG4gICAgKVxuICAgIGNvbnN0IHRhcmdldEVsZW1lbnQgPSB0aGlzLmdldEVsZW1lbnRXaXRoT2Zmc2V0KFxuICAgICAgYWN0aXZlRWxlbWVudCxcbiAgICAgIG9mZnNldCxcbiAgICAgIGZhbHNlLFxuICAgICkgYXMgSFRNTEJ1dHRvbkVsZW1lbnRcbiAgICBpZiAodGFyZ2V0RWxlbWVudCAmJiB0YXJnZXRFbGVtZW50LmRpc2FibGVkKVxuICAgICAgcmV0dXJuIHRoaXMuZ2V0TmV4dEZvY3VzYWJsZSh0YXJnZXRFbGVtZW50KVxuICAgIHJldHVybiB0YXJnZXRFbGVtZW50XG4gIH1cblxuICBsYXN0RGF5T2ZXZWVrRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgYWN0aXZlRWxlbWVudCA9IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnRcbiAgICBpZiAoIWFjdGl2ZUVsZW1lbnQpIHJldHVyblxuICAgIGNvbnN0IGRhdGVSZWYgPSB0aGlzLmRhdGVCdXR0b25SZWZzLmZpbmQoXG4gICAgICAocmVmKSA9PiByZWYubmF0aXZlRWxlbWVudCA9PT0gYWN0aXZlRWxlbWVudCxcbiAgICApIGFzIENhbGVuZGFyRGF0ZURpcmVjdGl2ZVxuICAgIGlmIChkYXRlUmVmLmNhbGVuZGFyRGF0ZS5nZXREYXkoKSA9PT0gdGhpcy5sYXN0RGF5T2ZXZWVrKSByZXR1cm5cbiAgICBjb25zdCBvZmZzZXQgPSB0aGlzLmdldERheU9mZnNldChcbiAgICAgIGRhdGVSZWYuY2FsZW5kYXJEYXRlLmdldERheSgpLFxuICAgICAgdGhpcy5sYXN0RGF5T2ZXZWVrLFxuICAgICAgJ2ZvcndhcmQnLFxuICAgIClcbiAgICBjb25zdCB0YXJnZXRFbGVtZW50ID0gdGhpcy5nZXRFbGVtZW50V2l0aE9mZnNldChcbiAgICAgIGFjdGl2ZUVsZW1lbnQsXG4gICAgICBvZmZzZXQsXG4gICAgICBmYWxzZSxcbiAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50XG4gICAgaWYgKHRhcmdldEVsZW1lbnQgJiYgdGFyZ2V0RWxlbWVudC5kaXNhYmxlZClcbiAgICAgIHJldHVybiB0aGlzLmdldFByZXZpb3VzRm9jdXNhYmxlKHRhcmdldEVsZW1lbnQpXG4gICAgcmV0dXJuIHRhcmdldEVsZW1lbnRcbiAgfVxuXG4gIGdldERheU9mZnNldChcbiAgICBmcm9tOiBXZWVrRGF5LFxuICAgIHRvOiBXZWVrRGF5LFxuICAgIGRpcmVjdGlvbj86ICdmb3J3YXJkJyB8ICdiYWNrJyxcbiAgKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZ2V0RGF5T2Zmc2V0KGZyb20sIHRvLCB0aGlzLmZpcnN0RGF5T2ZXZWVrLCBkaXJlY3Rpb24pXG4gIH1cblxuICBwcml2YXRlIHVwZGF0ZURpc2FibGVEYXRlQ29uZmlnKGNvbmZpZzogUGFydGlhbDxEaXNhYmxlRGF0ZUNvbmZpZz4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGVEYXRlQ29uZmlnID0ge1xuICAgICAgLi4udGhpcy5kaXNhYmxlRGF0ZUNvbmZpZyxcbiAgICAgIC4uLmNvbmZpZyxcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHdlZWtSb3cgb2YgZGF0ZU1hdHJpeFwiPlxuICA8ZGl2IGNsYXNzPVwibmdndi1jYWxlbmRhci1yb3dcIj5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgZGF0ZSBvZiB3ZWVrUm93XCJcbiAgICAgIGNsYXNzPVwiZ2RzLWJ1dHRvbiBnZHMtYnV0dG9uLWFsdGVybmF0aXZlXCJcbiAgICAgIFthdHRyLmRhdGEtdGhvb2tdPVwiXG4gICAgICAgIGRhdGUgfCBkYXRlVGhvb2s6IChkYXRlIHwgaXNEaXNhYmxlZDogZGlzYWJsZURhdGVDb25maWcpXG4gICAgICBcIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJkYXRlXCJcbiAgICAgIFtjYWxlbmRhckRhdGVdPVwiZGF0ZVwiXG4gICAgICBbbm90V2l0aGluTW9udGhdPVwiIShtb250aCA9PT0gZGF0ZT8uZ2V0TW9udGgoKSlcIlxuICAgICAgW3NlbGVjdGVkXT1cImRhdGUgfCBtYXRjaGVzOiBzZWxlY3RlZFwiXG4gICAgICBbZGlzYWJsZWRdPVwiZGF0ZSB8IGlzRGlzYWJsZWQ6IGRpc2FibGVEYXRlQ29uZmlnXCJcbiAgICAgIChjbGljayk9XCJjbGlja0RhdGUoZGF0ZSlcIlxuICAgID5cbiAgICAgIHt7IGRhdGUgfCBkYXRlOiAnZCcgOiB1bmRlZmluZWQgOiBsb2NhbGUgfX1cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
package/esm2022/src/v-angular/datepicker/components/calendar-control/calendar-control.component.mjs
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostListener, Input, Output, } from '@angular/core';
|
|
2
|
-
import { UntypedFormBuilder } from '@angular/forms';
|
|
3
|
-
import { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';
|
|
4
|
-
import { CalendarMonth } from '../../datepicker.models';
|
|
5
|
-
import { getMonthArray, getYearArray } from '../../datepicker.utils';
|
|
6
|
-
import '@sebgroup/green-core/components/icon/icons/chevron-left.js';
|
|
7
|
-
import '@sebgroup/green-core/components/icon/icons/chevron-right.js';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "@angular/forms";
|
|
10
|
-
import * as i2 from "@angular/common";
|
|
11
|
-
import * as i3 from "@sebgroup/green-angular/src/lib/shared";
|
|
12
|
-
export class CalendarControlComponent {
|
|
13
|
-
constructor(fb) {
|
|
14
|
-
this.fb = fb;
|
|
15
|
-
// nextIcon: IconDefinition = faChevronRight
|
|
16
|
-
// previousIcon: IconDefinition = faChevronLeft
|
|
17
|
-
this.calendarChange = new EventEmitter();
|
|
18
|
-
this.type = 'normal';
|
|
19
|
-
this.monthArray = []; // array used for month dropdown
|
|
20
|
-
this.yearArray = []; // array used for year dropdown
|
|
21
|
-
this.subs = [];
|
|
22
|
-
// initiate form group for dropdown menus
|
|
23
|
-
this.selectedCalendar = this.fb.group({
|
|
24
|
-
year: [],
|
|
25
|
-
month: [],
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
ngOnChanges(changes) {
|
|
29
|
-
if (changes.activeCalendar &&
|
|
30
|
-
!changes.activeCalendar.isFirstChange() &&
|
|
31
|
-
changes.activeCalendar.currentValue.valueOf() !==
|
|
32
|
-
this.selectedCalendar.value.id) {
|
|
33
|
-
this.selectedCalendar.patchValue(changes.activeCalendar.currentValue);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
ngOnInit() {
|
|
37
|
-
// populate drowdowns and labels with data
|
|
38
|
-
this.monthArray = getMonthArray();
|
|
39
|
-
this.yearArray = getYearArray();
|
|
40
|
-
// subscribe to year and month changes, and emit event to datepicker
|
|
41
|
-
this.subscribeToFormChanges();
|
|
42
|
-
// update control to initial value
|
|
43
|
-
if (this.activeCalendar)
|
|
44
|
-
this.selectedCalendar.patchValue(this.activeCalendar);
|
|
45
|
-
}
|
|
46
|
-
ngOnDestroy() {
|
|
47
|
-
this.subs.forEach((sub) => sub.unsubscribe());
|
|
48
|
-
}
|
|
49
|
-
viewPreviousMonth() {
|
|
50
|
-
const previousMonth = CalendarMonth.fromObject(this.selectedCalendar.value).previousMonth();
|
|
51
|
-
this.selectedCalendar.patchValue(previousMonth);
|
|
52
|
-
}
|
|
53
|
-
viewNextMonth() {
|
|
54
|
-
const nextMonth = CalendarMonth.fromObject(this.selectedCalendar.value).nextMonth();
|
|
55
|
-
this.selectedCalendar.patchValue(nextMonth);
|
|
56
|
-
}
|
|
57
|
-
viewPreviousYear() {
|
|
58
|
-
const previousYear = CalendarMonth.fromObject(this.selectedCalendar.value).previousYear();
|
|
59
|
-
this.selectedCalendar.patchValue(previousYear);
|
|
60
|
-
}
|
|
61
|
-
viewNextYear() {
|
|
62
|
-
const nextYear = CalendarMonth.fromObject(this.selectedCalendar.value).nextYear();
|
|
63
|
-
this.selectedCalendar.patchValue(nextYear);
|
|
64
|
-
}
|
|
65
|
-
keyNavigation(event) {
|
|
66
|
-
if (event.key !== 'PageUp' && event.key !== 'PageDown')
|
|
67
|
-
return;
|
|
68
|
-
event.preventDefault();
|
|
69
|
-
if (event.shiftKey) {
|
|
70
|
-
if (event.key === 'PageUp')
|
|
71
|
-
return this.viewPreviousYear();
|
|
72
|
-
if (event.key === 'PageDown')
|
|
73
|
-
return this.viewNextYear();
|
|
74
|
-
}
|
|
75
|
-
if (event.key === 'PageUp')
|
|
76
|
-
return this.viewPreviousMonth();
|
|
77
|
-
if (event.key === 'PageDown')
|
|
78
|
-
return this.viewNextMonth();
|
|
79
|
-
}
|
|
80
|
-
subscribeToFormChanges() {
|
|
81
|
-
// used to quickly check if the yearsArray needs years appended to it
|
|
82
|
-
let existingYears = this.yearArray.map((e) => e.getFullYear());
|
|
83
|
-
const changes = this.selectedCalendar.valueChanges.pipe(debounceTime(1), // added due to this issue: https://github.com/angular/angular/issues/13129
|
|
84
|
-
map((value) => CalendarMonth.fromObject(value)), distinctUntilChanged((prev, curr) => prev.valueOf() === curr.valueOf()));
|
|
85
|
-
this.subs.push(changes.subscribe({
|
|
86
|
-
next: (value) => {
|
|
87
|
-
// if you need to append to year array
|
|
88
|
-
if (existingYears.indexOf(value.year) === -1) {
|
|
89
|
-
this.yearArray.push(value.date);
|
|
90
|
-
this.yearArray.sort((a, b) => a.getFullYear() - b.getFullYear());
|
|
91
|
-
existingYears = this.yearArray.map((e) => e.getFullYear());
|
|
92
|
-
}
|
|
93
|
-
this.calendarChange.emit(value);
|
|
94
|
-
},
|
|
95
|
-
}));
|
|
96
|
-
}
|
|
97
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarControlComponent, deps: [{ token: i1.UntypedFormBuilder }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
98
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: CalendarControlComponent, selector: "nggv-calendar-control", inputs: { activeCalendar: "activeCalendar", locale: "locale", type: "type" }, outputs: { calendarChange: "calendarChange" }, host: { listeners: { "keydown": "keyNavigation($event)" } }, usesOnChanges: true, ngImport: i0, template: "<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"previous-month\"\n class=\"nggv-prev-button\"\n (click)=\"viewPreviousMonth()\"\n>\n <gds-icon-chevron-left *nggCoreElement></gds-icon-chevron-left>\n</button>\n\n<ng-container [formGroup]=\"selectedCalendar\">\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-month\"\n formControlName=\"month\"\n >\n <option\n *ngFor=\"let month of monthArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"month.getMonth()\"\n >\n {{ month | date: 'MMMM' : undefined : locale }}\n </option>\n </select>\n\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-year\"\n formControlName=\"year\"\n >\n <option\n *ngFor=\"let year of yearArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"year.getFullYear()\"\n >\n {{ year | date: 'yyyy' : undefined : locale }}\n </option>\n </select>\n</ng-container>\n\n<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"next-month\"\n class=\"nggv-next-button\"\n (click)=\"viewNextMonth()\"\n>\n <gds-icon-chevron-right *nggCoreElement></gds-icon-chevron-right>\n</button>\n", styles: [":host{display:flex;padding:.25rem;justify-content:space-between;align-items:center;gap:.25rem}:host .nggv-calendar-select{--sg-border-radius: 4px;--sg-border-width: 1px;--sg-border-color: #868686;padding:.75rem 3rem .75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);appearance:auto;background:#fff;color:#333;display:block;flex:1;font-family:inherit;font-size:.875rem;font-weight:400;line-height:2rem;max-height:2rem;max-width:100%;min-height:2rem;padding:0 .5em;text-overflow:ellipsis;white-space:nowrap;width:6rem}:host .nggv-calendar-select:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-calendar-select:focus,:host .nggv-calendar-select:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host button.nggv-prev-button,:host button.nggv-next-button{--sg-border-radius: 4px;--sg-border-width: 0;--sg-border-color: transparent;background-color:transparent;border:0;cursor:pointer;font-family:inherit;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;border:none;height:2rem;width:2rem;padding:0 .75em}:host button.nggv-prev-button:focus:not(:focus-visible),:host button.nggv-next-button:focus:not(:focus-visible){box-shadow:none;outline:0}:host button.nggv-prev-button:focus,:host button.nggv-prev-button:focus-visible,:host button.nggv-next-button:focus,:host button.nggv-next-button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host button.nggv-prev-button,:host button.nggv-next-button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host button.nggv-prev-button,:host button.nggv-next-button{border:2px solid currentcolor}}:host button.nggv-prev-button.small,:host button.nggv-next-button.small{min-height:2rem;padding:.4375rem .75rem;font-size:.875rem;line-height:1rem}:host button.nggv-prev-button.large,:host button.nggv-next-button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}@media (max-width: 47.98em){:host button.nggv-prev-button,:host button.nggv-next-button{width:3em;height:3em}}:host button.nggv-prev-button:hover,:host button.nggv-next-button:hover{background-color:#e9e9e9}@media (max-width: 35.98em){:host button.nggv-prev-button,:host button.nggv-next-button{min-width:initial}}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3.NggCoreElementDirective, selector: "[nggCoreElement]" }, { kind: "pipe", type: i2.DatePipe, name: "date" }] }); }
|
|
99
|
-
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: CalendarControlComponent, decorators: [{
|
|
101
|
-
type: Component,
|
|
102
|
-
args: [{ selector: 'nggv-calendar-control', template: "<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"previous-month\"\n class=\"nggv-prev-button\"\n (click)=\"viewPreviousMonth()\"\n>\n <gds-icon-chevron-left *nggCoreElement></gds-icon-chevron-left>\n</button>\n\n<ng-container [formGroup]=\"selectedCalendar\">\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-month\"\n formControlName=\"month\"\n >\n <option\n *ngFor=\"let month of monthArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"month.getMonth()\"\n >\n {{ month | date: 'MMMM' : undefined : locale }}\n </option>\n </select>\n\n <select\n class=\"nggv-calendar-select\"\n data-thook=\"select-year\"\n formControlName=\"year\"\n >\n <option\n *ngFor=\"let year of yearArray\"\n class=\"gds-field-dropdown__label\"\n tabindex=\"0\"\n [value]=\"year.getFullYear()\"\n >\n {{ year | date: 'yyyy' : undefined : locale }}\n </option>\n </select>\n</ng-container>\n\n<button\n *ngIf=\"type === 'normal'\"\n data-thook=\"next-month\"\n class=\"nggv-next-button\"\n (click)=\"viewNextMonth()\"\n>\n <gds-icon-chevron-right *nggCoreElement></gds-icon-chevron-right>\n</button>\n", styles: [":host{display:flex;padding:.25rem;justify-content:space-between;align-items:center;gap:.25rem}:host .nggv-calendar-select{--sg-border-radius: 4px;--sg-border-width: 1px;--sg-border-color: #868686;padding:.75rem 3rem .75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);--border-color: var(--sg-border-color);appearance:auto;background:#fff;color:#333;display:block;flex:1;font-family:inherit;font-size:.875rem;font-weight:400;line-height:2rem;max-height:2rem;max-width:100%;min-height:2rem;padding:0 .5em;text-overflow:ellipsis;white-space:nowrap;width:6rem}:host .nggv-calendar-select:focus:not(:focus-visible){box-shadow:none;outline:0}:host .nggv-calendar-select:focus,:host .nggv-calendar-select:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host button.nggv-prev-button,:host button.nggv-next-button{--sg-border-radius: 4px;--sg-border-width: 0;--sg-border-color: transparent;background-color:transparent;border:0;cursor:pointer;font-family:inherit;padding:0;padding:.75rem 1rem;border-radius:var(--sg-border-radius);border:solid var(--sg-border-width) var(--sg-border-color);font-weight:500;min-height:2.75rem;align-items:center;display:inline-flex;justify-content:center;border:none;height:2rem;width:2rem;padding:0 .75em}:host button.nggv-prev-button:focus:not(:focus-visible),:host button.nggv-next-button:focus:not(:focus-visible){box-shadow:none;outline:0}:host button.nggv-prev-button:focus,:host button.nggv-prev-button:focus-visible,:host button.nggv-next-button:focus,:host button.nggv-next-button:focus-visible{outline-color:var(--gds-sys-color-focus-outline);outline-style:solid;outline-width:.125rem;outline-offset:.125rem}@media (max-width: 35.98em){:host button.nggv-prev-button,:host button.nggv-next-button{min-width:100%}}@media screen and (-ms-high-contrast: active){:host button.nggv-prev-button,:host button.nggv-next-button{border:2px solid currentcolor}}:host button.nggv-prev-button.small,:host button.nggv-next-button.small{min-height:2rem;padding:.4375rem .75rem;font-size:.875rem;line-height:1rem}:host button.nggv-prev-button.large,:host button.nggv-next-button.large{min-height:4rem;padding:1rem 1.5rem;font-size:1.5rem;line-height:2rem}@media (max-width: 47.98em){:host button.nggv-prev-button,:host button.nggv-next-button{width:3em;height:3em}}:host button.nggv-prev-button:hover,:host button.nggv-next-button:hover{background-color:#e9e9e9}@media (max-width: 35.98em){:host button.nggv-prev-button,:host button.nggv-next-button{min-width:initial}}\n"] }]
|
|
103
|
-
}], ctorParameters: () => [{ type: i1.UntypedFormBuilder }], propDecorators: { calendarChange: [{
|
|
104
|
-
type: Output
|
|
105
|
-
}], activeCalendar: [{
|
|
106
|
-
type: Input
|
|
107
|
-
}], locale: [{
|
|
108
|
-
type: Input
|
|
109
|
-
}], type: [{
|
|
110
|
-
type: Input
|
|
111
|
-
}], keyNavigation: [{
|
|
112
|
-
type: HostListener,
|
|
113
|
-
args: ['keydown', ['$event']]
|
|
114
|
-
}] } });
|
|
115
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsZW5kYXItY29udHJvbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL3YtYW5ndWxhci9kYXRlcGlja2VyL2NvbXBvbmVudHMvY2FsZW5kYXItY29udHJvbC9jYWxlbmRhci1jb250cm9sLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYW5ndWxhci9zcmMvdi1hbmd1bGFyL2RhdGVwaWNrZXIvY29tcG9uZW50cy9jYWxlbmRhci1jb250cm9sL2NhbGVuZGFyLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFJTCxNQUFNLEdBRVAsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGtCQUFrQixFQUFvQixNQUFNLGdCQUFnQixDQUFBO0FBRXJFLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFeEUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFJcEUsT0FBTyw0REFBNEQsQ0FBQTtBQUNuRSxPQUFPLDZEQUE2RCxDQUFBOzs7OztBQU9wRSxNQUFNLE9BQU8sd0JBQXdCO0lBZ0JuQyxZQUFvQixFQUFzQjtRQUF0QixPQUFFLEdBQUYsRUFBRSxDQUFvQjtRQWYxQyw0Q0FBNEM7UUFDNUMsK0NBQStDO1FBRXJDLG1CQUFjLEdBQUcsSUFBSSxZQUFZLEVBQWlCLENBQUE7UUFJbkQsU0FBSSxHQUFpQixRQUFRLENBQUE7UUFFdEMsZUFBVSxHQUFXLEVBQUUsQ0FBQSxDQUFDLGdDQUFnQztRQUN4RCxjQUFT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QyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsR0FBRyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtvQkFDaEUsYUFBYSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQTtnQkFDNUQsQ0FBQztnQkFDRCxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQTtZQUNqQyxDQUFDO1NBQ0YsQ0FBQyxDQUNILENBQUE7SUFDSCxDQUFDOytHQXRIVSx3QkFBd0I7bUdBQXhCLHdCQUF3Qiw0UUM1QnJDLDJzQ0FpREE7OzRGRHJCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0UsdUJBQXVCO3VGQVF2QixjQUFjO3NCQUF2QixNQUFNO2dCQUVFLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkF5RU4sYUFBYTtzQkFEWixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkNoYW5nZXMsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBVbnR5cGVkRm9ybUJ1aWxkZXIsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3JtcydcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnXG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgQ2FsZW5kYXJNb250aCB9IGZyb20gJy4uLy4uL2RhdGVwaWNrZXIubW9kZWxzJ1xuaW1wb3J0IHsgZ2V0TW9udGhBcnJheSwgZ2V0WWVhckFycmF5IH0gZnJvbSAnLi4vLi4vZGF0ZXBpY2tlci51dGlscydcblxuaW1wb3J0IHR5cGUgeyBDYWxlbmRhclR5cGUgfSBmcm9tICcuLi8uLi9kYXRlcGlja2VyLm1vZGVscydcblxuaW1wb3J0ICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2ljb24vaWNvbnMvY2hldnJvbi1sZWZ0LmpzJ1xuaW1wb3J0ICdAc2ViZ3JvdXAvZ3JlZW4tY29yZS9jb21wb25lbnRzL2ljb24vaWNvbnMvY2hldnJvbi1yaWdodC5qcydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdndi1jYWxlbmRhci1jb250cm9sJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhbGVuZGFyLWNvbnRyb2wuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jYWxlbmRhci1jb250cm9sLmNvbXBvbmVudC5zY3NzJ10sXG59KVxuZXhwb3J0IGNsYXNzIENhbGVuZGFyQ29udHJvbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xuICAvLyBuZXh0SWNvbjogSWNvbkRlZmluaXRpb24gPSBmYUNoZXZyb25SaWdodFxuICAvLyBwcmV2aW91c0ljb246IEljb25EZWZpbml0aW9uID0gZmFDaGV2cm9uTGVmdFxuXG4gIEBPdXRwdXQoKSBjYWxlbmRhckNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Q2FsZW5kYXJNb250aD4oKVxuXG4gIEBJbnB1dCgpIGFjdGl2ZUNhbGVuZGFyITogQ2FsZW5kYXJNb250aFxuICBASW5wdXQoKSBsb2NhbGU6IHN0cmluZyB8IHVuZGVmaW5lZFxuICBASW5wdXQoKSB0eXBlOiBDYWxlbmRhclR5cGUgPSAnbm9ybWFsJ1xuXG4gIG1vbnRoQXJyYXk6IERhdGVbXSA9IFtdIC8vIGFycmF5IHVzZWQgZm9yIG1vbnRoIGRyb3Bkb3duXG4gIHllYXJBcnJheTogRGF0ZVtdID0gW10gLy8gYXJyYXkgdXNlZCBmb3IgeWVhciBkcm9wZG93blxuICBzZWxlY3RlZENhbGVuZGFyOiBVbnR5cGVkRm9ybUdyb3VwIC8vIGRyb3Bkb3duIGZvcm0gZ3JvdXBcblxuICBwcml2YXRlIHN1YnM6IFN1YnNjcmlwdGlvbltdID0gW11cblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBVbnR5cGVkRm9ybUJ1aWxkZXIpIHtcbiAgICAvLyBpbml0aWF0ZSBmb3JtIGdyb3VwIGZvciBkcm9wZG93biBtZW51c1xuICAgIHRoaXMuc2VsZWN0ZWRDYWxlbmRhciA9IHRoaXMuZmIuZ3JvdXAoe1xuICAgICAgeWVhcjogW10sXG4gICAgICBtb250aDogW10sXG4gICAgfSlcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzLmFjdGl2ZUNhbGVuZGFyICYmXG4gICAgICAhY2hhbmdlcy5hY3RpdmVDYWxlbmRhci5pc0ZpcnN0Q2hhbmdlKCkgJiZcbiAgICAgIGNoYW5nZXMuYWN0aXZlQ2FsZW5kYXIuY3VycmVudFZhbHVlLnZhbHVlT2YoKSAhPT1cbiAgICAgICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlLmlkXG4gICAgKSB7XG4gICAgICB0aGlzLnNlbGVjdGVkQ2FsZW5kYXIucGF0Y2hWYWx1ZShjaGFuZ2VzLmFjdGl2ZUNhbGVuZGFyLmN1cnJlbnRWYWx1ZSlcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICAvLyBwb3B1bGF0ZSBkcm93ZG93bnMgYW5kIGxhYmVscyB3aXRoIGRhdGFcbiAgICB0aGlzLm1vbnRoQXJyYXkgPSBnZXRNb250aEFycmF5KClcbiAgICB0aGlzLnllYXJBcnJheSA9IGdldFllYXJBcnJheSgpXG5cbiAgICAvLyBzdWJzY3JpYmUgdG8geWVhciBhbmQgbW9udGggY2hhbmdlcywgYW5kIGVtaXQgZXZlbnQgdG8gZGF0ZXBpY2tlclxuICAgIHRoaXMuc3Vic2NyaWJlVG9Gb3JtQ2hhbmdlcygpXG5cbiAgICAvLyB1cGRhdGUgY29udHJvbCB0byBpbml0aWFsIHZhbHVlXG4gICAgaWYgKHRoaXMuYWN0aXZlQ2FsZW5kYXIpXG4gICAgICB0aGlzLnNlbGVjdGVkQ2FsZW5kYXIucGF0Y2hWYWx1ZSh0aGlzLmFjdGl2ZUNhbGVuZGFyKVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5zdWJzLmZvckVhY2goKHN1YikgPT4gc3ViLnVuc3Vic2NyaWJlKCkpXG4gIH1cblxuICB2aWV3UHJldmlvdXNNb250aCgpIHtcbiAgICBjb25zdCBwcmV2aW91c01vbnRoID0gQ2FsZW5kYXJNb250aC5mcm9tT2JqZWN0KFxuICAgICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlLFxuICAgICkucHJldmlvdXNNb250aCgpXG4gICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnBhdGNoVmFsdWUocHJldmlvdXNNb250aClcbiAgfVxuXG4gIHZpZXdOZXh0TW9udGgoKSB7XG4gICAgY29uc3QgbmV4dE1vbnRoID0gQ2FsZW5kYXJNb250aC5mcm9tT2JqZWN0KFxuICAgICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlLFxuICAgICkubmV4dE1vbnRoKClcbiAgICB0aGlzLnNlbGVjdGVkQ2FsZW5kYXIucGF0Y2hWYWx1ZShuZXh0TW9udGgpXG4gIH1cblxuICB2aWV3UHJldmlvdXNZZWFyKCkge1xuICAgIGNvbnN0IHByZXZpb3VzWWVhciA9IENhbGVuZGFyTW9udGguZnJvbU9iamVjdChcbiAgICAgIHRoaXMuc2VsZWN0ZWRDYWxlbmRhci52YWx1ZSxcbiAgICApLnByZXZpb3VzWWVhcigpXG4gICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnBhdGNoVmFsdWUocHJldmlvdXNZZWFyKVxuICB9XG5cbiAgdmlld05leHRZZWFyKCkge1xuICAgIGNvbnN0IG5leHRZZWFyID0gQ2FsZW5kYXJNb250aC5mcm9tT2JqZWN0KFxuICAgICAgdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlLFxuICAgICkubmV4dFllYXIoKVxuICAgIHRoaXMuc2VsZWN0ZWRDYWxlbmRhci5wYXRjaFZhbHVlKG5leHRZZWFyKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bicsIFsnJGV2ZW50J10pXG4gIGtleU5hdmlnYXRpb24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoZXZlbnQua2V5ICE9PSAnUGFnZVVwJyAmJiBldmVudC5rZXkgIT09ICdQYWdlRG93bicpIHJldHVyblxuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICBpZiAoZXZlbnQuc2hpZnRLZXkpIHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdQYWdlVXAnKSByZXR1cm4gdGhpcy52aWV3UHJldmlvdXNZZWFyKClcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdQYWdlRG93bicpIHJldHVybiB0aGlzLnZpZXdOZXh0WWVhcigpXG4gICAgfVxuICAgIGlmIChldmVudC5rZXkgPT09ICdQYWdlVXAnKSByZXR1cm4gdGhpcy52aWV3UHJldmlvdXNNb250aCgpXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ1BhZ2VEb3duJykgcmV0dXJuIHRoaXMudmlld05leHRNb250aCgpXG4gIH1cblxuICBwcml2YXRlIHN1YnNjcmliZVRvRm9ybUNoYW5nZXMoKTogdm9pZCB7XG4gICAgLy8gdXNlZCB0byBxdWlja2x5IGNoZWNrIGlmIHRoZSB5ZWFyc0FycmF5IG5lZWRzIHllYXJzIGFwcGVuZGVkIHRvIGl0XG4gICAgbGV0IGV4aXN0aW5nWWVhcnMgPSB0aGlzLnllYXJBcnJheS5tYXAoKGUpID0+IGUuZ2V0RnVsbFllYXIoKSlcbiAgICBjb25zdCBjaGFuZ2VzID0gdGhpcy5zZWxlY3RlZENhbGVuZGFyLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgZGVib3VuY2VUaW1lKDEpLCAvLyBhZGRlZCBkdWUgdG8gdGhpcyBpc3N1ZTogaHR0cHM6Ly9naXRodWIuY29tL2FuZ3VsYXIvYW5ndWxhci9pc3N1ZXMvMTMxMjlcbiAgICAgIG1hcCgodmFsdWU6IHsgeWVhcjogbnVtYmVyOyBtb250aDogbnVtYmVyIH0pID0+XG4gICAgICAgIENhbGVuZGFyTW9udGguZnJvbU9iamVjdCh2YWx1ZSksXG4gICAgICApLFxuICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoXG4gICAgICAgIChwcmV2OiBDYWxlbmRhck1vbnRoLCBjdXJyOiBDYWxlbmRhck1vbnRoKSA9PlxuICAgICAgICAgIHByZXYudmFsdWVPZigpID09PSBjdXJyLnZhbHVlT2YoKSxcbiAgICAgICksXG4gICAgKVxuICAgIHRoaXMuc3Vicy5wdXNoKFxuICAgICAgY2hhbmdlcy5zdWJzY3JpYmUoe1xuICAgICAgICBuZXh0OiAodmFsdWU6IENhbGVuZGFyTW9udGgpID0+IHtcbiAgICAgICAgICAvLyBpZiB5b3UgbmVlZCB0byBhcHBlbmQgdG8geWVhciBhcnJheVxuICAgICAgICAgIGlmIChleGlzdGluZ1llYXJzLmluZGV4T2YodmFsdWUueWVhcikgPT09IC0xKSB7XG4gICAgICAgICAgICB0aGlzLnllYXJBcnJheS5wdXNoKHZhbHVlLmRhdGUpXG4gICAgICAgICAgICB0aGlzLnllYXJBcnJheS5zb3J0KChhLCBiKSA9PiBhLmdldEZ1bGxZZWFyKCkgLSBiLmdldEZ1bGxZZWFyKCkpXG4gICAgICAgICAgICBleGlzdGluZ1llYXJzID0gdGhpcy55ZWFyQXJyYXkubWFwKChlKSA9PiBlLmdldEZ1bGxZZWFyKCkpXG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuY2FsZW5kYXJDaGFuZ2UuZW1pdCh2YWx1ZSlcbiAgICAgICAgfSxcbiAgICAgIH0pLFxuICAgIClcbiAgfVxufVxuIiwiPGJ1dHRvblxuICAqbmdJZj1cInR5cGUgPT09ICdub3JtYWwnXCJcbiAgZGF0YS10aG9vaz1cInByZXZpb3VzLW1vbnRoXCJcbiAgY2xhc3M9XCJuZ2d2LXByZXYtYnV0dG9uXCJcbiAgKGNsaWNrKT1cInZpZXdQcmV2aW91c01vbnRoKClcIlxuPlxuICA8Z2RzLWljb24tY2hldnJvbi1sZWZ0ICpuZ2dDb3JlRWxlbWVudD48L2dkcy1pY29uLWNoZXZyb24tbGVmdD5cbjwvYnV0dG9uPlxuXG48bmctY29udGFpbmVyIFtmb3JtR3JvdXBdPVwic2VsZWN0ZWRDYWxlbmRhclwiPlxuICA8c2VsZWN0XG4gICAgY2xhc3M9XCJuZ2d2LWNhbGVuZGFyLXNlbGVjdFwiXG4gICAgZGF0YS10aG9vaz1cInNlbGVjdC1tb250aFwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwibW9udGhcIlxuICA+XG4gICAgPG9wdGlvblxuICAgICAgKm5nRm9yPVwibGV0IG1vbnRoIG9mIG1vbnRoQXJyYXlcIlxuICAgICAgY2xhc3M9XCJnZHMtZmllbGQtZHJvcGRvd25fX2xhYmVsXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBbdmFsdWVdPVwibW9udGguZ2V0TW9udGgoKVwiXG4gICAgPlxuICAgICAge3sgbW9udGggfCBkYXRlOiAnTU1NTScgOiB1bmRlZmluZWQgOiBsb2NhbGUgfX1cbiAgICA8L29wdGlvbj5cbiAgPC9zZWxlY3Q+XG5cbiAgPHNlbGVjdFxuICAgIGNsYXNzPVwibmdndi1jYWxlbmRhci1zZWxlY3RcIlxuICAgIGRhdGEtdGhvb2s9XCJzZWxlY3QteWVhclwiXG4gICAgZm9ybUNvbnRyb2xOYW1lPVwieWVhclwiXG4gID5cbiAgICA8b3B0aW9uXG4gICAgICAqbmdGb3I9XCJsZXQgeWVhciBvZiB5ZWFyQXJyYXlcIlxuICAgICAgY2xhc3M9XCJnZHMtZmllbGQtZHJvcGRvd25fX2xhYmVsXCJcbiAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICBbdmFsdWVdPVwieWVhci5nZXRGdWxsWWVhcigpXCJcbiAgICA+XG4gICAgICB7eyB5ZWFyIHwgZGF0ZTogJ3l5eXknIDogdW5kZWZpbmVkIDogbG9jYWxlIH19XG4gICAgPC9vcHRpb24+XG4gIDwvc2VsZWN0PlxuPC9uZy1jb250YWluZXI+XG5cbjxidXR0b25cbiAgKm5nSWY9XCJ0eXBlID09PSAnbm9ybWFsJ1wiXG4gIGRhdGEtdGhvb2s9XCJuZXh0LW1vbnRoXCJcbiAgY2xhc3M9XCJuZ2d2LW5leHQtYnV0dG9uXCJcbiAgKGNsaWNrKT1cInZpZXdOZXh0TW9udGgoKVwiXG4+XG4gIDxnZHMtaWNvbi1jaGV2cm9uLXJpZ2h0ICpuZ2dDb3JlRWxlbWVudD48L2dkcy1pY29uLWNoZXZyb24tcmlnaHQ+XG48L2J1dHRvbj5cbiJdfQ==
|