@angular/material 22.1.3 → 22.2.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 (132) hide show
  1. package/fesm2022/_error-options-chunk.mjs +6 -6
  2. package/fesm2022/_form-field-chunk.mjs +30 -30
  3. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  4. package/fesm2022/_icon-button-chunk.mjs +6 -6
  5. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  6. package/fesm2022/_icon-registry-chunk.mjs +3 -3
  7. package/fesm2022/_icon-registry-chunk.mjs.map +1 -1
  8. package/fesm2022/_internal-form-field-chunk.mjs +3 -3
  9. package/fesm2022/_internal-form-field-chunk.mjs.map +1 -1
  10. package/fesm2022/_line-chunk.mjs +7 -7
  11. package/fesm2022/_line-chunk.mjs.map +1 -1
  12. package/fesm2022/_option-chunk.mjs +6 -6
  13. package/fesm2022/_option-chunk.mjs.map +1 -1
  14. package/fesm2022/_option-module-chunk.mjs +4 -4
  15. package/fesm2022/_option-module-chunk.mjs.map +1 -1
  16. package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
  17. package/fesm2022/_pseudo-checkbox-chunk.mjs.map +1 -1
  18. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  19. package/fesm2022/_pseudo-checkbox-module-chunk.mjs.map +1 -1
  20. package/fesm2022/_ripple-chunk.mjs +6 -6
  21. package/fesm2022/_ripple-chunk.mjs.map +1 -1
  22. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  23. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  24. package/fesm2022/_ripple-module-chunk.mjs.map +1 -1
  25. package/fesm2022/_structural-styles-chunk.mjs +3 -3
  26. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  27. package/fesm2022/_tooltip-chunk.mjs +6 -6
  28. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  29. package/fesm2022/autocomplete.mjs +13 -13
  30. package/fesm2022/autocomplete.mjs.map +1 -1
  31. package/fesm2022/badge.mjs +10 -10
  32. package/fesm2022/badge.mjs.map +1 -1
  33. package/fesm2022/bottom-sheet.mjs +10 -10
  34. package/fesm2022/button-toggle.mjs +10 -10
  35. package/fesm2022/button-toggle.mjs.map +1 -1
  36. package/fesm2022/button.mjs +13 -13
  37. package/fesm2022/button.mjs.map +1 -1
  38. package/fesm2022/card.mjs +46 -46
  39. package/fesm2022/card.mjs.map +1 -1
  40. package/fesm2022/checkbox.mjs +7 -7
  41. package/fesm2022/checkbox.mjs.map +1 -1
  42. package/fesm2022/chips.mjs +46 -46
  43. package/fesm2022/chips.mjs.map +1 -1
  44. package/fesm2022/core.mjs +12 -12
  45. package/fesm2022/core.mjs.map +1 -1
  46. package/fesm2022/datepicker.mjs +82 -82
  47. package/fesm2022/datepicker.mjs.map +1 -1
  48. package/fesm2022/dialog.mjs +25 -25
  49. package/fesm2022/dialog.mjs.map +1 -1
  50. package/fesm2022/divider.mjs +7 -7
  51. package/fesm2022/divider.mjs.map +1 -1
  52. package/fesm2022/expansion.mjs +25 -25
  53. package/fesm2022/expansion.mjs.map +1 -1
  54. package/fesm2022/form-field.mjs +4 -4
  55. package/fesm2022/form-field.mjs.map +1 -1
  56. package/fesm2022/grid-list.mjs +22 -22
  57. package/fesm2022/grid-list.mjs.map +1 -1
  58. package/fesm2022/icon-testing.mjs +7 -7
  59. package/fesm2022/icon.mjs +7 -7
  60. package/fesm2022/icon.mjs.map +1 -1
  61. package/fesm2022/input.mjs +7 -7
  62. package/fesm2022/input.mjs.map +1 -1
  63. package/fesm2022/list.mjs +49 -49
  64. package/fesm2022/list.mjs.map +1 -1
  65. package/fesm2022/menu.mjs +22 -22
  66. package/fesm2022/menu.mjs.map +1 -1
  67. package/fesm2022/paginator.mjs +10 -10
  68. package/fesm2022/paginator.mjs.map +1 -1
  69. package/fesm2022/progress-bar.mjs +7 -7
  70. package/fesm2022/progress-bar.mjs.map +1 -1
  71. package/fesm2022/progress-spinner.mjs +7 -7
  72. package/fesm2022/progress-spinner.mjs.map +1 -1
  73. package/fesm2022/radio.mjs +10 -10
  74. package/fesm2022/radio.mjs.map +1 -1
  75. package/fesm2022/select.mjs +10 -10
  76. package/fesm2022/select.mjs.map +1 -1
  77. package/fesm2022/sidenav.mjs +22 -22
  78. package/fesm2022/sidenav.mjs.map +1 -1
  79. package/fesm2022/slide-toggle.mjs +7 -7
  80. package/fesm2022/slide-toggle.mjs.map +1 -1
  81. package/fesm2022/slider.mjs +16 -16
  82. package/fesm2022/slider.mjs.map +1 -1
  83. package/fesm2022/snack-bar.mjs +22 -22
  84. package/fesm2022/snack-bar.mjs.map +1 -1
  85. package/fesm2022/sort.mjs +13 -13
  86. package/fesm2022/sort.mjs.map +1 -1
  87. package/fesm2022/stepper.mjs +31 -31
  88. package/fesm2022/stepper.mjs.map +1 -1
  89. package/fesm2022/table.mjs +55 -55
  90. package/fesm2022/table.mjs.map +1 -1
  91. package/fesm2022/tabs.mjs +43 -43
  92. package/fesm2022/tabs.mjs.map +1 -1
  93. package/fesm2022/timepicker.mjs +13 -13
  94. package/fesm2022/timepicker.mjs.map +1 -1
  95. package/fesm2022/toolbar.mjs +10 -10
  96. package/fesm2022/toolbar.mjs.map +1 -1
  97. package/fesm2022/tooltip.mjs +4 -4
  98. package/fesm2022/tooltip.mjs.map +1 -1
  99. package/fesm2022/tree.mjs +25 -25
  100. package/fesm2022/tree.mjs.map +1 -1
  101. package/package.json +6 -6
  102. package/schematics/ng-add/index.js +2 -2
  103. package/types/autocomplete-testing.d.ts +1 -1
  104. package/types/autocomplete.d.ts +4 -3
  105. package/types/badge-testing.d.ts +1 -1
  106. package/types/button-toggle-testing.d.ts +1 -1
  107. package/types/button-toggle.d.ts +1 -1
  108. package/types/button.d.ts +3 -3
  109. package/types/checkbox.d.ts +1 -1
  110. package/types/chips.d.ts +3 -3
  111. package/types/datepicker.d.ts +4 -4
  112. package/types/dialog-testing.d.ts +1 -1
  113. package/types/form-field-testing.d.ts +2 -2
  114. package/types/grid-list.d.ts +2 -1
  115. package/types/icon-testing.d.ts +1 -1
  116. package/types/input-testing.d.ts +1 -1
  117. package/types/input.d.ts +3 -3
  118. package/types/list-testing.d.ts +1 -1
  119. package/types/list.d.ts +4 -4
  120. package/types/menu.d.ts +1 -1
  121. package/types/progress-bar.d.ts +1 -1
  122. package/types/progress-spinner-testing.d.ts +1 -1
  123. package/types/radio.d.ts +2 -2
  124. package/types/select.d.ts +6 -5
  125. package/types/slide-toggle.d.ts +1 -1
  126. package/types/slider.d.ts +3 -3
  127. package/types/sort-testing.d.ts +1 -1
  128. package/types/stepper.d.ts +4 -4
  129. package/types/table.d.ts +2 -2
  130. package/types/tabs.d.ts +2 -2
  131. package/types/timepicker-testing.d.ts +1 -1
  132. package/types/timepicker.d.ts +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"table.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/table.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/cell.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/row.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/text-column.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/table-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/table-data-source.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 {ChangeDetectionStrategy, Component, Directive, ViewEncapsulation} from '@angular/core';\nimport {\n CdkTable,\n CDK_TABLE,\n STICKY_POSITIONING_LISTENER,\n HeaderRowOutlet,\n DataRowOutlet,\n NoDataRowOutlet,\n FooterRowOutlet,\n} from '@angular/cdk/table';\nimport {_DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy} from '@angular/cdk/collections';\n\n/**\n * Enables the recycle view repeater strategy, which reduces rendering latency. Not compatible with\n * tables that animate rows.\n *\n * @deprecated This directive is a no-op and will be removed.\n * @breaking-change 23.0.0\n */\n@Directive({selector: 'mat-table[recycleRows], table[mat-table][recycleRows]'})\nexport class MatRecycleRows {}\n\n@Component({\n selector: 'mat-table, table[mat-table]',\n exportAs: 'matTable',\n // Note that according to MDN, the `caption` element has to be projected as the **first**\n // element in the table. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption\n template: `\n <ng-content select=\"caption\"/>\n <ng-content select=\"colgroup, col\"/>\n\n <!--\n Unprojected content throws a hydration error so we need this to capture it.\n It gets removed on the client so it doesn't affect the layout.\n -->\n @if (_isServer) {\n <ng-content/>\n }\n\n @if (_isNativeHtmlTable) {\n <thead role=\"rowgroup\">\n <ng-container headerRowOutlet/>\n </thead>\n <tbody class=\"mdc-data-table__content\" role=\"rowgroup\">\n <ng-container rowOutlet/>\n <ng-container noDataRowOutlet/>\n </tbody>\n <tfoot role=\"rowgroup\">\n <ng-container footerRowOutlet/>\n </tfoot>\n } @else {\n <ng-container headerRowOutlet/>\n <ng-container rowOutlet/>\n <ng-container noDataRowOutlet/>\n <ng-container footerRowOutlet/>\n }\n `,\n styleUrl: 'table.css',\n host: {\n 'class': 'mat-mdc-table mdc-data-table__table',\n '[class.mat-table-fixed-layout]': 'fixedLayout',\n },\n providers: [\n {provide: CdkTable, useExisting: MatTable},\n {provide: CDK_TABLE, useExisting: MatTable},\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n {provide: STICKY_POSITIONING_LISTENER, useValue: null},\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet],\n})\nexport class MatTable<T> extends CdkTable<T> {\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'mat-mdc-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\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 {Directive, Input} from '@angular/core';\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef,\n CdkFooterCell,\n CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\n\n/**\n * Cell definition for the mat-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[matCellDef]',\n providers: [{provide: CdkCellDef, useExisting: MatCellDef}],\n})\nexport class MatCellDef extends CdkCellDef {}\n\n/**\n * Header cell definition for the mat-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matHeaderCellDef]',\n providers: [{provide: CdkHeaderCellDef, useExisting: MatHeaderCellDef}],\n})\nexport class MatHeaderCellDef extends CdkHeaderCellDef {}\n\n/**\n * Footer cell definition for the mat-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matFooterCellDef]',\n providers: [{provide: CdkFooterCellDef, useExisting: MatFooterCellDef}],\n})\nexport class MatFooterCellDef extends CdkFooterCellDef {}\n\n/**\n * Column definition for the mat-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[matColumnDef]',\n providers: [{provide: CdkColumnDef, useExisting: MatColumnDef}],\n})\nexport class MatColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('matColumnDef')\n override get name(): string {\n return this._name;\n }\n override set name(name: string) {\n this._setNameInput(name);\n }\n\n /**\n * Add \"mat-column-\" prefix in addition to \"cdk-column-\" prefix.\n * In the future, this will only add \"mat-column-\" and columnCssClassName\n * will change from type string[] to string.\n * @docs-private\n */\n protected override _updateColumnCssClassName() {\n super._updateColumnCssClassName();\n this._columnCssClassName!.push(`mat-column-${this.cssClassFriendlyName}`);\n }\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-header-cell, th[mat-header-cell]',\n host: {\n 'class': 'mat-mdc-header-cell mdc-data-table__header-cell',\n 'role': 'columnheader',\n },\n})\nexport class MatHeaderCell extends CdkHeaderCell {}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-footer-cell, td[mat-footer-cell]',\n host: {\n 'class': 'mat-mdc-footer-cell mdc-data-table__cell',\n },\n})\nexport class MatFooterCell extends CdkFooterCell {}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-cell, td[mat-cell]',\n host: {\n 'class': 'mat-mdc-cell mdc-data-table__cell',\n },\n})\nexport class MatCell extends CdkCell {}\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 CdkFooterRow,\n CdkFooterRowDef,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkRow,\n CdkRowDef,\n CdkNoDataRow,\n CdkCellOutlet,\n} from '@angular/cdk/table';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\n\n// We can't reuse `CDK_ROW_TEMPLATE` because it's incompatible with local compilation mode.\nconst ROW_TEMPLATE = `<ng-container cdkCellOutlet></ng-container>`;\n\n/**\n * Header row definition for the mat-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[matHeaderRowDef]',\n providers: [{provide: CdkHeaderRowDef, useExisting: MatHeaderRowDef}],\n inputs: [\n {name: 'columns', alias: 'matHeaderRowDef'},\n {name: 'sticky', alias: 'matHeaderRowDefSticky', transform: booleanAttribute},\n ],\n})\nexport class MatHeaderRowDef extends CdkHeaderRowDef {}\n\n/**\n * Footer row definition for the mat-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[matFooterRowDef]',\n providers: [{provide: CdkFooterRowDef, useExisting: MatFooterRowDef}],\n inputs: [\n {name: 'columns', alias: 'matFooterRowDef'},\n {name: 'sticky', alias: 'matFooterRowDefSticky', transform: booleanAttribute},\n ],\n})\nexport class MatFooterRowDef extends CdkFooterRowDef {}\n\n/**\n * Data row definition for the mat-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[matRowDef]',\n providers: [{provide: CdkRowDef, useExisting: MatRowDef}],\n inputs: [\n {name: 'columns', alias: 'matRowDefColumns'},\n {name: 'when', alias: 'matRowDefWhen'},\n ],\n})\nexport class MatRowDef<T> extends CdkRowDef<T> {}\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'mat-header-row, tr[mat-header-row]',\n template: ROW_TEMPLATE,\n host: {\n 'class': 'mat-mdc-header-row mdc-data-table__header-row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matHeaderRow',\n providers: [{provide: CdkHeaderRow, useExisting: MatHeaderRow}],\n imports: [CdkCellOutlet],\n})\nexport class MatHeaderRow extends CdkHeaderRow {}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'mat-footer-row, tr[mat-footer-row]',\n template: ROW_TEMPLATE,\n host: {\n 'class': 'mat-mdc-footer-row mdc-data-table__row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matFooterRow',\n providers: [{provide: CdkFooterRow, useExisting: MatFooterRow}],\n imports: [CdkCellOutlet],\n})\nexport class MatFooterRow extends CdkFooterRow {}\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'mat-row, tr[mat-row]',\n template: ROW_TEMPLATE,\n host: {\n 'class': 'mat-mdc-row mdc-data-table__row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matRow',\n providers: [{provide: CdkRow, useExisting: MatRow}],\n imports: [CdkCellOutlet],\n})\nexport class MatRow extends CdkRow {}\n\n/** Row that can be used to display a message when no data is shown in the table. */\n@Directive({\n selector: 'ng-template[matNoDataRow]',\n providers: [{provide: CdkNoDataRow, useExisting: MatNoDataRow}],\n})\nexport class MatNoDataRow extends CdkNoDataRow {\n override _cellSelector = 'td, mat-cell, [mat-cell], .mat-cell';\n\n constructor() {\n super();\n this._contentClassNames.push('mat-mdc-no-data-row', 'mat-mdc-row', 'mdc-data-table__row');\n this._cellClassNames.push('mat-mdc-cell', 'mdc-data-table__cell', 'mat-no-data-cell');\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 {CdkTextColumn} from '@angular/cdk/table';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatColumnDef, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell} from './cell';\n\n/**\n * Column that simply shows text content for the header and row cells. Assumes that the table\n * is using the native table implementation (`<table>`).\n *\n * By default, the name of this column will be the header text and data property accessor.\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\n * input.\n */\n@Component({\n selector: 'mat-text-column',\n template: `\n <ng-container matColumnDef>\n <th mat-header-cell *matHeaderCellDef [style.text-align]=\"justify\">\n {{headerText}}\n </th>\n <td mat-cell *matCellDef=\"let data\" [style.text-align]=\"justify\">\n {{dataAccessor(data, name)}}\n </td>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None,\n // Change detection is intentionally not set to OnPush. This component's template will be provided\n // to the table to be inserted into its view. This is problematic when change detection runs since\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\n // mean's the template in the table's view will not have the updated value (and in fact will cause\n // an ExpressionChangedAfterItHasBeenCheckedError).\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [MatColumnDef, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell],\n})\nexport class MatTextColumn<T> extends CdkTextColumn<T> {}\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 {MatRecycleRows, MatTable} from './table';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {\n MatCell,\n MatCellDef,\n MatColumnDef,\n MatFooterCell,\n MatFooterCellDef,\n MatHeaderCell,\n MatHeaderCellDef,\n} from './cell';\nimport {\n MatFooterRow,\n MatFooterRowDef,\n MatHeaderRow,\n MatHeaderRowDef,\n MatRow,\n MatRowDef,\n MatNoDataRow,\n} from './row';\nimport {MatTextColumn} from './text-column';\n\nconst EXPORTED_DECLARATIONS = [\n // Table\n MatTable,\n MatRecycleRows,\n\n // Template defs\n MatHeaderCellDef,\n MatHeaderRowDef,\n MatColumnDef,\n MatCellDef,\n MatRowDef,\n MatFooterCellDef,\n MatFooterRowDef,\n\n // Cell directives\n MatHeaderCell,\n MatCell,\n MatFooterCell,\n\n // Row directives\n MatHeaderRow,\n MatRow,\n MatFooterRow,\n MatNoDataRow,\n\n MatTextColumn,\n];\n\n@NgModule({\n imports: [CdkTableModule, ...EXPORTED_DECLARATIONS],\n exports: [BidiModule, EXPORTED_DECLARATIONS],\n})\nexport class MatTableModule {}\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 {MatPaginator, PageEvent} from '../paginator';\nimport {\n BehaviorSubject,\n combineLatest,\n merge,\n Observable,\n of as observableOf,\n Subject,\n Subscription,\n} from 'rxjs';\nimport {DataSource} from '@angular/cdk/collections';\nimport {MatSort, Sort} from '../sort';\nimport {_isNumberValue} from '@angular/cdk/coercion';\nimport {map} from 'rxjs/operators';\n\n/**\n * Corresponds to `Number.MAX_SAFE_INTEGER`. Moved out into a variable here due to\n * flaky browser support and the value not being defined in Closure's typings.\n */\nconst MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Data source that accepts a client-side data array and includes native support of filtering,\n * sorting (using MatSort), and pagination (using MatPaginator).\n *\n * Allows for sort customization by overriding sortingDataAccessor, which defines how data\n * properties are accessed. Also allows for filter customization by overriding filterPredicate,\n * which defines how row data is converted to a string for filter matching.\n *\n * **Note:** This class is meant to be a simple data source to help you get started. As such\n * it isn't equipped to handle some more advanced cases like robust i18n support or server-side\n * interactions. If your app needs to support more advanced use cases, consider implementing your\n * own `DataSource`.\n */\nexport class MatTableDataSource<\n // TODO: Remove `any` type below in a breaking change:\n T extends object | any,\n P extends MatPaginator = MatPaginator,\n> extends DataSource<T> {\n /** Stream that emits when a new data array is set on the data source. */\n private readonly _data: BehaviorSubject<T[]>;\n\n /** Stream emitting render data to the table (depends on ordered data changes). */\n private readonly _renderData = new BehaviorSubject<T[]>([]);\n\n /** Stream that emits when a new filter string is set on the data source. */\n private readonly _filter = new BehaviorSubject<string>('');\n\n /** Used to react to internal changes of the paginator that are made by the data source itself. */\n private readonly _internalPageChanges = new Subject<void>();\n\n /**\n * Subscription to the changes that should trigger an update to the table's rendered rows, such\n * as filtering, sorting, pagination, or base data changes.\n */\n _renderChangesSubscription: Subscription | null = null;\n\n /**\n * The filtered set of data that has been matched by the filter string, or all the data if there\n * is no filter. Useful for knowing the set of data the table represents.\n * For example, a 'selectAll()' function would likely want to select the set of filtered data\n * shown to the user rather than all the data.\n */\n filteredData!: T[];\n\n /** Array of data that should be rendered by the table, where each object represents one row. */\n get data() {\n return this._data.value;\n }\n\n set data(data: T[]) {\n data = Array.isArray(data) ? data : [];\n this._data.next(data);\n // Normally the `filteredData` is updated by the re-render\n // subscription, but that won't happen if it's inactive.\n if (!this._renderChangesSubscription) {\n this._filterData(data);\n }\n }\n\n /**\n * Filter term that should be used to filter out objects from the data array. To override how\n * data objects match to this filter string, provide a custom function for filterPredicate.\n */\n get filter(): string {\n return this._filter.value;\n }\n\n set filter(filter: string) {\n this._filter.next(filter);\n // Normally the `filteredData` is updated by the re-render\n // subscription, but that won't happen if it's inactive.\n if (!this._renderChangesSubscription) {\n this._filterData(this.data);\n }\n }\n\n /**\n * Instance of the MatSort directive used by the table to control its sorting. Sort changes\n * emitted by the MatSort will trigger an update to the table's rendered data.\n */\n get sort(): MatSort | null | undefined {\n return this._sort;\n }\n\n set sort(sort: MatSort | null | undefined) {\n this._sort = sort;\n this._updateChangeSubscription();\n }\n\n private _sort: MatSort | null | undefined;\n\n /**\n * Instance of the paginator component used by the table to control what page of the data is\n * displayed. Page changes emitted by the paginator will trigger an update to the\n * table's rendered data.\n *\n * Note that the data source uses the paginator's properties to calculate which page of data\n * should be displayed. If the paginator receives its properties as template inputs,\n * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the paginator's view has been\n * initialized before assigning it to this data source.\n */\n get paginator(): P | null | undefined {\n return this._paginator;\n }\n\n set paginator(paginator: P | null | undefined) {\n this._paginator = paginator;\n this._updateChangeSubscription();\n }\n\n private _paginator: P | null | undefined;\n\n /**\n * Data accessor function that is used for accessing data properties for sorting through\n * the default sortData function.\n * This default function assumes that the sort header IDs (which defaults to the column name)\n * matches the data's properties (e.g. column Xyz represents data['Xyz']).\n * May be set to a custom function for different behavior.\n * @param data Data object that is being accessed.\n * @param sortHeaderId The name of the column that represents the data.\n */\n sortingDataAccessor: (data: T, sortHeaderId: string) => string | number = (\n data: T,\n sortHeaderId: string,\n ): string | number => {\n const value = (data as unknown as Record<string, any>)[sortHeaderId];\n\n if (_isNumberValue(value)) {\n const numberValue = Number(value);\n\n // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we leave them as strings.\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER\n return numberValue < MAX_SAFE_INTEGER ? numberValue : value;\n }\n\n return value;\n };\n\n /**\n * Gets a sorted copy of the data array based on the state of the MatSort. Called\n * after changes are made to the filtered data or when sort changes are emitted from MatSort.\n * By default, the function retrieves the active sort and its direction and compares data\n * by retrieving data using the sortingDataAccessor. May be overridden for a custom implementation\n * of data ordering.\n * @param data The array of data that should be sorted.\n * @param sort The connected MatSort that holds the current sort state.\n */\n sortData: (data: T[], sort: MatSort) => T[] = (data: T[], sort: MatSort): T[] => {\n const active = sort.active;\n const direction = sort.direction;\n if (!active || direction == '') {\n return data;\n }\n\n return data.sort((a, b) => {\n let valueA = this.sortingDataAccessor(a, active);\n let valueB = this.sortingDataAccessor(b, active);\n\n // If there are data in the column that can be converted to a number,\n // it must be ensured that the rest of the data\n // is of the same type so as not to order incorrectly.\n const valueAType = typeof valueA;\n const valueBType = typeof valueB;\n\n if (valueAType !== valueBType) {\n if (valueAType === 'number') {\n valueA += '';\n }\n if (valueBType === 'number') {\n valueB += '';\n }\n }\n\n // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if\n // one value exists while the other doesn't. In this case, existing value should come last.\n // This avoids inconsistent results when comparing values to undefined/null.\n // If neither value exists, return 0 (equal).\n let comparatorResult = 0;\n if (valueA != null && valueB != null) {\n // Check if one value is greater than the other; if equal, comparatorResult should remain 0.\n if (valueA > valueB) {\n comparatorResult = 1;\n } else if (valueA < valueB) {\n comparatorResult = -1;\n }\n } else if (valueA != null) {\n comparatorResult = 1;\n } else if (valueB != null) {\n comparatorResult = -1;\n }\n\n return comparatorResult * (direction == 'asc' ? 1 : -1);\n });\n };\n\n /**\n * Checks if a data object matches the data source's filter string. By default, each data object\n * is converted to a string of its properties and returns true if the filter has\n * at least one occurrence in that string. By default, the filter string has its whitespace\n * trimmed and the match is case-insensitive. May be overridden for a custom implementation of\n * filter matching.\n * @param data Data object used to check against the filter.\n * @param filter Filter string that has been set on the data source.\n * @returns Whether the filter matches against the data\n */\n filterPredicate: (data: T, filter: string) => boolean = (data: T, filter: string): boolean => {\n if (\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n (typeof data !== 'object' || data === null)\n ) {\n console.warn(\n 'Default implementation of filterPredicate requires data to be a non-null object.',\n );\n }\n\n // Transform the filter by converting it to lowercase and removing whitespace.\n const transformedFilter = filter.trim().toLowerCase();\n // Loops over the values in the array and returns true if any of them match the filter string\n // TODO: Remove `as object` cast when `T` stops extending `any`:\n return Object.values(data as object).some(value =>\n `${value}`.toLowerCase().includes(transformedFilter),\n );\n };\n\n constructor(initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n this._updateChangeSubscription();\n }\n\n /**\n * Subscribe to changes that should trigger an update to the table's rendered rows. When the\n * changes occur, process the current state of the filter, sort, and pagination along with\n * the provided base data and send it to the table for rendering.\n */\n _updateChangeSubscription() {\n // Sorting and/or pagination should be watched if sort and/or paginator are provided.\n // The events should emit whenever the component emits a change or initializes, or if no\n // component is provided, a stream with just a null event should be provided.\n // The `sortChange` and `pageChange` acts as a signal to the combineLatests below so that the\n // pipeline can progress to the next step. Note that the value from these streams are not used,\n // they purely act as a signal to progress in the pipeline.\n const sortChange: Observable<Sort | null | void> = this._sort\n ? (merge(this._sort.sortChange, this._sort.initialized) as Observable<Sort | void>)\n : observableOf(null);\n const pageChange: Observable<PageEvent | null | void> = this._paginator\n ? (merge(\n this._paginator.page,\n this._internalPageChanges,\n this._paginator.initialized,\n ) as Observable<PageEvent | void>)\n : observableOf(null);\n const dataStream = this._data;\n // Watch for base data or filter changes to provide a filtered set of data.\n const filteredData = combineLatest([dataStream, this._filter]).pipe(\n map(([data]) => this._filterData(data)),\n );\n // Watch for filtered data or sort changes to provide an ordered set of data.\n const orderedData = combineLatest([filteredData, sortChange]).pipe(\n map(([data]) => this._orderData(data)),\n );\n // Watch for ordered data or page changes to provide a paged set of data.\n const paginatedData = combineLatest([orderedData, pageChange]).pipe(\n map(([data]) => this._pageData(data)),\n );\n // Watched for paged data changes and send the result to the table to render.\n this._renderChangesSubscription?.unsubscribe();\n this._renderChangesSubscription = paginatedData.subscribe(data => this._renderData.next(data));\n }\n\n /**\n * Returns a filtered data array where each filter object contains the filter string within\n * the result of the filterPredicate function. If no filter is set, returns the data array\n * as provided.\n */\n _filterData(data: T[]) {\n // If there is a filter string, filter out data that does not contain it.\n // Each data object is converted to a string using the function defined by filterPredicate.\n // May be overridden for customization.\n this.filteredData =\n this.filter == null || this.filter === ''\n ? data\n : data.filter(obj => this.filterPredicate(obj, this.filter));\n\n if (this.paginator) {\n this._updatePaginator(this.filteredData.length);\n }\n\n return this.filteredData;\n }\n\n /**\n * Returns a sorted copy of the data if MatSort has a sort applied, otherwise just returns the\n * data array as provided. Uses the default data accessor for data lookup, unless a\n * sortDataAccessor function is defined.\n */\n _orderData(data: T[]): T[] {\n // If there is no active sort or direction, return the data without trying to sort.\n if (!this.sort) {\n return data;\n }\n\n return this.sortData(data.slice(), this.sort);\n }\n\n /**\n * Returns a paged slice of the provided data array according to the provided paginator's page\n * index and length. If there is no paginator provided, returns the data array as provided.\n */\n _pageData(data: T[]): T[] {\n if (!this.paginator) {\n return data;\n }\n\n const startIndex = this.paginator.pageIndex * this.paginator.pageSize;\n return data.slice(startIndex, startIndex + this.paginator.pageSize);\n }\n\n /**\n * Updates the paginator to reflect the length of the filtered data, and makes sure that the page\n * index does not exceed the paginator's last page. Values are changed in a resolved promise to\n * guard against making property changes within a round of change detection.\n */\n _updatePaginator(filteredDataLength: number) {\n Promise.resolve().then(() => {\n const paginator = this.paginator;\n\n if (!paginator) {\n return;\n }\n\n paginator.length = filteredDataLength;\n\n // If the page index is set beyond the page, reduce it to the last page.\n if (paginator.pageIndex > 0) {\n const lastPageIndex = Math.ceil(paginator.length / paginator.pageSize) - 1 || 0;\n const newPageIndex = Math.min(paginator.pageIndex, lastPageIndex);\n\n if (newPageIndex !== paginator.pageIndex) {\n paginator.pageIndex = newPageIndex;\n\n // Since the paginator only emits after user-generated changes,\n // we need our own stream so we know to should re-render the data.\n this._internalPageChanges.next();\n }\n }\n });\n }\n\n /**\n * Used by the MatTable. Called when it connects to the data source.\n * @docs-private\n */\n connect() {\n if (!this._renderChangesSubscription) {\n this._updateChangeSubscription();\n }\n\n return this._renderData;\n }\n\n /**\n * Used by the MatTable. Called when it disconnects from the data source.\n * @docs-private\n */\n disconnect() {\n this._renderChangesSubscription?.unsubscribe();\n this._renderChangesSubscription = null;\n }\n}\n"],"names":["observableOf"],"mappings":"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"}
1
+ {"version":3,"file":"table.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/table.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/cell.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/row.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/text-column.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/table-module.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/table/table-data-source.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 {ChangeDetectionStrategy, Component, Directive, ViewEncapsulation} from '@angular/core';\nimport {\n CdkTable,\n CDK_TABLE,\n STICKY_POSITIONING_LISTENER,\n HeaderRowOutlet,\n DataRowOutlet,\n NoDataRowOutlet,\n FooterRowOutlet,\n} from '@angular/cdk/table';\nimport {_DisposeViewRepeaterStrategy, _RecycleViewRepeaterStrategy} from '@angular/cdk/collections';\n\n/**\n * Enables the recycle view repeater strategy, which reduces rendering latency. Not compatible with\n * tables that animate rows.\n *\n * @deprecated This directive is a no-op and will be removed.\n * @breaking-change 23.0.0\n */\n@Directive({selector: 'mat-table[recycleRows], table[mat-table][recycleRows]'})\nexport class MatRecycleRows {}\n\n@Component({\n selector: 'mat-table, table[mat-table]',\n exportAs: 'matTable',\n // Note that according to MDN, the `caption` element has to be projected as the **first**\n // element in the table. See https://developer.mozilla.org/en-US/docs/Web/HTML/Element/caption\n template: `\n <ng-content select=\"caption\"/>\n <ng-content select=\"colgroup, col\"/>\n\n <!--\n Unprojected content throws a hydration error so we need this to capture it.\n It gets removed on the client so it doesn't affect the layout.\n -->\n @if (_isServer) {\n <ng-content/>\n }\n\n @if (_isNativeHtmlTable) {\n <thead role=\"rowgroup\">\n <ng-container headerRowOutlet/>\n </thead>\n <tbody class=\"mdc-data-table__content\" role=\"rowgroup\">\n <ng-container rowOutlet/>\n <ng-container noDataRowOutlet/>\n </tbody>\n <tfoot role=\"rowgroup\">\n <ng-container footerRowOutlet/>\n </tfoot>\n } @else {\n <ng-container headerRowOutlet/>\n <ng-container rowOutlet/>\n <ng-container noDataRowOutlet/>\n <ng-container footerRowOutlet/>\n }\n `,\n styleUrl: 'table.css',\n host: {\n 'class': 'mat-mdc-table mdc-data-table__table',\n '[class.mat-table-fixed-layout]': 'fixedLayout',\n },\n providers: [\n {provide: CdkTable, useExisting: MatTable},\n {provide: CDK_TABLE, useExisting: MatTable},\n // Prevent nested tables from seeing this table's StickyPositioningListener.\n {provide: STICKY_POSITIONING_LISTENER, useValue: null},\n ],\n encapsulation: ViewEncapsulation.None,\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [HeaderRowOutlet, DataRowOutlet, NoDataRowOutlet, FooterRowOutlet],\n})\nexport class MatTable<T> extends CdkTable<T> {\n /** Overrides the sticky CSS class set by the `CdkTable`. */\n protected override stickyCssClass = 'mat-mdc-table-sticky';\n\n /** Overrides the need to add position: sticky on every sticky cell element in `CdkTable`. */\n protected override needsPositionStickyOnElement = false;\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 {Directive, Input} from '@angular/core';\nimport {\n CdkCell,\n CdkCellDef,\n CdkColumnDef,\n CdkFooterCell,\n CdkFooterCellDef,\n CdkHeaderCell,\n CdkHeaderCellDef,\n} from '@angular/cdk/table';\n\n/**\n * Cell definition for the mat-table.\n * Captures the template of a column's data row cell as well as cell-specific properties.\n */\n@Directive({\n selector: '[matCellDef]',\n providers: [{provide: CdkCellDef, useExisting: MatCellDef}],\n})\nexport class MatCellDef extends CdkCellDef {}\n\n/**\n * Header cell definition for the mat-table.\n * Captures the template of a column's header cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matHeaderCellDef]',\n providers: [{provide: CdkHeaderCellDef, useExisting: MatHeaderCellDef}],\n})\nexport class MatHeaderCellDef extends CdkHeaderCellDef {}\n\n/**\n * Footer cell definition for the mat-table.\n * Captures the template of a column's footer cell and as well as cell-specific properties.\n */\n@Directive({\n selector: '[matFooterCellDef]',\n providers: [{provide: CdkFooterCellDef, useExisting: MatFooterCellDef}],\n})\nexport class MatFooterCellDef extends CdkFooterCellDef {}\n\n/**\n * Column definition for the mat-table.\n * Defines a set of cells available for a table column.\n */\n@Directive({\n selector: '[matColumnDef]',\n providers: [{provide: CdkColumnDef, useExisting: MatColumnDef}],\n})\nexport class MatColumnDef extends CdkColumnDef {\n /** Unique name for this column. */\n @Input('matColumnDef')\n override get name(): string {\n return this._name;\n }\n override set name(name: string) {\n this._setNameInput(name);\n }\n\n /**\n * Add \"mat-column-\" prefix in addition to \"cdk-column-\" prefix.\n * In the future, this will only add \"mat-column-\" and columnCssClassName\n * will change from type string[] to string.\n * @docs-private\n */\n protected override _updateColumnCssClassName() {\n super._updateColumnCssClassName();\n this._columnCssClassName!.push(`mat-column-${this.cssClassFriendlyName}`);\n }\n}\n\n/** Header cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-header-cell, th[mat-header-cell]',\n host: {\n 'class': 'mat-mdc-header-cell mdc-data-table__header-cell',\n 'role': 'columnheader',\n },\n})\nexport class MatHeaderCell extends CdkHeaderCell {}\n\n/** Footer cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-footer-cell, td[mat-footer-cell]',\n host: {\n 'class': 'mat-mdc-footer-cell mdc-data-table__cell',\n },\n})\nexport class MatFooterCell extends CdkFooterCell {}\n\n/** Cell template container that adds the right classes and role. */\n@Directive({\n selector: 'mat-cell, td[mat-cell]',\n host: {\n 'class': 'mat-mdc-cell mdc-data-table__cell',\n },\n})\nexport class MatCell extends CdkCell {}\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 CdkFooterRow,\n CdkFooterRowDef,\n CdkHeaderRow,\n CdkHeaderRowDef,\n CdkRow,\n CdkRowDef,\n CdkNoDataRow,\n CdkCellOutlet,\n} from '@angular/cdk/table';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n booleanAttribute,\n} from '@angular/core';\n\n// We can't reuse `CDK_ROW_TEMPLATE` because it's incompatible with local compilation mode.\nconst ROW_TEMPLATE = `<ng-container cdkCellOutlet></ng-container>`;\n\n/**\n * Header row definition for the mat-table.\n * Captures the header row's template and other header properties such as the columns to display.\n */\n@Directive({\n selector: '[matHeaderRowDef]',\n providers: [{provide: CdkHeaderRowDef, useExisting: MatHeaderRowDef}],\n inputs: [\n {name: 'columns', alias: 'matHeaderRowDef'},\n {name: 'sticky', alias: 'matHeaderRowDefSticky', transform: booleanAttribute},\n ],\n})\nexport class MatHeaderRowDef extends CdkHeaderRowDef {}\n\n/**\n * Footer row definition for the mat-table.\n * Captures the footer row's template and other footer properties such as the columns to display.\n */\n@Directive({\n selector: '[matFooterRowDef]',\n providers: [{provide: CdkFooterRowDef, useExisting: MatFooterRowDef}],\n inputs: [\n {name: 'columns', alias: 'matFooterRowDef'},\n {name: 'sticky', alias: 'matFooterRowDefSticky', transform: booleanAttribute},\n ],\n})\nexport class MatFooterRowDef extends CdkFooterRowDef {}\n\n/**\n * Data row definition for the mat-table.\n * Captures the data row's template and other properties such as the columns to display and\n * a when predicate that describes when this row should be used.\n */\n@Directive({\n selector: '[matRowDef]',\n providers: [{provide: CdkRowDef, useExisting: MatRowDef}],\n inputs: [\n {name: 'columns', alias: 'matRowDefColumns'},\n {name: 'when', alias: 'matRowDefWhen'},\n ],\n})\nexport class MatRowDef<T> extends CdkRowDef<T> {}\n\n/** Header template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'mat-header-row, tr[mat-header-row]',\n template: ROW_TEMPLATE,\n host: {\n 'class': 'mat-mdc-header-row mdc-data-table__header-row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matHeaderRow',\n providers: [{provide: CdkHeaderRow, useExisting: MatHeaderRow}],\n imports: [CdkCellOutlet],\n})\nexport class MatHeaderRow extends CdkHeaderRow {}\n\n/** Footer template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'mat-footer-row, tr[mat-footer-row]',\n template: ROW_TEMPLATE,\n host: {\n 'class': 'mat-mdc-footer-row mdc-data-table__row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matFooterRow',\n providers: [{provide: CdkFooterRow, useExisting: MatFooterRow}],\n imports: [CdkCellOutlet],\n})\nexport class MatFooterRow extends CdkFooterRow {}\n\n/** Data row template container that contains the cell outlet. Adds the right class and role. */\n@Component({\n selector: 'mat-row, tr[mat-row]',\n template: ROW_TEMPLATE,\n host: {\n 'class': 'mat-mdc-row mdc-data-table__row',\n 'role': 'row',\n },\n // See note on CdkTable for explanation on why this uses the default change detection strategy.\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matRow',\n providers: [{provide: CdkRow, useExisting: MatRow}],\n imports: [CdkCellOutlet],\n})\nexport class MatRow extends CdkRow {}\n\n/** Row that can be used to display a message when no data is shown in the table. */\n@Directive({\n selector: 'ng-template[matNoDataRow]',\n providers: [{provide: CdkNoDataRow, useExisting: MatNoDataRow}],\n})\nexport class MatNoDataRow extends CdkNoDataRow {\n override _cellSelector = 'td, mat-cell, [mat-cell], .mat-cell';\n\n constructor() {\n super();\n this._contentClassNames.push('mat-mdc-no-data-row', 'mat-mdc-row', 'mdc-data-table__row');\n this._cellClassNames.push('mat-mdc-cell', 'mdc-data-table__cell', 'mat-no-data-cell');\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 {CdkTextColumn} from '@angular/cdk/table';\nimport {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatColumnDef, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell} from './cell';\n\n/**\n * Column that simply shows text content for the header and row cells. Assumes that the table\n * is using the native table implementation (`<table>`).\n *\n * By default, the name of this column will be the header text and data property accessor.\n * The header text can be overridden with the `headerText` input. Cell values can be overridden with\n * the `dataAccessor` input. Change the text justification to the start or end using the `justify`\n * input.\n */\n@Component({\n selector: 'mat-text-column',\n template: `\n <ng-container matColumnDef>\n <th mat-header-cell *matHeaderCellDef [style.text-align]=\"justify\">\n {{headerText}}\n </th>\n <td mat-cell *matCellDef=\"let data\" [style.text-align]=\"justify\">\n {{dataAccessor(data, name)}}\n </td>\n </ng-container>\n `,\n encapsulation: ViewEncapsulation.None,\n // Change detection is intentionally not set to OnPush. This component's template will be provided\n // to the table to be inserted into its view. This is problematic when change detection runs since\n // the bindings in this template will be evaluated _after_ the table's view is evaluated, which\n // mean's the template in the table's view will not have the updated value (and in fact will cause\n // an ExpressionChangedAfterItHasBeenCheckedError).\n // tslint:disable-next-line:validate-decorators\n changeDetection: ChangeDetectionStrategy.Eager,\n imports: [MatColumnDef, MatHeaderCellDef, MatHeaderCell, MatCellDef, MatCell],\n})\nexport class MatTextColumn<T> extends CdkTextColumn<T> {}\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 {MatRecycleRows, MatTable} from './table';\nimport {BidiModule} from '@angular/cdk/bidi';\nimport {CdkTableModule} from '@angular/cdk/table';\nimport {\n MatCell,\n MatCellDef,\n MatColumnDef,\n MatFooterCell,\n MatFooterCellDef,\n MatHeaderCell,\n MatHeaderCellDef,\n} from './cell';\nimport {\n MatFooterRow,\n MatFooterRowDef,\n MatHeaderRow,\n MatHeaderRowDef,\n MatRow,\n MatRowDef,\n MatNoDataRow,\n} from './row';\nimport {MatTextColumn} from './text-column';\n\nconst EXPORTED_DECLARATIONS = [\n // Table\n MatTable,\n MatRecycleRows,\n\n // Template defs\n MatHeaderCellDef,\n MatHeaderRowDef,\n MatColumnDef,\n MatCellDef,\n MatRowDef,\n MatFooterCellDef,\n MatFooterRowDef,\n\n // Cell directives\n MatHeaderCell,\n MatCell,\n MatFooterCell,\n\n // Row directives\n MatHeaderRow,\n MatRow,\n MatFooterRow,\n MatNoDataRow,\n\n MatTextColumn,\n];\n\n@NgModule({\n imports: [CdkTableModule, ...EXPORTED_DECLARATIONS],\n exports: [BidiModule, EXPORTED_DECLARATIONS],\n})\nexport class MatTableModule {}\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 {MatPaginator, PageEvent} from '../paginator';\nimport {\n BehaviorSubject,\n combineLatest,\n merge,\n Observable,\n of as observableOf,\n Subject,\n Subscription,\n} from 'rxjs';\nimport {DataSource} from '@angular/cdk/collections';\nimport {MatSort, Sort} from '../sort';\nimport {_isNumberValue} from '@angular/cdk/coercion';\nimport {map} from 'rxjs/operators';\n\n/**\n * Corresponds to `Number.MAX_SAFE_INTEGER`. Moved out into a variable here due to\n * flaky browser support and the value not being defined in Closure's typings.\n */\nconst MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Data source that accepts a client-side data array and includes native support of filtering,\n * sorting (using MatSort), and pagination (using MatPaginator).\n *\n * Allows for sort customization by overriding sortingDataAccessor, which defines how data\n * properties are accessed. Also allows for filter customization by overriding filterPredicate,\n * which defines how row data is converted to a string for filter matching.\n *\n * **Note:** This class is meant to be a simple data source to help you get started. As such\n * it isn't equipped to handle some more advanced cases like robust i18n support or server-side\n * interactions. If your app needs to support more advanced use cases, consider implementing your\n * own `DataSource`.\n */\nexport class MatTableDataSource<\n // TODO: Remove `any` type below in a breaking change:\n T extends object | any,\n P extends MatPaginator = MatPaginator,\n> extends DataSource<T> {\n /** Stream that emits when a new data array is set on the data source. */\n private readonly _data: BehaviorSubject<T[]>;\n\n /** Stream emitting render data to the table (depends on ordered data changes). */\n private readonly _renderData = new BehaviorSubject<T[]>([]);\n\n /** Stream that emits when a new filter string is set on the data source. */\n private readonly _filter = new BehaviorSubject<string>('');\n\n /** Used to react to internal changes of the paginator that are made by the data source itself. */\n private readonly _internalPageChanges = new Subject<void>();\n\n /**\n * Subscription to the changes that should trigger an update to the table's rendered rows, such\n * as filtering, sorting, pagination, or base data changes.\n */\n _renderChangesSubscription: Subscription | null = null;\n\n /**\n * The filtered set of data that has been matched by the filter string, or all the data if there\n * is no filter. Useful for knowing the set of data the table represents.\n * For example, a 'selectAll()' function would likely want to select the set of filtered data\n * shown to the user rather than all the data.\n */\n filteredData!: T[];\n\n /** Array of data that should be rendered by the table, where each object represents one row. */\n get data() {\n return this._data.value;\n }\n\n set data(data: T[]) {\n data = Array.isArray(data) ? data : [];\n this._data.next(data);\n // Normally the `filteredData` is updated by the re-render\n // subscription, but that won't happen if it's inactive.\n if (!this._renderChangesSubscription) {\n this._filterData(data);\n }\n }\n\n /**\n * Filter term that should be used to filter out objects from the data array. To override how\n * data objects match to this filter string, provide a custom function for filterPredicate.\n */\n get filter(): string {\n return this._filter.value;\n }\n\n set filter(filter: string) {\n this._filter.next(filter);\n // Normally the `filteredData` is updated by the re-render\n // subscription, but that won't happen if it's inactive.\n if (!this._renderChangesSubscription) {\n this._filterData(this.data);\n }\n }\n\n /**\n * Instance of the MatSort directive used by the table to control its sorting. Sort changes\n * emitted by the MatSort will trigger an update to the table's rendered data.\n */\n get sort(): MatSort | null | undefined {\n return this._sort;\n }\n\n set sort(sort: MatSort | null | undefined) {\n this._sort = sort;\n this._updateChangeSubscription();\n }\n\n private _sort: MatSort | null | undefined;\n\n /**\n * Instance of the paginator component used by the table to control what page of the data is\n * displayed. Page changes emitted by the paginator will trigger an update to the\n * table's rendered data.\n *\n * Note that the data source uses the paginator's properties to calculate which page of data\n * should be displayed. If the paginator receives its properties as template inputs,\n * e.g. `[pageLength]=100` or `[pageIndex]=1`, then be sure that the paginator's view has been\n * initialized before assigning it to this data source.\n */\n get paginator(): P | null | undefined {\n return this._paginator;\n }\n\n set paginator(paginator: P | null | undefined) {\n this._paginator = paginator;\n this._updateChangeSubscription();\n }\n\n private _paginator: P | null | undefined;\n\n /**\n * Data accessor function that is used for accessing data properties for sorting through\n * the default sortData function.\n * This default function assumes that the sort header IDs (which defaults to the column name)\n * matches the data's properties (e.g. column Xyz represents data['Xyz']).\n * May be set to a custom function for different behavior.\n * @param data Data object that is being accessed.\n * @param sortHeaderId The name of the column that represents the data.\n */\n sortingDataAccessor: (data: T, sortHeaderId: string) => string | number = (\n data: T,\n sortHeaderId: string,\n ): string | number => {\n const value = (data as unknown as Record<string, any>)[sortHeaderId];\n\n if (_isNumberValue(value)) {\n const numberValue = Number(value);\n\n // Numbers beyond `MAX_SAFE_INTEGER` can't be compared reliably so we leave them as strings.\n // See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number/MAX_SAFE_INTEGER\n return numberValue < MAX_SAFE_INTEGER ? numberValue : value;\n }\n\n return value;\n };\n\n /**\n * Gets a sorted copy of the data array based on the state of the MatSort. Called\n * after changes are made to the filtered data or when sort changes are emitted from MatSort.\n * By default, the function retrieves the active sort and its direction and compares data\n * by retrieving data using the sortingDataAccessor. May be overridden for a custom implementation\n * of data ordering.\n * @param data The array of data that should be sorted.\n * @param sort The connected MatSort that holds the current sort state.\n */\n sortData: (data: T[], sort: MatSort) => T[] = (data: T[], sort: MatSort): T[] => {\n const active = sort.active;\n const direction = sort.direction;\n if (!active || direction == '') {\n return data;\n }\n\n return data.sort((a, b) => {\n let valueA = this.sortingDataAccessor(a, active);\n let valueB = this.sortingDataAccessor(b, active);\n\n // If there are data in the column that can be converted to a number,\n // it must be ensured that the rest of the data\n // is of the same type so as not to order incorrectly.\n const valueAType = typeof valueA;\n const valueBType = typeof valueB;\n\n if (valueAType !== valueBType) {\n if (valueAType === 'number') {\n valueA += '';\n }\n if (valueBType === 'number') {\n valueB += '';\n }\n }\n\n // If both valueA and valueB exist (truthy), then compare the two. Otherwise, check if\n // one value exists while the other doesn't. In this case, existing value should come last.\n // This avoids inconsistent results when comparing values to undefined/null.\n // If neither value exists, return 0 (equal).\n let comparatorResult = 0;\n if (valueA != null && valueB != null) {\n // Check if one value is greater than the other; if equal, comparatorResult should remain 0.\n if (valueA > valueB) {\n comparatorResult = 1;\n } else if (valueA < valueB) {\n comparatorResult = -1;\n }\n } else if (valueA != null) {\n comparatorResult = 1;\n } else if (valueB != null) {\n comparatorResult = -1;\n }\n\n return comparatorResult * (direction == 'asc' ? 1 : -1);\n });\n };\n\n /**\n * Checks if a data object matches the data source's filter string. By default, each data object\n * is converted to a string of its properties and returns true if the filter has\n * at least one occurrence in that string. By default, the filter string has its whitespace\n * trimmed and the match is case-insensitive. May be overridden for a custom implementation of\n * filter matching.\n * @param data Data object used to check against the filter.\n * @param filter Filter string that has been set on the data source.\n * @returns Whether the filter matches against the data\n */\n filterPredicate: (data: T, filter: string) => boolean = (data: T, filter: string): boolean => {\n if (\n (typeof ngDevMode === 'undefined' || ngDevMode) &&\n (typeof data !== 'object' || data === null)\n ) {\n console.warn(\n 'Default implementation of filterPredicate requires data to be a non-null object.',\n );\n }\n\n // Transform the filter by converting it to lowercase and removing whitespace.\n const transformedFilter = filter.trim().toLowerCase();\n // Loops over the values in the array and returns true if any of them match the filter string\n // TODO: Remove `as object` cast when `T` stops extending `any`:\n return Object.values(data as object).some(value =>\n `${value}`.toLowerCase().includes(transformedFilter),\n );\n };\n\n constructor(initialData: T[] = []) {\n super();\n this._data = new BehaviorSubject<T[]>(initialData);\n this._updateChangeSubscription();\n }\n\n /**\n * Subscribe to changes that should trigger an update to the table's rendered rows. When the\n * changes occur, process the current state of the filter, sort, and pagination along with\n * the provided base data and send it to the table for rendering.\n */\n _updateChangeSubscription() {\n // Sorting and/or pagination should be watched if sort and/or paginator are provided.\n // The events should emit whenever the component emits a change or initializes, or if no\n // component is provided, a stream with just a null event should be provided.\n // The `sortChange` and `pageChange` acts as a signal to the combineLatests below so that the\n // pipeline can progress to the next step. Note that the value from these streams are not used,\n // they purely act as a signal to progress in the pipeline.\n const sortChange: Observable<Sort | null | void> = this._sort\n ? (merge(this._sort.sortChange, this._sort.initialized) as Observable<Sort | void>)\n : observableOf(null);\n const pageChange: Observable<PageEvent | null | void> = this._paginator\n ? (merge(\n this._paginator.page,\n this._internalPageChanges,\n this._paginator.initialized,\n ) as Observable<PageEvent | void>)\n : observableOf(null);\n const dataStream = this._data;\n // Watch for base data or filter changes to provide a filtered set of data.\n const filteredData = combineLatest([dataStream, this._filter]).pipe(\n map(([data]) => this._filterData(data)),\n );\n // Watch for filtered data or sort changes to provide an ordered set of data.\n const orderedData = combineLatest([filteredData, sortChange]).pipe(\n map(([data]) => this._orderData(data)),\n );\n // Watch for ordered data or page changes to provide a paged set of data.\n const paginatedData = combineLatest([orderedData, pageChange]).pipe(\n map(([data]) => this._pageData(data)),\n );\n // Watched for paged data changes and send the result to the table to render.\n this._renderChangesSubscription?.unsubscribe();\n this._renderChangesSubscription = paginatedData.subscribe(data => this._renderData.next(data));\n }\n\n /**\n * Returns a filtered data array where each filter object contains the filter string within\n * the result of the filterPredicate function. If no filter is set, returns the data array\n * as provided.\n */\n _filterData(data: T[]) {\n // If there is a filter string, filter out data that does not contain it.\n // Each data object is converted to a string using the function defined by filterPredicate.\n // May be overridden for customization.\n this.filteredData =\n this.filter == null || this.filter === ''\n ? data\n : data.filter(obj => this.filterPredicate(obj, this.filter));\n\n if (this.paginator) {\n this._updatePaginator(this.filteredData.length);\n }\n\n return this.filteredData;\n }\n\n /**\n * Returns a sorted copy of the data if MatSort has a sort applied, otherwise just returns the\n * data array as provided. Uses the default data accessor for data lookup, unless a\n * sortDataAccessor function is defined.\n */\n _orderData(data: T[]): T[] {\n // If there is no active sort or direction, return the data without trying to sort.\n if (!this.sort) {\n return data;\n }\n\n return this.sortData(data.slice(), this.sort);\n }\n\n /**\n * Returns a paged slice of the provided data array according to the provided paginator's page\n * index and length. If there is no paginator provided, returns the data array as provided.\n */\n _pageData(data: T[]): T[] {\n if (!this.paginator) {\n return data;\n }\n\n const startIndex = this.paginator.pageIndex * this.paginator.pageSize;\n return data.slice(startIndex, startIndex + this.paginator.pageSize);\n }\n\n /**\n * Updates the paginator to reflect the length of the filtered data, and makes sure that the page\n * index does not exceed the paginator's last page. Values are changed in a resolved promise to\n * guard against making property changes within a round of change detection.\n */\n _updatePaginator(filteredDataLength: number) {\n Promise.resolve().then(() => {\n const paginator = this.paginator;\n\n if (!paginator) {\n return;\n }\n\n paginator.length = filteredDataLength;\n\n // If the page index is set beyond the page, reduce it to the last page.\n if (paginator.pageIndex > 0) {\n const lastPageIndex = Math.ceil(paginator.length / paginator.pageSize) - 1 || 0;\n const newPageIndex = Math.min(paginator.pageIndex, lastPageIndex);\n\n if (newPageIndex !== paginator.pageIndex) {\n paginator.pageIndex = newPageIndex;\n\n // Since the paginator only emits after user-generated changes,\n // we need our own stream so we know to should re-render the data.\n this._internalPageChanges.next();\n }\n }\n });\n }\n\n /**\n * Used by the MatTable. Called when it connects to the data source.\n * @docs-private\n */\n connect() {\n if (!this._renderChangesSubscription) {\n this._updateChangeSubscription();\n }\n\n return this._renderData;\n }\n\n /**\n * Used by the MatTable. Called when it disconnects from the data source.\n * @docs-private\n */\n disconnect() {\n this._renderChangesSubscription?.unsubscribe();\n this._renderChangesSubscription = null;\n }\n}\n"],"names":["observableOf"],"mappings":"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"}
package/fesm2022/tabs.mjs CHANGED
@@ -22,7 +22,7 @@ class MatTabContent {
22
22
  template = inject(TemplateRef);
23
23
  static ɵfac = i0.ɵɵngDeclareFactory({
24
24
  minVersion: "12.0.0",
25
- version: "22.1.2",
25
+ version: "22.2.0-next.1",
26
26
  ngImport: i0,
27
27
  type: MatTabContent,
28
28
  deps: [],
@@ -30,7 +30,7 @@ class MatTabContent {
30
30
  });
31
31
  static ɵdir = i0.ɵɵngDeclareDirective({
32
32
  minVersion: "14.0.0",
33
- version: "22.1.2",
33
+ version: "22.2.0-next.1",
34
34
  type: MatTabContent,
35
35
  isStandalone: true,
36
36
  selector: "[matTabContent]",
@@ -43,7 +43,7 @@ class MatTabContent {
43
43
  }
44
44
  i0.ɵɵngDeclareClassMetadata({
45
45
  minVersion: "12.0.0",
46
- version: "22.1.2",
46
+ version: "22.2.0-next.1",
47
47
  ngImport: i0,
48
48
  type: MatTabContent,
49
49
  decorators: [{
@@ -66,7 +66,7 @@ class MatTabLabel extends CdkPortal {
66
66
  });
67
67
  static ɵfac = i0.ɵɵngDeclareFactory({
68
68
  minVersion: "12.0.0",
69
- version: "22.1.2",
69
+ version: "22.2.0-next.1",
70
70
  ngImport: i0,
71
71
  type: MatTabLabel,
72
72
  deps: null,
@@ -74,7 +74,7 @@ class MatTabLabel extends CdkPortal {
74
74
  });
75
75
  static ɵdir = i0.ɵɵngDeclareDirective({
76
76
  minVersion: "14.0.0",
77
- version: "22.1.2",
77
+ version: "22.2.0-next.1",
78
78
  type: MatTabLabel,
79
79
  isStandalone: true,
80
80
  selector: "[mat-tab-label], [matTabLabel]",
@@ -88,7 +88,7 @@ class MatTabLabel extends CdkPortal {
88
88
  }
89
89
  i0.ɵɵngDeclareClassMetadata({
90
90
  minVersion: "12.0.0",
91
- version: "22.1.2",
91
+ version: "22.2.0-next.1",
92
92
  ngImport: i0,
93
93
  type: MatTabLabel,
94
94
  decorators: [{
@@ -154,7 +154,7 @@ class MatTab {
154
154
  }
155
155
  static ɵfac = i0.ɵɵngDeclareFactory({
156
156
  minVersion: "12.0.0",
157
- version: "22.1.2",
157
+ version: "22.2.0-next.1",
158
158
  ngImport: i0,
159
159
  type: MatTab,
160
160
  deps: [],
@@ -162,7 +162,7 @@ class MatTab {
162
162
  });
163
163
  static ɵcmp = i0.ɵɵngDeclareComponent({
164
164
  minVersion: "16.1.0",
165
- version: "22.1.2",
165
+ version: "22.2.0-next.1",
166
166
  type: MatTab,
167
167
  isStandalone: true,
168
168
  selector: "mat-tab",
@@ -217,7 +217,7 @@ class MatTab {
217
217
  }
218
218
  i0.ɵɵngDeclareClassMetadata({
219
219
  minVersion: "12.0.0",
220
- version: "22.1.2",
220
+ version: "22.2.0-next.1",
221
221
  ngImport: i0,
222
222
  type: MatTab,
223
223
  decorators: [{
@@ -376,7 +376,7 @@ class InkBarItem {
376
376
  }
377
377
  static ɵfac = i0.ɵɵngDeclareFactory({
378
378
  minVersion: "12.0.0",
379
- version: "22.1.2",
379
+ version: "22.2.0-next.1",
380
380
  ngImport: i0,
381
381
  type: InkBarItem,
382
382
  deps: [],
@@ -384,7 +384,7 @@ class InkBarItem {
384
384
  });
385
385
  static ɵdir = i0.ɵɵngDeclareDirective({
386
386
  minVersion: "16.1.0",
387
- version: "22.1.2",
387
+ version: "22.2.0-next.1",
388
388
  type: InkBarItem,
389
389
  isStandalone: true,
390
390
  inputs: {
@@ -395,7 +395,7 @@ class InkBarItem {
395
395
  }
396
396
  i0.ɵɵngDeclareClassMetadata({
397
397
  minVersion: "12.0.0",
398
- version: "22.1.2",
398
+ version: "22.2.0-next.1",
399
399
  ngImport: i0,
400
400
  type: InkBarItem,
401
401
  decorators: [{
@@ -435,7 +435,7 @@ class MatTabLabelWrapper extends InkBarItem {
435
435
  }
436
436
  static ɵfac = i0.ɵɵngDeclareFactory({
437
437
  minVersion: "12.0.0",
438
- version: "22.1.2",
438
+ version: "22.2.0-next.1",
439
439
  ngImport: i0,
440
440
  type: MatTabLabelWrapper,
441
441
  deps: null,
@@ -443,7 +443,7 @@ class MatTabLabelWrapper extends InkBarItem {
443
443
  });
444
444
  static ɵdir = i0.ɵɵngDeclareDirective({
445
445
  minVersion: "16.1.0",
446
- version: "22.1.2",
446
+ version: "22.2.0-next.1",
447
447
  type: MatTabLabelWrapper,
448
448
  isStandalone: true,
449
449
  selector: "[matTabLabelWrapper]",
@@ -462,7 +462,7 @@ class MatTabLabelWrapper extends InkBarItem {
462
462
  }
463
463
  i0.ɵɵngDeclareClassMetadata({
464
464
  minVersion: "12.0.0",
465
- version: "22.1.2",
465
+ version: "22.2.0-next.1",
466
466
  ngImport: i0,
467
467
  type: MatTabLabelWrapper,
468
468
  decorators: [{
@@ -808,7 +808,7 @@ class MatPaginatedTabHeader {
808
808
  }
809
809
  static ɵfac = i0.ɵɵngDeclareFactory({
810
810
  minVersion: "12.0.0",
811
- version: "22.1.2",
811
+ version: "22.2.0-next.1",
812
812
  ngImport: i0,
813
813
  type: MatPaginatedTabHeader,
814
814
  deps: [],
@@ -816,7 +816,7 @@ class MatPaginatedTabHeader {
816
816
  });
817
817
  static ɵdir = i0.ɵɵngDeclareDirective({
818
818
  minVersion: "16.1.0",
819
- version: "22.1.2",
819
+ version: "22.2.0-next.1",
820
820
  type: MatPaginatedTabHeader,
821
821
  isStandalone: true,
822
822
  inputs: {
@@ -832,7 +832,7 @@ class MatPaginatedTabHeader {
832
832
  }
833
833
  i0.ɵɵngDeclareClassMetadata({
834
834
  minVersion: "12.0.0",
835
- version: "22.1.2",
835
+ version: "22.2.0-next.1",
836
836
  ngImport: i0,
837
837
  type: MatPaginatedTabHeader,
838
838
  decorators: [{
@@ -881,7 +881,7 @@ class MatTabHeader extends MatPaginatedTabHeader {
881
881
  }
882
882
  static ɵfac = i0.ɵɵngDeclareFactory({
883
883
  minVersion: "12.0.0",
884
- version: "22.1.2",
884
+ version: "22.2.0-next.1",
885
885
  ngImport: i0,
886
886
  type: MatTabHeader,
887
887
  deps: null,
@@ -889,7 +889,7 @@ class MatTabHeader extends MatPaginatedTabHeader {
889
889
  });
890
890
  static ɵcmp = i0.ɵɵngDeclareComponent({
891
891
  minVersion: "16.1.0",
892
- version: "22.1.2",
892
+ version: "22.2.0-next.1",
893
893
  type: MatTabHeader,
894
894
  isStandalone: true,
895
895
  selector: "mat-tab-header",
@@ -962,7 +962,7 @@ class MatTabHeader extends MatPaginatedTabHeader {
962
962
  }
963
963
  i0.ɵɵngDeclareClassMetadata({
964
964
  minVersion: "12.0.0",
965
- version: "22.1.2",
965
+ version: "22.2.0-next.1",
966
966
  ngImport: i0,
967
967
  type: MatTabHeader,
968
968
  decorators: [{
@@ -1061,7 +1061,7 @@ class MatTabBodyPortal extends CdkPortalOutlet {
1061
1061
  }
1062
1062
  static ɵfac = i0.ɵɵngDeclareFactory({
1063
1063
  minVersion: "12.0.0",
1064
- version: "22.1.2",
1064
+ version: "22.2.0-next.1",
1065
1065
  ngImport: i0,
1066
1066
  type: MatTabBodyPortal,
1067
1067
  deps: null,
@@ -1069,7 +1069,7 @@ class MatTabBodyPortal extends CdkPortalOutlet {
1069
1069
  });
1070
1070
  static ɵdir = i0.ɵɵngDeclareDirective({
1071
1071
  minVersion: "14.0.0",
1072
- version: "22.1.2",
1072
+ version: "22.2.0-next.1",
1073
1073
  type: MatTabBodyPortal,
1074
1074
  isStandalone: true,
1075
1075
  selector: "[matTabBodyHost]",
@@ -1079,7 +1079,7 @@ class MatTabBodyPortal extends CdkPortalOutlet {
1079
1079
  }
1080
1080
  i0.ɵɵngDeclareClassMetadata({
1081
1081
  minVersion: "12.0.0",
1082
- version: "22.1.2",
1082
+ version: "22.2.0-next.1",
1083
1083
  ngImport: i0,
1084
1084
  type: MatTabBodyPortal,
1085
1085
  decorators: [{
@@ -1212,7 +1212,7 @@ class MatTabBody {
1212
1212
  }
1213
1213
  static ɵfac = i0.ɵɵngDeclareFactory({
1214
1214
  minVersion: "12.0.0",
1215
- version: "22.1.2",
1215
+ version: "22.2.0-next.1",
1216
1216
  ngImport: i0,
1217
1217
  type: MatTabBody,
1218
1218
  deps: [],
@@ -1220,7 +1220,7 @@ class MatTabBody {
1220
1220
  });
1221
1221
  static ɵcmp = i0.ɵɵngDeclareComponent({
1222
1222
  minVersion: "14.0.0",
1223
- version: "22.1.2",
1223
+ version: "22.2.0-next.1",
1224
1224
  type: MatTabBody,
1225
1225
  isStandalone: true,
1226
1226
  selector: "mat-tab-body",
@@ -1270,7 +1270,7 @@ class MatTabBody {
1270
1270
  }
1271
1271
  i0.ɵɵngDeclareClassMetadata({
1272
1272
  minVersion: "12.0.0",
1273
- version: "22.1.2",
1273
+ version: "22.2.0-next.1",
1274
1274
  ngImport: i0,
1275
1275
  type: MatTabBody,
1276
1276
  decorators: [{
@@ -1577,7 +1577,7 @@ class MatTabGroup {
1577
1577
  }
1578
1578
  static ɵfac = i0.ɵɵngDeclareFactory({
1579
1579
  minVersion: "12.0.0",
1580
- version: "22.1.2",
1580
+ version: "22.2.0-next.1",
1581
1581
  ngImport: i0,
1582
1582
  type: MatTabGroup,
1583
1583
  deps: [],
@@ -1585,7 +1585,7 @@ class MatTabGroup {
1585
1585
  });
1586
1586
  static ɵcmp = i0.ɵɵngDeclareComponent({
1587
1587
  minVersion: "17.0.0",
1588
- version: "22.1.2",
1588
+ version: "22.2.0-next.1",
1589
1589
  type: MatTabGroup,
1590
1590
  isStandalone: true,
1591
1591
  selector: "mat-tab-group",
@@ -1694,7 +1694,7 @@ class MatTabGroup {
1694
1694
  }
1695
1695
  i0.ɵɵngDeclareClassMetadata({
1696
1696
  minVersion: "12.0.0",
1697
- version: "22.1.2",
1697
+ version: "22.2.0-next.1",
1698
1698
  ngImport: i0,
1699
1699
  type: MatTabGroup,
1700
1700
  decorators: [{
@@ -1929,7 +1929,7 @@ class MatTabNav extends MatPaginatedTabHeader {
1929
1929
  }
1930
1930
  static ɵfac = i0.ɵɵngDeclareFactory({
1931
1931
  minVersion: "12.0.0",
1932
- version: "22.1.2",
1932
+ version: "22.2.0-next.1",
1933
1933
  ngImport: i0,
1934
1934
  type: MatTabNav,
1935
1935
  deps: [],
@@ -1937,7 +1937,7 @@ class MatTabNav extends MatPaginatedTabHeader {
1937
1937
  });
1938
1938
  static ɵcmp = i0.ɵɵngDeclareComponent({
1939
1939
  minVersion: "16.1.0",
1940
- version: "22.1.2",
1940
+ version: "22.2.0-next.1",
1941
1941
  type: MatTabNav,
1942
1942
  isStandalone: true,
1943
1943
  selector: "[mat-tab-nav-bar]",
@@ -2023,7 +2023,7 @@ class MatTabNav extends MatPaginatedTabHeader {
2023
2023
  }
2024
2024
  i0.ɵɵngDeclareClassMetadata({
2025
2025
  minVersion: "12.0.0",
2026
- version: "22.1.2",
2026
+ version: "22.2.0-next.1",
2027
2027
  ngImport: i0,
2028
2028
  type: MatTabNav,
2029
2029
  decorators: [{
@@ -2220,7 +2220,7 @@ class MatTabLink extends InkBarItem {
2220
2220
  }
2221
2221
  static ɵfac = i0.ɵɵngDeclareFactory({
2222
2222
  minVersion: "12.0.0",
2223
- version: "22.1.2",
2223
+ version: "22.2.0-next.1",
2224
2224
  ngImport: i0,
2225
2225
  type: MatTabLink,
2226
2226
  deps: [],
@@ -2228,7 +2228,7 @@ class MatTabLink extends InkBarItem {
2228
2228
  });
2229
2229
  static ɵcmp = i0.ɵɵngDeclareComponent({
2230
2230
  minVersion: "16.1.0",
2231
- version: "22.1.2",
2231
+ version: "22.2.0-next.1",
2232
2232
  type: MatTabLink,
2233
2233
  isStandalone: true,
2234
2234
  selector: "[mat-tab-link], [matTabLink]",
@@ -2274,7 +2274,7 @@ class MatTabLink extends InkBarItem {
2274
2274
  }
2275
2275
  i0.ɵɵngDeclareClassMetadata({
2276
2276
  minVersion: "12.0.0",
2277
- version: "22.1.2",
2277
+ version: "22.2.0-next.1",
2278
2278
  ngImport: i0,
2279
2279
  type: MatTabLink,
2280
2280
  decorators: [{
@@ -2338,7 +2338,7 @@ class MatTabNavPanel {
2338
2338
  _activeTabId;
2339
2339
  static ɵfac = i0.ɵɵngDeclareFactory({
2340
2340
  minVersion: "12.0.0",
2341
- version: "22.1.2",
2341
+ version: "22.2.0-next.1",
2342
2342
  ngImport: i0,
2343
2343
  type: MatTabNavPanel,
2344
2344
  deps: [],
@@ -2346,7 +2346,7 @@ class MatTabNavPanel {
2346
2346
  });
2347
2347
  static ɵcmp = i0.ɵɵngDeclareComponent({
2348
2348
  minVersion: "14.0.0",
2349
- version: "22.1.2",
2349
+ version: "22.2.0-next.1",
2350
2350
  type: MatTabNavPanel,
2351
2351
  isStandalone: true,
2352
2352
  selector: "mat-tab-nav-panel",
@@ -2372,7 +2372,7 @@ class MatTabNavPanel {
2372
2372
  }
2373
2373
  i0.ɵɵngDeclareClassMetadata({
2374
2374
  minVersion: "12.0.0",
2375
- version: "22.1.2",
2375
+ version: "22.2.0-next.1",
2376
2376
  ngImport: i0,
2377
2377
  type: MatTabNavPanel,
2378
2378
  decorators: [{
@@ -2400,7 +2400,7 @@ i0.ɵɵngDeclareClassMetadata({
2400
2400
  class MatTabsModule {
2401
2401
  static ɵfac = i0.ɵɵngDeclareFactory({
2402
2402
  minVersion: "12.0.0",
2403
- version: "22.1.2",
2403
+ version: "22.2.0-next.1",
2404
2404
  ngImport: i0,
2405
2405
  type: MatTabsModule,
2406
2406
  deps: [],
@@ -2408,7 +2408,7 @@ class MatTabsModule {
2408
2408
  });
2409
2409
  static ɵmod = i0.ɵɵngDeclareNgModule({
2410
2410
  minVersion: "14.0.0",
2411
- version: "22.1.2",
2411
+ version: "22.2.0-next.1",
2412
2412
  ngImport: i0,
2413
2413
  type: MatTabsModule,
2414
2414
  imports: [MatTabContent, MatTabLabel, MatTab, MatTabGroup, MatTabNav, MatTabNavPanel, MatTabLink],
@@ -2416,7 +2416,7 @@ class MatTabsModule {
2416
2416
  });
2417
2417
  static ɵinj = i0.ɵɵngDeclareInjector({
2418
2418
  minVersion: "12.0.0",
2419
- version: "22.1.2",
2419
+ version: "22.2.0-next.1",
2420
2420
  ngImport: i0,
2421
2421
  type: MatTabsModule,
2422
2422
  imports: [BidiModule]
@@ -2424,7 +2424,7 @@ class MatTabsModule {
2424
2424
  }
2425
2425
  i0.ɵɵngDeclareClassMetadata({
2426
2426
  minVersion: "12.0.0",
2427
- version: "22.1.2",
2427
+ version: "22.2.0-next.1",
2428
2428
  ngImport: i0,
2429
2429
  type: MatTabsModule,
2430
2430
  decorators: [{