@sebgroup/green-angular 3.6.2 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (206) hide show
  1. package/esm2020/lib/context-menu/context-menu.component.mjs +5 -5
  2. package/esm2020/lib/context-menu/context-menu.module.mjs +2 -2
  3. package/esm2020/lib/datepicker/datepicker.component.mjs +5 -5
  4. package/esm2020/lib/datepicker/datepicker.module.mjs +5 -6
  5. package/esm2020/lib/dropdown/dropdown.component.mjs +5 -5
  6. package/esm2020/lib/dropdown/dropdown.module.mjs +2 -2
  7. package/esm2020/lib/shared/index.mjs +2 -1
  8. package/esm2020/src/lib/accordion/accordion-list-item.component.mjs +47 -0
  9. package/esm2020/src/lib/accordion/accordion.component.mjs +72 -0
  10. package/esm2020/src/lib/accordion/accordion.module.mjs +19 -0
  11. package/esm2020/src/lib/accordion/index.mjs +4 -0
  12. package/esm2020/src/lib/accordion/sebgroup-green-angular-src-lib-accordion.mjs +5 -0
  13. package/esm2020/src/lib/badge/badge.component.mjs +80 -0
  14. package/esm2020/src/lib/badge/badge.module.mjs +18 -0
  15. package/esm2020/src/lib/badge/index.mjs +3 -0
  16. package/esm2020/src/lib/badge/sebgroup-green-angular-src-lib-badge.mjs +5 -0
  17. package/esm2020/src/lib/button/button.component.mjs +28 -0
  18. package/esm2020/src/lib/button/button.module.mjs +18 -0
  19. package/esm2020/src/lib/button/index.mjs +3 -0
  20. package/esm2020/src/lib/button/sebgroup-green-angular-src-lib-button.mjs +5 -0
  21. package/esm2020/src/lib/cell-table/cell-table-item.component.mjs +91 -0
  22. package/esm2020/src/lib/cell-table/cell-table.component.mjs +97 -0
  23. package/esm2020/src/lib/cell-table/cell-table.module.mjs +26 -0
  24. package/esm2020/src/lib/cell-table/cell-table.types.mjs +7 -0
  25. package/esm2020/src/lib/cell-table/cell-underline.directive.mjs +55 -0
  26. package/esm2020/src/lib/cell-table/index.mjs +4 -0
  27. package/esm2020/src/lib/cell-table/sebgroup-green-angular-src-lib-cell-table.mjs +5 -0
  28. package/esm2020/src/lib/context-menu/context-menu.component.mjs +80 -0
  29. package/esm2020/src/lib/context-menu/context-menu.module.mjs +20 -0
  30. package/esm2020/src/lib/context-menu/index.mjs +3 -0
  31. package/esm2020/src/lib/context-menu/sebgroup-green-angular-src-lib-context-menu.mjs +5 -0
  32. package/esm2020/src/lib/datepicker/datepicker.component.mjs +138 -0
  33. package/esm2020/src/lib/datepicker/datepicker.module.mjs +20 -0
  34. package/esm2020/src/lib/datepicker/index.mjs +3 -0
  35. package/esm2020/src/lib/datepicker/sebgroup-green-angular-src-lib-datepicker.mjs +5 -0
  36. package/esm2020/src/lib/dropdown/dropdown-button.directive.mjs +16 -0
  37. package/esm2020/src/lib/dropdown/dropdown-option.directive.mjs +16 -0
  38. package/esm2020/src/lib/dropdown/dropdown.component.mjs +212 -0
  39. package/esm2020/src/lib/dropdown/dropdown.module.mjs +34 -0
  40. package/esm2020/src/lib/dropdown/index.mjs +5 -0
  41. package/esm2020/src/lib/dropdown/sebgroup-green-angular-src-lib-dropdown.mjs +5 -0
  42. package/esm2020/src/lib/in-page-wizard/in-page-wizard-step-card.component.mjs +50 -0
  43. package/esm2020/src/lib/in-page-wizard/in-page-wizard.module.mjs +18 -0
  44. package/esm2020/src/lib/in-page-wizard/index.mjs +3 -0
  45. package/esm2020/src/lib/in-page-wizard/sebgroup-green-angular-src-lib-in-page-wizard.mjs +5 -0
  46. package/esm2020/src/lib/modal/index.mjs +5 -0
  47. package/esm2020/src/lib/modal/modal-footer.directive.mjs +16 -0
  48. package/esm2020/src/lib/modal/modal-header.directive.mjs +16 -0
  49. package/esm2020/src/lib/modal/modal.component.mjs +251 -0
  50. package/esm2020/src/lib/modal/modal.module.mjs +41 -0
  51. package/esm2020/src/lib/modal/sebgroup-green-angular-src-lib-modal.mjs +5 -0
  52. package/esm2020/src/lib/pagination/index.mjs +3 -0
  53. package/esm2020/src/lib/pagination/pagination.component.mjs +175 -0
  54. package/esm2020/src/lib/pagination/pagination.module.mjs +18 -0
  55. package/esm2020/src/lib/pagination/sebgroup-green-angular-src-lib-pagination.mjs +5 -0
  56. package/esm2020/src/lib/progress-circle/index.mjs +3 -0
  57. package/esm2020/src/lib/progress-circle/progress-circle.component.mjs +41 -0
  58. package/esm2020/src/lib/progress-circle/progress-circle.module.mjs +18 -0
  59. package/esm2020/src/lib/progress-circle/sebgroup-green-angular-src-lib-progress-circle.mjs +5 -0
  60. package/esm2020/src/lib/segmented-control/index.mjs +3 -0
  61. package/esm2020/src/lib/segmented-control/sebgroup-green-angular-src-lib-segmented-control.mjs +5 -0
  62. package/esm2020/src/lib/segmented-control/segmented-control.component.mjs +35 -0
  63. package/esm2020/src/lib/segmented-control/segmented-control.module.mjs +19 -0
  64. package/esm2020/src/lib/shared/core-element/core-element.directive.mjs +33 -0
  65. package/esm2020/src/lib/shared/core-element/core-element.module.mjs +18 -0
  66. package/esm2020/src/lib/shared/core-element/index.mjs +3 -0
  67. package/esm2020/src/lib/shared/index.mjs +4 -0
  68. package/esm2020/src/lib/shared/on-scroll.directive.mjs +47 -0
  69. package/esm2020/src/lib/shared/sebgroup-green-angular-src-lib-shared.mjs +5 -0
  70. package/esm2020/src/lib/shared/shared.module.mjs +18 -0
  71. package/esm2020/src/lib/slider/index.mjs +3 -0
  72. package/esm2020/src/lib/slider/sebgroup-green-angular-src-lib-slider.mjs +5 -0
  73. package/esm2020/src/lib/slider/slider.component.mjs +113 -0
  74. package/esm2020/src/lib/slider/slider.module.mjs +19 -0
  75. package/esm2020/src/lib/sortable-list/index.mjs +3 -0
  76. package/esm2020/src/lib/sortable-list/sebgroup-green-angular-src-lib-sortable-list.mjs +5 -0
  77. package/esm2020/src/lib/sortable-list/sortable-list.component.mjs +181 -0
  78. package/esm2020/src/lib/sortable-list/sortable-list.module.mjs +20 -0
  79. package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs +140 -0
  80. package/fesm2015/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -0
  81. package/fesm2015/sebgroup-green-angular-src-lib-badge.mjs +102 -0
  82. package/fesm2015/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
  83. package/fesm2015/sebgroup-green-angular-src-lib-button.mjs +50 -0
  84. package/fesm2015/sebgroup-green-angular-src-lib-button.mjs.map +1 -0
  85. package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs +272 -0
  86. package/fesm2015/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -0
  87. package/fesm2015/sebgroup-green-angular-src-lib-context-menu.mjs +104 -0
  88. package/fesm2015/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -0
  89. package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs +166 -0
  90. package/fesm2015/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -0
  91. package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs +266 -0
  92. package/fesm2015/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -0
  93. package/fesm2015/sebgroup-green-angular-src-lib-in-page-wizard.mjs +72 -0
  94. package/fesm2015/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -0
  95. package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs +321 -0
  96. package/fesm2015/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
  97. package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs +197 -0
  98. package/fesm2015/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -0
  99. package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs +63 -0
  100. package/fesm2015/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -0
  101. package/fesm2015/sebgroup-green-angular-src-lib-segmented-control.mjs +58 -0
  102. package/fesm2015/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
  103. package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs +114 -0
  104. package/fesm2015/sebgroup-green-angular-src-lib-shared.mjs.map +1 -0
  105. package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs +136 -0
  106. package/fesm2015/sebgroup-green-angular-src-lib-slider.mjs.map +1 -0
  107. package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs +204 -0
  108. package/fesm2015/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -0
  109. package/fesm2015/sebgroup-green-angular.mjs +84 -80
  110. package/fesm2015/sebgroup-green-angular.mjs.map +1 -1
  111. package/fesm2020/sebgroup-green-angular-src-lib-accordion.mjs +138 -0
  112. package/fesm2020/sebgroup-green-angular-src-lib-accordion.mjs.map +1 -0
  113. package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs +102 -0
  114. package/fesm2020/sebgroup-green-angular-src-lib-badge.mjs.map +1 -0
  115. package/fesm2020/sebgroup-green-angular-src-lib-button.mjs +50 -0
  116. package/fesm2020/sebgroup-green-angular-src-lib-button.mjs.map +1 -0
  117. package/fesm2020/sebgroup-green-angular-src-lib-cell-table.mjs +270 -0
  118. package/fesm2020/sebgroup-green-angular-src-lib-cell-table.mjs.map +1 -0
  119. package/fesm2020/sebgroup-green-angular-src-lib-context-menu.mjs +104 -0
  120. package/fesm2020/sebgroup-green-angular-src-lib-context-menu.mjs.map +1 -0
  121. package/fesm2020/sebgroup-green-angular-src-lib-datepicker.mjs +162 -0
  122. package/fesm2020/sebgroup-green-angular-src-lib-datepicker.mjs.map +1 -0
  123. package/fesm2020/sebgroup-green-angular-src-lib-dropdown.mjs +274 -0
  124. package/fesm2020/sebgroup-green-angular-src-lib-dropdown.mjs.map +1 -0
  125. package/fesm2020/sebgroup-green-angular-src-lib-in-page-wizard.mjs +72 -0
  126. package/fesm2020/sebgroup-green-angular-src-lib-in-page-wizard.mjs.map +1 -0
  127. package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs +319 -0
  128. package/fesm2020/sebgroup-green-angular-src-lib-modal.mjs.map +1 -0
  129. package/fesm2020/sebgroup-green-angular-src-lib-pagination.mjs +197 -0
  130. package/fesm2020/sebgroup-green-angular-src-lib-pagination.mjs.map +1 -0
  131. package/fesm2020/sebgroup-green-angular-src-lib-progress-circle.mjs +63 -0
  132. package/fesm2020/sebgroup-green-angular-src-lib-progress-circle.mjs.map +1 -0
  133. package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs +58 -0
  134. package/fesm2020/sebgroup-green-angular-src-lib-segmented-control.mjs.map +1 -0
  135. package/fesm2020/sebgroup-green-angular-src-lib-shared.mjs +113 -0
  136. package/fesm2020/sebgroup-green-angular-src-lib-shared.mjs.map +1 -0
  137. package/fesm2020/sebgroup-green-angular-src-lib-slider.mjs +135 -0
  138. package/fesm2020/sebgroup-green-angular-src-lib-slider.mjs.map +1 -0
  139. package/fesm2020/sebgroup-green-angular-src-lib-sortable-list.mjs +204 -0
  140. package/fesm2020/sebgroup-green-angular-src-lib-sortable-list.mjs.map +1 -0
  141. package/fesm2020/sebgroup-green-angular.mjs +84 -80
  142. package/fesm2020/sebgroup-green-angular.mjs.map +1 -1
  143. package/lib/context-menu/context-menu.component.d.ts +2 -2
  144. package/lib/context-menu/context-menu.module.d.ts +1 -1
  145. package/lib/datepicker/datepicker.component.d.ts +1 -1
  146. package/lib/datepicker/datepicker.module.d.ts +2 -3
  147. package/lib/dropdown/dropdown.component.d.ts +2 -2
  148. package/lib/dropdown/dropdown.module.d.ts +1 -1
  149. package/lib/shared/index.d.ts +1 -0
  150. package/package.json +122 -2
  151. package/src/lib/accordion/accordion-list-item.component.d.ts +15 -0
  152. package/src/lib/accordion/accordion.component.d.ts +16 -0
  153. package/src/lib/accordion/accordion.module.d.ts +9 -0
  154. package/src/lib/accordion/index.d.ts +3 -0
  155. package/src/lib/badge/badge.component.d.ts +25 -0
  156. package/src/lib/badge/badge.module.d.ts +8 -0
  157. package/src/lib/badge/index.d.ts +2 -0
  158. package/src/lib/button/button.component.d.ts +9 -0
  159. package/src/lib/button/button.module.d.ts +8 -0
  160. package/src/lib/button/index.d.ts +2 -0
  161. package/src/lib/cell-table/cell-table-item.component.d.ts +14 -0
  162. package/src/lib/cell-table/cell-table.component.d.ts +44 -0
  163. package/src/lib/cell-table/cell-table.module.d.ts +10 -0
  164. package/src/lib/cell-table/cell-table.types.d.ts +34 -0
  165. package/src/lib/cell-table/cell-underline.directive.d.ts +14 -0
  166. package/src/lib/cell-table/index.d.ts +3 -0
  167. package/src/lib/context-menu/context-menu.component.d.ts +49 -0
  168. package/src/lib/context-menu/context-menu.module.d.ts +9 -0
  169. package/src/lib/context-menu/index.d.ts +2 -0
  170. package/src/lib/datepicker/datepicker.component.d.ts +66 -0
  171. package/src/lib/datepicker/datepicker.module.d.ts +9 -0
  172. package/src/lib/datepicker/index.d.ts +2 -0
  173. package/src/lib/dropdown/dropdown-button.directive.d.ts +8 -0
  174. package/src/lib/dropdown/dropdown-option.directive.d.ts +8 -0
  175. package/src/lib/dropdown/dropdown.component.d.ts +79 -0
  176. package/src/lib/dropdown/dropdown.module.d.ts +11 -0
  177. package/src/lib/dropdown/index.d.ts +4 -0
  178. package/src/lib/in-page-wizard/in-page-wizard-step-card.component.d.ts +17 -0
  179. package/src/lib/in-page-wizard/in-page-wizard.module.d.ts +8 -0
  180. package/src/lib/in-page-wizard/index.d.ts +2 -0
  181. package/src/lib/modal/index.d.ts +4 -0
  182. package/src/lib/modal/modal-footer.directive.d.ts +8 -0
  183. package/src/lib/modal/modal-header.directive.d.ts +8 -0
  184. package/src/lib/modal/modal.component.d.ts +65 -0
  185. package/src/lib/modal/modal.module.d.ts +11 -0
  186. package/src/lib/pagination/index.d.ts +2 -0
  187. package/src/lib/pagination/pagination.component.d.ts +42 -0
  188. package/src/lib/pagination/pagination.module.d.ts +8 -0
  189. package/src/lib/progress-circle/index.d.ts +2 -0
  190. package/src/lib/progress-circle/progress-circle.component.d.ts +14 -0
  191. package/src/lib/progress-circle/progress-circle.module.d.ts +8 -0
  192. package/src/lib/segmented-control/index.d.ts +2 -0
  193. package/src/lib/segmented-control/segmented-control.component.d.ts +11 -0
  194. package/src/lib/segmented-control/segmented-control.module.d.ts +9 -0
  195. package/src/lib/shared/core-element/core-element.directive.d.ts +13 -0
  196. package/src/lib/shared/core-element/core-element.module.d.ts +8 -0
  197. package/src/lib/shared/core-element/index.d.ts +2 -0
  198. package/src/lib/shared/index.d.ts +3 -0
  199. package/src/lib/shared/on-scroll.directive.d.ts +14 -0
  200. package/src/lib/shared/shared.module.d.ts +8 -0
  201. package/src/lib/slider/index.d.ts +2 -0
  202. package/src/lib/slider/slider.component.d.ts +38 -0
  203. package/src/lib/slider/slider.module.d.ts +9 -0
  204. package/src/lib/sortable-list/index.d.ts +2 -0
  205. package/src/lib/sortable-list/sortable-list.component.d.ts +91 -0
  206. package/src/lib/sortable-list/sortable-list.module.d.ts +10 -0
@@ -0,0 +1,251 @@
1
+ import { ChangeDetectionStrategy, Component, ContentChild, ElementRef, EventEmitter, HostBinding, Input, Output, ViewChild, } from '@angular/core';
2
+ import { ConfigurableFocusTrapFactory, } from '@angular/cdk/a11y';
3
+ import { disableBodyScroll, enableBodyScroll } from 'body-scroll-lock';
4
+ import { NggModalHeaderDirective } from './modal-header.directive';
5
+ import { NggModalFooterDirective } from './modal-footer.directive';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/cdk/a11y";
8
+ import * as i2 from "@angular/common";
9
+ export class NggModalComponent {
10
+ constructor(ref, configurableFocusTrapFactory) {
11
+ this.ref = ref;
12
+ this.configurableFocusTrapFactory = configurableFocusTrapFactory;
13
+ this.isOpenChange = new EventEmitter();
14
+ this.closed = new EventEmitter();
15
+ this.confirm = new EventEmitter();
16
+ this.dismiss = new EventEmitter();
17
+ this.configurableFocusTrap = this.configurableFocusTrapFactory.create(this.ref.nativeElement);
18
+ }
19
+ get trapFocus() {
20
+ return this._trapFocus;
21
+ }
22
+ set trapFocus(value) {
23
+ this._trapFocus = value;
24
+ if (value) {
25
+ if (this._isOpen) {
26
+ this.enableFocusTrap();
27
+ }
28
+ }
29
+ else {
30
+ this.disableFocusTrap();
31
+ }
32
+ }
33
+ get isOpen() {
34
+ return this._isOpen;
35
+ }
36
+ set isOpen(value) {
37
+ this._isOpen = value;
38
+ if (value) {
39
+ if (this.trapFocus) {
40
+ this.enableFocusTrap();
41
+ }
42
+ disableBodyScroll(this.ref.nativeElement, {
43
+ allowTouchMove: (el) => {
44
+ // Allow touchmove for elements inside modal, its required for scroll to work on iOS devices
45
+ return this.ref.nativeElement.contains(el);
46
+ },
47
+ });
48
+ }
49
+ else {
50
+ this.disableFocusTrap();
51
+ enableBodyScroll(this.ref.nativeElement);
52
+ }
53
+ }
54
+ get open() {
55
+ return this.isOpen;
56
+ }
57
+ ngOnInit() {
58
+ if (this._isOpen && this.trapFocus)
59
+ this.enableFocusTrap();
60
+ else
61
+ this.disableFocusTrap();
62
+ }
63
+ handleCloseClick(event) {
64
+ this.closeModal(event);
65
+ }
66
+ handleBackdropClick(event) {
67
+ if (event.target == this.backdropRef?.nativeElement)
68
+ this.closeModal(event);
69
+ }
70
+ handleDismiss(event) {
71
+ this.dismiss.emit(event);
72
+ }
73
+ handleConfirm(event) {
74
+ this.confirm.emit(event);
75
+ }
76
+ closeModal(event) {
77
+ if (this.closed.observers.length > 0) {
78
+ this.closed.emit(event);
79
+ }
80
+ else {
81
+ this.isOpen = false;
82
+ this.isOpenChange.emit(this.isOpen);
83
+ }
84
+ }
85
+ enableFocusTrap() {
86
+ if (this.configurableFocusTrap) {
87
+ this.configurableFocusTrap.enabled = true;
88
+ this.configurableFocusTrap.focusInitialElementWhenReady();
89
+ }
90
+ }
91
+ disableFocusTrap() {
92
+ if (this.configurableFocusTrap) {
93
+ this.configurableFocusTrap.enabled = false;
94
+ }
95
+ }
96
+ ngOnDestroy() {
97
+ this.configurableFocusTrap?.destroy();
98
+ enableBodyScroll(this.ref.nativeElement);
99
+ }
100
+ }
101
+ NggModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalComponent, deps: [{ token: i0.ElementRef }, { token: i1.ConfigurableFocusTrapFactory }], target: i0.ɵɵFactoryTarget.Component });
102
+ NggModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggModalComponent, selector: "ngg-modal", inputs: { modalType: "modalType", header: "header", confirmLabel: "confirmLabel", dismissLabel: "dismissLabel", size: "size", hideHeader: "hideHeader", hideFooter: "hideFooter", trapFocus: "trapFocus", isOpen: "isOpen" }, outputs: { isOpenChange: "isOpenChange", closed: "closed", confirm: "confirm", dismiss: "dismiss" }, host: { properties: { "class.open": "this.open" } }, queries: [{ propertyName: "modalHeaderContent", first: true, predicate: NggModalHeaderDirective, descendants: true }, { propertyName: "modalFooterContent", first: true, predicate: NggModalFooterDirective, descendants: true }], viewQueries: [{ propertyName: "backdropRef", first: true, predicate: ["backdrop"], descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <div class=\"gds-dialog-wrapper\">\n <aside\n data-testid=\"modal\"\n *ngSwitchCase=\"'slideout'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main\n data-testid=\"modal\"\n *ngSwitchCase=\"'takeover'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section\n data-testid=\"modal\"\n *ngSwitchDefault\n role=\"dialog\"\n aria-modal=\"true\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header\n *ngIf=\"!modalHeaderContent; else headerContentTemplate\"\n ngg-modal-header\n data-testid=\"modal-header\"\n [header]=\"header\"\n (closed)=\"this.handleCloseClick($event)\"\n ></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer\n *ngIf=\"!modalFooterContent; else footerContentTemplate\"\n ngg-modal-footer\n data-testid=\"modal-footer\"\n [dismissLabel]=\"dismissLabel\"\n [confirmLabel]=\"confirmLabel\"\n (dismiss)=\"this.handleDismiss($event)\"\n (confirm)=\"this.handleConfirm($event)\"\n ></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div\n #backdrop\n data-testid=\"modal-backdrop\"\n class=\"backdrop entered\"\n (click)=\"this.handleBackdropClick($event)\"\n [attr.aria-hidden]=\"true\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i2.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitch; }), selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitchCase; }), selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgSwitchDefault; }), selector: "[ngSwitchDefault]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalHeaderComponent; }), selector: "[ngg-modal-header]", inputs: ["header"], outputs: ["closed"] }, { kind: "component", type: i0.forwardRef(function () { return NggModalBodyComponent; }), selector: "[ngg-modal-body]" }, { kind: "component", type: i0.forwardRef(function () { return NggModalFooterComponent; }), selector: "[ngg-modal-footer]", inputs: ["dismissLabel", "confirmLabel"], outputs: ["dismiss", "confirm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalComponent, decorators: [{
104
+ type: Component,
105
+ args: [{ selector: 'ngg-modal', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngIf=\"isOpen\" [ngSwitch]=\"modalType\">\n <div class=\"gds-dialog-wrapper\">\n <aside\n data-testid=\"modal\"\n *ngSwitchCase=\"'slideout'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </aside>\n <main\n data-testid=\"modal\"\n *ngSwitchCase=\"'takeover'\"\n role=\"dialog\"\n aria-modal=\"true\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </main>\n <section\n data-testid=\"modal\"\n *ngSwitchDefault\n role=\"dialog\"\n aria-modal=\"true\"\n [class.small]=\"size === 'sm'\"\n [class.medium]=\"size === 'md'\"\n [class.large]=\"size === 'lg'\"\n [class.entered]=\"isOpen\"\n >\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\n </section>\n <ng-template #contentTemplate>\n <ng-container *ngIf=\"!hideHeader\">\n <header\n *ngIf=\"!modalHeaderContent; else headerContentTemplate\"\n ngg-modal-header\n data-testid=\"modal-header\"\n [header]=\"header\"\n (closed)=\"this.handleCloseClick($event)\"\n ></header>\n </ng-container>\n <div ngg-modal-body data-testid=\"modal-body\" class=\"body\">\n <ng-container *ngTemplateOutlet=\"bodyContentTemplate\"></ng-container>\n </div>\n <ng-container *ngIf=\"!hideFooter && (dismissLabel || confirmLabel)\">\n <footer\n *ngIf=\"!modalFooterContent; else footerContentTemplate\"\n ngg-modal-footer\n data-testid=\"modal-footer\"\n [dismissLabel]=\"dismissLabel\"\n [confirmLabel]=\"confirmLabel\"\n (dismiss)=\"this.handleDismiss($event)\"\n (confirm)=\"this.handleConfirm($event)\"\n ></footer>\n </ng-container>\n </ng-template>\n <ng-template #headerContentTemplate>\n <header data-testid=\"modal-header\">\n <ng-content select=\"[nggModalHeader]\"></ng-content>\n </header>\n </ng-template>\n <ng-template #bodyContentTemplate>\n <ng-content></ng-content>\n </ng-template>\n <ng-template #footerContentTemplate>\n <footer data-testid=\"modal-footer\">\n <ng-content select=\"[nggModalFooter]\"></ng-content>\n </footer>\n </ng-template>\n <div\n #backdrop\n data-testid=\"modal-backdrop\"\n class=\"backdrop entered\"\n (click)=\"this.handleBackdropClick($event)\"\n [attr.aria-hidden]=\"true\"\n ></div>\n </div>\n</ng-container>\n", styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
106
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.ConfigurableFocusTrapFactory }]; }, propDecorators: { modalType: [{
107
+ type: Input
108
+ }], header: [{
109
+ type: Input
110
+ }], confirmLabel: [{
111
+ type: Input
112
+ }], dismissLabel: [{
113
+ type: Input
114
+ }], size: [{
115
+ type: Input
116
+ }], hideHeader: [{
117
+ type: Input
118
+ }], hideFooter: [{
119
+ type: Input
120
+ }], trapFocus: [{
121
+ type: Input
122
+ }], isOpen: [{
123
+ type: Input
124
+ }], isOpenChange: [{
125
+ type: Output
126
+ }], closed: [{
127
+ type: Output
128
+ }], confirm: [{
129
+ type: Output
130
+ }], dismiss: [{
131
+ type: Output
132
+ }], open: [{
133
+ type: HostBinding,
134
+ args: ['class.open']
135
+ }], backdropRef: [{
136
+ type: ViewChild,
137
+ args: ['backdrop']
138
+ }], modalHeaderContent: [{
139
+ type: ContentChild,
140
+ args: [NggModalHeaderDirective]
141
+ }], modalFooterContent: [{
142
+ type: ContentChild,
143
+ args: [NggModalFooterDirective]
144
+ }] } });
145
+ export class NggModalHeaderComponent {
146
+ constructor() {
147
+ this.closed = new EventEmitter();
148
+ }
149
+ handleClose(event) {
150
+ this.closed.emit(event);
151
+ }
152
+ }
153
+ NggModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
154
+ NggModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggModalHeaderComponent, selector: "[ngg-modal-header]", inputs: { header: "header" }, outputs: { closed: "closed" }, ngImport: i0, template: `
155
+ <h3 data-testid="modal-header-text">{{ header }}</h3>
156
+ <button
157
+ data-testid="modal-close-button"
158
+ class="close"
159
+ (click)="this.handleClose($event)"
160
+ >
161
+ <span className="sr-only">Close</span>
162
+ <i></i>
163
+ </button>
164
+ `, isInline: true, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] });
165
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalHeaderComponent, decorators: [{
166
+ type: Component,
167
+ args: [{ selector: '[ngg-modal-header]', template: `
168
+ <h3 data-testid="modal-header-text">{{ header }}</h3>
169
+ <button
170
+ data-testid="modal-close-button"
171
+ class="close"
172
+ (click)="this.handleClose($event)"
173
+ >
174
+ <span className="sr-only">Close</span>
175
+ <i></i>
176
+ </button>
177
+ `, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
178
+ }], propDecorators: { header: [{
179
+ type: Input
180
+ }], closed: [{
181
+ type: Output
182
+ }] } });
183
+ export class NggModalBodyComponent {
184
+ }
185
+ NggModalBodyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalBodyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
186
+ NggModalBodyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggModalBodyComponent, selector: "[ngg-modal-body]", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] });
187
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalBodyComponent, decorators: [{
188
+ type: Component,
189
+ args: [{ selector: '[ngg-modal-body]', template: `<ng-content></ng-content>`, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
190
+ }] });
191
+ export class NggModalFooterComponent {
192
+ constructor() {
193
+ this.dismiss = new EventEmitter();
194
+ this.confirm = new EventEmitter();
195
+ }
196
+ handleDismiss(event) {
197
+ this.dismiss.emit(event);
198
+ }
199
+ handleConfirm(event) {
200
+ this.confirm.emit(event);
201
+ }
202
+ }
203
+ NggModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
204
+ NggModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggModalFooterComponent, selector: "[ngg-modal-footer]", inputs: { dismissLabel: "dismissLabel", confirmLabel: "confirmLabel" }, outputs: { dismiss: "dismiss", confirm: "confirm" }, ngImport: i0, template: `
205
+ <button
206
+ data-testid="modal-dismiss-button"
207
+ *ngIf="dismissLabel"
208
+ class="secondary"
209
+ (click)="this.handleDismiss($event)"
210
+ >
211
+ {{ dismissLabel }}
212
+ </button>
213
+ <button
214
+ data-testid="modal-confirm-button"
215
+ *ngIf="confirmLabel"
216
+ class="primary"
217
+ (click)="this.handleConfirm($event)"
218
+ >
219
+ {{ confirmLabel }}
220
+ </button>
221
+ `, isInline: true, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalFooterComponent, decorators: [{
223
+ type: Component,
224
+ args: [{ selector: '[ngg-modal-footer]', template: `
225
+ <button
226
+ data-testid="modal-dismiss-button"
227
+ *ngIf="dismissLabel"
228
+ class="secondary"
229
+ (click)="this.handleDismiss($event)"
230
+ >
231
+ {{ dismissLabel }}
232
+ </button>
233
+ <button
234
+ data-testid="modal-confirm-button"
235
+ *ngIf="confirmLabel"
236
+ class="primary"
237
+ (click)="this.handleConfirm($event)"
238
+ >
239
+ {{ confirmLabel }}
240
+ </button>
241
+ `, styles: [":host.open{height:100vh;left:0;overflow:hidden;position:fixed;top:0;width:100%;z-index:var(--sg-z-index-modal)}:host.open>section[role=dialog]{left:50%;top:50%;transform:translate(-50%,-50%)}.body::-webkit-scrollbar{background-color:#f8f8f8;height:10px;width:10px}.body::-webkit-scrollbar-thumb{background-color:#cecece}.body::-webkit-scrollbar-track{background-color:#f8f8f8;box-shadow:inset 0 0 10px #00000040}\n"] }]
242
+ }], propDecorators: { dismissLabel: [{
243
+ type: Input
244
+ }], confirmLabel: [{
245
+ type: Input
246
+ }], dismiss: [{
247
+ type: Output
248
+ }], confirm: [{
249
+ type: Output
250
+ }] } });
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ04sU0FBUyxHQUNWLE1BQU0sZUFBZSxDQUFBO0FBRXRCLE9BQU8sRUFFTCw0QkFBNEIsR0FDN0IsTUFBTSxtQkFBbUIsQ0FBQTtBQUMxQixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQTtBQUN0RSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUNsRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTs7OztBQVFsRSxNQUFNLE9BQU8saUJBQWlCO0lBb0U1QixZQUNVLEdBQTRCLEVBQzVCLDRCQUEwRDtRQUQxRCxRQUFHLEdBQUgsR0FBRyxDQUF5QjtRQUM1QixpQ0FBNEIsR0FBNUIsNEJBQTRCLENBQThCO1FBdkJuRCxpQkFBWSxHQUMzQixJQUFJLFlBQVksRUFBVyxDQUFBO1FBQ1osV0FBTSxHQUNyQixJQUFJLFlBQVksRUFBYyxDQUFBO1FBQ2YsWUFBTyxHQUN0QixJQUFJLFlBQVksRUFBYyxDQUFBO1FBQ2YsWUFBTyxHQUN0QixJQUFJLFlBQVksRUFBYyxDQUFBO1FBa0I5QixJQUFJLENBQUMscUJBQXFCLEdBQUcsSUFBSSxDQUFDLDRCQUE0QixDQUFDLE1BQU0sQ0FDbkUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENB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b21wb25lbnQsXG4gIENvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0QmluZGluZyxcbiAgSW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPdXRwdXQsXG4gIFZpZXdDaGlsZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IE1vZGFsVHlwZSwgU2l6ZSB9IGZyb20gJ0BzZWJncm91cC9leHRyYWN0J1xuaW1wb3J0IHtcbiAgQ29uZmlndXJhYmxlRm9jdXNUcmFwLFxuICBDb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LFxufSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7IGRpc2FibGVCb2R5U2Nyb2xsLCBlbmFibGVCb2R5U2Nyb2xsIH0gZnJvbSAnYm9keS1zY3JvbGwtbG9jaydcbmltcG9ydCB7IE5nZ01vZGFsSGVhZGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC1oZWFkZXIuZGlyZWN0aXZlJ1xuaW1wb3J0IHsgTmdnTW9kYWxGb290ZXJEaXJlY3RpdmUgfSBmcm9tICcuL21vZGFsLWZvb3Rlci5kaXJlY3RpdmUnXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ25nZy1tb2RhbCcsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlVXJsOiAnLi9tb2RhbC5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dNb2RhbENvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgT25Jbml0IHtcbiAgQElucHV0KCkgcHVibGljIG1vZGFsVHlwZT86IE1vZGFsVHlwZVxuICBASW5wdXQoKSBwdWJsaWMgaGVhZGVyPzogc3RyaW5nXG4gIEBJbnB1dCgpIHB1YmxpYyBjb25maXJtTGFiZWw/OiBzdHJpbmdcbiAgQElucHV0KCkgcHVibGljIGRpc21pc3NMYWJlbD86IHN0cmluZ1xuICBASW5wdXQoKSBwdWJsaWMgc2l6ZT86IFNpemVcbiAgQElucHV0KCkgcHVibGljIGhpZGVIZWFkZXI/OiBib29sZWFuXG4gIEBJbnB1dCgpIHB1YmxpYyBoaWRlRm9vdGVyPzogYm9vbGVhblxuICBASW5wdXQoKSBwdWJsaWMgZ2V0IHRyYXBGb2N1cygpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5fdHJhcEZvY3VzXG4gIH1cbiAgcHVibGljIHNldCB0cmFwRm9jdXModmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl90cmFwRm9jdXMgPSB2YWx1ZVxuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodGhpcy5faXNPcGVuKSB7XG4gICAgICAgIHRoaXMuZW5hYmxlRm9jdXNUcmFwKClcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNhYmxlRm9jdXNUcmFwKClcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHwgdW5kZWZpbmVkIHtcbiAgICByZXR1cm4gdGhpcy5faXNPcGVuXG4gIH1cbiAgcHVibGljIHNldCBpc09wZW4odmFsdWU6IGJvb2xlYW4gfCB1bmRlZmluZWQpIHtcbiAgICB0aGlzLl9pc09wZW4gPSB2YWx1ZVxuXG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICBpZiAodGhpcy50cmFwRm9jdXMpIHtcbiAgICAgICAgdGhpcy5lbmFibGVGb2N1c1RyYXAoKVxuICAgICAgfVxuXG4gICAgICBkaXNhYmxlQm9keVNjcm9sbCh0aGlzLnJlZi5uYXRpdmVFbGVtZW50LCB7XG4gICAgICAgIGFsbG93VG91Y2hNb3ZlOiAoZWwpID0+IHtcbiAgICAgICAgICAvLyBBbGxvdyB0b3VjaG1vdmUgZm9yIGVsZW1lbnRzIGluc2lkZSBtb2RhbCwgaXRzIHJlcXVpcmVkIGZvciBzY3JvbGwgdG8gd29yayBvbiBpT1MgZGV2aWNlc1xuICAgICAgICAgIHJldHVybiB0aGlzLnJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKGVsKVxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNhYmxlRm9jdXNUcmFwKClcbiAgICAgIGVuYWJsZUJvZHlTY3JvbGwodGhpcy5yZWYubmF0aXZlRWxlbWVudClcbiAgICB9XG4gIH1cblxuICBAT3V0cHV0KCkgcHVibGljIGlzT3BlbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KClcbiAgQE91dHB1dCgpIHB1YmxpYyBjbG9zZWQ6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9XG4gICAgbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpXG4gIEBPdXRwdXQoKSBwdWJsaWMgY29uZmlybTogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID1cbiAgICBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KClcbiAgQE91dHB1dCgpIHB1YmxpYyBkaXNtaXNzOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPVxuICAgIG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3Mub3BlbicpIGdldCBvcGVuKCkge1xuICAgIHJldHVybiB0aGlzLmlzT3BlblxuICB9XG4gIEBWaWV3Q2hpbGQoJ2JhY2tkcm9wJykgcHJpdmF0ZSBiYWNrZHJvcFJlZj86IEVsZW1lbnRSZWY8SFRNTElucHV0RWxlbWVudD5cbiAgQENvbnRlbnRDaGlsZChOZ2dNb2RhbEhlYWRlckRpcmVjdGl2ZSlcbiAgcHVibGljIG1vZGFsSGVhZGVyQ29udGVudD86IE5nZ01vZGFsSGVhZGVyRGlyZWN0aXZlXG4gIEBDb250ZW50Q2hpbGQoTmdnTW9kYWxGb290ZXJEaXJlY3RpdmUpXG4gIHB1YmxpYyBtb2RhbEZvb3RlckNvbnRlbnQ/OiBOZ2dNb2RhbEZvb3RlckRpcmVjdGl2ZVxuICBwcml2YXRlIF9pc09wZW4/OiBib29sZWFuXG4gIHByaXZhdGUgX3RyYXBGb2N1cz86IGJvb2xlYW5cbiAgcHJpdmF0ZSBjb25maWd1cmFibGVGb2N1c1RyYXA6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcFxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIGNvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3Rvcnk6IENvbmZpZ3VyYWJsZUZvY3VzVHJhcEZhY3RvcnksXG4gICkge1xuICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwID0gdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXBGYWN0b3J5LmNyZWF0ZShcbiAgICAgIHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQsXG4gICAgKVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2lzT3BlbiAmJiB0aGlzLnRyYXBGb2N1cykgdGhpcy5lbmFibGVGb2N1c1RyYXAoKVxuICAgIGVsc2UgdGhpcy5kaXNhYmxlRm9jdXNUcmFwKClcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVDbG9zZUNsaWNrKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jbG9zZU1vZGFsKGV2ZW50KVxuICB9XG5cbiAgcHVibGljIGhhbmRsZUJhY2tkcm9wQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoZXZlbnQudGFyZ2V0ID09IHRoaXMuYmFja2Ryb3BSZWY/Lm5hdGl2ZUVsZW1lbnQpIHRoaXMuY2xvc2VNb2RhbChldmVudClcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVEaXNtaXNzKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5kaXNtaXNzLmVtaXQoZXZlbnQpXG4gIH1cblxuICBwdWJsaWMgaGFuZGxlQ29uZmlybShldmVudDogTW91c2VFdmVudCkge1xuICAgIHRoaXMuY29uZmlybS5lbWl0KGV2ZW50KVxuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZU1vZGFsKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuY2xvc2VkLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmNsb3NlZC5lbWl0KGV2ZW50KVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzT3BlbiA9IGZhbHNlXG4gICAgICB0aGlzLmlzT3BlbkNoYW5nZS5lbWl0KHRoaXMuaXNPcGVuKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZW5hYmxlRm9jdXNUcmFwKCkge1xuICAgIGlmICh0aGlzLmNvbmZpZ3VyYWJsZUZvY3VzVHJhcCkge1xuICAgICAgdGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXAuZW5hYmxlZCA9IHRydWVcbiAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwLmZvY3VzSW5pdGlhbEVsZW1lbnRXaGVuUmVhZHkoKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzYWJsZUZvY3VzVHJhcCgpIHtcbiAgICBpZiAodGhpcy5jb25maWd1cmFibGVGb2N1c1RyYXApIHtcbiAgICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwLmVuYWJsZWQgPSBmYWxzZVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29uZmlndXJhYmxlRm9jdXNUcmFwPy5kZXN0cm95KClcbiAgICBlbmFibGVCb2R5U2Nyb2xsKHRoaXMucmVmLm5hdGl2ZUVsZW1lbnQpXG4gIH1cbn1cblxuQENvbXBvbmVudCh7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG4gIHNlbGVjdG9yOiAnW25nZy1tb2RhbC1oZWFkZXJdJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8aDMgZGF0YS10ZXN0aWQ9XCJtb2RhbC1oZWFkZXItdGV4dFwiPnt7IGhlYWRlciB9fTwvaDM+XG4gICAgPGJ1dHRvblxuICAgICAgZGF0YS10ZXN0aWQ9XCJtb2RhbC1jbG9zZS1idXR0b25cIlxuICAgICAgY2xhc3M9XCJjbG9zZVwiXG4gICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVDbG9zZSgkZXZlbnQpXCJcbiAgICA+XG4gICAgICA8c3BhbiBjbGFzc05hbWU9XCJzci1vbmx5XCI+Q2xvc2U8L3NwYW4+XG4gICAgICA8aT48L2k+XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsSGVhZGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgaGVhZGVyPzogc3RyaW5nXG4gIEBPdXRwdXQoKSBjbG9zZWQ6IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4oKVxuXG4gIGhhbmRsZUNsb3NlKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jbG9zZWQuZW1pdChldmVudClcbiAgfVxufVxuXG5AQ29tcG9uZW50KHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcbiAgc2VsZWN0b3I6ICdbbmdnLW1vZGFsLWJvZHldJyxcbiAgc3R5bGVVcmxzOiBbJy4vbW9kYWwuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGU6IGA8bmctY29udGVudD48L25nLWNvbnRlbnQ+YCxcbn0pXG5leHBvcnQgY2xhc3MgTmdnTW9kYWxCb2R5Q29tcG9uZW50IHt9XG5cbkBDb21wb25lbnQoe1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvclxuICBzZWxlY3RvcjogJ1tuZ2ctbW9kYWwtZm9vdGVyXScsXG4gIHN0eWxlVXJsczogWycuL21vZGFsLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPGJ1dHRvblxuICAgICAgZGF0YS10ZXN0aWQ9XCJtb2RhbC1kaXNtaXNzLWJ1dHRvblwiXG4gICAgICAqbmdJZj1cImRpc21pc3NMYWJlbFwiXG4gICAgICBjbGFzcz1cInNlY29uZGFyeVwiXG4gICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVEaXNtaXNzKCRldmVudClcIlxuICAgID5cbiAgICAgIHt7IGRpc21pc3NMYWJlbCB9fVxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWwtY29uZmlybS1idXR0b25cIlxuICAgICAgKm5nSWY9XCJjb25maXJtTGFiZWxcIlxuICAgICAgY2xhc3M9XCJwcmltYXJ5XCJcbiAgICAgIChjbGljayk9XCJ0aGlzLmhhbmRsZUNvbmZpcm0oJGV2ZW50KVwiXG4gICAgPlxuICAgICAge3sgY29uZmlybUxhYmVsIH19XG4gICAgPC9idXR0b24+XG4gIGAsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsRm9vdGVyQ29tcG9uZW50IHtcbiAgQElucHV0KCkgZGlzbWlzc0xhYmVsPzogc3RyaW5nXG4gIEBJbnB1dCgpIGNvbmZpcm1MYWJlbD86IHN0cmluZ1xuICBAT3V0cHV0KCkgZGlzbWlzczogRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcigpXG4gIEBPdXRwdXQoKSBjb25maXJtOiBFdmVudEVtaXR0ZXI8TW91c2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyKClcblxuICBoYW5kbGVEaXNtaXNzKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5kaXNtaXNzLmVtaXQoZXZlbnQpXG4gIH1cblxuICBoYW5kbGVDb25maXJtKGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgdGhpcy5jb25maXJtLmVtaXQoZXZlbnQpXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpc09wZW5cIiBbbmdTd2l0Y2hdPVwibW9kYWxUeXBlXCI+XG4gIDxkaXYgY2xhc3M9XCJnZHMtZGlhbG9nLXdyYXBwZXJcIj5cbiAgICA8YXNpZGVcbiAgICAgIGRhdGEtdGVzdGlkPVwibW9kYWxcIlxuICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzbGlkZW91dCdcIlxuICAgICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgICBhcmlhLW1vZGFsPVwidHJ1ZVwiXG4gICAgICBbY2xhc3Muc21hbGxdPVwic2l6ZSA9PT0gJ3NtJ1wiXG4gICAgICBbY2xhc3MubWVkaXVtXT1cInNpemUgPT09ICdtZCdcIlxuICAgICAgW2NsYXNzLmxhcmdlXT1cInNpemUgPT09ICdsZydcIlxuICAgICAgW2NsYXNzLmVudGVyZWRdPVwiaXNPcGVuXCJcbiAgICA+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiY29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9hc2lkZT5cbiAgICA8bWFpblxuICAgICAgZGF0YS10ZXN0aWQ9XCJtb2RhbFwiXG4gICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3Rha2VvdmVyJ1wiXG4gICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgIFtjbGFzcy5lbnRlcmVkXT1cImlzT3BlblwiXG4gICAgPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvbWFpbj5cbiAgICA8c2VjdGlvblxuICAgICAgZGF0YS10ZXN0aWQ9XCJtb2RhbFwiXG4gICAgICAqbmdTd2l0Y2hEZWZhdWx0XG4gICAgICByb2xlPVwiZGlhbG9nXCJcbiAgICAgIGFyaWEtbW9kYWw9XCJ0cnVlXCJcbiAgICAgIFtjbGFzcy5zbWFsbF09XCJzaXplID09PSAnc20nXCJcbiAgICAgIFtjbGFzcy5tZWRpdW1dPVwic2l6ZSA9PT0gJ21kJ1wiXG4gICAgICBbY2xhc3MubGFyZ2VdPVwic2l6ZSA9PT0gJ2xnJ1wiXG4gICAgICBbY2xhc3MuZW50ZXJlZF09XCJpc09wZW5cIlxuICAgID5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L3NlY3Rpb24+XG4gICAgPG5nLXRlbXBsYXRlICNjb250ZW50VGVtcGxhdGU+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIWhpZGVIZWFkZXJcIj5cbiAgICAgICAgPGhlYWRlclxuICAgICAgICAgICpuZ0lmPVwiIW1vZGFsSGVhZGVyQ29udGVudDsgZWxzZSBoZWFkZXJDb250ZW50VGVtcGxhdGVcIlxuICAgICAgICAgIG5nZy1tb2RhbC1oZWFkZXJcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWhlYWRlclwiXG4gICAgICAgICAgW2hlYWRlcl09XCJoZWFkZXJcIlxuICAgICAgICAgIChjbG9zZWQpPVwidGhpcy5oYW5kbGVDbG9zZUNsaWNrKCRldmVudClcIlxuICAgICAgICA+PC9oZWFkZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDxkaXYgbmdnLW1vZGFsLWJvZHkgZGF0YS10ZXN0aWQ9XCJtb2RhbC1ib2R5XCIgY2xhc3M9XCJib2R5XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJib2R5Q29udGVudFRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhaGlkZUZvb3RlciAmJiAoZGlzbWlzc0xhYmVsIHx8IGNvbmZpcm1MYWJlbClcIj5cbiAgICAgICAgPGZvb3RlclxuICAgICAgICAgICpuZ0lmPVwiIW1vZGFsRm9vdGVyQ29udGVudDsgZWxzZSBmb290ZXJDb250ZW50VGVtcGxhdGVcIlxuICAgICAgICAgIG5nZy1tb2RhbC1mb290ZXJcbiAgICAgICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWZvb3RlclwiXG4gICAgICAgICAgW2Rpc21pc3NMYWJlbF09XCJkaXNtaXNzTGFiZWxcIlxuICAgICAgICAgIFtjb25maXJtTGFiZWxdPVwiY29uZmlybUxhYmVsXCJcbiAgICAgICAgICAoZGlzbWlzcyk9XCJ0aGlzLmhhbmRsZURpc21pc3MoJGV2ZW50KVwiXG4gICAgICAgICAgKGNvbmZpcm0pPVwidGhpcy5oYW5kbGVDb25maXJtKCRldmVudClcIlxuICAgICAgICA+PC9mb290ZXI+XG4gICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICAgIDxuZy10ZW1wbGF0ZSAjaGVhZGVyQ29udGVudFRlbXBsYXRlPlxuICAgICAgPGhlYWRlciBkYXRhLXRlc3RpZD1cIm1vZGFsLWhlYWRlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbbmdnTW9kYWxIZWFkZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgPC9oZWFkZXI+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2JvZHlDb250ZW50VGVtcGxhdGU+XG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8bmctdGVtcGxhdGUgI2Zvb3RlckNvbnRlbnRUZW1wbGF0ZT5cbiAgICAgIDxmb290ZXIgZGF0YS10ZXN0aWQ9XCJtb2RhbC1mb290ZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW25nZ01vZGFsRm9vdGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZm9vdGVyPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gICAgPGRpdlxuICAgICAgI2JhY2tkcm9wXG4gICAgICBkYXRhLXRlc3RpZD1cIm1vZGFsLWJhY2tkcm9wXCJcbiAgICAgIGNsYXNzPVwiYmFja2Ryb3AgZW50ZXJlZFwiXG4gICAgICAoY2xpY2spPVwidGhpcy5oYW5kbGVCYWNrZHJvcENsaWNrKCRldmVudClcIlxuICAgICAgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiXG4gICAgPjwvZGl2PlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuIl19
@@ -0,0 +1,41 @@
1
+ import { CommonModule } from '@angular/common';
2
+ import { NgModule } from '@angular/core';
3
+ import { A11yModule } from '@angular/cdk/a11y';
4
+ import { NggModalBodyComponent, NggModalComponent, NggModalFooterComponent, NggModalHeaderComponent, } from './modal.component';
5
+ import { NggModalHeaderDirective } from './modal-header.directive';
6
+ import { NggModalFooterDirective } from './modal-footer.directive';
7
+ import * as i0 from "@angular/core";
8
+ const DECLARATIONS = [
9
+ NggModalComponent,
10
+ NggModalHeaderComponent,
11
+ NggModalBodyComponent,
12
+ NggModalFooterComponent,
13
+ NggModalHeaderDirective,
14
+ NggModalFooterDirective,
15
+ ];
16
+ const EXPORTS = [
17
+ NggModalComponent,
18
+ NggModalHeaderDirective,
19
+ NggModalFooterDirective,
20
+ ];
21
+ export class NggModalModule {
22
+ }
23
+ NggModalModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
24
+ NggModalModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggModalModule, declarations: [NggModalComponent,
25
+ NggModalHeaderComponent,
26
+ NggModalBodyComponent,
27
+ NggModalFooterComponent,
28
+ NggModalHeaderDirective,
29
+ NggModalFooterDirective], imports: [A11yModule, CommonModule], exports: [NggModalComponent,
30
+ NggModalHeaderDirective,
31
+ NggModalFooterDirective] });
32
+ NggModalModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalModule, imports: [A11yModule, CommonModule] });
33
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggModalModule, decorators: [{
34
+ type: NgModule,
35
+ args: [{
36
+ imports: [A11yModule, CommonModule],
37
+ exports: EXPORTS,
38
+ declarations: DECLARATIONS,
39
+ }]
40
+ }] });
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvbW9kYWwubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUM5QyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFBO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wscUJBQXFCLEVBQ3JCLGlCQUFpQixFQUNqQix1QkFBdUIsRUFDdkIsdUJBQXVCLEdBQ3hCLE1BQU0sbUJBQW1CLENBQUE7QUFDMUIsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUE7QUFDbEUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUE7O0FBRWxFLE1BQU0sWUFBWSxHQUFHO0lBQ25CLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIscUJBQXFCO0lBQ3JCLHVCQUF1QjtJQUN2Qix1QkFBdUI7SUFDdkIsdUJBQXVCO0NBQ3hCLENBQUE7QUFFRCxNQUFNLE9BQU8sR0FBRztJQUNkLGlCQUFpQjtJQUNqQix1QkFBdUI7SUFDdkIsdUJBQXVCO0NBQ3hCLENBQUE7QUFPRCxNQUFNLE9BQU8sY0FBYzs7MkdBQWQsY0FBYzs0R0FBZCxjQUFjLGlCQW5CekIsaUJBQWlCO1FBQ2pCLHVCQUF1QjtRQUN2QixxQkFBcUI7UUFDckIsdUJBQXVCO1FBQ3ZCLHVCQUF1QjtRQUN2Qix1QkFBdUIsYUFVYixVQUFVLEVBQUUsWUFBWSxhQU5sQyxpQkFBaUI7UUFDakIsdUJBQXVCO1FBQ3ZCLHVCQUF1Qjs0R0FRWixjQUFjLFlBSmYsVUFBVSxFQUFFLFlBQVk7MkZBSXZCLGNBQWM7a0JBTDFCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFLFlBQVksQ0FBQztvQkFDbkMsT0FBTyxFQUFFLE9BQU87b0JBQ2hCLFlBQVksRUFBRSxZQUFZO2lCQUMzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbidcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7IEExMXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSdcbmltcG9ydCB7XG4gIE5nZ01vZGFsQm9keUNvbXBvbmVudCxcbiAgTmdnTW9kYWxDb21wb25lbnQsXG4gIE5nZ01vZGFsRm9vdGVyQ29tcG9uZW50LFxuICBOZ2dNb2RhbEhlYWRlckNvbXBvbmVudCxcbn0gZnJvbSAnLi9tb2RhbC5jb21wb25lbnQnXG5pbXBvcnQgeyBOZ2dNb2RhbEhlYWRlckRpcmVjdGl2ZSB9IGZyb20gJy4vbW9kYWwtaGVhZGVyLmRpcmVjdGl2ZSdcbmltcG9ydCB7IE5nZ01vZGFsRm9vdGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9tb2RhbC1mb290ZXIuZGlyZWN0aXZlJ1xuXG5jb25zdCBERUNMQVJBVElPTlMgPSBbXG4gIE5nZ01vZGFsQ29tcG9uZW50LFxuICBOZ2dNb2RhbEhlYWRlckNvbXBvbmVudCxcbiAgTmdnTW9kYWxCb2R5Q29tcG9uZW50LFxuICBOZ2dNb2RhbEZvb3RlckNvbXBvbmVudCxcbiAgTmdnTW9kYWxIZWFkZXJEaXJlY3RpdmUsXG4gIE5nZ01vZGFsRm9vdGVyRGlyZWN0aXZlLFxuXVxuXG5jb25zdCBFWFBPUlRTID0gW1xuICBOZ2dNb2RhbENvbXBvbmVudCxcbiAgTmdnTW9kYWxIZWFkZXJEaXJlY3RpdmUsXG4gIE5nZ01vZGFsRm9vdGVyRGlyZWN0aXZlLFxuXVxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQTExeU1vZHVsZSwgQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogRVhQT1JUUyxcbiAgZGVjbGFyYXRpb25zOiBERUNMQVJBVElPTlMsXG59KVxuZXhwb3J0IGNsYXNzIE5nZ01vZGFsTW9kdWxlIHt9XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ViZ3JvdXAtZ3JlZW4tYW5ndWxhci1zcmMtbGliLW1vZGFsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvbW9kYWwvc2ViZ3JvdXAtZ3JlZW4tYW5ndWxhci1zcmMtbGliLW1vZGFsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './pagination.component';
2
+ export * from './pagination.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9wYWdpbmF0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUE7QUFDdEMsY0FBYyxxQkFBcUIsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vcGFnaW5hdGlvbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL3BhZ2luYXRpb24ubW9kdWxlJ1xuIl19
@@ -0,0 +1,175 @@
1
+ import { Component, Input, Output, EventEmitter, ChangeDetectionStrategy, } from '@angular/core';
2
+ import { PaginationI18n, } from '@sebgroup/extract';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common";
5
+ export class NggPaginationComponent {
6
+ constructor() {
7
+ /** Internationalization labels */
8
+ this.i18n = PaginationI18n;
9
+ /** Rendered size */
10
+ this.size = 'small';
11
+ /** Amount of pages to be displayed between the first and last */
12
+ this.displayPages = 5;
13
+ /** Total amount of items to be paginated */
14
+ this.length = 0;
15
+ /** Displayed items per page */
16
+ this.pageSize = 10;
17
+ this._pageIndex = 0;
18
+ this._pageIndicies = [];
19
+ /** Event emitted when a new page index is selected */
20
+ this.page = new EventEmitter();
21
+ }
22
+ /** The zero-based page index of the displayed list of pages. Defaulted to 0. */
23
+ get pageIndex() {
24
+ return this._pageIndex;
25
+ }
26
+ set pageIndex(value) {
27
+ this._pageIndex = Math.max(value, 0);
28
+ }
29
+ /** All centric page indicies to be displayed. */
30
+ get pageIndicies() {
31
+ return this._pageIndicies;
32
+ }
33
+ get totalPages() {
34
+ if (!this.pageSize) {
35
+ return 0;
36
+ }
37
+ return Math.ceil(this.length / this.pageSize);
38
+ }
39
+ ngOnChanges(changes) {
40
+ if (changes.displayPages ||
41
+ changes.pageIndex ||
42
+ changes.pageSize ||
43
+ changes.length) {
44
+ this._pageIndicies = this.getDisplayedPageIndicies();
45
+ }
46
+ }
47
+ hasPrevious() {
48
+ return this.pageIndex >= 1;
49
+ }
50
+ hasNext() {
51
+ return this.pageIndex < this.totalPages - 1;
52
+ }
53
+ gotoFirst() {
54
+ if (!this.hasPrevious()) {
55
+ return;
56
+ }
57
+ const previous = this.pageIndex;
58
+ this.pageIndex = 0;
59
+ this.emit(previous);
60
+ }
61
+ gotoLast() {
62
+ if (!this.hasNext()) {
63
+ return;
64
+ }
65
+ const previous = this.pageIndex;
66
+ this.pageIndex = this.totalPages - 1;
67
+ this.emit(previous);
68
+ }
69
+ gotoPrevious() {
70
+ if (!this.hasPrevious()) {
71
+ return;
72
+ }
73
+ const previous = this.pageIndex;
74
+ this.pageIndex = previous - 1;
75
+ this.emit(previous);
76
+ }
77
+ gotoNext() {
78
+ if (!this.hasNext()) {
79
+ return;
80
+ }
81
+ const previous = this.pageIndex;
82
+ this.pageIndex = previous + 1;
83
+ this.emit(previous);
84
+ }
85
+ goto(index) {
86
+ if (index === this.pageIndex || index < 0 || index >= this.totalPages) {
87
+ return;
88
+ }
89
+ const previous = this.pageIndex;
90
+ this.pageIndex = index;
91
+ this.emit(previous);
92
+ }
93
+ emit(previous) {
94
+ this._pageIndicies = this.getDisplayedPageIndicies();
95
+ this.page.emit({ pageIndex: this.pageIndex, previousPageIndex: previous });
96
+ }
97
+ getDisplayedPageIndicies() {
98
+ // Do not render
99
+ if (this.totalPages <= 1) {
100
+ return [];
101
+ }
102
+ // All pages can fit
103
+ if (this.totalPages <= this.displayPages)
104
+ return [...Array(this.totalPages - 2).keys()].map((index) => index + 1);
105
+ // Only first & last
106
+ if (this.totalPages === 2)
107
+ return [];
108
+ return this.getCenteredPageIndicies();
109
+ }
110
+ /**
111
+ * Find X (displayPages) amount of page indicies that are centered from the currently selected page index,
112
+ * but exclude the first and last indicies if they are within the range.
113
+ */
114
+ getCenteredPageIndicies() {
115
+ const pages = [];
116
+ if (this.pageIndex === 0) {
117
+ pages.push(this.pageIndex + 1);
118
+ }
119
+ else if (this.pageIndex === this.totalPages - 1) {
120
+ pages.push(this.pageIndex - 1);
121
+ }
122
+ else {
123
+ pages.push(this.pageIndex);
124
+ }
125
+ const addAfter = () => {
126
+ const next = pages[pages.length - 1] + 1;
127
+ if (next < this.totalPages - 1 && counter > 0) {
128
+ pages.push(next);
129
+ return true;
130
+ }
131
+ return false;
132
+ };
133
+ const addBefore = () => {
134
+ const previous = pages[0] - 1;
135
+ if (previous > 0 && counter > 0) {
136
+ pages.unshift(previous);
137
+ return true;
138
+ }
139
+ return false;
140
+ };
141
+ let counter = this.displayPages - 1;
142
+ while (counter > 0) {
143
+ const addedAfter = addAfter();
144
+ if (addedAfter)
145
+ counter--;
146
+ const addedBefore = addBefore();
147
+ if (addedBefore)
148
+ counter--;
149
+ if (!addedAfter && !addedBefore)
150
+ break;
151
+ }
152
+ return pages;
153
+ }
154
+ }
155
+ NggPaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
156
+ NggPaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: NggPaginationComponent, selector: "ngg-pagination", inputs: { i18n: "i18n", size: "size", displayPages: "displayPages", length: "length", pageSize: "pageSize", pageIndex: "pageIndex" }, outputs: { page: "page" }, usesOnChanges: true, ngImport: i0, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n (keydown.enter)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n (keydown.enter)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n (keydown.enter)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n (keydown.enter)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n (keydown.enter)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
157
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationComponent, decorators: [{
158
+ type: Component,
159
+ args: [{ selector: 'ngg-pagination', changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n [class]=\"'pagination ' + size\"\n role=\"navigation\"\n [attr.aria-label]=\"i18n.paginationLabel\"\n *ngIf=\"totalPages > 1\"\n>\n <ul class=\"gds-reset\">\n <li *ngIf=\"hasPrevious()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoPrevious()\"\n (keydown.enter)=\"gotoPrevious()\"\n [attr.aria-label]=\"i18n.previousPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M9.4 233.4c-12.5 12.5-12.5 32.8 0 45.3l192 192c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 246.6 86.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-192 192z\"\n />\n </svg>\n </a>\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoFirst()\"\n (keydown.enter)=\"gotoFirst()\"\n [attr.aria-current]=\"pageIndex === 0 ? 'page' : null\"\n [attr.aria-label]=\"i18n.firstPageLabel\"\n role=\"button\"\n >\n 1\n </a>\n </li>\n <li *ngIf=\"pageIndicies[0] > 1\" aria-hidden=\"true\">...</li>\n\n <li *ngFor=\"let index of pageIndicies\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"goto(index)\"\n (keydown.enter)=\"goto(index)\"\n [attr.aria-current]=\"pageIndex === index ? 'page' : null\"\n [attr.aria-label]=\"i18n.getPageLabel(index)\"\n role=\"button\"\n >\n {{ index + 1 }}\n </a>\n </li>\n\n <li\n *ngIf=\"pageIndicies[pageIndicies.length - 1] < totalPages - 2\"\n aria-hidden=\"true\"\n >\n ...\n </li>\n\n <li>\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoLast()\"\n (keydown.enter)=\"gotoLast()\"\n [attr.aria-current]=\"pageIndex === totalPages - 1 ? 'page' : null\"\n [attr.aria-label]=\"i18n.lastPageLabel\"\n role=\"button\"\n >\n {{ totalPages }}\n </a>\n </li>\n <li *ngIf=\"hasNext()\">\n <a\n class=\"gds-reset\"\n tabindex=\"0\"\n (click)=\"gotoNext()\"\n (keydown.enter)=\"gotoNext()\"\n [attr.aria-label]=\"i18n.nextPageLabel\"\n role=\"button\"\n >\n <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 320 512\">\n <path\n d=\"M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z\"\n />\n </svg>\n </a>\n </li>\n </ul>\n</nav>\n" }]
160
+ }], propDecorators: { i18n: [{
161
+ type: Input
162
+ }], size: [{
163
+ type: Input
164
+ }], displayPages: [{
165
+ type: Input
166
+ }], length: [{
167
+ type: Input
168
+ }], pageSize: [{
169
+ type: Input
170
+ }], pageIndex: [{
171
+ type: Input
172
+ }], page: [{
173
+ type: Output
174
+ }] } });
175
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9hbmd1bGFyL3NyYy9saWIvcGFnaW5hdGlvbi9wYWdpbmF0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLE1BQU0sRUFDTixZQUFZLEVBQ1osdUJBQXVCLEdBR3hCLE1BQU0sZUFBZSxDQUFBO0FBQ3RCLE9BQU8sRUFHTCxjQUFjLEdBRWYsTUFBTSxtQkFBbUIsQ0FBQTs7O0FBTzFCLE1BQU0sT0FBTyxzQkFBc0I7SUFMbkM7UUFNRSxrQ0FBa0M7UUFDekIsU0FBSSxHQUFvQixjQUFjLENBQUE7UUFFL0Msb0JBQW9CO1FBQ1gsU0FBSSxHQUFtQixPQUFPLENBQUE7UUFFdkMsa0VBQWtFO1FBQ3pELGlCQUFZLEdBQUcsQ0FBQyxDQUFBO1FBRXpCLDRDQUE0QztRQUNuQyxXQUFNLEdBQUcsQ0FBQyxDQUFBO1FBRW5CLCtCQUErQjtRQUN0QixhQUFRLEdBQUcsRUFBRSxDQUFBO1FBVWQsZUFBVSxHQUFHLENBQUMsQ0FBQTtRQU1kLGtCQUFhLEdBQWEsRUFBRSxDQUFBO1FBVXBDLHNEQUFzRDtRQUM1QyxTQUFJLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUE7S0FvSXREO0lBN0pDLGdGQUFnRjtJQUNoRixJQUNJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUE7SUFDeEIsQ0FBQztJQUNELElBQUksU0FBUyxDQUFDLEtBQWE7UUFDekIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUN0QyxDQUFDO0lBR0Qs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QUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUYsU0FBUztzQkFEWixLQUFLO2dCQXdCSSxJQUFJO3NCQUFiLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIE9uQ2hhbmdlcyxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcbmltcG9ydCB7XG4gIElQYWdpbmF0aW9uRXZlbnQsXG4gIElQYWdpbmF0aW9uSTE4bixcbiAgUGFnaW5hdGlvbkkxOG4sXG4gIFBhZ2luYXRpb25TaXplLFxufSBmcm9tICdAc2ViZ3JvdXAvZXh0cmFjdCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbmdnLXBhZ2luYXRpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGFnaW5hdGlvbi5jb21wb25lbnQuaHRtbCcsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBOZ2dQYWdpbmF0aW9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgLyoqIEludGVybmF0aW9uYWxpemF0aW9uIGxhYmVscyAqL1xuICBASW5wdXQoKSBpMThuOiBJUGFnaW5hdGlvbkkxOG4gPSBQYWdpbmF0aW9uSTE4blxuXG4gIC8qKiBSZW5kZXJlZCBzaXplICovXG4gIEBJbnB1dCgpIHNpemU6IFBhZ2luYXRpb25TaXplID0gJ3NtYWxsJ1xuXG4gIC8qKiBBbW91bnQgb2YgcGFnZXMgdG8gYmUgZGlzcGxheWVkIGJldHdlZW4gdGhlIGZpcnN0IGFuZCBsYXN0ICAqL1xuICBASW5wdXQoKSBkaXNwbGF5UGFnZXMgPSA1XG5cbiAgLyoqIFRvdGFsIGFtb3VudCBvZiBpdGVtcyB0byBiZSBwYWdpbmF0ZWQgKi9cbiAgQElucHV0KCkgbGVuZ3RoID0gMFxuXG4gIC8qKiBEaXNwbGF5ZWQgaXRlbXMgcGVyIHBhZ2UgKi9cbiAgQElucHV0KCkgcGFnZVNpemUgPSAxMFxuXG4gIC8qKiBUaGUgemVyby1iYXNlZCBwYWdlIGluZGV4IG9mIHRoZSBkaXNwbGF5ZWQgbGlzdCBvZiBwYWdlcy4gRGVmYXVsdGVkIHRvIDAuICovXG4gIEBJbnB1dCgpXG4gIGdldCBwYWdlSW5kZXgoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5fcGFnZUluZGV4XG4gIH1cbiAgc2V0IHBhZ2VJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5fcGFnZUluZGV4ID0gTWF0aC5tYXgodmFsdWUsIDApXG4gIH1cbiAgcHJpdmF0ZSBfcGFnZUluZGV4ID0gMFxuXG4gIC8qKiBBbGwgY2VudHJpYyBwYWdlIGluZGljaWVzIHRvIGJlIGRpc3BsYXllZC4gKi9cbiAgZ2V0IHBhZ2VJbmRpY2llcygpOiBudW1iZXJbXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhZ2VJbmRpY2llc1xuICB9XG4gIHByaXZhdGUgX3BhZ2VJbmRpY2llczogbnVtYmVyW10gPSBbXVxuXG4gIGdldCB0b3RhbFBhZ2VzKCk6IG51bWJlciB7XG4gICAgaWYgKCF0aGlzLnBhZ2VTaXplKSB7XG4gICAgICByZXR1cm4gMFxuICAgIH1cblxuICAgIHJldHVybiBNYXRoLmNlaWwodGhpcy5sZW5ndGggLyB0aGlzLnBhZ2VTaXplKVxuICB9XG5cbiAgLyoqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIG5ldyBwYWdlIGluZGV4IGlzIHNlbGVjdGVkICovXG4gIEBPdXRwdXQoKSBwYWdlID0gbmV3IEV2ZW50RW1pdHRlcjxJUGFnaW5hdGlvbkV2ZW50PigpXG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGNoYW5nZXMuZGlzcGxheVBhZ2VzIHx8XG4gICAgICBjaGFuZ2VzLnBhZ2VJbmRleCB8fFxuICAgICAgY2hhbmdlcy5wYWdlU2l6ZSB8fFxuICAgICAgY2hhbmdlcy5sZW5ndGhcbiAgICApIHtcbiAgICAgIHRoaXMuX3BhZ2VJbmRpY2llcyA9IHRoaXMuZ2V0RGlzcGxheWVkUGFnZUluZGljaWVzKClcbiAgICB9XG4gIH1cblxuICBoYXNQcmV2aW91cygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPj0gMVxuICB9XG5cbiAgaGFzTmV4dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5wYWdlSW5kZXggPCB0aGlzLnRvdGFsUGFnZXMgLSAxXG4gIH1cblxuICBnb3RvRmlyc3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc1ByZXZpb3VzKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMucGFnZUluZGV4XG4gICAgdGhpcy5wYWdlSW5kZXggPSAwXG4gICAgdGhpcy5lbWl0KHByZXZpb3VzKVxuICB9XG5cbiAgZ290b0xhc3QoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc05leHQoKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGNvbnN0IHByZXZpb3VzID0gdGhpcy5wYWdlSW5kZXhcbiAgICB0aGlzLnBhZ2VJbmRleCA9IHRoaXMudG90YWxQYWdlcyAtIDFcbiAgICB0aGlzLmVtaXQocHJldmlvdXMpXG4gIH1cblxuICBnb3RvUHJldmlvdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmhhc1ByZXZpb3VzKCkpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBjb25zdCBwcmV2aW91cyA9IHRoaXMucGFnZUluZGV4XG4gICAgdGhpcy5wYWdlSW5kZXggPSBwcmV2aW91cyAtIDFcbiAgICB0aGlzLmVtaXQocHJldmlvdXMpXG4gIH1cblxuICBnb3RvTmV4dCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaGFzTmV4dCgpKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLnBhZ2VJbmRleFxuICAgIHRoaXMucGFnZUluZGV4ID0gcHJldmlvdXMgKyAxXG4gICAgdGhpcy5lbWl0KHByZXZpb3VzKVxuICB9XG5cbiAgZ290byhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGluZGV4ID09PSB0aGlzLnBhZ2VJbmRleCB8fCBpbmRleCA8IDAgfHwgaW5kZXggPj0gdGhpcy50b3RhbFBhZ2VzKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgY29uc3QgcHJldmlvdXMgPSB0aGlzLnBhZ2VJbmRleFxuICAgIHRoaXMucGFnZUluZGV4ID0gaW5kZXhcbiAgICB0aGlzLmVtaXQocHJldmlvdXMpXG4gIH1cblxuICBwcml2YXRlIGVtaXQocHJldmlvdXM6IG51bWJlcikge1xuICAgIHRoaXMuX3BhZ2VJbmRpY2llcyA9IHRoaXMuZ2V0RGlzcGxheWVkUGFnZUluZGljaWVzKClcbiAgICB0aGlzLnBhZ2UuZW1pdCh7IHBhZ2VJbmRleDogdGhpcy5wYWdlSW5kZXgsIHByZXZpb3VzUGFnZUluZGV4OiBwcmV2aW91cyB9KVxuICB9XG5cbiAgcHJpdmF0ZSBnZXREaXNwbGF5ZWRQYWdlSW5kaWNpZXMoKTogbnVtYmVyW10ge1xuICAgIC8vIERvIG5vdCByZW5kZXJcbiAgICBpZiAodGhpcy50b3RhbFBhZ2VzIDw9IDEpIHtcbiAgICAgIHJldHVybiBbXVxuICAgIH1cblxuICAgIC8vIEFsbCBwYWdlcyBjYW4gZml0XG4gICAgaWYgKHRoaXMudG90YWxQYWdlcyA8PSB0aGlzLmRpc3BsYXlQYWdlcylcbiAgICAgIHJldHVybiBbLi4uQXJyYXkodGhpcy50b3RhbFBhZ2VzIC0gMikua2V5cygpXS5tYXAoKGluZGV4KSA9PiBpbmRleCArIDEpXG5cbiAgICAvLyBPbmx5IGZpcnN0ICYgbGFzdFxuICAgIGlmICh0aGlzLnRvdGFsUGFnZXMgPT09IDIpIHJldHVybiBbXVxuXG4gICAgcmV0dXJuIHRoaXMuZ2V0Q2VudGVyZWRQYWdlSW5kaWNpZXMoKVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbmQgWCAoZGlzcGxheVBhZ2VzKSBhbW91bnQgb2YgcGFnZSBpbmRpY2llcyB0aGF0IGFyZSBjZW50ZXJlZCBmcm9tIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQgcGFnZSBpbmRleCxcbiAgICogYnV0IGV4Y2x1ZGUgdGhlIGZpcnN0IGFuZCBsYXN0IGluZGljaWVzIGlmIHRoZXkgYXJlIHdpdGhpbiB0aGUgcmFuZ2UuXG4gICAqL1xuICBwcml2YXRlIGdldENlbnRlcmVkUGFnZUluZGljaWVzKCk6IG51bWJlcltdIHtcbiAgICBjb25zdCBwYWdlczogbnVtYmVyW10gPSBbXVxuXG4gICAgaWYgKHRoaXMucGFnZUluZGV4ID09PSAwKSB7XG4gICAgICBwYWdlcy5wdXNoKHRoaXMucGFnZUluZGV4ICsgMSlcbiAgICB9IGVsc2UgaWYgKHRoaXMucGFnZUluZGV4ID09PSB0aGlzLnRvdGFsUGFnZXMgLSAxKSB7XG4gICAgICBwYWdlcy5wdXNoKHRoaXMucGFnZUluZGV4IC0gMSlcbiAgICB9IGVsc2Uge1xuICAgICAgcGFnZXMucHVzaCh0aGlzLnBhZ2VJbmRleClcbiAgICB9XG5cbiAgICBjb25zdCBhZGRBZnRlciA9ICgpID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSBwYWdlc1twYWdlcy5sZW5ndGggLSAxXSArIDFcbiAgICAgIGlmIChuZXh0IDwgdGhpcy50b3RhbFBhZ2VzIC0gMSAmJiBjb3VudGVyID4gMCkge1xuICAgICAgICBwYWdlcy5wdXNoKG5leHQpXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgY29uc3QgYWRkQmVmb3JlID0gKCkgPT4ge1xuICAgICAgY29uc3QgcHJldmlvdXMgPSBwYWdlc1swXSAtIDFcbiAgICAgIGlmIChwcmV2aW91cyA+IDAgJiYgY291bnRlciA+IDApIHtcbiAgICAgICAgcGFnZXMudW5zaGlmdChwcmV2aW91cylcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIGxldCBjb3VudGVyID0gdGhpcy5kaXNwbGF5UGFnZXMgLSAxXG4gICAgd2hpbGUgKGNvdW50ZXIgPiAwKSB7XG4gICAgICBjb25zdCBhZGRlZEFmdGVyID0gYWRkQWZ0ZXIoKVxuICAgICAgaWYgKGFkZGVkQWZ0ZXIpIGNvdW50ZXItLVxuXG4gICAgICBjb25zdCBhZGRlZEJlZm9yZSA9IGFkZEJlZm9yZSgpXG4gICAgICBpZiAoYWRkZWRCZWZvcmUpIGNvdW50ZXItLVxuXG4gICAgICBpZiAoIWFkZGVkQWZ0ZXIgJiYgIWFkZGVkQmVmb3JlKSBicmVha1xuICAgIH1cblxuICAgIHJldHVybiBwYWdlc1xuICB9XG59XG4iLCI8bmF2XG4gIFtjbGFzc109XCIncGFnaW5hdGlvbiAnICsgc2l6ZVwiXG4gIHJvbGU9XCJuYXZpZ2F0aW9uXCJcbiAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLnBhZ2luYXRpb25MYWJlbFwiXG4gICpuZ0lmPVwidG90YWxQYWdlcyA+IDFcIlxuPlxuICA8dWwgY2xhc3M9XCJnZHMtcmVzZXRcIj5cbiAgICA8bGkgKm5nSWY9XCJoYXNQcmV2aW91cygpXCI+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cImdkcy1yZXNldFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChjbGljayk9XCJnb3RvUHJldmlvdXMoKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cImdvdG9QcmV2aW91cygpXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLnByZXZpb3VzUGFnZUxhYmVsXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHZpZXdCb3g9XCIwIDAgMzIwIDUxMlwiPlxuICAgICAgICAgIDxwYXRoXG4gICAgICAgICAgICBkPVwiTTkuNCAyMzMuNGMtMTIuNSAxMi41LTEyLjUgMzIuOCAwIDQ1LjNsMTkyIDE5MmMxMi41IDEyLjUgMzIuOCAxMi41IDQ1LjMgMHMxMi41LTMyLjggMC00NS4zTDc3LjMgMjU2IDI0Ni42IDg2LjZjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBsLTE5MiAxOTJ6XCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuXG4gICAgPGxpPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJnZHMtcmVzZXRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAoY2xpY2spPVwiZ290b0ZpcnN0KClcIlxuICAgICAgICAoa2V5ZG93bi5lbnRlcik9XCJnb3RvRmlyc3QoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJwYWdlSW5kZXggPT09IDAgPyAncGFnZScgOiBudWxsXCJcbiAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJpMThuLmZpcnN0UGFnZUxhYmVsXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIDFcbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSAqbmdJZj1cInBhZ2VJbmRpY2llc1swXSA+IDFcIiBhcmlhLWhpZGRlbj1cInRydWVcIj4uLi48L2xpPlxuXG4gICAgPGxpICpuZ0Zvcj1cImxldCBpbmRleCBvZiBwYWdlSW5kaWNpZXNcIj5cbiAgICAgIDxhXG4gICAgICAgIGNsYXNzPVwiZ2RzLXJlc2V0XCJcbiAgICAgICAgdGFiaW5kZXg9XCIwXCJcbiAgICAgICAgKGNsaWNrKT1cImdvdG8oaW5kZXgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZ290byhpbmRleClcIlxuICAgICAgICBbYXR0ci5hcmlhLWN1cnJlbnRdPVwicGFnZUluZGV4ID09PSBpbmRleCA/ICdwYWdlJyA6IG51bGxcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkxOG4uZ2V0UGFnZUxhYmVsKGluZGV4KVwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICB7eyBpbmRleCArIDEgfX1cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuXG4gICAgPGxpXG4gICAgICAqbmdJZj1cInBhZ2VJbmRpY2llc1twYWdlSW5kaWNpZXMubGVuZ3RoIC0gMV0gPCB0b3RhbFBhZ2VzIC0gMlwiXG4gICAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgID5cbiAgICAgIC4uLlxuICAgIDwvbGk+XG5cbiAgICA8bGk+XG4gICAgICA8YVxuICAgICAgICBjbGFzcz1cImdkcy1yZXNldFwiXG4gICAgICAgIHRhYmluZGV4PVwiMFwiXG4gICAgICAgIChjbGljayk9XCJnb3RvTGFzdCgpXCJcbiAgICAgICAgKGtleWRvd24uZW50ZXIpPVwiZ290b0xhc3QoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtY3VycmVudF09XCJwYWdlSW5kZXggPT09IHRvdGFsUGFnZXMgLSAxID8gJ3BhZ2UnIDogbnVsbFwiXG4gICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiaTE4bi5sYXN0UGFnZUxhYmVsXCJcbiAgICAgICAgcm9sZT1cImJ1dHRvblwiXG4gICAgICA+XG4gICAgICAgIHt7IHRvdGFsUGFnZXMgfX1cbiAgICAgIDwvYT5cbiAgICA8L2xpPlxuICAgIDxsaSAqbmdJZj1cImhhc05leHQoKVwiPlxuICAgICAgPGFcbiAgICAgICAgY2xhc3M9XCJnZHMtcmVzZXRcIlxuICAgICAgICB0YWJpbmRleD1cIjBcIlxuICAgICAgICAoY2xpY2spPVwiZ290b05leHQoKVwiXG4gICAgICAgIChrZXlkb3duLmVudGVyKT1cImdvdG9OZXh0KClcIlxuICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImkxOG4ubmV4dFBhZ2VMYWJlbFwiXG4gICAgICAgIHJvbGU9XCJidXR0b25cIlxuICAgICAgPlxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB2aWV3Qm94PVwiMCAwIDMyMCA1MTJcIj5cbiAgICAgICAgICA8cGF0aFxuICAgICAgICAgICAgZD1cIk0zMTAuNiAyMzMuNGMxMi41IDEyLjUgMTIuNSAzMi44IDAgNDUuM2wtMTkyIDE5MmMtMTIuNSAxMi41LTMyLjggMTIuNS00NS4zIDBzLTEyLjUtMzIuOCAwLTQ1LjNMMjQyLjcgMjU2IDczLjQgODYuNmMtMTIuNS0xMi41LTEyLjUtMzIuOCAwLTQ1LjNzMzIuOC0xMi41IDQ1LjMgMGwxOTIgMTkyelwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2E+XG4gICAgPC9saT5cbiAgPC91bD5cbjwvbmF2PlxuIl19
@@ -0,0 +1,18 @@
1
+ import { NgModule } from '@angular/core';
2
+ import { CommonModule } from '@angular/common';
3
+ import { NggPaginationComponent } from './pagination.component';
4
+ import * as i0 from "@angular/core";
5
+ export class NggPaginationModule {
6
+ }
7
+ NggPaginationModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
8
+ NggPaginationModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationModule, declarations: [NggPaginationComponent], imports: [CommonModule], exports: [NggPaginationComponent] });
9
+ NggPaginationModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationModule, imports: [CommonModule] });
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: NggPaginationModule, decorators: [{
11
+ type: NgModule,
12
+ args: [{
13
+ declarations: [NggPaginationComponent],
14
+ imports: [CommonModule],
15
+ exports: [NggPaginationComponent],
16
+ }]
17
+ }] });
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFnaW5hdGlvbi5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9wYWdpbmF0aW9uL3BhZ2luYXRpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHdCQUF3QixDQUFBOztBQU8vRCxNQUFNLE9BQU8sbUJBQW1COztnSEFBbkIsbUJBQW1CO2lIQUFuQixtQkFBbUIsaUJBSmYsc0JBQXNCLGFBQzNCLFlBQVksYUFDWixzQkFBc0I7aUhBRXJCLG1CQUFtQixZQUhwQixZQUFZOzJGQUdYLG1CQUFtQjtrQkFML0IsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztvQkFDdEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO29CQUN2QixPQUFPLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nXG5cbmltcG9ydCB7IE5nZ1BhZ2luYXRpb25Db21wb25lbnQgfSBmcm9tICcuL3BhZ2luYXRpb24uY29tcG9uZW50J1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtOZ2dQYWdpbmF0aW9uQ29tcG9uZW50XSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIGV4cG9ydHM6IFtOZ2dQYWdpbmF0aW9uQ29tcG9uZW50XSxcbn0pXG5leHBvcnQgY2xhc3MgTmdnUGFnaW5hdGlvbk1vZHVsZSB7fVxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2ViZ3JvdXAtZ3JlZW4tYW5ndWxhci1zcmMtbGliLXBhZ2luYXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9wYWdpbmF0aW9uL3NlYmdyb3VwLWdyZWVuLWFuZ3VsYXItc3JjLWxpYi1wYWdpbmF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,3 @@
1
+ export * from './progress-circle.component';
2
+ export * from './progress-circle.module';
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2FuZ3VsYXIvc3JjL2xpYi9wcm9ncmVzcy1jaXJjbGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQTtBQUMzQyxjQUFjLDBCQUEwQixDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1jaXJjbGUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9wcm9ncmVzcy1jaXJjbGUubW9kdWxlJ1xuIl19