@angular/material 16.2.0-next.5 → 16.2.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/bottom-sheet/index.d.ts +6 -0
  2. package/core/selection/pseudo-checkbox/_pseudo-checkbox-common.scss +1 -1
  3. package/core/tokens/m2/mat/_form-field.scss +44 -0
  4. package/core/tokens/m2/mat/_grid-list.scss +46 -0
  5. package/core/tokens/m2/mat/_icon.scss +45 -0
  6. package/core/tokens/m2/mat/_slide-toggle.scss +1 -1
  7. package/core/tokens/m2/mat/_tab-header.scss +1 -1
  8. package/core/tokens/m2/mdc/_circular-progress.scss +1 -1
  9. package/core/tokens/m2/mdc/_filled-text-field.scss +175 -0
  10. package/core/tokens/m2/mdc/_outlined-text-field.scss +158 -0
  11. package/core/tokens/m2/mdc/_plain-tooltip.scss +2 -2
  12. package/dialog/index.d.ts +6 -0
  13. package/esm2022/bottom-sheet/bottom-sheet-ref.mjs +8 -1
  14. package/esm2022/core/version.mjs +1 -1
  15. package/esm2022/dialog/dialog-ref.mjs +1 -1
  16. package/esm2022/dialog/dialog.mjs +2 -1
  17. package/esm2022/form-field/form-field.mjs +3 -3
  18. package/esm2022/grid-list/grid-list.mjs +2 -2
  19. package/esm2022/grid-list/grid-tile.mjs +2 -2
  20. package/esm2022/icon/icon.mjs +2 -2
  21. package/esm2022/slide-toggle/slide-toggle.mjs +2 -2
  22. package/esm2022/tabs/ink-bar.mjs +1 -1
  23. package/esm2022/tabs/tab-group.mjs +2 -2
  24. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +2 -2
  25. package/fesm2022/bottom-sheet.mjs +7 -0
  26. package/fesm2022/bottom-sheet.mjs.map +1 -1
  27. package/fesm2022/core.mjs +1 -1
  28. package/fesm2022/core.mjs.map +1 -1
  29. package/fesm2022/dialog.mjs +1 -0
  30. package/fesm2022/dialog.mjs.map +1 -1
  31. package/fesm2022/form-field.mjs +2 -2
  32. package/fesm2022/form-field.mjs.map +1 -1
  33. package/fesm2022/grid-list.mjs +4 -4
  34. package/fesm2022/grid-list.mjs.map +1 -1
  35. package/fesm2022/icon.mjs +2 -2
  36. package/fesm2022/icon.mjs.map +1 -1
  37. package/fesm2022/slide-toggle.mjs +2 -2
  38. package/fesm2022/slide-toggle.mjs.map +1 -1
  39. package/fesm2022/tabs.mjs +4 -4
  40. package/fesm2022/tabs.mjs.map +1 -1
  41. package/form-field/_form-field-theme.scss +37 -44
  42. package/form-field/_mdc-text-field-structure-overrides.scss +18 -0
  43. package/grid-list/_grid-list-theme.scss +7 -6
  44. package/icon/_icon-theme.scss +18 -8
  45. package/legacy-prebuilt-themes/legacy-deeppurple-amber.css +1 -1
  46. package/legacy-prebuilt-themes/legacy-indigo-pink.css +1 -1
  47. package/legacy-prebuilt-themes/legacy-pink-bluegrey.css +1 -1
  48. package/legacy-prebuilt-themes/legacy-purple-green.css +1 -1
  49. package/package.json +49 -49
  50. package/prebuilt-themes/deeppurple-amber.css +1 -1
  51. package/prebuilt-themes/indigo-pink.css +1 -1
  52. package/prebuilt-themes/pink-bluegrey.css +1 -1
  53. package/prebuilt-themes/purple-green.css +1 -1
  54. package/schematics/ng-add/index.js +1 -1
  55. package/schematics/ng-add/index.mjs +1 -1
  56. package/schematics/ng-generate/mdc-migration/index_bundled.js +44 -44
  57. package/schematics/ng-update/index_bundled.js +25 -25
  58. package/tabs/_tabs-common.scss +1 -1
  59. package/tabs/index.d.ts +1 -1
@@ -3,6 +3,7 @@ import { AnimationTriggerMetadata } from '@angular/animations';
3
3
  import { BreakpointObserver } from '@angular/cdk/layout';
4
4
  import { CdkDialogContainer } from '@angular/cdk/dialog';
5
5
  import { ChangeDetectorRef } from '@angular/core';
6
+ import { ComponentRef } from '@angular/core';
6
7
  import { ComponentType } from '@angular/cdk/portal';
7
8
  import { DialogConfig } from '@angular/cdk/dialog';
8
9
  import { DialogRef } from '@angular/cdk/dialog';
@@ -167,6 +168,11 @@ export declare class MatBottomSheetRef<T = any, R = any> {
167
168
  private _ref;
168
169
  /** Instance of the component making up the content of the bottom sheet. */
169
170
  get instance(): T;
171
+ /**
172
+ * `ComponentRef` of the component opened into the bottom sheet. Will be
173
+ * null when the bottom sheet is opened using a `TemplateRef`.
174
+ */
175
+ get componentRef(): ComponentRef<T> | null;
170
176
  /**
171
177
  * Instance of the component into which the bottom sheet content is projected.
172
178
  * @docs-private
@@ -42,7 +42,7 @@ $padding: checkbox-common.$border-width * 2;
42
42
  // `$box-size`: size of the checkbox.
43
43
  // `$border-size`: size of the checkbox's border.
44
44
  @mixin _checkbox-indeterminate-styles-with-size($box-size, $border-size) {
45
- // Center the line in the the checkbox. `$checkbox-common.$border-width` is the width of the line.
45
+ // Center the line in the checkbox. `$checkbox-common.$border-width` is the width of the line.
46
46
  top: math.div($box-size - checkbox-common.$border-width, 2) - $border-size;
47
47
  width: $box-size - checkbox-common.$border-width - (2 * $border-size);
48
48
  }
@@ -0,0 +1,44 @@
1
+ @use 'sass:map';
2
+ @use '../../token-utils';
3
+ @use '../../../style/sass-utils';
4
+
5
+ // The prefix used to generate the fully qualified name for tokens in this file.
6
+ $prefix: (mat, form-field);
7
+
8
+ // Tokens that can't be configured through Angular Material's current theming API,
9
+ // but may be in a future version of the theming API.
10
+ @function get-unthemable-tokens() {
11
+ @return ();
12
+ }
13
+
14
+ // Tokens that can be configured through Angular Material's color theming API.
15
+ @function get-color-tokens($config) {
16
+ $is-dark: map.get($config, is-dark);
17
+ $on-surface: if($is-dark, #fff, #000);
18
+
19
+ @return (
20
+ // MDC has a token for the enabled placeholder, but not for the disabled one.
21
+ disabled-input-text-placeholder-color: rgba($on-surface, 0.38),
22
+ );
23
+ }
24
+
25
+ // Tokens that can be configured through Angular Material's typography theming API.
26
+ @function get-typography-tokens($config) {
27
+ @return ();
28
+ }
29
+
30
+ // Tokens that can be configured through Angular Material's density theming API.
31
+ @function get-density-tokens($config) {
32
+ @return ();
33
+ }
34
+
35
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
36
+ // This is used to create token slots.
37
+ @function get-token-slots() {
38
+ @return sass-utils.deep-merge-all(
39
+ get-unthemable-tokens(),
40
+ get-color-tokens(token-utils.$placeholder-color-config),
41
+ get-typography-tokens(token-utils.$placeholder-typography-config),
42
+ get-density-tokens(token-utils.$placeholder-density-config)
43
+ );
44
+ }
@@ -0,0 +1,46 @@
1
+ @use '../../token-utils';
2
+ @use '../../../typography/typography-utils';
3
+ @use '../../../style/sass-utils';
4
+
5
+ // The prefix used to generate the fully qualified name for tokens in this file.
6
+ $prefix: (mat, grid-list);
7
+
8
+ // Tokens that can't be configured through Angular Material's current theming API,
9
+ // but may be in a future version of the theming API.
10
+ @function get-unthemable-tokens() {
11
+ @return ();
12
+ }
13
+
14
+ // Tokens that can be configured through Angular Material's color theming API.
15
+ @function get-color-tokens($config) {
16
+ @return ();
17
+ }
18
+
19
+ // Tokens that can be configured through Angular Material's typography theming API.
20
+ @function get-typography-tokens($config) {
21
+ @return (
22
+ // TODO(crisbeto): other components have tokens for all typography dimensions.
23
+ // Here we only set the font size to maintain the same appearance as the pre-tokens
24
+ // theming API. Consider adding more tokens for letter spacing, font weight etc.
25
+ tile-header-primary-text-size: typography-utils.font-size($config, body-1),
26
+ tile-header-secondary-text-size: typography-utils.font-size($config, caption),
27
+ tile-footer-primary-text-size: typography-utils.font-size($config, body-1),
28
+ tile-footer-secondary-text-size: typography-utils.font-size($config, caption),
29
+ );
30
+ }
31
+
32
+ // Tokens that can be configured through Angular Material's density theming API.
33
+ @function get-density-tokens($config) {
34
+ @return ();
35
+ }
36
+
37
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
38
+ // This is used to create token slots.
39
+ @function get-token-slots() {
40
+ @return sass-utils.deep-merge-all(
41
+ get-unthemable-tokens(),
42
+ get-color-tokens(token-utils.$placeholder-color-config),
43
+ get-typography-tokens(token-utils.$placeholder-typography-config),
44
+ get-density-tokens(token-utils.$placeholder-density-config)
45
+ );
46
+ }
@@ -0,0 +1,45 @@
1
+ @use '../../token-utils';
2
+ @use '../../../style/sass-utils';
3
+
4
+ // The prefix used to generate the fully qualified name for tokens in this file.
5
+ $prefix: (mat, icon);
6
+
7
+ // Tokens that can't be configured through Angular Material's current theming API,
8
+ // but may be in a future version of the theming API.
9
+ @function get-unthemable-tokens() {
10
+ @return ();
11
+ }
12
+
13
+ // Tokens that can be configured through Angular Material's color theming API.
14
+ @function get-color-tokens($config) {
15
+ // Default the icon to `inherit` so it matches the text around it.
16
+ @return private-get-icon-color-tokens(inherit);
17
+ }
18
+
19
+ // Tokens that can be configured through Angular Material's typography theming API.
20
+ @function get-typography-tokens($config) {
21
+ @return ();
22
+ }
23
+
24
+ // Tokens that can be configured through Angular Material's density theming API.
25
+ @function get-density-tokens($config) {
26
+ @return ();
27
+ }
28
+
29
+ // Mixin used to set a specific color on an icon.
30
+ @function private-get-icon-color-tokens($color) {
31
+ @return (
32
+ color: $color,
33
+ );
34
+ }
35
+
36
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
37
+ // This is used to create token slots.
38
+ @function get-token-slots() {
39
+ @return sass-utils.deep-merge-all(
40
+ get-unthemable-tokens(),
41
+ get-color-tokens(token-utils.$placeholder-color-config),
42
+ get-typography-tokens(token-utils.$placeholder-typography-config),
43
+ get-density-tokens(token-utils.$placeholder-density-config)
44
+ );
45
+ }
@@ -29,7 +29,7 @@ $prefix: (mat, slide-toggle);
29
29
  @return (
30
30
  label-text-font: typography-utils.font-family($config),
31
31
  label-text-size: typography-utils.font-size($config, body-2),
32
- label-text-letter-spacing: typography-utils.letter-spacing($config, body-2),
32
+ label-text-tracking: typography-utils.letter-spacing($config, body-2),
33
33
  label-text-line-height: typography-utils.line-height($config, body-2),
34
34
  label-text-weight: typography-utils.font-weight($config, body-2),
35
35
  );
@@ -49,7 +49,7 @@ $prefix: (mat, tab-header);
49
49
  label-text-font:
50
50
  typography-utils.font-family($config, button) or typography-utils.font-family($config),
51
51
  label-text-size: typography-utils.font-size($config, button),
52
- label-text-letter-spacing: typography-utils.letter-spacing($config, button),
52
+ label-text-tracking: typography-utils.letter-spacing($config, button),
53
53
  label-text-line-height: typography-utils.line-height($config, button),
54
54
  label-text-weight: typography-utils.font-weight($config, button),
55
55
  );
@@ -16,7 +16,7 @@ $prefix: (mdc, circular-progress);
16
16
  @return (
17
17
  // The thickness of the progress spinner's active indicator.
18
18
  active-indicator-width: 4px,
19
- // The the diameter of the spinner
19
+ // The diameter of the spinner
20
20
  size: 48px,
21
21
  // =============================================================================================
22
22
  // = TOKENS NOT USED IN ANGULAR MATERIAL =
@@ -0,0 +1,175 @@
1
+ @use 'sass:color';
2
+ @use 'sass:map';
3
+ @use 'sass:meta';
4
+ @use '../../../theming/theming';
5
+ @use '../../../style/sass-utils';
6
+ @use '../../../typography/typography-utils';
7
+ @use '../../token-utils';
8
+
9
+ // The prefix used to generate the fully qualified name for tokens in this file.
10
+ $prefix: (mdc, filled-text-field);
11
+
12
+ // Tokens that can't be configured through Angular Material's current theming API,
13
+ // but may be in a future version of the theming API.
14
+ //
15
+ // Tokens that are available in MDC, but not used in Angular Material should be mapped to `null`.
16
+ // `null` indicates that we are intentionally choosing not to emit a slot or value for the token in
17
+ // our CSS.
18
+ @function get-unthemable-tokens() {
19
+ @return (
20
+ active-indicator-height: 1px,
21
+ focus-active-indicator-height: 2px,
22
+ container-shape: 4px,
23
+
24
+ // =============================================================================================
25
+ // = TOKENS NOT USED IN ANGULAR MATERIAL =
26
+ // =============================================================================================
27
+ disabled-active-indicator-height: null,
28
+ hover-active-indicator-height: null,
29
+ disabled-active-indicator-opacity: null,
30
+ error-focus-caret-color: null,
31
+ error-hover-caret-color: null,
32
+ focus-caret-color: null,
33
+ hover-caret-color: null,
34
+ label-text-populated-line-height: null,
35
+ label-text-populated-size: null,
36
+ label-text-type: null,
37
+ disabled-label-text-opacity: null,
38
+ hover-label-text-color: null,
39
+ error-hover-label-text-color: null,
40
+ supporting-text-color: null,
41
+ supporting-text-font: null,
42
+ supporting-text-line-height: null,
43
+ supporting-text-size: null,
44
+ supporting-text-tracking: null,
45
+ supporting-text-weight: null,
46
+ disabled-supporting-text-color: null,
47
+ disabled-supporting-text-opacity: null,
48
+ error-focus-supporting-text-color: null,
49
+ error-hover-supporting-text-color: null,
50
+ error-supporting-text-color: null,
51
+ focus-supporting-text-color: null,
52
+ hover-supporting-text-color: null,
53
+ input-text-prefix-color: null,
54
+ container-height: null,
55
+ disabled-trailing-icon-color: null,
56
+ disabled-trailing-icon-opacity: null,
57
+ error-focus-trailing-icon-color: null,
58
+ error-hover-trailing-icon-color: null,
59
+ error-trailing-icon-color: null,
60
+ focus-trailing-icon-color: null,
61
+ hover-trailing-icon-color: null,
62
+ trailing-icon-color: null,
63
+ trailing-icon-size: null,
64
+ disabled-leading-icon-color: null,
65
+ disabled-leading-icon-opacity: null,
66
+ error-focus-leading-icon-color: null,
67
+ error-hover-leading-icon-color: null,
68
+ error-leading-icon-color: null,
69
+ focus-leading-icon-color: null,
70
+ hover-leading-icon-color: null,
71
+ leading-icon-color: null,
72
+ leading-icon-size: null,
73
+ input-text-type: null,
74
+ input-text-suffix-color: null,
75
+ input-text-font: null,
76
+ input-text-line-height: null,
77
+ input-text-size: null,
78
+ input-text-tracking: null,
79
+ input-text-weight: null,
80
+ error-input-text-color: null,
81
+ focus-input-text-color: null,
82
+ hover-input-text-color: null,
83
+ disabled-input-text-opacity: null,
84
+ error-focus-input-text-color: null,
85
+ error-hover-input-text-color: null,
86
+ disabled-container-opacity: null,
87
+ error-hover-state-layer-color: null,
88
+ error-hover-state-layer-opacity: null,
89
+ hover-state-layer-color: null,
90
+ hover-state-layer-opacity: null,
91
+ );
92
+ }
93
+
94
+ // Tokens that can be configured through Angular Material's color theming API.
95
+ @function get-color-tokens($config) {
96
+ $foreground: map.get($config, foreground);
97
+ $background: map.get($config, background);
98
+ $warn: map.get($config, warn);
99
+ $is-dark: map.get($config, is-dark);
100
+ $surface: theming.get-color-from-palette($background, card);
101
+ $on-surface: if($is-dark, #fff, #000);
102
+ $warn-color: theming.get-color-from-palette($warn);
103
+ $color-tokens: private-get-color-palette-color-tokens($config, primary);
104
+
105
+ @return map.merge($color-tokens, (
106
+ container-color: _variable-safe-mix($on-surface, $surface, 4%),
107
+ disabled-container-color: _variable-safe-mix($on-surface, $surface, 2%),
108
+
109
+ label-text-color: rgba($on-surface, 0.6),
110
+ disabled-label-text-color: rgba($on-surface, 0.38),
111
+
112
+ input-text-color: rgba($on-surface, 0.87),
113
+ disabled-input-text-color: rgba($on-surface, 0.38),
114
+ input-text-placeholder-color: rgba($on-surface, 0.6),
115
+
116
+ error-focus-label-text-color: $warn-color,
117
+ error-label-text-color: $warn-color,
118
+ error-caret-color: $warn-color,
119
+
120
+ active-indicator-color: rgba($on-surface, 0.42),
121
+ disabled-active-indicator-color: rgba($on-surface, 0.06),
122
+ hover-active-indicator-color: rgba($on-surface, 0.87),
123
+ error-active-indicator-color: $warn-color,
124
+ error-focus-active-indicator-color: $warn-color,
125
+ error-hover-active-indicator-color: $warn-color,
126
+ ));
127
+ }
128
+
129
+ @function _variable-safe-mix($first-color, $second-color, $amount) {
130
+ @if (meta.type-of($first-color) == color and meta.type-of($second-color) == color) {
131
+ @return color.mix($first-color, $second-color, $amount);
132
+ }
133
+ @return $first-color;
134
+ }
135
+
136
+ // Generates the mapping for the properties that change based on the slide toggle color.
137
+ @function private-get-color-palette-color-tokens($config, $palette-name) {
138
+ $palette: map.get($config, $palette-name);
139
+ $palette-color: theming.get-color-from-palette($palette);
140
+
141
+ @return (
142
+ caret-color: $palette-color,
143
+ focus-active-indicator-color: $palette-color,
144
+ focus-label-text-color: theming.get-color-from-palette($palette, default, 0.87),
145
+ );
146
+ }
147
+
148
+ // Tokens that can be configured through Angular Material's typography theming API.
149
+ @function get-typography-tokens($config) {
150
+ $fallback-font-family: typography-utils.font-family($config);
151
+
152
+ @return (
153
+ label-text-font: typography-utils.font-family($config, body-1) or $fallback-font-family,
154
+ label-text-line-height: typography-utils.line-height($config, body-1),
155
+ label-text-size: typography-utils.font-size($config, body-1),
156
+ label-text-tracking: typography-utils.letter-spacing($config, body-1),
157
+ label-text-weight: typography-utils.font-weight($config, body-1),
158
+ );
159
+ }
160
+
161
+ // Tokens that can be configured through Angular Material's density theming API.
162
+ @function get-density-tokens($config) {
163
+ @return ();
164
+ }
165
+
166
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
167
+ // This is used to create token slots.
168
+ @function get-token-slots() {
169
+ @return sass-utils.deep-merge-all(
170
+ get-unthemable-tokens(),
171
+ get-color-tokens(token-utils.$placeholder-color-config),
172
+ get-typography-tokens(token-utils.$placeholder-typography-config),
173
+ get-density-tokens(token-utils.$placeholder-density-config)
174
+ );
175
+ }
@@ -0,0 +1,158 @@
1
+ @use 'sass:map';
2
+ @use '../../../theming/theming';
3
+ @use '../../../style/sass-utils';
4
+ @use '../../../typography/typography-utils';
5
+ @use '../../token-utils';
6
+
7
+ // The prefix used to generate the fully qualified name for tokens in this file.
8
+ $prefix: (mdc, outlined-text-field);
9
+
10
+ // Tokens that can't be configured through Angular Material's current theming API,
11
+ // but may be in a future version of the theming API.
12
+ //
13
+ // Tokens that are available in MDC, but not used in Angular Material should be mapped to `null`.
14
+ // `null` indicates that we are intentionally choosing not to emit a slot or value for the token in
15
+ // our CSS.
16
+ @function get-unthemable-tokens() {
17
+ @return (
18
+ outline-width: 1px,
19
+ focus-outline-width: 2px,
20
+ container-shape: 4px,
21
+
22
+ // =============================================================================================
23
+ // = TOKENS NOT USED IN ANGULAR MATERIAL =
24
+ // =============================================================================================
25
+ error-focus-caret-color: null,
26
+ error-hover-caret-color: null,
27
+ focus-caret-color: null,
28
+ hover-caret-color: null,
29
+ disabled-outline-opacity: null,
30
+ hover-outline-width: null,
31
+ disabled-outline-width: null,
32
+ label-text-type: null,
33
+ label-text-populated-line-height: null,
34
+ label-text-populated-size: null,
35
+ hover-label-text-color: null,
36
+ error-hover-label-text-color: null,
37
+ disabled-label-text-opacity: null,
38
+ disabled-supporting-text-color: null,
39
+ disabled-supporting-text-opacity: null,
40
+ error-focus-supporting-text-color: null,
41
+ error-hover-supporting-text-color: null,
42
+ error-supporting-text-color: null,
43
+ focus-supporting-text-color: null,
44
+ hover-supporting-text-color: null,
45
+ supporting-text-color: null,
46
+ supporting-text-font: null,
47
+ supporting-text-line-height: null,
48
+ supporting-text-size: null,
49
+ supporting-text-tracking: null,
50
+ supporting-text-type: null,
51
+ supporting-text-weight: null,
52
+ disabled-leading-icon-color: null,
53
+ disabled-leading-icon-opacity: null,
54
+ error-focus-leading-icon-color: null,
55
+ error-hover-leading-icon-color: null,
56
+ error-leading-icon-color: null,
57
+ focus-leading-icon-color: null,
58
+ hover-leading-icon-color: null,
59
+ leading-icon-color: null,
60
+ leading-icon-size: null,
61
+ disabled-trailing-icon-color: null,
62
+ disabled-trailing-icon-opacity: null,
63
+ error-focus-trailing-icon-color: null,
64
+ error-hover-trailing-icon-color: null,
65
+ error-trailing-icon-color: null,
66
+ focus-trailing-icon-color: null,
67
+ hover-trailing-icon-color: null,
68
+ trailing-icon-color: null,
69
+ trailing-icon-size: null,
70
+ input-text-prefix-color: null,
71
+ input-text-type: null,
72
+ container-height: null,
73
+ input-text-suffix-color: null,
74
+ input-text-font: null,
75
+ input-text-line-height: null,
76
+ input-text-size: null,
77
+ input-text-tracking: null,
78
+ input-text-weight: null,
79
+ disabled-input-text-opacity: null,
80
+ error-focus-input-text-color: null,
81
+ error-hover-input-text-color: null,
82
+ error-input-text-color: null,
83
+ focus-input-text-color: null,
84
+ hover-input-text-color: null,
85
+ );
86
+ }
87
+
88
+ // Tokens that can be configured through Angular Material's color theming API.
89
+ @function get-color-tokens($config) {
90
+ $foreground: map.get($config, foreground);
91
+ $warn: map.get($config, warn);
92
+ $is-dark: map.get($config, is-dark);
93
+ $on-surface: if($is-dark, #fff, #000);
94
+ $warn-color: theming.get-color-from-palette($warn);
95
+ $color-tokens: private-get-color-palette-color-tokens($config, primary);
96
+
97
+ @return map.merge($color-tokens, (
98
+ label-text-color: rgba($on-surface, 0.6),
99
+ disabled-label-text-color: rgba($on-surface, 0.38),
100
+
101
+ input-text-color: rgba($on-surface, 0.87),
102
+ disabled-input-text-color: rgba($on-surface, 0.38),
103
+ input-text-placeholder-color: rgba($on-surface, 0.6),
104
+
105
+ error-caret-color: $warn-color,
106
+ error-focus-label-text-color: $warn-color,
107
+ error-label-text-color: $warn-color,
108
+
109
+ // Outline tokens
110
+ outline-color: rgba($on-surface, 0.38),
111
+ disabled-outline-color: rgba($on-surface, 0.06),
112
+ hover-outline-color: rgba($on-surface, 0.87),
113
+ error-focus-outline-color: $warn-color,
114
+ error-hover-outline-color: $warn-color,
115
+ error-outline-color: $warn-color,
116
+ ));
117
+ }
118
+
119
+ // Generates the mapping for the properties that change based on the slide toggle color.
120
+ @function private-get-color-palette-color-tokens($config, $palette-name) {
121
+ $palette: map.get($config, $palette-name);
122
+ $palette-color: theming.get-color-from-palette($palette);
123
+
124
+ @return (
125
+ caret-color: $palette-color,
126
+ focus-outline-color: $palette-color,
127
+ focus-label-text-color: theming.get-color-from-palette($palette, default, 0.87),
128
+ );
129
+ }
130
+
131
+ // Tokens that can be configured through Angular Material's typography theming API.
132
+ @function get-typography-tokens($config) {
133
+ $fallback-font-family: typography-utils.font-family($config);
134
+
135
+ @return (
136
+ label-text-font: typography-utils.font-family($config, body-1) or $fallback-font-family,
137
+ label-text-line-height: typography-utils.line-height($config, body-1),
138
+ label-text-size: typography-utils.font-size($config, body-1),
139
+ label-text-tracking: typography-utils.letter-spacing($config, body-1),
140
+ label-text-weight: typography-utils.font-weight($config, body-1),
141
+ );
142
+ }
143
+
144
+ // Tokens that can be configured through Angular Material's density theming API.
145
+ @function get-density-tokens($config) {
146
+ @return ();
147
+ }
148
+
149
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
150
+ // This is used to create token slots.
151
+ @function get-token-slots() {
152
+ @return sass-utils.deep-merge-all(
153
+ get-unthemable-tokens(),
154
+ get-color-tokens(token-utils.$placeholder-color-config),
155
+ get-typography-tokens(token-utils.$placeholder-typography-config),
156
+ get-density-tokens(token-utils.$placeholder-density-config)
157
+ );
158
+ }
@@ -51,9 +51,9 @@ $prefix: (mdc, plain-tooltip);
51
51
  // Font for the tooltip text.
52
52
  supporting-text-font: typography-utils.font-family($config, caption)
53
53
  or typography-utils.font-family($config),
54
- // Font size for the the tooltip text.
54
+ // Font size for the tooltip text.
55
55
  supporting-text-size: typography-utils.font-size($config, caption),
56
- // Font weight of the the tooltip text.
56
+ // Font weight of the tooltip text.
57
57
  supporting-text-weight: typography-utils.font-weight($config, caption),
58
58
  // Tracking (space between letters) of the tooltip text.
59
59
  supporting-text-tracking: typography-utils.letter-spacing($config, caption),
package/dialog/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { AnimationTriggerMetadata } from '@angular/animations';
2
2
  import { CdkDialogContainer } from '@angular/cdk/dialog';
3
3
  import { ComponentFactoryResolver } from '@angular/core';
4
+ import { ComponentRef } from '@angular/core';
4
5
  import { ComponentType } from '@angular/cdk/overlay';
5
6
  import { DialogRef } from '@angular/cdk/dialog';
6
7
  import { Direction } from '@angular/cdk/bidi';
@@ -432,6 +433,11 @@ export declare class MatDialogRef<T, R = any> {
432
433
  _containerInstance: _MatDialogContainerBase;
433
434
  /** The instance of component opened into the dialog. */
434
435
  componentInstance: T;
436
+ /**
437
+ * `ComponentRef` of the component opened into the dialog. Will be
438
+ * null when the dialog is opened using a `TemplateRef`.
439
+ */
440
+ readonly componentRef: ComponentRef<T> | null;
435
441
  /** Whether the user is allowed to close the dialog. */
436
442
  disableClose: boolean | undefined;
437
443
  /** Unique ID for the dialog. */
@@ -16,6 +16,13 @@ export class MatBottomSheetRef {
16
16
  get instance() {
17
17
  return this._ref.componentInstance;
18
18
  }
19
+ /**
20
+ * `ComponentRef` of the component opened into the bottom sheet. Will be
21
+ * null when the bottom sheet is opened using a `TemplateRef`.
22
+ */
23
+ get componentRef() {
24
+ return this._ref.componentRef;
25
+ }
19
26
  constructor(_ref, config, containerInstance) {
20
27
  this._ref = _ref;
21
28
  /** Subject for notifying the user that the bottom sheet has opened and appeared. */
@@ -94,4 +101,4 @@ export class MatBottomSheetRef {
94
101
  return this._ref.keydownEvents;
95
102
  }
96
103
  }
97
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLXNoZWV0LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9ib3R0b20tc2hlZXQvYm90dG9tLXNoZWV0LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFHSCxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBQyxLQUFLLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLDJFQUEyRTtJQUMzRSxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWtCLENBQUM7SUFDdEMsQ0FBQztJQW9CRCxZQUNVLElBQXFCLEVBQzdCLE1BQTRCLEVBQzVCLGlCQUEwQztRQUZsQyxTQUFJLEdBQUosSUFBSSxDQUFpQjtRQVYvQixvRkFBb0Y7UUFDbkUsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBYWxELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFFeEMsd0NBQXdDO1FBQ3hDLGlCQUFpQixDQUFDLHNCQUFzQjthQUNyQyxJQUFJLENBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsRUFDMUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDekIsSUFB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Q2pDLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0RpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQge0VTQ0FQRSwgaGFzTW9kaWZpZXJLZXl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge01hdEJvdHRvbVNoZWV0Q29uZmlnfSBmcm9tICcuL2JvdHRvbS1zaGVldC1jb25maWcnO1xuaW1wb3J0IHtNYXRCb3R0b21TaGVldENvbnRhaW5lcn0gZnJvbSAnLi9ib3R0b20tc2hlZXQtY29udGFpbmVyJztcblxuLyoqXG4gKiBSZWZlcmVuY2UgdG8gYSBib3R0b20gc2hlZXQgZGlzcGF0Y2hlZCBmcm9tIHRoZSBib3R0b20gc2hlZXQgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hdEJvdHRvbVNoZWV0UmVmPFQgPSBhbnksIFIgPSBhbnk+IHtcbiAgLyoqIEluc3RhbmNlIG9mIHRoZSBjb21wb25lbnQgbWFraW5nIHVwIHRoZSBjb250ZW50IG9mIHRoZSBib3R0b20gc2hlZXQuICovXG4gIGdldCBpbnN0YW5jZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmLmNvbXBvbmVudEluc3RhbmNlITtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnN0YW5jZSBvZiB0aGUgY29tcG9uZW50IGludG8gd2hpY2ggdGhlIGJvdHRvbSBzaGVldCBjb250ZW50IGlzIHByb2plY3RlZC5cbiAgICogQGRvY3MtcHJpdmF0ZVxuICAgKi9cbiAgY29udGFpbmVySW5zdGFuY2U6IE1hdEJvdHRvbVNoZWV0Q29udGFpbmVyO1xuXG4gIC8qKiBXaGV0aGVyIHRoZSB1c2VyIGlzIGFsbG93ZWQgdG8gY2xvc2UgdGhlIGJvdHRvbSBzaGVldC4gKi9cbiAgZGlzYWJsZUNsb3NlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gIC8qKiBTdWJqZWN0IGZvciBub3RpZnlpbmcgdGhlIHVzZXIgdGhhdCB0aGUgYm90dG9tIHNoZWV0IGhhcyBvcGVuZWQgYW5kIGFwcGVhcmVkLiAqL1xuICBwcml2YXRlIHJlYWRvbmx5IF9hZnRlck9wZW5lZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XG5cbiAgLyoqIFJlc3VsdCB0byBiZSBwYXNzZWQgZG93biB0byB0aGUgYGFmdGVyRGlzbWlzc2VkYCBzdHJlYW0uICovXG4gIHByaXZhdGUgX3Jlc3VsdDogUiB8IHVuZGVmaW5lZDtcblxuICAvKiogSGFuZGxlIHRvIHRoZSB0aW1lb3V0IHRoYXQncyBydW5uaW5nIGFzIGEgZmFsbGJhY2sgaW4gY2FzZSB0aGUgZXhpdCBhbmltYXRpb24gZG9lc24ndCBmaXJlLiAqL1xuICBwcml2YXRlIF9jbG9zZUZhbGxiYWNrVGltZW91dDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3JlZjogRGlhbG9nUmVmPFIsIFQ+LFxuICAgIGNvbmZpZzogTWF0Qm90dG9tU2hlZXRDb25maWcsXG4gICAgY29udGFpbmVySW5zdGFuY2U6IE1hdEJvdHRvbVNoZWV0Q29udGFpbmVyLFxuICApIHtcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlID0gY29udGFpbmVySW5zdGFuY2U7XG4gICAgdGhpcy5kaXNhYmxlQ2xvc2UgPSBjb25maWcuZGlzYWJsZUNsb3NlO1xuXG4gICAgLy8gRW1pdCB3aGVuIG9wZW5pbmcgYW5pbWF0aW9uIGNvbXBsZXRlc1xuICAgIGNvbnRhaW5lckluc3RhbmNlLl9hbmltYXRpb25TdGF0ZUNoYW5nZWRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnZG9uZScgJiYgZXZlbnQudG9TdGF0ZSA9PT0gJ3Zpc2libGUnKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLl9hZnRlck9wZW5lZC5uZXh0KCk7XG4gICAgICAgIHRoaXMuX2FmdGVyT3BlbmVkLmNvbXBsZXRlKCk7XG4gICAgICB9KTtcblxuICAgIC8vIERpc3Bvc2Ugb3ZlcmxheSB3aGVuIGNsb3NpbmcgYW5pbWF0aW9uIGlzIGNvbXBsZXRlXG4gICAgY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcihldmVudCA9PiBldmVudC5waGFzZU5hbWUgPT09ICdkb25lJyAmJiBldmVudC50b1N0YXRlID09PSAnaGlkZGVuJyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2Nsb3NlRmFsbGJhY2tUaW1lb3V0KTtcbiAgICAgICAgdGhpcy5fcmVmLmNsb3NlKHRoaXMuX3Jlc3VsdCk7XG4gICAgICB9KTtcblxuICAgIF9yZWYub3ZlcmxheVJlZi5kZXRhY2htZW50cygpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl9yZWYuY2xvc2UodGhpcy5fcmVzdWx0KTtcbiAgICB9KTtcblxuICAgIG1lcmdlKFxuICAgICAgdGhpcy5iYWNrZHJvcENsaWNrKCksXG4gICAgICB0aGlzLmtleWRvd25FdmVudHMoKS5waXBlKGZpbHRlcihldmVudCA9PiBldmVudC5rZXlDb2RlID09PSBFU0NBUEUpKSxcbiAgICApLnN1YnNjcmliZShldmVudCA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgICF0aGlzLmRpc2FibGVDbG9zZSAmJlxuICAgICAgICAoZXZlbnQudHlwZSAhPT0gJ2tleWRvd24nIHx8ICFoYXNNb2RpZmllcktleShldmVudCBhcyBLZXlib2FyZEV2ZW50KSlcbiAgICAgICkge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmRpc21pc3MoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNtaXNzZXMgdGhlIGJvdHRvbSBzaGVldC5cbiAgICogQHBhcmFtIHJlc3VsdCBEYXRhIHRvIGJlIHBhc3NlZCBiYWNrIHRvIHRoZSBib3R0b20gc2hlZXQgb3BlbmVyLlxuICAgKi9cbiAgZGlzbWlzcyhyZXN1bHQ/OiBSKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmNvbnRhaW5lckluc3RhbmNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgLy8gVHJhbnNpdGlvbiB0aGUgYmFja2Ryb3AgaW4gcGFyYWxsZWwgdG8gdGhlIGJvdHRvbSBzaGVldC5cbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLl9hbmltYXRpb25TdGF0ZUNoYW5nZWRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnc3RhcnQnKSxcbiAgICAgICAgdGFrZSgxKSxcbiAgICAgIClcbiAgICAgIC5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgICAvLyBUaGUgbG9naWMgdGhhdCBkaXNwb3NlcyBvZiB0aGUgb3ZlcmxheSBkZXBlbmRzIG9uIHRoZSBleGl0IGFuaW1hdGlvbiBjb21wbGV0aW5nLCBob3dldmVyXG4gICAgICAgIC8vIGl0IGlzbid0IGd1YXJhbnRlZWQgaWYgdGhlIHBhcmVudCB2aWV3IGlzIGRlc3Ryb3llZCB3aGlsZSBpdCdzIHJ1bm5pbmcuIEFkZCBhIGZhbGxiYWNrXG4gICAgICAgIC8vIHRpbWVvdXQgd2hpY2ggd2lsbCBjbGVhbiBldmVyeXRoaW5nIHVwIGlmIHRoZSBhbmltYXRpb24gaGFzbid0IGZpcmVkIHdpdGhpbiB0aGUgc3BlY2lmaWVkXG4gICAgICAgIC8vIGFtb3VudCBvZiB0aW1lIHBsdXMgMTAwbXMuIFdlIGRvbid0IG5lZWQgdG8gcnVuIHRoaXMgb3V0c2lkZSB0aGUgTmdab25lLCBiZWNhdXNlIGZvciB0aGVcbiAgICAgICAgLy8gdmFzdCBtYWpvcml0eSBvZiBjYXNlcyB0aGUgdGltZW91dCB3aWxsIGhhdmUgYmVlbiBjbGVhcmVkIGJlZm9yZSBpdCBoYXMgZmlyZWQuXG4gICAgICAgIHRoaXMuX2Nsb3NlRmFsbGJhY2tUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgdGhpcy5fcmVmLmNsb3NlKHRoaXMuX3Jlc3VsdCk7XG4gICAgICAgIH0sIGV2ZW50LnRvdGFsVGltZSArIDEwMCk7XG5cbiAgICAgICAgdGhpcy5fcmVmLm92ZXJsYXlSZWYuZGV0YWNoQmFja2Ryb3AoKTtcbiAgICAgIH0pO1xuXG4gICAgdGhpcy5fcmVzdWx0ID0gcmVzdWx0O1xuICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UuZXhpdCgpO1xuICAgIHRoaXMuY29udGFpbmVySW5zdGFuY2UgPSBudWxsITtcbiAgfVxuXG4gIC8qKiBHZXRzIGFuIG9ic2VydmFibGUgdGhhdCBpcyBub3RpZmllZCB3aGVuIHRoZSBib3R0b20gc2hlZXQgaXMgZmluaXNoZWQgY2xvc2luZy4gKi9cbiAgYWZ0ZXJEaXNtaXNzZWQoKTogT2JzZXJ2YWJsZTxSIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZi5jbG9zZWQ7XG4gIH1cblxuICAvKiogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgaXMgbm90aWZpZWQgd2hlbiB0aGUgYm90dG9tIHNoZWV0IGhhcyBvcGVuZWQgYW5kIGFwcGVhcmVkLiAqL1xuICBhZnRlck9wZW5lZCgpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fYWZ0ZXJPcGVuZWQ7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiB0aGUgb3ZlcmxheSdzIGJhY2tkcm9wIGhhcyBiZWVuIGNsaWNrZWQuXG4gICAqL1xuICBiYWNrZHJvcENsaWNrKCk6IE9ic2VydmFibGU8TW91c2VFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9yZWYuYmFja2Ryb3BDbGljaztcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGFuIG9ic2VydmFibGUgdGhhdCBlbWl0cyB3aGVuIGtleWRvd24gZXZlbnRzIGFyZSB0YXJnZXRlZCBvbiB0aGUgb3ZlcmxheS5cbiAgICovXG4gIGtleWRvd25FdmVudHMoKTogT2JzZXJ2YWJsZTxLZXlib2FyZEV2ZW50PiB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZi5rZXlkb3duRXZlbnRzO1xuICB9XG59XG4iXX0=
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm90dG9tLXNoZWV0LXJlZi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9ib3R0b20tc2hlZXQvYm90dG9tLXNoZWV0LXJlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFJSCxPQUFPLEVBQUMsTUFBTSxFQUFFLGNBQWMsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQzdELE9BQU8sRUFBQyxLQUFLLEVBQWMsT0FBTyxFQUFDLE1BQU0sTUFBTSxDQUFDO0FBQ2hELE9BQU8sRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJNUM7O0dBRUc7QUFDSCxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLDJFQUEyRTtJQUMzRSxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWtCLENBQUM7SUFDdEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDaEMsQ0FBQztJQW9CRCxZQUNVLElBQXFCLEVBQzdCLE1BQTRCLEVBQzVCLGlCQUEwQztRQUZsQyxTQUFJLEdBQUosSUFBSSxDQUFpQjtRQVYvQixvRkFBb0Y7UUFDbkUsaUJBQVksR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBYWxELElBQUksQ0FBQyxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQztRQUMzQyxJQUFJLENBQUMsWUFBWSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUM7UUFFeEMsd0NBQXdDO1FBQ3hDLGlCQUFpQixDQUFDLHNCQUFzQjthQUNyQyxJQUFJLENBQ0gsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLFNBQVMsS0FBSyxNQUFNLElBQUksS0FBSyxDQUFDLE9BQU8sS0FBSyxTQUFTLENBQUMsRUFDMUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxD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QUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQ2pDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmlvL2xpY2Vuc2VcbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0RpYWxvZ1JlZn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RpYWxvZyc7XG5pbXBvcnQge0VTQ0FQRSwgaGFzTW9kaWZpZXJLZXl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge21lcmdlLCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7ZmlsdGVyLCB0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQge01hdEJvdHRvbVNoZWV0Q29uZmlnfSBmcm9tICcuL2JvdHRvbS1zaGVldC1jb25maWcnO1xuaW1wb3J0IHtNYXRCb3R0b21TaGVldENvbnRhaW5lcn0gZnJvbSAnLi9ib3R0b20tc2hlZXQtY29udGFpbmVyJztcblxuLyoqXG4gKiBSZWZlcmVuY2UgdG8gYSBib3R0b20gc2hlZXQgZGlzcGF0Y2hlZCBmcm9tIHRoZSBib3R0b20gc2hlZXQgc2VydmljZS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1hdEJvdHRvbVNoZWV0UmVmPFQgPSBhbnksIFIgPSBhbnk+IHtcbiAgLyoqIEluc3RhbmNlIG9mIHRoZSBjb21wb25lbnQgbWFraW5nIHVwIHRoZSBjb250ZW50IG9mIHRoZSBib3R0b20gc2hlZXQuICovXG4gIGdldCBpbnN0YW5jZSgpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fcmVmLmNvbXBvbmVudEluc3RhbmNlITtcbiAgfVxuXG4gIC8qKlxuICAgKiBgQ29tcG9uZW50UmVmYCBvZiB0aGUgY29tcG9uZW50IG9wZW5lZCBpbnRvIHRoZSBib3R0b20gc2hlZXQuIFdpbGwgYmVcbiAgICogbnVsbCB3aGVuIHRoZSBib3R0b20gc2hlZXQgaXMgb3BlbmVkIHVzaW5nIGEgYFRlbXBsYXRlUmVmYC5cbiAgICovXG4gIGdldCBjb21wb25lbnRSZWYoKTogQ29tcG9uZW50UmVmPFQ+IHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuX3JlZi5jb21wb25lbnRSZWY7XG4gIH1cblxuICAvKipcbiAgICogSW5zdGFuY2Ugb2YgdGhlIGNvbXBvbmVudCBpbnRvIHdoaWNoIHRoZSBib3R0b20gc2hlZXQgY29udGVudCBpcyBwcm9qZWN0ZWQuXG4gICAqIEBkb2NzLXByaXZhdGVcbiAgICovXG4gIGNvbnRhaW5lckluc3RhbmNlOiBNYXRCb3R0b21TaGVldENvbnRhaW5lcjtcblxuICAvKiogV2hldGhlciB0aGUgdXNlciBpcyBhbGxvd2VkIHRvIGNsb3NlIHRoZSBib3R0b20gc2hlZXQuICovXG4gIGRpc2FibGVDbG9zZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAvKiogU3ViamVjdCBmb3Igbm90aWZ5aW5nIHRoZSB1c2VyIHRoYXQgdGhlIGJvdHRvbSBzaGVldCBoYXMgb3BlbmVkIGFuZCBhcHBlYXJlZC4gKi9cbiAgcHJpdmF0ZSByZWFkb25seSBfYWZ0ZXJPcGVuZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBSZXN1bHQgdG8gYmUgcGFzc2VkIGRvd24gdG8gdGhlIGBhZnRlckRpc21pc3NlZGAgc3RyZWFtLiAqL1xuICBwcml2YXRlIF9yZXN1bHQ6IFIgfCB1bmRlZmluZWQ7XG5cbiAgLyoqIEhhbmRsZSB0byB0aGUgdGltZW91dCB0aGF0J3MgcnVubmluZyBhcyBhIGZhbGxiYWNrIGluIGNhc2UgdGhlIGV4aXQgYW5pbWF0aW9uIGRvZXNuJ3QgZmlyZS4gKi9cbiAgcHJpdmF0ZSBfY2xvc2VGYWxsYmFja1RpbWVvdXQ6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9yZWY6IERpYWxvZ1JlZjxSLCBUPixcbiAgICBjb25maWc6IE1hdEJvdHRvbVNoZWV0Q29uZmlnLFxuICAgIGNvbnRhaW5lckluc3RhbmNlOiBNYXRCb3R0b21TaGVldENvbnRhaW5lcixcbiAgKSB7XG4gICAgdGhpcy5jb250YWluZXJJbnN0YW5jZSA9IGNvbnRhaW5lckluc3RhbmNlO1xuICAgIHRoaXMuZGlzYWJsZUNsb3NlID0gY29uZmlnLmRpc2FibGVDbG9zZTtcblxuICAgIC8vIEVtaXQgd2hlbiBvcGVuaW5nIGFuaW1hdGlvbiBjb21wbGV0ZXNcbiAgICBjb250YWluZXJJbnN0YW5jZS5fYW5pbWF0aW9uU3RhdGVDaGFuZ2VkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50LnBoYXNlTmFtZSA9PT0gJ2RvbmUnICYmIGV2ZW50LnRvU3RhdGUgPT09ICd2aXNpYmxlJyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5fYWZ0ZXJPcGVuZWQubmV4dCgpO1xuICAgICAgICB0aGlzLl9hZnRlck9wZW5lZC5jb21wbGV0ZSgpO1xuICAgICAgfSk7XG5cbiAgICAvLyBEaXNwb3NlIG92ZXJsYXkgd2hlbiBjbG9zaW5nIGFuaW1hdGlvbiBpcyBjb21wbGV0ZVxuICAgIGNvbnRhaW5lckluc3RhbmNlLl9hbmltYXRpb25TdGF0ZUNoYW5nZWRcbiAgICAgIC5waXBlKFxuICAgICAgICBmaWx0ZXIoZXZlbnQgPT4gZXZlbnQucGhhc2VOYW1lID09PSAnZG9uZScgJiYgZXZlbnQudG9TdGF0ZSA9PT0gJ2hpZGRlbicpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNsZWFyVGltZW91dCh0aGlzLl9jbG9zZUZhbGxiYWNrVGltZW91dCk7XG4gICAgICAgIHRoaXMuX3JlZi5jbG9zZSh0aGlzLl9yZXN1bHQpO1xuICAgICAgfSk7XG5cbiAgICBfcmVmLm92ZXJsYXlSZWYuZGV0YWNobWVudHMoKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcmVmLmNsb3NlKHRoaXMuX3Jlc3VsdCk7XG4gICAgfSk7XG5cbiAgICBtZXJnZShcbiAgICAgIHRoaXMuYmFja2Ryb3BDbGljaygpLFxuICAgICAgdGhpcy5rZXlkb3duRXZlbnRzKCkucGlwZShmaWx0ZXIoZXZlbnQgPT4gZXZlbnQua2V5Q29kZSA9PT0gRVNDQVBFKSksXG4gICAgKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5kaXNhYmxlQ2xvc2UgJiZcbiAgICAgICAgKGV2ZW50LnR5cGUgIT09ICdrZXlkb3duJyB8fCAhaGFzTW9kaWZpZXJLZXkoZXZlbnQgYXMgS2V5Ym9hcmRFdmVudCkpXG4gICAgICApIHtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgdGhpcy5kaXNtaXNzKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGlzbWlzc2VzIHRoZSBib3R0b20gc2hlZXQuXG4gICAqIEBwYXJhbSByZXN1bHQgRGF0YSB0byBiZSBwYXNzZWQgYmFjayB0byB0aGUgYm90dG9tIHNoZWV0IG9wZW5lci5cbiAgICovXG4gIGRpc21pc3MocmVzdWx0PzogUik6IHZvaWQge1xuICAgIGlmICghdGhpcy5jb250YWluZXJJbnN0YW5jZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIFRyYW5zaXRpb24gdGhlIGJhY2tkcm9wIGluIHBhcmFsbGVsIHRvIHRoZSBib3R0b20gc2hlZXQuXG4gICAgdGhpcy5jb250YWluZXJJbnN0YW5jZS5fYW5pbWF0aW9uU3RhdGVDaGFuZ2VkXG4gICAgICAucGlwZShcbiAgICAgICAgZmlsdGVyKGV2ZW50ID0+IGV2ZW50LnBoYXNlTmFtZSA9PT0gJ3N0YXJ0JyksXG4gICAgICAgIHRha2UoMSksXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKGV2ZW50ID0+IHtcbiAgICAgICAgLy8gVGhlIGxvZ2ljIHRoYXQgZGlzcG9zZXMgb2YgdGhlIG92ZXJsYXkgZGVwZW5kcyBvbiB0aGUgZXhpdCBhbmltYXRpb24gY29tcGxldGluZywgaG93ZXZlclxuICAgICAgICAvLyBpdCBpc24ndCBndWFyYW50ZWVkIGlmIHRoZSBwYXJlbnQgdmlldyBpcyBkZXN0cm95ZWQgd2hpbGUgaXQncyBydW5uaW5nLiBBZGQgYSBmYWxsYmFja1xuICAgICAgICAvLyB0aW1lb3V0IHdoaWNoIHdpbGwgY2xlYW4gZXZlcnl0aGluZyB1cCBpZiB0aGUgYW5pbWF0aW9uIGhhc24ndCBmaXJlZCB3aXRoaW4gdGhlIHNwZWNpZmllZFxuICAgICAgICAvLyBhbW91bnQgb2YgdGltZSBwbHVzIDEwMG1zLiBXZSBkb24ndCBuZWVkIHRvIHJ1biB0aGlzIG91dHNpZGUgdGhlIE5nWm9uZSwgYmVjYXVzZSBmb3IgdGhlXG4gICAgICAgIC8vIHZhc3QgbWFqb3JpdHkgb2YgY2FzZXMgdGhlIHRpbWVvdXQgd2lsbCBoYXZlIGJlZW4gY2xlYXJlZCBiZWZvcmUgaXQgaGFzIGZpcmVkLlxuICAgICAgICB0aGlzLl9jbG9zZUZhbGxiYWNrVGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgIHRoaXMuX3JlZi5jbG9zZSh0aGlzLl9yZXN1bHQpO1xuICAgICAgICB9LCBldmVudC50b3RhbFRpbWUgKyAxMDApO1xuXG4gICAgICAgIHRoaXMuX3JlZi5vdmVybGF5UmVmLmRldGFjaEJhY2tkcm9wKCk7XG4gICAgICB9KTtcblxuICAgIHRoaXMuX3Jlc3VsdCA9IHJlc3VsdDtcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlLmV4aXQoKTtcbiAgICB0aGlzLmNvbnRhaW5lckluc3RhbmNlID0gbnVsbCE7XG4gIH1cblxuICAvKiogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgaXMgbm90aWZpZWQgd2hlbiB0aGUgYm90dG9tIHNoZWV0IGlzIGZpbmlzaGVkIGNsb3NpbmcuICovXG4gIGFmdGVyRGlzbWlzc2VkKCk6IE9ic2VydmFibGU8UiB8IHVuZGVmaW5lZD4ge1xuICAgIHJldHVybiB0aGlzLl9yZWYuY2xvc2VkO1xuICB9XG5cbiAgLyoqIEdldHMgYW4gb2JzZXJ2YWJsZSB0aGF0IGlzIG5vdGlmaWVkIHdoZW4gdGhlIGJvdHRvbSBzaGVldCBoYXMgb3BlbmVkIGFuZCBhcHBlYXJlZC4gKi9cbiAgYWZ0ZXJPcGVuZWQoKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2FmdGVyT3BlbmVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgYW4gb2JzZXJ2YWJsZSB0aGF0IGVtaXRzIHdoZW4gdGhlIG92ZXJsYXkncyBiYWNrZHJvcCBoYXMgYmVlbiBjbGlja2VkLlxuICAgKi9cbiAgYmFja2Ryb3BDbGljaygpOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+IHtcbiAgICByZXR1cm4gdGhpcy5fcmVmLmJhY2tkcm9wQ2xpY2s7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhbiBvYnNlcnZhYmxlIHRoYXQgZW1pdHMgd2hlbiBrZXlkb3duIGV2ZW50cyBhcmUgdGFyZ2V0ZWQgb24gdGhlIG92ZXJsYXkuXG4gICAqL1xuICBrZXlkb3duRXZlbnRzKCk6IE9ic2VydmFibGU8S2V5Ym9hcmRFdmVudD4ge1xuICAgIHJldHVybiB0aGlzLl9yZWYua2V5ZG93bkV2ZW50cztcbiAgfVxufVxuIl19
@@ -7,5 +7,5 @@
7
7
  */
8
8
  import { Version } from '@angular/core';
9
9
  /** Current version of Angular Material. */
10
- export const VERSION = new Version('16.2.0-next.5');
10
+ export const VERSION = new Version('16.2.0-rc.0');
11
11
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9jb3JlL3ZlcnNpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUV0QywyQ0FBMkM7QUFDM0MsTUFBTSxDQUFDLE1BQU0sT0FBTyxHQUFHLElBQUksT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtWZXJzaW9ufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIEN1cnJlbnQgdmVyc2lvbiBvZiBBbmd1bGFyIE1hdGVyaWFsLiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSBuZXcgVmVyc2lvbignMC4wLjAtUExBQ0VIT0xERVInKTtcbiJdfQ==