@angular/material-experimental 13.1.0-next.3 → 13.1.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 (232) hide show
  1. package/LICENSE +1 -1
  2. package/column-resize/_column-resize-theme.scss +51 -15
  3. package/column-resize/overlay-handle.d.ts +1 -0
  4. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  5. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +3 -3
  6. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +3 -3
  7. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +3 -3
  8. package/esm2020/column-resize/column-resize-module.mjs +12 -12
  9. package/esm2020/column-resize/overlay-handle.mjs +13 -8
  10. package/esm2020/column-resize/resizable-directives/default-enabled-resizable.mjs +3 -3
  11. package/esm2020/column-resize/resizable-directives/resizable.mjs +3 -3
  12. package/esm2020/column-resize/resize-strategy.mjs +3 -3
  13. package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +3 -3
  14. package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +3 -3
  15. package/esm2020/mdc-autocomplete/autocomplete.mjs +3 -3
  16. package/esm2020/mdc-autocomplete/module.mjs +4 -4
  17. package/esm2020/mdc-button/button-base.mjs +14 -7
  18. package/esm2020/mdc-button/button.mjs +8 -8
  19. package/esm2020/mdc-button/fab.mjs +18 -18
  20. package/esm2020/mdc-button/icon-button.mjs +6 -6
  21. package/esm2020/mdc-button/module.mjs +4 -4
  22. package/esm2020/mdc-card/card.mjs +43 -43
  23. package/esm2020/mdc-card/module.mjs +4 -4
  24. package/esm2020/mdc-checkbox/checkbox.mjs +5 -5
  25. package/esm2020/mdc-checkbox/module.mjs +4 -4
  26. package/esm2020/mdc-chips/chip-edit-input.mjs +3 -3
  27. package/esm2020/mdc-chips/chip-grid.mjs +4 -6
  28. package/esm2020/mdc-chips/chip-icons.mjs +17 -10
  29. package/esm2020/mdc-chips/chip-input.mjs +4 -4
  30. package/esm2020/mdc-chips/chip-listbox.mjs +4 -4
  31. package/esm2020/mdc-chips/chip-option.mjs +4 -4
  32. package/esm2020/mdc-chips/chip-row.mjs +5 -5
  33. package/esm2020/mdc-chips/chip-set.mjs +4 -4
  34. package/esm2020/mdc-chips/chip.mjs +8 -8
  35. package/esm2020/mdc-chips/module.mjs +4 -4
  36. package/esm2020/mdc-core/option/index.mjs +4 -4
  37. package/esm2020/mdc-core/option/optgroup.mjs +3 -3
  38. package/esm2020/mdc-core/option/option.mjs +3 -3
  39. package/esm2020/mdc-dialog/dialog-container.mjs +4 -4
  40. package/esm2020/mdc-dialog/dialog-content-directives.mjs +12 -12
  41. package/esm2020/mdc-dialog/dialog.mjs +3 -3
  42. package/esm2020/mdc-dialog/module.mjs +4 -4
  43. package/esm2020/mdc-form-field/directives/error.mjs +3 -3
  44. package/esm2020/mdc-form-field/directives/floating-label.mjs +3 -3
  45. package/esm2020/mdc-form-field/directives/hint.mjs +3 -3
  46. package/esm2020/mdc-form-field/directives/label.mjs +3 -3
  47. package/esm2020/mdc-form-field/directives/line-ripple.mjs +3 -3
  48. package/esm2020/mdc-form-field/directives/notched-outline.mjs +3 -3
  49. package/esm2020/mdc-form-field/directives/prefix.mjs +3 -3
  50. package/esm2020/mdc-form-field/directives/suffix.mjs +3 -3
  51. package/esm2020/mdc-form-field/form-field.mjs +4 -4
  52. package/esm2020/mdc-form-field/module.mjs +4 -4
  53. package/esm2020/mdc-input/input.mjs +3 -3
  54. package/esm2020/mdc-input/module.mjs +4 -4
  55. package/esm2020/mdc-list/action-list.mjs +4 -4
  56. package/esm2020/mdc-list/interactive-list-base.mjs +12 -10
  57. package/esm2020/mdc-list/list-base.mjs +7 -7
  58. package/esm2020/mdc-list/list-option.mjs +6 -6
  59. package/esm2020/mdc-list/list-styling.mjs +12 -12
  60. package/esm2020/mdc-list/list.mjs +7 -7
  61. package/esm2020/mdc-list/module.mjs +4 -4
  62. package/esm2020/mdc-list/nav-list.mjs +4 -4
  63. package/esm2020/mdc-list/selection-list.mjs +6 -6
  64. package/esm2020/mdc-menu/directives.mjs +6 -6
  65. package/esm2020/mdc-menu/menu-item.mjs +3 -3
  66. package/esm2020/mdc-menu/menu.mjs +3 -3
  67. package/esm2020/mdc-menu/module.mjs +4 -4
  68. package/esm2020/mdc-paginator/module.mjs +4 -4
  69. package/esm2020/mdc-paginator/paginator.mjs +3 -3
  70. package/esm2020/mdc-progress-bar/module.mjs +4 -4
  71. package/esm2020/mdc-progress-bar/progress-bar.mjs +4 -4
  72. package/esm2020/mdc-progress-spinner/module.mjs +4 -4
  73. package/esm2020/mdc-progress-spinner/progress-spinner.mjs +4 -4
  74. package/esm2020/mdc-radio/module.mjs +4 -4
  75. package/esm2020/mdc-radio/radio.mjs +7 -7
  76. package/esm2020/mdc-select/module.mjs +4 -4
  77. package/esm2020/mdc-select/select.mjs +8 -8
  78. package/esm2020/mdc-sidenav/module.mjs +4 -4
  79. package/esm2020/mdc-slide-toggle/module.mjs +4 -4
  80. package/esm2020/mdc-slide-toggle/slide-toggle.mjs +5 -5
  81. package/esm2020/mdc-slider/global-change-and-input-listener.mjs +3 -3
  82. package/esm2020/mdc-slider/module.mjs +4 -4
  83. package/esm2020/mdc-slider/slider.mjs +44 -26
  84. package/esm2020/mdc-snack-bar/module.mjs +4 -4
  85. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +3 -3
  86. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +4 -4
  87. package/esm2020/mdc-snack-bar/snack-bar-content.mjs +9 -9
  88. package/esm2020/mdc-snack-bar/snack-bar.mjs +3 -3
  89. package/esm2020/mdc-table/cell.mjs +21 -21
  90. package/esm2020/mdc-table/module.mjs +4 -4
  91. package/esm2020/mdc-table/row.mjs +21 -21
  92. package/esm2020/mdc-table/table.mjs +8 -8
  93. package/esm2020/mdc-table/text-column.mjs +3 -3
  94. package/esm2020/mdc-tabs/module.mjs +4 -4
  95. package/esm2020/mdc-tabs/tab-body.mjs +6 -6
  96. package/esm2020/mdc-tabs/tab-content.mjs +3 -3
  97. package/esm2020/mdc-tabs/tab-group.mjs +6 -6
  98. package/esm2020/mdc-tabs/tab-header.mjs +12 -5
  99. package/esm2020/mdc-tabs/tab-label-wrapper.mjs +4 -4
  100. package/esm2020/mdc-tabs/tab-label.mjs +3 -3
  101. package/esm2020/mdc-tabs/tab-nav-bar/tab-nav-bar.mjs +8 -8
  102. package/esm2020/mdc-tabs/tab.mjs +3 -3
  103. package/esm2020/mdc-tooltip/module.mjs +4 -4
  104. package/esm2020/mdc-tooltip/tooltip.mjs +8 -8
  105. package/esm2020/menubar/menubar-item.mjs +3 -3
  106. package/esm2020/menubar/menubar-module.mjs +4 -4
  107. package/esm2020/menubar/menubar.mjs +3 -3
  108. package/esm2020/popover-edit/lens-directives.mjs +9 -9
  109. package/esm2020/popover-edit/popover-edit-module.mjs +4 -4
  110. package/esm2020/popover-edit/table-directives.mjs +12 -12
  111. package/esm2020/selection/row-selection.mjs +3 -3
  112. package/esm2020/selection/select-all.mjs +3 -3
  113. package/esm2020/selection/selection-column.mjs +3 -3
  114. package/esm2020/selection/selection-module.mjs +4 -4
  115. package/esm2020/selection/selection-toggle.mjs +3 -3
  116. package/esm2020/selection/selection.mjs +3 -3
  117. package/esm2020/version.mjs +1 -1
  118. package/fesm2015/column-resize.mjs +45 -40
  119. package/fesm2015/column-resize.mjs.map +1 -1
  120. package/fesm2015/material-experimental.mjs +1 -1
  121. package/fesm2015/material-experimental.mjs.map +1 -1
  122. package/fesm2015/mdc-autocomplete.mjs +13 -13
  123. package/fesm2015/mdc-button.mjs +40 -40
  124. package/fesm2015/mdc-button.mjs.map +1 -1
  125. package/fesm2015/mdc-card.mjs +47 -47
  126. package/fesm2015/mdc-checkbox.mjs +8 -8
  127. package/fesm2015/mdc-checkbox.mjs.map +1 -1
  128. package/fesm2015/mdc-chips.mjs +49 -44
  129. package/fesm2015/mdc-chips.mjs.map +1 -1
  130. package/fesm2015/mdc-core.mjs +10 -10
  131. package/fesm2015/mdc-dialog.mjs +23 -23
  132. package/fesm2015/mdc-form-field.mjs +31 -31
  133. package/fesm2015/mdc-form-field.mjs.map +1 -1
  134. package/fesm2015/mdc-input.mjs +7 -7
  135. package/fesm2015/mdc-list.mjs +58 -56
  136. package/fesm2015/mdc-list.mjs.map +1 -1
  137. package/fesm2015/mdc-menu.mjs +16 -16
  138. package/fesm2015/mdc-paginator.mjs +7 -7
  139. package/fesm2015/mdc-progress-bar.mjs +8 -8
  140. package/fesm2015/mdc-progress-spinner.mjs +7 -7
  141. package/fesm2015/mdc-progress-spinner.mjs.map +1 -1
  142. package/fesm2015/mdc-radio.mjs +11 -11
  143. package/fesm2015/mdc-select.mjs +12 -12
  144. package/fesm2015/mdc-sidenav.mjs +4 -4
  145. package/fesm2015/mdc-slide-toggle.mjs +8 -8
  146. package/fesm2015/mdc-slide-toggle.mjs.map +1 -1
  147. package/fesm2015/mdc-slider.mjs +50 -32
  148. package/fesm2015/mdc-slider.mjs.map +1 -1
  149. package/fesm2015/mdc-snack-bar.mjs +23 -23
  150. package/fesm2015/mdc-table.mjs +57 -57
  151. package/fesm2015/mdc-tabs.mjs +45 -38
  152. package/fesm2015/mdc-tabs.mjs.map +1 -1
  153. package/fesm2015/mdc-tooltip.mjs +11 -11
  154. package/fesm2015/mdc-tooltip.mjs.map +1 -1
  155. package/fesm2015/menubar.mjs +10 -10
  156. package/fesm2015/popover-edit.mjs +25 -25
  157. package/fesm2015/selection.mjs +19 -19
  158. package/fesm2020/column-resize.mjs +45 -40
  159. package/fesm2020/column-resize.mjs.map +1 -1
  160. package/fesm2020/material-experimental.mjs +1 -1
  161. package/fesm2020/material-experimental.mjs.map +1 -1
  162. package/fesm2020/mdc-autocomplete.mjs +13 -13
  163. package/fesm2020/mdc-button.mjs +48 -41
  164. package/fesm2020/mdc-button.mjs.map +1 -1
  165. package/fesm2020/mdc-card.mjs +47 -47
  166. package/fesm2020/mdc-checkbox.mjs +8 -8
  167. package/fesm2020/mdc-checkbox.mjs.map +1 -1
  168. package/fesm2020/mdc-chips.mjs +49 -44
  169. package/fesm2020/mdc-chips.mjs.map +1 -1
  170. package/fesm2020/mdc-core.mjs +10 -10
  171. package/fesm2020/mdc-dialog.mjs +23 -23
  172. package/fesm2020/mdc-form-field.mjs +31 -31
  173. package/fesm2020/mdc-form-field.mjs.map +1 -1
  174. package/fesm2020/mdc-input.mjs +7 -7
  175. package/fesm2020/mdc-list.mjs +58 -56
  176. package/fesm2020/mdc-list.mjs.map +1 -1
  177. package/fesm2020/mdc-menu.mjs +16 -16
  178. package/fesm2020/mdc-paginator.mjs +7 -7
  179. package/fesm2020/mdc-progress-bar.mjs +8 -8
  180. package/fesm2020/mdc-progress-spinner.mjs +7 -7
  181. package/fesm2020/mdc-progress-spinner.mjs.map +1 -1
  182. package/fesm2020/mdc-radio.mjs +11 -11
  183. package/fesm2020/mdc-select.mjs +12 -12
  184. package/fesm2020/mdc-sidenav.mjs +4 -4
  185. package/fesm2020/mdc-slide-toggle.mjs +8 -8
  186. package/fesm2020/mdc-slide-toggle.mjs.map +1 -1
  187. package/fesm2020/mdc-slider.mjs +50 -32
  188. package/fesm2020/mdc-slider.mjs.map +1 -1
  189. package/fesm2020/mdc-snack-bar.mjs +23 -23
  190. package/fesm2020/mdc-table.mjs +57 -57
  191. package/fesm2020/mdc-tabs.mjs +45 -38
  192. package/fesm2020/mdc-tabs.mjs.map +1 -1
  193. package/fesm2020/mdc-tooltip.mjs +11 -11
  194. package/fesm2020/mdc-tooltip.mjs.map +1 -1
  195. package/fesm2020/menubar.mjs +10 -10
  196. package/fesm2020/popover-edit.mjs +25 -25
  197. package/fesm2020/selection.mjs +19 -19
  198. package/mdc-button/button-base.d.ts +0 -3
  199. package/mdc-button/fab.d.ts +5 -7
  200. package/mdc-checkbox/_checkbox-theme.scss +32 -39
  201. package/mdc-checkbox/checkbox.d.ts +4 -9
  202. package/mdc-chips/chip-grid.d.ts +2 -4
  203. package/mdc-chips/chip-icons.d.ts +0 -3
  204. package/mdc-chips/chip-input.d.ts +2 -4
  205. package/mdc-chips/chip-listbox.d.ts +3 -6
  206. package/mdc-chips/chip-option.d.ts +2 -4
  207. package/mdc-chips/chip-row.d.ts +0 -2
  208. package/mdc-chips/chip-set.d.ts +2 -4
  209. package/mdc-chips/chip.d.ts +4 -9
  210. package/mdc-form-field/form-field.d.ts +1 -2
  211. package/mdc-helpers/_focus-indicators.scss +4 -0
  212. package/mdc-list/_list-option-theme.scss +2 -2
  213. package/mdc-list/_list-theme.scss +7 -3
  214. package/mdc-list/list-base.d.ts +3 -7
  215. package/mdc-list/list-option.d.ts +1 -2
  216. package/mdc-list/selection-list.d.ts +1 -2
  217. package/mdc-progress-spinner/progress-spinner.d.ts +3 -6
  218. package/mdc-select/_select-theme.scss +6 -27
  219. package/mdc-slide-toggle/slide-toggle.d.ts +5 -10
  220. package/mdc-slider/slider.d.ts +20 -16
  221. package/mdc-table/_table-theme.scss +1 -1
  222. package/mdc-tabs/_tabs-common.scss +0 -1
  223. package/mdc-tabs/tab-group.d.ts +1 -2
  224. package/mdc-tabs/tab-header.d.ts +0 -2
  225. package/mdc-tabs/tab-label-wrapper.d.ts +1 -2
  226. package/mdc-tabs/tab-nav-bar/tab-nav-bar.d.ts +1 -3
  227. package/mdc-theming/prebuilt/deeppurple-amber.css +1 -0
  228. package/mdc-theming/prebuilt/indigo-pink.css +1 -1
  229. package/mdc-theming/prebuilt/pink-bluegrey.css +1 -0
  230. package/mdc-theming/prebuilt/purple-green.css +1 -0
  231. package/mdc-tooltip/_tooltip-theme.scss +1 -1
  232. package/package.json +17 -3
@@ -58,9 +58,9 @@ class GlobalChangeAndInputListener {
58
58
  return fromEvent(this._document, type, { capture: true, passive: true }).pipe(takeUntil(this._destroyed), finalize(() => this._observables.delete(type)), share());
59
59
  }
60
60
  }
61
- GlobalChangeAndInputListener.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GlobalChangeAndInputListener, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
62
- GlobalChangeAndInputListener.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GlobalChangeAndInputListener, providedIn: 'root' });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: GlobalChangeAndInputListener, decorators: [{
61
+ GlobalChangeAndInputListener.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: GlobalChangeAndInputListener, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
62
+ GlobalChangeAndInputListener.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: GlobalChangeAndInputListener, providedIn: 'root' });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: GlobalChangeAndInputListener, decorators: [{
64
64
  type: Injectable,
65
65
  args: [{ providedIn: 'root' }]
66
66
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -206,17 +206,24 @@ class MatSliderVisualThumb {
206
206
  _getKnob() {
207
207
  return this._knob.nativeElement;
208
208
  }
209
+ /**
210
+ * Gets the native HTML element of the slider thumb value indicator
211
+ * container.
212
+ */
213
+ _getValueIndicatorContainer() {
214
+ return this._valueIndicatorContainer.nativeElement;
215
+ }
209
216
  }
210
- MatSliderVisualThumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSliderVisualThumb, deps: [{ token: i0.NgZone }, { token: forwardRef(() => MatSlider) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
211
- MatSliderVisualThumb.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MatSliderVisualThumb, selector: "mat-slider-visual-thumb", inputs: { discrete: "discrete", thumbPosition: "thumbPosition", valueIndicatorText: "valueIndicatorText", disableRipple: "disableRipple" }, host: { properties: { "class.mdc-slider__thumb--short-value": "_isShortValue()" }, classAttribute: "mdc-slider__thumb mat-mdc-slider-visual-thumb" }, viewQueries: [{ propertyName: "_ripple", first: true, predicate: MatRipple, descendants: true }, { propertyName: "_knob", first: true, predicate: ["knob"], descendants: true }], ngImport: i0, template: "<div class=\"mdc-slider__value-indicator-container\" *ngIf=\"discrete\">\n <div class=\"mdc-slider__value-indicator\">\n <span class=\"mdc-slider__value-indicator-text\">{{valueIndicatorText}}</span>\n </div>\n</div>\n<div class=\"mdc-slider__thumb-knob\" #knob></div>\n<div\n matRipple\n class=\"mat-mdc-focus-indicator\"\n [matRippleDisabled]=\"true\"></div>\n", styles: [".mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
212
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSliderVisualThumb, decorators: [{
217
+ MatSliderVisualThumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSliderVisualThumb, deps: [{ token: i0.NgZone }, { token: forwardRef(() => MatSlider) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
218
+ MatSliderVisualThumb.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: MatSliderVisualThumb, selector: "mat-slider-visual-thumb", inputs: { discrete: "discrete", thumbPosition: "thumbPosition", valueIndicatorText: "valueIndicatorText", disableRipple: "disableRipple" }, host: { properties: { "class.mdc-slider__thumb--short-value": "_isShortValue()" }, classAttribute: "mdc-slider__thumb mat-mdc-slider-visual-thumb" }, viewQueries: [{ propertyName: "_ripple", first: true, predicate: MatRipple, descendants: true }, { propertyName: "_knob", first: true, predicate: ["knob"], descendants: true }, { propertyName: "_valueIndicatorContainer", first: true, predicate: ["valueIndicatorContainer"], descendants: true }], ngImport: i0, template: "<div class=\"mdc-slider__value-indicator-container\" *ngIf=\"discrete\" #valueIndicatorContainer>\n <div class=\"mdc-slider__value-indicator\">\n <span class=\"mdc-slider__value-indicator-text\">{{valueIndicatorText}}</span>\n </div>\n</div>\n<div class=\"mdc-slider__thumb-knob\" #knob></div>\n<div\n matRipple\n class=\"mat-mdc-focus-indicator\"\n [matRippleDisabled]=\"true\"></div>\n", styles: [".mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}\n"], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
219
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSliderVisualThumb, decorators: [{
213
220
  type: Component,
214
221
  args: [{ selector: 'mat-slider-visual-thumb', host: {
215
222
  'class': 'mdc-slider__thumb mat-mdc-slider-visual-thumb',
216
223
  // NOTE: This class is used internally.
217
224
  // TODO(wagnermaciel): Remove this once it is handled by the mdc foundation (cl/388828896).
218
225
  '[class.mdc-slider__thumb--short-value]': '_isShortValue()',
219
- }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"mdc-slider__value-indicator-container\" *ngIf=\"discrete\">\n <div class=\"mdc-slider__value-indicator\">\n <span class=\"mdc-slider__value-indicator-text\">{{valueIndicatorText}}</span>\n </div>\n</div>\n<div class=\"mdc-slider__thumb-knob\" #knob></div>\n<div\n matRipple\n class=\"mat-mdc-focus-indicator\"\n [matRippleDisabled]=\"true\"></div>\n", styles: [".mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}\n"] }]
226
+ }, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"mdc-slider__value-indicator-container\" *ngIf=\"discrete\" #valueIndicatorContainer>\n <div class=\"mdc-slider__value-indicator\">\n <span class=\"mdc-slider__value-indicator-text\">{{valueIndicatorText}}</span>\n </div>\n</div>\n<div class=\"mdc-slider__thumb-knob\" #knob></div>\n<div\n matRipple\n class=\"mat-mdc-focus-indicator\"\n [matRippleDisabled]=\"true\"></div>\n", styles: [".mat-mdc-slider-visual-thumb .mat-ripple{height:100%;width:100%}\n"] }]
220
227
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: MatSlider, decorators: [{
221
228
  type: Inject,
222
229
  args: [forwardRef(() => MatSlider)]
@@ -234,6 +241,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
234
241
  }], _knob: [{
235
242
  type: ViewChild,
236
243
  args: ['knob']
244
+ }], _valueIndicatorContainer: [{
245
+ type: ViewChild,
246
+ args: ['valueIndicatorContainer']
237
247
  }] } });
238
248
  /**
239
249
  * Directive that adds slider-specific behaviors to an input element inside `<mat-slider>`.
@@ -441,15 +451,15 @@ class MatSliderThumb {
441
451
  this._hostElement.setAttribute('aria-valuetext', this._slider.displayWith(this.value));
442
452
  }
443
453
  }
444
- MatSliderThumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSliderThumb, deps: [{ token: DOCUMENT }, { token: forwardRef(() => MatSlider) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
445
- MatSliderThumb.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.1", type: MatSliderThumb, selector: "input[matSliderThumb], input[matSliderStartThumb], input[matSliderEndThumb]", inputs: { value: "value" }, outputs: { valueChange: "valueChange", dragStart: "dragStart", dragEnd: "dragEnd", _blur: "_blur", _focus: "_focus" }, host: { attributes: { "type": "range" }, listeners: { "blur": "_onBlur()", "focus": "_focus.emit()" }, classAttribute: "mdc-slider__input" }, providers: [
454
+ MatSliderThumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSliderThumb, deps: [{ token: DOCUMENT }, { token: forwardRef(() => MatSlider) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
455
+ MatSliderThumb.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.1.0", type: MatSliderThumb, selector: "input[matSliderThumb], input[matSliderStartThumb], input[matSliderEndThumb]", inputs: { value: "value" }, outputs: { valueChange: "valueChange", dragStart: "dragStart", dragEnd: "dragEnd", _blur: "_blur", _focus: "_focus" }, host: { attributes: { "type": "range" }, listeners: { "blur": "_onBlur()", "focus": "_focus.emit()" }, classAttribute: "mdc-slider__input" }, providers: [
446
456
  {
447
457
  provide: NG_VALUE_ACCESSOR,
448
458
  useExisting: MatSliderThumb,
449
459
  multi: true,
450
460
  },
451
461
  ], exportAs: ["matSliderThumb"], ngImport: i0 });
452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSliderThumb, decorators: [{
462
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSliderThumb, decorators: [{
453
463
  type: Directive,
454
464
  args: [{
455
465
  selector: 'input[matSliderThumb], input[matSliderStartThumb], input[matSliderEndThumb]',
@@ -585,6 +595,7 @@ class MatSlider extends _MatSliderMixinBase {
585
595
  }
586
596
  ngAfterViewInit() {
587
597
  if (typeof ngDevMode === 'undefined' || ngDevMode) {
598
+ _validateThumbs(this._isRange(), this._getThumb(Thumb.START), this._getThumb(Thumb.END));
588
599
  _validateInputs(this._isRange(), this._getInputElement(Thumb.START), this._getInputElement(Thumb.END));
589
600
  }
590
601
  if (this._platform.isBrowser) {
@@ -725,6 +736,13 @@ class MatSlider extends _MatSliderMixinBase {
725
736
  _getKnobElement(thumbPosition) {
726
737
  return this._getThumb(thumbPosition)._getKnob();
727
738
  }
739
+ /**
740
+ * Gets the slider value indicator container HTML element of the given thumb
741
+ * position.
742
+ */
743
+ _getValueIndicatorContainerElement(thumbPosition) {
744
+ return this._getThumb(thumbPosition)._getValueIndicatorContainer();
745
+ }
728
746
  /**
729
747
  * Sets the value indicator text of the given thumb position using the given value.
730
748
  *
@@ -754,9 +772,9 @@ class MatSlider extends _MatSliderMixinBase {
754
772
  return this.disabled || this.disableRipple || !!this._globalRippleOptions?.disabled;
755
773
  }
756
774
  }
757
- MatSlider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSlider, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i3.Platform }, { token: GlobalChangeAndInputListener }, { token: DOCUMENT }, { token: i5.Directionality, optional: true }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
758
- MatSlider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.1", type: MatSlider, selector: "mat-slider", inputs: { color: "color", disableRipple: "disableRipple", disabled: "disabled", discrete: "discrete", showTickMarks: "showTickMarks", min: "min", max: "max", step: "step", displayWith: "displayWith" }, host: { properties: { "class.mdc-slider--range": "_isRange()", "class.mdc-slider--disabled": "disabled", "class.mdc-slider--discrete": "discrete", "class.mdc-slider--tick-marks": "showTickMarks", "class._mat-animation-noopable": "_noopAnimations" }, classAttribute: "mat-mdc-slider mdc-slider" }, queries: [{ propertyName: "_inputs", predicate: MatSliderThumb }], viewQueries: [{ propertyName: "_trackActive", first: true, predicate: ["trackActive"], descendants: true }, { propertyName: "_thumbs", predicate: MatSliderVisualThumb, descendants: true }], exportAs: ["matSlider"], usesInheritance: true, ngImport: i0, template: "<!-- Inputs -->\n<ng-content></ng-content>\n\n<!-- Track -->\n<div class=\"mdc-slider__track\">\n <div class=\"mdc-slider__track--inactive\"></div>\n <div class=\"mdc-slider__track--active\">\n <div class=\"mdc-slider__track--active_fill\" #trackActive></div>\n </div>\n <div *ngIf=\"showTickMarks\" class=\"mdc-slider__tick-marks\" #tickMarkContainer>\n <div *ngFor=\"let tickMark of _tickMarks\" [class]=\"_getTickMarkClass(tickMark)\"></div>\n </div>\n</div>\n\n<!-- Thumbs -->\n<mat-slider-visual-thumb\n *ngFor=\"let thumb of _inputs\"\n [discrete]=\"discrete\"\n [disableRipple]=\"_isRippleDisabled()\"\n [thumbPosition]=\"thumb._thumbPosition\"\n [valueIndicatorText]=\"_getValueIndicatorText(thumb._thumbPosition)\">\n</mat-slider-visual-thumb>\n", styles: [".mdc-slider{cursor:pointer;height:48px;margin:0 24px;position:relative;touch-action:pan-y}.mdc-slider .mdc-slider__track{height:4px;position:absolute;top:50%;transform:translateY(-50%);width:100%}.mdc-slider .mdc-slider__track--active,.mdc-slider .mdc-slider__track--inactive{display:flex;height:100%;position:absolute;width:100%}.mdc-slider .mdc-slider__track--active{border-radius:3px;height:6px;overflow:hidden;top:-1px}.mdc-slider .mdc-slider__track--active_fill{border-top:6px solid;box-sizing:border-box;height:100%;width:100%;position:relative;-webkit-transform-origin:left;transform-origin:left}[dir=rtl] .mdc-slider .mdc-slider__track--active_fill,.mdc-slider .mdc-slider__track--active_fill[dir=rtl]{-webkit-transform-origin:right;transform-origin:right}.mdc-slider .mdc-slider__track--inactive{border-radius:2px;height:4px;left:0;top:0}.mdc-slider .mdc-slider__track--inactive::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}.mdc-slider .mdc-slider__value-indicator-container{bottom:44px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%)}.mdc-slider .mdc-slider__value-indicator{transition:transform 100ms 0ms cubic-bezier(0.4, 0, 1, 1);align-items:center;border-radius:4px;display:flex;height:32px;padding:0 12px;transform:scale(0);transform-origin:bottom}.mdc-slider .mdc-slider__value-indicator::before{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid;bottom:-5px;content:\"\";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.mdc-slider .mdc-slider__value-indicator::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator-container{pointer-events:auto}.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:transform 100ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale(1)}@media(prefers-reduced-motion){.mdc-slider .mdc-slider__value-indicator,.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:none}}.mdc-slider .mdc-slider__thumb{display:flex;height:48px;left:-24px;outline:none;position:absolute;user-select:none;width:48px}.mdc-slider .mdc-slider__thumb--top{z-index:1}.mdc-slider .mdc-slider__thumb--top .mdc-slider__thumb-knob,.mdc-slider .mdc-slider__thumb--top.mdc-slider__thumb:hover .mdc-slider__thumb-knob,.mdc-slider .mdc-slider__thumb--top.mdc-slider__thumb--focused .mdc-slider__thumb-knob{border-style:solid;border-width:1px;box-sizing:content-box}.mdc-slider .mdc-slider__thumb-knob{border:10px solid;border-radius:50%;box-sizing:border-box;height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:20px}.mdc-slider .mdc-slider__thumb.mdc-ripple-upgraded--background-focused::before,.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms}.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms}.mdc-slider .mdc-slider__tick-marks{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;padding:0 1px;position:absolute;width:100%}.mdc-slider .mdc-slider__tick-mark--active,.mdc-slider .mdc-slider__tick-mark--inactive{border-radius:50%;height:2px;width:2px}.mdc-slider.mdc-slider--disabled{cursor:auto}.mdc-slider.mdc-slider--disabled .mdc-slider__thumb{pointer-events:none}.mdc-slider--discrete .mdc-slider__thumb,.mdc-slider--discrete .mdc-slider__track--active_fill{transition:transform 80ms ease}@media(prefers-reduced-motion){.mdc-slider--discrete .mdc-slider__thumb,.mdc-slider--discrete .mdc-slider__track--active_fill{transition:none}}.mdc-slider__input{cursor:pointer;left:0;margin:0;height:100%;opacity:0;pointer-events:none;position:absolute;top:0;width:100%}.mat-mdc-slider{display:inline-block;box-sizing:border-box;outline:none;vertical-align:middle;margin-left:8px;margin-right:8px;width:auto;min-width:112px}.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__thumb,.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__track--active_fill,.mat-mdc-slider._mat-animation-noopable .mdc-slider__value-indicator{transition:none}\n"], components: [{ type: MatSliderVisualThumb, selector: "mat-slider-visual-thumb", inputs: ["discrete", "thumbPosition", "valueIndicatorText", "disableRipple"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
759
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSlider, decorators: [{
775
+ MatSlider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSlider, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i3.Platform }, { token: GlobalChangeAndInputListener }, { token: DOCUMENT }, { token: i5.Directionality, optional: true }, { token: MAT_RIPPLE_GLOBAL_OPTIONS, optional: true }, { token: ANIMATION_MODULE_TYPE, optional: true }], target: i0.ɵɵFactoryTarget.Component });
776
+ MatSlider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.1.0", type: MatSlider, selector: "mat-slider", inputs: { color: "color", disableRipple: "disableRipple", disabled: "disabled", discrete: "discrete", showTickMarks: "showTickMarks", min: "min", max: "max", step: "step", displayWith: "displayWith" }, host: { properties: { "class.mdc-slider--range": "_isRange()", "class.mdc-slider--disabled": "disabled", "class.mdc-slider--discrete": "discrete", "class.mdc-slider--tick-marks": "showTickMarks", "class._mat-animation-noopable": "_noopAnimations" }, classAttribute: "mat-mdc-slider mdc-slider" }, queries: [{ propertyName: "_inputs", predicate: MatSliderThumb }], viewQueries: [{ propertyName: "_trackActive", first: true, predicate: ["trackActive"], descendants: true }, { propertyName: "_thumbs", predicate: MatSliderVisualThumb, descendants: true }], exportAs: ["matSlider"], usesInheritance: true, ngImport: i0, template: "<!-- Inputs -->\n<ng-content></ng-content>\n\n<!-- Track -->\n<div class=\"mdc-slider__track\">\n <div class=\"mdc-slider__track--inactive\"></div>\n <div class=\"mdc-slider__track--active\">\n <div class=\"mdc-slider__track--active_fill\" #trackActive></div>\n </div>\n <div *ngIf=\"showTickMarks\" class=\"mdc-slider__tick-marks\" #tickMarkContainer>\n <div *ngFor=\"let tickMark of _tickMarks\" [class]=\"_getTickMarkClass(tickMark)\"></div>\n </div>\n</div>\n\n<!-- Thumbs -->\n<mat-slider-visual-thumb\n *ngFor=\"let thumb of _inputs\"\n [discrete]=\"discrete\"\n [disableRipple]=\"_isRippleDisabled()\"\n [thumbPosition]=\"thumb._thumbPosition\"\n [valueIndicatorText]=\"_getValueIndicatorText(thumb._thumbPosition)\">\n</mat-slider-visual-thumb>\n", styles: [".mdc-slider{cursor:pointer;height:48px;margin:0 24px;position:relative;touch-action:pan-y}.mdc-slider .mdc-slider__track{height:4px;position:absolute;top:50%;transform:translateY(-50%);width:100%}.mdc-slider .mdc-slider__track--active,.mdc-slider .mdc-slider__track--inactive{display:flex;height:100%;position:absolute;width:100%}.mdc-slider .mdc-slider__track--active{border-radius:3px;height:6px;overflow:hidden;top:-1px}.mdc-slider .mdc-slider__track--active_fill{border-top:6px solid;box-sizing:border-box;height:100%;width:100%;position:relative;-webkit-transform-origin:left;transform-origin:left}[dir=rtl] .mdc-slider .mdc-slider__track--active_fill,.mdc-slider .mdc-slider__track--active_fill[dir=rtl]{-webkit-transform-origin:right;transform-origin:right}.mdc-slider .mdc-slider__track--inactive{border-radius:2px;height:4px;left:0;top:0}.mdc-slider .mdc-slider__track--inactive::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}@media screen and (forced-colors: active){.mdc-slider .mdc-slider__track--inactive::before{border-color:CanvasText}}.mdc-slider .mdc-slider__value-indicator-container{bottom:44px;left:50%;left:var(--slider-value-indicator-container-left, 50%);pointer-events:none;position:absolute;right:var(--slider-value-indicator-container-right);transform:translateX(-50%);transform:var(--slider-value-indicator-container-transform, translateX(-50%))}.mdc-slider .mdc-slider__value-indicator{transition:transform 100ms 0ms cubic-bezier(0.4, 0, 1, 1);align-items:center;border-radius:4px;display:flex;height:32px;padding:0 12px;transform:scale(0);transform-origin:bottom}.mdc-slider .mdc-slider__value-indicator::before{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid;bottom:-5px;content:\"\";height:0;left:50%;left:var(--slider-value-indicator-caret-left, 50%);position:absolute;right:var(--slider-value-indicator-caret-right);transform:translateX(-50%);transform:var(--slider-value-indicator-caret-transform, translateX(-50%));width:0}.mdc-slider .mdc-slider__value-indicator::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}@media screen and (forced-colors: active){.mdc-slider .mdc-slider__value-indicator::after{border-color:CanvasText}}.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator-container{pointer-events:auto}.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:transform 100ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale(1)}@media(prefers-reduced-motion){.mdc-slider .mdc-slider__value-indicator,.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:none}}.mdc-slider .mdc-slider__thumb{display:flex;height:48px;left:-24px;outline:none;position:absolute;user-select:none;width:48px}.mdc-slider .mdc-slider__thumb--top{z-index:1}.mdc-slider .mdc-slider__thumb--top .mdc-slider__thumb-knob,.mdc-slider .mdc-slider__thumb--top.mdc-slider__thumb:hover .mdc-slider__thumb-knob,.mdc-slider .mdc-slider__thumb--top.mdc-slider__thumb--focused .mdc-slider__thumb-knob{border-style:solid;border-width:1px;box-sizing:content-box}.mdc-slider .mdc-slider__thumb-knob{border:10px solid;border-radius:50%;box-sizing:border-box;height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:20px}.mdc-slider .mdc-slider__thumb.mdc-ripple-upgraded--background-focused::before,.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms}.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms}.mdc-slider .mdc-slider__tick-marks{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;padding:0 1px;position:absolute;width:100%}.mdc-slider .mdc-slider__tick-mark--active,.mdc-slider .mdc-slider__tick-mark--inactive{border-radius:50%;height:2px;width:2px}.mdc-slider--discrete .mdc-slider__thumb,.mdc-slider--discrete .mdc-slider__track--active_fill{transition:transform 80ms ease}@media(prefers-reduced-motion){.mdc-slider--discrete .mdc-slider__thumb,.mdc-slider--discrete .mdc-slider__track--active_fill{transition:none}}.mdc-slider--disabled{cursor:auto}.mdc-slider--disabled .mdc-slider__thumb{pointer-events:none}.mdc-slider__input{cursor:pointer;left:0;margin:0;height:100%;opacity:0;pointer-events:none;position:absolute;top:0;width:100%}.mat-mdc-slider{display:inline-block;box-sizing:border-box;outline:none;vertical-align:middle;margin-left:8px;margin-right:8px;width:auto;min-width:112px}.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__thumb,.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__track--active_fill,.mat-mdc-slider._mat-animation-noopable .mdc-slider__value-indicator{transition:none}\n"], components: [{ type: MatSliderVisualThumb, selector: "mat-slider-visual-thumb", inputs: ["discrete", "thumbPosition", "valueIndicatorText", "disableRipple"] }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
777
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSlider, decorators: [{
760
778
  type: Component,
761
779
  args: [{ selector: 'mat-slider', host: {
762
780
  'class': 'mat-mdc-slider mdc-slider',
@@ -765,7 +783,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImpor
765
783
  '[class.mdc-slider--discrete]': 'discrete',
766
784
  '[class.mdc-slider--tick-marks]': 'showTickMarks',
767
785
  '[class._mat-animation-noopable]': '_noopAnimations',
768
- }, exportAs: 'matSlider', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'disableRipple'], template: "<!-- Inputs -->\n<ng-content></ng-content>\n\n<!-- Track -->\n<div class=\"mdc-slider__track\">\n <div class=\"mdc-slider__track--inactive\"></div>\n <div class=\"mdc-slider__track--active\">\n <div class=\"mdc-slider__track--active_fill\" #trackActive></div>\n </div>\n <div *ngIf=\"showTickMarks\" class=\"mdc-slider__tick-marks\" #tickMarkContainer>\n <div *ngFor=\"let tickMark of _tickMarks\" [class]=\"_getTickMarkClass(tickMark)\"></div>\n </div>\n</div>\n\n<!-- Thumbs -->\n<mat-slider-visual-thumb\n *ngFor=\"let thumb of _inputs\"\n [discrete]=\"discrete\"\n [disableRipple]=\"_isRippleDisabled()\"\n [thumbPosition]=\"thumb._thumbPosition\"\n [valueIndicatorText]=\"_getValueIndicatorText(thumb._thumbPosition)\">\n</mat-slider-visual-thumb>\n", styles: [".mdc-slider{cursor:pointer;height:48px;margin:0 24px;position:relative;touch-action:pan-y}.mdc-slider .mdc-slider__track{height:4px;position:absolute;top:50%;transform:translateY(-50%);width:100%}.mdc-slider .mdc-slider__track--active,.mdc-slider .mdc-slider__track--inactive{display:flex;height:100%;position:absolute;width:100%}.mdc-slider .mdc-slider__track--active{border-radius:3px;height:6px;overflow:hidden;top:-1px}.mdc-slider .mdc-slider__track--active_fill{border-top:6px solid;box-sizing:border-box;height:100%;width:100%;position:relative;-webkit-transform-origin:left;transform-origin:left}[dir=rtl] .mdc-slider .mdc-slider__track--active_fill,.mdc-slider .mdc-slider__track--active_fill[dir=rtl]{-webkit-transform-origin:right;transform-origin:right}.mdc-slider .mdc-slider__track--inactive{border-radius:2px;height:4px;left:0;top:0}.mdc-slider .mdc-slider__track--inactive::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}.mdc-slider .mdc-slider__value-indicator-container{bottom:44px;left:50%;pointer-events:none;position:absolute;transform:translateX(-50%)}.mdc-slider .mdc-slider__value-indicator{transition:transform 100ms 0ms cubic-bezier(0.4, 0, 1, 1);align-items:center;border-radius:4px;display:flex;height:32px;padding:0 12px;transform:scale(0);transform-origin:bottom}.mdc-slider .mdc-slider__value-indicator::before{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid;bottom:-5px;content:\"\";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.mdc-slider .mdc-slider__value-indicator::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator-container{pointer-events:auto}.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:transform 100ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale(1)}@media(prefers-reduced-motion){.mdc-slider .mdc-slider__value-indicator,.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:none}}.mdc-slider .mdc-slider__thumb{display:flex;height:48px;left:-24px;outline:none;position:absolute;user-select:none;width:48px}.mdc-slider .mdc-slider__thumb--top{z-index:1}.mdc-slider .mdc-slider__thumb--top .mdc-slider__thumb-knob,.mdc-slider .mdc-slider__thumb--top.mdc-slider__thumb:hover .mdc-slider__thumb-knob,.mdc-slider .mdc-slider__thumb--top.mdc-slider__thumb--focused .mdc-slider__thumb-knob{border-style:solid;border-width:1px;box-sizing:content-box}.mdc-slider .mdc-slider__thumb-knob{border:10px solid;border-radius:50%;box-sizing:border-box;height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:20px}.mdc-slider .mdc-slider__thumb.mdc-ripple-upgraded--background-focused::before,.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms}.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms}.mdc-slider .mdc-slider__tick-marks{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;padding:0 1px;position:absolute;width:100%}.mdc-slider .mdc-slider__tick-mark--active,.mdc-slider .mdc-slider__tick-mark--inactive{border-radius:50%;height:2px;width:2px}.mdc-slider.mdc-slider--disabled{cursor:auto}.mdc-slider.mdc-slider--disabled .mdc-slider__thumb{pointer-events:none}.mdc-slider--discrete .mdc-slider__thumb,.mdc-slider--discrete .mdc-slider__track--active_fill{transition:transform 80ms ease}@media(prefers-reduced-motion){.mdc-slider--discrete .mdc-slider__thumb,.mdc-slider--discrete .mdc-slider__track--active_fill{transition:none}}.mdc-slider__input{cursor:pointer;left:0;margin:0;height:100%;opacity:0;pointer-events:none;position:absolute;top:0;width:100%}.mat-mdc-slider{display:inline-block;box-sizing:border-box;outline:none;vertical-align:middle;margin-left:8px;margin-right:8px;width:auto;min-width:112px}.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__thumb,.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__track--active_fill,.mat-mdc-slider._mat-animation-noopable .mdc-slider__value-indicator{transition:none}\n"] }]
786
+ }, exportAs: 'matSlider', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'disableRipple'], template: "<!-- Inputs -->\n<ng-content></ng-content>\n\n<!-- Track -->\n<div class=\"mdc-slider__track\">\n <div class=\"mdc-slider__track--inactive\"></div>\n <div class=\"mdc-slider__track--active\">\n <div class=\"mdc-slider__track--active_fill\" #trackActive></div>\n </div>\n <div *ngIf=\"showTickMarks\" class=\"mdc-slider__tick-marks\" #tickMarkContainer>\n <div *ngFor=\"let tickMark of _tickMarks\" [class]=\"_getTickMarkClass(tickMark)\"></div>\n </div>\n</div>\n\n<!-- Thumbs -->\n<mat-slider-visual-thumb\n *ngFor=\"let thumb of _inputs\"\n [discrete]=\"discrete\"\n [disableRipple]=\"_isRippleDisabled()\"\n [thumbPosition]=\"thumb._thumbPosition\"\n [valueIndicatorText]=\"_getValueIndicatorText(thumb._thumbPosition)\">\n</mat-slider-visual-thumb>\n", styles: [".mdc-slider{cursor:pointer;height:48px;margin:0 24px;position:relative;touch-action:pan-y}.mdc-slider .mdc-slider__track{height:4px;position:absolute;top:50%;transform:translateY(-50%);width:100%}.mdc-slider .mdc-slider__track--active,.mdc-slider .mdc-slider__track--inactive{display:flex;height:100%;position:absolute;width:100%}.mdc-slider .mdc-slider__track--active{border-radius:3px;height:6px;overflow:hidden;top:-1px}.mdc-slider .mdc-slider__track--active_fill{border-top:6px solid;box-sizing:border-box;height:100%;width:100%;position:relative;-webkit-transform-origin:left;transform-origin:left}[dir=rtl] .mdc-slider .mdc-slider__track--active_fill,.mdc-slider .mdc-slider__track--active_fill[dir=rtl]{-webkit-transform-origin:right;transform-origin:right}.mdc-slider .mdc-slider__track--inactive{border-radius:2px;height:4px;left:0;top:0}.mdc-slider .mdc-slider__track--inactive::before{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}@media screen and (forced-colors: active){.mdc-slider .mdc-slider__track--inactive::before{border-color:CanvasText}}.mdc-slider .mdc-slider__value-indicator-container{bottom:44px;left:50%;left:var(--slider-value-indicator-container-left, 50%);pointer-events:none;position:absolute;right:var(--slider-value-indicator-container-right);transform:translateX(-50%);transform:var(--slider-value-indicator-container-transform, translateX(-50%))}.mdc-slider .mdc-slider__value-indicator{transition:transform 100ms 0ms cubic-bezier(0.4, 0, 1, 1);align-items:center;border-radius:4px;display:flex;height:32px;padding:0 12px;transform:scale(0);transform-origin:bottom}.mdc-slider .mdc-slider__value-indicator::before{border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid;bottom:-5px;content:\"\";height:0;left:50%;left:var(--slider-value-indicator-caret-left, 50%);position:absolute;right:var(--slider-value-indicator-caret-right);transform:translateX(-50%);transform:var(--slider-value-indicator-caret-transform, translateX(-50%));width:0}.mdc-slider .mdc-slider__value-indicator::after{position:absolute;box-sizing:border-box;width:100%;height:100%;top:0;left:0;border:1px solid transparent;border-radius:inherit;content:\"\";pointer-events:none}@media screen and (forced-colors: active){.mdc-slider .mdc-slider__value-indicator::after{border-color:CanvasText}}.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator-container{pointer-events:auto}.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:transform 100ms 0ms cubic-bezier(0, 0, 0.2, 1);transform:scale(1)}@media(prefers-reduced-motion){.mdc-slider .mdc-slider__value-indicator,.mdc-slider .mdc-slider__thumb--with-indicator .mdc-slider__value-indicator{transition:none}}.mdc-slider .mdc-slider__thumb{display:flex;height:48px;left:-24px;outline:none;position:absolute;user-select:none;width:48px}.mdc-slider .mdc-slider__thumb--top{z-index:1}.mdc-slider .mdc-slider__thumb--top .mdc-slider__thumb-knob,.mdc-slider .mdc-slider__thumb--top.mdc-slider__thumb:hover .mdc-slider__thumb-knob,.mdc-slider .mdc-slider__thumb--top.mdc-slider__thumb--focused .mdc-slider__thumb-knob{border-style:solid;border-width:1px;box-sizing:content-box}.mdc-slider .mdc-slider__thumb-knob{border:10px solid;border-radius:50%;box-sizing:border-box;height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%, -50%);width:20px}.mdc-slider .mdc-slider__thumb.mdc-ripple-upgraded--background-focused::before,.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded):focus::before{transition-duration:75ms}.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded)::after{transition:opacity 150ms linear}.mdc-slider .mdc-slider__thumb:not(.mdc-ripple-upgraded):active::after{transition-duration:75ms}.mdc-slider .mdc-slider__tick-marks{align-items:center;box-sizing:border-box;display:flex;height:100%;justify-content:space-between;padding:0 1px;position:absolute;width:100%}.mdc-slider .mdc-slider__tick-mark--active,.mdc-slider .mdc-slider__tick-mark--inactive{border-radius:50%;height:2px;width:2px}.mdc-slider--discrete .mdc-slider__thumb,.mdc-slider--discrete .mdc-slider__track--active_fill{transition:transform 80ms ease}@media(prefers-reduced-motion){.mdc-slider--discrete .mdc-slider__thumb,.mdc-slider--discrete .mdc-slider__track--active_fill{transition:none}}.mdc-slider--disabled{cursor:auto}.mdc-slider--disabled .mdc-slider__thumb{pointer-events:none}.mdc-slider__input{cursor:pointer;left:0;margin:0;height:100%;opacity:0;pointer-events:none;position:absolute;top:0;width:100%}.mat-mdc-slider{display:inline-block;box-sizing:border-box;outline:none;vertical-align:middle;margin-left:8px;margin-right:8px;width:auto;min-width:112px}.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__thumb,.mat-mdc-slider._mat-animation-noopable.mdc-slider--discrete .mdc-slider__track--active_fill,.mat-mdc-slider._mat-animation-noopable .mdc-slider__value-indicator{transition:none}\n"] }]
769
787
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i3.Platform }, { type: GlobalChangeAndInputListener }, { type: undefined, decorators: [{
770
788
  type: Inject,
771
789
  args: [DOCUMENT]
@@ -887,6 +905,10 @@ class SliderAdapter {
887
905
  this.getBoundingClientRect = () => {
888
906
  return this._delegate._elementRef.nativeElement.getBoundingClientRect();
889
907
  };
908
+ this.getValueIndicatorContainerWidth = (thumbPosition) => {
909
+ return this._delegate._getValueIndicatorContainerElement(thumbPosition).getBoundingClientRect()
910
+ .width;
911
+ };
890
912
  this.isRTL = () => {
891
913
  return this._delegate._isRTL();
892
914
  };
@@ -1048,22 +1070,18 @@ class SliderAdapter {
1048
1070
  return null;
1049
1071
  }
1050
1072
  }
1051
- /**
1052
- * Ensures that there is not an invalid configuration for the slider thumb inputs.
1053
- */
1073
+ /** Ensures that there is not an invalid configuration for the slider thumb inputs. */
1054
1074
  function _validateInputs(isRange, startInputElement, endInputElement) {
1055
- if (isRange) {
1056
- if (!startInputElement.hasAttribute('matSliderStartThumb')) {
1057
- _throwInvalidInputConfigurationError();
1058
- }
1059
- if (!endInputElement.hasAttribute('matSliderEndThumb')) {
1060
- _throwInvalidInputConfigurationError();
1061
- }
1075
+ const startValid = !isRange || startInputElement.hasAttribute('matSliderStartThumb');
1076
+ const endValid = endInputElement.hasAttribute(isRange ? 'matSliderEndThumb' : 'matSliderThumb');
1077
+ if (!startValid || !endValid) {
1078
+ _throwInvalidInputConfigurationError();
1062
1079
  }
1063
- else {
1064
- if (!endInputElement.hasAttribute('matSliderThumb')) {
1065
- _throwInvalidInputConfigurationError();
1066
- }
1080
+ }
1081
+ /** Validates that the slider has the correct set of thumbs. */
1082
+ function _validateThumbs(isRange, start, end) {
1083
+ if (!end && (!isRange || !start)) {
1084
+ _throwInvalidInputConfigurationError();
1067
1085
  }
1068
1086
  }
1069
1087
  function _throwInvalidInputConfigurationError() {
@@ -1093,10 +1111,10 @@ function _throwInvalidInputConfigurationError() {
1093
1111
  */
1094
1112
  class MatSliderModule {
1095
1113
  }
1096
- MatSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1097
- MatSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSliderModule, declarations: [MatSlider, MatSliderThumb, MatSliderVisualThumb], imports: [MatCommonModule, CommonModule, MatRippleModule], exports: [MatSlider, MatSliderThumb] });
1098
- MatSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSliderModule, imports: [[MatCommonModule, CommonModule, MatRippleModule]] });
1099
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.1", ngImport: i0, type: MatSliderModule, decorators: [{
1114
+ MatSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1115
+ MatSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSliderModule, declarations: [MatSlider, MatSliderThumb, MatSliderVisualThumb], imports: [MatCommonModule, CommonModule, MatRippleModule], exports: [MatSlider, MatSliderThumb] });
1116
+ MatSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSliderModule, imports: [[MatCommonModule, CommonModule, MatRippleModule]] });
1117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.1.0", ngImport: i0, type: MatSliderModule, decorators: [{
1100
1118
  type: NgModule,
1101
1119
  args: [{
1102
1120
  imports: [MatCommonModule, CommonModule, MatRippleModule],