@angular/material 15.0.0-rc.0 → 15.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (401) hide show
  1. package/chips/_chips-theme.scss +11 -19
  2. package/esm2020/autocomplete/autocomplete-origin.mjs +6 -6
  3. package/esm2020/autocomplete/autocomplete-trigger.mjs +6 -6
  4. package/esm2020/autocomplete/autocomplete.mjs +6 -6
  5. package/esm2020/autocomplete/module.mjs +4 -4
  6. package/esm2020/badge/badge-module.mjs +4 -4
  7. package/esm2020/badge/badge.mjs +3 -3
  8. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +3 -3
  9. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +4 -4
  10. package/esm2020/bottom-sheet/bottom-sheet.mjs +3 -3
  11. package/esm2020/button/button-base.mjs +6 -6
  12. package/esm2020/button/button.mjs +8 -8
  13. package/esm2020/button/fab.mjs +16 -16
  14. package/esm2020/button/icon-button.mjs +6 -6
  15. package/esm2020/button/module.mjs +4 -4
  16. package/esm2020/button-toggle/button-toggle-module.mjs +4 -4
  17. package/esm2020/button-toggle/button-toggle.mjs +6 -6
  18. package/esm2020/card/card.mjs +42 -42
  19. package/esm2020/card/module.mjs +4 -4
  20. package/esm2020/checkbox/checkbox-required-validator.mjs +3 -3
  21. package/esm2020/checkbox/checkbox.mjs +6 -6
  22. package/esm2020/checkbox/module.mjs +8 -8
  23. package/esm2020/chips/chip-action.mjs +3 -3
  24. package/esm2020/chips/chip-edit-input.mjs +3 -3
  25. package/esm2020/chips/chip-grid.mjs +3 -3
  26. package/esm2020/chips/chip-icons.mjs +9 -9
  27. package/esm2020/chips/chip-input.mjs +3 -3
  28. package/esm2020/chips/chip-listbox.mjs +3 -3
  29. package/esm2020/chips/chip-option.mjs +5 -5
  30. package/esm2020/chips/chip-row.mjs +5 -5
  31. package/esm2020/chips/chip-set.mjs +3 -3
  32. package/esm2020/chips/chip.mjs +4 -4
  33. package/esm2020/chips/module.mjs +4 -4
  34. package/esm2020/core/common-behaviors/common-module.mjs +4 -4
  35. package/esm2020/core/datetime/index.mjs +8 -8
  36. package/esm2020/core/datetime/native-date-adapter.mjs +3 -3
  37. package/esm2020/core/error/error-options.mjs +6 -6
  38. package/esm2020/core/line/line.mjs +7 -7
  39. package/esm2020/core/option/index.mjs +4 -4
  40. package/esm2020/core/option/optgroup.mjs +6 -6
  41. package/esm2020/core/option/option.mjs +6 -6
  42. package/esm2020/core/ripple/index.mjs +4 -4
  43. package/esm2020/core/ripple/ripple.mjs +3 -3
  44. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox-module.mjs +4 -4
  45. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +3 -3
  46. package/esm2020/core/version.mjs +1 -1
  47. package/esm2020/datepicker/calendar-body.mjs +3 -3
  48. package/esm2020/datepicker/calendar.mjs +6 -6
  49. package/esm2020/datepicker/date-range-input-parts.mjs +12 -12
  50. package/esm2020/datepicker/date-range-input.mjs +3 -3
  51. package/esm2020/datepicker/date-range-picker.mjs +3 -3
  52. package/esm2020/datepicker/date-range-selection-strategy.mjs +3 -3
  53. package/esm2020/datepicker/date-selection-model.mjs +9 -9
  54. package/esm2020/datepicker/datepicker-actions.mjs +9 -9
  55. package/esm2020/datepicker/datepicker-base.mjs +6 -6
  56. package/esm2020/datepicker/datepicker-input-base.mjs +3 -3
  57. package/esm2020/datepicker/datepicker-input.mjs +3 -3
  58. package/esm2020/datepicker/datepicker-intl.mjs +3 -3
  59. package/esm2020/datepicker/datepicker-module.mjs +4 -4
  60. package/esm2020/datepicker/datepicker-toggle.mjs +6 -6
  61. package/esm2020/datepicker/datepicker.mjs +3 -3
  62. package/esm2020/datepicker/month-view.mjs +3 -3
  63. package/esm2020/datepicker/multi-year-view.mjs +3 -3
  64. package/esm2020/datepicker/year-view.mjs +3 -3
  65. package/esm2020/dialog/dialog-container.mjs +7 -7
  66. package/esm2020/dialog/dialog-content-directives.mjs +12 -12
  67. package/esm2020/dialog/dialog.mjs +6 -6
  68. package/esm2020/dialog/module.mjs +4 -4
  69. package/esm2020/divider/divider-module.mjs +4 -4
  70. package/esm2020/divider/divider.mjs +3 -3
  71. package/esm2020/expansion/accordion.mjs +3 -3
  72. package/esm2020/expansion/expansion-module.mjs +4 -4
  73. package/esm2020/expansion/expansion-panel-content.mjs +3 -3
  74. package/esm2020/expansion/expansion-panel-header.mjs +9 -9
  75. package/esm2020/expansion/expansion-panel.mjs +6 -6
  76. package/esm2020/form-field/directives/error.mjs +3 -3
  77. package/esm2020/form-field/directives/floating-label.mjs +3 -3
  78. package/esm2020/form-field/directives/hint.mjs +3 -3
  79. package/esm2020/form-field/directives/label.mjs +3 -3
  80. package/esm2020/form-field/directives/line-ripple.mjs +3 -3
  81. package/esm2020/form-field/directives/notched-outline.mjs +3 -3
  82. package/esm2020/form-field/directives/prefix.mjs +3 -3
  83. package/esm2020/form-field/directives/suffix.mjs +3 -3
  84. package/esm2020/form-field/form-field-control.mjs +3 -3
  85. package/esm2020/form-field/form-field.mjs +3 -3
  86. package/esm2020/form-field/module.mjs +4 -4
  87. package/esm2020/grid-list/grid-list-module.mjs +4 -4
  88. package/esm2020/grid-list/grid-list.mjs +3 -3
  89. package/esm2020/grid-list/grid-tile.mjs +15 -15
  90. package/esm2020/icon/icon-module.mjs +4 -4
  91. package/esm2020/icon/icon-registry.mjs +3 -3
  92. package/esm2020/icon/icon.mjs +3 -3
  93. package/esm2020/icon/testing/fake-icon-registry.mjs +7 -7
  94. package/esm2020/input/input.mjs +3 -3
  95. package/esm2020/input/module.mjs +4 -4
  96. package/esm2020/legacy-autocomplete/autocomplete-module.mjs +4 -4
  97. package/esm2020/legacy-autocomplete/autocomplete-origin.mjs +3 -3
  98. package/esm2020/legacy-autocomplete/autocomplete-trigger.mjs +3 -3
  99. package/esm2020/legacy-autocomplete/autocomplete.mjs +3 -3
  100. package/esm2020/legacy-button/button-module.mjs +4 -4
  101. package/esm2020/legacy-button/button.mjs +6 -6
  102. package/esm2020/legacy-card/card-module.mjs +4 -4
  103. package/esm2020/legacy-card/card.mjs +42 -42
  104. package/esm2020/legacy-checkbox/checkbox-module.mjs +4 -4
  105. package/esm2020/legacy-checkbox/checkbox.mjs +3 -3
  106. package/esm2020/legacy-chips/chip-input.mjs +3 -3
  107. package/esm2020/legacy-chips/chip-list.mjs +3 -3
  108. package/esm2020/legacy-chips/chip.mjs +12 -12
  109. package/esm2020/legacy-chips/chips-module.mjs +4 -4
  110. package/esm2020/legacy-core/option/index.mjs +4 -4
  111. package/esm2020/legacy-core/option/optgroup.mjs +3 -3
  112. package/esm2020/legacy-core/option/option.mjs +3 -3
  113. package/esm2020/legacy-dialog/dialog-container.mjs +3 -3
  114. package/esm2020/legacy-dialog/dialog-content-directives.mjs +12 -12
  115. package/esm2020/legacy-dialog/dialog-module.mjs +4 -4
  116. package/esm2020/legacy-dialog/dialog.mjs +3 -3
  117. package/esm2020/legacy-form-field/error.mjs +3 -3
  118. package/esm2020/legacy-form-field/form-field-module.mjs +4 -4
  119. package/esm2020/legacy-form-field/form-field.mjs +3 -3
  120. package/esm2020/legacy-form-field/hint.mjs +3 -3
  121. package/esm2020/legacy-form-field/label.mjs +3 -3
  122. package/esm2020/legacy-form-field/placeholder.mjs +3 -3
  123. package/esm2020/legacy-form-field/prefix.mjs +3 -3
  124. package/esm2020/legacy-form-field/suffix.mjs +3 -3
  125. package/esm2020/legacy-input/input-module.mjs +4 -4
  126. package/esm2020/legacy-input/input.mjs +3 -3
  127. package/esm2020/legacy-list/list-module.mjs +4 -4
  128. package/esm2020/legacy-list/list.mjs +18 -18
  129. package/esm2020/legacy-list/selection-list.mjs +6 -6
  130. package/esm2020/legacy-menu/menu-content.mjs +3 -3
  131. package/esm2020/legacy-menu/menu-item.mjs +3 -3
  132. package/esm2020/legacy-menu/menu-module.mjs +4 -4
  133. package/esm2020/legacy-menu/menu-trigger.mjs +3 -3
  134. package/esm2020/legacy-menu/menu.mjs +3 -3
  135. package/esm2020/legacy-paginator/paginator-module.mjs +4 -4
  136. package/esm2020/legacy-paginator/paginator.mjs +3 -3
  137. package/esm2020/legacy-progress-bar/progress-bar-module.mjs +4 -4
  138. package/esm2020/legacy-progress-bar/progress-bar.mjs +3 -3
  139. package/esm2020/legacy-progress-spinner/progress-spinner-module.mjs +4 -4
  140. package/esm2020/legacy-progress-spinner/progress-spinner.mjs +3 -3
  141. package/esm2020/legacy-radio/radio-module.mjs +4 -4
  142. package/esm2020/legacy-radio/radio.mjs +6 -6
  143. package/esm2020/legacy-select/select-module.mjs +4 -4
  144. package/esm2020/legacy-select/select.mjs +6 -6
  145. package/esm2020/legacy-slide-toggle/slide-toggle-module.mjs +4 -4
  146. package/esm2020/legacy-slide-toggle/slide-toggle.mjs +3 -3
  147. package/esm2020/legacy-slider/slider-module.mjs +4 -4
  148. package/esm2020/legacy-slider/slider.mjs +3 -3
  149. package/esm2020/legacy-snack-bar/simple-snack-bar.mjs +3 -3
  150. package/esm2020/legacy-snack-bar/snack-bar-container.mjs +3 -3
  151. package/esm2020/legacy-snack-bar/snack-bar-module.mjs +4 -4
  152. package/esm2020/legacy-snack-bar/snack-bar.mjs +3 -3
  153. package/esm2020/legacy-table/cell.mjs +21 -21
  154. package/esm2020/legacy-table/row.mjs +21 -21
  155. package/esm2020/legacy-table/table-module.mjs +4 -4
  156. package/esm2020/legacy-table/table.mjs +6 -6
  157. package/esm2020/legacy-table/text-column.mjs +3 -3
  158. package/esm2020/legacy-tabs/ink-bar.mjs +3 -3
  159. package/esm2020/legacy-tabs/tab-body.mjs +6 -6
  160. package/esm2020/legacy-tabs/tab-content.mjs +3 -3
  161. package/esm2020/legacy-tabs/tab-group.mjs +3 -3
  162. package/esm2020/legacy-tabs/tab-header.mjs +3 -3
  163. package/esm2020/legacy-tabs/tab-label-wrapper.mjs +3 -3
  164. package/esm2020/legacy-tabs/tab-label.mjs +3 -3
  165. package/esm2020/legacy-tabs/tab-nav-bar/tab-nav-bar.mjs +9 -9
  166. package/esm2020/legacy-tabs/tab.mjs +3 -3
  167. package/esm2020/legacy-tabs/tabs-module.mjs +4 -4
  168. package/esm2020/legacy-tooltip/tooltip-module.mjs +4 -4
  169. package/esm2020/legacy-tooltip/tooltip.mjs +6 -6
  170. package/esm2020/list/action-list.mjs +3 -3
  171. package/esm2020/list/list-base.mjs +6 -6
  172. package/esm2020/list/list-item-sections.mjs +18 -18
  173. package/esm2020/list/list-module.mjs +4 -4
  174. package/esm2020/list/list-option.mjs +3 -3
  175. package/esm2020/list/list.mjs +6 -6
  176. package/esm2020/list/nav-list.mjs +3 -3
  177. package/esm2020/list/selection-list.mjs +16 -6
  178. package/esm2020/list/subheader.mjs +3 -3
  179. package/esm2020/menu/menu-content.mjs +6 -6
  180. package/esm2020/menu/menu-item.mjs +3 -3
  181. package/esm2020/menu/menu-trigger.mjs +6 -6
  182. package/esm2020/menu/menu.mjs +6 -6
  183. package/esm2020/menu/module.mjs +4 -4
  184. package/esm2020/paginator/module.mjs +4 -4
  185. package/esm2020/paginator/paginator-intl.mjs +3 -3
  186. package/esm2020/paginator/paginator.mjs +6 -6
  187. package/esm2020/progress-bar/module.mjs +4 -4
  188. package/esm2020/progress-bar/progress-bar.mjs +3 -3
  189. package/esm2020/progress-spinner/module.mjs +4 -4
  190. package/esm2020/progress-spinner/progress-spinner.mjs +3 -3
  191. package/esm2020/radio/module.mjs +4 -4
  192. package/esm2020/radio/radio.mjs +12 -12
  193. package/esm2020/select/module.mjs +4 -4
  194. package/esm2020/select/select.mjs +9 -9
  195. package/esm2020/sidenav/drawer.mjs +9 -9
  196. package/esm2020/sidenav/sidenav-module.mjs +4 -4
  197. package/esm2020/sidenav/sidenav.mjs +9 -9
  198. package/esm2020/slide-toggle/module.mjs +8 -8
  199. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +3 -3
  200. package/esm2020/slide-toggle/slide-toggle.mjs +7 -7
  201. package/esm2020/slider/module.mjs +10 -8
  202. package/esm2020/slider/public-api.mjs +4 -2
  203. package/esm2020/slider/slider-input.mjs +611 -0
  204. package/esm2020/slider/slider-interface.mjs +34 -0
  205. package/esm2020/slider/slider-thumb.mjs +229 -0
  206. package/esm2020/slider/slider.mjs +523 -925
  207. package/esm2020/snack-bar/module.mjs +4 -4
  208. package/esm2020/snack-bar/simple-snack-bar.mjs +3 -3
  209. package/esm2020/snack-bar/snack-bar-container.mjs +8 -8
  210. package/esm2020/snack-bar/snack-bar-content.mjs +9 -9
  211. package/esm2020/snack-bar/snack-bar.mjs +6 -6
  212. package/esm2020/sort/sort-header-intl.mjs +3 -3
  213. package/esm2020/sort/sort-header.mjs +3 -3
  214. package/esm2020/sort/sort-module.mjs +4 -4
  215. package/esm2020/sort/sort.mjs +3 -3
  216. package/esm2020/stepper/step-content.mjs +3 -3
  217. package/esm2020/stepper/step-header.mjs +3 -3
  218. package/esm2020/stepper/step-label.mjs +3 -3
  219. package/esm2020/stepper/stepper-button.mjs +6 -6
  220. package/esm2020/stepper/stepper-icon.mjs +3 -3
  221. package/esm2020/stepper/stepper-intl.mjs +3 -3
  222. package/esm2020/stepper/stepper-module.mjs +4 -4
  223. package/esm2020/stepper/stepper.mjs +6 -6
  224. package/esm2020/table/cell.mjs +21 -21
  225. package/esm2020/table/module.mjs +4 -4
  226. package/esm2020/table/row.mjs +21 -21
  227. package/esm2020/table/table.mjs +8 -8
  228. package/esm2020/table/text-column.mjs +3 -3
  229. package/esm2020/tabs/module.mjs +4 -4
  230. package/esm2020/tabs/paginated-tab-header.mjs +3 -3
  231. package/esm2020/tabs/tab-body.mjs +9 -9
  232. package/esm2020/tabs/tab-content.mjs +3 -3
  233. package/esm2020/tabs/tab-group.mjs +6 -6
  234. package/esm2020/tabs/tab-header.mjs +6 -6
  235. package/esm2020/tabs/tab-label-wrapper.mjs +6 -6
  236. package/esm2020/tabs/tab-label.mjs +3 -3
  237. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +15 -15
  238. package/esm2020/tabs/tab.mjs +6 -6
  239. package/esm2020/toolbar/toolbar-module.mjs +4 -4
  240. package/esm2020/toolbar/toolbar.mjs +6 -6
  241. package/esm2020/tooltip/module.mjs +4 -4
  242. package/esm2020/tooltip/tooltip.mjs +12 -12
  243. package/esm2020/tree/node.mjs +9 -9
  244. package/esm2020/tree/outlet.mjs +3 -3
  245. package/esm2020/tree/padding.mjs +3 -3
  246. package/esm2020/tree/toggle.mjs +3 -3
  247. package/esm2020/tree/tree-module.mjs +4 -4
  248. package/esm2020/tree/tree.mjs +3 -3
  249. package/fesm2015/autocomplete.mjs +22 -22
  250. package/fesm2015/badge.mjs +7 -7
  251. package/fesm2015/bottom-sheet.mjs +10 -10
  252. package/fesm2015/button-toggle.mjs +10 -10
  253. package/fesm2015/button.mjs +40 -40
  254. package/fesm2015/button.mjs.map +1 -1
  255. package/fesm2015/card.mjs +46 -46
  256. package/fesm2015/checkbox.mjs +17 -17
  257. package/fesm2015/chips.mjs +45 -45
  258. package/fesm2015/chips.mjs.map +1 -1
  259. package/fesm2015/core.mjs +59 -59
  260. package/fesm2015/core.mjs.map +1 -1
  261. package/fesm2015/datepicker.mjs +84 -84
  262. package/fesm2015/datepicker.mjs.map +1 -1
  263. package/fesm2015/dialog.mjs +29 -29
  264. package/fesm2015/dialog.mjs.map +1 -1
  265. package/fesm2015/divider.mjs +7 -7
  266. package/fesm2015/expansion.mjs +25 -25
  267. package/fesm2015/form-field.mjs +34 -34
  268. package/fesm2015/grid-list.mjs +22 -22
  269. package/fesm2015/icon/testing.mjs +7 -7
  270. package/fesm2015/icon.mjs +10 -10
  271. package/fesm2015/input.mjs +7 -7
  272. package/fesm2015/legacy-autocomplete.mjs +13 -13
  273. package/fesm2015/legacy-button.mjs +10 -10
  274. package/fesm2015/legacy-card.mjs +46 -46
  275. package/fesm2015/legacy-checkbox.mjs +7 -7
  276. package/fesm2015/legacy-chips.mjs +22 -22
  277. package/fesm2015/legacy-core.mjs +10 -10
  278. package/fesm2015/legacy-dialog.mjs +22 -22
  279. package/fesm2015/legacy-form-field.mjs +25 -25
  280. package/fesm2015/legacy-input.mjs +7 -7
  281. package/fesm2015/legacy-list.mjs +28 -28
  282. package/fesm2015/legacy-menu.mjs +16 -16
  283. package/fesm2015/legacy-paginator.mjs +7 -7
  284. package/fesm2015/legacy-progress-bar.mjs +7 -7
  285. package/fesm2015/legacy-progress-spinner.mjs +7 -7
  286. package/fesm2015/legacy-radio.mjs +10 -10
  287. package/fesm2015/legacy-select.mjs +10 -10
  288. package/fesm2015/legacy-slide-toggle.mjs +7 -7
  289. package/fesm2015/legacy-slider.mjs +7 -7
  290. package/fesm2015/legacy-snack-bar.mjs +13 -13
  291. package/fesm2015/legacy-table.mjs +55 -55
  292. package/fesm2015/legacy-tabs.mjs +40 -40
  293. package/fesm2015/legacy-tooltip.mjs +10 -10
  294. package/fesm2015/list.mjs +61 -51
  295. package/fesm2015/list.mjs.map +1 -1
  296. package/fesm2015/menu.mjs +25 -25
  297. package/fesm2015/paginator.mjs +13 -13
  298. package/fesm2015/progress-bar.mjs +7 -7
  299. package/fesm2015/progress-spinner.mjs +7 -7
  300. package/fesm2015/radio.mjs +16 -16
  301. package/fesm2015/select.mjs +13 -13
  302. package/fesm2015/sidenav.mjs +22 -22
  303. package/fesm2015/slide-toggle.mjs +18 -18
  304. package/fesm2015/slide-toggle.mjs.map +1 -1
  305. package/fesm2015/slider.mjs +1300 -902
  306. package/fesm2015/slider.mjs.map +1 -1
  307. package/fesm2015/snack-bar.mjs +29 -29
  308. package/fesm2015/snack-bar.mjs.map +1 -1
  309. package/fesm2015/sort.mjs +13 -13
  310. package/fesm2015/stepper.mjs +31 -31
  311. package/fesm2015/table.mjs +57 -57
  312. package/fesm2015/table.mjs.map +1 -1
  313. package/fesm2015/tabs.mjs +61 -61
  314. package/fesm2015/toolbar.mjs +10 -10
  315. package/fesm2015/tooltip.mjs +16 -16
  316. package/fesm2015/tree.mjs +25 -25
  317. package/fesm2020/autocomplete.mjs +22 -22
  318. package/fesm2020/badge.mjs +7 -7
  319. package/fesm2020/bottom-sheet.mjs +10 -10
  320. package/fesm2020/button-toggle.mjs +10 -10
  321. package/fesm2020/button.mjs +40 -40
  322. package/fesm2020/button.mjs.map +1 -1
  323. package/fesm2020/card.mjs +46 -46
  324. package/fesm2020/checkbox.mjs +17 -17
  325. package/fesm2020/chips.mjs +45 -45
  326. package/fesm2020/chips.mjs.map +1 -1
  327. package/fesm2020/core.mjs +59 -59
  328. package/fesm2020/core.mjs.map +1 -1
  329. package/fesm2020/datepicker.mjs +84 -84
  330. package/fesm2020/datepicker.mjs.map +1 -1
  331. package/fesm2020/dialog.mjs +29 -29
  332. package/fesm2020/dialog.mjs.map +1 -1
  333. package/fesm2020/divider.mjs +7 -7
  334. package/fesm2020/expansion.mjs +25 -25
  335. package/fesm2020/form-field.mjs +34 -34
  336. package/fesm2020/grid-list.mjs +22 -22
  337. package/fesm2020/icon/testing.mjs +7 -7
  338. package/fesm2020/icon.mjs +10 -10
  339. package/fesm2020/input.mjs +7 -7
  340. package/fesm2020/legacy-autocomplete.mjs +13 -13
  341. package/fesm2020/legacy-button.mjs +10 -10
  342. package/fesm2020/legacy-card.mjs +46 -46
  343. package/fesm2020/legacy-checkbox.mjs +7 -7
  344. package/fesm2020/legacy-chips.mjs +22 -22
  345. package/fesm2020/legacy-core.mjs +10 -10
  346. package/fesm2020/legacy-dialog.mjs +22 -22
  347. package/fesm2020/legacy-form-field.mjs +25 -25
  348. package/fesm2020/legacy-input.mjs +7 -7
  349. package/fesm2020/legacy-list.mjs +28 -28
  350. package/fesm2020/legacy-menu.mjs +16 -16
  351. package/fesm2020/legacy-paginator.mjs +7 -7
  352. package/fesm2020/legacy-progress-bar.mjs +7 -7
  353. package/fesm2020/legacy-progress-spinner.mjs +7 -7
  354. package/fesm2020/legacy-radio.mjs +10 -10
  355. package/fesm2020/legacy-select.mjs +10 -10
  356. package/fesm2020/legacy-slide-toggle.mjs +7 -7
  357. package/fesm2020/legacy-slider.mjs +7 -7
  358. package/fesm2020/legacy-snack-bar.mjs +13 -13
  359. package/fesm2020/legacy-table.mjs +55 -55
  360. package/fesm2020/legacy-tabs.mjs +40 -40
  361. package/fesm2020/legacy-tooltip.mjs +10 -10
  362. package/fesm2020/list.mjs +61 -51
  363. package/fesm2020/list.mjs.map +1 -1
  364. package/fesm2020/menu.mjs +25 -25
  365. package/fesm2020/paginator.mjs +13 -13
  366. package/fesm2020/progress-bar.mjs +7 -7
  367. package/fesm2020/progress-spinner.mjs +7 -7
  368. package/fesm2020/radio.mjs +16 -16
  369. package/fesm2020/select.mjs +13 -13
  370. package/fesm2020/sidenav.mjs +22 -22
  371. package/fesm2020/slide-toggle.mjs +18 -18
  372. package/fesm2020/slide-toggle.mjs.map +1 -1
  373. package/fesm2020/slider.mjs +1289 -882
  374. package/fesm2020/slider.mjs.map +1 -1
  375. package/fesm2020/snack-bar.mjs +29 -29
  376. package/fesm2020/snack-bar.mjs.map +1 -1
  377. package/fesm2020/sort.mjs +13 -13
  378. package/fesm2020/stepper.mjs +31 -31
  379. package/fesm2020/table.mjs +57 -57
  380. package/fesm2020/table.mjs.map +1 -1
  381. package/fesm2020/tabs.mjs +61 -61
  382. package/fesm2020/toolbar.mjs +10 -10
  383. package/fesm2020/tooltip.mjs +16 -16
  384. package/fesm2020/tree.mjs +25 -25
  385. package/legacy-prebuilt-themes/legacy-deeppurple-amber.css +1 -1
  386. package/legacy-prebuilt-themes/legacy-indigo-pink.css +1 -1
  387. package/legacy-prebuilt-themes/legacy-pink-bluegrey.css +1 -1
  388. package/legacy-prebuilt-themes/legacy-purple-green.css +1 -1
  389. package/list/index.d.ts +4 -1
  390. package/package.json +49 -49
  391. package/prebuilt-themes/deeppurple-amber.css +1 -1
  392. package/prebuilt-themes/indigo-pink.css +1 -1
  393. package/prebuilt-themes/pink-bluegrey.css +1 -1
  394. package/prebuilt-themes/purple-green.css +1 -1
  395. package/schematics/ng-add/index.js +1 -1
  396. package/schematics/ng-add/index.mjs +1 -1
  397. package/schematics/ng-generate/mdc-migration/index_bundled.js +94 -10
  398. package/schematics/ng-generate/mdc-migration/index_bundled.js.map +3 -3
  399. package/schematics/ng-generate/mdc-migration/mdc_migration_bundle_metadata.json +1 -1
  400. package/slider/index.d.ts +443 -235
  401. package/esm2020/slider/global-change-and-input-listener.mjs +0 -59
package/slider/index.d.ts CHANGED
@@ -10,72 +10,68 @@ import { Directionality } from '@angular/cdk/bidi';
10
10
  import { ElementRef } from '@angular/core';
11
11
  import { EventEmitter } from '@angular/core';
12
12
  import * as i0 from '@angular/core';
13
- import * as i2 from '@angular/material/core';
14
- import * as i3 from '@angular/common';
13
+ import * as i4 from '@angular/material/core';
14
+ import * as i5 from '@angular/common';
15
+ import { MatRipple } from '@angular/material/core';
15
16
  import { NgZone } from '@angular/core';
16
17
  import { NumberInput } from '@angular/cdk/coercion';
17
18
  import { OnDestroy } from '@angular/core';
18
- import { OnInit } from '@angular/core';
19
19
  import { Platform } from '@angular/cdk/platform';
20
20
  import { QueryList } from '@angular/core';
21
21
  import { RippleGlobalOptions } from '@angular/material/core';
22
- import { SpecificEventListener } from '@material/base';
23
- import { Subscription } from 'rxjs';
24
- import { Thumb } from '@material/slider/types';
25
- import { TickMark } from '@material/slider/types';
22
+ import { Subject } from 'rxjs';
26
23
 
27
- /**
28
- * Handles listening for all change and input events that occur on the document.
29
- *
30
- * This service exposes a single method #listen to allow users to subscribe to change and input
31
- * events that occur on the document. Since listening for these events can be expensive, we use
32
- * #fromEvent which will lazily attach a listener when the first subscription is made and remove the
33
- * listener once the last observer unsubscribes.
34
- */
35
- declare class GlobalChangeAndInputListener<K extends 'change' | 'input'> implements OnDestroy {
36
- private _ngZone;
37
- /** The injected document if available or fallback to the global document reference. */
38
- private _document;
39
- /** Stores the subjects that emit the events that occur on the global document. */
40
- private _observables;
41
- /** The notifier that triggers the global event observables to stop emitting and complete. */
42
- private _destroyed;
43
- constructor(document: any, _ngZone: NgZone);
44
- ngOnDestroy(): void;
45
- /** Returns a subscription to global change or input events. */
46
- listen(type: K, callback: SpecificEventListener<K>): Subscription;
47
- /** Creates an observable that emits all events of the given type. */
48
- private _createGlobalEventObservable;
49
- static ɵfac: i0.ɵɵFactoryDeclaration<GlobalChangeAndInputListener<any>, never>;
50
- static ɵprov: i0.ɵɵInjectableDeclaration<GlobalChangeAndInputListener<any>>;
24
+ declare namespace i1 {
25
+ export {
26
+ MatSlider
27
+ }
51
28
  }
52
29
 
53
- declare namespace i1 {
30
+ declare namespace i2 {
54
31
  export {
55
- MatSliderDragEvent,
56
- MatSliderVisualThumb,
32
+ MAT_SLIDER_THUMB_VALUE_ACCESSOR,
33
+ MAT_SLIDER_RANGE_THUMB_VALUE_ACCESSOR,
57
34
  MatSliderThumb,
58
- MatSlider
35
+ MatSliderRangeThumb
36
+ }
37
+ }
38
+
39
+ declare namespace i3 {
40
+ export {
41
+ MatSliderVisualThumb
59
42
  }
60
43
  }
61
44
 
45
+ /**
46
+ * Provider that allows the range slider thumb to register as a ControlValueAccessor.
47
+ * @docs-private
48
+ */
49
+ declare const MAT_SLIDER_RANGE_THUMB_VALUE_ACCESSOR: any;
50
+
51
+ /**
52
+ * Provider that allows the slider thumb to register as a ControlValueAccessor.
53
+ * @docs-private
54
+ */
55
+ declare const MAT_SLIDER_THUMB_VALUE_ACCESSOR: any;
56
+
62
57
  /**
63
58
  * Allows users to select from a range of values by moving the slider thumb. It is similar in
64
59
  * behavior to the native `<input type="range">` element.
65
60
  */
66
- export declare class MatSlider extends _MatSliderMixinBase implements AfterViewInit, CanDisableRipple, OnDestroy {
61
+ export declare class MatSlider extends _MatSliderMixinBase implements AfterViewInit, CanDisableRipple, OnDestroy, _MatSlider {
67
62
  readonly _ngZone: NgZone;
68
63
  readonly _cdr: ChangeDetectorRef;
69
- private readonly _platform;
70
- readonly _globalChangeAndInputListener: GlobalChangeAndInputListener<'input' | 'change'>;
71
- private _dir;
64
+ readonly _platform: Platform;
65
+ readonly _dir: Directionality;
72
66
  readonly _globalRippleOptions?: RippleGlobalOptions | undefined;
73
- /** The slider thumb(s). */
74
- _thumbs: QueryList<MatSliderVisualThumb>;
75
- /** The active section of the slider track. */
67
+ /** The active portion of the slider track. */
76
68
  _trackActive: ElementRef<HTMLElement>;
69
+ /** The slider thumb(s). */
70
+ _thumbs: QueryList<_MatSliderVisualThumb>;
71
+ /** The sliders hidden range input(s). */
72
+ _input: _MatSliderThumb;
77
73
  /** The sliders hidden range input(s). */
78
- _inputs: QueryList<MatSliderThumb>;
74
+ _inputs: QueryList<_MatSliderRangeThumb>;
79
75
  /** Whether the slider is disabled. */
80
76
  get disabled(): boolean;
81
77
  set disabled(v: BooleanInput);
@@ -92,135 +88,182 @@ export declare class MatSlider extends _MatSliderMixinBase implements AfterViewI
92
88
  get min(): number;
93
89
  set min(v: NumberInput);
94
90
  private _min;
91
+ private _updateMin;
92
+ private _updateMinRange;
93
+ private _updateMinNonRange;
95
94
  /** The maximum value that the slider can have. */
96
95
  get max(): number;
97
96
  set max(v: NumberInput);
98
97
  private _max;
98
+ private _updateMax;
99
+ private _updateMaxRange;
100
+ private _updateMaxNonRange;
99
101
  /** The values at which the thumb will snap. */
100
102
  get step(): number;
101
103
  set step(v: NumberInput);
102
104
  private _step;
105
+ private _updateStep;
106
+ private _updateStepRange;
107
+ private _updateStepNonRange;
103
108
  /**
104
109
  * Function that will be used to format the value before it is displayed
105
110
  * in the thumb label. Can be used to format very large number in order
106
111
  * for them to fit into the slider thumb.
107
112
  */
108
113
  displayWith: (value: number) => string;
109
- /** Instance of the MDC slider foundation for this slider. */
110
- private _foundation;
111
- /** Whether the foundation has been initialized. */
112
- _initialized: boolean;
113
- /** The injected document if available or fallback to the global document reference. */
114
- _document: Document;
115
- /**
116
- * The defaultView of the injected document if
117
- * available or fallback to global window reference.
118
- */
119
- _window: Window;
120
114
  /** Used to keep track of & render the active & inactive tick marks on the slider track. */
121
- _tickMarks: TickMark[];
122
- /** The display value of the start thumb. */
123
- _startValueIndicatorText: string;
124
- /** The display value of the end thumb. */
125
- _endValueIndicatorText: string;
115
+ _tickMarks: _MatTickMark[];
126
116
  /** Whether animations have been disabled. */
127
117
  _noopAnimations: boolean;
128
- /**
129
- * Whether the browser supports pointer events.
130
- *
131
- * We exclude iOS to mirror the MDC Foundation. The MDC Foundation cannot use pointer events on
132
- * iOS because of this open bug - https://bugs.webkit.org/show_bug.cgi?id=220196.
133
- */
134
- private _SUPPORTS_POINTER_EVENTS;
135
118
  /** Subscription to changes to the directionality (LTR / RTL) context for the application. */
136
119
  private _dirChangeSubscription;
137
120
  /** Observer used to monitor size changes in the slider. */
138
121
  private _resizeObserver;
139
- /** Timeout used to debounce resize listeners. */
122
+ _cachedWidth: number;
123
+ _cachedLeft: number;
124
+ _rippleRadius: number;
125
+ protected startValueIndicatorText: string;
126
+ protected endValueIndicatorText: string;
127
+ _endThumbTransform: string;
128
+ _startThumbTransform: string;
129
+ _isRange: boolean;
130
+ /** Whether the slider is rtl. */
131
+ _isRtl: boolean;
132
+ /**
133
+ * The width of the tick mark track.
134
+ * The tick mark track width is different from full track width
135
+ */
136
+ _tickMarkTrackWidth: number;
137
+ _hasAnimation: boolean;
140
138
  private _resizeTimer;
141
- /** Cached dimensions of the host element. */
142
- private _cachedHostRect;
143
- constructor(_ngZone: NgZone, _cdr: ChangeDetectorRef, elementRef: ElementRef<HTMLElement>, _platform: Platform, _globalChangeAndInputListener: GlobalChangeAndInputListener<'input' | 'change'>, document: any, _dir: Directionality, _globalRippleOptions?: RippleGlobalOptions | undefined, animationMode?: string);
139
+ constructor(_ngZone: NgZone, _cdr: ChangeDetectorRef, _platform: Platform, elementRef: ElementRef<HTMLElement>, _dir: Directionality, _globalRippleOptions?: RippleGlobalOptions | undefined, animationMode?: string);
140
+ /** The radius of the native slider's knob. AFAIK there is no way to avoid hardcoding this. */
141
+ _knobRadius: number;
142
+ _inputPadding: number;
143
+ _inputOffset: number;
144
144
  ngAfterViewInit(): void;
145
145
  ngOnDestroy(): void;
146
- /** Returns true if the language direction for this slider element is right to left. */
147
- _isRTL(): boolean;
148
- /**
149
- * Attaches an event listener that keeps sync the slider UI and the foundation in sync.
150
- *
151
- * Because the MDC Foundation stores the value of the bounding client rect when layout is called,
152
- * we need to keep calling layout to avoid the position of the slider getting out of sync with
153
- * what the foundation has stored. If we don't do this, the foundation will not be able to
154
- * correctly calculate the slider value on click/slide.
155
- */
156
- _attachUISyncEventListener(): void;
157
- /** Removes the event listener that keeps sync the slider UI and the foundation in sync. */
158
- _removeUISyncEventListener(): void;
159
- /** Wrapper function for calling layout (needed for adding & removing an event listener). */
160
- private _layout;
146
+ /** Handles updating the slider ui after a dir change. */
147
+ private _onDirChange;
148
+ private _onDirChangeRange;
149
+ private _onDirChangeNonRange;
150
+ /** Starts observing and updating the slider if the host changes its size. */
151
+ private _observeHostResize;
152
+ /** Whether any of the thumbs are currently active. */
153
+ private _isActive;
154
+ private _getValue;
155
+ private _skipUpdate;
156
+ /** Stores the slider dimensions. */
157
+ _updateDimensions(): void;
158
+ /** Sets the styles for the active portion of the track. */
159
+ _setTrackActiveStyles(styles: {
160
+ left: string;
161
+ right: string;
162
+ transform: string;
163
+ transformOrigin: string;
164
+ }): void;
165
+ /** Returns the translateX positioning for a tick mark based on it's index. */
166
+ _calcTickMarkTransform(index: number): string;
167
+ _onTranslateXChange(source: _MatSliderThumb): void;
168
+ _onTranslateXChangeBySideEffect(input1: _MatSliderRangeThumb, input2: _MatSliderRangeThumb): void;
169
+ _onValueChange(source: _MatSliderThumb): void;
170
+ _onMinMaxOrStepChange(): void;
171
+ _onResize(): void;
172
+ /** Whether or not the slider thumbs overlap. */
173
+ private _thumbsOverlap;
174
+ /** Returns true if the slider knobs are overlapping one another. */
175
+ private _areThumbsOverlapping;
161
176
  /**
162
- * Reinitializes the slider foundation and input state(s).
163
- *
164
- * The MDC Foundation does not support changing some slider attributes after it has been
165
- * initialized (e.g. min, max, and step). To continue supporting this feature, we need to
166
- * destroy the foundation and re-initialize everything whenever we make these changes.
177
+ * Updates the class names of overlapping slider thumbs so
178
+ * that the current active thumb is styled to be on "top".
167
179
  */
168
- private _reinitialize;
169
- /** Handles updating the slider foundation after a dir change. */
170
- private _onDirChange;
171
- /** Sets the value of a slider thumb. */
172
- _setValue(value: number, thumbPosition: Thumb): void;
173
- /** Sets the disabled state of the MatSlider. */
174
- private _setDisabled;
175
- /** Sets the disabled state of the individual slider thumb(s) (ControlValueAccessor). */
176
- private _updateInputsDisabledState;
177
- /** Whether this is a ranged slider. */
178
- _isRange(): boolean;
179
- /** Sets the disabled state based on the disabled state of the inputs (ControlValueAccessor). */
180
- _updateDisabled(): void;
180
+ private _updateOverlappingThumbClassNames;
181
+ /** Updates the UI of slider thumbs when they begin or stop overlapping. */
182
+ private _updateOverlappingThumbUI;
183
+ /** Updates the translateX of the given thumb. */
184
+ _updateThumbUI(source: _MatSliderThumb): void;
185
+ /** Updates the value indicator tooltip ui for the given thumb. */
186
+ _updateValueIndicatorUI(source: _MatSliderThumb): void;
187
+ /** Updates the width of the tick mark track. */
188
+ private _updateTickMarkTrackUI;
189
+ /** Updates the scale on the active portion of the track. */
190
+ _updateTrackUI(source: _MatSliderThumb): void;
191
+ private _updateTrackUIRange;
192
+ private _updateTrackUINonRange;
193
+ /** Updates the dots along the slider track. */
194
+ _updateTickMarkUI(): void;
195
+ private _updateTickMarkUINonRange;
196
+ private _updateTickMarkUIRange;
181
197
  /** Gets the slider thumb input of the given thumb position. */
182
- _getInput(thumbPosition: Thumb): MatSliderThumb;
198
+ _getInput(thumbPosition: _MatThumb): _MatSliderThumb | _MatSliderRangeThumb | undefined;
183
199
  /** Gets the slider thumb HTML input element of the given thumb position. */
184
- _getInputElement(thumbPosition: Thumb): HTMLInputElement;
185
- _getThumb(thumbPosition: Thumb): MatSliderVisualThumb;
186
- /** Gets the slider thumb HTML element of the given thumb position. */
187
- _getThumbElement(thumbPosition: Thumb): HTMLElement;
188
- /** Gets the slider knob HTML element of the given thumb position. */
189
- _getKnobElement(thumbPosition: Thumb): HTMLElement;
200
+ _getThumb(thumbPosition: _MatThumb): _MatSliderVisualThumb;
201
+ _setTransition(withAnimation: boolean): void;
202
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatSlider, [null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
203
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatSlider, "mat-slider", ["matSlider"], { "color": "color"; "disableRipple": "disableRipple"; "disabled": "disabled"; "discrete": "discrete"; "showTickMarks": "showTickMarks"; "min": "min"; "max": "max"; "step": "step"; "displayWith": "displayWith"; }, {}, ["_input", "_inputs"], ["*"], false, never>;
204
+ }
205
+
206
+ declare interface _MatSlider {
207
+ /** Gets the slider thumb input of the given thumb position. */
208
+ _getInput(thumbPosition: _MatThumb): _MatSliderThumb | _MatSliderRangeThumb | undefined;
209
+ /** Gets the slider thumb HTML input element of the given thumb position. */
210
+ _getThumb(thumbPosition: _MatThumb): _MatSliderVisualThumb;
211
+ /** The minimum value that the slider can have. */
212
+ min: number;
213
+ /** The maximum value that the slider can have. */
214
+ max: number;
215
+ /** The amount that slider values can increment or decrement by. */
216
+ step: number;
217
+ /** Whether the slider is disabled. */
218
+ disabled: boolean;
219
+ /** Whether the slider is a range slider. */
220
+ _isRange: boolean;
221
+ /** Whether the slider is rtl. */
222
+ _isRtl: boolean;
223
+ /** The stored width of the host element's bounding client rect. */
224
+ _cachedWidth: number;
225
+ /** The stored width of the host element's bounding client rect. */
226
+ _cachedLeft: number;
190
227
  /**
191
- * Gets the slider value indicator container HTML element of the given thumb
192
- * position.
228
+ * The padding of the native slider input. This is added in order to make the region where the
229
+ * thumb ripple extends past the end of the slider track clickable.
193
230
  */
194
- _getValueIndicatorContainerElement(thumbPosition: Thumb): HTMLElement;
231
+ _inputPadding: number;
195
232
  /**
196
- * Sets the value indicator text of the given thumb position using the given value.
233
+ * The offset represents left most translateX of the slider knob. Inversely,
234
+ * (slider width - offset) = the right most translateX of the slider knob.
197
235
  *
198
- * Uses the `displayWith` function if one has been provided. Otherwise, it just uses the
199
- * numeric value as a string.
236
+ * Note:
237
+ * * The native slider knob differs from the visual slider. It's knob cannot slide past
238
+ * the end of the track AT ALL.
239
+ * * The visual slider knob CAN slide past the end of the track slightly. It's knob can slide
240
+ * past the end of the track such that it's center lines up with the end of the track.
200
241
  */
201
- _setValueIndicatorText(value: number, thumbPosition: Thumb): void;
202
- /** Gets the value indicator text for the given thumb position. */
203
- _getValueIndicatorText(thumbPosition: Thumb): string;
204
- /** Determines the class name for a HTML element. */
205
- _getTickMarkClass(tickMark: TickMark): string;
206
- /** Whether the slider thumb ripples should be disabled. */
207
- _isRippleDisabled(): boolean;
208
- /** Gets the dimensions of the host element. */
209
- _getHostDimensions(): DOMRect;
210
- /** Starts observing and updating the slider if the host changes its size. */
211
- private _observeHostResize;
212
- /** Whether any of the thumbs are currently active. */
213
- private _isActive;
214
- static ɵfac: i0.ɵɵFactoryDeclaration<MatSlider, [null, null, null, null, null, null, { optional: true; }, { optional: true; }, { optional: true; }]>;
215
- static ɵcmp: i0.ɵɵComponentDeclaration<MatSlider, "mat-slider", ["matSlider"], { "color": "color"; "disableRipple": "disableRipple"; "disabled": "disabled"; "discrete": "discrete"; "showTickMarks": "showTickMarks"; "min": "min"; "max": "max"; "step": "step"; "displayWith": "displayWith"; }, {}, ["_inputs"], ["*"], false, never>;
242
+ _inputOffset: number;
243
+ /** The radius of the visual slider's ripple. */
244
+ _rippleRadius: number;
245
+ /** The global configuration for `matRipple` instances. */
246
+ readonly _globalRippleOptions?: RippleGlobalOptions;
247
+ /** Whether animations have been disabled. */
248
+ _noopAnimations: boolean;
249
+ /** Whether or not the slider should use animations. */
250
+ _hasAnimation: boolean;
251
+ /** Triggers UI updates that are needed after a slider input value has changed. */
252
+ _onValueChange: (source: _MatSliderThumb) => void;
253
+ /** Triggers UI updates that are needed after the slider thumb position has changed. */
254
+ _onTranslateXChange: (source: _MatSliderThumb) => void;
255
+ /** Updates the stored slider dimensions using the current bounding client rect. */
256
+ _updateDimensions: () => void;
257
+ /** Used to set the transition duration for thumb and track animations. */
258
+ _setTransition: (withAnimation: boolean) => void;
216
259
  }
217
260
 
218
261
  /** Represents a drag event emitted by the MatSlider component. */
219
262
  export declare interface MatSliderDragEvent {
220
263
  /** The MatSliderThumb that was interacted with. */
221
- source: MatSliderThumb;
264
+ source: _MatSliderThumb;
222
265
  /** The MatSlider that was interacted with. */
223
- parent: MatSlider;
266
+ parent: _MatSlider;
224
267
  /** The current value of the slider. */
225
268
  value: number;
226
269
  }
@@ -233,10 +276,63 @@ declare const _MatSliderMixinBase: _Constructor<CanColor> & _AbstractConstructor
233
276
 
234
277
  export declare class MatSliderModule {
235
278
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSliderModule, never>;
236
- static ɵmod: i0.ɵɵNgModuleDeclaration<MatSliderModule, [typeof i1.MatSlider, typeof i1.MatSliderThumb, typeof i1.MatSliderVisualThumb], [typeof i2.MatCommonModule, typeof i3.CommonModule, typeof i2.MatRippleModule], [typeof i1.MatSlider, typeof i1.MatSliderThumb]>;
279
+ static ɵmod: i0.ɵɵNgModuleDeclaration<MatSliderModule, [typeof i1.MatSlider, typeof i2.MatSliderThumb, typeof i2.MatSliderRangeThumb, typeof i3.MatSliderVisualThumb], [typeof i4.MatCommonModule, typeof i5.CommonModule, typeof i4.MatRippleModule], [typeof i1.MatSlider, typeof i2.MatSliderThumb, typeof i2.MatSliderRangeThumb]>;
237
280
  static ɵinj: i0.ɵɵInjectorDeclaration<MatSliderModule>;
238
281
  }
239
282
 
283
+ export declare class MatSliderRangeThumb extends MatSliderThumb implements _MatSliderRangeThumb {
284
+ readonly _cdr: ChangeDetectorRef;
285
+ getSibling(): _MatSliderRangeThumb | undefined;
286
+ private _sibling;
287
+ /** Returns the minimum translateX position allowed for this slider input's visual thumb. */
288
+ getMinPos(): number;
289
+ /** Returns the maximum translateX position allowed for this slider input's visual thumb. */
290
+ getMaxPos(): number;
291
+ _setIsLeftThumb(): void;
292
+ /** Whether this slider corresponds to the input on the left hand side. */
293
+ _isLeftThumb: boolean;
294
+ /** Whether this slider corresponds to the input with greater value. */
295
+ _isEndThumb: boolean;
296
+ constructor(_ngZone: NgZone, _slider: _MatSlider, _elementRef: ElementRef<HTMLInputElement>, _cdr: ChangeDetectorRef);
297
+ _getDefaultValue(): number;
298
+ _onInput(): void;
299
+ _onNgControlValueChange(): void;
300
+ _onPointerDown(event: PointerEvent): void;
301
+ _onPointerUp(event: PointerEvent): void;
302
+ _onPointerMove(event: PointerEvent): void;
303
+ _fixValue(event: PointerEvent): void;
304
+ _clamp(v: number): number;
305
+ _updateMinMax(): void;
306
+ _updateWidthActive(): void;
307
+ _updateWidthInactive(): void;
308
+ _updateStaticStyles(): void;
309
+ private _updateSibling;
310
+ /**
311
+ * Sets the input's value.
312
+ * @param value The new value of the input
313
+ * @docs-private
314
+ */
315
+ writeValue(value: any): void;
316
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatSliderRangeThumb, never>;
317
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatSliderRangeThumb, "input[matSliderStartThumb], input[matSliderEndThumb]", ["matSliderRangeThumb"], {}, {}, never, never, false, never>;
318
+ }
319
+
320
+ declare interface _MatSliderRangeThumb extends _MatSliderThumb {
321
+ /** Whether this slider corresponds to the input on the left hand side. */
322
+ _isLeftThumb: boolean;
323
+ /**
324
+ * Gets the sibling MatSliderRangeThumb.
325
+ * Returns undefined if it is too early in Angular's life cycle.
326
+ */
327
+ getSibling: () => _MatSliderRangeThumb | undefined;
328
+ /** Used to cache whether this slider input corresponds to the visual left thumb. */
329
+ _setIsLeftThumb: () => void;
330
+ /** Updates the input styles to control whether it is pinned to the start or end of the mat-slider. */
331
+ _updateStaticStyles: () => void;
332
+ /** Updates the min and max properties of this slider input according to it's sibling. */
333
+ _updateMinMax: () => void;
334
+ }
335
+
240
336
  /**
241
337
  * Directive that adds slider-specific behaviors to an input element inside `<mat-slider>`.
242
338
  * Up to two may be placed inside of a `<mat-slider>`.
@@ -245,120 +341,193 @@ export declare class MatSliderModule {
245
341
  * slider. If two are used, the selectors `matSliderStartThumb` and `matSliderEndThumb` must be
246
342
  * used, and the outcome will be a range slider with two slider thumbs.
247
343
  */
248
- export declare class MatSliderThumb implements AfterViewInit, ControlValueAccessor, OnInit, OnDestroy {
249
- private readonly _slider;
250
- private readonly _elementRef;
251
- /** The current value of this slider input. */
344
+ export declare class MatSliderThumb implements _MatSliderThumb, OnDestroy, ControlValueAccessor {
345
+ readonly _ngZone: NgZone;
346
+ readonly _elementRef: ElementRef<HTMLInputElement>;
347
+ readonly _cdr: ChangeDetectorRef;
348
+ protected _slider: _MatSlider;
252
349
  get value(): number;
253
350
  set value(v: NumberInput);
254
- /**
255
- * Emits when the raw value of the slider changes. This is here primarily
256
- * to facilitate the two-way binding for the `value` input.
257
- * @docs-private
258
- */
259
351
  readonly valueChange: EventEmitter<number>;
260
352
  /** Event emitted when the slider thumb starts being dragged. */
261
353
  readonly dragStart: EventEmitter<MatSliderDragEvent>;
262
354
  /** Event emitted when the slider thumb stops being dragged. */
263
355
  readonly dragEnd: EventEmitter<MatSliderDragEvent>;
264
- /** Event emitted every time the MatSliderThumb is blurred. */
265
- readonly _blur: EventEmitter<void>;
266
- /** Event emitted every time the MatSliderThumb is focused. */
267
- readonly _focus: EventEmitter<void>;
268
- /**
269
- * Used to determine the disabled state of the MatSlider (ControlValueAccessor).
270
- * For ranged sliders, the disabled state of the MatSlider depends on the combined state of the
271
- * start and end inputs. See MatSlider._updateDisabled.
272
- */
273
- _disabled: boolean;
356
+ /** The current translateX in px of the slider visual thumb. */
357
+ get translateX(): number;
358
+ set translateX(v: number);
359
+ private _translateX;
360
+ /** Indicates whether this thumb is the start or end thumb. */
361
+ thumbPosition: _MatThumb;
362
+ get min(): number;
363
+ set min(v: NumberInput);
364
+ get max(): number;
365
+ set max(v: NumberInput);
366
+ get step(): number;
367
+ set step(v: NumberInput);
368
+ get disabled(): boolean;
369
+ set disabled(v: BooleanInput);
370
+ get percentage(): number;
371
+ get fillPercentage(): number;
372
+ /** The host native HTML input element. */
373
+ _hostElement: HTMLInputElement;
374
+ /** The aria-valuetext string representation of the input's value. */
375
+ _valuetext: string;
376
+ /** The radius of a native html slider's knob. */
377
+ _knobRadius: number;
378
+ /** Whether user's cursor is currently in a mouse down state on the input. */
379
+ _isActive: boolean;
380
+ /** Whether the input is currently focused (either by tab or after clicking). */
381
+ _isFocused: boolean;
382
+ /** Used to relay updates to _isFocused to the slider visual thumbs. */
383
+ private _setIsFocused;
274
384
  /**
275
- * A callback function that is called when the
276
- * control's value changes in the UI (ControlValueAccessor).
385
+ * Whether the initial value has been set.
386
+ * This exists because the initial value cannot be immediately set because the min and max
387
+ * must first be relayed from the parent MatSlider component, which can only happen later
388
+ * in the component lifecycle.
277
389
  */
278
- _onChange: (value: any) => void;
390
+ private _hasSetInitialValue;
391
+ /** The stored initial value. */
392
+ _initialValue: string | undefined;
393
+ /** Defined when a user is using a form control to manage slider value & validation. */
394
+ private _formControl;
395
+ /** Emits when the component is destroyed. */
396
+ protected readonly _destroyed: Subject<void>;
279
397
  /**
280
- * A callback function that is called by the forms API on
281
- * initialization to update the form model on blur (ControlValueAccessor).
398
+ * Indicates whether UI updates should be skipped.
399
+ *
400
+ * This flag is used to avoid flickering
401
+ * when correcting values on pointer up/down.
282
402
  */
283
- private _onTouched;
284
- /** Indicates which slider thumb this input corresponds to. */
285
- _thumbPosition: Thumb;
286
- /** The injected document if available or fallback to the global document reference. */
287
- private _document;
288
- /** The host native HTML input element. */
289
- _hostElement: HTMLInputElement;
290
- constructor(document: any, _slider: MatSlider, _elementRef: ElementRef<HTMLInputElement>);
291
- ngOnInit(): void;
292
- ngAfterViewInit(): void;
403
+ _skipUIUpdate: boolean;
404
+ /** Callback called when the slider input value changes. */
405
+ private _onChangeFn;
406
+ /** Callback called when the slider input has been touched. */
407
+ private _onTouchedFn;
408
+ constructor(_ngZone: NgZone, _elementRef: ElementRef<HTMLInputElement>, _cdr: ChangeDetectorRef, _slider: _MatSlider);
293
409
  ngOnDestroy(): void;
410
+ initProps(): void;
411
+ initUI(): void;
412
+ _initValue(): void;
413
+ _getDefaultValue(): number;
294
414
  _onBlur(): void;
295
- _emitFakeEvent(type: 'change' | 'input'): void;
415
+ _onFocus(): void;
416
+ _onChange(): void;
417
+ _onInput(): void;
418
+ _onNgControlValueChange(): void;
419
+ _onPointerDown(event: PointerEvent): void;
296
420
  /**
297
- * Sets the model value. Implemented as part of ControlValueAccessor.
298
- * @param value
421
+ * Corrects the value of the slider on pointer up/down.
422
+ *
423
+ * Called on pointer down and up because the value is set based
424
+ * on the inactive width instead of the active width.
425
+ */
426
+ private _handleValueCorrection;
427
+ /** Corrects the value of the slider based on the pointer event's position. */
428
+ _fixValue(event: PointerEvent): void;
429
+ _onPointerMove(event: PointerEvent): void;
430
+ _onPointerUp(event: PointerEvent): void;
431
+ _clamp(v: number): number;
432
+ _calcTranslateXByValue(): number;
433
+ _calcTranslateXByPointerEvent(event: PointerEvent): number;
434
+ /**
435
+ * Used to set the slider width to the correct
436
+ * dimensions while the user is dragging.
437
+ */
438
+ _updateWidthActive(): void;
439
+ /**
440
+ * Sets the slider input to disproportionate dimensions to allow for touch
441
+ * events to be captured on touch devices.
442
+ */
443
+ _updateWidthInactive(): void;
444
+ _updateThumbUIByValue(options?: {
445
+ withAnimation: boolean;
446
+ }): void;
447
+ _updateThumbUIByPointerEvent(event: PointerEvent, options?: {
448
+ withAnimation: boolean;
449
+ }): void;
450
+ _updateThumbUI(options?: {
451
+ withAnimation: boolean;
452
+ }): void;
453
+ /**
454
+ * Sets the input's value.
455
+ * @param value The new value of the input
456
+ * @docs-private
299
457
  */
300
458
  writeValue(value: any): void;
301
459
  /**
302
- * Registers a callback to be triggered when the value has changed.
303
- * Implemented as part of ControlValueAccessor.
304
- * @param fn Callback to be registered.
460
+ * Registers a callback to be invoked when the input's value changes from user input.
461
+ * @param fn The callback to register
462
+ * @docs-private
305
463
  */
306
464
  registerOnChange(fn: any): void;
307
465
  /**
308
- * Registers a callback to be triggered when the component is touched.
309
- * Implemented as part of ControlValueAccessor.
310
- * @param fn Callback to be registered.
466
+ * Registers a callback to be invoked when the input is blurred by the user.
467
+ * @param fn The callback to register
468
+ * @docs-private
311
469
  */
312
470
  registerOnTouched(fn: any): void;
313
471
  /**
314
- * Sets whether the component should be disabled.
315
- * Implemented as part of ControlValueAccessor.
316
- * @param isDisabled
472
+ * Sets the disabled state of the slider.
473
+ * @param isDisabled The new disabled state
474
+ * @docs-private
317
475
  */
318
476
  setDisabledState(isDisabled: boolean): void;
319
477
  focus(): void;
320
478
  blur(): void;
321
- /** Returns true if this slider input currently has focus. */
322
- _isFocused(): boolean;
323
- /**
324
- * Sets the min, max, and step properties on the slider thumb input.
325
- *
326
- * Must be called AFTER the sibling slider thumb input is guaranteed to have had its value
327
- * attribute value set. For a range slider, the min and max of the slider thumb input depends on
328
- * the value of its sibling slider thumb inputs value.
329
- *
330
- * Must be called BEFORE the value property is set. In the case where the min and max have not
331
- * yet been set and we are setting the input value property to a value outside of the native
332
- * inputs default min or max. The value property would not be set to our desired value, but
333
- * instead be capped at either the default min or max.
334
- *
335
- */
336
- _initializeInputState(): void;
479
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatSliderThumb, never>;
480
+ static ɵdir: i0.ɵɵDirectiveDeclaration<MatSliderThumb, "input[matSliderThumb]", ["matSliderThumb"], { "value": "value"; }, { "valueChange": "valueChange"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; }, never, never, false, never>;
481
+ }
482
+
483
+ declare interface _MatSliderThumb {
484
+ /** The minimum value that the slider can have. */
485
+ min: number;
486
+ /** The maximum value that the slider can have. */
487
+ max: number;
488
+ /** The amount that slider values can increment or decrement by. */
489
+ step: number;
490
+ /** The current value of this slider input. */
491
+ value: number;
492
+ /** The current translateX in px of the slider visual thumb. */
493
+ translateX: number;
494
+ /** Indicates whether this thumb is the start or end thumb. */
495
+ thumbPosition: _MatThumb;
496
+ /** Similar to percentage but calcualted using translateX relative to the total track width. */
497
+ fillPercentage: number;
498
+ /** Whether the slider is disabled. */
499
+ disabled: boolean;
500
+ /** The host native HTML input element. */
501
+ _hostElement: HTMLInputElement;
502
+ /** Whether the input is currently focused (either by tab or after clicking). */
503
+ _isFocused: boolean;
504
+ /** The aria-valuetext string representation of the input's value. */
505
+ _valuetext: string;
337
506
  /**
338
- * Sets the value property on the slider thumb input.
507
+ * Indicates whether UI updates should be skipped.
339
508
  *
340
- * Must be called AFTER the min and max have been set. In the case where the min and max have not
341
- * yet been set and we are setting the input value property to a value outside of the native
342
- * inputs default min or max. The value property would not be set to our desired value, but
343
- * instead be capped at either the default min or max.
509
+ * This flag is used to avoid flickering
510
+ * when correcting values on pointer up/down.
344
511
  */
345
- private _initializeInputValueProperty;
512
+ _skipUIUpdate: boolean;
513
+ /** Handles the initialization of properties for the slider input. */
514
+ initProps: () => void;
515
+ /** Handles UI initialization controlled by this slider input. */
516
+ initUI: () => void;
517
+ /** Calculates the visual thumb's translateX based on the slider input's current value. */
518
+ _calcTranslateXByValue: () => number;
519
+ /** Updates the visual thumb based on the slider input's current value. */
520
+ _updateThumbUIByValue: () => void;
346
521
  /**
347
- * Ensures the value attribute is initialized.
348
- *
349
- * Must be called BEFORE the min and max are set. For a range slider, the min and max of the
350
- * slider thumb input depends on the value of its sibling slider thumb inputs value.
522
+ * Sets the slider input to disproportionate dimensions to allow for touch
523
+ * events to be captured on touch devices.
351
524
  */
352
- private _initializeInputValueAttribute;
525
+ _updateWidthInactive: () => void;
353
526
  /**
354
- * Initializes the aria-valuetext attribute.
355
- *
356
- * Must be called AFTER the value attribute is set. This is because the slider's parent
357
- * `displayWith` function is used to set the `aria-valuetext` attribute.
527
+ * Used to set the slider width to the correct
528
+ * dimensions while the user is dragging.
358
529
  */
359
- private _initializeAriaValueText;
360
- static ɵfac: i0.ɵɵFactoryDeclaration<MatSliderThumb, never>;
361
- static ɵdir: i0.ɵɵDirectiveDeclaration<MatSliderThumb, "input[matSliderThumb], input[matSliderStartThumb], input[matSliderEndThumb]", ["matSliderThumb"], { "value": "value"; }, { "valueChange": "valueChange"; "dragStart": "dragStart"; "dragEnd": "dragEnd"; "_blur": "_blur"; "_focus": "_focus"; }, never, never, false, never>;
530
+ _updateWidthActive: () => void;
362
531
  }
363
532
 
364
533
  /**
@@ -368,42 +537,44 @@ export declare class MatSliderThumb implements AfterViewInit, ControlValueAccess
368
537
  * and displaying the value tooltip on discrete sliders.
369
538
  * @docs-private
370
539
  */
371
- declare class MatSliderVisualThumb implements AfterViewInit, OnDestroy {
540
+ export declare class MatSliderVisualThumb implements _MatSliderVisualThumb, AfterViewInit, OnDestroy {
541
+ readonly _cdr: ChangeDetectorRef;
372
542
  private readonly _ngZone;
373
- private readonly _slider;
374
- private readonly _elementRef;
543
+ private _slider;
375
544
  /** Whether the slider displays a numeric value label upon pressing the thumb. */
376
545
  discrete: boolean;
377
546
  /** Indicates which slider thumb this input corresponds to. */
378
- thumbPosition: Thumb;
547
+ thumbPosition: _MatThumb;
379
548
  /** The display value of the slider thumb. */
380
549
  valueIndicatorText: string;
381
- /** Whether ripples on the slider thumb should be disabled. */
382
- disableRipple: boolean;
383
550
  /** The MatRipple for this slider thumb. */
384
- private readonly _ripple;
551
+ readonly _ripple: MatRipple;
385
552
  /** The slider thumb knob. */
386
553
  _knob: ElementRef<HTMLElement>;
387
554
  /** The slider thumb value indicator container. */
388
555
  _valueIndicatorContainer: ElementRef<HTMLElement>;
389
556
  /** The slider input corresponding to this slider thumb. */
390
557
  private _sliderInput;
558
+ /** The native html element of the slider input corresponding to this thumb. */
559
+ private _sliderInputEl;
391
560
  /** The RippleRef for the slider thumbs hover state. */
392
561
  private _hoverRippleRef;
393
562
  /** The RippleRef for the slider thumbs focus state. */
394
563
  private _focusRippleRef;
395
564
  /** The RippleRef for the slider thumbs active state. */
396
565
  private _activeRippleRef;
397
- /** Whether the slider thumb is currently being pressed. */
398
- readonly _isActive = false;
399
566
  /** Whether the slider thumb is currently being hovered. */
400
567
  private _isHovered;
401
- constructor(_ngZone: NgZone, _slider: MatSlider, _elementRef: ElementRef<HTMLElement>);
568
+ /** Whether the slider thumb is currently being pressed. */
569
+ _isActive: boolean;
570
+ /** Whether the value indicator tooltip is visible. */
571
+ _isValueIndicatorVisible: boolean;
572
+ /** The host native HTML input element. */
573
+ _hostElement: HTMLElement;
574
+ constructor(_cdr: ChangeDetectorRef, _ngZone: NgZone, _elementRef: ElementRef<HTMLElement>, _slider: _MatSlider);
402
575
  ngAfterViewInit(): void;
403
576
  ngOnDestroy(): void;
404
- /** Used to append a class to indicate when the value indicator text is short. */
405
- _isShortValue(): boolean;
406
- private _onMouseEnter;
577
+ private _onPointerMove;
407
578
  private _onMouseLeave;
408
579
  private _onFocus;
409
580
  private _onBlur;
@@ -419,17 +590,54 @@ declare class MatSliderVisualThumb implements AfterViewInit, OnDestroy {
419
590
  private _isShowingRipple;
420
591
  /** Manually launches the slider thumb ripple using the specified ripple animation config. */
421
592
  private _showRipple;
422
- /** Gets the hosts native HTML element. */
423
- _getHostElement(): HTMLElement;
424
- /** Gets the native HTML element of the slider thumb knob. */
425
- _getKnob(): HTMLElement;
426
593
  /**
427
- * Gets the native HTML element of the slider thumb value indicator
428
- * container.
594
+ * Fades out the given ripple.
595
+ * Also hides the value indicator if no ripple is showing.
429
596
  */
430
- _getValueIndicatorContainer(): HTMLElement;
597
+ private _hideRipple;
598
+ /** Shows the value indicator ui. */
599
+ _showValueIndicator(): void;
600
+ /** Hides the value indicator ui. */
601
+ _hideValueIndicator(): void;
602
+ _getSibling(): _MatSliderVisualThumb;
603
+ /** Gets the value indicator container's native HTML element. */
604
+ _getValueIndicatorContainer(): HTMLElement | undefined;
605
+ /** Gets the native HTML element of the slider thumb knob. */
606
+ _getKnob(): HTMLElement;
607
+ _isShowingAnyRipple(): boolean;
608
+ private _isSliderThumbHovered;
431
609
  static ɵfac: i0.ɵɵFactoryDeclaration<MatSliderVisualThumb, never>;
432
- static ɵcmp: i0.ɵɵComponentDeclaration<MatSliderVisualThumb, "mat-slider-visual-thumb", never, { "discrete": "discrete"; "thumbPosition": "thumbPosition"; "valueIndicatorText": "valueIndicatorText"; "disableRipple": "disableRipple"; }, {}, never, never, false, never>;
610
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatSliderVisualThumb, "mat-slider-visual-thumb", never, { "discrete": "discrete"; "thumbPosition": "thumbPosition"; "valueIndicatorText": "valueIndicatorText"; }, {}, never, never, false, never>;
611
+ }
612
+
613
+ declare interface _MatSliderVisualThumb {
614
+ /** The MatRipple for this slider thumb. */
615
+ _ripple: MatRipple;
616
+ /** Whether the slider thumb is currently being pressed. */
617
+ _isActive: boolean;
618
+ /** The host native HTML input element. */
619
+ _hostElement: HTMLElement;
620
+ /** Shows the value indicator ui. */
621
+ _showValueIndicator: () => void;
622
+ /** Hides the value indicator ui. */
623
+ _hideValueIndicator: () => void;
624
+ /** Whether the slider visual thumb is currently showing any ripple. */
625
+ _isShowingAnyRipple: () => boolean;
626
+ }
627
+
628
+ /**
629
+ * Thumb types: range slider has two thumbs (START, END) whereas single point
630
+ * slider only has one thumb (END).
631
+ */
632
+ declare const enum _MatThumb {
633
+ START = 1,
634
+ END = 2
635
+ }
636
+
637
+ /** Tick mark enum, for discrete sliders. */
638
+ declare const enum _MatTickMark {
639
+ ACTIVE = 0,
640
+ INACTIVE = 1
433
641
  }
434
642
 
435
643
  export { }