@ng-matero/extensions 19.4.0 → 20.0.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 (282) 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 +7 -7
  52. package/fesm2022/mtxCheckboxGroup.mjs +7 -7
  53. package/fesm2022/mtxColorpicker.mjs +21 -21
  54. package/fesm2022/mtxColorpicker.mjs.map +1 -1
  55. package/fesm2022/mtxColumnResize.mjs +232 -103
  56. package/fesm2022/mtxColumnResize.mjs.map +1 -1
  57. package/fesm2022/mtxCore.mjs +21 -21
  58. package/fesm2022/mtxDatetimepicker.mjs +63 -63
  59. package/fesm2022/mtxDatetimepicker.mjs.map +1 -1
  60. package/fesm2022/mtxDialog.mjs +10 -10
  61. package/fesm2022/mtxDialog.mjs.map +1 -1
  62. package/fesm2022/mtxDrawer.mjs +10 -10
  63. package/fesm2022/mtxGrid.mjs +78 -77
  64. package/fesm2022/mtxGrid.mjs.map +1 -1
  65. package/fesm2022/mtxLoader.mjs +7 -7
  66. package/fesm2022/mtxPhotoviewer.mjs +7 -7
  67. package/fesm2022/mtxPopover.mjs +24 -25
  68. package/fesm2022/mtxPopover.mjs.map +1 -1
  69. package/fesm2022/mtxProgress.mjs +7 -7
  70. package/fesm2022/mtxSelect.mjs +54 -54
  71. package/fesm2022/mtxSelect.mjs.map +1 -1
  72. package/fesm2022/mtxSplit.mjs +10 -10
  73. package/fesm2022/mtxTooltip.mjs +13 -13
  74. package/fesm2022/mtxTooltip.mjs.map +1 -1
  75. package/grid/_grid-theme.scss +22 -35
  76. package/grid/_m2-grid.scss +66 -0
  77. package/grid/_m3-grid.scss +35 -0
  78. package/grid/column-menu.scss +6 -23
  79. package/grid/column-resize/_column-resize.scss +35 -30
  80. package/grid/grid.scss +41 -73
  81. package/grid/index.d.ts +799 -3
  82. package/index.d.ts +2 -5
  83. package/loader/_loader-theme.scss +26 -31
  84. package/{core/tokens/m2/mtx/_loader.scss → loader/_m2-loader.scss} +5 -10
  85. package/loader/_m3-loader.scss +20 -0
  86. package/loader/index.d.ts +43 -5
  87. package/loader/loader.scss +4 -5
  88. package/package.json +29 -29
  89. package/photoviewer/index.d.ts +26 -5
  90. package/{core/tokens/m2/mtx/_popover.scss → popover/_m2-popover.scss} +9 -12
  91. package/popover/_m3-popover.scss +26 -0
  92. package/popover/_popover-theme.scss +26 -31
  93. package/popover/index.d.ts +399 -3
  94. package/popover/popover.scss +23 -29
  95. package/prebuilt-themes/azure-blue.css +1 -1
  96. package/prebuilt-themes/cyan-orange.css +1 -1
  97. package/prebuilt-themes/deeppurple-amber.css +1 -1
  98. package/prebuilt-themes/indigo-pink.css +1 -1
  99. package/prebuilt-themes/magenta-violet.css +1 -1
  100. package/prebuilt-themes/pink-bluegrey.css +1 -1
  101. package/prebuilt-themes/purple-green.css +1 -1
  102. package/prebuilt-themes/rose-red.css +1 -1
  103. package/progress/_m2-progress.scss +53 -0
  104. package/progress/_m3-progress.scss +33 -0
  105. package/progress/_progress-theme.scss +22 -34
  106. package/progress/index.d.ts +35 -5
  107. package/progress/progress.scss +28 -43
  108. package/select/_m2-select.scss +79 -0
  109. package/select/_m3-select.scss +46 -0
  110. package/select/_select-theme.scss +27 -37
  111. package/select/index.d.ts +381 -3
  112. package/select/select.scss +189 -205
  113. package/{core/tokens/m2/mtx/_split.scss → split/_m2-split.scss} +6 -9
  114. package/split/_m3-split.scss +23 -0
  115. package/split/_split-theme.scss +31 -34
  116. package/split/index.d.ts +255 -3
  117. package/split/split.scss +8 -11
  118. package/tooltip/_m2-tooltip.scss +50 -0
  119. package/tooltip/_m3-tooltip.scss +28 -0
  120. package/tooltip/_tooltip-theme.scss +23 -47
  121. package/tooltip/index.d.ts +345 -3
  122. package/tooltip/tooltip.scss +11 -15
  123. package/alert/alert-module.d.ts +0 -8
  124. package/alert/alert.d.ts +0 -19
  125. package/alert/public-api.d.ts +0 -2
  126. package/button/button-loading.d.ts +0 -19
  127. package/button/button-module.d.ts +0 -10
  128. package/button/public-api.d.ts +0 -2
  129. package/checkbox-group/checkbox-group-module.d.ts +0 -11
  130. package/checkbox-group/checkbox-group.d.ts +0 -86
  131. package/checkbox-group/interfaces.d.ts +0 -17
  132. package/checkbox-group/public-api.d.ts +0 -3
  133. package/colorpicker/colorpicker-animations.d.ts +0 -9
  134. package/colorpicker/colorpicker-input.d.ts +0 -88
  135. package/colorpicker/colorpicker-module.d.ts +0 -15
  136. package/colorpicker/colorpicker-toggle.d.ts +0 -39
  137. package/colorpicker/colorpicker.d.ts +0 -140
  138. package/colorpicker/public-api.d.ts +0 -5
  139. package/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -29
  140. package/column-resize/column-resize-directives/column-resize.d.ts +0 -29
  141. package/column-resize/column-resize-directives/constants.d.ts +0 -10
  142. package/column-resize/column-resize-module.d.ts +0 -12
  143. package/column-resize/column-resize-notifier.d.ts +0 -48
  144. package/column-resize/column-resize.d.ts +0 -39
  145. package/column-resize/column-size-store.d.ts +0 -12
  146. package/column-resize/event-dispatcher.d.ts +0 -35
  147. package/column-resize/overlay-handle.d.ts +0 -43
  148. package/column-resize/polyfill.d.ts +0 -9
  149. package/column-resize/public-api.d.ts +0 -12
  150. package/column-resize/resizable.d.ts +0 -63
  151. package/column-resize/resize-ref.d.ts +0 -17
  152. package/column-resize/resize-strategy.d.ts +0 -84
  153. package/column-resize/selectors.d.ts +0 -10
  154. package/core/datetime/datetime-adapter.d.ts +0 -45
  155. package/core/datetime/datetime-formats.d.ts +0 -22
  156. package/core/datetime/datetime.module.d.ts +0 -15
  157. package/core/datetime/index.d.ts +0 -5
  158. package/core/datetime/native-datetime-adapter.d.ts +0 -40
  159. package/core/datetime/native-datetime-formats.d.ts +0 -2
  160. package/core/pipes/index.d.ts +0 -3
  161. package/core/pipes/is-template-ref.pipe.d.ts +0 -7
  162. package/core/pipes/pipes.module.d.ts +0 -9
  163. package/core/pipes/to-observable.pipe.d.ts +0 -8
  164. package/core/public-api.d.ts +0 -2
  165. package/core/theming/_inspection.scss +0 -38
  166. package/core/theming/_validation.scss +0 -5
  167. package/core/tokens/_density.scss +0 -49
  168. package/core/tokens/_format-tokens.scss +0 -5
  169. package/core/tokens/_token-definition.scss +0 -271
  170. package/core/tokens/m2/mdc/_plain-tooltip.scss +0 -63
  171. package/core/tokens/m2/mtx/_alert.scss +0 -62
  172. package/core/tokens/m2/mtx/_datetimepicker.scss +0 -152
  173. package/core/tokens/m2/mtx/_grid.scss +0 -69
  174. package/core/tokens/m2/mtx/_progress.scss +0 -56
  175. package/core/tokens/m2/mtx/_select.scss +0 -82
  176. package/core/tokens/m3/definitions/_index.scss +0 -9
  177. package/core/tokens/m3/definitions/_md-comp-plain-tooltip.scss +0 -51
  178. package/core/tokens/m3/definitions/_md-ref-palette.scss +0 -100
  179. package/core/tokens/m3/definitions/_md-ref-typeface.scss +0 -14
  180. package/core/tokens/m3/definitions/_md-sys-color.scss +0 -126
  181. package/core/tokens/m3/definitions/_md-sys-elevation.scss +0 -15
  182. package/core/tokens/m3/definitions/_md-sys-motion.scss +0 -46
  183. package/core/tokens/m3/definitions/_md-sys-shape.scss +0 -24
  184. package/core/tokens/m3/definitions/_md-sys-state.scss +0 -13
  185. package/core/tokens/m3/definitions/_md-sys-typescale.scss +0 -308
  186. package/core/tokens/m3/index.scss +0 -47
  187. package/core/tokens/m3/mdc/_plain-tooltip.scss +0 -15
  188. package/core/tokens/m3/mtx/_alert.scss +0 -41
  189. package/core/tokens/m3/mtx/_colorpicker.scss +0 -19
  190. package/core/tokens/m3/mtx/_datetimepicker.scss +0 -140
  191. package/core/tokens/m3/mtx/_drawer.scss +0 -22
  192. package/core/tokens/m3/mtx/_grid.scss +0 -32
  193. package/core/tokens/m3/mtx/_loader.scss +0 -22
  194. package/core/tokens/m3/mtx/_popover.scss +0 -25
  195. package/core/tokens/m3/mtx/_progress.scss +0 -32
  196. package/core/tokens/m3/mtx/_select.scss +0 -76
  197. package/core/tokens/m3/mtx/_split.scss +0 -30
  198. package/datetimepicker/calendar-body.d.ts +0 -66
  199. package/datetimepicker/calendar.d.ts +0 -157
  200. package/datetimepicker/clock.d.ts +0 -101
  201. package/datetimepicker/datetimepicker-actions.d.ts +0 -36
  202. package/datetimepicker/datetimepicker-animations.d.ts +0 -11
  203. package/datetimepicker/datetimepicker-errors.d.ts +0 -2
  204. package/datetimepicker/datetimepicker-filtertype.d.ts +0 -5
  205. package/datetimepicker/datetimepicker-input.d.ts +0 -105
  206. package/datetimepicker/datetimepicker-intl.d.ts +0 -53
  207. package/datetimepicker/datetimepicker-module.d.ts +0 -22
  208. package/datetimepicker/datetimepicker-toggle.d.ts +0 -42
  209. package/datetimepicker/datetimepicker-types.d.ts +0 -6
  210. package/datetimepicker/datetimepicker.d.ts +0 -274
  211. package/datetimepicker/month-view.d.ts +0 -80
  212. package/datetimepicker/multi-year-view.d.ts +0 -86
  213. package/datetimepicker/public-api.d.ts +0 -16
  214. package/datetimepicker/time-view.d.ts +0 -147
  215. package/datetimepicker/year-view.d.ts +0 -68
  216. package/dialog/dialog-config.d.ts +0 -17
  217. package/dialog/dialog-container.d.ts +0 -11
  218. package/dialog/dialog-module.d.ts +0 -12
  219. package/dialog/dialog.d.ts +0 -15
  220. package/dialog/public-api.d.ts +0 -4
  221. package/drawer/drawer-animations.d.ts +0 -8
  222. package/drawer/drawer-config.d.ts +0 -63
  223. package/drawer/drawer-container.d.ts +0 -35
  224. package/drawer/drawer-module.d.ts +0 -10
  225. package/drawer/drawer-ref.d.ts +0 -53
  226. package/drawer/drawer.d.ts +0 -59
  227. package/drawer/public-api.d.ts +0 -6
  228. package/grid/cell.d.ts +0 -32
  229. package/grid/column-menu.d.ts +0 -39
  230. package/grid/column-resize/column-resize-directives/column-resize-flex.d.ts +0 -24
  231. package/grid/column-resize/column-resize-directives/column-resize.d.ts +0 -24
  232. package/grid/column-resize/column-resize-directives/common.d.ts +0 -13
  233. package/grid/column-resize/column-resize-module.d.ts +0 -17
  234. package/grid/column-resize/index.d.ts +0 -7
  235. package/grid/column-resize/overlay-handle.d.ts +0 -32
  236. package/grid/column-resize/resizable-directives/common.d.ts +0 -19
  237. package/grid/column-resize/resizable-directives/resizable.d.ts +0 -32
  238. package/grid/column-resize/resize-strategy.d.ts +0 -20
  239. package/grid/expansion-toggle.d.ts +0 -17
  240. package/grid/grid-module.d.ts +0 -31
  241. package/grid/grid-pipes.d.ts +0 -39
  242. package/grid/grid-utils.d.ts +0 -33
  243. package/grid/grid.d.ts +0 -268
  244. package/grid/interfaces.d.ts +0 -180
  245. package/grid/public-api.d.ts +0 -17
  246. package/grid/selectable-cell.d.ts +0 -16
  247. package/loader/loader-module.d.ts +0 -10
  248. package/loader/loader.d.ts +0 -30
  249. package/loader/public-api.d.ts +0 -2
  250. package/photoviewer/photoviewer-module.d.ts +0 -7
  251. package/photoviewer/photoviewer.d.ts +0 -17
  252. package/photoviewer/public-api.d.ts +0 -2
  253. package/popover/popover-animations.d.ts +0 -11
  254. package/popover/popover-content.d.ts +0 -43
  255. package/popover/popover-errors.d.ts +0 -14
  256. package/popover/popover-interfaces.d.ts +0 -50
  257. package/popover/popover-module.d.ts +0 -13
  258. package/popover/popover-target.d.ts +0 -7
  259. package/popover/popover-trigger.d.ts +0 -132
  260. package/popover/popover-types.d.ts +0 -10
  261. package/popover/popover.d.ts +0 -147
  262. package/popover/public-api.d.ts +0 -8
  263. package/progress/progress-module.d.ts +0 -8
  264. package/progress/progress.d.ts +0 -24
  265. package/progress/public-api.d.ts +0 -2
  266. package/public-api.d.ts +0 -2
  267. package/select/option.d.ts +0 -21
  268. package/select/public-api.d.ts +0 -5
  269. package/select/select-intl.d.ts +0 -18
  270. package/select/select-module.d.ts +0 -12
  271. package/select/select.d.ts +0 -270
  272. package/select/templates.d.ts +0 -67
  273. package/split/interfaces.d.ts +0 -52
  274. package/split/public-api.d.ts +0 -5
  275. package/split/split-module.d.ts +0 -9
  276. package/split/split-pane.d.ts +0 -53
  277. package/split/split.d.ts +0 -133
  278. package/split/utils.d.ts +0 -13
  279. package/tooltip/public-api.d.ts +0 -3
  280. package/tooltip/tooltip-animations.d.ts +0 -9
  281. package/tooltip/tooltip-module.d.ts +0 -13
  282. package/tooltip/tooltip.d.ts +0 -321
@@ -0,0 +1,128 @@
1
+ //
2
+ // Design system display name: Material 3
3
+ // Design system version: v0.161
4
+ //
5
+
6
+ @use 'sass:map';
7
+
8
+ // Indicates whether alternative tokens should be used
9
+ $_alternate-tokens: false;
10
+
11
+ @function md-sys-typescale-values($typography) {
12
+ $plain: map.get($typography, plain);
13
+ $brand: map.get($typography, brand);
14
+ $bold: map.get($typography, bold);
15
+ $medium: map.get($typography, medium);
16
+ $regular: map.get($typography, regular);
17
+
18
+ $values: (
19
+ body-large: $regular 1rem #{'/'} 1.5rem $plain,
20
+ body-large-font: $plain,
21
+ body-large-line-height: 1.5rem,
22
+ body-large-size: 1rem,
23
+ body-large-tracking: 0.031rem,
24
+ body-large-weight: $regular,
25
+ body-medium: $regular 0.875rem #{'/'} 1.25rem $plain,
26
+ body-medium-font: $plain,
27
+ body-medium-line-height: 1.25rem,
28
+ body-medium-size: 0.875rem,
29
+ body-medium-tracking: 0.016rem,
30
+ body-medium-weight: $regular,
31
+ body-small: $regular 0.75rem #{'/'} 1rem $plain,
32
+ body-small-font: $plain,
33
+ body-small-line-height: 1rem,
34
+ body-small-size: 0.75rem,
35
+ body-small-tracking: 0.025rem,
36
+ body-small-weight: $regular,
37
+ display-large: $regular 3.562rem #{'/'} 4rem $brand,
38
+ display-large-font: $brand,
39
+ display-large-line-height: 4rem,
40
+ display-large-size: 3.562rem,
41
+ display-large-tracking: -0.016rem,
42
+ display-large-weight: $regular,
43
+ display-medium: $regular 2.812rem #{'/'} 3.25rem $brand,
44
+ display-medium-font: $brand,
45
+ display-medium-line-height: 3.25rem,
46
+ display-medium-size: 2.812rem,
47
+ display-medium-tracking: 0,
48
+ display-medium-weight: $regular,
49
+ display-small: $regular 2.25rem #{'/'} 2.75rem $brand,
50
+ display-small-font: $brand,
51
+ display-small-line-height: 2.75rem,
52
+ display-small-size: 2.25rem,
53
+ display-small-tracking: 0,
54
+ display-small-weight: $regular,
55
+ headline-large: $regular 2rem #{'/'} 2.5rem $brand,
56
+ headline-large-font: $brand,
57
+ headline-large-line-height: 2.5rem,
58
+ headline-large-size: 2rem,
59
+ headline-large-tracking: 0,
60
+ headline-large-weight: $regular,
61
+ headline-medium: $regular 1.75rem #{'/'} 2.25rem $brand,
62
+ headline-medium-font: $brand,
63
+ headline-medium-line-height: 2.25rem,
64
+ headline-medium-size: 1.75rem,
65
+ headline-medium-tracking: 0,
66
+ headline-medium-weight: $regular,
67
+ headline-small: $regular 1.5rem #{'/'} 2rem $brand,
68
+ headline-small-font: $brand,
69
+ headline-small-line-height: 2rem,
70
+ headline-small-size: 1.5rem,
71
+ headline-small-tracking: 0,
72
+ headline-small-weight: $regular,
73
+ label-large: $medium 0.875rem #{'/'} 1.25rem $plain,
74
+ label-large-font: $plain,
75
+ label-large-line-height: 1.25rem,
76
+ label-large-size: 0.875rem,
77
+ label-large-tracking: 0.006rem,
78
+ label-large-weight: $medium,
79
+ label-large-weight-prominent: $bold,
80
+ label-medium: $medium 0.75rem #{'/'} 1rem $plain,
81
+ label-medium-font: $plain,
82
+ label-medium-line-height: 1rem,
83
+ label-medium-size: 0.75rem,
84
+ label-medium-tracking: 0.031rem,
85
+ label-medium-weight: $medium,
86
+ label-medium-weight-prominent: $bold,
87
+ label-small: $medium 0.688rem #{'/'} 1rem $plain,
88
+ label-small-font: $plain,
89
+ label-small-line-height: 1rem,
90
+ label-small-size: 0.688rem,
91
+ label-small-tracking: 0.031rem,
92
+ label-small-weight: $medium,
93
+ title-large: $regular 1.375rem #{'/'} 1.75rem $brand,
94
+ title-large-font: $brand,
95
+ title-large-line-height: 1.75rem,
96
+ title-large-size: 1.375rem,
97
+ title-large-tracking: 0,
98
+ title-large-weight: $regular,
99
+ title-medium: $medium 1rem #{'/'} 1.5rem $plain,
100
+ title-medium-font: $plain,
101
+ title-medium-line-height: 1.5rem,
102
+ title-medium-size: 1rem,
103
+ title-medium-tracking: 0.009rem,
104
+ title-medium-weight: $medium,
105
+ title-small: $medium 0.875rem #{'/'} 1.25rem $plain,
106
+ title-small-font: $plain,
107
+ title-small-line-height: 1.25rem,
108
+ title-small-size: 0.875rem,
109
+ title-small-tracking: 0.006rem,
110
+ title-small-weight: $medium
111
+ );
112
+
113
+ @if ($_alternate-tokens) {
114
+ $values: map.merge($values, (
115
+ body-large-tracking: 0,
116
+ body-medium-tracking: 0,
117
+ body-small-tracking: 0.006rem,
118
+ display-large-tracking: 0,
119
+ label-large-tracking: 0,
120
+ label-medium-tracking: 0.006rem,
121
+ label-small-tracking: 0.006rem,
122
+ title-medium-tracking: 0,
123
+ title-small-tracking: 0,
124
+ ));
125
+ }
126
+
127
+ @return $values;
128
+ }
@@ -0,0 +1,47 @@
1
+ @use '../../theming/palettes';
2
+ @use './md-sys-color';
3
+ @use './md-sys-elevation';
4
+ @use './md-sys-shape';
5
+ @use './md-sys-state';
6
+ @use './md-sys-typescale';
7
+ @use 'sass:map';
8
+
9
+ // Return a new map where the values are the same as the provided map's
10
+ // keys, prefixed with "--mat-sys-". For example:
11
+ // (key1: '', key2: '') --> (key1: --mat-sys-key1, key2: --mat-sys-key2)
12
+ @function _create-system-app-vars-map($map) {
13
+ $new-map: ();
14
+ @each $key, $value in $map {
15
+ $new-map: map.set($new-map, $key, --mat-sys-#{$key});
16
+ }
17
+ @return $new-map;
18
+ }
19
+
20
+ /// Map key used to store internals of theme config.
21
+ $internals: _mat-theming-internals-do-not-access;
22
+
23
+ $placeholder-palettes: md-sys-color.md-sys-color-values-light(palettes.$blue-palette);
24
+ $placeholder-palettes: map.set($placeholder-palettes, primary, palettes.$blue-palette);
25
+ $app-vars: (
26
+ 'md-sys-color': _create-system-app-vars-map(
27
+ md-sys-color.md-sys-color-values-light($placeholder-palettes)),
28
+ 'md-sys-typescale': _create-system-app-vars-map(md-sys-typescale.md-sys-typescale-values((
29
+ brand: (Roboto),
30
+ plain: (Roboto),
31
+ bold: 700,
32
+ medium: 500,
33
+ regular: 400
34
+ ))),
35
+ 'md-sys-elevation': _create-system-app-vars-map(md-sys-elevation.md-sys-elevation-values()),
36
+ 'md-sys-state': _create-system-app-vars-map(md-sys-state.md-sys-state-values()),
37
+ 'md-sys-shape': _create-system-app-vars-map(md-sys-shape.md-sys-shape-values()),
38
+ // Add a subset of palette-specific colors used by components instead of system values
39
+ 'md-ref-palette': _create-system-app-vars-map(
40
+ (
41
+ neutral10: '', // Form field native select option text color
42
+ neutral-variant20: '', // Sidenav scrim (container background shadow when opened),
43
+ )
44
+ ),
45
+ );
46
+
47
+ $sys-theme: ($internals: $app-vars);
@@ -1,41 +1,34 @@
1
1
  @use 'sass:map';
2
2
  @use '@angular/material' as mat;
3
- @use '../core/theming/inspection';
4
- @use '../core/theming/validation';
5
3
  @use '../core/tokens/token-utils';
6
- @use '../core/tokens/m2/mtx/datetimepicker' as tokens-mtx-datetimepicker;
4
+ @use './m2-datetimepicker';
5
+ @use './m3-datetimepicker';
7
6
 
8
7
  @mixin _calendar-color($theme, $palette-name) {
9
8
  $palette-color: mat.get-theme-color($theme, $palette-name);
10
- $calendar-tokens: tokens-mtx-datetimepicker.private-get-calendar-color-palette-color-tokens($theme, $palette-name);
9
+ $calendar-tokens: m2-datetimepicker.private-get-calendar-color-palette-color-tokens($theme, $palette-name);
11
10
 
12
- @include token-utils.create-token-values(tokens-mtx-datetimepicker.$prefix, $calendar-tokens);
11
+ @include token-utils.create-token-values-mixed($calendar-tokens);
13
12
  }
14
13
 
15
14
  @mixin base($theme) {
16
15
  @if mat.get-theme-version($theme) == 1 {
17
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, base));
16
+ @include token-utils.create-token-values(map.get(m3-datetimepicker.get-tokens($theme), base));
18
17
  }
19
18
  @else {
20
19
  @include mat.private-current-selector-or-root() {
21
- @include token-utils.create-token-values(
22
- tokens-mtx-datetimepicker.$prefix,
23
- tokens-mtx-datetimepicker.get-unthemable-tokens()
24
- );
20
+ @include token-utils.create-token-values-mixed(m2-datetimepicker.get-unthemable-tokens());
25
21
  }
26
22
  }
27
23
  }
28
24
 
29
- @mixin color($theme, $options...) {
25
+ @mixin color($theme, $color-variant: null) {
30
26
  @if mat.get-theme-version($theme) == 1 {
31
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, color), $options...);
27
+ @include token-utils.create-token-values(map.get(m3-datetimepicker.get-tokens($theme, $color-variant), color));
32
28
  }
33
29
  @else {
34
30
  @include mat.private-current-selector-or-root() {
35
- @include token-utils.create-token-values(
36
- tokens-mtx-datetimepicker.$prefix,
37
- tokens-mtx-datetimepicker.get-color-tokens($theme)
38
- );
31
+ @include token-utils.create-token-values-mixed(m2-datetimepicker.get-color-tokens($theme));
39
32
  }
40
33
 
41
34
  .mtx-datetimepicker-content {
@@ -50,13 +43,13 @@
50
43
 
51
44
  .mtx-datetimepicker-toggle-active {
52
45
  &.mat-accent {
53
- $accent-tokens: tokens-mtx-datetimepicker.private-get-toggle-color-palette-color-tokens($theme, accent);
54
- @include token-utils.create-token-values(tokens-mtx-datetimepicker.$prefix, $accent-tokens);
46
+ $accent-tokens: m2-datetimepicker.private-get-toggle-color-palette-color-tokens($theme, accent);
47
+ @include token-utils.create-token-values-mixed($accent-tokens);
55
48
  }
56
49
 
57
50
  &.mat-warn {
58
- $warn-tokens: tokens-mtx-datetimepicker.private-get-toggle-color-palette-color-tokens($theme, warn);
59
- @include token-utils.create-token-values(tokens-mtx-datetimepicker.$prefix, $warn-tokens);
51
+ $warn-tokens: m2-datetimepicker.private-get-toggle-color-palette-color-tokens($theme, warn);
52
+ @include token-utils.create-token-values-mixed($warn-tokens);
60
53
  }
61
54
  }
62
55
  }
@@ -64,43 +57,47 @@
64
57
 
65
58
  @mixin typography($theme) {
66
59
  @if mat.get-theme-version($theme) == 1 {
67
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, typography));
60
+ @include token-utils.create-token-values(map.get(m3-datetimepicker.get-tokens($theme), typography));
68
61
  }
69
62
  @else {
70
63
  @include mat.private-current-selector-or-root() {
71
- @include token-utils.create-token-values(
72
- tokens-mtx-datetimepicker.$prefix,
73
- tokens-mtx-datetimepicker.get-typography-tokens($theme)
74
- );
64
+ @include token-utils.create-token-values-mixed(m2-datetimepicker.get-typography-tokens($theme));
75
65
  }
76
66
  }
77
67
  }
78
68
 
79
69
  @mixin density($theme) {
80
70
  @if mat.get-theme-version($theme) == 1 {
81
- @include _theme-from-tokens(inspection.get-theme-tokens($theme, density));
71
+ @include token-utils.create-token-values(map.get(m3-datetimepicker.get-tokens($theme), density));
72
+ }
73
+ @else {
74
+ @include mat.private-current-selector-or-root() {
75
+ @include token-utils.create-token-values-mixed(m2-datetimepicker.get-density-tokens($theme));
76
+ }
82
77
  }
83
- @else {}
84
78
  }
85
79
 
86
80
  /// Defines the tokens that will be available in the `overrides` mixin and for docs extraction.
87
81
  @function _define-overrides() {
88
82
  @return (
89
83
  (
90
- namespace: tokens-mtx-datetimepicker.$prefix,
91
- tokens: tokens-mtx-datetimepicker.get-token-slots(),
84
+ namespace: datetimepicker,
85
+ tokens: token-utils.get-overrides(m3-datetimepicker.get-tokens(), datetimepicker),
92
86
  ),
93
87
  );
94
88
  }
95
89
 
96
90
  @mixin overrides($tokens: ()) {
97
- @include token-utils.batch-create-token-values($tokens, _define-overrides()...);
91
+ @include token-utils.batch-create-token-values($tokens, _define-overrides());
98
92
  }
99
93
 
100
- @mixin theme($theme, $options...) {
94
+ @mixin theme($theme, $color-variant: null) {
101
95
  @include mat.private-check-duplicate-theme-styles($theme, 'mtx-datetimepicker') {
102
96
  @if mat.get-theme-version($theme) == 1 {
103
- @include _theme-from-tokens(inspection.get-theme-tokens($theme), $options...);
97
+ @include base($theme);
98
+ @include color($theme, $color-variant);
99
+ @include density($theme);
100
+ @include typography($theme);
104
101
  }
105
102
  @else {
106
103
  @include base($theme);
@@ -116,10 +113,3 @@
116
113
  }
117
114
  }
118
115
  }
119
-
120
- @mixin _theme-from-tokens($tokens, $options...) {
121
- @include validation.selector-defined(
122
- 'Calls to Angular Material theme mixins with an M3 theme must be wrapped in a selector');
123
- $mtx-datetimepicker-tokens: token-utils.get-tokens-for($tokens, tokens-mtx-datetimepicker.$prefix, $options...);
124
- @include token-utils.create-token-values(tokens-mtx-datetimepicker.$prefix, $mtx-datetimepicker-tokens);
125
- }
@@ -0,0 +1,149 @@
1
+ @use 'sass:color';
2
+ @use 'sass:map';
3
+ @use 'sass:meta';
4
+ @use '@angular/material' as mat;
5
+ @use '../core/tokens/m2-utils';
6
+ @use '../core/style/elevation';
7
+
8
+ $_selected-fade-amount: .6;
9
+ $_today-fade-amount: .2;
10
+
11
+ @function private-get-calendar-color-palette-color-tokens($theme, $palette-name) {
12
+ $palette-color: mat.get-theme-color($theme, $palette-name);
13
+ $default-contrast: mat.get-theme-color($theme, $palette-name, default-contrast);
14
+ $active-background-color: mat.get-theme-color($theme, $palette-name, 0.3);
15
+ $active-disabled-color: null;
16
+
17
+ @if (meta.type-of($palette-color) == color) {
18
+ $active-disabled-color: color.adjust($palette-color, $alpha: -$_selected-fade-amount);
19
+ }
20
+ @else {
21
+ $active-disabled-color: mat.get-theme-color($theme, foreground, disabled-button);
22
+ }
23
+
24
+ @return (
25
+ datetimepicker-calendar-header-background-color: $palette-color,
26
+
27
+ datetimepicker-calendar-date-selected-state-text-color: $default-contrast,
28
+ datetimepicker-calendar-date-selected-state-background-color: $palette-color,
29
+ datetimepicker-calendar-date-selected-disabled-state-background-color: $active-disabled-color,
30
+ datetimepicker-calendar-date-today-selected-state-outline-color: $default-contrast,
31
+ datetimepicker-calendar-date-focus-state-background-color: $active-background-color,
32
+ datetimepicker-calendar-date-hover-state-background-color: $active-background-color,
33
+
34
+ datetimepicker-clock-hand-background-color: $palette-color,
35
+ datetimepicker-clock-cell-selected-state-background-color: $palette-color,
36
+
37
+ datetimepicker-time-input-active-state-text-color: $palette-color,
38
+ datetimepicker-time-input-active-state-background-color: mat.get-theme-color($theme, $palette-name, 0.2),
39
+ datetimepicker-time-input-focus-state-outline-color: $palette-color,
40
+ datetimepicker-time-input-focus-state-placeholder-text-color: mat.get-theme-color($theme, $palette-name, 0.6),
41
+
42
+ datetimepicker-time-ampm-selected-state-background-color: mat.get-theme-color($theme, $palette-name, 0.2),
43
+ );
44
+ }
45
+
46
+ @function private-get-toggle-color-palette-color-tokens($theme, $palette-name) {
47
+ @return (
48
+ datetimepicker-toggle-active-state-icon-color: mat.get-theme-color($theme, $palette-name, text),
49
+ );
50
+ }
51
+
52
+ // Tokens that can't be configured through Angular Material's current theming API,
53
+ // but may be in a future version of the theming API.
54
+ @function get-unthemable-tokens() {
55
+ @return (
56
+ datetimepicker-container-elevation-shadow: elevation.get-box-shadow(4),
57
+ datetimepicker-container-touch-elevation-shadow: elevation.get-box-shadow(24),
58
+ datetimepicker-container-shape: 4px,
59
+ datetimepicker-container-touch-shape: 4px,
60
+ datetimepicker-selector-container-shape: 4px,
61
+ );
62
+ }
63
+
64
+ // Tokens that can be configured through Angular Material's color theming API.
65
+ @function get-color-tokens($theme) {
66
+ $inactive-icon-color: mat.get-theme-color($theme, foreground, icon);
67
+ $text-color: mat.get-theme-color($theme, foreground, text);
68
+ $secondary-text-color: mat.get-theme-color($theme, foreground, secondary-text);
69
+ $disabled-text-color: mat.get-theme-color($theme, foreground, disabled-text);
70
+ $divider-color: mat.get-theme-color($theme, foreground, divider);
71
+ $hint-text-color: mat.get-theme-color($theme, foreground, hint-text);
72
+ $preview-outline-color: $divider-color;
73
+ $today-disabled-outline-color: null;
74
+
75
+ $primary-color: mat.get-theme-color($theme, primary);
76
+ $calendar-tokens: private-get-calendar-color-palette-color-tokens($theme, primary);
77
+ $toggle-tokens: private-get-toggle-color-palette-color-tokens($theme, primary);
78
+
79
+ @return mat.private-merge-all($calendar-tokens, $toggle-tokens, (
80
+ datetimepicker-toggle-icon-color: $inactive-icon-color,
81
+ datetimepicker-calendar-body-label-text-color: $secondary-text-color,
82
+ datetimepicker-calendar-body-week-number-text-color: $secondary-text-color,
83
+ // datetimepicker-calendar-period-button-icon-color: $inactive-icon-color,
84
+ // datetimepicker-calendar-navigation-button-icon-color: $inactive-icon-color,
85
+ datetimepicker-calendar-header-text-color: white,
86
+ datetimepicker-calendar-header-divider-color: transparent,
87
+ datetimepicker-calendar-table-header-text-color: $secondary-text-color,
88
+
89
+ // Note: though it's not text, the border is a hint about the fact
90
+ // that this is today's date, so we use the hint color.
91
+ datetimepicker-calendar-date-today-outline-color: $hint-text-color,
92
+ // datetimepicker-calendar-date-today-disabled-state-outline-color: $today-disabled-outline-color,
93
+ datetimepicker-calendar-date-text-color: $text-color,
94
+ datetimepicker-calendar-date-outline-color: transparent,
95
+ datetimepicker-calendar-date-disabled-state-text-color: $disabled-text-color,
96
+ // datetimepicker-calendar-date-preview-state-outline-color: $preview-outline-color,
97
+
98
+ datetimepicker-container-background-color: mat.get-theme-color($theme, background, card),
99
+ datetimepicker-container-text-color: $text-color,
100
+
101
+ datetimepicker-clock-dial-background-color: $divider-color,
102
+ datetimepicker-clock-cell-text-color: $text-color,
103
+ datetimepicker-clock-cell-hover-state-background-color: mat.get-theme-color($theme, background, hover),
104
+ datetimepicker-clock-cell-disabled-state-text-color: $disabled-text-color,
105
+
106
+ datetimepicker-time-input-text-color: $text-color,
107
+ datetimepicker-time-input-background-color: $divider-color,
108
+ datetimepicker-time-input-focus-state-background-color: mat.get-theme-color($theme, background, background),
109
+ datetimepicker-time-input-warn-state-outline-color: mat.get-theme-color($theme, warn),
110
+ datetimepicker-time-ampm-text-color: mat.get-theme-color($theme, foreground, text, .75),
111
+ datetimepicker-time-ampm-outline-color: $hint-text-color,
112
+ datetimepicker-time-ampm-selected-state-text-color: $text-color,
113
+ ));
114
+ }
115
+
116
+ // Tokens that can be configured through Angular Material's typography theming API.
117
+ @function get-typography-tokens($theme) {
118
+ @return (
119
+ datetimepicker-calendar-text-font: mat.get-theme-typography($theme, body-1, font-family),
120
+ datetimepicker-calendar-text-size: 13px,
121
+
122
+ datetimepicker-calendar-body-label-text-size: mat.get-theme-typography($theme, button, font-size),
123
+ datetimepicker-calendar-body-label-text-weight: mat.get-theme-typography($theme, button, font-weight),
124
+
125
+ datetimepicker-calendar-period-button-text-size: mat.get-theme-typography($theme, button, font-size),
126
+ datetimepicker-calendar-period-button-text-weight: mat.get-theme-typography($theme, button, font-weight),
127
+
128
+ datetimepicker-calendar-table-header-text-size: 11px,
129
+ datetimepicker-calendar-table-header-text-weight: mat.get-theme-typography($theme, body-1, font-weight),
130
+
131
+ datetimepicker-clock-text-size: 14px,
132
+ );
133
+ }
134
+
135
+ // Tokens that can be configured through Angular Material's density theming API.
136
+ @function get-density-tokens($theme) {
137
+ @return ();
138
+ }
139
+
140
+ // Combines the tokens generated by the above functions into a single map with placeholder values.
141
+ // This is used to create token slots.
142
+ @function get-token-slots() {
143
+ @return mat.private-deep-merge-all(
144
+ get-unthemable-tokens(),
145
+ get-color-tokens(m2-utils.$placeholder-color-config),
146
+ get-typography-tokens(m2-utils.$placeholder-typography-config),
147
+ get-density-tokens(m2-utils.$placeholder-density-config)
148
+ );
149
+ }
@@ -0,0 +1,81 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+ @use '../core/style/elevation';
4
+ @use '../core/tokens/m3-utils';
5
+ @use '../core/tokens/m3';
6
+
7
+ /// Generates custom tokens for the mtx-datetimepicker.
8
+ @function get-tokens($theme: m3.$sys-theme, $color-variant: null) {
9
+ $system: m3-utils.get-system($theme);
10
+
11
+ @if $color-variant {
12
+ $system: m3-utils.replace-colors-with-variant($system, primary, $color-variant);
13
+ }
14
+
15
+ $tokens: (
16
+ base: (datetimepicker-container-elevation-shadow: elevation.get-box-shadow(0),
17
+ datetimepicker-container-touch-elevation-shadow: elevation.get-box-shadow(0),
18
+ datetimepicker-container-shape: map.get($system, corner-large),
19
+ datetimepicker-container-touch-shape: map.get($system, corner-extra-large),
20
+ datetimepicker-selector-container-shape: map.get($system, corner-small),
21
+ ),
22
+ color: (datetimepicker-calendar-header-background-color: transparent,
23
+ datetimepicker-calendar-date-selected-state-text-color: map.get($system, on-primary),
24
+ datetimepicker-calendar-date-selected-state-background-color: map.get($system, primary),
25
+ datetimepicker-calendar-date-selected-disabled-state-background-color:
26
+ m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
27
+ datetimepicker-calendar-date-today-selected-state-outline-color: map.get($system, primary),
28
+ datetimepicker-calendar-date-focus-state-background-color:
29
+ m3-utils.color-with-opacity(map.get($system, on-surface), map.get($system, focus-state-layer-opacity)),
30
+ datetimepicker-calendar-date-hover-state-background-color:
31
+ m3-utils.color-with-opacity(map.get($system, on-surface), map.get($system, hover-state-layer-opacity)),
32
+ datetimepicker-toggle-active-state-icon-color: map.get($system, on-surface-variant),
33
+ datetimepicker-toggle-icon-color: map.get($system, on-surface-variant),
34
+ datetimepicker-calendar-body-label-text-color: map.get($system, on-surface),
35
+ datetimepicker-calendar-body-week-number-text-color: map.get($system, secondary),
36
+ datetimepicker-calendar-header-text-color: map.get($system, on-surface-variant),
37
+ datetimepicker-calendar-header-divider-color: map.get($system, outline-variant),
38
+ datetimepicker-calendar-table-header-text-color: map.get($system, on-surface),
39
+ datetimepicker-calendar-date-today-outline-color: map.get($system, primary),
40
+ datetimepicker-calendar-date-text-color: map.get($system, on-surface),
41
+ datetimepicker-calendar-date-outline-color: transparent,
42
+ datetimepicker-calendar-date-disabled-state-text-color:
43
+ m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
44
+ datetimepicker-container-background-color: map.get($system, surface-container-high),
45
+ datetimepicker-container-text-color: map.get($system, on-surface),
46
+ datetimepicker-clock-dial-background-color: map.get($system, surface-container-highest),
47
+ datetimepicker-clock-cell-text-color: map.get($system, on-surface),
48
+ datetimepicker-clock-cell-hover-state-background-color:
49
+ m3-utils.color-with-opacity(map.get($system, on-surface), map.get($system, hover-state-layer-opacity)),
50
+ datetimepicker-clock-cell-disabled-state-text-color:
51
+ m3-utils.color-with-opacity(map.get($system, on-surface), 38%),
52
+ datetimepicker-clock-cell-selected-state-background-color: map.get($system, primary),
53
+ datetimepicker-clock-hand-background-color: map.get($system, primary),
54
+ datetimepicker-time-input-active-state-text-color: map.get($system, on-primary-container),
55
+ datetimepicker-time-input-active-state-background-color: map.get($system, primary-container),
56
+ datetimepicker-time-input-focus-state-outline-color: map.get($system, primary),
57
+ datetimepicker-time-input-focus-state-placeholder-text-color: map.get($system, on-primary-container),
58
+ datetimepicker-time-input-text-color: map.get($system, on-surface),
59
+ datetimepicker-time-input-background-color: map.get($system, surface-container-highest),
60
+ datetimepicker-time-input-focus-state-background-color: map.get($system, primary-container),
61
+ datetimepicker-time-input-warn-state-outline-color: map.get($system, error),
62
+ datetimepicker-time-ampm-text-color: map.get($system, on-surface),
63
+ datetimepicker-time-ampm-outline-color: map.get($system, outline),
64
+ datetimepicker-time-ampm-selected-state-text-color: map.get($system, on-tertiary-container),
65
+ datetimepicker-time-ampm-selected-state-background-color: map.get($system, tertiary-container),
66
+ ),
67
+ typography: (datetimepicker-calendar-text-font: map.get($system, body-medium-font),
68
+ datetimepicker-calendar-text-size: map.get($system, body-medium-size),
69
+ datetimepicker-calendar-body-label-text-size: map.get($system, title-small-size),
70
+ datetimepicker-calendar-body-label-text-weight: map.get($system, title-small-weight),
71
+ datetimepicker-calendar-period-button-text-size: map.get($system, title-small-size),
72
+ datetimepicker-calendar-period-button-text-weight: map.get($system, title-small-weight),
73
+ datetimepicker-calendar-table-header-text-size: null,
74
+ datetimepicker-calendar-table-header-text-weight: null,
75
+ datetimepicker-clock-text-size: map.get($system, title-small-size),
76
+ ),
77
+ density: (),
78
+ );
79
+
80
+ @return $tokens;
81
+ }