@angular/material 21.0.0-next.9 → 21.0.0-rc.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 (202) 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 +811 -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 -344
  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 +120 -213
  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/timepicker.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"paginator.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/paginator/paginator-intl.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/paginator/paginator.ts","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/paginator/paginator.html","../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/paginator/paginator-module.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.dev/license\n */\n\nimport {Injectable} 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 * @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.dev/license\n */\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MatOption, ThemePalette} from '../core';\nimport {MatSelect} from '../select';\nimport {MatIconButton} from '../button';\nimport {MatTooltip} from '../tooltip';\nimport {MatFormField, MatFormFieldAppearance} from '../form-field';\nimport {Observable, ReplaySubject, 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/**\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 styleUrl: 'paginator.css',\n host: {\n 'class': 'mat-mdc-paginator',\n 'role': 'group',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [MatFormField, MatSelect, MatOption, MatIconButton, MatTooltip],\n})\nexport class MatPaginator implements OnInit, OnDestroy {\n _intl = inject(MatPaginatorIntl);\n private _changeDetectorRef = inject(ChangeDetectorRef);\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 = inject(_IdGenerator).getId('mat-paginator-page-size-label-');\n\n private _intlChanges: Subscription;\n private _isInitialized = false;\n private _initializedStream = new ReplaySubject<void>(1);\n\n /**\n * Theme color of the underlying form controls. This API is supported in M2\n * themes only,it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/paginator/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\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 /** Emits when the paginator is initialized. */\n initialized: Observable<void> = this._initializedStream;\n\n /** Inserted by Angular inject() migration for backwards compatibility */\n constructor(...args: unknown[]);\n\n constructor() {\n const _intl = this._intl;\n const defaults = inject<MatPaginatorDefaultOptions>(MAT_PAGINATOR_DEFAULT_OPTIONS, {\n optional: true,\n });\n\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._isInitialized = true;\n this._updateDisplayedPageSizeOptions();\n this._initializedStream.next();\n }\n\n ngOnDestroy() {\n this._initializedStream.complete();\n this._intlChanges.unsubscribe();\n }\n\n /** Advances to the next page if it exists. */\n nextPage(): void {\n if (this.hasNextPage()) {\n this._navigate(this.pageIndex + 1);\n }\n }\n\n /** Move back to the previous page if it exists. */\n previousPage(): void {\n if (this.hasPreviousPage()) {\n this._navigate(this.pageIndex - 1);\n }\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 this._navigate(0);\n }\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 this._navigate(this.getNumberOfPages() - 1);\n }\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._isInitialized) {\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 /** Navigates to a specific page index. */\n private _navigate(index: number) {\n const previousIndex = this.pageIndex;\n\n if (index !== previousIndex) {\n this.pageIndex = index;\n this._emitPageEvent(previousIndex);\n }\n }\n\n /**\n * Callback invoked when one of the navigation buttons is called.\n * @param targetIndex Index to which the paginator should navigate.\n * @param isDisabled Whether the button is disabled.\n */\n protected _buttonClicked(targetIndex: number, isDisabled: boolean) {\n // Note that normally disabled buttons won't dispatch the click event, but the paginator ones\n // do, because we're using `disabledInteractive` to allow them to be focusable. We need to\n // check here to avoid the navigation.\n if (!isDisabled) {\n this._navigate(targetIndex);\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\" 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","/**\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.dev/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '../button';\nimport {MatSelectModule} from '../select';\nimport {MatTooltipModule} from '../tooltip';\nimport {MatPaginator} from './paginator';\n\n@NgModule({\n imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator],\n exports: [MatPaginator],\n})\nexport class MatPaginatorModule {}\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paginator.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/paginator/paginator-intl.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/paginator/paginator.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/paginator/paginator.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/paginator/paginator-module.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.dev/license\n */\n\nimport {Injectable} 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 * @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.dev/license\n */\n\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n EventEmitter,\n InjectionToken,\n Input,\n OnDestroy,\n OnInit,\n Output,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n numberAttribute,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MatOption, ThemePalette} from '../core';\nimport {MatSelect} from '../select';\nimport {MatIconButton} from '../button';\nimport {MatTooltip} from '../tooltip';\nimport {MatFormField, MatFormFieldAppearance} from '../form-field';\nimport {Observable, ReplaySubject, 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/**\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 styleUrl: 'paginator.css',\n host: {\n 'class': 'mat-mdc-paginator',\n 'role': 'group',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n imports: [MatFormField, MatSelect, MatOption, MatIconButton, MatTooltip],\n})\nexport class MatPaginator implements OnInit, OnDestroy {\n _intl = inject(MatPaginatorIntl);\n private _changeDetectorRef = inject(ChangeDetectorRef);\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 = inject(_IdGenerator).getId('mat-paginator-page-size-label-');\n\n private _intlChanges: Subscription;\n private _isInitialized = false;\n private _initializedStream = new ReplaySubject<void>(1);\n\n /**\n * Theme color of the underlying form controls. This API is supported in M2\n * themes only,it has no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/paginator/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\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 /** Emits when the paginator is initialized. */\n initialized: Observable<void> = this._initializedStream;\n\n /** Inserted by Angular inject() migration for backwards compatibility */\n constructor(...args: unknown[]);\n\n constructor() {\n const _intl = this._intl;\n const defaults = inject<MatPaginatorDefaultOptions>(MAT_PAGINATOR_DEFAULT_OPTIONS, {\n optional: true,\n });\n\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._isInitialized = true;\n this._updateDisplayedPageSizeOptions();\n this._initializedStream.next();\n }\n\n ngOnDestroy() {\n this._initializedStream.complete();\n this._intlChanges.unsubscribe();\n }\n\n /** Advances to the next page if it exists. */\n nextPage(): void {\n if (this.hasNextPage()) {\n this._navigate(this.pageIndex + 1);\n }\n }\n\n /** Move back to the previous page if it exists. */\n previousPage(): void {\n if (this.hasPreviousPage()) {\n this._navigate(this.pageIndex - 1);\n }\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 this._navigate(0);\n }\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 this._navigate(this.getNumberOfPages() - 1);\n }\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._isInitialized) {\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 /** Navigates to a specific page index. */\n private _navigate(index: number) {\n const previousIndex = this.pageIndex;\n\n if (index !== previousIndex) {\n this.pageIndex = index;\n this._emitPageEvent(previousIndex);\n }\n }\n\n /**\n * Callback invoked when one of the navigation buttons is called.\n * @param targetIndex Index to which the paginator should navigate.\n * @param isDisabled Whether the button is disabled.\n */\n protected _buttonClicked(targetIndex: number, isDisabled: boolean) {\n // Note that normally disabled buttons won't dispatch the click event, but the paginator ones\n // do, because we're using `disabledInteractive` to allow them to be focusable. We need to\n // check here to avoid the navigation.\n if (!isDisabled) {\n this._navigate(targetIndex);\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\" 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","/**\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.dev/license\n */\n\nimport {NgModule} from '@angular/core';\nimport {MatButtonModule} from '../button';\nimport {MatSelectModule} from '../select';\nimport {MatTooltipModule} from '../tooltip';\nimport {MatPaginator} from './paginator';\n\n@NgModule({\n imports: [MatButtonModule, MatSelectModule, MatTooltipModule, MatPaginator],\n exports: [MatPaginator],\n})\nexport class MatPaginatorModule {}\n"],"names":["MatPaginatorIntl","changes","Subject","itemsPerPageLabel","nextPageLabel","previousPageLabel","firstPageLabel","lastPageLabel","getRangeLabel","page","pageSize","length","Math","max","startIndex","endIndex","min","deps","target","i0","ɵɵFactoryTarget","Injectable","ɵprov","ɵɵngDeclareInjectable","minVersion","version","ngImport","type","decorators","providedIn","DEFAULT_PAGE_SIZE","PageEvent","pageIndex","previousPageIndex","MAT_PAGINATOR_DEFAULT_OPTIONS","InjectionToken","MatPaginator","_intl","inject","_changeDetectorRef","ChangeDetectorRef","_formFieldAppearance","_pageSizeLabelId","_IdGenerator","getId","_intlChanges","_isInitialized","_initializedStream","ReplaySubject","color","_pageIndex","value","markForCheck","_length","_pageSize","_updateDisplayedPageSizeOptions","pageSizeOptions","_pageSizeOptions","map","p","numberAttribute","hidePageSize","showFirstLastButtons","selectConfig","disabled","EventEmitter","_displayedPageSizeOptions","initialized","constructor","defaults","optional","subscribe","formFieldAppearance","ngOnInit","next","ngOnDestroy","complete","unsubscribe","nextPage","hasNextPage","_navigate","previousPage","hasPreviousPage","firstPage","lastPage","getNumberOfPages","maxPageIndex","ceil","_changePageSize","floor","_emitPageEvent","_nextButtonsDisabled","_previousButtonsDisabled","slice","indexOf","push","sort","a","b","emit","index","previousIndex","_buttonClicked","targetIndex","isDisabled","Component","isStandalone","selector","inputs","booleanAttribute","outputs","host","attributes","classAttribute","exportAs","template","styles","dependencies","kind","MatFormField","MatSelect","MatOption","MatIconButton","MatTooltip","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","imports","Input","transform","Output","MatPaginatorModule","NgModule","MatButtonModule","MatSelectModule","MatTooltipModule","exports","ɵinj","ɵɵngDeclareInjector","args"],"mappings":"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"}
@@ -1,28 +1,19 @@
1
1
  import { coerceNumberProperty } from '@angular/cdk/coercion';
2
2
  import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
3
3
 
4
- /** Harness for interacting with a `mat-progress-bar` in tests. */
5
4
  class MatProgressBarHarness extends ComponentHarness {
6
- static hostSelector = '.mat-mdc-progress-bar';
7
- /**
8
- * Gets a `HarnessPredicate` that can be used to search for a progress bar with specific
9
- * attributes.
10
- * @param options Options for filtering which progress bar instances are considered a match.
11
- * @return a `HarnessPredicate` configured with the given options.
12
- */
13
- static with(options = {}) {
14
- return new HarnessPredicate(this, options);
15
- }
16
- /** Gets a promise for the progress bar's value. */
17
- async getValue() {
18
- const host = await this.host();
19
- const ariaValue = await host.getAttribute('aria-valuenow');
20
- return ariaValue ? coerceNumberProperty(ariaValue) : null;
21
- }
22
- /** Gets a promise for the progress bar's mode. */
23
- async getMode() {
24
- return (await this.host()).getAttribute('mode');
25
- }
5
+ static hostSelector = '.mat-mdc-progress-bar';
6
+ static with(options = {}) {
7
+ return new HarnessPredicate(this, options);
8
+ }
9
+ async getValue() {
10
+ const host = await this.host();
11
+ const ariaValue = await host.getAttribute('aria-valuenow');
12
+ return ariaValue ? coerceNumberProperty(ariaValue) : null;
13
+ }
14
+ async getMode() {
15
+ return (await this.host()).getAttribute('mode');
16
+ }
26
17
  }
27
18
 
28
19
  export { MatProgressBarHarness };
@@ -1 +1 @@
1
- {"version":3,"file":"progress-bar-testing.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-199a4f3c4e20/bin/src/material/progress-bar/testing/progress-bar-harness.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.dev/license\n */\n\nimport {coerceNumberProperty} from '@angular/cdk/coercion';\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ProgressBarHarnessFilters} from './progress-bar-harness-filters';\n\n/** Harness for interacting with a `mat-progress-bar` in tests. */\nexport class MatProgressBarHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-progress-bar';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a progress bar with specific\n * attributes.\n * @param options Options for filtering which progress bar instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatProgressBarHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ProgressBarHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Gets a promise for the progress bar's value. */\n async getValue(): Promise<number | null> {\n const host = await this.host();\n const ariaValue = await host.getAttribute('aria-valuenow');\n return ariaValue ? coerceNumberProperty(ariaValue) : null;\n }\n\n /** Gets a promise for the progress bar's mode. */\n async getMode(): Promise<string | null> {\n return (await this.host()).getAttribute('mode');\n }\n}\n"],"names":[],"mappings":";;;AAgBA;AACM,MAAO,qBAAsB,SAAQ,gBAAgB,CAAA;AACzD,IAAA,OAAO,YAAY,GAAG,uBAAuB;AAE7C;;;;;AAKG;AACH,IAAA,OAAO,IAAI,CAET,OAAA,GAAqC,EAAE,EAAA;AAEvC,QAAA,OAAO,IAAI,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC;;;AAI5C,IAAA,MAAM,QAAQ,GAAA;AACZ,QAAA,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,IAAI,EAAE;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;AAC1D,QAAA,OAAO,SAAS,GAAG,oBAAoB,CAAC,SAAS,CAAC,GAAG,IAAI;;;AAI3D,IAAA,MAAM,OAAO,GAAA;AACX,QAAA,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC;;;;;;"}
1
+ {"version":3,"file":"progress-bar-testing.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/progress-bar/testing/progress-bar-harness.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.dev/license\n */\n\nimport {coerceNumberProperty} from '@angular/cdk/coercion';\nimport {\n ComponentHarness,\n ComponentHarnessConstructor,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {ProgressBarHarnessFilters} from './progress-bar-harness-filters';\n\n/** Harness for interacting with a `mat-progress-bar` in tests. */\nexport class MatProgressBarHarness extends ComponentHarness {\n static hostSelector = '.mat-mdc-progress-bar';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a progress bar with specific\n * attributes.\n * @param options Options for filtering which progress bar instances are considered a match.\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with<T extends MatProgressBarHarness>(\n this: ComponentHarnessConstructor<T>,\n options: ProgressBarHarnessFilters = {},\n ): HarnessPredicate<T> {\n return new HarnessPredicate(this, options);\n }\n\n /** Gets a promise for the progress bar's value. */\n async getValue(): Promise<number | null> {\n const host = await this.host();\n const ariaValue = await host.getAttribute('aria-valuenow');\n return ariaValue ? coerceNumberProperty(ariaValue) : null;\n }\n\n /** Gets a promise for the progress bar's mode. */\n async getMode(): Promise<string | null> {\n return (await this.host()).getAttribute('mode');\n }\n}\n"],"names":["MatProgressBarHarness","ComponentHarness","hostSelector","with","options","HarnessPredicate","getValue","host","ariaValue","getAttribute","coerceNumberProperty","getMode"],"mappings":";;;AAiBM,MAAOA,qBAAsB,SAAQC,gBAAgB,CAAA;EACzD,OAAOC,YAAY,GAAG,uBAAuB;AAQ7C,EAAA,OAAOC,IAAIA,CAETC,OAAA,GAAqC,EAAE,EAAA;AAEvC,IAAA,OAAO,IAAIC,gBAAgB,CAAC,IAAI,EAAED,OAAO,CAAC;AAC5C;EAGA,MAAME,QAAQA,GAAA;AACZ,IAAA,MAAMC,IAAI,GAAG,MAAM,IAAI,CAACA,IAAI,EAAE;IAC9B,MAAMC,SAAS,GAAG,MAAMD,IAAI,CAACE,YAAY,CAAC,eAAe,CAAC;AAC1D,IAAA,OAAOD,SAAS,GAAGE,oBAAoB,CAACF,SAAS,CAAC,GAAG,IAAI;AAC3D;EAGA,MAAMG,OAAOA,GAAA;IACX,OAAO,CAAC,MAAM,IAAI,CAACJ,IAAI,EAAE,EAAEE,YAAY,CAAC,MAAM,CAAC;AACjD;;;;;"}