@angular/material 21.0.3 → 21.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/LICENSE +1 -1
  2. package/core/focus-indicators/_private.scss +1 -1
  3. package/fesm2022/_error-options-chunk.mjs +6 -6
  4. package/fesm2022/_form-field-chunk.mjs +32 -32
  5. package/fesm2022/_form-field-chunk.mjs.map +1 -1
  6. package/fesm2022/_icon-button-chunk.mjs +8 -8
  7. package/fesm2022/_icon-button-chunk.mjs.map +1 -1
  8. package/fesm2022/_icon-registry-chunk.mjs +3 -3
  9. package/fesm2022/_internal-form-field-chunk.mjs +3 -3
  10. package/fesm2022/_line-chunk.mjs +7 -7
  11. package/fesm2022/_option-chunk.mjs +6 -6
  12. package/fesm2022/_option-module-chunk.mjs +4 -4
  13. package/fesm2022/_pseudo-checkbox-chunk.mjs +3 -3
  14. package/fesm2022/_pseudo-checkbox-module-chunk.mjs +4 -4
  15. package/fesm2022/_ripple-chunk.mjs +6 -6
  16. package/fesm2022/_ripple-loader-chunk.mjs +3 -3
  17. package/fesm2022/_ripple-module-chunk.mjs +4 -4
  18. package/fesm2022/_structural-styles-chunk.mjs +5 -5
  19. package/fesm2022/_structural-styles-chunk.mjs.map +1 -1
  20. package/fesm2022/_tooltip-chunk.mjs +18 -12
  21. package/fesm2022/_tooltip-chunk.mjs.map +1 -1
  22. package/fesm2022/autocomplete.mjs +13 -13
  23. package/fesm2022/badge.mjs +10 -10
  24. package/fesm2022/bottom-sheet.mjs +10 -10
  25. package/fesm2022/button-toggle.mjs +10 -10
  26. package/fesm2022/button.mjs +19 -19
  27. package/fesm2022/button.mjs.map +1 -1
  28. package/fesm2022/card.mjs +46 -46
  29. package/fesm2022/checkbox.mjs +9 -9
  30. package/fesm2022/checkbox.mjs.map +1 -1
  31. package/fesm2022/chips.mjs +52 -52
  32. package/fesm2022/chips.mjs.map +1 -1
  33. package/fesm2022/core.mjs +12 -12
  34. package/fesm2022/core.mjs.map +1 -1
  35. package/fesm2022/datepicker.mjs +84 -84
  36. package/fesm2022/datepicker.mjs.map +1 -1
  37. package/fesm2022/dialog.mjs +25 -25
  38. package/fesm2022/divider.mjs +7 -7
  39. package/fesm2022/expansion.mjs +27 -27
  40. package/fesm2022/expansion.mjs.map +1 -1
  41. package/fesm2022/form-field.mjs +4 -4
  42. package/fesm2022/grid-list.mjs +22 -22
  43. package/fesm2022/icon-testing.mjs +7 -7
  44. package/fesm2022/icon.mjs +7 -7
  45. package/fesm2022/input.mjs +7 -7
  46. package/fesm2022/list.mjs +57 -57
  47. package/fesm2022/list.mjs.map +1 -1
  48. package/fesm2022/menu.mjs +22 -22
  49. package/fesm2022/paginator.mjs +10 -10
  50. package/fesm2022/progress-bar.mjs +7 -7
  51. package/fesm2022/progress-spinner.mjs +7 -7
  52. package/fesm2022/radio.mjs +10 -10
  53. package/fesm2022/select.mjs +18 -13
  54. package/fesm2022/select.mjs.map +1 -1
  55. package/fesm2022/sidenav.mjs +22 -22
  56. package/fesm2022/slide-toggle.mjs +9 -9
  57. package/fesm2022/slide-toggle.mjs.map +1 -1
  58. package/fesm2022/slider.mjs +16 -16
  59. package/fesm2022/snack-bar.mjs +22 -22
  60. package/fesm2022/sort.mjs +13 -13
  61. package/fesm2022/stepper.mjs +33 -33
  62. package/fesm2022/stepper.mjs.map +1 -1
  63. package/fesm2022/table.mjs +57 -57
  64. package/fesm2022/table.mjs.map +1 -1
  65. package/fesm2022/tabs.mjs +43 -43
  66. package/fesm2022/timepicker.mjs +83 -88
  67. package/fesm2022/timepicker.mjs.map +1 -1
  68. package/fesm2022/toolbar.mjs +10 -10
  69. package/fesm2022/tooltip.mjs +5 -5
  70. package/fesm2022/tree.mjs +25 -25
  71. package/fesm2022/tree.mjs.map +1 -1
  72. package/package.json +2 -2
  73. package/schematics/ng-add/index.js +1 -1
  74. package/schematics/ng-add/setup-project.js +1 -39
  75. package/schematics/ng-add/setup-project.js.map +1 -1
  76. package/schematics/ng-add/theming/{create-custom-theme.d.ts → create-theme.d.ts} +2 -2
  77. package/schematics/ng-add/theming/{create-custom-theme.js → create-theme.js} +6 -4
  78. package/schematics/ng-add/theming/create-theme.js.map +1 -0
  79. package/schematics/ng-add/theming/theming.js +15 -15
  80. package/schematics/ng-add/theming/theming.js.map +1 -1
  81. package/types/_tooltip-chunk.d.ts +313 -0
  82. package/types/paginator.d.ts +1 -0
  83. package/types/select.d.ts +2 -1
  84. package/types/stepper.d.ts +4 -4
  85. package/types/table.d.ts +4 -2
  86. package/types/timepicker.d.ts +2 -2
  87. package/types/tooltip.d.ts +7 -297
  88. package/schematics/ng-add/theming/create-custom-theme.js.map +0 -1
package/fesm2022/core.mjs CHANGED
@@ -24,7 +24,7 @@ import '@angular/cdk/private';
24
24
  import '@angular/cdk/platform';
25
25
  import '@angular/cdk/coercion';
26
26
 
27
- const VERSION = new Version('21.0.3');
27
+ const VERSION = new Version('21.0.6');
28
28
 
29
29
  const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
30
30
  const TIME_REGEX = /^(\d?\d)[:.](\d?\d)(?:[:.](\d?\d))?\s*(AM|PM)?$/i;
@@ -256,7 +256,7 @@ class NativeDateAdapter extends DateAdapter {
256
256
  }
257
257
  static ɵfac = i0.ɵɵngDeclareFactory({
258
258
  minVersion: "12.0.0",
259
- version: "21.0.0",
259
+ version: "21.0.3",
260
260
  ngImport: i0,
261
261
  type: NativeDateAdapter,
262
262
  deps: [],
@@ -264,14 +264,14 @@ class NativeDateAdapter extends DateAdapter {
264
264
  });
265
265
  static ɵprov = i0.ɵɵngDeclareInjectable({
266
266
  minVersion: "12.0.0",
267
- version: "21.0.0",
267
+ version: "21.0.3",
268
268
  ngImport: i0,
269
269
  type: NativeDateAdapter
270
270
  });
271
271
  }
272
272
  i0.ɵɵngDeclareClassMetadata({
273
273
  minVersion: "12.0.0",
274
- version: "21.0.0",
274
+ version: "21.0.3",
275
275
  ngImport: i0,
276
276
  type: NativeDateAdapter,
277
277
  decorators: [{
@@ -321,7 +321,7 @@ const MAT_NATIVE_DATE_FORMATS = {
321
321
  class NativeDateModule {
322
322
  static ɵfac = i0.ɵɵngDeclareFactory({
323
323
  minVersion: "12.0.0",
324
- version: "21.0.0",
324
+ version: "21.0.3",
325
325
  ngImport: i0,
326
326
  type: NativeDateModule,
327
327
  deps: [],
@@ -329,13 +329,13 @@ class NativeDateModule {
329
329
  });
330
330
  static ɵmod = i0.ɵɵngDeclareNgModule({
331
331
  minVersion: "14.0.0",
332
- version: "21.0.0",
332
+ version: "21.0.3",
333
333
  ngImport: i0,
334
334
  type: NativeDateModule
335
335
  });
336
336
  static ɵinj = i0.ɵɵngDeclareInjector({
337
337
  minVersion: "12.0.0",
338
- version: "21.0.0",
338
+ version: "21.0.3",
339
339
  ngImport: i0,
340
340
  type: NativeDateModule,
341
341
  providers: [{
@@ -346,7 +346,7 @@ class NativeDateModule {
346
346
  }
347
347
  i0.ɵɵngDeclareClassMetadata({
348
348
  minVersion: "12.0.0",
349
- version: "21.0.0",
349
+ version: "21.0.3",
350
350
  ngImport: i0,
351
351
  type: NativeDateModule,
352
352
  decorators: [{
@@ -362,7 +362,7 @@ i0.ɵɵngDeclareClassMetadata({
362
362
  class MatNativeDateModule {
363
363
  static ɵfac = i0.ɵɵngDeclareFactory({
364
364
  minVersion: "12.0.0",
365
- version: "21.0.0",
365
+ version: "21.0.3",
366
366
  ngImport: i0,
367
367
  type: MatNativeDateModule,
368
368
  deps: [],
@@ -370,13 +370,13 @@ class MatNativeDateModule {
370
370
  });
371
371
  static ɵmod = i0.ɵɵngDeclareNgModule({
372
372
  minVersion: "14.0.0",
373
- version: "21.0.0",
373
+ version: "21.0.3",
374
374
  ngImport: i0,
375
375
  type: MatNativeDateModule
376
376
  });
377
377
  static ɵinj = i0.ɵɵngDeclareInjector({
378
378
  minVersion: "12.0.0",
379
- version: "21.0.0",
379
+ version: "21.0.3",
380
380
  ngImport: i0,
381
381
  type: MatNativeDateModule,
382
382
  providers: [provideNativeDateAdapter()]
@@ -384,7 +384,7 @@ class MatNativeDateModule {
384
384
  }
385
385
  i0.ɵɵngDeclareClassMetadata({
386
386
  minVersion: "12.0.0",
387
- version: "21.0.0",
387
+ version: "21.0.3",
388
388
  ngImport: i0,
389
389
  type: MatNativeDateModule,
390
390
  decorators: [{
@@ -1 +1 @@
1
- {"version":3,"file":"core.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/version.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-formats.ts","../../../../../darwin_arm64-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('21.0.3');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {inject, Injectable} from '@angular/core';\nimport {DateAdapter, MAT_DATE_LOCALE} from './date-adapter';\n\n/**\n * Matches strings that have the form of a valid RFC 3339 string\n * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date\n * because the regex will match strings with an out of bounds month, date, etc.\n */\nconst ISO_8601_REGEX =\n /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/;\n\n/**\n * Matches a time string. Supported formats:\n * - {{hours}}:{{minutes}}\n * - {{hours}}:{{minutes}}:{{seconds}}\n * - {{hours}}:{{minutes}} AM/PM\n * - {{hours}}:{{minutes}}:{{seconds}} AM/PM\n * - {{hours}}.{{minutes}}\n * - {{hours}}.{{minutes}}.{{seconds}}\n * - {{hours}}.{{minutes}} AM/PM\n * - {{hours}}.{{minutes}}.{{seconds}} AM/PM\n */\nconst TIME_REGEX = /^(\\d?\\d)[:.](\\d?\\d)(?:[:.](\\d?\\d))?\\s*(AM|PM)?$/i;\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts the native JS Date for use with cdk-based components that work with dates. */\n@Injectable()\nexport class NativeDateAdapter extends DateAdapter<Date> {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\n\n if (matDateLocale !== undefined) {\n this._matDateLocale = matDateLocale;\n }\n\n super.setLocale(this._matDateLocale);\n }\n\n getYear(date: Date): number {\n return date.getFullYear();\n }\n\n getMonth(date: Date): number {\n return date.getMonth();\n }\n\n getDate(date: Date): number {\n return date.getDate();\n }\n\n getDayOfWeek(date: Date): number {\n return date.getDay();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {month: style, timeZone: 'utc'});\n return range(12, i => this._format(dtf, new Date(2017, i, 1)));\n }\n\n getDateNames(): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {day: 'numeric', timeZone: 'utc'});\n return range(31, i => this._format(dtf, new Date(2017, 0, i + 1)));\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {weekday: style, timeZone: 'utc'});\n return range(7, i => this._format(dtf, new Date(2017, 0, i + 1)));\n }\n\n getYearName(date: Date): string {\n const dtf = new Intl.DateTimeFormat(this.locale, {year: 'numeric', timeZone: 'utc'});\n return this._format(dtf, date);\n }\n\n getFirstDayOfWeek(): number {\n // At the time of writing `Intl.Locale` isn't available\n // in the internal types so we need to cast to `any`.\n if (typeof Intl !== 'undefined' && (Intl as any).Locale) {\n const locale = new (Intl as any).Locale(this.locale) as {\n getWeekInfo?: () => {firstDay: number};\n weekInfo?: {firstDay: number};\n };\n\n // Some browsers implement a `getWeekInfo` method while others have a `weekInfo` getter.\n // Note that this isn't supported in all browsers so we need to null check it.\n const firstDay = (locale.getWeekInfo?.() || locale.weekInfo)?.firstDay ?? 0;\n\n // `weekInfo.firstDay` is a number between 1 and 7 where, starting from Monday,\n // whereas our representation is 0 to 6 where 0 is Sunday so we need to normalize it.\n return firstDay === 7 ? 0 : firstDay;\n }\n\n // Default to Sunday if the browser doesn't provide the week information.\n return 0;\n }\n\n getNumDaysInMonth(date: Date): number {\n return this.getDate(\n this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0),\n );\n }\n\n clone(date: Date): Date {\n return new Date(date.getTime());\n }\n\n createDate(year: number, month: number, date: number): Date {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n // Check for invalid month and date (except upper bound on date which we have to check after\n // creating the Date).\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n }\n\n let result = this._createDateWithOverflow(year, month, date);\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\n if (result.getMonth() != month && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\n }\n\n return result;\n }\n\n today(): Date {\n return new Date();\n }\n\n parse(value: any, parseFormat?: any): Date | null {\n // We have no way using the native JS Date to set the parse format or locale, so we ignore these\n // parameters.\n if (typeof value == 'number') {\n return new Date(value);\n }\n return value ? new Date(Date.parse(value)) : null;\n }\n\n format(date: Date, displayFormat: Object): string {\n if (!this.isValid(date)) {\n throw Error('NativeDateAdapter: Cannot format invalid date.');\n }\n\n const dtf = new Intl.DateTimeFormat(this.locale, {...displayFormat, timeZone: 'utc'});\n return this._format(dtf, date);\n }\n\n addCalendarYears(date: Date, years: number): Date {\n return this.addCalendarMonths(date, years * 12);\n }\n\n addCalendarMonths(date: Date, months: number): Date {\n let newDate = this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date) + months,\n this.getDate(date),\n );\n\n // It's possible to wind up in the wrong month if the original month has more days than the new\n // month. In this case we want to go to the last day of the desired month.\n // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't\n // guarantee this.\n if (this.getMonth(newDate) != (((this.getMonth(date) + months) % 12) + 12) % 12) {\n newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);\n }\n\n return newDate;\n }\n\n addCalendarDays(date: Date, days: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date) + days,\n );\n }\n\n toIso8601(date: Date): string {\n return [\n date.getUTCFullYear(),\n this._2digit(date.getUTCMonth() + 1),\n this._2digit(date.getUTCDate()),\n ].join('-');\n }\n\n /**\n * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an\n * invalid date for all other values.\n */\n override deserialize(value: any): Date | null {\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the\n // string is the right format first.\n if (ISO_8601_REGEX.test(value)) {\n let date = new Date(value);\n if (this.isValid(date)) {\n return date;\n }\n }\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any) {\n return obj instanceof Date;\n }\n\n isValid(date: Date) {\n return !isNaN(date.getTime());\n }\n\n invalid(): Date {\n return new Date(NaN);\n }\n\n override setTime(target: Date, hours: number, minutes: number, seconds: number): Date {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!inRange(hours, 0, 23)) {\n throw Error(`Invalid hours \"${hours}\". Hours value must be between 0 and 23.`);\n }\n\n if (!inRange(minutes, 0, 59)) {\n throw Error(`Invalid minutes \"${minutes}\". Minutes value must be between 0 and 59.`);\n }\n\n if (!inRange(seconds, 0, 59)) {\n throw Error(`Invalid seconds \"${seconds}\". Seconds value must be between 0 and 59.`);\n }\n }\n\n const clone = this.clone(target);\n clone.setHours(hours, minutes, seconds, 0);\n return clone;\n }\n\n override getHours(date: Date): number {\n return date.getHours();\n }\n\n override getMinutes(date: Date): number {\n return date.getMinutes();\n }\n\n override getSeconds(date: Date): number {\n return date.getSeconds();\n }\n\n override parseTime(userValue: any, parseFormat?: any): Date | null {\n if (typeof userValue !== 'string') {\n return userValue instanceof Date ? new Date(userValue.getTime()) : null;\n }\n\n const value = userValue.trim();\n\n if (value.length === 0) {\n return null;\n }\n\n // Attempt to parse the value directly.\n let result = this._parseTimeString(value);\n\n // Some locales add extra characters around the time, but are otherwise parseable\n // (e.g. `00:05 ч.` in bg-BG). Try replacing all non-number and non-colon characters.\n if (result === null) {\n const withoutExtras = value.replace(/[^0-9:(AM|PM)]/gi, '').trim();\n\n if (withoutExtras.length > 0) {\n result = this._parseTimeString(withoutExtras);\n }\n }\n\n return result || this.invalid();\n }\n\n override addSeconds(date: Date, amount: number): Date {\n return new Date(date.getTime() + amount * 1000);\n }\n\n /** Creates a date but allows the month and date to overflow. */\n private _createDateWithOverflow(year: number, month: number, date: number) {\n // Passing the year to the constructor causes year numbers <100 to be converted to 19xx.\n // To work around this we use `setFullYear` and `setHours` instead.\n const d = new Date();\n d.setFullYear(year, month, date);\n d.setHours(0, 0, 0, 0);\n return d;\n }\n\n /**\n * Pads a number to make it two digits.\n * @param n The number to pad.\n * @returns The padded number.\n */\n private _2digit(n: number) {\n return ('00' + n).slice(-2);\n }\n\n /**\n * When converting Date object to string, javascript built-in functions may return wrong\n * results because it applies its internal DST rules. The DST rules around the world change\n * very frequently, and the current valid rule is not always valid in previous years though.\n * We work around this problem building a new Date object which has its internal UTC\n * representation with the local date and time.\n * @param dtf Intl.DateTimeFormat object, containing the desired string format. It must have\n * timeZone set to 'utc' to work fine.\n * @param date Date from which we want to get the string representation according to dtf\n * @returns A Date object with its UTC representation based on the passed in date info\n */\n private _format(dtf: Intl.DateTimeFormat, date: Date) {\n // Passing the year to the constructor causes year numbers <100 to be converted to 19xx.\n // To work around this we use `setUTCFullYear` and `setUTCHours` instead.\n const d = new Date();\n d.setUTCFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n d.setUTCHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n return dtf.format(d);\n }\n\n /**\n * Attempts to parse a time string into a date object. Returns null if it cannot be parsed.\n * @param value Time string to parse.\n */\n private _parseTimeString(value: string): Date | null {\n // Note: we can technically rely on the browser for the time parsing by generating\n // an ISO string and appending the string to the end of it. We don't do it, because\n // browsers aren't consistent in what they support. Some examples:\n // - Safari doesn't support AM/PM.\n // - Firefox produces a valid date object if the time string has overflows (e.g. 12:75) while\n // other browsers produce an invalid date.\n // - Safari doesn't allow padded numbers.\n const parsed = value.toUpperCase().match(TIME_REGEX);\n\n if (parsed) {\n let hours = parseInt(parsed[1]);\n const minutes = parseInt(parsed[2]);\n let seconds: number | undefined = parsed[3] == null ? undefined : parseInt(parsed[3]);\n const amPm = parsed[4] as 'AM' | 'PM' | undefined;\n\n if (hours === 12) {\n hours = amPm === 'AM' ? 0 : hours;\n } else if (amPm === 'PM') {\n hours += 12;\n }\n\n if (\n inRange(hours, 0, 23) &&\n inRange(minutes, 0, 59) &&\n (seconds == null || inRange(seconds, 0, 59))\n ) {\n return this.setTime(this.today(), hours, minutes, seconds || 0);\n }\n }\n\n return null;\n }\n}\n\n/** Checks whether a number is within a certain range. */\nfunction inRange(value: number, min: number, max: number): boolean {\n return !isNaN(value) && value >= min && value <= max;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {MatDateFormats} from './date-formats';\n\nexport const MAT_NATIVE_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: null,\n timeInput: null,\n },\n display: {\n dateInput: {year: 'numeric', month: 'numeric', day: 'numeric'},\n timeInput: {hour: 'numeric', minute: 'numeric'},\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'},\n timeOptionLabel: {hour: 'numeric', minute: 'numeric'},\n },\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {NgModule, Provider} from '@angular/core';\nimport {DateAdapter} from './date-adapter';\nimport {MAT_DATE_FORMATS, MatDateFormats} from './date-formats';\nimport {NativeDateAdapter} from './native-date-adapter';\nimport {MAT_NATIVE_DATE_FORMATS} from './native-date-formats';\n\nexport * from './date-adapter';\nexport * from './date-formats';\nexport * from './native-date-adapter';\nexport * from './native-date-formats';\n\n@NgModule({\n providers: [{provide: DateAdapter, useClass: NativeDateAdapter}],\n})\nexport class NativeDateModule {}\n\n@NgModule({\n providers: [provideNativeDateAdapter()],\n})\nexport class MatNativeDateModule {}\n\nexport function provideNativeDateAdapter(\n formats: MatDateFormats = MAT_NATIVE_DATE_FORMATS,\n): Provider[] {\n return [\n {provide: DateAdapter, useClass: NativeDateAdapter},\n {provide: MAT_DATE_FORMATS, useValue: formats},\n ];\n}\n"],"names":["VERSION","Version","ISO_8601_REGEX","TIME_REGEX","range","length","valueFunction","valuesArray","Array","i","NativeDateAdapter","DateAdapter","_matDateLocale","inject","MAT_DATE_LOCALE","optional","constructor","matDateLocale","undefined","setLocale","getYear","date","getFullYear","getMonth","getDate","getDayOfWeek","getDay","getMonthNames","style","dtf","Intl","DateTimeFormat","locale","month","timeZone","_format","Date","getDateNames","day","getDayOfWeekNames","weekday","getYearName","year","getFirstDayOfWeek","Locale","firstDay","getWeekInfo","weekInfo","getNumDaysInMonth","_createDateWithOverflow","clone","getTime","createDate","ngDevMode","Error","result","today","parse","value","parseFormat","format","displayFormat","isValid","addCalendarYears","years","addCalendarMonths","months","newDate","addCalendarDays","days","toIso8601","getUTCFullYear","_2digit","getUTCMonth","getUTCDate","join","deserialize","test","isDateInstance","obj","isNaN","invalid","NaN","setTime","target","hours","minutes","seconds","inRange","setHours","getHours","getMinutes","getSeconds","parseTime","userValue","trim","_parseTimeString","withoutExtras","replace","addSeconds","amount","d","setFullYear","n","slice","setUTCFullYear","setUTCHours","getMilliseconds","parsed","toUpperCase","match","parseInt","amPm","deps","i0","ɵɵFactoryTarget","Injectable","decorators","min","max","MAT_NATIVE_DATE_FORMATS","dateInput","timeInput","display","hour","minute","monthYearLabel","dateA11yLabel","monthYearA11yLabel","timeOptionLabel","NativeDateModule","NgModule","providers","provide","useClass","args","MatNativeDateModule","ɵinj","ɵɵngDeclareInjector","minVersion","version","ngImport","type","provideNativeDateAdapter","formats","MAT_DATE_FORMATS","useValue"],"mappings":"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"}
1
+ {"version":3,"file":"core.mjs","sources":["../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/version.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-adapter.ts","../../../../../darwin_arm64-fastbuild-ST-fdfa778d11ba/bin/src/material/core/datetime/native-date-formats.ts","../../../../../darwin_arm64-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('21.0.6');\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {inject, Injectable} from '@angular/core';\nimport {DateAdapter, MAT_DATE_LOCALE} from './date-adapter';\n\n/**\n * Matches strings that have the form of a valid RFC 3339 string\n * (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date\n * because the regex will match strings with an out of bounds month, date, etc.\n */\nconst ISO_8601_REGEX =\n /^\\d{4}-\\d{2}-\\d{2}(?:T\\d{2}:\\d{2}:\\d{2}(?:\\.\\d+)?(?:Z|(?:(?:\\+|-)\\d{2}:\\d{2}))?)?$/;\n\n/**\n * Matches a time string. Supported formats:\n * - {{hours}}:{{minutes}}\n * - {{hours}}:{{minutes}}:{{seconds}}\n * - {{hours}}:{{minutes}} AM/PM\n * - {{hours}}:{{minutes}}:{{seconds}} AM/PM\n * - {{hours}}.{{minutes}}\n * - {{hours}}.{{minutes}}.{{seconds}}\n * - {{hours}}.{{minutes}} AM/PM\n * - {{hours}}.{{minutes}}.{{seconds}} AM/PM\n */\nconst TIME_REGEX = /^(\\d?\\d)[:.](\\d?\\d)(?:[:.](\\d?\\d))?\\s*(AM|PM)?$/i;\n\n/** Creates an array and fills it with values. */\nfunction range<T>(length: number, valueFunction: (index: number) => T): T[] {\n const valuesArray = Array(length);\n for (let i = 0; i < length; i++) {\n valuesArray[i] = valueFunction(i);\n }\n return valuesArray;\n}\n\n/** Adapts the native JS Date for use with cdk-based components that work with dates. */\n@Injectable()\nexport class NativeDateAdapter extends DateAdapter<Date> {\n /** The injected locale. */\n private readonly _matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\n\n constructor(...args: unknown[]);\n\n constructor() {\n super();\n\n const matDateLocale = inject(MAT_DATE_LOCALE, {optional: true});\n\n if (matDateLocale !== undefined) {\n this._matDateLocale = matDateLocale;\n }\n\n super.setLocale(this._matDateLocale);\n }\n\n getYear(date: Date): number {\n return date.getFullYear();\n }\n\n getMonth(date: Date): number {\n return date.getMonth();\n }\n\n getDate(date: Date): number {\n return date.getDate();\n }\n\n getDayOfWeek(date: Date): number {\n return date.getDay();\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {month: style, timeZone: 'utc'});\n return range(12, i => this._format(dtf, new Date(2017, i, 1)));\n }\n\n getDateNames(): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {day: 'numeric', timeZone: 'utc'});\n return range(31, i => this._format(dtf, new Date(2017, 0, i + 1)));\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n const dtf = new Intl.DateTimeFormat(this.locale, {weekday: style, timeZone: 'utc'});\n return range(7, i => this._format(dtf, new Date(2017, 0, i + 1)));\n }\n\n getYearName(date: Date): string {\n const dtf = new Intl.DateTimeFormat(this.locale, {year: 'numeric', timeZone: 'utc'});\n return this._format(dtf, date);\n }\n\n getFirstDayOfWeek(): number {\n // At the time of writing `Intl.Locale` isn't available\n // in the internal types so we need to cast to `any`.\n if (typeof Intl !== 'undefined' && (Intl as any).Locale) {\n const locale = new (Intl as any).Locale(this.locale) as {\n getWeekInfo?: () => {firstDay: number};\n weekInfo?: {firstDay: number};\n };\n\n // Some browsers implement a `getWeekInfo` method while others have a `weekInfo` getter.\n // Note that this isn't supported in all browsers so we need to null check it.\n const firstDay = (locale.getWeekInfo?.() || locale.weekInfo)?.firstDay ?? 0;\n\n // `weekInfo.firstDay` is a number between 1 and 7 where, starting from Monday,\n // whereas our representation is 0 to 6 where 0 is Sunday so we need to normalize it.\n return firstDay === 7 ? 0 : firstDay;\n }\n\n // Default to Sunday if the browser doesn't provide the week information.\n return 0;\n }\n\n getNumDaysInMonth(date: Date): number {\n return this.getDate(\n this._createDateWithOverflow(this.getYear(date), this.getMonth(date) + 1, 0),\n );\n }\n\n clone(date: Date): Date {\n return new Date(date.getTime());\n }\n\n createDate(year: number, month: number, date: number): Date {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n // Check for invalid month and date (except upper bound on date which we have to check after\n // creating the Date).\n if (month < 0 || month > 11) {\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\n }\n\n if (date < 1) {\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\n }\n }\n\n let result = this._createDateWithOverflow(year, month, date);\n // Check that the date wasn't above the upper bound for the month, causing the month to overflow\n if (result.getMonth() != month && (typeof ngDevMode === 'undefined' || ngDevMode)) {\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\n }\n\n return result;\n }\n\n today(): Date {\n return new Date();\n }\n\n parse(value: any, parseFormat?: any): Date | null {\n // We have no way using the native JS Date to set the parse format or locale, so we ignore these\n // parameters.\n if (typeof value == 'number') {\n return new Date(value);\n }\n return value ? new Date(Date.parse(value)) : null;\n }\n\n format(date: Date, displayFormat: Object): string {\n if (!this.isValid(date)) {\n throw Error('NativeDateAdapter: Cannot format invalid date.');\n }\n\n const dtf = new Intl.DateTimeFormat(this.locale, {...displayFormat, timeZone: 'utc'});\n return this._format(dtf, date);\n }\n\n addCalendarYears(date: Date, years: number): Date {\n return this.addCalendarMonths(date, years * 12);\n }\n\n addCalendarMonths(date: Date, months: number): Date {\n let newDate = this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date) + months,\n this.getDate(date),\n );\n\n // It's possible to wind up in the wrong month if the original month has more days than the new\n // month. In this case we want to go to the last day of the desired month.\n // Note: the additional + 12 % 12 ensures we end up with a positive number, since JS % doesn't\n // guarantee this.\n if (this.getMonth(newDate) != (((this.getMonth(date) + months) % 12) + 12) % 12) {\n newDate = this._createDateWithOverflow(this.getYear(newDate), this.getMonth(newDate), 0);\n }\n\n return newDate;\n }\n\n addCalendarDays(date: Date, days: number): Date {\n return this._createDateWithOverflow(\n this.getYear(date),\n this.getMonth(date),\n this.getDate(date) + days,\n );\n }\n\n toIso8601(date: Date): string {\n return [\n date.getUTCFullYear(),\n this._2digit(date.getUTCMonth() + 1),\n this._2digit(date.getUTCDate()),\n ].join('-');\n }\n\n /**\n * Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings\n * (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an\n * invalid date for all other values.\n */\n override deserialize(value: any): Date | null {\n if (typeof value === 'string') {\n if (!value) {\n return null;\n }\n // The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the\n // string is the right format first.\n if (ISO_8601_REGEX.test(value)) {\n let date = new Date(value);\n if (this.isValid(date)) {\n return date;\n }\n }\n }\n return super.deserialize(value);\n }\n\n isDateInstance(obj: any) {\n return obj instanceof Date;\n }\n\n isValid(date: Date) {\n return !isNaN(date.getTime());\n }\n\n invalid(): Date {\n return new Date(NaN);\n }\n\n override setTime(target: Date, hours: number, minutes: number, seconds: number): Date {\n if (typeof ngDevMode === 'undefined' || ngDevMode) {\n if (!inRange(hours, 0, 23)) {\n throw Error(`Invalid hours \"${hours}\". Hours value must be between 0 and 23.`);\n }\n\n if (!inRange(minutes, 0, 59)) {\n throw Error(`Invalid minutes \"${minutes}\". Minutes value must be between 0 and 59.`);\n }\n\n if (!inRange(seconds, 0, 59)) {\n throw Error(`Invalid seconds \"${seconds}\". Seconds value must be between 0 and 59.`);\n }\n }\n\n const clone = this.clone(target);\n clone.setHours(hours, minutes, seconds, 0);\n return clone;\n }\n\n override getHours(date: Date): number {\n return date.getHours();\n }\n\n override getMinutes(date: Date): number {\n return date.getMinutes();\n }\n\n override getSeconds(date: Date): number {\n return date.getSeconds();\n }\n\n override parseTime(userValue: any, parseFormat?: any): Date | null {\n if (typeof userValue !== 'string') {\n return userValue instanceof Date ? new Date(userValue.getTime()) : null;\n }\n\n const value = userValue.trim();\n\n if (value.length === 0) {\n return null;\n }\n\n // Attempt to parse the value directly.\n let result = this._parseTimeString(value);\n\n // Some locales add extra characters around the time, but are otherwise parseable\n // (e.g. `00:05 ч.` in bg-BG). Try replacing all non-number and non-colon characters.\n if (result === null) {\n const withoutExtras = value.replace(/[^0-9:(AM|PM)]/gi, '').trim();\n\n if (withoutExtras.length > 0) {\n result = this._parseTimeString(withoutExtras);\n }\n }\n\n return result || this.invalid();\n }\n\n override addSeconds(date: Date, amount: number): Date {\n return new Date(date.getTime() + amount * 1000);\n }\n\n /** Creates a date but allows the month and date to overflow. */\n private _createDateWithOverflow(year: number, month: number, date: number) {\n // Passing the year to the constructor causes year numbers <100 to be converted to 19xx.\n // To work around this we use `setFullYear` and `setHours` instead.\n const d = new Date();\n d.setFullYear(year, month, date);\n d.setHours(0, 0, 0, 0);\n return d;\n }\n\n /**\n * Pads a number to make it two digits.\n * @param n The number to pad.\n * @returns The padded number.\n */\n private _2digit(n: number) {\n return ('00' + n).slice(-2);\n }\n\n /**\n * When converting Date object to string, javascript built-in functions may return wrong\n * results because it applies its internal DST rules. The DST rules around the world change\n * very frequently, and the current valid rule is not always valid in previous years though.\n * We work around this problem building a new Date object which has its internal UTC\n * representation with the local date and time.\n * @param dtf Intl.DateTimeFormat object, containing the desired string format. It must have\n * timeZone set to 'utc' to work fine.\n * @param date Date from which we want to get the string representation according to dtf\n * @returns A Date object with its UTC representation based on the passed in date info\n */\n private _format(dtf: Intl.DateTimeFormat, date: Date) {\n // Passing the year to the constructor causes year numbers <100 to be converted to 19xx.\n // To work around this we use `setUTCFullYear` and `setUTCHours` instead.\n const d = new Date();\n d.setUTCFullYear(date.getFullYear(), date.getMonth(), date.getDate());\n d.setUTCHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());\n return dtf.format(d);\n }\n\n /**\n * Attempts to parse a time string into a date object. Returns null if it cannot be parsed.\n * @param value Time string to parse.\n */\n private _parseTimeString(value: string): Date | null {\n // Note: we can technically rely on the browser for the time parsing by generating\n // an ISO string and appending the string to the end of it. We don't do it, because\n // browsers aren't consistent in what they support. Some examples:\n // - Safari doesn't support AM/PM.\n // - Firefox produces a valid date object if the time string has overflows (e.g. 12:75) while\n // other browsers produce an invalid date.\n // - Safari doesn't allow padded numbers.\n const parsed = value.toUpperCase().match(TIME_REGEX);\n\n if (parsed) {\n let hours = parseInt(parsed[1]);\n const minutes = parseInt(parsed[2]);\n let seconds: number | undefined = parsed[3] == null ? undefined : parseInt(parsed[3]);\n const amPm = parsed[4] as 'AM' | 'PM' | undefined;\n\n if (hours === 12) {\n hours = amPm === 'AM' ? 0 : hours;\n } else if (amPm === 'PM') {\n hours += 12;\n }\n\n if (\n inRange(hours, 0, 23) &&\n inRange(minutes, 0, 59) &&\n (seconds == null || inRange(seconds, 0, 59))\n ) {\n return this.setTime(this.today(), hours, minutes, seconds || 0);\n }\n }\n\n return null;\n }\n}\n\n/** Checks whether a number is within a certain range. */\nfunction inRange(value: number, min: number, max: number): boolean {\n return !isNaN(value) && value >= min && value <= max;\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {MatDateFormats} from './date-formats';\n\nexport const MAT_NATIVE_DATE_FORMATS: MatDateFormats = {\n parse: {\n dateInput: null,\n timeInput: null,\n },\n display: {\n dateInput: {year: 'numeric', month: 'numeric', day: 'numeric'},\n timeInput: {hour: 'numeric', minute: 'numeric'},\n monthYearLabel: {year: 'numeric', month: 'short'},\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\n monthYearA11yLabel: {year: 'numeric', month: 'long'},\n timeOptionLabel: {hour: 'numeric', minute: 'numeric'},\n },\n};\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.dev/license\n */\n\nimport {NgModule, Provider} from '@angular/core';\nimport {DateAdapter} from './date-adapter';\nimport {MAT_DATE_FORMATS, MatDateFormats} from './date-formats';\nimport {NativeDateAdapter} from './native-date-adapter';\nimport {MAT_NATIVE_DATE_FORMATS} from './native-date-formats';\n\nexport * from './date-adapter';\nexport * from './date-formats';\nexport * from './native-date-adapter';\nexport * from './native-date-formats';\n\n@NgModule({\n providers: [{provide: DateAdapter, useClass: NativeDateAdapter}],\n})\nexport class NativeDateModule {}\n\n@NgModule({\n providers: [provideNativeDateAdapter()],\n})\nexport class MatNativeDateModule {}\n\nexport function provideNativeDateAdapter(\n formats: MatDateFormats = MAT_NATIVE_DATE_FORMATS,\n): Provider[] {\n return [\n {provide: DateAdapter, useClass: NativeDateAdapter},\n {provide: MAT_DATE_FORMATS, useValue: formats},\n ];\n}\n"],"names":["VERSION","Version","ISO_8601_REGEX","TIME_REGEX","range","length","valueFunction","valuesArray","Array","i","NativeDateAdapter","DateAdapter","_matDateLocale","inject","MAT_DATE_LOCALE","optional","constructor","matDateLocale","undefined","setLocale","getYear","date","getFullYear","getMonth","getDate","getDayOfWeek","getDay","getMonthNames","style","dtf","Intl","DateTimeFormat","locale","month","timeZone","_format","Date","getDateNames","day","getDayOfWeekNames","weekday","getYearName","year","getFirstDayOfWeek","Locale","firstDay","getWeekInfo","weekInfo","getNumDaysInMonth","_createDateWithOverflow","clone","getTime","createDate","ngDevMode","Error","result","today","parse","value","parseFormat","format","displayFormat","isValid","addCalendarYears","years","addCalendarMonths","months","newDate","addCalendarDays","days","toIso8601","getUTCFullYear","_2digit","getUTCMonth","getUTCDate","join","deserialize","test","isDateInstance","obj","isNaN","invalid","NaN","setTime","target","hours","minutes","seconds","inRange","setHours","getHours","getMinutes","getSeconds","parseTime","userValue","trim","_parseTimeString","withoutExtras","replace","addSeconds","amount","d","setFullYear","n","slice","setUTCFullYear","setUTCHours","getMilliseconds","parsed","toUpperCase","match","parseInt","amPm","deps","i0","ɵɵFactoryTarget","Injectable","decorators","min","max","MAT_NATIVE_DATE_FORMATS","dateInput","timeInput","display","hour","minute","monthYearLabel","dateA11yLabel","monthYearA11yLabel","timeOptionLabel","NativeDateModule","NgModule","providers","provide","useClass","args","MatNativeDateModule","ɵinj","ɵɵngDeclareInjector","minVersion","version","ngImport","type","provideNativeDateAdapter","formats","MAT_DATE_FORMATS","useValue"],"mappings":"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"}