@angular/material 13.0.0-next.7 → 13.0.0-next.8

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 (1655) hide show
  1. package/autocomplete/autocomplete-module.d.ts +11 -7
  2. package/autocomplete/autocomplete-origin.d.ts +5 -0
  3. package/autocomplete/autocomplete-trigger.d.ts +5 -0
  4. package/autocomplete/autocomplete.d.ts +6 -1
  5. package/autocomplete/package.json +5 -5
  6. package/autocomplete/testing/package.json +5 -5
  7. package/badge/badge-module.d.ts +7 -7
  8. package/badge/badge.d.ts +4 -1
  9. package/badge/package.json +5 -5
  10. package/badge/testing/package.json +5 -5
  11. package/bottom-sheet/bottom-sheet-container.d.ts +3 -0
  12. package/bottom-sheet/bottom-sheet-module.d.ts +8 -7
  13. package/bottom-sheet/bottom-sheet.d.ts +3 -7
  14. package/bottom-sheet/package.json +5 -5
  15. package/bottom-sheet/testing/package.json +5 -5
  16. package/button/button-module.d.ts +6 -7
  17. package/button/button.d.ts +6 -1
  18. package/button/package.json +5 -5
  19. package/button/testing/package.json +5 -5
  20. package/button-toggle/button-toggle-module.d.ts +6 -7
  21. package/button-toggle/button-toggle.d.ts +6 -1
  22. package/button-toggle/package.json +5 -5
  23. package/button-toggle/testing/package.json +5 -5
  24. package/card/card-module.d.ts +6 -7
  25. package/card/card.d.ts +29 -7
  26. package/card/package.json +5 -5
  27. package/card/testing/package.json +5 -5
  28. package/checkbox/checkbox-module.d.ts +11 -7
  29. package/checkbox/checkbox-required-validator.d.ts +3 -0
  30. package/checkbox/checkbox.d.ts +4 -1
  31. package/checkbox/package.json +5 -5
  32. package/checkbox/testing/package.json +5 -5
  33. package/chips/chip-input.d.ts +3 -0
  34. package/chips/chip-list.d.ts +4 -1
  35. package/chips/chip.d.ts +10 -1
  36. package/chips/chips-module.d.ts +8 -7
  37. package/chips/package.json +5 -5
  38. package/chips/testing/package.json +5 -5
  39. package/core/common-behaviors/common-module.d.ts +5 -0
  40. package/core/common-behaviors/index.d.ts +1 -0
  41. package/core/datetime/index.d.ts +8 -7
  42. package/core/datetime/native-date-adapter.d.ts +3 -0
  43. package/core/error/error-options.d.ts +5 -7
  44. package/core/index.d.ts +0 -1
  45. package/core/line/line.d.ts +7 -0
  46. package/core/option/index.d.ts +10 -7
  47. package/core/option/optgroup.d.ts +6 -1
  48. package/core/option/option.d.ts +5 -0
  49. package/core/package.json +5 -5
  50. package/core/ripple/index.d.ts +7 -7
  51. package/core/ripple/ripple.d.ts +3 -0
  52. package/core/selection/index.d.ts +6 -7
  53. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -7
  54. package/core/testing/package.json +5 -5
  55. package/datepicker/calendar-body.d.ts +3 -0
  56. package/datepicker/calendar.d.ts +5 -0
  57. package/datepicker/date-range-input-parts.d.ts +8 -1
  58. package/datepicker/date-range-input.d.ts +3 -0
  59. package/datepicker/date-range-picker.d.ts +3 -7
  60. package/datepicker/date-range-selection-strategy.d.ts +3 -0
  61. package/datepicker/date-selection-model.d.ts +7 -0
  62. package/datepicker/datepicker-actions.d.ts +7 -0
  63. package/datepicker/datepicker-base.d.ts +6 -1
  64. package/datepicker/datepicker-input-base.d.ts +3 -0
  65. package/datepicker/datepicker-input.d.ts +3 -0
  66. package/datepicker/datepicker-intl.d.ts +3 -7
  67. package/datepicker/datepicker-module.d.ts +24 -7
  68. package/datepicker/datepicker-toggle.d.ts +5 -0
  69. package/datepicker/datepicker.d.ts +3 -7
  70. package/datepicker/index.d.ts +0 -4
  71. package/datepicker/month-view.d.ts +3 -7
  72. package/datepicker/multi-year-view.d.ts +3 -7
  73. package/datepicker/package.json +5 -5
  74. package/datepicker/testing/package.json +5 -5
  75. package/datepicker/year-view.d.ts +3 -7
  76. package/dialog/dialog-container.d.ts +5 -0
  77. package/dialog/dialog-content-directives.d.ts +9 -0
  78. package/dialog/dialog-module.d.ts +9 -7
  79. package/dialog/dialog.d.ts +5 -7
  80. package/dialog/package.json +5 -5
  81. package/dialog/testing/dialog-harness.d.ts +14 -11
  82. package/dialog/testing/package.json +5 -5
  83. package/divider/divider-module.d.ts +6 -7
  84. package/divider/divider.d.ts +3 -7
  85. package/divider/package.json +5 -5
  86. package/divider/testing/package.json +5 -5
  87. package/esm2020/autocomplete/autocomplete-module.mjs +58 -0
  88. package/esm2020/autocomplete/autocomplete-origin.mjs +38 -0
  89. package/esm2020/autocomplete/autocomplete-trigger.mjs +651 -0
  90. package/esm2020/autocomplete/autocomplete.mjs +216 -0
  91. package/{esm2015/autocomplete/index.js → esm2020/autocomplete/index.mjs} +0 -0
  92. package/{esm2015/autocomplete/public-api.js → esm2020/autocomplete/public-api.mjs} +0 -0
  93. package/{esm2015/autocomplete/testing/autocomplete-harness-filters.js → esm2020/autocomplete/testing/autocomplete-harness-filters.mjs} +0 -0
  94. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +101 -0
  95. package/{esm2015/autocomplete/testing/index.js → esm2020/autocomplete/testing/index.mjs} +0 -0
  96. package/{esm2015/autocomplete/testing/public-api.js → esm2020/autocomplete/testing/public-api.mjs} +0 -0
  97. package/esm2020/badge/badge-module.mjs +33 -0
  98. package/esm2020/badge/badge.mjs +228 -0
  99. package/{esm2015/badge/index.js → esm2020/badge/index.mjs} +0 -0
  100. package/{esm2015/badge/public-api.js → esm2020/badge/public-api.mjs} +0 -0
  101. package/{esm2015/badge/testing/badge-harness-filters.js → esm2020/badge/testing/badge-harness-filters.mjs} +0 -0
  102. package/esm2020/badge/testing/badge-harness.mjs +72 -0
  103. package/{esm2015/badge/testing/index.js → esm2020/badge/testing/index.mjs} +0 -0
  104. package/{esm2015/badge/testing/public-api.js → esm2020/badge/testing/public-api.mjs} +0 -0
  105. package/{esm2015/bottom-sheet/bottom-sheet-animations.js → esm2020/bottom-sheet/bottom-sheet-animations.mjs} +0 -0
  106. package/{esm2015/bottom-sheet/bottom-sheet-config.js → esm2020/bottom-sheet/bottom-sheet-config.mjs} +0 -0
  107. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +230 -0
  108. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +38 -0
  109. package/esm2020/bottom-sheet/bottom-sheet-ref.mjs +91 -0
  110. package/esm2020/bottom-sheet/bottom-sheet.mjs +172 -0
  111. package/{esm2015/bottom-sheet/index.js → esm2020/bottom-sheet/index.mjs} +0 -0
  112. package/{esm2015/bottom-sheet/public-api.js → esm2020/bottom-sheet/public-api.mjs} +0 -0
  113. package/{esm2015/bottom-sheet/testing/bottom-sheet-harness-filters.js → esm2020/bottom-sheet/testing/bottom-sheet-harness-filters.mjs} +0 -0
  114. package/esm2020/bottom-sheet/testing/bottom-sheet-harness.mjs +35 -0
  115. package/{esm2015/bottom-sheet/testing/index.js → esm2020/bottom-sheet/testing/index.mjs} +0 -0
  116. package/{esm2015/bottom-sheet/testing/public-api.js → esm2020/bottom-sheet/testing/public-api.mjs} +0 -0
  117. package/esm2020/button/button-module.mjs +42 -0
  118. package/esm2020/button/button.mjs +153 -0
  119. package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
  120. package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
  121. package/{esm2015/button/testing/button-harness-filters.js → esm2020/button/testing/button-harness-filters.mjs} +0 -0
  122. package/esm2020/button/testing/button-harness.mjs +51 -0
  123. package/{esm2015/button/testing/index.js → esm2020/button/testing/index.mjs} +0 -0
  124. package/{esm2015/button/testing/public-api.js → esm2020/button/testing/public-api.mjs} +0 -0
  125. package/esm2020/button-toggle/button-toggle-module.mjs +25 -0
  126. package/esm2020/button-toggle/button-toggle.mjs +470 -0
  127. package/{esm2015/button-toggle/index.js → esm2020/button-toggle/index.mjs} +0 -0
  128. package/{esm2015/button-toggle/public-api.js → esm2020/button-toggle/public-api.mjs} +0 -0
  129. package/{esm2015/button-toggle/testing/button-toggle-group-harness-filters.js → esm2020/button-toggle/testing/button-toggle-group-harness-filters.mjs} +0 -0
  130. package/esm2020/button-toggle/testing/button-toggle-group-harness.mjs +45 -0
  131. package/{esm2015/button-toggle/testing/button-toggle-harness-filters.js → esm2020/button-toggle/testing/button-toggle-harness-filters.mjs} +0 -0
  132. package/esm2020/button-toggle/testing/button-toggle-harness.mjs +98 -0
  133. package/{esm2015/button-toggle/testing/index.js → esm2020/button-toggle/testing/index.mjs} +0 -0
  134. package/{esm2015/button-toggle/testing/public-api.js → esm2020/button-toggle/testing/public-api.mjs} +0 -0
  135. package/esm2020/card/card-module.mjs +61 -0
  136. package/esm2020/card/card.mjs +247 -0
  137. package/{esm2015/card/index.js → esm2020/card/index.mjs} +0 -0
  138. package/{esm2015/card/public-api.js → esm2020/card/public-api.mjs} +0 -0
  139. package/{esm2015/card/testing/card-harness-filters.js → esm2020/card/testing/card-harness-filters.mjs} +0 -0
  140. package/esm2020/card/testing/card-harness.mjs +43 -0
  141. package/{esm2015/card/testing/index.js → esm2020/card/testing/index.mjs} +0 -0
  142. package/{esm2015/card/testing/public-api.js → esm2020/card/testing/public-api.mjs} +0 -0
  143. package/{esm2015/checkbox/checkbox-config.js → esm2020/checkbox/checkbox-config.mjs} +0 -0
  144. package/esm2020/checkbox/checkbox-module.mjs +46 -0
  145. package/esm2020/checkbox/checkbox-required-validator.mjs +33 -0
  146. package/esm2020/checkbox/checkbox.mjs +403 -0
  147. package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
  148. package/{esm2015/checkbox/public-api.js → esm2020/checkbox/public-api.mjs} +0 -0
  149. package/{esm2015/checkbox/testing/checkbox-harness-filters.js → esm2020/checkbox/testing/checkbox-harness-filters.mjs} +0 -0
  150. package/esm2020/checkbox/testing/checkbox-harness.mjs +123 -0
  151. package/{esm2015/checkbox/testing/index.js → esm2020/checkbox/testing/index.mjs} +0 -0
  152. package/{esm2015/checkbox/testing/public-api.js → esm2020/checkbox/testing/public-api.mjs} +0 -0
  153. package/{esm2015/chips/chip-default-options.js → esm2020/chips/chip-default-options.mjs} +0 -0
  154. package/esm2020/chips/chip-input.mjs +192 -0
  155. package/esm2020/chips/chip-list.mjs +673 -0
  156. package/{esm2015/chips/chip-text-control.js → esm2020/chips/chip-text-control.mjs} +0 -0
  157. package/esm2020/chips/chip.mjs +415 -0
  158. package/esm2020/chips/chips-module.mjs +64 -0
  159. package/{esm2015/chips/index.js → esm2020/chips/index.mjs} +0 -0
  160. package/{esm2015/chips/public-api.js → esm2020/chips/public-api.mjs} +0 -0
  161. package/{esm2015/chips/testing/chip-avatar-harness.js → esm2020/chips/testing/chip-avatar-harness.mjs} +0 -0
  162. package/{esm2015/chips/testing/chip-harness-filters.js → esm2020/chips/testing/chip-harness-filters.mjs} +0 -0
  163. package/esm2020/chips/testing/chip-harness.mjs +91 -0
  164. package/esm2020/chips/testing/chip-input-harness.mjs +82 -0
  165. package/esm2020/chips/testing/chip-list-harness.mjs +82 -0
  166. package/esm2020/chips/testing/chip-listbox-harness.mjs +44 -0
  167. package/esm2020/chips/testing/chip-option-harness.mjs +45 -0
  168. package/esm2020/chips/testing/chip-remove-harness.mjs +26 -0
  169. package/{esm2015/chips/testing/index.js → esm2020/chips/testing/index.mjs} +0 -0
  170. package/{esm2015/chips/testing/public-api.js → esm2020/chips/testing/public-api.mjs} +0 -0
  171. package/{esm2015/core/animation/animation.js → esm2020/core/animation/animation.mjs} +0 -0
  172. package/{esm2015/core/common-behaviors/color.js → esm2020/core/common-behaviors/color.mjs} +0 -0
  173. package/esm2020/core/common-behaviors/common-module.mjs +122 -0
  174. package/{esm2015/core/common-behaviors/constructor.js → esm2020/core/common-behaviors/constructor.mjs} +0 -0
  175. package/{esm2015/core/common-behaviors/disable-ripple.js → esm2020/core/common-behaviors/disable-ripple.mjs} +0 -0
  176. package/{esm2015/core/common-behaviors/disabled.js → esm2020/core/common-behaviors/disabled.mjs} +0 -0
  177. package/{esm2015/core/common-behaviors/error-state.js → esm2020/core/common-behaviors/error-state.mjs} +0 -0
  178. package/esm2020/core/common-behaviors/index.mjs +15 -0
  179. package/{esm2015/core/common-behaviors/initialized.js → esm2020/core/common-behaviors/initialized.mjs} +0 -0
  180. package/{esm2015/core/common-behaviors/tabindex.js → esm2020/core/common-behaviors/tabindex.mjs} +0 -0
  181. package/{esm2015/core/datetime/date-adapter.js → esm2020/core/datetime/date-adapter.mjs} +0 -0
  182. package/{esm2015/core/datetime/date-formats.js → esm2020/core/datetime/date-formats.mjs} +0 -0
  183. package/esm2020/core/datetime/index.mjs +47 -0
  184. package/esm2020/core/datetime/native-date-adapter.mjs +218 -0
  185. package/{esm2015/core/datetime/native-date-formats.js → esm2020/core/datetime/native-date-formats.mjs} +0 -0
  186. package/esm2020/core/error/error-options.mjs +33 -0
  187. package/esm2020/core/index.mjs +5 -0
  188. package/esm2020/core/line/line.mjs +64 -0
  189. package/esm2020/core/option/index.mjs +32 -0
  190. package/esm2020/core/option/optgroup.mjs +73 -0
  191. package/{esm2015/core/option/option-parent.js → esm2020/core/option/option-parent.mjs} +0 -0
  192. package/esm2020/core/option/option.mjs +276 -0
  193. package/{esm2015/core/public-api.js → esm2020/core/public-api.mjs} +0 -0
  194. package/esm2020/core/ripple/index.mjs +29 -0
  195. package/{esm2015/core/ripple/ripple-ref.js → esm2020/core/ripple/ripple-ref.mjs} +0 -0
  196. package/esm2020/core/ripple/ripple-renderer.mjs +261 -0
  197. package/esm2020/core/ripple/ripple.mjs +152 -0
  198. package/esm2020/core/selection/index.mjs +26 -0
  199. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +54 -0
  200. package/{esm2015/core/testing/index.js → esm2020/core/testing/index.mjs} +0 -0
  201. package/{esm2015/core/testing/optgroup-harness-filters.js → esm2020/core/testing/optgroup-harness-filters.mjs} +0 -0
  202. package/esm2020/core/testing/optgroup-harness.mjs +44 -0
  203. package/{esm2015/core/testing/option-harness-filters.js → esm2020/core/testing/option-harness-filters.mjs} +0 -0
  204. package/esm2020/core/testing/option-harness.mjs +54 -0
  205. package/{esm2015/core/testing/public-api.js → esm2020/core/testing/public-api.mjs} +0 -0
  206. package/esm2020/core/version.mjs +11 -0
  207. package/esm2020/datepicker/calendar-body.mjs +298 -0
  208. package/esm2020/datepicker/calendar.mjs +354 -0
  209. package/esm2020/datepicker/date-range-input-parts.mjs +342 -0
  210. package/esm2020/datepicker/date-range-input.mjs +331 -0
  211. package/esm2020/datepicker/date-range-picker.mjs +48 -0
  212. package/esm2020/datepicker/date-range-selection-strategy.mjs +59 -0
  213. package/esm2020/datepicker/date-selection-model.mjs +187 -0
  214. package/esm2020/datepicker/datepicker-actions.mjs +89 -0
  215. package/{esm2015/datepicker/datepicker-animations.js → esm2020/datepicker/datepicker-animations.mjs} +0 -0
  216. package/esm2020/datepicker/datepicker-base.mjs +549 -0
  217. package/{esm2015/datepicker/datepicker-errors.js → esm2020/datepicker/datepicker-errors.mjs} +0 -0
  218. package/esm2020/datepicker/datepicker-input-base.mjs +298 -0
  219. package/esm2020/datepicker/datepicker-input.mjs +183 -0
  220. package/esm2020/datepicker/datepicker-intl.mjs +53 -0
  221. package/esm2020/datepicker/datepicker-module.mjs +148 -0
  222. package/esm2020/datepicker/datepicker-toggle.mjs +113 -0
  223. package/esm2020/datepicker/datepicker.mjs +37 -0
  224. package/esm2020/datepicker/index.mjs +5 -0
  225. package/esm2020/datepicker/month-view.mjs +364 -0
  226. package/esm2020/datepicker/multi-year-view.mjs +289 -0
  227. package/{esm2015/datepicker/public-api.js → esm2020/datepicker/public-api.mjs} +0 -0
  228. package/esm2020/datepicker/testing/calendar-cell-harness.mjs +138 -0
  229. package/esm2020/datepicker/testing/calendar-harness.mjs +76 -0
  230. package/esm2020/datepicker/testing/date-range-input-harness.mjs +99 -0
  231. package/{esm2015/datepicker/testing/datepicker-harness-filters.js → esm2020/datepicker/testing/datepicker-harness-filters.mjs} +0 -0
  232. package/esm2020/datepicker/testing/datepicker-input-harness-base.mjs +81 -0
  233. package/esm2020/datepicker/testing/datepicker-input-harness.mjs +58 -0
  234. package/esm2020/datepicker/testing/datepicker-toggle-harness.mjs +41 -0
  235. package/esm2020/datepicker/testing/datepicker-trigger-harness-base.mjs +65 -0
  236. package/{esm2015/datepicker/testing/index.js → esm2020/datepicker/testing/index.mjs} +0 -0
  237. package/{esm2015/datepicker/testing/public-api.js → esm2020/datepicker/testing/public-api.mjs} +0 -0
  238. package/esm2020/datepicker/year-view.mjs +281 -0
  239. package/{esm2015/dialog/dialog-animations.js → esm2020/dialog/dialog-animations.mjs} +0 -0
  240. package/{esm2015/dialog/dialog-config.js → esm2020/dialog/dialog-config.mjs} +0 -0
  241. package/esm2020/dialog/dialog-container.mjs +282 -0
  242. package/esm2020/dialog/dialog-content-directives.mjs +172 -0
  243. package/esm2020/dialog/dialog-module.mjs +69 -0
  244. package/esm2020/dialog/dialog-ref.mjs +196 -0
  245. package/esm2020/dialog/dialog.mjs +358 -0
  246. package/{esm2015/dialog/index.js → esm2020/dialog/index.mjs} +0 -0
  247. package/{esm2015/dialog/public-api.js → esm2020/dialog/public-api.mjs} +0 -0
  248. package/{esm2015/dialog/testing/dialog-harness-filters.js → esm2020/dialog/testing/dialog-harness-filters.mjs} +0 -0
  249. package/esm2020/dialog/testing/dialog-harness.mjs +83 -0
  250. package/{esm2015/dialog/testing/index.js → esm2020/dialog/testing/index.mjs} +0 -0
  251. package/{esm2015/dialog/testing/public-api.js → esm2020/dialog/testing/public-api.mjs} +0 -0
  252. package/esm2020/divider/divider-module.mjs +25 -0
  253. package/esm2020/divider/divider.mjs +40 -0
  254. package/{esm2015/divider/index.js → esm2020/divider/index.mjs} +0 -0
  255. package/{esm2015/divider/public-api.js → esm2020/divider/public-api.mjs} +0 -0
  256. package/{esm2015/divider/testing/divider-harness-filters.js → esm2020/divider/testing/divider-harness-filters.mjs} +0 -0
  257. package/esm2020/divider/testing/divider-harness.mjs +22 -0
  258. package/{esm2015/divider/testing/index.js → esm2020/divider/testing/index.mjs} +0 -0
  259. package/{esm2015/divider/testing/public-api.js → esm2020/divider/testing/public-api.mjs} +0 -0
  260. package/{esm2015/expansion/accordion-base.js → esm2020/expansion/accordion-base.mjs} +0 -0
  261. package/esm2020/expansion/accordion.mjs +93 -0
  262. package/{esm2015/expansion/expansion-animations.js → esm2020/expansion/expansion-animations.mjs} +0 -0
  263. package/esm2020/expansion/expansion-module.mjs +59 -0
  264. package/esm2020/expansion/expansion-panel-content.mjs +27 -0
  265. package/esm2020/expansion/expansion-panel-header.mjs +226 -0
  266. package/esm2020/expansion/expansion-panel.mjs +195 -0
  267. package/{esm2015/expansion/index.js → esm2020/expansion/index.mjs} +0 -0
  268. package/{esm2015/expansion/public-api.js → esm2020/expansion/public-api.mjs} +0 -0
  269. package/esm2020/expansion/testing/accordion-harness.mjs +31 -0
  270. package/{esm2015/expansion/testing/expansion-harness-filters.js → esm2020/expansion/testing/expansion-harness-filters.mjs} +0 -0
  271. package/esm2020/expansion/testing/expansion-harness.mjs +120 -0
  272. package/{esm2015/expansion/testing/index.js → esm2020/expansion/testing/index.mjs} +0 -0
  273. package/{esm2015/expansion/testing/public-api.js → esm2020/expansion/testing/public-api.mjs} +0 -0
  274. package/esm2020/form-field/error.mjs +47 -0
  275. package/{esm2015/form-field/form-field-animations.js → esm2020/form-field/form-field-animations.mjs} +0 -0
  276. package/esm2020/form-field/form-field-control.mjs +11 -0
  277. package/{esm2015/form-field/form-field-errors.js → esm2020/form-field/form-field-errors.mjs} +0 -0
  278. package/esm2020/form-field/form-field-module.mjs +73 -0
  279. package/esm2020/form-field/form-field.mjs +510 -0
  280. package/esm2020/form-field/hint.mjs +49 -0
  281. package/{esm2015/form-field/index.js → esm2020/form-field/index.mjs} +0 -0
  282. package/esm2020/form-field/label.mjs +21 -0
  283. package/esm2020/form-field/placeholder.mjs +26 -0
  284. package/esm2020/form-field/prefix.mjs +28 -0
  285. package/{esm2015/form-field/public-api.js → esm2020/form-field/public-api.mjs} +0 -0
  286. package/esm2020/form-field/suffix.mjs +28 -0
  287. package/{esm2015/form-field/testing/control/form-field-control-harness.js → esm2020/form-field/testing/control/form-field-control-harness.mjs} +0 -0
  288. package/{esm2015/form-field/testing/control/index.js → esm2020/form-field/testing/control/index.mjs} +0 -0
  289. package/{esm2015/form-field/testing/form-field-harness-filters.js → esm2020/form-field/testing/form-field-harness-filters.mjs} +0 -0
  290. package/esm2020/form-field/testing/form-field-harness.mjs +181 -0
  291. package/{esm2015/form-field/testing/index.js → esm2020/form-field/testing/index.mjs} +0 -0
  292. package/{esm2015/form-field/testing/public-api.js → esm2020/form-field/testing/public-api.mjs} +0 -0
  293. package/{esm2015/grid-list/grid-list-base.js → esm2020/grid-list/grid-list-base.mjs} +0 -0
  294. package/esm2020/grid-list/grid-list-module.mjs +55 -0
  295. package/esm2020/grid-list/grid-list.mjs +135 -0
  296. package/esm2020/grid-list/grid-tile.mjs +117 -0
  297. package/esm2020/grid-list/index.mjs +5 -0
  298. package/{esm2015/grid-list/public-api.js → esm2020/grid-list/public-api.mjs} +0 -0
  299. package/{esm2015/grid-list/testing/grid-list-harness-filters.js → esm2020/grid-list/testing/grid-list-harness-filters.mjs} +0 -0
  300. package/esm2020/grid-list/testing/grid-list-harness.mjs +72 -0
  301. package/esm2020/grid-list/testing/grid-tile-harness.mjs +65 -0
  302. package/{esm2015/grid-list/testing/index.js → esm2020/grid-list/testing/index.mjs} +0 -0
  303. package/{esm2015/grid-list/testing/public-api.js → esm2020/grid-list/testing/public-api.mjs} +0 -0
  304. package/{esm2015/grid-list/tile-coordinator.js → esm2020/grid-list/tile-coordinator.mjs} +0 -0
  305. package/{esm2015/grid-list/tile-styler.js → esm2020/grid-list/tile-styler.mjs} +0 -0
  306. package/{esm2015/icon/fake-svgs.js → esm2020/icon/fake-svgs.mjs} +0 -0
  307. package/esm2020/icon/icon-module.mjs +25 -0
  308. package/esm2020/icon/icon-registry.mjs +582 -0
  309. package/esm2020/icon/icon.mjs +357 -0
  310. package/{esm2015/icon/index.js → esm2020/icon/index.mjs} +0 -0
  311. package/{esm2015/icon/public-api.js → esm2020/icon/public-api.mjs} +0 -0
  312. package/esm2020/icon/testing/fake-icon-registry.mjs +92 -0
  313. package/{esm2015/icon/testing/icon-harness-filters.js → esm2020/icon/testing/icon-harness-filters.mjs} +0 -0
  314. package/esm2020/icon/testing/icon-harness.mjs +54 -0
  315. package/{esm2015/icon/testing/index.js → esm2020/icon/testing/index.mjs} +0 -0
  316. package/{esm2015/icon/testing/public-api.js → esm2020/icon/testing/public-api.mjs} +0 -0
  317. package/esm2020/icon/trusted-types.mjs +43 -0
  318. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  319. package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
  320. package/{esm2015/input/input-errors.js → esm2020/input/input-errors.mjs} +0 -0
  321. package/esm2020/input/input-module.mjs +51 -0
  322. package/{esm2015/input/input-value-accessor.js → esm2020/input/input-value-accessor.mjs} +0 -0
  323. package/esm2020/input/input.mjs +428 -0
  324. package/{esm2015/input/public-api.js → esm2020/input/public-api.mjs} +0 -0
  325. package/{esm2015/input/testing/index.js → esm2020/input/testing/index.mjs} +0 -0
  326. package/{esm2015/input/testing/input-harness-filters.js → esm2020/input/testing/input-harness-filters.mjs} +0 -0
  327. package/esm2020/input/testing/input-harness.mjs +113 -0
  328. package/esm2020/input/testing/native-option-harness.mjs +42 -0
  329. package/{esm2015/input/testing/native-select-harness-filters.js → esm2020/input/testing/native-select-harness-filters.mjs} +0 -0
  330. package/esm2020/input/testing/native-select-harness.mjs +79 -0
  331. package/{esm2015/input/testing/public-api.js → esm2020/input/testing/public-api.mjs} +0 -0
  332. package/{esm2015/list/index.js → esm2020/list/index.mjs} +0 -0
  333. package/esm2020/list/list-module.mjs +71 -0
  334. package/esm2020/list/list.mjs +216 -0
  335. package/{esm2015/list/public-api.js → esm2020/list/public-api.mjs} +0 -0
  336. package/esm2020/list/selection-list.mjs +612 -0
  337. package/esm2020/list/testing/action-list-harness.mjs +59 -0
  338. package/{esm2015/list/testing/index.js → esm2020/list/testing/index.mjs} +0 -0
  339. package/esm2020/list/testing/list-harness-base.mjs +88 -0
  340. package/{esm2015/list/testing/list-harness-filters.js → esm2020/list/testing/list-harness-filters.mjs} +0 -0
  341. package/{esm2015/list/testing/list-harness.js → esm2020/list/testing/list-harness.mjs} +0 -0
  342. package/esm2020/list/testing/list-item-harness-base.mjs +72 -0
  343. package/esm2020/list/testing/nav-list-harness.mjs +64 -0
  344. package/{esm2015/list/testing/public-api.js → esm2020/list/testing/public-api.mjs} +0 -0
  345. package/esm2020/list/testing/selection-list-harness.mjs +125 -0
  346. package/esm2020/menu/index.mjs +5 -0
  347. package/{esm2015/menu/menu-animations.js → esm2020/menu/menu-animations.mjs} +0 -0
  348. package/esm2020/menu/menu-content.mjs +97 -0
  349. package/{esm2015/menu/menu-errors.js → esm2020/menu/menu-errors.mjs} +0 -0
  350. package/esm2020/menu/menu-item.mjs +164 -0
  351. package/esm2020/menu/menu-module.mjs +58 -0
  352. package/{esm2015/menu/menu-panel.js → esm2020/menu/menu-panel.mjs} +0 -0
  353. package/{esm2015/menu/menu-positions.js → esm2020/menu/menu-positions.mjs} +0 -0
  354. package/esm2020/menu/menu-trigger.mjs +540 -0
  355. package/esm2020/menu/menu.mjs +401 -0
  356. package/{esm2015/menu/public-api.js → esm2020/menu/public-api.mjs} +0 -0
  357. package/{esm2015/menu/testing/index.js → esm2020/menu/testing/index.mjs} +0 -0
  358. package/{esm2015/menu/testing/menu-harness-filters.js → esm2020/menu/testing/menu-harness-filters.mjs} +0 -0
  359. package/esm2020/menu/testing/menu-harness.mjs +183 -0
  360. package/{esm2015/menu/testing/public-api.js → esm2020/menu/testing/public-api.mjs} +0 -0
  361. package/{esm2015/paginator/index.js → esm2020/paginator/index.mjs} +0 -0
  362. package/esm2020/paginator/paginator-intl.mjs +64 -0
  363. package/esm2020/paginator/paginator-module.mjs +47 -0
  364. package/esm2020/paginator/paginator.mjs +268 -0
  365. package/{esm2015/paginator/public-api.js → esm2020/paginator/public-api.mjs} +0 -0
  366. package/{esm2015/paginator/testing/index.js → esm2020/paginator/testing/index.mjs} +0 -0
  367. package/{esm2015/paginator/testing/paginator-harness-filters.js → esm2020/paginator/testing/paginator-harness-filters.mjs} +0 -0
  368. package/esm2020/paginator/testing/paginator-harness.mjs +91 -0
  369. package/{esm2015/paginator/testing/public-api.js → esm2020/paginator/testing/public-api.mjs} +0 -0
  370. package/{esm2015/progress-bar/index.js → esm2020/progress-bar/index.mjs} +0 -0
  371. package/esm2020/progress-bar/progress-bar-module.mjs +26 -0
  372. package/esm2020/progress-bar/progress-bar.mjs +187 -0
  373. package/{esm2015/progress-bar/public-api.js → esm2020/progress-bar/public-api.mjs} +0 -0
  374. package/{esm2015/progress-bar/testing/index.js → esm2020/progress-bar/testing/index.mjs} +0 -0
  375. package/{esm2015/progress-bar/testing/progress-bar-harness-filters.js → esm2020/progress-bar/testing/progress-bar-harness-filters.mjs} +0 -0
  376. package/esm2020/progress-bar/testing/progress-bar-harness.mjs +34 -0
  377. package/{esm2015/progress-bar/testing/public-api.js → esm2020/progress-bar/testing/public-api.mjs} +0 -0
  378. package/{esm2015/progress-spinner/index.js → esm2020/progress-spinner/index.mjs} +0 -0
  379. package/esm2020/progress-spinner/progress-spinner-module.mjs +36 -0
  380. package/esm2020/progress-spinner/progress-spinner.mjs +280 -0
  381. package/{esm2015/progress-spinner/public-api.js → esm2020/progress-spinner/public-api.mjs} +0 -0
  382. package/{esm2015/progress-spinner/testing/index.js → esm2020/progress-spinner/testing/index.mjs} +0 -0
  383. package/{esm2015/progress-spinner/testing/progress-spinner-harness-filters.js → esm2020/progress-spinner/testing/progress-spinner-harness-filters.mjs} +0 -0
  384. package/esm2020/progress-spinner/testing/progress-spinner-harness.mjs +35 -0
  385. package/{esm2015/progress-spinner/testing/public-api.js → esm2020/progress-spinner/testing/public-api.mjs} +0 -0
  386. package/{esm2015/radio/index.js → esm2020/radio/index.mjs} +0 -0
  387. package/{esm2015/radio/public-api.js → esm2020/radio/public-api.mjs} +0 -0
  388. package/esm2020/radio/radio-module.mjs +25 -0
  389. package/esm2020/radio/radio.mjs +570 -0
  390. package/{esm2015/radio/testing/index.js → esm2020/radio/testing/index.mjs} +0 -0
  391. package/{esm2015/radio/testing/public-api.js → esm2020/radio/testing/public-api.mjs} +0 -0
  392. package/{esm2015/radio/testing/radio-harness-filters.js → esm2020/radio/testing/radio-harness-filters.mjs} +0 -0
  393. package/esm2020/radio/testing/radio-harness.mjs +231 -0
  394. package/{esm2015/select/index.js → esm2020/select/index.mjs} +0 -0
  395. package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
  396. package/{esm2015/select/select-animations.js → esm2020/select/select-animations.mjs} +0 -0
  397. package/{esm2015/select/select-errors.js → esm2020/select/select-errors.mjs} +0 -0
  398. package/esm2020/select/select-module.mjs +58 -0
  399. package/esm2020/select/select.mjs +1188 -0
  400. package/{esm2015/select/testing/index.js → esm2020/select/testing/index.mjs} +0 -0
  401. package/{esm2015/select/testing/public-api.js → esm2020/select/testing/public-api.mjs} +0 -0
  402. package/{esm2015/select/testing/select-harness-filters.js → esm2020/select/testing/select-harness-filters.mjs} +0 -0
  403. package/esm2020/select/testing/select-harness.mjs +130 -0
  404. package/{esm2015/sidenav/drawer-animations.js → esm2020/sidenav/drawer-animations.mjs} +0 -0
  405. package/esm2020/sidenav/drawer.mjs +788 -0
  406. package/esm2020/sidenav/index.mjs +5 -0
  407. package/{esm2015/sidenav/public-api.js → esm2020/sidenav/public-api.mjs} +0 -0
  408. package/esm2020/sidenav/sidenav-module.mjs +71 -0
  409. package/esm2020/sidenav/sidenav.mjs +115 -0
  410. package/esm2020/sidenav/testing/drawer-container-harness.mjs +36 -0
  411. package/{esm2015/sidenav/testing/drawer-content-harness.js → esm2020/sidenav/testing/drawer-content-harness.mjs} +0 -0
  412. package/{esm2015/sidenav/testing/drawer-harness-filters.js → esm2020/sidenav/testing/drawer-harness-filters.mjs} +0 -0
  413. package/esm2020/sidenav/testing/drawer-harness.mjs +50 -0
  414. package/{esm2015/sidenav/testing/index.js → esm2020/sidenav/testing/index.mjs} +0 -0
  415. package/{esm2015/sidenav/testing/public-api.js → esm2020/sidenav/testing/public-api.mjs} +0 -0
  416. package/esm2020/sidenav/testing/sidenav-container-harness.mjs +36 -0
  417. package/{esm2015/sidenav/testing/sidenav-content-harness.js → esm2020/sidenav/testing/sidenav-content-harness.mjs} +0 -0
  418. package/esm2020/sidenav/testing/sidenav-harness.mjs +29 -0
  419. package/{esm2015/slide-toggle/index.js → esm2020/slide-toggle/index.mjs} +0 -0
  420. package/{esm2015/slide-toggle/public-api.js → esm2020/slide-toggle/public-api.mjs} +0 -0
  421. package/{esm2015/slide-toggle/slide-toggle-config.js → esm2020/slide-toggle/slide-toggle-config.mjs} +0 -0
  422. package/esm2020/slide-toggle/slide-toggle-module.mjs +57 -0
  423. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +36 -0
  424. package/esm2020/slide-toggle/slide-toggle.mjs +253 -0
  425. package/{esm2015/slide-toggle/testing/index.js → esm2020/slide-toggle/testing/index.mjs} +0 -0
  426. package/{esm2015/slide-toggle/testing/public-api.js → esm2020/slide-toggle/testing/public-api.mjs} +0 -0
  427. package/{esm2015/slide-toggle/testing/slide-toggle-harness-filters.js → esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs} +0 -0
  428. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +110 -0
  429. package/{esm2015/slider/index.js → esm2020/slider/index.mjs} +0 -0
  430. package/{esm2015/slider/public-api.js → esm2020/slider/public-api.mjs} +0 -0
  431. package/esm2020/slider/slider-module.mjs +26 -0
  432. package/esm2020/slider/slider.mjs +801 -0
  433. package/{esm2015/slider/testing/index.js → esm2020/slider/testing/index.mjs} +0 -0
  434. package/{esm2015/slider/testing/public-api.js → esm2020/slider/testing/public-api.mjs} +0 -0
  435. package/{esm2015/slider/testing/slider-harness-filters.js → esm2020/slider/testing/slider-harness-filters.mjs} +0 -0
  436. package/esm2020/slider/testing/slider-harness.mjs +114 -0
  437. package/{esm2015/snack-bar/index.js → esm2020/snack-bar/index.mjs} +0 -0
  438. package/{esm2015/snack-bar/public-api.js → esm2020/snack-bar/public-api.mjs} +0 -0
  439. package/esm2020/snack-bar/simple-snack-bar.mjs +44 -0
  440. package/{esm2015/snack-bar/snack-bar-animations.js → esm2020/snack-bar/snack-bar-animations.mjs} +0 -0
  441. package/{esm2015/snack-bar/snack-bar-config.js → esm2020/snack-bar/snack-bar-config.mjs} +0 -0
  442. package/esm2020/snack-bar/snack-bar-container.mjs +205 -0
  443. package/esm2020/snack-bar/snack-bar-module.mjs +47 -0
  444. package/esm2020/snack-bar/snack-bar-ref.mjs +90 -0
  445. package/esm2020/snack-bar/snack-bar.mjs +265 -0
  446. package/{esm2015/snack-bar/testing/index.js → esm2020/snack-bar/testing/index.mjs} +0 -0
  447. package/{esm2015/snack-bar/testing/public-api.js → esm2020/snack-bar/testing/public-api.mjs} +0 -0
  448. package/{esm2015/snack-bar/testing/snack-bar-harness-filters.js → esm2020/snack-bar/testing/snack-bar-harness-filters.mjs} +0 -0
  449. package/esm2020/snack-bar/testing/snack-bar-harness.mjs +118 -0
  450. package/{esm2015/sort/index.js → esm2020/sort/index.mjs} +0 -0
  451. package/{esm2015/sort/public-api.js → esm2020/sort/public-api.mjs} +0 -0
  452. package/{esm2015/sort/sort-animations.js → esm2020/sort/sort-animations.mjs} +0 -0
  453. package/{esm2015/sort/sort-direction.js → esm2020/sort/sort-direction.mjs} +0 -0
  454. package/{esm2015/sort/sort-errors.js → esm2020/sort/sort-errors.mjs} +0 -0
  455. package/esm2020/sort/sort-header-intl.mjs +43 -0
  456. package/esm2020/sort/sort-header.mjs +275 -0
  457. package/esm2020/sort/sort-module.mjs +29 -0
  458. package/esm2020/sort/sort.mjs +154 -0
  459. package/{esm2015/sort/testing/index.js → esm2020/sort/testing/index.mjs} +0 -0
  460. package/{esm2015/sort/testing/public-api.js → esm2020/sort/testing/public-api.mjs} +0 -0
  461. package/{esm2015/sort/testing/sort-harness-filters.js → esm2020/sort/testing/sort-harness-filters.mjs} +0 -0
  462. package/esm2020/sort/testing/sort-harness.mjs +36 -0
  463. package/esm2020/sort/testing/sort-header-harness.mjs +56 -0
  464. package/{esm2015/stepper/index.js → esm2020/stepper/index.mjs} +0 -0
  465. package/{esm2015/stepper/public-api.js → esm2020/stepper/public-api.mjs} +0 -0
  466. package/esm2020/stepper/step-content.mjs +26 -0
  467. package/esm2020/stepper/step-header.mjs +110 -0
  468. package/esm2020/stepper/step-label.mjs +21 -0
  469. package/{esm2015/stepper/stepper-animations.js → esm2020/stepper/stepper-animations.mjs} +0 -0
  470. package/esm2020/stepper/stepper-button.mjs +43 -0
  471. package/esm2020/stepper/stepper-icon.mjs +29 -0
  472. package/esm2020/stepper/stepper-intl.mjs +43 -0
  473. package/esm2020/stepper/stepper-module.mjs +97 -0
  474. package/esm2020/stepper/stepper.mjs +213 -0
  475. package/{esm2015/stepper/testing/index.js → esm2020/stepper/testing/index.mjs} +0 -0
  476. package/{esm2015/stepper/testing/public-api.js → esm2020/stepper/testing/public-api.mjs} +0 -0
  477. package/{esm2015/stepper/testing/step-harness-filters.js → esm2020/stepper/testing/step-harness-filters.mjs} +0 -0
  478. package/esm2020/stepper/testing/step-harness.mjs +90 -0
  479. package/esm2020/stepper/testing/stepper-button-harnesses.mjs +50 -0
  480. package/esm2020/stepper/testing/stepper-harness.mjs +50 -0
  481. package/esm2020/table/cell.mjs +139 -0
  482. package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
  483. package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
  484. package/esm2020/table/row.mjs +139 -0
  485. package/esm2020/table/table-data-source.mjs +310 -0
  486. package/esm2020/table/table-module.mjs +101 -0
  487. package/esm2020/table/table.mjs +71 -0
  488. package/esm2020/table/testing/cell-harness.mjs +72 -0
  489. package/{esm2015/table/testing/index.js → esm2020/table/testing/index.mjs} +0 -0
  490. package/{esm2015/table/testing/public-api.js → esm2020/table/testing/public-api.mjs} +0 -0
  491. package/esm2020/table/testing/row-harness.mjs +84 -0
  492. package/{esm2015/table/testing/table-harness-filters.js → esm2020/table/testing/table-harness-filters.mjs} +0 -0
  493. package/esm2020/table/testing/table-harness.mjs +88 -0
  494. package/esm2020/table/text-column.mjs +58 -0
  495. package/esm2020/tabs/index.mjs +5 -0
  496. package/esm2020/tabs/ink-bar.mjs +93 -0
  497. package/esm2020/tabs/paginated-tab-header.mjs +480 -0
  498. package/{esm2015/tabs/public-api.js → esm2020/tabs/public-api.mjs} +0 -0
  499. package/esm2020/tabs/tab-body.mjs +214 -0
  500. package/{esm2015/tabs/tab-config.js → esm2020/tabs/tab-config.mjs} +0 -0
  501. package/esm2020/tabs/tab-content.mjs +32 -0
  502. package/esm2020/tabs/tab-group.mjs +382 -0
  503. package/esm2020/tabs/tab-header.mjs +101 -0
  504. package/esm2020/tabs/tab-label-wrapper.mjs +41 -0
  505. package/esm2020/tabs/tab-label.mjs +43 -0
  506. package/{esm2015/tabs/tab-nav-bar/index.js → esm2020/tabs/tab-nav-bar/index.mjs} +0 -0
  507. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +263 -0
  508. package/esm2020/tabs/tab.mjs +106 -0
  509. package/{esm2015/tabs/tabs-animations.js → esm2020/tabs/tabs-animations.mjs} +0 -0
  510. package/esm2020/tabs/tabs-module.mjs +93 -0
  511. package/{esm2015/tabs/testing/index.js → esm2020/tabs/testing/index.mjs} +0 -0
  512. package/{esm2015/tabs/testing/public-api.js → esm2020/tabs/testing/public-api.mjs} +0 -0
  513. package/esm2020/tabs/testing/tab-group-harness.mjs +58 -0
  514. package/{esm2015/tabs/testing/tab-harness-filters.js → esm2020/tabs/testing/tab-harness-filters.mjs} +0 -0
  515. package/esm2020/tabs/testing/tab-harness.mjs +66 -0
  516. package/esm2020/tabs/testing/tab-link-harness.mjs +42 -0
  517. package/esm2020/tabs/testing/tab-nav-bar-harness.mjs +54 -0
  518. package/{esm2015/toolbar/index.js → esm2020/toolbar/index.mjs} +0 -0
  519. package/{esm2015/toolbar/public-api.js → esm2020/toolbar/public-api.mjs} +0 -0
  520. package/{esm2015/toolbar/testing/index.js → esm2020/toolbar/testing/index.mjs} +0 -0
  521. package/{esm2015/toolbar/testing/public-api.js → esm2020/toolbar/testing/public-api.mjs} +0 -0
  522. package/{esm2015/toolbar/testing/toolbar-harness-filters.js → esm2020/toolbar/testing/toolbar-harness-filters.mjs} +0 -0
  523. package/esm2020/toolbar/testing/toolbar-harness.mjs +40 -0
  524. package/esm2020/toolbar/toolbar-module.mjs +25 -0
  525. package/esm2020/toolbar/toolbar.mjs +88 -0
  526. package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
  527. package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
  528. package/{esm2015/tooltip/testing/index.js → esm2020/tooltip/testing/index.mjs} +0 -0
  529. package/{esm2015/tooltip/testing/public-api.js → esm2020/tooltip/testing/public-api.mjs} +0 -0
  530. package/{esm2015/tooltip/testing/tooltip-harness-filters.js → esm2020/tooltip/testing/tooltip-harness-filters.mjs} +0 -0
  531. package/esm2020/tooltip/testing/tooltip-harness.mjs +57 -0
  532. package/{esm2015/tooltip/tooltip-animations.js → esm2020/tooltip/tooltip-animations.mjs} +0 -0
  533. package/esm2020/tooltip/tooltip-module.mjs +44 -0
  534. package/esm2020/tooltip/tooltip.mjs +739 -0
  535. package/{esm2015/tree/data-source/flat-data-source.js → esm2020/tree/data-source/flat-data-source.mjs} +0 -0
  536. package/{esm2015/tree/data-source/nested-data-source.js → esm2020/tree/data-source/nested-data-source.mjs} +0 -0
  537. package/{esm2015/tree/index.js → esm2020/tree/index.mjs} +0 -0
  538. package/esm2020/tree/node.mjs +143 -0
  539. package/esm2020/tree/outlet.mjs +41 -0
  540. package/esm2020/tree/padding.mjs +37 -0
  541. package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
  542. package/{esm2015/tree/testing/index.js → esm2020/tree/testing/index.mjs} +0 -0
  543. package/esm2020/tree/testing/node-harness.mjs +69 -0
  544. package/{esm2015/tree/testing/public-api.js → esm2020/tree/testing/public-api.mjs} +0 -0
  545. package/{esm2015/tree/testing/tree-harness-filters.js → esm2020/tree/testing/tree-harness-filters.mjs} +0 -0
  546. package/esm2020/tree/testing/tree-harness.mjs +123 -0
  547. package/esm2020/tree/toggle.mjs +36 -0
  548. package/esm2020/tree/tree-module.mjs +51 -0
  549. package/esm2020/tree/tree.mjs +37 -0
  550. package/expansion/accordion.d.ts +3 -0
  551. package/expansion/expansion-module.d.ts +12 -7
  552. package/expansion/expansion-panel-content.d.ts +3 -0
  553. package/expansion/expansion-panel-header.d.ts +8 -1
  554. package/expansion/expansion-panel.d.ts +5 -0
  555. package/expansion/package.json +5 -5
  556. package/expansion/testing/package.json +5 -5
  557. package/fesm2015/autocomplete/testing.mjs +132 -0
  558. package/fesm2015/autocomplete/testing.mjs.map +1 -0
  559. package/fesm2015/autocomplete.mjs +958 -0
  560. package/fesm2015/autocomplete.mjs.map +1 -0
  561. package/fesm2015/badge/testing.mjs +97 -0
  562. package/fesm2015/badge/testing.mjs.map +1 -0
  563. package/fesm2015/badge.mjs +266 -0
  564. package/fesm2015/badge.mjs.map +1 -0
  565. package/fesm2015/bottom-sheet/testing.mjs +52 -0
  566. package/fesm2015/bottom-sheet/testing.mjs.map +1 -0
  567. package/fesm2015/bottom-sheet.mjs +596 -0
  568. package/fesm2015/bottom-sheet.mjs.map +1 -0
  569. package/fesm2015/button/testing.mjs +76 -0
  570. package/fesm2015/button/testing.mjs.map +1 -0
  571. package/fesm2015/button-toggle/testing.mjs +181 -0
  572. package/fesm2015/button-toggle/testing.mjs.map +1 -0
  573. package/fesm2015/button-toggle.mjs +502 -0
  574. package/fesm2015/button-toggle.mjs.map +1 -0
  575. package/fesm2015/button.mjs +202 -0
  576. package/fesm2015/button.mjs.map +1 -0
  577. package/fesm2015/card/testing.mjs +64 -0
  578. package/fesm2015/card/testing.mjs.map +1 -0
  579. package/fesm2015/card.mjs +322 -0
  580. package/fesm2015/card.mjs.map +1 -0
  581. package/fesm2015/checkbox/testing.mjs +168 -0
  582. package/fesm2015/checkbox/testing.mjs.map +1 -0
  583. package/fesm2015/checkbox.mjs +503 -0
  584. package/fesm2015/checkbox.mjs.map +1 -0
  585. package/fesm2015/chips/testing.mjs +423 -0
  586. package/fesm2015/chips/testing.mjs.map +1 -0
  587. package/fesm2015/chips.mjs +1354 -0
  588. package/fesm2015/chips.mjs.map +1 -0
  589. package/fesm2015/core/testing.mjs +120 -0
  590. package/fesm2015/core/testing.mjs.map +1 -0
  591. package/fesm2015/core.mjs +1719 -0
  592. package/fesm2015/core.mjs.map +1 -0
  593. package/fesm2015/datepicker/testing.mjs +635 -0
  594. package/fesm2015/datepicker/testing.mjs.map +1 -0
  595. package/fesm2015/datepicker.mjs +3948 -0
  596. package/fesm2015/datepicker.mjs.map +1 -0
  597. package/fesm2015/dialog/testing.mjs +119 -0
  598. package/fesm2015/dialog/testing.mjs.map +1 -0
  599. package/fesm2015/dialog.mjs +1155 -0
  600. package/fesm2015/dialog.mjs.map +1 -0
  601. package/fesm2015/divider/testing.mjs +39 -0
  602. package/fesm2015/divider/testing.mjs.map +1 -0
  603. package/fesm2015/divider.mjs +77 -0
  604. package/fesm2015/divider.mjs.map +1 -0
  605. package/fesm2015/expansion/testing.mjs +187 -0
  606. package/fesm2015/expansion/testing.mjs.map +1 -0
  607. package/fesm2015/expansion.mjs +641 -0
  608. package/fesm2015/expansion.mjs.map +1 -0
  609. package/fesm2015/form-field/testing/control.mjs +26 -0
  610. package/fesm2015/form-field/testing/control.mjs.map +1 -0
  611. package/fesm2015/form-field/testing.mjs +231 -0
  612. package/fesm2015/form-field/testing.mjs.map +1 -0
  613. package/fesm2015/form-field.mjs +814 -0
  614. package/fesm2015/form-field.mjs.map +1 -0
  615. package/fesm2015/grid-list/testing.mjs +161 -0
  616. package/fesm2015/grid-list/testing.mjs.map +1 -0
  617. package/fesm2015/grid-list.mjs +700 -0
  618. package/fesm2015/grid-list.mjs.map +1 -0
  619. package/fesm2015/icon/testing.mjs +163 -0
  620. package/fesm2015/icon/testing.mjs.map +1 -0
  621. package/fesm2015/icon.mjs +1016 -0
  622. package/fesm2015/icon.mjs.map +1 -0
  623. package/fesm2015/input/testing.mjs +281 -0
  624. package/fesm2015/input/testing.mjs.map +1 -0
  625. package/fesm2015/input.mjs +515 -0
  626. package/fesm2015/input.mjs.map +1 -0
  627. package/fesm2015/list/testing.mjs +486 -0
  628. package/fesm2015/list/testing.mjs.map +1 -0
  629. package/fesm2015/list.mjs +908 -0
  630. package/fesm2015/list.mjs.map +1 -0
  631. package/fesm2015/material.mjs +16 -0
  632. package/fesm2015/material.mjs.map +1 -0
  633. package/fesm2015/menu/testing.mjs +235 -0
  634. package/fesm2015/menu/testing.mjs.map +1 -0
  635. package/fesm2015/menu.mjs +1363 -0
  636. package/fesm2015/menu.mjs.map +1 -0
  637. package/fesm2015/paginator/testing.mjs +118 -0
  638. package/fesm2015/paginator/testing.mjs.map +1 -0
  639. package/fesm2015/paginator.mjs +387 -0
  640. package/fesm2015/paginator.mjs.map +1 -0
  641. package/fesm2015/progress-bar/testing.mjs +51 -0
  642. package/fesm2015/progress-bar/testing.mjs.map +1 -0
  643. package/fesm2015/progress-bar.mjs +225 -0
  644. package/fesm2015/progress-bar.mjs.map +1 -0
  645. package/fesm2015/progress-spinner/testing.mjs +52 -0
  646. package/fesm2015/progress-spinner/testing.mjs.map +1 -0
  647. package/fesm2015/progress-spinner.mjs +330 -0
  648. package/fesm2015/progress-spinner.mjs.map +1 -0
  649. package/fesm2015/radio/testing.mjs +284 -0
  650. package/fesm2015/radio/testing.mjs.map +1 -0
  651. package/fesm2015/radio.mjs +599 -0
  652. package/fesm2015/radio.mjs.map +1 -0
  653. package/fesm2015/select/testing.mjs +169 -0
  654. package/fesm2015/select/testing.mjs.map +1 -0
  655. package/fesm2015/select.mjs +1346 -0
  656. package/fesm2015/select.mjs.map +1 -0
  657. package/fesm2015/sidenav/testing.mjs +195 -0
  658. package/fesm2015/sidenav/testing.mjs.map +1 -0
  659. package/fesm2015/sidenav.mjs +1013 -0
  660. package/fesm2015/sidenav.mjs.map +1 -0
  661. package/fesm2015/slide-toggle/testing.mjs +151 -0
  662. package/fesm2015/slide-toggle/testing.mjs.map +1 -0
  663. package/fesm2015/slide-toggle.mjs +359 -0
  664. package/fesm2015/slide-toggle.mjs.map +1 -0
  665. package/fesm2015/slider/testing.mjs +153 -0
  666. package/fesm2015/slider/testing.mjs.map +1 -0
  667. package/fesm2015/slider.mjs +830 -0
  668. package/fesm2015/slider.mjs.map +1 -0
  669. package/fesm2015/snack-bar/testing.mjs +153 -0
  670. package/fesm2015/snack-bar/testing.mjs.map +1 -0
  671. package/fesm2015/snack-bar.mjs +698 -0
  672. package/fesm2015/snack-bar.mjs.map +1 -0
  673. package/fesm2015/sort/testing.mjs +110 -0
  674. package/fesm2015/sort/testing.mjs.map +1 -0
  675. package/fesm2015/sort.mjs +605 -0
  676. package/fesm2015/sort.mjs.map +1 -0
  677. package/fesm2015/stepper/testing.mjs +216 -0
  678. package/fesm2015/stepper/testing.mjs.map +1 -0
  679. package/fesm2015/stepper.mjs +579 -0
  680. package/fesm2015/stepper.mjs.map +1 -0
  681. package/fesm2015/table/testing.mjs +259 -0
  682. package/fesm2015/table/testing.mjs.map +1 -0
  683. package/fesm2015/table.mjs +817 -0
  684. package/fesm2015/table.mjs.map +1 -0
  685. package/fesm2015/tabs/testing.mjs +245 -0
  686. package/fesm2015/tabs/testing.mjs.map +1 -0
  687. package/fesm2015/tabs.mjs +1846 -0
  688. package/fesm2015/tabs.mjs.map +1 -0
  689. package/fesm2015/toolbar/testing.mjs +59 -0
  690. package/fesm2015/toolbar/testing.mjs.map +1 -0
  691. package/fesm2015/toolbar.mjs +118 -0
  692. package/fesm2015/toolbar.mjs.map +1 -0
  693. package/fesm2015/tooltip/testing.mjs +80 -0
  694. package/fesm2015/tooltip/testing.mjs.map +1 -0
  695. package/fesm2015/tooltip.mjs +820 -0
  696. package/fesm2015/tooltip.mjs.map +1 -0
  697. package/fesm2015/tree/testing.mjs +215 -0
  698. package/fesm2015/tree/testing.mjs.map +1 -0
  699. package/fesm2015/tree.mjs +520 -0
  700. package/fesm2015/tree.mjs.map +1 -0
  701. package/fesm2020/autocomplete/testing.mjs +128 -0
  702. package/fesm2020/autocomplete/testing.mjs.map +1 -0
  703. package/fesm2020/autocomplete.mjs +958 -0
  704. package/fesm2020/autocomplete.mjs.map +1 -0
  705. package/fesm2020/badge/testing.mjs +99 -0
  706. package/fesm2020/badge/testing.mjs.map +1 -0
  707. package/fesm2020/badge.mjs +271 -0
  708. package/fesm2020/badge.mjs.map +1 -0
  709. package/fesm2020/bottom-sheet/testing.mjs +62 -0
  710. package/fesm2020/bottom-sheet/testing.mjs.map +1 -0
  711. package/fesm2020/bottom-sheet.mjs +592 -0
  712. package/fesm2020/bottom-sheet.mjs.map +1 -0
  713. package/fesm2020/button/testing.mjs +78 -0
  714. package/fesm2020/button/testing.mjs.map +1 -0
  715. package/fesm2020/button-toggle/testing.mjs +176 -0
  716. package/fesm2020/button-toggle/testing.mjs.map +1 -0
  717. package/fesm2020/button-toggle.mjs +505 -0
  718. package/fesm2020/button-toggle.mjs.map +1 -0
  719. package/fesm2020/button.mjs +205 -0
  720. package/fesm2020/button.mjs.map +1 -0
  721. package/fesm2020/card/testing.mjs +70 -0
  722. package/fesm2020/card/testing.mjs.map +1 -0
  723. package/fesm2020/card.mjs +320 -0
  724. package/fesm2020/card.mjs.map +1 -0
  725. package/fesm2020/checkbox/testing.mjs +150 -0
  726. package/fesm2020/checkbox/testing.mjs.map +1 -0
  727. package/fesm2020/checkbox.mjs +507 -0
  728. package/fesm2020/checkbox.mjs.map +1 -0
  729. package/fesm2020/chips/testing.mjs +398 -0
  730. package/fesm2020/chips/testing.mjs.map +1 -0
  731. package/fesm2020/chips.mjs +1346 -0
  732. package/fesm2020/chips.mjs.map +1 -0
  733. package/fesm2020/core/testing.mjs +131 -0
  734. package/fesm2020/core/testing.mjs.map +1 -0
  735. package/fesm2020/core.mjs +1731 -0
  736. package/fesm2020/core.mjs.map +1 -0
  737. package/fesm2020/datepicker/testing.mjs +572 -0
  738. package/fesm2020/datepicker/testing.mjs.map +1 -0
  739. package/fesm2020/datepicker.mjs +3921 -0
  740. package/fesm2020/datepicker.mjs.map +1 -0
  741. package/fesm2020/dialog/testing.mjs +110 -0
  742. package/fesm2020/dialog/testing.mjs.map +1 -0
  743. package/fesm2020/dialog.mjs +1147 -0
  744. package/fesm2020/dialog.mjs.map +1 -0
  745. package/fesm2020/divider/testing.mjs +49 -0
  746. package/fesm2020/divider/testing.mjs.map +1 -0
  747. package/fesm2020/divider.mjs +77 -0
  748. package/fesm2020/divider.mjs.map +1 -0
  749. package/fesm2020/expansion/testing.mjs +176 -0
  750. package/fesm2020/expansion/testing.mjs.map +1 -0
  751. package/fesm2020/expansion.mjs +644 -0
  752. package/fesm2020/expansion.mjs.map +1 -0
  753. package/fesm2020/form-field/testing/control.mjs +26 -0
  754. package/fesm2020/form-field/testing/control.mjs.map +1 -0
  755. package/fesm2020/form-field/testing.mjs +209 -0
  756. package/fesm2020/form-field/testing.mjs.map +1 -0
  757. package/fesm2020/form-field.mjs +817 -0
  758. package/fesm2020/form-field.mjs.map +1 -0
  759. package/fesm2020/grid-list/testing.mjs +162 -0
  760. package/fesm2020/grid-list/testing.mjs.map +1 -0
  761. package/fesm2020/grid-list.mjs +696 -0
  762. package/fesm2020/grid-list.mjs.map +1 -0
  763. package/fesm2020/icon/testing.mjs +169 -0
  764. package/fesm2020/icon/testing.mjs.map +1 -0
  765. package/fesm2020/icon.mjs +1010 -0
  766. package/fesm2020/icon.mjs.map +1 -0
  767. package/fesm2020/input/testing.mjs +265 -0
  768. package/fesm2020/input/testing.mjs.map +1 -0
  769. package/fesm2020/input.mjs +512 -0
  770. package/fesm2020/input.mjs.map +1 -0
  771. package/fesm2020/list/testing.mjs +464 -0
  772. package/fesm2020/list/testing.mjs.map +1 -0
  773. package/fesm2020/list.mjs +901 -0
  774. package/fesm2020/list.mjs.map +1 -0
  775. package/fesm2020/material.mjs +16 -0
  776. package/fesm2020/material.mjs.map +1 -0
  777. package/fesm2020/menu/testing.mjs +210 -0
  778. package/fesm2020/menu/testing.mjs.map +1 -0
  779. package/fesm2020/menu.mjs +1365 -0
  780. package/fesm2020/menu.mjs.map +1 -0
  781. package/fesm2020/paginator/testing.mjs +118 -0
  782. package/fesm2020/paginator/testing.mjs.map +1 -0
  783. package/fesm2020/paginator.mjs +385 -0
  784. package/fesm2020/paginator.mjs.map +1 -0
  785. package/fesm2020/progress-bar/testing.mjs +61 -0
  786. package/fesm2020/progress-bar/testing.mjs.map +1 -0
  787. package/fesm2020/progress-bar.mjs +223 -0
  788. package/fesm2020/progress-bar.mjs.map +1 -0
  789. package/fesm2020/progress-spinner/testing.mjs +62 -0
  790. package/fesm2020/progress-spinner/testing.mjs.map +1 -0
  791. package/fesm2020/progress-spinner.mjs +326 -0
  792. package/fesm2020/progress-spinner.mjs.map +1 -0
  793. package/fesm2020/radio/testing.mjs +258 -0
  794. package/fesm2020/radio/testing.mjs.map +1 -0
  795. package/fesm2020/radio.mjs +604 -0
  796. package/fesm2020/radio.mjs.map +1 -0
  797. package/fesm2020/select/testing.mjs +157 -0
  798. package/fesm2020/select/testing.mjs.map +1 -0
  799. package/fesm2020/select.mjs +1338 -0
  800. package/fesm2020/select.mjs.map +1 -0
  801. package/fesm2020/sidenav/testing.mjs +214 -0
  802. package/fesm2020/sidenav/testing.mjs.map +1 -0
  803. package/fesm2020/sidenav.mjs +1004 -0
  804. package/fesm2020/sidenav.mjs.map +1 -0
  805. package/fesm2020/slide-toggle/testing.mjs +137 -0
  806. package/fesm2020/slide-toggle/testing.mjs.map +1 -0
  807. package/fesm2020/slide-toggle.mjs +364 -0
  808. package/fesm2020/slide-toggle.mjs.map +1 -0
  809. package/fesm2020/slider/testing.mjs +133 -0
  810. package/fesm2020/slider/testing.mjs.map +1 -0
  811. package/fesm2020/slider.mjs +835 -0
  812. package/fesm2020/slider.mjs.map +1 -0
  813. package/fesm2020/snack-bar/testing.mjs +145 -0
  814. package/fesm2020/snack-bar/testing.mjs.map +1 -0
  815. package/fesm2020/snack-bar.mjs +701 -0
  816. package/fesm2020/snack-bar.mjs.map +1 -0
  817. package/fesm2020/sort/testing.mjs +109 -0
  818. package/fesm2020/sort/testing.mjs.map +1 -0
  819. package/fesm2020/sort.mjs +609 -0
  820. package/fesm2020/sort.mjs.map +1 -0
  821. package/fesm2020/stepper/testing.mjs +206 -0
  822. package/fesm2020/stepper/testing.mjs.map +1 -0
  823. package/fesm2020/stepper.mjs +589 -0
  824. package/fesm2020/stepper.mjs.map +1 -0
  825. package/fesm2020/table/testing.mjs +259 -0
  826. package/fesm2020/table/testing.mjs.map +1 -0
  827. package/fesm2020/table.mjs +814 -0
  828. package/fesm2020/table.mjs.map +1 -0
  829. package/fesm2020/tabs/testing.mjs +234 -0
  830. package/fesm2020/tabs/testing.mjs.map +1 -0
  831. package/fesm2020/tabs.mjs +1829 -0
  832. package/fesm2020/tabs.mjs.map +1 -0
  833. package/fesm2020/toolbar/testing.mjs +67 -0
  834. package/fesm2020/toolbar/testing.mjs.map +1 -0
  835. package/fesm2020/toolbar.mjs +123 -0
  836. package/fesm2020/toolbar.mjs.map +1 -0
  837. package/fesm2020/tooltip/testing.mjs +84 -0
  838. package/fesm2020/tooltip/testing.mjs.map +1 -0
  839. package/fesm2020/tooltip.mjs +815 -0
  840. package/fesm2020/tooltip.mjs.map +1 -0
  841. package/fesm2020/tree/testing.mjs +217 -0
  842. package/fesm2020/tree/testing.mjs.map +1 -0
  843. package/fesm2020/tree.mjs +514 -0
  844. package/fesm2020/tree.mjs.map +1 -0
  845. package/form-field/error.d.ts +3 -0
  846. package/form-field/form-field-control.d.ts +3 -0
  847. package/form-field/form-field-module.d.ts +14 -7
  848. package/form-field/form-field.d.ts +4 -1
  849. package/form-field/hint.d.ts +3 -0
  850. package/form-field/label.d.ts +3 -7
  851. package/form-field/package.json +5 -5
  852. package/form-field/placeholder.d.ts +3 -7
  853. package/form-field/prefix.d.ts +3 -0
  854. package/form-field/suffix.d.ts +3 -0
  855. package/form-field/testing/control/package.json +5 -5
  856. package/form-field/testing/package.json +5 -5
  857. package/grid-list/grid-list-module.d.ts +7 -7
  858. package/grid-list/grid-list.d.ts +3 -0
  859. package/grid-list/grid-tile.d.ts +11 -0
  860. package/grid-list/index.d.ts +0 -1
  861. package/grid-list/package.json +5 -5
  862. package/grid-list/testing/package.json +5 -5
  863. package/icon/icon-module.d.ts +6 -7
  864. package/icon/icon-registry.d.ts +3 -7
  865. package/icon/icon.d.ts +4 -1
  866. package/icon/package.json +5 -5
  867. package/icon/testing/fake-icon-registry.d.ts +6 -0
  868. package/icon/testing/package.json +5 -5
  869. package/input/input-module.d.ts +8 -7
  870. package/input/input.d.ts +4 -1
  871. package/input/package.json +5 -5
  872. package/input/testing/package.json +5 -5
  873. package/list/list-module.d.ts +9 -7
  874. package/list/list.d.ts +15 -2
  875. package/list/package.json +5 -5
  876. package/list/selection-list.d.ts +7 -2
  877. package/list/testing/package.json +5 -5
  878. package/menu/index.d.ts +0 -2
  879. package/menu/menu-content.d.ts +5 -7
  880. package/menu/menu-item.d.ts +4 -1
  881. package/menu/menu-module.d.ts +12 -7
  882. package/menu/menu-trigger.d.ts +5 -0
  883. package/menu/menu.d.ts +5 -0
  884. package/menu/package.json +5 -5
  885. package/menu/testing/package.json +5 -5
  886. package/package.json +612 -8
  887. package/paginator/package.json +5 -5
  888. package/paginator/paginator-intl.d.ts +3 -0
  889. package/paginator/paginator-module.d.ts +10 -7
  890. package/paginator/paginator.d.ts +6 -1
  891. package/paginator/testing/package.json +5 -5
  892. package/progress-bar/package.json +5 -5
  893. package/progress-bar/progress-bar-module.d.ts +7 -7
  894. package/progress-bar/progress-bar.d.ts +4 -1
  895. package/progress-bar/testing/package.json +5 -5
  896. package/progress-spinner/package.json +5 -5
  897. package/progress-spinner/progress-spinner-module.d.ts +7 -0
  898. package/progress-spinner/progress-spinner.d.ts +6 -1
  899. package/progress-spinner/testing/package.json +5 -5
  900. package/radio/package.json +5 -5
  901. package/radio/radio-module.d.ts +6 -7
  902. package/radio/radio.d.ts +10 -1
  903. package/radio/testing/package.json +5 -5
  904. package/schematics/ng-add/fonts/material-fonts.js +8 -17
  905. package/schematics/ng-add/fonts/material-fonts.mjs +8 -17
  906. package/schematics/ng-add/index.js +8 -8
  907. package/schematics/ng-add/index.mjs +8 -8
  908. package/schematics/ng-add/setup-project.js +23 -32
  909. package/schematics/ng-add/setup-project.mjs +23 -32
  910. package/schematics/ng-add/theming/create-custom-theme.js +2 -2
  911. package/schematics/ng-add/theming/create-custom-theme.mjs +2 -2
  912. package/schematics/ng-add/theming/theming.js +35 -46
  913. package/schematics/ng-add/theming/theming.mjs +35 -46
  914. package/schematics/ng-generate/address-form/index.js +13 -22
  915. package/schematics/ng-generate/address-form/index.mjs +13 -22
  916. package/schematics/ng-generate/dashboard/index.js +13 -22
  917. package/schematics/ng-generate/dashboard/index.mjs +13 -22
  918. package/schematics/ng-generate/navigation/index.js +13 -22
  919. package/schematics/ng-generate/navigation/index.mjs +13 -22
  920. package/schematics/ng-generate/table/index.js +10 -19
  921. package/schematics/ng-generate/table/index.mjs +10 -19
  922. package/schematics/ng-generate/tree/index.js +10 -19
  923. package/schematics/ng-generate/tree/index.mjs +10 -19
  924. package/schematics/ng-update/index.js +9 -9
  925. package/schematics/ng-update/index.mjs +9 -9
  926. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +24 -24
  927. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +24 -24
  928. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +5 -5
  929. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +5 -5
  930. package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.js +2 -2
  931. package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.mjs +2 -2
  932. package/schematics/ng-update/migrations/misc-checks/misc-imports.js +2 -2
  933. package/schematics/ng-update/migrations/misc-checks/misc-imports.mjs +2 -2
  934. package/schematics/ng-update/migrations/misc-checks/misc-template.js +4 -4
  935. package/schematics/ng-update/migrations/misc-checks/misc-template.mjs +4 -4
  936. package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.js +7 -7
  937. package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.mjs +7 -7
  938. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +2 -3
  939. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +2 -3
  940. package/schematics/ng-update/migrations/theming-api-v12/migration.d.ts +6 -6
  941. package/schematics/ng-update/migrations/theming-api-v12/migration.js +12 -12
  942. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +12 -12
  943. package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.js +3 -3
  944. package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.mjs +3 -3
  945. package/schematics/ng-update/typescript/module-specifiers.js +3 -3
  946. package/schematics/ng-update/typescript/module-specifiers.mjs +3 -3
  947. package/schematics/package.json +3 -0
  948. package/schematics/paths.js +3 -3
  949. package/schematics/paths.mjs +3 -3
  950. package/select/package.json +5 -5
  951. package/select/select-module.d.ts +10 -7
  952. package/select/select.d.ts +8 -1
  953. package/select/testing/package.json +5 -5
  954. package/sidenav/drawer.d.ts +7 -0
  955. package/sidenav/index.d.ts +0 -1
  956. package/sidenav/package.json +5 -5
  957. package/sidenav/sidenav-module.d.ts +10 -0
  958. package/sidenav/sidenav.d.ts +7 -0
  959. package/sidenav/testing/package.json +5 -5
  960. package/slide-toggle/package.json +5 -5
  961. package/slide-toggle/slide-toggle-module.d.ts +11 -7
  962. package/slide-toggle/slide-toggle-required-validator.d.ts +3 -0
  963. package/slide-toggle/slide-toggle.d.ts +4 -1
  964. package/slide-toggle/testing/package.json +5 -5
  965. package/slider/package.json +5 -5
  966. package/slider/slider-module.d.ts +7 -7
  967. package/slider/slider.d.ts +4 -1
  968. package/slider/testing/package.json +5 -5
  969. package/snack-bar/package.json +5 -5
  970. package/snack-bar/simple-snack-bar.d.ts +3 -7
  971. package/snack-bar/snack-bar-container.d.ts +3 -0
  972. package/snack-bar/snack-bar-module.d.ts +11 -7
  973. package/snack-bar/snack-bar.d.ts +3 -0
  974. package/snack-bar/testing/package.json +5 -5
  975. package/sort/package.json +5 -5
  976. package/sort/sort-header-intl.d.ts +3 -0
  977. package/sort/sort-header.d.ts +4 -1
  978. package/sort/sort-module.d.ts +8 -7
  979. package/sort/sort.d.ts +4 -1
  980. package/sort/testing/package.json +5 -5
  981. package/stepper/package.json +5 -5
  982. package/stepper/step-content.d.ts +3 -0
  983. package/stepper/step-header.d.ts +6 -1
  984. package/stepper/step-label.d.ts +3 -7
  985. package/stepper/stepper-button.d.ts +5 -0
  986. package/stepper/stepper-icon.d.ts +3 -0
  987. package/stepper/stepper-intl.d.ts +7 -0
  988. package/stepper/stepper-module.d.ts +16 -7
  989. package/stepper/stepper.d.ts +11 -0
  990. package/stepper/testing/package.json +5 -5
  991. package/table/cell.d.ts +15 -7
  992. package/table/package.json +5 -5
  993. package/table/row.d.ts +15 -0
  994. package/table/table-module.d.ts +10 -7
  995. package/table/table.d.ts +5 -0
  996. package/table/testing/package.json +5 -5
  997. package/table/text-column.d.ts +3 -0
  998. package/tabs/index.d.ts +0 -4
  999. package/tabs/ink-bar.d.ts +3 -0
  1000. package/tabs/package.json +5 -5
  1001. package/tabs/paginated-tab-header.d.ts +3 -0
  1002. package/tabs/tab-body.d.ts +7 -0
  1003. package/tabs/tab-content.d.ts +3 -0
  1004. package/tabs/tab-group.d.ts +6 -1
  1005. package/tabs/tab-header.d.ts +5 -0
  1006. package/tabs/tab-label-wrapper.d.ts +4 -1
  1007. package/tabs/tab-label.d.ts +3 -0
  1008. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +10 -1
  1009. package/tabs/tab.d.ts +4 -1
  1010. package/tabs/tabs-module.d.ts +18 -7
  1011. package/tabs/testing/package.json +5 -5
  1012. package/toolbar/package.json +5 -5
  1013. package/toolbar/testing/package.json +5 -5
  1014. package/toolbar/toolbar-module.d.ts +6 -7
  1015. package/toolbar/toolbar.d.ts +6 -1
  1016. package/tooltip/package.json +5 -5
  1017. package/tooltip/testing/package.json +5 -5
  1018. package/tooltip/tooltip-module.d.ts +10 -7
  1019. package/tooltip/tooltip.d.ts +11 -2
  1020. package/tree/node.d.ts +8 -1
  1021. package/tree/outlet.d.ts +3 -0
  1022. package/tree/package.json +5 -5
  1023. package/tree/padding.d.ts +3 -0
  1024. package/tree/testing/package.json +5 -5
  1025. package/tree/toggle.d.ts +3 -7
  1026. package/tree/tree-module.d.ts +11 -7
  1027. package/tree/tree.d.ts +3 -0
  1028. package/autocomplete/index.metadata.json +0 -1
  1029. package/badge/index.metadata.json +0 -1
  1030. package/bottom-sheet/index.metadata.json +0 -1
  1031. package/bundles/material-autocomplete-testing.umd.js +0 -564
  1032. package/bundles/material-autocomplete-testing.umd.js.map +0 -1
  1033. package/bundles/material-autocomplete.umd.js +0 -1266
  1034. package/bundles/material-autocomplete.umd.js.map +0 -1
  1035. package/bundles/material-badge-testing.umd.js +0 -474
  1036. package/bundles/material-badge-testing.umd.js.map +0 -1
  1037. package/bundles/material-badge.umd.js +0 -604
  1038. package/bundles/material-badge.umd.js.map +0 -1
  1039. package/bundles/material-bottom-sheet-testing.umd.js +0 -396
  1040. package/bundles/material-bottom-sheet-testing.umd.js.map +0 -1
  1041. package/bundles/material-bottom-sheet.umd.js +0 -948
  1042. package/bundles/material-bottom-sheet.umd.js.map +0 -1
  1043. package/bundles/material-button-testing.umd.js +0 -444
  1044. package/bundles/material-button-testing.umd.js.map +0 -1
  1045. package/bundles/material-button-toggle-testing.umd.js +0 -628
  1046. package/bundles/material-button-toggle-testing.umd.js.map +0 -1
  1047. package/bundles/material-button-toggle.umd.js +0 -850
  1048. package/bundles/material-button-toggle.umd.js.map +0 -1
  1049. package/bundles/material-button.umd.js +0 -545
  1050. package/bundles/material-button.umd.js.map +0 -1
  1051. package/bundles/material-card-testing.umd.js +0 -408
  1052. package/bundles/material-card-testing.umd.js.map +0 -1
  1053. package/bundles/material-card.umd.js +0 -337
  1054. package/bundles/material-card.umd.js.map +0 -1
  1055. package/bundles/material-checkbox-testing.umd.js +0 -615
  1056. package/bundles/material-checkbox-testing.umd.js.map +0 -1
  1057. package/bundles/material-checkbox.umd.js +0 -829
  1058. package/bundles/material-checkbox.umd.js.map +0 -1
  1059. package/bundles/material-chips-testing.umd.js +0 -1023
  1060. package/bundles/material-chips-testing.umd.js.map +0 -1
  1061. package/bundles/material-chips.umd.js +0 -1753
  1062. package/bundles/material-chips.umd.js.map +0 -1
  1063. package/bundles/material-core-testing.umd.js +0 -518
  1064. package/bundles/material-core-testing.umd.js.map +0 -1
  1065. package/bundles/material-core.umd.js +0 -2175
  1066. package/bundles/material-core.umd.js.map +0 -1
  1067. package/bundles/material-datepicker-testing.umd.js +0 -1366
  1068. package/bundles/material-datepicker-testing.umd.js.map +0 -1
  1069. package/bundles/material-datepicker.umd.js +0 -4332
  1070. package/bundles/material-datepicker.umd.js.map +0 -1
  1071. package/bundles/material-dialog-testing.umd.js +0 -500
  1072. package/bundles/material-dialog-testing.umd.js.map +0 -1
  1073. package/bundles/material-dialog.umd.js +0 -1487
  1074. package/bundles/material-dialog.umd.js.map +0 -1
  1075. package/bundles/material-divider-testing.umd.js +0 -380
  1076. package/bundles/material-divider-testing.umd.js.map +0 -1
  1077. package/bundles/material-divider.umd.js +0 -95
  1078. package/bundles/material-divider.umd.js.map +0 -1
  1079. package/bundles/material-expansion-testing.umd.js +0 -627
  1080. package/bundles/material-expansion-testing.umd.js.map +0 -1
  1081. package/bundles/material-expansion.umd.js +0 -949
  1082. package/bundles/material-expansion.umd.js.map +0 -1
  1083. package/bundles/material-form-field-testing-control.umd.js +0 -350
  1084. package/bundles/material-form-field-testing-control.umd.js.map +0 -1
  1085. package/bundles/material-form-field-testing.umd.js +0 -708
  1086. package/bundles/material-form-field-testing.umd.js.map +0 -1
  1087. package/bundles/material-form-field.umd.js +0 -1131
  1088. package/bundles/material-form-field.umd.js.map +0 -1
  1089. package/bundles/material-grid-list-testing.umd.js +0 -566
  1090. package/bundles/material-grid-list-testing.umd.js.map +0 -1
  1091. package/bundles/material-grid-list.umd.js +0 -1070
  1092. package/bundles/material-grid-list.umd.js.map +0 -1
  1093. package/bundles/material-icon-testing.umd.js +0 -527
  1094. package/bundles/material-icon-testing.umd.js.map +0 -1
  1095. package/bundles/material-icon.umd.js +0 -1391
  1096. package/bundles/material-icon.umd.js.map +0 -1
  1097. package/bundles/material-input-testing.umd.js +0 -806
  1098. package/bundles/material-input-testing.umd.js.map +0 -1
  1099. package/bundles/material-input.umd.js +0 -817
  1100. package/bundles/material-input.umd.js.map +0 -1
  1101. package/bundles/material-list-testing.umd.js +0 -1092
  1102. package/bundles/material-list-testing.umd.js.map +0 -1
  1103. package/bundles/material-list.umd.js +0 -1284
  1104. package/bundles/material-list.umd.js.map +0 -1
  1105. package/bundles/material-menu-testing.umd.js +0 -722
  1106. package/bundles/material-menu-testing.umd.js.map +0 -1
  1107. package/bundles/material-menu.umd.js +0 -1677
  1108. package/bundles/material-menu.umd.js.map +0 -1
  1109. package/bundles/material-paginator-testing.umd.js +0 -504
  1110. package/bundles/material-paginator-testing.umd.js.map +0 -1
  1111. package/bundles/material-paginator.umd.js +0 -746
  1112. package/bundles/material-paginator.umd.js.map +0 -1
  1113. package/bundles/material-progress-bar-testing.umd.js +0 -395
  1114. package/bundles/material-progress-bar-testing.umd.js.map +0 -1
  1115. package/bundles/material-progress-bar.umd.js +0 -546
  1116. package/bundles/material-progress-bar.umd.js.map +0 -1
  1117. package/bundles/material-progress-spinner-testing.umd.js +0 -399
  1118. package/bundles/material-progress-spinner-testing.umd.js.map +0 -1
  1119. package/bundles/material-progress-spinner.umd.js +0 -631
  1120. package/bundles/material-progress-spinner.umd.js.map +0 -1
  1121. package/bundles/material-radio-testing.umd.js +0 -812
  1122. package/bundles/material-radio-testing.umd.js.map +0 -1
  1123. package/bundles/material-radio.umd.js +0 -971
  1124. package/bundles/material-radio.umd.js.map +0 -1
  1125. package/bundles/material-select-testing.umd.js +0 -620
  1126. package/bundles/material-select-testing.umd.js.map +0 -1
  1127. package/bundles/material-select.umd.js +0 -1667
  1128. package/bundles/material-select.umd.js.map +0 -1
  1129. package/bundles/material-sidenav-testing.umd.js +0 -603
  1130. package/bundles/material-sidenav-testing.umd.js.map +0 -1
  1131. package/bundles/material-sidenav.umd.js +0 -1368
  1132. package/bundles/material-sidenav.umd.js.map +0 -1
  1133. package/bundles/material-slide-toggle-testing.umd.js +0 -582
  1134. package/bundles/material-slide-toggle-testing.umd.js.map +0 -1
  1135. package/bundles/material-slide-toggle.umd.js +0 -670
  1136. package/bundles/material-slide-toggle.umd.js.map +0 -1
  1137. package/bundles/material-slider-testing.umd.js +0 -587
  1138. package/bundles/material-slider-testing.umd.js.map +0 -1
  1139. package/bundles/material-slider.umd.js +0 -1186
  1140. package/bundles/material-slider.umd.js.map +0 -1
  1141. package/bundles/material-snack-bar-testing.umd.js +0 -553
  1142. package/bundles/material-snack-bar-testing.umd.js.map +0 -1
  1143. package/bundles/material-snack-bar.umd.js +0 -1075
  1144. package/bundles/material-snack-bar.umd.js.map +0 -1
  1145. package/bundles/material-sort-testing.umd.js +0 -493
  1146. package/bundles/material-sort-testing.umd.js.map +0 -1
  1147. package/bundles/material-sort.umd.js +0 -943
  1148. package/bundles/material-sort.umd.js.map +0 -1
  1149. package/bundles/material-stepper-testing.umd.js +0 -703
  1150. package/bundles/material-stepper-testing.umd.js.map +0 -1
  1151. package/bundles/material-stepper.umd.js +0 -893
  1152. package/bundles/material-stepper.umd.js.map +0 -1
  1153. package/bundles/material-table-testing.umd.js +0 -700
  1154. package/bundles/material-table-testing.umd.js.map +0 -1
  1155. package/bundles/material-table.umd.js +0 -1121
  1156. package/bundles/material-table.umd.js.map +0 -1
  1157. package/bundles/material-tabs-testing.umd.js +0 -744
  1158. package/bundles/material-tabs-testing.umd.js.map +0 -1
  1159. package/bundles/material-tabs.umd.js +0 -2183
  1160. package/bundles/material-tabs.umd.js.map +0 -1
  1161. package/bundles/material-toolbar-testing.umd.js +0 -406
  1162. package/bundles/material-toolbar-testing.umd.js.map +0 -1
  1163. package/bundles/material-toolbar.umd.js +0 -454
  1164. package/bundles/material-toolbar.umd.js.map +0 -1
  1165. package/bundles/material-tooltip-testing.umd.js +0 -460
  1166. package/bundles/material-tooltip-testing.umd.js.map +0 -1
  1167. package/bundles/material-tooltip.umd.js +0 -1170
  1168. package/bundles/material-tooltip.umd.js.map +0 -1
  1169. package/bundles/material-tree-testing.umd.js +0 -636
  1170. package/bundles/material-tree-testing.umd.js.map +0 -1
  1171. package/bundles/material-tree.umd.js +0 -837
  1172. package/bundles/material-tree.umd.js.map +0 -1
  1173. package/bundles/material.umd.js +0 -26
  1174. package/bundles/material.umd.js.map +0 -1
  1175. package/button/index.metadata.json +0 -1
  1176. package/button-toggle/index.metadata.json +0 -1
  1177. package/card/index.metadata.json +0 -1
  1178. package/checkbox/index.metadata.json +0 -1
  1179. package/chips/index.metadata.json +0 -1
  1180. package/core/index.metadata.json +0 -1
  1181. package/datepicker/index.metadata.json +0 -1
  1182. package/dialog/index.metadata.json +0 -1
  1183. package/divider/index.metadata.json +0 -1
  1184. package/esm2015/autocomplete/autocomplete-module.js +0 -38
  1185. package/esm2015/autocomplete/autocomplete-origin.js +0 -35
  1186. package/esm2015/autocomplete/autocomplete-trigger.js +0 -627
  1187. package/esm2015/autocomplete/autocomplete.externs.js +0 -6
  1188. package/esm2015/autocomplete/autocomplete.js +0 -202
  1189. package/esm2015/autocomplete/testing/autocomplete-harness.js +0 -120
  1190. package/esm2015/autocomplete/testing/testing.externs.js +0 -0
  1191. package/esm2015/badge/badge-module.js +0 -24
  1192. package/esm2015/badge/badge.externs.js +0 -6
  1193. package/esm2015/badge/badge.js +0 -213
  1194. package/esm2015/badge/testing/badge-harness.js +0 -85
  1195. package/esm2015/badge/testing/testing.externs.js +0 -0
  1196. package/esm2015/bottom-sheet/bottom-sheet-container.js +0 -246
  1197. package/esm2015/bottom-sheet/bottom-sheet-module.js +0 -27
  1198. package/esm2015/bottom-sheet/bottom-sheet-ref.js +0 -91
  1199. package/esm2015/bottom-sheet/bottom-sheet.externs.js +0 -6
  1200. package/esm2015/bottom-sheet/bottom-sheet.js +0 -167
  1201. package/esm2015/bottom-sheet/testing/bottom-sheet-harness.js +0 -40
  1202. package/esm2015/bottom-sheet/testing/testing.externs.js +0 -0
  1203. package/esm2015/button/button-module.js +0 -30
  1204. package/esm2015/button/button.externs.js +0 -6
  1205. package/esm2015/button/button.js +0 -163
  1206. package/esm2015/button/testing/button-harness.js +0 -64
  1207. package/esm2015/button/testing/testing.externs.js +0 -0
  1208. package/esm2015/button-toggle/button-toggle-module.js +0 -20
  1209. package/esm2015/button-toggle/button-toggle.externs.js +0 -6
  1210. package/esm2015/button-toggle/button-toggle.js +0 -441
  1211. package/esm2015/button-toggle/testing/button-toggle-group-harness.js +0 -54
  1212. package/esm2015/button-toggle/testing/button-toggle-harness.js +0 -125
  1213. package/esm2015/button-toggle/testing/testing.externs.js +0 -0
  1214. package/esm2015/card/card-module.js +0 -40
  1215. package/esm2015/card/card.externs.js +0 -6
  1216. package/esm2015/card/card.js +0 -223
  1217. package/esm2015/card/testing/card-harness.js +0 -52
  1218. package/esm2015/card/testing/testing.externs.js +0 -0
  1219. package/esm2015/checkbox/checkbox-module.js +0 -34
  1220. package/esm2015/checkbox/checkbox-required-validator.js +0 -29
  1221. package/esm2015/checkbox/checkbox.externs.js +0 -6
  1222. package/esm2015/checkbox/checkbox.js +0 -385
  1223. package/esm2015/checkbox/testing/checkbox-harness.js +0 -156
  1224. package/esm2015/checkbox/testing/testing.externs.js +0 -0
  1225. package/esm2015/chips/chip-input.js +0 -180
  1226. package/esm2015/chips/chip-list.js +0 -663
  1227. package/esm2015/chips/chip.js +0 -394
  1228. package/esm2015/chips/chips-module.js +0 -43
  1229. package/esm2015/chips/chips.externs.js +0 -6
  1230. package/esm2015/chips/testing/chip-harness.js +0 -110
  1231. package/esm2015/chips/testing/chip-input-harness.js +0 -101
  1232. package/esm2015/chips/testing/chip-list-harness.js +0 -99
  1233. package/esm2015/chips/testing/chip-listbox-harness.js +0 -49
  1234. package/esm2015/chips/testing/chip-option-harness.js +0 -54
  1235. package/esm2015/chips/testing/chip-remove-harness.js +0 -29
  1236. package/esm2015/chips/testing/testing.externs.js +0 -0
  1237. package/esm2015/core/common-behaviors/common-module.js +0 -113
  1238. package/esm2015/core/common-behaviors/index.js +0 -15
  1239. package/esm2015/core/core.externs.js +0 -6
  1240. package/esm2015/core/datetime/index.js +0 -38
  1241. package/esm2015/core/datetime/native-date-adapter.js +0 -213
  1242. package/esm2015/core/error/error-options.js +0 -29
  1243. package/esm2015/core/index.js +0 -6
  1244. package/esm2015/core/line/line.js +0 -56
  1245. package/esm2015/core/option/index.js +0 -27
  1246. package/esm2015/core/option/optgroup.js +0 -84
  1247. package/esm2015/core/option/option.js +0 -274
  1248. package/esm2015/core/ripple/index.js +0 -24
  1249. package/esm2015/core/ripple/ripple-renderer.js +0 -261
  1250. package/esm2015/core/ripple/ripple.js +0 -128
  1251. package/esm2015/core/selection/index.js +0 -21
  1252. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +0 -55
  1253. package/esm2015/core/testing/optgroup-harness.js +0 -51
  1254. package/esm2015/core/testing/option-harness.js +0 -67
  1255. package/esm2015/core/testing/testing.externs.js +0 -0
  1256. package/esm2015/core/version.js +0 -11
  1257. package/esm2015/datepicker/calendar-body.js +0 -291
  1258. package/esm2015/datepicker/calendar.js +0 -330
  1259. package/esm2015/datepicker/date-range-input-parts.js +0 -315
  1260. package/esm2015/datepicker/date-range-input.js +0 -316
  1261. package/esm2015/datepicker/date-range-picker.js +0 -40
  1262. package/esm2015/datepicker/date-range-selection-strategy.js +0 -58
  1263. package/esm2015/datepicker/date-selection-model.js +0 -189
  1264. package/esm2015/datepicker/datepicker-actions.js +0 -89
  1265. package/esm2015/datepicker/datepicker-base.js +0 -529
  1266. package/esm2015/datepicker/datepicker-input-base.js +0 -290
  1267. package/esm2015/datepicker/datepicker-input.js +0 -164
  1268. package/esm2015/datepicker/datepicker-intl.js +0 -51
  1269. package/esm2015/datepicker/datepicker-module.js +0 -93
  1270. package/esm2015/datepicker/datepicker-toggle.js +0 -104
  1271. package/esm2015/datepicker/datepicker.externs.js +0 -6
  1272. package/esm2015/datepicker/datepicker.js +0 -30
  1273. package/esm2015/datepicker/index.js +0 -9
  1274. package/esm2015/datepicker/month-view.js +0 -344
  1275. package/esm2015/datepicker/multi-year-view.js +0 -280
  1276. package/esm2015/datepicker/testing/calendar-cell-harness.js +0 -181
  1277. package/esm2015/datepicker/testing/calendar-harness.js +0 -91
  1278. package/esm2015/datepicker/testing/date-range-input-harness.js +0 -116
  1279. package/esm2015/datepicker/testing/datepicker-input-harness-base.js +0 -102
  1280. package/esm2015/datepicker/testing/datepicker-input-harness.js +0 -69
  1281. package/esm2015/datepicker/testing/datepicker-toggle-harness.js +0 -48
  1282. package/esm2015/datepicker/testing/datepicker-trigger-harness-base.js +0 -77
  1283. package/esm2015/datepicker/testing/testing.externs.js +0 -0
  1284. package/esm2015/datepicker/year-view.js +0 -268
  1285. package/esm2015/dialog/dialog-container.js +0 -295
  1286. package/esm2015/dialog/dialog-content-directives.js +0 -159
  1287. package/esm2015/dialog/dialog-module.js +0 -46
  1288. package/esm2015/dialog/dialog-ref.js +0 -196
  1289. package/esm2015/dialog/dialog.externs.js +0 -6
  1290. package/esm2015/dialog/dialog.js +0 -353
  1291. package/esm2015/dialog/testing/dialog-harness.js +0 -103
  1292. package/esm2015/dialog/testing/testing.externs.js +0 -0
  1293. package/esm2015/divider/divider-module.js +0 -20
  1294. package/esm2015/divider/divider.externs.js +0 -6
  1295. package/esm2015/divider/divider.js +0 -43
  1296. package/esm2015/divider/testing/divider-harness.js +0 -27
  1297. package/esm2015/divider/testing/testing.externs.js +0 -0
  1298. package/esm2015/expansion/accordion.js +0 -83
  1299. package/esm2015/expansion/expansion-module.js +0 -42
  1300. package/esm2015/expansion/expansion-panel-content.js +0 -26
  1301. package/esm2015/expansion/expansion-panel-header.js +0 -214
  1302. package/esm2015/expansion/expansion-panel.js +0 -186
  1303. package/esm2015/expansion/expansion.externs.js +0 -6
  1304. package/esm2015/expansion/testing/accordion-harness.js +0 -36
  1305. package/esm2015/expansion/testing/expansion-harness.js +0 -149
  1306. package/esm2015/expansion/testing/testing.externs.js +0 -0
  1307. package/esm2015/form-field/error.js +0 -45
  1308. package/esm2015/form-field/form-field-control.js +0 -15
  1309. package/esm2015/form-field/form-field-module.js +0 -49
  1310. package/esm2015/form-field/form-field.externs.js +0 -6
  1311. package/esm2015/form-field/form-field.js +0 -482
  1312. package/esm2015/form-field/hint.js +0 -45
  1313. package/esm2015/form-field/label.js +0 -17
  1314. package/esm2015/form-field/placeholder.js +0 -22
  1315. package/esm2015/form-field/prefix.js +0 -24
  1316. package/esm2015/form-field/suffix.js +0 -24
  1317. package/esm2015/form-field/testing/control/control.externs.js +0 -0
  1318. package/esm2015/form-field/testing/form-field-harness.js +0 -218
  1319. package/esm2015/form-field/testing/testing.externs.js +0 -0
  1320. package/esm2015/grid-list/grid-list-module.js +0 -37
  1321. package/esm2015/grid-list/grid-list.externs.js +0 -6
  1322. package/esm2015/grid-list/grid-list.js +0 -135
  1323. package/esm2015/grid-list/grid-tile.js +0 -116
  1324. package/esm2015/grid-list/index.js +0 -6
  1325. package/esm2015/grid-list/testing/grid-list-harness.js +0 -79
  1326. package/esm2015/grid-list/testing/grid-tile-harness.js +0 -80
  1327. package/esm2015/grid-list/testing/testing.externs.js +0 -0
  1328. package/esm2015/icon/icon-module.js +0 -20
  1329. package/esm2015/icon/icon-registry.js +0 -581
  1330. package/esm2015/icon/icon.externs.js +0 -6
  1331. package/esm2015/icon/icon.js +0 -362
  1332. package/esm2015/icon/testing/fake-icon-registry.js +0 -85
  1333. package/esm2015/icon/testing/icon-harness.js +0 -63
  1334. package/esm2015/icon/testing/testing.externs.js +0 -6
  1335. package/esm2015/icon/trusted-types.js +0 -44
  1336. package/esm2015/input/input-module.js +0 -33
  1337. package/esm2015/input/input.externs.js +0 -6
  1338. package/esm2015/input/input.js +0 -395
  1339. package/esm2015/input/testing/input-harness.js +0 -138
  1340. package/esm2015/input/testing/native-option-harness.js +0 -51
  1341. package/esm2015/input/testing/native-select-harness.js +0 -100
  1342. package/esm2015/input/testing/testing.externs.js +0 -0
  1343. package/esm2015/list/list-module.js +0 -45
  1344. package/esm2015/list/list.externs.js +0 -6
  1345. package/esm2015/list/list.js +0 -218
  1346. package/esm2015/list/selection-list.js +0 -608
  1347. package/esm2015/list/testing/action-list-harness.js +0 -68
  1348. package/esm2015/list/testing/list-harness-base.js +0 -97
  1349. package/esm2015/list/testing/list-item-harness-base.js +0 -85
  1350. package/esm2015/list/testing/nav-list-harness.js +0 -75
  1351. package/esm2015/list/testing/selection-list-harness.js +0 -152
  1352. package/esm2015/list/testing/testing.externs.js +0 -0
  1353. package/esm2015/material.externs.js +0 -0
  1354. package/esm2015/menu/index.js +0 -7
  1355. package/esm2015/menu/menu-content.js +0 -97
  1356. package/esm2015/menu/menu-item.js +0 -164
  1357. package/esm2015/menu/menu-module.js +0 -39
  1358. package/esm2015/menu/menu-trigger.js +0 -505
  1359. package/esm2015/menu/menu.externs.js +0 -6
  1360. package/esm2015/menu/menu.js +0 -381
  1361. package/esm2015/menu/testing/menu-harness.js +0 -223
  1362. package/esm2015/menu/testing/testing.externs.js +0 -0
  1363. package/esm2015/paginator/paginator-intl.js +0 -62
  1364. package/esm2015/paginator/paginator-module.js +0 -32
  1365. package/esm2015/paginator/paginator.externs.js +0 -6
  1366. package/esm2015/paginator/paginator.js +0 -263
  1367. package/esm2015/paginator/testing/paginator-harness.js +0 -106
  1368. package/esm2015/paginator/testing/testing.externs.js +0 -0
  1369. package/esm2015/progress-bar/progress-bar-module.js +0 -21
  1370. package/esm2015/progress-bar/progress-bar.externs.js +0 -6
  1371. package/esm2015/progress-bar/progress-bar.js +0 -179
  1372. package/esm2015/progress-bar/testing/progress-bar-harness.js +0 -39
  1373. package/esm2015/progress-bar/testing/testing.externs.js +0 -0
  1374. package/esm2015/progress-spinner/progress-spinner-module.js +0 -28
  1375. package/esm2015/progress-spinner/progress-spinner.externs.js +0 -6
  1376. package/esm2015/progress-spinner/progress-spinner.js +0 -274
  1377. package/esm2015/progress-spinner/testing/progress-spinner-harness.js +0 -40
  1378. package/esm2015/progress-spinner/testing/testing.externs.js +0 -0
  1379. package/esm2015/radio/radio-module.js +0 -20
  1380. package/esm2015/radio/radio.externs.js +0 -6
  1381. package/esm2015/radio/radio.js +0 -546
  1382. package/esm2015/radio/testing/radio-harness.js +0 -272
  1383. package/esm2015/radio/testing/testing.externs.js +0 -0
  1384. package/esm2015/select/select-module.js +0 -37
  1385. package/esm2015/select/select.externs.js +0 -6
  1386. package/esm2015/select/select.js +0 -1140
  1387. package/esm2015/select/testing/select-harness.js +0 -157
  1388. package/esm2015/select/testing/testing.externs.js +0 -0
  1389. package/esm2015/sidenav/drawer.js +0 -766
  1390. package/esm2015/sidenav/index.js +0 -6
  1391. package/esm2015/sidenav/sidenav-module.js +0 -45
  1392. package/esm2015/sidenav/sidenav.externs.js +0 -6
  1393. package/esm2015/sidenav/sidenav.js +0 -118
  1394. package/esm2015/sidenav/testing/drawer-container-harness.js +0 -41
  1395. package/esm2015/sidenav/testing/drawer-harness.js +0 -57
  1396. package/esm2015/sidenav/testing/sidenav-container-harness.js +0 -41
  1397. package/esm2015/sidenav/testing/sidenav-harness.js +0 -32
  1398. package/esm2015/sidenav/testing/testing.externs.js +0 -0
  1399. package/esm2015/slide-toggle/slide-toggle-module.js +0 -40
  1400. package/esm2015/slide-toggle/slide-toggle-required-validator.js +0 -32
  1401. package/esm2015/slide-toggle/slide-toggle.externs.js +0 -6
  1402. package/esm2015/slide-toggle/slide-toggle.js +0 -236
  1403. package/esm2015/slide-toggle/testing/slide-toggle-harness.js +0 -139
  1404. package/esm2015/slide-toggle/testing/testing.externs.js +0 -0
  1405. package/esm2015/slider/slider-module.js +0 -21
  1406. package/esm2015/slider/slider.externs.js +0 -6
  1407. package/esm2015/slider/slider.js +0 -788
  1408. package/esm2015/slider/testing/slider-harness.js +0 -141
  1409. package/esm2015/slider/testing/testing.externs.js +0 -0
  1410. package/esm2015/snack-bar/simple-snack-bar.js +0 -45
  1411. package/esm2015/snack-bar/snack-bar-container.js +0 -224
  1412. package/esm2015/snack-bar/snack-bar-module.js +0 -32
  1413. package/esm2015/snack-bar/snack-bar-ref.js +0 -90
  1414. package/esm2015/snack-bar/snack-bar.externs.js +0 -6
  1415. package/esm2015/snack-bar/snack-bar.js +0 -264
  1416. package/esm2015/snack-bar/testing/snack-bar-harness.js +0 -141
  1417. package/esm2015/snack-bar/testing/testing.externs.js +0 -0
  1418. package/esm2015/sort/sort-header-intl.js +0 -41
  1419. package/esm2015/sort/sort-header.js +0 -268
  1420. package/esm2015/sort/sort-module.js +0 -24
  1421. package/esm2015/sort/sort.externs.js +0 -6
  1422. package/esm2015/sort/sort.js +0 -140
  1423. package/esm2015/sort/testing/sort-harness.js +0 -41
  1424. package/esm2015/sort/testing/sort-header-harness.js +0 -67
  1425. package/esm2015/sort/testing/testing.externs.js +0 -0
  1426. package/esm2015/stepper/step-content.js +0 -25
  1427. package/esm2015/stepper/step-header.js +0 -108
  1428. package/esm2015/stepper/step-label.js +0 -17
  1429. package/esm2015/stepper/stepper-button.js +0 -36
  1430. package/esm2015/stepper/stepper-icon.js +0 -28
  1431. package/esm2015/stepper/stepper-intl.js +0 -37
  1432. package/esm2015/stepper/stepper-module.js +0 -61
  1433. package/esm2015/stepper/stepper.externs.js +0 -6
  1434. package/esm2015/stepper/stepper.js +0 -187
  1435. package/esm2015/stepper/testing/step-harness.js +0 -111
  1436. package/esm2015/stepper/testing/stepper-button-harnesses.js +0 -55
  1437. package/esm2015/stepper/testing/stepper-harness.js +0 -57
  1438. package/esm2015/stepper/testing/testing.externs.js +0 -0
  1439. package/esm2015/table/cell.js +0 -114
  1440. package/esm2015/table/row.js +0 -116
  1441. package/esm2015/table/table-data-source.js +0 -312
  1442. package/esm2015/table/table-module.js +0 -50
  1443. package/esm2015/table/table.externs.js +0 -6
  1444. package/esm2015/table/table.js +0 -63
  1445. package/esm2015/table/testing/cell-harness.js +0 -77
  1446. package/esm2015/table/testing/row-harness.js +0 -91
  1447. package/esm2015/table/testing/table-harness.js +0 -99
  1448. package/esm2015/table/testing/testing.externs.js +0 -0
  1449. package/esm2015/table/text-column.js +0 -44
  1450. package/esm2015/tabs/index.js +0 -9
  1451. package/esm2015/tabs/ink-bar.js +0 -87
  1452. package/esm2015/tabs/paginated-tab-header.js +0 -477
  1453. package/esm2015/tabs/tab-body.js +0 -212
  1454. package/esm2015/tabs/tab-content.js +0 -31
  1455. package/esm2015/tabs/tab-group.js +0 -357
  1456. package/esm2015/tabs/tab-header.js +0 -94
  1457. package/esm2015/tabs/tab-label-wrapper.js +0 -47
  1458. package/esm2015/tabs/tab-label.js +0 -39
  1459. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +0 -241
  1460. package/esm2015/tabs/tab.js +0 -107
  1461. package/esm2015/tabs/tabs-module.js +0 -60
  1462. package/esm2015/tabs/tabs.externs.js +0 -6
  1463. package/esm2015/tabs/testing/tab-group-harness.js +0 -65
  1464. package/esm2015/tabs/testing/tab-harness.js +0 -85
  1465. package/esm2015/tabs/testing/tab-link-harness.js +0 -51
  1466. package/esm2015/tabs/testing/tab-nav-bar-harness.js +0 -61
  1467. package/esm2015/tabs/testing/testing.externs.js +0 -0
  1468. package/esm2015/toolbar/testing/testing.externs.js +0 -0
  1469. package/esm2015/toolbar/testing/toolbar-harness.js +0 -47
  1470. package/esm2015/toolbar/toolbar-module.js +0 -20
  1471. package/esm2015/toolbar/toolbar.externs.js +0 -6
  1472. package/esm2015/toolbar/toolbar.js +0 -91
  1473. package/esm2015/tooltip/testing/testing.externs.js +0 -0
  1474. package/esm2015/tooltip/testing/tooltip-harness.js +0 -68
  1475. package/esm2015/tooltip/tooltip-module.js +0 -31
  1476. package/esm2015/tooltip/tooltip.externs.js +0 -6
  1477. package/esm2015/tooltip/tooltip.js +0 -737
  1478. package/esm2015/tree/node.js +0 -131
  1479. package/esm2015/tree/outlet.js +0 -33
  1480. package/esm2015/tree/padding.js +0 -31
  1481. package/esm2015/tree/testing/node-harness.js +0 -84
  1482. package/esm2015/tree/testing/testing.externs.js +0 -0
  1483. package/esm2015/tree/testing/tree-harness.js +0 -129
  1484. package/esm2015/tree/toggle.js +0 -32
  1485. package/esm2015/tree/tree-module.js +0 -34
  1486. package/esm2015/tree/tree.externs.js +0 -6
  1487. package/esm2015/tree/tree.js +0 -43
  1488. package/expansion/index.metadata.json +0 -1
  1489. package/fesm2015/autocomplete/testing.js +0 -147
  1490. package/fesm2015/autocomplete/testing.js.map +0 -1
  1491. package/fesm2015/autocomplete.js +0 -901
  1492. package/fesm2015/autocomplete.js.map +0 -1
  1493. package/fesm2015/badge/testing.js +0 -112
  1494. package/fesm2015/badge/testing.js.map +0 -1
  1495. package/fesm2015/badge.js +0 -248
  1496. package/fesm2015/badge.js.map +0 -1
  1497. package/fesm2015/bottom-sheet/testing.js +0 -67
  1498. package/fesm2015/bottom-sheet/testing.js.map +0 -1
  1499. package/fesm2015/bottom-sheet.js +0 -596
  1500. package/fesm2015/bottom-sheet.js.map +0 -1
  1501. package/fesm2015/button/testing.js +0 -91
  1502. package/fesm2015/button/testing.js.map +0 -1
  1503. package/fesm2015/button-toggle/testing.js +0 -211
  1504. package/fesm2015/button-toggle/testing.js.map +0 -1
  1505. package/fesm2015/button-toggle.js +0 -473
  1506. package/fesm2015/button-toggle.js.map +0 -1
  1507. package/fesm2015/button.js +0 -205
  1508. package/fesm2015/button.js.map +0 -1
  1509. package/fesm2015/card/testing.js +0 -79
  1510. package/fesm2015/card/testing.js.map +0 -1
  1511. package/fesm2015/card.js +0 -276
  1512. package/fesm2015/card.js.map +0 -1
  1513. package/fesm2015/checkbox/testing.js +0 -183
  1514. package/fesm2015/checkbox/testing.js.map +0 -1
  1515. package/fesm2015/checkbox.js +0 -476
  1516. package/fesm2015/checkbox.js.map +0 -1
  1517. package/fesm2015/chips/testing.js +0 -465
  1518. package/fesm2015/chips/testing.js.map +0 -1
  1519. package/fesm2015/chips.js +0 -1286
  1520. package/fesm2015/chips.js.map +0 -1
  1521. package/fesm2015/core/testing.js +0 -150
  1522. package/fesm2015/core/testing.js.map +0 -1
  1523. package/fesm2015/core.js +0 -1681
  1524. package/fesm2015/core.js.map +0 -1
  1525. package/fesm2015/datepicker/testing.js +0 -692
  1526. package/fesm2015/datepicker/testing.js.map +0 -1
  1527. package/fesm2015/datepicker.js +0 -3733
  1528. package/fesm2015/datepicker.js.map +0 -1
  1529. package/fesm2015/dialog/testing.js +0 -130
  1530. package/fesm2015/dialog/testing.js.map +0 -1
  1531. package/fesm2015/dialog.js +0 -1127
  1532. package/fesm2015/dialog.js.map +0 -1
  1533. package/fesm2015/divider/testing.js +0 -54
  1534. package/fesm2015/divider/testing.js.map +0 -1
  1535. package/fesm2015/divider.js +0 -76
  1536. package/fesm2015/divider.js.map +0 -1
  1537. package/fesm2015/expansion/testing.js +0 -209
  1538. package/fesm2015/expansion/testing.js.map +0 -1
  1539. package/fesm2015/expansion.js +0 -600
  1540. package/fesm2015/expansion.js.map +0 -1
  1541. package/fesm2015/form-field/testing/control.js +0 -26
  1542. package/fesm2015/form-field/testing/control.js.map +0 -1
  1543. package/fesm2015/form-field/testing.js +0 -246
  1544. package/fesm2015/form-field/testing.js.map +0 -1
  1545. package/fesm2015/form-field.js +0 -757
  1546. package/fesm2015/form-field.js.map +0 -1
  1547. package/fesm2015/grid-list/testing.js +0 -183
  1548. package/fesm2015/grid-list/testing.js.map +0 -1
  1549. package/fesm2015/grid-list.js +0 -680
  1550. package/fesm2015/grid-list.js.map +0 -1
  1551. package/fesm2015/icon/testing.js +0 -171
  1552. package/fesm2015/icon/testing.js.map +0 -1
  1553. package/fesm2015/icon.js +0 -1012
  1554. package/fesm2015/icon.js.map +0 -1
  1555. package/fesm2015/input/testing.js +0 -318
  1556. package/fesm2015/input/testing.js.map +0 -1
  1557. package/fesm2015/input.js +0 -463
  1558. package/fesm2015/input.js.map +0 -1
  1559. package/fesm2015/list/testing.js +0 -529
  1560. package/fesm2015/list/testing.js.map +0 -1
  1561. package/fesm2015/list.js +0 -876
  1562. package/fesm2015/list.js.map +0 -1
  1563. package/fesm2015/material.js +0 -16
  1564. package/fesm2015/material.js.map +0 -1
  1565. package/fesm2015/menu/testing.js +0 -250
  1566. package/fesm2015/menu/testing.js.map +0 -1
  1567. package/fesm2015/menu.js +0 -1299
  1568. package/fesm2015/menu.js.map +0 -1
  1569. package/fesm2015/paginator/testing.js +0 -133
  1570. package/fesm2015/paginator/testing.js.map +0 -1
  1571. package/fesm2015/paginator.js +0 -366
  1572. package/fesm2015/paginator.js.map +0 -1
  1573. package/fesm2015/progress-bar/testing.js +0 -66
  1574. package/fesm2015/progress-bar/testing.js.map +0 -1
  1575. package/fesm2015/progress-bar.js +0 -211
  1576. package/fesm2015/progress-bar.js.map +0 -1
  1577. package/fesm2015/progress-spinner/testing.js +0 -67
  1578. package/fesm2015/progress-spinner/testing.js.map +0 -1
  1579. package/fesm2015/progress-spinner.js +0 -313
  1580. package/fesm2015/progress-spinner.js.map +0 -1
  1581. package/fesm2015/radio/testing.js +0 -299
  1582. package/fesm2015/radio/testing.js.map +0 -1
  1583. package/fesm2015/radio.js +0 -578
  1584. package/fesm2015/radio.js.map +0 -1
  1585. package/fesm2015/select/testing.js +0 -184
  1586. package/fesm2015/select/testing.js.map +0 -1
  1587. package/fesm2015/select.js +0 -1271
  1588. package/fesm2015/select.js.map +0 -1
  1589. package/fesm2015/sidenav/testing.js +0 -231
  1590. package/fesm2015/sidenav/testing.js.map +0 -1
  1591. package/fesm2015/sidenav.js +0 -965
  1592. package/fesm2015/sidenav.js.map +0 -1
  1593. package/fesm2015/slide-toggle/testing.js +0 -166
  1594. package/fesm2015/slide-toggle/testing.js.map +0 -1
  1595. package/fesm2015/slide-toggle.js +0 -329
  1596. package/fesm2015/slide-toggle.js.map +0 -1
  1597. package/fesm2015/slider/testing.js +0 -160
  1598. package/fesm2015/slider/testing.js.map +0 -1
  1599. package/fesm2015/slider.js +0 -820
  1600. package/fesm2015/slider.js.map +0 -1
  1601. package/fesm2015/snack-bar/testing.js +0 -168
  1602. package/fesm2015/snack-bar/testing.js.map +0 -1
  1603. package/fesm2015/snack-bar.js +0 -712
  1604. package/fesm2015/snack-bar.js.map +0 -1
  1605. package/fesm2015/sort/testing.js +0 -124
  1606. package/fesm2015/sort/testing.js.map +0 -1
  1607. package/fesm2015/sort.js +0 -587
  1608. package/fesm2015/sort.js.map +0 -1
  1609. package/fesm2015/stepper/testing.js +0 -237
  1610. package/fesm2015/stepper/testing.js.map +0 -1
  1611. package/fesm2015/stepper.js +0 -519
  1612. package/fesm2015/stepper.js.map +0 -1
  1613. package/fesm2015/table/testing.js +0 -280
  1614. package/fesm2015/table/testing.js.map +0 -1
  1615. package/fesm2015/table.js +0 -701
  1616. package/fesm2015/table.js.map +0 -1
  1617. package/fesm2015/tabs/testing.js +0 -273
  1618. package/fesm2015/tabs/testing.js.map +0 -1
  1619. package/fesm2015/tabs.js +0 -1761
  1620. package/fesm2015/tabs.js.map +0 -1
  1621. package/fesm2015/toolbar/testing.js +0 -74
  1622. package/fesm2015/toolbar/testing.js.map +0 -1
  1623. package/fesm2015/toolbar.js +0 -123
  1624. package/fesm2015/toolbar.js.map +0 -1
  1625. package/fesm2015/tooltip/testing.js +0 -95
  1626. package/fesm2015/tooltip/testing.js.map +0 -1
  1627. package/fesm2015/tooltip.js +0 -802
  1628. package/fesm2015/tooltip.js.map +0 -1
  1629. package/fesm2015/tree/testing.js +0 -237
  1630. package/fesm2015/tree/testing.js.map +0 -1
  1631. package/fesm2015/tree.js +0 -479
  1632. package/fesm2015/tree.js.map +0 -1
  1633. package/form-field/index.metadata.json +0 -1
  1634. package/grid-list/index.metadata.json +0 -1
  1635. package/icon/index.metadata.json +0 -1
  1636. package/icon/testing/index.metadata.json +0 -1
  1637. package/input/index.metadata.json +0 -1
  1638. package/list/index.metadata.json +0 -1
  1639. package/menu/index.metadata.json +0 -1
  1640. package/paginator/index.metadata.json +0 -1
  1641. package/progress-bar/index.metadata.json +0 -1
  1642. package/progress-spinner/index.metadata.json +0 -1
  1643. package/radio/index.metadata.json +0 -1
  1644. package/select/index.metadata.json +0 -1
  1645. package/sidenav/index.metadata.json +0 -1
  1646. package/slide-toggle/index.metadata.json +0 -1
  1647. package/slider/index.metadata.json +0 -1
  1648. package/snack-bar/index.metadata.json +0 -1
  1649. package/sort/index.metadata.json +0 -1
  1650. package/stepper/index.metadata.json +0 -1
  1651. package/table/index.metadata.json +0 -1
  1652. package/tabs/index.metadata.json +0 -1
  1653. package/toolbar/index.metadata.json +0 -1
  1654. package/tooltip/index.metadata.json +0 -1
  1655. package/tree/index.metadata.json +0 -1
@@ -0,0 +1,275 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
9
+ import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Input, Optional, ViewEncapsulation, Inject, ElementRef, } from '@angular/core';
10
+ import { mixinDisabled } from '@angular/material/core';
11
+ import { FocusMonitor } from '@angular/cdk/a11y';
12
+ import { ENTER, SPACE } from '@angular/cdk/keycodes';
13
+ import { merge } from 'rxjs';
14
+ import { MatSort } from './sort';
15
+ import { matSortAnimations } from './sort-animations';
16
+ import { getSortHeaderNotContainedWithinSortError } from './sort-errors';
17
+ import { MatSortHeaderIntl } from './sort-header-intl';
18
+ import * as i0 from "@angular/core";
19
+ import * as i1 from "./sort-header-intl";
20
+ import * as i2 from "./sort";
21
+ import * as i3 from "@angular/cdk/a11y";
22
+ import * as i4 from "@angular/common";
23
+ // Boilerplate for applying mixins to the sort header.
24
+ /** @docs-private */
25
+ const _MatSortHeaderBase = mixinDisabled(class {
26
+ });
27
+ /**
28
+ * Applies sorting behavior (click to change sort) and styles to an element, including an
29
+ * arrow to display the current sort direction.
30
+ *
31
+ * Must be provided with an id and contained within a parent MatSort directive.
32
+ *
33
+ * If used on header cells in a CdkTable, it will automatically default its id from its containing
34
+ * column definition.
35
+ */
36
+ export class MatSortHeader extends _MatSortHeaderBase {
37
+ constructor(
38
+ /**
39
+ * @deprecated `_intl` parameter isn't being used anymore and it'll be removed.
40
+ * @breaking-change 13.0.0
41
+ */
42
+ _intl, _changeDetectorRef,
43
+ // `MatSort` is not optionally injected, but just asserted manually w/ better error.
44
+ // tslint:disable-next-line: lightweight-tokens
45
+ _sort, _columnDef, _focusMonitor, _elementRef) {
46
+ // Note that we use a string token for the `_columnDef`, because the value is provided both by
47
+ // `material/table` and `cdk/table` and we can't have the CDK depending on Material,
48
+ // and we want to avoid having the sort header depending on the CDK table because
49
+ // of this single reference.
50
+ super();
51
+ this._intl = _intl;
52
+ this._changeDetectorRef = _changeDetectorRef;
53
+ this._sort = _sort;
54
+ this._columnDef = _columnDef;
55
+ this._focusMonitor = _focusMonitor;
56
+ this._elementRef = _elementRef;
57
+ /**
58
+ * Flag set to true when the indicator should be displayed while the sort is not active. Used to
59
+ * provide an affordance that the header is sortable by showing on focus and hover.
60
+ */
61
+ this._showIndicatorHint = false;
62
+ /**
63
+ * The view transition state of the arrow (translation/ opacity) - indicates its `from` and `to`
64
+ * position through the animation. If animations are currently disabled, the fromState is removed
65
+ * so that there is no animation displayed.
66
+ */
67
+ this._viewState = {};
68
+ /** The direction the arrow should be facing according to the current state. */
69
+ this._arrowDirection = '';
70
+ /**
71
+ * Whether the view state animation should show the transition between the `from` and `to` states.
72
+ */
73
+ this._disableViewStateAnimation = false;
74
+ /** Sets the position of the arrow that displays when sorted. */
75
+ this.arrowPosition = 'after';
76
+ if (!_sort && (typeof ngDevMode === 'undefined' || ngDevMode)) {
77
+ throw getSortHeaderNotContainedWithinSortError();
78
+ }
79
+ this._handleStateChanges();
80
+ }
81
+ /** Overrides the disable clear value of the containing MatSort for this MatSortable. */
82
+ get disableClear() { return this._disableClear; }
83
+ set disableClear(v) { this._disableClear = coerceBooleanProperty(v); }
84
+ ngOnInit() {
85
+ if (!this.id && this._columnDef) {
86
+ this.id = this._columnDef.name;
87
+ }
88
+ // Initialize the direction of the arrow and set the view state to be immediately that state.
89
+ this._updateArrowDirection();
90
+ this._setAnimationTransitionState({ toState: this._isSorted() ? 'active' : this._arrowDirection });
91
+ this._sort.register(this);
92
+ }
93
+ ngAfterViewInit() {
94
+ // We use the focus monitor because we also want to style
95
+ // things differently based on the focus origin.
96
+ this._focusMonitor.monitor(this._elementRef, true).subscribe(origin => {
97
+ const newState = !!origin;
98
+ if (newState !== this._showIndicatorHint) {
99
+ this._setIndicatorHintVisible(newState);
100
+ this._changeDetectorRef.markForCheck();
101
+ }
102
+ });
103
+ }
104
+ ngOnDestroy() {
105
+ this._focusMonitor.stopMonitoring(this._elementRef);
106
+ this._sort.deregister(this);
107
+ this._rerenderSubscription.unsubscribe();
108
+ }
109
+ /**
110
+ * Sets the "hint" state such that the arrow will be semi-transparently displayed as a hint to the
111
+ * user showing what the active sort will become. If set to false, the arrow will fade away.
112
+ */
113
+ _setIndicatorHintVisible(visible) {
114
+ // No-op if the sort header is disabled - should not make the hint visible.
115
+ if (this._isDisabled() && visible) {
116
+ return;
117
+ }
118
+ this._showIndicatorHint = visible;
119
+ if (!this._isSorted()) {
120
+ this._updateArrowDirection();
121
+ if (this._showIndicatorHint) {
122
+ this._setAnimationTransitionState({ fromState: this._arrowDirection, toState: 'hint' });
123
+ }
124
+ else {
125
+ this._setAnimationTransitionState({ fromState: 'hint', toState: this._arrowDirection });
126
+ }
127
+ }
128
+ }
129
+ /**
130
+ * Sets the animation transition view state for the arrow's position and opacity. If the
131
+ * `disableViewStateAnimation` flag is set to true, the `fromState` will be ignored so that
132
+ * no animation appears.
133
+ */
134
+ _setAnimationTransitionState(viewState) {
135
+ this._viewState = viewState || {};
136
+ // If the animation for arrow position state (opacity/translation) should be disabled,
137
+ // remove the fromState so that it jumps right to the toState.
138
+ if (this._disableViewStateAnimation) {
139
+ this._viewState = { toState: viewState.toState };
140
+ }
141
+ }
142
+ /** Triggers the sort on this sort header and removes the indicator hint. */
143
+ _toggleOnInteraction() {
144
+ this._sort.sort(this);
145
+ // Do not show the animation if the header was already shown in the right position.
146
+ if (this._viewState.toState === 'hint' || this._viewState.toState === 'active') {
147
+ this._disableViewStateAnimation = true;
148
+ }
149
+ }
150
+ _handleClick() {
151
+ if (!this._isDisabled()) {
152
+ this._sort.sort(this);
153
+ }
154
+ }
155
+ _handleKeydown(event) {
156
+ if (!this._isDisabled() && (event.keyCode === SPACE || event.keyCode === ENTER)) {
157
+ event.preventDefault();
158
+ this._toggleOnInteraction();
159
+ }
160
+ }
161
+ /** Whether this MatSortHeader is currently sorted in either ascending or descending order. */
162
+ _isSorted() {
163
+ return this._sort.active == this.id &&
164
+ (this._sort.direction === 'asc' || this._sort.direction === 'desc');
165
+ }
166
+ /** Returns the animation state for the arrow direction (indicator and pointers). */
167
+ _getArrowDirectionState() {
168
+ return `${this._isSorted() ? 'active-' : ''}${this._arrowDirection}`;
169
+ }
170
+ /** Returns the arrow position state (opacity, translation). */
171
+ _getArrowViewState() {
172
+ const fromState = this._viewState.fromState;
173
+ return (fromState ? `${fromState}-to-` : '') + this._viewState.toState;
174
+ }
175
+ /**
176
+ * Updates the direction the arrow should be pointing. If it is not sorted, the arrow should be
177
+ * facing the start direction. Otherwise if it is sorted, the arrow should point in the currently
178
+ * active sorted direction. The reason this is updated through a function is because the direction
179
+ * should only be changed at specific times - when deactivated but the hint is displayed and when
180
+ * the sort is active and the direction changes. Otherwise the arrow's direction should linger
181
+ * in cases such as the sort becoming deactivated but we want to animate the arrow away while
182
+ * preserving its direction, even though the next sort direction is actually different and should
183
+ * only be changed once the arrow displays again (hint or activation).
184
+ */
185
+ _updateArrowDirection() {
186
+ this._arrowDirection = this._isSorted() ?
187
+ this._sort.direction :
188
+ (this.start || this._sort.start);
189
+ }
190
+ _isDisabled() {
191
+ return this._sort.disabled || this.disabled;
192
+ }
193
+ /**
194
+ * Gets the aria-sort attribute that should be applied to this sort header. If this header
195
+ * is not sorted, returns null so that the attribute is removed from the host element. Aria spec
196
+ * says that the aria-sort property should only be present on one header at a time, so removing
197
+ * ensures this is true.
198
+ */
199
+ _getAriaSortAttribute() {
200
+ if (!this._isSorted()) {
201
+ return 'none';
202
+ }
203
+ return this._sort.direction == 'asc' ? 'ascending' : 'descending';
204
+ }
205
+ /** Whether the arrow inside the sort header should be rendered. */
206
+ _renderArrow() {
207
+ return !this._isDisabled() || this._isSorted();
208
+ }
209
+ /** Handles changes in the sorting state. */
210
+ _handleStateChanges() {
211
+ this._rerenderSubscription =
212
+ merge(this._sort.sortChange, this._sort._stateChanges, this._intl.changes).subscribe(() => {
213
+ if (this._isSorted()) {
214
+ this._updateArrowDirection();
215
+ // Do not show the animation if the header was already shown in the right position.
216
+ if (this._viewState.toState === 'hint' || this._viewState.toState === 'active') {
217
+ this._disableViewStateAnimation = true;
218
+ }
219
+ this._setAnimationTransitionState({ fromState: this._arrowDirection, toState: 'active' });
220
+ this._showIndicatorHint = false;
221
+ }
222
+ // If this header was recently active and now no longer sorted, animate away the arrow.
223
+ if (!this._isSorted() && this._viewState && this._viewState.toState === 'active') {
224
+ this._disableViewStateAnimation = false;
225
+ this._setAnimationTransitionState({ fromState: 'active', toState: this._arrowDirection });
226
+ }
227
+ this._changeDetectorRef.markForCheck();
228
+ });
229
+ }
230
+ }
231
+ MatSortHeader.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatSortHeader, deps: [{ token: i1.MatSortHeaderIntl }, { token: i0.ChangeDetectorRef }, { token: i2.MatSort, optional: true }, { token: 'MAT_SORT_HEADER_COLUMN_DEF', optional: true }, { token: i3.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
232
+ MatSortHeader.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: MatSortHeader, selector: "[mat-sort-header]", inputs: { disabled: "disabled", id: ["mat-sort-header", "id"], arrowPosition: "arrowPosition", start: "start", disableClear: "disableClear" }, host: { listeners: { "click": "_handleClick()", "keydown": "_handleKeydown($event)", "mouseenter": "_setIndicatorHintVisible(true)", "mouseleave": "_setIndicatorHintVisible(false)" }, properties: { "attr.aria-sort": "_getAriaSortAttribute()", "class.mat-sort-header-disabled": "_isDisabled()" }, classAttribute: "mat-sort-header" }, exportAs: ["matSortHeader"], usesInheritance: true, ngImport: i0, template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition == 'before'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n role=\"button\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n <div class=\"mat-sort-header-arrow\"\n *ngIf=\"_renderArrow()\"\n [@arrowOpacity]=\"_getArrowViewState()\"\n [@arrowPosition]=\"_getArrowViewState()\"\n [@allowChildren]=\"_getArrowDirectionState()\"\n (@arrowPosition.start)=\"_disableViewStateAnimation = true\"\n (@arrowPosition.done)=\"_disableViewStateAnimation = false\">\n <div class=\"mat-sort-header-stem\"></div>\n <div class=\"mat-sort-header-indicator\" [@indicator]=\"_getArrowDirectionState()\">\n <div class=\"mat-sort-header-pointer-left\" [@leftPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-right\" [@rightPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-middle\"></div>\n </div>\n </div>\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}\n"], directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
233
+ matSortAnimations.indicator,
234
+ matSortAnimations.leftPointer,
235
+ matSortAnimations.rightPointer,
236
+ matSortAnimations.arrowOpacity,
237
+ matSortAnimations.arrowPosition,
238
+ matSortAnimations.allowChildren,
239
+ ], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
240
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatSortHeader, decorators: [{
241
+ type: Component,
242
+ args: [{ selector: '[mat-sort-header]', exportAs: 'matSortHeader', host: {
243
+ 'class': 'mat-sort-header',
244
+ '(click)': '_handleClick()',
245
+ '(keydown)': '_handleKeydown($event)',
246
+ '(mouseenter)': '_setIndicatorHintVisible(true)',
247
+ '(mouseleave)': '_setIndicatorHintVisible(false)',
248
+ '[attr.aria-sort]': '_getAriaSortAttribute()',
249
+ '[class.mat-sort-header-disabled]': '_isDisabled()',
250
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['disabled'], animations: [
251
+ matSortAnimations.indicator,
252
+ matSortAnimations.leftPointer,
253
+ matSortAnimations.rightPointer,
254
+ matSortAnimations.arrowOpacity,
255
+ matSortAnimations.arrowPosition,
256
+ matSortAnimations.allowChildren,
257
+ ], template: "<!--\n We set the `tabindex` on an element inside the table header, rather than the header itself,\n because of a bug in NVDA where having a `tabindex` on a `th` breaks keyboard navigation in the\n table (see https://github.com/nvaccess/nvda/issues/7718). This allows for the header to both\n be focusable, and have screen readers read out its `aria-sort` state. We prefer this approach\n over having a button with an `aria-label` inside the header, because the button's `aria-label`\n will be read out as the user is navigating the table's cell (see #13012).\n\n The approach is based off of: https://dequeuniversity.com/library/aria/tables/sf-sortable-grid\n-->\n<div class=\"mat-sort-header-container mat-focus-indicator\"\n [class.mat-sort-header-sorted]=\"_isSorted()\"\n [class.mat-sort-header-position-before]=\"arrowPosition == 'before'\"\n [attr.tabindex]=\"_isDisabled() ? null : 0\"\n role=\"button\">\n\n <!--\n TODO(crisbeto): this div isn't strictly necessary, but we have to keep it due to a large\n number of screenshot diff failures. It should be removed eventually. Note that the difference\n isn't visible with a shorter header, but once it breaks up into multiple lines, this element\n causes it to be center-aligned, whereas removing it will keep the text to the left.\n -->\n <div class=\"mat-sort-header-content\">\n <ng-content></ng-content>\n </div>\n\n <!-- Disable animations while a current animation is running -->\n <div class=\"mat-sort-header-arrow\"\n *ngIf=\"_renderArrow()\"\n [@arrowOpacity]=\"_getArrowViewState()\"\n [@arrowPosition]=\"_getArrowViewState()\"\n [@allowChildren]=\"_getArrowDirectionState()\"\n (@arrowPosition.start)=\"_disableViewStateAnimation = true\"\n (@arrowPosition.done)=\"_disableViewStateAnimation = false\">\n <div class=\"mat-sort-header-stem\"></div>\n <div class=\"mat-sort-header-indicator\" [@indicator]=\"_getArrowDirectionState()\">\n <div class=\"mat-sort-header-pointer-left\" [@leftPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-right\" [@rightPointer]=\"_getArrowDirectionState()\"></div>\n <div class=\"mat-sort-header-pointer-middle\"></div>\n </div>\n </div>\n</div>\n", styles: [".mat-sort-header-container{display:flex;cursor:pointer;align-items:center;letter-spacing:normal;outline:0}[mat-sort-header].cdk-keyboard-focused .mat-sort-header-container,[mat-sort-header].cdk-program-focused .mat-sort-header-container{border-bottom:solid 1px currentColor}.mat-sort-header-disabled .mat-sort-header-container{cursor:default}.mat-sort-header-content{text-align:center;display:flex;align-items:center}.mat-sort-header-position-before{flex-direction:row-reverse}.mat-sort-header-arrow{height:12px;width:12px;min-width:12px;position:relative;display:flex;opacity:0}.mat-sort-header-arrow,[dir=rtl] .mat-sort-header-position-before .mat-sort-header-arrow{margin:0 0 0 6px}.mat-sort-header-position-before .mat-sort-header-arrow,[dir=rtl] .mat-sort-header-arrow{margin:0 6px 0 0}.mat-sort-header-stem{background:currentColor;height:10px;width:2px;margin:auto;display:flex;align-items:center}.cdk-high-contrast-active .mat-sort-header-stem{width:0;border-left:solid 2px}.mat-sort-header-indicator{width:100%;height:2px;display:flex;align-items:center;position:absolute;top:0;left:0}.mat-sort-header-pointer-middle{margin:auto;height:2px;width:2px;background:currentColor;transform:rotate(45deg)}.cdk-high-contrast-active .mat-sort-header-pointer-middle{width:0;height:0;border-top:solid 2px;border-left:solid 2px}.mat-sort-header-pointer-left,.mat-sort-header-pointer-right{background:currentColor;width:6px;height:2px;position:absolute;top:0}.cdk-high-contrast-active .mat-sort-header-pointer-left,.cdk-high-contrast-active .mat-sort-header-pointer-right{width:0;height:0;border-left:solid 6px;border-top:solid 2px}.mat-sort-header-pointer-left{transform-origin:right;left:0}.mat-sort-header-pointer-right{transform-origin:left;right:0}\n"] }]
258
+ }], ctorParameters: function () { return [{ type: i1.MatSortHeaderIntl }, { type: i0.ChangeDetectorRef }, { type: i2.MatSort, decorators: [{
259
+ type: Optional
260
+ }] }, { type: undefined, decorators: [{
261
+ type: Inject,
262
+ args: ['MAT_SORT_HEADER_COLUMN_DEF']
263
+ }, {
264
+ type: Optional
265
+ }] }, { type: i3.FocusMonitor }, { type: i0.ElementRef }]; }, propDecorators: { id: [{
266
+ type: Input,
267
+ args: ['mat-sort-header']
268
+ }], arrowPosition: [{
269
+ type: Input
270
+ }], start: [{
271
+ type: Input
272
+ }], disableClear: [{
273
+ type: Input
274
+ }] } });
275
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1oZWFkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvc29ydC9zb3J0LWhlYWRlci50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9zb3J0L3NvcnQtaGVhZGVyLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsU0FBUyxFQUNULEtBQUssRUFHTCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLE1BQU0sRUFDTixVQUFVLEdBRVgsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFhLGFBQWEsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ2pFLE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUMvQyxPQUFPLEVBQUMsS0FBSyxFQUFFLEtBQUssRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ25ELE9BQU8sRUFBQyxLQUFLLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFDekMsT0FBTyxFQUFDLE9BQU8sRUFBYyxNQUFNLFFBQVEsQ0FBQztBQUM1QyxPQUFPLEVBQUMsaUJBQWlCLEVBQUMsTUFBTSxtQkFBbUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsd0NBQXdDLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sb0JBQW9CLENBQUM7Ozs7OztBQUdyRCxzREFBc0Q7QUFDdEQsb0JBQW9CO0FBQ3BCLE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDO0NBQVEsQ0FBQyxDQUFDO0FBMkJuRDs7Ozs7Ozs7R0FRRztBQTJCSCxNQUFNLE9BQU8sYUFBYyxTQUFRLGtCQUFrQjtJQTJDbkQ7SUFDWTs7O09BR0c7SUFDSSxLQUF3QixFQUN2QixrQkFB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cEIsdUJBQXVCLENBQUMsTUFBTSxVQUN2QyxDQUFDLFVBQVUsQ0FBQyxjQUNSO3dCQUNWLGlCQUFpQixDQUFDLFNBQVM7d0JBQzNCLGlCQUFpQixDQUFDLFdBQVc7d0JBQzdCLGlCQUFpQixDQUFDLFlBQVk7d0JBQzlCLGlCQUFpQixDQUFDLFlBQVk7d0JBQzlCLGlCQUFpQixDQUFDLGFBQWE7d0JBQy9CLGlCQUFpQixDQUFDLGFBQWE7cUJBQ2hDOzswQkFzRFksUUFBUTs7MEJBQ1IsTUFBTTsyQkFBQyw0QkFBNEI7OzBCQUFHLFFBQVE7Z0dBeEJqQyxFQUFFO3NCQUEzQixLQUFLO3VCQUFDLGlCQUFpQjtnQkFHZixhQUFhO3NCQUFyQixLQUFLO2dCQUdHLEtBQUs7c0JBQWIsS0FBSztnQkFJRixZQUFZO3NCQURmLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgSW5qZWN0LFxuICBFbGVtZW50UmVmLFxuICBBZnRlclZpZXdJbml0LFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2FuRGlzYWJsZSwgbWl4aW5EaXNhYmxlZH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQge0ZvY3VzTW9uaXRvcn0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtFTlRFUiwgU1BBQ0V9IGZyb20gJ0Bhbmd1bGFyL2Nkay9rZXljb2Rlcyc7XG5pbXBvcnQge21lcmdlLCBTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHtNYXRTb3J0LCBNYXRTb3J0YWJsZX0gZnJvbSAnLi9zb3J0JztcbmltcG9ydCB7bWF0U29ydEFuaW1hdGlvbnN9IGZyb20gJy4vc29ydC1hbmltYXRpb25zJztcbmltcG9ydCB7U29ydERpcmVjdGlvbn0gZnJvbSAnLi9zb3J0LWRpcmVjdGlvbic7XG5pbXBvcnQge2dldFNvcnRIZWFkZXJOb3RDb250YWluZWRXaXRoaW5Tb3J0RXJyb3J9IGZyb20gJy4vc29ydC1lcnJvcnMnO1xuaW1wb3J0IHtNYXRTb3J0SGVhZGVySW50bH0gZnJvbSAnLi9zb3J0LWhlYWRlci1pbnRsJztcblxuXG4vLyBCb2lsZXJwbGF0ZSBmb3IgYXBwbHlpbmcgbWl4aW5zIHRvIHRoZSBzb3J0IGhlYWRlci5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5jb25zdCBfTWF0U29ydEhlYWRlckJhc2UgPSBtaXhpbkRpc2FibGVkKGNsYXNzIHt9KTtcblxuLyoqXG4gKiBWYWxpZCBwb3NpdGlvbnMgZm9yIHRoZSBhcnJvdyB0byBiZSBpbiBmb3IgaXRzIG9wYWNpdHkgYW5kIHRyYW5zbGF0aW9uLiBJZiB0aGUgc3RhdGUgaXMgYVxuICogc29ydCBkaXJlY3Rpb24sIHRoZSBwb3NpdGlvbiBvZiB0aGUgYXJyb3cgd2lsbCBiZSBhYm92ZS9iZWxvdyBhbmQgb3BhY2l0eSAwLiBJZiB0aGUgc3RhdGUgaXNcbiAqIGhpbnQsIHRoZSBhcnJvdyB3aWxsIGJlIGluIHRoZSBjZW50ZXIgd2l0aCBhIHNsaWdodCBvcGFjaXR5LiBBY3RpdmUgc3RhdGUgbWVhbnMgdGhlIGFycm93IHdpbGxcbiAqIGJlIGZ1bGx5IG9wYXF1ZSBpbiB0aGUgY2VudGVyLlxuICpcbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IHR5cGUgQXJyb3dWaWV3U3RhdGUgPSBTb3J0RGlyZWN0aW9uIHwgJ2hpbnQnIHwgJ2FjdGl2ZSc7XG5cbi8qKlxuICogU3RhdGVzIGRlc2NyaWJpbmcgdGhlIGFycm93J3MgYW5pbWF0ZWQgcG9zaXRpb24gKGFuaW1hdGluZyBmcm9tU3RhdGUgdG8gdG9TdGF0ZSkuXG4gKiBJZiB0aGUgZnJvbVN0YXRlIGlzIG5vdCBkZWZpbmVkLCB0aGVyZSB3aWxsIGJlIG5vIGFuaW1hdGVkIHRyYW5zaXRpb24gdG8gdGhlIHRvU3RhdGUuXG4gKiBAZG9jcy1wcml2YXRlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXJyb3dWaWV3U3RhdGVUcmFuc2l0aW9uIHtcbiAgZnJvbVN0YXRlPzogQXJyb3dWaWV3U3RhdGU7XG4gIHRvU3RhdGU/OiBBcnJvd1ZpZXdTdGF0ZTtcbn1cblxuLyoqIENvbHVtbiBkZWZpbml0aW9uIGFzc29jaWF0ZWQgd2l0aCBhIGBNYXRTb3J0SGVhZGVyYC4gKi9cbmludGVyZmFjZSBNYXRTb3J0SGVhZGVyQ29sdW1uRGVmIHtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEFwcGxpZXMgc29ydGluZyBiZWhhdmlvciAoY2xpY2sgdG8gY2hhbmdlIHNvcnQpIGFuZCBzdHlsZXMgdG8gYW4gZWxlbWVudCwgaW5jbHVkaW5nIGFuXG4gKiBhcnJvdyB0byBkaXNwbGF5IHRoZSBjdXJyZW50IHNvcnQgZGlyZWN0aW9uLlxuICpcbiAqIE11c3QgYmUgcHJvdmlkZWQgd2l0aCBhbiBpZCBhbmQgY29udGFpbmVkIHdpdGhpbiBhIHBhcmVudCBNYXRTb3J0IGRpcmVjdGl2ZS5cbiAqXG4gKiBJZiB1c2VkIG9uIGhlYWRlciBjZWxscyBpbiBhIENka1RhYmxlLCBpdCB3aWxsIGF1dG9tYXRpY2FsbHkgZGVmYXVsdCBpdHMgaWQgZnJvbSBpdHMgY29udGFpbmluZ1xuICogY29sdW1uIGRlZmluaXRpb24uXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ1ttYXQtc29ydC1oZWFkZXJdJyxcbiAgZXhwb3J0QXM6ICdtYXRTb3J0SGVhZGVyJyxcbiAgdGVtcGxhdGVVcmw6ICdzb3J0LWhlYWRlci5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJ3NvcnQtaGVhZGVyLmNzcyddLFxuICBob3N0OiB7XG4gICAgJ2NsYXNzJzogJ21hdC1zb3J0LWhlYWRlcicsXG4gICAgJyhjbGljayknOiAnX2hhbmRsZUNsaWNrKCknLFxuICAgICcoa2V5ZG93biknOiAnX2hhbmRsZUtleWRvd24oJGV2ZW50KScsXG4gICAgJyhtb3VzZWVudGVyKSc6ICdfc2V0SW5kaWNhdG9ySGludFZpc2libGUodHJ1ZSknLFxuICAgICcobW91c2VsZWF2ZSknOiAnX3NldEluZGljYXRvckhpbnRWaXNpYmxlKGZhbHNlKScsXG4gICAgJ1thdHRyLmFyaWEtc29ydF0nOiAnX2dldEFyaWFTb3J0QXR0cmlidXRlKCknLFxuICAgICdbY2xhc3MubWF0LXNvcnQtaGVhZGVyLWRpc2FibGVkXSc6ICdfaXNEaXNhYmxlZCgpJyxcbiAgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogWydkaXNhYmxlZCddLFxuICBhbmltYXRpb25zOiBbXG4gICAgbWF0U29ydEFuaW1hdGlvbnMuaW5kaWNhdG9yLFxuICAgIG1hdFNvcnRBbmltYXRpb25zLmxlZnRQb2ludGVyLFxuICAgIG1hdFNvcnRBbmltYXRpb25zLnJpZ2h0UG9pbnRlcixcbiAgICBtYXRTb3J0QW5pbWF0aW9ucy5hcnJvd09wYWNpdHksXG4gICAgbWF0U29ydEFuaW1hdGlvbnMuYXJyb3dQb3NpdGlvbixcbiAgICBtYXRTb3J0QW5pbWF0aW9ucy5hbGxvd0NoaWxkcmVuLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hdFNvcnRIZWFkZXIgZXh0ZW5kcyBfTWF0U29ydEhlYWRlckJhc2VcbiAgICBpbXBsZW1lbnRzIENhbkRpc2FibGUsIE1hdFNvcnRhYmxlLCBPbkRlc3Ryb3ksIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHByaXZhdGUgX3JlcmVuZGVyU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XG5cbiAgLyoqXG4gICAqIEZsYWcgc2V0IHRvIHRydWUgd2hlbiB0aGUgaW5kaWNhdG9yIHNob3VsZCBiZSBkaXNwbGF5ZWQgd2hpbGUgdGhlIHNvcnQgaXMgbm90IGFjdGl2ZS4gVXNlZCB0b1xuICAgKiBwcm92aWRlIGFuIGFmZm9yZGFuY2UgdGhhdCB0aGUgaGVhZGVyIGlzIHNvcnRhYmxlIGJ5IHNob3dpbmcgb24gZm9jdXMgYW5kIGhvdmVyLlxuICAgKi9cbiAgX3Nob3dJbmRpY2F0b3JIaW50OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqIFRoZSB2aWV3IHRyYW5zaXRpb24gc3RhdGUgb2YgdGhlIGFycm93ICh0cmFuc2xhdGlvbi8gb3BhY2l0eSkgLSBpbmRpY2F0ZXMgaXRzIGBmcm9tYCBhbmQgYHRvYFxuICAgKiBwb3NpdGlvbiB0aHJvdWdoIHRoZSBhbmltYXRpb24uIElmIGFuaW1hdGlvbnMgYXJlIGN1cnJlbnRseSBkaXNhYmxlZCwgdGhlIGZyb21TdGF0ZSBpcyByZW1vdmVkXG4gICAqIHNvIHRoYXQgdGhlcmUgaXMgbm8gYW5pbWF0aW9uIGRpc3BsYXllZC5cbiAgICovXG4gIF92aWV3U3RhdGU6IEFycm93Vmlld1N0YXRlVHJhbnNpdGlvbiA9IHsgfTtcblxuICAvKiogVGhlIGRpcmVjdGlvbiB0aGUgYXJyb3cgc2hvdWxkIGJlIGZhY2luZyBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgc3RhdGUuICovXG4gIF9hcnJvd0RpcmVjdGlvbjogU29ydERpcmVjdGlvbiA9ICcnO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSB2aWV3IHN0YXRlIGFuaW1hdGlvbiBzaG91bGQgc2hvdyB0aGUgdHJhbnNpdGlvbiBiZXR3ZWVuIHRoZSBgZnJvbWAgYW5kIGB0b2Agc3RhdGVzLlxuICAgKi9cbiAgX2Rpc2FibGVWaWV3U3RhdGVBbmltYXRpb24gPSBmYWxzZTtcblxuICAvKipcbiAgICogSUQgb2YgdGhpcyBzb3J0IGhlYWRlci4gSWYgdXNlZCB3aXRoaW4gdGhlIGNvbnRleHQgb2YgYSBDZGtDb2x1bW5EZWYsIHRoaXMgd2lsbCBkZWZhdWx0IHRvXG4gICAqIHRoZSBjb2x1bW4ncyBuYW1lLlxuICAgKi9cbiAgQElucHV0KCdtYXQtc29ydC1oZWFkZXInKSBpZDogc3RyaW5nO1xuXG4gIC8qKiBTZXRzIHRoZSBwb3NpdGlvbiBvZiB0aGUgYXJyb3cgdGhhdCBkaXNwbGF5cyB3aGVuIHNvcnRlZC4gKi9cbiAgQElucHV0KCkgYXJyb3dQb3NpdGlvbjogJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2FmdGVyJztcblxuICAvKiogT3ZlcnJpZGVzIHRoZSBzb3J0IHN0YXJ0IHZhbHVlIG9mIHRoZSBjb250YWluaW5nIE1hdFNvcnQgZm9yIHRoaXMgTWF0U29ydGFibGUuICovXG4gIEBJbnB1dCgpIHN0YXJ0OiAnYXNjJyB8ICdkZXNjJztcblxuICAvKiogT3ZlcnJpZGVzIHRoZSBkaXNhYmxlIGNsZWFyIHZhbHVlIG9mIHRoZSBjb250YWluaW5nIE1hdFNvcnQgZm9yIHRoaXMgTWF0U29ydGFibGUuICovXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlQ2xlYXIoKTogYm9vbGVhbiB7IHJldHVybiB0aGlzLl9kaXNhYmxlQ2xlYXI7IH1cbiAgc2V0IGRpc2FibGVDbGVhcih2KSB7IHRoaXMuX2Rpc2FibGVDbGVhciA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2KTsgfVxuICBwcml2YXRlIF9kaXNhYmxlQ2xlYXI6IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3IoXG4gICAgICAgICAgICAgIC8qKlxuICAgICAgICAgICAgICAgKiBAZGVwcmVjYXRlZCBgX2ludGxgIHBhcmFtZXRlciBpc24ndCBiZWluZyB1c2VkIGFueW1vcmUgYW5kIGl0J2xsIGJlIHJlbW92ZWQuXG4gICAgICAgICAgICAgICAqIEBicmVha2luZy1jaGFuZ2UgMTMuMC4wXG4gICAgICAgICAgICAgICAqL1xuICAgICAgICAgICAgICBwdWJsaWMgX2ludGw6IE1hdFNvcnRIZWFkZXJJbnRsLFxuICAgICAgICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgICAgICAgIC8vIGBNYXRTb3J0YCBpcyBub3Qgb3B0aW9uYWxseSBpbmplY3RlZCwgYnV0IGp1c3QgYXNzZXJ0ZWQgbWFudWFsbHkgdy8gYmV0dGVyIGVycm9yLlxuICAgICAgICAgICAgICAvLyB0c2xpbnQ6ZGlzYWJsZS1uZXh0LWxpbmU6IGxpZ2h0d2VpZ2h0LXRva2Vuc1xuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwdWJsaWMgX3NvcnQ6IE1hdFNvcnQsXG4gICAgICAgICAgICAgIEBJbmplY3QoJ01BVF9TT1JUX0hFQURFUl9DT0xVTU5fREVGJykgQE9wdGlvbmFsKClcbiAgICAgICAgICAgICAgICAgIHB1YmxpYyBfY29sdW1uRGVmOiBNYXRTb3J0SGVhZGVyQ29sdW1uRGVmLFxuICAgICAgICAgICAgICBwcml2YXRlIF9mb2N1c01vbml0b3I6IEZvY3VzTW9uaXRvcixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHtcbiAgICAvLyBOb3RlIHRoYXQgd2UgdXNlIGEgc3RyaW5nIHRva2VuIGZvciB0aGUgYF9jb2x1bW5EZWZgLCBiZWNhdXNlIHRoZSB2YWx1ZSBpcyBwcm92aWRlZCBib3RoIGJ5XG4gICAgLy8gYG1hdGVyaWFsL3RhYmxlYCBhbmQgYGNkay90YWJsZWAgYW5kIHdlIGNhbid0IGhhdmUgdGhlIENESyBkZXBlbmRpbmcgb24gTWF0ZXJpYWwsXG4gICAgLy8gYW5kIHdlIHdhbnQgdG8gYXZvaWQgaGF2aW5nIHRoZSBzb3J0IGhlYWRlciBkZXBlbmRpbmcgb24gdGhlIENESyB0YWJsZSBiZWNhdXNlXG4gICAgLy8gb2YgdGhpcyBzaW5nbGUgcmVmZXJlbmNlLlxuICAgIHN1cGVyKCk7XG5cbiAgICBpZiAoIV9zb3J0ICYmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpKSB7XG4gICAgICB0aHJvdyBnZXRTb3J0SGVhZGVyTm90Q29udGFpbmVkV2l0aGluU29ydEVycm9yKCk7XG4gICAgfVxuXG4gICAgdGhpcy5faGFuZGxlU3RhdGVDaGFuZ2VzKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoIXRoaXMuaWQgJiYgdGhpcy5fY29sdW1uRGVmKSB7XG4gICAgICB0aGlzLmlkID0gdGhpcy5fY29sdW1uRGVmLm5hbWU7XG4gICAgfVxuXG4gICAgLy8gSW5pdGlhbGl6ZSB0aGUgZGlyZWN0aW9uIG9mIHRoZSBhcnJvdyBhbmQgc2V0IHRoZSB2aWV3IHN0YXRlIHRvIGJlIGltbWVkaWF0ZWx5IHRoYXQgc3RhdGUuXG4gICAgdGhpcy5fdXBkYXRlQXJyb3dEaXJlY3Rpb24oKTtcbiAgICB0aGlzLl9zZXRBbmltYXRpb25UcmFuc2l0aW9uU3RhdGUoXG4gICAgICAgIHt0b1N0YXRlOiB0aGlzLl9pc1NvcnRlZCgpID8gJ2FjdGl2ZScgOiB0aGlzLl9hcnJvd0RpcmVjdGlvbn0pO1xuXG4gICAgdGhpcy5fc29ydC5yZWdpc3Rlcih0aGlzKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAvLyBXZSB1c2UgdGhlIGZvY3VzIG1vbml0b3IgYmVjYXVzZSB3ZSBhbHNvIHdhbnQgdG8gc3R5bGVcbiAgICAvLyB0aGluZ3MgZGlmZmVyZW50bHkgYmFzZWQgb24gdGhlIGZvY3VzIG9yaWdpbi5cbiAgICB0aGlzLl9mb2N1c01vbml0b3IubW9uaXRvcih0aGlzLl9lbGVtZW50UmVmLCB0cnVlKS5zdWJzY3JpYmUob3JpZ2luID0+IHtcbiAgICAgIGNvbnN0IG5ld1N0YXRlID0gISFvcmlnaW47XG4gICAgICBpZiAobmV3U3RhdGUgIT09IHRoaXMuX3Nob3dJbmRpY2F0b3JIaW50KSB7XG4gICAgICAgIHRoaXMuX3NldEluZGljYXRvckhpbnRWaXNpYmxlKG5ld1N0YXRlKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLl9mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5fZWxlbWVudFJlZik7XG4gICAgdGhpcy5fc29ydC5kZXJlZ2lzdGVyKHRoaXMpO1xuICAgIHRoaXMuX3JlcmVuZGVyU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgXCJoaW50XCIgc3RhdGUgc3VjaCB0aGF0IHRoZSBhcnJvdyB3aWxsIGJlIHNlbWktdHJhbnNwYXJlbnRseSBkaXNwbGF5ZWQgYXMgYSBoaW50IHRvIHRoZVxuICAgKiB1c2VyIHNob3dpbmcgd2hhdCB0aGUgYWN0aXZlIHNvcnQgd2lsbCBiZWNvbWUuIElmIHNldCB0byBmYWxzZSwgdGhlIGFycm93IHdpbGwgZmFkZSBhd2F5LlxuICAgKi9cbiAgX3NldEluZGljYXRvckhpbnRWaXNpYmxlKHZpc2libGU6IGJvb2xlYW4pIHtcbiAgICAvLyBOby1vcCBpZiB0aGUgc29ydCBoZWFkZXIgaXMgZGlzYWJsZWQgLSBzaG91bGQgbm90IG1ha2UgdGhlIGhpbnQgdmlzaWJsZS5cbiAgICBpZiAodGhpcy5faXNEaXNhYmxlZCgpICYmIHZpc2libGUpIHsgcmV0dXJuOyB9XG5cbiAgICB0aGlzLl9zaG93SW5kaWNhdG9ySGludCA9IHZpc2libGU7XG5cbiAgICBpZiAoIXRoaXMuX2lzU29ydGVkKCkpIHtcbiAgICAgIHRoaXMuX3VwZGF0ZUFycm93RGlyZWN0aW9uKCk7XG4gICAgICBpZiAodGhpcy5fc2hvd0luZGljYXRvckhpbnQpIHtcbiAgICAgICAgdGhpcy5fc2V0QW5pbWF0aW9uVHJhbnNpdGlvblN0YXRlKHtmcm9tU3RhdGU6IHRoaXMuX2Fycm93RGlyZWN0aW9uLCB0b1N0YXRlOiAnaGludCd9KTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuX3NldEFuaW1hdGlvblRyYW5zaXRpb25TdGF0ZSh7ZnJvbVN0YXRlOiAnaGludCcsIHRvU3RhdGU6IHRoaXMuX2Fycm93RGlyZWN0aW9ufSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFuaW1hdGlvbiB0cmFuc2l0aW9uIHZpZXcgc3RhdGUgZm9yIHRoZSBhcnJvdydzIHBvc2l0aW9uIGFuZCBvcGFjaXR5LiBJZiB0aGVcbiAgICogYGRpc2FibGVWaWV3U3RhdGVBbmltYXRpb25gIGZsYWcgaXMgc2V0IHRvIHRydWUsIHRoZSBgZnJvbVN0YXRlYCB3aWxsIGJlIGlnbm9yZWQgc28gdGhhdFxuICAgKiBubyBhbmltYXRpb24gYXBwZWFycy5cbiAgICovXG4gIF9zZXRBbmltYXRpb25UcmFuc2l0aW9uU3RhdGUodmlld1N0YXRlOiBBcnJvd1ZpZXdTdGF0ZVRyYW5zaXRpb24pIHtcbiAgICB0aGlzLl92aWV3U3RhdGUgPSB2aWV3U3RhdGUgfHwgeyB9O1xuXG4gICAgLy8gSWYgdGhlIGFuaW1hdGlvbiBmb3IgYXJyb3cgcG9zaXRpb24gc3RhdGUgKG9wYWNpdHkvdHJhbnNsYXRpb24pIHNob3VsZCBiZSBkaXNhYmxlZCxcbiAgICAvLyByZW1vdmUgdGhlIGZyb21TdGF0ZSBzbyB0aGF0IGl0IGp1bXBzIHJpZ2h0IHRvIHRoZSB0b1N0YXRlLlxuICAgIGlmICh0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uKSB7XG4gICAgICB0aGlzLl92aWV3U3RhdGUgPSB7dG9TdGF0ZTogdmlld1N0YXRlLnRvU3RhdGV9O1xuICAgIH1cbiAgfVxuXG4gIC8qKiBUcmlnZ2VycyB0aGUgc29ydCBvbiB0aGlzIHNvcnQgaGVhZGVyIGFuZCByZW1vdmVzIHRoZSBpbmRpY2F0b3IgaGludC4gKi9cbiAgX3RvZ2dsZU9uSW50ZXJhY3Rpb24oKSB7XG4gICAgdGhpcy5fc29ydC5zb3J0KHRoaXMpO1xuXG4gICAgLy8gRG8gbm90IHNob3cgdGhlIGFuaW1hdGlvbiBpZiB0aGUgaGVhZGVyIHdhcyBhbHJlYWR5IHNob3duIGluIHRoZSByaWdodCBwb3NpdGlvbi5cbiAgICBpZiAodGhpcy5fdmlld1N0YXRlLnRvU3RhdGUgPT09ICdoaW50JyB8fCB0aGlzLl92aWV3U3RhdGUudG9TdGF0ZSA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgIHRoaXMuX2Rpc2FibGVWaWV3U3RhdGVBbmltYXRpb24gPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIF9oYW5kbGVDbGljaygpIHtcbiAgICBpZiAoIXRoaXMuX2lzRGlzYWJsZWQoKSkge1xuICAgICAgdGhpcy5fc29ydC5zb3J0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIF9oYW5kbGVLZXlkb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYgKCF0aGlzLl9pc0Rpc2FibGVkKCkgJiYgKGV2ZW50LmtleUNvZGUgPT09IFNQQUNFIHx8IGV2ZW50LmtleUNvZGUgPT09IEVOVEVSKSkge1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIHRoaXMuX3RvZ2dsZU9uSW50ZXJhY3Rpb24oKTtcbiAgICB9XG4gIH1cblxuICAvKiogV2hldGhlciB0aGlzIE1hdFNvcnRIZWFkZXIgaXMgY3VycmVudGx5IHNvcnRlZCBpbiBlaXRoZXIgYXNjZW5kaW5nIG9yIGRlc2NlbmRpbmcgb3JkZXIuICovXG4gIF9pc1NvcnRlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc29ydC5hY3RpdmUgPT0gdGhpcy5pZCAmJlxuICAgICAgICAodGhpcy5fc29ydC5kaXJlY3Rpb24gPT09ICdhc2MnIHx8IHRoaXMuX3NvcnQuZGlyZWN0aW9uID09PSAnZGVzYycpO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGFuaW1hdGlvbiBzdGF0ZSBmb3IgdGhlIGFycm93IGRpcmVjdGlvbiAoaW5kaWNhdG9yIGFuZCBwb2ludGVycykuICovXG4gIF9nZXRBcnJvd0RpcmVjdGlvblN0YXRlKCkge1xuICAgIHJldHVybiBgJHt0aGlzLl9pc1NvcnRlZCgpID8gJ2FjdGl2ZS0nIDogJyd9JHt0aGlzLl9hcnJvd0RpcmVjdGlvbn1gO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIGFycm93IHBvc2l0aW9uIHN0YXRlIChvcGFjaXR5LCB0cmFuc2xhdGlvbikuICovXG4gIF9nZXRBcnJvd1ZpZXdTdGF0ZSgpIHtcbiAgICBjb25zdCBmcm9tU3RhdGUgPSB0aGlzLl92aWV3U3RhdGUuZnJvbVN0YXRlO1xuICAgIHJldHVybiAoZnJvbVN0YXRlID8gYCR7ZnJvbVN0YXRlfS10by1gIDogJycpICsgdGhpcy5fdmlld1N0YXRlLnRvU3RhdGU7XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgZGlyZWN0aW9uIHRoZSBhcnJvdyBzaG91bGQgYmUgcG9pbnRpbmcuIElmIGl0IGlzIG5vdCBzb3J0ZWQsIHRoZSBhcnJvdyBzaG91bGQgYmVcbiAgICogZmFjaW5nIHRoZSBzdGFydCBkaXJlY3Rpb24uIE90aGVyd2lzZSBpZiBpdCBpcyBzb3J0ZWQsIHRoZSBhcnJvdyBzaG91bGQgcG9pbnQgaW4gdGhlIGN1cnJlbnRseVxuICAgKiBhY3RpdmUgc29ydGVkIGRpcmVjdGlvbi4gVGhlIHJlYXNvbiB0aGlzIGlzIHVwZGF0ZWQgdGhyb3VnaCBhIGZ1bmN0aW9uIGlzIGJlY2F1c2UgdGhlIGRpcmVjdGlvblxuICAgKiBzaG91bGQgb25seSBiZSBjaGFuZ2VkIGF0IHNwZWNpZmljIHRpbWVzIC0gd2hlbiBkZWFjdGl2YXRlZCBidXQgdGhlIGhpbnQgaXMgZGlzcGxheWVkIGFuZCB3aGVuXG4gICAqIHRoZSBzb3J0IGlzIGFjdGl2ZSBhbmQgdGhlIGRpcmVjdGlvbiBjaGFuZ2VzLiBPdGhlcndpc2UgdGhlIGFycm93J3MgZGlyZWN0aW9uIHNob3VsZCBsaW5nZXJcbiAgICogaW4gY2FzZXMgc3VjaCBhcyB0aGUgc29ydCBiZWNvbWluZyBkZWFjdGl2YXRlZCBidXQgd2Ugd2FudCB0byBhbmltYXRlIHRoZSBhcnJvdyBhd2F5IHdoaWxlXG4gICAqIHByZXNlcnZpbmcgaXRzIGRpcmVjdGlvbiwgZXZlbiB0aG91Z2ggdGhlIG5leHQgc29ydCBkaXJlY3Rpb24gaXMgYWN0dWFsbHkgZGlmZmVyZW50IGFuZCBzaG91bGRcbiAgICogb25seSBiZSBjaGFuZ2VkIG9uY2UgdGhlIGFycm93IGRpc3BsYXlzIGFnYWluIChoaW50IG9yIGFjdGl2YXRpb24pLlxuICAgKi9cbiAgX3VwZGF0ZUFycm93RGlyZWN0aW9uKCkge1xuICAgIHRoaXMuX2Fycm93RGlyZWN0aW9uID0gdGhpcy5faXNTb3J0ZWQoKSA/XG4gICAgICAgIHRoaXMuX3NvcnQuZGlyZWN0aW9uIDpcbiAgICAgICAgKHRoaXMuc3RhcnQgfHwgdGhpcy5fc29ydC5zdGFydCk7XG4gIH1cblxuICBfaXNEaXNhYmxlZCgpIHtcbiAgICByZXR1cm4gdGhpcy5fc29ydC5kaXNhYmxlZCB8fCB0aGlzLmRpc2FibGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIGFyaWEtc29ydCBhdHRyaWJ1dGUgdGhhdCBzaG91bGQgYmUgYXBwbGllZCB0byB0aGlzIHNvcnQgaGVhZGVyLiBJZiB0aGlzIGhlYWRlclxuICAgKiBpcyBub3Qgc29ydGVkLCByZXR1cm5zIG51bGwgc28gdGhhdCB0aGUgYXR0cmlidXRlIGlzIHJlbW92ZWQgZnJvbSB0aGUgaG9zdCBlbGVtZW50LiBBcmlhIHNwZWNcbiAgICogc2F5cyB0aGF0IHRoZSBhcmlhLXNvcnQgcHJvcGVydHkgc2hvdWxkIG9ubHkgYmUgcHJlc2VudCBvbiBvbmUgaGVhZGVyIGF0IGEgdGltZSwgc28gcmVtb3ZpbmdcbiAgICogZW5zdXJlcyB0aGlzIGlzIHRydWUuXG4gICAqL1xuICBfZ2V0QXJpYVNvcnRBdHRyaWJ1dGUoKSB7XG4gICAgaWYgKCF0aGlzLl9pc1NvcnRlZCgpKSB7XG4gICAgICByZXR1cm4gJ25vbmUnO1xuICAgIH1cblxuICAgIHJldHVybiB0aGlzLl9zb3J0LmRpcmVjdGlvbiA9PSAnYXNjJyA/ICdhc2NlbmRpbmcnIDogJ2Rlc2NlbmRpbmcnO1xuICB9XG5cbiAgLyoqIFdoZXRoZXIgdGhlIGFycm93IGluc2lkZSB0aGUgc29ydCBoZWFkZXIgc2hvdWxkIGJlIHJlbmRlcmVkLiAqL1xuICBfcmVuZGVyQXJyb3coKSB7XG4gICAgcmV0dXJuICF0aGlzLl9pc0Rpc2FibGVkKCkgfHwgdGhpcy5faXNTb3J0ZWQoKTtcbiAgfVxuXG4gIC8qKiBIYW5kbGVzIGNoYW5nZXMgaW4gdGhlIHNvcnRpbmcgc3RhdGUuICovXG4gIHByaXZhdGUgX2hhbmRsZVN0YXRlQ2hhbmdlcygpIHtcbiAgICB0aGlzLl9yZXJlbmRlclN1YnNjcmlwdGlvbiA9XG4gICAgICBtZXJnZSh0aGlzLl9zb3J0LnNvcnRDaGFuZ2UsIHRoaXMuX3NvcnQuX3N0YXRlQ2hhbmdlcywgdGhpcy5faW50bC5jaGFuZ2VzKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICBpZiAodGhpcy5faXNTb3J0ZWQoKSkge1xuICAgICAgICAgIHRoaXMuX3VwZGF0ZUFycm93RGlyZWN0aW9uKCk7XG5cbiAgICAgICAgICAvLyBEbyBub3Qgc2hvdyB0aGUgYW5pbWF0aW9uIGlmIHRoZSBoZWFkZXIgd2FzIGFscmVhZHkgc2hvd24gaW4gdGhlIHJpZ2h0IHBvc2l0aW9uLlxuICAgICAgICAgIGlmICh0aGlzLl92aWV3U3RhdGUudG9TdGF0ZSA9PT0gJ2hpbnQnIHx8IHRoaXMuX3ZpZXdTdGF0ZS50b1N0YXRlID09PSAnYWN0aXZlJykge1xuICAgICAgICAgICAgdGhpcy5fZGlzYWJsZVZpZXdTdGF0ZUFuaW1hdGlvbiA9IHRydWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgdGhpcy5fc2V0QW5pbWF0aW9uVHJhbnNpdGlvblN0YXRlKHtmcm9tU3RhdGU6IHRoaXMuX2Fycm93RGlyZWN0aW9uLCB0b1N0YXRlOiAnYWN0aXZlJ30pO1xuICAgICAgICAgIHRoaXMuX3Nob3dJbmRpY2F0b3JIaW50ID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiB0aGlzIGhlYWRlciB3YXMgcmVjZW50bHkgYWN0aXZlIGFuZCBub3cgbm8gbG9uZ2VyIHNvcnRlZCwgYW5pbWF0ZSBhd2F5IHRoZSBhcnJvdy5cbiAgICAgICAgaWYgKCF0aGlzLl9pc1NvcnRlZCgpICYmIHRoaXMuX3ZpZXdTdGF0ZSAmJiB0aGlzLl92aWV3U3RhdGUudG9TdGF0ZSA9PT0gJ2FjdGl2ZScpIHtcbiAgICAgICAgICB0aGlzLl9kaXNhYmxlVmlld1N0YXRlQW5pbWF0aW9uID0gZmFsc2U7XG4gICAgICAgICAgdGhpcy5fc2V0QW5pbWF0aW9uVHJhbnNpdGlvblN0YXRlKHtmcm9tU3RhdGU6ICdhY3RpdmUnLCB0b1N0YXRlOiB0aGlzLl9hcnJvd0RpcmVjdGlvbn0pO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlQ2xlYXI6IEJvb2xlYW5JbnB1dDtcbiAgc3RhdGljIG5nQWNjZXB0SW5wdXRUeXBlX2Rpc2FibGVkOiBCb29sZWFuSW5wdXQ7XG59XG4iLCI8IS0tXG4gIFdlIHNldCB0aGUgYHRhYmluZGV4YCBvbiBhbiBlbGVtZW50IGluc2lkZSB0aGUgdGFibGUgaGVhZGVyLCByYXRoZXIgdGhhbiB0aGUgaGVhZGVyIGl0c2VsZixcbiAgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBOVkRBIHdoZXJlIGhhdmluZyBhIGB0YWJpbmRleGAgb24gYSBgdGhgIGJyZWFrcyBrZXlib2FyZCBuYXZpZ2F0aW9uIGluIHRoZVxuICB0YWJsZSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9udmFjY2Vzcy9udmRhL2lzc3Vlcy83NzE4KS4gVGhpcyBhbGxvd3MgZm9yIHRoZSBoZWFkZXIgdG8gYm90aFxuICBiZSBmb2N1c2FibGUsIGFuZCBoYXZlIHNjcmVlbiByZWFkZXJzIHJlYWQgb3V0IGl0cyBgYXJpYS1zb3J0YCBzdGF0ZS4gV2UgcHJlZmVyIHRoaXMgYXBwcm9hY2hcbiAgb3ZlciBoYXZpbmcgYSBidXR0b24gd2l0aCBhbiBgYXJpYS1sYWJlbGAgaW5zaWRlIHRoZSBoZWFkZXIsIGJlY2F1c2UgdGhlIGJ1dHRvbidzIGBhcmlhLWxhYmVsYFxuICB3aWxsIGJlIHJlYWQgb3V0IGFzIHRoZSB1c2VyIGlzIG5hdmlnYXRpbmcgdGhlIHRhYmxlJ3MgY2VsbCAoc2VlICMxMzAxMikuXG5cbiAgVGhlIGFwcHJvYWNoIGlzIGJhc2VkIG9mZiBvZjogaHR0cHM6Ly9kZXF1ZXVuaXZlcnNpdHkuY29tL2xpYnJhcnkvYXJpYS90YWJsZXMvc2Ytc29ydGFibGUtZ3JpZFxuLS0+XG48ZGl2IGNsYXNzPVwibWF0LXNvcnQtaGVhZGVyLWNvbnRhaW5lciBtYXQtZm9jdXMtaW5kaWNhdG9yXCJcbiAgICAgW2NsYXNzLm1hdC1zb3J0LWhlYWRlci1zb3J0ZWRdPVwiX2lzU29ydGVkKClcIlxuICAgICBbY2xhc3MubWF0LXNvcnQtaGVhZGVyLXBvc2l0aW9uLWJlZm9yZV09XCJhcnJvd1Bvc2l0aW9uID09ICdiZWZvcmUnXCJcbiAgICAgW2F0dHIudGFiaW5kZXhdPVwiX2lzRGlzYWJsZWQoKSA/IG51bGwgOiAwXCJcbiAgICAgcm9sZT1cImJ1dHRvblwiPlxuXG4gIDwhLS1cbiAgICBUT0RPKGNyaXNiZXRvKTogdGhpcyBkaXYgaXNuJ3Qgc3RyaWN0bHkgbmVjZXNzYXJ5LCBidXQgd2UgaGF2ZSB0byBrZWVwIGl0IGR1ZSB0byBhIGxhcmdlXG4gICAgbnVtYmVyIG9mIHNjcmVlbnNob3QgZGlmZiBmYWlsdXJlcy4gSXQgc2hvdWxkIGJlIHJlbW92ZWQgZXZlbnR1YWxseS4gTm90ZSB0aGF0IHRoZSBkaWZmZXJlbmNlXG4gICAgaXNuJ3QgdmlzaWJsZSB3aXRoIGEgc2hvcnRlciBoZWFkZXIsIGJ1dCBvbmNlIGl0IGJyZWFrcyB1cCBpbnRvIG11bHRpcGxlIGxpbmVzLCB0aGlzIGVsZW1lbnRcbiAgICBjYXVzZXMgaXQgdG8gYmUgY2VudGVyLWFsaWduZWQsIHdoZXJlYXMgcmVtb3ZpbmcgaXQgd2lsbCBrZWVwIHRoZSB0ZXh0IHRvIHRoZSBsZWZ0LlxuICAtLT5cbiAgPGRpdiBjbGFzcz1cIm1hdC1zb3J0LWhlYWRlci1jb250ZW50XCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICA8L2Rpdj5cblxuICA8IS0tIERpc2FibGUgYW5pbWF0aW9ucyB3aGlsZSBhIGN1cnJlbnQgYW5pbWF0aW9uIGlzIHJ1bm5pbmcgLS0+XG4gIDxkaXYgY2xhc3M9XCJtYXQtc29ydC1oZWFkZXItYXJyb3dcIlxuICAgICAgICpuZ0lmPVwiX3JlbmRlckFycm93KClcIlxuICAgICAgIFtAYXJyb3dPcGFjaXR5XT1cIl9nZXRBcnJvd1ZpZXdTdGF0ZSgpXCJcbiAgICAgICBbQGFycm93UG9zaXRpb25dPVwiX2dldEFycm93Vmlld1N0YXRlKClcIlxuICAgICAgIFtAYWxsb3dDaGlsZHJlbl09XCJfZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpXCJcbiAgICAgICAoQGFycm93UG9zaXRpb24uc3RhcnQpPVwiX2Rpc2FibGVWaWV3U3RhdGVBbmltYXRpb24gPSB0cnVlXCJcbiAgICAgICAoQGFycm93UG9zaXRpb24uZG9uZSk9XCJfZGlzYWJsZVZpZXdTdGF0ZUFuaW1hdGlvbiA9IGZhbHNlXCI+XG4gICAgPGRpdiBjbGFzcz1cIm1hdC1zb3J0LWhlYWRlci1zdGVtXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm1hdC1zb3J0LWhlYWRlci1pbmRpY2F0b3JcIiBbQGluZGljYXRvcl09XCJfZ2V0QXJyb3dEaXJlY3Rpb25TdGF0ZSgpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibWF0LXNvcnQtaGVhZGVyLXBvaW50ZXItbGVmdFwiIFtAbGVmdFBvaW50ZXJdPVwiX2dldEFycm93RGlyZWN0aW9uU3RhdGUoKVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLXJpZ2h0XCIgW0ByaWdodFBvaW50ZXJdPVwiX2dldEFycm93RGlyZWN0aW9uU3RhdGUoKVwiPjwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cIm1hdC1zb3J0LWhlYWRlci1wb2ludGVyLW1pZGRsZVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuIl19
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { NgModule } from '@angular/core';
9
+ import { MatSortHeader } from './sort-header';
10
+ import { MatSort } from './sort';
11
+ import { MAT_SORT_HEADER_INTL_PROVIDER } from './sort-header-intl';
12
+ import { CommonModule } from '@angular/common';
13
+ import { MatCommonModule } from '@angular/material/core';
14
+ import * as i0 from "@angular/core";
15
+ export class MatSortModule {
16
+ }
17
+ MatSortModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatSortModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
18
+ MatSortModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatSortModule, declarations: [MatSort, MatSortHeader], imports: [CommonModule, MatCommonModule], exports: [MatSort, MatSortHeader] });
19
+ MatSortModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatSortModule, providers: [MAT_SORT_HEADER_INTL_PROVIDER], imports: [[CommonModule, MatCommonModule]] });
20
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatSortModule, decorators: [{
21
+ type: NgModule,
22
+ args: [{
23
+ imports: [CommonModule, MatCommonModule],
24
+ exports: [MatSort, MatSortHeader],
25
+ declarations: [MatSort, MatSortHeader],
26
+ providers: [MAT_SORT_HEADER_INTL_PROVIDER]
27
+ }]
28
+ }] });
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwvc29ydC9zb3J0LW1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3ZDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLFFBQVEsQ0FBQztBQUMvQixPQUFPLEVBQUMsNkJBQTZCLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRSxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDOztBQVN2RCxNQUFNLE9BQU8sYUFBYTs7a0hBQWIsYUFBYTttSEFBYixhQUFhLGlCQUhULE9BQU8sRUFBRSxhQUFhLGFBRjNCLFlBQVksRUFBRSxlQUFlLGFBQzdCLE9BQU8sRUFBRSxhQUFhO21IQUlyQixhQUFhLGFBRmIsQ0FBQyw2QkFBNkIsQ0FBQyxZQUhqQyxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUM7bUdBSzdCLGFBQWE7a0JBTnpCLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQztvQkFDakMsWUFBWSxFQUFFLENBQUMsT0FBTyxFQUFFLGFBQWEsQ0FBQztvQkFDdEMsU0FBUyxFQUFFLENBQUMsNkJBQTZCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7TmdNb2R1bGV9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtNYXRTb3J0SGVhZGVyfSBmcm9tICcuL3NvcnQtaGVhZGVyJztcbmltcG9ydCB7TWF0U29ydH0gZnJvbSAnLi9zb3J0JztcbmltcG9ydCB7TUFUX1NPUlRfSEVBREVSX0lOVExfUFJPVklERVJ9IGZyb20gJy4vc29ydC1oZWFkZXItaW50bCc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7TWF0Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRDb21tb25Nb2R1bGVdLFxuICBleHBvcnRzOiBbTWF0U29ydCwgTWF0U29ydEhlYWRlcl0sXG4gIGRlY2xhcmF0aW9uczogW01hdFNvcnQsIE1hdFNvcnRIZWFkZXJdLFxuICBwcm92aWRlcnM6IFtNQVRfU09SVF9IRUFERVJfSU5UTF9QUk9WSURFUl1cbn0pXG5leHBvcnQgY2xhc3MgTWF0U29ydE1vZHVsZSB7fVxuIl19
@@ -0,0 +1,154 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
9
+ import { Directive, EventEmitter, Inject, InjectionToken, Input, Optional, Output, } from '@angular/core';
10
+ import { mixinDisabled, mixinInitialized, } from '@angular/material/core';
11
+ import { Subject } from 'rxjs';
12
+ import { getSortDuplicateSortableIdError, getSortHeaderMissingIdError, getSortInvalidDirectionError, } from './sort-errors';
13
+ import * as i0 from "@angular/core";
14
+ /** Injection token to be used to override the default options for `mat-sort`. */
15
+ export const MAT_SORT_DEFAULT_OPTIONS = new InjectionToken('MAT_SORT_DEFAULT_OPTIONS');
16
+ // Boilerplate for applying mixins to MatSort.
17
+ /** @docs-private */
18
+ const _MatSortBase = mixinInitialized(mixinDisabled(class {
19
+ }));
20
+ /** Container for MatSortables to manage the sort state and provide default sort parameters. */
21
+ export class MatSort extends _MatSortBase {
22
+ constructor(_defaultOptions) {
23
+ super();
24
+ this._defaultOptions = _defaultOptions;
25
+ /** Collection of all registered sortables that this directive manages. */
26
+ this.sortables = new Map();
27
+ /** Used to notify any child components listening to state changes. */
28
+ this._stateChanges = new Subject();
29
+ /**
30
+ * The direction to set when an MatSortable is initially sorted.
31
+ * May be overriden by the MatSortable's sort start.
32
+ */
33
+ this.start = 'asc';
34
+ this._direction = '';
35
+ /** Event emitted when the user changes either the active sort or sort direction. */
36
+ this.sortChange = new EventEmitter();
37
+ }
38
+ /** The sort direction of the currently active MatSortable. */
39
+ get direction() { return this._direction; }
40
+ set direction(direction) {
41
+ if (direction && direction !== 'asc' && direction !== 'desc' &&
42
+ (typeof ngDevMode === 'undefined' || ngDevMode)) {
43
+ throw getSortInvalidDirectionError(direction);
44
+ }
45
+ this._direction = direction;
46
+ }
47
+ /**
48
+ * Whether to disable the user from clearing the sort by finishing the sort direction cycle.
49
+ * May be overriden by the MatSortable's disable clear input.
50
+ */
51
+ get disableClear() { return this._disableClear; }
52
+ set disableClear(v) { this._disableClear = coerceBooleanProperty(v); }
53
+ /**
54
+ * Register function to be used by the contained MatSortables. Adds the MatSortable to the
55
+ * collection of MatSortables.
56
+ */
57
+ register(sortable) {
58
+ if (typeof ngDevMode === 'undefined' || ngDevMode) {
59
+ if (!sortable.id) {
60
+ throw getSortHeaderMissingIdError();
61
+ }
62
+ if (this.sortables.has(sortable.id)) {
63
+ throw getSortDuplicateSortableIdError(sortable.id);
64
+ }
65
+ }
66
+ this.sortables.set(sortable.id, sortable);
67
+ }
68
+ /**
69
+ * Unregister function to be used by the contained MatSortables. Removes the MatSortable from the
70
+ * collection of contained MatSortables.
71
+ */
72
+ deregister(sortable) {
73
+ this.sortables.delete(sortable.id);
74
+ }
75
+ /** Sets the active sort id and determines the new sort direction. */
76
+ sort(sortable) {
77
+ if (this.active != sortable.id) {
78
+ this.active = sortable.id;
79
+ this.direction = sortable.start ? sortable.start : this.start;
80
+ }
81
+ else {
82
+ this.direction = this.getNextSortDirection(sortable);
83
+ }
84
+ this.sortChange.emit({ active: this.active, direction: this.direction });
85
+ }
86
+ /** Returns the next sort direction of the active sortable, checking for potential overrides. */
87
+ getNextSortDirection(sortable) {
88
+ if (!sortable) {
89
+ return '';
90
+ }
91
+ // Get the sort direction cycle with the potential sortable overrides.
92
+ const disableClear = sortable?.disableClear ??
93
+ this.disableClear ?? !!this._defaultOptions?.disableClear;
94
+ let sortDirectionCycle = getSortDirectionCycle(sortable.start || this.start, disableClear);
95
+ // Get and return the next direction in the cycle
96
+ let nextDirectionIndex = sortDirectionCycle.indexOf(this.direction) + 1;
97
+ if (nextDirectionIndex >= sortDirectionCycle.length) {
98
+ nextDirectionIndex = 0;
99
+ }
100
+ return sortDirectionCycle[nextDirectionIndex];
101
+ }
102
+ ngOnInit() {
103
+ this._markInitialized();
104
+ }
105
+ ngOnChanges() {
106
+ this._stateChanges.next();
107
+ }
108
+ ngOnDestroy() {
109
+ this._stateChanges.complete();
110
+ }
111
+ }
112
+ MatSort.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatSort, deps: [{ token: MAT_SORT_DEFAULT_OPTIONS, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
113
+ MatSort.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.0.0-next.15", type: MatSort, selector: "[matSort]", inputs: { disabled: ["matSortDisabled", "disabled"], active: ["matSortActive", "active"], start: ["matSortStart", "start"], direction: ["matSortDirection", "direction"], disableClear: ["matSortDisableClear", "disableClear"] }, outputs: { sortChange: "matSortChange" }, host: { classAttribute: "mat-sort" }, exportAs: ["matSort"], usesInheritance: true, usesOnChanges: true, ngImport: i0 });
114
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatSort, decorators: [{
115
+ type: Directive,
116
+ args: [{
117
+ selector: '[matSort]',
118
+ exportAs: 'matSort',
119
+ host: { 'class': 'mat-sort' },
120
+ inputs: ['disabled: matSortDisabled']
121
+ }]
122
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
123
+ type: Optional
124
+ }, {
125
+ type: Inject,
126
+ args: [MAT_SORT_DEFAULT_OPTIONS]
127
+ }] }]; }, propDecorators: { active: [{
128
+ type: Input,
129
+ args: ['matSortActive']
130
+ }], start: [{
131
+ type: Input,
132
+ args: ['matSortStart']
133
+ }], direction: [{
134
+ type: Input,
135
+ args: ['matSortDirection']
136
+ }], disableClear: [{
137
+ type: Input,
138
+ args: ['matSortDisableClear']
139
+ }], sortChange: [{
140
+ type: Output,
141
+ args: ['matSortChange']
142
+ }] } });
143
+ /** Returns the sort direction cycle to use given the provided parameters of order and clear. */
144
+ function getSortDirectionCycle(start, disableClear) {
145
+ let sortOrder = ['asc', 'desc'];
146
+ if (start == 'desc') {
147
+ sortOrder.reverse();
148
+ }
149
+ if (!disableClear) {
150
+ sortOrder.push('');
151
+ }
152
+ return sortOrder;
153
+ }
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9zb3J0L3NvcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osTUFBTSxFQUNOLGNBQWMsRUFDZCxLQUFLLEVBSUwsUUFBUSxFQUNSLE1BQU0sR0FDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBR0wsYUFBYSxFQUNiLGdCQUFnQixHQUNqQixNQUFNLHdCQUF3QixDQUFDO0FBQ2hDLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFN0IsT0FBTyxFQUNMLCtCQUErQixFQUMvQiwyQkFBMkIsRUFDM0IsNEJBQTRCLEdBQzdCLE1BQU0sZUFBZSxDQUFDOztBQTZCdkIsaUZBQWlGO0FBQ2pGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUNqQyxJQUFJLGNBQWMsQ0FBd0IsMEJBQTBCLENBQUMsQ0FBQztBQUcxRSw4Q0FBOEM7QUFDOUMsb0JBQW9CO0FBQ3BCLE1BQU0sWUFBWSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQztDQUFRLENBQUMsQ0FBQyxDQUFDO0FBRS9ELCtGQUErRjtBQU8vRixNQUFNLE9BQU8sT0FBUSxTQUFRLFlBQVk7SUF5Q3ZDLFlBQ29CLGVBQXVDO1FBQ3pELEtBQUssRUFBRSxDQUFDO1FBRFUsb0JBQWUsR0FBZixlQUFlLENBQXdCO1FBeEMzRCwwRUFBMEU7UUFDMUUsY0FBUyxHQUFHLElBQUksR0FBRyxFQUF1QixDQUFDO1FBRTNDLHNFQUFzRTtRQUM3RCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7UUFLN0M7OztXQUdHO1FBQ29CLFVBQUssR0FBbUIsS0FBSyxDQUFDO1FBWTdDLGVBQVUsR0FBa0IsRUFBRSxD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LFlBQVksRUFBRTtRQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7S0FBRTtJQUUxQyxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7Qm9vbGVhbklucHV0LCBjb2VyY2VCb29sZWFuUHJvcGVydHl9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbmplY3Rpb25Ub2tlbixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIE9wdGlvbmFsLFxuICBPdXRwdXQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ2FuRGlzYWJsZSxcbiAgSGFzSW5pdGlhbGl6ZWQsXG4gIG1peGluRGlzYWJsZWQsXG4gIG1peGluSW5pdGlhbGl6ZWQsXG59IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7U29ydERpcmVjdGlvbn0gZnJvbSAnLi9zb3J0LWRpcmVjdGlvbic7XG5pbXBvcnQge1xuICBnZXRTb3J0RHVwbGljYXRlU29ydGFibGVJZEVycm9yLFxuICBnZXRTb3J0SGVhZGVyTWlzc2luZ0lkRXJyb3IsXG4gIGdldFNvcnRJbnZhbGlkRGlyZWN0aW9uRXJyb3IsXG59IGZyb20gJy4vc29ydC1lcnJvcnMnO1xuXG4vKiogSW50ZXJmYWNlIGZvciBhIGRpcmVjdGl2ZSB0aGF0IGhvbGRzIHNvcnRpbmcgc3RhdGUgY29uc3VtZWQgYnkgYE1hdFNvcnRIZWFkZXJgLiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXRTb3J0YWJsZSB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNvbHVtbiBiZWluZyBzb3J0ZWQuICovXG4gIGlkOiBzdHJpbmc7XG5cbiAgLyoqIFN0YXJ0aW5nIHNvcnQgZGlyZWN0aW9uLiAqL1xuICBzdGFydDogJ2FzYycgfCAnZGVzYyc7XG5cbiAgLyoqIFdoZXRoZXIgdG8gZGlzYWJsZSBjbGVhcmluZyB0aGUgc29ydGluZyBzdGF0ZS4gKi9cbiAgZGlzYWJsZUNsZWFyOiBib29sZWFuO1xufVxuXG4vKiogVGhlIGN1cnJlbnQgc29ydCBzdGF0ZS4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU29ydCB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNvbHVtbiBiZWluZyBzb3J0ZWQuICovXG4gIGFjdGl2ZTogc3RyaW5nO1xuXG4gIC8qKiBUaGUgc29ydCBkaXJlY3Rpb24uICovXG4gIGRpcmVjdGlvbjogU29ydERpcmVjdGlvbjtcbn1cblxuLyoqIERlZmF1bHQgb3B0aW9ucyBmb3IgYG1hdC1zb3J0YC4gICovXG5leHBvcnQgaW50ZXJmYWNlIE1hdFNvcnREZWZhdWx0T3B0aW9ucyB7XG4gIC8qKiBXaGV0aGVyIHRvIGRpc2FibGUgY2xlYXJpbmcgdGhlIHNvcnRpbmcgc3RhdGUuICovXG4gIGRpc2FibGVDbGVhcj86IGJvb2xlYW47XG59XG5cbi8qKiBJbmplY3Rpb24gdG9rZW4gdG8gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgZGVmYXVsdCBvcHRpb25zIGZvciBgbWF0LXNvcnRgLiAqL1xuZXhwb3J0IGNvbnN0IE1BVF9TT1JUX0RFRkFVTFRfT1BUSU9OUyA9XG4gICAgbmV3IEluamVjdGlvblRva2VuPE1hdFNvcnREZWZhdWx0T3B0aW9ucz4oJ01BVF9TT1JUX0RFRkFVTFRfT1BUSU9OUycpO1xuXG5cbi8vIEJvaWxlcnBsYXRlIGZvciBhcHBseWluZyBtaXhpbnMgdG8gTWF0U29ydC5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5jb25zdCBfTWF0U29ydEJhc2UgPSBtaXhpbkluaXRpYWxpemVkKG1peGluRGlzYWJsZWQoY2xhc3Mge30pKTtcblxuLyoqIENvbnRhaW5lciBmb3IgTWF0U29ydGFibGVzIHRvIG1hbmFnZSB0aGUgc29ydCBzdGF0ZSBhbmQgcHJvdmlkZSBkZWZhdWx0IHNvcnQgcGFyYW1ldGVycy4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttYXRTb3J0XScsXG4gIGV4cG9ydEFzOiAnbWF0U29ydCcsXG4gIGhvc3Q6IHsnY2xhc3MnOiAnbWF0LXNvcnQnfSxcbiAgaW5wdXRzOiBbJ2Rpc2FibGVkOiBtYXRTb3J0RGlzYWJsZWQnXVxufSlcbmV4cG9ydCBjbGFzcyBNYXRTb3J0IGV4dGVuZHMgX01hdFNvcnRCYXNlXG4gICAgaW1wbGVtZW50cyBDYW5EaXNhYmxlLCBIYXNJbml0aWFsaXplZCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCB7XG4gIC8qKiBDb2xsZWN0aW9uIG9mIGFsbCByZWdpc3RlcmVkIHNvcnRhYmxlcyB0aGF0IHRoaXMgZGlyZWN0aXZlIG1hbmFnZXMuICovXG4gIHNvcnRhYmxlcyA9IG5ldyBNYXA8c3RyaW5nLCBNYXRTb3J0YWJsZT4oKTtcblxuICAvKiogVXNlZCB0byBub3RpZnkgYW55IGNoaWxkIGNvbXBvbmVudHMgbGlzdGVuaW5nIHRvIHN0YXRlIGNoYW5nZXMuICovXG4gIHJlYWRvbmx5IF9zdGF0ZUNoYW5nZXMgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qKiBUaGUgaWQgb2YgdGhlIG1vc3QgcmVjZW50bHkgc29ydGVkIE1hdFNvcnRhYmxlLiAqL1xuICBASW5wdXQoJ21hdFNvcnRBY3RpdmUnKSBhY3RpdmU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRpcmVjdGlvbiB0byBzZXQgd2hlbiBhbiBNYXRTb3J0YWJsZSBpcyBpbml0aWFsbHkgc29ydGVkLlxuICAgKiBNYXkgYmUgb3ZlcnJpZGVuIGJ5IHRoZSBNYXRTb3J0YWJsZSdzIHNvcnQgc3RhcnQuXG4gICAqL1xuICBASW5wdXQoJ21hdFNvcnRTdGFydCcpIHN0YXJ0OiAnYXNjJyB8ICdkZXNjJyA9ICdhc2MnO1xuXG4gIC8qKiBUaGUgc29ydCBkaXJlY3Rpb24gb2YgdGhlIGN1cnJlbnRseSBhY3RpdmUgTWF0U29ydGFibGUuICovXG4gIEBJbnB1dCgnbWF0U29ydERpcmVjdGlvbicpXG4gIGdldCBkaXJlY3Rpb24oKTogU29ydERpcmVjdGlvbiB7IHJldHVybiB0aGlzLl9kaXJlY3Rpb247IH1cbiAgc2V0IGRpcmVjdGlvbihkaXJlY3Rpb246IFNvcnREaXJlY3Rpb24pIHtcbiAgICBpZiAoZGlyZWN0aW9uICYmIGRpcmVjdGlvbiAhPT0gJ2FzYycgJiYgZGlyZWN0aW9uICE9PSAnZGVzYycgJiZcbiAgICAgICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpKSB7XG4gICAgICB0aHJvdyBnZXRTb3J0SW52YWxpZERpcmVjdGlvbkVycm9yKGRpcmVjdGlvbik7XG4gICAgfVxuICAgIHRoaXMuX2RpcmVjdGlvbiA9IGRpcmVjdGlvbjtcbiAgfVxuICBwcml2YXRlIF9kaXJlY3Rpb246IFNvcnREaXJlY3Rpb24gPSAnJztcblxuICAvKipcbiAgICogV2hldGhlciB0byBkaXNhYmxlIHRoZSB1c2VyIGZyb20gY2xlYXJpbmcgdGhlIHNvcnQgYnkgZmluaXNoaW5nIHRoZSBzb3J0IGRpcmVjdGlvbiBjeWNsZS5cbiAgICogTWF5IGJlIG92ZXJyaWRlbiBieSB0aGUgTWF0U29ydGFibGUncyBkaXNhYmxlIGNsZWFyIGlucHV0LlxuICAgKi9cbiAgQElucHV0KCdtYXRTb3J0RGlzYWJsZUNsZWFyJylcbiAgZ2V0IGRpc2FibGVDbGVhcigpOiBib29sZWFuIHsgcmV0dXJuIHRoaXMuX2Rpc2FibGVDbGVhcjsgfVxuICBzZXQgZGlzYWJsZUNsZWFyKHY6IGJvb2xlYW4pIHsgdGhpcy5fZGlzYWJsZUNsZWFyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHYpOyB9XG4gIHByaXZhdGUgX2Rpc2FibGVDbGVhcjogYm9vbGVhbjtcblxuICAvKiogRXZlbnQgZW1pdHRlZCB3aGVuIHRoZSB1c2VyIGNoYW5nZXMgZWl0aGVyIHRoZSBhY3RpdmUgc29ydCBvciBzb3J0IGRpcmVjdGlvbi4gKi9cbiAgQE91dHB1dCgnbWF0U29ydENoYW5nZScpIHJlYWRvbmx5IHNvcnRDaGFuZ2U6IEV2ZW50RW1pdHRlcjxTb3J0PiA9IG5ldyBFdmVudEVtaXR0ZXI8U29ydD4oKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KE1BVF9TT1JUX0RFRkFVTFRfT1BUSU9OUylcbiAgICAgICAgICAgICAgcHJpdmF0ZSBfZGVmYXVsdE9wdGlvbnM/OiBNYXRTb3J0RGVmYXVsdE9wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVyIGZ1bmN0aW9uIHRvIGJlIHVzZWQgYnkgdGhlIGNvbnRhaW5lZCBNYXRTb3J0YWJsZXMuIEFkZHMgdGhlIE1hdFNvcnRhYmxlIHRvIHRoZVxuICAgKiBjb2xsZWN0aW9uIG9mIE1hdFNvcnRhYmxlcy5cbiAgICovXG4gIHJlZ2lzdGVyKHNvcnRhYmxlOiBNYXRTb3J0YWJsZSk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgbmdEZXZNb2RlID09PSAndW5kZWZpbmVkJyB8fCBuZ0Rldk1vZGUpIHtcbiAgICAgIGlmICghc29ydGFibGUuaWQpIHtcbiAgICAgICAgdGhyb3cgZ2V0U29ydEhlYWRlck1pc3NpbmdJZEVycm9yKCk7XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLnNvcnRhYmxlcy5oYXMoc29ydGFibGUuaWQpKSB7XG4gICAgICAgIHRocm93IGdldFNvcnREdXBsaWNhdGVTb3J0YWJsZUlkRXJyb3Ioc29ydGFibGUuaWQpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuc29ydGFibGVzLnNldChzb3J0YWJsZS5pZCwgc29ydGFibGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIFVucmVnaXN0ZXIgZnVuY3Rpb24gdG8gYmUgdXNlZCBieSB0aGUgY29udGFpbmVkIE1hdFNvcnRhYmxlcy4gUmVtb3ZlcyB0aGUgTWF0U29ydGFibGUgZnJvbSB0aGVcbiAgICogY29sbGVjdGlvbiBvZiBjb250YWluZWQgTWF0U29ydGFibGVzLlxuICAgKi9cbiAgZGVyZWdpc3Rlcihzb3J0YWJsZTogTWF0U29ydGFibGUpOiB2b2lkIHtcbiAgICB0aGlzLnNvcnRhYmxlcy5kZWxldGUoc29ydGFibGUuaWQpO1xuICB9XG5cbiAgLyoqIFNldHMgdGhlIGFjdGl2ZSBzb3J0IGlkIGFuZCBkZXRlcm1pbmVzIHRoZSBuZXcgc29ydCBkaXJlY3Rpb24uICovXG4gIHNvcnQoc29ydGFibGU6IE1hdFNvcnRhYmxlKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuYWN0aXZlICE9IHNvcnRhYmxlLmlkKSB7XG4gICAgICB0aGlzLmFjdGl2ZSA9IHNvcnRhYmxlLmlkO1xuICAgICAgdGhpcy5kaXJlY3Rpb24gPSBzb3J0YWJsZS5zdGFydCA/IHNvcnRhYmxlLnN0YXJ0IDogdGhpcy5zdGFydDtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXJlY3Rpb24gPSB0aGlzLmdldE5leHRTb3J0RGlyZWN0aW9uKHNvcnRhYmxlKTtcbiAgICB9XG5cbiAgICB0aGlzLnNvcnRDaGFuZ2UuZW1pdCh7YWN0aXZlOiB0aGlzLmFjdGl2ZSwgZGlyZWN0aW9uOiB0aGlzLmRpcmVjdGlvbn0pO1xuICB9XG5cbiAgLyoqIFJldHVybnMgdGhlIG5leHQgc29ydCBkaXJlY3Rpb24gb2YgdGhlIGFjdGl2ZSBzb3J0YWJsZSwgY2hlY2tpbmcgZm9yIHBvdGVudGlhbCBvdmVycmlkZXMuICovXG4gIGdldE5leHRTb3J0RGlyZWN0aW9uKHNvcnRhYmxlOiBNYXRTb3J0YWJsZSk6IFNvcnREaXJlY3Rpb24ge1xuICAgIGlmICghc29ydGFibGUpIHsgcmV0dXJuICcnOyB9XG5cbiAgICAvLyBHZXQgdGhlIHNvcnQgZGlyZWN0aW9uIGN5Y2xlIHdpdGggdGhlIHBvdGVudGlhbCBzb3J0YWJsZSBvdmVycmlkZXMuXG4gICAgY29uc3QgZGlzYWJsZUNsZWFyID0gc29ydGFibGU/LmRpc2FibGVDbGVhciA/P1xuICAgICAgICB0aGlzLmRpc2FibGVDbGVhciA/PyAhIXRoaXMuX2RlZmF1bHRPcHRpb25zPy5kaXNhYmxlQ2xlYXI7XG4gICAgbGV0IHNvcnREaXJlY3Rpb25DeWNsZSA9IGdldFNvcnREaXJlY3Rpb25DeWNsZShzb3J0YWJsZS5zdGFydCB8fCB0aGlzLnN0YXJ0LCBkaXNhYmxlQ2xlYXIpO1xuXG4gICAgLy8gR2V0IGFuZCByZXR1cm4gdGhlIG5leHQgZGlyZWN0aW9uIGluIHRoZSBjeWNsZVxuICAgIGxldCBuZXh0RGlyZWN0aW9uSW5kZXggPSBzb3J0RGlyZWN0aW9uQ3ljbGUuaW5kZXhPZih0aGlzLmRpcmVjdGlvbikgKyAxO1xuICAgIGlmIChuZXh0RGlyZWN0aW9uSW5kZXggPj0gc29ydERpcmVjdGlvbkN5Y2xlLmxlbmd0aCkgeyBuZXh0RGlyZWN0aW9uSW5kZXggPSAwOyB9XG4gICAgcmV0dXJuIHNvcnREaXJlY3Rpb25DeWNsZVtuZXh0RGlyZWN0aW9uSW5kZXhdO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fbWFya0luaXRpYWxpemVkKCk7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpIHtcbiAgICB0aGlzLl9zdGF0ZUNoYW5nZXMubmV4dCgpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fc3RhdGVDaGFuZ2VzLmNvbXBsZXRlKCk7XG4gIH1cblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfZGlzYWJsZUNsZWFyOiBCb29sZWFuSW5wdXQ7XG4gIHN0YXRpYyBuZ0FjY2VwdElucHV0VHlwZV9kaXNhYmxlZDogQm9vbGVhbklucHV0O1xufVxuXG4vKiogUmV0dXJucyB0aGUgc29ydCBkaXJlY3Rpb24gY3ljbGUgdG8gdXNlIGdpdmVuIHRoZSBwcm92aWRlZCBwYXJhbWV0ZXJzIG9mIG9yZGVyIGFuZCBjbGVhci4gKi9cbmZ1bmN0aW9uIGdldFNvcnREaXJlY3Rpb25DeWNsZShzdGFydDogJ2FzYycgfCAnZGVzYycsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZUNsZWFyOiBib29sZWFuKTogU29ydERpcmVjdGlvbltdIHtcbiAgbGV0IHNvcnRPcmRlcjogU29ydERpcmVjdGlvbltdID0gWydhc2MnLCAnZGVzYyddO1xuICBpZiAoc3RhcnQgPT0gJ2Rlc2MnKSB7IHNvcnRPcmRlci5yZXZlcnNlKCk7IH1cbiAgaWYgKCFkaXNhYmxlQ2xlYXIpIHsgc29ydE9yZGVyLnB1c2goJycpOyB9XG5cbiAgcmV0dXJuIHNvcnRPcmRlcjtcbn1cbiJdfQ==
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.io/license
7
+ */
8
+ import { ComponentHarness, HarnessPredicate } from '@angular/cdk/testing';
9
+ import { MatSortHeaderHarness } from './sort-header-harness';
10
+ /** Harness for interacting with a standard `mat-sort` in tests. */
11
+ export class MatSortHarness extends ComponentHarness {
12
+ /**
13
+ * Gets a `HarnessPredicate` that can be used to search for a `mat-sort` with specific attributes.
14
+ * @param options Options for narrowing the search.
15
+ * @return a `HarnessPredicate` configured with the given options.
16
+ */
17
+ static with(options = {}) {
18
+ return new HarnessPredicate(MatSortHarness, options);
19
+ }
20
+ /** Gets all of the sort headers in the `mat-sort`. */
21
+ async getSortHeaders(filter = {}) {
22
+ return this.locatorForAll(MatSortHeaderHarness.with(filter))();
23
+ }
24
+ /** Gets the selected header in the `mat-sort`. */
25
+ async getActiveHeader() {
26
+ const headers = await this.getSortHeaders();
27
+ for (let i = 0; i < headers.length; i++) {
28
+ if (await headers[i].isActive()) {
29
+ return headers[i];
30
+ }
31
+ }
32
+ return null;
33
+ }
34
+ }
35
+ MatSortHarness.hostSelector = '.mat-sort';
36
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL3NvcnQvdGVzdGluZy9zb3J0LWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFFeEUsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFFM0QsbUVBQW1FO0FBQ25FLE1BQU0sT0FBTyxjQUFlLFNBQVEsZ0JBQWdCO0lBR2xEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQThCLEVBQUU7UUFDMUMsT0FBTyxJQUFJLGdCQUFnQixDQUFDLGNBQWMsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsc0RBQXNEO0lBQ3RELEtBQUssQ0FBQyxjQUFjLENBQUMsU0FBbUMsRUFBRTtRQUN4RCxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUNqRSxDQUFDO0lBRUQsa0RBQWtEO0lBQ2xELEtBQUssQ0FBQyxlQUFlO1FBQ25CLE1BQU0sT0FBTyxHQUFHLE1BQU0sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQzVDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUMsTUFBTSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3ZDLElBQUksTUFBTSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUU7Z0JBQy9CLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25CO1NBQ0Y7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7O0FBekJNLDJCQUFZLEdBQUcsV0FBVyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50SGFybmVzcywgSGFybmVzc1ByZWRpY2F0ZX0gZnJvbSAnQGFuZ3VsYXIvY2RrL3Rlc3RpbmcnO1xuaW1wb3J0IHtTb3J0SGFybmVzc0ZpbHRlcnMsIFNvcnRIZWFkZXJIYXJuZXNzRmlsdGVyc30gZnJvbSAnLi9zb3J0LWhhcm5lc3MtZmlsdGVycyc7XG5pbXBvcnQge01hdFNvcnRIZWFkZXJIYXJuZXNzfSBmcm9tICcuL3NvcnQtaGVhZGVyLWhhcm5lc3MnO1xuXG4vKiogSGFybmVzcyBmb3IgaW50ZXJhY3Rpbmcgd2l0aCBhIHN0YW5kYXJkIGBtYXQtc29ydGAgaW4gdGVzdHMuICovXG5leHBvcnQgY2xhc3MgTWF0U29ydEhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgc3RhdGljIGhvc3RTZWxlY3RvciA9ICcubWF0LXNvcnQnO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIGBtYXQtc29ydGAgd2l0aCBzcGVjaWZpYyBhdHRyaWJ1dGVzLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBuYXJyb3dpbmcgdGhlIHNlYXJjaC5cbiAgICogQHJldHVybiBhIGBIYXJuZXNzUHJlZGljYXRlYCBjb25maWd1cmVkIHdpdGggdGhlIGdpdmVuIG9wdGlvbnMuXG4gICAqL1xuICBzdGF0aWMgd2l0aChvcHRpb25zOiBTb3J0SGFybmVzc0ZpbHRlcnMgPSB7fSk6IEhhcm5lc3NQcmVkaWNhdGU8TWF0U29ydEhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoTWF0U29ydEhhcm5lc3MsIG9wdGlvbnMpO1xuICB9XG5cbiAgLyoqIEdldHMgYWxsIG9mIHRoZSBzb3J0IGhlYWRlcnMgaW4gdGhlIGBtYXQtc29ydGAuICovXG4gIGFzeW5jIGdldFNvcnRIZWFkZXJzKGZpbHRlcjogU29ydEhlYWRlckhhcm5lc3NGaWx0ZXJzID0ge30pOiBQcm9taXNlPE1hdFNvcnRIZWFkZXJIYXJuZXNzW10+IHtcbiAgICByZXR1cm4gdGhpcy5sb2NhdG9yRm9yQWxsKE1hdFNvcnRIZWFkZXJIYXJuZXNzLndpdGgoZmlsdGVyKSkoKTtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBzZWxlY3RlZCBoZWFkZXIgaW4gdGhlIGBtYXQtc29ydGAuICovXG4gIGFzeW5jIGdldEFjdGl2ZUhlYWRlcigpOiBQcm9taXNlPE1hdFNvcnRIZWFkZXJIYXJuZXNzfG51bGw+IHtcbiAgICBjb25zdCBoZWFkZXJzID0gYXdhaXQgdGhpcy5nZXRTb3J0SGVhZGVycygpO1xuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaGVhZGVycy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGF3YWl0IGhlYWRlcnNbaV0uaXNBY3RpdmUoKSkge1xuICAgICAgICByZXR1cm4gaGVhZGVyc1tpXTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==