@angular/material 21.0.2 → 21.1.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/core.mjs +1 -1
- package/fesm2022/core.mjs.map +1 -1
- package/fesm2022/stepper.mjs +58 -10
- package/fesm2022/stepper.mjs.map +1 -1
- package/package.json +6 -6
- package/schematics/ng-add/fonts/material-fonts.js +7 -0
- package/schematics/ng-add/fonts/material-fonts.js.map +1 -1
- package/schematics/ng-add/index.js +2 -2
- package/types/stepper.d.ts +3 -1
package/fesm2022/core.mjs
CHANGED
|
@@ -24,7 +24,7 @@ import '@angular/cdk/private';
|
|
|
24
24
|
import '@angular/cdk/platform';
|
|
25
25
|
import '@angular/cdk/coercion';
|
|
26
26
|
|
|
27
|
-
const VERSION = new Version('21.0.
|
|
27
|
+
const VERSION = new Version('21.1.0-next.1');
|
|
28
28
|
|
|
29
29
|
const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
|
|
30
30
|
const TIME_REGEX = /^(\d?\d)[:.](\d?\d)(?:[:.](\d?\d))?\s*(AM|PM)?$/i;
|
package/fesm2022/core.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/version.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/datetime/native-date-formats.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/datetime/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 {Version} from '@angular/core';\n\n/** Current version of Angular Material. */\nexport const VERSION = new Version('21.0.2');\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 {inject, Injectable} from '@angular/core';\nimport {DateAdapter, MAT_DATE_LOCALE} from './date-adapter';\n\n/**\n * Matches strings that have the form of a valid RFC 3339 string\n * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date\n * because the regex will match strings with an out of bounds month, date, etc.\n */\nconst ISO_8601_REGEX =\n /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/;\n\n/**\n * Matches a time string. Supported formats:\n * - {{hours}}:{{minutes}}\n * - {{hours}}:{{minutes}}:{{seconds}}\n * - {{hours}}:{{minutes}} AM/PM\n * - {{hours}}:{{minutes}}:{{seconds}} AM/PM\n * - {{hours}}.{{minutes}}\n * - {{hours}}.{{minutes}}.{{seconds}}\n * - {{hours}}.{{minutes}} AM/PM\n * - {{hours}}.{{minutes}}.{{seconds}} AM/PM\n */\nconst TIME_REGEX = /^(\\d?\\d)[:.](\\d?\\d)(?:[:.](\\d?\\d))?\\s*(AM|PM)?$/i;\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts the native JS Date for use with cdk-based components that work with dates. */\n@Injectable()\nexport class NativeDateAdapter extends DateAdapter<Date> {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\n\n if (matDateLocale !== undefined) {\n this._matDateLocale = matDateLocale;\n }\n\n super.setLocale(this._matDateLocale);\n }\n\n getYear(date: Date): number {\n return date.getFullYear();\n }\n\n getMonth(date: Date): number {\n return date.getMonth();\n }\n\n getDate(date: Date): number {\n return date.getDate();\n }\n\n getDayOfWeek(date: Date): number {\n return date.getDay();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {month: style, timeZone: 'utc'});\n return range(12, i => this._format(dtf, new Date(2017, i, 1)));\n }\n\n getDateNames(): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {day: 'numeric', timeZone: 'utc'});\n return range(31, i => this._format(dtf, new Date(2017, 0, i + 1)));\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {weekday: style, timeZone: 'utc'});\n return range(7, i => this._format(dtf, new Date(2017, 0, i + 1)));\n }\n\n getYearName(date: Date): string {\n const dtf = new Intl.DateTimeFormat(this.locale, {year: 'numeric', timeZone: 'utc'});\n return this._format(dtf, date);\n }\n\n getFirstDayOfWeek(): number {\n // At the time of writing `Intl.Locale` isn't available\n // in the internal types so we need to cast to `any`.\n if (typeof Intl !== 'undefined' && (Intl as any).Locale) {\n const locale = new (Intl as any).Locale(this.locale) as {\n getWeekInfo?: () => {firstDay: number};\n weekInfo?: {firstDay: number};\n };\n\n // Some browsers implement a `getWeekInfo` method while others have a `weekInfo` getter.\n // Note that this isn't supported in all browsers so we need to null check it.\n const firstDay = (locale.getWeekInfo?.() || locale.weekInfo)?.firstDay ?? 0;\n\n // `weekInfo.firstDay` is a number between 1 and 7 where, starting from Monday,\n // whereas our representation is 0 to 6 where 0 is Sunday so we need to normalize it.\n return firstDay === 7 ? 0 : firstDay;\n }\n\n // Default to Sunday if the browser doesn't provide the week information.\n return 0;\n }\n\n getNumDaysInMonth(date: Date): number {\n return this.getDate(\n this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0),\n );\n }\n\n clone(date: Date): Date {\n return new Date(date.getTime());\n }\n\n createDate(year: number, month: number, date: number): Date {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n // Check for invalid month and date (except upper bound on date which we have to check after\n // creating the Date).\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n }\n\n let result = this._createDateWithOverflow(year, month, date);\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\n if (result.getMonth() != month && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\n }\n\n return result;\n }\n\n today(): Date {\n return new Date();\n }\n\n parse(value: any, parseFormat?: any): Date | null {\n // We have no way using the native JS Date to set the parse format or locale, so we ignore these\n // parameters.\n if (typeof value == 'number') {\n return new Date(value);\n }\n return value ? new Date(Date.parse(value)) : null;\n }\n\n format(date: Date, displayFormat: Object): string {\n if (!this.isValid(date)) {\n throw Error('NativeDateAdapter: Cannot format invalid date.');\n }\n\n const dtf = new Intl.DateTimeFormat(this.locale, {...displayFormat, timeZone: 'utc'});\n return this._format(dtf, date);\n }\n\n addCalendarYears(date: Date, years: number): Date {\n return this.addCalendarMonths(date, years * 12);\n }\n\n addCalendarMonths(date: Date, months: number): Date {\n let newDate = this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date) + months,\n this.getDate(date),\n );\n\n // It's possible to wind up in the wrong month if the original month has more days than the new\n // month. In this case we want to go to the last day of the desired month.\n // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't\n // guarantee this.\n if (this.getMonth(newDate) != (((this.getMonth(date) + months) % 12) + 12) % 12) {\n newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);\n }\n\n return newDate;\n }\n\n addCalendarDays(date: Date, days: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date) + days,\n );\n }\n\n toIso8601(date: Date): string {\n return [\n date.getUTCFullYear(),\n this._2digit(date.getUTCMonth() + 1),\n this._2digit(date.getUTCDate()),\n ].join('-');\n }\n\n /**\n * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an\n * invalid date for all other values.\n */\n override deserialize(value: any): Date | null {\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the\n // string is the right format first.\n if (ISO_8601_REGEX.test(value)) {\n let date = new Date(value);\n if (this.isValid(date)) {\n return date;\n }\n }\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any) {\n return obj instanceof Date;\n }\n\n isValid(date: Date) {\n return !isNaN(date.getTime());\n }\n\n invalid(): Date {\n return new Date(NaN);\n }\n\n override setTime(target: Date, hours: number, minutes: number, seconds: number): Date {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!inRange(hours, 0, 23)) {\n throw Error(`Invalid hours \"${hours}\". Hours value must be between 0 and 23.`);\n }\n\n if (!inRange(minutes, 0, 59)) {\n throw Error(`Invalid minutes \"${minutes}\". Minutes value must be between 0 and 59.`);\n }\n\n if (!inRange(seconds, 0, 59)) {\n throw Error(`Invalid seconds \"${seconds}\". Seconds value must be between 0 and 59.`);\n }\n }\n\n const clone = this.clone(target);\n clone.setHours(hours, minutes, seconds, 0);\n return clone;\n }\n\n override getHours(date: Date): number {\n return date.getHours();\n }\n\n override getMinutes(date: Date): number {\n return date.getMinutes();\n }\n\n override getSeconds(date: Date): number {\n return date.getSeconds();\n }\n\n override parseTime(userValue: any, parseFormat?: any): Date | null {\n if (typeof userValue !== 'string') {\n return userValue instanceof Date ? new Date(userValue.getTime()) : null;\n }\n\n const value = userValue.trim();\n\n if (value.length === 0) {\n return null;\n }\n\n // Attempt to parse the value directly.\n let result = this._parseTimeString(value);\n\n // Some locales add extra characters around the time, but are otherwise parseable\n // (e.g. `00:05 ч.` in bg-BG). Try replacing all non-number and non-colon characters.\n if (result === null) {\n const withoutExtras = value.replace(/[^0-9:(AM|PM)]/gi, '').trim();\n\n if (withoutExtras.length > 0) {\n result = this._parseTimeString(withoutExtras);\n }\n }\n\n return result || this.invalid();\n }\n\n override addSeconds(date: Date, amount: number): Date {\n return new Date(date.getTime() + amount * 1000);\n }\n\n /** Creates a date but allows the month and date to overflow. */\n private _createDateWithOverflow(year: number, month: number, date: number) {\n // Passing the year to the constructor causes year numbers <100 to be converted to 19xx.\n // To work around this we use `setFullYear` and `setHours` instead.\n const d = new Date();\n d.setFullYear(year, month, date);\n d.setHours(0, 0, 0, 0);\n return d;\n }\n\n /**\n * Pads a number to make it two digits.\n * @param n The number to pad.\n * @returns The padded number.\n */\n private _2digit(n: number) {\n return ('00' + n).slice(-2);\n }\n\n /**\n * When converting Date object to string, javascript built-in functions may return wrong\n * results because it applies its internal DST rules. The DST rules around the world change\n * very frequently, and the current valid rule is not always valid in previous years though.\n * We work around this problem building a new Date object which has its internal UTC\n * representation with the local date and time.\n * @param dtf Intl.DateTimeFormat object, containing the desired string format. It must have\n * timeZone set to 'utc' to work fine.\n * @param date Date from which we want to get the string representation according to dtf\n * @returns A Date object with its UTC representation based on the passed in date info\n */\n private _format(dtf: Intl.DateTimeFormat, date: Date) {\n // Passing the year to the constructor causes year numbers <100 to be converted to 19xx.\n // To work around this we use `setUTCFullYear` and `setUTCHours` instead.\n const d = new Date();\n d.setUTCFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n d.setUTCHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n return dtf.format(d);\n }\n\n /**\n * Attempts to parse a time string into a date object. Returns null if it cannot be parsed.\n * @param value Time string to parse.\n */\n private _parseTimeString(value: string): Date | null {\n // Note: we can technically rely on the browser for the time parsing by generating\n // an ISO string and appending the string to the end of it. We don't do it, because\n // browsers aren't consistent in what they support. Some examples:\n // - Safari doesn't support AM/PM.\n // - Firefox produces a valid date object if the time string has overflows (e.g. 12:75) while\n // other browsers produce an invalid date.\n // - Safari doesn't allow padded numbers.\n const parsed = value.toUpperCase().match(TIME_REGEX);\n\n if (parsed) {\n let hours = parseInt(parsed[1]);\n const minutes = parseInt(parsed[2]);\n let seconds: number | undefined = parsed[3] == null ? undefined : parseInt(parsed[3]);\n const amPm = parsed[4] as 'AM' | 'PM' | undefined;\n\n if (hours === 12) {\n hours = amPm === 'AM' ? 0 : hours;\n } else if (amPm === 'PM') {\n hours += 12;\n }\n\n if (\n inRange(hours, 0, 23) &&\n inRange(minutes, 0, 59) &&\n (seconds == null || inRange(seconds, 0, 59))\n ) {\n return this.setTime(this.today(), hours, minutes, seconds || 0);\n }\n }\n\n return null;\n }\n}\n\n/** Checks whether a number is within a certain range. */\nfunction inRange(value: number, min: number, max: number): boolean {\n return !isNaN(value) && value >= min && value <= max;\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 {MatDateFormats} from './date-formats';\n\nexport const MAT_NATIVE_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: null,\n timeInput: null,\n },\n display: {\n dateInput: {year: 'numeric', month: 'numeric', day: 'numeric'},\n timeInput: {hour: 'numeric', minute: 'numeric'},\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'},\n timeOptionLabel: {hour: 'numeric', minute: 'numeric'},\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 {NgModule, Provider} from '@angular/core';\nimport {DateAdapter} from './date-adapter';\nimport {MAT_DATE_FORMATS, MatDateFormats} from './date-formats';\nimport {NativeDateAdapter} from './native-date-adapter';\nimport {MAT_NATIVE_DATE_FORMATS} from './native-date-formats';\n\nexport * from './date-adapter';\nexport * from './date-formats';\nexport * from './native-date-adapter';\nexport * from './native-date-formats';\n\n@NgModule({\n providers: [{provide: DateAdapter, useClass: NativeDateAdapter}],\n})\nexport class NativeDateModule {}\n\n@NgModule({\n providers: [provideNativeDateAdapter()],\n})\nexport class MatNativeDateModule {}\n\nexport function provideNativeDateAdapter(\n formats: MatDateFormats = MAT_NATIVE_DATE_FORMATS,\n): Provider[] {\n return [\n {provide: DateAdapter, useClass: NativeDateAdapter},\n {provide: MAT_DATE_FORMATS, useValue: formats},\n ];\n}\n"],"names":["VERSION","Version","ISO_8601_REGEX","TIME_REGEX","range","length","valueFunction","valuesArray","Array","i","NativeDateAdapter","DateAdapter","_matDateLocale","inject","MAT_DATE_LOCALE","optional","constructor","matDateLocale","undefined","setLocale","getYear","date","getFullYear","getMonth","getDate","getDayOfWeek","getDay","getMonthNames","style","dtf","Intl","DateTimeFormat","locale","month","timeZone","_format","Date","getDateNames","day","getDayOfWeekNames","weekday","getYearName","year","getFirstDayOfWeek","Locale","firstDay","getWeekInfo","weekInfo","getNumDaysInMonth","_createDateWithOverflow","clone","getTime","createDate","ngDevMode","Error","result","today","parse","value","parseFormat","format","displayFormat","isValid","addCalendarYears","years","addCalendarMonths","months","newDate","addCalendarDays","days","toIso8601","getUTCFullYear","_2digit","getUTCMonth","getUTCDate","join","deserialize","test","isDateInstance","obj","isNaN","invalid","NaN","setTime","target","hours","minutes","seconds","inRange","setHours","getHours","getMinutes","getSeconds","parseTime","userValue","trim","_parseTimeString","withoutExtras","replace","addSeconds","amount","d","setFullYear","n","slice","setUTCFullYear","setUTCHours","getMilliseconds","parsed","toUpperCase","match","parseInt","amPm","deps","i0","ɵɵFactoryTarget","Injectable","decorators","min","max","MAT_NATIVE_DATE_FORMATS","dateInput","timeInput","display","hour","minute","monthYearLabel","dateA11yLabel","monthYearA11yLabel","timeOptionLabel","NativeDateModule","NgModule","providers","provide","useClass","args","MatNativeDateModule","ɵinj","ɵɵngDeclareInjector","minVersion","version","ngImport","type","provideNativeDateAdapter","formats","MAT_DATE_FORMATS","useValue"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"core.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/version.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/datetime/native-date-formats.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/core/datetime/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 {Version} from '@angular/core';\n\n/** Current version of Angular Material. */\nexport const VERSION = new Version('21.1.0-next.1');\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 {inject, Injectable} from '@angular/core';\nimport {DateAdapter, MAT_DATE_LOCALE} from './date-adapter';\n\n/**\n * Matches strings that have the form of a valid RFC 3339 string\n * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date\n * because the regex will match strings with an out of bounds month, date, etc.\n */\nconst ISO_8601_REGEX =\n /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/;\n\n/**\n * Matches a time string. Supported formats:\n * - {{hours}}:{{minutes}}\n * - {{hours}}:{{minutes}}:{{seconds}}\n * - {{hours}}:{{minutes}} AM/PM\n * - {{hours}}:{{minutes}}:{{seconds}} AM/PM\n * - {{hours}}.{{minutes}}\n * - {{hours}}.{{minutes}}.{{seconds}}\n * - {{hours}}.{{minutes}} AM/PM\n * - {{hours}}.{{minutes}}.{{seconds}} AM/PM\n */\nconst TIME_REGEX = /^(\\d?\\d)[:.](\\d?\\d)(?:[:.](\\d?\\d))?\\s*(AM|PM)?$/i;\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts the native JS Date for use with cdk-based components that work with dates. */\n@Injectable()\nexport class NativeDateAdapter extends DateAdapter<Date> {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\n\n if (matDateLocale !== undefined) {\n this._matDateLocale = matDateLocale;\n }\n\n super.setLocale(this._matDateLocale);\n }\n\n getYear(date: Date): number {\n return date.getFullYear();\n }\n\n getMonth(date: Date): number {\n return date.getMonth();\n }\n\n getDate(date: Date): number {\n return date.getDate();\n }\n\n getDayOfWeek(date: Date): number {\n return date.getDay();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {month: style, timeZone: 'utc'});\n return range(12, i => this._format(dtf, new Date(2017, i, 1)));\n }\n\n getDateNames(): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {day: 'numeric', timeZone: 'utc'});\n return range(31, i => this._format(dtf, new Date(2017, 0, i + 1)));\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {weekday: style, timeZone: 'utc'});\n return range(7, i => this._format(dtf, new Date(2017, 0, i + 1)));\n }\n\n getYearName(date: Date): string {\n const dtf = new Intl.DateTimeFormat(this.locale, {year: 'numeric', timeZone: 'utc'});\n return this._format(dtf, date);\n }\n\n getFirstDayOfWeek(): number {\n // At the time of writing `Intl.Locale` isn't available\n // in the internal types so we need to cast to `any`.\n if (typeof Intl !== 'undefined' && (Intl as any).Locale) {\n const locale = new (Intl as any).Locale(this.locale) as {\n getWeekInfo?: () => {firstDay: number};\n weekInfo?: {firstDay: number};\n };\n\n // Some browsers implement a `getWeekInfo` method while others have a `weekInfo` getter.\n // Note that this isn't supported in all browsers so we need to null check it.\n const firstDay = (locale.getWeekInfo?.() || locale.weekInfo)?.firstDay ?? 0;\n\n // `weekInfo.firstDay` is a number between 1 and 7 where, starting from Monday,\n // whereas our representation is 0 to 6 where 0 is Sunday so we need to normalize it.\n return firstDay === 7 ? 0 : firstDay;\n }\n\n // Default to Sunday if the browser doesn't provide the week information.\n return 0;\n }\n\n getNumDaysInMonth(date: Date): number {\n return this.getDate(\n this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0),\n );\n }\n\n clone(date: Date): Date {\n return new Date(date.getTime());\n }\n\n createDate(year: number, month: number, date: number): Date {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n // Check for invalid month and date (except upper bound on date which we have to check after\n // creating the Date).\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n }\n\n let result = this._createDateWithOverflow(year, month, date);\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\n if (result.getMonth() != month && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\n }\n\n return result;\n }\n\n today(): Date {\n return new Date();\n }\n\n parse(value: any, parseFormat?: any): Date | null {\n // We have no way using the native JS Date to set the parse format or locale, so we ignore these\n // parameters.\n if (typeof value == 'number') {\n return new Date(value);\n }\n return value ? new Date(Date.parse(value)) : null;\n }\n\n format(date: Date, displayFormat: Object): string {\n if (!this.isValid(date)) {\n throw Error('NativeDateAdapter: Cannot format invalid date.');\n }\n\n const dtf = new Intl.DateTimeFormat(this.locale, {...displayFormat, timeZone: 'utc'});\n return this._format(dtf, date);\n }\n\n addCalendarYears(date: Date, years: number): Date {\n return this.addCalendarMonths(date, years * 12);\n }\n\n addCalendarMonths(date: Date, months: number): Date {\n let newDate = this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date) + months,\n this.getDate(date),\n );\n\n // It's possible to wind up in the wrong month if the original month has more days than the new\n // month. In this case we want to go to the last day of the desired month.\n // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't\n // guarantee this.\n if (this.getMonth(newDate) != (((this.getMonth(date) + months) % 12) + 12) % 12) {\n newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);\n }\n\n return newDate;\n }\n\n addCalendarDays(date: Date, days: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date) + days,\n );\n }\n\n toIso8601(date: Date): string {\n return [\n date.getUTCFullYear(),\n this._2digit(date.getUTCMonth() + 1),\n this._2digit(date.getUTCDate()),\n ].join('-');\n }\n\n /**\n * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an\n * invalid date for all other values.\n */\n override deserialize(value: any): Date | null {\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the\n // string is the right format first.\n if (ISO_8601_REGEX.test(value)) {\n let date = new Date(value);\n if (this.isValid(date)) {\n return date;\n }\n }\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any) {\n return obj instanceof Date;\n }\n\n isValid(date: Date) {\n return !isNaN(date.getTime());\n }\n\n invalid(): Date {\n return new Date(NaN);\n }\n\n override setTime(target: Date, hours: number, minutes: number, seconds: number): Date {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!inRange(hours, 0, 23)) {\n throw Error(`Invalid hours \"${hours}\". Hours value must be between 0 and 23.`);\n }\n\n if (!inRange(minutes, 0, 59)) {\n throw Error(`Invalid minutes \"${minutes}\". Minutes value must be between 0 and 59.`);\n }\n\n if (!inRange(seconds, 0, 59)) {\n throw Error(`Invalid seconds \"${seconds}\". Seconds value must be between 0 and 59.`);\n }\n }\n\n const clone = this.clone(target);\n clone.setHours(hours, minutes, seconds, 0);\n return clone;\n }\n\n override getHours(date: Date): number {\n return date.getHours();\n }\n\n override getMinutes(date: Date): number {\n return date.getMinutes();\n }\n\n override getSeconds(date: Date): number {\n return date.getSeconds();\n }\n\n override parseTime(userValue: any, parseFormat?: any): Date | null {\n if (typeof userValue !== 'string') {\n return userValue instanceof Date ? new Date(userValue.getTime()) : null;\n }\n\n const value = userValue.trim();\n\n if (value.length === 0) {\n return null;\n }\n\n // Attempt to parse the value directly.\n let result = this._parseTimeString(value);\n\n // Some locales add extra characters around the time, but are otherwise parseable\n // (e.g. `00:05 ч.` in bg-BG). Try replacing all non-number and non-colon characters.\n if (result === null) {\n const withoutExtras = value.replace(/[^0-9:(AM|PM)]/gi, '').trim();\n\n if (withoutExtras.length > 0) {\n result = this._parseTimeString(withoutExtras);\n }\n }\n\n return result || this.invalid();\n }\n\n override addSeconds(date: Date, amount: number): Date {\n return new Date(date.getTime() + amount * 1000);\n }\n\n /** Creates a date but allows the month and date to overflow. */\n private _createDateWithOverflow(year: number, month: number, date: number) {\n // Passing the year to the constructor causes year numbers <100 to be converted to 19xx.\n // To work around this we use `setFullYear` and `setHours` instead.\n const d = new Date();\n d.setFullYear(year, month, date);\n d.setHours(0, 0, 0, 0);\n return d;\n }\n\n /**\n * Pads a number to make it two digits.\n * @param n The number to pad.\n * @returns The padded number.\n */\n private _2digit(n: number) {\n return ('00' + n).slice(-2);\n }\n\n /**\n * When converting Date object to string, javascript built-in functions may return wrong\n * results because it applies its internal DST rules. The DST rules around the world change\n * very frequently, and the current valid rule is not always valid in previous years though.\n * We work around this problem building a new Date object which has its internal UTC\n * representation with the local date and time.\n * @param dtf Intl.DateTimeFormat object, containing the desired string format. It must have\n * timeZone set to 'utc' to work fine.\n * @param date Date from which we want to get the string representation according to dtf\n * @returns A Date object with its UTC representation based on the passed in date info\n */\n private _format(dtf: Intl.DateTimeFormat, date: Date) {\n // Passing the year to the constructor causes year numbers <100 to be converted to 19xx.\n // To work around this we use `setUTCFullYear` and `setUTCHours` instead.\n const d = new Date();\n d.setUTCFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n d.setUTCHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n return dtf.format(d);\n }\n\n /**\n * Attempts to parse a time string into a date object. Returns null if it cannot be parsed.\n * @param value Time string to parse.\n */\n private _parseTimeString(value: string): Date | null {\n // Note: we can technically rely on the browser for the time parsing by generating\n // an ISO string and appending the string to the end of it. We don't do it, because\n // browsers aren't consistent in what they support. Some examples:\n // - Safari doesn't support AM/PM.\n // - Firefox produces a valid date object if the time string has overflows (e.g. 12:75) while\n // other browsers produce an invalid date.\n // - Safari doesn't allow padded numbers.\n const parsed = value.toUpperCase().match(TIME_REGEX);\n\n if (parsed) {\n let hours = parseInt(parsed[1]);\n const minutes = parseInt(parsed[2]);\n let seconds: number | undefined = parsed[3] == null ? undefined : parseInt(parsed[3]);\n const amPm = parsed[4] as 'AM' | 'PM' | undefined;\n\n if (hours === 12) {\n hours = amPm === 'AM' ? 0 : hours;\n } else if (amPm === 'PM') {\n hours += 12;\n }\n\n if (\n inRange(hours, 0, 23) &&\n inRange(minutes, 0, 59) &&\n (seconds == null || inRange(seconds, 0, 59))\n ) {\n return this.setTime(this.today(), hours, minutes, seconds || 0);\n }\n }\n\n return null;\n }\n}\n\n/** Checks whether a number is within a certain range. */\nfunction inRange(value: number, min: number, max: number): boolean {\n return !isNaN(value) && value >= min && value <= max;\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 {MatDateFormats} from './date-formats';\n\nexport const MAT_NATIVE_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: null,\n timeInput: null,\n },\n display: {\n dateInput: {year: 'numeric', month: 'numeric', day: 'numeric'},\n timeInput: {hour: 'numeric', minute: 'numeric'},\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'},\n timeOptionLabel: {hour: 'numeric', minute: 'numeric'},\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 {NgModule, Provider} from '@angular/core';\nimport {DateAdapter} from './date-adapter';\nimport {MAT_DATE_FORMATS, MatDateFormats} from './date-formats';\nimport {NativeDateAdapter} from './native-date-adapter';\nimport {MAT_NATIVE_DATE_FORMATS} from './native-date-formats';\n\nexport * from './date-adapter';\nexport * from './date-formats';\nexport * from './native-date-adapter';\nexport * from './native-date-formats';\n\n@NgModule({\n providers: [{provide: DateAdapter, useClass: NativeDateAdapter}],\n})\nexport class NativeDateModule {}\n\n@NgModule({\n providers: [provideNativeDateAdapter()],\n})\nexport class MatNativeDateModule {}\n\nexport function provideNativeDateAdapter(\n formats: MatDateFormats = MAT_NATIVE_DATE_FORMATS,\n): Provider[] {\n return [\n {provide: DateAdapter, useClass: NativeDateAdapter},\n {provide: MAT_DATE_FORMATS, useValue: formats},\n ];\n}\n"],"names":["VERSION","Version","ISO_8601_REGEX","TIME_REGEX","range","length","valueFunction","valuesArray","Array","i","NativeDateAdapter","DateAdapter","_matDateLocale","inject","MAT_DATE_LOCALE","optional","constructor","matDateLocale","undefined","setLocale","getYear","date","getFullYear","getMonth","getDate","getDayOfWeek","getDay","getMonthNames","style","dtf","Intl","DateTimeFormat","locale","month","timeZone","_format","Date","getDateNames","day","getDayOfWeekNames","weekday","getYearName","year","getFirstDayOfWeek","Locale","firstDay","getWeekInfo","weekInfo","getNumDaysInMonth","_createDateWithOverflow","clone","getTime","createDate","ngDevMode","Error","result","today","parse","value","parseFormat","format","displayFormat","isValid","addCalendarYears","years","addCalendarMonths","months","newDate","addCalendarDays","days","toIso8601","getUTCFullYear","_2digit","getUTCMonth","getUTCDate","join","deserialize","test","isDateInstance","obj","isNaN","invalid","NaN","setTime","target","hours","minutes","seconds","inRange","setHours","getHours","getMinutes","getSeconds","parseTime","userValue","trim","_parseTimeString","withoutExtras","replace","addSeconds","amount","d","setFullYear","n","slice","setUTCFullYear","setUTCHours","getMilliseconds","parsed","toUpperCase","match","parseInt","amPm","deps","i0","ɵɵFactoryTarget","Injectable","decorators","min","max","MAT_NATIVE_DATE_FORMATS","dateInput","timeInput","display","hour","minute","monthYearLabel","dateA11yLabel","monthYearA11yLabel","timeOptionLabel","NativeDateModule","NgModule","providers","provide","useClass","args","MatNativeDateModule","ɵinj","ɵɵngDeclareInjector","minVersion","version","ngImport","type","provideNativeDateAdapter","formats","MAT_DATE_FORMATS","useValue"],"mappings":"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"}
|
package/fesm2022/stepper.mjs
CHANGED
|
@@ -2,7 +2,7 @@ import { BidiModule } from '@angular/cdk/bidi';
|
|
|
2
2
|
import { TemplatePortal, CdkPortalOutlet, PortalModule } from '@angular/cdk/portal';
|
|
3
3
|
import { CdkStepLabel, CdkStepHeader, CdkStep, CdkStepper, CdkStepperNext, CdkStepperPrevious, CdkStepperModule } from '@angular/cdk/stepper';
|
|
4
4
|
import * as i0 from '@angular/core';
|
|
5
|
-
import { Directive, Injectable, inject, ChangeDetectorRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, TemplateRef, ViewContainerRef, ContentChild, NgZone, Renderer2, signal, QueryList, EventEmitter, ElementRef, ViewChildren, ContentChildren, Output, NgModule } from '@angular/core';
|
|
5
|
+
import { Directive, Injectable, inject, ChangeDetectorRef, Component, ViewEncapsulation, ChangeDetectionStrategy, Input, TemplateRef, ViewContainerRef, ContentChild, NgZone, Renderer2, signal, QueryList, EventEmitter, input, ElementRef, ViewChildren, ContentChildren, Output, NgModule } from '@angular/core';
|
|
6
6
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
|
7
7
|
import { Subject, Subscription } from 'rxjs';
|
|
8
8
|
import { NgTemplateOutlet } from '@angular/common';
|
|
@@ -493,6 +493,9 @@ class MatStepper extends CdkStepper {
|
|
|
493
493
|
color;
|
|
494
494
|
labelPosition = 'end';
|
|
495
495
|
headerPosition = 'top';
|
|
496
|
+
headerPrefix = input(null, ...(ngDevMode ? [{
|
|
497
|
+
debugName: "headerPrefix"
|
|
498
|
+
}] : []));
|
|
496
499
|
_iconOverrides = {};
|
|
497
500
|
get animationDuration() {
|
|
498
501
|
return this._animationDuration;
|
|
@@ -589,11 +592,48 @@ class MatStepper extends CdkStepper {
|
|
|
589
592
|
isStandalone: true,
|
|
590
593
|
selector: "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]",
|
|
591
594
|
inputs: {
|
|
592
|
-
disableRipple:
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
595
|
+
disableRipple: {
|
|
596
|
+
classPropertyName: "disableRipple",
|
|
597
|
+
publicName: "disableRipple",
|
|
598
|
+
isSignal: false,
|
|
599
|
+
isRequired: false,
|
|
600
|
+
transformFunction: null
|
|
601
|
+
},
|
|
602
|
+
color: {
|
|
603
|
+
classPropertyName: "color",
|
|
604
|
+
publicName: "color",
|
|
605
|
+
isSignal: false,
|
|
606
|
+
isRequired: false,
|
|
607
|
+
transformFunction: null
|
|
608
|
+
},
|
|
609
|
+
labelPosition: {
|
|
610
|
+
classPropertyName: "labelPosition",
|
|
611
|
+
publicName: "labelPosition",
|
|
612
|
+
isSignal: false,
|
|
613
|
+
isRequired: false,
|
|
614
|
+
transformFunction: null
|
|
615
|
+
},
|
|
616
|
+
headerPosition: {
|
|
617
|
+
classPropertyName: "headerPosition",
|
|
618
|
+
publicName: "headerPosition",
|
|
619
|
+
isSignal: false,
|
|
620
|
+
isRequired: false,
|
|
621
|
+
transformFunction: null
|
|
622
|
+
},
|
|
623
|
+
headerPrefix: {
|
|
624
|
+
classPropertyName: "headerPrefix",
|
|
625
|
+
publicName: "headerPrefix",
|
|
626
|
+
isSignal: true,
|
|
627
|
+
isRequired: false,
|
|
628
|
+
transformFunction: null
|
|
629
|
+
},
|
|
630
|
+
animationDuration: {
|
|
631
|
+
classPropertyName: "animationDuration",
|
|
632
|
+
publicName: "animationDuration",
|
|
633
|
+
isSignal: false,
|
|
634
|
+
isRequired: false,
|
|
635
|
+
transformFunction: null
|
|
636
|
+
}
|
|
597
637
|
},
|
|
598
638
|
outputs: {
|
|
599
639
|
animationDone: "animationDone"
|
|
@@ -634,8 +674,8 @@ class MatStepper extends CdkStepper {
|
|
|
634
674
|
exportAs: ["matStepper", "matVerticalStepper", "matHorizontalStepper"],
|
|
635
675
|
usesInheritance: true,
|
|
636
676
|
ngImport: i0,
|
|
637
|
-
template: "<!--\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
|
|
638
|
-
styles: [".mat-stepper-vertical,.mat-stepper-horizontal{display:block;font-family:var(--mat-stepper-container-text-font, var(--mat-sys-body-medium-font));background:var(--mat-stepper-container-color, var(--mat-sys-surface))}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:var(--mat-stepper-header-height, 72px)}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-horizontal-stepper-header.mat-step-header-empty-label .mat-step-icon{margin:0}.mat-horizontal-stepper-header::before,.mat-horizontal-stepper-header::after{border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after{top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px;padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.mat-stepper-animations-enabled .mat-horizontal-stepper-content{transition:transform var(--mat-stepper-animation-duration, 0) cubic-bezier(0.35, 0, 0.25, 1)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-previous{transform:translate3d(-100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-next{transform:translate3d(100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.mat-stepper-horizontal:not(.mat-stepper-animating) .mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{overflow:visible}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}@media(forced-colors: active){.mat-horizontal-content-container{outline:solid 1px}}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.mat-stepper-animations-enabled .mat-vertical-content-container{transition:grid-template-rows var(--mat-stepper-animation-duration, 0) cubic-bezier(0.4, 0, 0.2, 1)}.mat-vertical-content-container.mat-vertical-content-container-active{grid-template-rows:1fr}.mat-step:last-child .mat-vertical-content-container{border:none}@media(forced-colors: active){.mat-vertical-content-container{outline:solid 1px}}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.mat-vertical-content-container{height:0}.mat-vertical-content-container.mat-vertical-content-container-active{height:auto}}.mat-stepper-vertical-line::before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:var(--mat-stepper-line-color, var(--mat-sys-outline));top:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2));bottom:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2))}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.mat-stepper-animations-enabled .mat-vertical-stepper-content{transition:visibility var(--mat-stepper-animation-duration, 0) linear}.mat-vertical-content-container-active>.mat-vertical-stepper-content{visibility:visible}.mat-vertical-content{padding:0 24px 24px 24px}\n"],
|
|
677
|
+
template: "<!--\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 @if (headerPrefix()) {\n <div class=\"mat-horizontal-stepper-header-wrapper\">\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n }\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step) {\n <div\n #animatedContainer\n class=\"mat-horizontal-stepper-content\"\n role=\"tabpanel\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\n [class]=\"'mat-horizontal-stepper-content-' + _getAnimationDirection($index)\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n <div class=\"mat-vertical-stepper-wrapper\">\n @if (headerPrefix()) {\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n }\n\n @for (step of steps; track step) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n <div\n #animatedContainer\n class=\"mat-vertical-content-container\"\n [class.mat-stepper-vertical-line]=\"!$last\"\n [class.mat-vertical-content-container-active]=\"selectedIndex === $index\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <div \n class=\"mat-vertical-stepper-content\"\n role=\"region\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" #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() === step.index() ? 0 : -1\"\n [id]=\"_getStepLabelId(step.index())\"\n [attr.role]=\"orientation === 'horizontal' ? 'tab' : 'button'\"\n [attr.aria-posinset]=\"orientation === 'horizontal' ? step.index() + 1 : null\"\n [attr.aria-setsize]=\"orientation === 'horizontal' ? steps.length : null\"\n [attr.aria-selected]=\"orientation === 'horizontal' ? step.isSelected() : null\"\n [attr.aria-current]=\"orientation === 'vertical' && step.isSelected() ? 'step' : null\"\n [attr.aria-disabled]=\"orientation === 'vertical' && step.isSelected() ? 'true' : null\"\n [attr.aria-expanded]=\"orientation === 'vertical' ? step.isSelected() : null\"\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\n [index]=\"step.index()\"\n [state]=\"step.indicatorType()\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"step.isSelected()\"\n [active]=\"step.isNavigable()\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\n [color]=\"step.color || color\"/>\n</ng-template>\n\n<ng-template #horizontalStepsTemplate let-steps=\"steps\">\n <div \n aria-orientation=\"horizontal\"\n class=\"mat-horizontal-stepper-header-container\" \n role=\"tablist\">\n @for (step of steps; track step) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n @if (!$last) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\n</ng-template>\n",
|
|
678
|
+
styles: [".mat-stepper-vertical,.mat-stepper-horizontal{display:block;font-family:var(--mat-stepper-container-text-font, var(--mat-sys-body-medium-font));background:var(--mat-stepper-container-color, var(--mat-sys-surface))}.mat-horizontal-stepper-header-wrapper{align-items:center;display:flex}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center;flex-grow:1}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:var(--mat-stepper-header-height, 72px)}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-horizontal-stepper-header.mat-step-header-empty-label .mat-step-icon{margin:0}.mat-horizontal-stepper-header::before,.mat-horizontal-stepper-header::after{border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after{top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px;padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.mat-stepper-animations-enabled .mat-horizontal-stepper-content{transition:transform var(--mat-stepper-animation-duration, 0) cubic-bezier(0.35, 0, 0.25, 1)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-previous{transform:translate3d(-100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-next{transform:translate3d(100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.mat-stepper-horizontal:not(.mat-stepper-animating) .mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{overflow:visible}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}@media(forced-colors: active){.mat-horizontal-content-container{outline:solid 1px}}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.mat-stepper-animations-enabled .mat-vertical-content-container{transition:grid-template-rows var(--mat-stepper-animation-duration, 0) cubic-bezier(0.4, 0, 0.2, 1)}.mat-vertical-content-container.mat-vertical-content-container-active{grid-template-rows:1fr}.mat-step:last-child .mat-vertical-content-container{border:none}@media(forced-colors: active){.mat-vertical-content-container{outline:solid 1px}}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.mat-vertical-content-container{height:0}.mat-vertical-content-container.mat-vertical-content-container-active{height:auto}}.mat-stepper-vertical-line::before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:var(--mat-stepper-line-color, var(--mat-sys-outline));top:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2));bottom:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2))}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.mat-stepper-animations-enabled .mat-vertical-stepper-content{transition:visibility var(--mat-stepper-animation-duration, 0) linear}.mat-vertical-content-container-active>.mat-vertical-stepper-content{visibility:visible}.mat-vertical-content{padding:0 24px 24px 24px}\n"],
|
|
639
679
|
dependencies: [{
|
|
640
680
|
kind: "directive",
|
|
641
681
|
type: NgTemplateOutlet,
|
|
@@ -677,8 +717,8 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
677
717
|
encapsulation: ViewEncapsulation.None,
|
|
678
718
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
679
719
|
imports: [NgTemplateOutlet, MatStepHeader],
|
|
680
|
-
template: "<!--\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
|
|
681
|
-
styles: [".mat-stepper-vertical,.mat-stepper-horizontal{display:block;font-family:var(--mat-stepper-container-text-font, var(--mat-sys-body-medium-font));background:var(--mat-stepper-container-color, var(--mat-sys-surface))}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:var(--mat-stepper-header-height, 72px)}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-horizontal-stepper-header.mat-step-header-empty-label .mat-step-icon{margin:0}.mat-horizontal-stepper-header::before,.mat-horizontal-stepper-header::after{border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after{top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px;padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.mat-stepper-animations-enabled .mat-horizontal-stepper-content{transition:transform var(--mat-stepper-animation-duration, 0) cubic-bezier(0.35, 0, 0.25, 1)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-previous{transform:translate3d(-100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-next{transform:translate3d(100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.mat-stepper-horizontal:not(.mat-stepper-animating) .mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{overflow:visible}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}@media(forced-colors: active){.mat-horizontal-content-container{outline:solid 1px}}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.mat-stepper-animations-enabled .mat-vertical-content-container{transition:grid-template-rows var(--mat-stepper-animation-duration, 0) cubic-bezier(0.4, 0, 0.2, 1)}.mat-vertical-content-container.mat-vertical-content-container-active{grid-template-rows:1fr}.mat-step:last-child .mat-vertical-content-container{border:none}@media(forced-colors: active){.mat-vertical-content-container{outline:solid 1px}}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.mat-vertical-content-container{height:0}.mat-vertical-content-container.mat-vertical-content-container-active{height:auto}}.mat-stepper-vertical-line::before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:var(--mat-stepper-line-color, var(--mat-sys-outline));top:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2));bottom:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2))}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.mat-stepper-animations-enabled .mat-vertical-stepper-content{transition:visibility var(--mat-stepper-animation-duration, 0) linear}.mat-vertical-content-container-active>.mat-vertical-stepper-content{visibility:visible}.mat-vertical-content{padding:0 24px 24px 24px}\n"]
|
|
720
|
+
template: "<!--\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 @if (headerPrefix()) {\n <div class=\"mat-horizontal-stepper-header-wrapper\">\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n }\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step) {\n <div\n #animatedContainer\n class=\"mat-horizontal-stepper-content\"\n role=\"tabpanel\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\n [class]=\"'mat-horizontal-stepper-content-' + _getAnimationDirection($index)\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n <div class=\"mat-vertical-stepper-wrapper\">\n @if (headerPrefix()) {\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n }\n\n @for (step of steps; track step) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n <div\n #animatedContainer\n class=\"mat-vertical-content-container\"\n [class.mat-stepper-vertical-line]=\"!$last\"\n [class.mat-vertical-content-container-active]=\"selectedIndex === $index\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <div \n class=\"mat-vertical-stepper-content\"\n role=\"region\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" #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() === step.index() ? 0 : -1\"\n [id]=\"_getStepLabelId(step.index())\"\n [attr.role]=\"orientation === 'horizontal' ? 'tab' : 'button'\"\n [attr.aria-posinset]=\"orientation === 'horizontal' ? step.index() + 1 : null\"\n [attr.aria-setsize]=\"orientation === 'horizontal' ? steps.length : null\"\n [attr.aria-selected]=\"orientation === 'horizontal' ? step.isSelected() : null\"\n [attr.aria-current]=\"orientation === 'vertical' && step.isSelected() ? 'step' : null\"\n [attr.aria-disabled]=\"orientation === 'vertical' && step.isSelected() ? 'true' : null\"\n [attr.aria-expanded]=\"orientation === 'vertical' ? step.isSelected() : null\"\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\n [index]=\"step.index()\"\n [state]=\"step.indicatorType()\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"step.isSelected()\"\n [active]=\"step.isNavigable()\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\n [color]=\"step.color || color\"/>\n</ng-template>\n\n<ng-template #horizontalStepsTemplate let-steps=\"steps\">\n <div \n aria-orientation=\"horizontal\"\n class=\"mat-horizontal-stepper-header-container\" \n role=\"tablist\">\n @for (step of steps; track step) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n @if (!$last) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\n</ng-template>\n",
|
|
721
|
+
styles: [".mat-stepper-vertical,.mat-stepper-horizontal{display:block;font-family:var(--mat-stepper-container-text-font, var(--mat-sys-body-medium-font));background:var(--mat-stepper-container-color, var(--mat-sys-surface))}.mat-horizontal-stepper-header-wrapper{align-items:center;display:flex}.mat-horizontal-stepper-header-container{white-space:nowrap;display:flex;align-items:center;flex-grow:1}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header-container{align-items:flex-start}.mat-stepper-header-position-bottom .mat-horizontal-stepper-header-container{order:1}.mat-stepper-horizontal-line{border-top-width:1px;border-top-style:solid;flex:auto;height:0;margin:0 -16px;min-width:32px;border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-stepper-horizontal-line{margin:0;min-width:0;position:relative;top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{border-top-width:1px;border-top-style:solid;content:\"\";display:inline-block;height:0;position:absolute;width:calc(50% - 20px)}.mat-horizontal-stepper-header{display:flex;overflow:hidden;align-items:center;padding:0 24px;height:var(--mat-stepper-header-height, 72px)}.mat-horizontal-stepper-header .mat-step-icon{margin-right:8px;flex:none}[dir=rtl] .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:8px}.mat-horizontal-stepper-header.mat-step-header-empty-label .mat-step-icon{margin:0}.mat-horizontal-stepper-header::before,.mat-horizontal-stepper-header::after{border-top-color:var(--mat-stepper-line-color, var(--mat-sys-outline))}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::before,.mat-stepper-label-position-bottom .mat-horizontal-stepper-header::after{top:calc(calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) + 12px)}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header{box-sizing:border-box;flex-direction:column;height:auto}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::after,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::after{right:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:first-child)::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:not(:last-child)::before{left:0}[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:last-child::before,[dir=rtl] .mat-stepper-label-position-bottom .mat-horizontal-stepper-header:first-child::after{display:none}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-icon{margin-right:0;margin-left:0}.mat-stepper-label-position-bottom .mat-horizontal-stepper-header .mat-step-label{padding:16px 0 0 0;text-align:center;width:100%}.mat-vertical-stepper-header{display:flex;align-items:center;height:24px;padding:calc((var(--mat-stepper-header-height, 72px) - 24px) / 2) 24px}.mat-vertical-stepper-header .mat-step-icon{margin-right:12px}[dir=rtl] .mat-vertical-stepper-header .mat-step-icon{margin-right:0;margin-left:12px}.mat-horizontal-stepper-wrapper{display:flex;flex-direction:column}.mat-horizontal-stepper-content{visibility:hidden;overflow:hidden;outline:0;height:0}.mat-stepper-animations-enabled .mat-horizontal-stepper-content{transition:transform var(--mat-stepper-animation-duration, 0) cubic-bezier(0.35, 0, 0.25, 1)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-previous{transform:translate3d(-100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-next{transform:translate3d(100%, 0, 0)}.mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{visibility:visible;transform:none;height:auto}.mat-stepper-horizontal:not(.mat-stepper-animating) .mat-horizontal-stepper-content.mat-horizontal-stepper-content-current{overflow:visible}.mat-horizontal-content-container{overflow:hidden;padding:0 24px 24px 24px}@media(forced-colors: active){.mat-horizontal-content-container{outline:solid 1px}}.mat-stepper-header-position-bottom .mat-horizontal-content-container{padding:24px 24px 0 24px}.mat-vertical-content-container{display:grid;grid-template-rows:0fr;grid-template-columns:100%;margin-left:36px;border:0;position:relative}.mat-stepper-animations-enabled .mat-vertical-content-container{transition:grid-template-rows var(--mat-stepper-animation-duration, 0) cubic-bezier(0.4, 0, 0.2, 1)}.mat-vertical-content-container.mat-vertical-content-container-active{grid-template-rows:1fr}.mat-step:last-child .mat-vertical-content-container{border:none}@media(forced-colors: active){.mat-vertical-content-container{outline:solid 1px}}[dir=rtl] .mat-vertical-content-container{margin-left:0;margin-right:36px}@supports not (grid-template-rows: 0fr){.mat-vertical-content-container{height:0}.mat-vertical-content-container.mat-vertical-content-container-active{height:auto}}.mat-stepper-vertical-line::before{content:\"\";position:absolute;left:0;border-left-width:1px;border-left-style:solid;border-left-color:var(--mat-stepper-line-color, var(--mat-sys-outline));top:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2));bottom:calc(8px - calc((var(--mat-stepper-header-height, 72px) - 24px) / 2))}[dir=rtl] .mat-stepper-vertical-line::before{left:auto;right:0}.mat-vertical-stepper-content{overflow:hidden;outline:0;visibility:hidden}.mat-stepper-animations-enabled .mat-vertical-stepper-content{transition:visibility var(--mat-stepper-animation-duration, 0) linear}.mat-vertical-content-container-active>.mat-vertical-stepper-content{visibility:visible}.mat-vertical-content{padding:0 24px 24px 24px}\n"]
|
|
682
722
|
}]
|
|
683
723
|
}],
|
|
684
724
|
ctorParameters: () => [],
|
|
@@ -718,6 +758,14 @@ i0.ɵɵngDeclareClassMetadata({
|
|
|
718
758
|
headerPosition: [{
|
|
719
759
|
type: Input
|
|
720
760
|
}],
|
|
761
|
+
headerPrefix: [{
|
|
762
|
+
type: i0.Input,
|
|
763
|
+
args: [{
|
|
764
|
+
isSignal: true,
|
|
765
|
+
alias: "headerPrefix",
|
|
766
|
+
required: false
|
|
767
|
+
}]
|
|
768
|
+
}],
|
|
721
769
|
animationDuration: [{
|
|
722
770
|
type: Input
|
|
723
771
|
}]
|
package/fesm2022/stepper.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step-label.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper-intl.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step-header.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step-header.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper-icon.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step-content.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper-button.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {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} 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 * @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 '../core';\nimport {MatIcon} from '../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-step-header-empty-label]': '_hasEmptyLabel()',\n '[class]': '\"mat-\" + (color || \"primary\")',\n 'role': '', // ignore cdk role in favor of setting appropriately in html\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.dev/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_StructuralStylesLoader);\n styleLoader.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 _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 protected _hasEmptyLabel() {\n return (\n !this._stringLabel() &&\n !this._templateLabel() &&\n !this._hasOptionalLabel() &&\n !this._hasErrorLabel()\n );\n }\n\n protected _hasOptionalLabel() {\n return this.optional && this.state !== 'error';\n }\n\n protected _hasErrorLabel() {\n return this.state === 'error';\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]=\"{index, active, optional}\"></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 (_hasOptionalLabel()) {\n <div class=\"mat-step-optional\">{{_intl.optionalLabel}}</div>\n }\n\n @if (_hasErrorLabel()) {\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 */\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} from '@angular/cdk/stepper';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n NgZone,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n signal,\n TemplateRef,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {AbstractControl, FormGroupDirective, NgForm} from '@angular/forms';\nimport {_animationsDisabled, ErrorStateMatcher, ThemePalette} from '../core';\nimport {Platform} from '@angular/cdk/platform';\nimport {CdkPortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {Subscription} from 'rxjs';\nimport {takeUntil, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {MatStepperIcon, MatStepperIconContext} from './stepper-icon';\nimport {MatStepContent} from './step-content';\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.dev/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n /** 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 '[class.mat-stepper-animating]': '_isAnimating()',\n '[style.--mat-stepper-animation-duration]': '_getAnimationDuration()',\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 AfterViewInit, AfterContentInit, OnDestroy {\n private _ngZone = inject(NgZone);\n private _renderer = inject(Renderer2);\n private _animationsDisabled = _animationsDisabled();\n private _cleanupTransition: (() => void) | undefined;\n protected _isAnimating = signal(false);\n\n /** The list of step headers of the steps in the stepper. */\n @ViewChildren(MatStepHeader) override _stepHeader: QueryList<MatStepHeader> = undefined!;\n\n /** Elements hosting the step animations. */\n @ViewChildren('animatedContainer') _animatedContainers: QueryList<ElementRef>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n @ContentChildren(MatStep, {descendants: true}) override _steps: QueryList<MatStep> = undefined!;\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.dev/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n /**\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 /** 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(() => this._stateChanged());\n\n // Transition events won't fire if animations are disabled so we simulate them.\n this.selectedIndexChange.pipe(takeUntil(this._destroyed)).subscribe(() => {\n const duration = this._getAnimationDuration();\n if (duration === '0ms' || duration === '0s') {\n this._onAnimationDone();\n } else {\n this._isAnimating.set(true);\n }\n });\n\n this._ngZone.runOutsideAngular(() => {\n if (!this._animationsDisabled) {\n setTimeout(() => {\n // Delay enabling the animations so we don't animate the initial state.\n this._elementRef.nativeElement.classList.add('mat-stepper-animations-enabled');\n\n // Bind this outside the zone since it fires for all transitions inside the stepper.\n this._cleanupTransition = this._renderer.listen(\n this._elementRef.nativeElement,\n 'transitionend',\n this._handleTransitionend,\n );\n }, 200);\n }\n });\n }\n\n override ngAfterViewInit(): void {\n super.ngAfterViewInit();\n\n // Prior to #30314 the stepper had animation `done` events bound to each animated container.\n // The animations module was firing them on initialization and for each subsequent animation.\n // Since the events were bound in the template, it had the unintended side-effect of triggering\n // change detection as well. It appears that this side-effect ended up being load-bearing,\n // because it was ensuring that the content elements (e.g. `matStepLabel`) that are defined\n // in sub-components actually get picked up in a timely fashion. This subscription simulates\n // the same change detection by using `queueMicrotask` similarly to the animations module.\n if (typeof queueMicrotask === 'function') {\n let hasEmittedInitial = false;\n this._animatedContainers.changes\n .pipe(startWith(null), takeUntil(this._destroyed))\n .subscribe(() =>\n queueMicrotask(() => {\n // Simulate the initial `animationDone` event\n // that gets emitted by the animations module.\n if (!hasEmittedInitial) {\n hasEmittedInitial = true;\n this.animationDone.emit();\n }\n\n this._stateChanged();\n }),\n );\n }\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._cleanupTransition?.();\n }\n\n _getAnimationDuration() {\n if (this._animationsDisabled) {\n return '0ms';\n }\n\n if (this.animationDuration) {\n return this.animationDuration;\n }\n\n return this.orientation === 'horizontal' ? '500ms' : '225ms';\n }\n\n private _handleTransitionend = (event: TransitionEvent) => {\n const target = event.target as HTMLElement | null;\n\n if (!target) {\n return;\n }\n\n // Because we bind a single `transitionend` handler on the host node and because transition\n // events bubble, we have to filter down to only the active step so don't emit events too\n // often. We check the orientation and `property` name first to reduce the amount of times\n // we need to check the DOM.\n const isHorizontalActiveElement =\n this.orientation === 'horizontal' &&\n event.propertyName === 'transform' &&\n target.classList.contains('mat-horizontal-stepper-content-current');\n const isVerticalActiveElement =\n this.orientation === 'vertical' &&\n event.propertyName === 'grid-template-rows' &&\n target.classList.contains('mat-vertical-content-container-active');\n\n // Finally we need to ensure that the animated element is a direct descendant,\n // rather than one coming from a nested stepper.\n const shouldEmit =\n (isHorizontalActiveElement || isVerticalActiveElement) &&\n this._animatedContainers.find(ref => ref.nativeElement === target);\n\n if (shouldEmit) {\n this._onAnimationDone();\n }\n };\n\n private _onAnimationDone() {\n this._isAnimating.set(false);\n this.animationDone.emit();\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 \n aria-orientation=\"horizontal\"\n class=\"mat-horizontal-stepper-header-container\" \n role=\"tablist\">\n @for (step of steps; track step) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n @if (!$last) {\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) {\n <div\n #animatedContainer\n class=\"mat-horizontal-stepper-content\"\n role=\"tabpanel\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\n [class]=\"'mat-horizontal-stepper-content-' + _getAnimationDirection($index)\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n <div class=\"mat-vertical-stepper-wrapper\">\n @for (step of steps; track step) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n <div\n #animatedContainer\n class=\"mat-vertical-content-container\"\n [class.mat-stepper-vertical-line]=\"!$last\"\n [class.mat-vertical-content-container-active]=\"selectedIndex === $index\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <div \n class=\"mat-vertical-stepper-content\"\n role=\"region\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" #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() === step.index() ? 0 : -1\"\n [id]=\"_getStepLabelId(step.index())\"\n [attr.role]=\"orientation === 'horizontal' ? 'tab' : 'button'\"\n [attr.aria-posinset]=\"orientation === 'horizontal' ? step.index() + 1 : null\"\n [attr.aria-setsize]=\"orientation === 'horizontal' ? steps.length : null\"\n [attr.aria-selected]=\"orientation === 'horizontal' ? step.isSelected() : null\"\n [attr.aria-current]=\"orientation === 'vertical' && step.isSelected() ? 'step' : null\"\n [attr.aria-disabled]=\"orientation === 'vertical' && step.isSelected() ? 'true' : null\"\n [attr.aria-expanded]=\"orientation === 'vertical' ? step.isSelected() : null\"\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\n [index]=\"step.index()\"\n [state]=\"step.indicatorType()\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"step.isSelected()\"\n [active]=\"step.isNavigable()\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\n [color]=\"step.color || color\"/>\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 {BidiModule} from '@angular/cdk/bidi';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CdkStepperModule} from '@angular/cdk/stepper';\nimport {NgModule} from '@angular/core';\nimport {ErrorStateMatcher, MatRippleModule} from '../core';\nimport {MatIconModule} from '../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 {MatStepContent} from './step-content';\n\n@NgModule({\n imports: [\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 BidiModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n providers: [ErrorStateMatcher],\n})\nexport class MatStepperModule {}\n"],"names":["MatStepLabel","CdkStepLabel","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","usesInheritance","ngImport","decorators","args","MatStepperIntl","changes","Subject","optionalLabel","completedLabel","editableLabel","Injectable","ɵprov","ɵɵngDeclareInjectable","minVersion","version","type","providedIn","MatStepHeader","CdkStepHeader","_intl","inject","_focusMonitor","FocusMonitor","_intlSubscription","state","label","errorMessage","iconOverrides","index","selected","active","optional","disableRipple","color","constructor","styleLoader","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","_VisuallyHiddenLoader","changeDetectorRef","ChangeDetectorRef","subscribe","markForCheck","ngAfterViewInit","monitor","_elementRef","ngOnDestroy","unsubscribe","stopMonitoring","focus","origin","options","focusVia","nativeElement","_stringLabel","_templateLabel","_getHostElement","_getDefaultTextForState","_hasEmptyLabel","_hasOptionalLabel","_hasErrorLabel","Component","ɵcmp","ɵɵngDeclareComponent","styles","dependencies","kind","MatRipple","inputs","exportAs","NgTemplateOutlet","MatIcon","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","host","imports","template","Input","MatStepperIcon","templateRef","TemplateRef","name","MatStepContent","_template","MatStep","CdkStep","_errorStateMatcher","ErrorStateMatcher","skipSelf","_viewContainerRef","ViewContainerRef","_isSelected","Subscription","EMPTY","stepLabel","undefined","_lazyContent","_portal","ngAfterContentInit","_stepper","steps","pipe","switchMap","selectionChange","map","event","selectedStep","startWith","isSelected","TemplatePortal","isErrorState","control","form","originalErrorState","customErrorState","invalid","interacted","attributes","providers","provide","useExisting","queries","propertyName","first","predicate","descendants","CdkPortalOutlet","outputs","ContentChild","static","MatStepper","CdkStepper","_ngZone","NgZone","_renderer","Renderer2","_animationsDisabled","_cleanupTransition","_isAnimating","signal","_stepHeader","_animatedContainers","_steps","QueryList","_icons","animationDone","EventEmitter","labelPosition","headerPosition","_iconOverrides","animationDuration","_animationDuration","value","test","_isServer","Platform","isBrowser","elementRef","ElementRef","nodeName","toLowerCase","orientation","forEach","takeUntil","_destroyed","_stateChanged","selectedIndexChange","duration","_getAnimationDuration","_onAnimationDone","set","runOutsideAngular","setTimeout","classList","add","listen","_handleTransitionend","queueMicrotask","hasEmittedInitial","emit","isHorizontalActiveElement","contains","isVerticalActiveElement","shouldEmit","find","ref","properties","viewQueries","ViewChildren","ContentChildren","Output","MatStepperNext","CdkStepperNext","classAttribute","MatStepperPrevious","CdkStepperPrevious","MatStepperModule","NgModule","ɵmod","ɵɵngDeclareNgModule","PortalModule","CdkStepperModule","MatIconModule","MatRippleModule","BidiModule","ɵinj","ɵɵngDeclareInjector","exports"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stepper.mjs","sources":["../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step-label.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper-intl.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step-header.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step-header.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper-icon.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step-content.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/step.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper.html","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper-button.ts","../../../../../k8-fastbuild-ST-199a4f3c4e20/bin/src/material/stepper/stepper-module.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {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} 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 * @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 '../core';\nimport {MatIcon} from '../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-step-header-empty-label]': '_hasEmptyLabel()',\n '[class]': '\"mat-\" + (color || \"primary\")',\n 'role': '', // ignore cdk role in favor of setting appropriately in html\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.dev/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_StructuralStylesLoader);\n styleLoader.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 _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 protected _hasEmptyLabel() {\n return (\n !this._stringLabel() &&\n !this._templateLabel() &&\n !this._hasOptionalLabel() &&\n !this._hasErrorLabel()\n );\n }\n\n protected _hasOptionalLabel() {\n return this.optional && this.state !== 'error';\n }\n\n protected _hasErrorLabel() {\n return this.state === 'error';\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]=\"{index, active, optional}\"></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 (_hasOptionalLabel()) {\n <div class=\"mat-step-optional\">{{_intl.optionalLabel}}</div>\n }\n\n @if (_hasErrorLabel()) {\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 */\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} from '@angular/cdk/stepper';\nimport {\n AfterContentInit,\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ContentChild,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n input,\n NgZone,\n OnDestroy,\n Output,\n QueryList,\n Renderer2,\n signal,\n TemplateRef,\n ViewChildren,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport {NgTemplateOutlet} from '@angular/common';\nimport {AbstractControl, FormGroupDirective, NgForm} from '@angular/forms';\nimport {_animationsDisabled, ErrorStateMatcher, ThemePalette} from '../core';\nimport {Platform} from '@angular/cdk/platform';\nimport {CdkPortalOutlet, TemplatePortal} from '@angular/cdk/portal';\nimport {Subscription} from 'rxjs';\nimport {takeUntil, map, startWith, switchMap} from 'rxjs/operators';\n\nimport {MatStepHeader} from './step-header';\nimport {MatStepLabel} from './step-label';\nimport {MatStepperIcon, MatStepperIconContext} from './stepper-icon';\nimport {MatStepContent} from './step-content';\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.dev/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n /** 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 '[class.mat-stepper-animating]': '_isAnimating()',\n '[style.--mat-stepper-animation-duration]': '_getAnimationDuration()',\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 AfterViewInit, AfterContentInit, OnDestroy {\n private _ngZone = inject(NgZone);\n private _renderer = inject(Renderer2);\n private _animationsDisabled = _animationsDisabled();\n private _cleanupTransition: (() => void) | undefined;\n protected _isAnimating = signal(false);\n\n /** The list of step headers of the steps in the stepper. */\n @ViewChildren(MatStepHeader) override _stepHeader: QueryList<MatStepHeader> = undefined!;\n\n /** Elements hosting the step animations. */\n @ViewChildren('animatedContainer') _animatedContainers: QueryList<ElementRef>;\n\n /** Full list of steps inside the stepper, including inside nested steppers. */\n @ContentChildren(MatStep, {descendants: true}) override _steps: QueryList<MatStep> = undefined!;\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.dev/components/stepper/styling.\n *\n * For information on applying color variants in M3, see\n * https://material.angular.dev/guide/material-2-theming#optional-add-backwards-compatibility-styles-for-color-variants\n */\n @Input() color: ThemePalette;\n\n /**\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 /** The content prefix to use in the stepper header. */\n readonly headerPrefix = input<TemplateRef<unknown> | null>(null);\n\n /** Consumer-specified template-refs to be used to override the header icons. */\n _iconOverrides: Record<string, TemplateRef<MatStepperIconContext>> = {};\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(() => this._stateChanged());\n\n // Transition events won't fire if animations are disabled so we simulate them.\n this.selectedIndexChange.pipe(takeUntil(this._destroyed)).subscribe(() => {\n const duration = this._getAnimationDuration();\n if (duration === '0ms' || duration === '0s') {\n this._onAnimationDone();\n } else {\n this._isAnimating.set(true);\n }\n });\n\n this._ngZone.runOutsideAngular(() => {\n if (!this._animationsDisabled) {\n setTimeout(() => {\n // Delay enabling the animations so we don't animate the initial state.\n this._elementRef.nativeElement.classList.add('mat-stepper-animations-enabled');\n\n // Bind this outside the zone since it fires for all transitions inside the stepper.\n this._cleanupTransition = this._renderer.listen(\n this._elementRef.nativeElement,\n 'transitionend',\n this._handleTransitionend,\n );\n }, 200);\n }\n });\n }\n\n override ngAfterViewInit(): void {\n super.ngAfterViewInit();\n\n // Prior to #30314 the stepper had animation `done` events bound to each animated container.\n // The animations module was firing them on initialization and for each subsequent animation.\n // Since the events were bound in the template, it had the unintended side-effect of triggering\n // change detection as well. It appears that this side-effect ended up being load-bearing,\n // because it was ensuring that the content elements (e.g. `matStepLabel`) that are defined\n // in sub-components actually get picked up in a timely fashion. This subscription simulates\n // the same change detection by using `queueMicrotask` similarly to the animations module.\n if (typeof queueMicrotask === 'function') {\n let hasEmittedInitial = false;\n this._animatedContainers.changes\n .pipe(startWith(null), takeUntil(this._destroyed))\n .subscribe(() =>\n queueMicrotask(() => {\n // Simulate the initial `animationDone` event\n // that gets emitted by the animations module.\n if (!hasEmittedInitial) {\n hasEmittedInitial = true;\n this.animationDone.emit();\n }\n\n this._stateChanged();\n }),\n );\n }\n }\n\n override ngOnDestroy(): void {\n super.ngOnDestroy();\n this._cleanupTransition?.();\n }\n\n _getAnimationDuration() {\n if (this._animationsDisabled) {\n return '0ms';\n }\n\n if (this.animationDuration) {\n return this.animationDuration;\n }\n\n return this.orientation === 'horizontal' ? '500ms' : '225ms';\n }\n\n private _handleTransitionend = (event: TransitionEvent) => {\n const target = event.target as HTMLElement | null;\n\n if (!target) {\n return;\n }\n\n // Because we bind a single `transitionend` handler on the host node and because transition\n // events bubble, we have to filter down to only the active step so don't emit events too\n // often. We check the orientation and `property` name first to reduce the amount of times\n // we need to check the DOM.\n const isHorizontalActiveElement =\n this.orientation === 'horizontal' &&\n event.propertyName === 'transform' &&\n target.classList.contains('mat-horizontal-stepper-content-current');\n const isVerticalActiveElement =\n this.orientation === 'vertical' &&\n event.propertyName === 'grid-template-rows' &&\n target.classList.contains('mat-vertical-content-container-active');\n\n // Finally we need to ensure that the animated element is a direct descendant,\n // rather than one coming from a nested stepper.\n const shouldEmit =\n (isHorizontalActiveElement || isVerticalActiveElement) &&\n this._animatedContainers.find(ref => ref.nativeElement === target);\n\n if (shouldEmit) {\n this._onAnimationDone();\n }\n };\n\n private _onAnimationDone() {\n this._isAnimating.set(false);\n this.animationDone.emit();\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 @if (headerPrefix()) {\n <div class=\"mat-horizontal-stepper-header-wrapper\">\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n </div>\n } @else {\n <ng-container [ngTemplateOutlet]=\"horizontalStepsTemplate\"\n [ngTemplateOutletContext]=\"{steps}\"/>\n }\n\n <div class=\"mat-horizontal-content-container\">\n @for (step of steps; track step) {\n <div\n #animatedContainer\n class=\"mat-horizontal-stepper-content\"\n role=\"tabpanel\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\"\n [class]=\"'mat-horizontal-stepper-content-' + _getAnimationDirection($index)\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n }\n </div>\n </div>\n }\n\n @case ('vertical') {\n <div class=\"mat-vertical-stepper-wrapper\">\n @if (headerPrefix()) {\n <ng-container [ngTemplateOutlet]=\"headerPrefix()\"/>\n }\n\n @for (step of steps; track step) {\n <div class=\"mat-step\">\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n <div\n #animatedContainer\n class=\"mat-vertical-content-container\"\n [class.mat-stepper-vertical-line]=\"!$last\"\n [class.mat-vertical-content-container-active]=\"selectedIndex === $index\"\n [attr.inert]=\"selectedIndex === $index ? null : ''\">\n <div \n class=\"mat-vertical-stepper-content\"\n role=\"region\"\n [id]=\"_getStepContentId($index)\"\n [attr.aria-labelledby]=\"_getStepLabelId($index)\">\n <div class=\"mat-vertical-content\">\n <ng-container [ngTemplateOutlet]=\"step.content\"/>\n </div>\n </div>\n </div>\n </div>\n }\n </div>\n }\n}\n\n<!-- Common step templating -->\n<ng-template let-step=\"step\" #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() === step.index() ? 0 : -1\"\n [id]=\"_getStepLabelId(step.index())\"\n [attr.role]=\"orientation === 'horizontal' ? 'tab' : 'button'\"\n [attr.aria-posinset]=\"orientation === 'horizontal' ? step.index() + 1 : null\"\n [attr.aria-setsize]=\"orientation === 'horizontal' ? steps.length : null\"\n [attr.aria-selected]=\"orientation === 'horizontal' ? step.isSelected() : null\"\n [attr.aria-current]=\"orientation === 'vertical' && step.isSelected() ? 'step' : null\"\n [attr.aria-disabled]=\"orientation === 'vertical' && step.isSelected() ? 'true' : null\"\n [attr.aria-expanded]=\"orientation === 'vertical' ? step.isSelected() : null\"\n [attr.aria-controls]=\"_getStepContentId(step.index())\"\n [attr.aria-label]=\"step.ariaLabel || null\"\n [attr.aria-labelledby]=\"(!step.ariaLabel && step.ariaLabelledby) ? step.ariaLabelledby : null\"\n [attr.aria-disabled]=\"step.isNavigable() ? null : true\"\n [index]=\"step.index()\"\n [state]=\"step.indicatorType()\"\n [label]=\"step.stepLabel || step.label\"\n [selected]=\"step.isSelected()\"\n [active]=\"step.isNavigable()\"\n [optional]=\"step.optional\"\n [errorMessage]=\"step.errorMessage\"\n [iconOverrides]=\"_iconOverrides\"\n [disableRipple]=\"disableRipple || !step.isNavigable()\"\n [color]=\"step.color || color\"/>\n</ng-template>\n\n<ng-template #horizontalStepsTemplate let-steps=\"steps\">\n <div \n aria-orientation=\"horizontal\"\n class=\"mat-horizontal-stepper-header-container\" \n role=\"tablist\">\n @for (step of steps; track step) {\n <ng-container\n [ngTemplateOutlet]=\"stepTemplate\"\n [ngTemplateOutletContext]=\"{step}\"/>\n @if (!$last) {\n <div class=\"mat-stepper-horizontal-line\"></div>\n }\n }\n </div>\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 {BidiModule} from '@angular/cdk/bidi';\nimport {PortalModule} from '@angular/cdk/portal';\nimport {CdkStepperModule} from '@angular/cdk/stepper';\nimport {NgModule} from '@angular/core';\nimport {ErrorStateMatcher, MatRippleModule} from '../core';\nimport {MatIconModule} from '../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 {MatStepContent} from './step-content';\n\n@NgModule({\n imports: [\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 BidiModule,\n MatStep,\n MatStepLabel,\n MatStepper,\n MatStepperNext,\n MatStepperPrevious,\n MatStepHeader,\n MatStepperIcon,\n MatStepContent,\n ],\n providers: [ErrorStateMatcher],\n})\nexport class MatStepperModule {}\n"],"names":["MatStepLabel","CdkStepLabel","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","usesInheritance","ngImport","decorators","args","MatStepperIntl","changes","Subject","optionalLabel","completedLabel","editableLabel","Injectable","ɵprov","ɵɵngDeclareInjectable","minVersion","version","type","providedIn","MatStepHeader","CdkStepHeader","_intl","inject","_focusMonitor","FocusMonitor","_intlSubscription","state","label","errorMessage","iconOverrides","index","selected","active","optional","disableRipple","color","constructor","styleLoader","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","_VisuallyHiddenLoader","changeDetectorRef","ChangeDetectorRef","subscribe","markForCheck","ngAfterViewInit","monitor","_elementRef","ngOnDestroy","unsubscribe","stopMonitoring","focus","origin","options","focusVia","nativeElement","_stringLabel","_templateLabel","_getHostElement","_getDefaultTextForState","_hasEmptyLabel","_hasOptionalLabel","_hasErrorLabel","Component","ɵcmp","ɵɵngDeclareComponent","styles","dependencies","kind","MatRipple","inputs","exportAs","NgTemplateOutlet","MatIcon","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","host","imports","template","Input","MatStepperIcon","templateRef","TemplateRef","name","MatStepContent","_template","MatStep","CdkStep","_errorStateMatcher","ErrorStateMatcher","skipSelf","_viewContainerRef","ViewContainerRef","_isSelected","Subscription","EMPTY","stepLabel","undefined","_lazyContent","_portal","ngAfterContentInit","_stepper","steps","pipe","switchMap","selectionChange","map","event","selectedStep","startWith","isSelected","TemplatePortal","isErrorState","control","form","originalErrorState","customErrorState","invalid","interacted","attributes","providers","provide","useExisting","queries","propertyName","first","predicate","descendants","CdkPortalOutlet","outputs","ContentChild","static","MatStepper","CdkStepper","_ngZone","NgZone","_renderer","Renderer2","_animationsDisabled","_cleanupTransition","_isAnimating","signal","_stepHeader","_animatedContainers","_steps","QueryList","_icons","animationDone","EventEmitter","labelPosition","headerPosition","headerPrefix","input","_iconOverrides","animationDuration","_animationDuration","value","test","_isServer","Platform","isBrowser","elementRef","ElementRef","nodeName","toLowerCase","orientation","forEach","takeUntil","_destroyed","_stateChanged","selectedIndexChange","duration","_getAnimationDuration","_onAnimationDone","set","runOutsideAngular","setTimeout","classList","add","listen","_handleTransitionend","queueMicrotask","hasEmittedInitial","emit","isHorizontalActiveElement","contains","isVerticalActiveElement","shouldEmit","find","ref","classPropertyName","publicName","isSignal","isRequired","transformFunction","properties","viewQueries","ViewChildren","ContentChildren","Output","MatStepperNext","CdkStepperNext","classAttribute","MatStepperPrevious","CdkStepperPrevious","MatStepperModule","NgModule","ɵmod","ɵɵngDeclareNgModule","PortalModule","CdkStepperModule","MatIconModule","MatRippleModule","BidiModule","ɵinj","ɵɵngDeclareInjector","exports"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@angular/material",
|
|
3
|
-
"version": "21.0.
|
|
3
|
+
"version": "21.1.0-next.1",
|
|
4
4
|
"description": "Angular Material",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -353,11 +353,11 @@
|
|
|
353
353
|
}
|
|
354
354
|
},
|
|
355
355
|
"peerDependencies": {
|
|
356
|
-
"@angular/cdk": "21.0.
|
|
357
|
-
"@angular/core": "^21.0.0 || ^22.0.0",
|
|
358
|
-
"@angular/common": "^21.0.0 || ^22.0.0",
|
|
359
|
-
"@angular/forms": "^21.0.0 || ^22.0.0",
|
|
360
|
-
"@angular/platform-browser": "^21.0.0 || ^22.0.0",
|
|
356
|
+
"@angular/cdk": "21.1.0-next.1",
|
|
357
|
+
"@angular/core": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
|
358
|
+
"@angular/common": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
|
359
|
+
"@angular/forms": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
|
360
|
+
"@angular/platform-browser": "^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0",
|
|
361
361
|
"rxjs": "^6.5.3 || ^7.4.0"
|
|
362
362
|
},
|
|
363
363
|
"dependencies": {
|
|
@@ -20,11 +20,18 @@ function addFontsToIndex(options) {
|
|
|
20
20
|
if (!projectIndexFiles.length) {
|
|
21
21
|
throw new schematics_1.SchematicsException('No project index HTML file could be found.');
|
|
22
22
|
}
|
|
23
|
+
const preconnectLinks = [
|
|
24
|
+
'<link rel="preconnect" href="https://fonts.googleapis.com">',
|
|
25
|
+
'<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>',
|
|
26
|
+
];
|
|
23
27
|
const fonts = [
|
|
24
28
|
'https://fonts.googleapis.com/css2?family=Roboto:wght@300;400;500&display=swap',
|
|
25
29
|
'https://fonts.googleapis.com/icon?family=Material+Icons',
|
|
26
30
|
];
|
|
27
31
|
projectIndexFiles.forEach(indexFilePath => {
|
|
32
|
+
preconnectLinks.forEach(link => {
|
|
33
|
+
(0, schematics_2.appendHtmlElementToHead)(host, indexFilePath, link);
|
|
34
|
+
});
|
|
28
35
|
fonts.forEach(font => {
|
|
29
36
|
(0, schematics_2.appendHtmlElementToHead)(host, indexFilePath, `<link href="${font}" rel="stylesheet">`);
|
|
30
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"material-fonts.js","sourceRoot":"","sources":["material-fonts.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAYH,
|
|
1
|
+
{"version":3,"file":"material-fonts.js","sourceRoot":"","sources":["material-fonts.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;AAYH,0CA6BC;AAvCD,2DAA2E;AAC3E,wDAIiC;AACjC,yDAA0D;AAG1D,6DAA6D;AAC7D,SAAgB,eAAe,CAAC,OAAe;IAC7C,OAAO,KAAK,EAAE,IAAU,EAAE,EAAE;QAC1B,MAAM,SAAS,GAAG,MAAM,IAAA,uBAAa,EAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAA,oCAAuB,EAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,iBAAiB,GAAG,IAAA,iCAAoB,EAAC,OAAO,CAAC,CAAC;QAExD,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,IAAI,gCAAmB,CAAC,4CAA4C,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,eAAe,GAAG;YACtB,6DAA6D;YAC7D,sEAAsE;SACvE,CAAC;QAEF,MAAM,KAAK,GAAG;YACZ,+EAA+E;YAC/E,yDAAyD;SAC1D,CAAC;QAEF,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;YACxC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC7B,IAAA,oCAAuB,EAAC,IAAI,EAAE,aAAa,EAAE,IAAI,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBACnB,IAAA,oCAAuB,EAAC,IAAI,EAAE,aAAa,EAAE,eAAe,IAAI,qBAAqB,CAAC,CAAC;YACzF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC"}
|
|
@@ -19,7 +19,7 @@ const package_config_1 = require("./package-config");
|
|
|
19
19
|
* Note that the fallback version range does not use caret, but tilde because that is
|
|
20
20
|
* the default for Angular framework dependencies in CLI projects.
|
|
21
21
|
*/
|
|
22
|
-
const fallbackMaterialVersionRange = `~21.0.
|
|
22
|
+
const fallbackMaterialVersionRange = `~21.1.0-next.1`;
|
|
23
23
|
/**
|
|
24
24
|
* Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be
|
|
25
25
|
* automatically executed if developers run `ng add @angular/material`.
|
|
@@ -34,7 +34,7 @@ function default_1(options) {
|
|
|
34
34
|
// have the same version tag if possible.
|
|
35
35
|
const ngCoreVersionTag = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/core');
|
|
36
36
|
const materialVersionRange = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/material');
|
|
37
|
-
const angularDependencyVersion = ngCoreVersionTag || `^21.0.0 || ^22.0.0`;
|
|
37
|
+
const angularDependencyVersion = ngCoreVersionTag || `^21.0.0-0 || ^21.1.0-0 || ^21.2.0-0 || ^21.3.0-0 || ^22.0.0-0`;
|
|
38
38
|
// The CLI inserts `@angular/material` into the `package.json` before this schematic runs.
|
|
39
39
|
// This means that we do not need to insert Angular Material into `package.json` files again.
|
|
40
40
|
// In some cases though, it could happen that this schematic runs outside of the CLI `ng add`
|
package/types/stepper.d.ts
CHANGED
|
@@ -183,6 +183,8 @@ declare class MatStepper extends CdkStepper implements AfterViewInit, AfterConte
|
|
|
183
183
|
* Only applies in the `horizontal` orientation.
|
|
184
184
|
*/
|
|
185
185
|
headerPosition: 'top' | 'bottom';
|
|
186
|
+
/** The content prefix to use in the stepper header. */
|
|
187
|
+
readonly headerPrefix: i0.InputSignal<TemplateRef<unknown> | null>;
|
|
186
188
|
/** Consumer-specified template-refs to be used to override the header icons. */
|
|
187
189
|
_iconOverrides: Record<string, TemplateRef<MatStepperIconContext>>;
|
|
188
190
|
/** Duration for the animation. Will be normalized to milliseconds if no units are set. */
|
|
@@ -199,7 +201,7 @@ declare class MatStepper extends CdkStepper implements AfterViewInit, AfterConte
|
|
|
199
201
|
private _handleTransitionend;
|
|
200
202
|
private _onAnimationDone;
|
|
201
203
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatStepper, never>;
|
|
202
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MatStepper, "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", ["matStepper", "matVerticalStepper", "matHorizontalStepper"], { "disableRipple": { "alias": "disableRipple"; "required": false; }; "color": { "alias": "color"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "animationDone": "animationDone"; }, ["_steps", "_icons"], ["*"], true, never>;
|
|
204
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatStepper, "mat-stepper, mat-vertical-stepper, mat-horizontal-stepper, [matStepper]", ["matStepper", "matVerticalStepper", "matHorizontalStepper"], { "disableRipple": { "alias": "disableRipple"; "required": false; }; "color": { "alias": "color"; "required": false; }; "labelPosition": { "alias": "labelPosition"; "required": false; }; "headerPosition": { "alias": "headerPosition"; "required": false; }; "headerPrefix": { "alias": "headerPrefix"; "required": false; "isSignal": true; }; "animationDuration": { "alias": "animationDuration"; "required": false; }; }, { "animationDone": "animationDone"; }, ["_steps", "_icons"], ["*"], true, never>;
|
|
203
205
|
}
|
|
204
206
|
|
|
205
207
|
/** Button that moves to the next step in a stepper workflow. */
|