@angular/material-experimental 13.2.0-next.1 → 13.2.2

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 (235) hide show
  1. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  2. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +3 -3
  3. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +3 -3
  4. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +3 -3
  5. package/esm2020/column-resize/column-resize-module.mjs +12 -12
  6. package/esm2020/column-resize/overlay-handle.mjs +3 -3
  7. package/esm2020/column-resize/resizable-directives/default-enabled-resizable.mjs +3 -3
  8. package/esm2020/column-resize/resizable-directives/resizable.mjs +3 -3
  9. package/esm2020/column-resize/resize-strategy.mjs +3 -3
  10. package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +3 -3
  11. package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +3 -3
  12. package/esm2020/mdc-autocomplete/autocomplete.mjs +3 -3
  13. package/esm2020/mdc-autocomplete/module.mjs +4 -4
  14. package/esm2020/mdc-button/button-base.mjs +24 -21
  15. package/esm2020/mdc-button/button.mjs +9 -9
  16. package/esm2020/mdc-button/fab.mjs +17 -17
  17. package/esm2020/mdc-button/icon-button.mjs +11 -13
  18. package/esm2020/mdc-button/module.mjs +4 -4
  19. package/esm2020/mdc-card/card.mjs +42 -42
  20. package/esm2020/mdc-card/module.mjs +4 -4
  21. package/esm2020/mdc-checkbox/checkbox.mjs +12 -16
  22. package/esm2020/mdc-checkbox/module.mjs +6 -7
  23. package/esm2020/mdc-chips/chip-action.mjs +3 -3
  24. package/esm2020/mdc-chips/chip-edit-input.mjs +3 -3
  25. package/esm2020/mdc-chips/chip-grid.mjs +7 -9
  26. package/esm2020/mdc-chips/chip-icons.mjs +9 -9
  27. package/esm2020/mdc-chips/chip-input.mjs +3 -3
  28. package/esm2020/mdc-chips/chip-listbox.mjs +3 -3
  29. package/esm2020/mdc-chips/chip-option.mjs +3 -3
  30. package/esm2020/mdc-chips/chip-row.mjs +3 -3
  31. package/esm2020/mdc-chips/chip-set.mjs +3 -3
  32. package/esm2020/mdc-chips/chip.mjs +3 -3
  33. package/esm2020/mdc-chips/module.mjs +4 -4
  34. package/esm2020/mdc-core/option/index.mjs +4 -4
  35. package/esm2020/mdc-core/option/optgroup.mjs +3 -3
  36. package/esm2020/mdc-core/option/option.mjs +5 -5
  37. package/esm2020/mdc-dialog/dialog-container.mjs +4 -4
  38. package/esm2020/mdc-dialog/dialog-content-directives.mjs +12 -12
  39. package/esm2020/mdc-dialog/dialog.mjs +3 -3
  40. package/esm2020/mdc-dialog/module.mjs +4 -4
  41. package/esm2020/mdc-form-field/directives/error.mjs +3 -3
  42. package/esm2020/mdc-form-field/directives/floating-label.mjs +3 -3
  43. package/esm2020/mdc-form-field/directives/hint.mjs +3 -3
  44. package/esm2020/mdc-form-field/directives/label.mjs +3 -3
  45. package/esm2020/mdc-form-field/directives/line-ripple.mjs +3 -3
  46. package/esm2020/mdc-form-field/directives/notched-outline.mjs +3 -3
  47. package/esm2020/mdc-form-field/directives/prefix.mjs +3 -3
  48. package/esm2020/mdc-form-field/directives/suffix.mjs +3 -3
  49. package/esm2020/mdc-form-field/form-field.mjs +21 -5
  50. package/esm2020/mdc-form-field/module.mjs +4 -4
  51. package/esm2020/mdc-input/input.mjs +5 -4
  52. package/esm2020/mdc-input/module.mjs +4 -4
  53. package/esm2020/mdc-list/action-list.mjs +3 -3
  54. package/esm2020/mdc-list/interactive-list-base.mjs +5 -5
  55. package/esm2020/mdc-list/list-base.mjs +6 -6
  56. package/esm2020/mdc-list/list-item-sections.mjs +18 -18
  57. package/esm2020/mdc-list/list-option.mjs +5 -5
  58. package/esm2020/mdc-list/list.mjs +6 -6
  59. package/esm2020/mdc-list/module.mjs +4 -4
  60. package/esm2020/mdc-list/nav-list.mjs +3 -3
  61. package/esm2020/mdc-list/selection-list.mjs +3 -3
  62. package/esm2020/mdc-list/subheader.mjs +3 -3
  63. package/esm2020/mdc-list/testing/list-item-harness-base.mjs +5 -1
  64. package/esm2020/mdc-list/testing/selection-list-harness.mjs +1 -5
  65. package/esm2020/mdc-menu/directives.mjs +6 -6
  66. package/esm2020/mdc-menu/menu-item.mjs +3 -3
  67. package/esm2020/mdc-menu/menu.mjs +3 -3
  68. package/esm2020/mdc-menu/module.mjs +4 -4
  69. package/esm2020/mdc-paginator/module.mjs +4 -4
  70. package/esm2020/mdc-paginator/paginator.mjs +3 -3
  71. package/esm2020/mdc-progress-bar/module.mjs +4 -4
  72. package/esm2020/mdc-progress-bar/progress-bar.mjs +3 -3
  73. package/esm2020/mdc-progress-spinner/module.mjs +4 -4
  74. package/esm2020/mdc-progress-spinner/progress-spinner.mjs +3 -3
  75. package/esm2020/mdc-radio/module.mjs +4 -4
  76. package/esm2020/mdc-radio/radio.mjs +8 -8
  77. package/esm2020/mdc-select/module.mjs +4 -4
  78. package/esm2020/mdc-select/select.mjs +6 -6
  79. package/esm2020/mdc-sidenav/module.mjs +4 -4
  80. package/esm2020/mdc-slide-toggle/module.mjs +4 -4
  81. package/esm2020/mdc-slide-toggle/slide-toggle.mjs +3 -3
  82. package/esm2020/mdc-slider/global-change-and-input-listener.mjs +3 -3
  83. package/esm2020/mdc-slider/module.mjs +4 -4
  84. package/esm2020/mdc-slider/slider.mjs +9 -9
  85. package/esm2020/mdc-snack-bar/module.mjs +7 -7
  86. package/esm2020/mdc-snack-bar/public-api.mjs +2 -2
  87. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +7 -7
  88. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +4 -4
  89. package/esm2020/mdc-snack-bar/snack-bar-content.mjs +9 -9
  90. package/esm2020/mdc-snack-bar/snack-bar.mjs +26 -12
  91. package/esm2020/mdc-table/cell.mjs +21 -21
  92. package/esm2020/mdc-table/module.mjs +4 -4
  93. package/esm2020/mdc-table/row.mjs +21 -21
  94. package/esm2020/mdc-table/table.mjs +8 -8
  95. package/esm2020/mdc-table/text-column.mjs +3 -3
  96. package/esm2020/mdc-tabs/module.mjs +4 -4
  97. package/esm2020/mdc-tabs/tab-body.mjs +8 -8
  98. package/esm2020/mdc-tabs/tab-content.mjs +3 -3
  99. package/esm2020/mdc-tabs/tab-group.mjs +7 -7
  100. package/esm2020/mdc-tabs/tab-header.mjs +5 -5
  101. package/esm2020/mdc-tabs/tab-label-wrapper.mjs +3 -3
  102. package/esm2020/mdc-tabs/tab-label.mjs +3 -3
  103. package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +12 -12
  104. package/esm2020/mdc-tabs/tab.mjs +5 -5
  105. package/esm2020/mdc-tooltip/module.mjs +4 -4
  106. package/esm2020/mdc-tooltip/tooltip.mjs +6 -6
  107. package/esm2020/menubar/menubar-item.mjs +3 -3
  108. package/esm2020/menubar/menubar-module.mjs +4 -4
  109. package/esm2020/menubar/menubar.mjs +3 -3
  110. package/esm2020/popover-edit/lens-directives.mjs +9 -9
  111. package/esm2020/popover-edit/popover-edit-module.mjs +4 -4
  112. package/esm2020/popover-edit/table-directives.mjs +12 -12
  113. package/esm2020/selection/row-selection.mjs +3 -3
  114. package/esm2020/selection/select-all.mjs +3 -3
  115. package/esm2020/selection/selection-column.mjs +3 -3
  116. package/esm2020/selection/selection-module.mjs +4 -4
  117. package/esm2020/selection/selection-toggle.mjs +3 -3
  118. package/esm2020/selection/selection.mjs +3 -3
  119. package/esm2020/version.mjs +1 -1
  120. package/fesm2015/column-resize.mjs +36 -36
  121. package/fesm2015/material-experimental.mjs +1 -1
  122. package/fesm2015/material-experimental.mjs.map +1 -1
  123. package/fesm2015/mdc-autocomplete.mjs +13 -13
  124. package/fesm2015/mdc-button.mjs +61 -60
  125. package/fesm2015/mdc-button.mjs.map +1 -1
  126. package/fesm2015/mdc-card.mjs +46 -46
  127. package/fesm2015/mdc-checkbox.mjs +16 -21
  128. package/fesm2015/mdc-checkbox.mjs.map +1 -1
  129. package/fesm2015/mdc-chips.mjs +43 -45
  130. package/fesm2015/mdc-chips.mjs.map +1 -1
  131. package/fesm2015/mdc-core.mjs +11 -11
  132. package/fesm2015/mdc-core.mjs.map +1 -1
  133. package/fesm2015/mdc-dialog.mjs +23 -23
  134. package/fesm2015/mdc-form-field.mjs +50 -32
  135. package/fesm2015/mdc-form-field.mjs.map +1 -1
  136. package/fesm2015/mdc-input.mjs +8 -7
  137. package/fesm2015/mdc-input.mjs.map +1 -1
  138. package/fesm2015/mdc-list/testing.mjs +6 -6
  139. package/fesm2015/mdc-list/testing.mjs.map +1 -1
  140. package/fesm2015/mdc-list.mjs +55 -55
  141. package/fesm2015/mdc-list.mjs.map +1 -1
  142. package/fesm2015/mdc-menu.mjs +16 -16
  143. package/fesm2015/mdc-paginator.mjs +7 -7
  144. package/fesm2015/mdc-progress-bar.mjs +7 -7
  145. package/fesm2015/mdc-progress-spinner.mjs +7 -7
  146. package/fesm2015/mdc-radio.mjs +11 -11
  147. package/fesm2015/mdc-radio.mjs.map +1 -1
  148. package/fesm2015/mdc-select.mjs +10 -10
  149. package/fesm2015/mdc-sidenav.mjs +4 -4
  150. package/fesm2015/mdc-slide-toggle.mjs +7 -7
  151. package/fesm2015/mdc-slider.mjs +16 -16
  152. package/fesm2015/mdc-snack-bar.mjs +47 -42
  153. package/fesm2015/mdc-snack-bar.mjs.map +1 -1
  154. package/fesm2015/mdc-table.mjs +57 -57
  155. package/fesm2015/mdc-tabs.mjs +45 -45
  156. package/fesm2015/mdc-tabs.mjs.map +1 -1
  157. package/fesm2015/mdc-tooltip.mjs +10 -10
  158. package/fesm2015/menubar.mjs +10 -10
  159. package/fesm2015/popover-edit.mjs +25 -25
  160. package/fesm2015/selection.mjs +19 -19
  161. package/fesm2020/column-resize.mjs +36 -36
  162. package/fesm2020/material-experimental.mjs +1 -1
  163. package/fesm2020/material-experimental.mjs.map +1 -1
  164. package/fesm2020/mdc-autocomplete.mjs +13 -13
  165. package/fesm2020/mdc-button.mjs +61 -60
  166. package/fesm2020/mdc-button.mjs.map +1 -1
  167. package/fesm2020/mdc-card.mjs +46 -46
  168. package/fesm2020/mdc-checkbox.mjs +16 -21
  169. package/fesm2020/mdc-checkbox.mjs.map +1 -1
  170. package/fesm2020/mdc-chips.mjs +43 -45
  171. package/fesm2020/mdc-chips.mjs.map +1 -1
  172. package/fesm2020/mdc-core.mjs +11 -11
  173. package/fesm2020/mdc-core.mjs.map +1 -1
  174. package/fesm2020/mdc-dialog.mjs +23 -23
  175. package/fesm2020/mdc-form-field.mjs +48 -32
  176. package/fesm2020/mdc-form-field.mjs.map +1 -1
  177. package/fesm2020/mdc-input.mjs +8 -7
  178. package/fesm2020/mdc-input.mjs.map +1 -1
  179. package/fesm2020/mdc-list/testing.mjs +4 -4
  180. package/fesm2020/mdc-list/testing.mjs.map +1 -1
  181. package/fesm2020/mdc-list.mjs +55 -55
  182. package/fesm2020/mdc-list.mjs.map +1 -1
  183. package/fesm2020/mdc-menu.mjs +16 -16
  184. package/fesm2020/mdc-paginator.mjs +7 -7
  185. package/fesm2020/mdc-progress-bar.mjs +7 -7
  186. package/fesm2020/mdc-progress-spinner.mjs +7 -7
  187. package/fesm2020/mdc-radio.mjs +11 -11
  188. package/fesm2020/mdc-radio.mjs.map +1 -1
  189. package/fesm2020/mdc-select.mjs +10 -10
  190. package/fesm2020/mdc-sidenav.mjs +4 -4
  191. package/fesm2020/mdc-slide-toggle.mjs +7 -7
  192. package/fesm2020/mdc-slider.mjs +16 -16
  193. package/fesm2020/mdc-snack-bar.mjs +45 -35
  194. package/fesm2020/mdc-snack-bar.mjs.map +1 -1
  195. package/fesm2020/mdc-table.mjs +57 -57
  196. package/fesm2020/mdc-tabs.mjs +45 -45
  197. package/fesm2020/mdc-tabs.mjs.map +1 -1
  198. package/fesm2020/mdc-tooltip.mjs +10 -10
  199. package/fesm2020/menubar.mjs +10 -10
  200. package/fesm2020/popover-edit.mjs +25 -25
  201. package/fesm2020/selection.mjs +19 -19
  202. package/mdc-button/_button-base.scss +28 -15
  203. package/mdc-button/_button-theme-private.scss +35 -28
  204. package/mdc-button/_button-theme.scss +118 -80
  205. package/mdc-button/_fab-theme.scss +31 -37
  206. package/mdc-button/_icon-button-theme.scss +15 -22
  207. package/mdc-button/button-base.d.ts +7 -5
  208. package/mdc-button/icon-button.d.ts +2 -2
  209. package/mdc-checkbox/_checkbox-private.scss +46 -0
  210. package/mdc-checkbox/_checkbox-theme.scss +18 -47
  211. package/mdc-checkbox/checkbox.d.ts +0 -6
  212. package/mdc-checkbox/module.d.ts +2 -3
  213. package/mdc-chips/chip-grid.d.ts +0 -2
  214. package/mdc-core/option/_option-theme.scss +3 -3
  215. package/mdc-core/option/option.d.ts +3 -3
  216. package/mdc-form-field/_form-field-subscript.scss +11 -0
  217. package/mdc-form-field/form-field.d.ts +12 -1
  218. package/mdc-list/_list-option-theme.scss +3 -3
  219. package/mdc-list/_list-option-trailing-avatar-compat.scss +18 -13
  220. package/mdc-list/_list-theme.scss +11 -10
  221. package/mdc-list/testing/list-item-harness-base.d.ts +2 -0
  222. package/mdc-list/testing/selection-list-harness.d.ts +0 -2
  223. package/mdc-radio/_radio-theme.scss +0 -6
  224. package/mdc-snack-bar/module.d.ts +1 -1
  225. package/mdc-snack-bar/public-api.d.ts +1 -1
  226. package/mdc-snack-bar/simple-snack-bar.d.ts +4 -4
  227. package/mdc-snack-bar/snack-bar.d.ts +17 -5
  228. package/mdc-tabs/_tabs-common.scss +8 -1
  229. package/mdc-tabs/_tabs-theme.scss +8 -55
  230. package/mdc-tabs/ink-bar.d.ts +1 -1
  231. package/mdc-theming/prebuilt/deeppurple-amber.css +1 -1
  232. package/mdc-theming/prebuilt/indigo-pink.css +1 -1
  233. package/mdc-theming/prebuilt/pink-bluegrey.css +1 -1
  234. package/mdc-theming/prebuilt/purple-green.css +1 -1
  235. package/package.json +4 -4
@@ -37,9 +37,9 @@ class MatSelection extends CdkSelection {
37
37
  this._multiple = coerceBooleanProperty(multiple);
38
38
  }
39
39
  }
40
- MatSelection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelection, deps: null, target: i0.ɵɵFactoryTarget.Directive });
41
- MatSelection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: MatSelection, selector: "[matSelection]", inputs: { multiple: ["matSelectionMultiple", "multiple"] }, outputs: { change: "matSelectionChange" }, providers: [{ provide: CdkSelection, useExisting: MatSelection }], exportAs: ["matSelection"], usesInheritance: true, ngImport: i0 });
42
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelection, decorators: [{
40
+ MatSelection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelection, deps: null, target: i0.ɵɵFactoryTarget.Directive });
41
+ MatSelection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatSelection, selector: "[matSelection]", inputs: { multiple: ["matSelectionMultiple", "multiple"] }, outputs: { change: "matSelectionChange" }, providers: [{ provide: CdkSelection, useExisting: MatSelection }], exportAs: ["matSelection"], usesInheritance: true, ngImport: i0 });
42
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelection, decorators: [{
43
43
  type: Directive,
44
44
  args: [{
45
45
  selector: '[matSelection]',
@@ -73,9 +73,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
73
73
  */
74
74
  class MatSelectAll extends CdkSelectAll {
75
75
  }
76
- MatSelectAll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectAll, deps: null, target: i0.ɵɵFactoryTarget.Directive });
77
- MatSelectAll.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: MatSelectAll, selector: "[matSelectAll]", providers: [{ provide: CdkSelectAll, useExisting: MatSelectAll }], exportAs: ["matSelectAll"], usesInheritance: true, ngImport: i0 });
78
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectAll, decorators: [{
76
+ MatSelectAll.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectAll, deps: null, target: i0.ɵɵFactoryTarget.Directive });
77
+ MatSelectAll.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatSelectAll, selector: "[matSelectAll]", providers: [{ provide: CdkSelectAll, useExisting: MatSelectAll }], exportAs: ["matSelectAll"], usesInheritance: true, ngImport: i0 });
78
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectAll, decorators: [{
79
79
  type: Directive,
80
80
  args: [{
81
81
  selector: '[matSelectAll]',
@@ -103,9 +103,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
103
103
  */
104
104
  class MatSelectionToggle extends CdkSelectionToggle {
105
105
  }
106
- MatSelectionToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectionToggle, deps: null, target: i0.ɵɵFactoryTarget.Directive });
107
- MatSelectionToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: MatSelectionToggle, selector: "[matSelectionToggle]", inputs: { index: ["matSelectionToggleIndex", "index"], value: ["matSelectionToggleValue", "value"] }, providers: [{ provide: CdkSelectionToggle, useExisting: MatSelectionToggle }], exportAs: ["matSelectionToggle"], usesInheritance: true, ngImport: i0 });
108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectionToggle, decorators: [{
106
+ MatSelectionToggle.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectionToggle, deps: null, target: i0.ɵɵFactoryTarget.Directive });
107
+ MatSelectionToggle.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatSelectionToggle, selector: "[matSelectionToggle]", inputs: { index: ["matSelectionToggleIndex", "index"], value: ["matSelectionToggleValue", "value"] }, providers: [{ provide: CdkSelectionToggle, useExisting: MatSelectionToggle }], exportAs: ["matSelectionToggle"], usesInheritance: true, ngImport: i0 });
108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectionToggle, decorators: [{
109
109
  type: Directive,
110
110
  args: [{
111
111
  selector: '[matSelectionToggle]',
@@ -169,8 +169,8 @@ class MatSelectionColumn {
169
169
  }
170
170
  }
171
171
  }
172
- MatSelectionColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectionColumn, deps: [{ token: MatTable, optional: true }, { token: MatSelection, optional: true }], target: i0.ɵɵFactoryTarget.Component });
173
- MatSelectionColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: MatSelectionColumn, selector: "mat-selection-column", inputs: { name: "name" }, viewQueries: [{ propertyName: "_columnDef", first: true, predicate: MatColumnDef, descendants: true, static: true }, { propertyName: "_cell", first: true, predicate: MatCellDef, descendants: true, static: true }, { propertyName: "_headerCell", first: true, predicate: MatHeaderCellDef, descendants: true, static: true }], ngImport: i0, template: `
172
+ MatSelectionColumn.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectionColumn, deps: [{ token: MatTable, optional: true }, { token: MatSelection, optional: true }], target: i0.ɵɵFactoryTarget.Component });
173
+ MatSelectionColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: MatSelectionColumn, selector: "mat-selection-column", inputs: { name: "name" }, viewQueries: [{ propertyName: "_columnDef", first: true, predicate: MatColumnDef, descendants: true, static: true }, { propertyName: "_cell", first: true, predicate: MatCellDef, descendants: true, static: true }, { propertyName: "_headerCell", first: true, predicate: MatHeaderCellDef, descendants: true, static: true }], ngImport: i0, template: `
174
174
  <ng-container matColumnDef>
175
175
  <th mat-header-cell *matHeaderCellDef class="mat-selection-column-header">
176
176
  <mat-checkbox *ngIf="selection.multiple"
@@ -186,7 +186,7 @@ MatSelectionColumn.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ver
186
186
  </td>
187
187
  </ng-container>
188
188
  `, isInline: true, styles: ["th.mat-selection-column-header,td.mat-selection-column-cell{text-align:center;width:48px}\n"], components: [{ type: i1.MatCheckbox, selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }], directives: [{ type: i2.MatColumnDef, selector: "[matColumnDef]", inputs: ["sticky", "matColumnDef"] }, { type: i2.MatHeaderCellDef, selector: "[matHeaderCellDef]" }, { type: i2.MatHeaderCell, selector: "mat-header-cell, th[mat-header-cell]" }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: MatSelectAll, selector: "[matSelectAll]", exportAs: ["matSelectAll"] }, { type: i2.MatCellDef, selector: "[matCellDef]" }, { type: i2.MatCell, selector: "mat-cell, td[mat-cell]" }, { type: MatSelectionToggle, selector: "[matSelectionToggle]", inputs: ["matSelectionToggleIndex", "matSelectionToggleValue"], exportAs: ["matSelectionToggle"] }], pipes: { "async": i3.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
189
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectionColumn, decorators: [{
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectionColumn, decorators: [{
190
190
  type: Component,
191
191
  args: [{ selector: 'mat-selection-column', template: `
192
192
  <ng-container matColumnDef>
@@ -243,9 +243,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
243
243
  */
244
244
  class MatRowSelection extends CdkRowSelection {
245
245
  }
246
- MatRowSelection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatRowSelection, deps: null, target: i0.ɵɵFactoryTarget.Directive });
247
- MatRowSelection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: MatRowSelection, selector: "[matRowSelection]", inputs: { index: ["matRowSelectionIndex", "index"], value: ["matRowSelectionValue", "value"] }, host: { properties: { "class.mat-selected": "_selection.isSelected(this.value, this.index)", "attr.aria-selected": "_selection.isSelected(this.value, this.index)" } }, providers: [{ provide: CdkRowSelection, useExisting: MatRowSelection }], usesInheritance: true, ngImport: i0 });
248
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatRowSelection, decorators: [{
246
+ MatRowSelection.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRowSelection, deps: null, target: i0.ɵɵFactoryTarget.Directive });
247
+ MatRowSelection.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: MatRowSelection, selector: "[matRowSelection]", inputs: { index: ["matRowSelectionIndex", "index"], value: ["matRowSelectionValue", "value"] }, host: { properties: { "class.mat-selected": "_selection.isSelected(this.value, this.index)", "attr.aria-selected": "_selection.isSelected(this.value, this.index)" } }, providers: [{ provide: CdkRowSelection, useExisting: MatRowSelection }], usesInheritance: true, ngImport: i0 });
248
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatRowSelection, decorators: [{
249
249
  type: Directive,
250
250
  args: [{
251
251
  selector: '[matRowSelection]',
@@ -270,14 +270,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImpor
270
270
  */
271
271
  class MatSelectionModule {
272
272
  }
273
- MatSelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
274
- MatSelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectionModule, declarations: [MatSelectAll,
273
+ MatSelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
274
+ MatSelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectionModule, declarations: [MatSelectAll,
275
275
  MatSelection,
276
276
  MatSelectionToggle,
277
277
  MatSelectionColumn,
278
278
  MatRowSelection], imports: [CommonModule, MatTableModule, MatCheckboxModule], exports: [MatSelectAll, MatSelection, MatSelectionToggle, MatSelectionColumn, MatRowSelection] });
279
- MatSelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectionModule, imports: [[CommonModule, MatTableModule, MatCheckboxModule]] });
280
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSelectionModule, decorators: [{
279
+ MatSelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectionModule, imports: [[CommonModule, MatTableModule, MatCheckboxModule]] });
280
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: MatSelectionModule, decorators: [{
281
281
  type: NgModule,
282
282
  args: [{
283
283
  imports: [CommonModule, MatTableModule, MatCheckboxModule],
@@ -1,3 +1,4 @@
1
+ @use 'sass:map';
1
2
  @use '@material/touch-target' as mdc-touch-target;
2
3
  @use '../mdc-helpers/mdc-helpers';
3
4
  @use '../../material/core/style/layout-common';
@@ -8,22 +9,10 @@
8
9
  // ripple and state container so that they fill the button, match the border radius, and avoid
9
10
  // pointer events.
10
11
  @mixin mat-private-button-interactive() {
11
- .mdc-button__ripple::before, .mdc-button__ripple::after,
12
- .mdc-fab__ripple::before, .mdc-fab__ripple::after {
13
- content: '';
14
- pointer-events: none;
15
- position: absolute;
16
- top: 0;
17
- right: 0;
18
- bottom: 0;
19
- left: 0;
20
- opacity: 0;
21
- border-radius: inherit;
22
- @content;
23
- }
24
-
25
12
  // The ripple container should match the bounds of the entire button.
26
- .mat-mdc-button-ripple, .mdc-button__ripple, .mdc-fab__ripple {
13
+ .mat-mdc-button-ripple,
14
+ .mat-mdc-button-persistent-ripple,
15
+ .mat-mdc-button-persistent-ripple::before {
27
16
  @include layout-common.fill;
28
17
 
29
18
  // Disable pointer events for the ripple container and state overlay because the container
@@ -38,6 +27,17 @@
38
27
  border-radius: inherit;
39
28
  }
40
29
 
30
+ // We use ::before so that we can reuse some of MDC's theming.
31
+ .mat-mdc-button-persistent-ripple::before {
32
+ content: '';
33
+ opacity: 0;
34
+ background-color: var(--mat-mdc-button-persistent-ripple-color);
35
+ }
36
+
37
+ .mat-ripple-element {
38
+ background-color: var(--mat-mdc-button-ripple-color);
39
+ }
40
+
41
41
  // The content should appear over the state and ripple layers, otherwise they may adversely affect
42
42
  // the accessibility of the text content.
43
43
  .mdc-button__label {
@@ -59,6 +59,7 @@
59
59
  &[disabled] {
60
60
  cursor: default;
61
61
  pointer-events: none;
62
+ @content;
62
63
  }
63
64
  }
64
65
 
@@ -75,3 +76,15 @@
75
76
  $query: mdc-helpers.$mat-base-styles-query);
76
77
  }
77
78
  }
79
+
80
+ // Changes a button theme to exclude the ripple styles.
81
+ @function mat-private-button-remove-ripple($theme) {
82
+ @return map.merge($theme, (
83
+ focus-state-layer-color: null,
84
+ focus-state-layer-opacity: null,
85
+ hover-state-layer-color: null,
86
+ hover-state-layer-opacity: null,
87
+ pressed-state-layer-color: null,
88
+ pressed-state-layer-opacity: null,
89
+ ));
90
+ }
@@ -1,28 +1,43 @@
1
+ @use 'sass:map';
2
+ @use '@material/ripple/ripple-theme' as mdc-ripple-theme;
1
3
  @use '@material/theme/theme-color' as mdc-theme-color;
2
- @use '@material/theme/theme' as mdc-theme;
3
4
  @use '../../material/core/ripple/ripple-theme';
4
5
 
5
- // Selector for the element that has a background color and opacity applied to its ::before and
6
- // ::after for state interactions (hover, active, focus). Their API calls this their
7
- // "ripple target", but we do not use it as our ripple, just state color.
8
- $button-state-target: '.mdc-button__ripple';
9
- $fab-state-target: '.mdc-fab__ripple';
10
-
11
- // The MDC button's ripple ink color is based on the theme color, not on the foreground base
12
- // which is what the ripple mixin uses. This creates a new theme that sets the color to the
13
- // foreground base to appropriately color the ink.
14
- @mixin ripple-ink-color($mdc-color) {
15
- @include ripple-theme.color((
16
- foreground: (
17
- base: mdc-theme-color.prop-value($mdc-color)
18
- ),
19
- ));
6
+ @mixin _ripple-color($color) {
7
+ --mat-mdc-button-persistent-ripple-color: #{$color};
8
+ --mat-mdc-button-ripple-color: #{rgba($color, 0.1)};
20
9
  }
21
10
 
22
- // Applies the disabled theme color to the text color.
23
- @mixin apply-disabled-color() {
24
- @include mdc-theme.prop(color,
25
- mdc-theme-color.ink-color-for-fill_(disabled, mdc-theme-color.$background));
11
+ @mixin ripple-theme-styles($config, $is-filled) {
12
+ $opacities: if(map.get($config, is-dark),
13
+ mdc-ripple-theme.$light-ink-opacities, mdc-ripple-theme.$dark-ink-opacities);
14
+
15
+ // Ideally these styles would be structural, but MDC bases some of the opacities on the theme.
16
+ &:hover .mat-mdc-button-persistent-ripple::before {
17
+ opacity: map.get($opacities, hover);
18
+ }
19
+
20
+ &:focus .mat-mdc-button-persistent-ripple::before {
21
+ opacity: map.get($opacities, focus);
22
+ }
23
+
24
+ &:active .mat-mdc-button-persistent-ripple::before {
25
+ opacity: map.get($opacities, press);
26
+ }
27
+
28
+ @include _ripple-color(mdc-theme-color.prop-value(on-surface));
29
+
30
+ &.mat-primary {
31
+ @include _ripple-color(mdc-theme-color.prop-value(if($is-filled, on-primary, primary)));
32
+ }
33
+
34
+ &.mat-accent {
35
+ @include _ripple-color(mdc-theme-color.prop-value(if($is-filled, on-secondary, secondary)));
36
+ }
37
+
38
+ &.mat-warn {
39
+ @include _ripple-color(mdc-theme-color.prop-value(if($is-filled, on-error, error)));
40
+ }
26
41
  }
27
42
 
28
43
  // Wraps the content style in a selector for the disabled state.
@@ -37,14 +52,6 @@ $fab-state-target: '.mdc-fab__ripple';
37
52
  }
38
53
  }
39
54
 
40
- // Applies the disabled theme background color for raised buttons. Value is taken from
41
- // mixin `mdc-button--filled`.
42
- // TODO(andrewseguin): Discuss with the MDC team about providing a variable for the 0.12 value
43
- // or otherwise have a mixin we can call to apply this style for both button and anchors.
44
- @mixin apply-disabled-background() {
45
- @include mdc-theme.prop(background-color, rgba(mdc-theme-color.prop-value(on-surface), 0.12));
46
- }
47
-
48
55
  // Hides the touch target on lower densities.
49
56
  @mixin touch-target-density($scale) {
50
57
  @if ($scale == -2 or $scale == 'minimum') {
@@ -1,146 +1,184 @@
1
+ @use 'sass:map';
1
2
  @use '@material/button/button' as mdc-button;
2
3
  @use '@material/button/button-theme' as mdc-button-theme;
3
- @use '@material/ripple/ripple-theme' as mdc-ripple-theme;
4
+ @use '@material/button/button-text-theme' as mdc-button-text-theme;
5
+ @use '@material/button/button-filled-theme' as mdc-button-filled-theme;
6
+ @use '@material/button/button-protected-theme' as mdc-button-protected-theme;
7
+ @use '@material/button/button-outlined-theme' as mdc-button-outlined-theme;
4
8
  @use '@material/theme/theme-color' as mdc-theme-color;
5
- @use '@material/theme/theme' as mdc-theme;
6
- @use '@material/elevation/elevation-theme' as mdc-elevation-theme;
7
- @use '../../material/core/ripple/ripple-theme';
8
9
  @use '../../material/core/typography/typography';
9
10
  @use '../mdc-helpers/mdc-helpers';
10
11
  @use '../../material/core/theming/theming';
11
12
  @use './button-theme-private';
12
13
 
14
+ @mixin _button-variant($color) {
15
+ @include mdc-button-text-theme.theme((
16
+ label-text-color: $color,
17
+ ));
18
+ }
19
+
20
+ @mixin _unelevated-button-variant($foreground, $background) {
21
+ @include mdc-button-filled-theme.theme((
22
+ container-color: $background,
23
+ label-text-color: $foreground,
24
+ ));
25
+ }
26
+
27
+ @mixin _raised-button-variant($foreground, $background) {
28
+ @include mdc-button-protected-theme.theme((
29
+ container-color: $background,
30
+ label-text-color: $foreground,
31
+ ));
32
+ }
33
+
34
+ @mixin _outlined-button-variant($color) {
35
+ @include mdc-button-outlined-theme.theme((
36
+ label-text-color: $color,
37
+ ));
38
+ }
39
+
13
40
  @mixin color($config-or-theme) {
14
41
  $config: theming.get-color-config($config-or-theme);
15
42
  @include mdc-helpers.mat-using-mdc-theme($config) {
16
- // Add state interactions for hover, focus, press, active. Colors are changed based on
17
- // the mixin mdc-states-base-color
18
- .mat-mdc-button, .mat-mdc-raised-button, .mat-mdc-unelevated-button, .mat-mdc-outlined-button {
19
- @include mdc-ripple-theme.states(
20
- $query: mdc-helpers.$mat-theme-styles-query,
21
- $ripple-target: button-theme-private.$button-state-target);
22
- }
23
-
24
- .mat-mdc-button, .mat-mdc-outlined-button {
43
+ $is-dark: map.get($config, is-dark);
44
+ $on-surface: mdc-theme-color.prop-value(on-surface);
45
+ $surface: mdc-theme-color.prop-value(surface);
46
+ $disabled-ink-color: rgba($on-surface, if($is-dark, 0.5, 0.38));
47
+ $disabled-container-color: rgba($on-surface, 0.12);
48
+ $primary: mdc-theme-color.prop-value(primary);
49
+ $on-primary: mdc-theme-color.prop-value(on-primary);
50
+ $secondary: mdc-theme-color.prop-value(secondary);
51
+ $on-secondary: mdc-theme-color.prop-value(on-secondary);
52
+ $error: mdc-theme-color.prop-value(error);
53
+ $on-error: mdc-theme-color.prop-value(on-error);
54
+
55
+ .mat-mdc-button {
25
56
  &.mat-unthemed {
26
- @include mdc-button-theme.ink-color(mdc-theme-color.$on-surface,
27
- $query: mdc-helpers.$mat-theme-styles-query);
57
+ @include _button-variant($on-surface);
28
58
  }
29
59
 
30
60
  &.mat-primary {
31
- @include mdc-button-theme.ink-color(primary, $query: mdc-helpers.$mat-theme-styles-query);
32
- @include mdc-ripple-theme.states-base-color(primary,
33
- $query: mdc-helpers.$mat-theme-styles-query,
34
- $ripple-target: button-theme-private.$button-state-target);
35
- @include button-theme-private.ripple-ink-color(primary);
61
+ @include _button-variant($primary);
36
62
  }
37
63
 
38
64
  &.mat-accent {
39
- @include mdc-button-theme.ink-color(secondary, $query: mdc-helpers.$mat-theme-styles-query);
40
- @include mdc-ripple-theme.states-base-color(secondary,
41
- $query: mdc-helpers.$mat-theme-styles-query,
42
- $ripple-target: button-theme-private.$button-state-target);
43
- @include button-theme-private.ripple-ink-color(secondary);
65
+ @include _button-variant($secondary);
44
66
  }
45
67
 
46
68
  &.mat-warn {
47
- @include mdc-button-theme.ink-color(error, $query: mdc-helpers.$mat-theme-styles-query);
48
- @include mdc-ripple-theme.states-base-color(error,
49
- $query: mdc-helpers.$mat-theme-styles-query,
50
- $ripple-target: button-theme-private.$button-state-target);
51
- @include button-theme-private.ripple-ink-color(error);
69
+ @include _button-variant($error);
70
+ }
71
+
72
+ @include button-theme-private.apply-disabled-style() {
73
+ @include mdc-button-text-theme.theme((
74
+ // We need to pass both the disabled and enabled values, because the enabled
75
+ // ones apply to anchors while the disabled ones are for buttons.
76
+ disabled-label-text-color: $disabled-ink-color,
77
+ label-text-color: $disabled-ink-color
78
+ ));
52
79
  }
53
80
  }
54
81
 
55
- .mat-mdc-raised-button,
56
82
  .mat-mdc-unelevated-button {
57
83
  &.mat-unthemed {
58
- @include mdc-button-theme.container-fill-color(mdc-theme-color.$surface,
59
- $query: mdc-helpers.$mat-theme-styles-query);
60
- @include mdc-button-theme.ink-color(mdc-theme-color.$on-surface,
61
- $query: mdc-helpers.$mat-theme-styles-query);
62
- @include mdc-ripple-theme.states-base-color(mdc-theme-color.$on-surface,
63
- $query: mdc-helpers.$mat-theme-styles-query,
64
- $ripple-target: button-theme-private.$button-state-target);
84
+ @include _unelevated-button-variant($on-surface, $surface);
65
85
  }
66
86
 
67
87
  &.mat-primary {
68
- @include mdc-button-theme.container-fill-color(primary,
69
- $query: mdc-helpers.$mat-theme-styles-query);
70
- @include mdc-button-theme.ink-color(on-primary,
71
- $query: mdc-helpers.$mat-theme-styles-query);
72
- @include mdc-ripple-theme.states-base-color(on-primary,
73
- $query: mdc-helpers.$mat-theme-styles-query,
74
- $ripple-target: button-theme-private.$button-state-target);
75
- @include button-theme-private.ripple-ink-color(on-primary);
88
+ @include _unelevated-button-variant($on-primary, $primary);
76
89
  }
77
90
 
78
91
  &.mat-accent {
79
- @include mdc-button-theme.container-fill-color(secondary,
80
- $query: mdc-helpers.$mat-theme-styles-query);
81
- @include mdc-button-theme.ink-color(on-secondary,
82
- $query: mdc-helpers.$mat-theme-styles-query);
83
- @include mdc-ripple-theme.states-base-color(on-secondary,
84
- $query: mdc-helpers.$mat-theme-styles-query,
85
- $ripple-target: button-theme-private.$button-state-target);
86
- @include button-theme-private.ripple-ink-color(on-secondary);
92
+ @include _unelevated-button-variant($on-secondary, $secondary);
87
93
  }
88
94
 
89
95
  &.mat-warn {
90
- @include mdc-button-theme.container-fill-color(error,
91
- $query: mdc-helpers.$mat-theme-styles-query);
92
- @include mdc-button-theme.ink-color(on-error, $query: mdc-helpers.$mat-theme-styles-query);
93
- @include mdc-ripple-theme.states-base-color(on-error,
94
- $query: mdc-helpers.$mat-theme-styles-query,
95
- $ripple-target: button-theme-private.$button-state-target);
96
- @include button-theme-private.ripple-ink-color(on-error);
96
+ @include _unelevated-button-variant($on-error, $error);
97
97
  }
98
98
 
99
99
  @include button-theme-private.apply-disabled-style() {
100
- @include button-theme-private.apply-disabled-background();
100
+ @include mdc-button-filled-theme.theme((
101
+ // We need to pass both the disabled and enabled values, because the enabled
102
+ // ones apply to anchors while the disabled ones are for buttons.
103
+ disabled-container-color: $disabled-container-color,
104
+ disabled-label-text-color: $disabled-ink-color,
105
+ container-color: $disabled-container-color,
106
+ label-text-color: $disabled-ink-color,
107
+ ));
101
108
  }
102
109
  }
103
110
 
104
- .mat-mdc-outlined-button {
111
+ .mat-mdc-raised-button {
105
112
  &.mat-unthemed {
106
- @include mdc-button-theme.outline-color(mdc-theme-color.$on-surface,
107
- $query: mdc-helpers.$mat-theme-styles-query);
113
+ @include _raised-button-variant($on-surface, $surface);
108
114
  }
109
115
 
110
116
  &.mat-primary {
111
- @include mdc-button-theme.outline-color(primary,
112
- $query: mdc-helpers.$mat-theme-styles-query);
117
+ @include _raised-button-variant($on-primary, $primary);
113
118
  }
114
119
 
115
120
  &.mat-accent {
116
- @include mdc-button-theme.outline-color(secondary,
117
- $query: mdc-helpers.$mat-theme-styles-query);
121
+ @include _raised-button-variant($on-secondary, $secondary);
118
122
  }
119
123
 
120
124
  &.mat-warn {
121
- @include mdc-button-theme.outline-color(error,
122
- $query: mdc-helpers.$mat-theme-styles-query);
125
+ @include _raised-button-variant($on-error, $error);
123
126
  }
124
127
 
125
128
  @include button-theme-private.apply-disabled-style() {
126
- @include mdc-theme.prop(border-color,
127
- mdc-theme-color.ink-color-for-fill_(disabled, mdc-theme-color.$background));
129
+ @include mdc-button-protected-theme.theme((
130
+ // We need to pass both the disabled and enabled values, because the enabled
131
+ // ones apply to anchors while the disabled ones are for buttons.
132
+ disabled-container-color: $disabled-container-color,
133
+ disabled-label-text-color: $disabled-ink-color,
134
+ container-color: $disabled-container-color,
135
+ label-text-color: $disabled-ink-color,
136
+ container-elevation: 0,
137
+ ));
128
138
  }
129
139
  }
130
140
 
131
- .mat-mdc-raised-button {
132
- @include button-theme-private.apply-disabled-style() {
133
- @include mdc-elevation-theme.elevation(0, $query: mdc-helpers.$mat-theme-styles-query);
141
+ .mat-mdc-outlined-button {
142
+ @include mdc-button-outlined-theme.theme((
143
+ outline-color: rgba(mdc-theme-color.prop-value(on-surface), 0.12)
144
+ ));
145
+
146
+ &.mat-unthemed {
147
+ @include _outlined-button-variant($on-surface);
148
+ }
149
+
150
+ &.mat-primary {
151
+ @include _outlined-button-variant($primary);
152
+ }
153
+
154
+ &.mat-accent {
155
+ @include _outlined-button-variant($secondary);
156
+ }
157
+
158
+ &.mat-warn {
159
+ @include _outlined-button-variant($error);
134
160
  }
135
- }
136
161
 
137
- .mat-mdc-button, .mat-mdc-raised-button, .mat-mdc-unelevated-button, .mat-mdc-outlined-button {
138
162
  @include button-theme-private.apply-disabled-style() {
139
- @include button-theme-private.apply-disabled-color();
163
+ @include mdc-button-outlined-theme.theme((
164
+ // We need to pass both the disabled and enabled values, because the enabled
165
+ // ones apply to anchors while the disabled ones are for buttons.
166
+ label-text-color: $disabled-ink-color,
167
+ disabled-label-text-color: $disabled-ink-color,
168
+ outline-color: rgba($on-surface, 0.12),
169
+ disabled-outline-color: rgba($on-surface, 0.12),
170
+ ));
140
171
  }
141
172
  }
142
173
 
143
- @include mdc-button.without-ripple($query: mdc-helpers.$mat-theme-styles-query);
174
+ // Ripple colors
175
+ .mat-mdc-button, .mat-mdc-outlined-button {
176
+ @include button-theme-private.ripple-theme-styles($config, false);
177
+ }
178
+
179
+ .mat-mdc-raised-button, .mat-mdc-unelevated-button {
180
+ @include button-theme-private.ripple-theme-styles($config, true);
181
+ }
144
182
  }
145
183
  }
146
184
 
@@ -1,68 +1,62 @@
1
+ @use 'sass:map';
1
2
  @use '@material/fab/fab' as mdc-fab;
2
3
  @use '@material/fab/fab-theme' as mdc-fab-theme;
3
- @use '@material/ripple/ripple-theme' as mdc-ripple-theme;
4
- @use '@material/elevation/elevation-theme' as mdc-elevation-theme;
5
4
  @use '@material/theme/theme-color' as mdc-theme-color;
6
5
  @use '../mdc-helpers/mdc-helpers';
7
6
  @use '../../material/core/theming/theming';
8
7
  @use '../../material/core/typography/typography';
9
8
  @use './button-theme-private';
10
9
 
10
+ @mixin _fab-variant($foreground, $background) {
11
+ @include mdc-fab-theme.theme((
12
+ container-color: $background,
13
+ icon-color: $foreground,
14
+ ));
15
+
16
+ --mat-mdc-fab-color: #{$foreground};
17
+ }
18
+
11
19
  @mixin color($config-or-theme) {
12
20
  $config: theming.get-color-config($config-or-theme);
13
21
  @include mdc-helpers.mat-using-mdc-theme($config) {
22
+ $on-surface: mdc-theme-color.prop-value(on-surface);
23
+ $is-dark: map.get($config, is-dark);
24
+
14
25
  .mat-mdc-fab, .mat-mdc-mini-fab {
15
- @include mdc-ripple-theme.states(
16
- $query: mdc-helpers.$mat-theme-styles-query,
17
- $ripple-target: button-theme-private.$fab-state-target);
26
+ @include button-theme-private.ripple-theme-styles($config, true);
18
27
 
19
28
  &.mat-unthemed {
20
- @include mdc-ripple-theme.states-base-color(mdc-theme-color.$on-surface,
21
- $query: mdc-helpers.$mat-theme-styles-query,
22
- $ripple-target: button-theme-private.$fab-state-target);
23
- @include mdc-fab-theme.container-color(mdc-theme-color.$on-surface,
24
- $query: mdc-helpers.$mat-theme-styles-query);
25
- @include mdc-fab-theme.ink-color(mdc-theme-color.$on-surface,
26
- $query: mdc-helpers.$mat-theme-styles-query);
29
+ @include _fab-variant($on-surface, mdc-theme-color.prop-value(surface));
27
30
  }
28
31
 
29
32
  &.mat-primary {
30
- @include mdc-ripple-theme.states-base-color(on-primary,
31
- $query: mdc-helpers.$mat-theme-styles-query,
32
- $ripple-target: button-theme-private.$fab-state-target);
33
- @include mdc-fab-theme.container-color(primary,
34
- $query: mdc-helpers.$mat-theme-styles-query);
35
- @include mdc-fab-theme.ink-color(on-primary, $query: mdc-helpers.$mat-theme-styles-query);
36
- @include button-theme-private.ripple-ink-color(on-primary);
33
+ @include _fab-variant(
34
+ mdc-theme-color.prop-value(on-primary),
35
+ mdc-theme-color.prop-value(primary)
36
+ );
37
37
  }
38
38
 
39
39
  &.mat-accent {
40
- @include mdc-ripple-theme.states-base-color(on-secondary,
41
- $query: mdc-helpers.$mat-theme-styles-query,
42
- $ripple-target: button-theme-private.$fab-state-target);
43
- @include mdc-fab-theme.container-color(secondary,
44
- $query: mdc-helpers.$mat-theme-styles-query);
45
- @include mdc-fab-theme.ink-color(on-secondary, $query: mdc-helpers.$mat-theme-styles-query);
46
- @include button-theme-private.ripple-ink-color(on-secondary);
40
+ @include _fab-variant(
41
+ mdc-theme-color.prop-value(on-secondary),
42
+ mdc-theme-color.prop-value(secondary)
43
+ );
47
44
  }
48
45
 
49
46
  &.mat-warn {
50
- @include mdc-ripple-theme.states-base-color(on-error,
51
- $query: mdc-helpers.$mat-theme-styles-query,
52
- $ripple-target: button-theme-private.$fab-state-target);
53
- @include mdc-fab-theme.container-color(error, $query: mdc-helpers.$mat-theme-styles-query);
54
- @include mdc-fab-theme.ink-color(on-error, $query: mdc-helpers.$mat-theme-styles-query);
55
- @include button-theme-private.ripple-ink-color(on-error);
47
+ @include _fab-variant(
48
+ mdc-theme-color.prop-value(on-error),
49
+ mdc-theme-color.prop-value(error)
50
+ );
56
51
  }
57
52
 
58
53
  @include button-theme-private.apply-disabled-style() {
59
- @include button-theme-private.apply-disabled-color();
60
- @include button-theme-private.apply-disabled-background();
61
- @include mdc-elevation-theme.elevation(0, $query: mdc-helpers.$mat-theme-styles-query);
54
+ @include _fab-variant(
55
+ rgba($on-surface, if(map.get($config, is-dark), 0.5, 0.38)),
56
+ rgba($on-surface, 0.12)
57
+ );
62
58
  }
63
59
  }
64
-
65
- @include mdc-fab.without-ripple($query: mdc-helpers.$mat-theme-styles-query);
66
60
  }
67
61
  }
68
62