@angular/material 21.0.0-next.8 → 21.0.0-rc.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 (204) hide show
  1. package/core/tokens/_classes.scss +1 -1
  2. package/core/tokens/m2/_md-sys-color.scss +17 -17
  3. package/fesm2022/_animation-chunk.mjs +10 -16
  4. package/fesm2022/_animation-chunk.mjs.map +1 -1
  5. package/fesm2022/_date-formats-chunk.mjs +68 -164
  6. package/fesm2022/_date-formats-chunk.mjs.map +1 -1
  7. package/fesm2022/_date-range-input-harness-chunk.mjs +284 -463
  8. package/fesm2022/_date-range-input-harness-chunk.mjs.map +1 -1
  9. package/fesm2022/_error-options-chunk.mjs +56 -19
  10. package/fesm2022/_error-options-chunk.mjs.map +1 -1
  11. package/fesm2022/_error-state-chunk.mjs +24 -31
  12. package/fesm2022/_error-state-chunk.mjs.map +1 -1
  13. package/fesm2022/_form-field-chunk.mjs +1224 -1017
  14. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  15. package/fesm2022/_icon-button-chunk.mjs +243 -187
  16. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  17. package/fesm2022/_icon-registry-chunk.mjs +350 -575
  18. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  19. package/fesm2022/_input-harness-chunk.mjs +56 -107
  20. package/fesm2022/_input-harness-chunk.mjs.map +1 -1
  21. package/fesm2022/_input-value-accessor-chunk.mjs +0 -6
  22. package/fesm2022/_input-value-accessor-chunk.mjs.map +1 -1
  23. package/fesm2022/_internal-form-field-chunk.mjs +59 -19
  24. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  25. package/fesm2022/_line-chunk.mjs +83 -43
  26. package/fesm2022/_line-chunk.mjs.map +1 -1
  27. package/fesm2022/_option-chunk.mjs +348 -311
  28. package/fesm2022/_option-chunk.mjs.map +1 -1
  29. package/fesm2022/_option-harness-chunk.mjs +23 -39
  30. package/fesm2022/_option-harness-chunk.mjs.map +1 -1
  31. package/fesm2022/_option-module-chunk.mjs +36 -10
  32. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  33. package/fesm2022/_pseudo-checkbox-chunk.mjs +79 -44
  34. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  35. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +36 -10
  36. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  37. package/fesm2022/_public-api-chunk.mjs +71 -134
  38. package/fesm2022/_public-api-chunk.mjs.map +1 -1
  39. package/fesm2022/_ripple-chunk.mjs +504 -600
  40. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  41. package/fesm2022/_ripple-loader-chunk.mjs +120 -138
  42. package/fesm2022/_ripple-loader-chunk.mjs.map +1 -1
  43. package/fesm2022/_ripple-module-chunk.mjs +36 -10
  44. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  45. package/fesm2022/_structural-styles-chunk.mjs +37 -10
  46. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  47. package/fesm2022/_tooltip-chunk.mjs +810 -888
  48. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  49. package/fesm2022/autocomplete-testing.mjs +62 -86
  50. package/fesm2022/autocomplete-testing.mjs.map +1 -1
  51. package/fesm2022/autocomplete.mjs +965 -1126
  52. package/fesm2022/autocomplete.mjs.map +1 -1
  53. package/fesm2022/badge-testing.mjs +38 -54
  54. package/fesm2022/badge-testing.mjs.map +1 -1
  55. package/fesm2022/badge.mjs +321 -272
  56. package/fesm2022/badge.mjs.map +1 -1
  57. package/fesm2022/bottom-sheet-testing.mjs +10 -24
  58. package/fesm2022/bottom-sheet-testing.mjs.map +1 -1
  59. package/fesm2022/bottom-sheet.mjs +349 -344
  60. package/fesm2022/bottom-sheet.mjs.map +1 -1
  61. package/fesm2022/button-testing.mjs +60 -94
  62. package/fesm2022/button-testing.mjs.map +1 -1
  63. package/fesm2022/button-toggle-testing.mjs +76 -125
  64. package/fesm2022/button-toggle-testing.mjs.map +1 -1
  65. package/fesm2022/button-toggle.mjs +752 -662
  66. package/fesm2022/button-toggle.mjs.map +1 -1
  67. package/fesm2022/button.mjs +263 -158
  68. package/fesm2022/button.mjs.map +1 -1
  69. package/fesm2022/card-testing.mjs +19 -33
  70. package/fesm2022/card-testing.mjs.map +1 -1
  71. package/fesm2022/card.mjs +576 -272
  72. package/fesm2022/card.mjs.map +1 -1
  73. package/fesm2022/checkbox-testing.mjs +71 -123
  74. package/fesm2022/checkbox-testing.mjs.map +1 -1
  75. package/fesm2022/checkbox.mjs +515 -477
  76. package/fesm2022/checkbox.mjs.map +1 -1
  77. package/fesm2022/chips-testing.mjs +201 -350
  78. package/fesm2022/chips-testing.mjs.map +1 -1
  79. package/fesm2022/chips.mjs +2552 -2289
  80. package/fesm2022/chips.mjs.map +1 -1
  81. package/fesm2022/core-testing.mjs +14 -28
  82. package/fesm2022/core-testing.mjs.map +1 -1
  83. package/fesm2022/core.mjs +357 -328
  84. package/fesm2022/core.mjs.map +1 -1
  85. package/fesm2022/datepicker-testing.mjs +15 -25
  86. package/fesm2022/datepicker-testing.mjs.map +1 -1
  87. package/fesm2022/datepicker.mjs +4826 -4563
  88. package/fesm2022/datepicker.mjs.map +1 -1
  89. package/fesm2022/dialog-testing.mjs +93 -129
  90. package/fesm2022/dialog-testing.mjs.map +1 -1
  91. package/fesm2022/dialog.mjs +810 -829
  92. package/fesm2022/dialog.mjs.map +1 -1
  93. package/fesm2022/divider-testing.mjs +10 -11
  94. package/fesm2022/divider-testing.mjs.map +1 -1
  95. package/fesm2022/divider.mjs +119 -43
  96. package/fesm2022/divider.mjs.map +1 -1
  97. package/fesm2022/expansion-testing.mjs +74 -130
  98. package/fesm2022/expansion-testing.mjs.map +1 -1
  99. package/fesm2022/expansion.mjs +703 -515
  100. package/fesm2022/expansion.mjs.map +1 -1
  101. package/fesm2022/form-field-testing-control.mjs +16 -33
  102. package/fesm2022/form-field-testing-control.mjs.map +1 -1
  103. package/fesm2022/form-field-testing.mjs +118 -179
  104. package/fesm2022/form-field-testing.mjs.map +1 -1
  105. package/fesm2022/form-field.mjs +36 -10
  106. package/fesm2022/form-field.mjs.map +1 -1
  107. package/fesm2022/grid-list-testing.mjs +65 -113
  108. package/fesm2022/grid-list-testing.mjs.map +1 -1
  109. package/fesm2022/grid-list.mjs +559 -494
  110. package/fesm2022/grid-list.mjs.map +1 -1
  111. package/fesm2022/icon-testing.mjs +148 -127
  112. package/fesm2022/icon-testing.mjs.map +1 -1
  113. package/fesm2022/icon.mjs +325 -351
  114. package/fesm2022/icon.mjs.map +1 -1
  115. package/fesm2022/input-testing.mjs +59 -99
  116. package/fesm2022/input-testing.mjs.map +1 -1
  117. package/fesm2022/input.mjs +457 -520
  118. package/fesm2022/input.mjs.map +1 -1
  119. package/fesm2022/list-testing.mjs +251 -434
  120. package/fesm2022/list-testing.mjs.map +1 -1
  121. package/fesm2022/list.mjs +1522 -1204
  122. package/fesm2022/list.mjs.map +1 -1
  123. package/fesm2022/material.mjs +0 -5
  124. package/fesm2022/material.mjs.map +1 -1
  125. package/fesm2022/menu-testing.mjs +159 -228
  126. package/fesm2022/menu-testing.mjs.map +1 -1
  127. package/fesm2022/menu.mjs +1338 -1343
  128. package/fesm2022/menu.mjs.map +1 -1
  129. package/fesm2022/paginator-testing.mjs +55 -79
  130. package/fesm2022/paginator-testing.mjs.map +1 -1
  131. package/fesm2022/paginator.mjs +381 -309
  132. package/fesm2022/paginator.mjs.map +1 -1
  133. package/fesm2022/progress-bar-testing.mjs +12 -21
  134. package/fesm2022/progress-bar-testing.mjs.map +1 -1
  135. package/fesm2022/progress-bar.mjs +224 -169
  136. package/fesm2022/progress-bar.mjs.map +1 -1
  137. package/fesm2022/progress-spinner-testing.mjs +13 -23
  138. package/fesm2022/progress-spinner-testing.mjs.map +1 -1
  139. package/fesm2022/progress-spinner.mjs +235 -160
  140. package/fesm2022/progress-spinner.mjs.map +1 -1
  141. package/fesm2022/radio-testing.mjs +133 -208
  142. package/fesm2022/radio-testing.mjs.map +1 -1
  143. package/fesm2022/radio.mjs +712 -679
  144. package/fesm2022/radio.mjs.map +1 -1
  145. package/fesm2022/select-testing.mjs +83 -117
  146. package/fesm2022/select-testing.mjs.map +1 -1
  147. package/fesm2022/select.mjs +1116 -1246
  148. package/fesm2022/select.mjs.map +1 -1
  149. package/fesm2022/sidenav-testing.mjs +54 -120
  150. package/fesm2022/sidenav-testing.mjs.map +1 -1
  151. package/fesm2022/sidenav.mjs +1078 -995
  152. package/fesm2022/sidenav.mjs.map +1 -1
  153. package/fesm2022/slide-toggle-testing.mjs +57 -92
  154. package/fesm2022/slide-toggle-testing.mjs.map +1 -1
  155. package/fesm2022/slide-toggle.mjs +369 -279
  156. package/fesm2022/slide-toggle.mjs.map +1 -1
  157. package/fesm2022/slider-testing.mjs +90 -138
  158. package/fesm2022/slider-testing.mjs.map +1 -1
  159. package/fesm2022/slider.mjs +1651 -1716
  160. package/fesm2022/slider.mjs.map +1 -1
  161. package/fesm2022/snack-bar-testing.mjs +40 -87
  162. package/fesm2022/snack-bar-testing.mjs.map +1 -1
  163. package/fesm2022/snack-bar.mjs +763 -714
  164. package/fesm2022/snack-bar.mjs.map +1 -1
  165. package/fesm2022/sort-testing.mjs +45 -66
  166. package/fesm2022/sort-testing.mjs.map +1 -1
  167. package/fesm2022/sort.mjs +419 -344
  168. package/fesm2022/sort.mjs.map +1 -1
  169. package/fesm2022/stepper-testing.mjs +78 -154
  170. package/fesm2022/stepper-testing.mjs.map +1 -1
  171. package/fesm2022/stepper.mjs +790 -498
  172. package/fesm2022/stepper.mjs.map +1 -1
  173. package/fesm2022/table-testing.mjs +125 -186
  174. package/fesm2022/table-testing.mjs.map +1 -1
  175. package/fesm2022/table.mjs +1026 -684
  176. package/fesm2022/table.mjs.map +1 -1
  177. package/fesm2022/tabs-testing.mjs +125 -197
  178. package/fesm2022/tabs-testing.mjs.map +1 -1
  179. package/fesm2022/tabs.mjs +2351 -2028
  180. package/fesm2022/tabs.mjs.map +1 -1
  181. package/fesm2022/timepicker-testing.mjs +113 -172
  182. package/fesm2022/timepicker-testing.mjs.map +1 -1
  183. package/fesm2022/timepicker.mjs +1019 -826
  184. package/fesm2022/timepicker.mjs.map +1 -1
  185. package/fesm2022/toolbar-testing.mjs +16 -27
  186. package/fesm2022/toolbar-testing.mjs.map +1 -1
  187. package/fesm2022/toolbar.mjs +163 -78
  188. package/fesm2022/toolbar.mjs.map +1 -1
  189. package/fesm2022/tooltip-testing.mjs +41 -52
  190. package/fesm2022/tooltip-testing.mjs.map +1 -1
  191. package/fesm2022/tooltip.mjs +36 -10
  192. package/fesm2022/tooltip.mjs.map +1 -1
  193. package/fesm2022/tree-testing.mjs +86 -162
  194. package/fesm2022/tree-testing.mjs.map +1 -1
  195. package/fesm2022/tree.mjs +638 -466
  196. package/fesm2022/tree.mjs.map +1 -1
  197. package/package.json +2 -2
  198. package/schematics/ng-add/index.js +1 -1
  199. package/types/expansion.d.ts +4 -2
  200. package/types/menu-testing.d.ts +2 -0
  201. package/types/select.d.ts +1 -1
  202. package/types/sort.d.ts +1 -1
  203. package/types/table-testing.d.ts +27 -1
  204. package/types/timepicker.d.ts +148 -128
@@ -36,338 +36,410 @@ import './_structural-styles-chunk.mjs';
36
36
  import './_ripple-loader-chunk.mjs';
37
37
  import '@angular/cdk/portal';
38
38
 
39
- /**
40
- * To modify the labels and text displayed, create a new instance of MatPaginatorIntl and
41
- * include it in a custom provider
42
- */
43
39
  class MatPaginatorIntl {
44
- /**
45
- * Stream to emit from when labels are changed. Use this to notify components when the labels have
46
- * changed after initialization.
47
- */
48
- changes = new Subject();
49
- /** A label for the page size selector. */
50
- itemsPerPageLabel = 'Items per page:';
51
- /** A label for the button that increments the current page. */
52
- nextPageLabel = 'Next page';
53
- /** A label for the button that decrements the current page. */
54
- previousPageLabel = 'Previous page';
55
- /** A label for the button that moves to the first page. */
56
- firstPageLabel = 'First page';
57
- /** A label for the button that moves to the last page. */
58
- lastPageLabel = 'Last page';
59
- /** A label for the range of items within the current page and the length of the whole list. */
60
- getRangeLabel = (page, pageSize, length) => {
61
- if (length == 0 || pageSize == 0) {
62
- return `0 of ${length}`;
63
- }
64
- length = Math.max(length, 0);
65
- const startIndex = page * pageSize;
66
- // If the start index exceeds the list length, do not try and fix the end index to the end.
67
- const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;
68
- return `${startIndex + 1} – ${endIndex} of ${length}`;
69
- };
70
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatPaginatorIntl, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
71
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatPaginatorIntl, providedIn: 'root' });
40
+ changes = new Subject();
41
+ itemsPerPageLabel = 'Items per page:';
42
+ nextPageLabel = 'Next page';
43
+ previousPageLabel = 'Previous page';
44
+ firstPageLabel = 'First page';
45
+ lastPageLabel = 'Last page';
46
+ getRangeLabel = (page, pageSize, length) => {
47
+ if (length == 0 || pageSize == 0) {
48
+ return `0 of ${length}`;
49
+ }
50
+ length = Math.max(length, 0);
51
+ const startIndex = page * pageSize;
52
+ const endIndex = startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;
53
+ return `${startIndex + 1} ${endIndex} of ${length}`;
54
+ };
55
+ static ɵfac = i0.ɵɵngDeclareFactory({
56
+ minVersion: "12.0.0",
57
+ version: "20.2.0-next.2",
58
+ ngImport: i0,
59
+ type: MatPaginatorIntl,
60
+ deps: [],
61
+ target: i0.ɵɵFactoryTarget.Injectable
62
+ });
63
+ static ɵprov = i0.ɵɵngDeclareInjectable({
64
+ minVersion: "12.0.0",
65
+ version: "20.2.0-next.2",
66
+ ngImport: i0,
67
+ type: MatPaginatorIntl,
68
+ providedIn: 'root'
69
+ });
72
70
  }
73
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatPaginatorIntl, decorators: [{
74
- type: Injectable,
75
- args: [{ providedIn: 'root' }]
76
- }] });
71
+ i0.ɵɵngDeclareClassMetadata({
72
+ minVersion: "12.0.0",
73
+ version: "20.2.0-next.2",
74
+ ngImport: i0,
75
+ type: MatPaginatorIntl,
76
+ decorators: [{
77
+ type: Injectable,
78
+ args: [{
79
+ providedIn: 'root'
80
+ }]
81
+ }]
82
+ });
77
83
 
78
- /** The default page size if there is no page size and there are no provided page size options. */
79
84
  const DEFAULT_PAGE_SIZE = 50;
80
- /**
81
- * Change event object that is emitted when the user selects a
82
- * different page size or navigates to another page.
83
- */
84
85
  class PageEvent {
85
- /** The current page index. */
86
- pageIndex;
87
- /**
88
- * Index of the page that was selected previously.
89
- * @breaking-change 8.0.0 To be made into a required property.
90
- */
91
- previousPageIndex;
92
- /** The current page size. */
93
- pageSize;
94
- /** The current total number of items being paged. */
95
- length;
86
+ pageIndex;
87
+ previousPageIndex;
88
+ pageSize;
89
+ length;
96
90
  }
97
- /** Injection token that can be used to provide the default options for the paginator module. */
98
91
  const MAT_PAGINATOR_DEFAULT_OPTIONS = new InjectionToken('MAT_PAGINATOR_DEFAULT_OPTIONS');
99
- /**
100
- * Component to provide navigation between paged information. Displays the size of the current
101
- * page, user-selectable options to change that size, what items are being shown, and
102
- * navigational button to go to the previous or next page.
103
- */
104
92
  class MatPaginator {
105
- _intl = inject(MatPaginatorIntl);
106
- _changeDetectorRef = inject(ChangeDetectorRef);
107
- /** If set, styles the "page size" form field with the designated style. */
108
- _formFieldAppearance;
109
- /** ID for the DOM node containing the paginator's items per page label. */
110
- _pageSizeLabelId = inject(_IdGenerator).getId('mat-paginator-page-size-label-');
111
- _intlChanges;
112
- _isInitialized = false;
113
- _initializedStream = new ReplaySubject(1);
114
- /**
115
- * Theme color of the underlying form controls. This API is supported in M2
116
- * themes only,it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/paginator/styling.
117
- *
118
- * For information on applying color variants in M3, see
119
- * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
120
- */
121
- color;
122
- /** The zero-based page index of the displayed list of items. Defaulted to 0. */
123
- get pageIndex() {
124
- return this._pageIndex;
125
- }
126
- set pageIndex(value) {
127
- this._pageIndex = Math.max(value || 0, 0);
128
- this._changeDetectorRef.markForCheck();
129
- }
130
- _pageIndex = 0;
131
- /** The length of the total number of items that are being paginated. Defaulted to 0. */
132
- get length() {
133
- return this._length;
134
- }
135
- set length(value) {
136
- this._length = value || 0;
137
- this._changeDetectorRef.markForCheck();
138
- }
139
- _length = 0;
140
- /** Number of items to display on a page. By default set to 50. */
141
- get pageSize() {
142
- return this._pageSize;
143
- }
144
- set pageSize(value) {
145
- this._pageSize = Math.max(value || 0, 0);
146
- this._updateDisplayedPageSizeOptions();
147
- }
148
- _pageSize;
149
- /** The set of provided page size options to display to the user. */
150
- get pageSizeOptions() {
151
- return this._pageSizeOptions;
152
- }
153
- set pageSizeOptions(value) {
154
- this._pageSizeOptions = (value || []).map(p => numberAttribute(p, 0));
155
- this._updateDisplayedPageSizeOptions();
156
- }
157
- _pageSizeOptions = [];
158
- /** Whether to hide the page size selection UI from the user. */
159
- hidePageSize = false;
160
- /** Whether to show the first/last buttons UI to the user. */
161
- showFirstLastButtons = false;
162
- /** Used to configure the underlying `MatSelect` inside the paginator. */
163
- selectConfig = {};
164
- /** Whether the paginator is disabled. */
165
- disabled = false;
166
- /** Event emitted when the paginator changes the page size or page index. */
167
- page = new EventEmitter();
168
- /** Displayed set of page size options. Will be sorted and include current page size. */
169
- _displayedPageSizeOptions;
170
- /** Emits when the paginator is initialized. */
171
- initialized = this._initializedStream;
172
- constructor() {
173
- const _intl = this._intl;
174
- const defaults = inject(MAT_PAGINATOR_DEFAULT_OPTIONS, {
175
- optional: true,
176
- });
177
- this._intlChanges = _intl.changes.subscribe(() => this._changeDetectorRef.markForCheck());
178
- if (defaults) {
179
- const { pageSize, pageSizeOptions, hidePageSize, showFirstLastButtons } = defaults;
180
- if (pageSize != null) {
181
- this._pageSize = pageSize;
182
- }
183
- if (pageSizeOptions != null) {
184
- this._pageSizeOptions = pageSizeOptions;
185
- }
186
- if (hidePageSize != null) {
187
- this.hidePageSize = hidePageSize;
188
- }
189
- if (showFirstLastButtons != null) {
190
- this.showFirstLastButtons = showFirstLastButtons;
191
- }
192
- }
193
- this._formFieldAppearance = defaults?.formFieldAppearance || 'outline';
194
- }
195
- ngOnInit() {
196
- this._isInitialized = true;
197
- this._updateDisplayedPageSizeOptions();
198
- this._initializedStream.next();
199
- }
200
- ngOnDestroy() {
201
- this._initializedStream.complete();
202
- this._intlChanges.unsubscribe();
203
- }
204
- /** Advances to the next page if it exists. */
205
- nextPage() {
206
- if (this.hasNextPage()) {
207
- this._navigate(this.pageIndex + 1);
208
- }
209
- }
210
- /** Move back to the previous page if it exists. */
211
- previousPage() {
212
- if (this.hasPreviousPage()) {
213
- this._navigate(this.pageIndex - 1);
214
- }
215
- }
216
- /** Move to the first page if not already there. */
217
- firstPage() {
218
- // hasPreviousPage being false implies at the start
219
- if (this.hasPreviousPage()) {
220
- this._navigate(0);
221
- }
222
- }
223
- /** Move to the last page if not already there. */
224
- lastPage() {
225
- // hasNextPage being false implies at the end
226
- if (this.hasNextPage()) {
227
- this._navigate(this.getNumberOfPages() - 1);
228
- }
93
+ _intl = inject(MatPaginatorIntl);
94
+ _changeDetectorRef = inject(ChangeDetectorRef);
95
+ _formFieldAppearance;
96
+ _pageSizeLabelId = inject(_IdGenerator).getId('mat-paginator-page-size-label-');
97
+ _intlChanges;
98
+ _isInitialized = false;
99
+ _initializedStream = new ReplaySubject(1);
100
+ color;
101
+ get pageIndex() {
102
+ return this._pageIndex;
103
+ }
104
+ set pageIndex(value) {
105
+ this._pageIndex = Math.max(value || 0, 0);
106
+ this._changeDetectorRef.markForCheck();
107
+ }
108
+ _pageIndex = 0;
109
+ get length() {
110
+ return this._length;
111
+ }
112
+ set length(value) {
113
+ this._length = value || 0;
114
+ this._changeDetectorRef.markForCheck();
115
+ }
116
+ _length = 0;
117
+ get pageSize() {
118
+ return this._pageSize;
119
+ }
120
+ set pageSize(value) {
121
+ this._pageSize = Math.max(value || 0, 0);
122
+ this._updateDisplayedPageSizeOptions();
123
+ }
124
+ _pageSize;
125
+ get pageSizeOptions() {
126
+ return this._pageSizeOptions;
127
+ }
128
+ set pageSizeOptions(value) {
129
+ this._pageSizeOptions = (value || []).map(p => numberAttribute(p, 0));
130
+ this._updateDisplayedPageSizeOptions();
131
+ }
132
+ _pageSizeOptions = [];
133
+ hidePageSize = false;
134
+ showFirstLastButtons = false;
135
+ selectConfig = {};
136
+ disabled = false;
137
+ page = new EventEmitter();
138
+ _displayedPageSizeOptions;
139
+ initialized = this._initializedStream;
140
+ constructor() {
141
+ const _intl = this._intl;
142
+ const defaults = inject(MAT_PAGINATOR_DEFAULT_OPTIONS, {
143
+ optional: true
144
+ });
145
+ this._intlChanges = _intl.changes.subscribe(() => this._changeDetectorRef.markForCheck());
146
+ if (defaults) {
147
+ const {
148
+ pageSize,
149
+ pageSizeOptions,
150
+ hidePageSize,
151
+ showFirstLastButtons
152
+ } = defaults;
153
+ if (pageSize != null) {
154
+ this._pageSize = pageSize;
155
+ }
156
+ if (pageSizeOptions != null) {
157
+ this._pageSizeOptions = pageSizeOptions;
158
+ }
159
+ if (hidePageSize != null) {
160
+ this.hidePageSize = hidePageSize;
161
+ }
162
+ if (showFirstLastButtons != null) {
163
+ this.showFirstLastButtons = showFirstLastButtons;
164
+ }
229
165
  }
230
- /** Whether there is a previous page. */
231
- hasPreviousPage() {
232
- return this.pageIndex >= 1 && this.pageSize != 0;
166
+ this._formFieldAppearance = defaults?.formFieldAppearance || 'outline';
167
+ }
168
+ ngOnInit() {
169
+ this._isInitialized = true;
170
+ this._updateDisplayedPageSizeOptions();
171
+ this._initializedStream.next();
172
+ }
173
+ ngOnDestroy() {
174
+ this._initializedStream.complete();
175
+ this._intlChanges.unsubscribe();
176
+ }
177
+ nextPage() {
178
+ if (this.hasNextPage()) {
179
+ this._navigate(this.pageIndex + 1);
233
180
  }
234
- /** Whether there is a next page. */
235
- hasNextPage() {
236
- const maxPageIndex = this.getNumberOfPages() - 1;
237
- return this.pageIndex < maxPageIndex && this.pageSize != 0;
181
+ }
182
+ previousPage() {
183
+ if (this.hasPreviousPage()) {
184
+ this._navigate(this.pageIndex - 1);
238
185
  }
239
- /** Calculate the number of pages */
240
- getNumberOfPages() {
241
- if (!this.pageSize) {
242
- return 0;
243
- }
244
- return Math.ceil(this.length / this.pageSize);
186
+ }
187
+ firstPage() {
188
+ if (this.hasPreviousPage()) {
189
+ this._navigate(0);
245
190
  }
246
- /**
247
- * Changes the page size so that the first item displayed on the page will still be
248
- * displayed using the new page size.
249
- *
250
- * For example, if the page size is 10 and on the second page (items indexed 10-19) then
251
- * switching so that the page size is 5 will set the third page as the current page so
252
- * that the 10th item will still be displayed.
253
- */
254
- _changePageSize(pageSize) {
255
- // Current page needs to be updated to reflect the new page size. Navigate to the page
256
- // containing the previous page's first item.
257
- const startIndex = this.pageIndex * this.pageSize;
258
- const previousPageIndex = this.pageIndex;
259
- this.pageIndex = Math.floor(startIndex / pageSize) || 0;
260
- this.pageSize = pageSize;
261
- this._emitPageEvent(previousPageIndex);
191
+ }
192
+ lastPage() {
193
+ if (this.hasNextPage()) {
194
+ this._navigate(this.getNumberOfPages() - 1);
262
195
  }
263
- /** Checks whether the buttons for going forwards should be disabled. */
264
- _nextButtonsDisabled() {
265
- return this.disabled || !this.hasNextPage();
196
+ }
197
+ hasPreviousPage() {
198
+ return this.pageIndex >= 1 && this.pageSize != 0;
199
+ }
200
+ hasNextPage() {
201
+ const maxPageIndex = this.getNumberOfPages() - 1;
202
+ return this.pageIndex < maxPageIndex && this.pageSize != 0;
203
+ }
204
+ getNumberOfPages() {
205
+ if (!this.pageSize) {
206
+ return 0;
266
207
  }
267
- /** Checks whether the buttons for going backwards should be disabled. */
268
- _previousButtonsDisabled() {
269
- return this.disabled || !this.hasPreviousPage();
208
+ return Math.ceil(this.length / this.pageSize);
209
+ }
210
+ _changePageSize(pageSize) {
211
+ const startIndex = this.pageIndex * this.pageSize;
212
+ const previousPageIndex = this.pageIndex;
213
+ this.pageIndex = Math.floor(startIndex / pageSize) || 0;
214
+ this.pageSize = pageSize;
215
+ this._emitPageEvent(previousPageIndex);
216
+ }
217
+ _nextButtonsDisabled() {
218
+ return this.disabled || !this.hasNextPage();
219
+ }
220
+ _previousButtonsDisabled() {
221
+ return this.disabled || !this.hasPreviousPage();
222
+ }
223
+ _updateDisplayedPageSizeOptions() {
224
+ if (!this._isInitialized) {
225
+ return;
270
226
  }
271
- /**
272
- * Updates the list of page size options to display to the user. Includes making sure that
273
- * the page size is an option and that the list is sorted.
274
- */
275
- _updateDisplayedPageSizeOptions() {
276
- if (!this._isInitialized) {
277
- return;
278
- }
279
- // If no page size is provided, use the first page size option or the default page size.
280
- if (!this.pageSize) {
281
- this._pageSize =
282
- this.pageSizeOptions.length != 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;
283
- }
284
- this._displayedPageSizeOptions = this.pageSizeOptions.slice();
285
- if (this._displayedPageSizeOptions.indexOf(this.pageSize) === -1) {
286
- this._displayedPageSizeOptions.push(this.pageSize);
287
- }
288
- // Sort the numbers using a number-specific sort function.
289
- this._displayedPageSizeOptions.sort((a, b) => a - b);
290
- this._changeDetectorRef.markForCheck();
227
+ if (!this.pageSize) {
228
+ this._pageSize = this.pageSizeOptions.length != 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;
291
229
  }
292
- /** Emits an event notifying that a change of the paginator's properties has been triggered. */
293
- _emitPageEvent(previousPageIndex) {
294
- this.page.emit({
295
- previousPageIndex,
296
- pageIndex: this.pageIndex,
297
- pageSize: this.pageSize,
298
- length: this.length,
299
- });
230
+ this._displayedPageSizeOptions = this.pageSizeOptions.slice();
231
+ if (this._displayedPageSizeOptions.indexOf(this.pageSize) === -1) {
232
+ this._displayedPageSizeOptions.push(this.pageSize);
300
233
  }
301
- /** Navigates to a specific page index. */
302
- _navigate(index) {
303
- const previousIndex = this.pageIndex;
304
- if (index !== previousIndex) {
305
- this.pageIndex = index;
306
- this._emitPageEvent(previousIndex);
307
- }
234
+ this._displayedPageSizeOptions.sort((a, b) => a - b);
235
+ this._changeDetectorRef.markForCheck();
236
+ }
237
+ _emitPageEvent(previousPageIndex) {
238
+ this.page.emit({
239
+ previousPageIndex,
240
+ pageIndex: this.pageIndex,
241
+ pageSize: this.pageSize,
242
+ length: this.length
243
+ });
244
+ }
245
+ _navigate(index) {
246
+ const previousIndex = this.pageIndex;
247
+ if (index !== previousIndex) {
248
+ this.pageIndex = index;
249
+ this._emitPageEvent(previousIndex);
308
250
  }
309
- /**
310
- * Callback invoked when one of the navigation buttons is called.
311
- * @param targetIndex Index to which the paginator should navigate.
312
- * @param isDisabled Whether the button is disabled.
313
- */
314
- _buttonClicked(targetIndex, isDisabled) {
315
- // Note that normally disabled buttons won't dispatch the click event, but the paginator ones
316
- // do, because we're using `disabledInteractive` to allow them to be focusable. We need to
317
- // check here to avoid the navigation.
318
- if (!isDisabled) {
319
- this._navigate(targetIndex);
320
- }
251
+ }
252
+ _buttonClicked(targetIndex, isDisabled) {
253
+ if (!isDisabled) {
254
+ this._navigate(targetIndex);
321
255
  }
322
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatPaginator, deps: [], target: i0.ɵɵFactoryTarget.Component });
323
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.2.0-next.2", type: MatPaginator, isStandalone: true, selector: "mat-paginator", inputs: { color: "color", pageIndex: ["pageIndex", "pageIndex", numberAttribute], length: ["length", "length", numberAttribute], pageSize: ["pageSize", "pageSize", numberAttribute], pageSizeOptions: "pageSizeOptions", hidePageSize: ["hidePageSize", "hidePageSize", booleanAttribute], showFirstLastButtons: ["showFirstLastButtons", "showFirstLastButtons", booleanAttribute], selectConfig: "selectConfig", disabled: ["disabled", "disabled", booleanAttribute] }, outputs: { page: "page" }, host: { attributes: { "role": "group" }, classAttribute: "mat-mdc-paginator" }, exportAs: ["matPaginator"], ngImport: i0, template: "<div class=\"mat-mdc-paginator-outer-container\">\n <div class=\"mat-mdc-paginator-container\">\n @if (!hidePageSize) {\n <div class=\"mat-mdc-paginator-page-size\">\n <div class=\"mat-mdc-paginator-page-size-label\" [attr.id]=\"_pageSizeLabelId\" aria-hidden=\"true\">\n {{_intl.itemsPerPageLabel}}\n </div>\n\n @if (_displayedPageSizeOptions.length > 1) {\n <mat-form-field\n [appearance]=\"_formFieldAppearance!\"\n [color]=\"color\"\n class=\"mat-mdc-paginator-page-size-select\">\n <mat-select\n #selectRef\n [value]=\"pageSize\"\n [disabled]=\"disabled\"\n [aria-labelledby]=\"_pageSizeLabelId\"\n [panelClass]=\"selectConfig.panelClass || ''\"\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\n (selectionChange)=\"_changePageSize($event.value)\"\n hideSingleSelectionIndicator>\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\n <mat-option [value]=\"pageSizeOption\">\n {{pageSizeOption}}\n </mat-option>\n }\n </mat-select>\n <div class=\"mat-mdc-paginator-touch-target\" (click)=\"selectRef.open()\"></div>\n </mat-form-field>\n }\n\n @if (_displayedPageSizeOptions.length <= 1) {\n <div class=\"mat-mdc-paginator-page-size-value\">{{pageSize}}</div>\n }\n </div>\n }\n\n <div class=\"mat-mdc-paginator-range-actions\">\n <div class=\"mat-mdc-paginator-range-label\" aria-atomic=\"true\" aria-live=\"polite\" role=\"status\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n <!--\n The buttons use `disabledInteractive` so that they can retain focus if they become disabled,\n otherwise focus is moved to the document body. However, users should not be able to navigate\n into these buttons, so `tabindex` is set to -1 when disabled.\n -->\n\n @if (showFirstLastButtons) {\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"_buttonClicked(0, _previousButtonsDisabled())\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_previousButtonsDisabled()\"\n [tabindex]=\"_previousButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z\"/>\n </svg>\n </button>\n }\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"_buttonClicked(pageIndex - 1, _previousButtonsDisabled())\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_previousButtonsDisabled()\"\n [tabindex]=\"_previousButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n </button>\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"_buttonClicked(pageIndex + 1, _nextButtonsDisabled())\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_nextButtonsDisabled()\"\n [tabindex]=\"_nextButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n </button>\n @if (showFirstLastButtons) {\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"_buttonClicked(getNumberOfPages() - 1, _nextButtonsDisabled())\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_nextButtonsDisabled()\"\n [tabindex]=\"_nextButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z\"/>\n </svg>\n </button>\n }\n </div>\n </div>\n</div>\n", styles: [".mat-mdc-paginator{display:block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-paginator-container-text-color, var(--mat-sys-on-surface));background-color:var(--mat-paginator-container-background-color, var(--mat-sys-surface));font-family:var(--mat-paginator-container-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-paginator-container-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-paginator-container-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-paginator-container-text-weight, var(--mat-sys-body-small-weight));letter-spacing:var(--mat-paginator-container-text-tracking, var(--mat-sys-body-small-tracking));--mat-form-field-container-height: var(--mat-paginator-form-field-container-height, 40px);--mat-form-field-container-vertical-padding: var(--mat-paginator-form-field-container-vertical-padding, 8px)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-size, var(--mat-sys-body-small-size))}.mat-mdc-paginator .mat-mdc-form-field-subscript-wrapper{display:none}.mat-mdc-paginator .mat-mdc-select{line-height:1.5}.mat-mdc-paginator-outer-container{display:flex}.mat-mdc-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap;width:100%;min-height:var(--mat-paginator-container-size, 56px)}.mat-mdc-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-mdc-paginator-page-size{margin-right:0;margin-left:8px}.mat-mdc-paginator-page-size-label{margin:0 4px}.mat-mdc-paginator-page-size-select{margin:0 4px;width:var(--mat-paginator-page-size-select-width, 84px)}.mat-mdc-paginator-range-label{margin:0 32px 0 24px}.mat-mdc-paginator-range-actions{display:flex;align-items:center}.mat-mdc-paginator-icon{display:inline-block;width:28px;fill:var(--mat-paginator-enabled-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}@media(forced-colors: active){.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon,.mat-mdc-paginator-icon{fill:currentColor}.mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}.mat-mdc-paginator-range-actions .mat-mdc-icon-button[aria-disabled]{color:GrayText}}.mat-mdc-paginator-touch-target{display:var(--mat-paginator-touch-target-display, block);position:absolute;top:50%;left:50%;width:var(--mat-paginator-page-size-select-width, 84px);height:var(--mat-paginator-page-size-select-touch-target-height, 48px);background-color:rgba(0,0,0,0);transform:translate(-50%, -50%);cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
256
+ }
257
+ static ɵfac = i0.ɵɵngDeclareFactory({
258
+ minVersion: "12.0.0",
259
+ version: "20.2.0-next.2",
260
+ ngImport: i0,
261
+ type: MatPaginator,
262
+ deps: [],
263
+ target: i0.ɵɵFactoryTarget.Component
264
+ });
265
+ static ɵcmp = i0.ɵɵngDeclareComponent({
266
+ minVersion: "17.0.0",
267
+ version: "20.2.0-next.2",
268
+ type: MatPaginator,
269
+ isStandalone: true,
270
+ selector: "mat-paginator",
271
+ inputs: {
272
+ color: "color",
273
+ pageIndex: ["pageIndex", "pageIndex", numberAttribute],
274
+ length: ["length", "length", numberAttribute],
275
+ pageSize: ["pageSize", "pageSize", numberAttribute],
276
+ pageSizeOptions: "pageSizeOptions",
277
+ hidePageSize: ["hidePageSize", "hidePageSize", booleanAttribute],
278
+ showFirstLastButtons: ["showFirstLastButtons", "showFirstLastButtons", booleanAttribute],
279
+ selectConfig: "selectConfig",
280
+ disabled: ["disabled", "disabled", booleanAttribute]
281
+ },
282
+ outputs: {
283
+ page: "page"
284
+ },
285
+ host: {
286
+ attributes: {
287
+ "role": "group"
288
+ },
289
+ classAttribute: "mat-mdc-paginator"
290
+ },
291
+ exportAs: ["matPaginator"],
292
+ ngImport: i0,
293
+ template: "<div class=\"mat-mdc-paginator-outer-container\">\n <div class=\"mat-mdc-paginator-container\">\n @if (!hidePageSize) {\n <div class=\"mat-mdc-paginator-page-size\">\n <div class=\"mat-mdc-paginator-page-size-label\" [attr.id]=\"_pageSizeLabelId\" aria-hidden=\"true\">\n {{_intl.itemsPerPageLabel}}\n </div>\n\n @if (_displayedPageSizeOptions.length > 1) {\n <mat-form-field\n [appearance]=\"_formFieldAppearance!\"\n [color]=\"color\"\n class=\"mat-mdc-paginator-page-size-select\">\n <mat-select\n #selectRef\n [value]=\"pageSize\"\n [disabled]=\"disabled\"\n [aria-labelledby]=\"_pageSizeLabelId\"\n [panelClass]=\"selectConfig.panelClass || ''\"\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\n (selectionChange)=\"_changePageSize($event.value)\"\n hideSingleSelectionIndicator>\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\n <mat-option [value]=\"pageSizeOption\">\n {{pageSizeOption}}\n </mat-option>\n }\n </mat-select>\n <div class=\"mat-mdc-paginator-touch-target\" (click)=\"selectRef.open()\"></div>\n </mat-form-field>\n }\n\n @if (_displayedPageSizeOptions.length <= 1) {\n <div class=\"mat-mdc-paginator-page-size-value\">{{pageSize}}</div>\n }\n </div>\n }\n\n <div class=\"mat-mdc-paginator-range-actions\">\n <div class=\"mat-mdc-paginator-range-label\" aria-atomic=\"true\" aria-live=\"polite\" role=\"status\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n <!--\n The buttons use `disabledInteractive` so that they can retain focus if they become disabled,\n otherwise focus is moved to the document body. However, users should not be able to navigate\n into these buttons, so `tabindex` is set to -1 when disabled.\n -->\n\n @if (showFirstLastButtons) {\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"_buttonClicked(0, _previousButtonsDisabled())\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_previousButtonsDisabled()\"\n [tabindex]=\"_previousButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z\"/>\n </svg>\n </button>\n }\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"_buttonClicked(pageIndex - 1, _previousButtonsDisabled())\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_previousButtonsDisabled()\"\n [tabindex]=\"_previousButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n </button>\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"_buttonClicked(pageIndex + 1, _nextButtonsDisabled())\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_nextButtonsDisabled()\"\n [tabindex]=\"_nextButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n </button>\n @if (showFirstLastButtons) {\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"_buttonClicked(getNumberOfPages() - 1, _nextButtonsDisabled())\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_nextButtonsDisabled()\"\n [tabindex]=\"_nextButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z\"/>\n </svg>\n </button>\n }\n </div>\n </div>\n</div>\n",
294
+ styles: [".mat-mdc-paginator{display:block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-paginator-container-text-color, var(--mat-sys-on-surface));background-color:var(--mat-paginator-container-background-color, var(--mat-sys-surface));font-family:var(--mat-paginator-container-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-paginator-container-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-paginator-container-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-paginator-container-text-weight, var(--mat-sys-body-small-weight));letter-spacing:var(--mat-paginator-container-text-tracking, var(--mat-sys-body-small-tracking));--mat-form-field-container-height: var(--mat-paginator-form-field-container-height, 40px);--mat-form-field-container-vertical-padding: var(--mat-paginator-form-field-container-vertical-padding, 8px)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-size, var(--mat-sys-body-small-size))}.mat-mdc-paginator .mat-mdc-form-field-subscript-wrapper{display:none}.mat-mdc-paginator .mat-mdc-select{line-height:1.5}.mat-mdc-paginator-outer-container{display:flex}.mat-mdc-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap;width:100%;min-height:var(--mat-paginator-container-size, 56px)}.mat-mdc-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-mdc-paginator-page-size{margin-right:0;margin-left:8px}.mat-mdc-paginator-page-size-label{margin:0 4px}.mat-mdc-paginator-page-size-select{margin:0 4px;width:var(--mat-paginator-page-size-select-width, 84px)}.mat-mdc-paginator-range-label{margin:0 32px 0 24px}.mat-mdc-paginator-range-actions{display:flex;align-items:center}.mat-mdc-paginator-icon{display:inline-block;width:28px;fill:var(--mat-paginator-enabled-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}@media(forced-colors: active){.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon,.mat-mdc-paginator-icon{fill:currentColor}.mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}.mat-mdc-paginator-range-actions .mat-mdc-icon-button[aria-disabled]{color:GrayText}}.mat-mdc-paginator-touch-target{display:var(--mat-paginator-touch-target-display, block);position:absolute;top:50%;left:50%;width:var(--mat-paginator-page-size-select-width, 84px);height:var(--mat-paginator-page-size-select-touch-target-height, 48px);background-color:rgba(0,0,0,0);transform:translate(-50%, -50%);cursor:pointer}\n"],
295
+ dependencies: [{
296
+ kind: "component",
297
+ type: MatFormField,
298
+ selector: "mat-form-field",
299
+ inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"],
300
+ exportAs: ["matFormField"]
301
+ }, {
302
+ kind: "component",
303
+ type: MatSelect,
304
+ selector: "mat-select",
305
+ inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"],
306
+ outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"],
307
+ exportAs: ["matSelect"]
308
+ }, {
309
+ kind: "component",
310
+ type: MatOption,
311
+ selector: "mat-option",
312
+ inputs: ["value", "id", "disabled"],
313
+ outputs: ["onSelectionChange"],
314
+ exportAs: ["matOption"]
315
+ }, {
316
+ kind: "component",
317
+ type: MatIconButton,
318
+ selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]",
319
+ exportAs: ["matButton", "matAnchor"]
320
+ }, {
321
+ kind: "directive",
322
+ type: MatTooltip,
323
+ selector: "[matTooltip]",
324
+ inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"],
325
+ exportAs: ["matTooltip"]
326
+ }],
327
+ changeDetection: i0.ChangeDetectionStrategy.OnPush,
328
+ encapsulation: i0.ViewEncapsulation.None
329
+ });
324
330
  }
325
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatPaginator, decorators: [{
326
- type: Component,
327
- args: [{ selector: 'mat-paginator', exportAs: 'matPaginator', host: {
328
- 'class': 'mat-mdc-paginator',
329
- 'role': 'group',
330
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, imports: [MatFormField, MatSelect, MatOption, MatIconButton, MatTooltip], template: "<div class=\"mat-mdc-paginator-outer-container\">\n <div class=\"mat-mdc-paginator-container\">\n @if (!hidePageSize) {\n <div class=\"mat-mdc-paginator-page-size\">\n <div class=\"mat-mdc-paginator-page-size-label\" [attr.id]=\"_pageSizeLabelId\" aria-hidden=\"true\">\n {{_intl.itemsPerPageLabel}}\n </div>\n\n @if (_displayedPageSizeOptions.length > 1) {\n <mat-form-field\n [appearance]=\"_formFieldAppearance!\"\n [color]=\"color\"\n class=\"mat-mdc-paginator-page-size-select\">\n <mat-select\n #selectRef\n [value]=\"pageSize\"\n [disabled]=\"disabled\"\n [aria-labelledby]=\"_pageSizeLabelId\"\n [panelClass]=\"selectConfig.panelClass || ''\"\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\n (selectionChange)=\"_changePageSize($event.value)\"\n hideSingleSelectionIndicator>\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\n <mat-option [value]=\"pageSizeOption\">\n {{pageSizeOption}}\n </mat-option>\n }\n </mat-select>\n <div class=\"mat-mdc-paginator-touch-target\" (click)=\"selectRef.open()\"></div>\n </mat-form-field>\n }\n\n @if (_displayedPageSizeOptions.length <= 1) {\n <div class=\"mat-mdc-paginator-page-size-value\">{{pageSize}}</div>\n }\n </div>\n }\n\n <div class=\"mat-mdc-paginator-range-actions\">\n <div class=\"mat-mdc-paginator-range-label\" aria-atomic=\"true\" aria-live=\"polite\" role=\"status\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n <!--\n The buttons use `disabledInteractive` so that they can retain focus if they become disabled,\n otherwise focus is moved to the document body. However, users should not be able to navigate\n into these buttons, so `tabindex` is set to -1 when disabled.\n -->\n\n @if (showFirstLastButtons) {\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"_buttonClicked(0, _previousButtonsDisabled())\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_previousButtonsDisabled()\"\n [tabindex]=\"_previousButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z\"/>\n </svg>\n </button>\n }\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"_buttonClicked(pageIndex - 1, _previousButtonsDisabled())\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_previousButtonsDisabled()\"\n [tabindex]=\"_previousButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n </button>\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"_buttonClicked(pageIndex + 1, _nextButtonsDisabled())\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_nextButtonsDisabled()\"\n [tabindex]=\"_nextButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n </button>\n @if (showFirstLastButtons) {\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"_buttonClicked(getNumberOfPages() - 1, _nextButtonsDisabled())\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_nextButtonsDisabled()\"\n [tabindex]=\"_nextButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z\"/>\n </svg>\n </button>\n }\n </div>\n </div>\n</div>\n", styles: [".mat-mdc-paginator{display:block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-paginator-container-text-color, var(--mat-sys-on-surface));background-color:var(--mat-paginator-container-background-color, var(--mat-sys-surface));font-family:var(--mat-paginator-container-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-paginator-container-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-paginator-container-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-paginator-container-text-weight, var(--mat-sys-body-small-weight));letter-spacing:var(--mat-paginator-container-text-tracking, var(--mat-sys-body-small-tracking));--mat-form-field-container-height: var(--mat-paginator-form-field-container-height, 40px);--mat-form-field-container-vertical-padding: var(--mat-paginator-form-field-container-vertical-padding, 8px)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-size, var(--mat-sys-body-small-size))}.mat-mdc-paginator .mat-mdc-form-field-subscript-wrapper{display:none}.mat-mdc-paginator .mat-mdc-select{line-height:1.5}.mat-mdc-paginator-outer-container{display:flex}.mat-mdc-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap;width:100%;min-height:var(--mat-paginator-container-size, 56px)}.mat-mdc-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-mdc-paginator-page-size{margin-right:0;margin-left:8px}.mat-mdc-paginator-page-size-label{margin:0 4px}.mat-mdc-paginator-page-size-select{margin:0 4px;width:var(--mat-paginator-page-size-select-width, 84px)}.mat-mdc-paginator-range-label{margin:0 32px 0 24px}.mat-mdc-paginator-range-actions{display:flex;align-items:center}.mat-mdc-paginator-icon{display:inline-block;width:28px;fill:var(--mat-paginator-enabled-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}@media(forced-colors: active){.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon,.mat-mdc-paginator-icon{fill:currentColor}.mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}.mat-mdc-paginator-range-actions .mat-mdc-icon-button[aria-disabled]{color:GrayText}}.mat-mdc-paginator-touch-target{display:var(--mat-paginator-touch-target-display, block);position:absolute;top:50%;left:50%;width:var(--mat-paginator-page-size-select-width, 84px);height:var(--mat-paginator-page-size-select-touch-target-height, 48px);background-color:rgba(0,0,0,0);transform:translate(-50%, -50%);cursor:pointer}\n"] }]
331
- }], ctorParameters: () => [], propDecorators: { color: [{
332
- type: Input
333
- }], pageIndex: [{
334
- type: Input,
335
- args: [{ transform: numberAttribute }]
336
- }], length: [{
337
- type: Input,
338
- args: [{ transform: numberAttribute }]
339
- }], pageSize: [{
340
- type: Input,
341
- args: [{ transform: numberAttribute }]
342
- }], pageSizeOptions: [{
343
- type: Input
344
- }], hidePageSize: [{
345
- type: Input,
346
- args: [{ transform: booleanAttribute }]
347
- }], showFirstLastButtons: [{
348
- type: Input,
349
- args: [{ transform: booleanAttribute }]
350
- }], selectConfig: [{
351
- type: Input
352
- }], disabled: [{
353
- type: Input,
354
- args: [{ transform: booleanAttribute }]
355
- }], page: [{
356
- type: Output
357
- }] } });
331
+ i0.ɵɵngDeclareClassMetadata({
332
+ minVersion: "12.0.0",
333
+ version: "20.2.0-next.2",
334
+ ngImport: i0,
335
+ type: MatPaginator,
336
+ decorators: [{
337
+ type: Component,
338
+ args: [{
339
+ selector: 'mat-paginator',
340
+ exportAs: 'matPaginator',
341
+ host: {
342
+ 'class': 'mat-mdc-paginator',
343
+ 'role': 'group'
344
+ },
345
+ changeDetection: ChangeDetectionStrategy.OnPush,
346
+ encapsulation: ViewEncapsulation.None,
347
+ imports: [MatFormField, MatSelect, MatOption, MatIconButton, MatTooltip],
348
+ template: "<div class=\"mat-mdc-paginator-outer-container\">\n <div class=\"mat-mdc-paginator-container\">\n @if (!hidePageSize) {\n <div class=\"mat-mdc-paginator-page-size\">\n <div class=\"mat-mdc-paginator-page-size-label\" [attr.id]=\"_pageSizeLabelId\" aria-hidden=\"true\">\n {{_intl.itemsPerPageLabel}}\n </div>\n\n @if (_displayedPageSizeOptions.length > 1) {\n <mat-form-field\n [appearance]=\"_formFieldAppearance!\"\n [color]=\"color\"\n class=\"mat-mdc-paginator-page-size-select\">\n <mat-select\n #selectRef\n [value]=\"pageSize\"\n [disabled]=\"disabled\"\n [aria-labelledby]=\"_pageSizeLabelId\"\n [panelClass]=\"selectConfig.panelClass || ''\"\n [disableOptionCentering]=\"selectConfig.disableOptionCentering\"\n (selectionChange)=\"_changePageSize($event.value)\"\n hideSingleSelectionIndicator>\n @for (pageSizeOption of _displayedPageSizeOptions; track pageSizeOption) {\n <mat-option [value]=\"pageSizeOption\">\n {{pageSizeOption}}\n </mat-option>\n }\n </mat-select>\n <div class=\"mat-mdc-paginator-touch-target\" (click)=\"selectRef.open()\"></div>\n </mat-form-field>\n }\n\n @if (_displayedPageSizeOptions.length <= 1) {\n <div class=\"mat-mdc-paginator-page-size-value\">{{pageSize}}</div>\n }\n </div>\n }\n\n <div class=\"mat-mdc-paginator-range-actions\">\n <div class=\"mat-mdc-paginator-range-label\" aria-atomic=\"true\" aria-live=\"polite\" role=\"status\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n <!--\n The buttons use `disabledInteractive` so that they can retain focus if they become disabled,\n otherwise focus is moved to the document body. However, users should not be able to navigate\n into these buttons, so `tabindex` is set to -1 when disabled.\n -->\n\n @if (showFirstLastButtons) {\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"_buttonClicked(0, _previousButtonsDisabled())\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_previousButtonsDisabled()\"\n [tabindex]=\"_previousButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z\"/>\n </svg>\n </button>\n }\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"_buttonClicked(pageIndex - 1, _previousButtonsDisabled())\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_previousButtonsDisabled()\"\n [tabindex]=\"_previousButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"/>\n </svg>\n </button>\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"_buttonClicked(pageIndex + 1, _nextButtonsDisabled())\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_nextButtonsDisabled()\"\n [tabindex]=\"_nextButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"/>\n </svg>\n </button>\n @if (showFirstLastButtons) {\n <button matIconButton type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"_buttonClicked(getNumberOfPages() - 1, _nextButtonsDisabled())\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n matTooltipPosition=\"above\"\n [disabled]=\"_nextButtonsDisabled()\"\n [tabindex]=\"_nextButtonsDisabled() ? -1 : null\"\n disabledInteractive>\n <svg class=\"mat-mdc-paginator-icon\"\n viewBox=\"0 0 24 24\"\n focusable=\"false\"\n aria-hidden=\"true\">\n <path d=\"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z\"/>\n </svg>\n </button>\n }\n </div>\n </div>\n</div>\n",
349
+ styles: [".mat-mdc-paginator{display:block;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-paginator-container-text-color, var(--mat-sys-on-surface));background-color:var(--mat-paginator-container-background-color, var(--mat-sys-surface));font-family:var(--mat-paginator-container-text-font, var(--mat-sys-body-small-font));line-height:var(--mat-paginator-container-text-line-height, var(--mat-sys-body-small-line-height));font-size:var(--mat-paginator-container-text-size, var(--mat-sys-body-small-size));font-weight:var(--mat-paginator-container-text-weight, var(--mat-sys-body-small-weight));letter-spacing:var(--mat-paginator-container-text-tracking, var(--mat-sys-body-small-tracking));--mat-form-field-container-height: var(--mat-paginator-form-field-container-height, 40px);--mat-form-field-container-vertical-padding: var(--mat-paginator-form-field-container-vertical-padding, 8px)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-size, var(--mat-sys-body-small-size))}.mat-mdc-paginator .mat-mdc-form-field-subscript-wrapper{display:none}.mat-mdc-paginator .mat-mdc-select{line-height:1.5}.mat-mdc-paginator-outer-container{display:flex}.mat-mdc-paginator-container{display:flex;align-items:center;justify-content:flex-end;padding:0 8px;flex-wrap:wrap;width:100%;min-height:var(--mat-paginator-container-size, 56px)}.mat-mdc-paginator-page-size{display:flex;align-items:baseline;margin-right:8px}[dir=rtl] .mat-mdc-paginator-page-size{margin-right:0;margin-left:8px}.mat-mdc-paginator-page-size-label{margin:0 4px}.mat-mdc-paginator-page-size-select{margin:0 4px;width:var(--mat-paginator-page-size-select-width, 84px)}.mat-mdc-paginator-range-label{margin:0 32px 0 24px}.mat-mdc-paginator-range-actions{display:flex;align-items:center}.mat-mdc-paginator-icon{display:inline-block;width:28px;fill:var(--mat-paginator-enabled-icon-color, var(--mat-sys-on-surface-variant))}.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent))}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}@media(forced-colors: active){.mat-mdc-icon-button[aria-disabled] .mat-mdc-paginator-icon,.mat-mdc-paginator-icon{fill:currentColor}.mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}.mat-mdc-paginator-range-actions .mat-mdc-icon-button[aria-disabled]{color:GrayText}}.mat-mdc-paginator-touch-target{display:var(--mat-paginator-touch-target-display, block);position:absolute;top:50%;left:50%;width:var(--mat-paginator-page-size-select-width, 84px);height:var(--mat-paginator-page-size-select-touch-target-height, 48px);background-color:rgba(0,0,0,0);transform:translate(-50%, -50%);cursor:pointer}\n"]
350
+ }]
351
+ }],
352
+ ctorParameters: () => [],
353
+ propDecorators: {
354
+ color: [{
355
+ type: Input
356
+ }],
357
+ pageIndex: [{
358
+ type: Input,
359
+ args: [{
360
+ transform: numberAttribute
361
+ }]
362
+ }],
363
+ length: [{
364
+ type: Input,
365
+ args: [{
366
+ transform: numberAttribute
367
+ }]
368
+ }],
369
+ pageSize: [{
370
+ type: Input,
371
+ args: [{
372
+ transform: numberAttribute
373
+ }]
374
+ }],
375
+ pageSizeOptions: [{
376
+ type: Input
377
+ }],
378
+ hidePageSize: [{
379
+ type: Input,
380
+ args: [{
381
+ transform: booleanAttribute
382
+ }]
383
+ }],
384
+ showFirstLastButtons: [{
385
+ type: Input,
386
+ args: [{
387
+ transform: booleanAttribute
388
+ }]
389
+ }],
390
+ selectConfig: [{
391
+ type: Input
392
+ }],
393
+ disabled: [{
394
+ type: Input,
395
+ args: [{
396
+ transform: booleanAttribute
397
+ }]
398
+ }],
399
+ page: [{
400
+ type: Output
401
+ }]
402
+ }
403
+ });
358
404
 
359
405
  class MatPaginatorModule {
360
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
361
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatPaginatorModule, imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator], exports: [MatPaginator] });
362
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatPaginatorModule, imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator] });
406
+ static ɵfac = i0.ɵɵngDeclareFactory({
407
+ minVersion: "12.0.0",
408
+ version: "20.2.0-next.2",
409
+ ngImport: i0,
410
+ type: MatPaginatorModule,
411
+ deps: [],
412
+ target: i0.ɵɵFactoryTarget.NgModule
413
+ });
414
+ static ɵmod = i0.ɵɵngDeclareNgModule({
415
+ minVersion: "14.0.0",
416
+ version: "20.2.0-next.2",
417
+ ngImport: i0,
418
+ type: MatPaginatorModule,
419
+ imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator],
420
+ exports: [MatPaginator]
421
+ });
422
+ static ɵinj = i0.ɵɵngDeclareInjector({
423
+ minVersion: "12.0.0",
424
+ version: "20.2.0-next.2",
425
+ ngImport: i0,
426
+ type: MatPaginatorModule,
427
+ imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator]
428
+ });
363
429
  }
364
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.2.0-next.2", ngImport: i0, type: MatPaginatorModule, decorators: [{
365
- type: NgModule,
366
- args: [{
367
- imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator],
368
- exports: [MatPaginator],
369
- }]
370
- }] });
430
+ i0.ɵɵngDeclareClassMetadata({
431
+ minVersion: "12.0.0",
432
+ version: "20.2.0-next.2",
433
+ ngImport: i0,
434
+ type: MatPaginatorModule,
435
+ decorators: [{
436
+ type: NgModule,
437
+ args: [{
438
+ imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator],
439
+ exports: [MatPaginator]
440
+ }]
441
+ }]
442
+ });
371
443
 
372
444
  export { MAT_PAGINATOR_DEFAULT_OPTIONS, MatPaginator, MatPaginatorIntl, MatPaginatorModule, PageEvent };
373
445
  //# sourceMappingURL=paginator.mjs.map