@sebgroup/green-angular 6.8.0 → 7.0.0-rc.20251202112859044
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 +44 -39
- 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 +202 -189
- package/fesm2022/sebgroup-green-angular.mjs.map +1 -1
- package/lib/shared/scope-resolver.d.ts +1 -1
- package/package.json +12 -98
- package/src/lib/shared/scope-resolver.d.ts +1 -1
- package/src/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +1 -1
- package/v-angular/datepicker/date-control-value-accessor/date-control-value-accessor.component.d.ts +1 -1
- 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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sebgroup-green-angular-src-v-angular-modal.mjs","sources":["../../../../libs/angular/src/v-angular/modal/modal.globals.ts","../../../../libs/angular/src/v-angular/modal/dialog/dialog.component.ts","../../../../libs/angular/src/v-angular/modal/dialog/dialog.component.html","../../../../libs/angular/src/v-angular/modal/fold-out/keyboard-key.enum.ts","../../../../libs/angular/src/v-angular/modal/fold-out/fold-out.component.ts","../../../../libs/angular/src/v-angular/modal/fold-out/fold-out.component.html","../../../../libs/angular/src/v-angular/modal/fold-out/fold-out.directive.ts","../../../../libs/angular/src/v-angular/modal/slide-out/slide-out.component.ts","../../../../libs/angular/src/v-angular/modal/slide-out/slide-out.component.html","../../../../libs/angular/src/v-angular/modal/modal.module.ts","../../../../libs/angular/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.ts"],"sourcesContent":["// We must force tsc to interpret this file as a module, resolves\n// \"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.\"\nexport {}\n\ndeclare global {\n interface Window {\n /** Counter for unique identifiers */\n nggv: {\n ids: { [namespace: string]: number; default: number }\n nextId: (namespace?: string) => string\n }\n }\n}\n\n;(() => {\n // Make sure there is an incremental ID each component can use\n if (typeof window !== 'undefined' && !window.nggv) {\n window.nggv = {\n ids: { default: -1 },\n nextId(namespace = 'default'): string {\n let id = this.ids[namespace] || 0\n if (typeof this.ids[namespace] === 'number') id++\n this.ids[namespace] = id\n return namespace === 'default'\n ? `nggv-${id}`\n : `nggv-${namespace}-${id}`\n },\n }\n }\n})()\n","import {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y'\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core'\n\nimport { DialogButtons } from '../modal.types'\n\nexport interface DialogEvent<T = any> {\n original: Event | undefined\n payload: T | undefined\n}\n\n@Component({\n selector: 'nggv-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n exportAs: 'dialog',\n})\nexport class NggvDialogComponent implements OnInit, OnDestroy {\n private configurableFocusTrap: ConfigurableFocusTrap\n\n @ViewChild('dialog') dialogRef: ElementRef | undefined\n\n /** Special property used for selecting DOM elements during automated UI testing. */\n @HostBinding('attr.data-thook') @Input() thook: string | null | undefined =\n 'dialog'\n /** @internal */\n @HostBinding('class.gds-modal-dialog') baseClass = true\n /** @internal Defines the default visibility state of the dialog. */\n private _shown = false\n @Input() set shown(value: boolean) {\n this._shown = value\n this.enableFocusTrap()\n if (value) {\n this.hideOverflow()\n } else {\n this.resetOverflow()\n }\n }\n get shown() {\n return this._shown\n }\n\n /** @internal */\n @HostBinding('attr.aria-hidden') get ariaHidden() {\n return !this.shown\n }\n /** Defines the default visibility state of the dialog. */\n @Input() initiallyShown = false\n /** Sets modal heading. Will be translated (using transloco) if the string matches a cms key. */\n @Input() heading!: string\n /**\n * Sets modal title. Will be translated (using transloco) if the string matches a cms key.\n * @deprecated - use heading instead.\n */\n @Input() title = 'Attention'\n /** Sets content body and can contain html code. The content body can also be set by nesting children to the dialog tag. */\n @Input() content?: string\n /** Defines if dialog should close on action. */\n @Input() autoClose = true\n /** An array of event payloads that will be added to every click context menu item click. */\n @Input() payload: any = {}\n\n @Input() dialogTitleId!: string\n /** Pass the null if you don't want dialog body to be announced by the screen reader */\n @Input() dialogBodyId!: string | null\n /** It gives an ability for parent component to control if modal should be closed on esc button click. */\n @Input() closeModalOnEscape = true\n /** Aria label for the Close button with \"X\" icon, in the header */\n @Input() closeButtonAriaLabel?: string\n\n _buttons: DialogButtons | undefined\n /** Buttons are defined as a key-value pair where key is one of \"positive|neutral|negative\" and value is the button label. */\n @Input() set buttons(buttons: DialogButtons) {\n this._buttons = buttons\n }\n // /** @internal */\n // closeIcon = faTimes\n\n @Output() nggvCloseEvent = new EventEmitter<DialogEvent>()\n @Output() nggvPositiveEvent = new EventEmitter<DialogEvent>()\n @Output() nggvNeutralEvent = new EventEmitter<DialogEvent>()\n @Output() nggvNegativeEvent = new EventEmitter<DialogEvent>()\n @Output() nggvDangerEvent = new EventEmitter<DialogEvent>()\n\n protected _previous: HTMLElement | undefined\n protected _firstFocusable: HTMLElement | undefined\n protected _lastFocusable: HTMLElement | undefined\n\n constructor(\n private renderer: Renderer2,\n private ref: ElementRef<HTMLElement>,\n private configurableFocusTrapFactory: ConfigurableFocusTrapFactory,\n ) {\n this.configurableFocusTrap = this.configurableFocusTrapFactory.create(\n this.ref.nativeElement,\n )\n }\n\n ngOnInit() {\n this.dialogTitleId =\n this.dialogTitleId ?? 'gds-dialog-title-' + window.nggv?.nextId()\n if (this.dialogBodyId !== null) {\n this.dialogBodyId =\n this.dialogBodyId ?? 'gds-dialog-body-' + window.nggv?.nextId()\n }\n\n this._shown = this.initiallyShown\n if (this.shown) this._limitFocusable()\n }\n\n public onAction(event: Event, action: string) {\n event.preventDefault()\n const emitEvent = {\n original: event,\n payload: this.payload,\n }\n switch (action) {\n case 'positive':\n this.nggvPositiveEvent.emit(emitEvent)\n break\n case 'neutral':\n this.nggvNeutralEvent.emit(emitEvent)\n break\n case 'negative':\n this.nggvNegativeEvent.emit(emitEvent)\n break\n case 'danger':\n this.nggvDangerEvent.emit(emitEvent)\n break\n // case 'close' is handled by if-statement below with call to this.close()\n }\n if (this.autoClose) this.close(event, 'action')\n }\n\n open(opener?: HTMLElement) {\n this._shown = true\n this._previous = opener || (document.activeElement as HTMLElement)\n\n this.enableFocusTrap()\n this.hideOverflow()\n this._limitFocusable()\n return true\n }\n\n protected _limitFocusable() {\n window.setTimeout(() => {\n if (!this.dialogRef) return\n const focusable = this.dialogRef.nativeElement.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n )\n this._firstFocusable = focusable[0]\n this._lastFocusable = focusable[focusable.length - 1]\n if (this._firstFocusable) this._firstFocusable.focus()\n })\n }\n\n @HostListener('click', ['$event', '\"host\"'])\n @HostListener('document:keydown.escape', ['$event'])\n close(event?: Event, initiator?: string) {\n if (initiator === 'host' && event instanceof MouseEvent) return\n // prevent modal from closing on esc button click when closeModalOnEscape is set to false\n if (!this.closeModalOnEscape) return\n if (this.shown) {\n const emitEvent = {\n original: event,\n payload: this.payload,\n }\n this.nggvCloseEvent.emit(emitEvent)\n }\n\n this.resetOverflow()\n this.disableFocusTrap()\n\n this._shown = false\n window.setTimeout(() => {\n if (this._previous) this._previous.focus()\n this._previous = undefined\n })\n }\n\n @HostListener('keydown', ['$event'])\n focusTrap(event: KeyboardEvent) {\n if (event.key !== 'Tab') return\n if (event.shiftKey) {\n // shift + tab\n if (\n this._lastFocusable &&\n document.activeElement === this._firstFocusable\n ) {\n this._lastFocusable.focus()\n event.preventDefault()\n }\n } else {\n // tab\n if (\n this._firstFocusable &&\n document.activeElement === this._lastFocusable\n ) {\n this._firstFocusable.focus()\n event.preventDefault()\n }\n }\n }\n\n // to prevent background scrolling when modal is open\n private hideOverflow(): void {\n this.renderer.setStyle(document.body, 'overflow', 'hidden')\n }\n\n private resetOverflow(): void {\n this.renderer.removeStyle(document.body, 'overflow')\n }\n\n private enableFocusTrap() {\n if (this.configurableFocusTrap) {\n this.configurableFocusTrap.enabled = true\n this.configurableFocusTrap.focusInitialElementWhenReady()\n }\n }\n\n private disableFocusTrap() {\n if (this.configurableFocusTrap) {\n this.configurableFocusTrap.enabled = false\n }\n }\n\n ngOnDestroy(): void {\n this.configurableFocusTrap?.destroy()\n }\n}\n","<ng-container *ngIf=\"shown\">\n <div class=\"modal-dialog__wrapper\" [class.-active]=\"shown\">\n <div\n class=\"modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n >\n <header class=\"modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n class=\"nggv-modal-slideout__close\"\n >\n <i></i>\n </button>\n </header>\n <section class=\"modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger-confirm\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"danger\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.danger || 'danger')\"\n (click)=\"onAction($event, 'danger')\"\n (keydown.enter)=\"onAction($event, 'danger')\"\n *ngIf=\"_buttons && _buttons.danger\"\n >\n {{ t(_buttons.danger) }}\n </button>\n <button\n class=\"submit\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n <div class=\"nggv-backdrop\"></div>\n </div>\n</ng-container>\n","export enum KeyboardKey {\n Escape = 'Escape',\n Space = 'Space',\n Enter = 'Enter',\n ArrowUp = 'ArrowUp',\n ArrowDown = 'ArrowDown',\n Tab = 'Tab',\n}\n","import '@sebgroup/green-core/components/icon/icons/dot-grid-one-horizontal.js'\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core'\nimport { fromEvent, Subscription } from 'rxjs'\nimport { filter, takeWhile } from 'rxjs/operators'\n\nimport { KeyboardKey } from './keyboard-key.enum'\n\n@Component({\n selector: 'nggv-fold-out',\n templateUrl: './fold-out.component.html',\n styleUrls: ['./fold-out.component.scss'],\n})\nexport class NggvFoldOutComponent implements OnDestroy, AfterViewInit {\n /** Special property used for selecting DOM elements during automated UI testing. */\n @HostBinding('attr.data-thook') @Input() thook: string | null | undefined =\n 'fold-out'\n\n @ViewChild('foldout', { read: ElementRef }) inputRef?: ElementRef\n @ViewChild('childrenContainer') container?: ElementRef\n\n /** Aligns the dropdown list with the buttons right or left side */\n @Input() alignOptions!: 'left' | 'right'\n /** Option to show text with action button */\n @Input() text?: string\n /** Aria label for the fold-out button */\n @Input() ariaLabel?: string\n /** Sets the width property of the list. Default = fit-content */\n @Input() listWidth: 'fit-content' | 'max-content' | 'min-content' | 'auto' =\n 'fit-content'\n /** Emits when the children container collapses, for components with change detection strategy \"OnPush\" */\n @Output() actionEmitter = new EventEmitter<void>()\n\n /** @internal */\n protected shown = false\n\n private activeIndex = -1\n private firstArrowClick = true\n private ariaFocusAttributeName = 'aria-focus'\n private blurAllElements = (): void => this.children.forEach(this.blurElement)\n private blurElement = (element: HTMLElement): void =>\n element.setAttribute(this.ariaFocusAttributeName, 'false')\n private focusElement = (element: HTMLElement): void =>\n element.setAttribute(this.ariaFocusAttributeName, 'true')\n private getChildIndex = (element: HTMLElement | undefined): number =>\n element ? this.children.indexOf(element) : -1\n\n private onClickSubscription: Subscription | undefined\n private onKeyUpSubscription: Subscription | undefined\n\n private get children() {\n return Array.from(\n (this.container?.nativeElement as HTMLElement).children ?? [],\n ) as HTMLElement[]\n }\n\n private get lastChild(): HTMLElement | undefined {\n return this.children[this.children.length - 1] || undefined\n }\n\n private get focusedElement(): HTMLElement | undefined {\n return this.children[this.activeIndex] || undefined\n }\n\n ngAfterViewInit(): void {\n this.blurAllElements()\n }\n\n ngOnDestroy(): void {\n this.onClickSubscription?.unsubscribe()\n this.onKeyUpSubscription?.unsubscribe()\n }\n\n /** Toggle display of the option list */\n toggleVisibility(): void {\n this.setVisibility(!this.shown)\n }\n\n setVisibility(setVisibility = true): void {\n if (this.shown === setVisibility) {\n return\n }\n\n this.resetChildren()\n this.shown = setVisibility\n\n if (this.shown) {\n this.subscribeToOutsideClickEvent()\n this.subscribeToKeyDownEvent()\n } else {\n this.onClickSubscription?.unsubscribe()\n this.onKeyUpSubscription?.unsubscribe()\n this.actionEmitter.emit()\n }\n }\n\n /**\n * Closes the fold-out on click outside.\n */\n private subscribeToOutsideClickEvent(): void {\n this.onClickSubscription = fromEvent(document, 'click')\n .pipe(takeWhile(() => this.shown))\n .subscribe({\n next: (event: Event) => {\n if (\n this.shown &&\n !this.inputRef?.nativeElement.contains(event.target)\n ) {\n this.setVisibility(false)\n }\n },\n })\n }\n\n private subscribeToKeyDownEvent(): void {\n if (!this.children.length) {\n return\n }\n\n this.onKeyUpSubscription = fromEvent<KeyboardEvent>(document, 'keydown')\n .pipe(\n takeWhile(() => this.shown),\n filter((event) =>\n Object.values(KeyboardKey).includes(event.code as KeyboardKey),\n ),\n )\n .subscribe((event) => {\n event.preventDefault()\n event.stopPropagation()\n this.onKeyDown(event)\n })\n }\n\n private onKeyDown(event: KeyboardEvent): void {\n switch (event.code) {\n case KeyboardKey.Escape:\n case KeyboardKey.Tab:\n this.setVisibility(false)\n break\n case KeyboardKey.Enter:\n case KeyboardKey.Space:\n this.takeAction()\n break\n case KeyboardKey.ArrowUp:\n this.handleArrowUpClick()\n break\n case KeyboardKey.ArrowDown:\n this.handleArrowDownClick()\n break\n }\n }\n\n private handleArrowUpClick(): void {\n this.activeIndex = this.firstArrowClick\n ? this.getChildIndex(this.lastChild)\n : this.activeIndex === 0\n ? this.getChildIndex(this.lastChild)\n : this.activeIndex - 1\n\n this.firstArrowClick = false\n this.handleFocus()\n }\n\n private handleArrowDownClick(): void {\n this.activeIndex = this.firstArrowClick\n ? 0\n : (this.activeIndex + 1) % this.children.length\n this.firstArrowClick = false\n this.handleFocus()\n }\n\n private handleFocus(): void {\n this.blurAllElements()\n this.focusElement(this.children[this.activeIndex])\n }\n\n private takeAction(): void {\n if (this.focusedElement) {\n this.focusedElement.click()\n }\n\n this.setVisibility(false)\n }\n\n private resetChildren(): void {\n this.blurAllElements()\n this.activeIndex = -1\n this.firstArrowClick = true\n }\n}\n","<div #foldout>\n <button\n data-thook=\"fold-out-toggle\"\n class=\"fold-out-button\"\n [ngClass]=\"{ 'no-text': !text }\"\n (click)=\"toggleVisibility()\"\n [attr.aria-expanded]=\"shown\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <ng-container *ngTemplateOutlet=\"text ? withText : default\"> </ng-container>\n </button>\n <div\n #childrenContainer\n class=\"nggv-fold-out__popover\"\n [ngClass]=\"{\n 'flex-right': alignOptions === 'right',\n 'list-width-fit-content': listWidth === 'fit-content',\n 'list-width-max-content': listWidth === 'max-content',\n 'list-width-min-content': listWidth === 'min-content',\n 'list-width-auto': listWidth === 'auto',\n }\"\n [class.nggv-fold-out__popover-expanded]=\"shown\"\n (click)=\"toggleVisibility()\"\n >\n <ng-content></ng-content>\n </div>\n</div>\n\n<ng-template #withText>\n {{ text }}\n <gds-icon-dot-grid-one-horizontal\n width=\"24\"\n height=\"24\"\n *nggCoreElement\n ></gds-icon-dot-grid-one-horizontal>\n</ng-template>\n\n<ng-template #default>\n <gds-icon-dot-grid-one-horizontal\n width=\"24\"\n height=\"24\"\n *nggCoreElement\n ></gds-icon-dot-grid-one-horizontal>\n <ng-template></ng-template\n></ng-template>\n","import { Directive, HostBinding } from '@angular/core'\n\n@Directive({\n selector: '[nggvOption]',\n})\nexport class NggvFoldOutOptionDirective {\n @HostBinding('class.nggv-field-dropdown__options__label') baseClass = true\n}\n","import {\n animate,\n group,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations'\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core'\n\nimport { DialogButtons } from '../modal.types'\n\n/** Modal slide-out component based on vanilla pattern library design.\n * The modal title can be set using the @Input heading, and will automatically be translated if\n * the string matches a cms key.\n * Content can be injected into the body of the slide-out by either setting the @Input content to any type of\n * markdown, or using content projection (adding content between the `nggv-slideout-modal`-start and end tag).\n * If the content needs to stretch outside the normal padded area, add the attribute `slot=\"outside-content\"` to the\n * projected content main element.\n * Test hooks:\n * The modal hook defaults to 'slideout' but is customizeable.\n * The closing button can be selected using 'slideout-close'.\n * The backdrop is selectable using 'slideout-backdrop'.\n */\n@Component({\n selector: 'nggv-slideout-modal',\n templateUrl: './slide-out.component.html',\n styleUrls: ['./slide-out.component.scss'],\n animations: [\n trigger('modalAnimation', [\n transition(':enter', [\n query('.gds-slide-out', style({ transform: 'translateX(100%)' }), {\n optional: true,\n }),\n query('.gds-backdrop, [role=dialog]', style({ opacity: '0' }), {\n optional: true,\n }),\n group([\n query(\n '.gds-slide-out',\n animate(\n '350ms cubic-bezier(0.33, 1, 0.68, 1)',\n style({ transform: 'translateX(0)' }),\n ),\n { optional: true },\n ),\n query(\n '.gds-backdrop, [role=dialog]',\n animate(\n '350ms cubic-bezier(0.33, 1, 0.68, 1)',\n style({ opacity: '1' }),\n ),\n { optional: true },\n ),\n ]),\n ]),\n transition(':leave', [\n query('.gds-slide-out', style({ transform: 'translateX(0)' }), {\n optional: true,\n }),\n group([\n query(\n '.gds-slide-out',\n animate(\n '350ms cubic-bezier(0.33, 1, 0.68, 1)',\n style({ transform: 'translateX(100%)' }),\n ),\n { optional: true },\n ),\n query(\n '.gds-backdrop, [role=dialog]',\n animate(\n '350ms cubic-bezier(0.33, 1, 0.68, 1)',\n style({ opacity: '0' }),\n ),\n { optional: true },\n ),\n ]),\n ]),\n ]),\n ],\n})\nexport class NggvSlideOutComponent implements OnInit {\n /** @internal */\n @ViewChild('slideOut') slideOutRef: ElementRef | undefined\n\n /** Sets from which side the modal should open. */\n @Input() side: 'left' | 'right' = 'right'\n /** Defines the default visibility state of the slide-out. */\n private _shown = false\n @Input() set shown(value: boolean) {\n this._shown = value\n if (value) {\n this.hideOverflow()\n } else {\n this.resetOverflow()\n }\n }\n get shown() {\n return this._shown\n }\n /** Defines the default visibility state of the modal. */\n @Input() initiallyShown = false\n /** Sets modal heading. Will be translated (using transloco) if the string matches a cms key. */\n @Input() heading!: string\n /**\n * Sets modal title. Will be translated (using transloco) if the string matches a cms key.\n * @deprecated - use @Input() heading instead.\n */\n @Input() title!: string\n /** Sets content body of the modal and can contain html code. The content body can also be set by nesting children to the modal tag. */\n @Input() content?: string\n /** Sets whether it is possible to close the modal from the top right corner. */\n @Input() closable = true\n /** Allows the modal content to decide the width of the modal. */\n @Input() autoWidth = false\n\n /** Special property used for selecting DOM elements during automated UI testing. */\n @Input() thook = 'slideout'\n\n /** Aria label for the Close button with \"X\" icon, in the header */\n @Input() closeButtonAriaLabel?: string\n\n /** @internal */\n get fromLeft(): boolean {\n return this.side === 'left'\n }\n\n // /** @internal */\n // closeIcon = faTimes;\n\n _buttons: DialogButtons | undefined\n /** Buttons are defined as a key-value pair where key is one of \"positive|neutral|negative\" and value is the button label. */\n @Input() set buttons(buttons: DialogButtons) {\n this._buttons = buttons\n }\n\n /** Will emit true on closing event. */\n @Output() nggvCloseEvent = new EventEmitter<boolean>()\n @Output() nggvPositiveEvent = new EventEmitter<void>()\n @Output() nggvNeutralEvent = new EventEmitter<void>()\n @Output() nggvNegativeEvent = new EventEmitter<void>()\n\n private previous: HTMLElement | undefined\n private firstFocusable: HTMLElement | undefined\n private lastFocusable: HTMLElement | undefined\n\n constructor(\n private host: ElementRef,\n private renderer: Renderer2,\n ) {\n // appends methods for opening and closing modal to native element\n this.host.nativeElement.open = this.open.bind(this)\n this.host.nativeElement.close = this.close.bind(this)\n }\n\n ngOnInit() {\n this._shown = this.initiallyShown\n if (this.shown) this.limitFocusable()\n }\n\n public onAction(event: Event, action: string) {\n event.preventDefault()\n switch (action) {\n case 'positive':\n this.nggvPositiveEvent.emit()\n break\n case 'neutral':\n this.nggvNeutralEvent.emit()\n break\n case 'negative':\n this.nggvNegativeEvent.emit()\n break\n }\n this.close(event, 'action')\n }\n\n /**\n * Called on a modal element. Opens the modal and sets focus to the last focusable element in the modal.\n *\n * @param opener - reference to last focused element before opening modal\n * @returns - true\n */\n open(opener?: HTMLElement): boolean {\n this._shown = true\n this.previous = opener || (document.activeElement as HTMLElement)\n this.hideOverflow()\n this.limitFocusable()\n return true\n }\n\n /**\n * Called on a modal element. Closes the modal and emits a `nggvCloseEvent`. Sets focus to the lats focused element if an element was sent in to open function.\n *\n * @param event\n * @param initiator\n */\n @HostListener('click', ['$event', '\"host\"'])\n @HostListener('document:keydown.escape', ['$event'])\n close(event?: Event, initiator?: string): void {\n if (\n initiator === 'host' &&\n event instanceof MouseEvent &&\n event.target !== event.currentTarget\n )\n return\n\n this.resetOverflow()\n\n if (this.shown && this.closable) {\n this.nggvCloseEvent.emit(this.shown)\n this.shown = false\n window.setTimeout(() => {\n if (this.previous) this.previous.focus()\n this.previous = undefined\n })\n }\n }\n\n /** @internal */\n @HostListener('keydown', ['$event'])\n focusTrap(event: KeyboardEvent) {\n if (event.key !== 'Tab') return\n if (event.shiftKey) {\n // shift + tab\n if (\n this.lastFocusable &&\n document.activeElement === this.firstFocusable\n ) {\n this.lastFocusable.focus()\n event.preventDefault()\n }\n } else {\n // tab\n if (\n this.firstFocusable &&\n document.activeElement === this.lastFocusable\n ) {\n this.firstFocusable.focus()\n event.preventDefault()\n }\n }\n }\n\n private limitFocusable() {\n window.setTimeout(() => {\n if (!this.slideOutRef) return\n const focusable = this.slideOutRef.nativeElement.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n )\n this.firstFocusable = focusable[0]\n this.lastFocusable = focusable[focusable.length - 1]\n if (this.firstFocusable) this.firstFocusable.focus()\n })\n }\n\n private hideOverflow(): void {\n this.renderer.setStyle(document.body, 'overflow', 'hidden')\n }\n\n private resetOverflow(): void {\n this.renderer.removeStyle(document.body, 'overflow')\n }\n}\n","<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"gds-modal-title\"\n aria-describedby=\"gds-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 id=\"gds-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"nggv-modal-slideout__close\"\n (click)=\"this.close()\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n >\n <i></i>\n </button>\n </header>\n\n <section id=\"modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n class=\"primary\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"nggv-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n","import './modal.globals'\n\nimport { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\n\nimport { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'\nimport { NggvButtonModule } from '@sebgroup/green-angular/src/v-angular/button'\nimport { NggvI18nModule } from '@sebgroup/green-angular/src/v-angular/i18n'\nimport { NggvDialogComponent } from './dialog/dialog.component'\nimport { NggvFoldOutComponent } from './fold-out/fold-out.component'\nimport { NggvFoldOutOptionDirective } from './fold-out/fold-out.directive'\nimport { NggvSlideOutComponent } from './slide-out/slide-out.component'\n\n@NgModule({\n imports: [\n CommonModule,\n NggvButtonModule,\n NggvI18nModule,\n NggCoreWrapperModule,\n ],\n declarations: [\n NggvDialogComponent,\n NggvSlideOutComponent,\n NggvFoldOutComponent,\n NggvFoldOutOptionDirective,\n ],\n exports: [\n NggvDialogComponent,\n NggvSlideOutComponent,\n NggvFoldOutComponent,\n NggvFoldOutOptionDirective,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggvModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sebgroup-green-angular-src-v-angular-modal.mjs","sources":["../../../../libs/angular/src/v-angular/modal/modal.globals.ts","../../../../libs/angular/src/v-angular/modal/dialog/dialog.component.ts","../../../../libs/angular/src/v-angular/modal/dialog/dialog.component.html","../../../../libs/angular/src/v-angular/modal/fold-out/keyboard-key.enum.ts","../../../../libs/angular/src/v-angular/modal/fold-out/fold-out.component.ts","../../../../libs/angular/src/v-angular/modal/fold-out/fold-out.component.html","../../../../libs/angular/src/v-angular/modal/fold-out/fold-out.directive.ts","../../../../libs/angular/src/v-angular/modal/slide-out/slide-out.component.ts","../../../../libs/angular/src/v-angular/modal/slide-out/slide-out.component.html","../../../../libs/angular/src/v-angular/modal/modal.module.ts","../../../../libs/angular/src/v-angular/modal/sebgroup-green-angular-src-v-angular-modal.ts"],"sourcesContent":["// We must force tsc to interpret this file as a module, resolves\n// \"Augmentations for the global scope can only be directly nested in external modules or ambient module declarations.\"\nexport {}\n\ndeclare global {\n interface Window {\n /** Counter for unique identifiers */\n nggv: {\n ids: { [namespace: string]: number; default: number }\n nextId: (namespace?: string) => string\n }\n }\n}\n\n;(() => {\n // Make sure there is an incremental ID each component can use\n if (typeof window !== 'undefined' && !window.nggv) {\n window.nggv = {\n ids: { default: -1 },\n nextId(namespace = 'default'): string {\n let id = this.ids[namespace] || 0\n if (typeof this.ids[namespace] === 'number') id++\n this.ids[namespace] = id\n return namespace === 'default'\n ? `nggv-${id}`\n : `nggv-${namespace}-${id}`\n },\n }\n }\n})()\n","import {\n ConfigurableFocusTrap,\n ConfigurableFocusTrapFactory,\n} from '@angular/cdk/a11y'\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Input,\n OnDestroy,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core'\n\nimport { DialogButtons } from '../modal.types'\n\nexport interface DialogEvent<T = any> {\n original: Event | undefined\n payload: T | undefined\n}\n\n@Component({\n selector: 'nggv-dialog',\n templateUrl: './dialog.component.html',\n styleUrls: ['./dialog.component.scss'],\n exportAs: 'dialog',\n standalone: false\n})\nexport class NggvDialogComponent implements OnInit, OnDestroy {\n private configurableFocusTrap: ConfigurableFocusTrap\n\n @ViewChild('dialog') dialogRef: ElementRef | undefined\n\n /** Special property used for selecting DOM elements during automated UI testing. */\n @HostBinding('attr.data-thook') @Input() thook: string | null | undefined =\n 'dialog'\n /** @internal */\n @HostBinding('class.gds-modal-dialog') baseClass = true\n /** @internal Defines the default visibility state of the dialog. */\n private _shown = false\n @Input() set shown(value: boolean) {\n this._shown = value\n this.enableFocusTrap()\n if (value) {\n this.hideOverflow()\n } else {\n this.resetOverflow()\n }\n }\n get shown() {\n return this._shown\n }\n\n /** @internal */\n @HostBinding('attr.aria-hidden') get ariaHidden() {\n return !this.shown\n }\n /** Defines the default visibility state of the dialog. */\n @Input() initiallyShown = false\n /** Sets modal heading. Will be translated (using transloco) if the string matches a cms key. */\n @Input() heading!: string\n /**\n * Sets modal title. Will be translated (using transloco) if the string matches a cms key.\n * @deprecated - use heading instead.\n */\n @Input() title = 'Attention'\n /** Sets content body and can contain html code. The content body can also be set by nesting children to the dialog tag. */\n @Input() content?: string\n /** Defines if dialog should close on action. */\n @Input() autoClose = true\n /** An array of event payloads that will be added to every click context menu item click. */\n @Input() payload: any = {}\n\n @Input() dialogTitleId!: string\n /** Pass the null if you don't want dialog body to be announced by the screen reader */\n @Input() dialogBodyId!: string | null\n /** It gives an ability for parent component to control if modal should be closed on esc button click. */\n @Input() closeModalOnEscape = true\n /** Aria label for the Close button with \"X\" icon, in the header */\n @Input() closeButtonAriaLabel?: string\n\n _buttons: DialogButtons | undefined\n /** Buttons are defined as a key-value pair where key is one of \"positive|neutral|negative\" and value is the button label. */\n @Input() set buttons(buttons: DialogButtons) {\n this._buttons = buttons\n }\n // /** @internal */\n // closeIcon = faTimes\n\n @Output() nggvCloseEvent = new EventEmitter<DialogEvent>()\n @Output() nggvPositiveEvent = new EventEmitter<DialogEvent>()\n @Output() nggvNeutralEvent = new EventEmitter<DialogEvent>()\n @Output() nggvNegativeEvent = new EventEmitter<DialogEvent>()\n @Output() nggvDangerEvent = new EventEmitter<DialogEvent>()\n\n protected _previous: HTMLElement | undefined\n protected _firstFocusable: HTMLElement | undefined\n protected _lastFocusable: HTMLElement | undefined\n\n constructor(\n private renderer: Renderer2,\n private ref: ElementRef<HTMLElement>,\n private configurableFocusTrapFactory: ConfigurableFocusTrapFactory,\n ) {\n this.configurableFocusTrap = this.configurableFocusTrapFactory.create(\n this.ref.nativeElement,\n )\n }\n\n ngOnInit() {\n this.dialogTitleId =\n this.dialogTitleId ?? 'gds-dialog-title-' + window.nggv?.nextId()\n if (this.dialogBodyId !== null) {\n this.dialogBodyId =\n this.dialogBodyId ?? 'gds-dialog-body-' + window.nggv?.nextId()\n }\n\n this._shown = this.initiallyShown\n if (this.shown) this._limitFocusable()\n }\n\n public onAction(event: Event, action: string) {\n event.preventDefault()\n const emitEvent = {\n original: event,\n payload: this.payload,\n }\n switch (action) {\n case 'positive':\n this.nggvPositiveEvent.emit(emitEvent)\n break\n case 'neutral':\n this.nggvNeutralEvent.emit(emitEvent)\n break\n case 'negative':\n this.nggvNegativeEvent.emit(emitEvent)\n break\n case 'danger':\n this.nggvDangerEvent.emit(emitEvent)\n break\n // case 'close' is handled by if-statement below with call to this.close()\n }\n if (this.autoClose) this.close(event, 'action')\n }\n\n open(opener?: HTMLElement) {\n this._shown = true\n this._previous = opener || (document.activeElement as HTMLElement)\n\n this.enableFocusTrap()\n this.hideOverflow()\n this._limitFocusable()\n return true\n }\n\n protected _limitFocusable() {\n window.setTimeout(() => {\n if (!this.dialogRef) return\n const focusable = this.dialogRef.nativeElement.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n )\n this._firstFocusable = focusable[0]\n this._lastFocusable = focusable[focusable.length - 1]\n if (this._firstFocusable) this._firstFocusable.focus()\n })\n }\n\n @HostListener('click', ['$event', '\"host\"'])\n @HostListener('document:keydown.escape', ['$event'])\n close(event?: Event, initiator?: string) {\n if (initiator === 'host' && event instanceof MouseEvent) return\n // prevent modal from closing on esc button click when closeModalOnEscape is set to false\n if (!this.closeModalOnEscape) return\n if (this.shown) {\n const emitEvent = {\n original: event,\n payload: this.payload,\n }\n this.nggvCloseEvent.emit(emitEvent)\n }\n\n this.resetOverflow()\n this.disableFocusTrap()\n\n this._shown = false\n window.setTimeout(() => {\n if (this._previous) this._previous.focus()\n this._previous = undefined\n })\n }\n\n @HostListener('keydown', ['$event'])\n focusTrap(event: KeyboardEvent) {\n if (event.key !== 'Tab') return\n if (event.shiftKey) {\n // shift + tab\n if (\n this._lastFocusable &&\n document.activeElement === this._firstFocusable\n ) {\n this._lastFocusable.focus()\n event.preventDefault()\n }\n } else {\n // tab\n if (\n this._firstFocusable &&\n document.activeElement === this._lastFocusable\n ) {\n this._firstFocusable.focus()\n event.preventDefault()\n }\n }\n }\n\n // to prevent background scrolling when modal is open\n private hideOverflow(): void {\n this.renderer.setStyle(document.body, 'overflow', 'hidden')\n }\n\n private resetOverflow(): void {\n this.renderer.removeStyle(document.body, 'overflow')\n }\n\n private enableFocusTrap() {\n if (this.configurableFocusTrap) {\n this.configurableFocusTrap.enabled = true\n this.configurableFocusTrap.focusInitialElementWhenReady()\n }\n }\n\n private disableFocusTrap() {\n if (this.configurableFocusTrap) {\n this.configurableFocusTrap.enabled = false\n }\n }\n\n ngOnDestroy(): void {\n this.configurableFocusTrap?.destroy()\n }\n}\n","<ng-container *ngIf=\"shown\">\n <div class=\"modal-dialog__wrapper\" [class.-active]=\"shown\">\n <div\n class=\"modal-dialog__container\"\n *transloco=\"let t\"\n #dialog\n role=\"dialog\"\n aria-dialog=\"true\"\n [attr.aria-labelledby]=\"dialogTitleId\"\n [attr.aria-describedby]=\"dialogBodyId\"\n >\n <header class=\"modal-dialog__heading\">\n <h3 [attr.id]=\"dialogTitleId\">{{ t(heading || title || '') }}</h3>\n <button\n data-thook=\"dialog-close\"\n (click)=\"onAction($event, 'close')\"\n (keydown.enter)=\"onAction($event, 'close')\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n class=\"nggv-modal-slideout__close\"\n >\n <i></i>\n </button>\n </header>\n <section class=\"modal-dialog__body\" [attr.id]=\"dialogBodyId\">\n <div [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </section>\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger-confirm\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n <button\n class=\"danger\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.danger || 'danger')\"\n (click)=\"onAction($event, 'danger')\"\n (keydown.enter)=\"onAction($event, 'danger')\"\n *ngIf=\"_buttons && _buttons.danger\"\n >\n {{ t(_buttons.danger) }}\n </button>\n <button\n class=\"submit\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n <div class=\"nggv-backdrop\"></div>\n </div>\n</ng-container>\n","export enum KeyboardKey {\n Escape = 'Escape',\n Space = 'Space',\n Enter = 'Enter',\n ArrowUp = 'ArrowUp',\n ArrowDown = 'ArrowDown',\n Tab = 'Tab',\n}\n","import '@sebgroup/green-core/components/icon/icons/dot-grid-one-horizontal.js'\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n EventEmitter,\n HostBinding,\n Input,\n OnDestroy,\n Output,\n ViewChild,\n} from '@angular/core'\nimport { fromEvent, Subscription } from 'rxjs'\nimport { filter, takeWhile } from 'rxjs/operators'\n\nimport { KeyboardKey } from './keyboard-key.enum'\n\n@Component({\n selector: 'nggv-fold-out',\n templateUrl: './fold-out.component.html',\n styleUrls: ['./fold-out.component.scss'],\n standalone: false\n})\nexport class NggvFoldOutComponent implements OnDestroy, AfterViewInit {\n /** Special property used for selecting DOM elements during automated UI testing. */\n @HostBinding('attr.data-thook') @Input() thook: string | null | undefined =\n 'fold-out'\n\n @ViewChild('foldout', { read: ElementRef }) inputRef?: ElementRef\n @ViewChild('childrenContainer') container?: ElementRef\n\n /** Aligns the dropdown list with the buttons right or left side */\n @Input() alignOptions!: 'left' | 'right'\n /** Option to show text with action button */\n @Input() text?: string\n /** Aria label for the fold-out button */\n @Input() ariaLabel?: string\n /** Sets the width property of the list. Default = fit-content */\n @Input() listWidth: 'fit-content' | 'max-content' | 'min-content' | 'auto' =\n 'fit-content'\n /** Emits when the children container collapses, for components with change detection strategy \"OnPush\" */\n @Output() actionEmitter = new EventEmitter<void>()\n\n /** @internal */\n protected shown = false\n\n private activeIndex = -1\n private firstArrowClick = true\n private ariaFocusAttributeName = 'aria-focus'\n private blurAllElements = (): void => this.children.forEach(this.blurElement)\n private blurElement = (element: HTMLElement): void =>\n element.setAttribute(this.ariaFocusAttributeName, 'false')\n private focusElement = (element: HTMLElement): void =>\n element.setAttribute(this.ariaFocusAttributeName, 'true')\n private getChildIndex = (element: HTMLElement | undefined): number =>\n element ? this.children.indexOf(element) : -1\n\n private onClickSubscription: Subscription | undefined\n private onKeyUpSubscription: Subscription | undefined\n\n private get children() {\n return Array.from(\n (this.container?.nativeElement as HTMLElement).children ?? [],\n ) as HTMLElement[]\n }\n\n private get lastChild(): HTMLElement | undefined {\n return this.children[this.children.length - 1] || undefined\n }\n\n private get focusedElement(): HTMLElement | undefined {\n return this.children[this.activeIndex] || undefined\n }\n\n ngAfterViewInit(): void {\n this.blurAllElements()\n }\n\n ngOnDestroy(): void {\n this.onClickSubscription?.unsubscribe()\n this.onKeyUpSubscription?.unsubscribe()\n }\n\n /** Toggle display of the option list */\n toggleVisibility(): void {\n this.setVisibility(!this.shown)\n }\n\n setVisibility(setVisibility = true): void {\n if (this.shown === setVisibility) {\n return\n }\n\n this.resetChildren()\n this.shown = setVisibility\n\n if (this.shown) {\n this.subscribeToOutsideClickEvent()\n this.subscribeToKeyDownEvent()\n } else {\n this.onClickSubscription?.unsubscribe()\n this.onKeyUpSubscription?.unsubscribe()\n this.actionEmitter.emit()\n }\n }\n\n /**\n * Closes the fold-out on click outside.\n */\n private subscribeToOutsideClickEvent(): void {\n this.onClickSubscription = fromEvent(document, 'click')\n .pipe(takeWhile(() => this.shown))\n .subscribe({\n next: (event: Event) => {\n if (\n this.shown &&\n !this.inputRef?.nativeElement.contains(event.target)\n ) {\n this.setVisibility(false)\n }\n },\n })\n }\n\n private subscribeToKeyDownEvent(): void {\n if (!this.children.length) {\n return\n }\n\n this.onKeyUpSubscription = fromEvent<KeyboardEvent>(document, 'keydown')\n .pipe(\n takeWhile(() => this.shown),\n filter((event) =>\n Object.values(KeyboardKey).includes(event.code as KeyboardKey),\n ),\n )\n .subscribe((event) => {\n event.preventDefault()\n event.stopPropagation()\n this.onKeyDown(event)\n })\n }\n\n private onKeyDown(event: KeyboardEvent): void {\n switch (event.code) {\n case KeyboardKey.Escape:\n case KeyboardKey.Tab:\n this.setVisibility(false)\n break\n case KeyboardKey.Enter:\n case KeyboardKey.Space:\n this.takeAction()\n break\n case KeyboardKey.ArrowUp:\n this.handleArrowUpClick()\n break\n case KeyboardKey.ArrowDown:\n this.handleArrowDownClick()\n break\n }\n }\n\n private handleArrowUpClick(): void {\n this.activeIndex = this.firstArrowClick\n ? this.getChildIndex(this.lastChild)\n : this.activeIndex === 0\n ? this.getChildIndex(this.lastChild)\n : this.activeIndex - 1\n\n this.firstArrowClick = false\n this.handleFocus()\n }\n\n private handleArrowDownClick(): void {\n this.activeIndex = this.firstArrowClick\n ? 0\n : (this.activeIndex + 1) % this.children.length\n this.firstArrowClick = false\n this.handleFocus()\n }\n\n private handleFocus(): void {\n this.blurAllElements()\n this.focusElement(this.children[this.activeIndex])\n }\n\n private takeAction(): void {\n if (this.focusedElement) {\n this.focusedElement.click()\n }\n\n this.setVisibility(false)\n }\n\n private resetChildren(): void {\n this.blurAllElements()\n this.activeIndex = -1\n this.firstArrowClick = true\n }\n}\n","<div #foldout>\n <button\n data-thook=\"fold-out-toggle\"\n class=\"fold-out-button\"\n [ngClass]=\"{ 'no-text': !text }\"\n (click)=\"toggleVisibility()\"\n [attr.aria-expanded]=\"shown\"\n [attr.aria-label]=\"ariaLabel\"\n >\n <ng-container *ngTemplateOutlet=\"text ? withText : default\"> </ng-container>\n </button>\n <div\n #childrenContainer\n class=\"nggv-fold-out__popover\"\n [ngClass]=\"{\n 'flex-right': alignOptions === 'right',\n 'list-width-fit-content': listWidth === 'fit-content',\n 'list-width-max-content': listWidth === 'max-content',\n 'list-width-min-content': listWidth === 'min-content',\n 'list-width-auto': listWidth === 'auto',\n }\"\n [class.nggv-fold-out__popover-expanded]=\"shown\"\n (click)=\"toggleVisibility()\"\n >\n <ng-content></ng-content>\n </div>\n</div>\n\n<ng-template #withText>\n {{ text }}\n <gds-icon-dot-grid-one-horizontal\n width=\"24\"\n height=\"24\"\n *nggCoreElement\n ></gds-icon-dot-grid-one-horizontal>\n</ng-template>\n\n<ng-template #default>\n <gds-icon-dot-grid-one-horizontal\n width=\"24\"\n height=\"24\"\n *nggCoreElement\n ></gds-icon-dot-grid-one-horizontal>\n <ng-template></ng-template\n></ng-template>\n","import { Directive, HostBinding } from '@angular/core'\n\n@Directive({\n selector: '[nggvOption]',\n standalone: false\n})\nexport class NggvFoldOutOptionDirective {\n @HostBinding('class.nggv-field-dropdown__options__label') baseClass = true\n}\n","import {\n animate,\n group,\n query,\n style,\n transition,\n trigger,\n} from '@angular/animations'\nimport {\n Component,\n ElementRef,\n EventEmitter,\n HostListener,\n Input,\n OnInit,\n Output,\n Renderer2,\n ViewChild,\n} from '@angular/core'\n\nimport { DialogButtons } from '../modal.types'\n\n/** Modal slide-out component based on vanilla pattern library design.\n * The modal title can be set using the @Input heading, and will automatically be translated if\n * the string matches a cms key.\n * Content can be injected into the body of the slide-out by either setting the @Input content to any type of\n * markdown, or using content projection (adding content between the `nggv-slideout-modal`-start and end tag).\n * If the content needs to stretch outside the normal padded area, add the attribute `slot=\"outside-content\"` to the\n * projected content main element.\n * Test hooks:\n * The modal hook defaults to 'slideout' but is customizeable.\n * The closing button can be selected using 'slideout-close'.\n * The backdrop is selectable using 'slideout-backdrop'.\n */\n@Component({\n selector: 'nggv-slideout-modal',\n templateUrl: './slide-out.component.html',\n styleUrls: ['./slide-out.component.scss'],\n animations: [\n trigger('modalAnimation', [\n transition(':enter', [\n query('.gds-slide-out', style({ transform: 'translateX(100%)' }), {\n optional: true,\n }),\n query('.gds-backdrop, [role=dialog]', style({ opacity: '0' }), {\n optional: true,\n }),\n group([\n query('.gds-slide-out', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ transform: 'translateX(0)' })), { optional: true }),\n query('.gds-backdrop, [role=dialog]', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ opacity: '1' })), { optional: true }),\n ]),\n ]),\n transition(':leave', [\n query('.gds-slide-out', style({ transform: 'translateX(0)' }), {\n optional: true,\n }),\n group([\n query('.gds-slide-out', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ transform: 'translateX(100%)' })), { optional: true }),\n query('.gds-backdrop, [role=dialog]', animate('350ms cubic-bezier(0.33, 1, 0.68, 1)', style({ opacity: '0' })), { optional: true }),\n ]),\n ]),\n ]),\n ],\n standalone: false\n})\nexport class NggvSlideOutComponent implements OnInit {\n /** @internal */\n @ViewChild('slideOut') slideOutRef: ElementRef | undefined\n\n /** Sets from which side the modal should open. */\n @Input() side: 'left' | 'right' = 'right'\n /** Defines the default visibility state of the slide-out. */\n private _shown = false\n @Input() set shown(value: boolean) {\n this._shown = value\n if (value) {\n this.hideOverflow()\n } else {\n this.resetOverflow()\n }\n }\n get shown() {\n return this._shown\n }\n /** Defines the default visibility state of the modal. */\n @Input() initiallyShown = false\n /** Sets modal heading. Will be translated (using transloco) if the string matches a cms key. */\n @Input() heading!: string\n /**\n * Sets modal title. Will be translated (using transloco) if the string matches a cms key.\n * @deprecated - use @Input() heading instead.\n */\n @Input() title!: string\n /** Sets content body of the modal and can contain html code. The content body can also be set by nesting children to the modal tag. */\n @Input() content?: string\n /** Sets whether it is possible to close the modal from the top right corner. */\n @Input() closable = true\n /** Allows the modal content to decide the width of the modal. */\n @Input() autoWidth = false\n\n /** Special property used for selecting DOM elements during automated UI testing. */\n @Input() thook = 'slideout'\n\n /** Aria label for the Close button with \"X\" icon, in the header */\n @Input() closeButtonAriaLabel?: string\n\n /** @internal */\n get fromLeft(): boolean {\n return this.side === 'left'\n }\n\n // /** @internal */\n // closeIcon = faTimes;\n\n _buttons: DialogButtons | undefined\n /** Buttons are defined as a key-value pair where key is one of \"positive|neutral|negative\" and value is the button label. */\n @Input() set buttons(buttons: DialogButtons) {\n this._buttons = buttons\n }\n\n /** Will emit true on closing event. */\n @Output() nggvCloseEvent = new EventEmitter<boolean>()\n @Output() nggvPositiveEvent = new EventEmitter<void>()\n @Output() nggvNeutralEvent = new EventEmitter<void>()\n @Output() nggvNegativeEvent = new EventEmitter<void>()\n\n private previous: HTMLElement | undefined\n private firstFocusable: HTMLElement | undefined\n private lastFocusable: HTMLElement | undefined\n\n constructor(\n private host: ElementRef,\n private renderer: Renderer2,\n ) {\n // appends methods for opening and closing modal to native element\n this.host.nativeElement.open = this.open.bind(this)\n this.host.nativeElement.close = this.close.bind(this)\n }\n\n ngOnInit() {\n this._shown = this.initiallyShown\n if (this.shown) this.limitFocusable()\n }\n\n public onAction(event: Event, action: string) {\n event.preventDefault()\n switch (action) {\n case 'positive':\n this.nggvPositiveEvent.emit()\n break\n case 'neutral':\n this.nggvNeutralEvent.emit()\n break\n case 'negative':\n this.nggvNegativeEvent.emit()\n break\n }\n this.close(event, 'action')\n }\n\n /**\n * Called on a modal element. Opens the modal and sets focus to the last focusable element in the modal.\n *\n * @param opener - reference to last focused element before opening modal\n * @returns - true\n */\n open(opener?: HTMLElement): boolean {\n this._shown = true\n this.previous = opener || (document.activeElement as HTMLElement)\n this.hideOverflow()\n this.limitFocusable()\n return true\n }\n\n /**\n * Called on a modal element. Closes the modal and emits a `nggvCloseEvent`. Sets focus to the lats focused element if an element was sent in to open function.\n *\n * @param event\n * @param initiator\n */\n @HostListener('click', ['$event', '\"host\"'])\n @HostListener('document:keydown.escape', ['$event'])\n close(event?: Event, initiator?: string): void {\n if (\n initiator === 'host' &&\n event instanceof MouseEvent &&\n event.target !== event.currentTarget\n )\n return\n\n this.resetOverflow()\n\n if (this.shown && this.closable) {\n this.nggvCloseEvent.emit(this.shown)\n this.shown = false\n window.setTimeout(() => {\n if (this.previous) this.previous.focus()\n this.previous = undefined\n })\n }\n }\n\n /** @internal */\n @HostListener('keydown', ['$event'])\n focusTrap(event: KeyboardEvent) {\n if (event.key !== 'Tab') return\n if (event.shiftKey) {\n // shift + tab\n if (\n this.lastFocusable &&\n document.activeElement === this.firstFocusable\n ) {\n this.lastFocusable.focus()\n event.preventDefault()\n }\n } else {\n // tab\n if (\n this.firstFocusable &&\n document.activeElement === this.lastFocusable\n ) {\n this.firstFocusable.focus()\n event.preventDefault()\n }\n }\n }\n\n private limitFocusable() {\n window.setTimeout(() => {\n if (!this.slideOutRef) return\n const focusable = this.slideOutRef.nativeElement.querySelectorAll(\n 'button, [href], input, select, textarea, [tabindex]:not([tabindex=\"-1\"])',\n )\n this.firstFocusable = focusable[0]\n this.lastFocusable = focusable[focusable.length - 1]\n if (this.firstFocusable) this.firstFocusable.focus()\n })\n }\n\n private hideOverflow(): void {\n this.renderer.setStyle(document.body, 'overflow', 'hidden')\n }\n\n private resetOverflow(): void {\n this.renderer.removeStyle(document.body, 'overflow')\n }\n}\n","<ng-container *ngIf=\"shown\">\n <div\n [ngClass]=\"{\n 'gds-slide-out--left': fromLeft,\n 'gds-slide-out--right': !fromLeft,\n }\"\n *transloco=\"let t\"\n [class.-active]=\"shown\"\n [attr.data-thook]=\"thook\"\n [attr.aria-hidden]=\"!shown\"\n [@modalAnimation]\n >\n <div\n #slideOut\n class=\"gds-slide-out\"\n [class.auto-width]=\"autoWidth\"\n [class.entered]=\"shown\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"gds-modal-title\"\n aria-describedby=\"gds-modal-body\"\n >\n <header class=\"gds-slide-out__header\">\n <h3 id=\"gds-modal-title\">\n {{ heading || title || '' }}\n </h3>\n <button\n data-testid=\"modal-close-button\"\n class=\"nggv-modal-slideout__close\"\n (click)=\"this.close()\"\n [attr.aria-label]=\"closeButtonAriaLabel\"\n >\n <i></i>\n </button>\n </header>\n\n <section id=\"modal-body\">\n <div class=\"gds-slide-out__content hide-if-empty\">\n <div *ngIf=\"content\" [innerHtml]=\"content\"></div>\n <ng-content></ng-content>\n </div>\n <ng-content select=\"[slot='outside-content']\"></ng-content>\n </section>\n\n <footer class=\"modal-dialog__actions\">\n <button\n class=\"danger\"\n type=\"reset\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.negative || 'negative')\"\n (click)=\"onAction($event, 'negative')\"\n (keydown.enter)=\"onAction($event, 'negative')\"\n *ngIf=\"_buttons && _buttons.negative\"\n >\n {{ t(_buttons.negative) }}\n </button>\n\n <button\n class=\"secondary\"\n type=\"button\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.neutral || 'neutral')\"\n (click)=\"onAction($event, 'neutral')\"\n (keydown.enter)=\"onAction($event, 'neutral')\"\n *ngIf=\"_buttons && _buttons.neutral\"\n >\n {{ t(_buttons.neutral) }}\n </button>\n\n <button\n class=\"primary\"\n type=\"submit\"\n [attr.data-thook]=\"'dialog-' + (_buttons?.positive || 'positive')\"\n (click)=\"onAction($event, 'positive')\"\n (keydown.enter)=\"onAction($event, 'positive')\"\n *ngIf=\"_buttons && _buttons.positive\"\n >\n {{ t(_buttons.positive) }}\n </button>\n </footer>\n </div>\n\n <div\n class=\"nggv-backdrop\"\n data-thook=\"slideout-backdrop\"\n (click)=\"close()\"\n ></div>\n </div>\n</ng-container>\n","import './modal.globals'\n\nimport { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\n\nimport { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'\nimport { NggvButtonModule } from '@sebgroup/green-angular/src/v-angular/button'\nimport { NggvI18nModule } from '@sebgroup/green-angular/src/v-angular/i18n'\nimport { NggvDialogComponent } from './dialog/dialog.component'\nimport { NggvFoldOutComponent } from './fold-out/fold-out.component'\nimport { NggvFoldOutOptionDirective } from './fold-out/fold-out.directive'\nimport { NggvSlideOutComponent } from './slide-out/slide-out.component'\n\n@NgModule({\n imports: [\n CommonModule,\n NggvButtonModule,\n NggvI18nModule,\n NggCoreWrapperModule,\n ],\n declarations: [\n NggvDialogComponent,\n NggvSlideOutComponent,\n NggvFoldOutComponent,\n NggvFoldOutOptionDirective,\n ],\n exports: [\n NggvDialogComponent,\n NggvSlideOutComponent,\n NggvFoldOutComponent,\n NggvFoldOutOptionDirective,\n ],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggvModalModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i2","i1"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter,
|
|
2
|
+
import { EventEmitter, Output, Input, Component, CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core';
|
|
3
3
|
import '@sebgroup/green-core/components/icon/icons/chevron-left.js';
|
|
4
4
|
import '@sebgroup/green-core/components/icon/icons/chevron-right.js';
|
|
5
5
|
import '@sebgroup/green-core/components/icon/icons/arrow-left.js';
|
|
@@ -110,12 +110,12 @@ class PaginationComponent {
|
|
|
110
110
|
this.showEllipsisEnd = pagingEnd < this.pagingSize - 1;
|
|
111
111
|
this.list = genList.slice(start, end);
|
|
112
112
|
}
|
|
113
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
114
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: PaginationComponent, selector: "nggv-pagination", inputs: { size: "size", value: "value", firstText: "firstText", lastText: "lastText", nextText: "nextText", offset: "offset", pagingLength: "pagingLength", previousText: "previousText", useFirstAndLast: "useFirstAndLast", useTextNav: "useTextNav", useDotNav: "useDotNav", showGoToPage: "showGoToPage", className: "className", id: "id" }, outputs: { pageNumberChange: "pageNumberChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-wrapper\" [ngClass]=\"className\" [attr.id]=\"id\">\n <nav class=\"custom-pagination\">\n <ng-container *ngIf=\"useDotNav; else numNav\">\n <ul class=\"pagination dotnav\">\n <ng-container *ngFor=\"let num of dotnavList\">\n <li class=\"page-item\" (click)=\"handleOnChange(num)\" [value]=\"num\">\n <span\n class=\"page-dot-link\"\n [ngClass]=\"{ active: value === num }\"\n ></span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-template #numNav>\n <ul class=\"pagination\">\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value - 1)\">\n <button\n class=\"page-link\"\n [attr.title]=\"previousText\"\n [attr.disabled]=\"value === 1 ? 'disabled' : null\"\n >\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleLeftIcon\">\n {{ previousText ? previousText : 'Previous' }}\n </ng-container>\n <ng-template #angleLeftIcon>\n <gds-icon-chevron-left\n *nggCoreElement\n ></gds-icon-chevron-left>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" (click)=\"handleOnChange(1)\">\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === 1 }\"\n [attr.title]=\"firstText\"\n >\n <span class=\"nav-num\">{{ 1 }}</span>\n </button>\n </li>\n\n <li class=\"page-item\" *ngIf=\"showEllipsisStart\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngFor=\"let num of list\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ active: value === num }\"\n (click)=\"handleOnChange(num)\"\n value=\"num\"\n >\n <button class=\"page-link\" [ngClass]=\"{ active: value === num }\">\n <span class=\"nav-num\">{{ num }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" *ngIf=\"showEllipsisEnd\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n\n <li\n class=\"page-item\"\n (click)=\"handleOnChange(pagingSize)\"\n *ngIf=\"pagingSize > 1\"\n >\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === pagingSize }\"\n [attr.title]=\"lastText\"\n >\n <span class=\"nav-num\">{{ pagingSize }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value + 1)\">\n <button class=\"page-link\" [attr.title]=\"nextText\">\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleRightIcon\">\n {{ nextText ? nextText : 'Next' }}\n </ng-container>\n <ng-template #angleRightIcon>\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"showGoToPage\">\n <li>\n <div class=\"paging-input-wrapper\">\n <div class=\"label-wrapper\">\n <label for=\"pageInput\" *transloco=\"let t\">\n {{ t('label.gotopage') }}\n </label>\n </div>\n <div class=\"input-wrapper\">\n <input\n #pageInput\n data-thook=\"pagination-go-to-input\"\n min=\"1\"\n [max]=\"pagingSize\"\n id=\"pageInput\"\n class=\"gds-field\"\n type=\"number\"\n (keydown.enter)=\"handlePageInput(pageInput.value)\"\n [ngModel]=\"value\"\n />\n <button\n type=\"button\"\n data-thook=\"pagination-go-to-button\"\n (click)=\"handlePageInput(pageInput.value)\"\n >\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </button>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </nav>\n</div>\n", styles: [":host .pagination-wrapper .paging-input-wrapper{display:flex}:host .pagination-wrapper .paging-input-wrapper .label-wrapper{margin:auto;padding:0 1em}:host .pagination-wrapper .paging-input-wrapper .input-wrapper{display:flex;border:.0625em solid #868686;border-radius:4px;height:100%}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input{border:0;padding:.5em;min-height:2.5rem;width:60px;box-sizing:border-box;border-radius:3px;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button{border:0;color:#1a1a1a;background-color:transparent;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination{display:flex;list-style:none;margin-top:10px;margin-bottom:10px}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link{position:relative;text-align:center;padding-top:0;padding-bottom:0;min-width:38px;height:40px;display:inline-flex;align-items:center;background-color:transparent;color:#1a1a1a;border:none;border-radius:4px;font-size:1rem;font-family:inherit}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link.active{background-color:#1a1a1a;color:#eee}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-num{margin:0 auto}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-action{margin:0 auto;display:inline-flex}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:hover{box-shadow:0 2px 6px #eee}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item{width:20px;height:25px}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;cursor:pointer;background-color:#a2ddfe;transition:all .2s;margin:0 auto;will-change:transform}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link.active{background-color:#007ac7;cursor:default;transform:scale(1.3)}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link:hover:not(.active){background-color:#41b0ee}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i4.NggCoreElementDirective, selector: "[nggCoreElement]" }] }); }
|
|
113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: PaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
114
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.9", type: PaginationComponent, isStandalone: false, selector: "nggv-pagination", inputs: { size: "size", value: "value", firstText: "firstText", lastText: "lastText", nextText: "nextText", offset: "offset", pagingLength: "pagingLength", previousText: "previousText", useFirstAndLast: "useFirstAndLast", useTextNav: "useTextNav", useDotNav: "useDotNav", showGoToPage: "showGoToPage", className: "className", id: "id" }, outputs: { pageNumberChange: "pageNumberChange" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"pagination-wrapper\" [ngClass]=\"className\" [attr.id]=\"id\">\n <nav class=\"custom-pagination\">\n <ng-container *ngIf=\"useDotNav; else numNav\">\n <ul class=\"pagination dotnav\">\n <ng-container *ngFor=\"let num of dotnavList\">\n <li class=\"page-item\" (click)=\"handleOnChange(num)\" [value]=\"num\">\n <span\n class=\"page-dot-link\"\n [ngClass]=\"{ active: value === num }\"\n ></span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-template #numNav>\n <ul class=\"pagination\">\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value - 1)\">\n <button\n class=\"page-link\"\n [attr.title]=\"previousText\"\n [attr.disabled]=\"value === 1 ? 'disabled' : null\"\n >\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleLeftIcon\">\n {{ previousText ? previousText : 'Previous' }}\n </ng-container>\n <ng-template #angleLeftIcon>\n <gds-icon-chevron-left\n *nggCoreElement\n ></gds-icon-chevron-left>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" (click)=\"handleOnChange(1)\">\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === 1 }\"\n [attr.title]=\"firstText\"\n >\n <span class=\"nav-num\">{{ 1 }}</span>\n </button>\n </li>\n\n <li class=\"page-item\" *ngIf=\"showEllipsisStart\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngFor=\"let num of list\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ active: value === num }\"\n (click)=\"handleOnChange(num)\"\n value=\"num\"\n >\n <button class=\"page-link\" [ngClass]=\"{ active: value === num }\">\n <span class=\"nav-num\">{{ num }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" *ngIf=\"showEllipsisEnd\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n\n <li\n class=\"page-item\"\n (click)=\"handleOnChange(pagingSize)\"\n *ngIf=\"pagingSize > 1\"\n >\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === pagingSize }\"\n [attr.title]=\"lastText\"\n >\n <span class=\"nav-num\">{{ pagingSize }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value + 1)\">\n <button class=\"page-link\" [attr.title]=\"nextText\">\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleRightIcon\">\n {{ nextText ? nextText : 'Next' }}\n </ng-container>\n <ng-template #angleRightIcon>\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"showGoToPage\">\n <li>\n <div class=\"paging-input-wrapper\">\n <div class=\"label-wrapper\">\n <label for=\"pageInput\" *transloco=\"let t\">\n {{ t('label.gotopage') }}\n </label>\n </div>\n <div class=\"input-wrapper\">\n <input\n #pageInput\n data-thook=\"pagination-go-to-input\"\n min=\"1\"\n [max]=\"pagingSize\"\n id=\"pageInput\"\n class=\"gds-field\"\n type=\"number\"\n (keydown.enter)=\"handlePageInput(pageInput.value)\"\n [ngModel]=\"value\"\n />\n <button\n type=\"button\"\n data-thook=\"pagination-go-to-button\"\n (click)=\"handlePageInput(pageInput.value)\"\n >\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </button>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </nav>\n</div>\n", styles: [":host .pagination-wrapper .paging-input-wrapper{display:flex}:host .pagination-wrapper .paging-input-wrapper .label-wrapper{margin:auto;padding:0 1em}:host .pagination-wrapper .paging-input-wrapper .input-wrapper{display:flex;border:.0625em solid #868686;border-radius:4px;height:100%}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input{border:0;padding:.5em;min-height:2.5rem;width:60px;box-sizing:border-box;border-radius:3px;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button{border:0;color:#1a1a1a;background-color:transparent;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination{display:flex;list-style:none;margin-top:10px;margin-bottom:10px}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link{position:relative;text-align:center;padding-top:0;padding-bottom:0;min-width:38px;height:40px;display:inline-flex;align-items:center;background-color:transparent;color:#1a1a1a;border:none;border-radius:4px;font-size:1rem;font-family:inherit}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link.active{background-color:#1a1a1a;color:#eee}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-num{margin:0 auto}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-action{margin:0 auto;display:inline-flex}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:hover{box-shadow:0 2px 6px #eee}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item{width:20px;height:25px}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;cursor:pointer;background-color:#a2ddfe;transition:all .2s;margin:0 auto;will-change:transform}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link.active{background-color:#007ac7;cursor:default;transform:scale(1.3)}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link:hover:not(.active){background-color:#41b0ee}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i2.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: i4.NggCoreElementDirective, selector: "[nggCoreElement]" }] }); }
|
|
115
115
|
}
|
|
116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: PaginationComponent, decorators: [{
|
|
117
117
|
type: Component,
|
|
118
|
-
args: [{ selector: 'nggv-pagination', template: "<div class=\"pagination-wrapper\" [ngClass]=\"className\" [attr.id]=\"id\">\n <nav class=\"custom-pagination\">\n <ng-container *ngIf=\"useDotNav; else numNav\">\n <ul class=\"pagination dotnav\">\n <ng-container *ngFor=\"let num of dotnavList\">\n <li class=\"page-item\" (click)=\"handleOnChange(num)\" [value]=\"num\">\n <span\n class=\"page-dot-link\"\n [ngClass]=\"{ active: value === num }\"\n ></span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-template #numNav>\n <ul class=\"pagination\">\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value - 1)\">\n <button\n class=\"page-link\"\n [attr.title]=\"previousText\"\n [attr.disabled]=\"value === 1 ? 'disabled' : null\"\n >\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleLeftIcon\">\n {{ previousText ? previousText : 'Previous' }}\n </ng-container>\n <ng-template #angleLeftIcon>\n <gds-icon-chevron-left\n *nggCoreElement\n ></gds-icon-chevron-left>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" (click)=\"handleOnChange(1)\">\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === 1 }\"\n [attr.title]=\"firstText\"\n >\n <span class=\"nav-num\">{{ 1 }}</span>\n </button>\n </li>\n\n <li class=\"page-item\" *ngIf=\"showEllipsisStart\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngFor=\"let num of list\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ active: value === num }\"\n (click)=\"handleOnChange(num)\"\n value=\"num\"\n >\n <button class=\"page-link\" [ngClass]=\"{ active: value === num }\">\n <span class=\"nav-num\">{{ num }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" *ngIf=\"showEllipsisEnd\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n\n <li\n class=\"page-item\"\n (click)=\"handleOnChange(pagingSize)\"\n *ngIf=\"pagingSize > 1\"\n >\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === pagingSize }\"\n [attr.title]=\"lastText\"\n >\n <span class=\"nav-num\">{{ pagingSize }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value + 1)\">\n <button class=\"page-link\" [attr.title]=\"nextText\">\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleRightIcon\">\n {{ nextText ? nextText : 'Next' }}\n </ng-container>\n <ng-template #angleRightIcon>\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"showGoToPage\">\n <li>\n <div class=\"paging-input-wrapper\">\n <div class=\"label-wrapper\">\n <label for=\"pageInput\" *transloco=\"let t\">\n {{ t('label.gotopage') }}\n </label>\n </div>\n <div class=\"input-wrapper\">\n <input\n #pageInput\n data-thook=\"pagination-go-to-input\"\n min=\"1\"\n [max]=\"pagingSize\"\n id=\"pageInput\"\n class=\"gds-field\"\n type=\"number\"\n (keydown.enter)=\"handlePageInput(pageInput.value)\"\n [ngModel]=\"value\"\n />\n <button\n type=\"button\"\n data-thook=\"pagination-go-to-button\"\n (click)=\"handlePageInput(pageInput.value)\"\n >\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </button>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </nav>\n</div>\n", styles: [":host .pagination-wrapper .paging-input-wrapper{display:flex}:host .pagination-wrapper .paging-input-wrapper .label-wrapper{margin:auto;padding:0 1em}:host .pagination-wrapper .paging-input-wrapper .input-wrapper{display:flex;border:.0625em solid #868686;border-radius:4px;height:100%}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input{border:0;padding:.5em;min-height:2.5rem;width:60px;box-sizing:border-box;border-radius:3px;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button{border:0;color:#1a1a1a;background-color:transparent;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination{display:flex;list-style:none;margin-top:10px;margin-bottom:10px}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link{position:relative;text-align:center;padding-top:0;padding-bottom:0;min-width:38px;height:40px;display:inline-flex;align-items:center;background-color:transparent;color:#1a1a1a;border:none;border-radius:4px;font-size:1rem;font-family:inherit}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link.active{background-color:#1a1a1a;color:#eee}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-num{margin:0 auto}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-action{margin:0 auto;display:inline-flex}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:hover{box-shadow:0 2px 6px #eee}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item{width:20px;height:25px}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;cursor:pointer;background-color:#a2ddfe;transition:all .2s;margin:0 auto;will-change:transform}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link.active{background-color:#007ac7;cursor:default;transform:scale(1.3)}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link:hover:not(.active){background-color:#41b0ee}\n"] }]
|
|
118
|
+
args: [{ selector: 'nggv-pagination', standalone: false, template: "<div class=\"pagination-wrapper\" [ngClass]=\"className\" [attr.id]=\"id\">\n <nav class=\"custom-pagination\">\n <ng-container *ngIf=\"useDotNav; else numNav\">\n <ul class=\"pagination dotnav\">\n <ng-container *ngFor=\"let num of dotnavList\">\n <li class=\"page-item\" (click)=\"handleOnChange(num)\" [value]=\"num\">\n <span\n class=\"page-dot-link\"\n [ngClass]=\"{ active: value === num }\"\n ></span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-template #numNav>\n <ul class=\"pagination\">\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value - 1)\">\n <button\n class=\"page-link\"\n [attr.title]=\"previousText\"\n [attr.disabled]=\"value === 1 ? 'disabled' : null\"\n >\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleLeftIcon\">\n {{ previousText ? previousText : 'Previous' }}\n </ng-container>\n <ng-template #angleLeftIcon>\n <gds-icon-chevron-left\n *nggCoreElement\n ></gds-icon-chevron-left>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" (click)=\"handleOnChange(1)\">\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === 1 }\"\n [attr.title]=\"firstText\"\n >\n <span class=\"nav-num\">{{ 1 }}</span>\n </button>\n </li>\n\n <li class=\"page-item\" *ngIf=\"showEllipsisStart\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngFor=\"let num of list\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ active: value === num }\"\n (click)=\"handleOnChange(num)\"\n value=\"num\"\n >\n <button class=\"page-link\" [ngClass]=\"{ active: value === num }\">\n <span class=\"nav-num\">{{ num }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" *ngIf=\"showEllipsisEnd\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n\n <li\n class=\"page-item\"\n (click)=\"handleOnChange(pagingSize)\"\n *ngIf=\"pagingSize > 1\"\n >\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === pagingSize }\"\n [attr.title]=\"lastText\"\n >\n <span class=\"nav-num\">{{ pagingSize }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value + 1)\">\n <button class=\"page-link\" [attr.title]=\"nextText\">\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleRightIcon\">\n {{ nextText ? nextText : 'Next' }}\n </ng-container>\n <ng-template #angleRightIcon>\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"showGoToPage\">\n <li>\n <div class=\"paging-input-wrapper\">\n <div class=\"label-wrapper\">\n <label for=\"pageInput\" *transloco=\"let t\">\n {{ t('label.gotopage') }}\n </label>\n </div>\n <div class=\"input-wrapper\">\n <input\n #pageInput\n data-thook=\"pagination-go-to-input\"\n min=\"1\"\n [max]=\"pagingSize\"\n id=\"pageInput\"\n class=\"gds-field\"\n type=\"number\"\n (keydown.enter)=\"handlePageInput(pageInput.value)\"\n [ngModel]=\"value\"\n />\n <button\n type=\"button\"\n data-thook=\"pagination-go-to-button\"\n (click)=\"handlePageInput(pageInput.value)\"\n >\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </button>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </nav>\n</div>\n", styles: [":host .pagination-wrapper .paging-input-wrapper{display:flex}:host .pagination-wrapper .paging-input-wrapper .label-wrapper{margin:auto;padding:0 1em}:host .pagination-wrapper .paging-input-wrapper .input-wrapper{display:flex;border:.0625em solid #868686;border-radius:4px;height:100%}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input{border:0;padding:.5em;min-height:2.5rem;width:60px;box-sizing:border-box;border-radius:3px;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper input:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button{border:0;color:#1a1a1a;background-color:transparent;font-size:1rem;font-family:inherit}:host .pagination-wrapper .paging-input-wrapper .input-wrapper>button:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination{display:flex;list-style:none;margin-top:10px;margin-bottom:10px}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link{position:relative;text-align:center;padding-top:0;padding-bottom:0;min-width:38px;height:40px;display:inline-flex;align-items:center;background-color:transparent;color:#1a1a1a;border:none;border-radius:4px;font-size:1rem;font-family:inherit}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link.active{background-color:#1a1a1a;color:#eee}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-num{margin:0 auto}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link>.nav-action{margin:0 auto;display:inline-flex}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:focus{outline-color:#1a1a1a;outline-style:solid;outline-width:.125rem;outline-offset:.125rem}:host .pagination-wrapper>.custom-pagination>.pagination>.page-item>.page-link:hover{box-shadow:0 2px 6px #eee}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item{width:20px;height:25px}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link{position:relative;display:inline-block;width:10px;height:10px;border-radius:50%;cursor:pointer;background-color:#a2ddfe;transition:all .2s;margin:0 auto;will-change:transform}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link.active{background-color:#007ac7;cursor:default;transform:scale(1.3)}:host .pagination-wrapper>.custom-pagination>.pagination.dotnav .page-item .page-dot-link:hover:not(.active){background-color:#41b0ee}\n"] }]
|
|
119
119
|
}], propDecorators: { size: [{
|
|
120
120
|
type: Input
|
|
121
121
|
}], value: [{
|
|
@@ -149,19 +149,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
|
|
|
149
149
|
}] } });
|
|
150
150
|
|
|
151
151
|
class NggvPaginationModule {
|
|
152
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
153
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
152
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: NggvPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
153
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.9", ngImport: i0, type: NggvPaginationModule, declarations: [PaginationComponent], imports: [CommonModule,
|
|
154
154
|
FormsModule,
|
|
155
155
|
NggvI18nModule,
|
|
156
156
|
TranslocoModule,
|
|
157
157
|
NggCoreWrapperModule], exports: [PaginationComponent] }); }
|
|
158
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
158
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: NggvPaginationModule, imports: [CommonModule,
|
|
159
159
|
FormsModule,
|
|
160
160
|
NggvI18nModule,
|
|
161
161
|
TranslocoModule,
|
|
162
162
|
NggCoreWrapperModule] }); }
|
|
163
163
|
}
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
164
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.9", ngImport: i0, type: NggvPaginationModule, decorators: [{
|
|
165
165
|
type: NgModule,
|
|
166
166
|
args: [{
|
|
167
167
|
declarations: [PaginationComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sebgroup-green-angular-src-v-angular-pagination.mjs","sources":["../../../../libs/angular/src/v-angular/pagination/pagination.component.ts","../../../../libs/angular/src/v-angular/pagination/pagination.component.html","../../../../libs/angular/src/v-angular/pagination/pagination.module.ts","../../../../libs/angular/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core'\n\nimport '@sebgroup/green-core/components/icon/icons/chevron-left.js'\nimport '@sebgroup/green-core/components/icon/icons/chevron-right.js'\nimport '@sebgroup/green-core/components/icon/icons/arrow-left.js'\n\n/** The Pagination component is used to separate long sets of data so that it is easier for a user to consume information. To change the current page simply click on the page number. */\n@Component({\n selector: 'nggv-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss'],\n})\nexport class PaginationComponent implements OnChanges {\n /** Total size of pagination */\n @Input() size = 0\n /** Selected page */\n @Input() value = 1\n /** First page text */\n @Input() firstText?: string\n /** Last page text */\n @Input() lastText?: string\n /** Next page text */\n @Input() nextText?: string\n /** Offset per page */\n @Input() offset?: number\n /** Number of pages to display*/\n @Input() pagingLength?: number\n /** Previous page text */\n @Input() previousText?: string\n /** Use first and last navigation buttons*/\n @Input() useFirstAndLast?: boolean = true\n /** Use text-based navigation buttons*/\n @Input() useTextNav?: boolean\n /** Use dot-navigation */\n @Input() useDotNav?: boolean\n /** Use 'Go to page' input field */\n @Input() showGoToPage = true\n /** Element class name */\n @Input() className = ''\n /** Element ID */\n @Input() id?: string\n /** Callback on page change */\n @Output() pageNumberChange: EventEmitter<number> = new EventEmitter<number>()\n\n /** @internal */\n pageNumber = 0\n /** @internal */\n list: Array<number> = []\n /** @internal */\n dotnavList: Array<number> = []\n /** @internal */\n pagingSize = 0\n /** @internal */\n showEllipsisStart = false\n /** @internal */\n showEllipsisEnd = false\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes?.offset || changes?.size) {\n this.setPagingSize()\n }\n\n if (changes?.pagingLength || changes?.value) {\n this.generateList()\n }\n }\n\n /** @internal */\n setPagingSize() {\n const initialOffset: number = this.offset ? this.offset : 10\n this.pagingSize = Math.ceil(Number(this.size) / initialOffset)\n this.generateList()\n }\n\n /** @internal */\n handleOnChange(value: number): void {\n if (value <= 0) {\n this.pageNumberChange.emit(1)\n } else if (value > this.pagingSize) {\n this.pageNumberChange.emit(this.pagingSize)\n } else {\n this.pageNumberChange.emit(value)\n }\n }\n\n /** @internal */\n handlePageInput(pageInput: string) {\n this.handleOnChange(Number(pageInput))\n }\n\n /**\n * Generates an array of the pages that needs to be displayed\n * It depends on the size, offset, and the current value\n */\n private generateList(): void {\n const genList: Array<number> = []\n const length: number = this.pagingLength ? this.pagingLength : 5\n\n for (let i = 1; i <= this.pagingSize; i++) {\n genList.push(i)\n }\n\n const medianValue: number = Math.ceil(length / 2)\n let start = 0\n let end = this.pagingSize\n\n if (length < this.pagingSize) {\n if (this.pagingSize - this.value < medianValue) {\n start = this.pagingSize - length\n } else if (this.value - medianValue > -1) {\n start = this.value - medianValue\n }\n end = start + length\n }\n if (this.useFirstAndLast) {\n if (start == 0) {\n start = 1\n end = start + length\n }\n\n if (end > this.pagingSize - 1) {\n end = this.pagingSize - 1\n start = Math.max(1, end - length)\n }\n }\n\n this.dotnavList = genList\n const pagingStart = genList[start]\n const pagingEnd = genList[end - 1]\n this.showEllipsisStart = pagingStart > 2\n this.showEllipsisEnd = pagingEnd < this.pagingSize - 1\n this.list = genList.slice(start, end)\n }\n}\n","<div class=\"pagination-wrapper\" [ngClass]=\"className\" [attr.id]=\"id\">\n <nav class=\"custom-pagination\">\n <ng-container *ngIf=\"useDotNav; else numNav\">\n <ul class=\"pagination dotnav\">\n <ng-container *ngFor=\"let num of dotnavList\">\n <li class=\"page-item\" (click)=\"handleOnChange(num)\" [value]=\"num\">\n <span\n class=\"page-dot-link\"\n [ngClass]=\"{ active: value === num }\"\n ></span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-template #numNav>\n <ul class=\"pagination\">\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value - 1)\">\n <button\n class=\"page-link\"\n [attr.title]=\"previousText\"\n [attr.disabled]=\"value === 1 ? 'disabled' : null\"\n >\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleLeftIcon\">\n {{ previousText ? previousText : 'Previous' }}\n </ng-container>\n <ng-template #angleLeftIcon>\n <gds-icon-chevron-left\n *nggCoreElement\n ></gds-icon-chevron-left>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" (click)=\"handleOnChange(1)\">\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === 1 }\"\n [attr.title]=\"firstText\"\n >\n <span class=\"nav-num\">{{ 1 }}</span>\n </button>\n </li>\n\n <li class=\"page-item\" *ngIf=\"showEllipsisStart\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngFor=\"let num of list\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ active: value === num }\"\n (click)=\"handleOnChange(num)\"\n value=\"num\"\n >\n <button class=\"page-link\" [ngClass]=\"{ active: value === num }\">\n <span class=\"nav-num\">{{ num }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" *ngIf=\"showEllipsisEnd\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n\n <li\n class=\"page-item\"\n (click)=\"handleOnChange(pagingSize)\"\n *ngIf=\"pagingSize > 1\"\n >\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === pagingSize }\"\n [attr.title]=\"lastText\"\n >\n <span class=\"nav-num\">{{ pagingSize }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value + 1)\">\n <button class=\"page-link\" [attr.title]=\"nextText\">\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleRightIcon\">\n {{ nextText ? nextText : 'Next' }}\n </ng-container>\n <ng-template #angleRightIcon>\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"showGoToPage\">\n <li>\n <div class=\"paging-input-wrapper\">\n <div class=\"label-wrapper\">\n <label for=\"pageInput\" *transloco=\"let t\">\n {{ t('label.gotopage') }}\n </label>\n </div>\n <div class=\"input-wrapper\">\n <input\n #pageInput\n data-thook=\"pagination-go-to-input\"\n min=\"1\"\n [max]=\"pagingSize\"\n id=\"pageInput\"\n class=\"gds-field\"\n type=\"number\"\n (keydown.enter)=\"handlePageInput(pageInput.value)\"\n [ngModel]=\"value\"\n />\n <button\n type=\"button\"\n data-thook=\"pagination-go-to-button\"\n (click)=\"handlePageInput(pageInput.value)\"\n >\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </button>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </nav>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\nimport { FormsModule } from '@angular/forms'\nimport { TranslocoModule } from '@jsverse/transloco'\n\nimport { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'\nimport { NggvI18nModule } from '@sebgroup/green-angular/src/v-angular/i18n'\nimport { PaginationComponent } from './pagination.component'\n\n@NgModule({\n declarations: [PaginationComponent],\n imports: [\n CommonModule,\n FormsModule,\n NggvI18nModule,\n TranslocoModule,\n NggCoreWrapperModule,\n ],\n exports: [PaginationComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggvPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sebgroup-green-angular-src-v-angular-pagination.mjs","sources":["../../../../libs/angular/src/v-angular/pagination/pagination.component.ts","../../../../libs/angular/src/v-angular/pagination/pagination.component.html","../../../../libs/angular/src/v-angular/pagination/pagination.module.ts","../../../../libs/angular/src/v-angular/pagination/sebgroup-green-angular-src-v-angular-pagination.ts"],"sourcesContent":["import {\n Component,\n EventEmitter,\n Input,\n OnChanges,\n Output,\n SimpleChanges,\n} from '@angular/core'\n\nimport '@sebgroup/green-core/components/icon/icons/chevron-left.js'\nimport '@sebgroup/green-core/components/icon/icons/chevron-right.js'\nimport '@sebgroup/green-core/components/icon/icons/arrow-left.js'\n\n/** The Pagination component is used to separate long sets of data so that it is easier for a user to consume information. To change the current page simply click on the page number. */\n@Component({\n selector: 'nggv-pagination',\n templateUrl: './pagination.component.html',\n styleUrls: ['./pagination.component.scss'],\n standalone: false\n})\nexport class PaginationComponent implements OnChanges {\n /** Total size of pagination */\n @Input() size = 0\n /** Selected page */\n @Input() value = 1\n /** First page text */\n @Input() firstText?: string\n /** Last page text */\n @Input() lastText?: string\n /** Next page text */\n @Input() nextText?: string\n /** Offset per page */\n @Input() offset?: number\n /** Number of pages to display*/\n @Input() pagingLength?: number\n /** Previous page text */\n @Input() previousText?: string\n /** Use first and last navigation buttons*/\n @Input() useFirstAndLast?: boolean = true\n /** Use text-based navigation buttons*/\n @Input() useTextNav?: boolean\n /** Use dot-navigation */\n @Input() useDotNav?: boolean\n /** Use 'Go to page' input field */\n @Input() showGoToPage = true\n /** Element class name */\n @Input() className = ''\n /** Element ID */\n @Input() id?: string\n /** Callback on page change */\n @Output() pageNumberChange: EventEmitter<number> = new EventEmitter<number>()\n\n /** @internal */\n pageNumber = 0\n /** @internal */\n list: Array<number> = []\n /** @internal */\n dotnavList: Array<number> = []\n /** @internal */\n pagingSize = 0\n /** @internal */\n showEllipsisStart = false\n /** @internal */\n showEllipsisEnd = false\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes?.offset || changes?.size) {\n this.setPagingSize()\n }\n\n if (changes?.pagingLength || changes?.value) {\n this.generateList()\n }\n }\n\n /** @internal */\n setPagingSize() {\n const initialOffset: number = this.offset ? this.offset : 10\n this.pagingSize = Math.ceil(Number(this.size) / initialOffset)\n this.generateList()\n }\n\n /** @internal */\n handleOnChange(value: number): void {\n if (value <= 0) {\n this.pageNumberChange.emit(1)\n } else if (value > this.pagingSize) {\n this.pageNumberChange.emit(this.pagingSize)\n } else {\n this.pageNumberChange.emit(value)\n }\n }\n\n /** @internal */\n handlePageInput(pageInput: string) {\n this.handleOnChange(Number(pageInput))\n }\n\n /**\n * Generates an array of the pages that needs to be displayed\n * It depends on the size, offset, and the current value\n */\n private generateList(): void {\n const genList: Array<number> = []\n const length: number = this.pagingLength ? this.pagingLength : 5\n\n for (let i = 1; i <= this.pagingSize; i++) {\n genList.push(i)\n }\n\n const medianValue: number = Math.ceil(length / 2)\n let start = 0\n let end = this.pagingSize\n\n if (length < this.pagingSize) {\n if (this.pagingSize - this.value < medianValue) {\n start = this.pagingSize - length\n } else if (this.value - medianValue > -1) {\n start = this.value - medianValue\n }\n end = start + length\n }\n if (this.useFirstAndLast) {\n if (start == 0) {\n start = 1\n end = start + length\n }\n\n if (end > this.pagingSize - 1) {\n end = this.pagingSize - 1\n start = Math.max(1, end - length)\n }\n }\n\n this.dotnavList = genList\n const pagingStart = genList[start]\n const pagingEnd = genList[end - 1]\n this.showEllipsisStart = pagingStart > 2\n this.showEllipsisEnd = pagingEnd < this.pagingSize - 1\n this.list = genList.slice(start, end)\n }\n}\n","<div class=\"pagination-wrapper\" [ngClass]=\"className\" [attr.id]=\"id\">\n <nav class=\"custom-pagination\">\n <ng-container *ngIf=\"useDotNav; else numNav\">\n <ul class=\"pagination dotnav\">\n <ng-container *ngFor=\"let num of dotnavList\">\n <li class=\"page-item\" (click)=\"handleOnChange(num)\" [value]=\"num\">\n <span\n class=\"page-dot-link\"\n [ngClass]=\"{ active: value === num }\"\n ></span>\n </li>\n </ng-container>\n </ul>\n </ng-container>\n\n <ng-template #numNav>\n <ul class=\"pagination\">\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value - 1)\">\n <button\n class=\"page-link\"\n [attr.title]=\"previousText\"\n [attr.disabled]=\"value === 1 ? 'disabled' : null\"\n >\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleLeftIcon\">\n {{ previousText ? previousText : 'Previous' }}\n </ng-container>\n <ng-template #angleLeftIcon>\n <gds-icon-chevron-left\n *nggCoreElement\n ></gds-icon-chevron-left>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" (click)=\"handleOnChange(1)\">\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === 1 }\"\n [attr.title]=\"firstText\"\n >\n <span class=\"nav-num\">{{ 1 }}</span>\n </button>\n </li>\n\n <li class=\"page-item\" *ngIf=\"showEllipsisStart\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n </ng-container>\n\n <ng-container *ngFor=\"let num of list\">\n <li\n class=\"page-item\"\n [ngClass]=\"{ active: value === num }\"\n (click)=\"handleOnChange(num)\"\n value=\"num\"\n >\n <button class=\"page-link\" [ngClass]=\"{ active: value === num }\">\n <span class=\"nav-num\">{{ num }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"useFirstAndLast\">\n <li class=\"page-item\" *ngIf=\"showEllipsisEnd\">\n <span class=\"page-link\" [attr.title]=\"'...'\">\n <span class=\"nav-num\">...</span>\n </span>\n </li>\n\n <li\n class=\"page-item\"\n (click)=\"handleOnChange(pagingSize)\"\n *ngIf=\"pagingSize > 1\"\n >\n <button\n class=\"page-link\"\n [ngClass]=\"{ active: value === pagingSize }\"\n [attr.title]=\"lastText\"\n >\n <span class=\"nav-num\">{{ pagingSize }}</span>\n </button>\n </li>\n </ng-container>\n\n <ng-container>\n <li class=\"page-item\" (click)=\"handleOnChange(value + 1)\">\n <button class=\"page-link\" [attr.title]=\"nextText\">\n <span class=\"nav-action\">\n <ng-container *ngIf=\"useTextNav; else angleRightIcon\">\n {{ nextText ? nextText : 'Next' }}\n </ng-container>\n <ng-template #angleRightIcon>\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </ng-template>\n </span>\n </button>\n </li>\n </ng-container>\n\n <ng-container *ngIf=\"showGoToPage\">\n <li>\n <div class=\"paging-input-wrapper\">\n <div class=\"label-wrapper\">\n <label for=\"pageInput\" *transloco=\"let t\">\n {{ t('label.gotopage') }}\n </label>\n </div>\n <div class=\"input-wrapper\">\n <input\n #pageInput\n data-thook=\"pagination-go-to-input\"\n min=\"1\"\n [max]=\"pagingSize\"\n id=\"pageInput\"\n class=\"gds-field\"\n type=\"number\"\n (keydown.enter)=\"handlePageInput(pageInput.value)\"\n [ngModel]=\"value\"\n />\n <button\n type=\"button\"\n data-thook=\"pagination-go-to-button\"\n (click)=\"handlePageInput(pageInput.value)\"\n >\n <gds-icon-chevron-right\n *nggCoreElement\n ></gds-icon-chevron-right>\n </button>\n </div>\n </div>\n </li>\n </ng-container>\n </ul>\n </ng-template>\n </nav>\n</div>\n","import { CommonModule } from '@angular/common'\nimport { CUSTOM_ELEMENTS_SCHEMA, NgModule } from '@angular/core'\nimport { FormsModule } from '@angular/forms'\nimport { TranslocoModule } from '@jsverse/transloco'\n\nimport { NggCoreWrapperModule } from '@sebgroup/green-angular/src/lib/shared'\nimport { NggvI18nModule } from '@sebgroup/green-angular/src/v-angular/i18n'\nimport { PaginationComponent } from './pagination.component'\n\n@NgModule({\n declarations: [PaginationComponent],\n imports: [\n CommonModule,\n FormsModule,\n NggvI18nModule,\n TranslocoModule,\n NggCoreWrapperModule,\n ],\n exports: [PaginationComponent],\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class NggvPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|