@ng-matero/extensions 19.4.1 → 20.0.1

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 (283) hide show
  1. package/_index.scss +1 -1
  2. package/alert/_alert-theme.scss +26 -31
  3. package/alert/_m2-alert.scss +59 -0
  4. package/alert/_m3-alert.scss +41 -0
  5. package/alert/alert.scss +27 -31
  6. package/alert/index.d.ts +30 -5
  7. package/button/index.d.ts +31 -5
  8. package/checkbox-group/index.d.ts +117 -5
  9. package/colorpicker/_colorpicker-theme.scss +31 -36
  10. package/{core/tokens/m2/mtx/_colorpicker.scss → colorpicker/_m2-colorpicker.scss} +6 -10
  11. package/colorpicker/_m3-colorpicker.scss +23 -0
  12. package/colorpicker/colorpicker-toggle.scss +4 -9
  13. package/colorpicker/index.d.ts +285 -3
  14. package/column-resize/index.d.ts +456 -3
  15. package/core/index.d.ts +147 -5
  16. package/core/theming/_color-api-backwards-compatibility.scss +8 -15
  17. package/core/theming/_definition.scss +81 -75
  18. package/core/theming/_palettes.scss +1036 -0
  19. package/core/tokens/{m2/_index.scss → _m2-tokens.scss} +22 -22
  20. package/core/tokens/_m2-utils.scss +108 -0
  21. package/core/tokens/_m3-system.scss +128 -106
  22. package/core/tokens/_m3-tokens.scss +36 -282
  23. package/core/tokens/_m3-utils.scss +48 -0
  24. package/core/tokens/_token-utils.scss +67 -239
  25. package/core/tokens/m3/_index.scss +7 -0
  26. package/core/tokens/m3/_md-sys-color.scss +156 -0
  27. package/core/tokens/m3/_md-sys-elevation.scss +15 -0
  28. package/core/tokens/m3/_md-sys-motion.scss +35 -0
  29. package/core/tokens/m3/_md-sys-shape.scss +21 -0
  30. package/core/tokens/m3/_md-sys-state.scss +13 -0
  31. package/core/tokens/m3/_md-sys-typescale.scss +128 -0
  32. package/core/tokens/m3/_theme.scss +47 -0
  33. package/datetimepicker/_datetimepicker-theme.scss +29 -39
  34. package/datetimepicker/_m2-datetimepicker.scss +149 -0
  35. package/datetimepicker/_m3-datetimepicker.scss +81 -0
  36. package/datetimepicker/calendar-body.scss +31 -56
  37. package/datetimepicker/calendar.scss +43 -79
  38. package/datetimepicker/clock.scss +28 -47
  39. package/datetimepicker/datetimepicker-content.scss +9 -15
  40. package/datetimepicker/datetimepicker-toggle.scss +4 -9
  41. package/datetimepicker/index.d.ts +1208 -3
  42. package/datetimepicker/time-view.scss +26 -32
  43. package/dialog/index.d.ts +54 -5
  44. package/drawer/_drawer-theme.scss +25 -30
  45. package/{core/tokens/m2/mtx/_drawer.scss → drawer/_m2-drawer.scss} +9 -12
  46. package/drawer/_m3-drawer.scss +24 -0
  47. package/drawer/drawer-container.scss +13 -24
  48. package/drawer/index.d.ts +221 -3
  49. package/fesm2022/mtxAlert.mjs +7 -7
  50. package/fesm2022/mtxAlert.mjs.map +1 -1
  51. package/fesm2022/mtxButton.mjs +11 -11
  52. package/fesm2022/mtxButton.mjs.map +1 -1
  53. package/fesm2022/mtxCheckboxGroup.mjs +7 -7
  54. package/fesm2022/mtxColorpicker.mjs +21 -21
  55. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  56. package/fesm2022/mtxColumnResize.mjs +232 -103
  57. package/fesm2022/mtxColumnResize.mjs.map +1 -1
  58. package/fesm2022/mtxCore.mjs +21 -21
  59. package/fesm2022/mtxDatetimepicker.mjs +63 -67
  60. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  61. package/fesm2022/mtxDialog.mjs +10 -10
  62. package/fesm2022/mtxDialog.mjs.map +1 -1
  63. package/fesm2022/mtxDrawer.mjs +10 -10
  64. package/fesm2022/mtxGrid.mjs +78 -77
  65. package/fesm2022/mtxGrid.mjs.map +1 -1
  66. package/fesm2022/mtxLoader.mjs +7 -7
  67. package/fesm2022/mtxPhotoviewer.mjs +7 -7
  68. package/fesm2022/mtxPopover.mjs +24 -25
  69. package/fesm2022/mtxPopover.mjs.map +1 -1
  70. package/fesm2022/mtxProgress.mjs +7 -7
  71. package/fesm2022/mtxSelect.mjs +54 -54
  72. package/fesm2022/mtxSelect.mjs.map +1 -1
  73. package/fesm2022/mtxSplit.mjs +10 -10
  74. package/fesm2022/mtxTooltip.mjs +13 -13
  75. package/fesm2022/mtxTooltip.mjs.map +1 -1
  76. package/grid/_grid-theme.scss +24 -34
  77. package/grid/_m2-grid.scss +66 -0
  78. package/grid/_m3-grid.scss +35 -0
  79. package/grid/column-menu.scss +6 -23
  80. package/grid/column-resize/_column-resize.scss +35 -30
  81. package/grid/grid.scss +41 -74
  82. package/grid/index.d.ts +799 -3
  83. package/index.d.ts +2 -5
  84. package/loader/_loader-theme.scss +26 -31
  85. package/{core/tokens/m2/mtx/_loader.scss → loader/_m2-loader.scss} +5 -10
  86. package/loader/_m3-loader.scss +20 -0
  87. package/loader/index.d.ts +43 -5
  88. package/loader/loader.scss +4 -5
  89. package/package.json +28 -28
  90. package/photoviewer/index.d.ts +26 -5
  91. package/{core/tokens/m2/mtx/_popover.scss → popover/_m2-popover.scss} +9 -12
  92. package/popover/_m3-popover.scss +26 -0
  93. package/popover/_popover-theme.scss +26 -31
  94. package/popover/index.d.ts +399 -3
  95. package/popover/popover.scss +23 -29
  96. package/prebuilt-themes/azure-blue.css +1 -1
  97. package/prebuilt-themes/cyan-orange.css +1 -1
  98. package/prebuilt-themes/deeppurple-amber.css +1 -1
  99. package/prebuilt-themes/indigo-pink.css +1 -1
  100. package/prebuilt-themes/magenta-violet.css +1 -1
  101. package/prebuilt-themes/pink-bluegrey.css +1 -1
  102. package/prebuilt-themes/purple-green.css +1 -1
  103. package/prebuilt-themes/rose-red.css +1 -1
  104. package/progress/_m2-progress.scss +53 -0
  105. package/progress/_m3-progress.scss +33 -0
  106. package/progress/_progress-theme.scss +22 -34
  107. package/progress/index.d.ts +35 -5
  108. package/progress/progress.scss +28 -43
  109. package/select/_m2-select.scss +79 -0
  110. package/select/_m3-select.scss +46 -0
  111. package/select/_select-theme.scss +27 -37
  112. package/select/index.d.ts +381 -3
  113. package/select/select.scss +189 -205
  114. package/{core/tokens/m2/mtx/_split.scss → split/_m2-split.scss} +6 -9
  115. package/split/_m3-split.scss +23 -0
  116. package/split/_split-theme.scss +31 -34
  117. package/split/index.d.ts +255 -3
  118. package/split/split.scss +8 -11
  119. package/tooltip/_m2-tooltip.scss +50 -0
  120. package/tooltip/_m3-tooltip.scss +28 -0
  121. package/tooltip/_tooltip-theme.scss +23 -47
  122. package/tooltip/index.d.ts +345 -3
  123. package/tooltip/tooltip.scss +11 -15
  124. package/alert/alert-module.d.ts +0 -8
  125. package/alert/alert.d.ts +0 -19
  126. package/alert/public-api.d.ts +0 -2
  127. package/button/button-loading.d.ts +0 -19
  128. package/button/button-module.d.ts +0 -10
  129. package/button/public-api.d.ts +0 -2
  130. package/checkbox-group/checkbox-group-module.d.ts +0 -11
  131. package/checkbox-group/checkbox-group.d.ts +0 -86
  132. package/checkbox-group/interfaces.d.ts +0 -17
  133. package/checkbox-group/public-api.d.ts +0 -3
  134. package/colorpicker/colorpicker-animations.d.ts +0 -9
  135. package/colorpicker/colorpicker-input.d.ts +0 -88
  136. package/colorpicker/colorpicker-module.d.ts +0 -15
  137. package/colorpicker/colorpicker-toggle.d.ts +0 -39
  138. package/colorpicker/colorpicker.d.ts +0 -140
  139. package/colorpicker/public-api.d.ts +0 -5
  140. package/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -29
  141. package/column-resize/column-resize-directives/column-resize.d.ts +0 -29
  142. package/column-resize/column-resize-directives/constants.d.ts +0 -10
  143. package/column-resize/column-resize-module.d.ts +0 -12
  144. package/column-resize/column-resize-notifier.d.ts +0 -48
  145. package/column-resize/column-resize.d.ts +0 -39
  146. package/column-resize/column-size-store.d.ts +0 -12
  147. package/column-resize/event-dispatcher.d.ts +0 -35
  148. package/column-resize/overlay-handle.d.ts +0 -43
  149. package/column-resize/polyfill.d.ts +0 -9
  150. package/column-resize/public-api.d.ts +0 -12
  151. package/column-resize/resizable.d.ts +0 -63
  152. package/column-resize/resize-ref.d.ts +0 -17
  153. package/column-resize/resize-strategy.d.ts +0 -84
  154. package/column-resize/selectors.d.ts +0 -10
  155. package/core/datetime/datetime-adapter.d.ts +0 -45
  156. package/core/datetime/datetime-formats.d.ts +0 -22
  157. package/core/datetime/datetime.module.d.ts +0 -15
  158. package/core/datetime/index.d.ts +0 -5
  159. package/core/datetime/native-datetime-adapter.d.ts +0 -40
  160. package/core/datetime/native-datetime-formats.d.ts +0 -2
  161. package/core/pipes/index.d.ts +0 -3
  162. package/core/pipes/is-template-ref.pipe.d.ts +0 -7
  163. package/core/pipes/pipes.module.d.ts +0 -9
  164. package/core/pipes/to-observable.pipe.d.ts +0 -8
  165. package/core/public-api.d.ts +0 -2
  166. package/core/theming/_inspection.scss +0 -38
  167. package/core/theming/_validation.scss +0 -5
  168. package/core/tokens/_density.scss +0 -49
  169. package/core/tokens/_format-tokens.scss +0 -5
  170. package/core/tokens/_token-definition.scss +0 -271
  171. package/core/tokens/m2/mdc/_plain-tooltip.scss +0 -63
  172. package/core/tokens/m2/mtx/_alert.scss +0 -62
  173. package/core/tokens/m2/mtx/_datetimepicker.scss +0 -152
  174. package/core/tokens/m2/mtx/_grid.scss +0 -69
  175. package/core/tokens/m2/mtx/_progress.scss +0 -56
  176. package/core/tokens/m2/mtx/_select.scss +0 -82
  177. package/core/tokens/m3/definitions/_index.scss +0 -9
  178. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +0 -51
  179. package/core/tokens/m3/definitions/_md-ref-palette.scss +0 -100
  180. package/core/tokens/m3/definitions/_md-ref-typeface.scss +0 -14
  181. package/core/tokens/m3/definitions/_md-sys-color.scss +0 -126
  182. package/core/tokens/m3/definitions/_md-sys-elevation.scss +0 -15
  183. package/core/tokens/m3/definitions/_md-sys-motion.scss +0 -46
  184. package/core/tokens/m3/definitions/_md-sys-shape.scss +0 -24
  185. package/core/tokens/m3/definitions/_md-sys-state.scss +0 -13
  186. package/core/tokens/m3/definitions/_md-sys-typescale.scss +0 -308
  187. package/core/tokens/m3/index.scss +0 -47
  188. package/core/tokens/m3/mdc/_plain-tooltip.scss +0 -15
  189. package/core/tokens/m3/mtx/_alert.scss +0 -41
  190. package/core/tokens/m3/mtx/_colorpicker.scss +0 -19
  191. package/core/tokens/m3/mtx/_datetimepicker.scss +0 -140
  192. package/core/tokens/m3/mtx/_drawer.scss +0 -22
  193. package/core/tokens/m3/mtx/_grid.scss +0 -32
  194. package/core/tokens/m3/mtx/_loader.scss +0 -22
  195. package/core/tokens/m3/mtx/_popover.scss +0 -25
  196. package/core/tokens/m3/mtx/_progress.scss +0 -32
  197. package/core/tokens/m3/mtx/_select.scss +0 -76
  198. package/core/tokens/m3/mtx/_split.scss +0 -30
  199. package/datetimepicker/calendar-body.d.ts +0 -66
  200. package/datetimepicker/calendar.d.ts +0 -157
  201. package/datetimepicker/clock.d.ts +0 -101
  202. package/datetimepicker/datetimepicker-actions.d.ts +0 -36
  203. package/datetimepicker/datetimepicker-animations.d.ts +0 -11
  204. package/datetimepicker/datetimepicker-errors.d.ts +0 -2
  205. package/datetimepicker/datetimepicker-filtertype.d.ts +0 -5
  206. package/datetimepicker/datetimepicker-input.d.ts +0 -105
  207. package/datetimepicker/datetimepicker-intl.d.ts +0 -53
  208. package/datetimepicker/datetimepicker-module.d.ts +0 -22
  209. package/datetimepicker/datetimepicker-toggle.d.ts +0 -42
  210. package/datetimepicker/datetimepicker-types.d.ts +0 -6
  211. package/datetimepicker/datetimepicker.d.ts +0 -274
  212. package/datetimepicker/month-view.d.ts +0 -80
  213. package/datetimepicker/multi-year-view.d.ts +0 -86
  214. package/datetimepicker/public-api.d.ts +0 -16
  215. package/datetimepicker/time-view.d.ts +0 -147
  216. package/datetimepicker/year-view.d.ts +0 -68
  217. package/dialog/dialog-config.d.ts +0 -17
  218. package/dialog/dialog-container.d.ts +0 -11
  219. package/dialog/dialog-module.d.ts +0 -12
  220. package/dialog/dialog.d.ts +0 -15
  221. package/dialog/public-api.d.ts +0 -4
  222. package/drawer/drawer-animations.d.ts +0 -8
  223. package/drawer/drawer-config.d.ts +0 -63
  224. package/drawer/drawer-container.d.ts +0 -35
  225. package/drawer/drawer-module.d.ts +0 -10
  226. package/drawer/drawer-ref.d.ts +0 -53
  227. package/drawer/drawer.d.ts +0 -59
  228. package/drawer/public-api.d.ts +0 -6
  229. package/grid/cell.d.ts +0 -32
  230. package/grid/column-menu.d.ts +0 -39
  231. package/grid/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -24
  232. package/grid/column-resize/column-resize-directives/column-resize.d.ts +0 -24
  233. package/grid/column-resize/column-resize-directives/common.d.ts +0 -13
  234. package/grid/column-resize/column-resize-module.d.ts +0 -17
  235. package/grid/column-resize/index.d.ts +0 -7
  236. package/grid/column-resize/overlay-handle.d.ts +0 -32
  237. package/grid/column-resize/resizable-directives/common.d.ts +0 -19
  238. package/grid/column-resize/resizable-directives/resizable.d.ts +0 -32
  239. package/grid/column-resize/resize-strategy.d.ts +0 -20
  240. package/grid/expansion-toggle.d.ts +0 -17
  241. package/grid/grid-module.d.ts +0 -31
  242. package/grid/grid-pipes.d.ts +0 -39
  243. package/grid/grid-utils.d.ts +0 -33
  244. package/grid/grid.d.ts +0 -268
  245. package/grid/interfaces.d.ts +0 -180
  246. package/grid/public-api.d.ts +0 -17
  247. package/grid/selectable-cell.d.ts +0 -16
  248. package/loader/loader-module.d.ts +0 -10
  249. package/loader/loader.d.ts +0 -30
  250. package/loader/public-api.d.ts +0 -2
  251. package/photoviewer/photoviewer-module.d.ts +0 -7
  252. package/photoviewer/photoviewer.d.ts +0 -17
  253. package/photoviewer/public-api.d.ts +0 -2
  254. package/popover/popover-animations.d.ts +0 -11
  255. package/popover/popover-content.d.ts +0 -43
  256. package/popover/popover-errors.d.ts +0 -14
  257. package/popover/popover-interfaces.d.ts +0 -50
  258. package/popover/popover-module.d.ts +0 -13
  259. package/popover/popover-target.d.ts +0 -7
  260. package/popover/popover-trigger.d.ts +0 -132
  261. package/popover/popover-types.d.ts +0 -10
  262. package/popover/popover.d.ts +0 -147
  263. package/popover/public-api.d.ts +0 -8
  264. package/progress/progress-module.d.ts +0 -8
  265. package/progress/progress.d.ts +0 -24
  266. package/progress/public-api.d.ts +0 -2
  267. package/public-api.d.ts +0 -2
  268. package/select/option.d.ts +0 -21
  269. package/select/public-api.d.ts +0 -5
  270. package/select/select-intl.d.ts +0 -18
  271. package/select/select-module.d.ts +0 -12
  272. package/select/select.d.ts +0 -270
  273. package/select/templates.d.ts +0 -67
  274. package/split/interfaces.d.ts +0 -52
  275. package/split/public-api.d.ts +0 -5
  276. package/split/split-module.d.ts +0 -9
  277. package/split/split-pane.d.ts +0 -53
  278. package/split/split.d.ts +0 -133
  279. package/split/utils.d.ts +0 -13
  280. package/tooltip/public-api.d.ts +0 -3
  281. package/tooltip/tooltip-animations.d.ts +0 -9
  282. package/tooltip/tooltip-module.d.ts +0 -13
  283. package/tooltip/tooltip.d.ts +0 -321
@@ -1,86 +1,6 @@
1
1
  @use 'sass:map';
2
2
  @use '@angular/material' as mat;
3
3
  @use './m3';
4
- @use './m3/definitions' as m3-token-definitions;
5
- @use '../tokens/m2' as m2-tokens;
6
- @use './density';
7
- @use './format-tokens';
8
-
9
- /// Generates tokens for the given palette with the given prefix.
10
- /// @param {Map} $palette The palette to generate tokens for
11
- /// @param {String} $prefix The key prefix used to name the tokens
12
- /// @return {Map} A set of tokens for the given palette
13
- @function _generate-palette-tokens($palette, $prefix) {
14
- $palette: map.remove($palette, neutral, neutral-variant);
15
- $result: ();
16
- @each $hue, $value in $palette {
17
- $result: map.set($result, '#{$prefix}#{$hue}', $value);
18
- }
19
- @return $result;
20
- }
21
-
22
- /// Creates a set of `md-ref-palette` tokens from the given palettes. (See
23
- /// ./m3/definitions/_md-ref-palette.scss)
24
- /// @param {Map} $primary The primary palette
25
- /// @param {Map} $secondary The secondary palette
26
- /// @param {Map} $tertiary The tertiary palette
27
- /// @param {Map} $error The error palette
28
- /// @return {Map} A set of `md-ref-palette` tokens
29
- @function generate-ref-palette-tokens($primary, $tertiary, $error) {
30
- @return mat.private-merge-all(
31
- (black: #000, white: #fff),
32
- _generate-palette-tokens($primary, primary),
33
- _generate-palette-tokens(map.get($primary, secondary), secondary),
34
- _generate-palette-tokens($tertiary, tertiary),
35
- _generate-palette-tokens(map.get($primary, neutral), neutral),
36
- _generate-palette-tokens(map.get($primary, neutral-variant), neutral-variant),
37
- _generate-palette-tokens($error, error),
38
- );
39
- }
40
-
41
- /// Creates a set of `md-ref-typeface` tokens from the given palettes. (See
42
- /// ./m3/definitions/_md-ref-typeface.scss)
43
- /// @param {List|String} $brand The font-family to use for brand text
44
- /// @param {List|String} $plain The font-family to use for plain text
45
- /// @param {String} $bold The font-weight to use for bold text
46
- /// @param {String} $medium The font-weight to use for medium text
47
- /// @param {String} $regular The font-weight to use for regular text
48
- /// @return {Map} A set of `md-ref-typeface` tokens
49
- @function generate-ref-typeface-tokens($brand, $plain, $bold, $medium, $regular) {
50
- @return (
51
- brand: $brand,
52
- plain: $plain,
53
- weight-bold: $bold,
54
- weight-medium: $medium,
55
- weight-regular: $regular,
56
- );
57
- }
58
-
59
- $_cached-token-slots: null;
60
-
61
- /// Determines the token slots for all components.
62
- @function _get-token-slots() {
63
- // Cache the slots since they're constant and calculating
64
- // them appears to be expensive (see #29009).
65
- @if ($_cached-token-slots) {
66
- @return $_cached-token-slots;
67
- }
68
-
69
- // TODO(mmalerba): Refactor this to not depend on the legacy theme when moving out of
70
- // material-experimental. This is a hack for now because there is no good way to get the token
71
- // slots in material-experimental without exposing them all from material.
72
- $fake-theme: mat.m2-define-light-theme((
73
- color: (
74
- primary: mat.m2-define-palette(mat.$m2-red-palette),
75
- accent: mat.m2-define-palette(mat.$m2-red-palette),
76
- warn: mat.m2-define-palette(mat.$m2-red-palette),
77
- ),
78
- typography: mat.m2-define-typography-config(),
79
- density: 0
80
- ));
81
- $_cached-token-slots: m2-tokens.m2-tokens-from-theme($fake-theme) !global;
82
- @return $_cached-token-slots;
83
- }
84
4
 
85
5
  /// Generates a set of namespaced tokens for all components.
86
6
  /// @param {Map} $systems The MDC system tokens
@@ -98,31 +18,15 @@ $_cached-token-slots: null;
98
18
  ), $systems);
99
19
  $exclude-hardcoded: not $include-non-systemized;
100
20
 
101
- // DO NOT REMOVE
102
- // This function is used internally.
103
- $systems: format-tokens.private-format-tokens($systems);
104
- $token-slots: _get-token-slots();
105
-
106
21
  // TODO(mmalerba): Fill in remaining tokens.
107
22
  $result: mat.private-deep-merge-all(
108
23
  // Add the system color & typography tokens (so we can give users access via an API).
109
24
  (
110
- (mdc, theme): map.get($systems, md-sys-color),
111
- (mdc, typography): map.get($systems, md-sys-typescale),
25
+ (mat, theme): map.get($systems, md-sys-color),
26
+ (mat, typography): map.get($systems, md-sys-typescale),
112
27
  ),
113
- m3.get-m3-tokens($systems, $exclude-hardcoded, $token-slots),
114
28
  );
115
29
 
116
- // Strip out tokens that are systemized by our made up density system.
117
- @each $namespace, $tokens in $result {
118
- @each $token, $value in $tokens {
119
- @if density.is-systemized($namespace, $token) and not $include-density {
120
- $tokens: map.remove($tokens, $token);
121
- }
122
- }
123
- $result: map.set($result, $namespace, $tokens);
124
- }
125
-
126
30
  @return $result;
127
31
  }
128
32
 
@@ -134,170 +38,34 @@ $_cached-token-slots: null;
134
38
  @return $result;
135
39
  }
136
40
 
137
- @function _get-sys-color($type, $ref, $prefix) {
138
- $mdc-sys-color: if($type == dark,
139
- m3-token-definitions.md-sys-color-values-dark($ref),
140
- m3-token-definitions.md-sys-color-values-light($ref));
41
+ @function get-sys-color($type, $palettes, $prefix) {
42
+ $sys-color: if($type == dark,
43
+ m3.md-sys-color-values-dark($palettes),
44
+ m3.md-sys-color-values-light($palettes));
141
45
 
142
46
  @if (mat.$private-use-system-color-variables) {
143
- $keys: (
144
- 'background',
145
- 'error',
146
- 'error-container',
147
- 'inverse-on-surface',
148
- 'inverse-primary',
149
- 'inverse-surface',
150
- 'on-background',
151
- 'on-error',
152
- 'on-error-container',
153
- 'on-primary',
154
- 'on-primary-container',
155
- 'on-primary-fixed',
156
- 'on-primary-fixed-variant',
157
- 'on-secondary',
158
- 'on-secondary-container',
159
- 'on-secondary-fixed',
160
- 'on-secondary-fixed-variant',
161
- 'on-surface',
162
- 'on-surface-variant',
163
- 'on-tertiary',
164
- 'on-tertiary-container',
165
- 'on-tertiary-fixed',
166
- 'on-tertiary-fixed-variant',
167
- 'outline',
168
- 'outline-variant',
169
- 'primary',
170
- 'primary-container',
171
- 'primary-fixed',
172
- 'primary-fixed-dim',
173
- 'scrim',
174
- 'secondary',
175
- 'secondary-container',
176
- 'secondary-fixed',
177
- 'secondary-fixed-dim',
178
- 'surface',
179
- 'surface-bright',
180
- 'surface-container',
181
- 'surface-container-high',
182
- 'surface-container-highest',
183
- 'surface-container-low',
184
- 'surface-container-lowest',
185
- 'surface-dim',
186
- 'surface-tint',
187
- 'surface-variant',
188
- 'tertiary',
189
- 'tertiary-container',
190
- 'tertiary-fixed',
191
- 'tertiary-fixed-dim'
192
- );
193
- @return map.merge(create-map($keys, $prefix), (
194
- shadow: map.get($mdc-sys-color, shadow)
195
- ));
47
+ $var-values: ();
48
+ @each $key in map.keys($sys-color) {
49
+ $var-values: map.set($var-values, $key, var(--#{$prefix}-#{$key}));
50
+ }
51
+ $var-values: map.set($var-values, shadow, map.get($sys-color, shadow));
52
+ @return $var-values;
196
53
  }
197
54
 
198
- @return $mdc-sys-color;
55
+ @return $sys-color;
199
56
  }
200
57
 
201
- @function _get-sys-typeface($ref, $prefix) {
58
+ @function get-sys-typeface($typography, $prefix) {
59
+ $sys-typography: m3.md-sys-typescale-values($typography);
202
60
  @if (mat.$private-use-system-typography-variables) {
203
- $keys: (
204
- 'body-large',
205
- 'body-large-font',
206
- 'body-large-line-height',
207
- 'body-large-size',
208
- 'body-large-tracking',
209
- 'body-large-weight',
210
- 'body-medium',
211
- 'body-medium-font',
212
- 'body-medium-line-height',
213
- 'body-medium-size',
214
- 'body-medium-tracking',
215
- 'body-medium-weight',
216
- 'body-small',
217
- 'body-small-font',
218
- 'body-small-line-height',
219
- 'body-small-size',
220
- 'body-small-tracking',
221
- 'body-small-weight',
222
- 'display-large',
223
- 'display-large-font',
224
- 'display-large-line-height',
225
- 'display-large-size',
226
- 'display-large-tracking',
227
- 'display-large-weight',
228
- 'display-medium',
229
- 'display-medium-font',
230
- 'display-medium-line-height',
231
- 'display-medium-size',
232
- 'display-medium-tracking',
233
- 'display-medium-weight',
234
- 'display-small',
235
- 'display-small-font',
236
- 'display-small-line-height',
237
- 'display-small-size',
238
- 'display-small-tracking',
239
- 'display-small-weight',
240
- 'headline-large',
241
- 'headline-large-font',
242
- 'headline-large-line-height',
243
- 'headline-large-size',
244
- 'headline-large-tracking',
245
- 'headline-large-weight',
246
- 'headline-medium',
247
- 'headline-medium-font',
248
- 'headline-medium-line-height',
249
- 'headline-medium-size',
250
- 'headline-medium-tracking',
251
- 'headline-medium-weight',
252
- 'headline-small',
253
- 'headline-small-font',
254
- 'headline-small-line-height',
255
- 'headline-small-size',
256
- 'headline-small-tracking',
257
- 'headline-small-weight',
258
- 'label-large',
259
- 'label-large-font',
260
- 'label-large-line-height',
261
- 'label-large-size',
262
- 'label-large-tracking',
263
- 'label-large-weight',
264
- 'label-large-weight-prominent',
265
- 'label-medium',
266
- 'label-medium-font',
267
- 'label-medium-line-height',
268
- 'label-medium-size',
269
- 'label-medium-tracking',
270
- 'label-medium-weight',
271
- 'label-medium-weight-prominent',
272
- 'label-small',
273
- 'label-small-font',
274
- 'label-small-line-height',
275
- 'label-small-size',
276
- 'label-small-tracking',
277
- 'label-small-weight',
278
- 'title-large',
279
- 'title-large-font',
280
- 'title-large-line-height',
281
- 'title-large-size',
282
- 'title-large-tracking',
283
- 'title-large-weight',
284
- 'title-medium',
285
- 'title-medium-font',
286
- 'title-medium-line-height',
287
- 'title-medium-size',
288
- 'title-medium-tracking',
289
- 'title-medium-weight',
290
- 'title-small',
291
- 'title-small-font',
292
- 'title-small-line-height',
293
- 'title-small-size',
294
- 'title-small-tracking',
295
- 'title-small-weight'
296
- );
297
-
298
- @return create-map($keys, $prefix);
61
+ $var-values: ();
62
+ @each $key in map.keys($sys-typography) {
63
+ $var-values: map.set($var-values, $key, var(--#{$prefix}-#{$key}));
64
+ }
65
+ @return $var-values;
299
66
  }
300
- @return m3-token-definitions.md-sys-typescale-values($ref);
67
+
68
+ @return $sys-typography;
301
69
  }
302
70
 
303
71
  /// Generates a set of namespaced color tokens for all components.
@@ -307,27 +75,24 @@ $_cached-token-slots: null;
307
75
  /// @param {Map} $error The error palette
308
76
  /// @param {String} $system-variables-prefix The prefix of system tokens
309
77
  /// @return {Map} A map of namespaced color tokens
310
- @function generate-color-tokens($type, $primary, $tertiary, $error, $system-variables-prefix) {
311
- $ref: (
312
- md-ref-palette: generate-ref-palette-tokens($primary, $tertiary, $error)
313
- );
314
-
315
- $sys-color: _get-sys-color($type, $ref, $system-variables-prefix);
316
-
317
- @return generate-tokens(map.merge($ref, (
318
- // Used to get the theme type
319
- md-sys-type: $type,
78
+ @function generate-color-tokens($type, $palettes, $system-variables-prefix) {
79
+ $sys-color: get-sys-color($type, $palettes, $system-variables-prefix);
320
80
 
81
+ @return generate-tokens((
321
82
  md-sys-color: $sys-color,
83
+ md-ref-palette: (
84
+ neutral-10: map.get($palettes, neutral, 10),
85
+ neutral-variant20: map.get($palettes, neutral-variant, 20),
86
+ ),
322
87
  // Because the elevation values are always combined with color values to create the box shadow,
323
88
  // elevation needs to be part of the color dimension.
324
- md-sys-elevation: m3-token-definitions.md-sys-elevation-values(),
89
+ md-sys-elevation: m3.md-sys-elevation-values(),
325
90
  // Because the state values are sometimes combined with color values to create rgba colors,
326
91
  // state needs to be part of color dimension.
327
92
  // TODO(mmalerba): If at some point we remove the need for these combined values, we can move
328
93
  // state to the base dimension.
329
- md-sys-state: m3-token-definitions.md-sys-state-values(),
330
- )));
94
+ md-sys-state: m3.md-sys-state-values(),
95
+ ));
331
96
  }
332
97
 
333
98
  /// Generates a set of namespaced color tokens for all components.
@@ -338,31 +103,20 @@ $_cached-token-slots: null;
338
103
  /// @param {String|Number} $regular The regular font-weight
339
104
  /// @param {String} $system-variables-prefix The prefix of system tokens
340
105
  /// @return {Map} A map of namespaced typography tokens
341
- @function generate-typography-tokens($brand, $plain, $bold, $medium, $regular,
342
- $system-variables-prefix) {
343
- $ref: (
344
- md-ref-typeface: generate-ref-typeface-tokens($brand, $plain, $bold, $medium, $regular)
345
- );
346
- $sys-typeface: _get-sys-typeface($ref, $system-variables-prefix);
106
+ @function generate-typography-tokens($typography, $system-variables-prefix) {
107
+ $sys-typeface: get-sys-typeface($typography, $system-variables-prefix);
347
108
  @return generate-tokens((
348
109
  md-sys-typescale: $sys-typeface
349
110
  ));
350
111
  }
351
112
 
352
- /// Generates a set of namespaced density tokens for all components.
353
- /// @param {String|Number} $scale The regular font-weight
354
- /// @return {Map} A map of namespaced density tokens
355
- @function generate-density-tokens($scale) {
356
- @return density.get-tokens-for-scale($scale);
357
- }
358
-
359
113
  /// Generates a set of namespaced tokens not related to color, typography, or density for all
360
114
  /// components.
361
115
  /// @return {Map} A map of namespaced tokens not related to color, typography, or density
362
116
  @function generate-base-tokens() {
363
117
  // TODO(mmalerba): Exclude density tokens once implemented.
364
118
  @return generate-tokens((
365
- md-sys-motion: m3-token-definitions.md-sys-motion-values(),
366
- md-sys-shape: m3-token-definitions.md-sys-shape-values(),
119
+ md-sys-motion: m3.md-sys-motion-values(),
120
+ md-sys-shape: m3.md-sys-shape-values(),
367
121
  ), $include-non-systemized: true);
368
122
  }
@@ -0,0 +1,48 @@
1
+ @use 'sass:map';
2
+ @use 'sass:meta';
3
+ @use 'sass:string';
4
+
5
+ // Replaces color tokens in the map with those defined as the variant color.
6
+ @function replace-colors-with-variant($system, $color, $variant) {
7
+ $system: map.set($system, on-#{$color}, map.get($system, on-#{$variant}));
8
+ $system: map.set($system, on-#{$color}-container, map.get($system, on-#{$variant}-container));
9
+ $system: map.set($system, #{$color}, map.get($system, #{$variant}));
10
+ $system: map.set($system, #{$color}-container, map.get($system, #{$variant}-container));
11
+ @return $system;
12
+ }
13
+
14
+ // Gets the theme's system values as a flat map.
15
+ @function get-system($theme) {
16
+ $system: ();
17
+ $system: map.merge($system,
18
+ map.get($theme, _mat-theming-internals-do-not-access, md-sys-color));
19
+ $system: map.merge($system,
20
+ map.get($theme, _mat-theming-internals-do-not-access, md-sys-elevation));
21
+ $system: map.merge($system,
22
+ map.get($theme, _mat-theming-internals-do-not-access, md-sys-shape));
23
+ $system: map.merge($system,
24
+ map.get($theme, _mat-theming-internals-do-not-access, md-sys-state));
25
+ $system: map.merge($system,
26
+ map.get($theme, _mat-theming-internals-do-not-access, md-sys-typescale));
27
+ $system: map.merge($system,
28
+ map.get($theme, _mat-theming-internals-do-not-access, md-ref-palette));
29
+ @return $system;
30
+ }
31
+
32
+ // Returns the color with an opacity value using color-mix. If the color is a variable name, it
33
+ // will wrap it with `var()`.
34
+ @function color-with-opacity($color, $opacity) {
35
+ @if (meta.type-of($color) == string and string.index($color, '--') == 1) {
36
+ $color: var($color);
37
+ }
38
+
39
+ // Opacity may be a system level value less than 1, instead of the intended
40
+ // whole percentage, e.g. 38%. Remove this support when possible.
41
+ @if (meta.type-of($opacity) == string and string.index($opacity, '--') == 1) {
42
+ $opacity: 'calc(var(#{$opacity}) * 100%)';
43
+ } @else if (meta.type-of($opacity) == number and $opacity < 1) {
44
+ $opacity: '#{$opacity * 100}%';
45
+ }
46
+
47
+ @return color-mix(in srgb, #{$color} #{$opacity}, transparent);
48
+ }