@angular/material 19.1.0-next.3 → 19.1.0-rc.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/autocomplete/index.d.ts +1 -1
- package/badge/index.d.ts +2 -2
- package/button/index.d.ts +4 -4
- package/checkbox/index.d.ts +4 -4
- package/chips/index.d.ts +3 -3
- package/core/index.d.ts +0 -1
- package/datepicker/index.d.ts +16 -40
- package/fesm2022/autocomplete.mjs.map +1 -1
- package/fesm2022/badge.mjs +2 -2
- package/fesm2022/badge.mjs.map +1 -1
- package/fesm2022/button.mjs +2 -2
- package/fesm2022/button.mjs.map +1 -1
- package/fesm2022/checkbox.mjs +2 -2
- package/fesm2022/checkbox.mjs.map +1 -1
- package/fesm2022/chips.mjs +2 -2
- package/fesm2022/chips.mjs.map +1 -1
- package/fesm2022/core.mjs +11 -9
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/datepicker.mjs +750 -751
- package/fesm2022/datepicker.mjs.map +1 -1
- package/fesm2022/form-field.mjs +2 -2
- package/fesm2022/form-field.mjs.map +1 -1
- package/fesm2022/icon.mjs +2 -2
- package/fesm2022/icon.mjs.map +1 -1
- package/fesm2022/list.mjs +5 -4
- package/fesm2022/list.mjs.map +1 -1
- package/fesm2022/menu.mjs +14 -11
- package/fesm2022/menu.mjs.map +1 -1
- package/fesm2022/paginator.mjs +12 -15
- package/fesm2022/paginator.mjs.map +1 -1
- package/fesm2022/progress-bar.mjs +2 -2
- package/fesm2022/progress-bar.mjs.map +1 -1
- package/fesm2022/progress-spinner.mjs +2 -2
- package/fesm2022/progress-spinner.mjs.map +1 -1
- package/fesm2022/radio.mjs +4 -4
- package/fesm2022/radio.mjs.map +1 -1
- package/fesm2022/select.mjs.map +1 -1
- package/fesm2022/sidenav.mjs +113 -90
- package/fesm2022/sidenav.mjs.map +1 -1
- package/fesm2022/slide-toggle.mjs +2 -2
- package/fesm2022/slide-toggle.mjs.map +1 -1
- package/fesm2022/slider.mjs +2 -2
- package/fesm2022/slider.mjs.map +1 -1
- package/fesm2022/sort.mjs +2 -2
- package/fesm2022/sort.mjs.map +1 -1
- package/fesm2022/stepper.mjs +6 -6
- package/fesm2022/stepper.mjs.map +1 -1
- package/fesm2022/tabs.mjs +8 -8
- package/fesm2022/tabs.mjs.map +1 -1
- package/fesm2022/timepicker.mjs +3 -1
- package/fesm2022/timepicker.mjs.map +1 -1
- package/fesm2022/toolbar.mjs +2 -2
- package/fesm2022/toolbar.mjs.map +1 -1
- package/fesm2022/tooltip.mjs +91 -60
- package/fesm2022/tooltip.mjs.map +1 -1
- package/form-field/index.d.ts +4 -4
- package/icon/index.d.ts +4 -4
- package/list/index.d.ts +6 -5
- package/menu/index.d.ts +5 -1
- package/package.json +2 -2
- package/paginator/index.d.ts +5 -5
- package/progress-bar/index.d.ts +4 -4
- package/progress-spinner/index.d.ts +4 -4
- package/radio/index.d.ts +6 -6
- package/schematics/ng-add/index.js +1 -1
- package/schematics/ng-add/index.mjs +1 -1
- package/select/index.d.ts +1 -1
- package/sidenav/index.d.ts +11 -10
- package/slide-toggle/index.d.ts +4 -4
- package/slider/index.d.ts +2 -2
- package/stepper/index.d.ts +6 -6
- package/tabs/index.d.ts +8 -8
- package/toolbar/index.d.ts +2 -2
- package/tooltip/index.d.ts +8 -4
package/fesm2022/sort.mjs
CHANGED
|
@@ -356,7 +356,7 @@ class MatSortHeader {
|
|
|
356
356
|
this._sortActionDescription = newDescription;
|
|
357
357
|
}
|
|
358
358
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: MatSortHeader, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
359
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.0-next.3", type: MatSortHeader, isStandalone: true, selector: "[mat-sort-header]", inputs: { id: ["mat-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", disabled: ["disabled", "disabled", booleanAttribute], sortActionDescription: "sortActionDescription", disableClear: ["disableClear", "disableClear", booleanAttribute] }, host: { listeners: { "click": "_toggleOnInteraction()", "keydown": "_handleKeydown($event)", "mouseleave": "_recentlyCleared.set(false)" }, properties: { "attr.aria-sort": "_getAriaSortAttribute()", "class.mat-sort-header-disabled": "_isDisabled()" }, classAttribute: "mat-sort-header" }, exportAs: ["matSortHeader"], ngImport: i0, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [class.mat-sort-header-descending]=\"this._sort.direction === 'desc'\"\n [class.mat-sort-header-ascending]=\"this._sort.direction === 'asc'\"\n [class.mat-sort-header-recently-cleared-ascending]=\"_recentlyCleared() === 'asc'\"\n [class.mat-sort-header-recently-cleared-descending]=\"_recentlyCleared() === 'desc'\"\n [class.mat-sort-header-animations-disabled]=\"_animationModule === 'NoopAnimations'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n @if (_renderArrow()) {\n <div class=\"mat-sort-header-arrow\">\n <svg viewBox=\"0 -960 960 960\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M440-240v-368L296-464l-56-56 240-240 240 240-56 56-144-144v368h-80Z\"/>\n </svg>\n </div>\n }\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-container::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-sort-header-content{
|
|
359
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.1.0-next.3", type: MatSortHeader, isStandalone: true, selector: "[mat-sort-header]", inputs: { id: ["mat-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", disabled: ["disabled", "disabled", booleanAttribute], sortActionDescription: "sortActionDescription", disableClear: ["disableClear", "disableClear", booleanAttribute] }, host: { listeners: { "click": "_toggleOnInteraction()", "keydown": "_handleKeydown($event)", "mouseleave": "_recentlyCleared.set(false)" }, properties: { "attr.aria-sort": "_getAriaSortAttribute()", "class.mat-sort-header-disabled": "_isDisabled()" }, classAttribute: "mat-sort-header" }, exportAs: ["matSortHeader"], ngImport: i0, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [class.mat-sort-header-descending]=\"this._sort.direction === 'desc'\"\n [class.mat-sort-header-ascending]=\"this._sort.direction === 'asc'\"\n [class.mat-sort-header-recently-cleared-ascending]=\"_recentlyCleared() === 'asc'\"\n [class.mat-sort-header-recently-cleared-descending]=\"_recentlyCleared() === 'desc'\"\n [class.mat-sort-header-animations-disabled]=\"_animationModule === 'NoopAnimations'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n @if (_renderArrow()) {\n <div class=\"mat-sort-header-arrow\">\n <svg viewBox=\"0 -960 960 960\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M440-240v-368L296-464l-56-56 240-240 240 240-56 56-144-144v368h-80Z\"/>\n </svg>\n </div>\n }\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-container::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-sort-header-content{display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}@keyframes _mat-sort-header-recently-cleared-ascending{from{transform:translateY(0);opacity:1}to{transform:translateY(-25%);opacity:0}}@keyframes _mat-sort-header-recently-cleared-descending{from{transform:translateY(0) rotate(180deg);opacity:1}to{transform:translateY(25%) rotate(180deg);opacity:0}}.mat-sort-header-arrow{height:12px;width:12px;position:relative;transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1),opacity 225ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;overflow:visible;color:var(--mat-sort-arrow-color, var(--mat-sys-on-surface))}.mat-sort-header.cdk-keyboard-focused .mat-sort-header-arrow,.mat-sort-header.cdk-program-focused .mat-sort-header-arrow,.mat-sort-header:hover .mat-sort-header-arrow{opacity:.54}.mat-sort-header .mat-sort-header-sorted .mat-sort-header-arrow{opacity:1}.mat-sort-header-descending .mat-sort-header-arrow{transform:rotate(180deg)}.mat-sort-header-recently-cleared-ascending .mat-sort-header-arrow{transform:translateY(-25%)}.mat-sort-header-recently-cleared-ascending .mat-sort-header-arrow{transition:none;animation:_mat-sort-header-recently-cleared-ascending 225ms cubic-bezier(0.4, 0, 0.2, 1) forwards}.mat-sort-header-recently-cleared-descending .mat-sort-header-arrow{transition:none;animation:_mat-sort-header-recently-cleared-descending 225ms cubic-bezier(0.4, 0, 0.2, 1) forwards}.mat-sort-header-animations-disabled .mat-sort-header-arrow{transition-duration:0ms;animation-duration:0ms}.mat-sort-header-arrow svg{width:24px;height:24px;fill:currentColor;position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px;transform:translateZ(0)}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
360
360
|
}
|
|
361
361
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3", ngImport: i0, type: MatSortHeader, decorators: [{
|
|
362
362
|
type: Component,
|
|
@@ -367,7 +367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.1.0-next.3",
|
|
|
367
367
|
'(mouseleave)': '_recentlyCleared.set(false)',
|
|
368
368
|
'[attr.aria-sort]': '_getAriaSortAttribute()',
|
|
369
369
|
'[class.mat-sort-header-disabled]': '_isDisabled()',
|
|
370
|
-
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [class.mat-sort-header-descending]=\"this._sort.direction === 'desc'\"\n [class.mat-sort-header-ascending]=\"this._sort.direction === 'asc'\"\n [class.mat-sort-header-recently-cleared-ascending]=\"_recentlyCleared() === 'asc'\"\n [class.mat-sort-header-recently-cleared-descending]=\"_recentlyCleared() === 'desc'\"\n [class.mat-sort-header-animations-disabled]=\"_animationModule === 'NoopAnimations'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n @if (_renderArrow()) {\n <div class=\"mat-sort-header-arrow\">\n <svg viewBox=\"0 -960 960 960\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M440-240v-368L296-464l-56-56 240-240 240 240-56 56-144-144v368h-80Z\"/>\n </svg>\n </div>\n }\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-container::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-sort-header-content{
|
|
370
|
+
}, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [class.mat-sort-header-descending]=\"this._sort.direction === 'desc'\"\n [class.mat-sort-header-ascending]=\"this._sort.direction === 'asc'\"\n [class.mat-sort-header-recently-cleared-ascending]=\"_recentlyCleared() === 'asc'\"\n [class.mat-sort-header-recently-cleared-descending]=\"_recentlyCleared() === 'desc'\"\n [class.mat-sort-header-animations-disabled]=\"_animationModule === 'NoopAnimations'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n @if (_renderArrow()) {\n <div class=\"mat-sort-header-arrow\">\n <svg viewBox=\"0 -960 960 960\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M440-240v-368L296-464l-56-56 240-240 240 240-56 56-144-144v368h-80Z\"/>\n </svg>\n </div>\n }\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-container::before{margin:calc(calc(var(--mat-focus-indicator-border-width, 3px) + 2px)*-1)}.mat-sort-header-content{display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}@keyframes _mat-sort-header-recently-cleared-ascending{from{transform:translateY(0);opacity:1}to{transform:translateY(-25%);opacity:0}}@keyframes _mat-sort-header-recently-cleared-descending{from{transform:translateY(0) rotate(180deg);opacity:1}to{transform:translateY(25%) rotate(180deg);opacity:0}}.mat-sort-header-arrow{height:12px;width:12px;position:relative;transition:transform 225ms cubic-bezier(0.4, 0, 0.2, 1),opacity 225ms cubic-bezier(0.4, 0, 0.2, 1);opacity:0;overflow:visible;color:var(--mat-sort-arrow-color, var(--mat-sys-on-surface))}.mat-sort-header.cdk-keyboard-focused .mat-sort-header-arrow,.mat-sort-header.cdk-program-focused .mat-sort-header-arrow,.mat-sort-header:hover .mat-sort-header-arrow{opacity:.54}.mat-sort-header .mat-sort-header-sorted .mat-sort-header-arrow{opacity:1}.mat-sort-header-descending .mat-sort-header-arrow{transform:rotate(180deg)}.mat-sort-header-recently-cleared-ascending .mat-sort-header-arrow{transform:translateY(-25%)}.mat-sort-header-recently-cleared-ascending .mat-sort-header-arrow{transition:none;animation:_mat-sort-header-recently-cleared-ascending 225ms cubic-bezier(0.4, 0, 0.2, 1) forwards}.mat-sort-header-recently-cleared-descending .mat-sort-header-arrow{transition:none;animation:_mat-sort-header-recently-cleared-descending 225ms cubic-bezier(0.4, 0, 0.2, 1) forwards}.mat-sort-header-animations-disabled .mat-sort-header-arrow{transition-duration:0ms;animation-duration:0ms}.mat-sort-header-arrow svg{width:24px;height:24px;fill:currentColor;position:absolute;top:50%;left:50%;margin:-12px 0 0 -12px;transform:translateZ(0)}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}"] }]
|
|
371
371
|
}], ctorParameters: () => [], propDecorators: { id: [{
|
|
372
372
|
type: Input,
|
|
373
373
|
args: ['mat-sort-header']
|
package/fesm2022/sort.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.mjs","sources":["../../../../../../src/material/sort/sort-errors.ts","../../../../../../src/material/sort/sort.ts","../../../../../../src/material/sort/sort-header-intl.ts","../../../../../../src/material/sort/sort-header.ts","../../../../../../src/material/sort/sort-header.html","../../../../../../src/material/sort/sort-module.ts","../../../../../../src/material/sort/sort-animations.ts","../../../../../../src/material/sort/sort_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/** @docs-private */\nexport function getSortDuplicateSortableIdError(id: string): Error {\n return Error(`Cannot have two MatSortables with the same id (${id}).`);\n}\n\n/** @docs-private */\nexport function getSortHeaderNotContainedWithinSortError(): Error {\n return Error(`MatSortHeader must be placed within a parent element with the MatSort directive.`);\n}\n\n/** @docs-private */\nexport function getSortHeaderMissingIdError(): Error {\n return Error(`MatSortHeader must be provided with a unique id.`);\n}\n\n/** @docs-private */\nexport function getSortInvalidDirectionError(direction: string): Error {\n return Error(`${direction} is not a valid sort direction ('asc' or 'desc').`);\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 Directive,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n booleanAttribute,\n} from '@angular/core';\nimport {Observable, ReplaySubject, Subject} from 'rxjs';\nimport {SortDirection} from './sort-direction';\nimport {\n getSortDuplicateSortableIdError,\n getSortHeaderMissingIdError,\n getSortInvalidDirectionError,\n} from './sort-errors';\n\n/** Position of the arrow that displays when sorted. */\nexport type SortHeaderArrowPosition = 'before' | 'after';\n\n/** Interface for a directive that holds sorting state consumed by `MatSortHeader`. */\nexport interface MatSortable {\n /** The id of the column being sorted. */\n id: string;\n\n /** Starting sort direction. */\n start: SortDirection;\n\n /** Whether to disable clearing the sorting state. */\n disableClear: boolean;\n}\n\n/** The current sort state. */\nexport interface Sort {\n /** The id of the column being sorted. */\n active: string;\n\n /** The sort direction. */\n direction: SortDirection;\n}\n\n/** Default options for `mat-sort`. */\nexport interface MatSortDefaultOptions {\n /** Whether to disable clearing the sorting state. */\n disableClear?: boolean;\n /** Position of the arrow that displays when sorted. */\n arrowPosition?: SortHeaderArrowPosition;\n}\n\n/** Injection token to be used to override the default options for `mat-sort`. */\nexport const MAT_SORT_DEFAULT_OPTIONS = new InjectionToken<MatSortDefaultOptions>(\n 'MAT_SORT_DEFAULT_OPTIONS',\n);\n\n/** Container for MatSortables to manage the sort state and provide default sort parameters. */\n@Directive({\n selector: '[matSort]',\n exportAs: 'matSort',\n host: {\n 'class': 'mat-sort',\n },\n})\nexport class MatSort implements OnChanges, OnDestroy, OnInit {\n private _initializedStream = new ReplaySubject<void>(1);\n\n /** Collection of all registered sortables that this directive manages. */\n sortables = new Map<string, MatSortable>();\n\n /** Used to notify any child components listening to state changes. */\n readonly _stateChanges = new Subject<void>();\n\n /** The id of the most recently sorted MatSortable. */\n @Input('matSortActive') active: string;\n\n /**\n * The direction to set when an MatSortable is initially sorted.\n * May be overridden by the MatSortable's sort start.\n */\n @Input('matSortStart') start: SortDirection = 'asc';\n\n /** The sort direction of the currently active MatSortable. */\n @Input('matSortDirection')\n get direction(): SortDirection {\n return this._direction;\n }\n set direction(direction: SortDirection) {\n if (\n direction &&\n direction !== 'asc' &&\n direction !== 'desc' &&\n (typeof ngDevMode === 'undefined' || ngDevMode)\n ) {\n throw getSortInvalidDirectionError(direction);\n }\n this._direction = direction;\n }\n private _direction: SortDirection = '';\n\n /**\n * Whether to disable the user from clearing the sort by finishing the sort direction cycle.\n * May be overridden by the MatSortable's disable clear input.\n */\n @Input({alias: 'matSortDisableClear', transform: booleanAttribute})\n disableClear: boolean;\n\n /** Whether the sortable is disabled. */\n @Input({alias: 'matSortDisabled', transform: booleanAttribute})\n disabled: boolean = false;\n\n /** Event emitted when the user changes either the active sort or sort direction. */\n @Output('matSortChange') readonly sortChange: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n /** Emits when the paginator is initialized. */\n initialized: Observable<void> = this._initializedStream;\n\n constructor(\n @Optional()\n @Inject(MAT_SORT_DEFAULT_OPTIONS)\n private _defaultOptions?: MatSortDefaultOptions,\n ) {}\n\n /**\n * Register function to be used by the contained MatSortables. Adds the MatSortable to the\n * collection of MatSortables.\n */\n register(sortable: MatSortable): void {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!sortable.id) {\n throw getSortHeaderMissingIdError();\n }\n\n if (this.sortables.has(sortable.id)) {\n throw getSortDuplicateSortableIdError(sortable.id);\n }\n }\n\n this.sortables.set(sortable.id, sortable);\n }\n\n /**\n * Unregister function to be used by the contained MatSortables. Removes the MatSortable from the\n * collection of contained MatSortables.\n */\n deregister(sortable: MatSortable): void {\n this.sortables.delete(sortable.id);\n }\n\n /** Sets the active sort id and determines the new sort direction. */\n sort(sortable: MatSortable): void {\n if (this.active != sortable.id) {\n this.active = sortable.id;\n this.direction = sortable.start ? sortable.start : this.start;\n } else {\n this.direction = this.getNextSortDirection(sortable);\n }\n\n this.sortChange.emit({active: this.active, direction: this.direction});\n }\n\n /** Returns the next sort direction of the active sortable, checking for potential overrides. */\n getNextSortDirection(sortable: MatSortable): SortDirection {\n if (!sortable) {\n return '';\n }\n\n // Get the sort direction cycle with the potential sortable overrides.\n const disableClear =\n sortable?.disableClear ?? this.disableClear ?? !!this._defaultOptions?.disableClear;\n let sortDirectionCycle = getSortDirectionCycle(sortable.start || this.start, disableClear);\n\n // Get and return the next direction in the cycle\n let nextDirectionIndex = sortDirectionCycle.indexOf(this.direction) + 1;\n if (nextDirectionIndex >= sortDirectionCycle.length) {\n nextDirectionIndex = 0;\n }\n return sortDirectionCycle[nextDirectionIndex];\n }\n\n ngOnInit() {\n this._initializedStream.next();\n }\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n this._initializedStream.complete();\n }\n}\n\n/** Returns the sort direction cycle to use given the provided parameters of order and clear. */\nfunction getSortDirectionCycle(start: SortDirection, disableClear: boolean): SortDirection[] {\n let sortOrder: SortDirection[] = ['asc', 'desc'];\n if (start == 'desc') {\n sortOrder.reverse();\n }\n if (!disableClear) {\n sortOrder.push('');\n }\n\n return sortOrder;\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 {Injectable, SkipSelf, Optional} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * To modify the labels and text displayed, create a new instance of MatSortHeaderIntl and\n * include it in a custom provider.\n */\n@Injectable({providedIn: 'root'})\nexport class MatSortHeaderIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n}\n\n/** @docs-private */\nexport function MAT_SORT_HEADER_INTL_PROVIDER_FACTORY(parentIntl: MatSortHeaderIntl) {\n return parentIntl || new MatSortHeaderIntl();\n}\n\n/** @docs-private */\nexport const MAT_SORT_HEADER_INTL_PROVIDER = {\n // If there is already an MatSortHeaderIntl available, use that. Otherwise, provide a new one.\n provide: MatSortHeaderIntl,\n deps: [[new Optional(), new SkipSelf(), MatSortHeaderIntl]],\n useFactory: MAT_SORT_HEADER_INTL_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {AriaDescriber, FocusMonitor} from '@angular/cdk/a11y';\nimport {ENTER, SPACE} from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n signal,\n ANIMATION_MODULE_TYPE,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {merge, Subscription} from 'rxjs';\nimport {\n MAT_SORT_DEFAULT_OPTIONS,\n MatSort,\n MatSortable,\n MatSortDefaultOptions,\n SortHeaderArrowPosition,\n} from './sort';\nimport {SortDirection} from './sort-direction';\nimport {getSortHeaderNotContainedWithinSortError} from './sort-errors';\nimport {MatSortHeaderIntl} from './sort-header-intl';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\nimport {_StructuralStylesLoader} from '@angular/material/core';\n\n/**\n * Valid positions for the arrow to be in for its opacity and translation. If the state is a\n * sort direction, the position of the arrow will be above/below and opacity 0. If the state is\n * hint, the arrow will be in the center with a slight opacity. Active state means the arrow will\n * be fully opaque in the center.\n *\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport type ArrowViewState = SortDirection | 'hint' | 'active';\n\n/**\n * States describing the arrow's animated position (animating fromState to toState).\n * If the fromState is not defined, there will be no animated transition to the toState.\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport interface ArrowViewStateTransition {\n fromState?: ArrowViewState;\n toState?: ArrowViewState;\n}\n\n/** Column definition associated with a `MatSortHeader`. */\ninterface MatSortHeaderColumnDef {\n name: string;\n}\n\n/**\n * Applies sorting behavior (click to change sort) and styles to an element, including an\n * arrow to display the current sort direction.\n *\n * Must be provided with an id and contained within a parent MatSort directive.\n *\n * If used on header cells in a CdkTable, it will automatically default its id from its containing\n * column definition.\n */\n@Component({\n selector: '[mat-sort-header]',\n exportAs: 'matSortHeader',\n templateUrl: 'sort-header.html',\n styleUrl: 'sort-header.css',\n host: {\n 'class': 'mat-sort-header',\n '(click)': '_toggleOnInteraction()',\n '(keydown)': '_handleKeydown($event)',\n '(mouseleave)': '_recentlyCleared.set(false)',\n '[attr.aria-sort]': '_getAriaSortAttribute()',\n '[class.mat-sort-header-disabled]': '_isDisabled()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSortHeader implements MatSortable, OnDestroy, OnInit, AfterViewInit {\n _intl = inject(MatSortHeaderIntl);\n _sort = inject(MatSort, {optional: true})!;\n _columnDef = inject<MatSortHeaderColumnDef>('MAT_SORT_HEADER_COLUMN_DEF' as any, {\n optional: true,\n });\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _focusMonitor = inject(FocusMonitor);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ariaDescriber = inject(AriaDescriber, {optional: true});\n private _renderChanges: Subscription | undefined;\n protected _animationModule = inject(ANIMATION_MODULE_TYPE, {optional: true});\n\n /**\n * Indicates which state was just cleared from the sort header.\n * Will be reset on the next interaction. Used for coordinating animations.\n */\n protected _recentlyCleared = signal<SortDirection | null>(null);\n\n /**\n * The element with role=\"button\" inside this component's view. We need this\n * in order to apply a description with AriaDescriber.\n */\n private _sortButton: HTMLElement;\n\n /**\n * ID of this sort header. If used within the context of a CdkColumnDef, this will default to\n * the column's name.\n */\n @Input('mat-sort-header') id: string;\n\n /** Sets the position of the arrow that displays when sorted. */\n @Input() arrowPosition: SortHeaderArrowPosition = 'after';\n\n /** Overrides the sort start value of the containing MatSort for this MatSortable. */\n @Input() start: SortDirection;\n\n /** whether the sort header is disabled. */\n @Input({transform: booleanAttribute})\n disabled: boolean = false;\n\n /**\n * Description applied to MatSortHeader's button element with aria-describedby. This text should\n * describe the action that will occur when the user clicks the sort header.\n */\n @Input()\n get sortActionDescription(): string {\n return this._sortActionDescription;\n }\n set sortActionDescription(value: string) {\n this._updateSortActionDescription(value);\n }\n // Default the action description to \"Sort\" because it's better than nothing.\n // Without a description, the button's label comes from the sort header text content,\n // which doesn't give any indication that it performs a sorting operation.\n private _sortActionDescription: string = 'Sort';\n\n /** Overrides the disable clear value of the containing MatSort for this MatSortable. */\n @Input({transform: booleanAttribute})\n disableClear: boolean;\n\n constructor(...args: unknown[]);\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const defaultOptions = inject<MatSortDefaultOptions>(MAT_SORT_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n // Note that we use a string token for the `_columnDef`, because the value is provided both by\n // `material/table` and `cdk/table` and we can't have the CDK depending on Material,\n // and we want to avoid having the sort header depending on the CDK table because\n // of this single reference.\n if (!this._sort && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getSortHeaderNotContainedWithinSortError();\n }\n\n if (defaultOptions?.arrowPosition) {\n this.arrowPosition = defaultOptions?.arrowPosition;\n }\n }\n\n ngOnInit() {\n if (!this.id && this._columnDef) {\n this.id = this._columnDef.name;\n }\n\n this._sort.register(this);\n this._renderChanges = merge(this._sort._stateChanges, this._sort.sortChange).subscribe(() =>\n this._changeDetectorRef.markForCheck(),\n );\n this._sortButton = this._elementRef.nativeElement.querySelector('.mat-sort-header-container')!;\n this._updateSortActionDescription(this._sortActionDescription);\n }\n\n ngAfterViewInit() {\n // We use the focus monitor because we also want to style\n // things differently based on the focus origin.\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe(() => this._recentlyCleared.set(null));\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._sort.deregister(this);\n this._renderChanges?.unsubscribe();\n\n if (this._sortButton) {\n this._ariaDescriber?.removeDescription(this._sortButton, this._sortActionDescription);\n }\n }\n\n /** Triggers the sort on this sort header and removes the indicator hint. */\n _toggleOnInteraction() {\n if (!this._isDisabled()) {\n const wasSorted = this._isSorted();\n const prevDirection = this._sort.direction;\n this._sort.sort(this);\n this._recentlyCleared.set(wasSorted && !this._isSorted() ? prevDirection : null);\n }\n }\n\n _handleKeydown(event: KeyboardEvent) {\n if (event.keyCode === SPACE || event.keyCode === ENTER) {\n event.preventDefault();\n this._toggleOnInteraction();\n }\n }\n\n /** Whether this MatSortHeader is currently sorted in either ascending or descending order. */\n _isSorted() {\n return (\n this._sort.active == this.id &&\n (this._sort.direction === 'asc' || this._sort.direction === 'desc')\n );\n }\n\n _isDisabled() {\n return this._sort.disabled || this.disabled;\n }\n\n /**\n * Gets the aria-sort attribute that should be applied to this sort header. If this header\n * is not sorted, returns null so that the attribute is removed from the host element. Aria spec\n * says that the aria-sort property should only be present on one header at a time, so removing\n * ensures this is true.\n */\n _getAriaSortAttribute() {\n if (!this._isSorted()) {\n return 'none';\n }\n\n return this._sort.direction == 'asc' ? 'ascending' : 'descending';\n }\n\n /** Whether the arrow inside the sort header should be rendered. */\n _renderArrow() {\n return !this._isDisabled() || this._isSorted();\n }\n\n private _updateSortActionDescription(newDescription: string) {\n // We use AriaDescriber for the sort button instead of setting an `aria-label` because some\n // screen readers (notably VoiceOver) will read both the column header *and* the button's label\n // for every *cell* in the table, creating a lot of unnecessary noise.\n\n // If _sortButton is undefined, the component hasn't been initialized yet so there's\n // nothing to update in the DOM.\n if (this._sortButton) {\n // removeDescription will no-op if there is no existing message.\n // TODO(jelbourn): remove optional chaining when AriaDescriber is required.\n this._ariaDescriber?.removeDescription(this._sortButton, this._sortActionDescription);\n this._ariaDescriber?.describe(this._sortButton, newDescription);\n }\n\n this._sortActionDescription = newDescription;\n }\n}\n","<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [class.mat-sort-header-descending]=\"this._sort.direction === 'desc'\"\n [class.mat-sort-header-ascending]=\"this._sort.direction === 'asc'\"\n [class.mat-sort-header-recently-cleared-ascending]=\"_recentlyCleared() === 'asc'\"\n [class.mat-sort-header-recently-cleared-descending]=\"_recentlyCleared() === 'desc'\"\n [class.mat-sort-header-animations-disabled]=\"_animationModule === 'NoopAnimations'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n @if (_renderArrow()) {\n <div class=\"mat-sort-header-arrow\">\n <svg viewBox=\"0 -960 960 960\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M440-240v-368L296-464l-56-56 240-240 240 240-56 56-144-144v368h-80Z\"/>\n </svg>\n </div>\n }\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 {MatSortHeader} from './sort-header';\nimport {MatSort} from './sort';\nimport {MAT_SORT_HEADER_INTL_PROVIDER} from './sort-header-intl';\nimport {MatCommonModule} from '@angular/material/core';\n\n@NgModule({\n imports: [MatCommonModule, MatSort, MatSortHeader],\n exports: [MatSort, MatSortHeader],\n providers: [MAT_SORT_HEADER_INTL_PROVIDER],\n})\nexport class MatSortModule {}\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 */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n keyframes,\n AnimationTriggerMetadata,\n query,\n animateChild,\n} from '@angular/animations';\nimport {AnimationCurves, AnimationDurations} from '@angular/material/core';\n\nconst SORT_ANIMATION_TRANSITION =\n AnimationDurations.ENTERING + ' ' + AnimationCurves.STANDARD_CURVE;\n\n/**\n * Animations used by MatSort.\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport const matSortAnimations: {\n readonly indicator: AnimationTriggerMetadata;\n readonly leftPointer: AnimationTriggerMetadata;\n readonly rightPointer: AnimationTriggerMetadata;\n readonly arrowOpacity: AnimationTriggerMetadata;\n readonly arrowPosition: AnimationTriggerMetadata;\n readonly allowChildren: AnimationTriggerMetadata;\n} = {\n /** Animation that moves the sort indicator. */\n indicator: trigger('indicator', [\n state('active-asc, asc', style({transform: 'translateY(0px)'})),\n // 10px is the height of the sort indicator, minus the width of the pointers\n state('active-desc, desc', style({transform: 'translateY(10px)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /** Animation that rotates the left pointer of the indicator based on the sorting direction. */\n leftPointer: trigger('leftPointer', [\n state('active-asc, asc', style({transform: 'rotate(-45deg)'})),\n state('active-desc, desc', style({transform: 'rotate(45deg)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /** Animation that rotates the right pointer of the indicator based on the sorting direction. */\n rightPointer: trigger('rightPointer', [\n state('active-asc, asc', style({transform: 'rotate(45deg)'})),\n state('active-desc, desc', style({transform: 'rotate(-45deg)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /** Animation that controls the arrow opacity. */\n arrowOpacity: trigger('arrowOpacity', [\n state('desc-to-active, asc-to-active, active', style({opacity: 1})),\n state('desc-to-hint, asc-to-hint, hint', style({opacity: 0.54})),\n state(\n 'hint-to-desc, active-to-desc, desc, hint-to-asc, active-to-asc, asc, void',\n style({opacity: 0}),\n ),\n // Transition between all states except for immediate transitions\n transition('* => asc, * => desc, * => active, * => hint, * => void', animate('0ms')),\n transition('* <=> *', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /**\n * Animation for the translation of the arrow as a whole. States are separated into two\n * groups: ones with animations and others that are immediate. Immediate states are asc, desc,\n * peek, and active. The other states define a specific animation (source-to-destination)\n * and are determined as a function of their prev user-perceived state and what the next state\n * should be.\n */\n arrowPosition: trigger('arrowPosition', [\n // Hidden Above => Hint Center\n transition(\n '* => desc-to-hint, * => desc-to-active',\n animate(\n SORT_ANIMATION_TRANSITION,\n keyframes([style({transform: 'translateY(-25%)'}), style({transform: 'translateY(0)'})]),\n ),\n ),\n // Hint Center => Hidden Below\n transition(\n '* => hint-to-desc, * => active-to-desc',\n animate(\n SORT_ANIMATION_TRANSITION,\n keyframes([style({transform: 'translateY(0)'}), style({transform: 'translateY(25%)'})]),\n ),\n ),\n // Hidden Below => Hint Center\n transition(\n '* => asc-to-hint, * => asc-to-active',\n animate(\n SORT_ANIMATION_TRANSITION,\n keyframes([style({transform: 'translateY(25%)'}), style({transform: 'translateY(0)'})]),\n ),\n ),\n // Hint Center => Hidden Above\n transition(\n '* => hint-to-asc, * => active-to-asc',\n animate(\n SORT_ANIMATION_TRANSITION,\n keyframes([style({transform: 'translateY(0)'}), style({transform: 'translateY(-25%)'})]),\n ),\n ),\n state(\n 'desc-to-hint, asc-to-hint, hint, desc-to-active, asc-to-active, active',\n style({transform: 'translateY(0)'}),\n ),\n state('hint-to-desc, active-to-desc, desc', style({transform: 'translateY(-25%)'})),\n state('hint-to-asc, active-to-asc, asc', style({transform: 'translateY(25%)'})),\n ]),\n\n /** Necessary trigger that calls animate on children animations. */\n allowChildren: trigger('allowChildren', [\n transition('* <=> *', [query('@*', animateChild(), {optional: true})]),\n ]),\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sort.mjs","sources":["../../../../../../src/material/sort/sort-errors.ts","../../../../../../src/material/sort/sort.ts","../../../../../../src/material/sort/sort-header-intl.ts","../../../../../../src/material/sort/sort-header.ts","../../../../../../src/material/sort/sort-header.html","../../../../../../src/material/sort/sort-module.ts","../../../../../../src/material/sort/sort-animations.ts","../../../../../../src/material/sort/sort_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/** @docs-private */\nexport function getSortDuplicateSortableIdError(id: string): Error {\n return Error(`Cannot have two MatSortables with the same id (${id}).`);\n}\n\n/** @docs-private */\nexport function getSortHeaderNotContainedWithinSortError(): Error {\n return Error(`MatSortHeader must be placed within a parent element with the MatSort directive.`);\n}\n\n/** @docs-private */\nexport function getSortHeaderMissingIdError(): Error {\n return Error(`MatSortHeader must be provided with a unique id.`);\n}\n\n/** @docs-private */\nexport function getSortInvalidDirectionError(direction: string): Error {\n return Error(`${direction} is not a valid sort direction ('asc' or 'desc').`);\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 Directive,\n EventEmitter,\n Inject,\n InjectionToken,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n booleanAttribute,\n} from '@angular/core';\nimport {Observable, ReplaySubject, Subject} from 'rxjs';\nimport {SortDirection} from './sort-direction';\nimport {\n getSortDuplicateSortableIdError,\n getSortHeaderMissingIdError,\n getSortInvalidDirectionError,\n} from './sort-errors';\n\n/** Position of the arrow that displays when sorted. */\nexport type SortHeaderArrowPosition = 'before' | 'after';\n\n/** Interface for a directive that holds sorting state consumed by `MatSortHeader`. */\nexport interface MatSortable {\n /** The id of the column being sorted. */\n id: string;\n\n /** Starting sort direction. */\n start: SortDirection;\n\n /** Whether to disable clearing the sorting state. */\n disableClear: boolean;\n}\n\n/** The current sort state. */\nexport interface Sort {\n /** The id of the column being sorted. */\n active: string;\n\n /** The sort direction. */\n direction: SortDirection;\n}\n\n/** Default options for `mat-sort`. */\nexport interface MatSortDefaultOptions {\n /** Whether to disable clearing the sorting state. */\n disableClear?: boolean;\n /** Position of the arrow that displays when sorted. */\n arrowPosition?: SortHeaderArrowPosition;\n}\n\n/** Injection token to be used to override the default options for `mat-sort`. */\nexport const MAT_SORT_DEFAULT_OPTIONS = new InjectionToken<MatSortDefaultOptions>(\n 'MAT_SORT_DEFAULT_OPTIONS',\n);\n\n/** Container for MatSortables to manage the sort state and provide default sort parameters. */\n@Directive({\n selector: '[matSort]',\n exportAs: 'matSort',\n host: {\n 'class': 'mat-sort',\n },\n})\nexport class MatSort implements OnChanges, OnDestroy, OnInit {\n private _initializedStream = new ReplaySubject<void>(1);\n\n /** Collection of all registered sortables that this directive manages. */\n sortables = new Map<string, MatSortable>();\n\n /** Used to notify any child components listening to state changes. */\n readonly _stateChanges = new Subject<void>();\n\n /** The id of the most recently sorted MatSortable. */\n @Input('matSortActive') active: string;\n\n /**\n * The direction to set when an MatSortable is initially sorted.\n * May be overridden by the MatSortable's sort start.\n */\n @Input('matSortStart') start: SortDirection = 'asc';\n\n /** The sort direction of the currently active MatSortable. */\n @Input('matSortDirection')\n get direction(): SortDirection {\n return this._direction;\n }\n set direction(direction: SortDirection) {\n if (\n direction &&\n direction !== 'asc' &&\n direction !== 'desc' &&\n (typeof ngDevMode === 'undefined' || ngDevMode)\n ) {\n throw getSortInvalidDirectionError(direction);\n }\n this._direction = direction;\n }\n private _direction: SortDirection = '';\n\n /**\n * Whether to disable the user from clearing the sort by finishing the sort direction cycle.\n * May be overridden by the MatSortable's disable clear input.\n */\n @Input({alias: 'matSortDisableClear', transform: booleanAttribute})\n disableClear: boolean;\n\n /** Whether the sortable is disabled. */\n @Input({alias: 'matSortDisabled', transform: booleanAttribute})\n disabled: boolean = false;\n\n /** Event emitted when the user changes either the active sort or sort direction. */\n @Output('matSortChange') readonly sortChange: EventEmitter<Sort> = new EventEmitter<Sort>();\n\n /** Emits when the paginator is initialized. */\n initialized: Observable<void> = this._initializedStream;\n\n constructor(\n @Optional()\n @Inject(MAT_SORT_DEFAULT_OPTIONS)\n private _defaultOptions?: MatSortDefaultOptions,\n ) {}\n\n /**\n * Register function to be used by the contained MatSortables. Adds the MatSortable to the\n * collection of MatSortables.\n */\n register(sortable: MatSortable): void {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!sortable.id) {\n throw getSortHeaderMissingIdError();\n }\n\n if (this.sortables.has(sortable.id)) {\n throw getSortDuplicateSortableIdError(sortable.id);\n }\n }\n\n this.sortables.set(sortable.id, sortable);\n }\n\n /**\n * Unregister function to be used by the contained MatSortables. Removes the MatSortable from the\n * collection of contained MatSortables.\n */\n deregister(sortable: MatSortable): void {\n this.sortables.delete(sortable.id);\n }\n\n /** Sets the active sort id and determines the new sort direction. */\n sort(sortable: MatSortable): void {\n if (this.active != sortable.id) {\n this.active = sortable.id;\n this.direction = sortable.start ? sortable.start : this.start;\n } else {\n this.direction = this.getNextSortDirection(sortable);\n }\n\n this.sortChange.emit({active: this.active, direction: this.direction});\n }\n\n /** Returns the next sort direction of the active sortable, checking for potential overrides. */\n getNextSortDirection(sortable: MatSortable): SortDirection {\n if (!sortable) {\n return '';\n }\n\n // Get the sort direction cycle with the potential sortable overrides.\n const disableClear =\n sortable?.disableClear ?? this.disableClear ?? !!this._defaultOptions?.disableClear;\n let sortDirectionCycle = getSortDirectionCycle(sortable.start || this.start, disableClear);\n\n // Get and return the next direction in the cycle\n let nextDirectionIndex = sortDirectionCycle.indexOf(this.direction) + 1;\n if (nextDirectionIndex >= sortDirectionCycle.length) {\n nextDirectionIndex = 0;\n }\n return sortDirectionCycle[nextDirectionIndex];\n }\n\n ngOnInit() {\n this._initializedStream.next();\n }\n\n ngOnChanges() {\n this._stateChanges.next();\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n this._initializedStream.complete();\n }\n}\n\n/** Returns the sort direction cycle to use given the provided parameters of order and clear. */\nfunction getSortDirectionCycle(start: SortDirection, disableClear: boolean): SortDirection[] {\n let sortOrder: SortDirection[] = ['asc', 'desc'];\n if (start == 'desc') {\n sortOrder.reverse();\n }\n if (!disableClear) {\n sortOrder.push('');\n }\n\n return sortOrder;\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 {Injectable, SkipSelf, Optional} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/**\n * To modify the labels and text displayed, create a new instance of MatSortHeaderIntl and\n * include it in a custom provider.\n */\n@Injectable({providedIn: 'root'})\nexport class MatSortHeaderIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n}\n\n/** @docs-private */\nexport function MAT_SORT_HEADER_INTL_PROVIDER_FACTORY(parentIntl: MatSortHeaderIntl) {\n return parentIntl || new MatSortHeaderIntl();\n}\n\n/** @docs-private */\nexport const MAT_SORT_HEADER_INTL_PROVIDER = {\n // If there is already an MatSortHeaderIntl available, use that. Otherwise, provide a new one.\n provide: MatSortHeaderIntl,\n deps: [[new Optional(), new SkipSelf(), MatSortHeaderIntl]],\n useFactory: MAT_SORT_HEADER_INTL_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {AriaDescriber, FocusMonitor} from '@angular/cdk/a11y';\nimport {ENTER, SPACE} from '@angular/cdk/keycodes';\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n OnDestroy,\n OnInit,\n ViewEncapsulation,\n booleanAttribute,\n inject,\n signal,\n ANIMATION_MODULE_TYPE,\n ChangeDetectorRef,\n} from '@angular/core';\nimport {merge, Subscription} from 'rxjs';\nimport {\n MAT_SORT_DEFAULT_OPTIONS,\n MatSort,\n MatSortable,\n MatSortDefaultOptions,\n SortHeaderArrowPosition,\n} from './sort';\nimport {SortDirection} from './sort-direction';\nimport {getSortHeaderNotContainedWithinSortError} from './sort-errors';\nimport {MatSortHeaderIntl} from './sort-header-intl';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\nimport {_StructuralStylesLoader} from '@angular/material/core';\n\n/**\n * Valid positions for the arrow to be in for its opacity and translation. If the state is a\n * sort direction, the position of the arrow will be above/below and opacity 0. If the state is\n * hint, the arrow will be in the center with a slight opacity. Active state means the arrow will\n * be fully opaque in the center.\n *\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport type ArrowViewState = SortDirection | 'hint' | 'active';\n\n/**\n * States describing the arrow's animated position (animating fromState to toState).\n * If the fromState is not defined, there will be no animated transition to the toState.\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport interface ArrowViewStateTransition {\n fromState?: ArrowViewState;\n toState?: ArrowViewState;\n}\n\n/** Column definition associated with a `MatSortHeader`. */\ninterface MatSortHeaderColumnDef {\n name: string;\n}\n\n/**\n * Applies sorting behavior (click to change sort) and styles to an element, including an\n * arrow to display the current sort direction.\n *\n * Must be provided with an id and contained within a parent MatSort directive.\n *\n * If used on header cells in a CdkTable, it will automatically default its id from its containing\n * column definition.\n */\n@Component({\n selector: '[mat-sort-header]',\n exportAs: 'matSortHeader',\n templateUrl: 'sort-header.html',\n styleUrl: 'sort-header.css',\n host: {\n 'class': 'mat-sort-header',\n '(click)': '_toggleOnInteraction()',\n '(keydown)': '_handleKeydown($event)',\n '(mouseleave)': '_recentlyCleared.set(false)',\n '[attr.aria-sort]': '_getAriaSortAttribute()',\n '[class.mat-sort-header-disabled]': '_isDisabled()',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatSortHeader implements MatSortable, OnDestroy, OnInit, AfterViewInit {\n _intl = inject(MatSortHeaderIntl);\n _sort = inject(MatSort, {optional: true})!;\n _columnDef = inject<MatSortHeaderColumnDef>('MAT_SORT_HEADER_COLUMN_DEF' as any, {\n optional: true,\n });\n private _changeDetectorRef = inject(ChangeDetectorRef);\n private _focusMonitor = inject(FocusMonitor);\n private _elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private _ariaDescriber = inject(AriaDescriber, {optional: true});\n private _renderChanges: Subscription | undefined;\n protected _animationModule = inject(ANIMATION_MODULE_TYPE, {optional: true});\n\n /**\n * Indicates which state was just cleared from the sort header.\n * Will be reset on the next interaction. Used for coordinating animations.\n */\n protected _recentlyCleared = signal<SortDirection | null>(null);\n\n /**\n * The element with role=\"button\" inside this component's view. We need this\n * in order to apply a description with AriaDescriber.\n */\n private _sortButton: HTMLElement;\n\n /**\n * ID of this sort header. If used within the context of a CdkColumnDef, this will default to\n * the column's name.\n */\n @Input('mat-sort-header') id: string;\n\n /** Sets the position of the arrow that displays when sorted. */\n @Input() arrowPosition: SortHeaderArrowPosition = 'after';\n\n /** Overrides the sort start value of the containing MatSort for this MatSortable. */\n @Input() start: SortDirection;\n\n /** whether the sort header is disabled. */\n @Input({transform: booleanAttribute})\n disabled: boolean = false;\n\n /**\n * Description applied to MatSortHeader's button element with aria-describedby. This text should\n * describe the action that will occur when the user clicks the sort header.\n */\n @Input()\n get sortActionDescription(): string {\n return this._sortActionDescription;\n }\n set sortActionDescription(value: string) {\n this._updateSortActionDescription(value);\n }\n // Default the action description to \"Sort\" because it's better than nothing.\n // Without a description, the button's label comes from the sort header text content,\n // which doesn't give any indication that it performs a sorting operation.\n private _sortActionDescription: string = 'Sort';\n\n /** Overrides the disable clear value of the containing MatSort for this MatSortable. */\n @Input({transform: booleanAttribute})\n disableClear: boolean;\n\n constructor(...args: unknown[]);\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const defaultOptions = inject<MatSortDefaultOptions>(MAT_SORT_DEFAULT_OPTIONS, {\n optional: true,\n });\n\n // Note that we use a string token for the `_columnDef`, because the value is provided both by\n // `material/table` and `cdk/table` and we can't have the CDK depending on Material,\n // and we want to avoid having the sort header depending on the CDK table because\n // of this single reference.\n if (!this._sort && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw getSortHeaderNotContainedWithinSortError();\n }\n\n if (defaultOptions?.arrowPosition) {\n this.arrowPosition = defaultOptions?.arrowPosition;\n }\n }\n\n ngOnInit() {\n if (!this.id && this._columnDef) {\n this.id = this._columnDef.name;\n }\n\n this._sort.register(this);\n this._renderChanges = merge(this._sort._stateChanges, this._sort.sortChange).subscribe(() =>\n this._changeDetectorRef.markForCheck(),\n );\n this._sortButton = this._elementRef.nativeElement.querySelector('.mat-sort-header-container')!;\n this._updateSortActionDescription(this._sortActionDescription);\n }\n\n ngAfterViewInit() {\n // We use the focus monitor because we also want to style\n // things differently based on the focus origin.\n this._focusMonitor\n .monitor(this._elementRef, true)\n .subscribe(() => this._recentlyCleared.set(null));\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._sort.deregister(this);\n this._renderChanges?.unsubscribe();\n\n if (this._sortButton) {\n this._ariaDescriber?.removeDescription(this._sortButton, this._sortActionDescription);\n }\n }\n\n /** Triggers the sort on this sort header and removes the indicator hint. */\n _toggleOnInteraction() {\n if (!this._isDisabled()) {\n const wasSorted = this._isSorted();\n const prevDirection = this._sort.direction;\n this._sort.sort(this);\n this._recentlyCleared.set(wasSorted && !this._isSorted() ? prevDirection : null);\n }\n }\n\n _handleKeydown(event: KeyboardEvent) {\n if (event.keyCode === SPACE || event.keyCode === ENTER) {\n event.preventDefault();\n this._toggleOnInteraction();\n }\n }\n\n /** Whether this MatSortHeader is currently sorted in either ascending or descending order. */\n _isSorted() {\n return (\n this._sort.active == this.id &&\n (this._sort.direction === 'asc' || this._sort.direction === 'desc')\n );\n }\n\n _isDisabled() {\n return this._sort.disabled || this.disabled;\n }\n\n /**\n * Gets the aria-sort attribute that should be applied to this sort header. If this header\n * is not sorted, returns null so that the attribute is removed from the host element. Aria spec\n * says that the aria-sort property should only be present on one header at a time, so removing\n * ensures this is true.\n */\n _getAriaSortAttribute() {\n if (!this._isSorted()) {\n return 'none';\n }\n\n return this._sort.direction == 'asc' ? 'ascending' : 'descending';\n }\n\n /** Whether the arrow inside the sort header should be rendered. */\n _renderArrow() {\n return !this._isDisabled() || this._isSorted();\n }\n\n private _updateSortActionDescription(newDescription: string) {\n // We use AriaDescriber for the sort button instead of setting an `aria-label` because some\n // screen readers (notably VoiceOver) will read both the column header *and* the button's label\n // for every *cell* in the table, creating a lot of unnecessary noise.\n\n // If _sortButton is undefined, the component hasn't been initialized yet so there's\n // nothing to update in the DOM.\n if (this._sortButton) {\n // removeDescription will no-op if there is no existing message.\n // TODO(jelbourn): remove optional chaining when AriaDescriber is required.\n this._ariaDescriber?.removeDescription(this._sortButton, this._sortActionDescription);\n this._ariaDescriber?.describe(this._sortButton, newDescription);\n }\n\n this._sortActionDescription = newDescription;\n }\n}\n","<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition === 'before'\"\n [class.mat-sort-header-descending]=\"this._sort.direction === 'desc'\"\n [class.mat-sort-header-ascending]=\"this._sort.direction === 'asc'\"\n [class.mat-sort-header-recently-cleared-ascending]=\"_recentlyCleared() === 'asc'\"\n [class.mat-sort-header-recently-cleared-descending]=\"_recentlyCleared() === 'desc'\"\n [class.mat-sort-header-animations-disabled]=\"_animationModule === 'NoopAnimations'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n [attr.role]=\"_isDisabled() ? null : 'button'\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n @if (_renderArrow()) {\n <div class=\"mat-sort-header-arrow\">\n <svg viewBox=\"0 -960 960 960\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M440-240v-368L296-464l-56-56 240-240 240 240-56 56-144-144v368h-80Z\"/>\n </svg>\n </div>\n }\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 {MatSortHeader} from './sort-header';\nimport {MatSort} from './sort';\nimport {MAT_SORT_HEADER_INTL_PROVIDER} from './sort-header-intl';\nimport {MatCommonModule} from '@angular/material/core';\n\n@NgModule({\n imports: [MatCommonModule, MatSort, MatSortHeader],\n exports: [MatSort, MatSortHeader],\n providers: [MAT_SORT_HEADER_INTL_PROVIDER],\n})\nexport class MatSortModule {}\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 */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n keyframes,\n AnimationTriggerMetadata,\n query,\n animateChild,\n} from '@angular/animations';\nimport {AnimationCurves, AnimationDurations} from '@angular/material/core';\n\nconst SORT_ANIMATION_TRANSITION =\n AnimationDurations.ENTERING + ' ' + AnimationCurves.STANDARD_CURVE;\n\n/**\n * Animations used by MatSort.\n * @docs-private\n * @deprecated No longer being used, to be removed.\n * @breaking-change 21.0.0\n */\nexport const matSortAnimations: {\n readonly indicator: AnimationTriggerMetadata;\n readonly leftPointer: AnimationTriggerMetadata;\n readonly rightPointer: AnimationTriggerMetadata;\n readonly arrowOpacity: AnimationTriggerMetadata;\n readonly arrowPosition: AnimationTriggerMetadata;\n readonly allowChildren: AnimationTriggerMetadata;\n} = {\n /** Animation that moves the sort indicator. */\n indicator: trigger('indicator', [\n state('active-asc, asc', style({transform: 'translateY(0px)'})),\n // 10px is the height of the sort indicator, minus the width of the pointers\n state('active-desc, desc', style({transform: 'translateY(10px)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /** Animation that rotates the left pointer of the indicator based on the sorting direction. */\n leftPointer: trigger('leftPointer', [\n state('active-asc, asc', style({transform: 'rotate(-45deg)'})),\n state('active-desc, desc', style({transform: 'rotate(45deg)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /** Animation that rotates the right pointer of the indicator based on the sorting direction. */\n rightPointer: trigger('rightPointer', [\n state('active-asc, asc', style({transform: 'rotate(45deg)'})),\n state('active-desc, desc', style({transform: 'rotate(-45deg)'})),\n transition('active-asc <=> active-desc', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /** Animation that controls the arrow opacity. */\n arrowOpacity: trigger('arrowOpacity', [\n state('desc-to-active, asc-to-active, active', style({opacity: 1})),\n state('desc-to-hint, asc-to-hint, hint', style({opacity: 0.54})),\n state(\n 'hint-to-desc, active-to-desc, desc, hint-to-asc, active-to-asc, asc, void',\n style({opacity: 0}),\n ),\n // Transition between all states except for immediate transitions\n transition('* => asc, * => desc, * => active, * => hint, * => void', animate('0ms')),\n transition('* <=> *', animate(SORT_ANIMATION_TRANSITION)),\n ]),\n\n /**\n * Animation for the translation of the arrow as a whole. States are separated into two\n * groups: ones with animations and others that are immediate. Immediate states are asc, desc,\n * peek, and active. The other states define a specific animation (source-to-destination)\n * and are determined as a function of their prev user-perceived state and what the next state\n * should be.\n */\n arrowPosition: trigger('arrowPosition', [\n // Hidden Above => Hint Center\n transition(\n '* => desc-to-hint, * => desc-to-active',\n animate(\n SORT_ANIMATION_TRANSITION,\n keyframes([style({transform: 'translateY(-25%)'}), style({transform: 'translateY(0)'})]),\n ),\n ),\n // Hint Center => Hidden Below\n transition(\n '* => hint-to-desc, * => active-to-desc',\n animate(\n SORT_ANIMATION_TRANSITION,\n keyframes([style({transform: 'translateY(0)'}), style({transform: 'translateY(25%)'})]),\n ),\n ),\n // Hidden Below => Hint Center\n transition(\n '* => asc-to-hint, * => asc-to-active',\n animate(\n SORT_ANIMATION_TRANSITION,\n keyframes([style({transform: 'translateY(25%)'}), style({transform: 'translateY(0)'})]),\n ),\n ),\n // Hint Center => Hidden Above\n transition(\n '* => hint-to-asc, * => active-to-asc',\n animate(\n SORT_ANIMATION_TRANSITION,\n keyframes([style({transform: 'translateY(0)'}), style({transform: 'translateY(-25%)'})]),\n ),\n ),\n state(\n 'desc-to-hint, asc-to-hint, hint, desc-to-active, asc-to-active, active',\n style({transform: 'translateY(0)'}),\n ),\n state('hint-to-desc, active-to-desc, desc', style({transform: 'translateY(-25%)'})),\n state('hint-to-asc, active-to-asc, asc', style({transform: 'translateY(25%)'})),\n ]),\n\n /** Necessary trigger that calls animate on children animations. */\n allowChildren: trigger('allowChildren', [\n transition('* <=> *', [query('@*', animateChild(), {optional: true})]),\n ]),\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/stepper.mjs
CHANGED
|
@@ -78,10 +78,10 @@ class MatStepHeader extends CdkStepHeader {
|
|
|
78
78
|
disableRipple;
|
|
79
79
|
/**
|
|
80
80
|
* Theme color of the step header. This API is supported in M2 themes only, it
|
|
81
|
-
* has no effect in M3 themes.
|
|
81
|
+
* has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/stepper/styling.
|
|
82
82
|
*
|
|
83
83
|
* For information on applying color variants in M3, see
|
|
84
|
-
* https://material.angular.io/guide/theming#
|
|
84
|
+
* https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
85
85
|
*/
|
|
86
86
|
color;
|
|
87
87
|
constructor() {
|
|
@@ -256,10 +256,10 @@ class MatStep extends CdkStep {
|
|
|
256
256
|
stepLabel = undefined;
|
|
257
257
|
/**
|
|
258
258
|
* Theme color for the particular step. This API is supported in M2 themes
|
|
259
|
-
* only, it has no effect in M3 themes.
|
|
259
|
+
* only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/stepper/styling.
|
|
260
260
|
*
|
|
261
261
|
* For information on applying color variants in M3, see
|
|
262
|
-
* https://material.angular.io/guide/theming#
|
|
262
|
+
* https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
263
263
|
*/
|
|
264
264
|
color;
|
|
265
265
|
/** Content that will be rendered lazily. */
|
|
@@ -329,10 +329,10 @@ class MatStepper extends CdkStepper {
|
|
|
329
329
|
disableRipple;
|
|
330
330
|
/**
|
|
331
331
|
* Theme color for all of the steps in stepper. This API is supported in M2
|
|
332
|
-
* themes only, it has no effect in M3 themes.
|
|
332
|
+
* themes only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/stepper/styling.
|
|
333
333
|
*
|
|
334
334
|
* For information on applying color variants in M3, see
|
|
335
|
-
* https://material.angular.io/guide/theming#
|
|
335
|
+
* https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
336
336
|
*/
|
|
337
337
|
color;
|
|
338
338
|
/**
|
package/fesm2022/stepper.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.mjs","sources":["../../../../../../src/material/stepper/step-label.ts","../../../../../../src/material/stepper/stepper-intl.ts","../../../../../../src/material/stepper/step-header.ts","../../../../../../src/material/stepper/step-header.html","../../../../../../src/material/stepper/stepper-animations.ts","../../../../../../src/material/stepper/stepper-icon.ts","../../../../../../src/material/stepper/step-content.ts","../../../../../../src/material/stepper/stepper.ts","../../../../../../src/material/stepper/step.html","../../../../../../src/material/stepper/stepper.html","../../../../../../src/material/stepper/stepper-button.ts","../../../../../../src/material/stepper/stepper-module.ts","../../../../../../src/material/stepper/stepper_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Directive} from '@angular/core';\nimport {CdkStepLabel} from '@angular/cdk/stepper';\n\n@Directive({\n selector: '[matStepLabel]',\n})\nexport class MatStepLabel extends CdkStepLabel {}\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 {Injectable, Optional, SkipSelf} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Stepper data that is required for internationalization. */\n@Injectable({providedIn: 'root'})\nexport class MatStepperIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n\n /** Label that is rendered below optional steps. */\n optionalLabel: string = 'Optional';\n\n /** Label that is used to indicate step as completed to screen readers. */\n completedLabel: string = 'Completed';\n\n /** Label that is used to indicate step as editable to screen readers. */\n editableLabel: string = 'Editable';\n}\n\n/** @docs-private */\nexport function MAT_STEPPER_INTL_PROVIDER_FACTORY(parentIntl: MatStepperIntl) {\n return parentIntl || new MatStepperIntl();\n}\n\n/** @docs-private */\nexport const MAT_STEPPER_INTL_PROVIDER = {\n provide: MatStepperIntl,\n deps: [[new Optional(), new SkipSelf(), MatStepperIntl]],\n useFactory: MAT_STEPPER_INTL_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n ViewEncapsulation,\n TemplateRef,\n AfterViewInit,\n inject,\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {MatStepLabel} from './step-label';\nimport {MatStepperIntl} from './stepper-intl';\nimport {MatStepperIconContext} from './stepper-icon';\nimport {CdkStepHeader, StepState} from '@angular/cdk/stepper';\nimport {_StructuralStylesLoader, MatRipple, ThemePalette} from '@angular/material/core';\nimport {MatIcon} from '@angular/material/icon';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n@Component({\n selector: 'mat-step-header',\n templateUrl: 'step-header.html',\n styleUrl: 'step-header.css',\n host: {\n 'class': 'mat-step-header',\n '[class]': '\"mat-\" + (color || \"primary\")',\n 'role': 'tab',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatRipple, NgTemplateOutlet, MatIcon],\n})\nexport class MatStepHeader extends CdkStepHeader implements AfterViewInit, OnDestroy {\n _intl = inject(MatStepperIntl);\n private _focusMonitor = inject(FocusMonitor);\n\n private _intlSubscription: Subscription;\n\n /** State of the given step. */\n @Input() state: StepState;\n\n /** Label of the given step. */\n @Input() label: MatStepLabel | string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Overrides for the header icons, passed in via the stepper. */\n @Input() iconOverrides: {[key: string]: TemplateRef<MatStepperIconContext>};\n\n /** Index of the given step. */\n @Input() index: number;\n\n /** Whether the given step is selected. */\n @Input() selected: boolean;\n\n /** Whether the given step label is active. */\n @Input() active: boolean;\n\n /** Whether the given step is optional. */\n @Input() optional: boolean;\n\n /** Whether the ripple should be disabled. */\n @Input() disableRipple: boolean;\n\n /**\n * Theme color of the step header. This API is supported in M2 themes only, it\n * has no effect in M3 themes.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/theming#using-component-color-variants.\n */\n @Input() color: ThemePalette;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n inject(_CdkPrivateStyleLoader).load(_VisuallyHiddenLoader);\n const changeDetectorRef = inject(ChangeDetectorRef);\n this._intlSubscription = this._intl.changes.subscribe(() => changeDetectorRef.markForCheck());\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n this._intlSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the step header. */\n override focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n /** Returns string label of given step if it is a text label. */\n _stringLabel(): string | null {\n return this.label instanceof MatStepLabel ? null : this.label;\n }\n\n /** Returns MatStepLabel if the label of given step is a template label. */\n _templateLabel(): MatStepLabel | null {\n return this.label instanceof MatStepLabel ? this.label : null;\n }\n\n /** Returns the host HTML element. */\n _getHostElement() {\n return this._elementRef.nativeElement;\n }\n\n /** Template context variables that are exposed to the `matStepperIcon` instances. */\n _getIconContext(): MatStepperIconContext {\n return {\n index: this.index,\n active: this.active,\n optional: this.optional,\n };\n }\n\n _getDefaultTextForState(state: StepState): string {\n if (state == 'number') {\n return `${this.index + 1}`;\n }\n if (state == 'edit') {\n return 'create';\n }\n if (state == 'error') {\n return 'warning';\n }\n return state;\n }\n}\n","<div class=\"mat-step-header-ripple mat-focus-indicator\" matRipple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disableRipple\"></div>\n\n<div class=\"mat-step-icon-state-{{state}} mat-step-icon\" [class.mat-step-icon-selected]=\"selected\">\n <div class=\"mat-step-icon-content\">\n @if (iconOverrides && iconOverrides[state]) {\n <ng-container\n [ngTemplateOutlet]=\"iconOverrides[state]\"\n [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container>\n } @else {\n @switch (state) {\n @case ('number') {\n <span aria-hidden=\"true\">{{_getDefaultTextForState(state)}}</span>\n }\n\n @default {\n @if (state === 'done') {\n <span class=\"cdk-visually-hidden\">{{_intl.completedLabel}}</span>\n } @else if (state === 'edit') {\n <span class=\"cdk-visually-hidden\">{{_intl.editableLabel}}</span>\n }\n\n <mat-icon aria-hidden=\"true\">{{_getDefaultTextForState(state)}}</mat-icon>\n }\n }\n }\n </div>\n</div>\n<div class=\"mat-step-label\"\n [class.mat-step-label-active]=\"active\"\n [class.mat-step-label-selected]=\"selected\"\n [class.mat-step-label-error]=\"state == 'error'\">\n @if (_templateLabel(); as templateLabel) {\n <!-- If there is a label template, use it. -->\n <div class=\"mat-step-text-label\">\n <ng-container [ngTemplateOutlet]=\"templateLabel.template\"></ng-container>\n </div>\n } @else if (_stringLabel()) {\n <!-- If there is no label template, fall back to the text label. -->\n <div class=\"mat-step-text-label\">{{label}}</div>\n }\n\n @if (optional && state != 'error') {\n <div class=\"mat-step-optional\">{{_intl.optionalLabel}}</div>\n }\n\n @if (state === 'error') {\n <div class=\"mat-step-sub-label-error\">{{errorMessage}}</div>\n }\n</div>\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 */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n group,\n query,\n animateChild,\n} from '@angular/animations';\n\nexport const DEFAULT_HORIZONTAL_ANIMATION_DURATION = '500ms';\nexport const DEFAULT_VERTICAL_ANIMATION_DURATION = '225ms';\n\n/**\n * Animations used by the Material steppers.\n * @docs-private\n */\nexport const matStepperAnimations: {\n readonly horizontalStepTransition: AnimationTriggerMetadata;\n readonly verticalStepTransition: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions the step along the X axis in a horizontal stepper. */\n horizontalStepTransition: trigger('horizontalStepTransition', [\n state('previous', style({transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({transform: 'none', visibility: 'inherit'})),\n state('next', style({transform: 'translate3d(100%, 0, 0)', visibility: 'hidden'})),\n transition(\n '* => *',\n group([\n animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),\n query('@*', animateChild(), {optional: true}),\n ]),\n {\n params: {'animationDuration': DEFAULT_HORIZONTAL_ANIMATION_DURATION},\n },\n ),\n ]),\n\n /** Animation that transitions the step along the Y axis in a vertical stepper. */\n verticalStepTransition: trigger('verticalStepTransition', [\n state('previous', style({height: '0px', visibility: 'hidden'})),\n state('next', style({height: '0px', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({height: '*', visibility: 'inherit'})),\n transition(\n '* <=> current',\n group([\n animate('{{animationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)'),\n query('@*', animateChild(), {optional: true}),\n ]),\n {\n params: {'animationDuration': DEFAULT_VERTICAL_ANIMATION_DURATION},\n },\n ),\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 {Directive, Input, TemplateRef, inject} from '@angular/core';\nimport {StepState} from '@angular/cdk/stepper';\n\n/** Template context available to an attached `matStepperIcon`. */\nexport interface MatStepperIconContext {\n /** Index of the step. */\n index: number;\n /** Whether the step is currently active. */\n active: boolean;\n /** Whether the step is optional. */\n optional: boolean;\n}\n\n/**\n * Template to be used to override the icons inside the step header.\n */\n@Directive({\n selector: 'ng-template[matStepperIcon]',\n})\nexport class MatStepperIcon {\n templateRef = inject<TemplateRef<MatStepperIconContext>>(TemplateRef);\n\n /** Name of the icon to be overridden. */\n @Input('matStepperIcon') name: StepState;\n\n constructor(...args: unknown[]);\n constructor() {}\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, TemplateRef, inject} from '@angular/core';\n\n/**\n * Content for a `mat-step` that will be rendered lazily.\n */\n@Directive({\n selector: 'ng-template[matStepContent]',\n})\nexport class MatStepContent {\n _template = inject<TemplateRef<any>>(TemplateRef);\n\n constructor(...args: unknown[]);\n constructor() {}\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 {CdkStep, CdkStepper, StepContentPositionState} from '@angular/cdk/stepper';\nimport {AnimationEvent} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n OnDestroy,\n Output,\n QueryList,\n TemplateRef,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {AbstractControl, FormGroupDirective, NgForm} from '@angular/forms';\nimport {ErrorStateMatcher, ThemePalette} from '@angular/material/core';\nimport {CdkPortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {Subject, Subscription} from 'rxjs';\nimport {takeUntil, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {\n DEFAULT_HORIZONTAL_ANIMATION_DURATION,\n DEFAULT_VERTICAL_ANIMATION_DURATION,\n matStepperAnimations,\n} from './stepper-animations';\nimport {MatStepperIcon, MatStepperIconContext} from './stepper-icon';\nimport {MatStepContent} from './step-content';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {Platform} from '@angular/cdk/platform';\n\n@Component({\n selector: 'mat-step',\n templateUrl: 'step.html',\n providers: [\n {provide: ErrorStateMatcher, useExisting: MatStep},\n {provide: CdkStep, useExisting: MatStep},\n ],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matStep',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CdkPortalOutlet],\n host: {\n 'hidden': '', // Hide the steps so they don't affect the layout.\n },\n})\nexport class MatStep extends CdkStep implements ErrorStateMatcher, AfterContentInit, OnDestroy {\n private _errorStateMatcher = inject(ErrorStateMatcher, {skipSelf: true});\n private _viewContainerRef = inject(ViewContainerRef);\n private _isSelected = Subscription.EMPTY;\n\n /** Content for step label given by `<ng-template matStepLabel>`. */\n // We need an initializer here to avoid a TS error.\n @ContentChild(MatStepLabel) override stepLabel: MatStepLabel = undefined!;\n\n /**\n * Theme color for the particular step. This API is supported in M2 themes\n * only, it has no effect in M3 themes.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/theming#using-component-color-variants.\n */\n @Input() color: ThemePalette;\n\n /** Content that will be rendered lazily. */\n @ContentChild(MatStepContent, {static: false}) _lazyContent: MatStepContent;\n\n /** Currently-attached portal containing the lazy content. */\n _portal: TemplatePortal;\n\n ngAfterContentInit() {\n this._isSelected = this._stepper.steps.changes\n .pipe(\n switchMap(() => {\n return this._stepper.selectionChange.pipe(\n map(event => event.selectedStep === this),\n startWith(this._stepper.selected === this),\n );\n }),\n )\n .subscribe(isSelected => {\n if (isSelected && this._lazyContent && !this._portal) {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef!);\n }\n });\n }\n\n ngOnDestroy() {\n this._isSelected.unsubscribe();\n }\n\n /** Custom error state matcher that additionally checks for validity of interacted form. */\n isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const originalErrorState = this._errorStateMatcher.isErrorState(control, form);\n\n // Custom error state checks for the validity of form that is not submitted or touched\n // since user can trigger a form change by calling for another step without directly\n // interacting with the current form.\n const customErrorState = !!(control && control.invalid && this.interacted);\n\n return originalErrorState || customErrorState;\n }\n}\n\n@Component({\n selector: 'mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]',\n exportAs: 'matStepper, matVerticalStepper, matHorizontalStepper',\n templateUrl: 'stepper.html',\n styleUrl: 'stepper.css',\n host: {\n '[class.mat-stepper-horizontal]': 'orientation === \"horizontal\"',\n '[class.mat-stepper-vertical]': 'orientation === \"vertical\"',\n '[class.mat-stepper-label-position-end]':\n 'orientation === \"horizontal\" && labelPosition == \"end\"',\n '[class.mat-stepper-label-position-bottom]':\n 'orientation === \"horizontal\" && labelPosition == \"bottom\"',\n '[class.mat-stepper-header-position-bottom]': 'headerPosition === \"bottom\"',\n '[attr.aria-orientation]': 'orientation',\n 'role': 'tablist',\n },\n animations: [\n matStepperAnimations.horizontalStepTransition,\n matStepperAnimations.verticalStepTransition,\n ],\n providers: [{provide: CdkStepper, useExisting: MatStepper}],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet, MatStepHeader],\n})\nexport class MatStepper extends CdkStepper implements AfterContentInit {\n /** The list of step headers of the steps in the stepper. */\n // We need an initializer here to avoid a TS error.\n @ViewChildren(MatStepHeader) override _stepHeader: QueryList<MatStepHeader> =\n undefined as unknown as QueryList<MatStepHeader>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n // We need an initializer here to avoid a TS error.\n @ContentChildren(MatStep, {descendants: true}) override _steps: QueryList<MatStep> =\n undefined as unknown as QueryList<MatStep>;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n override readonly steps: QueryList<MatStep> = new QueryList<MatStep>();\n\n /** Custom icon overrides passed in by the consumer. */\n @ContentChildren(MatStepperIcon, {descendants: true}) _icons: QueryList<MatStepperIcon>;\n\n /** Event emitted when the current step is done transitioning in. */\n @Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();\n\n /** Whether ripples should be disabled for the step headers. */\n @Input() disableRipple: boolean;\n\n /**\n * Theme color for all of the steps in stepper. This API is supported in M2\n * themes only, it has no effect in M3 themes.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/theming#using-component-color-variants.\n */\n @Input() color: ThemePalette;\n\n /**\n * Whether the label should display in bottom or end position.\n * Only applies in the `horizontal` orientation.\n */\n @Input()\n labelPosition: 'bottom' | 'end' = 'end';\n\n /**\n * Position of the stepper's header.\n * Only applies in the `horizontal` orientation.\n */\n @Input()\n headerPosition: 'top' | 'bottom' = 'top';\n\n /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: Record<string, TemplateRef<MatStepperIconContext>> = {};\n\n /** Stream of animation `done` events when the body expands/collapses. */\n readonly _animationDone = new Subject<AnimationEvent>();\n\n /** Duration for the animation. Will be normalized to milliseconds if no units are set. */\n @Input()\n get animationDuration(): string {\n return this._animationDuration;\n }\n set animationDuration(value: string) {\n this._animationDuration = /^\\d+$/.test(value) ? value + 'ms' : value;\n }\n private _animationDuration = '';\n\n /** Whether the stepper is rendering on the server. */\n protected _isServer: boolean = !inject(Platform).isBrowser;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n const nodeName = elementRef.nativeElement.nodeName.toLowerCase();\n this.orientation = nodeName === 'mat-vertical-stepper' ? 'vertical' : 'horizontal';\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n this._icons.forEach(({name, templateRef}) => (this._iconOverrides[name] = templateRef));\n\n // Mark the component for change detection whenever the content children query changes\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._stateChanged();\n });\n\n this._animationDone.pipe(takeUntil(this._destroyed)).subscribe(event => {\n if ((event.toState as StepContentPositionState) === 'current') {\n this.animationDone.emit();\n }\n });\n }\n\n _stepIsNavigable(index: number, step: MatStep): boolean {\n return step.completed || this.selectedIndex === index || !this.linear;\n }\n\n _getAnimationDuration() {\n if (this.animationDuration) {\n return this.animationDuration;\n }\n\n return this.orientation === 'horizontal'\n ? DEFAULT_HORIZONTAL_ANIMATION_DURATION\n : DEFAULT_VERTICAL_ANIMATION_DURATION;\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n</ng-template>\n","<!--\n We need to project the content somewhere to avoid hydration errors. Some observations:\n 1. This is only necessary on the server.\n 2. We get a hydration error if there aren't any nodes after the `ng-content`.\n 3. We get a hydration error if `ng-content` is wrapped in another element.\n-->\n@if (_isServer) {\n <ng-content/>\n}\n\n@switch (orientation) {\n @case ('horizontal') {\n <div class=\"mat-horizontal-stepper-wrapper\">\n <div class=\"mat-horizontal-stepper-header-container\">\n @for (step of steps; track step; let i = $index, isLast = $last) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n @if (!isLast) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step; let i = $index) {\n <div class=\"mat-horizontal-stepper-content\" role=\"tabpanel\"\n [@horizontalStepTransition]=\"{\n 'value': _getAnimationDirection(i),\n 'params': {'animationDuration': _getAnimationDuration()}\n }\"\n (@horizontalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [class.mat-horizontal-stepper-content-inactive]=\"selectedIndex !== i\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n @for (step of steps; track step; let i = $index, isLast = $last) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div class=\"mat-vertical-content-container\" [class.mat-stepper-vertical-line]=\"!isLast\">\n <div class=\"mat-vertical-stepper-content\" role=\"tabpanel\"\n [@verticalStepTransition]=\"{\n 'value': _getAnimationDirection(i),\n 'params': {'animationDuration': _getAnimationDuration()}\n }\"\n (@verticalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [class.mat-vertical-stepper-content-inactive]=\"selectedIndex !== i\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n }\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" let-i=\"i\" #stepTemplate>\n <mat-step-header\n [class.mat-horizontal-stepper-header]=\"orientation === 'horizontal'\"\n [class.mat-vertical-stepper-header]=\"orientation === 'vertical'\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"steps.length\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex == i\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n [index]=\"i\"\n [state]=\"_getIndicatorType(i, step.state)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"_stepIsNavigable(i, step)\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n [color]=\"step.color || color\"></mat-step-header>\n</ng-template>\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 {CdkStepperNext, CdkStepperPrevious} from '@angular/cdk/stepper';\nimport {Directive} from '@angular/core';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperNext]',\n host: {\n 'class': 'mat-stepper-next',\n '[type]': 'type',\n },\n})\nexport class MatStepperNext extends CdkStepperNext {}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperPrevious]',\n host: {\n 'class': 'mat-stepper-previous',\n '[type]': 'type',\n },\n})\nexport class MatStepperPrevious extends CdkStepperPrevious {}\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 {PortalModule} from '@angular/cdk/portal';\nimport {CdkStepperModule} from '@angular/cdk/stepper';\nimport {NgModule} from '@angular/core';\nimport {ErrorStateMatcher, MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {MatStep, MatStepper} from './stepper';\nimport {MatStepperNext, MatStepperPrevious} from './stepper-button';\nimport {MatStepperIcon} from './stepper-icon';\nimport {MAT_STEPPER_INTL_PROVIDER} from './stepper-intl';\nimport {MatStepContent} from './step-content';\n\n@NgModule({\n imports: [\n MatCommonModule,\n PortalModule,\n CdkStepperModule,\n MatIconModule,\n MatRippleModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n exports: [\n MatCommonModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n providers: [MAT_STEPPER_INTL_PROVIDER, ErrorStateMatcher],\n})\nexport class MatStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stepper.mjs","sources":["../../../../../../src/material/stepper/step-label.ts","../../../../../../src/material/stepper/stepper-intl.ts","../../../../../../src/material/stepper/step-header.ts","../../../../../../src/material/stepper/step-header.html","../../../../../../src/material/stepper/stepper-animations.ts","../../../../../../src/material/stepper/stepper-icon.ts","../../../../../../src/material/stepper/step-content.ts","../../../../../../src/material/stepper/stepper.ts","../../../../../../src/material/stepper/step.html","../../../../../../src/material/stepper/stepper.html","../../../../../../src/material/stepper/stepper-button.ts","../../../../../../src/material/stepper/stepper-module.ts","../../../../../../src/material/stepper/stepper_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Directive} from '@angular/core';\nimport {CdkStepLabel} from '@angular/cdk/stepper';\n\n@Directive({\n selector: '[matStepLabel]',\n})\nexport class MatStepLabel extends CdkStepLabel {}\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 {Injectable, Optional, SkipSelf} from '@angular/core';\nimport {Subject} from 'rxjs';\n\n/** Stepper data that is required for internationalization. */\n@Injectable({providedIn: 'root'})\nexport class MatStepperIntl {\n /**\n * Stream that emits whenever the labels here are changed. Use this to notify\n * components if the labels have changed after initialization.\n */\n readonly changes: Subject<void> = new Subject<void>();\n\n /** Label that is rendered below optional steps. */\n optionalLabel: string = 'Optional';\n\n /** Label that is used to indicate step as completed to screen readers. */\n completedLabel: string = 'Completed';\n\n /** Label that is used to indicate step as editable to screen readers. */\n editableLabel: string = 'Editable';\n}\n\n/** @docs-private */\nexport function MAT_STEPPER_INTL_PROVIDER_FACTORY(parentIntl: MatStepperIntl) {\n return parentIntl || new MatStepperIntl();\n}\n\n/** @docs-private */\nexport const MAT_STEPPER_INTL_PROVIDER = {\n provide: MatStepperIntl,\n deps: [[new Optional(), new SkipSelf(), MatStepperIntl]],\n useFactory: MAT_STEPPER_INTL_PROVIDER_FACTORY,\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Input,\n OnDestroy,\n ViewEncapsulation,\n TemplateRef,\n AfterViewInit,\n inject,\n} from '@angular/core';\nimport {Subscription} from 'rxjs';\nimport {MatStepLabel} from './step-label';\nimport {MatStepperIntl} from './stepper-intl';\nimport {MatStepperIconContext} from './stepper-icon';\nimport {CdkStepHeader, StepState} from '@angular/cdk/stepper';\nimport {_StructuralStylesLoader, MatRipple, ThemePalette} from '@angular/material/core';\nimport {MatIcon} from '@angular/material/icon';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n@Component({\n selector: 'mat-step-header',\n templateUrl: 'step-header.html',\n styleUrl: 'step-header.css',\n host: {\n 'class': 'mat-step-header',\n '[class]': '\"mat-\" + (color || \"primary\")',\n 'role': 'tab',\n },\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatRipple, NgTemplateOutlet, MatIcon],\n})\nexport class MatStepHeader extends CdkStepHeader implements AfterViewInit, OnDestroy {\n _intl = inject(MatStepperIntl);\n private _focusMonitor = inject(FocusMonitor);\n\n private _intlSubscription: Subscription;\n\n /** State of the given step. */\n @Input() state: StepState;\n\n /** Label of the given step. */\n @Input() label: MatStepLabel | string;\n\n /** Error message to display when there's an error. */\n @Input() errorMessage: string;\n\n /** Overrides for the header icons, passed in via the stepper. */\n @Input() iconOverrides: {[key: string]: TemplateRef<MatStepperIconContext>};\n\n /** Index of the given step. */\n @Input() index: number;\n\n /** Whether the given step is selected. */\n @Input() selected: boolean;\n\n /** Whether the given step label is active. */\n @Input() active: boolean;\n\n /** Whether the given step is optional. */\n @Input() optional: boolean;\n\n /** Whether the ripple should be disabled. */\n @Input() disableRipple: boolean;\n\n /**\n * Theme color of the step header. This API is supported in M2 themes only, it\n * has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n inject(_CdkPrivateStyleLoader).load(_VisuallyHiddenLoader);\n const changeDetectorRef = inject(ChangeDetectorRef);\n this._intlSubscription = this._intl.changes.subscribe(() => changeDetectorRef.markForCheck());\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n }\n\n ngOnDestroy() {\n this._intlSubscription.unsubscribe();\n this._focusMonitor.stopMonitoring(this._elementRef);\n }\n\n /** Focuses the step header. */\n override focus(origin?: FocusOrigin, options?: FocusOptions) {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n /** Returns string label of given step if it is a text label. */\n _stringLabel(): string | null {\n return this.label instanceof MatStepLabel ? null : this.label;\n }\n\n /** Returns MatStepLabel if the label of given step is a template label. */\n _templateLabel(): MatStepLabel | null {\n return this.label instanceof MatStepLabel ? this.label : null;\n }\n\n /** Returns the host HTML element. */\n _getHostElement() {\n return this._elementRef.nativeElement;\n }\n\n /** Template context variables that are exposed to the `matStepperIcon` instances. */\n _getIconContext(): MatStepperIconContext {\n return {\n index: this.index,\n active: this.active,\n optional: this.optional,\n };\n }\n\n _getDefaultTextForState(state: StepState): string {\n if (state == 'number') {\n return `${this.index + 1}`;\n }\n if (state == 'edit') {\n return 'create';\n }\n if (state == 'error') {\n return 'warning';\n }\n return state;\n }\n}\n","<div class=\"mat-step-header-ripple mat-focus-indicator\" matRipple\n [matRippleTrigger]=\"_getHostElement()\"\n [matRippleDisabled]=\"disableRipple\"></div>\n\n<div class=\"mat-step-icon-state-{{state}} mat-step-icon\" [class.mat-step-icon-selected]=\"selected\">\n <div class=\"mat-step-icon-content\">\n @if (iconOverrides && iconOverrides[state]) {\n <ng-container\n [ngTemplateOutlet]=\"iconOverrides[state]\"\n [ngTemplateOutletContext]=\"_getIconContext()\"></ng-container>\n } @else {\n @switch (state) {\n @case ('number') {\n <span aria-hidden=\"true\">{{_getDefaultTextForState(state)}}</span>\n }\n\n @default {\n @if (state === 'done') {\n <span class=\"cdk-visually-hidden\">{{_intl.completedLabel}}</span>\n } @else if (state === 'edit') {\n <span class=\"cdk-visually-hidden\">{{_intl.editableLabel}}</span>\n }\n\n <mat-icon aria-hidden=\"true\">{{_getDefaultTextForState(state)}}</mat-icon>\n }\n }\n }\n </div>\n</div>\n<div class=\"mat-step-label\"\n [class.mat-step-label-active]=\"active\"\n [class.mat-step-label-selected]=\"selected\"\n [class.mat-step-label-error]=\"state == 'error'\">\n @if (_templateLabel(); as templateLabel) {\n <!-- If there is a label template, use it. -->\n <div class=\"mat-step-text-label\">\n <ng-container [ngTemplateOutlet]=\"templateLabel.template\"></ng-container>\n </div>\n } @else if (_stringLabel()) {\n <!-- If there is no label template, fall back to the text label. -->\n <div class=\"mat-step-text-label\">{{label}}</div>\n }\n\n @if (optional && state != 'error') {\n <div class=\"mat-step-optional\">{{_intl.optionalLabel}}</div>\n }\n\n @if (state === 'error') {\n <div class=\"mat-step-sub-label-error\">{{errorMessage}}</div>\n }\n</div>\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 */\nimport {\n animate,\n state,\n style,\n transition,\n trigger,\n AnimationTriggerMetadata,\n group,\n query,\n animateChild,\n} from '@angular/animations';\n\nexport const DEFAULT_HORIZONTAL_ANIMATION_DURATION = '500ms';\nexport const DEFAULT_VERTICAL_ANIMATION_DURATION = '225ms';\n\n/**\n * Animations used by the Material steppers.\n * @docs-private\n */\nexport const matStepperAnimations: {\n readonly horizontalStepTransition: AnimationTriggerMetadata;\n readonly verticalStepTransition: AnimationTriggerMetadata;\n} = {\n /** Animation that transitions the step along the X axis in a horizontal stepper. */\n horizontalStepTransition: trigger('horizontalStepTransition', [\n state('previous', style({transform: 'translate3d(-100%, 0, 0)', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({transform: 'none', visibility: 'inherit'})),\n state('next', style({transform: 'translate3d(100%, 0, 0)', visibility: 'hidden'})),\n transition(\n '* => *',\n group([\n animate('{{animationDuration}} cubic-bezier(0.35, 0, 0.25, 1)'),\n query('@*', animateChild(), {optional: true}),\n ]),\n {\n params: {'animationDuration': DEFAULT_HORIZONTAL_ANIMATION_DURATION},\n },\n ),\n ]),\n\n /** Animation that transitions the step along the Y axis in a vertical stepper. */\n verticalStepTransition: trigger('verticalStepTransition', [\n state('previous', style({height: '0px', visibility: 'hidden'})),\n state('next', style({height: '0px', visibility: 'hidden'})),\n // Transition to `inherit`, rather than `visible`,\n // because visibility on a child element the one from the parent,\n // making this element focusable inside of a `hidden` element.\n state('current', style({height: '*', visibility: 'inherit'})),\n transition(\n '* <=> current',\n group([\n animate('{{animationDuration}} cubic-bezier(0.4, 0.0, 0.2, 1)'),\n query('@*', animateChild(), {optional: true}),\n ]),\n {\n params: {'animationDuration': DEFAULT_VERTICAL_ANIMATION_DURATION},\n },\n ),\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 {Directive, Input, TemplateRef, inject} from '@angular/core';\nimport {StepState} from '@angular/cdk/stepper';\n\n/** Template context available to an attached `matStepperIcon`. */\nexport interface MatStepperIconContext {\n /** Index of the step. */\n index: number;\n /** Whether the step is currently active. */\n active: boolean;\n /** Whether the step is optional. */\n optional: boolean;\n}\n\n/**\n * Template to be used to override the icons inside the step header.\n */\n@Directive({\n selector: 'ng-template[matStepperIcon]',\n})\nexport class MatStepperIcon {\n templateRef = inject<TemplateRef<MatStepperIconContext>>(TemplateRef);\n\n /** Name of the icon to be overridden. */\n @Input('matStepperIcon') name: StepState;\n\n constructor(...args: unknown[]);\n constructor() {}\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, TemplateRef, inject} from '@angular/core';\n\n/**\n * Content for a `mat-step` that will be rendered lazily.\n */\n@Directive({\n selector: 'ng-template[matStepContent]',\n})\nexport class MatStepContent {\n _template = inject<TemplateRef<any>>(TemplateRef);\n\n constructor(...args: unknown[]);\n constructor() {}\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 {CdkStep, CdkStepper, StepContentPositionState} from '@angular/cdk/stepper';\nimport {AnimationEvent} from '@angular/animations';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n OnDestroy,\n Output,\n QueryList,\n TemplateRef,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {AbstractControl, FormGroupDirective, NgForm} from '@angular/forms';\nimport {ErrorStateMatcher, ThemePalette} from '@angular/material/core';\nimport {CdkPortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {Subject, Subscription} from 'rxjs';\nimport {takeUntil, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {\n DEFAULT_HORIZONTAL_ANIMATION_DURATION,\n DEFAULT_VERTICAL_ANIMATION_DURATION,\n matStepperAnimations,\n} from './stepper-animations';\nimport {MatStepperIcon, MatStepperIconContext} from './stepper-icon';\nimport {MatStepContent} from './step-content';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {Platform} from '@angular/cdk/platform';\n\n@Component({\n selector: 'mat-step',\n templateUrl: 'step.html',\n providers: [\n {provide: ErrorStateMatcher, useExisting: MatStep},\n {provide: CdkStep, useExisting: MatStep},\n ],\n encapsulation: ViewEncapsulation.None,\n exportAs: 'matStep',\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [CdkPortalOutlet],\n host: {\n 'hidden': '', // Hide the steps so they don't affect the layout.\n },\n})\nexport class MatStep extends CdkStep implements ErrorStateMatcher, AfterContentInit, OnDestroy {\n private _errorStateMatcher = inject(ErrorStateMatcher, {skipSelf: true});\n private _viewContainerRef = inject(ViewContainerRef);\n private _isSelected = Subscription.EMPTY;\n\n /** Content for step label given by `<ng-template matStepLabel>`. */\n // We need an initializer here to avoid a TS error.\n @ContentChild(MatStepLabel) override stepLabel: MatStepLabel = undefined!;\n\n /**\n * Theme color for the particular step. This API is supported in M2 themes\n * only, it has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n /** Content that will be rendered lazily. */\n @ContentChild(MatStepContent, {static: false}) _lazyContent: MatStepContent;\n\n /** Currently-attached portal containing the lazy content. */\n _portal: TemplatePortal;\n\n ngAfterContentInit() {\n this._isSelected = this._stepper.steps.changes\n .pipe(\n switchMap(() => {\n return this._stepper.selectionChange.pipe(\n map(event => event.selectedStep === this),\n startWith(this._stepper.selected === this),\n );\n }),\n )\n .subscribe(isSelected => {\n if (isSelected && this._lazyContent && !this._portal) {\n this._portal = new TemplatePortal(this._lazyContent._template, this._viewContainerRef!);\n }\n });\n }\n\n ngOnDestroy() {\n this._isSelected.unsubscribe();\n }\n\n /** Custom error state matcher that additionally checks for validity of interacted form. */\n isErrorState(control: AbstractControl | null, form: FormGroupDirective | NgForm | null): boolean {\n const originalErrorState = this._errorStateMatcher.isErrorState(control, form);\n\n // Custom error state checks for the validity of form that is not submitted or touched\n // since user can trigger a form change by calling for another step without directly\n // interacting with the current form.\n const customErrorState = !!(control && control.invalid && this.interacted);\n\n return originalErrorState || customErrorState;\n }\n}\n\n@Component({\n selector: 'mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]',\n exportAs: 'matStepper, matVerticalStepper, matHorizontalStepper',\n templateUrl: 'stepper.html',\n styleUrl: 'stepper.css',\n host: {\n '[class.mat-stepper-horizontal]': 'orientation === \"horizontal\"',\n '[class.mat-stepper-vertical]': 'orientation === \"vertical\"',\n '[class.mat-stepper-label-position-end]':\n 'orientation === \"horizontal\" && labelPosition == \"end\"',\n '[class.mat-stepper-label-position-bottom]':\n 'orientation === \"horizontal\" && labelPosition == \"bottom\"',\n '[class.mat-stepper-header-position-bottom]': 'headerPosition === \"bottom\"',\n '[attr.aria-orientation]': 'orientation',\n 'role': 'tablist',\n },\n animations: [\n matStepperAnimations.horizontalStepTransition,\n matStepperAnimations.verticalStepTransition,\n ],\n providers: [{provide: CdkStepper, useExisting: MatStepper}],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [NgTemplateOutlet, MatStepHeader],\n})\nexport class MatStepper extends CdkStepper implements AfterContentInit {\n /** The list of step headers of the steps in the stepper. */\n // We need an initializer here to avoid a TS error.\n @ViewChildren(MatStepHeader) override _stepHeader: QueryList<MatStepHeader> =\n undefined as unknown as QueryList<MatStepHeader>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n // We need an initializer here to avoid a TS error.\n @ContentChildren(MatStep, {descendants: true}) override _steps: QueryList<MatStep> =\n undefined as unknown as QueryList<MatStep>;\n\n /** Steps that belong to the current stepper, excluding ones from nested steppers. */\n override readonly steps: QueryList<MatStep> = new QueryList<MatStep>();\n\n /** Custom icon overrides passed in by the consumer. */\n @ContentChildren(MatStepperIcon, {descendants: true}) _icons: QueryList<MatStepperIcon>;\n\n /** Event emitted when the current step is done transitioning in. */\n @Output() readonly animationDone: EventEmitter<void> = new EventEmitter<void>();\n\n /** Whether ripples should be disabled for the step headers. */\n @Input() disableRipple: boolean;\n\n /**\n * Theme color for all of the steps in stepper. 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.io/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n /**\n * Whether the label should display in bottom or end position.\n * Only applies in the `horizontal` orientation.\n */\n @Input()\n labelPosition: 'bottom' | 'end' = 'end';\n\n /**\n * Position of the stepper's header.\n * Only applies in the `horizontal` orientation.\n */\n @Input()\n headerPosition: 'top' | 'bottom' = 'top';\n\n /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: Record<string, TemplateRef<MatStepperIconContext>> = {};\n\n /** Stream of animation `done` events when the body expands/collapses. */\n readonly _animationDone = new Subject<AnimationEvent>();\n\n /** Duration for the animation. Will be normalized to milliseconds if no units are set. */\n @Input()\n get animationDuration(): string {\n return this._animationDuration;\n }\n set animationDuration(value: string) {\n this._animationDuration = /^\\d+$/.test(value) ? value + 'ms' : value;\n }\n private _animationDuration = '';\n\n /** Whether the stepper is rendering on the server. */\n protected _isServer: boolean = !inject(Platform).isBrowser;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n const nodeName = elementRef.nativeElement.nodeName.toLowerCase();\n this.orientation = nodeName === 'mat-vertical-stepper' ? 'vertical' : 'horizontal';\n }\n\n override ngAfterContentInit() {\n super.ngAfterContentInit();\n this._icons.forEach(({name, templateRef}) => (this._iconOverrides[name] = templateRef));\n\n // Mark the component for change detection whenever the content children query changes\n this.steps.changes.pipe(takeUntil(this._destroyed)).subscribe(() => {\n this._stateChanged();\n });\n\n this._animationDone.pipe(takeUntil(this._destroyed)).subscribe(event => {\n if ((event.toState as StepContentPositionState) === 'current') {\n this.animationDone.emit();\n }\n });\n }\n\n _stepIsNavigable(index: number, step: MatStep): boolean {\n return step.completed || this.selectedIndex === index || !this.linear;\n }\n\n _getAnimationDuration() {\n if (this.animationDuration) {\n return this.animationDuration;\n }\n\n return this.orientation === 'horizontal'\n ? DEFAULT_HORIZONTAL_ANIMATION_DURATION\n : DEFAULT_VERTICAL_ANIMATION_DURATION;\n }\n}\n","<ng-template>\n <ng-content></ng-content>\n <ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n</ng-template>\n","<!--\n We need to project the content somewhere to avoid hydration errors. Some observations:\n 1. This is only necessary on the server.\n 2. We get a hydration error if there aren't any nodes after the `ng-content`.\n 3. We get a hydration error if `ng-content` is wrapped in another element.\n-->\n@if (_isServer) {\n <ng-content/>\n}\n\n@switch (orientation) {\n @case ('horizontal') {\n <div class=\"mat-horizontal-stepper-wrapper\">\n <div class=\"mat-horizontal-stepper-header-container\">\n @for (step of steps; track step; let i = $index, isLast = $last) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n @if (!isLast) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step; let i = $index) {\n <div class=\"mat-horizontal-stepper-content\" role=\"tabpanel\"\n [@horizontalStepTransition]=\"{\n 'value': _getAnimationDirection(i),\n 'params': {'animationDuration': _getAnimationDuration()}\n }\"\n (@horizontalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [class.mat-horizontal-stepper-content-inactive]=\"selectedIndex !== i\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n @for (step of steps; track step; let i = $index, isLast = $last) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step: step, i: i}\"></ng-container>\n <div class=\"mat-vertical-content-container\" [class.mat-stepper-vertical-line]=\"!isLast\">\n <div class=\"mat-vertical-stepper-content\" role=\"tabpanel\"\n [@verticalStepTransition]=\"{\n 'value': _getAnimationDirection(i),\n 'params': {'animationDuration': _getAnimationDuration()}\n }\"\n (@verticalStepTransition.done)=\"_animationDone.next($event)\"\n [id]=\"_getStepContentId(i)\"\n [attr.aria-labelledby]=\"_getStepLabelId(i)\"\n [class.mat-vertical-stepper-content-inactive]=\"selectedIndex !== i\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"></ng-container>\n </div>\n </div>\n </div>\n </div>\n }\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" let-i=\"i\" #stepTemplate>\n <mat-step-header\n [class.mat-horizontal-stepper-header]=\"orientation === 'horizontal'\"\n [class.mat-vertical-stepper-header]=\"orientation === 'vertical'\"\n (click)=\"step.select()\"\n (keydown)=\"_onKeydown($event)\"\n [tabIndex]=\"_getFocusIndex() === i ? 0 : -1\"\n [id]=\"_getStepLabelId(i)\"\n [attr.aria-posinset]=\"i + 1\"\n [attr.aria-setsize]=\"steps.length\"\n [attr.aria-controls]=\"_getStepContentId(i)\"\n [attr.aria-selected]=\"selectedIndex == i\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"_stepIsNavigable(i, step) ? null : true\"\n [index]=\"i\"\n [state]=\"_getIndicatorType(i, step.state)\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"selectedIndex === i\"\n [active]=\"_stepIsNavigable(i, step)\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !_stepIsNavigable(i, step)\"\n [color]=\"step.color || color\"></mat-step-header>\n</ng-template>\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 {CdkStepperNext, CdkStepperPrevious} from '@angular/cdk/stepper';\nimport {Directive} from '@angular/core';\n\n/** Button that moves to the next step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperNext]',\n host: {\n 'class': 'mat-stepper-next',\n '[type]': 'type',\n },\n})\nexport class MatStepperNext extends CdkStepperNext {}\n\n/** Button that moves to the previous step in a stepper workflow. */\n@Directive({\n selector: 'button[matStepperPrevious]',\n host: {\n 'class': 'mat-stepper-previous',\n '[type]': 'type',\n },\n})\nexport class MatStepperPrevious extends CdkStepperPrevious {}\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 {PortalModule} from '@angular/cdk/portal';\nimport {CdkStepperModule} from '@angular/cdk/stepper';\nimport {NgModule} from '@angular/core';\nimport {ErrorStateMatcher, MatCommonModule, MatRippleModule} from '@angular/material/core';\nimport {MatIconModule} from '@angular/material/icon';\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {MatStep, MatStepper} from './stepper';\nimport {MatStepperNext, MatStepperPrevious} from './stepper-button';\nimport {MatStepperIcon} from './stepper-icon';\nimport {MAT_STEPPER_INTL_PROVIDER} from './stepper-intl';\nimport {MatStepContent} from './step-content';\n\n@NgModule({\n imports: [\n MatCommonModule,\n PortalModule,\n CdkStepperModule,\n MatIconModule,\n MatRippleModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n exports: [\n MatCommonModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n providers: [MAT_STEPPER_INTL_PROVIDER, ErrorStateMatcher],\n})\nexport class MatStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
package/fesm2022/tabs.mjs
CHANGED
|
@@ -1201,10 +1201,10 @@ class MatTabGroup {
|
|
|
1201
1201
|
_tabLabelSubscription = Subscription.EMPTY;
|
|
1202
1202
|
/**
|
|
1203
1203
|
* Theme color of the tab group. This API is supported in M2 themes only, it
|
|
1204
|
-
* has no effect in M3 themes.
|
|
1204
|
+
* has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/tabs/styling.
|
|
1205
1205
|
*
|
|
1206
1206
|
* For information on applying color variants in M3, see
|
|
1207
|
-
* https://material.angular.io/guide/theming#
|
|
1207
|
+
* https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
1208
1208
|
*/
|
|
1209
1209
|
color;
|
|
1210
1210
|
/** Whether the ink bar should fit its width to the size of the tab label content. */
|
|
@@ -1269,10 +1269,10 @@ class MatTabGroup {
|
|
|
1269
1269
|
preserveContent = false;
|
|
1270
1270
|
/**
|
|
1271
1271
|
* Theme color of the background of the tab group. This API is supported in M2 themes only, it
|
|
1272
|
-
* has no effect in M3 themes.
|
|
1272
|
+
* has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/tabs/styling.
|
|
1273
1273
|
*
|
|
1274
1274
|
* For information on applying color variants in M3, see
|
|
1275
|
-
* https://material.angular.io/guide/theming#
|
|
1275
|
+
* https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
1276
1276
|
*
|
|
1277
1277
|
* @deprecated The background color should be customized through Sass theming APIs.
|
|
1278
1278
|
* @breaking-change 20.0.0 Remove this input
|
|
@@ -1670,10 +1670,10 @@ class MatTabNav extends MatPaginatedTabHeader {
|
|
|
1670
1670
|
_items;
|
|
1671
1671
|
/**
|
|
1672
1672
|
* Theme color of the background of the tab nav. This API is supported in M2 themes only, it
|
|
1673
|
-
* has no effect in M3 themes.
|
|
1673
|
+
* has no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/tabs/styling.
|
|
1674
1674
|
*
|
|
1675
1675
|
* For information on applying color variants in M3, see
|
|
1676
|
-
* https://material.angular.io/guide/theming#
|
|
1676
|
+
* https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
1677
1677
|
*/
|
|
1678
1678
|
get backgroundColor() {
|
|
1679
1679
|
return this._backgroundColor;
|
|
@@ -1691,10 +1691,10 @@ class MatTabNav extends MatPaginatedTabHeader {
|
|
|
1691
1691
|
disableRipple = false;
|
|
1692
1692
|
/**
|
|
1693
1693
|
* Theme color of the nav bar. This API is supported in M2 themes only, it has
|
|
1694
|
-
* no effect in M3 themes.
|
|
1694
|
+
* no effect in M3 themes. For color customization in M3, see https://material.angular.io/components/tabs/styling.
|
|
1695
1695
|
*
|
|
1696
1696
|
* For information on applying color variants in M3, see
|
|
1697
|
-
* https://material.angular.io/guide/theming#
|
|
1697
|
+
* https://material.angular.io/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants
|
|
1698
1698
|
*/
|
|
1699
1699
|
color = 'primary';
|
|
1700
1700
|
/**
|