@angular/material 17.0.0-rc.1 → 17.0.0-rc.3

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 (251) hide show
  1. package/button/_button-base.scss +37 -18
  2. package/button/_button-theme.scss +86 -142
  3. package/button/_fab-theme.scss +21 -49
  4. package/button/_icon-button-theme.scss +25 -25
  5. package/core/_core-theme.scss +4 -4
  6. package/core/ripple/_ripple-theme.scss +27 -17
  7. package/core/ripple/_ripple.scss +8 -0
  8. package/core/theming/_theming.scss +0 -14
  9. package/core/tokens/m2/mat/_fab.scss +87 -0
  10. package/core/tokens/m2/mat/_filled-button.scss +76 -0
  11. package/core/tokens/m2/mat/_icon-button.scss +73 -0
  12. package/core/tokens/m2/mat/_outlined-button.scss +73 -0
  13. package/core/tokens/m2/mat/_protected-button.scss +76 -0
  14. package/core/tokens/m2/mat/_ripple.scss +49 -0
  15. package/core/tokens/m2/mat/_text-button.scss +73 -0
  16. package/core/tokens/m2/mdc/_extended-fab.scss +3 -0
  17. package/core/tokens/m2/mdc/_fab.scss +17 -3
  18. package/core/tokens/m2/mdc/_filled-button.scss +24 -18
  19. package/core/tokens/m2/mdc/_icon-button.scss +0 -3
  20. package/core/tokens/m2/mdc/_outlined-button.scss +120 -0
  21. package/core/tokens/m2/mdc/_protected-button.scss +24 -19
  22. package/dialog/index.d.ts +2 -1
  23. package/esm2022/autocomplete/autocomplete-origin.mjs +3 -3
  24. package/esm2022/autocomplete/autocomplete-trigger.mjs +3 -3
  25. package/esm2022/autocomplete/autocomplete.mjs +3 -3
  26. package/esm2022/autocomplete/module.mjs +4 -4
  27. package/esm2022/badge/badge-module.mjs +4 -4
  28. package/esm2022/badge/badge.mjs +3 -3
  29. package/esm2022/bottom-sheet/bottom-sheet-container.mjs +3 -3
  30. package/esm2022/bottom-sheet/bottom-sheet-module.mjs +4 -4
  31. package/esm2022/bottom-sheet/bottom-sheet.mjs +3 -3
  32. package/esm2022/button/button-base.mjs +6 -6
  33. package/esm2022/button/button.mjs +8 -8
  34. package/esm2022/button/fab.mjs +16 -16
  35. package/esm2022/button/icon-button.mjs +8 -8
  36. package/esm2022/button/module.mjs +4 -4
  37. package/esm2022/button-toggle/button-toggle-module.mjs +4 -4
  38. package/esm2022/button-toggle/button-toggle.mjs +6 -6
  39. package/esm2022/card/card.mjs +42 -42
  40. package/esm2022/card/module.mjs +4 -4
  41. package/esm2022/checkbox/checkbox-required-validator.mjs +3 -3
  42. package/esm2022/checkbox/checkbox.mjs +3 -3
  43. package/esm2022/checkbox/module.mjs +8 -8
  44. package/esm2022/chips/chip-action.mjs +3 -3
  45. package/esm2022/chips/chip-edit-input.mjs +3 -3
  46. package/esm2022/chips/chip-grid.mjs +3 -3
  47. package/esm2022/chips/chip-icons.mjs +9 -9
  48. package/esm2022/chips/chip-input.mjs +3 -3
  49. package/esm2022/chips/chip-listbox.mjs +3 -3
  50. package/esm2022/chips/chip-option.mjs +3 -3
  51. package/esm2022/chips/chip-row.mjs +3 -3
  52. package/esm2022/chips/chip-set.mjs +3 -3
  53. package/esm2022/chips/chip.mjs +3 -3
  54. package/esm2022/chips/module.mjs +4 -4
  55. package/esm2022/core/common-behaviors/common-module.mjs +4 -4
  56. package/esm2022/core/datetime/index.mjs +8 -8
  57. package/esm2022/core/datetime/native-date-adapter.mjs +3 -3
  58. package/esm2022/core/error/error-options.mjs +6 -6
  59. package/esm2022/core/line/line.mjs +7 -7
  60. package/esm2022/core/option/index.mjs +4 -4
  61. package/esm2022/core/option/optgroup.mjs +3 -3
  62. package/esm2022/core/option/option.mjs +3 -3
  63. package/esm2022/core/private/ripple-loader.mjs +3 -3
  64. package/esm2022/core/ripple/index.mjs +4 -4
  65. package/esm2022/core/ripple/ripple.mjs +3 -3
  66. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +4 -4
  67. package/esm2022/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  68. package/esm2022/core/version.mjs +1 -1
  69. package/esm2022/datepicker/calendar-body.mjs +3 -3
  70. package/esm2022/datepicker/calendar.mjs +6 -6
  71. package/esm2022/datepicker/date-range-input-parts.mjs +9 -9
  72. package/esm2022/datepicker/date-range-input.mjs +3 -3
  73. package/esm2022/datepicker/date-range-picker.mjs +3 -3
  74. package/esm2022/datepicker/date-range-selection-strategy.mjs +3 -3
  75. package/esm2022/datepicker/date-selection-model.mjs +9 -9
  76. package/esm2022/datepicker/datepicker-actions.mjs +9 -9
  77. package/esm2022/datepicker/datepicker-base.mjs +6 -6
  78. package/esm2022/datepicker/datepicker-input-base.mjs +3 -3
  79. package/esm2022/datepicker/datepicker-input.mjs +3 -3
  80. package/esm2022/datepicker/datepicker-intl.mjs +3 -3
  81. package/esm2022/datepicker/datepicker-module.mjs +4 -4
  82. package/esm2022/datepicker/datepicker-toggle.mjs +6 -6
  83. package/esm2022/datepicker/datepicker.mjs +3 -3
  84. package/esm2022/datepicker/month-view.mjs +3 -3
  85. package/esm2022/datepicker/multi-year-view.mjs +3 -3
  86. package/esm2022/datepicker/year-view.mjs +3 -3
  87. package/esm2022/dialog/dialog-container.mjs +3 -3
  88. package/esm2022/dialog/dialog-content-directives.mjs +12 -12
  89. package/esm2022/dialog/dialog.mjs +4 -4
  90. package/esm2022/dialog/module.mjs +4 -4
  91. package/esm2022/divider/divider-module.mjs +4 -4
  92. package/esm2022/divider/divider.mjs +3 -3
  93. package/esm2022/expansion/accordion.mjs +3 -3
  94. package/esm2022/expansion/expansion-module.mjs +4 -4
  95. package/esm2022/expansion/expansion-panel-content.mjs +3 -3
  96. package/esm2022/expansion/expansion-panel-header.mjs +9 -9
  97. package/esm2022/expansion/expansion-panel.mjs +6 -6
  98. package/esm2022/form-field/directives/error.mjs +3 -3
  99. package/esm2022/form-field/directives/floating-label.mjs +3 -3
  100. package/esm2022/form-field/directives/hint.mjs +3 -3
  101. package/esm2022/form-field/directives/label.mjs +3 -3
  102. package/esm2022/form-field/directives/line-ripple.mjs +3 -3
  103. package/esm2022/form-field/directives/notched-outline.mjs +3 -3
  104. package/esm2022/form-field/directives/prefix.mjs +3 -3
  105. package/esm2022/form-field/directives/suffix.mjs +3 -3
  106. package/esm2022/form-field/form-field-control.mjs +3 -3
  107. package/esm2022/form-field/form-field.mjs +3 -3
  108. package/esm2022/form-field/module.mjs +4 -4
  109. package/esm2022/grid-list/grid-list-module.mjs +4 -4
  110. package/esm2022/grid-list/grid-list.mjs +3 -3
  111. package/esm2022/grid-list/grid-tile.mjs +15 -15
  112. package/esm2022/icon/icon-module.mjs +4 -4
  113. package/esm2022/icon/icon-registry.mjs +3 -3
  114. package/esm2022/icon/icon.mjs +3 -3
  115. package/esm2022/icon/testing/fake-icon-registry.mjs +7 -7
  116. package/esm2022/input/input.mjs +3 -3
  117. package/esm2022/input/module.mjs +4 -4
  118. package/esm2022/list/action-list.mjs +3 -3
  119. package/esm2022/list/list-base.mjs +6 -6
  120. package/esm2022/list/list-item-sections.mjs +18 -18
  121. package/esm2022/list/list-module.mjs +4 -4
  122. package/esm2022/list/list-option.mjs +3 -3
  123. package/esm2022/list/list.mjs +6 -6
  124. package/esm2022/list/nav-list.mjs +3 -3
  125. package/esm2022/list/selection-list.mjs +3 -3
  126. package/esm2022/list/subheader.mjs +3 -3
  127. package/esm2022/menu/menu-content.mjs +3 -3
  128. package/esm2022/menu/menu-item.mjs +3 -3
  129. package/esm2022/menu/menu-trigger.mjs +3 -3
  130. package/esm2022/menu/menu.mjs +3 -3
  131. package/esm2022/menu/module.mjs +4 -4
  132. package/esm2022/paginator/module.mjs +4 -4
  133. package/esm2022/paginator/paginator-intl.mjs +3 -3
  134. package/esm2022/paginator/paginator.mjs +3 -3
  135. package/esm2022/progress-bar/module.mjs +4 -4
  136. package/esm2022/progress-bar/progress-bar.mjs +3 -3
  137. package/esm2022/progress-spinner/module.mjs +4 -4
  138. package/esm2022/progress-spinner/progress-spinner.mjs +3 -3
  139. package/esm2022/radio/module.mjs +4 -4
  140. package/esm2022/radio/radio.mjs +6 -6
  141. package/esm2022/select/module.mjs +4 -4
  142. package/esm2022/select/select.mjs +6 -6
  143. package/esm2022/sidenav/drawer.mjs +9 -9
  144. package/esm2022/sidenav/sidenav-module.mjs +4 -4
  145. package/esm2022/sidenav/sidenav.mjs +9 -9
  146. package/esm2022/slide-toggle/module.mjs +8 -8
  147. package/esm2022/slide-toggle/slide-toggle-required-validator.mjs +3 -3
  148. package/esm2022/slide-toggle/slide-toggle.mjs +3 -3
  149. package/esm2022/slider/module.mjs +4 -4
  150. package/esm2022/slider/slider-input.mjs +6 -6
  151. package/esm2022/slider/slider-thumb.mjs +3 -3
  152. package/esm2022/slider/slider.mjs +3 -3
  153. package/esm2022/snack-bar/module.mjs +4 -4
  154. package/esm2022/snack-bar/simple-snack-bar.mjs +3 -3
  155. package/esm2022/snack-bar/snack-bar-container.mjs +5 -5
  156. package/esm2022/snack-bar/snack-bar-content.mjs +9 -9
  157. package/esm2022/snack-bar/snack-bar.mjs +3 -3
  158. package/esm2022/sort/sort-header-intl.mjs +3 -3
  159. package/esm2022/sort/sort-header.mjs +3 -3
  160. package/esm2022/sort/sort-module.mjs +4 -4
  161. package/esm2022/sort/sort.mjs +3 -3
  162. package/esm2022/stepper/step-content.mjs +3 -3
  163. package/esm2022/stepper/step-header.mjs +3 -3
  164. package/esm2022/stepper/step-label.mjs +3 -3
  165. package/esm2022/stepper/stepper-button.mjs +6 -6
  166. package/esm2022/stepper/stepper-icon.mjs +3 -3
  167. package/esm2022/stepper/stepper-intl.mjs +3 -3
  168. package/esm2022/stepper/stepper-module.mjs +4 -4
  169. package/esm2022/stepper/stepper.mjs +6 -6
  170. package/esm2022/table/cell.mjs +21 -21
  171. package/esm2022/table/module.mjs +4 -4
  172. package/esm2022/table/row.mjs +21 -21
  173. package/esm2022/table/table.mjs +6 -6
  174. package/esm2022/table/text-column.mjs +3 -3
  175. package/esm2022/tabs/module.mjs +4 -4
  176. package/esm2022/tabs/paginated-tab-header.mjs +3 -3
  177. package/esm2022/tabs/tab-body.mjs +6 -6
  178. package/esm2022/tabs/tab-content.mjs +3 -3
  179. package/esm2022/tabs/tab-group.mjs +3 -3
  180. package/esm2022/tabs/tab-header.mjs +3 -3
  181. package/esm2022/tabs/tab-label-wrapper.mjs +3 -3
  182. package/esm2022/tabs/tab-label.mjs +3 -3
  183. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +9 -9
  184. package/esm2022/tabs/tab.mjs +3 -3
  185. package/esm2022/toolbar/toolbar-module.mjs +4 -4
  186. package/esm2022/toolbar/toolbar.mjs +6 -6
  187. package/esm2022/tooltip/module.mjs +4 -4
  188. package/esm2022/tooltip/tooltip.mjs +6 -6
  189. package/esm2022/tree/node.mjs +9 -9
  190. package/esm2022/tree/outlet.mjs +3 -3
  191. package/esm2022/tree/padding.mjs +3 -3
  192. package/esm2022/tree/toggle.mjs +3 -3
  193. package/esm2022/tree/tree-module.mjs +4 -4
  194. package/esm2022/tree/tree.mjs +3 -3
  195. package/fesm2022/autocomplete.mjs +13 -13
  196. package/fesm2022/badge.mjs +7 -7
  197. package/fesm2022/bottom-sheet.mjs +10 -10
  198. package/fesm2022/button-toggle.mjs +10 -10
  199. package/fesm2022/button.mjs +42 -42
  200. package/fesm2022/button.mjs.map +1 -1
  201. package/fesm2022/card.mjs +46 -46
  202. package/fesm2022/checkbox.mjs +14 -14
  203. package/fesm2022/chips.mjs +40 -40
  204. package/fesm2022/core.mjs +56 -56
  205. package/fesm2022/core.mjs.map +1 -1
  206. package/fesm2022/datepicker.mjs +82 -82
  207. package/fesm2022/dialog.mjs +22 -22
  208. package/fesm2022/dialog.mjs.map +1 -1
  209. package/fesm2022/divider.mjs +7 -7
  210. package/fesm2022/expansion.mjs +25 -25
  211. package/fesm2022/form-field.mjs +34 -34
  212. package/fesm2022/grid-list.mjs +22 -22
  213. package/fesm2022/icon/testing.mjs +7 -7
  214. package/fesm2022/icon.mjs +10 -10
  215. package/fesm2022/input.mjs +7 -7
  216. package/fesm2022/list.mjs +49 -49
  217. package/fesm2022/menu.mjs +16 -16
  218. package/fesm2022/paginator.mjs +10 -10
  219. package/fesm2022/progress-bar.mjs +7 -7
  220. package/fesm2022/progress-spinner.mjs +7 -7
  221. package/fesm2022/radio.mjs +10 -10
  222. package/fesm2022/select.mjs +10 -10
  223. package/fesm2022/sidenav.mjs +22 -22
  224. package/fesm2022/slide-toggle.mjs +14 -14
  225. package/fesm2022/slider.mjs +16 -16
  226. package/fesm2022/snack-bar.mjs +23 -23
  227. package/fesm2022/snack-bar.mjs.map +1 -1
  228. package/fesm2022/sort.mjs +13 -13
  229. package/fesm2022/stepper.mjs +31 -31
  230. package/fesm2022/table.mjs +55 -55
  231. package/fesm2022/tabs.mjs +40 -40
  232. package/fesm2022/toolbar.mjs +10 -10
  233. package/fesm2022/tooltip.mjs +10 -10
  234. package/fesm2022/tree.mjs +25 -25
  235. package/package.json +2 -2
  236. package/prebuilt-themes/deeppurple-amber.css +1 -1
  237. package/prebuilt-themes/indigo-pink.css +1 -1
  238. package/prebuilt-themes/pink-bluegrey.css +1 -1
  239. package/prebuilt-themes/purple-green.css +1 -1
  240. package/schematics/migration.json +1 -1
  241. package/schematics/ng-add/fonts/material-fonts.js +1 -3
  242. package/schematics/ng-add/fonts/material-fonts.mjs +1 -3
  243. package/schematics/ng-add/index.js +1 -1
  244. package/schematics/ng-add/index.mjs +1 -1
  245. package/schematics/ng-generate/mdc-migration/index_bundled.js +1664 -936
  246. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +4 -4
  247. package/schematics/ng-generate/navigation/files/__path__/__name@dasherize@if-flat__/__name@dasherize__.component.ts.template +4 -1
  248. package/schematics/ng-update/index_bundled.js +123 -30
  249. package/schematics/ng-update/index_bundled.js.map +4 -4
  250. package/button/_button-theme-private.scss +0 -67
  251. package/core/density/private/_compatibility.scss +0 -74
@@ -1,9 +1,9 @@
1
1
  @use 'sass:map';
2
2
  @use '../../token-utils';
3
- @use '../../../mdc-helpers/mdc-helpers';
4
3
  @use '../../../style/sass-utils';
5
4
  @use '../../../theming/inspection';
6
5
  @use '../../../theming/theming';
6
+ @use '../../../mdc-helpers/mdc-helpers';
7
7
 
8
8
  // The prefix used to generate the fully qualified name for tokens in this file.
9
9
  $prefix: (mdc, filled-button);
@@ -24,6 +24,9 @@ $prefix: (mdc, filled-button);
24
24
  keep-touch-target: false,
25
25
  pressed-container-elevation: 0,
26
26
 
27
+ // =============================================================================================
28
+ // = TOKENS NOT USED IN ANGULAR MATERIAL =
29
+ // =============================================================================================
27
30
  focus-ring-color: null,
28
31
  focus-ring-offset: null,
29
32
  focus-state-layer-opacity: null,
@@ -43,33 +46,36 @@ $prefix: (mdc, filled-button);
43
46
  with-icon-hover-icon-color: null,
44
47
  with-icon-icon-color: null,
45
48
  with-icon-icon-size: null,
46
- with-icon-pressed-icon-color: null
49
+ with-icon-pressed-icon-color: null,
50
+ focus-state-layer-color: null,
51
+ hover-state-layer-color: null,
52
+ pressed-state-layer-color: null,
47
53
  );
48
54
  }
49
55
 
50
- @function _on-color($theme, $palette) {
51
- @if ($palette) {
52
- $is-dark: inspection.get-theme-type($theme) == dark;
53
- @return if(mdc-helpers.variable-safe-contrast-tone($palette, $is-dark) == 'dark', #000, #fff);
54
- }
55
- }
56
-
57
56
  // Tokens that can be configured through Angular Material's color theming API.
58
- @function get-color-tokens($theme, $color: null, $on-color: null) {
57
+ @function get-color-tokens($theme) {
59
58
  $is-dark: inspection.get-theme-type($theme) == dark;
60
- $primary: inspection.get-theme-color($theme, primary);
61
59
  $surface: inspection.get-theme-color($theme, background, card);
62
- $on-primary: _on-color($theme, $primary);
63
- $on-surface: _on-color($theme, $surface);
60
+ $on-surface: if($is-dark, #fff, #000);
64
61
 
65
62
  @return (
66
- container-color: if($color, $color, transparent),
63
+ container-color: $surface,
64
+ label-text-color: $on-surface,
67
65
  disabled-container-color: rgba($on-surface, 0.12),
68
66
  disabled-label-text-color: rgba($on-surface, if($is-dark, 0.5, 0.38)),
69
- focus-state-layer-color: $on-primary,
70
- hover-state-layer-color: $on-primary,
71
- label-text-color: if($on-color, $on-color, inherit),
72
- pressed-state-layer-color: $on-primary
67
+ );
68
+ }
69
+
70
+ // Generates the mapping for the properties that change based on the button palette color.
71
+ @function private-get-color-palette-color-tokens($theme, $palette-name) {
72
+ $is-dark: inspection.get-theme-type($theme) == dark;
73
+ $container-color: inspection.get-theme-color($theme, $palette-name, default);
74
+ $contrast-tone: mdc-helpers.variable-safe-contrast-tone($container-color, $is-dark);
75
+
76
+ @return (
77
+ container-color: $container-color,
78
+ label-text-color: if($contrast-tone == 'dark', #000, #fff),
73
79
  );
74
80
  }
75
81
 
@@ -1,4 +1,3 @@
1
- @use 'sass:map';
2
1
  @use '../../../style/sass-utils';
3
2
  @use '../../../theming/inspection';
4
3
  @use '../../token-utils';
@@ -57,8 +56,6 @@ $prefix: (mdc, icon-button);
57
56
 
58
57
  // Generates the mapping for the properties that change based on the button palette color.
59
58
  @function private-get-color-palette-color-tokens($theme, $palette-name) {
60
- $palette: map.get($theme, $palette-name);
61
-
62
59
  @return (
63
60
  icon-color: inspection.get-theme-color($theme, $palette-name)
64
61
  );
@@ -0,0 +1,120 @@
1
+ @use 'sass:map';
2
+ @use '../../token-utils';
3
+ @use '../../../style/sass-utils';
4
+ @use '../../../theming/inspection';
5
+ @use '../../../theming/theming';
6
+ @use '../../../mdc-helpers/mdc-helpers';
7
+
8
+ // The prefix used to generate the fully qualified name for tokens in this file.
9
+ $prefix: (mdc, outlined-button);
10
+
11
+ // Tokens that can't be configured through Angular Material's current theming API,
12
+ // but may be in a future version of the theming API.
13
+ //
14
+ // Tokens that are available in MDC, but not used in Angular Material should be mapped to `null`.
15
+ // `null` indicates that we are intentionally choosing not to emit a slot or value for the token in
16
+ // our CSS.
17
+ @function get-unthemable-tokens() {
18
+ @return (
19
+ keep-touch-target: false,
20
+
21
+ outline-width: 1px,
22
+ container-shape: 4px,
23
+
24
+ // =============================================================================================
25
+ // = TOKENS NOT USED IN ANGULAR MATERIAL =
26
+ // =============================================================================================
27
+ hover-state-layer-opacity: null,
28
+ focus-state-layer-opacity: null,
29
+ pressed-state-layer-opacity: null,
30
+
31
+ focus-state-layer-color: null,
32
+ hover-state-layer-color: null,
33
+ pressed-state-layer-color: null,
34
+
35
+ hover-label-text-color: null,
36
+ focus-label-text-color: null,
37
+ pressed-label-text-color: null,
38
+
39
+ hover-outline-color: null,
40
+ focus-outline-color: null,
41
+ pressed-outline-color: null,
42
+
43
+ focus-ring-color: null,
44
+ focus-ring-offset: null,
45
+
46
+ with-icon-icon-size: null,
47
+ with-icon-icon-color: null,
48
+ with-icon-hover-icon-color: null,
49
+ with-icon-focus-icon-color: null,
50
+ with-icon-pressed-icon-color: null,
51
+ with-icon-disabled-icon-color: null,
52
+
53
+ label-text-size: null,
54
+ label-text-font: null,
55
+ label-text-weight: null,
56
+ label-text-tracking: null,
57
+ label-text-transform: null
58
+ );
59
+ }
60
+
61
+ // Tokens that can be configured through Angular Material's color theming API.
62
+ @function get-color-tokens($theme) {
63
+ $is-dark: inspection.get-theme-type($theme) == dark;
64
+ $surface: inspection.get-theme-color($theme, background, card);
65
+ $contrast-tone: mdc-helpers.variable-safe-contrast-tone($surface, $is-dark);
66
+ $on-surface: if($contrast-tone == 'dark', #000, #fff);
67
+
68
+ @return (
69
+ disabled-outline-color: rgba($on-surface, 0.12),
70
+ disabled-label-text-color: rgba($on-surface, if($is-dark, 0.5, 0.38)),
71
+ label-text-color: if($is-dark, #fff, #000),
72
+ outline-color: rgba($on-surface, 0.12)
73
+ );
74
+ }
75
+
76
+ // Generates the mapping for the properties that change based on the button palette color.
77
+ @function private-get-color-palette-color-tokens($theme, $palette-name) {
78
+ @return (
79
+ label-text-color: inspection.get-theme-color($theme, $palette-name, default),
80
+
81
+ // TODO: we shouldn't have to set this since it's the same as the non-palette version, however
82
+ // there are a bunch of tests internally that depend on it. We should remove this and clean
83
+ // up the screenshots separately.
84
+ outline-color: map.get(get-color-tokens($theme), outline-color),
85
+ );
86
+ }
87
+
88
+ // Tokens that can be configured through Angular Material's typography theming API.
89
+ @function get-typography-tokens($theme) {
90
+ @return ();
91
+ }
92
+
93
+ // Tokens that can be configured through Angular Material's density theming API.
94
+ @function get-density-tokens($theme) {
95
+ $scale: theming.clamp-density(inspection.get-theme-density($theme), -3);
96
+
97
+ @return (
98
+ container-height:
99
+ map.get(
100
+ (
101
+ 0: 36px,
102
+ -1: 32px,
103
+ -2: 28px,
104
+ -3: 24px,
105
+ ),
106
+ $scale
107
+ )
108
+ );
109
+ }
110
+
111
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
112
+ // This is used to create token slots.
113
+ @function get-token-slots() {
114
+ @return sass-utils.deep-merge-all(
115
+ get-unthemable-tokens(),
116
+ get-color-tokens(token-utils.$placeholder-color-config),
117
+ get-typography-tokens(token-utils.$placeholder-typography-config),
118
+ get-density-tokens(token-utils.$placeholder-density-config)
119
+ );
120
+ }
@@ -1,9 +1,9 @@
1
1
  @use 'sass:map';
2
2
  @use '../../token-utils';
3
- @use '../../../mdc-helpers/mdc-helpers';
4
3
  @use '../../../style/sass-utils';
5
4
  @use '../../../theming/inspection';
6
5
  @use '../../../theming/theming';
6
+ @use '../../../mdc-helpers/mdc-helpers';
7
7
 
8
8
  // The prefix used to generate the fully qualified name for tokens in this file.
9
9
  $prefix: (mdc, protected-button);
@@ -19,6 +19,9 @@ $prefix: (mdc, protected-button);
19
19
  container-shape: 4px,
20
20
  keep-touch-target: false,
21
21
 
22
+ // =============================================================================================
23
+ // = TOKENS NOT USED IN ANGULAR MATERIAL =
24
+ // =============================================================================================
22
25
  focus-ring-color: null,
23
26
  focus-ring-offset: null,
24
27
  focus-state-layer-opacity: null,
@@ -43,36 +46,38 @@ $prefix: (mdc, protected-button);
43
46
  with-icon-focus-icon-color: null,
44
47
  with-icon-hover-icon-color: null,
45
48
  with-icon-icon-color: null,
46
- with-icon-pressed-icon-color: null
49
+ with-icon-pressed-icon-color: null,
50
+ focus-state-layer-color: null,
51
+ hover-state-layer-color: null,
52
+ pressed-state-layer-color: null,
47
53
  );
48
54
  }
49
55
 
50
- @function _on-color($theme, $palette) {
51
- @if ($palette) {
52
- $is-dark: inspection.get-theme-type($theme) == dark;
53
- @return if(mdc-helpers.variable-safe-contrast-tone($palette, $is-dark) == 'dark', #000, #fff);
54
- }
55
- }
56
-
57
56
  // Tokens that can be configured through Angular Material's color theming API.
58
- @function get-color-tokens($theme, $color: null, $on-color: null) {
57
+ @function get-color-tokens($theme) {
59
58
  $is-dark: inspection.get-theme-type($theme) == dark;
60
- $primary: inspection.get-theme-color($theme, primary);
61
- $surface: inspection.get-theme-color($theme, background, card);
62
- $on-primary: _on-color($theme, $primary);
63
- $on-surface: _on-color($theme, $surface);
59
+ $on-surface: if($is-dark, #fff, #000);
64
60
 
65
61
  @return (
66
- container-color: if($color, $color, transparent),
67
- focus-state-layer-color: $on-primary,
68
- hover-state-layer-color: $on-primary,
69
- pressed-state-layer-color: $on-primary,
70
- label-text-color: if($on-color, $on-color, inherit),
62
+ container-color: inspection.get-theme-color($theme, background, card),
63
+ label-text-color: $on-surface,
71
64
  disabled-container-color: rgba($on-surface, 0.12),
72
65
  disabled-label-text-color: rgba($on-surface, if($is-dark, 0.5, 0.38))
73
66
  );
74
67
  }
75
68
 
69
+ // Generates the mapping for the properties that change based on the button palette color.
70
+ @function private-get-color-palette-color-tokens($theme, $palette-name) {
71
+ $is-dark: inspection.get-theme-type($theme) == dark;
72
+ $container-color: inspection.get-theme-color($theme, $palette-name, default);
73
+ $contrast-tone: mdc-helpers.variable-safe-contrast-tone($container-color, $is-dark);
74
+
75
+ @return (
76
+ container-color: $container-color,
77
+ label-text-color: if($contrast-tone == 'dark', #000, #fff),
78
+ );
79
+ }
80
+
76
81
  // Tokens that can be configured through Angular Material's typography theming API.
77
82
  @function get-typography-tokens($theme) {
78
83
  @return ();
package/dialog/index.d.ts CHANGED
@@ -4,6 +4,7 @@ import { ComponentFactoryResolver } from '@angular/core';
4
4
  import { ComponentPortal } from '@angular/cdk/portal';
5
5
  import { ComponentRef } from '@angular/core';
6
6
  import { ComponentType } from '@angular/cdk/overlay';
7
+ import { Dialog } from '@angular/cdk/dialog';
7
8
  import { DialogRef } from '@angular/cdk/dialog';
8
9
  import { Direction } from '@angular/cdk/bidi';
9
10
  import { ElementRef } from '@angular/core';
@@ -134,7 +135,7 @@ export declare class MatDialog implements OnDestroy {
134
135
  private readonly _openDialogsAtThisLevel;
135
136
  private readonly _afterAllClosedAtThisLevel;
136
137
  private readonly _afterOpenedAtThisLevel;
137
- private _dialog;
138
+ protected _dialog: Dialog;
138
139
  protected dialogConfigClass: typeof MatDialogConfig;
139
140
  private readonly _dialogRefConstructor;
140
141
  private readonly _dialogContainerType;
@@ -17,10 +17,10 @@ export class MatAutocompleteOrigin {
17
17
  elementRef) {
18
18
  this.elementRef = elementRef;
19
19
  }
20
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocompleteOrigin, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
21
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], ngImport: i0 }); }
20
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocompleteOrigin, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
21
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.0-rc.2", type: MatAutocompleteOrigin, selector: "[matAutocompleteOrigin]", exportAs: ["matAutocompleteOrigin"], ngImport: i0 }); }
22
22
  }
23
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
23
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocompleteOrigin, decorators: [{
24
24
  type: Directive,
25
25
  args: [{
26
26
  selector: '[matAutocompleteOrigin]',
@@ -762,10 +762,10 @@ export class MatAutocompleteTrigger {
762
762
  this._trackedModal = null;
763
763
  }
764
764
  }
765
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocompleteTrigger, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: MAT_AUTOCOMPLETE_SCROLL_STRATEGY }, { token: i2.Directionality, optional: true }, { token: MAT_FORM_FIELD, host: true, optional: true }, { token: DOCUMENT, optional: true }, { token: i3.ViewportRuler }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
766
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-rc.0", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: { autocomplete: ["matAutocomplete", "autocomplete"], position: ["matAutocompletePosition", "position"], connectedTo: ["matAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["matAutocompleteDisabled", "autocompleteDisabled", booleanAttribute] }, host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-controls": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "mat-mdc-autocomplete-trigger" }, providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["matAutocompleteTrigger"], usesOnChanges: true, ngImport: i0 }); }
765
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocompleteTrigger, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: MAT_AUTOCOMPLETE_SCROLL_STRATEGY }, { token: i2.Directionality, optional: true }, { token: MAT_FORM_FIELD, host: true, optional: true }, { token: DOCUMENT, optional: true }, { token: i3.ViewportRuler }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
766
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-rc.2", type: MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: { autocomplete: ["matAutocomplete", "autocomplete"], position: ["matAutocompletePosition", "position"], connectedTo: ["matAutocompleteConnectedTo", "connectedTo"], autocompleteAttribute: ["autocomplete", "autocompleteAttribute"], autocompleteDisabled: ["matAutocompleteDisabled", "autocompleteDisabled", booleanAttribute] }, host: { listeners: { "focusin": "_handleFocus()", "blur": "_onTouched()", "input": "_handleInput($event)", "keydown": "_handleKeydown($event)", "click": "_handleClick()" }, properties: { "attr.autocomplete": "autocompleteAttribute", "attr.role": "autocompleteDisabled ? null : \"combobox\"", "attr.aria-autocomplete": "autocompleteDisabled ? null : \"list\"", "attr.aria-activedescendant": "(panelOpen && activeOption) ? activeOption.id : null", "attr.aria-expanded": "autocompleteDisabled ? null : panelOpen.toString()", "attr.aria-controls": "(autocompleteDisabled || !panelOpen) ? null : autocomplete?.id", "attr.aria-haspopup": "autocompleteDisabled ? null : \"listbox\"" }, classAttribute: "mat-mdc-autocomplete-trigger" }, providers: [MAT_AUTOCOMPLETE_VALUE_ACCESSOR], exportAs: ["matAutocompleteTrigger"], usesOnChanges: true, ngImport: i0 }); }
767
767
  }
768
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocompleteTrigger, decorators: [{
768
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocompleteTrigger, decorators: [{
769
769
  type: Directive,
770
770
  args: [{
771
771
  selector: `input[matAutocomplete], textarea[matAutocomplete]`,
@@ -204,10 +204,10 @@ export class MatAutocomplete {
204
204
  _skipPredicate() {
205
205
  return false;
206
206
  }
207
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocomplete, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
208
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0-rc.0", type: MatAutocomplete, selector: "mat-autocomplete", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: ["autoActiveFirstOption", "autoActiveFirstOption", booleanAttribute], autoSelectActiveOption: ["autoSelectActiveOption", "autoSelectActiveOption", booleanAttribute], requireSelection: ["requireSelection", "requireSelection", booleanAttribute], panelWidth: "panelWidth", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], classList: ["class", "classList"], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, host: { attributes: { "ngSkipHydration": "" }, classAttribute: "mat-mdc-autocomplete" }, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], queries: [{ propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], exportAs: ["matAutocomplete"], ngImport: i0, template: "<ng-template let-formFieldId=\"id\">\n <div\n class=\"mat-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\n role=\"listbox\"\n [id]=\"id\"\n [ngClass]=\"_classList\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n (@panelAnimation.done)=\"_animationDone.next($event)\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["div.mat-mdc-autocomplete-panel{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-autocomplete-background-color)}.cdk-high-contrast-active div.mat-mdc-autocomplete-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden}mat-autocomplete{display:none}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [panelAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
207
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocomplete, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: MAT_AUTOCOMPLETE_DEFAULT_OPTIONS }, { token: i1.Platform }], target: i0.ɵɵFactoryTarget.Component }); }
208
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.0-rc.2", type: MatAutocomplete, selector: "mat-autocomplete", inputs: { ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], displayWith: "displayWith", autoActiveFirstOption: ["autoActiveFirstOption", "autoActiveFirstOption", booleanAttribute], autoSelectActiveOption: ["autoSelectActiveOption", "autoSelectActiveOption", booleanAttribute], requireSelection: ["requireSelection", "requireSelection", booleanAttribute], panelWidth: "panelWidth", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], classList: ["class", "classList"], hideSingleSelectionIndicator: ["hideSingleSelectionIndicator", "hideSingleSelectionIndicator", booleanAttribute] }, outputs: { optionSelected: "optionSelected", opened: "opened", closed: "closed", optionActivated: "optionActivated" }, host: { attributes: { "ngSkipHydration": "" }, classAttribute: "mat-mdc-autocomplete" }, providers: [{ provide: MAT_OPTION_PARENT_COMPONENT, useExisting: MatAutocomplete }], queries: [{ propertyName: "options", predicate: MatOption, descendants: true }, { propertyName: "optionGroups", predicate: MAT_OPTGROUP, descendants: true }], viewQueries: [{ propertyName: "template", first: true, predicate: TemplateRef, descendants: true, static: true }, { propertyName: "panel", first: true, predicate: ["panel"], descendants: true }], exportAs: ["matAutocomplete"], ngImport: i0, template: "<ng-template let-formFieldId=\"id\">\n <div\n class=\"mat-mdc-autocomplete-panel mdc-menu-surface mdc-menu-surface--open\"\n role=\"listbox\"\n [id]=\"id\"\n [ngClass]=\"_classList\"\n [attr.aria-label]=\"ariaLabel || null\"\n [attr.aria-labelledby]=\"_getPanelAriaLabelledby(formFieldId)\"\n [@panelAnimation]=\"isOpen ? 'visible' : 'hidden'\"\n (@panelAnimation.done)=\"_animationDone.next($event)\"\n #panel>\n <ng-content></ng-content>\n </div>\n</ng-template>\n", styles: ["div.mat-mdc-autocomplete-panel{box-shadow:0px 5px 5px -3px rgba(0, 0, 0, 0.2), 0px 8px 10px 1px rgba(0, 0, 0, 0.14), 0px 3px 14px 2px rgba(0, 0, 0, 0.12);width:100%;max-height:256px;visibility:hidden;transform-origin:center top;overflow:auto;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-autocomplete-background-color)}.cdk-high-contrast-active div.mat-mdc-autocomplete-panel{outline:solid 1px}.cdk-overlay-pane:not(.mat-mdc-autocomplete-panel-above) div.mat-mdc-autocomplete-panel{border-top-left-radius:0;border-top-right-radius:0}.mat-mdc-autocomplete-panel-above div.mat-mdc-autocomplete-panel{border-bottom-left-radius:0;border-bottom-right-radius:0;transform-origin:center bottom}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-visible{visibility:visible}div.mat-mdc-autocomplete-panel.mat-mdc-autocomplete-hidden{visibility:hidden}mat-autocomplete{display:none}"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], animations: [panelAnimation], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
209
209
  }
210
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocomplete, decorators: [{
210
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocomplete, decorators: [{
211
211
  type: Component,
212
212
  args: [{ selector: 'mat-autocomplete', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'matAutocomplete', host: {
213
213
  'class': 'mat-mdc-autocomplete',
@@ -15,18 +15,18 @@ import { MatAutocompleteTrigger, MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVID
15
15
  import { MatAutocompleteOrigin } from './autocomplete-origin';
16
16
  import * as i0 from "@angular/core";
17
17
  export class MatAutocompleteModule {
18
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocompleteModule, declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin], imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule], exports: [CdkScrollableModule,
18
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
19
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocompleteModule, declarations: [MatAutocomplete, MatAutocompleteTrigger, MatAutocompleteOrigin], imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule], exports: [CdkScrollableModule,
20
20
  MatAutocomplete,
21
21
  MatOptionModule,
22
22
  MatCommonModule,
23
23
  MatAutocompleteTrigger,
24
24
  MatAutocompleteOrigin] }); }
25
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule, CdkScrollableModule,
25
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocompleteModule, providers: [MAT_AUTOCOMPLETE_SCROLL_STRATEGY_FACTORY_PROVIDER], imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule, CdkScrollableModule,
26
26
  MatOptionModule,
27
27
  MatCommonModule] }); }
28
28
  }
29
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAutocompleteModule, decorators: [{
29
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAutocompleteModule, decorators: [{
30
30
  type: NgModule,
31
31
  args: [{
32
32
  imports: [OverlayModule, MatOptionModule, MatCommonModule, CommonModule],
@@ -11,11 +11,11 @@ import { A11yModule } from '@angular/cdk/a11y';
11
11
  import { MatBadge } from './badge';
12
12
  import * as i0 from "@angular/core";
13
13
  export class MatBadgeModule {
14
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBadgeModule, declarations: [MatBadge], imports: [A11yModule, MatCommonModule], exports: [MatBadge, MatCommonModule] }); }
16
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBadgeModule, imports: [A11yModule, MatCommonModule, MatCommonModule] }); }
14
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBadgeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
15
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBadgeModule, declarations: [MatBadge], imports: [A11yModule, MatCommonModule], exports: [MatBadge, MatCommonModule] }); }
16
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBadgeModule, imports: [A11yModule, MatCommonModule, MatCommonModule] }); }
17
17
  }
18
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBadgeModule, decorators: [{
18
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBadgeModule, decorators: [{
19
19
  type: NgModule,
20
20
  args: [{
21
21
  imports: [A11yModule, MatCommonModule],
@@ -214,10 +214,10 @@ export class MatBadge {
214
214
  }
215
215
  }
216
216
  }
217
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBadge, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.AriaDescriber }, { token: i0.Renderer2 }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
218
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-rc.0", type: MatBadge, selector: "[matBadge]", inputs: { color: ["matBadgeColor", "color"], overlap: ["matBadgeOverlap", "overlap", booleanAttribute], disabled: ["matBadgeDisabled", "disabled", booleanAttribute], position: ["matBadgePosition", "position"], content: ["matBadge", "content"], description: ["matBadgeDescription", "description"], size: ["matBadgeSize", "size"], hidden: ["matBadgeHidden", "hidden", booleanAttribute] }, host: { properties: { "class.mat-badge-overlap": "overlap", "class.mat-badge-above": "isAbove()", "class.mat-badge-below": "!isAbove()", "class.mat-badge-before": "!isAfter()", "class.mat-badge-after": "isAfter()", "class.mat-badge-small": "size === \"small\"", "class.mat-badge-medium": "size === \"medium\"", "class.mat-badge-large": "size === \"large\"", "class.mat-badge-hidden": "hidden || !content", "class.mat-badge-disabled": "disabled" }, classAttribute: "mat-badge" }, ngImport: i0 }); }
217
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBadge, deps: [{ token: i0.NgZone }, { token: i0.ElementRef }, { token: i1.AriaDescriber }, { token: i0.Renderer2 }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
218
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-rc.2", type: MatBadge, selector: "[matBadge]", inputs: { color: ["matBadgeColor", "color"], overlap: ["matBadgeOverlap", "overlap", booleanAttribute], disabled: ["matBadgeDisabled", "disabled", booleanAttribute], position: ["matBadgePosition", "position"], content: ["matBadge", "content"], description: ["matBadgeDescription", "description"], size: ["matBadgeSize", "size"], hidden: ["matBadgeHidden", "hidden", booleanAttribute] }, host: { properties: { "class.mat-badge-overlap": "overlap", "class.mat-badge-above": "isAbove()", "class.mat-badge-below": "!isAbove()", "class.mat-badge-before": "!isAfter()", "class.mat-badge-after": "isAfter()", "class.mat-badge-small": "size === \"small\"", "class.mat-badge-medium": "size === \"medium\"", "class.mat-badge-large": "size === \"large\"", "class.mat-badge-hidden": "hidden || !content", "class.mat-badge-disabled": "disabled" }, classAttribute: "mat-badge" }, ngImport: i0 }); }
219
219
  }
220
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBadge, decorators: [{
220
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBadge, decorators: [{
221
221
  type: Directive,
222
222
  args: [{
223
223
  selector: '[matBadge]',
@@ -63,10 +63,10 @@ export class MatBottomSheetContainer extends CdkDialogContainer {
63
63
  _toggleClass(cssClass, add) {
64
64
  this._elementRef.nativeElement.classList.toggle(cssClass, add);
65
65
  }
66
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBottomSheetContainer, deps: [{ token: i0.ElementRef }, { token: i1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: i2.DialogConfig }, { token: i1.InteractivityChecker }, { token: i0.NgZone }, { token: i3.OverlayRef }, { token: i4.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
67
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.0", type: MatBottomSheetContainer, selector: "mat-bottom-sheet-container", host: { attributes: { "tabindex": "-1" }, listeners: { "@state.start": "_onAnimationStart($event)", "@state.done": "_onAnimationDone($event)" }, properties: { "attr.role": "_config.role", "attr.aria-modal": "_config.ariaModal", "attr.aria-label": "_config.ariaLabel", "@state": "_animationState" }, classAttribute: "mat-bottom-sheet-container" }, usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".mat-bottom-sheet-container{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);padding:8px 16px;min-width:100vw;box-sizing:border-box;display:block;outline:0;max-height:80vh;overflow:auto;background:var(--mat-bottom-sheet-container-background-color);color:var(--mat-bottom-sheet-container-text-color);font-family:var(--mat-bottom-sheet-container-text-font);font-size:var(--mat-bottom-sheet-container-text-size);line-height:var(--mat-bottom-sheet-container-text-line-height);font-weight:var(--mat-bottom-sheet-container-text-weight);letter-spacing:var(--mat-bottom-sheet-container-text-tracking)}.cdk-high-contrast-active .mat-bottom-sheet-container{outline:1px solid}.mat-bottom-sheet-container-xlarge,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-medium{border-top-left-radius:var(--mat-bottom-sheet-container-shape);border-top-right-radius:var(--mat-bottom-sheet-container-shape)}.mat-bottom-sheet-container-medium{min-width:384px;max-width:calc(100vw - 128px)}.mat-bottom-sheet-container-large{min-width:512px;max-width:calc(100vw - 256px)}.mat-bottom-sheet-container-xlarge{min-width:576px;max-width:calc(100vw - 384px)}"], dependencies: [{ kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [matBottomSheetAnimations.bottomSheetState], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
66
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBottomSheetContainer, deps: [{ token: i0.ElementRef }, { token: i1.FocusTrapFactory }, { token: DOCUMENT, optional: true }, { token: i2.DialogConfig }, { token: i1.InteractivityChecker }, { token: i0.NgZone }, { token: i3.OverlayRef }, { token: i4.BreakpointObserver }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component }); }
67
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.0-rc.2", type: MatBottomSheetContainer, selector: "mat-bottom-sheet-container", host: { attributes: { "tabindex": "-1" }, listeners: { "@state.start": "_onAnimationStart($event)", "@state.done": "_onAnimationDone($event)" }, properties: { "attr.role": "_config.role", "attr.aria-modal": "_config.ariaModal", "attr.aria-label": "_config.ariaLabel", "@state": "_animationState" }, classAttribute: "mat-bottom-sheet-container" }, usesInheritance: true, ngImport: i0, template: "<ng-template cdkPortalOutlet></ng-template>\r\n", styles: [".mat-bottom-sheet-container{box-shadow:0px 8px 10px -5px rgba(0, 0, 0, 0.2), 0px 16px 24px 2px rgba(0, 0, 0, 0.14), 0px 6px 30px 5px rgba(0, 0, 0, 0.12);padding:8px 16px;min-width:100vw;box-sizing:border-box;display:block;outline:0;max-height:80vh;overflow:auto;background:var(--mat-bottom-sheet-container-background-color);color:var(--mat-bottom-sheet-container-text-color);font-family:var(--mat-bottom-sheet-container-text-font);font-size:var(--mat-bottom-sheet-container-text-size);line-height:var(--mat-bottom-sheet-container-text-line-height);font-weight:var(--mat-bottom-sheet-container-text-weight);letter-spacing:var(--mat-bottom-sheet-container-text-tracking)}.cdk-high-contrast-active .mat-bottom-sheet-container{outline:1px solid}.mat-bottom-sheet-container-xlarge,.mat-bottom-sheet-container-large,.mat-bottom-sheet-container-medium{border-top-left-radius:var(--mat-bottom-sheet-container-shape);border-top-right-radius:var(--mat-bottom-sheet-container-shape)}.mat-bottom-sheet-container-medium{min-width:384px;max-width:calc(100vw - 128px)}.mat-bottom-sheet-container-large{min-width:512px;max-width:calc(100vw - 256px)}.mat-bottom-sheet-container-xlarge{min-width:576px;max-width:calc(100vw - 384px)}"], dependencies: [{ kind: "directive", type: i5.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }], animations: [matBottomSheetAnimations.bottomSheetState], changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None }); }
68
68
  }
69
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBottomSheetContainer, decorators: [{
69
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBottomSheetContainer, decorators: [{
70
70
  type: Component,
71
71
  args: [{ selector: 'mat-bottom-sheet-container', changeDetection: ChangeDetectionStrategy.Default, encapsulation: ViewEncapsulation.None, animations: [matBottomSheetAnimations.bottomSheetState], host: {
72
72
  'class': 'mat-bottom-sheet-container',
@@ -12,11 +12,11 @@ import { MatCommonModule } from '@angular/material/core';
12
12
  import { MatBottomSheetContainer } from './bottom-sheet-container';
13
13
  import * as i0 from "@angular/core";
14
14
  export class MatBottomSheetModule {
15
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBottomSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBottomSheetModule, declarations: [MatBottomSheetContainer], imports: [DialogModule, MatCommonModule, PortalModule], exports: [MatBottomSheetContainer, MatCommonModule] }); }
17
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBottomSheetModule, imports: [DialogModule, MatCommonModule, PortalModule, MatCommonModule] }); }
15
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBottomSheetModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
16
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBottomSheetModule, declarations: [MatBottomSheetContainer], imports: [DialogModule, MatCommonModule, PortalModule], exports: [MatBottomSheetContainer, MatCommonModule] }); }
17
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBottomSheetModule, imports: [DialogModule, MatCommonModule, PortalModule, MatCommonModule] }); }
18
18
  }
19
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBottomSheetModule, decorators: [{
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBottomSheetModule, decorators: [{
20
20
  type: NgModule,
21
21
  args: [{
22
22
  imports: [DialogModule, MatCommonModule, PortalModule],
@@ -97,10 +97,10 @@ export class MatBottomSheet {
97
97
  this._bottomSheetRefAtThisLevel.dismiss();
98
98
  }
99
99
  }
100
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBottomSheet, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: MatBottomSheet, optional: true, skipSelf: true }, { token: MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
101
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBottomSheet, providedIn: MatBottomSheetModule }); }
100
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBottomSheet, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: MatBottomSheet, optional: true, skipSelf: true }, { token: MAT_BOTTOM_SHEET_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
101
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBottomSheet, providedIn: MatBottomSheetModule }); }
102
102
  }
103
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatBottomSheet, decorators: [{
103
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatBottomSheet, decorators: [{
104
104
  type: Injectable,
105
105
  args: [{ providedIn: MatBottomSheetModule }]
106
106
  }], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: MatBottomSheet, decorators: [{
@@ -129,10 +129,10 @@ export class MatButtonBase {
129
129
  _updateRippleDisabled() {
130
130
  this._rippleLoader?.setDisabled(this._elementRef.nativeElement, this.disableRipple || this.disabled);
131
131
  }
132
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatButtonBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
133
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-rc.0", type: MatButtonBase, inputs: { color: "color", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, ngImport: i0 }); }
132
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatButtonBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
133
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-rc.2", type: MatButtonBase, inputs: { color: "color", disableRipple: ["disableRipple", "disableRipple", booleanAttribute], disabled: ["disabled", "disabled", booleanAttribute] }, ngImport: i0 }); }
134
134
  }
135
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatButtonBase, decorators: [{
135
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatButtonBase, decorators: [{
136
136
  type: Directive
137
137
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Platform }, { type: i0.NgZone }, { type: undefined }], propDecorators: { color: [{
138
138
  type: Input
@@ -184,12 +184,12 @@ export class MatAnchorBase extends MatButtonBase {
184
184
  super.ngOnDestroy();
185
185
  this._elementRef.nativeElement.removeEventListener('click', this._haltDisabledEvents);
186
186
  }
187
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAnchorBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
188
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-rc.0", type: MatAnchorBase, inputs: { tabIndex: ["tabIndex", "tabIndex", (value) => {
187
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAnchorBase, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive }); }
188
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "16.1.0", version: "17.0.0-rc.2", type: MatAnchorBase, inputs: { tabIndex: ["tabIndex", "tabIndex", (value) => {
189
189
  return value == null ? undefined : numberAttribute(value);
190
190
  }] }, usesInheritance: true, ngImport: i0 }); }
191
191
  }
192
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.0", ngImport: i0, type: MatAnchorBase, decorators: [{
192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.0-rc.2", ngImport: i0, type: MatAnchorBase, decorators: [{
193
193
  type: Directive
194
194
  }], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Platform }, { type: i0.NgZone }, { type: undefined }], propDecorators: { tabIndex: [{
195
195
  type: Input,