@angular/material 16.2.2 → 17.0.0-next.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 (810) hide show
  1. package/_index.scss +21 -65
  2. package/autocomplete/index.d.ts +40 -71
  3. package/autocomplete/testing/index.d.ts +5 -23
  4. package/button/_button-base.scss +3 -3
  5. package/button/_button-theme-private.scss +3 -2
  6. package/button/_button-theme.scss +18 -25
  7. package/button/_fab-theme.scss +42 -48
  8. package/button/_icon-button-theme.scss +19 -26
  9. package/button/index.d.ts +22 -31
  10. package/card/_card-theme.scss +82 -51
  11. package/checkbox/_checkbox-theme.scss +72 -54
  12. package/checkbox/index.d.ts +22 -42
  13. package/checkbox/testing/index.d.ts +6 -12
  14. package/core/_core-theme.scss +24 -39
  15. package/core/index.d.ts +17 -28
  16. package/core/mdc-helpers/_mdc-helpers.scss +19 -22
  17. package/core/option/_optgroup-theme.scss +13 -23
  18. package/core/option/_option-theme.scss +23 -37
  19. package/core/ripple/_ripple-theme.scss +6 -10
  20. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +17 -24
  21. package/core/style/_private.scss +3 -3
  22. package/core/style/_sass-utils.scss +7 -0
  23. package/core/style/_validation.scss +43 -0
  24. package/core/theming/_inspection.scss +256 -0
  25. package/core/theming/_m2-inspection.scss +211 -0
  26. package/core/theming/_theming.scss +169 -16
  27. package/core/tokens/m2/mat/_card.scss +15 -21
  28. package/core/tokens/m2/mat/_form-field.scss +48 -19
  29. package/core/tokens/m2/mat/_optgroup.scss +12 -17
  30. package/core/tokens/m2/mat/_option.scss +16 -28
  31. package/core/tokens/m2/mat/_paginator.scss +16 -18
  32. package/core/tokens/m2/mat/_radio.scss +7 -10
  33. package/core/tokens/m2/mat/_slide-toggle.scss +9 -17
  34. package/core/tokens/m2/mat/_slider.scss +43 -0
  35. package/core/tokens/m2/mdc/_checkbox.scss +21 -20
  36. package/core/tokens/m2/mdc/_elevated-card.scss +6 -9
  37. package/core/tokens/m2/mdc/_extended-fab.scss +8 -17
  38. package/core/tokens/m2/mdc/_fab.scss +6 -7
  39. package/core/tokens/m2/mdc/_filled-text-field.scss +17 -23
  40. package/core/tokens/m2/mdc/_icon-button.scss +1 -1
  41. package/core/tokens/m2/mdc/_linear-progress.scss +9 -10
  42. package/core/tokens/m2/mdc/_list.scss +44 -42
  43. package/core/tokens/m2/mdc/_outlined-card.scss +7 -10
  44. package/core/tokens/m2/mdc/_outlined-text-field.scss +15 -21
  45. package/core/tokens/m2/mdc/_radio.scss +11 -11
  46. package/core/tokens/m2/mdc/_slider.scss +147 -0
  47. package/core/tokens/m2/mdc/_switch.scss +16 -19
  48. package/core/typography/_definition.scss +258 -0
  49. package/core/typography/_property-getters.scss +63 -0
  50. package/core/typography/_typography-utils.scss +9 -69
  51. package/core/typography/_typography.scss +10 -343
  52. package/core/typography/_versioning.scss +86 -0
  53. package/dialog/_dialog-theme.scss +10 -0
  54. package/dialog/index.d.ts +44 -86
  55. package/dialog/testing/index.d.ts +6 -18
  56. package/esm2022/autocomplete/autocomplete-origin.mjs +9 -17
  57. package/esm2022/autocomplete/autocomplete-trigger.mjs +32 -41
  58. package/esm2022/autocomplete/autocomplete.mjs +58 -71
  59. package/esm2022/autocomplete/testing/autocomplete-harness.mjs +20 -33
  60. package/esm2022/button/button-base.mjs +32 -27
  61. package/esm2022/button/button.mjs +6 -6
  62. package/esm2022/button/fab.mjs +25 -33
  63. package/esm2022/button/icon-button.mjs +6 -6
  64. package/esm2022/button/testing/button-harness.mjs +3 -3
  65. package/esm2022/card/card.mjs +2 -2
  66. package/esm2022/checkbox/checkbox.mjs +72 -79
  67. package/esm2022/checkbox/testing/checkbox-harness.mjs +41 -36
  68. package/esm2022/core/datetime/native-date-adapter.mjs +14 -11
  69. package/esm2022/core/option/optgroup.mjs +19 -26
  70. package/esm2022/core/option/option.mjs +25 -35
  71. package/esm2022/core/version.mjs +1 -1
  72. package/esm2022/datepicker/calendar.mjs +1 -1
  73. package/esm2022/datepicker/datepicker-base.mjs +2 -2
  74. package/esm2022/datepicker/datepicker-toggle.mjs +1 -1
  75. package/esm2022/dialog/dialog-container.mjs +52 -77
  76. package/esm2022/dialog/dialog-ref.mjs +1 -1
  77. package/esm2022/dialog/dialog.mjs +16 -46
  78. package/esm2022/dialog/public-api.mjs +2 -2
  79. package/esm2022/dialog/testing/dialog-harness.mjs +13 -16
  80. package/esm2022/dialog/testing/dialog-opener.mjs +17 -27
  81. package/esm2022/dialog/testing/index.mjs +2 -2
  82. package/esm2022/form-field/form-field.mjs +3 -3
  83. package/esm2022/form-field/testing/error-harness.mjs +10 -12
  84. package/esm2022/form-field/testing/form-field-harness.mjs +45 -48
  85. package/esm2022/list/action-list.mjs +2 -2
  86. package/esm2022/list/list.mjs +2 -2
  87. package/esm2022/list/nav-list.mjs +2 -2
  88. package/esm2022/list/selection-list.mjs +2 -2
  89. package/esm2022/menu/menu-content.mjs +9 -16
  90. package/esm2022/menu/menu-trigger.mjs +14 -25
  91. package/esm2022/menu/menu.mjs +15 -29
  92. package/esm2022/menu/public-api.mjs +3 -3
  93. package/esm2022/menu/testing/menu-harness.mjs +29 -43
  94. package/esm2022/paginator/paginator.mjs +24 -38
  95. package/esm2022/paginator/testing/paginator-harness.mjs +25 -27
  96. package/esm2022/progress-bar/progress-bar.mjs +2 -2
  97. package/esm2022/progress-spinner/progress-spinner.mjs +2 -2
  98. package/esm2022/radio/radio.mjs +58 -83
  99. package/esm2022/radio/testing/radio-harness.mjs +31 -38
  100. package/esm2022/select/select.mjs +194 -212
  101. package/esm2022/select/testing/select-harness.mjs +18 -23
  102. package/esm2022/slide-toggle/slide-toggle.mjs +43 -53
  103. package/esm2022/slide-toggle/testing/slide-toggle-harness.mjs +33 -40
  104. package/esm2022/slider/slider.mjs +2 -2
  105. package/esm2022/snack-bar/simple-snack-bar.mjs +1 -1
  106. package/esm2022/snack-bar/snack-bar-container.mjs +17 -32
  107. package/esm2022/snack-bar/snack-bar-ref.mjs +1 -1
  108. package/esm2022/snack-bar/snack-bar.mjs +11 -25
  109. package/esm2022/snack-bar/testing/snack-bar-harness.mjs +18 -31
  110. package/esm2022/table/table-data-source.mjs +15 -18
  111. package/esm2022/table/testing/cell-harness.mjs +4 -4
  112. package/esm2022/table/testing/row-harness.mjs +4 -4
  113. package/esm2022/table/testing/table-harness.mjs +22 -24
  114. package/esm2022/tabs/public-api.mjs +7 -8
  115. package/esm2022/tabs/tab-body.mjs +13 -29
  116. package/esm2022/tabs/tab-group.mjs +55 -79
  117. package/esm2022/tabs/tab-header.mjs +13 -34
  118. package/esm2022/tabs/tab-label-wrapper.mjs +6 -18
  119. package/esm2022/tabs/tab-nav-bar/tab-nav-bar.mjs +119 -168
  120. package/esm2022/tabs/tab.mjs +25 -37
  121. package/esm2022/tooltip/testing/tooltip-harness.mjs +21 -23
  122. package/esm2022/tooltip/tooltip.mjs +68 -101
  123. package/fesm2022/autocomplete/testing.mjs +20 -33
  124. package/fesm2022/autocomplete/testing.mjs.map +1 -1
  125. package/fesm2022/autocomplete.mjs +96 -126
  126. package/fesm2022/autocomplete.mjs.map +1 -1
  127. package/fesm2022/button/testing.mjs +2 -2
  128. package/fesm2022/button/testing.mjs.map +1 -1
  129. package/fesm2022/button.mjs +61 -63
  130. package/fesm2022/button.mjs.map +1 -1
  131. package/fesm2022/card.mjs +2 -2
  132. package/fesm2022/card.mjs.map +1 -1
  133. package/fesm2022/checkbox/testing.mjs +41 -36
  134. package/fesm2022/checkbox/testing.mjs.map +1 -1
  135. package/fesm2022/checkbox.mjs +72 -79
  136. package/fesm2022/checkbox.mjs.map +1 -1
  137. package/fesm2022/core.mjs +49 -61
  138. package/fesm2022/core.mjs.map +1 -1
  139. package/fesm2022/datepicker.mjs +3 -3
  140. package/fesm2022/datepicker.mjs.map +1 -1
  141. package/fesm2022/dialog/testing.mjs +30 -43
  142. package/fesm2022/dialog/testing.mjs.map +1 -1
  143. package/fesm2022/dialog.mjs +67 -122
  144. package/fesm2022/dialog.mjs.map +1 -1
  145. package/fesm2022/form-field/testing.mjs +54 -59
  146. package/fesm2022/form-field/testing.mjs.map +1 -1
  147. package/fesm2022/form-field.mjs +2 -2
  148. package/fesm2022/form-field.mjs.map +1 -1
  149. package/fesm2022/list.mjs +8 -8
  150. package/fesm2022/list.mjs.map +1 -1
  151. package/fesm2022/menu/testing.mjs +30 -44
  152. package/fesm2022/menu/testing.mjs.map +1 -1
  153. package/fesm2022/menu.mjs +34 -66
  154. package/fesm2022/menu.mjs.map +1 -1
  155. package/fesm2022/paginator/testing.mjs +25 -27
  156. package/fesm2022/paginator/testing.mjs.map +1 -1
  157. package/fesm2022/paginator.mjs +24 -38
  158. package/fesm2022/paginator.mjs.map +1 -1
  159. package/fesm2022/progress-bar.mjs +2 -2
  160. package/fesm2022/progress-bar.mjs.map +1 -1
  161. package/fesm2022/progress-spinner.mjs +2 -2
  162. package/fesm2022/progress-spinner.mjs.map +1 -1
  163. package/fesm2022/radio/testing.mjs +31 -38
  164. package/fesm2022/radio/testing.mjs.map +1 -1
  165. package/fesm2022/radio.mjs +59 -84
  166. package/fesm2022/radio.mjs.map +1 -1
  167. package/fesm2022/select/testing.mjs +18 -23
  168. package/fesm2022/select/testing.mjs.map +1 -1
  169. package/fesm2022/select.mjs +196 -214
  170. package/fesm2022/select.mjs.map +1 -1
  171. package/fesm2022/slide-toggle/testing.mjs +33 -40
  172. package/fesm2022/slide-toggle/testing.mjs.map +1 -1
  173. package/fesm2022/slide-toggle.mjs +43 -53
  174. package/fesm2022/slide-toggle.mjs.map +1 -1
  175. package/fesm2022/slider.mjs +2 -2
  176. package/fesm2022/slider.mjs.map +1 -1
  177. package/fesm2022/snack-bar/testing.mjs +19 -32
  178. package/fesm2022/snack-bar/testing.mjs.map +1 -1
  179. package/fesm2022/snack-bar.mjs +27 -56
  180. package/fesm2022/snack-bar.mjs.map +1 -1
  181. package/fesm2022/table/testing.mjs +28 -30
  182. package/fesm2022/table/testing.mjs.map +1 -1
  183. package/fesm2022/table.mjs +15 -18
  184. package/fesm2022/table.mjs.map +1 -1
  185. package/fesm2022/tabs.mjs +234 -368
  186. package/fesm2022/tabs.mjs.map +1 -1
  187. package/fesm2022/tooltip/testing.mjs +21 -23
  188. package/fesm2022/tooltip/testing.mjs.map +1 -1
  189. package/fesm2022/tooltip.mjs +69 -102
  190. package/fesm2022/tooltip.mjs.map +1 -1
  191. package/form-field/_form-field-density.scss +3 -4
  192. package/form-field/_form-field-focus-overlay.scss +13 -18
  193. package/form-field/_form-field-native-select.scss +30 -67
  194. package/form-field/_form-field-subscript.scss +4 -8
  195. package/form-field/_form-field-theme.scss +33 -76
  196. package/form-field/_mdc-text-field-structure-overrides.scss +20 -0
  197. package/form-field/testing/index.d.ts +14 -44
  198. package/input/_input-theme.scss +11 -23
  199. package/list/_list-theme.scss +34 -40
  200. package/menu/index.d.ts +22 -44
  201. package/menu/testing/index.d.ts +6 -23
  202. package/package.json +7 -286
  203. package/paginator/_paginator-theme.scss +15 -24
  204. package/paginator/index.d.ts +6 -22
  205. package/paginator/testing/index.d.ts +9 -22
  206. package/prebuilt-themes/deeppurple-amber.css +1 -1
  207. package/prebuilt-themes/indigo-pink.css +1 -1
  208. package/prebuilt-themes/pink-bluegrey.css +1 -1
  209. package/prebuilt-themes/purple-green.css +1 -1
  210. package/progress-bar/_progress-bar-theme.scss +25 -23
  211. package/progress-spinner/_progress-spinner-theme.scss +14 -3
  212. package/radio/_radio-theme.scss +23 -38
  213. package/radio/index.d.ts +22 -45
  214. package/radio/testing/index.d.ts +7 -23
  215. package/schematics/migration.json +4 -4
  216. package/schematics/ng-add/index.js +2 -2
  217. package/schematics/ng-add/index.mjs +2 -2
  218. package/schematics/ng-update/index_bundled.js +4 -4
  219. package/schematics/ng-update/index_bundled.js.map +1 -1
  220. package/select/index.d.ts +47 -68
  221. package/select/testing/index.d.ts +9 -22
  222. package/slide-toggle/_slide-toggle-theme.scss +23 -40
  223. package/slide-toggle/index.d.ts +17 -27
  224. package/slide-toggle/testing/index.d.ts +6 -13
  225. package/slider/_slider-theme.scss +65 -82
  226. package/snack-bar/_snack-bar-theme.scss +10 -2
  227. package/snack-bar/index.d.ts +40 -62
  228. package/snack-bar/testing/index.d.ts +5 -20
  229. package/table/index.d.ts +2 -31
  230. package/table/testing/index.d.ts +17 -34
  231. package/tabs/index.d.ts +60 -144
  232. package/tooltip/_tooltip-theme.scss +12 -3
  233. package/tooltip/index.d.ts +26 -49
  234. package/tooltip/testing/index.d.ts +7 -17
  235. package/_theming.scss +0 -43
  236. package/_token-theming.scss +0 -2
  237. package/autocomplete/_autocomplete-theme.import.scss +0 -1
  238. package/badge/_badge-legacy-index.scss +0 -3
  239. package/badge/_badge-theme.import.scss +0 -11
  240. package/bottom-sheet/_bottom-sheet-legacy-index.scss +0 -2
  241. package/bottom-sheet/_bottom-sheet-theme.import.scss +0 -10
  242. package/button/_button-base.import.scss +0 -4
  243. package/button/_button-theme.import.scss +0 -13
  244. package/button-toggle/_button-toggle-legacy-index.scss +0 -2
  245. package/button-toggle/_button-toggle-theme.import.scss +0 -15
  246. package/button-toggle/_button-toggle-variables.import.scss +0 -1
  247. package/button-toggle/_button-toggle-variables.scss +0 -16
  248. package/card/_card-theme.import.scss +0 -3
  249. package/checkbox/_checkbox-theme.import.scss +0 -10
  250. package/chips/_chips-theme.import.scss +0 -4
  251. package/core/_core-legacy-index.scss +0 -16
  252. package/core/_core.import.scss +0 -60
  253. package/core/color/_all-color.import.scss +0 -53
  254. package/core/color/_color-legacy-index.scss +0 -1
  255. package/core/density/private/_all-density.import.scss +0 -15
  256. package/core/density/private/_compatibility.import.scss +0 -4
  257. package/core/density/private/_density-legacy-index.scss +0 -5
  258. package/core/focus-indicators/_focus-indicators-legacy-index.scss +0 -5
  259. package/core/focus-indicators/_focus-indicators.import.scss +0 -23
  260. package/core/mdc-helpers/_mdc-helpers.import.scss +0 -9
  261. package/core/option/_optgroup-theme.import.scss +0 -4
  262. package/core/option/_option-legacy-index.scss +0 -5
  263. package/core/option/_option-theme.import.scss +0 -4
  264. package/core/ripple/_ripple-legacy-index.scss +0 -3
  265. package/core/ripple/_ripple.import.scss +0 -20
  266. package/core/selection/pseudo-checkbox/_pseudo-checkbox-legacy-index.scss +0 -2
  267. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.import.scss +0 -17
  268. package/core/style/_button-common.import.scss +0 -4
  269. package/core/style/_checkbox-common.import.scss +0 -11
  270. package/core/style/_elevation.import.scss +0 -17
  271. package/core/style/_form-common.import.scss +0 -16
  272. package/core/style/_layout-common.import.scss +0 -1
  273. package/core/style/_list-common.import.scss +0 -2
  274. package/core/style/_menu-common.import.scss +0 -18
  275. package/core/style/_private.import.scss +0 -15
  276. package/core/style/_style-legacy-index.scss +0 -24
  277. package/core/style/_variables.import.scss +0 -8
  278. package/core/style/_vendor-prefixes.import.scss +0 -1
  279. package/core/theming/_all-theme.import.scss +0 -86
  280. package/core/theming/_palette.import.scss +0 -12
  281. package/core/theming/_theming-legacy-index.scss +0 -22
  282. package/core/theming/_theming.import.scss +0 -24
  283. package/core/typography/_all-typography.import.scss +0 -76
  284. package/core/typography/_typography-legacy-index.scss +0 -18
  285. package/core/typography/_typography-utils.import.scss +0 -9
  286. package/core/typography/_typography.import.scss +0 -14
  287. package/datepicker/_datepicker-legacy-index.scss +0 -9
  288. package/datepicker/_datepicker-theme.import.scss +0 -17
  289. package/dialog/_dialog-legacy-padding.import.scss +0 -1
  290. package/dialog/_dialog-theme.import.scss +0 -1
  291. package/dialog/_mdc-dialog-structure-overrides.import.scss +0 -1
  292. package/divider/_divider-legacy-index.scss +0 -3
  293. package/divider/_divider-offset.import.scss +0 -1
  294. package/divider/_divider-theme.import.scss +0 -6
  295. package/esm2022/legacy-autocomplete/autocomplete-module.mjs +0 -51
  296. package/esm2022/legacy-autocomplete/autocomplete-origin.mjs +0 -28
  297. package/esm2022/legacy-autocomplete/autocomplete-trigger.mjs +0 -60
  298. package/esm2022/legacy-autocomplete/autocomplete.mjs +0 -40
  299. package/esm2022/legacy-autocomplete/index.mjs +0 -9
  300. package/esm2022/legacy-autocomplete/legacy-autocomplete_public_index.mjs +0 -5
  301. package/esm2022/legacy-autocomplete/public-api.mjs +0 -48
  302. package/esm2022/legacy-autocomplete/testing/autocomplete-harness-filters.mjs +0 -9
  303. package/esm2022/legacy-autocomplete/testing/autocomplete-harness.mjs +0 -39
  304. package/esm2022/legacy-autocomplete/testing/index.mjs +0 -9
  305. package/esm2022/legacy-autocomplete/testing/public-api.mjs +0 -9
  306. package/esm2022/legacy-button/button-module.mjs +0 -29
  307. package/esm2022/legacy-button/button.mjs +0 -177
  308. package/esm2022/legacy-button/index.mjs +0 -9
  309. package/esm2022/legacy-button/legacy-button_public_index.mjs +0 -5
  310. package/esm2022/legacy-button/public-api.mjs +0 -10
  311. package/esm2022/legacy-button/testing/button-harness.mjs +0 -82
  312. package/esm2022/legacy-button/testing/index.mjs +0 -9
  313. package/esm2022/legacy-button/testing/public-api.mjs +0 -9
  314. package/esm2022/legacy-card/card-module.mjs +0 -87
  315. package/esm2022/legacy-card/card.mjs +0 -276
  316. package/esm2022/legacy-card/index.mjs +0 -9
  317. package/esm2022/legacy-card/legacy-card_public_index.mjs +0 -5
  318. package/esm2022/legacy-card/public-api.mjs +0 -10
  319. package/esm2022/legacy-card/testing/card-harness-filters.mjs +0 -9
  320. package/esm2022/legacy-card/testing/card-harness.mjs +0 -47
  321. package/esm2022/legacy-card/testing/index.mjs +0 -9
  322. package/esm2022/legacy-card/testing/public-api.mjs +0 -9
  323. package/esm2022/legacy-checkbox/checkbox-module.mjs +0 -31
  324. package/esm2022/legacy-checkbox/checkbox.mjs +0 -137
  325. package/esm2022/legacy-checkbox/index.mjs +0 -9
  326. package/esm2022/legacy-checkbox/legacy-checkbox_public_index.mjs +0 -5
  327. package/esm2022/legacy-checkbox/public-api.mjs +0 -36
  328. package/esm2022/legacy-checkbox/testing/checkbox-harness.mjs +0 -46
  329. package/esm2022/legacy-checkbox/testing/index.mjs +0 -9
  330. package/esm2022/legacy-checkbox/testing/public-api.mjs +0 -9
  331. package/esm2022/legacy-chips/chip-default-options.mjs +0 -15
  332. package/esm2022/legacy-chips/chip-input.mjs +0 -198
  333. package/esm2022/legacy-chips/chip-list.mjs +0 -718
  334. package/esm2022/legacy-chips/chip-text-control.mjs +0 -9
  335. package/esm2022/legacy-chips/chip.mjs +0 -445
  336. package/esm2022/legacy-chips/chips-module.mjs +0 -68
  337. package/esm2022/legacy-chips/index.mjs +0 -9
  338. package/esm2022/legacy-chips/legacy-chips_public_index.mjs +0 -5
  339. package/esm2022/legacy-chips/public-api.mjs +0 -13
  340. package/esm2022/legacy-chips/testing/chip-avatar-harness.mjs +0 -26
  341. package/esm2022/legacy-chips/testing/chip-harness-filters.mjs +0 -2
  342. package/esm2022/legacy-chips/testing/chip-harness.mjs +0 -95
  343. package/esm2022/legacy-chips/testing/chip-input-harness.mjs +0 -86
  344. package/esm2022/legacy-chips/testing/chip-list-harness.mjs +0 -90
  345. package/esm2022/legacy-chips/testing/chip-listbox-harness.mjs +0 -48
  346. package/esm2022/legacy-chips/testing/chip-option-harness.mjs +0 -49
  347. package/esm2022/legacy-chips/testing/chip-remove-harness.mjs +0 -30
  348. package/esm2022/legacy-chips/testing/index.mjs +0 -9
  349. package/esm2022/legacy-chips/testing/public-api.mjs +0 -14
  350. package/esm2022/legacy-core/index.mjs +0 -9
  351. package/esm2022/legacy-core/legacy-core_public_index.mjs +0 -5
  352. package/esm2022/legacy-core/option/index.mjs +0 -69
  353. package/esm2022/legacy-core/option/optgroup.mjs +0 -30
  354. package/esm2022/legacy-core/option/option.mjs +0 -54
  355. package/esm2022/legacy-core/public-api.mjs +0 -170
  356. package/esm2022/legacy-core/testing/index.mjs +0 -9
  357. package/esm2022/legacy-core/testing/optgroup-harness-filters.mjs +0 -9
  358. package/esm2022/legacy-core/testing/optgroup-harness.mjs +0 -47
  359. package/esm2022/legacy-core/testing/option-harness-filters.mjs +0 -9
  360. package/esm2022/legacy-core/testing/option-harness.mjs +0 -58
  361. package/esm2022/legacy-core/testing/public-api.mjs +0 -12
  362. package/esm2022/legacy-dialog/dialog-animations.mjs +0 -17
  363. package/esm2022/legacy-dialog/dialog-config.mjs +0 -22
  364. package/esm2022/legacy-dialog/dialog-container.mjs +0 -85
  365. package/esm2022/legacy-dialog/dialog-content-directives.mjs +0 -209
  366. package/esm2022/legacy-dialog/dialog-module.mjs +0 -57
  367. package/esm2022/legacy-dialog/dialog-ref.mjs +0 -16
  368. package/esm2022/legacy-dialog/dialog.mjs +0 -106
  369. package/esm2022/legacy-dialog/index.mjs +0 -9
  370. package/esm2022/legacy-dialog/legacy-dialog_public_index.mjs +0 -5
  371. package/esm2022/legacy-dialog/public-api.mjs +0 -40
  372. package/esm2022/legacy-dialog/testing/dialog-harness.mjs +0 -36
  373. package/esm2022/legacy-dialog/testing/dialog-opener.mjs +0 -56
  374. package/esm2022/legacy-dialog/testing/index.mjs +0 -9
  375. package/esm2022/legacy-dialog/testing/public-api.mjs +0 -10
  376. package/esm2022/legacy-form-field/error.mjs +0 -46
  377. package/esm2022/legacy-form-field/form-field-module.mjs +0 -67
  378. package/esm2022/legacy-form-field/form-field.mjs +0 -530
  379. package/esm2022/legacy-form-field/hint.mjs +0 -56
  380. package/esm2022/legacy-form-field/index.mjs +0 -9
  381. package/esm2022/legacy-form-field/label.mjs +0 -25
  382. package/esm2022/legacy-form-field/legacy-form-field_public_index.mjs +0 -5
  383. package/esm2022/legacy-form-field/placeholder.mjs +0 -26
  384. package/esm2022/legacy-form-field/prefix.mjs +0 -27
  385. package/esm2022/legacy-form-field/public-api.mjs +0 -62
  386. package/esm2022/legacy-form-field/suffix.mjs +0 -27
  387. package/esm2022/legacy-form-field/testing/error-harness.mjs +0 -26
  388. package/esm2022/legacy-form-field/testing/form-field-harness.mjs +0 -73
  389. package/esm2022/legacy-form-field/testing/index.mjs +0 -9
  390. package/esm2022/legacy-form-field/testing/public-api.mjs +0 -19
  391. package/esm2022/legacy-input/index.mjs +0 -9
  392. package/esm2022/legacy-input/input-module.mjs +0 -45
  393. package/esm2022/legacy-input/input.mjs +0 -62
  394. package/esm2022/legacy-input/legacy-input_public_index.mjs +0 -5
  395. package/esm2022/legacy-input/public-api.mjs +0 -21
  396. package/esm2022/legacy-input/testing/index.mjs +0 -9
  397. package/esm2022/legacy-input/testing/public-api.mjs +0 -24
  398. package/esm2022/legacy-list/index.mjs +0 -9
  399. package/esm2022/legacy-list/legacy-list_public_index.mjs +0 -5
  400. package/esm2022/legacy-list/list-module.mjs +0 -75
  401. package/esm2022/legacy-list/list.mjs +0 -223
  402. package/esm2022/legacy-list/public-api.mjs +0 -22
  403. package/esm2022/legacy-list/selection-list.mjs +0 -619
  404. package/esm2022/legacy-list/testing/action-list-harness.mjs +0 -67
  405. package/esm2022/legacy-list/testing/index.mjs +0 -9
  406. package/esm2022/legacy-list/testing/list-harness-base.mjs +0 -97
  407. package/esm2022/legacy-list/testing/list-harness-filters.mjs +0 -9
  408. package/esm2022/legacy-list/testing/list-harness.mjs +0 -51
  409. package/esm2022/legacy-list/testing/list-item-harness-base.mjs +0 -74
  410. package/esm2022/legacy-list/testing/nav-list-harness.mjs +0 -71
  411. package/esm2022/legacy-list/testing/public-api.mjs +0 -12
  412. package/esm2022/legacy-list/testing/selection-list-harness.mjs +0 -129
  413. package/esm2022/legacy-menu/index.mjs +0 -9
  414. package/esm2022/legacy-menu/legacy-menu_public_index.mjs +0 -5
  415. package/esm2022/legacy-menu/menu-content.mjs +0 -27
  416. package/esm2022/legacy-menu/menu-item.mjs +0 -41
  417. package/esm2022/legacy-menu/menu-module.mjs +0 -50
  418. package/esm2022/legacy-menu/menu-trigger.mjs +0 -31
  419. package/esm2022/legacy-menu/menu.mjs +0 -40
  420. package/esm2022/legacy-menu/public-api.mjs +0 -49
  421. package/esm2022/legacy-menu/testing/index.mjs +0 -9
  422. package/esm2022/legacy-menu/testing/menu-harness.mjs +0 -56
  423. package/esm2022/legacy-menu/testing/public-api.mjs +0 -9
  424. package/esm2022/legacy-paginator/index.mjs +0 -9
  425. package/esm2022/legacy-paginator/legacy-paginator_public_index.mjs +0 -5
  426. package/esm2022/legacy-paginator/paginator-module.mjs +0 -49
  427. package/esm2022/legacy-paginator/paginator.mjs +0 -53
  428. package/esm2022/legacy-paginator/public-api.mjs +0 -36
  429. package/esm2022/legacy-paginator/testing/index.mjs +0 -9
  430. package/esm2022/legacy-paginator/testing/paginator-harness.mjs +0 -41
  431. package/esm2022/legacy-paginator/testing/public-api.mjs +0 -15
  432. package/esm2022/legacy-progress-bar/index.mjs +0 -9
  433. package/esm2022/legacy-progress-bar/legacy-progress-bar_public_index.mjs +0 -5
  434. package/esm2022/legacy-progress-bar/progress-bar-module.mjs +0 -30
  435. package/esm2022/legacy-progress-bar/progress-bar.mjs +0 -190
  436. package/esm2022/legacy-progress-bar/public-api.mjs +0 -11
  437. package/esm2022/legacy-progress-bar/testing/index.mjs +0 -9
  438. package/esm2022/legacy-progress-bar/testing/progress-bar-harness.mjs +0 -38
  439. package/esm2022/legacy-progress-bar/testing/public-api.mjs +0 -9
  440. package/esm2022/legacy-progress-spinner/index.mjs +0 -9
  441. package/esm2022/legacy-progress-spinner/legacy-progress-spinner_public_index.mjs +0 -5
  442. package/esm2022/legacy-progress-spinner/progress-spinner-module.mjs +0 -30
  443. package/esm2022/legacy-progress-spinner/progress-spinner.mjs +0 -286
  444. package/esm2022/legacy-progress-spinner/public-api.mjs +0 -19
  445. package/esm2022/legacy-progress-spinner/testing/index.mjs +0 -9
  446. package/esm2022/legacy-progress-spinner/testing/progress-spinner-harness.mjs +0 -39
  447. package/esm2022/legacy-progress-spinner/testing/public-api.mjs +0 -9
  448. package/esm2022/legacy-radio/index.mjs +0 -9
  449. package/esm2022/legacy-radio/legacy-radio_public_index.mjs +0 -5
  450. package/esm2022/legacy-radio/public-api.mjs +0 -31
  451. package/esm2022/legacy-radio/radio-module.mjs +0 -29
  452. package/esm2022/legacy-radio/radio.mjs +0 -112
  453. package/esm2022/legacy-radio/testing/index.mjs +0 -9
  454. package/esm2022/legacy-radio/testing/public-api.mjs +0 -9
  455. package/esm2022/legacy-radio/testing/radio-harness.mjs +0 -58
  456. package/esm2022/legacy-select/index.mjs +0 -9
  457. package/esm2022/legacy-select/legacy-select_public_index.mjs +0 -5
  458. package/esm2022/legacy-select/public-api.mjs +0 -37
  459. package/esm2022/legacy-select/select-animations.mjs +0 -56
  460. package/esm2022/legacy-select/select-errors.mjs +0 -39
  461. package/esm2022/legacy-select/select-module.mjs +0 -51
  462. package/esm2022/legacy-select/select.mjs +0 -447
  463. package/esm2022/legacy-select/testing/index.mjs +0 -9
  464. package/esm2022/legacy-select/testing/public-api.mjs +0 -9
  465. package/esm2022/legacy-select/testing/select-harness-filters.mjs +0 -9
  466. package/esm2022/legacy-select/testing/select-harness.mjs +0 -36
  467. package/esm2022/legacy-slide-toggle/index.mjs +0 -9
  468. package/esm2022/legacy-slide-toggle/legacy-slide-toggle_public_index.mjs +0 -5
  469. package/esm2022/legacy-slide-toggle/public-api.mjs +0 -32
  470. package/esm2022/legacy-slide-toggle/slide-toggle-config.mjs +0 -18
  471. package/esm2022/legacy-slide-toggle/slide-toggle-module.mjs +0 -42
  472. package/esm2022/legacy-slide-toggle/slide-toggle.mjs +0 -137
  473. package/esm2022/legacy-slide-toggle/testing/index.mjs +0 -9
  474. package/esm2022/legacy-slide-toggle/testing/public-api.mjs +0 -15
  475. package/esm2022/legacy-slide-toggle/testing/slide-toggle-harness.mjs +0 -50
  476. package/esm2022/legacy-slider/index.mjs +0 -9
  477. package/esm2022/legacy-slider/legacy-slider_public_index.mjs +0 -5
  478. package/esm2022/legacy-slider/public-api.mjs +0 -10
  479. package/esm2022/legacy-slider/slider-module.mjs +0 -30
  480. package/esm2022/legacy-slider/slider.mjs +0 -847
  481. package/esm2022/legacy-slider/testing/index.mjs +0 -9
  482. package/esm2022/legacy-slider/testing/public-api.mjs +0 -9
  483. package/esm2022/legacy-slider/testing/slider-harness-filters.mjs +0 -2
  484. package/esm2022/legacy-slider/testing/slider-harness.mjs +0 -122
  485. package/esm2022/legacy-snack-bar/index.mjs +0 -9
  486. package/esm2022/legacy-snack-bar/legacy-snack-bar_public_index.mjs +0 -5
  487. package/esm2022/legacy-snack-bar/public-api.mjs +0 -53
  488. package/esm2022/legacy-snack-bar/simple-snack-bar.mjs +0 -45
  489. package/esm2022/legacy-snack-bar/snack-bar-container.mjs +0 -39
  490. package/esm2022/legacy-snack-bar/snack-bar-module.mjs +0 -34
  491. package/esm2022/legacy-snack-bar/snack-bar.mjs +0 -47
  492. package/esm2022/legacy-snack-bar/testing/index.mjs +0 -9
  493. package/esm2022/legacy-snack-bar/testing/public-api.mjs +0 -9
  494. package/esm2022/legacy-snack-bar/testing/snack-bar-harness.mjs +0 -46
  495. package/esm2022/legacy-table/cell.mjs +0 -163
  496. package/esm2022/legacy-table/index.mjs +0 -9
  497. package/esm2022/legacy-table/legacy-table_public_index.mjs +0 -5
  498. package/esm2022/legacy-table/public-api.mjs +0 -20
  499. package/esm2022/legacy-table/row.mjs +0 -165
  500. package/esm2022/legacy-table/table-data-source.mjs +0 -27
  501. package/esm2022/legacy-table/table-module.mjs +0 -98
  502. package/esm2022/legacy-table/table.mjs +0 -72
  503. package/esm2022/legacy-table/testing/cell-harness.mjs +0 -62
  504. package/esm2022/legacy-table/testing/index.mjs +0 -9
  505. package/esm2022/legacy-table/testing/public-api.mjs +0 -27
  506. package/esm2022/legacy-table/testing/row-harness.mjs +0 -76
  507. package/esm2022/legacy-table/testing/table-harness.mjs +0 -34
  508. package/esm2022/legacy-table/text-column.mjs +0 -65
  509. package/esm2022/legacy-tabs/index.mjs +0 -9
  510. package/esm2022/legacy-tabs/ink-bar.mjs +0 -73
  511. package/esm2022/legacy-tabs/legacy-tabs_public_index.mjs +0 -5
  512. package/esm2022/legacy-tabs/public-api.mjs +0 -94
  513. package/esm2022/legacy-tabs/tab-body.mjs +0 -64
  514. package/esm2022/legacy-tabs/tab-content.mjs +0 -27
  515. package/esm2022/legacy-tabs/tab-group.mjs +0 -72
  516. package/esm2022/legacy-tabs/tab-header.mjs +0 -75
  517. package/esm2022/legacy-tabs/tab-label-wrapper.mjs +0 -30
  518. package/esm2022/legacy-tabs/tab-label.mjs +0 -27
  519. package/esm2022/legacy-tabs/tab-nav-bar/index.mjs +0 -9
  520. package/esm2022/legacy-tabs/tab-nav-bar/tab-nav-bar.mjs +0 -164
  521. package/esm2022/legacy-tabs/tab.mjs +0 -46
  522. package/esm2022/legacy-tabs/tabs-module.mjs +0 -99
  523. package/esm2022/legacy-tabs/testing/index.mjs +0 -9
  524. package/esm2022/legacy-tabs/testing/public-api.mjs +0 -12
  525. package/esm2022/legacy-tabs/testing/tab-group-harness.mjs +0 -61
  526. package/esm2022/legacy-tabs/testing/tab-harness-filters.mjs +0 -2
  527. package/esm2022/legacy-tabs/testing/tab-harness.mjs +0 -71
  528. package/esm2022/legacy-tabs/testing/tab-link-harness.mjs +0 -45
  529. package/esm2022/legacy-tabs/testing/tab-nav-bar-harness.mjs +0 -70
  530. package/esm2022/legacy-tabs/testing/tab-nav-panel-harness.mjs +0 -31
  531. package/esm2022/legacy-tooltip/index.mjs +0 -9
  532. package/esm2022/legacy-tooltip/legacy-tooltip_public_index.mjs +0 -5
  533. package/esm2022/legacy-tooltip/public-api.mjs +0 -47
  534. package/esm2022/legacy-tooltip/testing/index.mjs +0 -9
  535. package/esm2022/legacy-tooltip/testing/public-api.mjs +0 -9
  536. package/esm2022/legacy-tooltip/testing/tooltip-harness.mjs +0 -35
  537. package/esm2022/legacy-tooltip/tooltip-animations.mjs +0 -28
  538. package/esm2022/legacy-tooltip/tooltip-module.mjs +0 -35
  539. package/esm2022/legacy-tooltip/tooltip.mjs +0 -108
  540. package/expansion/_expansion-legacy-index.scss +0 -2
  541. package/expansion/_expansion-theme.import.scss +0 -12
  542. package/expansion/_expansion-variables.import.scss +0 -1
  543. package/fesm2022/legacy-autocomplete/testing.mjs +0 -35
  544. package/fesm2022/legacy-autocomplete/testing.mjs.map +0 -1
  545. package/fesm2022/legacy-autocomplete.mjs +0 -146
  546. package/fesm2022/legacy-autocomplete.mjs.map +0 -1
  547. package/fesm2022/legacy-button/testing.mjs +0 -78
  548. package/fesm2022/legacy-button/testing.mjs.map +0 -1
  549. package/fesm2022/legacy-button.mjs +0 -194
  550. package/fesm2022/legacy-button.mjs.map +0 -1
  551. package/fesm2022/legacy-card/testing.mjs +0 -43
  552. package/fesm2022/legacy-card/testing.mjs.map +0 -1
  553. package/fesm2022/legacy-card.mjs +0 -353
  554. package/fesm2022/legacy-card.mjs.map +0 -1
  555. package/fesm2022/legacy-checkbox/testing.mjs +0 -42
  556. package/fesm2022/legacy-checkbox/testing.mjs.map +0 -1
  557. package/fesm2022/legacy-checkbox.mjs +0 -157
  558. package/fesm2022/legacy-checkbox.mjs.map +0 -1
  559. package/fesm2022/legacy-chips/testing.mjs +0 -365
  560. package/fesm2022/legacy-chips/testing.mjs.map +0 -1
  561. package/fesm2022/legacy-chips.mjs +0 -1399
  562. package/fesm2022/legacy-chips.mjs.map +0 -1
  563. package/fesm2022/legacy-core/testing.mjs +0 -92
  564. package/fesm2022/legacy-core/testing.mjs.map +0 -1
  565. package/fesm2022/legacy-core.mjs +0 -92
  566. package/fesm2022/legacy-core.mjs.map +0 -1
  567. package/fesm2022/legacy-dialog/testing.mjs +0 -80
  568. package/fesm2022/legacy-dialog/testing.mjs.map +0 -1
  569. package/fesm2022/legacy-dialog.mjs +0 -449
  570. package/fesm2022/legacy-dialog.mjs.map +0 -1
  571. package/fesm2022/legacy-form-field/testing.mjs +0 -87
  572. package/fesm2022/legacy-form-field/testing.mjs.map +0 -1
  573. package/fesm2022/legacy-form-field.mjs +0 -726
  574. package/fesm2022/legacy-form-field.mjs.map +0 -1
  575. package/fesm2022/legacy-input/testing.mjs +0 -2
  576. package/fesm2022/legacy-input/testing.mjs.map +0 -1
  577. package/fesm2022/legacy-input.mjs +0 -97
  578. package/fesm2022/legacy-input.mjs.map +0 -1
  579. package/fesm2022/legacy-list/testing.mjs +0 -436
  580. package/fesm2022/legacy-list/testing.mjs.map +0 -1
  581. package/fesm2022/legacy-list.mjs +0 -891
  582. package/fesm2022/legacy-list.mjs.map +0 -1
  583. package/fesm2022/legacy-menu/testing.mjs +0 -52
  584. package/fesm2022/legacy-menu/testing.mjs.map +0 -1
  585. package/fesm2022/legacy-menu.mjs +0 -145
  586. package/fesm2022/legacy-menu.mjs.map +0 -1
  587. package/fesm2022/legacy-paginator/testing.mjs +0 -38
  588. package/fesm2022/legacy-paginator/testing.mjs.map +0 -1
  589. package/fesm2022/legacy-paginator.mjs +0 -92
  590. package/fesm2022/legacy-paginator.mjs.map +0 -1
  591. package/fesm2022/legacy-progress-bar/testing.mjs +0 -34
  592. package/fesm2022/legacy-progress-bar/testing.mjs.map +0 -1
  593. package/fesm2022/legacy-progress-bar.mjs +0 -210
  594. package/fesm2022/legacy-progress-bar.mjs.map +0 -1
  595. package/fesm2022/legacy-progress-spinner/testing.mjs +0 -35
  596. package/fesm2022/legacy-progress-spinner/testing.mjs.map +0 -1
  597. package/fesm2022/legacy-progress-spinner.mjs +0 -312
  598. package/fesm2022/legacy-progress-spinner.mjs.map +0 -1
  599. package/fesm2022/legacy-radio/testing.mjs +0 -54
  600. package/fesm2022/legacy-radio/testing.mjs.map +0 -1
  601. package/fesm2022/legacy-radio.mjs +0 -130
  602. package/fesm2022/legacy-radio.mjs.map +0 -1
  603. package/fesm2022/legacy-select/testing.mjs +0 -32
  604. package/fesm2022/legacy-select/testing.mjs.map +0 -1
  605. package/fesm2022/legacy-select.mjs +0 -541
  606. package/fesm2022/legacy-select.mjs.map +0 -1
  607. package/fesm2022/legacy-slide-toggle/testing.mjs +0 -47
  608. package/fesm2022/legacy-slide-toggle/testing.mjs.map +0 -1
  609. package/fesm2022/legacy-slide-toggle.mjs +0 -177
  610. package/fesm2022/legacy-slide-toggle.mjs.map +0 -1
  611. package/fesm2022/legacy-slider/testing.mjs +0 -118
  612. package/fesm2022/legacy-slider/testing.mjs.map +0 -1
  613. package/fesm2022/legacy-slider.mjs +0 -863
  614. package/fesm2022/legacy-slider.mjs.map +0 -1
  615. package/fesm2022/legacy-snack-bar/testing.mjs +0 -42
  616. package/fesm2022/legacy-snack-bar/testing.mjs.map +0 -1
  617. package/fesm2022/legacy-snack-bar.mjs +0 -128
  618. package/fesm2022/legacy-snack-bar.mjs.map +0 -1
  619. package/fesm2022/legacy-table/testing.mjs +0 -150
  620. package/fesm2022/legacy-table/testing.mjs.map +0 -1
  621. package/fesm2022/legacy-table.mjs +0 -538
  622. package/fesm2022/legacy-table.mjs.map +0 -1
  623. package/fesm2022/legacy-tabs/testing.mjs +0 -239
  624. package/fesm2022/legacy-tabs/testing.mjs.map +0 -1
  625. package/fesm2022/legacy-tabs.mjs +0 -549
  626. package/fesm2022/legacy-tabs.mjs.map +0 -1
  627. package/fesm2022/legacy-tooltip/testing.mjs +0 -31
  628. package/fesm2022/legacy-tooltip/testing.mjs.map +0 -1
  629. package/fesm2022/legacy-tooltip.mjs +0 -148
  630. package/fesm2022/legacy-tooltip.mjs.map +0 -1
  631. package/form-field/_form-field-theme.import.scss +0 -29
  632. package/form-field/_mdc-text-field-theme-variable-refresh.scss +0 -88
  633. package/grid-list/_grid-list-legacy-index.scss +0 -2
  634. package/grid-list/_grid-list-theme.import.scss +0 -10
  635. package/icon/_icon-legacy-index.scss +0 -2
  636. package/icon/_icon-theme.import.scss +0 -5
  637. package/input/_input-theme.import.scss +0 -1
  638. package/legacy-autocomplete/_autocomplete-legacy-index.scss +0 -2
  639. package/legacy-autocomplete/_autocomplete-theme.import.scss +0 -7
  640. package/legacy-autocomplete/_autocomplete-theme.scss +0 -57
  641. package/legacy-autocomplete/index.d.ts +0 -115
  642. package/legacy-autocomplete/testing/index.d.ts +0 -41
  643. package/legacy-button/_button-base.import.scss +0 -21
  644. package/legacy-button/_button-base.scss +0 -114
  645. package/legacy-button/_button-legacy-index.scss +0 -22
  646. package/legacy-button/_button-theme.import.scss +0 -11
  647. package/legacy-button/_button-theme.scss +0 -223
  648. package/legacy-button/index.d.ts +0 -87
  649. package/legacy-button/testing/index.d.ts +0 -49
  650. package/legacy-card/_card-legacy-index.scss +0 -2
  651. package/legacy-card/_card-theme.import.scss +0 -10
  652. package/legacy-card/_card-theme.scss +0 -78
  653. package/legacy-card/index.d.ts +0 -201
  654. package/legacy-card/testing/index.d.ts +0 -56
  655. package/legacy-checkbox/_checkbox-legacy-index.scss +0 -2
  656. package/legacy-checkbox/_checkbox-theme.import.scss +0 -7
  657. package/legacy-checkbox/_checkbox-theme.scss +0 -138
  658. package/legacy-checkbox/index.d.ts +0 -116
  659. package/legacy-checkbox/testing/index.d.ts +0 -30
  660. package/legacy-chips/_chips-legacy-index.scss +0 -7
  661. package/legacy-chips/_chips-theme.import.scss +0 -14
  662. package/legacy-chips/_chips-theme.scss +0 -133
  663. package/legacy-chips/index.d.ts +0 -705
  664. package/legacy-chips/testing/index.d.ts +0 -316
  665. package/legacy-core/_core-theme.scss +0 -65
  666. package/legacy-core/_core.import.scss +0 -5
  667. package/legacy-core/_core.scss +0 -18
  668. package/legacy-core/color/_all-color.import.scss +0 -4
  669. package/legacy-core/color/_all-color.scss +0 -28
  670. package/legacy-core/density/private/_all-density.import.scss +0 -3
  671. package/legacy-core/density/private/_all-density.scss +0 -46
  672. package/legacy-core/density/private/_compatibility.import.scss +0 -4
  673. package/legacy-core/density/private/_compatibility.scss +0 -74
  674. package/legacy-core/index.d.ts +0 -218
  675. package/legacy-core/option/_optgroup-theme.import.scss +0 -27
  676. package/legacy-core/option/_optgroup-theme.scss +0 -52
  677. package/legacy-core/option/_option-legacy-index.scss +0 -5
  678. package/legacy-core/option/_option-theme.import.scss +0 -27
  679. package/legacy-core/option/_option-theme.scss +0 -86
  680. package/legacy-core/testing/index.d.ts +0 -80
  681. package/legacy-core/theming/_all-theme.import.scss +0 -3
  682. package/legacy-core/theming/_all-theme.scss +0 -89
  683. package/legacy-core/typography/_all-typography.import.scss +0 -4
  684. package/legacy-core/typography/_all-typography.scss +0 -105
  685. package/legacy-dialog/_dialog-legacy-index.scss +0 -2
  686. package/legacy-dialog/_dialog-theme.import.scss +0 -10
  687. package/legacy-dialog/_dialog-theme.scss +0 -53
  688. package/legacy-dialog/index.d.ts +0 -271
  689. package/legacy-dialog/testing/index.d.ts +0 -63
  690. package/legacy-form-field/_form-field-fill-theme.import.scss +0 -13
  691. package/legacy-form-field/_form-field-fill-theme.scss +0 -136
  692. package/legacy-form-field/_form-field-legacy-index.scss +0 -29
  693. package/legacy-form-field/_form-field-legacy-theme.import.scss +0 -14
  694. package/legacy-form-field/_form-field-legacy-theme.scss +0 -204
  695. package/legacy-form-field/_form-field-outline-theme.import.scss +0 -13
  696. package/legacy-form-field/_form-field-outline-theme.scss +0 -167
  697. package/legacy-form-field/_form-field-standard-theme.import.scss +0 -11
  698. package/legacy-form-field/_form-field-standard-theme.scss +0 -55
  699. package/legacy-form-field/_form-field-theme.import.scss +0 -29
  700. package/legacy-form-field/_form-field-theme.scss +0 -278
  701. package/legacy-form-field/index.d.ts +0 -370
  702. package/legacy-form-field/testing/index.d.ts +0 -76
  703. package/legacy-input/_input-legacy-index.scss +0 -2
  704. package/legacy-input/_input-theme.import.scss +0 -11
  705. package/legacy-input/_input-theme.scss +0 -115
  706. package/legacy-input/index.d.ts +0 -41
  707. package/legacy-input/testing/index.d.ts +0 -20
  708. package/legacy-list/_list-legacy-index.scss +0 -2
  709. package/legacy-list/_list-theme.import.scss +0 -10
  710. package/legacy-list/_list-theme.scss +0 -124
  711. package/legacy-list/index.d.ts +0 -396
  712. package/legacy-list/testing/index.d.ts +0 -419
  713. package/legacy-menu/_menu-legacy-index.scss +0 -2
  714. package/legacy-menu/_menu-theme.import.scss +0 -10
  715. package/legacy-menu/_menu-theme.scss +0 -84
  716. package/legacy-menu/index.d.ts +0 -127
  717. package/legacy-menu/testing/index.d.ts +0 -47
  718. package/legacy-paginator/_paginator-legacy-index.scss +0 -2
  719. package/legacy-paginator/_paginator-theme.import.scss +0 -11
  720. package/legacy-paginator/_paginator-theme.scss +0 -92
  721. package/legacy-paginator/_paginator-variables.import.scss +0 -1
  722. package/legacy-paginator/_paginator-variables.scss +0 -13
  723. package/legacy-paginator/index.d.ts +0 -87
  724. package/legacy-paginator/testing/index.d.ts +0 -36
  725. package/legacy-prebuilt-themes/legacy-deeppurple-amber.css +0 -1
  726. package/legacy-prebuilt-themes/legacy-indigo-pink.css +0 -1
  727. package/legacy-prebuilt-themes/legacy-pink-bluegrey.css +0 -1
  728. package/legacy-prebuilt-themes/legacy-purple-green.css +0 -1
  729. package/legacy-progress-bar/_progress-bar-legacy-index.scss +0 -2
  730. package/legacy-progress-bar/_progress-bar-theme.import.scss +0 -6
  731. package/legacy-progress-bar/_progress-bar-theme.scss +0 -93
  732. package/legacy-progress-bar/index.d.ts +0 -131
  733. package/legacy-progress-bar/testing/index.d.ts +0 -28
  734. package/legacy-progress-spinner/_progress-spinner-legacy-index.scss +0 -3
  735. package/legacy-progress-spinner/_progress-spinner-theme.import.scss +0 -7
  736. package/legacy-progress-spinner/_progress-spinner-theme.scss +0 -52
  737. package/legacy-progress-spinner/index.d.ts +0 -129
  738. package/legacy-progress-spinner/testing/index.d.ts +0 -29
  739. package/legacy-radio/_radio-legacy-index.scss +0 -2
  740. package/legacy-radio/_radio-theme.import.scss +0 -8
  741. package/legacy-radio/_radio-theme.scss +0 -104
  742. package/legacy-radio/index.d.ts +0 -75
  743. package/legacy-radio/testing/index.d.ts +0 -50
  744. package/legacy-select/_select-legacy-index.scss +0 -2
  745. package/legacy-select/_select-theme.import.scss +0 -11
  746. package/legacy-select/_select-theme.scss +0 -107
  747. package/legacy-select/index.d.ts +0 -230
  748. package/legacy-select/testing/index.d.ts +0 -38
  749. package/legacy-slide-toggle/_slide-toggle-legacy-index.scss +0 -3
  750. package/legacy-slide-toggle/_slide-toggle-theme.import.scss +0 -11
  751. package/legacy-slide-toggle/_slide-toggle-theme.scss +0 -111
  752. package/legacy-slide-toggle/index.d.ts +0 -113
  753. package/legacy-slide-toggle/testing/index.d.ts +0 -34
  754. package/legacy-slider/_slider-legacy-index.scss +0 -3
  755. package/legacy-slider/_slider-theme.import.scss +0 -8
  756. package/legacy-slider/_slider-theme.scss +0 -210
  757. package/legacy-slider/index.d.ts +0 -303
  758. package/legacy-slider/testing/index.d.ts +0 -68
  759. package/legacy-snack-bar/_snack-bar-legacy-index.scss +0 -2
  760. package/legacy-snack-bar/_snack-bar-theme.import.scss +0 -11
  761. package/legacy-snack-bar/_snack-bar-theme.scss +0 -72
  762. package/legacy-snack-bar/index.d.ts +0 -118
  763. package/legacy-snack-bar/testing/index.d.ts +0 -28
  764. package/legacy-table/_table-legacy-index.scss +0 -3
  765. package/legacy-table/_table-theme.import.scss +0 -8
  766. package/legacy-table/_table-theme.scss +0 -78
  767. package/legacy-table/index.d.ts +0 -298
  768. package/legacy-table/testing/index.d.ts +0 -149
  769. package/legacy-tabs/_tabs-common.import.scss +0 -11
  770. package/legacy-tabs/_tabs-common.scss +0 -173
  771. package/legacy-tabs/_tabs-legacy-index.scss +0 -6
  772. package/legacy-tabs/_tabs-theme.import.scss +0 -9
  773. package/legacy-tabs/_tabs-theme.scss +0 -188
  774. package/legacy-tabs/index.d.ts +0 -338
  775. package/legacy-tabs/testing/index.d.ts +0 -195
  776. package/legacy-tooltip/_tooltip-legacy-index.scss +0 -3
  777. package/legacy-tooltip/_tooltip-theme.import.scss +0 -9
  778. package/legacy-tooltip/_tooltip-theme.scss +0 -67
  779. package/legacy-tooltip/index.d.ts +0 -117
  780. package/legacy-tooltip/testing/index.d.ts +0 -30
  781. package/list/_list-theme.import.scss +0 -1
  782. package/menu/_menu-theme.import.scss +0 -2
  783. package/paginator/_paginator-theme.import.scss +0 -6
  784. package/paginator/_paginator-variables.import.scss +0 -1
  785. package/paginator/_paginator-variables.scss +0 -15
  786. package/progress-bar/_progress-bar-theme.import.scss +0 -3
  787. package/progress-spinner/_progress-spinner-theme.import.scss +0 -3
  788. package/radio/_radio-theme.import.scss +0 -4
  789. package/select/_select-theme.import.scss +0 -7
  790. package/sidenav/_sidenav-legacy-index.scss +0 -2
  791. package/sidenav/_sidenav-theme.import.scss +0 -8
  792. package/slide-toggle/_slide-toggle-theme.import.scss +0 -7
  793. package/slider/_slider-theme.import.scss +0 -2
  794. package/snack-bar/_snack-bar-theme.import.scss +0 -5
  795. package/sort/_sort-legacy-index.scss +0 -2
  796. package/sort/_sort-theme.import.scss +0 -5
  797. package/stepper/_stepper-legacy-index.scss +0 -7
  798. package/stepper/_stepper-theme.import.scss +0 -16
  799. package/stepper/_stepper-variables.import.scss +0 -6
  800. package/table/_table-flex-styles.import.scss +0 -1
  801. package/table/_table-theme.import.scss +0 -8
  802. package/tabs/_tabs-common.import.scss +0 -11
  803. package/tabs/_tabs-theme.import.scss +0 -5
  804. package/toolbar/_toolbar-legacy-index.scss +0 -4
  805. package/toolbar/_toolbar-theme.import.scss +0 -14
  806. package/toolbar/_toolbar-variables.import.scss +0 -1
  807. package/tooltip/_tooltip-theme.import.scss +0 -2
  808. package/tree/_tree-legacy-index.scss +0 -2
  809. package/tree/_tree-theme.import.scss +0 -9
  810. package/tree/_tree-variables.import.scss +0 -1
@@ -0,0 +1,211 @@
1
+ @use 'sass:list';
2
+ @use 'sass:map';
3
+ @use 'sass:meta';
4
+ @use './theming';
5
+ @use '../typography/property-getters' as typography-getters;
6
+ @use '../typography/versioning' as typography-versioning;
7
+
8
+ /// Key used to access the Angular Material theme internals.
9
+ $_internals: _mat-theming-internals-do-not-access;
10
+
11
+ /// Keys that indicate a config object is a color config.
12
+ $_color-keys: (
13
+ primary,
14
+ accent,
15
+ warn,
16
+ foreground,
17
+ background,
18
+ is-dark,
19
+ color, /* included for themes that incorrectly nest the color config: (color: (color: (....))) */
20
+ );
21
+
22
+ /// Keys that indicate a config object is a typography config.
23
+ $_typography-keys: (
24
+ headline-1,
25
+ headline-2,
26
+ headline-3,
27
+ headline-4,
28
+ headline-5,
29
+ headline-6,
30
+ subtitle-1,
31
+ font-famiy,
32
+ subtitle-2,
33
+ body-1,
34
+ body-2,
35
+ button,
36
+ caption,
37
+ overline,
38
+ );
39
+
40
+ /// The CSS typography properties supported by the inspection API.
41
+ $_typography-properties: (font, font-family, line-height, font-size, letter-spacing, font-weight);
42
+
43
+ /// Gets the m2-config from the theme.
44
+ @function _get-m2-config($theme) {
45
+ // It is possible for a user to pass a "density theme" that is just a number.
46
+ @if meta.type-of($theme) != 'map' {
47
+ @return $theme;
48
+ }
49
+ $internal: map.get($theme, $_internals, m2-config);
50
+ $theme: map.remove($theme, $_internals);
51
+ @return if(_is-error-theme($theme), $internal, $theme);
52
+ }
53
+
54
+ /// Checks whether the given theme contains error values.
55
+ /// @param {*} $theme The theme to check.
56
+ /// @return {Boolean} true if the theme contains error values, else false.
57
+ @function _is-error-theme($theme) {
58
+ @if meta.type-of($theme) != 'map' {
59
+ @return false;
60
+ }
61
+ @if map.get($theme, ERROR) {
62
+ @return true;
63
+ }
64
+ @return _is-error-theme(list.nth(map.values($theme), 1));
65
+ }
66
+
67
+ /// Checks whether the given theme object has any of the given keys.
68
+ /// @param {Map} $theme The theme to check
69
+ /// @param {List} $keys The keys to check for
70
+ /// @return {Boolean} Whether the theme has any of the given keys.
71
+ @function _has-any-key($theme, $keys) {
72
+ @each $key in $keys {
73
+ @if map.has-key($theme, $key) {
74
+ @return true;
75
+ }
76
+ }
77
+ @return false;
78
+ }
79
+
80
+ /// Checks whether the given theme is a density scale value.
81
+ /// @param {*} $theme The theme to check.
82
+ /// @return {Boolean} true if the theme is a density scale value, else false.
83
+ @function _is-density-value($theme) {
84
+ @return $theme == minimum or $theme == maximum or meta.type-of($theme) == 'number';
85
+ }
86
+
87
+ /// Gets the type of theme represented by a theme object (light or dark).
88
+ /// @param {Map} $theme The theme
89
+ /// @return {String} The type of theme (either `light` or `dark`).
90
+ @function get-theme-type($theme) {
91
+ $theme: _get-m2-config($theme);
92
+ @if not theme-has($theme, color) {
93
+ @error 'Color information is not available on this theme.';
94
+ }
95
+ $colors: theming.get-color-config($theme);
96
+ // Some apps seem to have mistakenly created nested color themes that somehow work with our old
97
+ // theme normalization logic. This check allows those apps to keep working.
98
+ @if theme-has($colors, color) {
99
+ $colors: theming.get-color-config($colors);
100
+ }
101
+ @return if(map.get($colors, is-dark), dark, light);
102
+ }
103
+
104
+ /// Gets a color from a theme object. This function can take 2 or 3 arguments. If 2 arguments are
105
+ /// passed, the second argument is treated as the name of a color role. If 3 arguments are passed,
106
+ /// the second argument is treated as the name of a color palette (primary, secondary, etc.) and the
107
+ /// third is treated as the palette hue (10, 50, etc.)
108
+ /// @param {Map} $theme The theme
109
+ /// @param {String} $palette-name The name of a color palette.
110
+ /// @param {Number} $hue The palette hue to get (passing this argument means the second argument is
111
+ /// interpreted as a palette name).
112
+ /// @return {Color} The requested theme color.
113
+ @function get-theme-color($theme, $palette-name, $args...) {
114
+ $theme: _get-m2-config($theme);
115
+ @if not theme-has($theme, color) {
116
+ @error 'Color information is not available on this theme.';
117
+ }
118
+ $colors: theming.get-color-config($theme);
119
+ // Some apps seem to have mistakenly created nested color themes that somehow work with our old
120
+ // theme normalization logic. This check allows those apps to keep working.
121
+ @if theme-has($colors, color) {
122
+ $colors: theming.get-color-config($colors);
123
+ }
124
+ $palette: map.get($colors, $palette-name);
125
+ @if not $palette {
126
+ @error 'Unrecognized palette name:' $palette-name;
127
+ }
128
+ @return theming.get-color-from-palette($palette, $args...);
129
+ }
130
+
131
+ /// Gets a typography value from a theme object.
132
+ /// @param {Map} $theme The theme
133
+ /// @param {String} $typescale The typescale name.
134
+ /// @param {String} $property The CSS font property to get
135
+ /// (font, font-family, font-size, font-weight, line-height, or letter-spacing).
136
+ /// @return {*} The value of the requested font property.
137
+ @function get-theme-typography($theme, $typescale, $property) {
138
+ $theme: _get-m2-config($theme);
139
+ @if not theme-has($theme, typography) {
140
+ @error 'Typography information is not available on this theme.';
141
+ }
142
+ $typography: typography-versioning.private-typography-to-2018-config(
143
+ theming.get-typography-config($theme));
144
+ @if $property == font {
145
+ $font-weight: typography-getters.font-weight($typography, $typescale);
146
+ $font-size: typography-getters.font-size($typography, $typescale);
147
+ $line-height: typography-getters.line-height($typography, $typescale);
148
+ $font-family: typography-getters.font-family($typography, $typescale);
149
+ @return ($font-weight list.slash($font-size, $line-height) $font-family);
150
+ }
151
+ @else if $property == font-family {
152
+ $result: typography-getters.font-family($typography, $typescale);
153
+ @return $result or typography-getters.font-family($typography);
154
+ }
155
+ @else if $property == font-size {
156
+ @return typography-getters.font-size($typography, $typescale);
157
+ }
158
+ @else if $property == font-weight {
159
+ @return typography-getters.font-weight($typography, $typescale);
160
+ }
161
+ @else if $property == line-height {
162
+ @return typography-getters.line-height($typography, $typescale);
163
+ }
164
+ @else if $property == letter-spacing {
165
+ @return typography-getters.letter-spacing($typography, $typescale);
166
+ }
167
+ @else {
168
+ @error #{'Valid typography properties are: #{$_typography-properties}. Got:'} $property;
169
+ }
170
+ }
171
+
172
+ /// Gets the density scale from a theme object.
173
+ /// @param {Map} $theme The theme
174
+ /// @return {Number} The density scale.
175
+ @function get-theme-density($theme) {
176
+ $theme: _get-m2-config($theme);
177
+ @if not theme-has($theme, density) {
178
+ @error 'Density information is not available on this theme.';
179
+ }
180
+ $scale: theming.get-density-config($theme);
181
+ @return theming.clamp-density($scale, -5);
182
+ }
183
+
184
+ /// Checks whether the theme has information about given theming system.
185
+ /// @param {Map} $theme The theme
186
+ /// @param {String} $system The system to check
187
+ /// @param {Boolean} Whether the theme has information about the system.
188
+ @function theme-has($theme, $system) {
189
+ $theme: _get-m2-config($theme);
190
+ @if $system == base {
191
+ @return true;
192
+ }
193
+ @if $system == color {
194
+ $color: theming.get-color-config($theme);
195
+ @return $color != null and _has-any-key($color, $_color-keys);
196
+ }
197
+ @if $system == typography {
198
+ $typography: theming.get-typography-config($theme);
199
+ @return $typography != null and _has-any-key($typography, $_typography-keys);
200
+ }
201
+ @if $system == density {
202
+ // Backwards compatibility for the case where an explicit, but invalid density is given
203
+ // (this was previously treated as density 0).
204
+ @if meta.type-of($theme) == 'map' and map.get($theme, density) {
205
+ @return true;
206
+ }
207
+ $density: theming.get-density-config($theme);
208
+ @return $density != null and _is-density-value($density);
209
+ }
210
+ @error 'Valid systems are: base, color, typography, density. Got:' $system;
211
+ }
@@ -5,6 +5,9 @@
5
5
  @use 'palette';
6
6
  @use '../density/private/compatibility';
7
7
 
8
+ // Whether to enable compatibility with legacy methods for accessing theme information.
9
+ $theme-legacy-inspection-api-compatibility: true !default;
10
+
8
11
  // Whether duplication warnings should be disabled. Warnings enabled by default.
9
12
  $theme-ignore-duplication-warnings: false !default;
10
13
 
@@ -35,6 +38,7 @@ $_disable-color-backwards-compatibility: false;
35
38
  $_emitted-color: () !default;
36
39
  $_emitted-typography: () !default;
37
40
  $_emitted-density: () !default;
41
+ $_emitted-base: () !default;
38
42
 
39
43
  /// Extracts a color from a palette or throws an error if it doesn't exist.
40
44
  /// @param {Map} $palette The palette from which to extract a color.
@@ -71,7 +75,6 @@ $_emitted-density: () !default;
71
75
  lighter: _get-color-from-palette($base-palette, $lighter),
72
76
  darker: _get-color-from-palette($base-palette, $darker),
73
77
  text: _get-color-from-palette($base-palette, $text),
74
-
75
78
  default-contrast: get-contrast-color-from-palette($base-palette, $default),
76
79
  lighter-contrast: get-contrast-color-from-palette($base-palette, $lighter),
77
80
  darker-contrast: get-contrast-color-from-palette($base-palette, $darker)
@@ -184,10 +187,10 @@ $_emitted-density: () !default;
184
187
  // configuration for the `color` theming part.
185
188
  @if $accent != null {
186
189
  @warn $_legacy-theme-warning;
187
- @return private-create-backwards-compatibility-theme(_mat-validate-theme((
190
+ @return _internalize-theme(private-create-backwards-compatibility-theme(_mat-validate-theme((
188
191
  _is-legacy-theme: true,
189
192
  color: _mat-create-light-color-config($primary, $accent, $warn),
190
- )));
193
+ ))));
191
194
  }
192
195
  // If the map pattern is used (1), we just pass-through the configurations for individual
193
196
  // parts of the theming system, but update the `color` configuration if set. As explained
@@ -200,7 +203,8 @@ $_emitted-density: () !default;
200
203
  $warn: map.get($color-settings, warn);
201
204
  $result: map.merge($result, (color: _mat-create-light-color-config($primary, $accent, $warn)));
202
205
  }
203
- @return private-create-backwards-compatibility-theme(_mat-validate-theme($result));
206
+ @return _internalize-theme(
207
+ private-create-backwards-compatibility-theme(_mat-validate-theme($result)));
204
208
  }
205
209
 
206
210
  // TODO: Remove legacy API and rename below `$primary` to `$config`. Currently it cannot be renamed
@@ -225,10 +229,10 @@ $_emitted-density: () !default;
225
229
  // configuration for the `color` theming part.
226
230
  @if $accent != null {
227
231
  @warn $_legacy-theme-warning;
228
- @return private-create-backwards-compatibility-theme(_mat-validate-theme((
232
+ @return _internalize-theme(private-create-backwards-compatibility-theme(_mat-validate-theme((
229
233
  _is-legacy-theme: true,
230
234
  color: _mat-create-dark-color-config($primary, $accent, $warn),
231
- )));
235
+ ))));
232
236
  }
233
237
  // If the map pattern is used (1), we just pass-through the configurations for individual
234
238
  // parts of the theming system, but update the `color` configuration if set. As explained
@@ -241,7 +245,8 @@ $_emitted-density: () !default;
241
245
  $warn: map.get($color-settings, warn);
242
246
  $result: map.merge($result, (color: _mat-create-dark-color-config($primary, $accent, $warn)));
243
247
  }
244
- @return private-create-backwards-compatibility-theme(_mat-validate-theme($result));
248
+ @return _internalize-theme(
249
+ private-create-backwards-compatibility-theme(_mat-validate-theme($result)));
245
250
  }
246
251
 
247
252
  /// Gets the color configuration from the given theme or configuration.
@@ -321,6 +326,8 @@ $_emitted-density: () !default;
321
326
  // Private APIs
322
327
  //
323
328
 
329
+ $_internals: _mat-theming-internals-do-not-access;
330
+
324
331
  // Checks if configurations that have been declared in the given theme have been generated
325
332
  // before. If so, warnings will be reported. This should notify developers in case duplicate
326
333
  // styles are accidentally generated due to wrong usage of the all-theme mixins.
@@ -334,6 +341,111 @@ $_emitted-density: () !default;
334
341
  // (e.g. `all-component-themes` and `all-legacy-component-themes`) without causing any
335
342
  // style duplication.
336
343
  @mixin private-check-duplicate-theme-styles($theme-or-color-config, $id) {
344
+ // TODO(mmalerba): use get-theme-version for this check when its moved out of experimental.
345
+ @if map.get($theme-or-color-config, $_internals, theme-version) == 1 {
346
+ @include _check-duplicate-theme-styles-v1($theme-or-color-config, $id) {
347
+ // Optionally, consumers of this mixin can wrap contents inside so that nested
348
+ // duplicate style checks do not report another warning. e.g. if developers include
349
+ // the `all-component-themes` mixin twice, only the top-level duplicate styles check
350
+ // should report a warning. Not all individual components should report a warning too.
351
+ $orig-mat-theme-ignore-duplication-warnings: $theme-ignore-duplication-warnings;
352
+ $theme-ignore-duplication-warnings: true !global;
353
+ @content;
354
+ $theme-ignore-duplication-warnings: $orig-mat-theme-ignore-duplication-warnings !global;
355
+ }
356
+ }
357
+ @else {
358
+ @include _check-duplicate-theme-styles-v0($theme-or-color-config, $id) {
359
+ // Optionally, consumers of this mixin can wrap contents inside so that nested
360
+ // duplicate style checks do not report another warning. e.g. if developers include
361
+ // the `all-component-themes` mixin twice, only the top-level duplicate styles check
362
+ // should report a warning. Not all individual components should report a warning too.
363
+ $orig-mat-theme-ignore-duplication-warnings: $theme-ignore-duplication-warnings;
364
+ $theme-ignore-duplication-warnings: true !global;
365
+ @content;
366
+ $theme-ignore-duplication-warnings: $orig-mat-theme-ignore-duplication-warnings !global;
367
+ }
368
+ }
369
+ }
370
+
371
+ /// Strip out any settings map entries that have empty values (null or ()).
372
+ @function _strip-empty-settings($settings) {
373
+ $result: ();
374
+ @each $key, $value in $settings {
375
+ @if $value != null and $value != () {
376
+ $result: map.set($result, $key, $value);
377
+ }
378
+ }
379
+ @return if($result == (), null, $result);
380
+ }
381
+
382
+ // Checks for duplicate styles in a `theme-version: 1` style theme.
383
+ @mixin _check-duplicate-theme-styles-v1($theme-or-color-config, $id) {
384
+ $color-settings: _strip-empty-settings((
385
+ theme-type: map.get($theme-or-color-config, $_internals, theme-type),
386
+ color-tokens: map.get($theme-or-color-config, $_internals, color-tokens),
387
+ ));
388
+ $typography-settings: _strip-empty-settings((
389
+ typography-tokens: map.get($theme-or-color-config, $_internals, typography-tokens),
390
+ ));
391
+ $density-settings: _strip-empty-settings((
392
+ density-scale: map.get($theme-or-color-config, $_internals, density-scale),
393
+ density-tokens: map.get($theme-or-color-config, $_internals, density-tokens),
394
+ ));
395
+ $base-settings: _strip-empty-settings((
396
+ base-tokens: map.get($theme-or-color-config, $_internals, base-tokens),
397
+ ));
398
+ $previous-color-settings: map.get($_emitted-color, $id) or ();
399
+ $previous-typography-settings: map.get($_emitted-typography, $id) or ();
400
+ $previous-density-settings: map.get($_emitted-density, $id) or ();
401
+ $previous-base-settings: map.get($_emitted-base, $id) or ();
402
+
403
+ // Check if the color configuration has been generated before.
404
+ @if $color-settings != null {
405
+ @if list.index($previous-color-settings, $color-settings) != null and
406
+ not $theme-ignore-duplication-warnings {
407
+ @warn 'The same color styles are generated multiple times. ' + $_duplicate-warning;
408
+ }
409
+ $previous-color-settings: list.append($previous-color-settings, $color-settings);
410
+ }
411
+
412
+ // Check if the typography configuration has been generated before.
413
+ @if $typography-settings != null {
414
+ @if list.index($previous-typography-settings, $typography-settings) != null and
415
+ not $theme-ignore-duplication-warnings {
416
+ @warn 'The same typography styles are generated multiple times. ' + $_duplicate-warning;
417
+ }
418
+ $previous-typography-settings: list.append($previous-typography-settings, $typography-settings);
419
+ }
420
+
421
+ // Check if the density configuration has been generated before.
422
+ @if $density-settings != null {
423
+ @if list.index($previous-density-settings, $density-settings) != null and
424
+ not $theme-ignore-duplication-warnings {
425
+ @warn 'The same density styles are generated multiple times. ' + $_duplicate-warning;
426
+ }
427
+ $previous-density-settings: list.append($previous-density-settings, $density-settings);
428
+ }
429
+
430
+ // Check if the base configuration has been generated before.
431
+ @if $base-settings != null {
432
+ @if list.index($previous-base-settings, $base-settings) != null and
433
+ not $theme-ignore-duplication-warnings {
434
+ @warn 'The same base theme styles are generated multiple times. ' + $_duplicate-warning;
435
+ }
436
+ $previous-base-settings: list.append($previous-base-settings, $base-settings);
437
+ }
438
+
439
+ $_emitted-color: map.set($_emitted-color, $id, $previous-color-settings) !global;
440
+ $_emitted-density: map.set($_emitted-density, $id, $previous-density-settings) !global;
441
+ $_emitted-typography: map.set($_emitted-typography, $id, $previous-typography-settings) !global;
442
+ $_emitted-base: map.set($_emitted-base, $id, $previous-base-settings) !global;
443
+
444
+ @content;
445
+ }
446
+
447
+ // Checks for duplicate styles in a `theme-version: 0` style theme.
448
+ @mixin _check-duplicate-theme-styles-v0($theme-or-color-config, $id) {
337
449
  $theme: private-legacy-get-theme($theme-or-color-config);
338
450
  $color-config: get-color-config($theme);
339
451
  $density-config: get-density-config($theme);
@@ -383,13 +495,6 @@ $_emitted-density: () !default;
383
495
  $_emitted-density: map.merge($_emitted-density, ($id: $previous-density)) !global;
384
496
  $_emitted-typography: map.merge($_emitted-typography, ($id: $previous-typography)) !global;
385
497
 
386
- // Optionally, consumers of this mixin can wrap contents inside so that nested
387
- // duplicate style checks do not report another warning. e.g. if developers include
388
- // the `all-component-themes` mixin twice, only the top-level duplicate styles check
389
- // should report a warning. Not all individual components should report a warning too.
390
- $orig-mat-theme-ignore-duplication-warnings: $theme-ignore-duplication-warnings;
391
- $theme-ignore-duplication-warnings: true !global;
392
-
393
498
  // If duplicate default density styles would be generated for a legacy constructed theme,
394
499
  // we adjust the density generation so that no density styles are generated by default.
395
500
  // If no default density styles have been generated yet, we ensure that the styles
@@ -401,7 +506,6 @@ $_emitted-density: () !default;
401
506
  compatibility.$private-density-generate-styles: not $duplicate-legacy-density;
402
507
 
403
508
  @content;
404
- $theme-ignore-duplication-warnings: $orig-mat-theme-ignore-duplication-warnings !global;
405
509
 
406
510
  compatibility.$private-density-generate-at-root: false;
407
511
  compatibility.$private-density-generate-styles: true;
@@ -456,7 +560,8 @@ $_emitted-density: () !default;
456
560
  // TODO(devversion): remove this in the future. Constructing themes manually is rare,
457
561
  // and the code can be easily updated to the new API.
458
562
  @function private-legacy-get-theme($theme-or-color-config) {
459
- @if private-is-theme-object($theme-or-color-config) {
563
+ @if private-is-theme-object($theme-or-color-config) or
564
+ map.get($theme-or-color-config, $_internals, theme-version) == 1 {
460
565
  @return $theme-or-color-config;
461
566
  }
462
567
 
@@ -495,3 +600,51 @@ $_emitted-density: () !default;
495
600
  }
496
601
  @return $density-scale;
497
602
  }
603
+
604
+ /// Copies the given theme object and nests it within itself under a secret key and replaces the
605
+ /// original map keys with error values. This allows the inspection API which is aware of the secret
606
+ /// key to access the real values, but attempts to directly access the map will result in errors.
607
+ /// @param {Map} $theme The theme map.
608
+ @function _internalize-theme($theme) {
609
+ @if map.has-key($theme, $_internals) {
610
+ @return $theme;
611
+ }
612
+ $internalized-theme: (
613
+ $_internals: (
614
+ theme-version: 0,
615
+ m2-config: $theme
616
+ )
617
+ );
618
+ @if ($theme-legacy-inspection-api-compatibility) {
619
+ @return map.merge($theme, $internalized-theme);
620
+ }
621
+ $error-theme:
622
+ _replace-values-with-errors($theme, 'Theme may only be accessed via theme inspection API');
623
+ @return map.merge($error-theme, $internalized-theme);
624
+ }
625
+
626
+ /// Replaces concrete CSS values with errors in a theme object.
627
+ /// Errors are represented as a map `(ERROR: <message>)`. Because maps are not valid CSS values,
628
+ /// the Sass will not compile if the user tries to use any of the error theme values in their CSS.
629
+ /// Users will see a message about `(ERROR: <message>)` not being a valid CSS value. Using the
630
+ /// message, that winds up getting shown, we can help explain to users why they're getting the
631
+ /// error.
632
+ /// @param {*} $value The theme value to replace with errors.
633
+ /// @param {String} $message The error message to sow users.
634
+ /// @return {Map} A version of $value where concrete CSS values have been replaced with errors
635
+ @function _replace-values-with-errors($value, $message) {
636
+ $value-type: meta.type-of($value);
637
+ @if $value-type == 'map' {
638
+ @each $k, $v in $value {
639
+ $value: map.set($value, $k, _replace-values-with-errors($v, $message));
640
+ }
641
+ @return $value;
642
+ }
643
+ @else if $value-type == 'list' and list.length($value) > 0 {
644
+ @for $i from 1 through list.length() {
645
+ $value: list.set-nth($value, $i, _replace-values-with-errors(list.nth($value, $i), $message));
646
+ }
647
+ @return $value;
648
+ }
649
+ @return (ERROR: $message);
650
+ }
@@ -1,7 +1,5 @@
1
- @use 'sass:map';
2
1
  @use '../../token-utils';
3
- @use '../../../theming/theming';
4
- @use '../../../typography/typography-utils';
2
+ @use '../../../theming/inspection';
5
3
  @use '../../../style/sass-utils';
6
4
 
7
5
  // The prefix used to generate the fully qualified name for tokens in this file.
@@ -14,45 +12,41 @@ $prefix: (mat, card);
14
12
  }
15
13
 
16
14
  // Tokens that can be configured through Angular Material's color theming API.
17
- @function get-color-tokens($config) {
18
- $foreground: map.get($config, foreground);
19
-
15
+ @function get-color-tokens($theme) {
20
16
  @return (
21
17
  // Text color of the card's subtitle.
22
- subtitle-text-color: theming.get-color-from-palette($foreground, secondary-text),
18
+ subtitle-text-color: inspection.get-theme-color($theme, foreground, secondary-text),
23
19
  );
24
20
  }
25
21
 
26
22
  // Tokens that can be configured through Angular Material's typography theming API.
27
- @function get-typography-tokens($config) {
23
+ @function get-typography-tokens($theme) {
28
24
  @return (
29
25
  // Font family of the card's title.
30
- title-text-font: typography-utils.font-family($config, headline-6)
31
- or typography-utils.font-family($config),
26
+ title-text-font: inspection.get-theme-typography($theme, headline-6, font-family),
32
27
  // Line height of the card's title.
33
- title-text-line-height: typography-utils.line-height($config, headline-6),
28
+ title-text-line-height: inspection.get-theme-typography($theme, headline-6, line-height),
34
29
  // Font size of the card's title.
35
- title-text-size: typography-utils.font-size($config, headline-6),
30
+ title-text-size: inspection.get-theme-typography($theme, headline-6, font-size),
36
31
  // Letter spacing of the card's title.
37
- title-text-tracking: typography-utils.letter-spacing($config, headline-6),
32
+ title-text-tracking: inspection.get-theme-typography($theme, headline-6, letter-spacing),
38
33
  // Font weight of the card's title.
39
- title-text-weight: typography-utils.font-weight($config, headline-6),
34
+ title-text-weight: inspection.get-theme-typography($theme, headline-6, font-weight),
40
35
  // Font family of the card's subtitle.
41
- subtitle-text-font: typography-utils.font-family($config, subtitle-2)
42
- or typography-utils.font-family($config),
36
+ subtitle-text-font: inspection.get-theme-typography($theme, subtitle-2, font-family),
43
37
  // Line height of the card's subtitle.
44
- subtitle-text-line-height: typography-utils.line-height($config, subtitle-2),
38
+ subtitle-text-line-height: inspection.get-theme-typography($theme, subtitle-2, line-height),
45
39
  // Font size of the card's subtitle.
46
- subtitle-text-size: typography-utils.font-size($config, subtitle-2),
40
+ subtitle-text-size: inspection.get-theme-typography($theme, subtitle-2, font-size),
47
41
  // Letter spacing of the card's subtitle.
48
- subtitle-text-tracking: typography-utils.letter-spacing($config, subtitle-2),
42
+ subtitle-text-tracking: inspection.get-theme-typography($theme, subtitle-2, letter-spacing),
49
43
  // Font weight of the card's subtitle.
50
- subtitle-text-weight: typography-utils.font-weight($config, subtitle-2),
44
+ subtitle-text-weight: inspection.get-theme-typography($theme, subtitle-2, font-weight),
51
45
  );
52
46
  }
53
47
 
54
48
  // Tokens that can be configured through Angular Material's density theming API.
55
- @function get-density-tokens($config) {
49
+ @function get-density-tokens($theme) {
56
50
  @return ();
57
51
  }
58
52
 
@@ -1,7 +1,8 @@
1
1
  @use 'sass:map';
2
2
  @use '../../token-utils';
3
3
  @use '../../../style/sass-utils';
4
- @use '../../../typography/typography-utils';
4
+ @use '../../../theming/inspection';
5
+ @use '../../../theming/palette';
5
6
 
6
7
  // The prefix used to generate the fully qualified name for tokens in this file.
7
8
  $prefix: (mat, form-field);
@@ -13,29 +14,57 @@ $prefix: (mat, form-field);
13
14
  }
14
15
 
15
16
  // Tokens that can be configured through Angular Material's color theming API.
16
- @function get-color-tokens($config) {
17
- $is-dark: map.get($config, is-dark);
17
+ @function get-color-tokens($theme) {
18
+ $is-dark: inspection.get-theme-type($theme) == dark;
18
19
  $on-surface: if($is-dark, #fff, #000);
20
+ $color-tokens: private-get-color-palette-color-tokens($theme, primary);
19
21
 
20
- @return (
22
+ @return map.merge($color-tokens, (
21
23
  // MDC has a token for the enabled placeholder, but not for the disabled one.
22
24
  disabled-input-text-placeholder-color: rgba($on-surface, 0.38),
25
+ state-layer-color: rgba($on-surface, 0.87),
26
+ error-text-color: inspection.get-theme-color($theme, warn),
27
+
28
+ // On dark themes we set the native `select` color to some shade of white,
29
+ // however the color propagates to all of the `option` elements, which are
30
+ // always on a white background inside the dropdown, causing them to blend in.
31
+ // Since we can't change background of the dropdown, we need to explicitly
32
+ // reset the color of the options to something dark.
33
+ select-option-text-color: if($is-dark, palette.$dark-primary-text, inherit),
34
+ // Note the spelling of the `GrayText` here which is a system color. See:
35
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/system-color
36
+ select-disabled-option-text-color: if($is-dark, palette.$dark-disabled-text, GrayText),
37
+
38
+ // These values are taken from the MDC select implementation:
39
+ // https://github.com/material-components/material-components-web/blob/master/packages/mdc-select/_select-theme.scss
40
+ enabled-select-arrow-color: rgba($on-surface, 0.54),
41
+ disabled-select-arrow-color: rgba($on-surface, 0.38),
42
+
43
+ hover-state-layer-opacity: if($is-dark, 0.08, 0.04),
44
+ focus-state-layer-opacity: if($is-dark, 0.24, 0.12),
45
+ ));
46
+ }
47
+
48
+ // Generates the mapping for the properties that change based on the form field color.
49
+ @function private-get-color-palette-color-tokens($theme, $palette-name) {
50
+ $palette-color: inspection.get-theme-color($theme, $palette-name);
51
+
52
+ @return (
53
+ focus-select-arrow-color: sass-utils.safe-color-change($palette-color, $alpha: 0.87),
23
54
  );
24
55
  }
25
56
 
26
57
  // Tokens that can be configured through Angular Material's typography theming API.
27
- @function get-typography-tokens($config) {
28
- $fallback-font-family: typography-utils.font-family($config);
29
-
58
+ @function get-typography-tokens($theme) {
30
59
  @return (
31
60
  // MDC uses `subtitle1` for the input value, placeholder and floating label. The spec
32
61
  // shows `body1` for text fields though, so we manually override the typography.
33
62
  // Note: Form controls inherit the typography from the parent form field.
34
- container-text-font: typography-utils.font-family($config, body-1) or $fallback-font-family,
35
- container-text-line-height: typography-utils.line-height($config, body-1),
36
- container-text-size: typography-utils.font-size($config, body-1),
37
- container-text-tracking: typography-utils.letter-spacing($config, body-1),
38
- container-text-weight: typography-utils.font-weight($config, body-1),
63
+ container-text-font: inspection.get-theme-typography($theme, body-1, font-family),
64
+ container-text-line-height: inspection.get-theme-typography($theme, body-1, line-height),
65
+ container-text-size: inspection.get-theme-typography($theme, body-1, font-size),
66
+ container-text-tracking: inspection.get-theme-typography($theme, body-1, letter-spacing),
67
+ container-text-weight: inspection.get-theme-typography($theme, body-1, font-weight),
39
68
 
40
69
  // In the container styles, we updated the floating label to use the `body-1` typography level.
41
70
  // The MDC notched outline overrides this accidentally (only when the label floats) to a
@@ -45,18 +74,18 @@ $prefix: (mat, form-field);
45
74
  // https://github.com/material-components/material-components-web/blob/master/packages/mdc-notched-outline/_mixins.scss#L272-L292.
46
75
  // This is why we can't use their `label-text-populated-size` token and we have to declare
47
76
  // our own version of it.
48
- outlined-label-text-populated-size: typography-utils.font-size($config, body-1),
77
+ outlined-label-text-populated-size: inspection.get-theme-typography($theme, body-1, font-size),
49
78
 
50
- subscript-text-font: typography-utils.font-family($config, caption) or $fallback-font-family,
51
- subscript-text-line-height: typography-utils.line-height($config, caption),
52
- subscript-text-size: typography-utils.font-size($config, caption),
53
- subscript-text-tracking: typography-utils.letter-spacing($config, caption),
54
- subscript-text-weight: typography-utils.font-weight($config, caption),
79
+ subscript-text-font: inspection.get-theme-typography($theme, caption, font-family),
80
+ subscript-text-line-height: inspection.get-theme-typography($theme, caption, line-height),
81
+ subscript-text-size: inspection.get-theme-typography($theme, caption, font-size),
82
+ subscript-text-tracking: inspection.get-theme-typography($theme, caption, letter-spacing),
83
+ subscript-text-weight: inspection.get-theme-typography($theme, caption, font-weight),
55
84
  );
56
85
  }
57
86
 
58
87
  // Tokens that can be configured through Angular Material's density theming API.
59
- @function get-density-tokens($config) {
88
+ @function get-density-tokens($theme) {
60
89
  @return ();
61
90
  }
62
91