From 1a173cb519d5e5f21f67c53a4a9468bc115e41ce Mon Sep 17 00:00:00 2001
From: Wagner Maciel
This guide describes how to set up theming for your application using -Sass APIs introduced in Angular Material v19.
+Sass APIs introduced in Angular Material v19.If your application depends on a version before v19, or if your application's
-theme is applied using a theme config created with mat.define-theme
,
+theme is applied using a theme config created with mat.define-theme
,
mat.define-light-theme
, or mat.define-dark-theme
,
-then you can refer to the theming guides at
+then you can refer to the theming guides at
v18.material.angular.dev/guides.
The theme
‘s color determines the component color styles, such as the fill
color of checkboxes or ripple color of buttons. It depends on color palettes of
@@ -62,7 +62,7 @@
If you provide a single color palette, Angular Material uses its values for the theme’s primary, secondary, and tertiary colors. The CSS color values will be @@ -71,7 +71,7 @@
If you provide a color map, then the tertiary color palette can be configured separately from the primary palette. The tertiary palette can be used to add a @@ -107,7 +107,7 @@
The mat.theme
‘s typography determines the text styles used in components,
such as the font for dialog titles or menu list items.
If you provide a font family, Angular Material uses it for all the text in its components. The font weights used in components are set to 700 for bold text, @@ -124,7 +124,7 @@
If you provide a typography map, then distinct font families are set for plain and brand text. The plain font family is typically used for most of the @@ -153,7 +153,7 @@
The mat.theme
‘s density value determines the spacing within components, such
as how much padding is used around a button’s text or the height of form fields.
A color palette is a set of similar colors with different hues ranging from light to dark. The Angular Material theme uses color palettes to create a color @@ -189,7 +189,7 @@
Angular Material provides twelve prebuilt color palettes that can be used for your application’s theme:
@@ -210,7 +210,7 @@The Angular Material palette generation schematic @@ -220,7 +220,7 @@
ng generate @angular/material:theme-color
You can use Google Fonts as one option to load fonts in your application. For
example, the following code in an application’s <head>
loads the font family
@@ -235,7 +235,7 @@
By default, the mat.theme
mixin defines colors using the CSS color function
light-dark
to make it easy for your application to switch between light and
@@ -280,14 +280,14 @@
You can call the mat.theme
mixin more than once to apply multiple different
color schemes in your application.
The following example theme file customizes the theme for components in different contexts. In this case, a cyan-based palette is applied to a container @@ -310,7 +310,7 @@
An application’s custom components can use the CSS variables defined by
mat.theme
to apply the theme’s colors and typography.
Angular Material components also allow for narrowly targeted customization of
specific tokens through the overrides
mixins. This enables fine-grained
@@ -345,7 +345,7 @@
System-level tokens can be changed to different values through the
mat.theme-overrides
mixin, which will redefine CSS variables that are used in
@@ -383,7 +383,7 @@
Each Angular Material component defines an overrides
mixin that can be used to
customize tokenized styles for their color, typography, and density.
Angular Material supports customizing color, typography, and density as outlined in this document. Angular strongly discourages, and does not directly support, @@ -413,7 +413,7 @@
Angular Material assumes that, by default, all theme styles are loaded as global
CSS. If you want to use
diff --git a/package.json b/package.json
index 7cc3bad01..b28d9bbdb 100755
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@angular/components-examples",
- "version": "20.1.0+sha-4515f24",
+ "version": "20.1.0+sha-8572953",
"description": "Angular Components Examples",
"private": true,
"repository": {
@@ -259,15 +259,15 @@
},
"homepage": "https://github.com/angular/components#readme",
"peerDependencies": {
- "@angular/cdk": "20.1.0+sha-4515f24",
- "@angular/cdk-experimental": "20.1.0+sha-4515f24",
+ "@angular/cdk": "20.1.0+sha-8572953",
+ "@angular/cdk-experimental": "20.1.0+sha-8572953",
"@angular/core": "^20.0.0 || ^21.0.0",
"@angular/common": "^20.0.0 || ^21.0.0",
- "@angular/material": "20.1.0+sha-4515f24",
- "@angular/material-experimental": "20.1.0+sha-4515f24",
- "@angular/material-moment-adapter": "20.1.0+sha-4515f24",
- "@angular/material-luxon-adapter": "20.1.0+sha-4515f24",
- "@angular/material-date-fns-adapter": "20.1.0+sha-4515f24"
+ "@angular/material": "20.1.0+sha-8572953",
+ "@angular/material-experimental": "20.1.0+sha-8572953",
+ "@angular/material-moment-adapter": "20.1.0+sha-8572953",
+ "@angular/material-luxon-adapter": "20.1.0+sha-8572953",
+ "@angular/material-date-fns-adapter": "20.1.0+sha-8572953"
},
"devDependencies": {
"@angular/cdk": "workspace:*",
From 20b47ae3f604a45b68d033cb5561d1d517253994 Mon Sep 17 00:00:00 2001
From: Kristiyan Kostadinov
+ Whether to open the timepicker overlay when clicking on the input. Enabled by default.
+Note that when disabling this option, you'll have to provide your own logic for opening
+the overlay.
Value: {{formControl.value}} Touched: {{formControl.touched}} Dirty: {{formControl.dirty}} Value: {{formControl.value}} Touched: {{formControl.touched}} Dirty: {{formControl.dirty}} Value: {{value}} Value: {{value}} Enter a value before 12:30 PM or after 5:30 PM to see the errors Errors: {{formControl.errors | json}} Enter a value before 12:30 PM or after 5:30 PM to see the errors Errors: {{formControl.errors | json}} Value: {{formControl.value}} Touched: {{formControl.touched}} Dirty: {{formControl.dirty}} Value: {{value}} Enter a value before 12:30 PM or after 5:30 PM to see the errors Errors: {{formControl.errors | json}} Value: {{formControl.value}} Touched: {{formControl.touched}} Dirty: {{formControl.dirty}} Value: {{value}} Enter a value before 12:30 PM or after 5:30 PM to see the errors Errors: {{formControl.errors | json}} Using the command below will install Angular Material, the Component Dev Kit (CDK),
and Angular Animations in your project. Then it will run the
installation schematic. In case you just want to install the The Angular Material In case you just want to install the The Angular Material The The table schematic will create a component that renders an Angular Material The The The The Learn more about this schematic in its documentation. Learn more about this schematic in its documentation. You can use the following styles to apply the theme’s surface background and
on-surface text colors as a default across your application: The The following example theme file has a density setting of -2 which causes most
components to include less whitespace in their layout. The color scheme uses the
violet color palette and applies Roboto as the font-family. Setting the density below 0 can reduce accessibility and make navigation harder
for users of assistive technology. You can use Google Fonts as one option to load fonts in your application. For
example, the following code in an application’s Learn more about using fonts with
+ Learn more about using fonts with
Google Fonts. By
default, projects created with the Angular CLI are
configured
@@ -245,32 +245,32 @@ You can define You can also use the strategy of defining Angular Material does not automatically apply different styles or themes based
on user preference media queries, such as The following example styles demonstrate a component using the color and
typography variables to create an application-wide banner presenting important
information to the user: See the Theme Variables guide for a
comprehensive list of these variables, examples of where they are used, and how
components can depend on them. The following example applies a violet color palette for the application, but
alters the Alternatively, an optional override map can be provided in the The following example demonstrates the Card’s Example of how to add sorting support to a If your draggable items are inside a scrollable container (e.g., a div with overflow: auto)
+automatic scrolling will not work unless the scrollable container has the Gets the text content of the floating label, if it exists. Gets the label for the control, if it exists. This might be provided by a label element or by
+the Gets the text content of the floating label, if it exists. Gets the label for the control, if it exists. This might be provided by a label element or by
+the Gets the text content of the floating label, if it exists. Gets the label for the control, if it exists. This might be provided by a label element or by
+the Gets the floating label text for the range input, if it exists. Gets the label for the range input, if it exists. This might be provided by a label element or
+by the Gets the text content of the floating label, if it exists. Gets the label for the control, if it exists. This might be provided by a label element or by
+the Gets the text content of the floating label, if it exists. Gets the label for the control, if it exists. This might be provided by a label element or by
+the Gets the text content of the floating label, if it exists. Gets the label for the control, if it exists. This might be provided by a label element or by
+the Gets the text content of the floating label, if it exists. Gets the label for the control, if it exists. This might be provided by a label element or by
+the
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages. Alternative Proxies:
+
+ openOnClick: InputSignalWithTransform<boolean, unknown>
+
+
+
+
+
+
+
timepicker: InputSignal<MatTimepicker<D>>
diff --git a/fesm2022/material/timepicker.mjs b/fesm2022/material/timepicker.mjs
index df6f0e9dd..570daabce 100755
--- a/fesm2022/material/timepicker.mjs
+++ b/fesm2022/material/timepicker.mjs
@@ -19,7 +19,7 @@ import { MatButtonModule } from '@angular/material/button';
/** @title Basic timepicker */
class TimepickerOverviewExample {
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: TimepickerOverviewExample, deps: [], target: i0.ɵɵFactoryTarget.Component });
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: TimepickerOverviewExample, isStandalone: true, selector: "timepicker-overview-example", providers: [provideNativeDateAdapter()], ngImport: i0, template: "Interval examples
\n\nCustom list of options
\n\nInterval examples
\n\nCustom list of options
\n\nInterval examples
\n\nCustom list of options
\n\nInterval examples
\n\nCustom list of options
\n\n
ng add @angular/material
@angular/cdk
, there are also schematics for the Component Dev Kitng add @angular/cdk
ng add
schematic helps you set up an Angular CLI project that uses Material. Running ng add
will:ng add @angular/material
@angular/cdk
, there are also schematics for the Component Dev Kitng add @angular/cdk
ng add
schematic helps you set up an Angular CLI project that uses Material. Running ng add
will:
-package.json
+ng generate @angular/material:address-form
ng generate @angular/material:address-form <component-name>
Navigation schematic
@@ -92,35 +92,35 @@
navigation
schematic will create a new component that includes
a toolbar with the app name, and a responsive side nav based on Material
breakpoints.
+ng generate @angular/material:navigation
ng generate @angular/material:navigation <component-name>
Table schematic
<table>
which has
been pre-configured with a datasource for sorting and pagination.
+ng generate @angular/material:table
ng generate @angular/material:table <component-name>
Dashboard schematic
dashboard
schematic will create a new component that contains
a dynamic grid list of Material Design cards.
+ng generate @angular/material:dashboard
ng generate @angular/material:dashboard <component-name>
Tree schematic
tree
schematic can be used to quickly generate an Angular component that uses the Angular
Material <mat-tree>
component to visualize a nested folder structure.
+ng generate @angular/material:tree
ng generate @angular/material:tree <component-name>
Drag and Drop schematic
drag-drop
schematic is provided by the @angular/cdk
and can be used to generate a component
that uses the CDK drag and drop directives.
+ng generate @angular/cdk:drag-drop
ng generate @angular/cdk:drag-drop <component-name>
Material 3 Theme schematic
@@ -128,5 +128,5 @@
theme-color
schematic will generate a file with Material 3 palettes from the specified colors
that can be used in a theme file. It also generates high contrast color override mixins if
specified.ng generate @angular/material:theme-color
ng generate @angular/material:theme-color
entire application. The
color-scheme
is explicitly set to light dark
so that
the end user's system preferences are used to determine whether the application
appears in light or dark mode.
-@use '@angular/material' as mat;
+
@use '@angular/material' as mat;
-html {
- color-scheme: light dark;
- @include mat.theme((
- color: mat.$violet-palette,
- typography: Roboto,
- density: 0
+html {
+ color-scheme: light dark;
+ @include mat.theme((
+ color: mat.$violet-palette,
+ typography: Roboto,
+ density: 0
));
}
body {
- background: var(--mat-sys-surface);
- color: var(--mat-sys-on-surface);
+
body {
+ background: var(--mat-sys-surface);
+ color: var(--mat-sys-on-surface);
}
mat.theme
mixin will only declare CSS variables for the categories
included in the input. For example, if typography
is not defined, then
typography CSS variables will not be included in the output.
tertiary color. The theme-type is set to
light
which means that only the light
color values will be set for the application. The typography is set to Roboto
with a standard density setting.
-@use '@angular/material' as mat;
+
@use '@angular/material' as mat;
-html {
- @include mat.theme((
- color: (
- primary: mat.$violet-palette,
- tertiary: mat.$orange-palette,
- theme-type: light,
+html {
+ @include mat.theme((
+ color: (
+ primary: mat.$violet-palette,
+ tertiary: mat.$orange-palette,
+ theme-type: light,
),
- typography: Roboto,
- density: 0
+ typography: Roboto,
+ density: 0
));
}
@@ -136,19 +136,19 @@
and the Open Sans font family to brand text. It specifies that bold weight is
900, medium weight is 500, and regular weight is 300. The color scheme uses the
violet color palette with a standard density.
-
@use '@angular/material' as mat;
+
@use '@angular/material' as mat;
-html {
- @include mat.theme((
- color: mat.$violet-palette,
- typography: (
- plain-family: Roboto,
- brand-family: Open Sans,
- bold-weight: 900,
- medium-weight: 500,
- regular-weight: 300,
+html {
+ @include mat.theme((
+ color: mat.$violet-palette,
+ typography: (
+ plain-family: Roboto,
+ brand-family: Open Sans,
+ bold-weight: 900,
+ medium-weight: 500,
+ regular-weight: 300,
),
- density: 0,
+ density: 0,
));
}
@@ -164,13 +164,13 @@
@use '@angular/material' as mat;
+
@use '@angular/material' as mat;
-html {
- @include mat.theme((
- color: mat.$violet-palette,
- typography: Roboto,
- density: -2,
+html {
+ @include mat.theme((
+ color: mat.$violet-palette,
+ typography: Roboto,
+ density: -2,
));
}
builds custom color palettes based on a single color input for the primary
color, and optionally color inputs to further customize secondary, tertiary, and
neutral palettes:
-
+ng generate @angular/material:theme-color
ng generate @angular/material:theme-color
Loading Fonts
@@ -225,9 +225,9 @@
<head>
loads the font family
Roboto with the font weights 700, 500, and 400:
-
-
<link rel="preconnect" href="https://fonts.googleapis.com">
+<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
+<link href="https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300..800;1,300..800&family=Roboto:wght@400;500;700&display=swap" rel="stylesheet">
color-scheme: light
or color-scheme: dark
to explicitly
define your application’s mode. To set the mode depending on the user’s system
preferences, use color-scheme: light-dark
as shown in the following example:@use '@angular/material' as mat;
+
@use '@angular/material' as mat;
-html {
- color-scheme: light dark;
- @include mat.theme((
- color: mat.$violet-palette,
- typography: Roboto,
- density: 0
+html {
+ color-scheme: light dark;
+ @include mat.theme((
+ color: mat.$violet-palette,
+ typography: Roboto,
+ density: 0
));
}
color-scheme
under a CSS selector so
that the mode depends on whether that class has been applied. In the following
example, the application always displays the light mode theme unless the class
“dark-mode” is added to the HTML body.@use '@angular/material' as mat;
+
@use '@angular/material' as mat;
-html {
- color-scheme: light;
- @include mat.theme((
- color: mat.$violet-palette,
- typography: Roboto,
- density: 0
+html {
+ color-scheme: light;
+ @include mat.theme((
+ color: mat.$violet-palette,
+ typography: Roboto,
+ density: 0
));
}
-body.dark-mode {
- color-scheme: dark;
+body.dark-mode {
+ color-scheme: dark;
}
color-scheme
, prefers-color-scheme
or prefers-contrast
. Instead, Angular Material gives you the flexibility to
@@ -293,19 +293,19 @@
different contexts. In this case, a cyan-based palette is applied to a container
of information about deleting data, causing buttons and other components to have
a unique and attention-grabbing style applied:
-
@use '@angular/material' as mat;
+
@use '@angular/material' as mat;
-html {
- @include mat.theme((
- color: mat.$violet-palette,
- typography: Roboto,
- density: 0,
+html {
+ @include mat.theme((
+ color: mat.$violet-palette,
+ typography: Roboto,
+ density: 0,
));
}
-.example-bright-container {
- @include mat.theme((
- color: mat.$cyan-palette,
+.example-bright-container {
+ @include mat.theme((
+ color: mat.$cyan-palette,
));
}
@@ -322,11 +322,11 @@
:host {
- background: var(--mat-sys-primary-container);
- color: var(--mat-sys-on-primary-container);
- border: 1px solid var(--mat-sys-outline-variant);
- font: var(--mat-sys-body-large);
+
:host {
+ background: var(--mat-sys-primary-container);
+ color: var(--mat-sys-on-primary-container);
+ border: 1px solid var(--mat-sys-outline-variant);
+ font: var(--mat-sys-body-large);
}
the application.
primary-container
token to a specific shade of blue.@use '@angular/material' as mat;
+
@use '@angular/material' as mat;
-html {
- color-scheme: light dark;
- @include mat.theme((
- color: mat.$violet-palette,
- typography: Roboto,
- density: 0
+html {
+ color-scheme: light dark;
+ @include mat.theme((
+ color: mat.$violet-palette,
+ typography: Roboto,
+ density: 0
));
- .example-orange-primary-container {
- @include mat.theme-overrides((
- primary-container: #84ffff
+ .example-orange-primary-container {
+ @include mat.theme-overrides((
+ primary-container: #84ffff
));
}
}
mat.theme
mixin
to replace values applied by the mixin:@use '@angular/material' as mat;
+
@use '@angular/material' as mat;
-html {
- color-scheme: light dark;
- @include mat.theme((
- color: mat.$violet-palette,
- typography: Roboto,
- density: 0
- ), $overrides: (
- primary-container: orange,
+html {
+ color-scheme: light dark;
+ @include mat.theme((
+ color: mat.$violet-palette,
+ typography: Roboto,
+ density: 0
+ ), $overrides: (
+ primary-container: orange,
));
}
@@ -393,11 +393,11 @@
overrides
API to change the
background color to red, increase the corner border radius, and specify a larger
title font size.html {
- @include mat.card-overrides((
- elevated-container-color: red,
- elevated-container-shape: 32px,
- title-text-size: 2rem,
+
html {
+ @include mat.card-overrides((
+ elevated-container-color: red,
+ elevated-container-shape: 32px,
+ title-text-size: 2rem,
));
}
diff --git a/package.json b/package.json
index e826d1854..44368d7ff 100755
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@angular/components-examples",
- "version": "20.1.0+sha-6a0578f",
+ "version": "20.1.0+sha-d432818",
"description": "Angular Components Examples",
"private": true,
"repository": {
@@ -259,15 +259,15 @@
},
"homepage": "https://github.com/angular/components#readme",
"peerDependencies": {
- "@angular/cdk": "20.1.0+sha-6a0578f",
- "@angular/cdk-experimental": "20.1.0+sha-6a0578f",
+ "@angular/cdk": "20.1.0+sha-d432818",
+ "@angular/cdk-experimental": "20.1.0+sha-d432818",
"@angular/core": "^20.0.0 || ^21.0.0",
"@angular/common": "^20.0.0 || ^21.0.0",
- "@angular/material": "20.1.0+sha-6a0578f",
- "@angular/material-experimental": "20.1.0+sha-6a0578f",
- "@angular/material-moment-adapter": "20.1.0+sha-6a0578f",
- "@angular/material-luxon-adapter": "20.1.0+sha-6a0578f",
- "@angular/material-date-fns-adapter": "20.1.0+sha-6a0578f"
+ "@angular/material": "20.1.0+sha-d432818",
+ "@angular/material-experimental": "20.1.0+sha-d432818",
+ "@angular/material-moment-adapter": "20.1.0+sha-d432818",
+ "@angular/material-luxon-adapter": "20.1.0+sha-d432818",
+ "@angular/material-date-fns-adapter": "20.1.0+sha-d432818"
},
"devDependencies": {
"@angular/cdk": "workspace:*",
From aad30ee08c73e08a07342ed7be3ac0eb6c44e0f3 Mon Sep 17 00:00:00 2001
From: Kristiyan Kostadinov
mat-tab-group
.
+
+ Scrollable container
+
+ cdkScrollable
directive.
+Without it, the CDK cannot detect or control the scroll behavior of the container during drag
+operations.`\",\n \"componentName\": \"CdkVirtualScrollDlExample\",\n \"files\": [\n \"cdk-virtual-scroll-dl-example.ts\",\n \"cdk-virtual-scroll-dl-example.html\",\n \"cdk-virtual-scroll-dl-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-dl-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-dl-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-fixed-buffer\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-fixed-buffer\",\n \"title\": \"Fixed size virtual scroll with custom buffer parameters\",\n \"componentName\": \"CdkVirtualScrollFixedBufferExample\",\n \"files\": [\n \"cdk-virtual-scroll-fixed-buffer-example.ts\",\n \"cdk-virtual-scroll-fixed-buffer-example.html\",\n \"cdk-virtual-scroll-fixed-buffer-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-fixed-buffer-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-fixed-buffer-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-horizontal\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-horizontal\",\n \"title\": \"Horizontal virtual scroll\",\n \"componentName\": \"CdkVirtualScrollHorizontalExample\",\n \"files\": [\n \"cdk-virtual-scroll-horizontal-example.ts\",\n \"cdk-virtual-scroll-horizontal-example.html\",\n \"cdk-virtual-scroll-horizontal-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-horizontal-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-horizontal-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-overview\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-overview\",\n \"title\": \"Basic virtual scroll\",\n \"componentName\": \"CdkVirtualScrollOverviewExample\",\n \"files\": [\n \"cdk-virtual-scroll-overview-example.ts\",\n \"cdk-virtual-scroll-overview-example.html\",\n \"cdk-virtual-scroll-overview-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-overview-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-overview-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-parent-scrolling\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-parent-scrolling\",\n \"title\": \"Virtual scrolling viewport parent element\",\n \"componentName\": \"CdkVirtualScrollParentScrollingExample\",\n \"files\": [\n \"cdk-virtual-scroll-parent-scrolling-example.ts\",\n \"cdk-virtual-scroll-parent-scrolling-example.html\",\n \"cdk-virtual-scroll-parent-scrolling-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-parent-scrolling-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-parent-scrolling-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-template-cache\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-template-cache\",\n \"title\": \"Virtual scroll with no template caching\",\n \"componentName\": \"CdkVirtualScrollTemplateCacheExample\",\n \"files\": [\n \"cdk-virtual-scroll-template-cache-example.ts\",\n \"cdk-virtual-scroll-template-cache-example.html\",\n \"cdk-virtual-scroll-template-cache-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-template-cache-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-template-cache-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-window-scrolling\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-window-scrolling\",\n \"title\": \"Virtual scrolling window\",\n \"componentName\": \"CdkVirtualScrollWindowScrollingExample\",\n \"files\": [\n \"cdk-virtual-scroll-window-scrolling-example.ts\",\n \"cdk-virtual-scroll-window-scrolling-example.html\",\n \"cdk-virtual-scroll-window-scrolling-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-window-scrolling-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-window-scrolling-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-custom-stepper-without-form\": {\n \"packagePath\": \"cdk/stepper/cdk-custom-stepper-without-form\",\n \"title\": \"A custom CDK stepper without a form\",\n \"componentName\": \"CdkCustomStepperWithoutFormExample\",\n \"files\": [\n \"cdk-custom-stepper-without-form-example.ts\",\n \"./cdk-custom-stepper-without-form-example.html\",\n \"./cdk-custom-stepper-without-form-example.css\",\n \"./example-custom-stepper.html\",\n \"./example-custom-stepper.css\"\n ],\n \"selector\": \"cdk-custom-stepper-without-form-example\",\n \"additionalComponents\": [\n \"CustomStepper\"\n ],\n \"primaryFile\": \"cdk-custom-stepper-without-form-example.ts\",\n \"importPath\": \"cdk/stepper\"\n },\n \"cdk-linear-stepper-with-form\": {\n \"packagePath\": \"cdk/stepper/cdk-linear-stepper-with-form\",\n \"title\": \"A custom CDK linear stepper with forms\",\n \"componentName\": \"CdkLinearStepperWithFormExample\",\n \"files\": [\n \"cdk-linear-stepper-with-form-example.ts\",\n \"./cdk-linear-stepper-with-form-example.html\",\n \"./cdk-linear-stepper-with-form-example.css\",\n \"./example-custom-linear-stepper.html\",\n \"./example-custom-linear-stepper.css\"\n ],\n \"selector\": \"cdk-linear-stepper-with-form-example\",\n \"additionalComponents\": [\n \"CustomLinearStepper\"\n ],\n \"primaryFile\": \"cdk-linear-stepper-with-form-example.ts\",\n \"importPath\": \"cdk/stepper\"\n },\n \"cdk-table-basic\": {\n \"packagePath\": \"cdk/table/cdk-table-basic\",\n \"title\": \"Basic CDK data-table\",\n \"componentName\": \"CdkTableBasicExample\",\n \"files\": [\n \"cdk-table-basic-example.ts\",\n \"cdk-table-basic-example.html\",\n \"cdk-table-basic-example.css\"\n ],\n \"selector\": \"cdk-table-basic-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-table-basic-example.ts\",\n \"importPath\": \"cdk/table\"\n },\n \"cdk-table-fixed-layout\": {\n \"packagePath\": \"cdk/table/cdk-table-fixed-layout\",\n \"title\": \"CDK table with a fixed layout.\",\n \"componentName\": \"CdkTableFixedLayoutExample\",\n \"files\": [\n \"cdk-table-fixed-layout-example.ts\",\n \"cdk-table-fixed-layout-example.html\",\n \"cdk-table-fixed-layout-example.css\"\n ],\n \"selector\": \"cdk-table-fixed-layout-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-table-fixed-layout-example.ts\",\n \"importPath\": \"cdk/table\"\n },\n \"cdk-table-flex-basic\": {\n \"packagePath\": \"cdk/table/cdk-table-flex-basic\",\n \"title\": \"Basic use of `
`\",\n \"componentName\": \"TableBasicExample\",\n \"files\": [\n \"table-basic-example.ts\",\n \"table-basic-example.html\",\n \"table-basic-example.css\"\n ],\n \"selector\": \"table-basic-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-basic-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-column-styling\": {\n \"packagePath\": \"material/table/table-column-styling\",\n \"title\": \"Styling columns using their auto-generated column names\",\n \"componentName\": \"TableColumnStylingExample\",\n \"files\": [\n \"table-column-styling-example.ts\",\n \"table-column-styling-example.html\",\n \"table-column-styling-example.css\"\n ],\n \"selector\": \"table-column-styling-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-column-styling-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-dynamic-array-data\": {\n \"packagePath\": \"material/table/table-dynamic-array-data\",\n \"title\": \"Adding and removing data when using an array-based datasource.\",\n \"componentName\": \"TableDynamicArrayDataExample\",\n \"files\": [\n \"table-dynamic-array-data-example.ts\",\n \"table-dynamic-array-data-example.html\",\n \"table-dynamic-array-data-example.css\"\n ],\n \"selector\": \"table-dynamic-array-data-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-dynamic-array-data-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-dynamic-columns\": {\n \"packagePath\": \"material/table/table-dynamic-columns\",\n \"title\": \"Table dynamically changing the columns displayed\",\n \"componentName\": \"TableDynamicColumnsExample\",\n \"files\": [\n \"table-dynamic-columns-example.ts\",\n \"table-dynamic-columns-example.html\",\n \"table-dynamic-columns-example.css\"\n ],\n \"selector\": \"table-dynamic-columns-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-dynamic-columns-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-dynamic-observable-data\": {\n \"packagePath\": \"material/table/table-dynamic-observable-data\",\n \"title\": \"Adding and removing data when using an observable-based datasource.\",\n \"componentName\": \"TableDynamicObservableDataExample\",\n \"files\": [\n \"table-dynamic-observable-data-example.ts\",\n \"table-dynamic-observable-data-example.html\",\n \"table-dynamic-observable-data-example.css\"\n ],\n \"selector\": \"table-dynamic-observable-data-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-dynamic-observable-data-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-expandable-rows\": {\n \"packagePath\": \"material/table/table-expandable-rows\",\n \"title\": \"Table with expandable rows\",\n \"componentName\": \"TableExpandableRowsExample\",\n \"files\": [\n \"table-expandable-rows-example.ts\",\n \"table-expandable-rows-example.html\",\n \"table-expandable-rows-example.css\"\n ],\n \"selector\": \"table-expandable-rows-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-expandable-rows-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-filtering\": {\n \"packagePath\": \"material/table/table-filtering\",\n \"title\": \"Table with filtering\",\n \"componentName\": \"TableFilteringExample\",\n \"files\": [\n \"table-filtering-example.ts\",\n \"table-filtering-example.html\",\n \"table-filtering-example.css\"\n ],\n \"selector\": \"table-filtering-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-filtering-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-flex-basic\": {\n \"packagePath\": \"material/table/table-flex-basic\",\n \"title\": \"Basic use of `
`\",\n \"componentName\": \"CdkVirtualScrollDlExample\",\n \"files\": [\n \"cdk-virtual-scroll-dl-example.ts\",\n \"cdk-virtual-scroll-dl-example.html\",\n \"cdk-virtual-scroll-dl-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-dl-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-dl-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-fixed-buffer\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-fixed-buffer\",\n \"title\": \"Fixed size virtual scroll with custom buffer parameters\",\n \"componentName\": \"CdkVirtualScrollFixedBufferExample\",\n \"files\": [\n \"cdk-virtual-scroll-fixed-buffer-example.ts\",\n \"cdk-virtual-scroll-fixed-buffer-example.html\",\n \"cdk-virtual-scroll-fixed-buffer-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-fixed-buffer-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-fixed-buffer-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-horizontal\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-horizontal\",\n \"title\": \"Horizontal virtual scroll\",\n \"componentName\": \"CdkVirtualScrollHorizontalExample\",\n \"files\": [\n \"cdk-virtual-scroll-horizontal-example.ts\",\n \"cdk-virtual-scroll-horizontal-example.html\",\n \"cdk-virtual-scroll-horizontal-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-horizontal-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-horizontal-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-overview\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-overview\",\n \"title\": \"Basic virtual scroll\",\n \"componentName\": \"CdkVirtualScrollOverviewExample\",\n \"files\": [\n \"cdk-virtual-scroll-overview-example.ts\",\n \"cdk-virtual-scroll-overview-example.html\",\n \"cdk-virtual-scroll-overview-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-overview-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-overview-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-parent-scrolling\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-parent-scrolling\",\n \"title\": \"Virtual scrolling viewport parent element\",\n \"componentName\": \"CdkVirtualScrollParentScrollingExample\",\n \"files\": [\n \"cdk-virtual-scroll-parent-scrolling-example.ts\",\n \"cdk-virtual-scroll-parent-scrolling-example.html\",\n \"cdk-virtual-scroll-parent-scrolling-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-parent-scrolling-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-parent-scrolling-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-template-cache\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-template-cache\",\n \"title\": \"Virtual scroll with no template caching\",\n \"componentName\": \"CdkVirtualScrollTemplateCacheExample\",\n \"files\": [\n \"cdk-virtual-scroll-template-cache-example.ts\",\n \"cdk-virtual-scroll-template-cache-example.html\",\n \"cdk-virtual-scroll-template-cache-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-template-cache-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-template-cache-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-virtual-scroll-window-scrolling\": {\n \"packagePath\": \"cdk/scrolling/cdk-virtual-scroll-window-scrolling\",\n \"title\": \"Virtual scrolling window\",\n \"componentName\": \"CdkVirtualScrollWindowScrollingExample\",\n \"files\": [\n \"cdk-virtual-scroll-window-scrolling-example.ts\",\n \"cdk-virtual-scroll-window-scrolling-example.html\",\n \"cdk-virtual-scroll-window-scrolling-example.css\"\n ],\n \"selector\": \"cdk-virtual-scroll-window-scrolling-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-virtual-scroll-window-scrolling-example.ts\",\n \"importPath\": \"cdk/scrolling\"\n },\n \"cdk-custom-stepper-without-form\": {\n \"packagePath\": \"cdk/stepper/cdk-custom-stepper-without-form\",\n \"title\": \"A custom CDK stepper without a form\",\n \"componentName\": \"CdkCustomStepperWithoutFormExample\",\n \"files\": [\n \"cdk-custom-stepper-without-form-example.ts\",\n \"./cdk-custom-stepper-without-form-example.html\",\n \"./cdk-custom-stepper-without-form-example.css\",\n \"./example-custom-stepper.html\",\n \"./example-custom-stepper.css\"\n ],\n \"selector\": \"cdk-custom-stepper-without-form-example\",\n \"additionalComponents\": [\n \"CustomStepper\"\n ],\n \"primaryFile\": \"cdk-custom-stepper-without-form-example.ts\",\n \"importPath\": \"cdk/stepper\"\n },\n \"cdk-linear-stepper-with-form\": {\n \"packagePath\": \"cdk/stepper/cdk-linear-stepper-with-form\",\n \"title\": \"A custom CDK linear stepper with forms\",\n \"componentName\": \"CdkLinearStepperWithFormExample\",\n \"files\": [\n \"cdk-linear-stepper-with-form-example.ts\",\n \"./cdk-linear-stepper-with-form-example.html\",\n \"./cdk-linear-stepper-with-form-example.css\",\n \"./example-custom-linear-stepper.html\",\n \"./example-custom-linear-stepper.css\"\n ],\n \"selector\": \"cdk-linear-stepper-with-form-example\",\n \"additionalComponents\": [\n \"CustomLinearStepper\"\n ],\n \"primaryFile\": \"cdk-linear-stepper-with-form-example.ts\",\n \"importPath\": \"cdk/stepper\"\n },\n \"cdk-table-basic\": {\n \"packagePath\": \"cdk/table/cdk-table-basic\",\n \"title\": \"Basic CDK data-table\",\n \"componentName\": \"CdkTableBasicExample\",\n \"files\": [\n \"cdk-table-basic-example.ts\",\n \"cdk-table-basic-example.html\",\n \"cdk-table-basic-example.css\"\n ],\n \"selector\": \"cdk-table-basic-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-table-basic-example.ts\",\n \"importPath\": \"cdk/table\"\n },\n \"cdk-table-fixed-layout\": {\n \"packagePath\": \"cdk/table/cdk-table-fixed-layout\",\n \"title\": \"CDK table with a fixed layout.\",\n \"componentName\": \"CdkTableFixedLayoutExample\",\n \"files\": [\n \"cdk-table-fixed-layout-example.ts\",\n \"cdk-table-fixed-layout-example.html\",\n \"cdk-table-fixed-layout-example.css\"\n ],\n \"selector\": \"cdk-table-fixed-layout-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"cdk-table-fixed-layout-example.ts\",\n \"importPath\": \"cdk/table\"\n },\n \"cdk-table-flex-basic\": {\n \"packagePath\": \"cdk/table/cdk-table-flex-basic\",\n \"title\": \"Basic use of `
`\",\n \"componentName\": \"TableBasicExample\",\n \"files\": [\n \"table-basic-example.ts\",\n \"table-basic-example.html\",\n \"table-basic-example.css\"\n ],\n \"selector\": \"table-basic-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-basic-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-column-styling\": {\n \"packagePath\": \"material/table/table-column-styling\",\n \"title\": \"Styling columns using their auto-generated column names\",\n \"componentName\": \"TableColumnStylingExample\",\n \"files\": [\n \"table-column-styling-example.ts\",\n \"table-column-styling-example.html\",\n \"table-column-styling-example.css\"\n ],\n \"selector\": \"table-column-styling-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-column-styling-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-dynamic-array-data\": {\n \"packagePath\": \"material/table/table-dynamic-array-data\",\n \"title\": \"Adding and removing data when using an array-based datasource.\",\n \"componentName\": \"TableDynamicArrayDataExample\",\n \"files\": [\n \"table-dynamic-array-data-example.ts\",\n \"table-dynamic-array-data-example.html\",\n \"table-dynamic-array-data-example.css\"\n ],\n \"selector\": \"table-dynamic-array-data-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-dynamic-array-data-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-dynamic-columns\": {\n \"packagePath\": \"material/table/table-dynamic-columns\",\n \"title\": \"Table dynamically changing the columns displayed\",\n \"componentName\": \"TableDynamicColumnsExample\",\n \"files\": [\n \"table-dynamic-columns-example.ts\",\n \"table-dynamic-columns-example.html\",\n \"table-dynamic-columns-example.css\"\n ],\n \"selector\": \"table-dynamic-columns-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-dynamic-columns-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-dynamic-observable-data\": {\n \"packagePath\": \"material/table/table-dynamic-observable-data\",\n \"title\": \"Adding and removing data when using an observable-based datasource.\",\n \"componentName\": \"TableDynamicObservableDataExample\",\n \"files\": [\n \"table-dynamic-observable-data-example.ts\",\n \"table-dynamic-observable-data-example.html\",\n \"table-dynamic-observable-data-example.css\"\n ],\n \"selector\": \"table-dynamic-observable-data-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-dynamic-observable-data-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-expandable-rows\": {\n \"packagePath\": \"material/table/table-expandable-rows\",\n \"title\": \"Table with expandable rows\",\n \"componentName\": \"TableExpandableRowsExample\",\n \"files\": [\n \"table-expandable-rows-example.ts\",\n \"table-expandable-rows-example.html\",\n \"table-expandable-rows-example.css\"\n ],\n \"selector\": \"table-expandable-rows-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-expandable-rows-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-filtering\": {\n \"packagePath\": \"material/table/table-filtering\",\n \"title\": \"Table with filtering\",\n \"componentName\": \"TableFilteringExample\",\n \"files\": [\n \"table-filtering-example.ts\",\n \"table-filtering-example.html\",\n \"table-filtering-example.css\"\n ],\n \"selector\": \"table-filtering-example\",\n \"additionalComponents\": [],\n \"primaryFile\": \"table-filtering-example.ts\",\n \"importPath\": \"material/table\"\n },\n \"table-flex-basic\": {\n \"packagePath\": \"material/table/table-flex-basic\",\n \"title\": \"Basic use of `
<footer class="step-navigation-bar">
<button class="nav-button" cdkStepperPrevious>←</button>
- @for (step of steps; track step) {
- <button class="step" [class.active]="selectedIndex === $index" (click)="onClick(i)">
+ @for (step of steps; track step; let i = $index) {
+ <button class="step" [class.active]="selectedIndex === i" (click)="onClick(i)">
Step {{i + 1}}
</button>
}
diff --git a/package.json b/package.json
index 6f8ef6ebd..25b3bb28e 100755
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@angular/components-examples",
- "version": "20.1.2+sha-1ddec5d",
+ "version": "20.1.2+sha-b67ed8f",
"description": "Angular Components Examples",
"private": true,
"repository": {
@@ -259,15 +259,15 @@
},
"homepage": "https://github.com/angular/components#readme",
"peerDependencies": {
- "@angular/cdk": "20.1.2+sha-1ddec5d",
- "@angular/cdk-experimental": "20.1.2+sha-1ddec5d",
+ "@angular/cdk": "20.1.2+sha-b67ed8f",
+ "@angular/cdk-experimental": "20.1.2+sha-b67ed8f",
"@angular/core": "^20.0.0 || ^21.0.0",
"@angular/common": "^20.0.0 || ^21.0.0",
- "@angular/material": "20.1.2+sha-1ddec5d",
- "@angular/material-experimental": "20.1.2+sha-1ddec5d",
- "@angular/material-moment-adapter": "20.1.2+sha-1ddec5d",
- "@angular/material-luxon-adapter": "20.1.2+sha-1ddec5d",
- "@angular/material-date-fns-adapter": "20.1.2+sha-1ddec5d"
+ "@angular/material": "20.1.2+sha-b67ed8f",
+ "@angular/material-experimental": "20.1.2+sha-b67ed8f",
+ "@angular/material-moment-adapter": "20.1.2+sha-b67ed8f",
+ "@angular/material-luxon-adapter": "20.1.2+sha-b67ed8f",
+ "@angular/material-date-fns-adapter": "20.1.2+sha-b67ed8f"
},
"devDependencies": {
"@angular/cdk": "workspace:*",
From cccdc0d1b11dcf2d2c5fa57c30d57d0766d11507 Mon Sep 17 00:00:00 2001
From: Kristiyan Kostadinov
Methods
@@ -1142,7 +1143,8 @@
-
aria-label
attribute.Methods
@@ -1628,7 +1630,8 @@
-
aria-label
attribute.Methods
@@ -2164,7 +2167,8 @@
-
aria-label
attribute.Methods
diff --git a/docs-content/api-docs/material-form-field-testing-control.html b/docs-content/api-docs/material-form-field-testing-control.html
index 9f899c7ed..11a612dc0 100755
--- a/docs-content/api-docs/material-form-field-testing-control.html
+++ b/docs-content/api-docs/material-form-field-testing-control.html
@@ -120,7 +120,8 @@
-
aria-label
attribute.Methods
diff --git a/docs-content/api-docs/material-input-testing.html b/docs-content/api-docs/material-input-testing.html
index a8c14cc3c..4ddb7a8c5 100755
--- a/docs-content/api-docs/material-input-testing.html
+++ b/docs-content/api-docs/material-input-testing.html
@@ -185,7 +185,8 @@
-
aria-label
attribute.Methods
@@ -766,7 +767,8 @@
-
aria-label
attribute.Methods
diff --git a/docs-content/api-docs/material-select-testing.html b/docs-content/api-docs/material-select-testing.html
index c2c9dc4f6..d20498b38 100755
--- a/docs-content/api-docs/material-select-testing.html
+++ b/docs-content/api-docs/material-select-testing.html
@@ -237,7 +237,8 @@
-
aria-label
attribute.Methods
diff --git a/package.json b/package.json
index 154cf1223..fc539bd25 100755
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "@angular/components-examples",
- "version": "20.1.3+sha-512066a",
+ "version": "20.1.3+sha-6e25273",
"description": "Angular Components Examples",
"private": true,
"repository": {
@@ -259,15 +259,15 @@
},
"homepage": "https://github.com/angular/components#readme",
"peerDependencies": {
- "@angular/cdk": "20.1.3+sha-512066a",
- "@angular/cdk-experimental": "20.1.3+sha-512066a",
+ "@angular/cdk": "20.1.3+sha-6e25273",
+ "@angular/cdk-experimental": "20.1.3+sha-6e25273",
"@angular/core": "^20.0.0 || ^21.0.0",
"@angular/common": "^20.0.0 || ^21.0.0",
- "@angular/material": "20.1.3+sha-512066a",
- "@angular/material-experimental": "20.1.3+sha-512066a",
- "@angular/material-moment-adapter": "20.1.3+sha-512066a",
- "@angular/material-luxon-adapter": "20.1.3+sha-512066a",
- "@angular/material-date-fns-adapter": "20.1.3+sha-512066a"
+ "@angular/material": "20.1.3+sha-6e25273",
+ "@angular/material-experimental": "20.1.3+sha-6e25273",
+ "@angular/material-moment-adapter": "20.1.3+sha-6e25273",
+ "@angular/material-luxon-adapter": "20.1.3+sha-6e25273",
+ "@angular/material-date-fns-adapter": "20.1.3+sha-6e25273"
},
"devDependencies": {
"@angular/cdk": "workspace:*",
From 37253cffbfc1e1a779c9384ef819ed3e4b9e488b Mon Sep 17 00:00:00 2001
From: Angular Robot
-
aria-label
attribute.
- enabledTabIndex:
Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.