@angular/material 17.0.2 → 17.1.0-next.1

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 (329) hide show
  1. package/autocomplete/index.d.ts +14 -10
  2. package/badge/index.d.ts +5 -5
  3. package/bottom-sheet/index.d.ts +6 -6
  4. package/button/_fab-theme.scss +65 -32
  5. package/button/_icon-button-theme.scss +91 -54
  6. package/button/index.d.ts +13 -13
  7. package/button-toggle/index.d.ts +5 -5
  8. package/card/index.d.ts +18 -18
  9. package/card/testing/index.d.ts +1 -1
  10. package/checkbox/index.d.ts +7 -7
  11. package/chips/index.d.ts +103 -126
  12. package/core/index.d.ts +51 -32
  13. package/core/tokens/m2/_index.scss +10 -0
  14. package/datepicker/index.d.ts +109 -109
  15. package/datepicker/testing/index.d.ts +1 -1
  16. package/dialog/index.d.ts +1 -1
  17. package/dialog/testing/index.d.ts +1 -1
  18. package/divider/index.d.ts +4 -4
  19. package/esm2022/autocomplete/autocomplete-origin.mjs +3 -2
  20. package/esm2022/autocomplete/autocomplete-trigger.mjs +11 -4
  21. package/esm2022/autocomplete/autocomplete.mjs +4 -4
  22. package/esm2022/autocomplete/module.mjs +21 -5
  23. package/esm2022/autocomplete/public-api.mjs +3 -1
  24. package/esm2022/badge/badge-module.mjs +3 -4
  25. package/esm2022/badge/badge.mjs +3 -2
  26. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +4 -4
  27. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +6 -5
  28. package/esm2022/bottom-sheet/bottom-sheet.mjs +3 -4
  29. package/esm2022/button/button.mjs +5 -5
  30. package/esm2022/button/fab.mjs +9 -9
  31. package/esm2022/button/icon-button.mjs +5 -5
  32. package/esm2022/button/module.mjs +14 -10
  33. package/esm2022/button-toggle/button-toggle-module.mjs +3 -4
  34. package/esm2022/button-toggle/button-toggle.mjs +6 -5
  35. package/esm2022/card/card.mjs +29 -18
  36. package/esm2022/card/module.mjs +4 -5
  37. package/esm2022/card/testing/card-harness.mjs +9 -1
  38. package/esm2022/checkbox/checkbox-required-validator.mjs +4 -2
  39. package/esm2022/checkbox/checkbox.mjs +31 -17
  40. package/esm2022/checkbox/module.mjs +5 -6
  41. package/esm2022/chips/chip-action.mjs +15 -13
  42. package/esm2022/chips/chip-edit-input.mjs +3 -2
  43. package/esm2022/chips/chip-grid.mjs +41 -40
  44. package/esm2022/chips/chip-icons.mjs +7 -4
  45. package/esm2022/chips/chip-input.mjs +15 -17
  46. package/esm2022/chips/chip-listbox.mjs +20 -23
  47. package/esm2022/chips/chip-option.mjs +13 -12
  48. package/esm2022/chips/chip-row.mjs +6 -7
  49. package/esm2022/chips/chip-set.mjs +20 -19
  50. package/esm2022/chips/chip.mjs +50 -44
  51. package/esm2022/chips/module.mjs +4 -5
  52. package/esm2022/chips/tokens.mjs +8 -2
  53. package/esm2022/core/common-behaviors/error-state.mjs +50 -11
  54. package/esm2022/core/common-behaviors/index.mjs +2 -2
  55. package/esm2022/core/line/line.mjs +5 -5
  56. package/esm2022/core/option/index.mjs +3 -4
  57. package/esm2022/core/option/optgroup.mjs +3 -3
  58. package/esm2022/core/option/option.mjs +7 -7
  59. package/esm2022/core/ripple/index.mjs +3 -4
  60. package/esm2022/core/ripple/ripple-ref.mjs +10 -2
  61. package/esm2022/core/ripple/ripple-renderer.mjs +11 -11
  62. package/esm2022/core/ripple/ripple.mjs +3 -2
  63. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +3 -4
  64. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  65. package/esm2022/core/version.mjs +1 -1
  66. package/esm2022/datepicker/calendar-body.mjs +4 -4
  67. package/esm2022/datepicker/calendar.mjs +8 -12
  68. package/esm2022/datepicker/date-range-input-parts.mjs +35 -14
  69. package/esm2022/datepicker/date-range-input.mjs +13 -13
  70. package/esm2022/datepicker/date-range-picker.mjs +3 -2
  71. package/esm2022/datepicker/datepicker-actions.mjs +7 -5
  72. package/esm2022/datepicker/datepicker-base.mjs +57 -62
  73. package/esm2022/datepicker/datepicker-input-base.mjs +8 -7
  74. package/esm2022/datepicker/datepicker-input.mjs +3 -2
  75. package/esm2022/datepicker/datepicker-module.mjs +15 -13
  76. package/esm2022/datepicker/datepicker-toggle.mjs +10 -10
  77. package/esm2022/datepicker/datepicker.mjs +3 -2
  78. package/esm2022/datepicker/month-view.mjs +3 -4
  79. package/esm2022/datepicker/multi-year-view.mjs +3 -4
  80. package/esm2022/datepicker/testing/calendar-harness.mjs +11 -4
  81. package/esm2022/datepicker/year-view.mjs +3 -4
  82. package/esm2022/dialog/dialog-container.mjs +5 -6
  83. package/esm2022/dialog/dialog-ref.mjs +10 -4
  84. package/esm2022/dialog/module.mjs +2 -2
  85. package/esm2022/dialog/testing/dialog-harness.mjs +11 -4
  86. package/esm2022/dialog/testing/dialog-opener.mjs +3 -3
  87. package/esm2022/dialog/testing/public-api.mjs +2 -2
  88. package/esm2022/divider/divider-module.mjs +3 -4
  89. package/esm2022/divider/divider.mjs +3 -3
  90. package/esm2022/expansion/accordion.mjs +8 -13
  91. package/esm2022/expansion/expansion-module.mjs +14 -7
  92. package/esm2022/expansion/expansion-panel-content.mjs +3 -2
  93. package/esm2022/expansion/expansion-panel-header.mjs +18 -16
  94. package/esm2022/expansion/expansion-panel.mjs +11 -11
  95. package/esm2022/expansion/testing/expansion-harness.mjs +14 -6
  96. package/esm2022/form-field/directives/error.mjs +3 -2
  97. package/esm2022/form-field/directives/floating-label.mjs +3 -2
  98. package/esm2022/form-field/directives/hint.mjs +3 -2
  99. package/esm2022/form-field/directives/label.mjs +3 -2
  100. package/esm2022/form-field/directives/line-ripple.mjs +3 -2
  101. package/esm2022/form-field/directives/notched-outline.mjs +3 -3
  102. package/esm2022/form-field/directives/prefix.mjs +3 -2
  103. package/esm2022/form-field/directives/suffix.mjs +3 -2
  104. package/esm2022/form-field/form-field.mjs +12 -11
  105. package/esm2022/form-field/module.mjs +14 -16
  106. package/esm2022/grid-list/grid-list-module.mjs +13 -9
  107. package/esm2022/grid-list/grid-list.mjs +3 -3
  108. package/esm2022/grid-list/grid-tile.mjs +11 -8
  109. package/esm2022/grid-list/testing/grid-tile-harness.mjs +9 -3
  110. package/esm2022/grid-list/tile-coordinator.mjs +1 -1
  111. package/esm2022/icon/icon-module.mjs +3 -4
  112. package/esm2022/icon/icon.mjs +25 -29
  113. package/esm2022/icon/testing/icon-harness-filters.mjs +7 -2
  114. package/esm2022/icon/testing/icon-harness.mjs +4 -3
  115. package/esm2022/input/input.mjs +26 -28
  116. package/esm2022/input/module.mjs +3 -4
  117. package/esm2022/input/public-api.mjs +3 -1
  118. package/esm2022/list/action-list.mjs +3 -3
  119. package/esm2022/list/list-base.mjs +5 -3
  120. package/esm2022/list/list-item-sections.mjs +13 -7
  121. package/esm2022/list/list-module.mjs +12 -13
  122. package/esm2022/list/list-option.mjs +6 -6
  123. package/esm2022/list/list.mjs +6 -6
  124. package/esm2022/list/nav-list.mjs +3 -3
  125. package/esm2022/list/selection-list.mjs +3 -3
  126. package/esm2022/list/subheader.mjs +3 -2
  127. package/esm2022/list/testing/list-item-harness-base.mjs +18 -6
  128. package/esm2022/list/testing/public-api.mjs +2 -2
  129. package/esm2022/menu/menu-content.mjs +3 -2
  130. package/esm2022/menu/menu-item.mjs +4 -4
  131. package/esm2022/menu/menu-trigger.mjs +10 -3
  132. package/esm2022/menu/menu.mjs +4 -4
  133. package/esm2022/menu/module.mjs +23 -5
  134. package/esm2022/paginator/module.mjs +4 -5
  135. package/esm2022/paginator/paginator.mjs +37 -41
  136. package/esm2022/progress-bar/module.mjs +3 -3
  137. package/esm2022/progress-bar/progress-bar.mjs +25 -20
  138. package/esm2022/progress-spinner/module.mjs +3 -4
  139. package/esm2022/progress-spinner/progress-spinner.mjs +35 -34
  140. package/esm2022/radio/module.mjs +3 -4
  141. package/esm2022/radio/radio.mjs +42 -35
  142. package/esm2022/select/module.mjs +19 -5
  143. package/esm2022/select/public-api.mjs +5 -1
  144. package/esm2022/select/select.mjs +83 -66
  145. package/esm2022/sidenav/drawer.mjs +7 -6
  146. package/esm2022/sidenav/sidenav-module.mjs +12 -8
  147. package/esm2022/sidenav/sidenav.mjs +7 -6
  148. package/esm2022/slide-toggle/module.mjs +15 -7
  149. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +3 -2
  150. package/esm2022/slide-toggle/slide-toggle.mjs +4 -4
  151. package/esm2022/slider/module.mjs +17 -5
  152. package/esm2022/slider/slider-input.mjs +26 -23
  153. package/esm2022/slider/slider-interface.mjs +16 -1
  154. package/esm2022/slider/slider-thumb.mjs +8 -9
  155. package/esm2022/slider/slider.mjs +74 -73
  156. package/esm2022/slider/testing/slider-harness-filters.mjs +7 -2
  157. package/esm2022/slider/testing/slider-harness.mjs +4 -3
  158. package/esm2022/slider/testing/slider-thumb-harness.mjs +3 -2
  159. package/esm2022/snack-bar/module.mjs +2 -2
  160. package/esm2022/snack-bar/simple-snack-bar.mjs +4 -6
  161. package/esm2022/snack-bar/snack-bar-container.mjs +5 -6
  162. package/esm2022/snack-bar/snack-bar-ref.mjs +1 -1
  163. package/esm2022/sort/sort-header.mjs +17 -25
  164. package/esm2022/sort/sort-module.mjs +3 -4
  165. package/esm2022/sort/sort.mjs +13 -19
  166. package/esm2022/stepper/step-content.mjs +3 -2
  167. package/esm2022/stepper/step-header.mjs +11 -16
  168. package/esm2022/stepper/step-label.mjs +3 -2
  169. package/esm2022/stepper/stepper-button.mjs +5 -3
  170. package/esm2022/stepper/stepper-icon.mjs +3 -2
  171. package/esm2022/stepper/stepper-module.mjs +14 -13
  172. package/esm2022/stepper/stepper.mjs +11 -13
  173. package/esm2022/stepper/testing/step-harness-filters.mjs +7 -2
  174. package/esm2022/stepper/testing/stepper-harness.mjs +4 -3
  175. package/esm2022/table/cell.mjs +15 -8
  176. package/esm2022/table/module.mjs +4 -5
  177. package/esm2022/table/row.mjs +19 -10
  178. package/esm2022/table/table.mjs +7 -7
  179. package/esm2022/table/text-column.mjs +6 -4
  180. package/esm2022/tabs/module.mjs +8 -41
  181. package/esm2022/tabs/paginated-tab-header.mjs +12 -18
  182. package/esm2022/tabs/tab-body.mjs +6 -4
  183. package/esm2022/tabs/tab-content.mjs +3 -2
  184. package/esm2022/tabs/tab-group.mjs +69 -78
  185. package/esm2022/tabs/tab-header.mjs +10 -16
  186. package/esm2022/tabs/tab-label-wrapper.mjs +13 -8
  187. package/esm2022/tabs/tab-label.mjs +3 -2
  188. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +51 -45
  189. package/esm2022/tabs/tab.mjs +12 -12
  190. package/esm2022/toolbar/testing/toolbar-harness.mjs +7 -2
  191. package/esm2022/toolbar/toolbar-module.mjs +3 -4
  192. package/esm2022/toolbar/toolbar.mjs +14 -18
  193. package/esm2022/tooltip/module.mjs +3 -4
  194. package/esm2022/tooltip/tooltip.mjs +14 -8
  195. package/esm2022/tree/node.mjs +24 -21
  196. package/esm2022/tree/outlet.mjs +3 -2
  197. package/esm2022/tree/padding.mjs +12 -4
  198. package/esm2022/tree/toggle.mjs +3 -2
  199. package/esm2022/tree/tree-module.mjs +4 -5
  200. package/esm2022/tree/tree.mjs +3 -4
  201. package/expansion/_expansion-theme.scss +56 -22
  202. package/expansion/index.d.ts +25 -33
  203. package/expansion/testing/index.d.ts +1 -1
  204. package/fesm2022/autocomplete.mjs +39 -15
  205. package/fesm2022/autocomplete.mjs.map +1 -1
  206. package/fesm2022/badge.mjs +4 -4
  207. package/fesm2022/badge.mjs.map +1 -1
  208. package/fesm2022/bottom-sheet.mjs +21 -22
  209. package/fesm2022/bottom-sheet.mjs.map +1 -1
  210. package/fesm2022/button-toggle.mjs +7 -8
  211. package/fesm2022/button-toggle.mjs.map +1 -1
  212. package/fesm2022/button.mjs +29 -25
  213. package/fesm2022/button.mjs.map +1 -1
  214. package/fesm2022/card/testing.mjs +9 -1
  215. package/fesm2022/card/testing.mjs.map +1 -1
  216. package/fesm2022/card.mjs +31 -21
  217. package/fesm2022/card.mjs.map +1 -1
  218. package/fesm2022/checkbox.mjs +38 -23
  219. package/fesm2022/checkbox.mjs.map +1 -1
  220. package/fesm2022/chips.mjs +179 -156
  221. package/fesm2022/chips.mjs.map +1 -1
  222. package/fesm2022/core.mjs +87 -42
  223. package/fesm2022/core.mjs.map +1 -1
  224. package/fesm2022/datepicker/testing.mjs +11 -4
  225. package/fesm2022/datepicker/testing.mjs.map +1 -1
  226. package/fesm2022/datepicker.mjs +183 -156
  227. package/fesm2022/datepicker.mjs.map +1 -1
  228. package/fesm2022/dialog/testing.mjs +13 -6
  229. package/fesm2022/dialog/testing.mjs.map +1 -1
  230. package/fesm2022/dialog.mjs +15 -10
  231. package/fesm2022/dialog.mjs.map +1 -1
  232. package/fesm2022/divider.mjs +4 -5
  233. package/fesm2022/divider.mjs.map +1 -1
  234. package/fesm2022/expansion/testing.mjs +14 -6
  235. package/fesm2022/expansion/testing.mjs.map +1 -1
  236. package/fesm2022/expansion.mjs +51 -44
  237. package/fesm2022/expansion.mjs.map +1 -1
  238. package/fesm2022/form-field.mjs +38 -25
  239. package/fesm2022/form-field.mjs.map +1 -1
  240. package/fesm2022/grid-list/testing.mjs +9 -3
  241. package/fesm2022/grid-list/testing.mjs.map +1 -1
  242. package/fesm2022/grid-list.mjs +24 -17
  243. package/fesm2022/grid-list.mjs.map +1 -1
  244. package/fesm2022/icon/testing.mjs +10 -3
  245. package/fesm2022/icon/testing.mjs.map +1 -1
  246. package/fesm2022/icon.mjs +27 -31
  247. package/fesm2022/icon.mjs.map +1 -1
  248. package/fesm2022/input.mjs +28 -30
  249. package/fesm2022/input.mjs.map +1 -1
  250. package/fesm2022/list/testing.mjs +18 -6
  251. package/fesm2022/list/testing.mjs.map +1 -1
  252. package/fesm2022/list.mjs +44 -38
  253. package/fesm2022/list.mjs.map +1 -1
  254. package/fesm2022/menu.mjs +42 -18
  255. package/fesm2022/menu.mjs.map +1 -1
  256. package/fesm2022/paginator.mjs +39 -47
  257. package/fesm2022/paginator.mjs.map +1 -1
  258. package/fesm2022/progress-bar.mjs +27 -21
  259. package/fesm2022/progress-bar.mjs.map +1 -1
  260. package/fesm2022/progress-spinner.mjs +37 -37
  261. package/fesm2022/progress-spinner.mjs.map +1 -1
  262. package/fesm2022/radio.mjs +43 -37
  263. package/fesm2022/radio.mjs.map +1 -1
  264. package/fesm2022/select.mjs +102 -70
  265. package/fesm2022/select.mjs.map +1 -1
  266. package/fesm2022/sidenav.mjs +23 -17
  267. package/fesm2022/sidenav.mjs.map +1 -1
  268. package/fesm2022/slide-toggle.mjs +19 -11
  269. package/fesm2022/slide-toggle.mjs.map +1 -1
  270. package/fesm2022/slider/testing.mjs +11 -4
  271. package/fesm2022/slider/testing.mjs.map +1 -1
  272. package/fesm2022/slider.mjs +133 -102
  273. package/fesm2022/slider.mjs.map +1 -1
  274. package/fesm2022/snack-bar.mjs +13 -15
  275. package/fesm2022/snack-bar.mjs.map +1 -1
  276. package/fesm2022/sort.mjs +29 -42
  277. package/fesm2022/sort.mjs.map +1 -1
  278. package/fesm2022/stepper/testing.mjs +10 -3
  279. package/fesm2022/stepper/testing.mjs.map +1 -1
  280. package/fesm2022/stepper.mjs +42 -43
  281. package/fesm2022/stepper.mjs.map +1 -1
  282. package/fesm2022/table.mjs +44 -26
  283. package/fesm2022/table.mjs.map +1 -1
  284. package/fesm2022/tabs.mjs +594 -621
  285. package/fesm2022/tabs.mjs.map +1 -1
  286. package/fesm2022/toolbar/testing.mjs +7 -2
  287. package/fesm2022/toolbar/testing.mjs.map +1 -1
  288. package/fesm2022/toolbar.mjs +16 -20
  289. package/fesm2022/toolbar.mjs.map +1 -1
  290. package/fesm2022/tooltip.mjs +15 -10
  291. package/fesm2022/tooltip.mjs.map +1 -1
  292. package/fesm2022/tree.mjs +36 -30
  293. package/fesm2022/tree.mjs.map +1 -1
  294. package/form-field/index.d.ts +33 -45
  295. package/grid-list/index.d.ts +10 -10
  296. package/grid-list/testing/index.d.ts +1 -1
  297. package/icon/index.d.ts +14 -20
  298. package/icon/testing/index.d.ts +1 -1
  299. package/input/index.d.ts +33 -32
  300. package/list/index.d.ts +36 -36
  301. package/list/testing/index.d.ts +2 -2
  302. package/menu/index.d.ts +12 -12
  303. package/package.json +7 -7
  304. package/paginator/index.d.ts +21 -22
  305. package/prebuilt-themes/deeppurple-amber.css +1 -1
  306. package/prebuilt-themes/indigo-pink.css +1 -1
  307. package/prebuilt-themes/pink-bluegrey.css +1 -1
  308. package/prebuilt-themes/purple-green.css +1 -1
  309. package/progress-bar/index.d.ts +14 -17
  310. package/progress-spinner/index.d.ts +18 -19
  311. package/radio/index.d.ts +25 -27
  312. package/schematics/ng-add/index.js +2 -2
  313. package/schematics/ng-add/index.mjs +2 -2
  314. package/schematics/ng-generate/mdc-migration/index_bundled.js +11 -4
  315. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +3 -3
  316. package/select/index.d.ts +66 -49
  317. package/sidenav/index.d.ts +11 -11
  318. package/slide-toggle/index.d.ts +6 -6
  319. package/slider/index.d.ts +38 -38
  320. package/slider/testing/index.d.ts +1 -1
  321. package/sort/index.d.ts +19 -24
  322. package/stepper/index.d.ts +33 -43
  323. package/stepper/testing/index.d.ts +1 -1
  324. package/table/index.d.ts +24 -24
  325. package/tabs/index.d.ts +75 -103
  326. package/toolbar/index.d.ts +10 -17
  327. package/toolbar/testing/index.d.ts +1 -1
  328. package/tooltip/index.d.ts +8 -8
  329. package/tree/index.d.ts +26 -28
@@ -1,16 +1,11 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Optional, SkipSelf, InjectionToken, EventEmitter, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, NgModule } from '@angular/core';
2
+ import { Injectable, Optional, SkipSelf, InjectionToken, numberAttribute, EventEmitter, booleanAttribute, Component, ChangeDetectionStrategy, ViewEncapsulation, Inject, Input, Output, NgModule } from '@angular/core';
3
3
  import { Subject } from 'rxjs';
4
- import * as i2 from '@angular/material/button';
5
- import { MatButtonModule } from '@angular/material/button';
6
- import * as i4 from '@angular/material/select';
7
- import { MatSelectModule } from '@angular/material/select';
8
- import * as i6 from '@angular/material/tooltip';
9
- import { MatTooltipModule } from '@angular/material/tooltip';
10
- import * as i5 from '@angular/material/core';
11
- import { mixinDisabled, mixinInitialized } from '@angular/material/core';
12
- import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
13
- import * as i3 from '@angular/material/form-field';
4
+ import { MatIconButton, MatButtonModule } from '@angular/material/button';
5
+ import { MatSelect, MatSelectModule } from '@angular/material/select';
6
+ import { MatTooltip, MatTooltipModule } from '@angular/material/tooltip';
7
+ import { MatFormField } from '@angular/material/form-field';
8
+ import { mixinInitialized, MatOption } from '@angular/material/core';
14
9
 
15
10
  /**
16
11
  * To modify the labels and text displayed, create a new instance of MatPaginatorIntl and
@@ -76,8 +71,8 @@ class PageEvent {
76
71
  const MAT_PAGINATOR_DEFAULT_OPTIONS = new InjectionToken('MAT_PAGINATOR_DEFAULT_OPTIONS');
77
72
  // Boilerplate for applying mixins to _MatPaginatorBase.
78
73
  /** @docs-private */
79
- const _MatPaginatorMixinBase = mixinDisabled(mixinInitialized(class {
80
- }));
74
+ const _MatPaginatorMixinBase = mixinInitialized(class {
75
+ });
81
76
  let nextUniqueId = 0;
82
77
  /**
83
78
  * Component to provide navigation between paged information. Displays the size of the current
@@ -90,7 +85,7 @@ class MatPaginator extends _MatPaginatorMixinBase {
90
85
  return this._pageIndex;
91
86
  }
92
87
  set pageIndex(value) {
93
- this._pageIndex = Math.max(coerceNumberProperty(value), 0);
88
+ this._pageIndex = Math.max(value || 0, 0);
94
89
  this._changeDetectorRef.markForCheck();
95
90
  }
96
91
  /** The length of the total number of items that are being paginated. Defaulted to 0. */
@@ -98,7 +93,7 @@ class MatPaginator extends _MatPaginatorMixinBase {
98
93
  return this._length;
99
94
  }
100
95
  set length(value) {
101
- this._length = coerceNumberProperty(value);
96
+ this._length = value || 0;
102
97
  this._changeDetectorRef.markForCheck();
103
98
  }
104
99
  /** Number of items to display on a page. By default set to 50. */
@@ -106,7 +101,7 @@ class MatPaginator extends _MatPaginatorMixinBase {
106
101
  return this._pageSize;
107
102
  }
108
103
  set pageSize(value) {
109
- this._pageSize = Math.max(coerceNumberProperty(value), 0);
104
+ this._pageSize = Math.max(value || 0, 0);
110
105
  this._updateDisplayedPageSizeOptions();
111
106
  }
112
107
  /** The set of provided page size options to display to the user. */
@@ -114,23 +109,9 @@ class MatPaginator extends _MatPaginatorMixinBase {
114
109
  return this._pageSizeOptions;
115
110
  }
116
111
  set pageSizeOptions(value) {
117
- this._pageSizeOptions = (value || []).map(p => coerceNumberProperty(p));
112
+ this._pageSizeOptions = (value || []).map(p => numberAttribute(p, 0));
118
113
  this._updateDisplayedPageSizeOptions();
119
114
  }
120
- /** Whether to hide the page size selection UI from the user. */
121
- get hidePageSize() {
122
- return this._hidePageSize;
123
- }
124
- set hidePageSize(value) {
125
- this._hidePageSize = coerceBooleanProperty(value);
126
- }
127
- /** Whether to show the first/last buttons UI to the user. */
128
- get showFirstLastButtons() {
129
- return this._showFirstLastButtons;
130
- }
131
- set showFirstLastButtons(value) {
132
- this._showFirstLastButtons = coerceBooleanProperty(value);
133
- }
134
115
  constructor(_intl, _changeDetectorRef, defaults) {
135
116
  super();
136
117
  this._intl = _intl;
@@ -140,10 +121,14 @@ class MatPaginator extends _MatPaginatorMixinBase {
140
121
  this._pageIndex = 0;
141
122
  this._length = 0;
142
123
  this._pageSizeOptions = [];
143
- this._hidePageSize = false;
144
- this._showFirstLastButtons = false;
124
+ /** Whether to hide the page size selection UI from the user. */
125
+ this.hidePageSize = false;
126
+ /** Whether to show the first/last buttons UI to the user. */
127
+ this.showFirstLastButtons = false;
145
128
  /** Used to configure the underlying `MatSelect` inside the paginator. */
146
129
  this.selectConfig = {};
130
+ /** Whether the paginator is disabled. */
131
+ this.disabled = false;
147
132
  /** Event emitted when the paginator changes the page size or page index. */
148
133
  this.page = new EventEmitter();
149
134
  this._intlChanges = _intl.changes.subscribe(() => this._changeDetectorRef.markForCheck());
@@ -156,10 +141,10 @@ class MatPaginator extends _MatPaginatorMixinBase {
156
141
  this._pageSizeOptions = pageSizeOptions;
157
142
  }
158
143
  if (hidePageSize != null) {
159
- this._hidePageSize = hidePageSize;
144
+ this.hidePageSize = hidePageSize;
160
145
  }
161
146
  if (showFirstLastButtons != null) {
162
- this._showFirstLastButtons = showFirstLastButtons;
147
+ this.showFirstLastButtons = showFirstLastButtons;
163
148
  }
164
149
  }
165
150
  this._formFieldAppearance = defaults?.formFieldAppearance || 'outline';
@@ -282,14 +267,14 @@ class MatPaginator extends _MatPaginatorMixinBase {
282
267
  });
283
268
  }
284
269
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MatPaginator, deps: [{ token: MatPaginatorIntl }, { token: i0.ChangeDetectorRef }, { token: MAT_PAGINATOR_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
285
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", type: MatPaginator, selector: "mat-paginator", inputs: { disabled: "disabled", color: "color", pageIndex: "pageIndex", length: "length", pageSize: "pageSize", pageSizeOptions: "pageSizeOptions", hidePageSize: "hidePageSize", showFirstLastButtons: "showFirstLastButtons", selectConfig: "selectConfig" }, outputs: { page: "page" }, host: { attributes: { "role": "group" }, classAttribute: "mat-mdc-paginator" }, exportAs: ["matPaginator"], usesInheritance: true, 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\">\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 [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 </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-live=\"polite\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n @if (showFirstLastButtons) {\n <button mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"firstPage()\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"previousPage()\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"nextPage()\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"lastPage()\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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);background-color:var(--mat-paginator-container-background-color);font-family:var(--mat-paginator-container-text-font);line-height:var(--mat-paginator-container-text-line-height);font-size:var(--mat-paginator-container-text-size);font-weight:var(--mat-paginator-container-text-weight);letter-spacing:var(--mat-paginator-container-text-tracking)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-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-reverse;width:100%;min-height:var(--mat-paginator-container-size)}.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: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)}.mat-mdc-icon-button[disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color)}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}.cdk-high-contrast-active .mat-mdc-icon-button[disabled] .mat-mdc-paginator-icon,.cdk-high-contrast-active .mat-mdc-paginator-icon{fill:currentColor;fill:CanvasText}.cdk-high-contrast-active .mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}"], dependencies: [{ kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex", "aria-describedby", "panelClass", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
270
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.0.4", 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"], usesInheritance: true, 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\">\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 [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 </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-live=\"polite\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n @if (showFirstLastButtons) {\n <button mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"firstPage()\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"previousPage()\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"nextPage()\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"lastPage()\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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);background-color:var(--mat-paginator-container-background-color);font-family:var(--mat-paginator-container-text-font);line-height:var(--mat-paginator-container-text-line-height);font-size:var(--mat-paginator-container-text-size);font-weight:var(--mat-paginator-container-text-weight);letter-spacing:var(--mat-paginator-container-text-tracking)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-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-reverse;width:100%;min-height:var(--mat-paginator-container-size)}.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: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)}.mat-mdc-icon-button[disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color)}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}.cdk-high-contrast-active .mat-mdc-icon-button[disabled] .mat-mdc-paginator-icon,.cdk-high-contrast-active .mat-mdc-paginator-icon{fill:currentColor;fill:CanvasText}.cdk-high-contrast-active .mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}"], 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"], 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]", exportAs: ["matButton"] }, { 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 }); }
286
271
  }
287
272
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MatPaginator, decorators: [{
288
273
  type: Component,
289
- args: [{ selector: 'mat-paginator', exportAs: 'matPaginator', inputs: ['disabled'], host: {
274
+ args: [{ selector: 'mat-paginator', exportAs: 'matPaginator', host: {
290
275
  'class': 'mat-mdc-paginator',
291
276
  'role': 'group',
292
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, 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\">\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 [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 </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-live=\"polite\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n @if (showFirstLastButtons) {\n <button mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"firstPage()\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"previousPage()\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"nextPage()\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"lastPage()\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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);background-color:var(--mat-paginator-container-background-color);font-family:var(--mat-paginator-container-text-font);line-height:var(--mat-paginator-container-text-line-height);font-size:var(--mat-paginator-container-text-size);font-weight:var(--mat-paginator-container-text-weight);letter-spacing:var(--mat-paginator-container-text-tracking)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-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-reverse;width:100%;min-height:var(--mat-paginator-container-size)}.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: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)}.mat-mdc-icon-button[disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color)}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}.cdk-high-contrast-active .mat-mdc-icon-button[disabled] .mat-mdc-paginator-icon,.cdk-high-contrast-active .mat-mdc-paginator-icon{fill:currentColor;fill:CanvasText}.cdk-high-contrast-active .mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}"] }]
277
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, 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\">\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 [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 </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-live=\"polite\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n @if (showFirstLastButtons) {\n <button mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"firstPage()\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"previousPage()\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"nextPage()\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"lastPage()\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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);background-color:var(--mat-paginator-container-background-color);font-family:var(--mat-paginator-container-text-font);line-height:var(--mat-paginator-container-text-line-height);font-size:var(--mat-paginator-container-text-size);font-weight:var(--mat-paginator-container-text-weight);letter-spacing:var(--mat-paginator-container-text-tracking)}.mat-mdc-paginator .mat-mdc-select-value{font-size:var(--mat-paginator-select-trigger-text-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-reverse;width:100%;min-height:var(--mat-paginator-container-size)}.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: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)}.mat-mdc-icon-button[disabled] .mat-mdc-paginator-icon{fill:var(--mat-paginator-disabled-icon-color)}[dir=rtl] .mat-mdc-paginator-icon{transform:rotate(180deg)}.cdk-high-contrast-active .mat-mdc-icon-button[disabled] .mat-mdc-paginator-icon,.cdk-high-contrast-active .mat-mdc-paginator-icon{fill:currentColor;fill:CanvasText}.cdk-high-contrast-active .mat-mdc-paginator-range-actions .mat-mdc-icon-button{outline:solid 1px}"] }]
293
278
  }], ctorParameters: () => [{ type: MatPaginatorIntl }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
294
279
  type: Optional
295
280
  }, {
@@ -298,34 +283,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImpor
298
283
  }] }], propDecorators: { color: [{
299
284
  type: Input
300
285
  }], pageIndex: [{
301
- type: Input
286
+ type: Input,
287
+ args: [{ transform: numberAttribute }]
302
288
  }], length: [{
303
- type: Input
289
+ type: Input,
290
+ args: [{ transform: numberAttribute }]
304
291
  }], pageSize: [{
305
- type: Input
292
+ type: Input,
293
+ args: [{ transform: numberAttribute }]
306
294
  }], pageSizeOptions: [{
307
295
  type: Input
308
296
  }], hidePageSize: [{
309
- type: Input
297
+ type: Input,
298
+ args: [{ transform: booleanAttribute }]
310
299
  }], showFirstLastButtons: [{
311
- type: Input
300
+ type: Input,
301
+ args: [{ transform: booleanAttribute }]
312
302
  }], selectConfig: [{
313
303
  type: Input
304
+ }], disabled: [{
305
+ type: Input,
306
+ args: [{ transform: booleanAttribute }]
314
307
  }], page: [{
315
308
  type: Output
316
309
  }] } });
317
310
 
318
311
  class MatPaginatorModule {
319
312
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MatPaginatorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
320
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: MatPaginatorModule, declarations: [MatPaginator], imports: [MatButtonModule, MatSelectModule, MatTooltipModule], exports: [MatPaginator] }); }
321
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MatPaginatorModule, providers: [MAT_PAGINATOR_INTL_PROVIDER], imports: [MatButtonModule, MatSelectModule, MatTooltipModule] }); }
313
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.4", ngImport: i0, type: MatPaginatorModule, imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator], exports: [MatPaginator] }); }
314
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MatPaginatorModule, providers: [MAT_PAGINATOR_INTL_PROVIDER], imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator] }); }
322
315
  }
323
316
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.4", ngImport: i0, type: MatPaginatorModule, decorators: [{
324
317
  type: NgModule,
325
318
  args: [{
326
- imports: [MatButtonModule, MatSelectModule, MatTooltipModule],
319
+ imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator],
327
320
  exports: [MatPaginator],
328
- declarations: [MatPaginator],
329
321
  providers: [MAT_PAGINATOR_INTL_PROVIDER],
330
322
  }]
331
323
  }] });
@@ -1 +1 @@
1
- {"version":3,"file":"paginator.mjs","sources":["../../../../../../src/material/paginator/paginator-intl.ts","../../../../../../src/material/paginator/paginator.ts","../../../../../../src/material/paginator/paginator.html","../../../../../../src/material/paginator/module.ts","../../../../../../src/material/paginator/paginator_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Optional, SkipSelf} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * To modify the labels and text displayed, create a new instance of MatPaginatorIntl and\n * include it in a custom provider\n */\n@Injectable({providedIn: 'root'})\nexport class MatPaginatorIntl {\n /**\n * Stream to emit from when labels are changed. Use this to notify components when the labels have\n * changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n\n /** A label for the page size selector. */\n itemsPerPageLabel: string = 'Items per page:';\n\n /** A label for the button that increments the current page. */\n nextPageLabel: string = 'Next page';\n\n /** A label for the button that decrements the current page. */\n previousPageLabel: string = 'Previous page';\n\n /** A label for the button that moves to the first page. */\n firstPageLabel: string = 'First page';\n\n /** A label for the button that moves to the last page. */\n lastPageLabel: string = 'Last page';\n\n /** A label for the range of items within the current page and the length of the whole list. */\n getRangeLabel: (page: number, pageSize: number, length: number) => string = (\n page: number,\n pageSize: number,\n length: number,\n ) => {\n if (length == 0 || pageSize == 0) {\n return `0 of ${length}`;\n }\n\n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n // If the start index exceeds the list length, do not try and fix the end index to the end.\n const endIndex =\n startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n\n return `${startIndex + 1} – ${endIndex} of ${length}`;\n };\n}\n\n/** @docs-private */\nexport function MAT_PAGINATOR_INTL_PROVIDER_FACTORY(parentIntl: MatPaginatorIntl) {\n return parentIntl || new MatPaginatorIntl();\n}\n\n/** @docs-private */\nexport const MAT_PAGINATOR_INTL_PROVIDER = {\n // If there is already an MatPaginatorIntl available, use that. Otherwise, provide a new one.\n provide: MatPaginatorIntl,\n deps: [[new Optional(), new SkipSelf(), MatPaginatorIntl]],\n useFactory: MAT_PAGINATOR_INTL_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport {MatFormFieldAppearance} from '@angular/material/form-field';\nimport {\n CanDisable,\n HasInitialized,\n mixinDisabled,\n mixinInitialized,\n ThemePalette,\n} from '@angular/material/core';\nimport {Subscription} from 'rxjs';\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput,\n} from '@angular/cdk/coercion';\nimport {MatPaginatorIntl} from './paginator-intl';\n\n/** The default page size if there is no page size and there are no provided page size options. */\nconst DEFAULT_PAGE_SIZE = 50;\n\n/** Object that can used to configure the underlying `MatSelect` inside a `MatPaginator`. */\nexport interface MatPaginatorSelectConfig {\n /** Whether to center the active option over the trigger. */\n disableOptionCentering?: boolean;\n\n /** Classes to be passed to the select panel. */\n panelClass?: string | string[] | Set<string> | {[key: string]: any};\n}\n\n/**\n * Change event object that is emitted when the user selects a\n * different page size or navigates to another page.\n */\nexport class PageEvent {\n /** The current page index. */\n pageIndex: number;\n\n /**\n * Index of the page that was selected previously.\n * @breaking-change 8.0.0 To be made into a required property.\n */\n previousPageIndex?: number;\n\n /** The current page size. */\n pageSize: number;\n\n /** The current total number of items being paged. */\n length: number;\n}\n\n// Note that while `MatPaginatorDefaultOptions` and `MAT_PAGINATOR_DEFAULT_OPTIONS` are identical\n// between the MDC and non-MDC versions, we have to duplicate them, because the type of\n// `formFieldAppearance` is narrower in the MDC version.\n\n/** Object that can be used to configure the default options for the paginator module. */\nexport interface MatPaginatorDefaultOptions {\n /** Number of items to display on a page. By default set to 50. */\n pageSize?: number;\n\n /** The set of provided page size options to display to the user. */\n pageSizeOptions?: number[];\n\n /** Whether to hide the page size selection UI from the user. */\n hidePageSize?: boolean;\n\n /** Whether to show the first/last buttons UI to the user. */\n showFirstLastButtons?: boolean;\n\n /** The default form-field appearance to apply to the page size options selector. */\n formFieldAppearance?: MatFormFieldAppearance;\n}\n\n/** Injection token that can be used to provide the default options for the paginator module. */\nexport const MAT_PAGINATOR_DEFAULT_OPTIONS = new InjectionToken<MatPaginatorDefaultOptions>(\n 'MAT_PAGINATOR_DEFAULT_OPTIONS',\n);\n\n// Boilerplate for applying mixins to _MatPaginatorBase.\n/** @docs-private */\nconst _MatPaginatorMixinBase = mixinDisabled(mixinInitialized(class {}));\n\nlet nextUniqueId = 0;\n\n/**\n * Component to provide navigation between paged information. Displays the size of the current\n * page, user-selectable options to change that size, what items are being shown, and\n * navigational button to go to the previous or next page.\n */\n@Component({\n selector: 'mat-paginator',\n exportAs: 'matPaginator',\n templateUrl: 'paginator.html',\n styleUrls: ['paginator.css'],\n inputs: ['disabled'],\n host: {\n 'class': 'mat-mdc-paginator',\n 'role': 'group',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatPaginator\n extends _MatPaginatorMixinBase\n implements OnInit, OnDestroy, CanDisable, HasInitialized\n{\n /** If set, styles the \"page size\" form field with the designated style. */\n _formFieldAppearance?: MatFormFieldAppearance;\n\n /** ID for the DOM node containing the paginator's items per page label. */\n readonly _pageSizeLabelId = `mat-paginator-page-size-label-${nextUniqueId++}`;\n\n private _initialized: boolean;\n private _intlChanges: Subscription;\n\n /** Theme color to be used for the underlying form controls. */\n @Input() color: ThemePalette;\n\n /** The zero-based page index of the displayed list of items. Defaulted to 0. */\n @Input()\n get pageIndex(): number {\n return this._pageIndex;\n }\n set pageIndex(value: NumberInput) {\n this._pageIndex = Math.max(coerceNumberProperty(value), 0);\n this._changeDetectorRef.markForCheck();\n }\n private _pageIndex = 0;\n\n /** The length of the total number of items that are being paginated. Defaulted to 0. */\n @Input()\n get length(): number {\n return this._length;\n }\n set length(value: NumberInput) {\n this._length = coerceNumberProperty(value);\n this._changeDetectorRef.markForCheck();\n }\n private _length = 0;\n\n /** Number of items to display on a page. By default set to 50. */\n @Input()\n get pageSize(): number {\n return this._pageSize;\n }\n set pageSize(value: NumberInput) {\n this._pageSize = Math.max(coerceNumberProperty(value), 0);\n this._updateDisplayedPageSizeOptions();\n }\n private _pageSize: number;\n\n /** The set of provided page size options to display to the user. */\n @Input()\n get pageSizeOptions(): number[] {\n return this._pageSizeOptions;\n }\n set pageSizeOptions(value: number[] | readonly number[]) {\n this._pageSizeOptions = (value || ([] as number[])).map(p => coerceNumberProperty(p));\n this._updateDisplayedPageSizeOptions();\n }\n private _pageSizeOptions: number[] = [];\n\n /** Whether to hide the page size selection UI from the user. */\n @Input()\n get hidePageSize(): boolean {\n return this._hidePageSize;\n }\n set hidePageSize(value: BooleanInput) {\n this._hidePageSize = coerceBooleanProperty(value);\n }\n private _hidePageSize = false;\n\n /** Whether to show the first/last buttons UI to the user. */\n @Input()\n get showFirstLastButtons(): boolean {\n return this._showFirstLastButtons;\n }\n set showFirstLastButtons(value: BooleanInput) {\n this._showFirstLastButtons = coerceBooleanProperty(value);\n }\n private _showFirstLastButtons = false;\n\n /** Used to configure the underlying `MatSelect` inside the paginator. */\n @Input() selectConfig: MatPaginatorSelectConfig = {};\n\n /** Event emitted when the paginator changes the page size or page index. */\n @Output() readonly page: EventEmitter<PageEvent> = new EventEmitter<PageEvent>();\n\n /** Displayed set of page size options. Will be sorted and include current page size. */\n _displayedPageSizeOptions: number[];\n\n constructor(\n public _intl: MatPaginatorIntl,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MAT_PAGINATOR_DEFAULT_OPTIONS) defaults?: MatPaginatorDefaultOptions,\n ) {\n super();\n this._intlChanges = _intl.changes.subscribe(() => this._changeDetectorRef.markForCheck());\n\n if (defaults) {\n const {pageSize, pageSizeOptions, hidePageSize, showFirstLastButtons} = defaults;\n\n if (pageSize != null) {\n this._pageSize = pageSize;\n }\n\n if (pageSizeOptions != null) {\n this._pageSizeOptions = pageSizeOptions;\n }\n\n if (hidePageSize != null) {\n this._hidePageSize = hidePageSize;\n }\n\n if (showFirstLastButtons != null) {\n this._showFirstLastButtons = showFirstLastButtons;\n }\n }\n\n this._formFieldAppearance = defaults?.formFieldAppearance || 'outline';\n }\n\n ngOnInit() {\n this._initialized = true;\n this._updateDisplayedPageSizeOptions();\n this._markInitialized();\n }\n\n ngOnDestroy() {\n this._intlChanges.unsubscribe();\n }\n\n /** Advances to the next page if it exists. */\n nextPage(): void {\n if (!this.hasNextPage()) {\n return;\n }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = this.pageIndex + 1;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Move back to the previous page if it exists. */\n previousPage(): void {\n if (!this.hasPreviousPage()) {\n return;\n }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = this.pageIndex - 1;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Move to the first page if not already there. */\n firstPage(): void {\n // hasPreviousPage being false implies at the start\n if (!this.hasPreviousPage()) {\n return;\n }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = 0;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Move to the last page if not already there. */\n lastPage(): void {\n // hasNextPage being false implies at the end\n if (!this.hasNextPage()) {\n return;\n }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = this.getNumberOfPages() - 1;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Whether there is a previous page. */\n hasPreviousPage(): boolean {\n return this.pageIndex >= 1 && this.pageSize != 0;\n }\n\n /** Whether there is a next page. */\n hasNextPage(): boolean {\n const maxPageIndex = this.getNumberOfPages() - 1;\n return this.pageIndex < maxPageIndex && this.pageSize != 0;\n }\n\n /** Calculate the number of pages */\n getNumberOfPages(): number {\n if (!this.pageSize) {\n return 0;\n }\n\n return Math.ceil(this.length / this.pageSize);\n }\n\n /**\n * Changes the page size so that the first item displayed on the page will still be\n * displayed using the new page size.\n *\n * For example, if the page size is 10 and on the second page (items indexed 10-19) then\n * switching so that the page size is 5 will set the third page as the current page so\n * that the 10th item will still be displayed.\n */\n _changePageSize(pageSize: number) {\n // Current page needs to be updated to reflect the new page size. Navigate to the page\n // containing the previous page's first item.\n const startIndex = this.pageIndex * this.pageSize;\n const previousPageIndex = this.pageIndex;\n\n this.pageIndex = Math.floor(startIndex / pageSize) || 0;\n this.pageSize = pageSize;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Checks whether the buttons for going forwards should be disabled. */\n _nextButtonsDisabled() {\n return this.disabled || !this.hasNextPage();\n }\n\n /** Checks whether the buttons for going backwards should be disabled. */\n _previousButtonsDisabled() {\n return this.disabled || !this.hasPreviousPage();\n }\n\n /**\n * Updates the list of page size options to display to the user. Includes making sure that\n * the page size is an option and that the list is sorted.\n */\n private _updateDisplayedPageSizeOptions() {\n if (!this._initialized) {\n return;\n }\n\n // If no page size is provided, use the first page size option or the default page size.\n if (!this.pageSize) {\n this._pageSize =\n this.pageSizeOptions.length != 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;\n }\n\n this._displayedPageSizeOptions = this.pageSizeOptions.slice();\n\n if (this._displayedPageSizeOptions.indexOf(this.pageSize) === -1) {\n this._displayedPageSizeOptions.push(this.pageSize);\n }\n\n // Sort the numbers using a number-specific sort function.\n this._displayedPageSizeOptions.sort((a, b) => a - b);\n this._changeDetectorRef.markForCheck();\n }\n\n /** Emits an event notifying that a change of the paginator's properties has been triggered. */\n private _emitPageEvent(previousPageIndex: number) {\n this.page.emit({\n previousPageIndex,\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n length: this.length,\n });\n }\n}\n","<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\">\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 [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 </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-live=\"polite\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n @if (showFirstLastButtons) {\n <button mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"firstPage()\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"previousPage()\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"nextPage()\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"lastPage()\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MAT_PAGINATOR_INTL_PROVIDER} from './paginator-intl';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {MatPaginator} from './paginator';\n\n@NgModule({\n imports: [MatButtonModule, MatSelectModule, MatTooltipModule],\n exports: [MatPaginator],\n declarations: [MatPaginator],\n providers: [MAT_PAGINATOR_INTL_PROVIDER],\n})\nexport class MatPaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paginator.mjs","sources":["../../../../../../src/material/paginator/paginator-intl.ts","../../../../../../src/material/paginator/paginator.ts","../../../../../../src/material/paginator/paginator.html","../../../../../../src/material/paginator/module.ts","../../../../../../src/material/paginator/paginator_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {Injectable, Optional, SkipSelf} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * To modify the labels and text displayed, create a new instance of MatPaginatorIntl and\n * include it in a custom provider\n */\n@Injectable({providedIn: 'root'})\nexport class MatPaginatorIntl {\n /**\n * Stream to emit from when labels are changed. Use this to notify components when the labels have\n * changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n\n /** A label for the page size selector. */\n itemsPerPageLabel: string = 'Items per page:';\n\n /** A label for the button that increments the current page. */\n nextPageLabel: string = 'Next page';\n\n /** A label for the button that decrements the current page. */\n previousPageLabel: string = 'Previous page';\n\n /** A label for the button that moves to the first page. */\n firstPageLabel: string = 'First page';\n\n /** A label for the button that moves to the last page. */\n lastPageLabel: string = 'Last page';\n\n /** A label for the range of items within the current page and the length of the whole list. */\n getRangeLabel: (page: number, pageSize: number, length: number) => string = (\n page: number,\n pageSize: number,\n length: number,\n ) => {\n if (length == 0 || pageSize == 0) {\n return `0 of ${length}`;\n }\n\n length = Math.max(length, 0);\n\n const startIndex = page * pageSize;\n\n // If the start index exceeds the list length, do not try and fix the end index to the end.\n const endIndex =\n startIndex < length ? Math.min(startIndex + pageSize, length) : startIndex + pageSize;\n\n return `${startIndex + 1} – ${endIndex} of ${length}`;\n };\n}\n\n/** @docs-private */\nexport function MAT_PAGINATOR_INTL_PROVIDER_FACTORY(parentIntl: MatPaginatorIntl) {\n return parentIntl || new MatPaginatorIntl();\n}\n\n/** @docs-private */\nexport const MAT_PAGINATOR_INTL_PROVIDER = {\n // If there is already an MatPaginatorIntl available, use that. Otherwise, provide a new one.\n provide: MatPaginatorIntl,\n deps: [[new Optional(), new SkipSelf(), MatPaginatorIntl]],\n useFactory: MAT_PAGINATOR_INTL_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n ViewEncapsulation,\n booleanAttribute,\n numberAttribute,\n} from '@angular/core';\nimport {MatFormField, MatFormFieldAppearance} from '@angular/material/form-field';\nimport {HasInitialized, MatOption, mixinInitialized, ThemePalette} from '@angular/material/core';\nimport {MatSelect} from '@angular/material/select';\nimport {MatIconButton} from '@angular/material/button';\nimport {MatTooltip} from '@angular/material/tooltip';\nimport {Subscription} from 'rxjs';\nimport {MatPaginatorIntl} from './paginator-intl';\n\n/** The default page size if there is no page size and there are no provided page size options. */\nconst DEFAULT_PAGE_SIZE = 50;\n\n/** Object that can used to configure the underlying `MatSelect` inside a `MatPaginator`. */\nexport interface MatPaginatorSelectConfig {\n /** Whether to center the active option over the trigger. */\n disableOptionCentering?: boolean;\n\n /** Classes to be passed to the select panel. */\n panelClass?: string | string[] | Set<string> | {[key: string]: any};\n}\n\n/**\n * Change event object that is emitted when the user selects a\n * different page size or navigates to another page.\n */\nexport class PageEvent {\n /** The current page index. */\n pageIndex: number;\n\n /**\n * Index of the page that was selected previously.\n * @breaking-change 8.0.0 To be made into a required property.\n */\n previousPageIndex?: number;\n\n /** The current page size. */\n pageSize: number;\n\n /** The current total number of items being paged. */\n length: number;\n}\n\n// Note that while `MatPaginatorDefaultOptions` and `MAT_PAGINATOR_DEFAULT_OPTIONS` are identical\n// between the MDC and non-MDC versions, we have to duplicate them, because the type of\n// `formFieldAppearance` is narrower in the MDC version.\n\n/** Object that can be used to configure the default options for the paginator module. */\nexport interface MatPaginatorDefaultOptions {\n /** Number of items to display on a page. By default set to 50. */\n pageSize?: number;\n\n /** The set of provided page size options to display to the user. */\n pageSizeOptions?: number[];\n\n /** Whether to hide the page size selection UI from the user. */\n hidePageSize?: boolean;\n\n /** Whether to show the first/last buttons UI to the user. */\n showFirstLastButtons?: boolean;\n\n /** The default form-field appearance to apply to the page size options selector. */\n formFieldAppearance?: MatFormFieldAppearance;\n}\n\n/** Injection token that can be used to provide the default options for the paginator module. */\nexport const MAT_PAGINATOR_DEFAULT_OPTIONS = new InjectionToken<MatPaginatorDefaultOptions>(\n 'MAT_PAGINATOR_DEFAULT_OPTIONS',\n);\n\n// Boilerplate for applying mixins to _MatPaginatorBase.\n/** @docs-private */\nconst _MatPaginatorMixinBase = mixinInitialized(class {});\n\nlet nextUniqueId = 0;\n\n/**\n * Component to provide navigation between paged information. Displays the size of the current\n * page, user-selectable options to change that size, what items are being shown, and\n * navigational button to go to the previous or next page.\n */\n@Component({\n selector: 'mat-paginator',\n exportAs: 'matPaginator',\n templateUrl: 'paginator.html',\n styleUrls: ['paginator.css'],\n host: {\n 'class': 'mat-mdc-paginator',\n 'role': 'group',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n standalone: true,\n imports: [MatFormField, MatSelect, MatOption, MatIconButton, MatTooltip],\n})\nexport class MatPaginator\n extends _MatPaginatorMixinBase\n implements OnInit, OnDestroy, HasInitialized\n{\n /** If set, styles the \"page size\" form field with the designated style. */\n _formFieldAppearance?: MatFormFieldAppearance;\n\n /** ID for the DOM node containing the paginator's items per page label. */\n readonly _pageSizeLabelId = `mat-paginator-page-size-label-${nextUniqueId++}`;\n\n private _initialized: boolean;\n private _intlChanges: Subscription;\n\n /** Theme color to be used for the underlying form controls. */\n @Input() color: ThemePalette;\n\n /** The zero-based page index of the displayed list of items. Defaulted to 0. */\n @Input({transform: numberAttribute})\n get pageIndex(): number {\n return this._pageIndex;\n }\n set pageIndex(value: number) {\n this._pageIndex = Math.max(value || 0, 0);\n this._changeDetectorRef.markForCheck();\n }\n private _pageIndex = 0;\n\n /** The length of the total number of items that are being paginated. Defaulted to 0. */\n @Input({transform: numberAttribute})\n get length(): number {\n return this._length;\n }\n set length(value: number) {\n this._length = value || 0;\n this._changeDetectorRef.markForCheck();\n }\n private _length = 0;\n\n /** Number of items to display on a page. By default set to 50. */\n @Input({transform: numberAttribute})\n get pageSize(): number {\n return this._pageSize;\n }\n set pageSize(value: number) {\n this._pageSize = Math.max(value || 0, 0);\n this._updateDisplayedPageSizeOptions();\n }\n private _pageSize: number;\n\n /** The set of provided page size options to display to the user. */\n @Input()\n get pageSizeOptions(): number[] {\n return this._pageSizeOptions;\n }\n set pageSizeOptions(value: number[] | readonly number[]) {\n this._pageSizeOptions = (value || ([] as number[])).map(p => numberAttribute(p, 0));\n this._updateDisplayedPageSizeOptions();\n }\n private _pageSizeOptions: number[] = [];\n\n /** Whether to hide the page size selection UI from the user. */\n @Input({transform: booleanAttribute})\n hidePageSize: boolean = false;\n\n /** Whether to show the first/last buttons UI to the user. */\n @Input({transform: booleanAttribute})\n showFirstLastButtons: boolean = false;\n\n /** Used to configure the underlying `MatSelect` inside the paginator. */\n @Input() selectConfig: MatPaginatorSelectConfig = {};\n\n /** Whether the paginator is disabled. */\n @Input({transform: booleanAttribute})\n disabled: boolean = false;\n\n /** Event emitted when the paginator changes the page size or page index. */\n @Output() readonly page: EventEmitter<PageEvent> = new EventEmitter<PageEvent>();\n\n /** Displayed set of page size options. Will be sorted and include current page size. */\n _displayedPageSizeOptions: number[];\n\n constructor(\n public _intl: MatPaginatorIntl,\n private _changeDetectorRef: ChangeDetectorRef,\n @Optional() @Inject(MAT_PAGINATOR_DEFAULT_OPTIONS) defaults?: MatPaginatorDefaultOptions,\n ) {\n super();\n this._intlChanges = _intl.changes.subscribe(() => this._changeDetectorRef.markForCheck());\n\n if (defaults) {\n const {pageSize, pageSizeOptions, hidePageSize, showFirstLastButtons} = defaults;\n\n if (pageSize != null) {\n this._pageSize = pageSize;\n }\n\n if (pageSizeOptions != null) {\n this._pageSizeOptions = pageSizeOptions;\n }\n\n if (hidePageSize != null) {\n this.hidePageSize = hidePageSize;\n }\n\n if (showFirstLastButtons != null) {\n this.showFirstLastButtons = showFirstLastButtons;\n }\n }\n\n this._formFieldAppearance = defaults?.formFieldAppearance || 'outline';\n }\n\n ngOnInit() {\n this._initialized = true;\n this._updateDisplayedPageSizeOptions();\n this._markInitialized();\n }\n\n ngOnDestroy() {\n this._intlChanges.unsubscribe();\n }\n\n /** Advances to the next page if it exists. */\n nextPage(): void {\n if (!this.hasNextPage()) {\n return;\n }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = this.pageIndex + 1;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Move back to the previous page if it exists. */\n previousPage(): void {\n if (!this.hasPreviousPage()) {\n return;\n }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = this.pageIndex - 1;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Move to the first page if not already there. */\n firstPage(): void {\n // hasPreviousPage being false implies at the start\n if (!this.hasPreviousPage()) {\n return;\n }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = 0;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Move to the last page if not already there. */\n lastPage(): void {\n // hasNextPage being false implies at the end\n if (!this.hasNextPage()) {\n return;\n }\n\n const previousPageIndex = this.pageIndex;\n this.pageIndex = this.getNumberOfPages() - 1;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Whether there is a previous page. */\n hasPreviousPage(): boolean {\n return this.pageIndex >= 1 && this.pageSize != 0;\n }\n\n /** Whether there is a next page. */\n hasNextPage(): boolean {\n const maxPageIndex = this.getNumberOfPages() - 1;\n return this.pageIndex < maxPageIndex && this.pageSize != 0;\n }\n\n /** Calculate the number of pages */\n getNumberOfPages(): number {\n if (!this.pageSize) {\n return 0;\n }\n\n return Math.ceil(this.length / this.pageSize);\n }\n\n /**\n * Changes the page size so that the first item displayed on the page will still be\n * displayed using the new page size.\n *\n * For example, if the page size is 10 and on the second page (items indexed 10-19) then\n * switching so that the page size is 5 will set the third page as the current page so\n * that the 10th item will still be displayed.\n */\n _changePageSize(pageSize: number) {\n // Current page needs to be updated to reflect the new page size. Navigate to the page\n // containing the previous page's first item.\n const startIndex = this.pageIndex * this.pageSize;\n const previousPageIndex = this.pageIndex;\n\n this.pageIndex = Math.floor(startIndex / pageSize) || 0;\n this.pageSize = pageSize;\n this._emitPageEvent(previousPageIndex);\n }\n\n /** Checks whether the buttons for going forwards should be disabled. */\n _nextButtonsDisabled() {\n return this.disabled || !this.hasNextPage();\n }\n\n /** Checks whether the buttons for going backwards should be disabled. */\n _previousButtonsDisabled() {\n return this.disabled || !this.hasPreviousPage();\n }\n\n /**\n * Updates the list of page size options to display to the user. Includes making sure that\n * the page size is an option and that the list is sorted.\n */\n private _updateDisplayedPageSizeOptions() {\n if (!this._initialized) {\n return;\n }\n\n // If no page size is provided, use the first page size option or the default page size.\n if (!this.pageSize) {\n this._pageSize =\n this.pageSizeOptions.length != 0 ? this.pageSizeOptions[0] : DEFAULT_PAGE_SIZE;\n }\n\n this._displayedPageSizeOptions = this.pageSizeOptions.slice();\n\n if (this._displayedPageSizeOptions.indexOf(this.pageSize) === -1) {\n this._displayedPageSizeOptions.push(this.pageSize);\n }\n\n // Sort the numbers using a number-specific sort function.\n this._displayedPageSizeOptions.sort((a, b) => a - b);\n this._changeDetectorRef.markForCheck();\n }\n\n /** Emits an event notifying that a change of the paginator's properties has been triggered. */\n private _emitPageEvent(previousPageIndex: number) {\n this.page.emit({\n previousPageIndex,\n pageIndex: this.pageIndex,\n pageSize: this.pageSize,\n length: this.length,\n });\n }\n}\n","<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\">\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 [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 </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-live=\"polite\">\n {{_intl.getRangeLabel(pageIndex, pageSize, length)}}\n </div>\n\n @if (showFirstLastButtons) {\n <button mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-first\"\n (click)=\"firstPage()\"\n [attr.aria-label]=\"_intl.firstPageLabel\"\n [matTooltip]=\"_intl.firstPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-previous\"\n (click)=\"previousPage()\"\n [attr.aria-label]=\"_intl.previousPageLabel\"\n [matTooltip]=\"_intl.previousPageLabel\"\n [matTooltipDisabled]=\"_previousButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_previousButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-next\"\n (click)=\"nextPage()\"\n [attr.aria-label]=\"_intl.nextPageLabel\"\n [matTooltip]=\"_intl.nextPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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 mat-icon-button type=\"button\"\n class=\"mat-mdc-paginator-navigation-last\"\n (click)=\"lastPage()\"\n [attr.aria-label]=\"_intl.lastPageLabel\"\n [matTooltip]=\"_intl.lastPageLabel\"\n [matTooltipDisabled]=\"_nextButtonsDisabled()\"\n [matTooltipPosition]=\"'above'\"\n [disabled]=\"_nextButtonsDisabled()\">\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","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MAT_PAGINATOR_INTL_PROVIDER} from './paginator-intl';\nimport {MatButtonModule} from '@angular/material/button';\nimport {MatSelectModule} from '@angular/material/select';\nimport {MatTooltipModule} from '@angular/material/tooltip';\nimport {MatPaginator} from './paginator';\n\n@NgModule({\n imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator],\n exports: [MatPaginator],\n providers: [MAT_PAGINATOR_INTL_PROVIDER],\n})\nexport class MatPaginatorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}