From 993501906330d55f1326f457a18f03ba3fb127fe Mon Sep 17 00:00:00 2001 From: Andrey Dolgachev Date: Wed, 6 May 2026 19:55:13 +0000 Subject: [PATCH 001/125] 22.0.x - 46763fb docs: release notes for the v21.2.10 release From 632ece51a6720d3e8369031bc56d77623be461b2 Mon Sep 17 00:00:00 2001 From: Andrey Dolgachev Date: Wed, 6 May 2026 20:05:57 +0000 Subject: [PATCH 002/125] 22.0.x - 9813e31 release: cut the v22.0.0-next.8 release --- fesm2022/core.mjs | 2 +- fesm2022/core.mjs.map | 2 +- package.json | 4 ++-- schematics/ng-add/index.js | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fesm2022/core.mjs b/fesm2022/core.mjs index 2443f11dba..da29cc9de5 100755 --- a/fesm2022/core.mjs +++ b/fesm2022/core.mjs @@ -24,7 +24,7 @@ import '@angular/cdk/coercion'; import '@angular/cdk/bidi'; import 'rxjs/operators'; -const VERSION = new Version('22.0.0-next.7+sha-46763fb'); +const VERSION = new Version('22.0.0-next.8+sha-9813e31'); const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/; const TIME_REGEX = /^(\d?\d)[:.](\d?\d)(?:[:.](\d?\d))?\s*(AM|PM)?$/i; diff --git a/fesm2022/core.mjs.map b/fesm2022/core.mjs.map index c5909d271d..9004712285 100755 --- a/fesm2022/core.mjs.map +++ b/fesm2022/core.mjs.map @@ -1 +1 @@ -{"version":3,"file":"core.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/version.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-formats.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/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('22.0.0-next.7+sha-46763fb');\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, Service} 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(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@Service({autoProvided: false})\nexport class NativeDateAdapter extends DateAdapter {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\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","Service","autoProvided","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":";;;;;;;;;;;;;;;;;;;;;;;;;;MAWaA,OAAO,GAAG,IAAIC,OAAO,CAAC,mBAAmB;;ACKtD,MAAMC,cAAc,GAClB,oFAAoF;AAatF,MAAMC,UAAU,GAAG,kDAAkD;AAGrE,SAASC,KAAKA,CAAIC,MAAc,EAAEC,aAAmC,EAAA;AACnE,EAAA,MAAMC,WAAW,GAAGC,KAAK,CAACH,MAAM,CAAC;EACjC,KAAK,IAAII,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGJ,MAAM,EAAEI,CAAC,EAAE,EAAE;AAC/BF,IAAAA,WAAW,CAACE,CAAC,CAAC,GAAGH,aAAa,CAACG,CAAC,CAAC;AACnC,EAAA;AACA,EAAA,OAAOF,WAAW;AACpB;AAIM,MAAOG,iBAAkB,SAAQC,WAAiB,CAAA;AAErCC,EAAAA,cAAc,GAAGC,MAAM,CAACC,eAAe,EAAE;AAACC,IAAAA,QAAQ,EAAE;AAAI,GAAC,CAAC;AAE3EC,EAAAA,WAAAA,GAAA;AACE,IAAA,KAAK,EAAE;AAEP,IAAA,MAAMC,aAAa,GAAGJ,MAAM,CAACC,eAAe,EAAE;AAACC,MAAAA,QAAQ,EAAE;AAAI,KAAC,CAAC;IAE/D,IAAIE,aAAa,KAAKC,SAAS,EAAE;MAC/B,IAAI,CAACN,cAAc,GAAGK,aAAa;AACrC,IAAA;AAEA,IAAA,KAAK,CAACE,SAAS,CAAC,IAAI,CAACP,cAAc,CAAC;AACtC,EAAA;EAEAQ,OAAOA,CAACC,IAAU,EAAA;AAChB,IAAA,OAAOA,IAAI,CAACC,WAAW,EAAE;AAC3B,EAAA;EAEAC,QAAQA,CAACF,IAAU,EAAA;AACjB,IAAA,OAAOA,IAAI,CAACE,QAAQ,EAAE;AACxB,EAAA;EAEAC,OAAOA,CAACH,IAAU,EAAA;AAChB,IAAA,OAAOA,IAAI,CAACG,OAAO,EAAE;AACvB,EAAA;EAEAC,YAAYA,CAACJ,IAAU,EAAA;AACrB,IAAA,OAAOA,IAAI,CAACK,MAAM,EAAE;AACtB,EAAA;EAEAC,aAAaA,CAACC,KAAkC,EAAA;IAC9C,MAAMC,GAAG,GAAG,IAAIC,IAAI,CAACC,cAAc,CAAC,IAAI,CAACC,MAAM,EAAE;AAACC,MAAAA,KAAK,EAAEL,KAAK;AAAEM,MAAAA,QAAQ,EAAE;AAAK,KAAC,CAAC;IACjF,OAAO9B,KAAK,CAAC,EAAE,EAAEK,CAAC,IAAI,IAAI,CAAC0B,OAAO,CAACN,GAAG,EAAE,IAAIO,IAAI,CAAC,IAAI,EAAE3B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAChE,EAAA;AAEA4B,EAAAA,YAAYA,GAAA;IACV,MAAMR,GAAG,GAAG,IAAIC,IAAI,CAACC,cAAc,CAAC,IAAI,CAACC,MAAM,EAAE;AAACM,MAAAA,GAAG,EAAE,SAAS;AAAEJ,MAAAA,QAAQ,EAAE;AAAK,KAAC,CAAC;IACnF,OAAO9B,KAAK,CAAC,EAAE,EAAEK,CAAC,IAAI,IAAI,CAAC0B,OAAO,CAACN,GAAG,EAAE,IAAIO,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE3B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACpE,EAAA;EAEA8B,iBAAiBA,CAACX,KAAkC,EAAA;IAClD,MAAMC,GAAG,GAAG,IAAIC,IAAI,CAACC,cAAc,CAAC,IAAI,CAACC,MAAM,EAAE;AAACQ,MAAAA,OAAO,EAAEZ,KAAK;AAAEM,MAAAA,QAAQ,EAAE;AAAK,KAAC,CAAC;IACnF,OAAO9B,KAAK,CAAC,CAAC,EAAEK,CAAC,IAAI,IAAI,CAAC0B,OAAO,CAACN,GAAG,EAAE,IAAIO,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE3B,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACnE,EAAA;EAEAgC,WAAWA,CAACpB,IAAU,EAAA;IACpB,MAAMQ,GAAG,GAAG,IAAIC,IAAI,CAACC,cAAc,CAAC,IAAI,CAACC,MAAM,EAAE;AAACU,MAAAA,IAAI,EAAE,SAAS;AAAER,MAAAA,QAAQ,EAAE;AAAK,KAAC,CAAC;AACpF,IAAA,OAAO,IAAI,CAACC,OAAO,CAACN,GAAG,EAAER,IAAI,CAAC;AAChC,EAAA;AAEAsB,EAAAA,iBAAiBA,GAAA;IAGf,IAAI,OAAOb,IAAI,KAAK,WAAW,IAAKA,IAAY,CAACc,MAAM,EAAE;MACvD,MAAMZ,MAAM,GAAG,IAAKF,IAAY,CAACc,MAAM,CAAC,IAAI,CAACZ,MAAM,CAGlD;AAID,MAAA,MAAMa,QAAQ,GAAG,CAACb,MAAM,CAACc,WAAW,IAAI,IAAId,MAAM,CAACe,QAAQ,GAAGF,QAAQ,IAAI,CAAC;AAI3E,MAAA,OAAOA,QAAQ,KAAK,CAAC,GAAG,CAAC,GAAGA,QAAQ;AACtC,IAAA;AAGA,IAAA,OAAO,CAAC;AACV,EAAA;EAEAG,iBAAiBA,CAAC3B,IAAU,EAAA;IAC1B,OAAO,IAAI,CAACG,OAAO,CACjB,IAAI,CAACyB,uBAAuB,CAAC,IAAI,CAAC7B,OAAO,CAACC,IAAI,CAAC,EAAE,IAAI,CAACE,QAAQ,CAACF,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAC7E;AACH,EAAA;EAEA6B,KAAKA,CAAC7B,IAAU,EAAA;IACd,OAAO,IAAIe,IAAI,CAACf,IAAI,CAAC8B,OAAO,EAAE,CAAC;AACjC,EAAA;AAEAC,EAAAA,UAAUA,CAACV,IAAY,EAAET,KAAa,EAAEZ,IAAY,EAAA;AAClD,IAAA,IAAI,OAAOgC,SAAS,KAAK,WAAW,IAAIA,SAAS,EAAE;AAGjD,MAAA,IAAIpB,KAAK,GAAG,CAAC,IAAIA,KAAK,GAAG,EAAE,EAAE;AAC3B,QAAA,MAAMqB,KAAK,CAAC,CAAA,qBAAA,EAAwBrB,KAAK,4CAA4C,CAAC;AACxF,MAAA;MAEA,IAAIZ,IAAI,GAAG,CAAC,EAAE;AACZ,QAAA,MAAMiC,KAAK,CAAC,CAAA,cAAA,EAAiBjC,IAAI,mCAAmC,CAAC;AACvE,MAAA;AACF,IAAA;IAEA,IAAIkC,MAAM,GAAG,IAAI,CAACN,uBAAuB,CAACP,IAAI,EAAET,KAAK,EAAEZ,IAAI,CAAC;AAE5D,IAAA,IAAIkC,MAAM,CAAChC,QAAQ,EAAE,IAAIU,KAAK,KAAK,OAAOoB,SAAS,KAAK,WAAW,IAAIA,SAAS,CAAC,EAAE;AACjF,MAAA,MAAMC,KAAK,CAAC,CAAA,cAAA,EAAiBjC,IAAI,CAAA,wBAAA,EAA2BY,KAAK,IAAI,CAAC;AACxE,IAAA;AAEA,IAAA,OAAOsB,MAAM;AACf,EAAA;AAEAC,EAAAA,KAAKA,GAAA;IACH,OAAO,IAAIpB,IAAI,EAAE;AACnB,EAAA;AAEAqB,EAAAA,KAAKA,CAACC,KAAU,EAAEC,WAAiB,EAAA;AAGjC,IAAA,IAAI,OAAOD,KAAK,IAAI,QAAQ,EAAE;AAC5B,MAAA,OAAO,IAAItB,IAAI,CAACsB,KAAK,CAAC;AACxB,IAAA;AACA,IAAA,OAAOA,KAAK,GAAG,IAAItB,IAAI,CAACA,IAAI,CAACqB,KAAK,CAACC,KAAK,CAAC,CAAC,GAAG,IAAI;AACnD,EAAA;AAEAE,EAAAA,MAAMA,CAACvC,IAAU,EAAEwC,aAAqB,EAAA;AACtC,IAAA,IAAI,CAAC,IAAI,CAACC,OAAO,CAACzC,IAAI,CAAC,EAAE;MACvB,MAAMiC,KAAK,CAAC,gDAAgD,CAAC;AAC/D,IAAA;IAEA,MAAMzB,GAAG,GAAG,IAAIC,IAAI,CAACC,cAAc,CAAC,IAAI,CAACC,MAAM,EAAE;AAAC,MAAA,GAAG6B,aAAa;AAAE3B,MAAAA,QAAQ,EAAE;AAAK,KAAC,CAAC;AACrF,IAAA,OAAO,IAAI,CAACC,OAAO,CAACN,GAAG,EAAER,IAAI,CAAC;AAChC,EAAA;AAEA0C,EAAAA,gBAAgBA,CAAC1C,IAAU,EAAE2C,KAAa,EAAA;IACxC,OAAO,IAAI,CAACC,iBAAiB,CAAC5C,IAAI,EAAE2C,KAAK,GAAG,EAAE,CAAC;AACjD,EAAA;AAEAC,EAAAA,iBAAiBA,CAAC5C,IAAU,EAAE6C,MAAc,EAAA;AAC1C,IAAA,IAAIC,OAAO,GAAG,IAAI,CAAClB,uBAAuB,CACxC,IAAI,CAAC7B,OAAO,CAACC,IAAI,CAAC,EAClB,IAAI,CAACE,QAAQ,CAACF,IAAI,CAAC,GAAG6C,MAAM,EAC5B,IAAI,CAAC1C,OAAO,CAACH,IAAI,CAAC,CACnB;IAMD,IAAI,IAAI,CAACE,QAAQ,CAAC4C,OAAO,CAAC,IAAI,CAAE,CAAC,IAAI,CAAC5C,QAAQ,CAACF,IAAI,CAAC,GAAG6C,MAAM,IAAI,EAAE,GAAI,EAAE,IAAI,EAAE,EAAE;MAC/EC,OAAO,GAAG,IAAI,CAAClB,uBAAuB,CAAC,IAAI,CAAC7B,OAAO,CAAC+C,OAAO,CAAC,EAAE,IAAI,CAAC5C,QAAQ,CAAC4C,OAAO,CAAC,EAAE,CAAC,CAAC;AAC1F,IAAA;AAEA,IAAA,OAAOA,OAAO;AAChB,EAAA;AAEAC,EAAAA,eAAeA,CAAC/C,IAAU,EAAEgD,IAAY,EAAA;IACtC,OAAO,IAAI,CAACpB,uBAAuB,CACjC,IAAI,CAAC7B,OAAO,CAACC,IAAI,CAAC,EAClB,IAAI,CAACE,QAAQ,CAACF,IAAI,CAAC,EACnB,IAAI,CAACG,OAAO,CAACH,IAAI,CAAC,GAAGgD,IAAI,CAC1B;AACH,EAAA;EAEAC,SAASA,CAACjD,IAAU,EAAA;AAClB,IAAA,OAAO,CACLA,IAAI,CAACkD,cAAc,EAAE,EACrB,IAAI,CAACC,OAAO,CAACnD,IAAI,CAACoD,WAAW,EAAE,GAAG,CAAC,CAAC,EACpC,IAAI,CAACD,OAAO,CAACnD,IAAI,CAACqD,UAAU,EAAE,CAAC,CAChC,CAACC,IAAI,CAAC,GAAG,CAAC;AACb,EAAA;EAOSC,WAAWA,CAAClB,KAAU,EAAA;AAC7B,IAAA,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MAC7B,IAAI,CAACA,KAAK,EAAE;AACV,QAAA,OAAO,IAAI;AACb,MAAA;AAGA,MAAA,IAAIxD,cAAc,CAAC2E,IAAI,CAACnB,KAAK,CAAC,EAAE;AAC9B,QAAA,IAAIrC,IAAI,GAAG,IAAIe,IAAI,CAACsB,KAAK,CAAC;AAC1B,QAAA,IAAI,IAAI,CAACI,OAAO,CAACzC,IAAI,CAAC,EAAE;AACtB,UAAA,OAAOA,IAAI;AACb,QAAA;AACF,MAAA;AACF,IAAA;AACA,IAAA,OAAO,KAAK,CAACuD,WAAW,CAAClB,KAAK,CAAC;AACjC,EAAA;EAEAoB,cAAcA,CAACC,GAAQ,EAAA;IACrB,OAAOA,GAAG,YAAY3C,IAAI;AAC5B,EAAA;EAEA0B,OAAOA,CAACzC,IAAU,EAAA;IAChB,OAAO,CAAC2D,KAAK,CAAC3D,IAAI,CAAC8B,OAAO,EAAE,CAAC;AAC/B,EAAA;AAEA8B,EAAAA,OAAOA,GAAA;AACL,IAAA,OAAO,IAAI7C,IAAI,CAAC8C,GAAG,CAAC;AACtB,EAAA;EAESC,OAAOA,CAACC,MAAY,EAAEC,KAAa,EAAEC,OAAe,EAAEC,OAAe,EAAA;AAC5E,IAAA,IAAI,OAAOlC,SAAS,KAAK,WAAW,IAAIA,SAAS,EAAE;MACjD,IAAI,CAACmC,OAAO,CAACH,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;AAC1B,QAAA,MAAM/B,KAAK,CAAC,CAAA,eAAA,EAAkB+B,KAAK,0CAA0C,CAAC;AAChF,MAAA;MAEA,IAAI,CAACG,OAAO,CAACF,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;AAC5B,QAAA,MAAMhC,KAAK,CAAC,CAAA,iBAAA,EAAoBgC,OAAO,4CAA4C,CAAC;AACtF,MAAA;MAEA,IAAI,CAACE,OAAO,CAACD,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE;AAC5B,QAAA,MAAMjC,KAAK,CAAC,CAAA,iBAAA,EAAoBiC,OAAO,4CAA4C,CAAC;AACtF,MAAA;AACF,IAAA;AAEA,IAAA,MAAMrC,KAAK,GAAG,IAAI,CAACA,KAAK,CAACkC,MAAM,CAAC;IAChClC,KAAK,CAACuC,QAAQ,CAACJ,KAAK,EAAEC,OAAO,EAAEC,OAAO,EAAE,CAAC,CAAC;AAC1C,IAAA,OAAOrC,KAAK;AACd,EAAA;EAESwC,QAAQA,CAACrE,IAAU,EAAA;AAC1B,IAAA,OAAOA,IAAI,CAACqE,QAAQ,EAAE;AACxB,EAAA;EAESC,UAAUA,CAACtE,IAAU,EAAA;AAC5B,IAAA,OAAOA,IAAI,CAACsE,UAAU,EAAE;AAC1B,EAAA;EAESC,UAAUA,CAACvE,IAAU,EAAA;AAC5B,IAAA,OAAOA,IAAI,CAACuE,UAAU,EAAE;AAC1B,EAAA;AAESC,EAAAA,SAASA,CAACC,SAAc,EAAEnC,WAAiB,EAAA;AAClD,IAAA,IAAI,OAAOmC,SAAS,KAAK,QAAQ,EAAE;AACjC,MAAA,OAAOA,SAAS,YAAY1D,IAAI,GAAG,IAAIA,IAAI,CAAC0D,SAAS,CAAC3C,OAAO,EAAE,CAAC,GAAG,IAAI;AACzE,IAAA;AAEA,IAAA,MAAMO,KAAK,GAAGoC,SAAS,CAACC,IAAI,EAAE;AAE9B,IAAA,IAAIrC,KAAK,CAACrD,MAAM,KAAK,CAAC,EAAE;AACtB,MAAA,OAAO,IAAI;AACb,IAAA;AAGA,IAAA,IAAIkD,MAAM,GAAG,IAAI,CAACyC,gBAAgB,CAACtC,KAAK,CAAC;IAIzC,IAAIH,MAAM,KAAK,IAAI,EAAE;AACnB,MAAA,MAAM0C,aAAa,GAAGvC,KAAK,CAACwC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAACH,IAAI,EAAE;AAElE,MAAA,IAAIE,aAAa,CAAC5F,MAAM,GAAG,CAAC,EAAE;AAC5BkD,QAAAA,MAAM,GAAG,IAAI,CAACyC,gBAAgB,CAACC,aAAa,CAAC;AAC/C,MAAA;AACF,IAAA;AAEA,IAAA,OAAO1C,MAAM,IAAI,IAAI,CAAC0B,OAAO,EAAE;AACjC,EAAA;AAESkB,EAAAA,UAAUA,CAAC9E,IAAU,EAAE+E,MAAc,EAAA;AAC5C,IAAA,OAAO,IAAIhE,IAAI,CAACf,IAAI,CAAC8B,OAAO,EAAE,GAAGiD,MAAM,GAAG,IAAI,CAAC;AACjD,EAAA;AAGQnD,EAAAA,uBAAuBA,CAACP,IAAY,EAAET,KAAa,EAAEZ,IAAY,EAAA;AAGvE,IAAA,MAAMgF,CAAC,GAAG,IAAIjE,IAAI,EAAE;IACpBiE,CAAC,CAACC,WAAW,CAAC5D,IAAI,EAAET,KAAK,EAAEZ,IAAI,CAAC;IAChCgF,CAAC,CAACZ,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACtB,IAAA,OAAOY,CAAC;AACV,EAAA;EAOQ7B,OAAOA,CAAC+B,CAAS,EAAA;IACvB,OAAO,CAAC,IAAI,GAAGA,CAAC,EAAEC,KAAK,CAAC,EAAE,CAAC;AAC7B,EAAA;AAaQrE,EAAAA,OAAOA,CAACN,GAAwB,EAAER,IAAU,EAAA;AAGlD,IAAA,MAAMgF,CAAC,GAAG,IAAIjE,IAAI,EAAE;IACpBiE,CAAC,CAACI,cAAc,CAACpF,IAAI,CAACC,WAAW,EAAE,EAAED,IAAI,CAACE,QAAQ,EAAE,EAAEF,IAAI,CAACG,OAAO,EAAE,CAAC;IACrE6E,CAAC,CAACK,WAAW,CAACrF,IAAI,CAACqE,QAAQ,EAAE,EAAErE,IAAI,CAACsE,UAAU,EAAE,EAAEtE,IAAI,CAACuE,UAAU,EAAE,EAAEvE,IAAI,CAACsF,eAAe,EAAE,CAAC;AAC5F,IAAA,OAAO9E,GAAG,CAAC+B,MAAM,CAACyC,CAAC,CAAC;AACtB,EAAA;EAMQL,gBAAgBA,CAACtC,KAAa,EAAA;IAQpC,MAAMkD,MAAM,GAAGlD,KAAK,CAACmD,WAAW,EAAE,CAACC,KAAK,CAAC3G,UAAU,CAAC;AAEpD,IAAA,IAAIyG,MAAM,EAAE;MACV,IAAIvB,KAAK,GAAG0B,QAAQ,CAACH,MAAM,CAAC,CAAC,CAAC,CAAC;MAC/B,MAAMtB,OAAO,GAAGyB,QAAQ,CAACH,MAAM,CAAC,CAAC,CAAC,CAAC;AACnC,MAAA,IAAIrB,OAAO,GAAuBqB,MAAM,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG1F,SAAS,GAAG6F,QAAQ,CAACH,MAAM,CAAC,CAAC,CAAC,CAAC;AACrF,MAAA,MAAMI,IAAI,GAAGJ,MAAM,CAAC,CAAC,CAA4B;MAEjD,IAAIvB,KAAK,KAAK,EAAE,EAAE;AAChBA,QAAAA,KAAK,GAAG2B,IAAI,KAAK,IAAI,GAAG,CAAC,GAAG3B,KAAK;AACnC,MAAA,CAAA,MAAO,IAAI2B,IAAI,KAAK,IAAI,EAAE;AACxB3B,QAAAA,KAAK,IAAI,EAAE;AACb,MAAA;AAEA,MAAA,IACEG,OAAO,CAACH,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,IACrBG,OAAO,CAACF,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KACtBC,OAAO,IAAI,IAAI,IAAIC,OAAO,CAACD,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAC5C;AACA,QAAA,OAAO,IAAI,CAACJ,OAAO,CAAC,IAAI,CAAC3B,KAAK,EAAE,EAAE6B,KAAK,EAAEC,OAAO,EAAEC,OAAO,IAAI,CAAC,CAAC;AACjE,MAAA;AACF,IAAA;AAEA,IAAA,OAAO,IAAI;AACb,EAAA;;;;;UAlVW7E,iBAAiB;AAAAuG,IAAAA,IAAA,EAAA,EAAA;AAAA7B,IAAAA,MAAA,EAAA8B,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;;;;;UAAjB1G,iBAAiB;AAAA2G,IAAAA,YAAA,EAAA;AAAA,GAAA,CAAA;;;;;;QAAjB3G,iBAAiB;AAAA4G,EAAAA,UAAA,EAAA,CAAA;UAD7BF,OAAO;WAAC;AAACC,MAAAA,YAAY,EAAE;KAAM;;;;AAuV9B,SAAS7B,OAAOA,CAAC9B,KAAa,EAAE6D,GAAW,EAAEC,GAAW,EAAA;AACtD,EAAA,OAAO,CAACxC,KAAK,CAACtB,KAAK,CAAC,IAAIA,KAAK,IAAI6D,GAAG,IAAI7D,KAAK,IAAI8D,GAAG;AACtD;;ACzXO,MAAMC,uBAAuB,GAAmB;AACrDhE,EAAAA,KAAK,EAAE;AACLiE,IAAAA,SAAS,EAAE,IAAI;AACfC,IAAAA,SAAS,EAAE;GACZ;AACDC,EAAAA,OAAO,EAAE;AACPF,IAAAA,SAAS,EAAE;AAAChF,MAAAA,IAAI,EAAE,SAAS;AAAET,MAAAA,KAAK,EAAE,SAAS;AAAEK,MAAAA,GAAG,EAAE;KAAU;AAC9DqF,IAAAA,SAAS,EAAE;AAACE,MAAAA,IAAI,EAAE,SAAS;AAAEC,MAAAA,MAAM,EAAE;KAAU;AAC/CC,IAAAA,cAAc,EAAE;AAACrF,MAAAA,IAAI,EAAE,SAAS;AAAET,MAAAA,KAAK,EAAE;KAAQ;AACjD+F,IAAAA,aAAa,EAAE;AAACtF,MAAAA,IAAI,EAAE,SAAS;AAAET,MAAAA,KAAK,EAAE,MAAM;AAAEK,MAAAA,GAAG,EAAE;KAAU;AAC/D2F,IAAAA,kBAAkB,EAAE;AAACvF,MAAAA,IAAI,EAAE,SAAS;AAAET,MAAAA,KAAK,EAAE;KAAO;AACpDiG,IAAAA,eAAe,EAAE;AAACL,MAAAA,IAAI,EAAE,SAAS;AAAEC,MAAAA,MAAM,EAAE;AAAS;AACrD;;;MCAUK,gBAAgB,CAAA;;;;;UAAhBA,gBAAgB;AAAAlB,IAAAA,IAAA,EAAA,EAAA;AAAA7B,IAAAA,MAAA,EAAA8B,EAAA,CAAAC,eAAA,CAAAiB;AAAA,GAAA,CAAA;;;;;UAAhBD;AAAgB,GAAA,CAAA;;;;;UAAhBA,gBAAgB;AAAAE,IAAAA,SAAA,EAFhB,CAAC;AAACC,MAAAA,OAAO,EAAE3H,WAAW;AAAE4H,MAAAA,QAAQ,EAAE7H;KAAkB;AAAC,GAAA,CAAA;;;;;;QAErDyH,gBAAgB;AAAAb,EAAAA,UAAA,EAAA,CAAA;UAH5Bc,QAAQ;AAACI,IAAAA,IAAA,EAAA,CAAA;AACRH,MAAAA,SAAS,EAAE,CAAC;AAACC,QAAAA,OAAO,EAAE3H,WAAW;AAAE4H,QAAAA,QAAQ,EAAE7H;OAAkB;KAChE;;;MAMY+H,mBAAmB,CAAA;;;;;UAAnBA,mBAAmB;AAAAxB,IAAAA,IAAA,EAAA,EAAA;AAAA7B,IAAAA,MAAA,EAAA8B,EAAA,CAAAC,eAAA,CAAAiB;AAAA,GAAA,CAAA;;;;;UAAnBK;AAAmB,GAAA,CAAA;AAAnB,EAAA,OAAAC,IAAA,GAAAxB,EAAA,CAAAyB,mBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,gBAAA;AAAAC,IAAAA,QAAA,EAAA5B,EAAA;AAAA6B,IAAAA,IAAA,EAAAN,mBAAmB;AAAAJ,IAAAA,SAAA,EAFnB,CAACW,wBAAwB,EAAE;AAAC,GAAA,CAAA;;;;;;QAE5BP,mBAAmB;AAAAnB,EAAAA,UAAA,EAAA,CAAA;UAH/Bc,QAAQ;AAACI,IAAAA,IAAA,EAAA,CAAA;AACRH,MAAAA,SAAS,EAAE,CAACW,wBAAwB,EAAE;KACvC;;;AAGK,SAAUA,wBAAwBA,CACtCC,OAAA,GAA0BxB,uBAAuB,EAAA;AAEjD,EAAA,OAAO,CACL;AAACa,IAAAA,OAAO,EAAE3H,WAAW;AAAE4H,IAAAA,QAAQ,EAAE7H;AAAiB,GAAC,EACnD;AAAC4H,IAAAA,OAAO,EAAEY,gBAAgB;AAAEC,IAAAA,QAAQ,EAAEF;AAAO,GAAC,CAC/C;AACH;;;;"} \ No newline at end of file +{"version":3,"file":"core.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/version.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-formats.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/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('22.0.0-next.8+sha-9813e31');\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, Service} 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(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@Service({autoProvided: false})\nexport class NativeDateAdapter extends DateAdapter {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\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","Service","autoProvided","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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"} \ No newline at end of file diff --git a/package.json b/package.json index 7ebe10b1b8..7ebbf71f47 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/material", - "version": "22.0.0-next.7+sha-46763fb", + "version": "22.0.0-next.8+sha-9813e31", "description": "Angular Material", "repository": { "type": "git", @@ -353,7 +353,7 @@ } }, "peerDependencies": { - "@angular/cdk": "22.0.0-next.7+sha-46763fb", + "@angular/cdk": "22.0.0-next.8+sha-9813e31", "@angular/core": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0", "@angular/common": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0", "@angular/forms": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0", diff --git a/schematics/ng-add/index.js b/schematics/ng-add/index.js index 4e5e50cbab..68ac1a82fa 100755 --- a/schematics/ng-add/index.js +++ b/schematics/ng-add/index.js @@ -19,7 +19,7 @@ const package_config_1 = require("./package-config"); * Note that the fallback version range does not use caret, but tilde because that is * the default for Angular framework dependencies in CLI projects. */ -const fallbackMaterialVersionRange = `~22.0.0-next.7+sha-46763fb`; +const fallbackMaterialVersionRange = `~22.0.0-next.8+sha-9813e31`; /** * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be * automatically executed if developers run `ng add @angular/material`. From 6dc39ae80ad130ae563bb832144963a1b6012343 Mon Sep 17 00:00:00 2001 From: tjshiu <35056071+tjshiu@users.noreply.github.com> Date: Wed, 6 May 2026 22:19:06 +0000 Subject: [PATCH 003/125] 22.0.x - 0aee554 refactor(multiple): stabilize focus state when active item is deleted (#33199) --- fesm2022/core.mjs | 2 +- fesm2022/core.mjs.map | 2 +- package.json | 4 ++-- schematics/ng-add/index.js | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fesm2022/core.mjs b/fesm2022/core.mjs index da29cc9de5..0bf86f8071 100755 --- a/fesm2022/core.mjs +++ b/fesm2022/core.mjs @@ -24,7 +24,7 @@ import '@angular/cdk/coercion'; import '@angular/cdk/bidi'; import 'rxjs/operators'; -const VERSION = new Version('22.0.0-next.8+sha-9813e31'); +const VERSION = new Version('22.0.0-next.8+sha-0aee554'); const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/; const TIME_REGEX = /^(\d?\d)[:.](\d?\d)(?:[:.](\d?\d))?\s*(AM|PM)?$/i; diff --git a/fesm2022/core.mjs.map b/fesm2022/core.mjs.map index 9004712285..e714db850c 100755 --- a/fesm2022/core.mjs.map +++ b/fesm2022/core.mjs.map @@ -1 +1 @@ -{"version":3,"file":"core.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/version.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-formats.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/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('22.0.0-next.8+sha-9813e31');\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, Service} 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(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@Service({autoProvided: false})\nexport class NativeDateAdapter extends DateAdapter {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\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","Service","autoProvided","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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"} \ No newline at end of file +{"version":3,"file":"core.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/version.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-formats.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/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('22.0.0-next.8+sha-0aee554');\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, Service} 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(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@Service({autoProvided: false})\nexport class NativeDateAdapter extends DateAdapter {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\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","Service","autoProvided","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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"} \ No newline at end of file diff --git a/package.json b/package.json index 7ebbf71f47..e479687de3 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/material", - "version": "22.0.0-next.8+sha-9813e31", + "version": "22.0.0-next.8+sha-0aee554", "description": "Angular Material", "repository": { "type": "git", @@ -353,7 +353,7 @@ } }, "peerDependencies": { - "@angular/cdk": "22.0.0-next.8+sha-9813e31", + "@angular/cdk": "22.0.0-next.8+sha-0aee554", "@angular/core": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0", "@angular/common": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0", "@angular/forms": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0", diff --git a/schematics/ng-add/index.js b/schematics/ng-add/index.js index 68ac1a82fa..5fd65a690f 100755 --- a/schematics/ng-add/index.js +++ b/schematics/ng-add/index.js @@ -19,7 +19,7 @@ const package_config_1 = require("./package-config"); * Note that the fallback version range does not use caret, but tilde because that is * the default for Angular framework dependencies in CLI projects. */ -const fallbackMaterialVersionRange = `~22.0.0-next.8+sha-9813e31`; +const fallbackMaterialVersionRange = `~22.0.0-next.8+sha-0aee554`; /** * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be * automatically executed if developers run `ng add @angular/material`. From 2799d9d977c1f121851381cb323d3d852bf8ae15 Mon Sep 17 00:00:00 2001 From: Angular Robot Date: Fri, 8 May 2026 21:53:57 +0000 Subject: [PATCH 004/125] 22.0.x - f537cc3 build: update github/codeql-action action to v4.35.4 (#33226) --- fesm2022/core.mjs | 2 +- fesm2022/core.mjs.map | 2 +- package.json | 4 ++-- schematics/ng-add/index.js | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/fesm2022/core.mjs b/fesm2022/core.mjs index 0bf86f8071..476e0919de 100755 --- a/fesm2022/core.mjs +++ b/fesm2022/core.mjs @@ -24,7 +24,7 @@ import '@angular/cdk/coercion'; import '@angular/cdk/bidi'; import 'rxjs/operators'; -const VERSION = new Version('22.0.0-next.8+sha-0aee554'); +const VERSION = new Version('22.0.0-next.8+sha-f537cc3'); const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/; const TIME_REGEX = /^(\d?\d)[:.](\d?\d)(?:[:.](\d?\d))?\s*(AM|PM)?$/i; diff --git a/fesm2022/core.mjs.map b/fesm2022/core.mjs.map index e714db850c..2058ed9317 100755 --- a/fesm2022/core.mjs.map +++ b/fesm2022/core.mjs.map @@ -1 +1 @@ -{"version":3,"file":"core.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/version.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-formats.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/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('22.0.0-next.8+sha-0aee554');\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, Service} 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(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@Service({autoProvided: false})\nexport class NativeDateAdapter extends DateAdapter {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\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","Service","autoProvided","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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"} \ No newline at end of file +{"version":3,"file":"core.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/version.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-formats.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/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('22.0.0-next.8+sha-f537cc3');\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, Service} 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(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@Service({autoProvided: false})\nexport class NativeDateAdapter extends DateAdapter {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\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","Service","autoProvided","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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"} \ No newline at end of file diff --git a/package.json b/package.json index e479687de3..32553333f6 100755 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@angular/material", - "version": "22.0.0-next.8+sha-0aee554", + "version": "22.0.0-next.8+sha-f537cc3", "description": "Angular Material", "repository": { "type": "git", @@ -353,7 +353,7 @@ } }, "peerDependencies": { - "@angular/cdk": "22.0.0-next.8+sha-0aee554", + "@angular/cdk": "22.0.0-next.8+sha-f537cc3", "@angular/core": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0", "@angular/common": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0", "@angular/forms": "^22.0.0-0 || ^22.1.0-0 || ^22.2.0-0 || ^22.3.0-0 || ^23.0.0-0", diff --git a/schematics/ng-add/index.js b/schematics/ng-add/index.js index 5fd65a690f..c833231260 100755 --- a/schematics/ng-add/index.js +++ b/schematics/ng-add/index.js @@ -19,7 +19,7 @@ const package_config_1 = require("./package-config"); * Note that the fallback version range does not use caret, but tilde because that is * the default for Angular framework dependencies in CLI projects. */ -const fallbackMaterialVersionRange = `~22.0.0-next.8+sha-0aee554`; +const fallbackMaterialVersionRange = `~22.0.0-next.8+sha-f537cc3`; /** * Schematic factory entry-point for the `ng-add` schematic. The ng-add schematic will be * automatically executed if developers run `ng add @angular/material`. From fcca29e2eac2e5af8117e37a967d7ca7e68b8c34 Mon Sep 17 00:00:00 2001 From: Kristiyan Kostadinov Date: Sat, 9 May 2026 03:41:49 +0000 Subject: [PATCH 005/125] 22.0.x - ef0de39 build: update linting config --- fesm2022/_form-field-chunk.mjs | 6 +---- fesm2022/_form-field-chunk.mjs.map | 2 +- fesm2022/_icon-button-chunk.mjs | 4 +--- fesm2022/_icon-button-chunk.mjs.map | 2 +- fesm2022/_internal-form-field-chunk.mjs | 4 +--- fesm2022/_internal-form-field-chunk.mjs.map | 2 +- fesm2022/_option-chunk.mjs | 6 +---- fesm2022/_option-chunk.mjs.map | 2 +- fesm2022/_pseudo-checkbox-chunk.mjs | 4 +--- fesm2022/_pseudo-checkbox-chunk.mjs.map | 2 +- fesm2022/_ripple-chunk.mjs | 4 +--- fesm2022/_ripple-chunk.mjs.map | 2 +- fesm2022/_structural-styles-chunk.mjs | 4 +--- fesm2022/_structural-styles-chunk.mjs.map | 2 +- fesm2022/_tooltip-chunk.mjs | 4 +--- fesm2022/_tooltip-chunk.mjs.map | 2 +- fesm2022/autocomplete.mjs | 4 +--- fesm2022/autocomplete.mjs.map | 2 +- fesm2022/badge.mjs | 4 +--- fesm2022/badge.mjs.map | 2 +- fesm2022/button-toggle.mjs | 4 +--- fesm2022/button-toggle.mjs.map | 2 +- fesm2022/button.mjs | 8 +------ fesm2022/button.mjs.map | 2 +- fesm2022/card.mjs | 8 +------ fesm2022/card.mjs.map | 2 +- fesm2022/checkbox.mjs | 4 +--- fesm2022/checkbox.mjs.map | 2 +- fesm2022/chips.mjs | 14 +---------- fesm2022/chips.mjs.map | 2 +- fesm2022/core.mjs | 2 +- fesm2022/core.mjs.map | 2 +- fesm2022/datepicker.mjs | 26 +-------------------- fesm2022/datepicker.mjs.map | 2 +- fesm2022/dialog-testing.mjs | 3 +-- fesm2022/dialog-testing.mjs.map | 2 +- fesm2022/divider.mjs | 4 +--- fesm2022/divider.mjs.map | 2 +- fesm2022/expansion.mjs | 6 +---- fesm2022/expansion.mjs.map | 2 +- fesm2022/grid-list.mjs | 8 +------ fesm2022/grid-list.mjs.map | 2 +- fesm2022/icon.mjs | 4 +--- fesm2022/icon.mjs.map | 2 +- fesm2022/list.mjs | 14 +---------- fesm2022/list.mjs.map | 2 +- fesm2022/menu.mjs | 6 +---- fesm2022/menu.mjs.map | 2 +- fesm2022/paginator.mjs | 4 +--- fesm2022/paginator.mjs.map | 2 +- fesm2022/progress-bar.mjs | 4 +--- fesm2022/progress-bar.mjs.map | 2 +- fesm2022/progress-spinner.mjs | 4 +--- fesm2022/progress-spinner.mjs.map | 2 +- fesm2022/radio.mjs | 4 +--- fesm2022/radio.mjs.map | 2 +- fesm2022/select.mjs | 4 +--- fesm2022/select.mjs.map | 2 +- fesm2022/sidenav.mjs | 14 +---------- fesm2022/sidenav.mjs.map | 2 +- fesm2022/slide-toggle.mjs | 4 +--- fesm2022/slide-toggle.mjs.map | 2 +- fesm2022/slider.mjs | 6 +---- fesm2022/slider.mjs.map | 2 +- fesm2022/snack-bar.mjs | 4 +--- fesm2022/snack-bar.mjs.map | 2 +- fesm2022/sort.mjs | 4 +--- fesm2022/sort.mjs.map | 2 +- fesm2022/stepper.mjs | 8 +------ fesm2022/stepper.mjs.map | 2 +- fesm2022/tabs.mjs | 6 +---- fesm2022/tabs.mjs.map | 2 +- fesm2022/timepicker.mjs | 6 +---- fesm2022/timepicker.mjs.map | 2 +- fesm2022/toolbar.mjs | 4 +--- fesm2022/toolbar.mjs.map | 2 +- package.json | 4 ++-- schematics/ng-add/index.js | 2 +- 78 files changed, 79 insertions(+), 234 deletions(-) diff --git a/fesm2022/_form-field-chunk.mjs b/fesm2022/_form-field-chunk.mjs index 45cce2121f..9e20802b47 100755 --- a/fesm2022/_form-field-chunk.mjs +++ b/fesm2022/_form-field-chunk.mjs @@ -4,7 +4,7 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion'; import { Platform } from '@angular/cdk/platform'; import { NgTemplateOutlet } from '@angular/common'; import * as i0 from '@angular/core'; -import { Directive, InjectionToken, inject, Input, ElementRef, NgZone, Renderer2, ViewChild, ViewEncapsulation, ChangeDetectionStrategy, Component, ChangeDetectorRef, viewChild, computed, contentChild, signal, effect, afterRenderEffect, ContentChildren, ContentChild } from '@angular/core'; +import { Directive, InjectionToken, inject, Input, ElementRef, NgZone, Renderer2, ViewChild, ViewEncapsulation, Component, ChangeDetectorRef, viewChild, computed, contentChild, signal, effect, afterRenderEffect, ContentChildren, ContentChild } from '@angular/core'; import { Subscription, Subject, merge } from 'rxjs'; import { startWith, map, pairwise, filter, takeUntil } from 'rxjs/operators'; import { SharedResizeObserver } from '@angular/cdk/observers/private'; @@ -510,7 +510,6 @@ class MatFormFieldNotchedOutline { }], ngImport: i0, template: "
\n
\n \n
\n
\n", - changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } @@ -527,7 +526,6 @@ i0.ɵɵngDeclareClassMetadata({ 'class': 'mdc-notched-outline', '[class.mdc-notched-outline--notched]': 'open' }, - changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "
\n
\n \n
\n
\n" }] @@ -1180,7 +1178,6 @@ class MatFormField { selector: "mat-hint", inputs: ["align", "id"] }], - changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } @@ -1217,7 +1214,6 @@ i0.ɵɵngDeclareClassMetadata({ '[class.ng-pending]': '_shouldForward("pending")' }, encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, providers: [{ provide: MAT_FORM_FIELD, useExisting: MatFormField diff --git a/fesm2022/_form-field-chunk.mjs.map b/fesm2022/_form-field-chunk.mjs.map index 6d17fb1425..88ba230a73 100755 --- a/fesm2022/_form-field-chunk.mjs.map +++ b/fesm2022/_form-field-chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"_form-field-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/label.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/error.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/hint.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/prefix.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/suffix.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/floating-label.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/line-ripple.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/notched-outline.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/notched-outline.html","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/form-field-control.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/form-field-errors.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/form-field.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/form-field.html"],"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';\n\n/** The floating label for a `mat-form-field`. */\n@Directive({\n selector: 'mat-label',\n})\nexport class MatLabel {}\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, InjectionToken, Input, inject} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\n\n/**\n * Injection token that can be used to reference instances of `MatError`. It serves as\n * alternative token to the actual `MatError` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_ERROR = new InjectionToken('MatError');\n\n/** Single error message to be shown underneath the form-field. */\n@Directive({\n selector: 'mat-error, [matError]',\n host: {\n 'class': 'mat-mdc-form-field-error mat-mdc-form-field-bottom-align',\n '[id]': 'id',\n },\n providers: [{provide: MAT_ERROR, useExisting: MatError}],\n})\nexport class MatError {\n @Input() id: string = inject(_IdGenerator).getId('mat-mdc-error-');\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, inject, Input} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\n\n/** Hint text to be shown underneath the form field control. */\n@Directive({\n selector: 'mat-hint',\n host: {\n 'class': 'mat-mdc-form-field-hint mat-mdc-form-field-bottom-align',\n '[class.mat-mdc-form-field-hint-end]': 'align === \"end\"',\n '[id]': 'id',\n // Remove align attribute to prevent it from interfering with layout.\n '[attr.align]': 'null',\n },\n})\nexport class MatHint {\n /** Whether to align the hint label at the start or end of the line. */\n @Input() align: 'start' | 'end' = 'start';\n\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n @Input() id: string = inject(_IdGenerator).getId('mat-mdc-hint-');\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, InjectionToken, Input} from '@angular/core';\n\n/**\n * Injection token that can be used to reference instances of `MatPrefix`. It serves as\n * alternative token to the actual `MatPrefix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_PREFIX = new InjectionToken('MatPrefix');\n\n/** Prefix to be placed in front of the form field. */\n@Directive({\n selector: '[matPrefix], [matIconPrefix], [matTextPrefix]',\n providers: [{provide: MAT_PREFIX, useExisting: MatPrefix}],\n})\nexport class MatPrefix {\n @Input('matTextPrefix')\n set _isTextSelector(value: '') {\n this._isText = true;\n }\n\n _isText = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Directive, InjectionToken, Input} from '@angular/core';\n\n/**\n * Injection token that can be used to reference instances of `MatSuffix`. It serves as\n * alternative token to the actual `MatSuffix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_SUFFIX = new InjectionToken('MatSuffix');\n\n/** Suffix to be placed at the end of the form field. */\n@Directive({\n selector: '[matSuffix], [matIconSuffix], [matTextSuffix]',\n providers: [{provide: MAT_SUFFIX, useExisting: MatSuffix}],\n})\nexport class MatSuffix {\n @Input('matTextSuffix')\n set _isTextSelector(value: '') {\n this._isText = true;\n }\n\n _isText = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n inject,\n Input,\n NgZone,\n OnDestroy,\n InjectionToken,\n} from '@angular/core';\nimport {SharedResizeObserver} from '@angular/cdk/observers/private';\nimport {Subscription} from 'rxjs';\n\n/** An interface that the parent form-field should implement to receive resize events. */\nexport interface FloatingLabelParent {\n _handleLabelResized(): void;\n}\n\n/** An injion token for the parent form-field. */\nexport const FLOATING_LABEL_PARENT = new InjectionToken('FloatingLabelParent');\n\n/**\n * Internal directive that maintains a MDC floating label. This directive does not\n * use the `MDCFloatingLabelFoundation` class, as it is not worth the size cost of\n * including it just to measure the label width and toggle some classes.\n *\n * The use of a directive allows us to conditionally render a floating label in the\n * template without having to manually manage instantiation and destruction of the\n * floating label component based on.\n *\n * The component is responsible for setting up the floating label styles, measuring label\n * width for the outline notch, and providing inputs that can be used to toggle the\n * label's floating or required state.\n */\n@Directive({\n selector: 'label[matFormFieldFloatingLabel]',\n host: {\n 'class': 'mdc-floating-label mat-mdc-floating-label',\n '[class.mdc-floating-label--float-above]': 'floating',\n },\n})\nexport class MatFormFieldFloatingLabel implements OnDestroy {\n private _elementRef = inject>(ElementRef);\n\n /** Whether the label is floating. */\n @Input()\n get floating() {\n return this._floating;\n }\n set floating(value: boolean) {\n this._floating = value;\n if (this.monitorResize) {\n this._handleResize();\n }\n }\n private _floating = false;\n\n /** Whether to monitor for resize events on the floating label. */\n @Input()\n get monitorResize() {\n return this._monitorResize;\n }\n set monitorResize(value: boolean) {\n this._monitorResize = value;\n if (this._monitorResize) {\n this._subscribeToResize();\n } else {\n this._resizeSubscription.unsubscribe();\n }\n }\n private _monitorResize = false;\n\n /** The shared ResizeObserver. */\n private _resizeObserver = inject(SharedResizeObserver);\n\n /** The Angular zone. */\n private _ngZone = inject(NgZone);\n\n /** The parent form-field. */\n private _parent = inject(FLOATING_LABEL_PARENT);\n\n /** The current resize event subscription. */\n private _resizeSubscription = new Subscription();\n\n ngOnDestroy() {\n this._resizeSubscription.unsubscribe();\n }\n\n /** Gets the width of the label. Used for the outline notch. */\n getWidth(): number {\n return estimateScrollWidth(this._elementRef.nativeElement);\n }\n\n /** Gets the HTML element for the floating label. */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handles resize events from the ResizeObserver. */\n private _handleResize() {\n // In the case where the label grows in size, the following sequence of events occurs:\n // 1. The label grows by 1px triggering the ResizeObserver\n // 2. The notch is expanded to accommodate the entire label\n // 3. The label expands to its full width, triggering the ResizeObserver again\n //\n // This is expected, but If we allow this to all happen within the same macro task it causes an\n // error: `ResizeObserver loop limit exceeded`. Therefore we push the notch resize out until\n // the next macro task.\n setTimeout(() => this._parent._handleLabelResized());\n }\n\n /** Subscribes to resize events. */\n private _subscribeToResize() {\n this._resizeSubscription.unsubscribe();\n this._ngZone.runOutsideAngular(() => {\n this._resizeSubscription = this._resizeObserver\n .observe(this._elementRef.nativeElement, {box: 'border-box'})\n .subscribe(() => this._handleResize());\n });\n }\n}\n\n/**\n * Estimates the scroll width of an element.\n * via https://github.com/material-components/material-components-web/blob/c0a11ef0d000a098fd0c372be8f12d6a99302855/packages/mdc-dom/ponyfill.ts\n */\nfunction estimateScrollWidth(element: HTMLElement): number {\n // Check the offsetParent. If the element inherits display: none from any\n // parent, the offsetParent property will be null (see\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent).\n // This check ensures we only clone the node when necessary.\n const htmlEl = element as HTMLElement;\n if (htmlEl.offsetParent !== null) {\n return htmlEl.scrollWidth;\n }\n\n const clone = htmlEl.cloneNode(true) as HTMLElement;\n clone.style.setProperty('position', 'absolute');\n clone.style.setProperty('transform', 'translate(-9999px, -9999px)');\n document.documentElement.appendChild(clone);\n const scrollWidth = clone.scrollWidth;\n clone.remove();\n return scrollWidth;\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, ElementRef, NgZone, OnDestroy, Renderer2, inject} from '@angular/core';\n\n/** Class added when the line ripple is active. */\nconst ACTIVATE_CLASS = 'mdc-line-ripple--active';\n\n/** Class added when the line ripple is being deactivated. */\nconst DEACTIVATING_CLASS = 'mdc-line-ripple--deactivating';\n\n/**\n * Internal directive that creates an instance of the MDC line-ripple component. Using a\n * directive allows us to conditionally render a line-ripple in the template without having\n * to manually create and destroy the `MDCLineRipple` component whenever the condition changes.\n *\n * The directive sets up the styles for the line-ripple and provides an API for activating\n * and deactivating the line-ripple.\n */\n@Directive({\n selector: 'div[matFormFieldLineRipple]',\n host: {\n 'class': 'mdc-line-ripple',\n },\n})\nexport class MatFormFieldLineRipple implements OnDestroy {\n private _elementRef = inject>(ElementRef);\n private _cleanupTransitionEnd!: () => void;\n\n constructor() {\n const ngZone = inject(NgZone);\n const renderer = inject(Renderer2);\n\n ngZone.runOutsideAngular(() => {\n this._cleanupTransitionEnd = renderer.listen(\n this._elementRef.nativeElement,\n 'transitionend',\n this._handleTransitionEnd,\n );\n });\n }\n\n activate() {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(DEACTIVATING_CLASS);\n classList.add(ACTIVATE_CLASS);\n }\n\n deactivate() {\n this._elementRef.nativeElement.classList.add(DEACTIVATING_CLASS);\n }\n\n private _handleTransitionEnd = (event: TransitionEvent) => {\n const classList = this._elementRef.nativeElement.classList;\n const isDeactivating = classList.contains(DEACTIVATING_CLASS);\n\n if (event.propertyName === 'opacity' && isDeactivating) {\n classList.remove(ACTIVATE_CLASS, DEACTIVATING_CLASS);\n }\n };\n\n ngOnDestroy() {\n this._cleanupTransitionEnd();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Input,\n NgZone,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\n\n/**\n * Internal component that creates an instance of the MDC notched-outline component.\n *\n * The component sets up the HTML structure and styles for the notched-outline. It provides\n * inputs to toggle the notch state and width.\n */\n@Component({\n selector: 'div[matFormFieldNotchedOutline]',\n templateUrl: './notched-outline.html',\n host: {\n 'class': 'mdc-notched-outline',\n // Besides updating the notch state through the MDC component, we toggle this class through\n // a host binding in order to ensure that the notched-outline renders correctly on the server.\n '[class.mdc-notched-outline--notched]': 'open',\n },\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatFormFieldNotchedOutline implements AfterViewInit {\n private _elementRef = inject>(ElementRef);\n private _ngZone = inject(NgZone);\n\n /** Whether the notch should be opened. */\n @Input('matFormFieldNotchedOutlineOpen') open: boolean = false;\n\n @ViewChild('notch') _notch!: ElementRef;\n\n ngAfterViewInit(): void {\n const element = this._elementRef.nativeElement;\n const label = element.querySelector('.mdc-floating-label');\n\n if (label) {\n element.classList.add('mdc-notched-outline--upgraded');\n\n if (typeof requestAnimationFrame === 'function') {\n label.style.transitionDuration = '0s';\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => (label.style.transitionDuration = ''));\n });\n }\n } else {\n element.classList.add('mdc-notched-outline--no-label');\n }\n }\n\n _setNotchWidth(labelWidth: number) {\n const notch = this._notch.nativeElement;\n\n if (!this.open || !labelWidth) {\n notch.style.width = '';\n } else {\n const NOTCH_ELEMENT_PADDING = 8;\n const NOTCH_ELEMENT_BORDER = 1;\n notch.style.width = `calc(${labelWidth}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + ${\n NOTCH_ELEMENT_PADDING + NOTCH_ELEMENT_BORDER\n }px)`;\n }\n }\n\n _setMaxWidth(prefixAndSuffixWidth: number) {\n // Set this only on the notch to avoid style recalculations in other parts of the form field.\n this._notch.nativeElement.style.setProperty(\n '--mat-form-field-notch-max-width',\n `calc(100% - ${prefixAndSuffixWidth}px)`,\n );\n }\n}\n","
\n
\n \n
\n
\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Observable} from 'rxjs';\nimport {AbstractControlDirective, NgControl} from '@angular/forms';\nimport {Directive} from '@angular/core';\n\n/** An interface which allows a control to work inside of a `MatFormField`. */\n@Directive()\nexport abstract class MatFormFieldControl {\n /** The value of the control. */\n value: T | null = null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MatFormField`\n * needs to run change detection.\n */\n readonly stateChanges!: Observable;\n\n /** The element ID for this control. */\n readonly id!: string;\n\n /** The placeholder for this control. */\n readonly placeholder!: string;\n\n /** Gets the AbstractControlDirective for this control. */\n readonly ngControl: NgControl | AbstractControlDirective | null = null;\n\n /** Whether the control is focused. */\n readonly focused: boolean = false;\n\n /** Whether the control is empty. */\n readonly empty: boolean = false;\n\n /** Whether the `MatFormField` label should try to float. */\n readonly shouldLabelFloat: boolean = false;\n\n /** Whether the control is required. */\n readonly required: boolean = false;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean = false;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean = false;\n\n /**\n * An optional name for the control type that can be used to distinguish `mat-form-field` elements\n * based on their control type. The form field will add a class,\n * `mat-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /**\n * Whether the input is currently in an autofilled state. If property is not present on the\n * control it is assumed to be false.\n */\n readonly autofilled?: boolean;\n\n /**\n * Value of `aria-describedby` that should be merged with the described-by ids\n * which are set by the form-field.\n */\n readonly userAriaDescribedBy?: string;\n\n /**\n * Whether to automatically assign the ID of the form field as the `for` attribute\n * on the `\n }\n\n\n\n @if (!_hasOutline() && !_control.disabled) {\n
\n }\n
\n @if (_hasOutline()) {\n
\n @if (!_forceDisplayInfixLabel()) {\n \n }\n
\n }\n\n @if (_hasIconPrefix) {\n
\n \n
\n }\n\n @if (_hasTextPrefix) {\n
\n \n
\n }\n\n
\n @if (!_hasOutline() || _forceDisplayInfixLabel()) {\n \n }\n\n \n
\n\n @if (_hasTextSuffix) {\n
\n \n
\n }\n\n @if (_hasIconSuffix) {\n
\n \n
\n }\n
\n\n @if (!_hasOutline()) {\n
\n }\n\n\n
\n @let subscriptMessageType = _getSubscriptMessageType();\n\n @switch (subscriptMessageType) {\n @case ('error') {\n
\n \n
\n }\n\n @case ('hint') {\n
\n @if (hintLabel) {\n {{hintLabel}}\n }\n \n
\n \n
\n }\n }\n
\n"],"names":["MatLabel","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","ngImport","decorators","args","MAT_ERROR","InjectionToken","MatError","id","inject","_IdGenerator","getId","inputs","host","properties","classAttribute","providers","provide","useExisting","Input","MatHint","align","MAT_PREFIX","MatPrefix","_isTextSelector","value","_isText","MAT_SUFFIX","MatSuffix","FLOATING_LABEL_PARENT","MatFormFieldFloatingLabel","_elementRef","ElementRef","floating","_floating","monitorResize","_handleResize","_monitorResize","_subscribeToResize","_resizeSubscription","unsubscribe","_resizeObserver","SharedResizeObserver","_ngZone","NgZone","_parent","Subscription","ngOnDestroy","getWidth","estimateScrollWidth","nativeElement","element","setTimeout","_handleLabelResized","runOutsideAngular","observe","box","subscribe","htmlEl","offsetParent","scrollWidth","clone","cloneNode","style","setProperty","document","documentElement","appendChild","remove","ACTIVATE_CLASS","DEACTIVATING_CLASS","MatFormFieldLineRipple","_cleanupTransitionEnd","constructor","ngZone","renderer","Renderer2","listen","_handleTransitionEnd","activate","classList","add","deactivate","event","isDeactivating","contains","propertyName","MatFormFieldNotchedOutline","open","_notch","ngAfterViewInit","label","querySelector","requestAnimationFrame","transitionDuration","_setNotchWidth","labelWidth","notch","width","NOTCH_ELEMENT_PADDING","NOTCH_ELEMENT_BORDER","_setMaxWidth","prefixAndSuffixWidth","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","template","ViewChild","MatFormFieldControl","stateChanges","placeholder","ngControl","focused","empty","shouldLabelFloat","required","disabled","errorState","controlType","autofilled","userAriaDescribedBy","disableAutomaticLabeling","describedByIds","getMatFormFieldPlaceholderConflictError","Error","getMatFormFieldDuplicatedHintError","getMatFormFieldMissingControlError","MAT_FORM_FIELD","MAT_FORM_FIELD_DEFAULT_OPTIONS","DEFAULT_APPEARANCE","DEFAULT_FLOAT_LABEL","DEFAULT_SUBSCRIPT_SIZING","FLOATING_LABEL_DEFAULT_DOCKED_TRANSFORM","MatFormField","_changeDetectorRef","ChangeDetectorRef","_platform","Platform","_idGenerator","_defaults","optional","_currentDirection","_textField","_iconPrefixContainer","_textPrefixContainer","_iconSuffixContainer","_textSuffixContainer","_floatingLabel","_notchedOutline","_lineRipple","_iconPrefixContainerSignal","viewChild","_textPrefixContainerSignal","_iconSuffixContainerSignal","_textSuffixContainerSignal","_prefixSuffixContainers","computed","map","container","filter","e","undefined","_formFieldControl","_prefixChildren","_suffixChildren","_errorChildren","_hintChildren","_labelChild","contentChild","hideRequiredMarker","_hideRequiredMarker","coerceBooleanProperty","color","floatLabel","_floatLabel","markForCheck","appearance","_appearanceSignal","newAppearance","ngDevMode","set","signal","subscriptSizing","_subscriptSizing","hintLabel","_hintLabel","_processHints","_hasIconPrefix","_hasTextPrefix","_hasIconSuffix","_hasTextSuffix","_labelId","_hintLabelId","_describedByIds","_control","_explicitFormFieldControl","_destroyed","Subject","_isFocused","_previousControl","_previousControlValidatorFn","_stateChanges","_valueChanges","_describedByChanges","_outlineLabelOffsetResizeObserver","_animationsDisabled","defaults","dir","Directionality","Boolean","effect","valueSignal","_syncOutlineLabelOffset","_updateFocusState","detectChanges","ngAfterContentInit","_assertFormFieldControl","_initializeSubscript","_initializePrefixAndSuffix","ngAfterContentChecked","_initializeControl","control","validator","validatorFn","disconnect","next","complete","getLabelId","_hasFloatingLabel","getConnectedOverlayOrigin","_animateAndLockLabel","previousControl","classPrefix","pipe","startWith","pairwise","prevErrorState","prevDescribedBy","currentErrorState","currentDescribedBy","_syncDescribedByIds","valueChanges","takeUntil","_checkPrefixAndSuffixTypes","find","p","s","merge","changes","_validateHints","controlFocused","toggle","afterRenderEffect","earlyRead","globalThis","ResizeObserver","_writeOutlinedLabelStyles","_getOutlinedLabelOffset","el","write","labelStyles","_shouldAlwaysFloat","_hasOutline","_forceDisplayInfixLabel","isBrowser","length","_shouldLabelFloat","_shouldForward","prop","_getSubscriptMessageType","_refreshOutlineNotchWidth","startHint","endHint","forEach","hint","ids","push","split","error","existingDescribedBy","toAssign","exclude","concat","includes","setDescribedByIds","_isAttachedToDom","iconPrefixContainer","textPrefixContainer","iconSuffixContainer","textSuffixContainer","iconPrefixContainerWidth","getBoundingClientRect","textPrefixContainerWidth","iconSuffixContainerWidth","textSuffixContainerWidth","negate","prefixWidth","labelOffset","labelHorizontalOffset","floatingLabelTransform","notchedOutlineWidth","styles","transform","getRootNode","rootNode","queries","first","predicate","descendants","isSignal","_MatFormFieldControl","viewQueries","exportAs","dependencies","kind","NgTemplateOutlet","imports","ContentChild","ContentChildren"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"_form-field-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/label.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/error.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/hint.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/prefix.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/suffix.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/floating-label.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/line-ripple.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/notched-outline.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/directives/notched-outline.html","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/form-field-control.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/form-field-errors.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/form-field.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/form-field/form-field.html"],"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';\n\n/** The floating label for a `mat-form-field`. */\n@Directive({\n selector: 'mat-label',\n})\nexport class MatLabel {}\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, InjectionToken, Input, inject} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\n\n/**\n * Injection token that can be used to reference instances of `MatError`. It serves as\n * alternative token to the actual `MatError` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_ERROR = new InjectionToken('MatError');\n\n/** Single error message to be shown underneath the form-field. */\n@Directive({\n selector: 'mat-error, [matError]',\n host: {\n 'class': 'mat-mdc-form-field-error mat-mdc-form-field-bottom-align',\n '[id]': 'id',\n },\n providers: [{provide: MAT_ERROR, useExisting: MatError}],\n})\nexport class MatError {\n @Input() id: string = inject(_IdGenerator).getId('mat-mdc-error-');\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, inject, Input} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\n\n/** Hint text to be shown underneath the form field control. */\n@Directive({\n selector: 'mat-hint',\n host: {\n 'class': 'mat-mdc-form-field-hint mat-mdc-form-field-bottom-align',\n '[class.mat-mdc-form-field-hint-end]': 'align === \"end\"',\n '[id]': 'id',\n // Remove align attribute to prevent it from interfering with layout.\n '[attr.align]': 'null',\n },\n})\nexport class MatHint {\n /** Whether to align the hint label at the start or end of the line. */\n @Input() align: 'start' | 'end' = 'start';\n\n /** Unique ID for the hint. Used for the aria-describedby on the form field control. */\n @Input() id: string = inject(_IdGenerator).getId('mat-mdc-hint-');\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, InjectionToken, Input} from '@angular/core';\n\n/**\n * Injection token that can be used to reference instances of `MatPrefix`. It serves as\n * alternative token to the actual `MatPrefix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_PREFIX = new InjectionToken('MatPrefix');\n\n/** Prefix to be placed in front of the form field. */\n@Directive({\n selector: '[matPrefix], [matIconPrefix], [matTextPrefix]',\n providers: [{provide: MAT_PREFIX, useExisting: MatPrefix}],\n})\nexport class MatPrefix {\n @Input('matTextPrefix')\n set _isTextSelector(value: '') {\n this._isText = true;\n }\n\n _isText = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Directive, InjectionToken, Input} from '@angular/core';\n\n/**\n * Injection token that can be used to reference instances of `MatSuffix`. It serves as\n * alternative token to the actual `MatSuffix` class which could cause unnecessary\n * retention of the class and its directive metadata.\n */\nexport const MAT_SUFFIX = new InjectionToken('MatSuffix');\n\n/** Suffix to be placed at the end of the form field. */\n@Directive({\n selector: '[matSuffix], [matIconSuffix], [matTextSuffix]',\n providers: [{provide: MAT_SUFFIX, useExisting: MatSuffix}],\n})\nexport class MatSuffix {\n @Input('matTextSuffix')\n set _isTextSelector(value: '') {\n this._isText = true;\n }\n\n _isText = false;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Directive,\n ElementRef,\n inject,\n Input,\n NgZone,\n OnDestroy,\n InjectionToken,\n} from '@angular/core';\nimport {SharedResizeObserver} from '@angular/cdk/observers/private';\nimport {Subscription} from 'rxjs';\n\n/** An interface that the parent form-field should implement to receive resize events. */\nexport interface FloatingLabelParent {\n _handleLabelResized(): void;\n}\n\n/** An injion token for the parent form-field. */\nexport const FLOATING_LABEL_PARENT = new InjectionToken('FloatingLabelParent');\n\n/**\n * Internal directive that maintains a MDC floating label. This directive does not\n * use the `MDCFloatingLabelFoundation` class, as it is not worth the size cost of\n * including it just to measure the label width and toggle some classes.\n *\n * The use of a directive allows us to conditionally render a floating label in the\n * template without having to manually manage instantiation and destruction of the\n * floating label component based on.\n *\n * The component is responsible for setting up the floating label styles, measuring label\n * width for the outline notch, and providing inputs that can be used to toggle the\n * label's floating or required state.\n */\n@Directive({\n selector: 'label[matFormFieldFloatingLabel]',\n host: {\n 'class': 'mdc-floating-label mat-mdc-floating-label',\n '[class.mdc-floating-label--float-above]': 'floating',\n },\n})\nexport class MatFormFieldFloatingLabel implements OnDestroy {\n private _elementRef = inject>(ElementRef);\n\n /** Whether the label is floating. */\n @Input()\n get floating() {\n return this._floating;\n }\n set floating(value: boolean) {\n this._floating = value;\n if (this.monitorResize) {\n this._handleResize();\n }\n }\n private _floating = false;\n\n /** Whether to monitor for resize events on the floating label. */\n @Input()\n get monitorResize() {\n return this._monitorResize;\n }\n set monitorResize(value: boolean) {\n this._monitorResize = value;\n if (this._monitorResize) {\n this._subscribeToResize();\n } else {\n this._resizeSubscription.unsubscribe();\n }\n }\n private _monitorResize = false;\n\n /** The shared ResizeObserver. */\n private _resizeObserver = inject(SharedResizeObserver);\n\n /** The Angular zone. */\n private _ngZone = inject(NgZone);\n\n /** The parent form-field. */\n private _parent = inject(FLOATING_LABEL_PARENT);\n\n /** The current resize event subscription. */\n private _resizeSubscription = new Subscription();\n\n ngOnDestroy() {\n this._resizeSubscription.unsubscribe();\n }\n\n /** Gets the width of the label. Used for the outline notch. */\n getWidth(): number {\n return estimateScrollWidth(this._elementRef.nativeElement);\n }\n\n /** Gets the HTML element for the floating label. */\n get element(): HTMLElement {\n return this._elementRef.nativeElement;\n }\n\n /** Handles resize events from the ResizeObserver. */\n private _handleResize() {\n // In the case where the label grows in size, the following sequence of events occurs:\n // 1. The label grows by 1px triggering the ResizeObserver\n // 2. The notch is expanded to accommodate the entire label\n // 3. The label expands to its full width, triggering the ResizeObserver again\n //\n // This is expected, but If we allow this to all happen within the same macro task it causes an\n // error: `ResizeObserver loop limit exceeded`. Therefore we push the notch resize out until\n // the next macro task.\n setTimeout(() => this._parent._handleLabelResized());\n }\n\n /** Subscribes to resize events. */\n private _subscribeToResize() {\n this._resizeSubscription.unsubscribe();\n this._ngZone.runOutsideAngular(() => {\n this._resizeSubscription = this._resizeObserver\n .observe(this._elementRef.nativeElement, {box: 'border-box'})\n .subscribe(() => this._handleResize());\n });\n }\n}\n\n/**\n * Estimates the scroll width of an element.\n * via https://github.com/material-components/material-components-web/blob/c0a11ef0d000a098fd0c372be8f12d6a99302855/packages/mdc-dom/ponyfill.ts\n */\nfunction estimateScrollWidth(element: HTMLElement): number {\n // Check the offsetParent. If the element inherits display: none from any\n // parent, the offsetParent property will be null (see\n // https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/offsetParent).\n // This check ensures we only clone the node when necessary.\n const htmlEl = element as HTMLElement;\n if (htmlEl.offsetParent !== null) {\n return htmlEl.scrollWidth;\n }\n\n const clone = htmlEl.cloneNode(true) as HTMLElement;\n clone.style.setProperty('position', 'absolute');\n clone.style.setProperty('transform', 'translate(-9999px, -9999px)');\n document.documentElement.appendChild(clone);\n const scrollWidth = clone.scrollWidth;\n clone.remove();\n return scrollWidth;\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, ElementRef, NgZone, OnDestroy, Renderer2, inject} from '@angular/core';\n\n/** Class added when the line ripple is active. */\nconst ACTIVATE_CLASS = 'mdc-line-ripple--active';\n\n/** Class added when the line ripple is being deactivated. */\nconst DEACTIVATING_CLASS = 'mdc-line-ripple--deactivating';\n\n/**\n * Internal directive that creates an instance of the MDC line-ripple component. Using a\n * directive allows us to conditionally render a line-ripple in the template without having\n * to manually create and destroy the `MDCLineRipple` component whenever the condition changes.\n *\n * The directive sets up the styles for the line-ripple and provides an API for activating\n * and deactivating the line-ripple.\n */\n@Directive({\n selector: 'div[matFormFieldLineRipple]',\n host: {\n 'class': 'mdc-line-ripple',\n },\n})\nexport class MatFormFieldLineRipple implements OnDestroy {\n private _elementRef = inject>(ElementRef);\n private _cleanupTransitionEnd!: () => void;\n\n constructor() {\n const ngZone = inject(NgZone);\n const renderer = inject(Renderer2);\n\n ngZone.runOutsideAngular(() => {\n this._cleanupTransitionEnd = renderer.listen(\n this._elementRef.nativeElement,\n 'transitionend',\n this._handleTransitionEnd,\n );\n });\n }\n\n activate() {\n const classList = this._elementRef.nativeElement.classList;\n classList.remove(DEACTIVATING_CLASS);\n classList.add(ACTIVATE_CLASS);\n }\n\n deactivate() {\n this._elementRef.nativeElement.classList.add(DEACTIVATING_CLASS);\n }\n\n private _handleTransitionEnd = (event: TransitionEvent) => {\n const classList = this._elementRef.nativeElement.classList;\n const isDeactivating = classList.contains(DEACTIVATING_CLASS);\n\n if (event.propertyName === 'opacity' && isDeactivating) {\n classList.remove(ACTIVATE_CLASS, DEACTIVATING_CLASS);\n }\n };\n\n ngOnDestroy() {\n this._cleanupTransitionEnd();\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n AfterViewInit,\n Component,\n ElementRef,\n Input,\n NgZone,\n ViewChild,\n ViewEncapsulation,\n inject,\n} from '@angular/core';\n\n/**\n * Internal component that creates an instance of the MDC notched-outline component.\n *\n * The component sets up the HTML structure and styles for the notched-outline. It provides\n * inputs to toggle the notch state and width.\n */\n@Component({\n selector: 'div[matFormFieldNotchedOutline]',\n templateUrl: './notched-outline.html',\n host: {\n 'class': 'mdc-notched-outline',\n // Besides updating the notch state through the MDC component, we toggle this class through\n // a host binding in order to ensure that the notched-outline renders correctly on the server.\n '[class.mdc-notched-outline--notched]': 'open',\n },\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatFormFieldNotchedOutline implements AfterViewInit {\n private _elementRef = inject>(ElementRef);\n private _ngZone = inject(NgZone);\n\n /** Whether the notch should be opened. */\n @Input('matFormFieldNotchedOutlineOpen') open: boolean = false;\n\n @ViewChild('notch') _notch!: ElementRef;\n\n ngAfterViewInit(): void {\n const element = this._elementRef.nativeElement;\n const label = element.querySelector('.mdc-floating-label');\n\n if (label) {\n element.classList.add('mdc-notched-outline--upgraded');\n\n if (typeof requestAnimationFrame === 'function') {\n label.style.transitionDuration = '0s';\n this._ngZone.runOutsideAngular(() => {\n requestAnimationFrame(() => (label.style.transitionDuration = ''));\n });\n }\n } else {\n element.classList.add('mdc-notched-outline--no-label');\n }\n }\n\n _setNotchWidth(labelWidth: number) {\n const notch = this._notch.nativeElement;\n\n if (!this.open || !labelWidth) {\n notch.style.width = '';\n } else {\n const NOTCH_ELEMENT_PADDING = 8;\n const NOTCH_ELEMENT_BORDER = 1;\n notch.style.width = `calc(${labelWidth}px * var(--mat-mdc-form-field-floating-label-scale, 0.75) + ${\n NOTCH_ELEMENT_PADDING + NOTCH_ELEMENT_BORDER\n }px)`;\n }\n }\n\n _setMaxWidth(prefixAndSuffixWidth: number) {\n // Set this only on the notch to avoid style recalculations in other parts of the form field.\n this._notch.nativeElement.style.setProperty(\n '--mat-form-field-notch-max-width',\n `calc(100% - ${prefixAndSuffixWidth}px)`,\n );\n }\n}\n","
\n
\n \n
\n
\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {Observable} from 'rxjs';\nimport {AbstractControlDirective, NgControl} from '@angular/forms';\nimport {Directive} from '@angular/core';\n\n/** An interface which allows a control to work inside of a `MatFormField`. */\n@Directive()\nexport abstract class MatFormFieldControl {\n /** The value of the control. */\n value: T | null = null;\n\n /**\n * Stream that emits whenever the state of the control changes such that the parent `MatFormField`\n * needs to run change detection.\n */\n readonly stateChanges!: Observable;\n\n /** The element ID for this control. */\n readonly id!: string;\n\n /** The placeholder for this control. */\n readonly placeholder!: string;\n\n /** Gets the AbstractControlDirective for this control. */\n readonly ngControl: NgControl | AbstractControlDirective | null = null;\n\n /** Whether the control is focused. */\n readonly focused: boolean = false;\n\n /** Whether the control is empty. */\n readonly empty: boolean = false;\n\n /** Whether the `MatFormField` label should try to float. */\n readonly shouldLabelFloat: boolean = false;\n\n /** Whether the control is required. */\n readonly required: boolean = false;\n\n /** Whether the control is disabled. */\n readonly disabled: boolean = false;\n\n /** Whether the control is in an error state. */\n readonly errorState: boolean = false;\n\n /**\n * An optional name for the control type that can be used to distinguish `mat-form-field` elements\n * based on their control type. The form field will add a class,\n * `mat-form-field-type-{{controlType}}` to its root element.\n */\n readonly controlType?: string;\n\n /**\n * Whether the input is currently in an autofilled state. If property is not present on the\n * control it is assumed to be false.\n */\n readonly autofilled?: boolean;\n\n /**\n * Value of `aria-describedby` that should be merged with the described-by ids\n * which are set by the form-field.\n */\n readonly userAriaDescribedBy?: string;\n\n /**\n * Whether to automatically assign the ID of the form field as the `for` attribute\n * on the `\n }\n\n\n\n @if (!_hasOutline() && !_control.disabled) {\n
\n }\n
\n @if (_hasOutline()) {\n
\n @if (!_forceDisplayInfixLabel()) {\n \n }\n
\n }\n\n @if (_hasIconPrefix) {\n
\n \n
\n }\n\n @if (_hasTextPrefix) {\n
\n \n
\n }\n\n
\n @if (!_hasOutline() || _forceDisplayInfixLabel()) {\n \n }\n\n \n
\n\n @if (_hasTextSuffix) {\n
\n \n
\n }\n\n @if (_hasIconSuffix) {\n
\n \n
\n }\n
\n\n @if (!_hasOutline()) {\n
\n }\n\n\n
\n @let subscriptMessageType = _getSubscriptMessageType();\n\n @switch (subscriptMessageType) {\n @case ('error') {\n
\n \n
\n }\n\n @case ('hint') {\n
\n @if (hintLabel) {\n {{hintLabel}}\n }\n \n
\n \n
\n }\n }\n
\n"],"names":["MatLabel","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","selector","ngImport","decorators","args","MAT_ERROR","InjectionToken","MatError","id","inject","_IdGenerator","getId","inputs","host","properties","classAttribute","providers","provide","useExisting","Input","MatHint","align","MAT_PREFIX","MatPrefix","_isTextSelector","value","_isText","MAT_SUFFIX","MatSuffix","FLOATING_LABEL_PARENT","MatFormFieldFloatingLabel","_elementRef","ElementRef","floating","_floating","monitorResize","_handleResize","_monitorResize","_subscribeToResize","_resizeSubscription","unsubscribe","_resizeObserver","SharedResizeObserver","_ngZone","NgZone","_parent","Subscription","ngOnDestroy","getWidth","estimateScrollWidth","nativeElement","element","setTimeout","_handleLabelResized","runOutsideAngular","observe","box","subscribe","htmlEl","offsetParent","scrollWidth","clone","cloneNode","style","setProperty","document","documentElement","appendChild","remove","ACTIVATE_CLASS","DEACTIVATING_CLASS","MatFormFieldLineRipple","_cleanupTransitionEnd","constructor","ngZone","renderer","Renderer2","listen","_handleTransitionEnd","activate","classList","add","deactivate","event","isDeactivating","contains","propertyName","MatFormFieldNotchedOutline","open","_notch","ngAfterViewInit","label","querySelector","requestAnimationFrame","transitionDuration","_setNotchWidth","labelWidth","notch","width","NOTCH_ELEMENT_PADDING","NOTCH_ELEMENT_BORDER","_setMaxWidth","prefixAndSuffixWidth","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","encapsulation","ViewEncapsulation","None","template","ViewChild","MatFormFieldControl","stateChanges","placeholder","ngControl","focused","empty","shouldLabelFloat","required","disabled","errorState","controlType","autofilled","userAriaDescribedBy","disableAutomaticLabeling","describedByIds","getMatFormFieldPlaceholderConflictError","Error","getMatFormFieldDuplicatedHintError","getMatFormFieldMissingControlError","MAT_FORM_FIELD","MAT_FORM_FIELD_DEFAULT_OPTIONS","DEFAULT_APPEARANCE","DEFAULT_FLOAT_LABEL","DEFAULT_SUBSCRIPT_SIZING","FLOATING_LABEL_DEFAULT_DOCKED_TRANSFORM","MatFormField","_changeDetectorRef","ChangeDetectorRef","_platform","Platform","_idGenerator","_defaults","optional","_currentDirection","_textField","_iconPrefixContainer","_textPrefixContainer","_iconSuffixContainer","_textSuffixContainer","_floatingLabel","_notchedOutline","_lineRipple","_iconPrefixContainerSignal","viewChild","_textPrefixContainerSignal","_iconSuffixContainerSignal","_textSuffixContainerSignal","_prefixSuffixContainers","computed","map","container","filter","e","undefined","_formFieldControl","_prefixChildren","_suffixChildren","_errorChildren","_hintChildren","_labelChild","contentChild","hideRequiredMarker","_hideRequiredMarker","coerceBooleanProperty","color","floatLabel","_floatLabel","markForCheck","appearance","_appearanceSignal","newAppearance","ngDevMode","set","signal","subscriptSizing","_subscriptSizing","hintLabel","_hintLabel","_processHints","_hasIconPrefix","_hasTextPrefix","_hasIconSuffix","_hasTextSuffix","_labelId","_hintLabelId","_describedByIds","_control","_explicitFormFieldControl","_destroyed","Subject","_isFocused","_previousControl","_previousControlValidatorFn","_stateChanges","_valueChanges","_describedByChanges","_outlineLabelOffsetResizeObserver","_animationsDisabled","defaults","dir","Directionality","Boolean","effect","valueSignal","_syncOutlineLabelOffset","_updateFocusState","detectChanges","ngAfterContentInit","_assertFormFieldControl","_initializeSubscript","_initializePrefixAndSuffix","ngAfterContentChecked","_initializeControl","control","validator","validatorFn","disconnect","next","complete","getLabelId","_hasFloatingLabel","getConnectedOverlayOrigin","_animateAndLockLabel","previousControl","classPrefix","pipe","startWith","pairwise","prevErrorState","prevDescribedBy","currentErrorState","currentDescribedBy","_syncDescribedByIds","valueChanges","takeUntil","_checkPrefixAndSuffixTypes","find","p","s","merge","changes","_validateHints","controlFocused","toggle","afterRenderEffect","earlyRead","globalThis","ResizeObserver","_writeOutlinedLabelStyles","_getOutlinedLabelOffset","el","write","labelStyles","_shouldAlwaysFloat","_hasOutline","_forceDisplayInfixLabel","isBrowser","length","_shouldLabelFloat","_shouldForward","prop","_getSubscriptMessageType","_refreshOutlineNotchWidth","startHint","endHint","forEach","hint","ids","push","split","error","existingDescribedBy","toAssign","exclude","concat","includes","setDescribedByIds","_isAttachedToDom","iconPrefixContainer","textPrefixContainer","iconSuffixContainer","textSuffixContainer","iconPrefixContainerWidth","getBoundingClientRect","textPrefixContainerWidth","iconSuffixContainerWidth","textSuffixContainerWidth","negate","prefixWidth","labelOffset","labelHorizontalOffset","floatingLabelTransform","notchedOutlineWidth","styles","transform","getRootNode","rootNode","queries","first","predicate","descendants","isSignal","_MatFormFieldControl","viewQueries","exportAs","dependencies","kind","NgTemplateOutlet","imports","ContentChild","ContentChildren"],"mappings":"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"} \ No newline at end of file diff --git a/fesm2022/_icon-button-chunk.mjs b/fesm2022/_icon-button-chunk.mjs index 08906588ae..73d1ccf3d2 100755 --- a/fesm2022/_icon-button-chunk.mjs +++ b/fesm2022/_icon-button-chunk.mjs @@ -1,5 +1,5 @@ import * as i0 from '@angular/core'; -import { InjectionToken, inject, ElementRef, NgZone, Renderer2, input, booleanAttribute, numberAttribute, Input, Directive, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core'; +import { InjectionToken, inject, ElementRef, NgZone, Renderer2, input, booleanAttribute, numberAttribute, Input, Directive, ViewEncapsulation, Component } from '@angular/core'; import { FocusMonitor } from '@angular/cdk/a11y'; import { _CdkPrivateStyleLoader } from '@angular/cdk/private'; import { MatRippleLoader } from './_ripple-loader-chunk.mjs'; @@ -302,7 +302,6 @@ class MatIconButton extends MatButtonBase { ngImport: i0, template: "\n\n\n\n@if (showProgress()) {\n
\n \n
\n}\n\n\n\n\n\n", styles: [".mat-mdc-icon-button {\n -webkit-user-select: none;\n user-select: none;\n display: inline-block;\n position: relative;\n box-sizing: border-box;\n border: none;\n outline: none;\n background-color: transparent;\n fill: currentColor;\n text-decoration: none;\n cursor: pointer;\n z-index: 0;\n overflow: visible;\n border-radius: var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));\n flex-shrink: 0;\n text-align: center;\n width: var(--mat-icon-button-state-layer-size, 40px);\n height: var(--mat-icon-button-state-layer-size, 40px);\n padding: calc(calc(var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);\n font-size: var(--mat-icon-button-icon-size, 24px);\n color: var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));\n -webkit-tap-highlight-color: transparent;\n}\n.mat-mdc-icon-button .mat-mdc-button-ripple,\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n pointer-events: none;\n border-radius: inherit;\n}\n.mat-mdc-icon-button .mat-mdc-button-ripple {\n overflow: hidden;\n}\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before {\n content: \"\";\n opacity: 0;\n}\n.mat-mdc-icon-button .mdc-button__label,\n.mat-mdc-icon-button .mat-icon {\n z-index: 1;\n position: relative;\n}\n.mat-mdc-icon-button .mat-focus-indicator {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n border-radius: inherit;\n}\n.mat-mdc-icon-button:focus-visible > .mat-focus-indicator::before {\n content: \"\";\n border-radius: inherit;\n}\n.mat-mdc-icon-button .mat-ripple-element {\n background-color: var(--mat-icon-button-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface-variant) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-icon-button-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-icon-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-icon-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-icon-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-icon-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-icon-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-icon-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-icon-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-icon-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-icon-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-icon-button-touch-target-size, 48px);\n display: var(--mat-icon-button-touch-target-display, block);\n left: 50%;\n width: var(--mat-icon-button-touch-target-size, 48px);\n transform: translate(-50%, -50%);\n}\n.mat-mdc-icon-button._mat-animation-noopable {\n transition: none !important;\n animation: none !important;\n}\n.mat-mdc-icon-button[disabled], .mat-mdc-icon-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-icon-button-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-mdc-icon-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n.mat-mdc-icon-button img,\n.mat-mdc-icon-button svg {\n width: var(--mat-icon-button-icon-size, 24px);\n height: var(--mat-icon-button-icon-size, 24px);\n vertical-align: baseline;\n}\n.mat-mdc-icon-button .mat-mdc-button-progress-indicator-container .mdc-circular-progress__determinate-circle-graphic {\n width: inherit;\n height: inherit;\n}\n.mat-mdc-icon-button .mat-mdc-button-progress-indicator-container .mdc-circular-progress__indeterminate-circle-graphic {\n height: 100%;\n}\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple {\n border-radius: var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));\n}\n.mat-mdc-icon-button[hidden] {\n display: none;\n}\n.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before, .mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before, .mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before, .mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before {\n background: transparent;\n opacity: 1;\n}\n\n.mat-mdc-button-progress-indicator-container {\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n}\n\n.mat-mdc-button-progress-indicator-shown mat-icon {\n visibility: hidden;\n}\n", "@media (forced-colors: active) {\n .mat-mdc-button:not(.mdc-button--outlined),\n .mat-mdc-unelevated-button:not(.mdc-button--outlined),\n .mat-mdc-raised-button:not(.mdc-button--outlined),\n .mat-mdc-outlined-button:not(.mdc-button--outlined),\n .mat-mdc-button-base.mat-tonal-button,\n .mat-mdc-icon-button.mat-mdc-icon-button,\n .mat-mdc-outlined-button .mdc-button__ripple {\n outline: solid 1px;\n }\n}\n"], - changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } @@ -320,7 +319,6 @@ i0.ɵɵngDeclareClassMetadata({ }, exportAs: 'matButton, matAnchor', encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, template: "\n\n\n\n@if (showProgress()) {\n
\n \n
\n}\n\n\n\n\n\n", styles: [".mat-mdc-icon-button {\n -webkit-user-select: none;\n user-select: none;\n display: inline-block;\n position: relative;\n box-sizing: border-box;\n border: none;\n outline: none;\n background-color: transparent;\n fill: currentColor;\n text-decoration: none;\n cursor: pointer;\n z-index: 0;\n overflow: visible;\n border-radius: var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));\n flex-shrink: 0;\n text-align: center;\n width: var(--mat-icon-button-state-layer-size, 40px);\n height: var(--mat-icon-button-state-layer-size, 40px);\n padding: calc(calc(var(--mat-icon-button-state-layer-size, 40px) - var(--mat-icon-button-icon-size, 24px)) / 2);\n font-size: var(--mat-icon-button-icon-size, 24px);\n color: var(--mat-icon-button-icon-color, var(--mat-sys-on-surface-variant));\n -webkit-tap-highlight-color: transparent;\n}\n.mat-mdc-icon-button .mat-mdc-button-ripple,\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple,\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n pointer-events: none;\n border-radius: inherit;\n}\n.mat-mdc-icon-button .mat-mdc-button-ripple {\n overflow: hidden;\n}\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before {\n content: \"\";\n opacity: 0;\n}\n.mat-mdc-icon-button .mdc-button__label,\n.mat-mdc-icon-button .mat-icon {\n z-index: 1;\n position: relative;\n}\n.mat-mdc-icon-button .mat-focus-indicator {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n border-radius: inherit;\n}\n.mat-mdc-icon-button:focus-visible > .mat-focus-indicator::before {\n content: \"\";\n border-radius: inherit;\n}\n.mat-mdc-icon-button .mat-ripple-element {\n background-color: var(--mat-icon-button-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface-variant) calc(var(--mat-sys-pressed-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-icon-button-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-icon-button.mat-mdc-button-disabled .mat-mdc-button-persistent-ripple::before {\n background-color: var(--mat-icon-button-disabled-state-layer-color, var(--mat-sys-on-surface-variant));\n}\n.mat-mdc-icon-button:hover > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-icon-button-hover-state-layer-opacity, var(--mat-sys-hover-state-layer-opacity));\n}\n.mat-mdc-icon-button.cdk-program-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-icon-button.cdk-keyboard-focused > .mat-mdc-button-persistent-ripple::before, .mat-mdc-icon-button.mat-mdc-button-disabled-interactive:focus > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-icon-button-focus-state-layer-opacity, var(--mat-sys-focus-state-layer-opacity));\n}\n.mat-mdc-icon-button:active > .mat-mdc-button-persistent-ripple::before {\n opacity: var(--mat-icon-button-pressed-state-layer-opacity, var(--mat-sys-pressed-state-layer-opacity));\n}\n.mat-mdc-icon-button .mat-mdc-button-touch-target {\n position: absolute;\n top: 50%;\n height: var(--mat-icon-button-touch-target-size, 48px);\n display: var(--mat-icon-button-touch-target-display, block);\n left: 50%;\n width: var(--mat-icon-button-touch-target-size, 48px);\n transform: translate(-50%, -50%);\n}\n.mat-mdc-icon-button._mat-animation-noopable {\n transition: none !important;\n animation: none !important;\n}\n.mat-mdc-icon-button[disabled], .mat-mdc-icon-button.mat-mdc-button-disabled {\n cursor: default;\n pointer-events: none;\n color: var(--mat-icon-button-disabled-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-mdc-icon-button.mat-mdc-button-disabled-interactive {\n pointer-events: auto;\n}\n.mat-mdc-icon-button img,\n.mat-mdc-icon-button svg {\n width: var(--mat-icon-button-icon-size, 24px);\n height: var(--mat-icon-button-icon-size, 24px);\n vertical-align: baseline;\n}\n.mat-mdc-icon-button .mat-mdc-button-progress-indicator-container .mdc-circular-progress__determinate-circle-graphic {\n width: inherit;\n height: inherit;\n}\n.mat-mdc-icon-button .mat-mdc-button-progress-indicator-container .mdc-circular-progress__indeterminate-circle-graphic {\n height: 100%;\n}\n.mat-mdc-icon-button .mat-mdc-button-persistent-ripple {\n border-radius: var(--mat-icon-button-container-shape, var(--mat-sys-corner-full, 50%));\n}\n.mat-mdc-icon-button[hidden] {\n display: none;\n}\n.mat-mdc-icon-button.mat-unthemed:not(.mdc-ripple-upgraded):focus::before, .mat-mdc-icon-button.mat-primary:not(.mdc-ripple-upgraded):focus::before, .mat-mdc-icon-button.mat-accent:not(.mdc-ripple-upgraded):focus::before, .mat-mdc-icon-button.mat-warn:not(.mdc-ripple-upgraded):focus::before {\n background: transparent;\n opacity: 1;\n}\n\n.mat-mdc-button-progress-indicator-container {\n position: absolute;\n inset-inline-start: 0;\n inset-block-start: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n box-sizing: border-box;\n}\n\n.mat-mdc-button-progress-indicator-shown mat-icon {\n visibility: hidden;\n}\n", "@media (forced-colors: active) {\n .mat-mdc-button:not(.mdc-button--outlined),\n .mat-mdc-unelevated-button:not(.mdc-button--outlined),\n .mat-mdc-raised-button:not(.mdc-button--outlined),\n .mat-mdc-outlined-button:not(.mdc-button--outlined),\n .mat-mdc-button-base.mat-tonal-button,\n .mat-mdc-icon-button.mat-mdc-icon-button,\n .mat-mdc-outlined-button .mdc-button__ripple {\n outline: solid 1px;\n }\n}\n"] }] diff --git a/fesm2022/_icon-button-chunk.mjs.map b/fesm2022/_icon-button-chunk.mjs.map index c964077c9b..5bdb1a0df6 100755 --- a/fesm2022/_icon-button-chunk.mjs.map +++ b/fesm2022/_icon-button-chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"_icon-button-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/button/button-base.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/button/icon-button.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/button/icon-button.html"],"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 {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport {_animationsDisabled, _StructuralStylesLoader, MatRippleLoader, ThemePalette} from '../core';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\n\n/**\n * Possible appearances for a `MatButton`.\n * See https://m3.material.io/components/buttons/overview\n */\nexport type MatButtonAppearance = 'text' | 'filled' | 'elevated' | 'outlined' | 'tonal';\n\n/** Object that can be used to configure the default options for the button component. */\nexport interface MatButtonConfig {\n /** Whether disabled buttons should be interactive. */\n disabledInteractive?: boolean;\n\n /** Default palette color to apply to buttons. */\n color?: ThemePalette;\n\n /** Default appearance for plain buttons (not icon buttons or FABs). */\n defaultAppearance?: MatButtonAppearance;\n}\n\n/** Injection token that can be used to provide the default options the button component. */\nexport const MAT_BUTTON_CONFIG = new InjectionToken('MAT_BUTTON_CONFIG');\n\nfunction transformTabIndex(value: unknown): number | undefined {\n return value == null ? undefined : numberAttribute(value);\n}\n\n/** Base class for all buttons. */\n@Directive({\n host: {\n // Add a class that applies to all buttons. This makes it easier to target if somebody\n // wants to target all Material buttons.\n 'class': 'mat-mdc-button-base',\n '[class]': 'color ? \"mat-\" + color : \"\"',\n '[class.mat-mdc-button-progress-indicator-shown]': 'showProgress()',\n '[attr.disabled]': '_getDisabledAttribute()',\n '[attr.aria-disabled]': '_getAriaDisabled()',\n '[attr.tabindex]': '_getTabIndex()',\n '[class.mat-mdc-button-disabled]': 'disabled',\n '[class.mat-mdc-button-disabled-interactive]': 'disabledInteractive',\n '[class.mat-unthemed]': '!color',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n },\n})\nexport class MatButtonBase implements AfterViewInit, OnDestroy {\n _elementRef = inject>(ElementRef);\n protected _ngZone = inject(NgZone);\n protected _animationsDisabled = _animationsDisabled();\n\n protected readonly _config = inject(MAT_BUTTON_CONFIG, {optional: true});\n private readonly _focusMonitor = inject(FocusMonitor);\n private _cleanupClick: (() => void) | undefined;\n private _renderer = inject(Renderer2);\n\n /**\n * Handles the lazy creation of the MatButton ripple.\n * Used to improve initial load time of large applications.\n */\n protected _rippleLoader: MatRippleLoader = inject(MatRippleLoader);\n\n /** Whether the button is set on an anchor node. */\n protected _isAnchor: boolean;\n\n /** Whether this button is a FAB. Used to apply the correct class on the ripple. */\n protected _isFab = false;\n\n /**\n * Theme color of the button. This API is supported in M2 themes only, it has\n * no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/button/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?: string | null;\n\n /** Whether the ripple effect is disabled or not. */\n @Input({transform: booleanAttribute})\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(value: any) {\n this._disableRipple = value;\n this._updateRippleDisabled();\n }\n private _disableRipple: boolean = false;\n\n /** Whether the button is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = value;\n this._updateRippleDisabled();\n }\n private _disabled: boolean = false;\n\n /** `aria-disabled` value of the button. */\n @Input({transform: booleanAttribute, alias: 'aria-disabled'})\n ariaDisabled: boolean | undefined;\n\n /**\n * Natively disabled buttons prevent focus and any pointer events from reaching the button.\n * In some scenarios this might not be desirable, because it can prevent users from finding out\n * why the button is disabled (e.g. via tooltip). This is also useful for buttons that may\n * become disabled when activated, which would cause focus to be transferred to the document\n * body instead of remaining on the button.\n *\n * Enabling this input will change the button so that it is styled to be disabled and will be\n * marked as `aria-disabled`, but it will allow the button to receive events and focus.\n *\n * Note that by enabling this, you need to set the `tabindex` yourself if the button isn't\n * meant to be tabbable and you have to prevent the button action (e.g. form submissions).\n */\n @Input({transform: booleanAttribute})\n disabledInteractive: boolean;\n\n /** Tab index for the button. */\n @Input({transform: transformTabIndex})\n tabIndex!: number;\n\n /**\n * Backwards-compatibility input that handles pre-existing `[tabindex]` bindings.\n * @docs-private\n */\n @Input({alias: 'tabindex', transform: transformTabIndex})\n set _tabindex(value: number) {\n this.tabIndex = value;\n }\n\n /** Whether the button is showing a progress indicator. */\n readonly showProgress = input(false, {transform: booleanAttribute});\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const element = this._elementRef.nativeElement;\n\n this._isAnchor = element.tagName === 'A';\n this.disabledInteractive = this._config?.disabledInteractive ?? false;\n this.color = this._config?.color ?? null;\n this._rippleLoader?.configureRipple(element, {className: 'mat-mdc-button-ripple'});\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n\n // Some internal tests depend on the timing of this,\n // otherwise we could bind it in the constructor.\n if (this._isAnchor) {\n this._setupAsAnchor();\n }\n }\n\n ngOnDestroy() {\n this._cleanupClick?.();\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._rippleLoader?.destroyRipple(this._elementRef.nativeElement);\n }\n\n /** Focuses the button. */\n focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef.nativeElement, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n protected _getAriaDisabled() {\n if (this.ariaDisabled != null) {\n return this.ariaDisabled;\n }\n\n if (this._isAnchor) {\n return this.disabled || null;\n }\n\n return this.disabled && this.disabledInteractive ? true : null;\n }\n\n protected _getDisabledAttribute() {\n return this.disabledInteractive || !this.disabled ? null : true;\n }\n\n private _updateRippleDisabled(): void {\n this._rippleLoader?.setDisabled(\n this._elementRef.nativeElement,\n this.disableRipple || this.disabled,\n );\n }\n\n protected _getTabIndex() {\n if (this._isAnchor) {\n return this.disabled && !this.disabledInteractive ? -1 : this.tabIndex;\n }\n return this.tabIndex;\n }\n\n private _setupAsAnchor() {\n this._cleanupClick = this._ngZone.runOutsideAngular(() =>\n this._renderer.listen(this._elementRef.nativeElement, 'click', (event: Event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }),\n );\n }\n}\n\n// tslint:disable:variable-name\n/**\n * Anchor button base.\n */\nexport const MatAnchorBase = MatButtonBase;\nexport type MatAnchorBase = MatButtonBase;\n// tslint:enable:variable-name\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 {ChangeDetectionStrategy, Component, ViewEncapsulation} from '@angular/core';\nimport {MatButtonBase} from './button-base';\n\n/**\n * Material Design icon button component. This type of button displays a single interactive icon for\n * users to perform an action.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\n@Component({\n selector: `button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]`,\n templateUrl: 'icon-button.html',\n styleUrls: ['icon-button.css', 'button-high-contrast.css'],\n host: {\n 'class': 'mdc-icon-button mat-mdc-icon-button',\n },\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class MatIconButton extends MatButtonBase {\n constructor() {\n super();\n this._rippleLoader.configureRipple(this._elementRef.nativeElement, {centered: true});\n }\n}\n\n// tslint:disable:variable-name\n/**\n * Material Design icon button component for anchor elements. This button displays a single\n * interaction icon that allows users to navigate across different routes or pages.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\nexport const MatIconAnchor = MatIconButton;\nexport type MatIconAnchor = MatIconButton;\n// tslint:enable:variable-name\n","\n\n\n\n@if (showProgress()) {\n
\n \n
\n}\n\n\n\n\n\n"],"names":["MAT_BUTTON_CONFIG","InjectionToken","transformTabIndex","value","undefined","numberAttribute","MatButtonBase","_elementRef","inject","ElementRef","_ngZone","NgZone","_animationsDisabled","_config","optional","_focusMonitor","FocusMonitor","_cleanupClick","_renderer","Renderer2","_rippleLoader","MatRippleLoader","_isAnchor","_isFab","color","disableRipple","_disableRipple","_updateRippleDisabled","disabled","_disabled","ariaDisabled","disabledInteractive","tabIndex","_tabindex","showProgress","input","transform","booleanAttribute","constructor","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","element","nativeElement","tagName","configureRipple","className","ngAfterViewInit","monitor","_setupAsAnchor","ngOnDestroy","stopMonitoring","destroyRipple","focus","origin","options","focusVia","_getAriaDisabled","_getDisabledAttribute","setDisabled","_getTabIndex","runOutsideAngular","listen","event","preventDefault","stopImmediatePropagation","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","properties","classAttribute","ngImport","decorators","args","Input","alias","MatIconButton","centered","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","selector","exportAs","template","MatIconAnchor"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"_icon-button-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/button/button-base.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/button/icon-button.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/button/icon-button.html"],"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 {FocusMonitor, FocusOrigin} from '@angular/cdk/a11y';\nimport {\n AfterViewInit,\n booleanAttribute,\n Directive,\n ElementRef,\n inject,\n InjectionToken,\n input,\n Input,\n NgZone,\n numberAttribute,\n OnDestroy,\n Renderer2,\n} from '@angular/core';\nimport {_animationsDisabled, _StructuralStylesLoader, MatRippleLoader, ThemePalette} from '../core';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\n\n/**\n * Possible appearances for a `MatButton`.\n * See https://m3.material.io/components/buttons/overview\n */\nexport type MatButtonAppearance = 'text' | 'filled' | 'elevated' | 'outlined' | 'tonal';\n\n/** Object that can be used to configure the default options for the button component. */\nexport interface MatButtonConfig {\n /** Whether disabled buttons should be interactive. */\n disabledInteractive?: boolean;\n\n /** Default palette color to apply to buttons. */\n color?: ThemePalette;\n\n /** Default appearance for plain buttons (not icon buttons or FABs). */\n defaultAppearance?: MatButtonAppearance;\n}\n\n/** Injection token that can be used to provide the default options the button component. */\nexport const MAT_BUTTON_CONFIG = new InjectionToken('MAT_BUTTON_CONFIG');\n\nfunction transformTabIndex(value: unknown): number | undefined {\n return value == null ? undefined : numberAttribute(value);\n}\n\n/** Base class for all buttons. */\n@Directive({\n host: {\n // Add a class that applies to all buttons. This makes it easier to target if somebody\n // wants to target all Material buttons.\n 'class': 'mat-mdc-button-base',\n '[class]': 'color ? \"mat-\" + color : \"\"',\n '[class.mat-mdc-button-progress-indicator-shown]': 'showProgress()',\n '[attr.disabled]': '_getDisabledAttribute()',\n '[attr.aria-disabled]': '_getAriaDisabled()',\n '[attr.tabindex]': '_getTabIndex()',\n '[class.mat-mdc-button-disabled]': 'disabled',\n '[class.mat-mdc-button-disabled-interactive]': 'disabledInteractive',\n '[class.mat-unthemed]': '!color',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n },\n})\nexport class MatButtonBase implements AfterViewInit, OnDestroy {\n _elementRef = inject>(ElementRef);\n protected _ngZone = inject(NgZone);\n protected _animationsDisabled = _animationsDisabled();\n\n protected readonly _config = inject(MAT_BUTTON_CONFIG, {optional: true});\n private readonly _focusMonitor = inject(FocusMonitor);\n private _cleanupClick: (() => void) | undefined;\n private _renderer = inject(Renderer2);\n\n /**\n * Handles the lazy creation of the MatButton ripple.\n * Used to improve initial load time of large applications.\n */\n protected _rippleLoader: MatRippleLoader = inject(MatRippleLoader);\n\n /** Whether the button is set on an anchor node. */\n protected _isAnchor: boolean;\n\n /** Whether this button is a FAB. Used to apply the correct class on the ripple. */\n protected _isFab = false;\n\n /**\n * Theme color of the button. This API is supported in M2 themes only, it has\n * no effect in M3 themes. For color customization in M3, see https://material.angular.dev/components/button/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?: string | null;\n\n /** Whether the ripple effect is disabled or not. */\n @Input({transform: booleanAttribute})\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(value: any) {\n this._disableRipple = value;\n this._updateRippleDisabled();\n }\n private _disableRipple: boolean = false;\n\n /** Whether the button is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(value: any) {\n this._disabled = value;\n this._updateRippleDisabled();\n }\n private _disabled: boolean = false;\n\n /** `aria-disabled` value of the button. */\n @Input({transform: booleanAttribute, alias: 'aria-disabled'})\n ariaDisabled: boolean | undefined;\n\n /**\n * Natively disabled buttons prevent focus and any pointer events from reaching the button.\n * In some scenarios this might not be desirable, because it can prevent users from finding out\n * why the button is disabled (e.g. via tooltip). This is also useful for buttons that may\n * become disabled when activated, which would cause focus to be transferred to the document\n * body instead of remaining on the button.\n *\n * Enabling this input will change the button so that it is styled to be disabled and will be\n * marked as `aria-disabled`, but it will allow the button to receive events and focus.\n *\n * Note that by enabling this, you need to set the `tabindex` yourself if the button isn't\n * meant to be tabbable and you have to prevent the button action (e.g. form submissions).\n */\n @Input({transform: booleanAttribute})\n disabledInteractive: boolean;\n\n /** Tab index for the button. */\n @Input({transform: transformTabIndex})\n tabIndex!: number;\n\n /**\n * Backwards-compatibility input that handles pre-existing `[tabindex]` bindings.\n * @docs-private\n */\n @Input({alias: 'tabindex', transform: transformTabIndex})\n set _tabindex(value: number) {\n this.tabIndex = value;\n }\n\n /** Whether the button is showing a progress indicator. */\n readonly showProgress = input(false, {transform: booleanAttribute});\n\n constructor() {\n inject(_CdkPrivateStyleLoader).load(_StructuralStylesLoader);\n const element = this._elementRef.nativeElement;\n\n this._isAnchor = element.tagName === 'A';\n this.disabledInteractive = this._config?.disabledInteractive ?? false;\n this.color = this._config?.color ?? null;\n this._rippleLoader?.configureRipple(element, {className: 'mat-mdc-button-ripple'});\n }\n\n ngAfterViewInit() {\n this._focusMonitor.monitor(this._elementRef, true);\n\n // Some internal tests depend on the timing of this,\n // otherwise we could bind it in the constructor.\n if (this._isAnchor) {\n this._setupAsAnchor();\n }\n }\n\n ngOnDestroy() {\n this._cleanupClick?.();\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._rippleLoader?.destroyRipple(this._elementRef.nativeElement);\n }\n\n /** Focuses the button. */\n focus(origin: FocusOrigin = 'program', options?: FocusOptions): void {\n if (origin) {\n this._focusMonitor.focusVia(this._elementRef.nativeElement, origin, options);\n } else {\n this._elementRef.nativeElement.focus(options);\n }\n }\n\n protected _getAriaDisabled() {\n if (this.ariaDisabled != null) {\n return this.ariaDisabled;\n }\n\n if (this._isAnchor) {\n return this.disabled || null;\n }\n\n return this.disabled && this.disabledInteractive ? true : null;\n }\n\n protected _getDisabledAttribute() {\n return this.disabledInteractive || !this.disabled ? null : true;\n }\n\n private _updateRippleDisabled(): void {\n this._rippleLoader?.setDisabled(\n this._elementRef.nativeElement,\n this.disableRipple || this.disabled,\n );\n }\n\n protected _getTabIndex() {\n if (this._isAnchor) {\n return this.disabled && !this.disabledInteractive ? -1 : this.tabIndex;\n }\n return this.tabIndex;\n }\n\n private _setupAsAnchor() {\n this._cleanupClick = this._ngZone.runOutsideAngular(() =>\n this._renderer.listen(this._elementRef.nativeElement, 'click', (event: Event) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n }\n }),\n );\n }\n}\n\n// tslint:disable:variable-name\n/**\n * Anchor button base.\n */\nexport const MatAnchorBase = MatButtonBase;\nexport type MatAnchorBase = MatButtonBase;\n// tslint:enable:variable-name\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 {Component, ViewEncapsulation} from '@angular/core';\nimport {MatButtonBase} from './button-base';\n\n/**\n * Material Design icon button component. This type of button displays a single interactive icon for\n * users to perform an action.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\n@Component({\n selector: `button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]`,\n templateUrl: 'icon-button.html',\n styleUrls: ['icon-button.css', 'button-high-contrast.css'],\n host: {\n 'class': 'mdc-icon-button mat-mdc-icon-button',\n },\n exportAs: 'matButton, matAnchor',\n encapsulation: ViewEncapsulation.None,\n})\nexport class MatIconButton extends MatButtonBase {\n constructor() {\n super();\n this._rippleLoader.configureRipple(this._elementRef.nativeElement, {centered: true});\n }\n}\n\n// tslint:disable:variable-name\n/**\n * Material Design icon button component for anchor elements. This button displays a single\n * interaction icon that allows users to navigate across different routes or pages.\n * See https://material.io/develop/web/components/buttons/icon-buttons/\n */\nexport const MatIconAnchor = MatIconButton;\nexport type MatIconAnchor = MatIconButton;\n// tslint:enable:variable-name\n","\n\n\n\n@if (showProgress()) {\n
\n \n
\n}\n\n\n\n\n\n"],"names":["MAT_BUTTON_CONFIG","InjectionToken","transformTabIndex","value","undefined","numberAttribute","MatButtonBase","_elementRef","inject","ElementRef","_ngZone","NgZone","_animationsDisabled","_config","optional","_focusMonitor","FocusMonitor","_cleanupClick","_renderer","Renderer2","_rippleLoader","MatRippleLoader","_isAnchor","_isFab","color","disableRipple","_disableRipple","_updateRippleDisabled","disabled","_disabled","ariaDisabled","disabledInteractive","tabIndex","_tabindex","showProgress","input","transform","booleanAttribute","constructor","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","element","nativeElement","tagName","configureRipple","className","ngAfterViewInit","monitor","_setupAsAnchor","ngOnDestroy","stopMonitoring","destroyRipple","focus","origin","options","focusVia","_getAriaDisabled","_getDisabledAttribute","setDisabled","_getTabIndex","runOutsideAngular","listen","event","preventDefault","stopImmediatePropagation","deps","target","i0","ɵɵFactoryTarget","Directive","isStandalone","inputs","classPropertyName","publicName","isSignal","isRequired","transformFunction","host","properties","classAttribute","ngImport","decorators","args","Input","alias","MatIconButton","centered","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","styles","encapsulation","ViewEncapsulation","None","selector","exportAs","template","MatIconAnchor"],"mappings":"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"} \ No newline at end of file diff --git a/fesm2022/_internal-form-field-chunk.mjs b/fesm2022/_internal-form-field-chunk.mjs index b6768fbcb6..f003245ad1 100755 --- a/fesm2022/_internal-form-field-chunk.mjs +++ b/fesm2022/_internal-form-field-chunk.mjs @@ -1,5 +1,5 @@ import * as i0 from '@angular/core'; -import { Input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core'; +import { Input, ViewEncapsulation, Component } from '@angular/core'; class _MatInternalFormField { labelPosition = 'after'; @@ -30,7 +30,6 @@ class _MatInternalFormField { template: '', isInline: true, styles: [".mat-internal-form-field {\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: inline-flex;\n align-items: center;\n vertical-align: middle;\n}\n.mat-internal-form-field > label {\n margin-left: 0;\n margin-right: auto;\n padding-left: 4px;\n padding-right: 0;\n order: 0;\n}\n[dir=rtl] .mat-internal-form-field > label {\n margin-left: auto;\n margin-right: 0;\n padding-left: 0;\n padding-right: 4px;\n}\n\n.mdc-form-field--align-end > label {\n margin-left: auto;\n margin-right: 0;\n padding-left: 0;\n padding-right: 4px;\n order: -1;\n}\n[dir=rtl] .mdc-form-field--align-end .mdc-form-field--align-end label {\n margin-left: 0;\n margin-right: auto;\n padding-left: 4px;\n padding-right: 0;\n}\n"], - changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } @@ -45,7 +44,6 @@ i0.ɵɵngDeclareClassMetadata({ selector: 'div[mat-internal-form-field]', template: '', encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'mdc-form-field mat-internal-form-field', '[class.mdc-form-field--align-end]': 'labelPosition === "before"' diff --git a/fesm2022/_internal-form-field-chunk.mjs.map b/fesm2022/_internal-form-field-chunk.mjs.map index 0d6ac3f5a7..8818ba9075 100755 --- a/fesm2022/_internal-form-field-chunk.mjs.map +++ b/fesm2022/_internal-form-field-chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"_internal-form-field-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/internal-form-field/internal-form-field.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {ChangeDetectionStrategy, Component, Input, ViewEncapsulation} from '@angular/core';\n\n/**\n * Internal shared component used as a container in form field controls.\n * Not to be confused with `mat-form-field` which MDC calls a \"text field\".\n * @docs-private\n */\n@Component({\n // Use a `div` selector to match the old markup closer.\n selector: 'div[mat-internal-form-field]',\n template: '',\n styleUrl: 'internal-form-field.css',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n 'class': 'mdc-form-field mat-internal-form-field',\n '[class.mdc-form-field--align-end]': 'labelPosition === \"before\"',\n },\n})\nexport class _MatInternalFormField {\n /** Position of the label relative to the content. */\n @Input({required: true}) labelPosition: 'before' | 'after' = 'after';\n}\n"],"names":["_MatInternalFormField","labelPosition","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","template","host","Input","required"],"mappings":";;;MA2BaA,qBAAqB,CAAA;AAEPC,EAAAA,aAAa,GAAuB,OAAO;;;;;UAFzDD,qBAAqB;AAAAE,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAArB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,gBAAA;AAAAC,IAAAA,IAAA,EAAAX,qBAAqB;;;;;;;;;;;;;cATtB,2BAA2B;AAAAY,IAAAA,QAAA,EAAA,IAAA;IAAAC,MAAA,EAAA,CAAA,0vBAAA,CAAA;AAAAC,IAAAA,eAAA,EAAAV,EAAA,CAAAW,uBAAA,CAAAC,MAAA;AAAAC,IAAAA,aAAA,EAAAb,EAAA,CAAAc,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAS1BnB,qBAAqB;AAAAoB,EAAAA,UAAA,EAAA,CAAA;UAZjCd,SAAS;;gBAEE,8BAA8B;AAAAe,MAAAA,QAAA,EAC9B,2BAA2B;MAAAJ,aAAA,EAEtBC,iBAAiB,CAACC,IAAI;MAAAL,eAAA,EACpBC,uBAAuB,CAACC,MAAM;AAAAM,MAAAA,IAAA,EACzC;AACJ,QAAA,OAAO,EAAE,wCAAwC;AACjD,QAAA,mCAAmC,EAAE;OACtC;MAAAT,MAAA,EAAA,CAAA,0vBAAA;KAAA;;;;YAIAU,KAAK;aAAC;AAACC,QAAAA,QAAQ,EAAE;OAAK;;;;;;;"} \ No newline at end of file +{"version":3,"file":"_internal-form-field-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/internal-form-field/internal-form-field.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 {Component, Input, ViewEncapsulation} from '@angular/core';\n\n/**\n * Internal shared component used as a container in form field controls.\n * Not to be confused with `mat-form-field` which MDC calls a \"text field\".\n * @docs-private\n */\n@Component({\n // Use a `div` selector to match the old markup closer.\n selector: 'div[mat-internal-form-field]',\n template: '',\n styleUrl: 'internal-form-field.css',\n encapsulation: ViewEncapsulation.None,\n host: {\n 'class': 'mdc-form-field mat-internal-form-field',\n '[class.mdc-form-field--align-end]': 'labelPosition === \"before\"',\n },\n})\nexport class _MatInternalFormField {\n /** Position of the label relative to the content. */\n @Input({required: true}) labelPosition: 'before' | 'after' = 'after';\n}\n"],"names":["_MatInternalFormField","labelPosition","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","encapsulation","ViewEncapsulation","None","decorators","args","selector","host","Input","required"],"mappings":";;;MA0BaA,qBAAqB,CAAA;AAEPC,EAAAA,aAAa,GAAuB,OAAO;;;;;UAFzDD,qBAAqB;AAAAE,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAArB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,gBAAA;AAAAC,IAAAA,IAAA,EAAAX,qBAAqB;;;;;;;;;;;;;cARtB,2BAA2B;AAAAY,IAAAA,QAAA,EAAA,IAAA;IAAAC,MAAA,EAAA,CAAA,0vBAAA,CAAA;AAAAC,IAAAA,aAAA,EAAAV,EAAA,CAAAW,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAQ1BhB,qBAAqB;AAAAiB,EAAAA,UAAA,EAAA,CAAA;UAXjCX,SAAS;AAEEY,IAAAA,IAAA,EAAA,CAAA;AAAAC,MAAAA,QAAA,EAAA,8BAA8B;gBAC9B,2BAA2B;MAAAL,aAAA,EAEtBC,iBAAiB,CAACC,IAAI;AAAAI,MAAAA,IAAA,EAC/B;AACJ,QAAA,OAAO,EAAE,wCAAwC;AACjD,QAAA,mCAAmC,EAAE;OACtC;MAAAP,MAAA,EAAA,CAAA,0vBAAA;KAAA;;;;YAIAQ,KAAK;aAAC;AAACC,QAAAA,QAAQ,EAAE;OAAK;;;;;;;"} \ No newline at end of file diff --git a/fesm2022/_option-chunk.mjs b/fesm2022/_option-chunk.mjs index 1eea67d85f..73076b7d1a 100755 --- a/fesm2022/_option-chunk.mjs +++ b/fesm2022/_option-chunk.mjs @@ -1,7 +1,7 @@ import { _IdGenerator } from '@angular/cdk/a11y'; import { ENTER, SPACE, hasModifierKey } from '@angular/cdk/keycodes'; import * as i0 from '@angular/core'; -import { InjectionToken, inject, booleanAttribute, Input, ChangeDetectionStrategy, ViewEncapsulation, Component, ElementRef, ChangeDetectorRef, signal, EventEmitter, isSignal, ViewChild, Output } from '@angular/core'; +import { InjectionToken, inject, booleanAttribute, Input, ViewEncapsulation, Component, ElementRef, ChangeDetectorRef, signal, EventEmitter, isSignal, ViewChild, Output } from '@angular/core'; import { Subject } from 'rxjs'; import { MatRipple } from './_ripple-chunk.mjs'; import { MatPseudoCheckbox } from './_pseudo-checkbox-chunk.mjs'; @@ -56,7 +56,6 @@ class MatOptgroup { ngImport: i0, template: "\n {{ label }} \n\n\n\n", styles: [".mat-mdc-optgroup {\n color: var(--mat-optgroup-label-text-color, var(--mat-sys-on-surface-variant));\n font-family: var(--mat-optgroup-label-text-font, var(--mat-sys-title-small-font));\n line-height: var(--mat-optgroup-label-text-line-height, var(--mat-sys-title-small-line-height));\n font-size: var(--mat-optgroup-label-text-size, var(--mat-sys-title-small-size));\n letter-spacing: var(--mat-optgroup-label-text-tracking, var(--mat-sys-title-small-tracking));\n font-weight: var(--mat-optgroup-label-text-weight, var(--mat-sys-title-small-weight));\n}\n\n.mat-mdc-optgroup-label {\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n overflow: hidden;\n min-height: 48px;\n padding: 0 16px;\n outline: none;\n}\n.mat-mdc-optgroup-label.mdc-list-item--disabled {\n opacity: 0.38;\n}\n.mat-mdc-optgroup-label .mdc-list-item__primary-text {\n font-size: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n font-family: inherit;\n text-decoration: inherit;\n text-transform: inherit;\n white-space: normal;\n color: inherit;\n}\n"], - changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } @@ -71,7 +70,6 @@ i0.ɵɵngDeclareClassMetadata({ selector: 'mat-optgroup', exportAs: 'matOptgroup', encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, host: { 'class': 'mat-mdc-optgroup', '[attr.role]': '_inert ? null : "group"', @@ -298,7 +296,6 @@ class MatOption { inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], - changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } @@ -326,7 +323,6 @@ i0.ɵɵngDeclareClassMetadata({ 'class': 'mat-mdc-option mdc-list-item' }, encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatPseudoCheckbox, MatRipple], template: "\n@if (multiple) {\n \n}\n\n\n\n\n\n\n@if (!multiple && selected && !hideSingleSelectionIndicator) {\n \n}\n\n\n@if (group && group._inert) {\n ({{ group.label }})\n}\n\n
\n
\n", styles: [".mat-mdc-option {\n -webkit-user-select: none;\n user-select: none;\n -moz-osx-font-smoothing: grayscale;\n -webkit-font-smoothing: antialiased;\n display: flex;\n position: relative;\n align-items: center;\n justify-content: flex-start;\n overflow: hidden;\n min-height: 48px;\n padding: 0 16px;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n color: var(--mat-option-label-text-color, var(--mat-sys-on-surface));\n font-family: var(--mat-option-label-text-font, var(--mat-sys-label-large-font));\n line-height: var(--mat-option-label-text-line-height, var(--mat-sys-label-large-line-height));\n font-size: var(--mat-option-label-text-size, var(--mat-sys-body-large-size));\n letter-spacing: var(--mat-option-label-text-tracking, var(--mat-sys-label-large-tracking));\n font-weight: var(--mat-option-label-text-weight, var(--mat-sys-body-large-weight));\n}\n.mat-mdc-option:hover:not(.mdc-list-item--disabled) {\n background-color: var(--mat-option-hover-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-hover-state-layer-opacity) * 100%), transparent));\n}\n.mat-mdc-option:focus.mdc-list-item, .mat-mdc-option.mat-mdc-option-active.mdc-list-item {\n background-color: var(--mat-option-focus-state-layer-color, color-mix(in srgb, var(--mat-sys-on-surface) calc(var(--mat-sys-focus-state-layer-opacity) * 100%), transparent));\n outline: 0;\n}\n.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active, .mat-mdc-option-multiple, :focus, :hover) {\n background-color: var(--mat-option-selected-state-layer-color, var(--mat-sys-secondary-container));\n}\n.mat-mdc-option.mdc-list-item--selected:not(.mdc-list-item--disabled):not(.mat-mdc-option-active, .mat-mdc-option-multiple, :focus, :hover) .mdc-list-item__primary-text {\n color: var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container));\n}\n.mat-mdc-option .mat-pseudo-checkbox {\n --mat-pseudo-checkbox-minimal-selected-checkmark-color: var(--mat-option-selected-state-label-text-color, var(--mat-sys-on-secondary-container));\n}\n.mat-mdc-option.mdc-list-item {\n align-items: center;\n background: transparent;\n}\n.mat-mdc-option.mdc-list-item--disabled {\n cursor: default;\n pointer-events: none;\n}\n.mat-mdc-option.mdc-list-item--disabled .mat-mdc-option-pseudo-checkbox, .mat-mdc-option.mdc-list-item--disabled .mdc-list-item__primary-text, .mat-mdc-option.mdc-list-item--disabled > mat-icon {\n opacity: 0.38;\n}\n.mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple) {\n padding-left: 32px;\n}\n[dir=rtl] .mat-mdc-optgroup .mat-mdc-option:not(.mat-mdc-option-multiple) {\n padding-left: 16px;\n padding-right: 32px;\n}\n.mat-mdc-option .mat-icon,\n.mat-mdc-option .mat-pseudo-checkbox-full {\n margin-right: 16px;\n flex-shrink: 0;\n}\n[dir=rtl] .mat-mdc-option .mat-icon,\n[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-full {\n margin-right: 0;\n margin-left: 16px;\n}\n.mat-mdc-option .mat-pseudo-checkbox-minimal {\n margin-left: 16px;\n flex-shrink: 0;\n}\n[dir=rtl] .mat-mdc-option .mat-pseudo-checkbox-minimal {\n margin-right: 16px;\n margin-left: 0;\n}\n.mat-mdc-option .mat-mdc-option-ripple {\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n position: absolute;\n pointer-events: none;\n}\n.mat-mdc-option .mdc-list-item__primary-text {\n white-space: normal;\n font-size: inherit;\n font-weight: inherit;\n letter-spacing: inherit;\n line-height: inherit;\n font-family: inherit;\n text-decoration: inherit;\n text-transform: inherit;\n margin-right: auto;\n}\n[dir=rtl] .mat-mdc-option .mdc-list-item__primary-text {\n margin-right: 0;\n margin-left: auto;\n}\n@media (forced-colors: active) {\n .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after {\n content: \"\";\n position: absolute;\n top: 50%;\n right: 16px;\n transform: translateY(-50%);\n width: 10px;\n height: 0;\n border-bottom: solid 10px;\n border-radius: 10px;\n }\n [dir=rtl] .mat-mdc-option.mdc-list-item--selected:not(:has(.mat-mdc-option-pseudo-checkbox))::after {\n right: auto;\n left: 16px;\n }\n}\n\n.mat-mdc-option-multiple {\n --mat-list-list-item-selected-container-color: var(--mat-list-list-item-container-color, transparent);\n}\n\n.mat-mdc-option-active .mat-focus-indicator::before {\n content: \"\";\n}\n"] diff --git a/fesm2022/_option-chunk.mjs.map b/fesm2022/_option-chunk.mjs.map index c208fadeab..f220099ae1 100755 --- a/fesm2022/_option-chunk.mjs.map +++ b/fesm2022/_option-chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"_option-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option-parent.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/optgroup.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/optgroup.html","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option.html"],"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 {InjectionToken, Signal} from '@angular/core';\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\nexport interface MatOptionParentComponent {\n disableRipple?: boolean | Signal;\n multiple?: boolean;\n inertGroups?: boolean;\n hideSingleSelectionIndicator?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MAT_OPTION_PARENT_COMPONENT = new InjectionToken(\n 'MAT_OPTION_PARENT_COMPONENT',\n);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n Input,\n InjectionToken,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MatOptionParentComponent, MAT_OPTION_PARENT_COMPONENT} from './option-parent';\n\n// Notes on the accessibility pattern used for `mat-optgroup`.\n// The option group has two different \"modes\": regular and inert. The regular mode uses the\n// recommended a11y pattern which has `role=\"group\"` on the group element with `aria-labelledby`\n// pointing to the label. This works for `mat-select`, but it seems to hit a bug for autocomplete\n// under VoiceOver where the group doesn't get read out at all. The bug appears to be that if\n// there's __any__ a11y-related attribute on the group (e.g. `role` or `aria-labelledby`),\n// VoiceOver on Safari won't read it out.\n// We've introduced the `inert` mode as a workaround. Under this mode, all a11y attributes are\n// removed from the group, and we get the screen reader to read out the group label by mirroring it\n// inside an invisible element in the option. This is sub-optimal, because the screen reader will\n// repeat the group label on each navigation, whereas the default pattern only reads the group when\n// the user enters a new group. The following alternate approaches were considered:\n// 1. Reading out the group label using the `LiveAnnouncer` solves the problem, but we can't control\n// when the text will be read out so sometimes it comes in too late or never if the user\n// navigates quickly.\n// 2. `('MatOptgroup');\n\n/**\n * Component that is used to group instances of `mat-option`.\n */\n@Component({\n selector: 'mat-optgroup',\n exportAs: 'matOptgroup',\n templateUrl: 'optgroup.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n styleUrl: 'optgroup.css',\n host: {\n 'class': 'mat-mdc-optgroup',\n '[attr.role]': '_inert ? null : \"group\"',\n '[attr.aria-disabled]': '_inert ? null : disabled.toString()',\n '[attr.aria-labelledby]': '_inert ? null : _labelId',\n },\n providers: [{provide: MAT_OPTGROUP, useExisting: MatOptgroup}],\n})\nexport class MatOptgroup {\n /** Label for the option group. */\n @Input() label!: string;\n\n /** whether the option group is disabled. */\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n /** Unique id for the underlying label. */\n _labelId: string = inject(_IdGenerator).getId('mat-optgroup-label-');\n\n /** Whether the group is in inert a11y mode. */\n _inert: boolean;\n\n constructor() {\n const parent = inject(MAT_OPTION_PARENT_COMPONENT, {optional: true});\n this._inert = parent?.inertGroups ?? false;\n }\n}\n","\n {{ label }} \n\n\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {_IdGenerator, FocusableOption, FocusOrigin} from '@angular/cdk/a11y';\nimport {ENTER, hasModifierKey, SPACE} from '@angular/cdk/keycodes';\nimport {\n Component,\n ViewEncapsulation,\n ChangeDetectionStrategy,\n ElementRef,\n ChangeDetectorRef,\n AfterViewChecked,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n QueryList,\n ViewChild,\n booleanAttribute,\n inject,\n isSignal,\n Signal,\n signal,\n} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {MAT_OPTGROUP, MatOptgroup} from './optgroup';\nimport {MatOptionParentComponent, MAT_OPTION_PARENT_COMPONENT} from './option-parent';\nimport {MatRipple} from '../ripple/ripple';\nimport {MatPseudoCheckbox} from '../selection/pseudo-checkbox/pseudo-checkbox';\nimport {_StructuralStylesLoader} from '../focus-indicators/structural-styles';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n/** Event object emitted by MatOption when selected or deselected. */\nexport class MatOptionSelectionChange {\n constructor(\n /** Reference to the option that emitted the event. */\n public source: MatOption,\n /** Whether the change in the option's value was a result of a user action. */\n public isUserInput = false,\n ) {}\n}\n\n/**\n * Single option inside of a `` element.\n */\n@Component({\n selector: 'mat-option',\n exportAs: 'matOption',\n host: {\n 'role': 'option',\n '[class.mdc-list-item--selected]': 'selected',\n '[class.mat-mdc-option-multiple]': 'multiple',\n '[class.mat-mdc-option-active]': 'active',\n '[class.mdc-list-item--disabled]': 'disabled',\n '[id]': 'id',\n // Set aria-selected to false for non-selected items and true for selected items. Conform to\n // [WAI ARIA Listbox authoring practices guide](\n // https://www.w3.org/WAI/ARIA/apg/patterns/listbox/), \"If any options are selected, each\n // selected option has either aria-selected or aria-checked set to true. All options that are\n // selectable but not selected have either aria-selected or aria-checked set to false.\" Align\n // aria-selected implementation of Chips and List components.\n //\n // Set `aria-selected=\"false\"` on not-selected listbox options to fix VoiceOver announcing\n // every option as \"selected\" (#21491).\n '[attr.aria-selected]': 'selected',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_selectViaInteraction()',\n '(keydown)': '_handleKeydown($event)',\n 'class': 'mat-mdc-option mdc-list-item',\n },\n styleUrl: 'option.css',\n templateUrl: 'option.html',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [MatPseudoCheckbox, MatRipple],\n})\nexport class MatOption implements FocusableOption, AfterViewChecked, OnDestroy {\n private _element = inject>(ElementRef);\n _changeDetectorRef = inject(ChangeDetectorRef);\n private _parent = inject(MAT_OPTION_PARENT_COMPONENT, {optional: true});\n group = inject(MAT_OPTGROUP, {optional: true});\n\n private _signalDisableRipple = false;\n private _selected = false;\n private _active = false;\n private _mostRecentViewValue = '';\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this._parent && this._parent.multiple;\n }\n\n /** Whether or not the option is currently selected. */\n get selected(): boolean {\n return this._selected;\n }\n\n /** The form value of the option. */\n @Input() value!: T;\n\n /** The unique ID of the option. */\n @Input() id: string = inject(_IdGenerator).getId('mat-option-');\n\n /** Whether the option is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return (this.group && this.group.disabled) || this._disabled();\n }\n set disabled(value: boolean) {\n this._disabled.set(value);\n }\n private _disabled = signal(false);\n\n /** Whether ripples for the option are disabled. */\n get disableRipple(): boolean {\n return this._signalDisableRipple\n ? (this._parent!.disableRipple as Signal)()\n : !!this._parent?.disableRipple;\n }\n\n /** Whether to display checkmark for single-selection. */\n get hideSingleSelectionIndicator(): boolean {\n return !!(this._parent && this._parent.hideSingleSelectionIndicator);\n }\n\n /** Event emitted when the option is selected or deselected. */\n // tslint:disable-next-line:no-output-on-prefix\n @Output() readonly onSelectionChange = new EventEmitter>();\n\n /** Element containing the option's text. */\n @ViewChild('text', {static: true}) _text: ElementRef | undefined;\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly _stateChanges = new Subject();\n\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_StructuralStylesLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n this._signalDisableRipple = !!this._parent && isSignal(this._parent.disableRipple);\n }\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n // TODO(kara): Add input property alternative for node envs.\n return (this._text?.nativeElement.textContent || '').trim();\n }\n\n /** Selects the option. */\n select(emitEvent = true): void {\n if (!this._selected) {\n this._selected = true;\n this._changeDetectorRef.markForCheck();\n\n if (emitEvent) {\n this._emitSelectionChangeEvent();\n }\n }\n }\n\n /** Deselects the option. */\n deselect(emitEvent = true): void {\n if (this._selected) {\n this._selected = false;\n this._changeDetectorRef.markForCheck();\n\n if (emitEvent) {\n this._emitSelectionChangeEvent();\n }\n }\n }\n\n /** Sets focus onto this option. */\n focus(_origin?: FocusOrigin, options?: FocusOptions): void {\n // Note that we aren't using `_origin`, but we need to keep it because some internal consumers\n // use `MatOption` in a `FocusKeyManager` and we need it to match `FocusableOption`.\n const element = this._getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus(options);\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n _handleKeydown(event: KeyboardEvent): void {\n if ((event.keyCode === ENTER || event.keyCode === SPACE) && !hasModifierKey(event)) {\n this._selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n _selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n this._changeDetectorRef.markForCheck();\n this._emitSelectionChangeEvent(true);\n }\n }\n\n /** Returns the correct tabindex for the option depending on disabled state. */\n // This method is only used by `MatLegacyOption`. Keeping it here to avoid breaking the types.\n // That's because `MatLegacyOption` use `MatOption` type in a few places such as\n // `MatOptionSelectionChange`. It is safe to delete this when `MatLegacyOption` is deleted.\n _getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n /** Gets the host DOM element. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `mat-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this._mostRecentViewValue) {\n if (this._mostRecentViewValue) {\n this._stateChanges.next();\n }\n\n this._mostRecentViewValue = viewValue;\n }\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n\n /** Emits the selection change event. */\n private _emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function _countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList,\n optionGroups: QueryList,\n): number {\n if (optionGroups.length) {\n let optionsArray = options.toArray();\n let groups = optionGroups.toArray();\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionOffset Offset of the option from the top of the panel.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function _getOptionScrollPosition(\n optionOffset: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number,\n): number {\n if (optionOffset < currentScrollPosition) {\n return optionOffset;\n }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n","\n@if (multiple) {\n \n}\n\n\n\n\n\n\n@if (!multiple && selected && !hideSingleSelectionIndicator) {\n \n}\n\n\n@if (group && group._inert) {\n ({{ group.label }})\n}\n\n
\n
\n"],"names":["MAT_OPTION_PARENT_COMPONENT","InjectionToken","MAT_OPTGROUP","MatOptgroup","label","disabled","_labelId","inject","_IdGenerator","getId","_inert","constructor","parent","optional","inertGroups","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isStandalone","selector","inputs","booleanAttribute","host","properties","classAttribute","providers","provide","useExisting","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","exportAs","template","Input","transform","MatOptionSelectionChange","source","isUserInput","MatOption","_element","ElementRef","_changeDetectorRef","ChangeDetectorRef","_parent","group","_signalDisableRipple","_selected","_active","_mostRecentViewValue","multiple","selected","value","id","_disabled","set","signal","disableRipple","hideSingleSelectionIndicator","onSelectionChange","EventEmitter","_text","_stateChanges","Subject","styleLoader","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","_VisuallyHiddenLoader","isSignal","active","viewValue","nativeElement","textContent","trim","select","emitEvent","markForCheck","_emitSelectionChangeEvent","deselect","focus","_origin","options","element","_getHostElement","setActiveStyles","setInactiveStyles","getLabel","_handleKeydown","event","keyCode","ENTER","SPACE","hasModifierKey","_selectViaInteraction","preventDefault","_getTabIndex","ngAfterViewChecked","next","ngOnDestroy","complete","emit","outputs","attributes","listeners","viewQueries","propertyName","first","predicate","descendants","static","ngImport","dependencies","kind","MatPseudoCheckbox","MatRipple","imports","Output","ViewChild","args","_countGroupLabelsBeforeOption","optionIndex","optionGroups","length","optionsArray","toArray","groups","groupCounter","i","_getOptionScrollPosition","optionOffset","optionHeight","currentScrollPosition","panelHeight","Math","max"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"_option-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option-parent.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/optgroup.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/optgroup.html","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/option/option.html"],"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 {InjectionToken, Signal} from '@angular/core';\n\n/**\n * Describes a parent component that manages a list of options.\n * Contains properties that the options can inherit.\n * @docs-private\n */\nexport interface MatOptionParentComponent {\n disableRipple?: boolean | Signal;\n multiple?: boolean;\n inertGroups?: boolean;\n hideSingleSelectionIndicator?: boolean;\n}\n\n/**\n * Injection token used to provide the parent component to options.\n */\nexport const MAT_OPTION_PARENT_COMPONENT = new InjectionToken(\n 'MAT_OPTION_PARENT_COMPONENT',\n);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {\n Component,\n ViewEncapsulation,\n Input,\n InjectionToken,\n booleanAttribute,\n inject,\n} from '@angular/core';\nimport {_IdGenerator} from '@angular/cdk/a11y';\nimport {MatOptionParentComponent, MAT_OPTION_PARENT_COMPONENT} from './option-parent';\n\n// Notes on the accessibility pattern used for `mat-optgroup`.\n// The option group has two different \"modes\": regular and inert. The regular mode uses the\n// recommended a11y pattern which has `role=\"group\"` on the group element with `aria-labelledby`\n// pointing to the label. This works for `mat-select`, but it seems to hit a bug for autocomplete\n// under VoiceOver where the group doesn't get read out at all. The bug appears to be that if\n// there's __any__ a11y-related attribute on the group (e.g. `role` or `aria-labelledby`),\n// VoiceOver on Safari won't read it out.\n// We've introduced the `inert` mode as a workaround. Under this mode, all a11y attributes are\n// removed from the group, and we get the screen reader to read out the group label by mirroring it\n// inside an invisible element in the option. This is sub-optimal, because the screen reader will\n// repeat the group label on each navigation, whereas the default pattern only reads the group when\n// the user enters a new group. The following alternate approaches were considered:\n// 1. Reading out the group label using the `LiveAnnouncer` solves the problem, but we can't control\n// when the text will be read out so sometimes it comes in too late or never if the user\n// navigates quickly.\n// 2. `('MatOptgroup');\n\n/**\n * Component that is used to group instances of `mat-option`.\n */\n@Component({\n selector: 'mat-optgroup',\n exportAs: 'matOptgroup',\n templateUrl: 'optgroup.html',\n encapsulation: ViewEncapsulation.None,\n styleUrl: 'optgroup.css',\n host: {\n 'class': 'mat-mdc-optgroup',\n '[attr.role]': '_inert ? null : \"group\"',\n '[attr.aria-disabled]': '_inert ? null : disabled.toString()',\n '[attr.aria-labelledby]': '_inert ? null : _labelId',\n },\n providers: [{provide: MAT_OPTGROUP, useExisting: MatOptgroup}],\n})\nexport class MatOptgroup {\n /** Label for the option group. */\n @Input() label!: string;\n\n /** whether the option group is disabled. */\n @Input({transform: booleanAttribute}) disabled: boolean = false;\n\n /** Unique id for the underlying label. */\n _labelId: string = inject(_IdGenerator).getId('mat-optgroup-label-');\n\n /** Whether the group is in inert a11y mode. */\n _inert: boolean;\n\n constructor() {\n const parent = inject(MAT_OPTION_PARENT_COMPONENT, {optional: true});\n this._inert = parent?.inertGroups ?? false;\n }\n}\n","\n {{ label }} \n\n\n\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {_IdGenerator, FocusableOption, FocusOrigin} from '@angular/cdk/a11y';\nimport {ENTER, hasModifierKey, SPACE} from '@angular/cdk/keycodes';\nimport {\n Component,\n ViewEncapsulation,\n ElementRef,\n ChangeDetectorRef,\n AfterViewChecked,\n OnDestroy,\n Input,\n Output,\n EventEmitter,\n QueryList,\n ViewChild,\n booleanAttribute,\n inject,\n isSignal,\n Signal,\n signal,\n} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {MAT_OPTGROUP, MatOptgroup} from './optgroup';\nimport {MatOptionParentComponent, MAT_OPTION_PARENT_COMPONENT} from './option-parent';\nimport {MatRipple} from '../ripple/ripple';\nimport {MatPseudoCheckbox} from '../selection/pseudo-checkbox/pseudo-checkbox';\nimport {_StructuralStylesLoader} from '../focus-indicators/structural-styles';\nimport {_CdkPrivateStyleLoader, _VisuallyHiddenLoader} from '@angular/cdk/private';\n\n/** Event object emitted by MatOption when selected or deselected. */\nexport class MatOptionSelectionChange {\n constructor(\n /** Reference to the option that emitted the event. */\n public source: MatOption,\n /** Whether the change in the option's value was a result of a user action. */\n public isUserInput = false,\n ) {}\n}\n\n/**\n * Single option inside of a `` element.\n */\n@Component({\n selector: 'mat-option',\n exportAs: 'matOption',\n host: {\n 'role': 'option',\n '[class.mdc-list-item--selected]': 'selected',\n '[class.mat-mdc-option-multiple]': 'multiple',\n '[class.mat-mdc-option-active]': 'active',\n '[class.mdc-list-item--disabled]': 'disabled',\n '[id]': 'id',\n // Set aria-selected to false for non-selected items and true for selected items. Conform to\n // [WAI ARIA Listbox authoring practices guide](\n // https://www.w3.org/WAI/ARIA/apg/patterns/listbox/), \"If any options are selected, each\n // selected option has either aria-selected or aria-checked set to true. All options that are\n // selectable but not selected have either aria-selected or aria-checked set to false.\" Align\n // aria-selected implementation of Chips and List components.\n //\n // Set `aria-selected=\"false\"` on not-selected listbox options to fix VoiceOver announcing\n // every option as \"selected\" (#21491).\n '[attr.aria-selected]': 'selected',\n '[attr.aria-disabled]': 'disabled.toString()',\n '(click)': '_selectViaInteraction()',\n '(keydown)': '_handleKeydown($event)',\n 'class': 'mat-mdc-option mdc-list-item',\n },\n styleUrl: 'option.css',\n templateUrl: 'option.html',\n encapsulation: ViewEncapsulation.None,\n imports: [MatPseudoCheckbox, MatRipple],\n})\nexport class MatOption implements FocusableOption, AfterViewChecked, OnDestroy {\n private _element = inject>(ElementRef);\n _changeDetectorRef = inject(ChangeDetectorRef);\n private _parent = inject(MAT_OPTION_PARENT_COMPONENT, {optional: true});\n group = inject(MAT_OPTGROUP, {optional: true});\n\n private _signalDisableRipple = false;\n private _selected = false;\n private _active = false;\n private _mostRecentViewValue = '';\n\n /** Whether the wrapping component is in multiple selection mode. */\n get multiple() {\n return this._parent && this._parent.multiple;\n }\n\n /** Whether or not the option is currently selected. */\n get selected(): boolean {\n return this._selected;\n }\n\n /** The form value of the option. */\n @Input() value!: T;\n\n /** The unique ID of the option. */\n @Input() id: string = inject(_IdGenerator).getId('mat-option-');\n\n /** Whether the option is disabled. */\n @Input({transform: booleanAttribute})\n get disabled(): boolean {\n return (this.group && this.group.disabled) || this._disabled();\n }\n set disabled(value: boolean) {\n this._disabled.set(value);\n }\n private _disabled = signal(false);\n\n /** Whether ripples for the option are disabled. */\n get disableRipple(): boolean {\n return this._signalDisableRipple\n ? (this._parent!.disableRipple as Signal)()\n : !!this._parent?.disableRipple;\n }\n\n /** Whether to display checkmark for single-selection. */\n get hideSingleSelectionIndicator(): boolean {\n return !!(this._parent && this._parent.hideSingleSelectionIndicator);\n }\n\n /** Event emitted when the option is selected or deselected. */\n // tslint:disable-next-line:no-output-on-prefix\n @Output() readonly onSelectionChange = new EventEmitter>();\n\n /** Element containing the option's text. */\n @ViewChild('text', {static: true}) _text: ElementRef | undefined;\n\n /** Emits when the state of the option changes and any parents have to be notified. */\n readonly _stateChanges = new Subject();\n\n constructor() {\n const styleLoader = inject(_CdkPrivateStyleLoader);\n styleLoader.load(_StructuralStylesLoader);\n styleLoader.load(_VisuallyHiddenLoader);\n this._signalDisableRipple = !!this._parent && isSignal(this._parent.disableRipple);\n }\n\n /**\n * Whether or not the option is currently active and ready to be selected.\n * An active option displays styles as if it is focused, but the\n * focus is actually retained somewhere else. This comes in handy\n * for components like autocomplete where focus must remain on the input.\n */\n get active(): boolean {\n return this._active;\n }\n\n /**\n * The displayed value of the option. It is necessary to show the selected option in the\n * select's trigger.\n */\n get viewValue(): string {\n // TODO(kara): Add input property alternative for node envs.\n return (this._text?.nativeElement.textContent || '').trim();\n }\n\n /** Selects the option. */\n select(emitEvent = true): void {\n if (!this._selected) {\n this._selected = true;\n this._changeDetectorRef.markForCheck();\n\n if (emitEvent) {\n this._emitSelectionChangeEvent();\n }\n }\n }\n\n /** Deselects the option. */\n deselect(emitEvent = true): void {\n if (this._selected) {\n this._selected = false;\n this._changeDetectorRef.markForCheck();\n\n if (emitEvent) {\n this._emitSelectionChangeEvent();\n }\n }\n }\n\n /** Sets focus onto this option. */\n focus(_origin?: FocusOrigin, options?: FocusOptions): void {\n // Note that we aren't using `_origin`, but we need to keep it because some internal consumers\n // use `MatOption` in a `FocusKeyManager` and we need it to match `FocusableOption`.\n const element = this._getHostElement();\n\n if (typeof element.focus === 'function') {\n element.focus(options);\n }\n }\n\n /**\n * This method sets display styles on the option to make it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setActiveStyles(): void {\n if (!this._active) {\n this._active = true;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /**\n * This method removes display styles on the option that made it appear\n * active. This is used by the ActiveDescendantKeyManager so key\n * events will display the proper options as active on arrow key events.\n */\n setInactiveStyles(): void {\n if (this._active) {\n this._active = false;\n this._changeDetectorRef.markForCheck();\n }\n }\n\n /** Gets the label to be used when determining whether the option should be focused. */\n getLabel(): string {\n return this.viewValue;\n }\n\n /** Ensures the option is selected when activated from the keyboard. */\n _handleKeydown(event: KeyboardEvent): void {\n if ((event.keyCode === ENTER || event.keyCode === SPACE) && !hasModifierKey(event)) {\n this._selectViaInteraction();\n\n // Prevent the page from scrolling down and form submits.\n event.preventDefault();\n }\n }\n\n /**\n * `Selects the option while indicating the selection came from the user. Used to\n * determine if the select's view -> model callback should be invoked.`\n */\n _selectViaInteraction(): void {\n if (!this.disabled) {\n this._selected = this.multiple ? !this._selected : true;\n this._changeDetectorRef.markForCheck();\n this._emitSelectionChangeEvent(true);\n }\n }\n\n /** Returns the correct tabindex for the option depending on disabled state. */\n // This method is only used by `MatLegacyOption`. Keeping it here to avoid breaking the types.\n // That's because `MatLegacyOption` use `MatOption` type in a few places such as\n // `MatOptionSelectionChange`. It is safe to delete this when `MatLegacyOption` is deleted.\n _getTabIndex(): string {\n return this.disabled ? '-1' : '0';\n }\n\n /** Gets the host DOM element. */\n _getHostElement(): HTMLElement {\n return this._element.nativeElement;\n }\n\n ngAfterViewChecked() {\n // Since parent components could be using the option's label to display the selected values\n // (e.g. `mat-select`) and they don't have a way of knowing if the option's label has changed\n // we have to check for changes in the DOM ourselves and dispatch an event. These checks are\n // relatively cheap, however we still limit them only to selected options in order to avoid\n // hitting the DOM too often.\n if (this._selected) {\n const viewValue = this.viewValue;\n\n if (viewValue !== this._mostRecentViewValue) {\n if (this._mostRecentViewValue) {\n this._stateChanges.next();\n }\n\n this._mostRecentViewValue = viewValue;\n }\n }\n }\n\n ngOnDestroy() {\n this._stateChanges.complete();\n }\n\n /** Emits the selection change event. */\n private _emitSelectionChangeEvent(isUserInput = false): void {\n this.onSelectionChange.emit(new MatOptionSelectionChange(this, isUserInput));\n }\n}\n\n/**\n * Counts the amount of option group labels that precede the specified option.\n * @param optionIndex Index of the option at which to start counting.\n * @param options Flat list of all of the options.\n * @param optionGroups Flat list of all of the option groups.\n * @docs-private\n */\nexport function _countGroupLabelsBeforeOption(\n optionIndex: number,\n options: QueryList,\n optionGroups: QueryList,\n): number {\n if (optionGroups.length) {\n let optionsArray = options.toArray();\n let groups = optionGroups.toArray();\n let groupCounter = 0;\n\n for (let i = 0; i < optionIndex + 1; i++) {\n if (optionsArray[i].group && optionsArray[i].group === groups[groupCounter]) {\n groupCounter++;\n }\n }\n\n return groupCounter;\n }\n\n return 0;\n}\n\n/**\n * Determines the position to which to scroll a panel in order for an option to be into view.\n * @param optionOffset Offset of the option from the top of the panel.\n * @param optionHeight Height of the options.\n * @param currentScrollPosition Current scroll position of the panel.\n * @param panelHeight Height of the panel.\n * @docs-private\n */\nexport function _getOptionScrollPosition(\n optionOffset: number,\n optionHeight: number,\n currentScrollPosition: number,\n panelHeight: number,\n): number {\n if (optionOffset < currentScrollPosition) {\n return optionOffset;\n }\n\n if (optionOffset + optionHeight > currentScrollPosition + panelHeight) {\n return Math.max(0, optionOffset - panelHeight + optionHeight);\n }\n\n return currentScrollPosition;\n}\n","\n@if (multiple) {\n \n}\n\n\n\n\n\n\n@if (!multiple && selected && !hideSingleSelectionIndicator) {\n \n}\n\n\n@if (group && group._inert) {\n ({{ group.label }})\n}\n\n
\n
\n"],"names":["MAT_OPTION_PARENT_COMPONENT","InjectionToken","MAT_OPTGROUP","MatOptgroup","label","disabled","_labelId","inject","_IdGenerator","getId","_inert","constructor","parent","optional","inertGroups","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isStandalone","selector","inputs","booleanAttribute","host","properties","classAttribute","providers","provide","useExisting","styles","encapsulation","ViewEncapsulation","None","decorators","args","template","Input","transform","MatOptionSelectionChange","source","isUserInput","MatOption","_element","ElementRef","_changeDetectorRef","ChangeDetectorRef","_parent","group","_signalDisableRipple","_selected","_active","_mostRecentViewValue","multiple","selected","value","id","_disabled","set","signal","disableRipple","hideSingleSelectionIndicator","onSelectionChange","EventEmitter","_text","_stateChanges","Subject","styleLoader","_CdkPrivateStyleLoader","load","_StructuralStylesLoader","_VisuallyHiddenLoader","isSignal","active","viewValue","nativeElement","textContent","trim","select","emitEvent","markForCheck","_emitSelectionChangeEvent","deselect","focus","_origin","options","element","_getHostElement","setActiveStyles","setInactiveStyles","getLabel","_handleKeydown","event","keyCode","ENTER","SPACE","hasModifierKey","_selectViaInteraction","preventDefault","_getTabIndex","ngAfterViewChecked","next","ngOnDestroy","complete","emit","outputs","attributes","listeners","viewQueries","propertyName","first","predicate","descendants","static","exportAs","ngImport","dependencies","kind","MatPseudoCheckbox","MatRipple","imports","Output","ViewChild","_countGroupLabelsBeforeOption","optionIndex","optionGroups","length","optionsArray","toArray","groups","groupCounter","i","_getOptionScrollPosition","optionOffset","optionHeight","currentScrollPosition","panelHeight","Math","max"],"mappings":"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"} \ No newline at end of file diff --git a/fesm2022/_pseudo-checkbox-chunk.mjs b/fesm2022/_pseudo-checkbox-chunk.mjs index 3cf2d76790..4e49017430 100755 --- a/fesm2022/_pseudo-checkbox-chunk.mjs +++ b/fesm2022/_pseudo-checkbox-chunk.mjs @@ -1,5 +1,5 @@ import * as i0 from '@angular/core'; -import { Input, ChangeDetectionStrategy, ViewEncapsulation, Component } from '@angular/core'; +import { Input, ViewEncapsulation, Component } from '@angular/core'; import { _animationsDisabled } from './_animation-chunk.mjs'; class MatPseudoCheckbox { @@ -41,7 +41,6 @@ class MatPseudoCheckbox { template: '', isInline: true, styles: [".mat-pseudo-checkbox {\n border-radius: 2px;\n cursor: pointer;\n display: inline-block;\n vertical-align: middle;\n box-sizing: border-box;\n position: relative;\n flex-shrink: 0;\n transition: border-color 90ms cubic-bezier(0, 0, 0.2, 0.1), background-color 90ms cubic-bezier(0, 0, 0.2, 0.1);\n}\n.mat-pseudo-checkbox::after {\n position: absolute;\n opacity: 0;\n content: \"\";\n border-bottom: 2px solid currentColor;\n transition: opacity 90ms cubic-bezier(0, 0, 0.2, 0.1);\n}\n.mat-pseudo-checkbox._mat-animation-noopable {\n transition: none !important;\n animation: none !important;\n}\n.mat-pseudo-checkbox._mat-animation-noopable::after {\n transition: none;\n}\n\n.mat-pseudo-checkbox-disabled {\n cursor: default;\n}\n\n.mat-pseudo-checkbox-indeterminate::after {\n left: 1px;\n opacity: 1;\n border-radius: 2px;\n}\n\n.mat-pseudo-checkbox-checked::after {\n left: 1px;\n border-left: 2px solid currentColor;\n transform: rotate(-45deg);\n opacity: 1;\n box-sizing: content-box;\n}\n\n.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after, .mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after {\n color: var(--mat-pseudo-checkbox-minimal-selected-checkmark-color, var(--mat-sys-primary));\n}\n.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after, .mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after {\n color: var(--mat-pseudo-checkbox-minimal-disabled-selected-checkmark-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n\n.mat-pseudo-checkbox-full {\n border-color: var(--mat-pseudo-checkbox-full-unselected-icon-color, var(--mat-sys-on-surface-variant));\n border-width: 2px;\n border-style: solid;\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-disabled {\n border-color: var(--mat-pseudo-checkbox-full-disabled-unselected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked, .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate {\n background-color: var(--mat-pseudo-checkbox-full-selected-icon-color, var(--mat-sys-primary));\n border-color: transparent;\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after, .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after {\n color: var(--mat-pseudo-checkbox-full-selected-checkmark-color, var(--mat-sys-on-primary));\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled, .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled {\n background-color: var(--mat-pseudo-checkbox-full-disabled-selected-icon-color, color-mix(in srgb, var(--mat-sys-on-surface) 38%, transparent));\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked.mat-pseudo-checkbox-disabled::after, .mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate.mat-pseudo-checkbox-disabled::after {\n color: var(--mat-pseudo-checkbox-full-disabled-selected-checkmark-color, var(--mat-sys-surface));\n}\n\n.mat-pseudo-checkbox {\n width: 18px;\n height: 18px;\n}\n\n.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-checked::after {\n width: 14px;\n height: 6px;\n transform-origin: center;\n top: -4.2426406871px;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n}\n.mat-pseudo-checkbox-minimal.mat-pseudo-checkbox-indeterminate::after {\n top: 8px;\n width: 16px;\n}\n\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-checked::after {\n width: 10px;\n height: 4px;\n transform-origin: center;\n top: -2.8284271247px;\n left: 0;\n bottom: 0;\n right: 0;\n margin: auto;\n}\n.mat-pseudo-checkbox-full.mat-pseudo-checkbox-indeterminate::after {\n top: 6px;\n width: 12px;\n}\n"], - changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } @@ -54,7 +53,6 @@ i0.ɵɵngDeclareClassMetadata({ type: Component, args: [{ encapsulation: ViewEncapsulation.None, - changeDetection: ChangeDetectionStrategy.OnPush, selector: 'mat-pseudo-checkbox', template: '', host: { diff --git a/fesm2022/_pseudo-checkbox-chunk.mjs.map b/fesm2022/_pseudo-checkbox-chunk.mjs.map index cec03491f1..a5714c6047 100755 --- a/fesm2022/_pseudo-checkbox-chunk.mjs.map +++ b/fesm2022/_pseudo-checkbox-chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"_pseudo-checkbox-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/selection/pseudo-checkbox/pseudo-checkbox.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 {Component, ViewEncapsulation, Input, ChangeDetectionStrategy} from '@angular/core';\nimport {_animationsDisabled} from '../../animation/animation';\n\n/**\n * Possible states for a pseudo checkbox.\n * @docs-private\n */\nexport type MatPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n/**\n * Component that shows a simplified checkbox without including any kind of \"real\" checkbox.\n * Meant to be used when the checkbox is purely decorative and a large number of them will be\n * included, such as for the options in a multi-select. Uses no SVGs or complex animations.\n * Note that theming is meant to be handled by the parent element, e.g.\n * `mat-primary .mat-pseudo-checkbox`.\n *\n * Note that this component will be completely invisible to screen-reader users. This is *not*\n * interchangeable with `` and should *not* be used if the user would directly\n * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail\n * of more complex components that appropriately handle selected / checked state.\n * @docs-private\n */\n@Component({\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n selector: 'mat-pseudo-checkbox',\n styleUrl: 'pseudo-checkbox.css',\n template: '',\n host: {\n 'class': 'mat-pseudo-checkbox',\n '[class.mat-pseudo-checkbox-indeterminate]': 'state === \"indeterminate\"',\n '[class.mat-pseudo-checkbox-checked]': 'state === \"checked\"',\n '[class.mat-pseudo-checkbox-disabled]': 'disabled',\n '[class.mat-pseudo-checkbox-minimal]': 'appearance === \"minimal\"',\n '[class.mat-pseudo-checkbox-full]': 'appearance === \"full\"',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n },\n})\nexport class MatPseudoCheckbox {\n _animationsDisabled = _animationsDisabled();\n\n /** Display state of the checkbox. */\n @Input() state: MatPseudoCheckboxState = 'unchecked';\n\n /** Whether the checkbox is disabled. */\n @Input() disabled: boolean = false;\n\n /**\n * Appearance of the pseudo checkbox. Default appearance of 'full' renders a checkmark/mixedmark\n * indicator inside a square box. 'minimal' appearance only renders the checkmark/mixedmark.\n */\n @Input() appearance: 'minimal' | 'full' = 'full';\n}\n"],"names":["MatPseudoCheckbox","_animationsDisabled","state","disabled","appearance","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","changeDetection","ChangeDetectionStrategy","OnPush","encapsulation","ViewEncapsulation","None","decorators","selector","template","host","Input"],"mappings":";;;;MA8CaA,iBAAiB,CAAA;EAC5BC,mBAAmB,GAAGA,mBAAmB,EAAE;AAGlCC,EAAAA,KAAK,GAA2B,WAAW;AAG3CC,EAAAA,QAAQ,GAAY,KAAK;AAMzBC,EAAAA,UAAU,GAAuB,MAAM;;;;;UAbrCJ,iBAAiB;AAAAK,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAjB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,gBAAA;AAAAC,IAAAA,IAAA,EAAAd,iBAAiB;;;;;;;;;;;;;;;;;;;;cAXlB,EAAE;AAAAe,IAAAA,QAAA,EAAA,IAAA;IAAAC,MAAA,EAAA,CAAA,8sHAAA,CAAA;AAAAC,IAAAA,eAAA,EAAAV,EAAA,CAAAW,uBAAA,CAAAC,MAAA;AAAAC,IAAAA,aAAA,EAAAb,EAAA,CAAAc,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAWDtB,iBAAiB;AAAAuB,EAAAA,UAAA,EAAA,CAAA;UAhB7Bd,SAAS;;qBACOY,iBAAiB,CAACC,IAAI;MAAAL,eAAA,EACpBC,uBAAuB,CAACC,MAAM;AAAAK,MAAAA,QAAA,EACrC,qBAAqB;AAAAC,MAAAA,QAAA,EAErB,EAAE;AAAAC,MAAAA,IAAA,EACN;AACJ,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,2CAA2C,EAAE,2BAA2B;AACxE,QAAA,qCAAqC,EAAE,qBAAqB;AAC5D,QAAA,sCAAsC,EAAE,UAAU;AAClD,QAAA,qCAAqC,EAAE,0BAA0B;AACjE,QAAA,kCAAkC,EAAE,uBAAuB;AAC3D,QAAA,iCAAiC,EAAE;OACpC;MAAAV,MAAA,EAAA,CAAA,8sHAAA;KAAA;;;;YAMAW;;;YAGAA;;;YAMAA;;;;;;;"} \ No newline at end of file +{"version":3,"file":"_pseudo-checkbox-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/selection/pseudo-checkbox/pseudo-checkbox.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 {Component, ViewEncapsulation, Input} from '@angular/core';\nimport {_animationsDisabled} from '../../animation/animation';\n\n/**\n * Possible states for a pseudo checkbox.\n * @docs-private\n */\nexport type MatPseudoCheckboxState = 'unchecked' | 'checked' | 'indeterminate';\n\n/**\n * Component that shows a simplified checkbox without including any kind of \"real\" checkbox.\n * Meant to be used when the checkbox is purely decorative and a large number of them will be\n * included, such as for the options in a multi-select. Uses no SVGs or complex animations.\n * Note that theming is meant to be handled by the parent element, e.g.\n * `mat-primary .mat-pseudo-checkbox`.\n *\n * Note that this component will be completely invisible to screen-reader users. This is *not*\n * interchangeable with `` and should *not* be used if the user would directly\n * interact with the checkbox. The pseudo-checkbox should only be used as an implementation detail\n * of more complex components that appropriately handle selected / checked state.\n * @docs-private\n */\n@Component({\n encapsulation: ViewEncapsulation.None,\n selector: 'mat-pseudo-checkbox',\n styleUrl: 'pseudo-checkbox.css',\n template: '',\n host: {\n 'class': 'mat-pseudo-checkbox',\n '[class.mat-pseudo-checkbox-indeterminate]': 'state === \"indeterminate\"',\n '[class.mat-pseudo-checkbox-checked]': 'state === \"checked\"',\n '[class.mat-pseudo-checkbox-disabled]': 'disabled',\n '[class.mat-pseudo-checkbox-minimal]': 'appearance === \"minimal\"',\n '[class.mat-pseudo-checkbox-full]': 'appearance === \"full\"',\n '[class._mat-animation-noopable]': '_animationsDisabled',\n },\n})\nexport class MatPseudoCheckbox {\n _animationsDisabled = _animationsDisabled();\n\n /** Display state of the checkbox. */\n @Input() state: MatPseudoCheckboxState = 'unchecked';\n\n /** Whether the checkbox is disabled. */\n @Input() disabled: boolean = false;\n\n /**\n * Appearance of the pseudo checkbox. Default appearance of 'full' renders a checkmark/mixedmark\n * indicator inside a square box. 'minimal' appearance only renders the checkmark/mixedmark.\n */\n @Input() appearance: 'minimal' | 'full' = 'full';\n}\n"],"names":["MatPseudoCheckbox","_animationsDisabled","state","disabled","appearance","deps","target","i0","ɵɵFactoryTarget","Component","ɵcmp","ɵɵngDeclareComponent","minVersion","version","type","isInline","styles","encapsulation","ViewEncapsulation","None","decorators","args","selector","template","host","Input"],"mappings":";;;;MA6CaA,iBAAiB,CAAA;EAC5BC,mBAAmB,GAAGA,mBAAmB,EAAE;AAGlCC,EAAAA,KAAK,GAA2B,WAAW;AAG3CC,EAAAA,QAAQ,GAAY,KAAK;AAMzBC,EAAAA,UAAU,GAAuB,MAAM;;;;;UAbrCJ,iBAAiB;AAAAK,IAAAA,IAAA,EAAA,EAAA;AAAAC,IAAAA,MAAA,EAAAC,EAAA,CAAAC,eAAA,CAAAC;AAAA,GAAA,CAAA;AAAjB,EAAA,OAAAC,IAAA,GAAAH,EAAA,CAAAI,oBAAA,CAAA;AAAAC,IAAAA,UAAA,EAAA,QAAA;AAAAC,IAAAA,OAAA,EAAA,gBAAA;AAAAC,IAAAA,IAAA,EAAAd,iBAAiB;;;;;;;;;;;;;;;;;;;;cAXlB,EAAE;AAAAe,IAAAA,QAAA,EAAA,IAAA;IAAAC,MAAA,EAAA,CAAA,8sHAAA,CAAA;AAAAC,IAAAA,aAAA,EAAAV,EAAA,CAAAW,iBAAA,CAAAC;AAAA,GAAA,CAAA;;;;;;QAWDnB,iBAAiB;AAAAoB,EAAAA,UAAA,EAAA,CAAA;UAf7BX,SAAS;AACOY,IAAAA,IAAA,EAAA,CAAA;MAAAJ,aAAA,EAAAC,iBAAiB,CAACC,IAAI;AAAAG,MAAAA,QAAA,EAC3B,qBAAqB;AAAAC,MAAAA,QAAA,EAErB,EAAE;AAAAC,MAAAA,IAAA,EACN;AACJ,QAAA,OAAO,EAAE,qBAAqB;AAC9B,QAAA,2CAA2C,EAAE,2BAA2B;AACxE,QAAA,qCAAqC,EAAE,qBAAqB;AAC5D,QAAA,sCAAsC,EAAE,UAAU;AAClD,QAAA,qCAAqC,EAAE,0BAA0B;AACjE,QAAA,kCAAkC,EAAE,uBAAuB;AAC3D,QAAA,iCAAiC,EAAE;OACpC;MAAAR,MAAA,EAAA,CAAA,8sHAAA;KAAA;;;;YAMAS;;;YAGAA;;;YAMAA;;;;;;;"} \ No newline at end of file diff --git a/fesm2022/_ripple-chunk.mjs b/fesm2022/_ripple-chunk.mjs index 81bda6e394..e9057ed17d 100755 --- a/fesm2022/_ripple-chunk.mjs +++ b/fesm2022/_ripple-chunk.mjs @@ -1,6 +1,6 @@ import { _getEventTarget, normalizePassiveListenerOptions, Platform } from '@angular/cdk/platform'; import * as i0 from '@angular/core'; -import { ViewEncapsulation, ChangeDetectionStrategy, Component, InjectionToken, inject, ElementRef, NgZone, Injector, Input, Directive } from '@angular/core'; +import { ViewEncapsulation, Component, InjectionToken, inject, ElementRef, NgZone, Injector, Input, Directive } from '@angular/core'; import { isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader } from '@angular/cdk/a11y'; import { coerceElement } from '@angular/cdk/coercion'; import { _CdkPrivateStyleLoader } from '@angular/cdk/private'; @@ -117,7 +117,6 @@ class _MatRippleStylesLoader { template: '', isInline: true, styles: [".mat-ripple {\n overflow: hidden;\n position: relative;\n}\n.mat-ripple:not(:empty) {\n transform: translateZ(0);\n}\n\n.mat-ripple.mat-ripple-unbounded {\n overflow: visible;\n}\n\n.mat-ripple-element {\n position: absolute;\n border-radius: 50%;\n pointer-events: none;\n transition: opacity, transform 0ms cubic-bezier(0, 0, 0.2, 1);\n transform: scale3d(0, 0, 0);\n background-color: var(--mat-ripple-color, color-mix(in srgb, var(--mat-sys-on-surface) 10%, transparent));\n}\n@media (forced-colors: active) {\n .mat-ripple-element {\n display: none;\n }\n}\n.cdk-drag-preview .mat-ripple-element, .cdk-drag-placeholder .mat-ripple-element {\n display: none;\n}\n"], - changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); } @@ -130,7 +129,6 @@ i0.ɵɵngDeclareClassMetadata({ type: Component, args: [{ template: '', - changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: { 'mat-ripple-style-loader': '' diff --git a/fesm2022/_ripple-chunk.mjs.map b/fesm2022/_ripple-chunk.mjs.map index 56fccb90f1..165e27fa2e 100755 --- a/fesm2022/_ripple-chunk.mjs.map +++ b/fesm2022/_ripple-chunk.mjs.map @@ -1 +1 @@ -{"version":3,"file":"_ripple-chunk.mjs","sources":["../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/ripple/ripple-ref.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/ripple/ripple-event-manager.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/ripple/ripple-renderer.ts","../../../../../k8-fastbuild-ST-fdfa778d11ba/bin/src/material/core/ripple/ripple.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\n/** Possible states for a ripple element. */\nexport enum RippleState {\n FADING_IN,\n VISIBLE,\n FADING_OUT,\n HIDDEN,\n}\n\nexport type RippleConfig = {\n color?: string;\n centered?: boolean;\n radius?: number;\n persistent?: boolean;\n animation?: RippleAnimationConfig;\n terminateOnPointerUp?: boolean;\n};\n\n/**\n * Interface that describes the configuration for the animation of a ripple.\n * There are two animation phases with different durations for the ripples.\n */\nexport interface RippleAnimationConfig {\n /** Duration in milliseconds for the enter animation (expansion from point of contact). */\n enterDuration?: number;\n /** Duration in milliseconds for the exit animation (fade-out). */\n exitDuration?: number;\n}\n\n/**\n * Reference to a previously launched ripple element.\n */\nexport class RippleRef {\n /** Current state of the ripple. */\n state: RippleState = RippleState.HIDDEN;\n\n constructor(\n private _renderer: {fadeOutRipple(ref: RippleRef): void},\n /** Reference to the ripple HTML element. */\n public element: HTMLElement,\n /** Ripple configuration used for the ripple. */\n public config: RippleConfig,\n /* Whether animations are forcibly disabled for ripples through CSS. */\n public _animationForciblyDisabledThroughCss = false,\n ) {}\n\n /** Fades out the ripple element. */\n fadeOut() {\n this._renderer.fadeOutRipple(this);\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 {normalizePassiveListenerOptions, _getEventTarget} from '@angular/cdk/platform';\nimport {NgZone} from '@angular/core';\n\n/** Options used to bind a passive capturing event. */\nconst passiveCapturingEventOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n\n/** Manages events through delegation so that as few event handlers as possible are bound. */\nexport class RippleEventManager {\n private _events = new Map>>();\n\n /** Adds an event handler. */\n addHandler(ngZone: NgZone, name: string, element: HTMLElement, handler: EventListenerObject) {\n const handlersForEvent = this._events.get(name);\n\n if (handlersForEvent) {\n const handlersForElement = handlersForEvent.get(element);\n\n if (handlersForElement) {\n handlersForElement.add(handler);\n } else {\n handlersForEvent.set(element, new Set([handler]));\n }\n } else {\n this._events.set(name, new Map([[element, new Set([handler])]]));\n\n ngZone.runOutsideAngular(() => {\n document.addEventListener(name, this._delegateEventHandler, passiveCapturingEventOptions);\n });\n }\n }\n\n /** Removes an event handler. */\n removeHandler(name: string, element: HTMLElement, handler: EventListenerObject) {\n const handlersForEvent = this._events.get(name);\n\n if (!handlersForEvent) {\n return;\n }\n\n const handlersForElement = handlersForEvent.get(element);\n\n if (!handlersForElement) {\n return;\n }\n\n handlersForElement.delete(handler);\n\n if (handlersForElement.size === 0) {\n handlersForEvent.delete(element);\n }\n\n if (handlersForEvent.size === 0) {\n this._events.delete(name);\n document.removeEventListener(name, this._delegateEventHandler, passiveCapturingEventOptions);\n }\n }\n\n /** Event handler that is bound and which dispatches the events to the different targets. */\n private _delegateEventHandler = (event: Event) => {\n const target = _getEventTarget(event);\n\n if (target) {\n this._events.get(event.type)?.forEach((handlers, element) => {\n if (element === target || element.contains(target as Node)) {\n handlers.forEach(handler => handler.handleEvent(event));\n }\n });\n }\n };\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\nimport {\n ElementRef,\n NgZone,\n Component,\n ChangeDetectionStrategy,\n ViewEncapsulation,\n Injector,\n} from '@angular/core';\nimport {Platform, normalizePassiveListenerOptions, _getEventTarget} from '@angular/cdk/platform';\nimport {isFakeMousedownFromScreenReader, isFakeTouchstartFromScreenReader} from '@angular/cdk/a11y';\nimport {coerceElement} from '@angular/cdk/coercion';\nimport {_CdkPrivateStyleLoader} from '@angular/cdk/private';\nimport {RippleRef, RippleState, RippleConfig} from './ripple-ref';\nimport {RippleEventManager} from './ripple-event-manager';\n\n/**\n * Interface that describes the target for launching ripples.\n * It defines the ripple configuration and disabled state for interaction ripples.\n * @docs-private\n */\nexport interface RippleTarget {\n /** Configuration for ripples that are launched on pointer down. */\n rippleConfig: RippleConfig;\n /** Whether ripples on pointer down should be disabled. */\n rippleDisabled: boolean;\n}\n\n/** Interfaces the defines ripple element transition event listeners. */\ninterface RippleEventListeners {\n onTransitionEnd: EventListener;\n onTransitionCancel: EventListener;\n fallbackTimer: ReturnType | null;\n}\n\n/**\n * Default ripple animation configuration for ripples without an explicit\n * animation config specified.\n */\nexport const defaultRippleAnimationConfig = {\n enterDuration: 225,\n exitDuration: 150,\n};\n\n/**\n * Timeout for ignoring mouse events. Mouse events will be temporary ignored after touch\n * events to avoid synthetic mouse events.\n */\nconst ignoreMouseEventsTimeout = 800;\n\n/** Options used to bind a passive capturing event. */\nconst passiveCapturingEventOptions = normalizePassiveListenerOptions({\n passive: true,\n capture: true,\n});\n\n/** Events that signal that the pointer is down. */\nconst pointerDownEvents = ['mousedown', 'touchstart'];\n\n/** Events that signal that the pointer is up. */\nconst pointerUpEvents = ['mouseup', 'mouseleave', 'touchend', 'touchcancel'];\n\n@Component({\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n styleUrl: 'ripple-structure.css',\n host: {'mat-ripple-style-loader': ''},\n})\nexport class _MatRippleStylesLoader {}\n\n/**\n * Helper service that performs DOM manipulations. Not intended to be used outside this module.\n * The constructor takes a reference to the ripple directive's host element and a map of DOM\n * event handlers to be installed on the element that triggers ripple animations.\n * This will eventually become a custom renderer once Angular support exists.\n * @docs-private\n */\nexport class RippleRenderer implements EventListenerObject {\n /** Element where the ripples are being added to. */\n private _containerElement!: HTMLElement;\n\n /** Element which triggers the ripple elements on mouse events. */\n private _triggerElement: HTMLElement | null = null;\n\n /** Whether the pointer is currently down or not. */\n private _isPointerDown = false;\n\n /**\n * Map of currently active ripple references.\n * The ripple reference is mapped to its element event listeners.\n * The reason why `| null` is used is that event listeners are added only\n * when the condition is truthy (see the `_startFadeOutTransition` method).\n */\n private _activeRipples = new Map();\n\n /** Latest non-persistent ripple that was triggered. */\n private _mostRecentTransientRipple: RippleRef | null = null;\n\n /** Time in milliseconds when the last touchstart event happened. */\n private _lastTouchStartEvent!: number;\n\n /** Whether pointer-up event listeners have been registered. */\n private _pointerUpEventsRegistered = false;\n\n /**\n * Cached dimensions of the ripple container. Set when the first\n * ripple is shown and cleared once no more ripples are visible.\n */\n private _containerRect: DOMRect | null = null;\n\n private static _eventManager = new RippleEventManager();\n\n constructor(\n private _target: RippleTarget,\n private _ngZone: NgZone,\n elementOrElementRef: HTMLElement | ElementRef,\n private _platform: Platform,\n injector?: Injector,\n ) {\n // Only do anything if we're on the browser.\n if (_platform.isBrowser) {\n this._containerElement = coerceElement(elementOrElementRef);\n }\n\n if (injector) {\n injector.get(_CdkPrivateStyleLoader).load(_MatRippleStylesLoader);\n }\n }\n\n /**\n * Fades in a ripple at the given coordinates.\n * @param x Coordinate within the element, along the X axis at which to start the ripple.\n * @param y Coordinate within the element, along the Y axis at which to start the ripple.\n * @param config Extra ripple options.\n */\n fadeInRipple(x: number, y: number, config: RippleConfig = {}): RippleRef {\n const containerRect = (this._containerRect =\n this._containerRect || this._containerElement.getBoundingClientRect());\n const animationConfig = {...defaultRippleAnimationConfig, ...config.animation};\n\n if (config.centered) {\n x = containerRect.left + containerRect.width / 2;\n y = containerRect.top + containerRect.height / 2;\n }\n\n const radius = config.radius || distanceToFurthestCorner(x, y, containerRect);\n const offsetX = x - containerRect.left;\n const offsetY = y - containerRect.top;\n const enterDuration = animationConfig.enterDuration;\n\n const ripple = document.createElement('div');\n ripple.classList.add('mat-ripple-element');\n\n ripple.style.left = `${offsetX - radius}px`;\n ripple.style.top = `${offsetY - radius}px`;\n ripple.style.height = `${radius * 2}px`;\n ripple.style.width = `${radius * 2}px`;\n\n // If a custom color has been specified, set it as inline style. If no color is\n // set, the default color will be applied through the ripple theme styles.\n if (config.color != null) {\n ripple.style.backgroundColor = config.color;\n }\n\n ripple.style.transitionDuration = `${enterDuration}ms`;\n\n this._containerElement.appendChild(ripple);\n\n // By default the browser does not recalculate the styles of dynamically created\n // ripple elements. This is critical to ensure that the `scale` animates properly.\n // We enforce a style recalculation by calling `getComputedStyle` and *accessing* a property.\n // See: https://gist.github.com/paulirish/5d52fb081b3570c81e3a\n const computedStyles = window.getComputedStyle(ripple);\n const userTransitionProperty = computedStyles.transitionProperty;\n const userTransitionDuration = computedStyles.transitionDuration;\n\n // Note: We detect whether animation is forcibly disabled through CSS (e.g. through\n // `transition: none` or `display: none`). This is technically unexpected since animations are\n // controlled through the animation config, but this exists for backwards compatibility. This\n // logic does not need to be super accurate since it covers some edge cases which can be easily\n // avoided by users.\n const animationForciblyDisabledThroughCss =\n userTransitionProperty === 'none' ||\n // Note: The canonical unit for serialized CSS `