@angular/material-experimental 14.0.0-next.8 → 14.0.0-next.9

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 (280) hide show
  1. package/_index.scss +3 -0
  2. package/column-resize/_column-resize-theme.scss +15 -17
  3. package/esm2020/column-resize/column-resize-directives/column-resize-flex.mjs +3 -3
  4. package/esm2020/column-resize/column-resize-directives/column-resize.mjs +3 -3
  5. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize-flex.mjs +3 -3
  6. package/esm2020/column-resize/column-resize-directives/default-enabled-column-resize.mjs +3 -3
  7. package/esm2020/column-resize/column-resize-module.mjs +12 -12
  8. package/esm2020/column-resize/overlay-handle.mjs +3 -3
  9. package/esm2020/column-resize/resizable-directives/default-enabled-resizable.mjs +3 -3
  10. package/esm2020/column-resize/resizable-directives/resizable.mjs +3 -3
  11. package/esm2020/column-resize/resize-strategy.mjs +3 -3
  12. package/esm2020/mdc-autocomplete/autocomplete-origin.mjs +3 -3
  13. package/esm2020/mdc-autocomplete/autocomplete-trigger.mjs +3 -3
  14. package/esm2020/mdc-autocomplete/autocomplete.mjs +5 -5
  15. package/esm2020/mdc-autocomplete/module.mjs +4 -4
  16. package/esm2020/mdc-button/button-base.mjs +6 -6
  17. package/esm2020/mdc-button/button.mjs +8 -8
  18. package/esm2020/mdc-button/fab.mjs +16 -16
  19. package/esm2020/mdc-button/icon-button.mjs +8 -8
  20. package/esm2020/mdc-button/module.mjs +4 -4
  21. package/esm2020/mdc-card/card.mjs +43 -43
  22. package/esm2020/mdc-card/module.mjs +4 -4
  23. package/esm2020/mdc-checkbox/checkbox.mjs +4 -4
  24. package/esm2020/mdc-checkbox/module.mjs +4 -4
  25. package/esm2020/mdc-chips/chip-action.mjs +3 -3
  26. package/esm2020/mdc-chips/chip-edit-input.mjs +3 -3
  27. package/esm2020/mdc-chips/chip-grid.mjs +22 -9
  28. package/esm2020/mdc-chips/chip-icons.mjs +9 -9
  29. package/esm2020/mdc-chips/chip-input.mjs +8 -4
  30. package/esm2020/mdc-chips/chip-listbox.mjs +5 -5
  31. package/esm2020/mdc-chips/chip-option.mjs +4 -4
  32. package/esm2020/mdc-chips/chip-row.mjs +4 -4
  33. package/esm2020/mdc-chips/chip-set.mjs +6 -8
  34. package/esm2020/mdc-chips/chip-text-control.mjs +1 -1
  35. package/esm2020/mdc-chips/chip.mjs +4 -4
  36. package/esm2020/mdc-chips/module.mjs +4 -4
  37. package/esm2020/mdc-core/option/index.mjs +4 -4
  38. package/esm2020/mdc-core/option/optgroup.mjs +4 -4
  39. package/esm2020/mdc-core/option/option.mjs +4 -4
  40. package/esm2020/mdc-dialog/dialog-container.mjs +4 -4
  41. package/esm2020/mdc-dialog/dialog-content-directives.mjs +12 -12
  42. package/esm2020/mdc-dialog/dialog.mjs +3 -3
  43. package/esm2020/mdc-dialog/module.mjs +4 -4
  44. package/esm2020/mdc-form-field/directives/error.mjs +3 -3
  45. package/esm2020/mdc-form-field/directives/floating-label.mjs +3 -3
  46. package/esm2020/mdc-form-field/directives/hint.mjs +3 -3
  47. package/esm2020/mdc-form-field/directives/label.mjs +3 -3
  48. package/esm2020/mdc-form-field/directives/line-ripple.mjs +3 -3
  49. package/esm2020/mdc-form-field/directives/notched-outline.mjs +3 -3
  50. package/esm2020/mdc-form-field/directives/prefix.mjs +3 -3
  51. package/esm2020/mdc-form-field/directives/suffix.mjs +3 -3
  52. package/esm2020/mdc-form-field/form-field.mjs +5 -5
  53. package/esm2020/mdc-form-field/module.mjs +4 -4
  54. package/esm2020/mdc-form-field/testing/public-api.mjs +4 -4
  55. package/esm2020/mdc-input/input.mjs +3 -3
  56. package/esm2020/mdc-input/module.mjs +4 -4
  57. package/esm2020/mdc-list/action-list.mjs +4 -4
  58. package/esm2020/mdc-list/interactive-list-base.mjs +3 -3
  59. package/esm2020/mdc-list/list-base.mjs +6 -6
  60. package/esm2020/mdc-list/list-item-sections.mjs +18 -18
  61. package/esm2020/mdc-list/list-option.mjs +5 -5
  62. package/esm2020/mdc-list/list.mjs +7 -7
  63. package/esm2020/mdc-list/module.mjs +4 -4
  64. package/esm2020/mdc-list/nav-list.mjs +4 -4
  65. package/esm2020/mdc-list/selection-list.mjs +5 -5
  66. package/esm2020/mdc-list/subheader.mjs +3 -3
  67. package/esm2020/mdc-menu/directives.mjs +6 -6
  68. package/esm2020/mdc-menu/menu-item.mjs +3 -3
  69. package/esm2020/mdc-menu/menu.mjs +5 -5
  70. package/esm2020/mdc-menu/module.mjs +4 -4
  71. package/esm2020/mdc-paginator/module.mjs +4 -4
  72. package/esm2020/mdc-paginator/paginator.mjs +4 -4
  73. package/esm2020/mdc-progress-bar/module.mjs +4 -4
  74. package/esm2020/mdc-progress-bar/progress-bar.mjs +4 -4
  75. package/esm2020/mdc-progress-spinner/module.mjs +4 -4
  76. package/esm2020/mdc-progress-spinner/progress-spinner.mjs +4 -4
  77. package/esm2020/mdc-radio/module.mjs +4 -4
  78. package/esm2020/mdc-radio/radio.mjs +8 -8
  79. package/esm2020/mdc-select/module.mjs +4 -4
  80. package/esm2020/mdc-select/select.mjs +9 -9
  81. package/esm2020/mdc-slide-toggle/module.mjs +4 -4
  82. package/esm2020/mdc-slide-toggle/slide-toggle.mjs +4 -4
  83. package/esm2020/mdc-slider/global-change-and-input-listener.mjs +3 -3
  84. package/esm2020/mdc-slider/module.mjs +4 -4
  85. package/esm2020/mdc-slider/slider.mjs +46 -17
  86. package/esm2020/mdc-snack-bar/module.mjs +4 -4
  87. package/esm2020/mdc-snack-bar/simple-snack-bar.mjs +4 -4
  88. package/esm2020/mdc-snack-bar/snack-bar-container.mjs +18 -12
  89. package/esm2020/mdc-snack-bar/snack-bar-content.mjs +9 -9
  90. package/esm2020/mdc-snack-bar/snack-bar.mjs +3 -3
  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 +5 -5
  100. package/esm2020/mdc-tabs/tab-header.mjs +4 -4
  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 +11 -11
  104. package/esm2020/mdc-tabs/tab.mjs +3 -3
  105. package/esm2020/mdc-tooltip/module.mjs +4 -4
  106. package/esm2020/mdc-tooltip/tooltip.mjs +7 -7
  107. package/esm2020/menubar/menubar-item.mjs +4 -4
  108. package/esm2020/menubar/menubar-module.mjs +4 -4
  109. package/esm2020/menubar/menubar.mjs +7 -10
  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 +5 -5
  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 +14 -14
  124. package/fesm2015/mdc-autocomplete.mjs.map +1 -1
  125. package/fesm2015/mdc-button.mjs +42 -42
  126. package/fesm2015/mdc-button.mjs.map +1 -1
  127. package/fesm2015/mdc-card.mjs +47 -47
  128. package/fesm2015/mdc-card.mjs.map +1 -1
  129. package/fesm2015/mdc-checkbox.mjs +8 -8
  130. package/fesm2015/mdc-checkbox.mjs.map +1 -1
  131. package/fesm2015/mdc-chips.mjs +69 -54
  132. package/fesm2015/mdc-chips.mjs.map +1 -1
  133. package/fesm2015/mdc-core.mjs +12 -12
  134. package/fesm2015/mdc-core.mjs.map +1 -1
  135. package/fesm2015/mdc-dialog.mjs +23 -23
  136. package/fesm2015/mdc-dialog.mjs.map +1 -1
  137. package/fesm2015/mdc-form-field/testing.mjs +1 -1
  138. package/fesm2015/mdc-form-field/testing.mjs.map +1 -1
  139. package/fesm2015/mdc-form-field.mjs +32 -32
  140. package/fesm2015/mdc-form-field.mjs.map +1 -1
  141. package/fesm2015/mdc-input.mjs +7 -7
  142. package/fesm2015/mdc-list.mjs +59 -59
  143. package/fesm2015/mdc-list.mjs.map +1 -1
  144. package/fesm2015/mdc-menu.mjs +17 -17
  145. package/fesm2015/mdc-menu.mjs.map +1 -1
  146. package/fesm2015/mdc-paginator.mjs +8 -8
  147. package/fesm2015/mdc-paginator.mjs.map +1 -1
  148. package/fesm2015/mdc-progress-bar.mjs +8 -8
  149. package/fesm2015/mdc-progress-bar.mjs.map +1 -1
  150. package/fesm2015/mdc-progress-spinner.mjs +8 -8
  151. package/fesm2015/mdc-progress-spinner.mjs.map +1 -1
  152. package/fesm2015/mdc-radio.mjs +11 -11
  153. package/fesm2015/mdc-radio.mjs.map +1 -1
  154. package/fesm2015/mdc-select.mjs +12 -12
  155. package/fesm2015/mdc-select.mjs.map +1 -1
  156. package/fesm2015/mdc-slide-toggle.mjs +8 -8
  157. package/fesm2015/mdc-slide-toggle.mjs.map +1 -1
  158. package/fesm2015/mdc-slider.mjs +54 -23
  159. package/fesm2015/mdc-slider.mjs.map +1 -1
  160. package/fesm2015/mdc-snack-bar.mjs +37 -31
  161. package/fesm2015/mdc-snack-bar.mjs.map +1 -1
  162. package/fesm2015/mdc-table.mjs +57 -57
  163. package/fesm2015/mdc-table.mjs.map +1 -1
  164. package/fesm2015/mdc-tabs.mjs +43 -43
  165. package/fesm2015/mdc-tabs.mjs.map +1 -1
  166. package/fesm2015/mdc-tooltip.mjs +11 -11
  167. package/fesm2015/mdc-tooltip.mjs.map +1 -1
  168. package/fesm2015/menubar.mjs +14 -17
  169. package/fesm2015/menubar.mjs.map +1 -1
  170. package/fesm2015/popover-edit.mjs +25 -25
  171. package/fesm2015/selection.mjs +21 -21
  172. package/fesm2015/selection.mjs.map +1 -1
  173. package/fesm2020/column-resize.mjs +36 -36
  174. package/fesm2020/material-experimental.mjs +1 -1
  175. package/fesm2020/material-experimental.mjs.map +1 -1
  176. package/fesm2020/mdc-autocomplete.mjs +14 -14
  177. package/fesm2020/mdc-autocomplete.mjs.map +1 -1
  178. package/fesm2020/mdc-button.mjs +42 -42
  179. package/fesm2020/mdc-button.mjs.map +1 -1
  180. package/fesm2020/mdc-card.mjs +47 -47
  181. package/fesm2020/mdc-card.mjs.map +1 -1
  182. package/fesm2020/mdc-checkbox.mjs +8 -8
  183. package/fesm2020/mdc-checkbox.mjs.map +1 -1
  184. package/fesm2020/mdc-chips.mjs +69 -54
  185. package/fesm2020/mdc-chips.mjs.map +1 -1
  186. package/fesm2020/mdc-core.mjs +12 -12
  187. package/fesm2020/mdc-core.mjs.map +1 -1
  188. package/fesm2020/mdc-dialog.mjs +23 -23
  189. package/fesm2020/mdc-dialog.mjs.map +1 -1
  190. package/fesm2020/mdc-form-field/testing.mjs +1 -1
  191. package/fesm2020/mdc-form-field/testing.mjs.map +1 -1
  192. package/fesm2020/mdc-form-field.mjs +32 -32
  193. package/fesm2020/mdc-form-field.mjs.map +1 -1
  194. package/fesm2020/mdc-input.mjs +7 -7
  195. package/fesm2020/mdc-list.mjs +59 -59
  196. package/fesm2020/mdc-list.mjs.map +1 -1
  197. package/fesm2020/mdc-menu.mjs +17 -17
  198. package/fesm2020/mdc-menu.mjs.map +1 -1
  199. package/fesm2020/mdc-paginator.mjs +8 -8
  200. package/fesm2020/mdc-paginator.mjs.map +1 -1
  201. package/fesm2020/mdc-progress-bar.mjs +8 -8
  202. package/fesm2020/mdc-progress-bar.mjs.map +1 -1
  203. package/fesm2020/mdc-progress-spinner.mjs +8 -8
  204. package/fesm2020/mdc-progress-spinner.mjs.map +1 -1
  205. package/fesm2020/mdc-radio.mjs +11 -11
  206. package/fesm2020/mdc-radio.mjs.map +1 -1
  207. package/fesm2020/mdc-select.mjs +12 -12
  208. package/fesm2020/mdc-select.mjs.map +1 -1
  209. package/fesm2020/mdc-slide-toggle.mjs +8 -8
  210. package/fesm2020/mdc-slide-toggle.mjs.map +1 -1
  211. package/fesm2020/mdc-slider.mjs +52 -22
  212. package/fesm2020/mdc-slider.mjs.map +1 -1
  213. package/fesm2020/mdc-snack-bar.mjs +37 -31
  214. package/fesm2020/mdc-snack-bar.mjs.map +1 -1
  215. package/fesm2020/mdc-table.mjs +57 -57
  216. package/fesm2020/mdc-table.mjs.map +1 -1
  217. package/fesm2020/mdc-tabs.mjs +43 -43
  218. package/fesm2020/mdc-tabs.mjs.map +1 -1
  219. package/fesm2020/mdc-tooltip.mjs +11 -11
  220. package/fesm2020/mdc-tooltip.mjs.map +1 -1
  221. package/fesm2020/menubar.mjs +14 -17
  222. package/fesm2020/menubar.mjs.map +1 -1
  223. package/fesm2020/popover-edit.mjs +25 -25
  224. package/fesm2020/selection.mjs +21 -21
  225. package/fesm2020/selection.mjs.map +1 -1
  226. package/mdc-autocomplete/_autocomplete-theme.scss +10 -10
  227. package/mdc-button/_button-base.scss +4 -3
  228. package/mdc-button/_button-theme-private.scss +0 -1
  229. package/mdc-button/_button-theme.scss +11 -11
  230. package/mdc-button/_fab-theme.scss +10 -10
  231. package/mdc-button/_icon-button-theme.scss +11 -11
  232. package/mdc-card/_card-theme.scss +11 -11
  233. package/mdc-checkbox/_checkbox-theme.scss +16 -17
  234. package/mdc-chips/_chips-theme.scss +20 -15
  235. package/mdc-chips/chip-grid.d.ts +4 -0
  236. package/mdc-chips/chip-input.d.ts +3 -0
  237. package/mdc-chips/chip-set.d.ts +0 -2
  238. package/mdc-chips/chip-text-control.d.ts +2 -0
  239. package/mdc-color/_all-color.scss +4 -3
  240. package/mdc-core/_core-theme.scss +13 -13
  241. package/mdc-core/option/_optgroup-theme.scss +11 -11
  242. package/mdc-core/option/_option-theme.scss +11 -11
  243. package/mdc-density/_all-density.scss +4 -3
  244. package/mdc-dialog/_dialog-theme.scss +49 -13
  245. package/mdc-form-field/_form-field-density.scss +4 -3
  246. package/mdc-form-field/_form-field-focus-overlay.scss +2 -2
  247. package/mdc-form-field/_form-field-high-contrast.scss +5 -5
  248. package/mdc-form-field/_form-field-native-select.scss +5 -4
  249. package/mdc-form-field/_form-field-subscript.scss +5 -3
  250. package/mdc-form-field/_form-field-theme.scss +16 -16
  251. package/mdc-form-field/testing/public-api.d.ts +1 -1
  252. package/mdc-helpers/_focus-indicators-theme.scss +6 -6
  253. package/mdc-helpers/_focus-indicators.scss +2 -2
  254. package/mdc-helpers/_mdc-helpers.scss +12 -14
  255. package/mdc-input/_input-theme.scss +10 -10
  256. package/mdc-list/_interactive-list-theme.scss +2 -2
  257. package/mdc-list/_list-theme.scss +15 -17
  258. package/mdc-menu/_menu-theme.scss +10 -10
  259. package/mdc-paginator/_paginator-theme.scss +20 -23
  260. package/mdc-progress-bar/_progress-bar-theme.scss +8 -7
  261. package/mdc-progress-spinner/_progress-spinner-theme.scss +8 -7
  262. package/mdc-radio/_radio-theme.scss +13 -14
  263. package/mdc-select/_select-theme.scss +10 -10
  264. package/mdc-slide-toggle/_slide-toggle-theme.scss +14 -15
  265. package/mdc-slider/_slider-theme.scss +11 -12
  266. package/mdc-slider/slider.d.ts +6 -0
  267. package/mdc-snack-bar/_snack-bar-theme.scss +11 -11
  268. package/mdc-table/_table-theme.scss +12 -12
  269. package/mdc-tabs/_tabs-common.scss +5 -4
  270. package/mdc-tabs/_tabs-theme.scss +14 -14
  271. package/mdc-theming/_all-theme.scss +3 -2
  272. package/mdc-theming/prebuilt/deeppurple-amber.css +1 -1
  273. package/mdc-theming/prebuilt/indigo-pink.css +1 -1
  274. package/mdc-theming/prebuilt/pink-bluegrey.css +1 -1
  275. package/mdc-theming/prebuilt/purple-green.css +1 -1
  276. package/mdc-tooltip/_tooltip-theme.scss +12 -13
  277. package/mdc-typography/_all-typography.scss +5 -5
  278. package/package.json +50 -4
  279. package/popover-edit/_popover-edit-theme.scss +23 -26
  280. package/selection/_selection.scss +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"mdc-slide-toggle.mjs","sources":["../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle-config.ts","../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle.ts","../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle.html","../../../../../../src/material-experimental/mdc-slide-toggle/module.ts","../../../../../../src/material-experimental/mdc-slide-toggle/public-api.ts","../../../../../../src/material-experimental/mdc-slide-toggle/index.ts","../../../../../../src/material-experimental/mdc-slide-toggle/mdc-slide-toggle_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {InjectionToken} from '@angular/core';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\n\n/** Default `mat-slide-toggle` options that can be overridden. */\nexport interface MatSlideToggleDefaultOptions {\n /** Whether toggle action triggers value changes in slide toggle. */\n disableToggleValue?: boolean;\n\n /** Default color for slide toggles. */\n color?: ThemePalette;\n}\n\n/** Injection token to be used to override the default options for `mat-slide-toggle`. */\nexport const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS = new InjectionToken<MatSlideToggleDefaultOptions>(\n 'mat-slide-toggle-default-options',\n {\n providedIn: 'root',\n factory: () => ({disableToggleValue: false}),\n },\n);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n AfterViewInit,\n OnDestroy,\n forwardRef,\n ViewChild,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n Attribute,\n Inject,\n Optional,\n} from '@angular/core';\nimport {deprecated} from '@material/switch';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput,\n} from '@angular/cdk/coercion';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {\n MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS,\n MatSlideToggleDefaultOptions,\n} from './slide-toggle-config';\n\n// Increasing integer for generating unique ids for slide-toggle components.\nlet nextUniqueId = 0;\n\n/** @docs-private */\nexport const MAT_SLIDE_TOGGLE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlideToggle),\n multi: true,\n};\n\n/** Change event object emitted by a MatSlideToggle. */\nexport class MatSlideToggleChange {\n constructor(\n /** The source MatSlideToggle of the event. */\n public source: MatSlideToggle,\n /** The new `checked` value of the MatSlideToggle. */\n public checked: boolean,\n ) {}\n}\n\n@Component({\n selector: 'mat-slide-toggle',\n templateUrl: 'slide-toggle.html',\n styleUrls: ['slide-toggle.css'],\n host: {\n 'class': 'mat-mdc-slide-toggle',\n '[id]': 'id',\n // Needs to be removed since it causes some a11y issues (see #21266).\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.name]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-accent]': 'color !== \"primary\" && color !== \"warn\"',\n '[class.mat-warn]': 'color === \"warn\"',\n '[class.mat-mdc-slide-toggle-focused]': '_focused',\n '[class.mat-mdc-slide-toggle-checked]': 'checked',\n '[class._mat-animation-noopable]': '_noopAnimations',\n },\n exportAs: 'matSlideToggle',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR],\n})\nexport class MatSlideToggle implements ControlValueAccessor, AfterViewInit, OnDestroy {\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n\n private _uniqueId: string = `mat-mdc-slide-toggle-${++nextUniqueId}`;\n private _required: boolean = false;\n private _checked: boolean = false;\n private _foundation: deprecated.MDCSwitchFoundation;\n private _adapter: deprecated.MDCSwitchAdapter = {\n addClass: className => this._switchElement.nativeElement.classList.add(className),\n removeClass: className => this._switchElement.nativeElement.classList.remove(className),\n setNativeControlChecked: checked => (this._checked = checked),\n setNativeControlDisabled: disabled => (this._disabled = disabled),\n setNativeControlAttr: (name, value) => {\n this._switchElement.nativeElement.setAttribute(name, value);\n },\n };\n\n /** Whether the slide toggle is currently focused. */\n _focused: boolean;\n\n /** Whether noop animations are enabled. */\n _noopAnimations: boolean;\n\n /** Unique ID for the label element. */\n _labelId = `mat-mdc-slide-toggle-label-${++nextUniqueId}`;\n\n /** The color palette for this slide toggle. */\n @Input() color: ThemePalette;\n\n /** Name value will be applied to the button element if present. */\n @Input() name: string | null = null;\n\n /** A unique id for the slide-toggle button. If none is supplied, it will be auto-generated. */\n @Input() id: string = this._uniqueId;\n\n /** Tabindex for the input element. */\n @Input()\n get tabIndex(): number {\n return this._tabIndex;\n }\n set tabIndex(value: NumberInput) {\n this._tabIndex = coerceNumberProperty(value);\n }\n private _tabIndex: number;\n\n /** Whether the label should appear after or before the slide-toggle. Defaults to 'after'. */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Used to set the aria-label attribute on the underlying button element. */\n @Input('aria-label') ariaLabel: string | null = null;\n\n /** Used to set the aria-labelledby attribute on the underlying button element. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Used to set the aria-describedby attribute on the underlying button element. */\n @Input('aria-describedby') ariaDescribedby: string;\n\n /** Whether the slide-toggle is required. */\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n }\n\n /** Whether the slide-toggle element is checked or not. */\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: BooleanInput) {\n this._checked = coerceBooleanProperty(value);\n\n if (this._foundation) {\n this._foundation.setChecked(this._checked);\n }\n }\n\n /** Whether to disable the ripple on this checkbox. */\n @Input()\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(disableRipple: BooleanInput) {\n this._disableRipple = coerceBooleanProperty(disableRipple);\n }\n private _disableRipple = false;\n\n /** Whether the slide toggle is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: BooleanInput) {\n this._disabled = coerceBooleanProperty(disabled);\n\n if (this._foundation) {\n this._foundation.setDisabled(this._disabled);\n }\n }\n private _disabled = false;\n\n /** An event will be dispatched each time the slide-toggle changes its value. */\n @Output() readonly change: EventEmitter<MatSlideToggleChange> =\n new EventEmitter<MatSlideToggleChange>();\n\n /** Event will be dispatched each time the slide-toggle input is toggled. */\n @Output() readonly toggleChange: EventEmitter<void> = new EventEmitter<void>();\n\n /** Returns the unique id for the visual hidden button. */\n get buttonId(): string {\n return `${this.id || this._uniqueId}-button`;\n }\n\n /** Reference to the MDC switch element. */\n @ViewChild('switch') _switchElement: ElementRef<HTMLElement>;\n\n constructor(\n private _elementRef: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef,\n @Attribute('tabindex') tabIndex: string,\n @Inject(MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS)\n public defaults: MatSlideToggleDefaultOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n this.tabIndex = parseInt(tabIndex) || 0;\n this.color = defaults.color || 'accent';\n this._noopAnimations = animationMode === 'NoopAnimations';\n }\n\n ngAfterViewInit() {\n const foundation = (this._foundation = new deprecated.MDCSwitchFoundation(this._adapter));\n foundation.setDisabled(this.disabled);\n foundation.setChecked(this.checked);\n\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (focusOrigin === 'keyboard' || focusOrigin === 'program') {\n this._focused = true;\n } else if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state\n // change (such as a form control's ng-touched) will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._focused = false;\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._foundation?.destroy();\n }\n\n /** Method being called whenever the underlying button is clicked. */\n _handleClick(event: Event) {\n this.toggleChange.emit();\n this._foundation.handleChange(event);\n\n if (!this.defaults.disableToggleValue) {\n this.checked = !this.checked;\n this._onChange(this.checked);\n this.change.emit(new MatSlideToggleChange(this, this.checked));\n }\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value: any): void {\n this.checked = !!value;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Focuses the slide-toggle. */\n focus(): void {\n this._switchElement.nativeElement.focus();\n }\n\n /** Toggles the checked state of the slide-toggle. */\n toggle(): void {\n this.checked = !this.checked;\n this._onChange(this.checked);\n }\n\n _getAriaLabelledBy() {\n if (this.ariaLabelledby) {\n return this.ariaLabelledby;\n }\n\n // Even though we have a `label` element with a `for` pointing to the button, we need the\n // `aria-labelledby`, because the button gets flagged as not having a label by tools like axe.\n return this.ariaLabel ? null : this._labelId;\n }\n}\n","<div class=\"mdc-form-field\"\n [class.mdc-form-field--align-end]=\"labelPosition == 'before'\">\n <button\n class=\"mdc-switch\"\n role=\"switch\"\n type=\"button\"\n [class.mdc-switch--selected]=\"checked\"\n [class.mdc-switch--unselected]=\"!checked\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [attr.id]=\"buttonId\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-required]=\"required || null\"\n (click)=\"_handleClick($event)\"\n #switch>\n <div class=\"mdc-switch__track\"></div>\n <div class=\"mdc-switch__handle-track\">\n <div class=\"mdc-switch__handle\">\n <div class=\"mdc-switch__shadow\">\n <div class=\"mdc-elevation-overlay\"></div>\n </div>\n <div class=\"mdc-switch__ripple\">\n <div class=\"mat-mdc-slide-toggle-ripple mat-mdc-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"switch\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"></div>\n </div>\n <div class=\"mdc-switch__icons\">\n <svg class=\"mdc-switch__icon mdc-switch__icon--on\" viewBox=\"0 0 24 24\">\n <path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" />\n </svg>\n <svg class=\"mdc-switch__icon mdc-switch__icon--off\" viewBox=\"0 0 24 24\">\n <path d=\"M20 13H4v-2h16v2z\" />\n </svg>\n </div>\n </div>\n </div>\n </button>\n\n <!--\n Clicking on the label will trigger another click event from the button.\n Stop propagation here so other listeners further up in the DOM don't execute twice.\n -->\n <label [for]=\"buttonId\" [attr.id]=\"_labelId\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </label>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material-experimental/mdc-core';\nimport {_MatSlideToggleRequiredValidatorModule} from '@angular/material/slide-toggle';\nimport {MatSlideToggle} from './slide-toggle';\n\n@NgModule({\n imports: [_MatSlideToggleRequiredValidatorModule, MatCommonModule, MatRippleModule, CommonModule],\n exports: [_MatSlideToggleRequiredValidatorModule, MatSlideToggle, MatCommonModule],\n declarations: [MatSlideToggle],\n})\nexport class MatSlideToggleModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './slide-toggle';\nexport * from './slide-toggle-config';\nexport * from './module';\n\nexport {\n MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR,\n MatSlideToggleRequiredValidator,\n} from '@angular/material/slide-toggle';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;AAAA;;;;;;AAMG;AAaH;MACa,gCAAgC,GAAG,IAAI,cAAc,CAChE,kCAAkC,EAClC;AACE,IAAA,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,OAAO,EAAC,kBAAkB,EAAE,KAAK,EAAC,CAAC;AAC7C,CAAA;;ACzBH;;;;;;AAMG;AAmCH;AACA,IAAI,YAAY,GAAG,CAAC,CAAC;AAErB;AACa,MAAA,+BAA+B,GAAQ;AAClD,IAAA,OAAO,EAAE,iBAAiB;AAC1B,IAAA,WAAW,EAAE,UAAU,CAAC,MAAM,cAAc,CAAC;AAC7C,IAAA,KAAK,EAAE,IAAI;EACX;AAEF;MACa,oBAAoB,CAAA;AAC/B,IAAA,WAAA;;IAES,MAAsB;;IAEtB,OAAgB,EAAA;QAFhB,IAAM,CAAA,MAAA,GAAN,MAAM,CAAgB;QAEtB,IAAO,CAAA,OAAA,GAAP,OAAO,CAAS;KACrB;AACL,CAAA;MA0BY,cAAc,CAAA;IAuHzB,WACU,CAAA,WAAuB,EACvB,aAA2B,EAC3B,kBAAqC,EACtB,QAAgB,EAEhC,QAAsC,EACF,aAAsB,EAAA;QANzD,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;QACvB,IAAa,CAAA,aAAA,GAAb,aAAa,CAAc;QAC3B,IAAkB,CAAA,kBAAA,GAAlB,kBAAkB,CAAmB;QAGtC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAA8B;AA5HvC,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,CAAM,KAAI,GAAG,CAAC;AAC3B,QAAA,IAAA,CAAA,UAAU,GAAG,MAAK,GAAG,CAAC;AAEtB,QAAA,IAAA,CAAA,SAAS,GAAW,CAAA,qBAAA,EAAwB,EAAE,YAAY,EAAE,CAAC;QAC7D,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAC3B,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAE1B,QAAA,IAAA,CAAA,QAAQ,GAAgC;AAC9C,YAAA,QAAQ,EAAE,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC;AACjF,YAAA,WAAW,EAAE,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC;YACvF,uBAAuB,EAAE,OAAO,KAAK,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;YAC7D,wBAAwB,EAAE,QAAQ,KAAK,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;AACjE,YAAA,oBAAoB,EAAE,CAAC,IAAI,EAAE,KAAK,KAAI;gBACpC,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aAC7D;SACF,CAAC;;AASF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAA,2BAAA,EAA8B,EAAE,YAAY,EAAE,CAAC;;QAMjD,IAAI,CAAA,IAAA,GAAkB,IAAI,CAAC;;AAG3B,QAAA,IAAA,CAAA,EAAE,GAAW,IAAI,CAAC,SAAS,CAAC;;QAa5B,IAAa,CAAA,aAAA,GAAuB,OAAO,CAAC;;QAGhC,IAAS,CAAA,SAAA,GAAkB,IAAI,CAAC;;QAG3B,IAAc,CAAA,cAAA,GAAkB,IAAI,CAAC;QAmCvD,IAAc,CAAA,cAAA,GAAG,KAAK,CAAC;QAcvB,IAAS,CAAA,SAAA,GAAG,KAAK,CAAC;;AAGP,QAAA,IAAA,CAAA,MAAM,GACvB,IAAI,YAAY,EAAwB,CAAC;;AAGxB,QAAA,IAAA,CAAA,YAAY,GAAuB,IAAI,YAAY,EAAQ,CAAC;QAmB7E,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC;AACxC,QAAA,IAAI,CAAC,eAAe,GAAG,aAAa,KAAK,gBAAgB,CAAC;KAC3D;;AA9FD,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAkB,EAAA;AAC7B,QAAA,IAAI,CAAC,SAAS,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;KAC9C;;AAgBD,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,KAAmB,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;KAC/C;;AAGD,IAAA,IACI,OAAO,GAAA;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;KACtB;IACD,IAAI,OAAO,CAAC,KAAmB,EAAA;AAC7B,QAAA,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAE7C,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AAC5C,SAAA;KACF;;AAGD,IAAA,IACI,aAAa,GAAA;QACf,OAAO,IAAI,CAAC,cAAc,CAAC;KAC5B;IACD,IAAI,aAAa,CAAC,aAA2B,EAAA;AAC3C,QAAA,IAAI,CAAC,cAAc,GAAG,qBAAqB,CAAC,aAAa,CAAC,CAAC;KAC5D;;AAID,IAAA,IACI,QAAQ,GAAA;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,IAAI,QAAQ,CAAC,QAAsB,EAAA;AACjC,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,IAAI,CAAC,WAAW,EAAE;YACpB,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC9C,SAAA;KACF;;AAWD,IAAA,IAAI,QAAQ,GAAA;QACV,OAAO,CAAA,EAAG,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,SAAS,CAAA,OAAA,CAAS,CAAC;KAC9C;IAmBD,eAAe,GAAA;AACb,QAAA,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,GAAG,IAAI,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;AAC1F,QAAA,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACtC,QAAA,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAEpC,QAAA,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,SAAS,CAAC,WAAW,IAAG;AACzE,YAAA,IAAI,WAAW,KAAK,UAAU,IAAI,WAAW,KAAK,SAAS,EAAE;AAC3D,gBAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AACtB,aAAA;iBAAM,IAAI,CAAC,WAAW,EAAE;;;;;;AAMvB,gBAAA,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAK;AAC1B,oBAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;oBACtB,IAAI,CAAC,UAAU,EAAE,CAAC;AAClB,oBAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;AACzC,iBAAC,CAAC,CAAC;AACJ,aAAA;AACH,SAAC,CAAC,CAAC;KACJ;IAED,WAAW,GAAA;QACT,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AACpD,QAAA,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,CAAC;KAC7B;;AAGD,IAAA,YAAY,CAAC,KAAY,EAAA;AACvB,QAAA,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;AACzB,QAAA,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAErC,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,kBAAkB,EAAE;AACrC,YAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7B,YAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC7B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,oBAAoB,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;AAChE,SAAA;KACF;;AAGD,IAAA,UAAU,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC;AACvB,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;;AAGD,IAAA,gBAAgB,CAAC,EAAO,EAAA;AACtB,QAAA,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;KACrB;;AAGD,IAAA,iBAAiB,CAAC,EAAO,EAAA;AACvB,QAAA,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;KACtB;;AAGD,IAAA,gBAAgB,CAAC,UAAmB,EAAA;AAClC,QAAA,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC;AAC3B,QAAA,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;KACxC;;IAGD,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;KAC3C;;IAGD,MAAM,GAAA;AACJ,QAAA,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC;AAC7B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;KAC9B;IAED,kBAAkB,GAAA;QAChB,IAAI,IAAI,CAAC,cAAc,EAAE;YACvB,OAAO,IAAI,CAAC,cAAc,CAAC;AAC5B,SAAA;;;AAID,QAAA,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;KAC9C;;AAtNU,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EA2HZ,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,UAAU,EACb,SAAA,EAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,gCAAgC,aAEpB,qBAAqB,EAAA,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AA9HhC,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,IAAA,EAAA,cAAc,EAFd,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,QAAA,EAAA,UAAA,EAAA,aAAA,EAAA,eAAA,EAAA,SAAA,EAAA,CAAA,YAAA,EAAA,WAAA,CAAA,EAAA,cAAA,EAAA,CAAA,iBAAA,EAAA,gBAAA,CAAA,EAAA,eAAA,EAAA,CAAA,kBAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,UAAA,EAAA,OAAA,EAAA,SAAA,EAAA,aAAA,EAAA,eAAA,EAAA,QAAA,EAAA,UAAA,EAAA,EAAA,OAAA,EAAA,EAAA,MAAA,EAAA,QAAA,EAAA,YAAA,EAAA,cAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,IAAA,EAAA,IAAA,EAAA,eAAA,EAAA,MAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,WAAA,EAAA,MAAA,EAAA,sBAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,uBAAA,EAAA,kBAAA,EAAA,6CAAA,EAAA,gBAAA,EAAA,oBAAA,EAAA,oCAAA,EAAA,UAAA,EAAA,oCAAA,EAAA,SAAA,EAAA,+BAAA,EAAA,iBAAA,EAAA,EAAA,cAAA,EAAA,sBAAA,EAAA,EAAA,SAAA,EAAA,CAAC,+BAA+B,CAAC,kKCnF9C,m6DAkDA,EAAA,MAAA,EAAA,CAAA,i8eAAA,CAAA,EAAA,UAAA,EAAA,CAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,2BAAA,EAAA,MAAA,EAAA,CAAA,gBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,oBAAA,EAAA,mBAAA,EAAA,kBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;kGDmCa,cAAc,EAAA,UAAA,EAAA,CAAA;kBAxB1B,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,kBAAkB,EAGtB,IAAA,EAAA;AACJ,wBAAA,OAAO,EAAE,sBAAsB;AAC/B,wBAAA,MAAM,EAAE,IAAI;;AAEZ,wBAAA,iBAAiB,EAAE,MAAM;AACzB,wBAAA,mBAAmB,EAAE,MAAM;AAC3B,wBAAA,aAAa,EAAE,MAAM;AACrB,wBAAA,wBAAwB,EAAE,MAAM;AAChC,wBAAA,qBAAqB,EAAE,qBAAqB;AAC5C,wBAAA,oBAAoB,EAAE,yCAAyC;AAC/D,wBAAA,kBAAkB,EAAE,kBAAkB;AACtC,wBAAA,sCAAsC,EAAE,UAAU;AAClD,wBAAA,sCAAsC,EAAE,SAAS;AACjD,wBAAA,iCAAiC,EAAE,iBAAiB;AACrD,qBAAA,EAAA,QAAA,EACS,gBAAgB,EAAA,aAAA,EACX,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,+BAA+B,CAAC,EAAA,QAAA,EAAA,m6DAAA,EAAA,MAAA,EAAA,CAAA,i8eAAA,CAAA,EAAA,CAAA;;0BA6HzC,SAAS;2BAAC,UAAU,CAAA;;0BACpB,MAAM;2BAAC,gCAAgC,CAAA;;0BAEvC,QAAQ;;0BAAI,MAAM;2BAAC,qBAAqB,CAAA;4CAlGlC,KAAK,EAAA,CAAA;sBAAb,KAAK;gBAGG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAGG,EAAE,EAAA,CAAA;sBAAV,KAAK;gBAIF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAUG,aAAa,EAAA,CAAA;sBAArB,KAAK;gBAGe,SAAS,EAAA,CAAA;sBAA7B,KAAK;uBAAC,YAAY,CAAA;gBAGO,cAAc,EAAA,CAAA;sBAAvC,KAAK;uBAAC,iBAAiB,CAAA;gBAGG,eAAe,EAAA,CAAA;sBAAzC,KAAK;uBAAC,kBAAkB,CAAA;gBAIrB,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAUF,OAAO,EAAA,CAAA;sBADV,KAAK;gBAcF,aAAa,EAAA,CAAA;sBADhB,KAAK;gBAWF,QAAQ,EAAA,CAAA;sBADX,KAAK;gBAca,MAAM,EAAA,CAAA;sBAAxB,MAAM;gBAIY,YAAY,EAAA,CAAA;sBAA9B,MAAM;gBAQc,cAAc,EAAA,CAAA;sBAAlC,SAAS;uBAAC,QAAQ,CAAA;;;AE1MrB;;;;;;AAMG;MAaU,oBAAoB,CAAA;;wHAApB,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAApB,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAFhB,YAAA,EAAA,CAAA,cAAc,CAFnB,EAAA,OAAA,EAAA,CAAA,sCAAsC,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,CACtF,EAAA,OAAA,EAAA,CAAA,sCAAsC,EAAE,cAAc,EAAE,eAAe,CAAA,EAAA,CAAA,CAAA;AAGtE,oBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,eAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,oBAAoB,EAJtB,OAAA,EAAA,CAAA,CAAC,sCAAsC,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC,EACvF,sCAAsC,EAAkB,eAAe,CAAA,EAAA,CAAA,CAAA;kGAGtE,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBALhC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACR,OAAO,EAAE,CAAC,sCAAsC,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,CAAC;AACjG,oBAAA,OAAO,EAAE,CAAC,sCAAsC,EAAE,cAAc,EAAE,eAAe,CAAC;oBAClF,YAAY,EAAE,CAAC,cAAc,CAAC;AAC/B,iBAAA,CAAA;;;AClBD;;;;;;AAMG;;ACNH;;;;;;AAMG;;ACNH;;AAEG;;;;"}
1
+ {"version":3,"file":"mdc-slide-toggle.mjs","sources":["../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle-config.ts","../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle.ts","../../../../../../src/material-experimental/mdc-slide-toggle/slide-toggle.html","../../../../../../src/material-experimental/mdc-slide-toggle/module.ts","../../../../../../src/material-experimental/mdc-slide-toggle/public-api.ts","../../../../../../src/material-experimental/mdc-slide-toggle/index.ts","../../../../../../src/material-experimental/mdc-slide-toggle/mdc-slide-toggle_public_index.ts"],"sourcesContent":["/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\nimport {InjectionToken} from '@angular/core';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\n\n/** Default `mat-slide-toggle` options that can be overridden. */\nexport interface MatSlideToggleDefaultOptions {\n /** Whether toggle action triggers value changes in slide toggle. */\n disableToggleValue?: boolean;\n\n /** Default color for slide toggles. */\n color?: ThemePalette;\n}\n\n/** Injection token to be used to override the default options for `mat-slide-toggle`. */\nexport const MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS = new InjectionToken<MatSlideToggleDefaultOptions>(\n 'mat-slide-toggle-default-options',\n {\n providedIn: 'root',\n factory: () => ({disableToggleValue: false}),\n },\n);\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ChangeDetectionStrategy,\n Component,\n ViewEncapsulation,\n AfterViewInit,\n OnDestroy,\n forwardRef,\n ViewChild,\n ElementRef,\n Input,\n Output,\n EventEmitter,\n ChangeDetectorRef,\n Attribute,\n Inject,\n Optional,\n} from '@angular/core';\nimport {deprecated} from '@material/switch';\nimport {ControlValueAccessor, NG_VALUE_ACCESSOR} from '@angular/forms';\nimport {\n BooleanInput,\n coerceBooleanProperty,\n coerceNumberProperty,\n NumberInput,\n} from '@angular/cdk/coercion';\nimport {ANIMATION_MODULE_TYPE} from '@angular/platform-browser/animations';\nimport {ThemePalette} from '@angular/material-experimental/mdc-core';\nimport {FocusMonitor} from '@angular/cdk/a11y';\nimport {\n MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS,\n MatSlideToggleDefaultOptions,\n} from './slide-toggle-config';\n\n// Increasing integer for generating unique ids for slide-toggle components.\nlet nextUniqueId = 0;\n\n/** @docs-private */\nexport const MAT_SLIDE_TOGGLE_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => MatSlideToggle),\n multi: true,\n};\n\n/** Change event object emitted by a MatSlideToggle. */\nexport class MatSlideToggleChange {\n constructor(\n /** The source MatSlideToggle of the event. */\n public source: MatSlideToggle,\n /** The new `checked` value of the MatSlideToggle. */\n public checked: boolean,\n ) {}\n}\n\n@Component({\n selector: 'mat-slide-toggle',\n templateUrl: 'slide-toggle.html',\n styleUrls: ['slide-toggle.css'],\n host: {\n 'class': 'mat-mdc-slide-toggle',\n '[id]': 'id',\n // Needs to be removed since it causes some a11y issues (see #21266).\n '[attr.tabindex]': 'null',\n '[attr.aria-label]': 'null',\n '[attr.name]': 'null',\n '[attr.aria-labelledby]': 'null',\n '[class.mat-primary]': 'color === \"primary\"',\n '[class.mat-accent]': 'color !== \"primary\" && color !== \"warn\"',\n '[class.mat-warn]': 'color === \"warn\"',\n '[class.mat-mdc-slide-toggle-focused]': '_focused',\n '[class.mat-mdc-slide-toggle-checked]': 'checked',\n '[class._mat-animation-noopable]': '_noopAnimations',\n },\n exportAs: 'matSlideToggle',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [MAT_SLIDE_TOGGLE_VALUE_ACCESSOR],\n})\nexport class MatSlideToggle implements ControlValueAccessor, AfterViewInit, OnDestroy {\n private _onChange = (_: any) => {};\n private _onTouched = () => {};\n\n private _uniqueId: string = `mat-mdc-slide-toggle-${++nextUniqueId}`;\n private _required: boolean = false;\n private _checked: boolean = false;\n private _foundation: deprecated.MDCSwitchFoundation;\n private _adapter: deprecated.MDCSwitchAdapter = {\n addClass: className => this._switchElement.nativeElement.classList.add(className),\n removeClass: className => this._switchElement.nativeElement.classList.remove(className),\n setNativeControlChecked: checked => (this._checked = checked),\n setNativeControlDisabled: disabled => (this._disabled = disabled),\n setNativeControlAttr: (name, value) => {\n this._switchElement.nativeElement.setAttribute(name, value);\n },\n };\n\n /** Whether the slide toggle is currently focused. */\n _focused: boolean;\n\n /** Whether noop animations are enabled. */\n _noopAnimations: boolean;\n\n /** Unique ID for the label element. */\n _labelId = `mat-mdc-slide-toggle-label-${++nextUniqueId}`;\n\n /** The color palette for this slide toggle. */\n @Input() color: ThemePalette;\n\n /** Name value will be applied to the button element if present. */\n @Input() name: string | null = null;\n\n /** A unique id for the slide-toggle button. If none is supplied, it will be auto-generated. */\n @Input() id: string = this._uniqueId;\n\n /** Tabindex for the input element. */\n @Input()\n get tabIndex(): number {\n return this._tabIndex;\n }\n set tabIndex(value: NumberInput) {\n this._tabIndex = coerceNumberProperty(value);\n }\n private _tabIndex: number;\n\n /** Whether the label should appear after or before the slide-toggle. Defaults to 'after'. */\n @Input() labelPosition: 'before' | 'after' = 'after';\n\n /** Used to set the aria-label attribute on the underlying button element. */\n @Input('aria-label') ariaLabel: string | null = null;\n\n /** Used to set the aria-labelledby attribute on the underlying button element. */\n @Input('aria-labelledby') ariaLabelledby: string | null = null;\n\n /** Used to set the aria-describedby attribute on the underlying button element. */\n @Input('aria-describedby') ariaDescribedby: string;\n\n /** Whether the slide-toggle is required. */\n @Input()\n get required(): boolean {\n return this._required;\n }\n set required(value: BooleanInput) {\n this._required = coerceBooleanProperty(value);\n }\n\n /** Whether the slide-toggle element is checked or not. */\n @Input()\n get checked(): boolean {\n return this._checked;\n }\n set checked(value: BooleanInput) {\n this._checked = coerceBooleanProperty(value);\n\n if (this._foundation) {\n this._foundation.setChecked(this._checked);\n }\n }\n\n /** Whether to disable the ripple on this checkbox. */\n @Input()\n get disableRipple(): boolean {\n return this._disableRipple;\n }\n set disableRipple(disableRipple: BooleanInput) {\n this._disableRipple = coerceBooleanProperty(disableRipple);\n }\n private _disableRipple = false;\n\n /** Whether the slide toggle is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n set disabled(disabled: BooleanInput) {\n this._disabled = coerceBooleanProperty(disabled);\n\n if (this._foundation) {\n this._foundation.setDisabled(this._disabled);\n }\n }\n private _disabled = false;\n\n /** An event will be dispatched each time the slide-toggle changes its value. */\n @Output() readonly change: EventEmitter<MatSlideToggleChange> =\n new EventEmitter<MatSlideToggleChange>();\n\n /** Event will be dispatched each time the slide-toggle input is toggled. */\n @Output() readonly toggleChange: EventEmitter<void> = new EventEmitter<void>();\n\n /** Returns the unique id for the visual hidden button. */\n get buttonId(): string {\n return `${this.id || this._uniqueId}-button`;\n }\n\n /** Reference to the MDC switch element. */\n @ViewChild('switch') _switchElement: ElementRef<HTMLElement>;\n\n constructor(\n private _elementRef: ElementRef,\n private _focusMonitor: FocusMonitor,\n private _changeDetectorRef: ChangeDetectorRef,\n @Attribute('tabindex') tabIndex: string,\n @Inject(MAT_SLIDE_TOGGLE_DEFAULT_OPTIONS)\n public defaults: MatSlideToggleDefaultOptions,\n @Optional() @Inject(ANIMATION_MODULE_TYPE) animationMode?: string,\n ) {\n this.tabIndex = parseInt(tabIndex) || 0;\n this.color = defaults.color || 'accent';\n this._noopAnimations = animationMode === 'NoopAnimations';\n }\n\n ngAfterViewInit() {\n const foundation = (this._foundation = new deprecated.MDCSwitchFoundation(this._adapter));\n foundation.setDisabled(this.disabled);\n foundation.setChecked(this.checked);\n\n this._focusMonitor.monitor(this._elementRef, true).subscribe(focusOrigin => {\n if (focusOrigin === 'keyboard' || focusOrigin === 'program') {\n this._focused = true;\n } else if (!focusOrigin) {\n // When a focused element becomes disabled, the browser *immediately* fires a blur event.\n // Angular does not expect events to be raised during change detection, so any state\n // change (such as a form control's ng-touched) will cause a changed-after-checked error.\n // See https://github.com/angular/angular/issues/17793. To work around this, we defer\n // telling the form control it has been touched until the next tick.\n Promise.resolve().then(() => {\n this._focused = false;\n this._onTouched();\n this._changeDetectorRef.markForCheck();\n });\n }\n });\n }\n\n ngOnDestroy() {\n this._focusMonitor.stopMonitoring(this._elementRef);\n this._foundation?.destroy();\n }\n\n /** Method being called whenever the underlying button is clicked. */\n _handleClick(event: Event) {\n this.toggleChange.emit();\n this._foundation.handleChange(event);\n\n if (!this.defaults.disableToggleValue) {\n this.checked = !this.checked;\n this._onChange(this.checked);\n this.change.emit(new MatSlideToggleChange(this, this.checked));\n }\n }\n\n /** Implemented as part of ControlValueAccessor. */\n writeValue(value: any): void {\n this.checked = !!value;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnChange(fn: any): void {\n this._onChange = fn;\n }\n\n /** Implemented as part of ControlValueAccessor. */\n registerOnTouched(fn: any): void {\n this._onTouched = fn;\n }\n\n /** Implemented as a part of ControlValueAccessor. */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.markForCheck();\n }\n\n /** Focuses the slide-toggle. */\n focus(): void {\n this._switchElement.nativeElement.focus();\n }\n\n /** Toggles the checked state of the slide-toggle. */\n toggle(): void {\n this.checked = !this.checked;\n this._onChange(this.checked);\n }\n\n _getAriaLabelledBy() {\n if (this.ariaLabelledby) {\n return this.ariaLabelledby;\n }\n\n // Even though we have a `label` element with a `for` pointing to the button, we need the\n // `aria-labelledby`, because the button gets flagged as not having a label by tools like axe.\n return this.ariaLabel ? null : this._labelId;\n }\n}\n","<div class=\"mdc-form-field\"\n [class.mdc-form-field--align-end]=\"labelPosition == 'before'\">\n <button\n class=\"mdc-switch\"\n role=\"switch\"\n type=\"button\"\n [class.mdc-switch--selected]=\"checked\"\n [class.mdc-switch--unselected]=\"!checked\"\n [tabIndex]=\"tabIndex\"\n [disabled]=\"disabled\"\n [attr.id]=\"buttonId\"\n [attr.name]=\"name\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"_getAriaLabelledBy()\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n [attr.aria-required]=\"required || null\"\n (click)=\"_handleClick($event)\"\n #switch>\n <div class=\"mdc-switch__track\"></div>\n <div class=\"mdc-switch__handle-track\">\n <div class=\"mdc-switch__handle\">\n <div class=\"mdc-switch__shadow\">\n <div class=\"mdc-elevation-overlay\"></div>\n </div>\n <div class=\"mdc-switch__ripple\">\n <div class=\"mat-mdc-slide-toggle-ripple mat-mdc-focus-indicator\" mat-ripple\n [matRippleTrigger]=\"switch\"\n [matRippleDisabled]=\"disableRipple || disabled\"\n [matRippleCentered]=\"true\"></div>\n </div>\n <div class=\"mdc-switch__icons\">\n <svg class=\"mdc-switch__icon mdc-switch__icon--on\" viewBox=\"0 0 24 24\">\n <path d=\"M19.69,5.23L8.96,15.96l-4.23-4.23L2.96,13.5l6,6L21.46,7L19.69,5.23z\" />\n </svg>\n <svg class=\"mdc-switch__icon mdc-switch__icon--off\" viewBox=\"0 0 24 24\">\n <path d=\"M20 13H4v-2h16v2z\" />\n </svg>\n </div>\n </div>\n </div>\n </button>\n\n <!--\n Clicking on the label will trigger another click event from the button.\n Stop propagation here so other listeners further up in the DOM don't execute twice.\n -->\n <label [for]=\"buttonId\" [attr.id]=\"_labelId\" (click)=\"$event.stopPropagation()\">\n <ng-content></ng-content>\n </label>\n</div>\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {MatCommonModule, MatRippleModule} from '@angular/material-experimental/mdc-core';\nimport {_MatSlideToggleRequiredValidatorModule} from '@angular/material/slide-toggle';\nimport {MatSlideToggle} from './slide-toggle';\n\n@NgModule({\n imports: [_MatSlideToggleRequiredValidatorModule, MatCommonModule, MatRippleModule, CommonModule],\n exports: [_MatSlideToggleRequiredValidatorModule, MatSlideToggle, MatCommonModule],\n declarations: [MatSlideToggle],\n})\nexport class MatSlideToggleModule {}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './slide-toggle';\nexport * from './slide-toggle-config';\nexport * from './module';\n\nexport {\n MAT_SLIDE_TOGGLE_REQUIRED_VALIDATOR,\n MatSlideToggleRequiredValidator,\n} from '@angular/material/slide-toggle';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import * as i5 from '@angular/cdk/bidi';
2
2
  import { coerceNumberProperty, coerceBooleanProperty } from '@angular/cdk/coercion';
3
3
  import * as i3 from '@angular/cdk/platform';
4
+ import { normalizePassiveListenerOptions } from '@angular/cdk/platform';
4
5
  import * as i1 from '@angular/common';
5
6
  import { DOCUMENT, CommonModule } from '@angular/common';
6
7
  import * as i0 from '@angular/core';
@@ -58,9 +59,9 @@ class GlobalChangeAndInputListener {
58
59
  return fromEvent(this._document, type, { capture: true, passive: true }).pipe(takeUntil(this._destroyed), finalize(() => this._observables.delete(type)), share());
59
60
  }
60
61
  }
61
- GlobalChangeAndInputListener.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: GlobalChangeAndInputListener, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
62
- GlobalChangeAndInputListener.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: GlobalChangeAndInputListener, providedIn: 'root' });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: GlobalChangeAndInputListener, decorators: [{
62
+ GlobalChangeAndInputListener.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: GlobalChangeAndInputListener, deps: [{ token: DOCUMENT }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ GlobalChangeAndInputListener.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: GlobalChangeAndInputListener, providedIn: 'root' });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: GlobalChangeAndInputListener, decorators: [{
64
65
  type: Injectable,
65
66
  args: [{ providedIn: 'root' }]
66
67
  }], ctorParameters: function () { return [{ type: undefined, decorators: [{
@@ -75,6 +76,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6",
75
76
  * Use of this source code is governed by an MIT-style license that can be
76
77
  * found in the LICENSE file at https://angular.io/license
77
78
  */
79
+ /** Options used to bind passive event listeners. */
80
+ const passiveEventListenerOptions = normalizePassiveListenerOptions({ passive: true });
78
81
  /**
79
82
  * The visual slider thumb.
80
83
  *
@@ -214,16 +217,16 @@ class MatSliderVisualThumb {
214
217
  return this._valueIndicatorContainer.nativeElement;
215
218
  }
216
219
  }
217
- MatSliderVisualThumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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: "14.0.0-next.6", 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: "14.0.0-next.6", ngImport: i0, type: MatSliderVisualThumb, decorators: [{
220
+ MatSliderVisualThumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatSliderVisualThumb, deps: [{ token: i0.NgZone }, { token: forwardRef(() => MatSlider) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
221
+ MatSliderVisualThumb.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.9", 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%}"], 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 });
222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatSliderVisualThumb, decorators: [{
220
223
  type: Component,
221
224
  args: [{ selector: 'mat-slider-visual-thumb', host: {
222
225
  'class': 'mdc-slider__thumb mat-mdc-slider-visual-thumb',
223
226
  // NOTE: This class is used internally.
224
227
  // TODO(wagnermaciel): Remove this once it is handled by the mdc foundation (cl/388828896).
225
228
  '[class.mdc-slider__thumb--short-value]': '_isShortValue()',
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"] }]
229
+ }, 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%}"] }]
227
230
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: MatSlider, decorators: [{
228
231
  type: Inject,
229
232
  args: [forwardRef(() => MatSlider)]
@@ -451,15 +454,15 @@ class MatSliderThumb {
451
454
  this._hostElement.setAttribute('aria-valuetext', this._slider.displayWith(this.value));
452
455
  }
453
456
  }
454
- MatSliderThumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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: "14.0.0-next.6", 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: [
457
+ MatSliderThumb.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatSliderThumb, deps: [{ token: DOCUMENT }, { token: forwardRef(() => MatSlider) }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
458
+ MatSliderThumb.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "14.0.0-next.9", 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: [
456
459
  {
457
460
  provide: NG_VALUE_ACCESSOR,
458
461
  useExisting: MatSliderThumb,
459
462
  multi: true,
460
463
  },
461
464
  ], exportAs: ["matSliderThumb"], ngImport: i0 });
462
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSliderThumb, decorators: [{
465
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatSliderThumb, decorators: [{
463
466
  type: Directive,
464
467
  args: [{
465
468
  selector: 'input[matSliderThumb], input[matSliderStartThumb], input[matSliderEndThumb]',
@@ -602,6 +605,7 @@ class MatSlider extends _MatSliderMixinBase {
602
605
  this._foundation.init();
603
606
  this._foundation.layout();
604
607
  this._initialized = true;
608
+ this._observeHostResize();
605
609
  }
606
610
  // The MDC foundation requires access to the view and content children of the MatSlider. In
607
611
  // order to access the view and content children of MatSlider we need to wait until change
@@ -620,6 +624,9 @@ class MatSlider extends _MatSliderMixinBase {
620
624
  this._foundation.destroy();
621
625
  }
622
626
  this._dirChangeSubscription.unsubscribe();
627
+ this._resizeObserver?.disconnect();
628
+ this._resizeObserver = null;
629
+ clearTimeout(this._resizeTimer);
623
630
  this._removeUISyncEventListener();
624
631
  }
625
632
  /** Returns true if the language direction for this slider element is right to left. */
@@ -640,21 +647,21 @@ class MatSlider extends _MatSliderMixinBase {
640
647
  // would prefer to use "mousedown" as the default, for some reason it does not work (the
641
648
  // callback is never triggered).
642
649
  if (this._SUPPORTS_POINTER_EVENTS) {
643
- this._elementRef.nativeElement.addEventListener('pointerdown', this._layout);
650
+ this._elementRef.nativeElement.addEventListener('pointerdown', this._layout, passiveEventListenerOptions);
644
651
  }
645
652
  else {
646
653
  this._elementRef.nativeElement.addEventListener('mouseenter', this._layout);
647
- this._elementRef.nativeElement.addEventListener('touchstart', this._layout);
654
+ this._elementRef.nativeElement.addEventListener('touchstart', this._layout, passiveEventListenerOptions);
648
655
  }
649
656
  }
650
657
  /** Removes the event listener that keeps sync the slider UI and the foundation in sync. */
651
658
  _removeUISyncEventListener() {
652
659
  if (this._SUPPORTS_POINTER_EVENTS) {
653
- this._elementRef.nativeElement.removeEventListener('pointerdown', this._layout);
660
+ this._elementRef.nativeElement.removeEventListener('pointerdown', this._layout, passiveEventListenerOptions);
654
661
  }
655
662
  else {
656
663
  this._elementRef.nativeElement.removeEventListener('mouseenter', this._layout);
657
- this._elementRef.nativeElement.removeEventListener('touchstart', this._layout);
664
+ this._elementRef.nativeElement.removeEventListener('touchstart', this._layout, passiveEventListenerOptions);
658
665
  }
659
666
  }
660
667
  /**
@@ -771,10 +778,33 @@ class MatSlider extends _MatSliderMixinBase {
771
778
  _isRippleDisabled() {
772
779
  return this.disabled || this.disableRipple || !!this._globalRippleOptions?.disabled;
773
780
  }
781
+ /** Starts observing and updating the slider if the host changes its size. */
782
+ _observeHostResize() {
783
+ if (typeof ResizeObserver === 'undefined' || !ResizeObserver) {
784
+ return;
785
+ }
786
+ // MDC only updates the slider when the window is resized which
787
+ // doesn't capture changes of the container itself. We use a resize
788
+ // observer to ensure that the layout is correct (see #24590).
789
+ this._ngZone.runOutsideAngular(() => {
790
+ // The callback will fire as soon as an element is observed and
791
+ // we only want to know after the initial layout.
792
+ let hasResized = false;
793
+ this._resizeObserver = new ResizeObserver(() => {
794
+ if (hasResized) {
795
+ // Debounce the layouts since they can happen frequently.
796
+ clearTimeout(this._resizeTimer);
797
+ this._resizeTimer = setTimeout(this._layout, 50);
798
+ }
799
+ hasResized = true;
800
+ });
801
+ this._resizeObserver.observe(this._elementRef.nativeElement);
802
+ });
803
+ }
774
804
  }
775
- MatSlider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", 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: "14.0.0-next.6", 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:var(--slider-value-indicator-container-left, 50%);pointer-events:none;position:absolute;right:var(--slider-value-indicator-container-right);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:var(--slider-value-indicator-caret-left, 50%);position:absolute;right:var(--slider-value-indicator-caret-right);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: "14.0.0-next.6", ngImport: i0, type: MatSlider, decorators: [{
805
+ MatSlider.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", 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 });
806
+ MatSlider.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "14.0.0-next.9", 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:var(--slider-value-indicator-container-left, 50%);pointer-events:none;position:absolute;right:var(--slider-value-indicator-container-right);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:var(--slider-value-indicator-caret-left, 50%);position:absolute;right:var(--slider-value-indicator-caret-right);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}"], 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 });
807
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatSlider, decorators: [{
778
808
  type: Component,
779
809
  args: [{ selector: 'mat-slider', host: {
780
810
  'class': 'mat-mdc-slider mdc-slider',
@@ -783,7 +813,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6",
783
813
  '[class.mdc-slider--discrete]': 'discrete',
784
814
  '[class.mdc-slider--tick-marks]': 'showTickMarks',
785
815
  '[class._mat-animation-noopable]': '_noopAnimations',
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:var(--slider-value-indicator-container-left, 50%);pointer-events:none;position:absolute;right:var(--slider-value-indicator-container-right);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:var(--slider-value-indicator-caret-left, 50%);position:absolute;right:var(--slider-value-indicator-caret-right);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"] }]
816
+ }, 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:var(--slider-value-indicator-container-left, 50%);pointer-events:none;position:absolute;right:var(--slider-value-indicator-container-right);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:var(--slider-value-indicator-caret-left, 50%);position:absolute;right:var(--slider-value-indicator-caret-right);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}"] }]
787
817
  }], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i3.Platform }, { type: GlobalChangeAndInputListener }, { type: undefined, decorators: [{
788
818
  type: Inject,
789
819
  args: [DOCUMENT]
@@ -1111,10 +1141,10 @@ function _throwInvalidInputConfigurationError() {
1111
1141
  */
1112
1142
  class MatSliderModule {
1113
1143
  }
1114
- MatSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1115
- MatSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.6", 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: "14.0.0-next.6", ngImport: i0, type: MatSliderModule, imports: [[MatCommonModule, CommonModule, MatRippleModule]] });
1117
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.6", ngImport: i0, type: MatSliderModule, decorators: [{
1144
+ MatSliderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatSliderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1145
+ MatSliderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatSliderModule, declarations: [MatSlider, MatSliderThumb, MatSliderVisualThumb], imports: [MatCommonModule, CommonModule, MatRippleModule], exports: [MatSlider, MatSliderThumb] });
1146
+ MatSliderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatSliderModule, imports: [[MatCommonModule, CommonModule, MatRippleModule]] });
1147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.0-next.9", ngImport: i0, type: MatSliderModule, decorators: [{
1118
1148
  type: NgModule,
1119
1149
  args: [{
1120
1150
  imports: [MatCommonModule, CommonModule, MatRippleModule],