@angular/material 13.0.0-next.4 → 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 (1684) 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 +19 -15
  9. package/badge/package.json +5 -5
  10. package/badge/testing/package.json +5 -5
  11. package/bottom-sheet/bottom-sheet-container.d.ts +6 -3
  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/color.d.ts +2 -6
  40. package/core/common-behaviors/common-module.d.ts +5 -4
  41. package/core/common-behaviors/disable-ripple.d.ts +2 -6
  42. package/core/common-behaviors/disabled.d.ts +2 -6
  43. package/core/common-behaviors/error-state.d.ts +2 -6
  44. package/core/common-behaviors/index.d.ts +7 -6
  45. package/core/common-behaviors/initialized.d.ts +2 -6
  46. package/core/common-behaviors/tabindex.d.ts +2 -6
  47. package/core/datetime/index.d.ts +8 -7
  48. package/core/datetime/native-date-adapter.d.ts +3 -0
  49. package/core/error/error-options.d.ts +5 -7
  50. package/core/index.d.ts +0 -1
  51. package/core/line/line.d.ts +7 -0
  52. package/core/option/index.d.ts +10 -7
  53. package/core/option/optgroup.d.ts +6 -1
  54. package/core/option/option.d.ts +5 -0
  55. package/core/package.json +5 -5
  56. package/core/ripple/index.d.ts +7 -7
  57. package/core/ripple/ripple.d.ts +3 -0
  58. package/core/selection/index.d.ts +6 -7
  59. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -7
  60. package/core/testing/package.json +5 -5
  61. package/core/typography/_typography.scss +7 -2
  62. package/datepicker/_datepicker-theme.scss +1 -4
  63. package/datepicker/calendar-body.d.ts +3 -0
  64. package/datepicker/calendar.d.ts +5 -0
  65. package/datepicker/date-range-input-parts.d.ts +8 -1
  66. package/datepicker/date-range-input.d.ts +3 -0
  67. package/datepicker/date-range-picker.d.ts +3 -7
  68. package/datepicker/date-range-selection-strategy.d.ts +3 -0
  69. package/datepicker/date-selection-model.d.ts +7 -0
  70. package/datepicker/datepicker-actions.d.ts +7 -0
  71. package/datepicker/datepicker-base.d.ts +7 -12
  72. package/datepicker/datepicker-input-base.d.ts +3 -0
  73. package/datepicker/datepicker-input.d.ts +3 -0
  74. package/datepicker/datepicker-intl.d.ts +3 -7
  75. package/datepicker/datepicker-module.d.ts +24 -7
  76. package/datepicker/datepicker-toggle.d.ts +5 -0
  77. package/datepicker/datepicker.d.ts +3 -7
  78. package/datepicker/index.d.ts +0 -4
  79. package/datepicker/month-view.d.ts +3 -7
  80. package/datepicker/multi-year-view.d.ts +3 -7
  81. package/datepicker/package.json +5 -5
  82. package/datepicker/testing/package.json +5 -5
  83. package/datepicker/year-view.d.ts +3 -7
  84. package/dialog/dialog-container.d.ts +5 -0
  85. package/dialog/dialog-content-directives.d.ts +9 -0
  86. package/dialog/dialog-module.d.ts +9 -7
  87. package/dialog/dialog.d.ts +5 -7
  88. package/dialog/package.json +5 -5
  89. package/dialog/testing/dialog-harness.d.ts +14 -11
  90. package/dialog/testing/package.json +5 -5
  91. package/divider/divider-module.d.ts +6 -7
  92. package/divider/divider.d.ts +3 -7
  93. package/divider/package.json +5 -5
  94. package/divider/testing/package.json +5 -5
  95. package/esm2020/autocomplete/autocomplete-module.mjs +58 -0
  96. package/esm2020/autocomplete/autocomplete-origin.mjs +38 -0
  97. package/esm2020/autocomplete/autocomplete-trigger.mjs +651 -0
  98. package/esm2020/autocomplete/autocomplete.mjs +216 -0
  99. package/{esm2015/autocomplete/index.js → esm2020/autocomplete/index.mjs} +0 -0
  100. package/{esm2015/autocomplete/public-api.js → esm2020/autocomplete/public-api.mjs} +0 -0
  101. package/{esm2015/autocomplete/testing/autocomplete-harness-filters.js → esm2020/autocomplete/testing/autocomplete-harness-filters.mjs} +0 -0
  102. package/esm2020/autocomplete/testing/autocomplete-harness.mjs +101 -0
  103. package/{esm2015/autocomplete/testing/index.js → esm2020/autocomplete/testing/index.mjs} +0 -0
  104. package/{esm2015/autocomplete/testing/public-api.js → esm2020/autocomplete/testing/public-api.mjs} +0 -0
  105. package/esm2020/badge/badge-module.mjs +33 -0
  106. package/esm2020/badge/badge.mjs +228 -0
  107. package/{esm2015/badge/index.js → esm2020/badge/index.mjs} +0 -0
  108. package/{esm2015/badge/public-api.js → esm2020/badge/public-api.mjs} +0 -0
  109. package/{esm2015/badge/testing/badge-harness-filters.js → esm2020/badge/testing/badge-harness-filters.mjs} +0 -0
  110. package/esm2020/badge/testing/badge-harness.mjs +72 -0
  111. package/{esm2015/badge/testing/index.js → esm2020/badge/testing/index.mjs} +0 -0
  112. package/{esm2015/badge/testing/public-api.js → esm2020/badge/testing/public-api.mjs} +0 -0
  113. package/{esm2015/bottom-sheet/bottom-sheet-animations.js → esm2020/bottom-sheet/bottom-sheet-animations.mjs} +0 -0
  114. package/{esm2015/bottom-sheet/bottom-sheet-config.js → esm2020/bottom-sheet/bottom-sheet-config.mjs} +0 -0
  115. package/esm2020/bottom-sheet/bottom-sheet-container.mjs +230 -0
  116. package/esm2020/bottom-sheet/bottom-sheet-module.mjs +38 -0
  117. package/esm2020/bottom-sheet/bottom-sheet-ref.mjs +91 -0
  118. package/esm2020/bottom-sheet/bottom-sheet.mjs +172 -0
  119. package/{esm2015/bottom-sheet/index.js → esm2020/bottom-sheet/index.mjs} +0 -0
  120. package/{esm2015/bottom-sheet/public-api.js → esm2020/bottom-sheet/public-api.mjs} +0 -0
  121. package/{esm2015/bottom-sheet/testing/bottom-sheet-harness-filters.js → esm2020/bottom-sheet/testing/bottom-sheet-harness-filters.mjs} +0 -0
  122. package/esm2020/bottom-sheet/testing/bottom-sheet-harness.mjs +35 -0
  123. package/{esm2015/bottom-sheet/testing/index.js → esm2020/bottom-sheet/testing/index.mjs} +0 -0
  124. package/{esm2015/bottom-sheet/testing/public-api.js → esm2020/bottom-sheet/testing/public-api.mjs} +0 -0
  125. package/esm2020/button/button-module.mjs +42 -0
  126. package/esm2020/button/button.mjs +153 -0
  127. package/{esm2015/button/index.js → esm2020/button/index.mjs} +0 -0
  128. package/{esm2015/button/public-api.js → esm2020/button/public-api.mjs} +0 -0
  129. package/{esm2015/button/testing/button-harness-filters.js → esm2020/button/testing/button-harness-filters.mjs} +0 -0
  130. package/esm2020/button/testing/button-harness.mjs +51 -0
  131. package/{esm2015/button/testing/index.js → esm2020/button/testing/index.mjs} +0 -0
  132. package/{esm2015/button/testing/public-api.js → esm2020/button/testing/public-api.mjs} +0 -0
  133. package/esm2020/button-toggle/button-toggle-module.mjs +25 -0
  134. package/esm2020/button-toggle/button-toggle.mjs +470 -0
  135. package/{esm2015/button-toggle/index.js → esm2020/button-toggle/index.mjs} +0 -0
  136. package/{esm2015/button-toggle/public-api.js → esm2020/button-toggle/public-api.mjs} +0 -0
  137. package/{esm2015/button-toggle/testing/button-toggle-group-harness-filters.js → esm2020/button-toggle/testing/button-toggle-group-harness-filters.mjs} +0 -0
  138. package/esm2020/button-toggle/testing/button-toggle-group-harness.mjs +45 -0
  139. package/{esm2015/button-toggle/testing/button-toggle-harness-filters.js → esm2020/button-toggle/testing/button-toggle-harness-filters.mjs} +0 -0
  140. package/esm2020/button-toggle/testing/button-toggle-harness.mjs +98 -0
  141. package/{esm2015/button-toggle/testing/index.js → esm2020/button-toggle/testing/index.mjs} +0 -0
  142. package/{esm2015/button-toggle/testing/public-api.js → esm2020/button-toggle/testing/public-api.mjs} +0 -0
  143. package/esm2020/card/card-module.mjs +61 -0
  144. package/esm2020/card/card.mjs +247 -0
  145. package/{esm2015/card/index.js → esm2020/card/index.mjs} +0 -0
  146. package/{esm2015/card/public-api.js → esm2020/card/public-api.mjs} +0 -0
  147. package/{esm2015/card/testing/card-harness-filters.js → esm2020/card/testing/card-harness-filters.mjs} +0 -0
  148. package/esm2020/card/testing/card-harness.mjs +43 -0
  149. package/{esm2015/card/testing/index.js → esm2020/card/testing/index.mjs} +0 -0
  150. package/{esm2015/card/testing/public-api.js → esm2020/card/testing/public-api.mjs} +0 -0
  151. package/{esm2015/checkbox/checkbox-config.js → esm2020/checkbox/checkbox-config.mjs} +0 -0
  152. package/esm2020/checkbox/checkbox-module.mjs +46 -0
  153. package/esm2020/checkbox/checkbox-required-validator.mjs +33 -0
  154. package/esm2020/checkbox/checkbox.mjs +403 -0
  155. package/{esm2015/checkbox/index.js → esm2020/checkbox/index.mjs} +0 -0
  156. package/{esm2015/checkbox/public-api.js → esm2020/checkbox/public-api.mjs} +0 -0
  157. package/{esm2015/checkbox/testing/checkbox-harness-filters.js → esm2020/checkbox/testing/checkbox-harness-filters.mjs} +0 -0
  158. package/esm2020/checkbox/testing/checkbox-harness.mjs +123 -0
  159. package/{esm2015/checkbox/testing/index.js → esm2020/checkbox/testing/index.mjs} +0 -0
  160. package/{esm2015/checkbox/testing/public-api.js → esm2020/checkbox/testing/public-api.mjs} +0 -0
  161. package/{esm2015/chips/chip-default-options.js → esm2020/chips/chip-default-options.mjs} +0 -0
  162. package/esm2020/chips/chip-input.mjs +192 -0
  163. package/esm2020/chips/chip-list.mjs +673 -0
  164. package/{esm2015/chips/chip-text-control.js → esm2020/chips/chip-text-control.mjs} +0 -0
  165. package/esm2020/chips/chip.mjs +415 -0
  166. package/esm2020/chips/chips-module.mjs +64 -0
  167. package/{esm2015/chips/index.js → esm2020/chips/index.mjs} +0 -0
  168. package/{esm2015/chips/public-api.js → esm2020/chips/public-api.mjs} +0 -0
  169. package/{esm2015/chips/testing/chip-avatar-harness.js → esm2020/chips/testing/chip-avatar-harness.mjs} +0 -0
  170. package/{esm2015/chips/testing/chip-harness-filters.js → esm2020/chips/testing/chip-harness-filters.mjs} +0 -0
  171. package/esm2020/chips/testing/chip-harness.mjs +91 -0
  172. package/esm2020/chips/testing/chip-input-harness.mjs +82 -0
  173. package/esm2020/chips/testing/chip-list-harness.mjs +82 -0
  174. package/esm2020/chips/testing/chip-listbox-harness.mjs +44 -0
  175. package/esm2020/chips/testing/chip-option-harness.mjs +45 -0
  176. package/esm2020/chips/testing/chip-remove-harness.mjs +26 -0
  177. package/{esm2015/chips/testing/index.js → esm2020/chips/testing/index.mjs} +0 -0
  178. package/{esm2015/chips/testing/public-api.js → esm2020/chips/testing/public-api.mjs} +0 -0
  179. package/{esm2015/core/animation/animation.js → esm2020/core/animation/animation.mjs} +0 -0
  180. package/esm2020/core/common-behaviors/color.mjs +31 -0
  181. package/esm2020/core/common-behaviors/common-module.mjs +122 -0
  182. package/{esm2015/core/common-behaviors/constructor.js → esm2020/core/common-behaviors/constructor.mjs} +0 -0
  183. package/esm2020/core/common-behaviors/disable-ripple.mjs +20 -0
  184. package/esm2020/core/common-behaviors/disabled.mjs +19 -0
  185. package/esm2020/core/common-behaviors/error-state.mjs +36 -0
  186. package/esm2020/core/common-behaviors/index.mjs +15 -0
  187. package/esm2020/core/common-behaviors/initialized.mjs +58 -0
  188. package/esm2020/core/common-behaviors/tabindex.mjs +23 -0
  189. package/{esm2015/core/datetime/date-adapter.js → esm2020/core/datetime/date-adapter.mjs} +0 -0
  190. package/{esm2015/core/datetime/date-formats.js → esm2020/core/datetime/date-formats.mjs} +0 -0
  191. package/esm2020/core/datetime/index.mjs +47 -0
  192. package/esm2020/core/datetime/native-date-adapter.mjs +218 -0
  193. package/{esm2015/core/datetime/native-date-formats.js → esm2020/core/datetime/native-date-formats.mjs} +0 -0
  194. package/esm2020/core/error/error-options.mjs +33 -0
  195. package/esm2020/core/index.mjs +5 -0
  196. package/esm2020/core/line/line.mjs +64 -0
  197. package/esm2020/core/option/index.mjs +32 -0
  198. package/esm2020/core/option/optgroup.mjs +73 -0
  199. package/{esm2015/core/option/option-parent.js → esm2020/core/option/option-parent.mjs} +0 -0
  200. package/esm2020/core/option/option.mjs +276 -0
  201. package/{esm2015/core/public-api.js → esm2020/core/public-api.mjs} +0 -0
  202. package/esm2020/core/ripple/index.mjs +29 -0
  203. package/{esm2015/core/ripple/ripple-ref.js → esm2020/core/ripple/ripple-ref.mjs} +0 -0
  204. package/esm2020/core/ripple/ripple-renderer.mjs +261 -0
  205. package/esm2020/core/ripple/ripple.mjs +152 -0
  206. package/esm2020/core/selection/index.mjs +26 -0
  207. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +54 -0
  208. package/{esm2015/core/testing/index.js → esm2020/core/testing/index.mjs} +0 -0
  209. package/{esm2015/core/testing/optgroup-harness-filters.js → esm2020/core/testing/optgroup-harness-filters.mjs} +0 -0
  210. package/esm2020/core/testing/optgroup-harness.mjs +44 -0
  211. package/{esm2015/core/testing/option-harness-filters.js → esm2020/core/testing/option-harness-filters.mjs} +0 -0
  212. package/esm2020/core/testing/option-harness.mjs +54 -0
  213. package/{esm2015/core/testing/public-api.js → esm2020/core/testing/public-api.mjs} +0 -0
  214. package/esm2020/core/version.mjs +11 -0
  215. package/esm2020/datepicker/calendar-body.mjs +298 -0
  216. package/esm2020/datepicker/calendar.mjs +354 -0
  217. package/esm2020/datepicker/date-range-input-parts.mjs +342 -0
  218. package/esm2020/datepicker/date-range-input.mjs +331 -0
  219. package/esm2020/datepicker/date-range-picker.mjs +48 -0
  220. package/esm2020/datepicker/date-range-selection-strategy.mjs +59 -0
  221. package/esm2020/datepicker/date-selection-model.mjs +187 -0
  222. package/esm2020/datepicker/datepicker-actions.mjs +89 -0
  223. package/{esm2015/datepicker/datepicker-animations.js → esm2020/datepicker/datepicker-animations.mjs} +0 -0
  224. package/esm2020/datepicker/datepicker-base.mjs +549 -0
  225. package/{esm2015/datepicker/datepicker-errors.js → esm2020/datepicker/datepicker-errors.mjs} +0 -0
  226. package/esm2020/datepicker/datepicker-input-base.mjs +298 -0
  227. package/esm2020/datepicker/datepicker-input.mjs +183 -0
  228. package/esm2020/datepicker/datepicker-intl.mjs +53 -0
  229. package/esm2020/datepicker/datepicker-module.mjs +148 -0
  230. package/esm2020/datepicker/datepicker-toggle.mjs +113 -0
  231. package/esm2020/datepicker/datepicker.mjs +37 -0
  232. package/esm2020/datepicker/index.mjs +5 -0
  233. package/esm2020/datepicker/month-view.mjs +364 -0
  234. package/esm2020/datepicker/multi-year-view.mjs +289 -0
  235. package/{esm2015/datepicker/public-api.js → esm2020/datepicker/public-api.mjs} +0 -0
  236. package/esm2020/datepicker/testing/calendar-cell-harness.mjs +138 -0
  237. package/esm2020/datepicker/testing/calendar-harness.mjs +76 -0
  238. package/esm2020/datepicker/testing/date-range-input-harness.mjs +99 -0
  239. package/{esm2015/datepicker/testing/datepicker-harness-filters.js → esm2020/datepicker/testing/datepicker-harness-filters.mjs} +0 -0
  240. package/esm2020/datepicker/testing/datepicker-input-harness-base.mjs +81 -0
  241. package/esm2020/datepicker/testing/datepicker-input-harness.mjs +58 -0
  242. package/esm2020/datepicker/testing/datepicker-toggle-harness.mjs +41 -0
  243. package/esm2020/datepicker/testing/datepicker-trigger-harness-base.mjs +65 -0
  244. package/{esm2015/datepicker/testing/index.js → esm2020/datepicker/testing/index.mjs} +0 -0
  245. package/{esm2015/datepicker/testing/public-api.js → esm2020/datepicker/testing/public-api.mjs} +0 -0
  246. package/esm2020/datepicker/year-view.mjs +281 -0
  247. package/{esm2015/dialog/dialog-animations.js → esm2020/dialog/dialog-animations.mjs} +0 -0
  248. package/{esm2015/dialog/dialog-config.js → esm2020/dialog/dialog-config.mjs} +0 -0
  249. package/esm2020/dialog/dialog-container.mjs +282 -0
  250. package/esm2020/dialog/dialog-content-directives.mjs +172 -0
  251. package/esm2020/dialog/dialog-module.mjs +69 -0
  252. package/esm2020/dialog/dialog-ref.mjs +196 -0
  253. package/esm2020/dialog/dialog.mjs +358 -0
  254. package/{esm2015/dialog/index.js → esm2020/dialog/index.mjs} +0 -0
  255. package/{esm2015/dialog/public-api.js → esm2020/dialog/public-api.mjs} +0 -0
  256. package/{esm2015/dialog/testing/dialog-harness-filters.js → esm2020/dialog/testing/dialog-harness-filters.mjs} +0 -0
  257. package/esm2020/dialog/testing/dialog-harness.mjs +83 -0
  258. package/{esm2015/dialog/testing/index.js → esm2020/dialog/testing/index.mjs} +0 -0
  259. package/{esm2015/dialog/testing/public-api.js → esm2020/dialog/testing/public-api.mjs} +0 -0
  260. package/esm2020/divider/divider-module.mjs +25 -0
  261. package/esm2020/divider/divider.mjs +40 -0
  262. package/{esm2015/divider/index.js → esm2020/divider/index.mjs} +0 -0
  263. package/{esm2015/divider/public-api.js → esm2020/divider/public-api.mjs} +0 -0
  264. package/{esm2015/divider/testing/divider-harness-filters.js → esm2020/divider/testing/divider-harness-filters.mjs} +0 -0
  265. package/esm2020/divider/testing/divider-harness.mjs +22 -0
  266. package/{esm2015/divider/testing/index.js → esm2020/divider/testing/index.mjs} +0 -0
  267. package/{esm2015/divider/testing/public-api.js → esm2020/divider/testing/public-api.mjs} +0 -0
  268. package/{esm2015/expansion/accordion-base.js → esm2020/expansion/accordion-base.mjs} +0 -0
  269. package/esm2020/expansion/accordion.mjs +93 -0
  270. package/{esm2015/expansion/expansion-animations.js → esm2020/expansion/expansion-animations.mjs} +0 -0
  271. package/esm2020/expansion/expansion-module.mjs +59 -0
  272. package/esm2020/expansion/expansion-panel-content.mjs +27 -0
  273. package/esm2020/expansion/expansion-panel-header.mjs +226 -0
  274. package/esm2020/expansion/expansion-panel.mjs +195 -0
  275. package/{esm2015/expansion/index.js → esm2020/expansion/index.mjs} +0 -0
  276. package/{esm2015/expansion/public-api.js → esm2020/expansion/public-api.mjs} +0 -0
  277. package/esm2020/expansion/testing/accordion-harness.mjs +31 -0
  278. package/{esm2015/expansion/testing/expansion-harness-filters.js → esm2020/expansion/testing/expansion-harness-filters.mjs} +0 -0
  279. package/esm2020/expansion/testing/expansion-harness.mjs +120 -0
  280. package/{esm2015/expansion/testing/index.js → esm2020/expansion/testing/index.mjs} +0 -0
  281. package/{esm2015/expansion/testing/public-api.js → esm2020/expansion/testing/public-api.mjs} +0 -0
  282. package/esm2020/form-field/error.mjs +47 -0
  283. package/{esm2015/form-field/form-field-animations.js → esm2020/form-field/form-field-animations.mjs} +0 -0
  284. package/esm2020/form-field/form-field-control.mjs +11 -0
  285. package/{esm2015/form-field/form-field-errors.js → esm2020/form-field/form-field-errors.mjs} +0 -0
  286. package/esm2020/form-field/form-field-module.mjs +73 -0
  287. package/esm2020/form-field/form-field.mjs +510 -0
  288. package/esm2020/form-field/hint.mjs +49 -0
  289. package/{esm2015/form-field/index.js → esm2020/form-field/index.mjs} +0 -0
  290. package/esm2020/form-field/label.mjs +21 -0
  291. package/esm2020/form-field/placeholder.mjs +26 -0
  292. package/esm2020/form-field/prefix.mjs +28 -0
  293. package/{esm2015/form-field/public-api.js → esm2020/form-field/public-api.mjs} +0 -0
  294. package/esm2020/form-field/suffix.mjs +28 -0
  295. package/{esm2015/form-field/testing/control/form-field-control-harness.js → esm2020/form-field/testing/control/form-field-control-harness.mjs} +0 -0
  296. package/{esm2015/form-field/testing/control/index.js → esm2020/form-field/testing/control/index.mjs} +0 -0
  297. package/{esm2015/form-field/testing/form-field-harness-filters.js → esm2020/form-field/testing/form-field-harness-filters.mjs} +0 -0
  298. package/esm2020/form-field/testing/form-field-harness.mjs +181 -0
  299. package/{esm2015/form-field/testing/index.js → esm2020/form-field/testing/index.mjs} +0 -0
  300. package/{esm2015/form-field/testing/public-api.js → esm2020/form-field/testing/public-api.mjs} +0 -0
  301. package/{esm2015/grid-list/grid-list-base.js → esm2020/grid-list/grid-list-base.mjs} +0 -0
  302. package/esm2020/grid-list/grid-list-module.mjs +55 -0
  303. package/esm2020/grid-list/grid-list.mjs +135 -0
  304. package/esm2020/grid-list/grid-tile.mjs +117 -0
  305. package/esm2020/grid-list/index.mjs +5 -0
  306. package/{esm2015/grid-list/public-api.js → esm2020/grid-list/public-api.mjs} +0 -0
  307. package/{esm2015/grid-list/testing/grid-list-harness-filters.js → esm2020/grid-list/testing/grid-list-harness-filters.mjs} +0 -0
  308. package/esm2020/grid-list/testing/grid-list-harness.mjs +72 -0
  309. package/esm2020/grid-list/testing/grid-tile-harness.mjs +65 -0
  310. package/{esm2015/grid-list/testing/index.js → esm2020/grid-list/testing/index.mjs} +0 -0
  311. package/{esm2015/grid-list/testing/public-api.js → esm2020/grid-list/testing/public-api.mjs} +0 -0
  312. package/{esm2015/grid-list/tile-coordinator.js → esm2020/grid-list/tile-coordinator.mjs} +0 -0
  313. package/{esm2015/grid-list/tile-styler.js → esm2020/grid-list/tile-styler.mjs} +0 -0
  314. package/{esm2015/icon/fake-svgs.js → esm2020/icon/fake-svgs.mjs} +0 -0
  315. package/esm2020/icon/icon-module.mjs +25 -0
  316. package/esm2020/icon/icon-registry.mjs +582 -0
  317. package/esm2020/icon/icon.mjs +357 -0
  318. package/{esm2015/icon/index.js → esm2020/icon/index.mjs} +0 -0
  319. package/{esm2015/icon/public-api.js → esm2020/icon/public-api.mjs} +0 -0
  320. package/esm2020/icon/testing/fake-icon-registry.mjs +92 -0
  321. package/{esm2015/icon/testing/icon-harness-filters.js → esm2020/icon/testing/icon-harness-filters.mjs} +0 -0
  322. package/esm2020/icon/testing/icon-harness.mjs +54 -0
  323. package/{esm2015/icon/testing/index.js → esm2020/icon/testing/index.mjs} +0 -0
  324. package/{esm2015/icon/testing/public-api.js → esm2020/icon/testing/public-api.mjs} +0 -0
  325. package/esm2020/icon/trusted-types.mjs +43 -0
  326. package/{esm2015/index.js → esm2020/index.mjs} +0 -0
  327. package/{esm2015/input/index.js → esm2020/input/index.mjs} +0 -0
  328. package/{esm2015/input/input-errors.js → esm2020/input/input-errors.mjs} +0 -0
  329. package/esm2020/input/input-module.mjs +51 -0
  330. package/{esm2015/input/input-value-accessor.js → esm2020/input/input-value-accessor.mjs} +0 -0
  331. package/esm2020/input/input.mjs +428 -0
  332. package/esm2020/input/public-api.mjs +12 -0
  333. package/{esm2015/input/testing/index.js → esm2020/input/testing/index.mjs} +0 -0
  334. package/{esm2015/input/testing/input-harness-filters.js → esm2020/input/testing/input-harness-filters.mjs} +0 -0
  335. package/esm2020/input/testing/input-harness.mjs +113 -0
  336. package/esm2020/input/testing/native-option-harness.mjs +42 -0
  337. package/{esm2015/input/testing/native-select-harness-filters.js → esm2020/input/testing/native-select-harness-filters.mjs} +0 -0
  338. package/esm2020/input/testing/native-select-harness.mjs +79 -0
  339. package/{esm2015/input/testing/public-api.js → esm2020/input/testing/public-api.mjs} +0 -0
  340. package/{esm2015/list/index.js → esm2020/list/index.mjs} +0 -0
  341. package/esm2020/list/list-module.mjs +71 -0
  342. package/esm2020/list/list.mjs +216 -0
  343. package/{esm2015/list/public-api.js → esm2020/list/public-api.mjs} +0 -0
  344. package/esm2020/list/selection-list.mjs +612 -0
  345. package/esm2020/list/testing/action-list-harness.mjs +59 -0
  346. package/{esm2015/list/testing/index.js → esm2020/list/testing/index.mjs} +0 -0
  347. package/esm2020/list/testing/list-harness-base.mjs +88 -0
  348. package/{esm2015/list/testing/list-harness-filters.js → esm2020/list/testing/list-harness-filters.mjs} +0 -0
  349. package/{esm2015/list/testing/list-harness.js → esm2020/list/testing/list-harness.mjs} +0 -0
  350. package/esm2020/list/testing/list-item-harness-base.mjs +72 -0
  351. package/esm2020/list/testing/nav-list-harness.mjs +64 -0
  352. package/{esm2015/list/testing/public-api.js → esm2020/list/testing/public-api.mjs} +0 -0
  353. package/esm2020/list/testing/selection-list-harness.mjs +125 -0
  354. package/esm2020/menu/index.mjs +5 -0
  355. package/{esm2015/menu/menu-animations.js → esm2020/menu/menu-animations.mjs} +0 -0
  356. package/esm2020/menu/menu-content.mjs +97 -0
  357. package/{esm2015/menu/menu-errors.js → esm2020/menu/menu-errors.mjs} +0 -0
  358. package/esm2020/menu/menu-item.mjs +164 -0
  359. package/esm2020/menu/menu-module.mjs +58 -0
  360. package/{esm2015/menu/menu-panel.js → esm2020/menu/menu-panel.mjs} +0 -0
  361. package/{esm2015/menu/menu-positions.js → esm2020/menu/menu-positions.mjs} +0 -0
  362. package/esm2020/menu/menu-trigger.mjs +540 -0
  363. package/esm2020/menu/menu.mjs +401 -0
  364. package/esm2020/menu/public-api.mjs +16 -0
  365. package/{esm2015/menu/testing/index.js → esm2020/menu/testing/index.mjs} +0 -0
  366. package/{esm2015/menu/testing/menu-harness-filters.js → esm2020/menu/testing/menu-harness-filters.mjs} +0 -0
  367. package/esm2020/menu/testing/menu-harness.mjs +183 -0
  368. package/{esm2015/menu/testing/public-api.js → esm2020/menu/testing/public-api.mjs} +0 -0
  369. package/{esm2015/paginator/index.js → esm2020/paginator/index.mjs} +0 -0
  370. package/esm2020/paginator/paginator-intl.mjs +64 -0
  371. package/esm2020/paginator/paginator-module.mjs +47 -0
  372. package/esm2020/paginator/paginator.mjs +268 -0
  373. package/{esm2015/paginator/public-api.js → esm2020/paginator/public-api.mjs} +0 -0
  374. package/{esm2015/paginator/testing/index.js → esm2020/paginator/testing/index.mjs} +0 -0
  375. package/{esm2015/paginator/testing/paginator-harness-filters.js → esm2020/paginator/testing/paginator-harness-filters.mjs} +0 -0
  376. package/esm2020/paginator/testing/paginator-harness.mjs +91 -0
  377. package/{esm2015/paginator/testing/public-api.js → esm2020/paginator/testing/public-api.mjs} +0 -0
  378. package/{esm2015/progress-bar/index.js → esm2020/progress-bar/index.mjs} +0 -0
  379. package/esm2020/progress-bar/progress-bar-module.mjs +26 -0
  380. package/esm2020/progress-bar/progress-bar.mjs +187 -0
  381. package/{esm2015/progress-bar/public-api.js → esm2020/progress-bar/public-api.mjs} +0 -0
  382. package/{esm2015/progress-bar/testing/index.js → esm2020/progress-bar/testing/index.mjs} +0 -0
  383. package/{esm2015/progress-bar/testing/progress-bar-harness-filters.js → esm2020/progress-bar/testing/progress-bar-harness-filters.mjs} +0 -0
  384. package/esm2020/progress-bar/testing/progress-bar-harness.mjs +34 -0
  385. package/{esm2015/progress-bar/testing/public-api.js → esm2020/progress-bar/testing/public-api.mjs} +0 -0
  386. package/{esm2015/progress-spinner/index.js → esm2020/progress-spinner/index.mjs} +0 -0
  387. package/esm2020/progress-spinner/progress-spinner-module.mjs +36 -0
  388. package/esm2020/progress-spinner/progress-spinner.mjs +280 -0
  389. package/{esm2015/progress-spinner/public-api.js → esm2020/progress-spinner/public-api.mjs} +0 -0
  390. package/{esm2015/progress-spinner/testing/index.js → esm2020/progress-spinner/testing/index.mjs} +0 -0
  391. package/{esm2015/progress-spinner/testing/progress-spinner-harness-filters.js → esm2020/progress-spinner/testing/progress-spinner-harness-filters.mjs} +0 -0
  392. package/esm2020/progress-spinner/testing/progress-spinner-harness.mjs +35 -0
  393. package/{esm2015/progress-spinner/testing/public-api.js → esm2020/progress-spinner/testing/public-api.mjs} +0 -0
  394. package/{esm2015/radio/index.js → esm2020/radio/index.mjs} +0 -0
  395. package/{esm2015/radio/public-api.js → esm2020/radio/public-api.mjs} +0 -0
  396. package/esm2020/radio/radio-module.mjs +25 -0
  397. package/esm2020/radio/radio.mjs +570 -0
  398. package/{esm2015/radio/testing/index.js → esm2020/radio/testing/index.mjs} +0 -0
  399. package/{esm2015/radio/testing/public-api.js → esm2020/radio/testing/public-api.mjs} +0 -0
  400. package/{esm2015/radio/testing/radio-harness-filters.js → esm2020/radio/testing/radio-harness-filters.mjs} +0 -0
  401. package/esm2020/radio/testing/radio-harness.mjs +231 -0
  402. package/{esm2015/select/index.js → esm2020/select/index.mjs} +0 -0
  403. package/{esm2015/select/public-api.js → esm2020/select/public-api.mjs} +0 -0
  404. package/{esm2015/select/select-animations.js → esm2020/select/select-animations.mjs} +0 -0
  405. package/{esm2015/select/select-errors.js → esm2020/select/select-errors.mjs} +0 -0
  406. package/esm2020/select/select-module.mjs +58 -0
  407. package/esm2020/select/select.mjs +1188 -0
  408. package/{esm2015/select/testing/index.js → esm2020/select/testing/index.mjs} +0 -0
  409. package/{esm2015/select/testing/public-api.js → esm2020/select/testing/public-api.mjs} +0 -0
  410. package/{esm2015/select/testing/select-harness-filters.js → esm2020/select/testing/select-harness-filters.mjs} +0 -0
  411. package/esm2020/select/testing/select-harness.mjs +130 -0
  412. package/{esm2015/sidenav/drawer-animations.js → esm2020/sidenav/drawer-animations.mjs} +0 -0
  413. package/esm2020/sidenav/drawer.mjs +788 -0
  414. package/esm2020/sidenav/index.mjs +5 -0
  415. package/{esm2015/sidenav/public-api.js → esm2020/sidenav/public-api.mjs} +0 -0
  416. package/esm2020/sidenav/sidenav-module.mjs +71 -0
  417. package/esm2020/sidenav/sidenav.mjs +115 -0
  418. package/esm2020/sidenav/testing/drawer-container-harness.mjs +36 -0
  419. package/{esm2015/sidenav/testing/drawer-content-harness.js → esm2020/sidenav/testing/drawer-content-harness.mjs} +0 -0
  420. package/{esm2015/sidenav/testing/drawer-harness-filters.js → esm2020/sidenav/testing/drawer-harness-filters.mjs} +0 -0
  421. package/esm2020/sidenav/testing/drawer-harness.mjs +50 -0
  422. package/{esm2015/sidenav/testing/index.js → esm2020/sidenav/testing/index.mjs} +0 -0
  423. package/{esm2015/sidenav/testing/public-api.js → esm2020/sidenav/testing/public-api.mjs} +0 -0
  424. package/esm2020/sidenav/testing/sidenav-container-harness.mjs +36 -0
  425. package/{esm2015/sidenav/testing/sidenav-content-harness.js → esm2020/sidenav/testing/sidenav-content-harness.mjs} +0 -0
  426. package/esm2020/sidenav/testing/sidenav-harness.mjs +29 -0
  427. package/{esm2015/slide-toggle/index.js → esm2020/slide-toggle/index.mjs} +0 -0
  428. package/{esm2015/slide-toggle/public-api.js → esm2020/slide-toggle/public-api.mjs} +0 -0
  429. package/{esm2015/slide-toggle/slide-toggle-config.js → esm2020/slide-toggle/slide-toggle-config.mjs} +0 -0
  430. package/esm2020/slide-toggle/slide-toggle-module.mjs +57 -0
  431. package/esm2020/slide-toggle/slide-toggle-required-validator.mjs +36 -0
  432. package/esm2020/slide-toggle/slide-toggle.mjs +253 -0
  433. package/{esm2015/slide-toggle/testing/index.js → esm2020/slide-toggle/testing/index.mjs} +0 -0
  434. package/{esm2015/slide-toggle/testing/public-api.js → esm2020/slide-toggle/testing/public-api.mjs} +0 -0
  435. package/{esm2015/slide-toggle/testing/slide-toggle-harness-filters.js → esm2020/slide-toggle/testing/slide-toggle-harness-filters.mjs} +0 -0
  436. package/esm2020/slide-toggle/testing/slide-toggle-harness.mjs +110 -0
  437. package/{esm2015/slider/index.js → esm2020/slider/index.mjs} +0 -0
  438. package/{esm2015/slider/public-api.js → esm2020/slider/public-api.mjs} +0 -0
  439. package/esm2020/slider/slider-module.mjs +26 -0
  440. package/esm2020/slider/slider.mjs +801 -0
  441. package/{esm2015/slider/testing/index.js → esm2020/slider/testing/index.mjs} +0 -0
  442. package/{esm2015/slider/testing/public-api.js → esm2020/slider/testing/public-api.mjs} +0 -0
  443. package/{esm2015/slider/testing/slider-harness-filters.js → esm2020/slider/testing/slider-harness-filters.mjs} +0 -0
  444. package/esm2020/slider/testing/slider-harness.mjs +114 -0
  445. package/{esm2015/snack-bar/index.js → esm2020/snack-bar/index.mjs} +0 -0
  446. package/{esm2015/snack-bar/public-api.js → esm2020/snack-bar/public-api.mjs} +0 -0
  447. package/esm2020/snack-bar/simple-snack-bar.mjs +44 -0
  448. package/{esm2015/snack-bar/snack-bar-animations.js → esm2020/snack-bar/snack-bar-animations.mjs} +0 -0
  449. package/{esm2015/snack-bar/snack-bar-config.js → esm2020/snack-bar/snack-bar-config.mjs} +0 -0
  450. package/esm2020/snack-bar/snack-bar-container.mjs +205 -0
  451. package/esm2020/snack-bar/snack-bar-module.mjs +47 -0
  452. package/esm2020/snack-bar/snack-bar-ref.mjs +90 -0
  453. package/esm2020/snack-bar/snack-bar.mjs +265 -0
  454. package/{esm2015/snack-bar/testing/index.js → esm2020/snack-bar/testing/index.mjs} +0 -0
  455. package/{esm2015/snack-bar/testing/public-api.js → esm2020/snack-bar/testing/public-api.mjs} +0 -0
  456. package/{esm2015/snack-bar/testing/snack-bar-harness-filters.js → esm2020/snack-bar/testing/snack-bar-harness-filters.mjs} +0 -0
  457. package/esm2020/snack-bar/testing/snack-bar-harness.mjs +118 -0
  458. package/{esm2015/sort/index.js → esm2020/sort/index.mjs} +0 -0
  459. package/{esm2015/sort/public-api.js → esm2020/sort/public-api.mjs} +0 -0
  460. package/{esm2015/sort/sort-animations.js → esm2020/sort/sort-animations.mjs} +0 -0
  461. package/{esm2015/sort/sort-direction.js → esm2020/sort/sort-direction.mjs} +0 -0
  462. package/{esm2015/sort/sort-errors.js → esm2020/sort/sort-errors.mjs} +0 -0
  463. package/esm2020/sort/sort-header-intl.mjs +43 -0
  464. package/esm2020/sort/sort-header.mjs +275 -0
  465. package/esm2020/sort/sort-module.mjs +29 -0
  466. package/esm2020/sort/sort.mjs +154 -0
  467. package/{esm2015/sort/testing/index.js → esm2020/sort/testing/index.mjs} +0 -0
  468. package/{esm2015/sort/testing/public-api.js → esm2020/sort/testing/public-api.mjs} +0 -0
  469. package/{esm2015/sort/testing/sort-harness-filters.js → esm2020/sort/testing/sort-harness-filters.mjs} +0 -0
  470. package/esm2020/sort/testing/sort-harness.mjs +36 -0
  471. package/esm2020/sort/testing/sort-header-harness.mjs +56 -0
  472. package/{esm2015/stepper/index.js → esm2020/stepper/index.mjs} +0 -0
  473. package/{esm2015/stepper/public-api.js → esm2020/stepper/public-api.mjs} +0 -0
  474. package/esm2020/stepper/step-content.mjs +26 -0
  475. package/esm2020/stepper/step-header.mjs +110 -0
  476. package/esm2020/stepper/step-label.mjs +21 -0
  477. package/{esm2015/stepper/stepper-animations.js → esm2020/stepper/stepper-animations.mjs} +0 -0
  478. package/esm2020/stepper/stepper-button.mjs +43 -0
  479. package/esm2020/stepper/stepper-icon.mjs +29 -0
  480. package/esm2020/stepper/stepper-intl.mjs +43 -0
  481. package/esm2020/stepper/stepper-module.mjs +97 -0
  482. package/esm2020/stepper/stepper.mjs +213 -0
  483. package/{esm2015/stepper/testing/index.js → esm2020/stepper/testing/index.mjs} +0 -0
  484. package/{esm2015/stepper/testing/public-api.js → esm2020/stepper/testing/public-api.mjs} +0 -0
  485. package/{esm2015/stepper/testing/step-harness-filters.js → esm2020/stepper/testing/step-harness-filters.mjs} +0 -0
  486. package/esm2020/stepper/testing/step-harness.mjs +90 -0
  487. package/esm2020/stepper/testing/stepper-button-harnesses.mjs +50 -0
  488. package/esm2020/stepper/testing/stepper-harness.mjs +50 -0
  489. package/esm2020/table/cell.mjs +139 -0
  490. package/{esm2015/table/index.js → esm2020/table/index.mjs} +0 -0
  491. package/{esm2015/table/public-api.js → esm2020/table/public-api.mjs} +0 -0
  492. package/esm2020/table/row.mjs +139 -0
  493. package/esm2020/table/table-data-source.mjs +310 -0
  494. package/esm2020/table/table-module.mjs +101 -0
  495. package/esm2020/table/table.mjs +71 -0
  496. package/esm2020/table/testing/cell-harness.mjs +72 -0
  497. package/{esm2015/table/testing/index.js → esm2020/table/testing/index.mjs} +0 -0
  498. package/{esm2015/table/testing/public-api.js → esm2020/table/testing/public-api.mjs} +0 -0
  499. package/esm2020/table/testing/row-harness.mjs +84 -0
  500. package/{esm2015/table/testing/table-harness-filters.js → esm2020/table/testing/table-harness-filters.mjs} +0 -0
  501. package/esm2020/table/testing/table-harness.mjs +88 -0
  502. package/esm2020/table/text-column.mjs +58 -0
  503. package/esm2020/tabs/index.mjs +5 -0
  504. package/esm2020/tabs/ink-bar.mjs +93 -0
  505. package/esm2020/tabs/paginated-tab-header.mjs +480 -0
  506. package/esm2020/tabs/public-api.mjs +20 -0
  507. package/esm2020/tabs/tab-body.mjs +214 -0
  508. package/{esm2015/tabs/tab-config.js → esm2020/tabs/tab-config.mjs} +0 -0
  509. package/esm2020/tabs/tab-content.mjs +32 -0
  510. package/esm2020/tabs/tab-group.mjs +382 -0
  511. package/esm2020/tabs/tab-header.mjs +101 -0
  512. package/esm2020/tabs/tab-label-wrapper.mjs +41 -0
  513. package/esm2020/tabs/tab-label.mjs +43 -0
  514. package/{esm2015/tabs/tab-nav-bar/index.js → esm2020/tabs/tab-nav-bar/index.mjs} +0 -0
  515. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +263 -0
  516. package/esm2020/tabs/tab.mjs +106 -0
  517. package/{esm2015/tabs/tabs-animations.js → esm2020/tabs/tabs-animations.mjs} +0 -0
  518. package/esm2020/tabs/tabs-module.mjs +93 -0
  519. package/{esm2015/tabs/testing/index.js → esm2020/tabs/testing/index.mjs} +0 -0
  520. package/{esm2015/tabs/testing/public-api.js → esm2020/tabs/testing/public-api.mjs} +0 -0
  521. package/esm2020/tabs/testing/tab-group-harness.mjs +58 -0
  522. package/{esm2015/tabs/testing/tab-harness-filters.js → esm2020/tabs/testing/tab-harness-filters.mjs} +0 -0
  523. package/esm2020/tabs/testing/tab-harness.mjs +66 -0
  524. package/esm2020/tabs/testing/tab-link-harness.mjs +42 -0
  525. package/esm2020/tabs/testing/tab-nav-bar-harness.mjs +54 -0
  526. package/{esm2015/toolbar/index.js → esm2020/toolbar/index.mjs} +0 -0
  527. package/{esm2015/toolbar/public-api.js → esm2020/toolbar/public-api.mjs} +0 -0
  528. package/{esm2015/toolbar/testing/index.js → esm2020/toolbar/testing/index.mjs} +0 -0
  529. package/{esm2015/toolbar/testing/public-api.js → esm2020/toolbar/testing/public-api.mjs} +0 -0
  530. package/{esm2015/toolbar/testing/toolbar-harness-filters.js → esm2020/toolbar/testing/toolbar-harness-filters.mjs} +0 -0
  531. package/esm2020/toolbar/testing/toolbar-harness.mjs +40 -0
  532. package/esm2020/toolbar/toolbar-module.mjs +25 -0
  533. package/esm2020/toolbar/toolbar.mjs +88 -0
  534. package/{esm2015/tooltip/index.js → esm2020/tooltip/index.mjs} +0 -0
  535. package/{esm2015/tooltip/public-api.js → esm2020/tooltip/public-api.mjs} +0 -0
  536. package/{esm2015/tooltip/testing/index.js → esm2020/tooltip/testing/index.mjs} +0 -0
  537. package/{esm2015/tooltip/testing/public-api.js → esm2020/tooltip/testing/public-api.mjs} +0 -0
  538. package/{esm2015/tooltip/testing/tooltip-harness-filters.js → esm2020/tooltip/testing/tooltip-harness-filters.mjs} +0 -0
  539. package/esm2020/tooltip/testing/tooltip-harness.mjs +57 -0
  540. package/{esm2015/tooltip/tooltip-animations.js → esm2020/tooltip/tooltip-animations.mjs} +0 -0
  541. package/esm2020/tooltip/tooltip-module.mjs +44 -0
  542. package/esm2020/tooltip/tooltip.mjs +739 -0
  543. package/{esm2015/tree/data-source/flat-data-source.js → esm2020/tree/data-source/flat-data-source.mjs} +0 -0
  544. package/{esm2015/tree/data-source/nested-data-source.js → esm2020/tree/data-source/nested-data-source.mjs} +0 -0
  545. package/{esm2015/tree/index.js → esm2020/tree/index.mjs} +0 -0
  546. package/esm2020/tree/node.mjs +143 -0
  547. package/esm2020/tree/outlet.mjs +41 -0
  548. package/esm2020/tree/padding.mjs +37 -0
  549. package/{esm2015/tree/public-api.js → esm2020/tree/public-api.mjs} +0 -0
  550. package/{esm2015/tree/testing/index.js → esm2020/tree/testing/index.mjs} +0 -0
  551. package/esm2020/tree/testing/node-harness.mjs +69 -0
  552. package/{esm2015/tree/testing/public-api.js → esm2020/tree/testing/public-api.mjs} +0 -0
  553. package/{esm2015/tree/testing/tree-harness-filters.js → esm2020/tree/testing/tree-harness-filters.mjs} +0 -0
  554. package/esm2020/tree/testing/tree-harness.mjs +123 -0
  555. package/esm2020/tree/toggle.mjs +36 -0
  556. package/esm2020/tree/tree-module.mjs +51 -0
  557. package/esm2020/tree/tree.mjs +37 -0
  558. package/expansion/accordion.d.ts +3 -0
  559. package/expansion/expansion-module.d.ts +12 -7
  560. package/expansion/expansion-panel-content.d.ts +3 -0
  561. package/expansion/expansion-panel-header.d.ts +8 -1
  562. package/expansion/expansion-panel.d.ts +5 -0
  563. package/expansion/package.json +5 -5
  564. package/expansion/testing/package.json +5 -5
  565. package/fesm2015/autocomplete/testing.mjs +132 -0
  566. package/fesm2015/autocomplete/testing.mjs.map +1 -0
  567. package/fesm2015/autocomplete.mjs +958 -0
  568. package/fesm2015/autocomplete.mjs.map +1 -0
  569. package/fesm2015/badge/testing.mjs +97 -0
  570. package/fesm2015/badge/testing.mjs.map +1 -0
  571. package/fesm2015/badge.mjs +266 -0
  572. package/fesm2015/badge.mjs.map +1 -0
  573. package/fesm2015/bottom-sheet/testing.mjs +52 -0
  574. package/fesm2015/bottom-sheet/testing.mjs.map +1 -0
  575. package/fesm2015/bottom-sheet.mjs +596 -0
  576. package/fesm2015/bottom-sheet.mjs.map +1 -0
  577. package/fesm2015/button/testing.mjs +76 -0
  578. package/fesm2015/button/testing.mjs.map +1 -0
  579. package/fesm2015/button-toggle/testing.mjs +181 -0
  580. package/fesm2015/button-toggle/testing.mjs.map +1 -0
  581. package/fesm2015/button-toggle.mjs +502 -0
  582. package/fesm2015/button-toggle.mjs.map +1 -0
  583. package/fesm2015/button.mjs +202 -0
  584. package/fesm2015/button.mjs.map +1 -0
  585. package/fesm2015/card/testing.mjs +64 -0
  586. package/fesm2015/card/testing.mjs.map +1 -0
  587. package/fesm2015/card.mjs +322 -0
  588. package/fesm2015/card.mjs.map +1 -0
  589. package/fesm2015/checkbox/testing.mjs +168 -0
  590. package/fesm2015/checkbox/testing.mjs.map +1 -0
  591. package/fesm2015/checkbox.mjs +503 -0
  592. package/fesm2015/checkbox.mjs.map +1 -0
  593. package/fesm2015/chips/testing.mjs +423 -0
  594. package/fesm2015/chips/testing.mjs.map +1 -0
  595. package/fesm2015/chips.mjs +1354 -0
  596. package/fesm2015/chips.mjs.map +1 -0
  597. package/fesm2015/core/testing.mjs +120 -0
  598. package/fesm2015/core/testing.mjs.map +1 -0
  599. package/fesm2015/core.mjs +1719 -0
  600. package/fesm2015/core.mjs.map +1 -0
  601. package/fesm2015/datepicker/testing.mjs +635 -0
  602. package/fesm2015/datepicker/testing.mjs.map +1 -0
  603. package/fesm2015/datepicker.mjs +3948 -0
  604. package/fesm2015/datepicker.mjs.map +1 -0
  605. package/fesm2015/dialog/testing.mjs +119 -0
  606. package/fesm2015/dialog/testing.mjs.map +1 -0
  607. package/fesm2015/dialog.mjs +1155 -0
  608. package/fesm2015/dialog.mjs.map +1 -0
  609. package/fesm2015/divider/testing.mjs +39 -0
  610. package/fesm2015/divider/testing.mjs.map +1 -0
  611. package/fesm2015/divider.mjs +77 -0
  612. package/fesm2015/divider.mjs.map +1 -0
  613. package/fesm2015/expansion/testing.mjs +187 -0
  614. package/fesm2015/expansion/testing.mjs.map +1 -0
  615. package/fesm2015/expansion.mjs +641 -0
  616. package/fesm2015/expansion.mjs.map +1 -0
  617. package/fesm2015/form-field/testing/control.mjs +26 -0
  618. package/fesm2015/form-field/testing/control.mjs.map +1 -0
  619. package/fesm2015/form-field/testing.mjs +231 -0
  620. package/fesm2015/form-field/testing.mjs.map +1 -0
  621. package/fesm2015/form-field.mjs +814 -0
  622. package/fesm2015/form-field.mjs.map +1 -0
  623. package/fesm2015/grid-list/testing.mjs +161 -0
  624. package/fesm2015/grid-list/testing.mjs.map +1 -0
  625. package/fesm2015/grid-list.mjs +700 -0
  626. package/fesm2015/grid-list.mjs.map +1 -0
  627. package/fesm2015/icon/testing.mjs +163 -0
  628. package/fesm2015/icon/testing.mjs.map +1 -0
  629. package/fesm2015/icon.mjs +1016 -0
  630. package/fesm2015/icon.mjs.map +1 -0
  631. package/fesm2015/input/testing.mjs +281 -0
  632. package/fesm2015/input/testing.mjs.map +1 -0
  633. package/fesm2015/input.mjs +515 -0
  634. package/fesm2015/input.mjs.map +1 -0
  635. package/fesm2015/list/testing.mjs +486 -0
  636. package/fesm2015/list/testing.mjs.map +1 -0
  637. package/fesm2015/list.mjs +908 -0
  638. package/fesm2015/list.mjs.map +1 -0
  639. package/fesm2015/material.mjs +16 -0
  640. package/fesm2015/material.mjs.map +1 -0
  641. package/fesm2015/menu/testing.mjs +235 -0
  642. package/fesm2015/menu/testing.mjs.map +1 -0
  643. package/fesm2015/menu.mjs +1363 -0
  644. package/fesm2015/menu.mjs.map +1 -0
  645. package/fesm2015/paginator/testing.mjs +118 -0
  646. package/fesm2015/paginator/testing.mjs.map +1 -0
  647. package/fesm2015/paginator.mjs +387 -0
  648. package/fesm2015/paginator.mjs.map +1 -0
  649. package/fesm2015/progress-bar/testing.mjs +51 -0
  650. package/fesm2015/progress-bar/testing.mjs.map +1 -0
  651. package/fesm2015/progress-bar.mjs +225 -0
  652. package/fesm2015/progress-bar.mjs.map +1 -0
  653. package/fesm2015/progress-spinner/testing.mjs +52 -0
  654. package/fesm2015/progress-spinner/testing.mjs.map +1 -0
  655. package/fesm2015/progress-spinner.mjs +330 -0
  656. package/fesm2015/progress-spinner.mjs.map +1 -0
  657. package/fesm2015/radio/testing.mjs +284 -0
  658. package/fesm2015/radio/testing.mjs.map +1 -0
  659. package/fesm2015/radio.mjs +599 -0
  660. package/fesm2015/radio.mjs.map +1 -0
  661. package/fesm2015/select/testing.mjs +169 -0
  662. package/fesm2015/select/testing.mjs.map +1 -0
  663. package/fesm2015/select.mjs +1346 -0
  664. package/fesm2015/select.mjs.map +1 -0
  665. package/fesm2015/sidenav/testing.mjs +195 -0
  666. package/fesm2015/sidenav/testing.mjs.map +1 -0
  667. package/fesm2015/sidenav.mjs +1013 -0
  668. package/fesm2015/sidenav.mjs.map +1 -0
  669. package/fesm2015/slide-toggle/testing.mjs +151 -0
  670. package/fesm2015/slide-toggle/testing.mjs.map +1 -0
  671. package/fesm2015/slide-toggle.mjs +359 -0
  672. package/fesm2015/slide-toggle.mjs.map +1 -0
  673. package/fesm2015/slider/testing.mjs +153 -0
  674. package/fesm2015/slider/testing.mjs.map +1 -0
  675. package/fesm2015/slider.mjs +830 -0
  676. package/fesm2015/slider.mjs.map +1 -0
  677. package/fesm2015/snack-bar/testing.mjs +153 -0
  678. package/fesm2015/snack-bar/testing.mjs.map +1 -0
  679. package/fesm2015/snack-bar.mjs +698 -0
  680. package/fesm2015/snack-bar.mjs.map +1 -0
  681. package/fesm2015/sort/testing.mjs +110 -0
  682. package/fesm2015/sort/testing.mjs.map +1 -0
  683. package/fesm2015/sort.mjs +605 -0
  684. package/fesm2015/sort.mjs.map +1 -0
  685. package/fesm2015/stepper/testing.mjs +216 -0
  686. package/fesm2015/stepper/testing.mjs.map +1 -0
  687. package/fesm2015/stepper.mjs +579 -0
  688. package/fesm2015/stepper.mjs.map +1 -0
  689. package/fesm2015/table/testing.mjs +259 -0
  690. package/fesm2015/table/testing.mjs.map +1 -0
  691. package/fesm2015/table.mjs +817 -0
  692. package/fesm2015/table.mjs.map +1 -0
  693. package/fesm2015/tabs/testing.mjs +245 -0
  694. package/fesm2015/tabs/testing.mjs.map +1 -0
  695. package/fesm2015/tabs.mjs +1846 -0
  696. package/fesm2015/tabs.mjs.map +1 -0
  697. package/fesm2015/toolbar/testing.mjs +59 -0
  698. package/fesm2015/toolbar/testing.mjs.map +1 -0
  699. package/fesm2015/toolbar.mjs +118 -0
  700. package/fesm2015/toolbar.mjs.map +1 -0
  701. package/fesm2015/tooltip/testing.mjs +80 -0
  702. package/fesm2015/tooltip/testing.mjs.map +1 -0
  703. package/fesm2015/tooltip.mjs +820 -0
  704. package/fesm2015/tooltip.mjs.map +1 -0
  705. package/fesm2015/tree/testing.mjs +215 -0
  706. package/fesm2015/tree/testing.mjs.map +1 -0
  707. package/fesm2015/tree.mjs +520 -0
  708. package/fesm2015/tree.mjs.map +1 -0
  709. package/fesm2020/autocomplete/testing.mjs +128 -0
  710. package/fesm2020/autocomplete/testing.mjs.map +1 -0
  711. package/fesm2020/autocomplete.mjs +958 -0
  712. package/fesm2020/autocomplete.mjs.map +1 -0
  713. package/fesm2020/badge/testing.mjs +99 -0
  714. package/fesm2020/badge/testing.mjs.map +1 -0
  715. package/fesm2020/badge.mjs +271 -0
  716. package/fesm2020/badge.mjs.map +1 -0
  717. package/fesm2020/bottom-sheet/testing.mjs +62 -0
  718. package/fesm2020/bottom-sheet/testing.mjs.map +1 -0
  719. package/fesm2020/bottom-sheet.mjs +592 -0
  720. package/fesm2020/bottom-sheet.mjs.map +1 -0
  721. package/fesm2020/button/testing.mjs +78 -0
  722. package/fesm2020/button/testing.mjs.map +1 -0
  723. package/fesm2020/button-toggle/testing.mjs +176 -0
  724. package/fesm2020/button-toggle/testing.mjs.map +1 -0
  725. package/fesm2020/button-toggle.mjs +505 -0
  726. package/fesm2020/button-toggle.mjs.map +1 -0
  727. package/fesm2020/button.mjs +205 -0
  728. package/fesm2020/button.mjs.map +1 -0
  729. package/fesm2020/card/testing.mjs +70 -0
  730. package/fesm2020/card/testing.mjs.map +1 -0
  731. package/fesm2020/card.mjs +320 -0
  732. package/fesm2020/card.mjs.map +1 -0
  733. package/fesm2020/checkbox/testing.mjs +150 -0
  734. package/fesm2020/checkbox/testing.mjs.map +1 -0
  735. package/fesm2020/checkbox.mjs +507 -0
  736. package/fesm2020/checkbox.mjs.map +1 -0
  737. package/fesm2020/chips/testing.mjs +398 -0
  738. package/fesm2020/chips/testing.mjs.map +1 -0
  739. package/fesm2020/chips.mjs +1346 -0
  740. package/fesm2020/chips.mjs.map +1 -0
  741. package/fesm2020/core/testing.mjs +131 -0
  742. package/fesm2020/core/testing.mjs.map +1 -0
  743. package/fesm2020/core.mjs +1731 -0
  744. package/fesm2020/core.mjs.map +1 -0
  745. package/fesm2020/datepicker/testing.mjs +572 -0
  746. package/fesm2020/datepicker/testing.mjs.map +1 -0
  747. package/fesm2020/datepicker.mjs +3921 -0
  748. package/fesm2020/datepicker.mjs.map +1 -0
  749. package/fesm2020/dialog/testing.mjs +110 -0
  750. package/fesm2020/dialog/testing.mjs.map +1 -0
  751. package/fesm2020/dialog.mjs +1147 -0
  752. package/fesm2020/dialog.mjs.map +1 -0
  753. package/fesm2020/divider/testing.mjs +49 -0
  754. package/fesm2020/divider/testing.mjs.map +1 -0
  755. package/fesm2020/divider.mjs +77 -0
  756. package/fesm2020/divider.mjs.map +1 -0
  757. package/fesm2020/expansion/testing.mjs +176 -0
  758. package/fesm2020/expansion/testing.mjs.map +1 -0
  759. package/fesm2020/expansion.mjs +644 -0
  760. package/fesm2020/expansion.mjs.map +1 -0
  761. package/fesm2020/form-field/testing/control.mjs +26 -0
  762. package/fesm2020/form-field/testing/control.mjs.map +1 -0
  763. package/fesm2020/form-field/testing.mjs +209 -0
  764. package/fesm2020/form-field/testing.mjs.map +1 -0
  765. package/fesm2020/form-field.mjs +817 -0
  766. package/fesm2020/form-field.mjs.map +1 -0
  767. package/fesm2020/grid-list/testing.mjs +162 -0
  768. package/fesm2020/grid-list/testing.mjs.map +1 -0
  769. package/fesm2020/grid-list.mjs +696 -0
  770. package/fesm2020/grid-list.mjs.map +1 -0
  771. package/fesm2020/icon/testing.mjs +169 -0
  772. package/fesm2020/icon/testing.mjs.map +1 -0
  773. package/fesm2020/icon.mjs +1010 -0
  774. package/fesm2020/icon.mjs.map +1 -0
  775. package/fesm2020/input/testing.mjs +265 -0
  776. package/fesm2020/input/testing.mjs.map +1 -0
  777. package/fesm2020/input.mjs +512 -0
  778. package/fesm2020/input.mjs.map +1 -0
  779. package/fesm2020/list/testing.mjs +464 -0
  780. package/fesm2020/list/testing.mjs.map +1 -0
  781. package/fesm2020/list.mjs +901 -0
  782. package/fesm2020/list.mjs.map +1 -0
  783. package/fesm2020/material.mjs +16 -0
  784. package/fesm2020/material.mjs.map +1 -0
  785. package/fesm2020/menu/testing.mjs +210 -0
  786. package/fesm2020/menu/testing.mjs.map +1 -0
  787. package/fesm2020/menu.mjs +1365 -0
  788. package/fesm2020/menu.mjs.map +1 -0
  789. package/fesm2020/paginator/testing.mjs +118 -0
  790. package/fesm2020/paginator/testing.mjs.map +1 -0
  791. package/fesm2020/paginator.mjs +385 -0
  792. package/fesm2020/paginator.mjs.map +1 -0
  793. package/fesm2020/progress-bar/testing.mjs +61 -0
  794. package/fesm2020/progress-bar/testing.mjs.map +1 -0
  795. package/fesm2020/progress-bar.mjs +223 -0
  796. package/fesm2020/progress-bar.mjs.map +1 -0
  797. package/fesm2020/progress-spinner/testing.mjs +62 -0
  798. package/fesm2020/progress-spinner/testing.mjs.map +1 -0
  799. package/fesm2020/progress-spinner.mjs +326 -0
  800. package/fesm2020/progress-spinner.mjs.map +1 -0
  801. package/fesm2020/radio/testing.mjs +258 -0
  802. package/fesm2020/radio/testing.mjs.map +1 -0
  803. package/fesm2020/radio.mjs +604 -0
  804. package/fesm2020/radio.mjs.map +1 -0
  805. package/fesm2020/select/testing.mjs +157 -0
  806. package/fesm2020/select/testing.mjs.map +1 -0
  807. package/fesm2020/select.mjs +1338 -0
  808. package/fesm2020/select.mjs.map +1 -0
  809. package/fesm2020/sidenav/testing.mjs +214 -0
  810. package/fesm2020/sidenav/testing.mjs.map +1 -0
  811. package/fesm2020/sidenav.mjs +1004 -0
  812. package/fesm2020/sidenav.mjs.map +1 -0
  813. package/fesm2020/slide-toggle/testing.mjs +137 -0
  814. package/fesm2020/slide-toggle/testing.mjs.map +1 -0
  815. package/fesm2020/slide-toggle.mjs +364 -0
  816. package/fesm2020/slide-toggle.mjs.map +1 -0
  817. package/fesm2020/slider/testing.mjs +133 -0
  818. package/fesm2020/slider/testing.mjs.map +1 -0
  819. package/fesm2020/slider.mjs +835 -0
  820. package/fesm2020/slider.mjs.map +1 -0
  821. package/fesm2020/snack-bar/testing.mjs +145 -0
  822. package/fesm2020/snack-bar/testing.mjs.map +1 -0
  823. package/fesm2020/snack-bar.mjs +701 -0
  824. package/fesm2020/snack-bar.mjs.map +1 -0
  825. package/fesm2020/sort/testing.mjs +109 -0
  826. package/fesm2020/sort/testing.mjs.map +1 -0
  827. package/fesm2020/sort.mjs +609 -0
  828. package/fesm2020/sort.mjs.map +1 -0
  829. package/fesm2020/stepper/testing.mjs +206 -0
  830. package/fesm2020/stepper/testing.mjs.map +1 -0
  831. package/fesm2020/stepper.mjs +589 -0
  832. package/fesm2020/stepper.mjs.map +1 -0
  833. package/fesm2020/table/testing.mjs +259 -0
  834. package/fesm2020/table/testing.mjs.map +1 -0
  835. package/fesm2020/table.mjs +814 -0
  836. package/fesm2020/table.mjs.map +1 -0
  837. package/fesm2020/tabs/testing.mjs +234 -0
  838. package/fesm2020/tabs/testing.mjs.map +1 -0
  839. package/fesm2020/tabs.mjs +1829 -0
  840. package/fesm2020/tabs.mjs.map +1 -0
  841. package/fesm2020/toolbar/testing.mjs +67 -0
  842. package/fesm2020/toolbar/testing.mjs.map +1 -0
  843. package/fesm2020/toolbar.mjs +123 -0
  844. package/fesm2020/toolbar.mjs.map +1 -0
  845. package/fesm2020/tooltip/testing.mjs +84 -0
  846. package/fesm2020/tooltip/testing.mjs.map +1 -0
  847. package/fesm2020/tooltip.mjs +815 -0
  848. package/fesm2020/tooltip.mjs.map +1 -0
  849. package/fesm2020/tree/testing.mjs +217 -0
  850. package/fesm2020/tree/testing.mjs.map +1 -0
  851. package/fesm2020/tree.mjs +514 -0
  852. package/fesm2020/tree.mjs.map +1 -0
  853. package/form-field/error.d.ts +3 -0
  854. package/form-field/form-field-control.d.ts +3 -0
  855. package/form-field/form-field-module.d.ts +14 -7
  856. package/form-field/form-field.d.ts +4 -1
  857. package/form-field/hint.d.ts +3 -0
  858. package/form-field/label.d.ts +3 -7
  859. package/form-field/package.json +5 -5
  860. package/form-field/placeholder.d.ts +3 -7
  861. package/form-field/prefix.d.ts +3 -0
  862. package/form-field/suffix.d.ts +3 -0
  863. package/form-field/testing/control/package.json +5 -5
  864. package/form-field/testing/package.json +5 -5
  865. package/grid-list/grid-list-module.d.ts +7 -7
  866. package/grid-list/grid-list.d.ts +3 -0
  867. package/grid-list/grid-tile.d.ts +11 -0
  868. package/grid-list/index.d.ts +0 -1
  869. package/grid-list/package.json +5 -5
  870. package/grid-list/testing/package.json +5 -5
  871. package/icon/icon-module.d.ts +6 -7
  872. package/icon/icon-registry.d.ts +3 -7
  873. package/icon/icon.d.ts +4 -1
  874. package/icon/package.json +5 -5
  875. package/icon/testing/fake-icon-registry.d.ts +6 -0
  876. package/icon/testing/package.json +5 -5
  877. package/input/input-module.d.ts +8 -7
  878. package/input/input.d.ts +4 -1
  879. package/input/package.json +5 -5
  880. package/input/public-api.d.ts +0 -1
  881. package/input/testing/package.json +5 -5
  882. package/list/list-module.d.ts +9 -7
  883. package/list/list.d.ts +15 -2
  884. package/list/package.json +5 -5
  885. package/list/selection-list.d.ts +7 -2
  886. package/list/testing/package.json +5 -5
  887. package/menu/index.d.ts +0 -2
  888. package/menu/menu-content.d.ts +11 -11
  889. package/menu/menu-item.d.ts +4 -1
  890. package/menu/menu-module.d.ts +12 -13
  891. package/menu/menu-trigger.d.ts +12 -2
  892. package/menu/menu.d.ts +5 -0
  893. package/menu/package.json +5 -5
  894. package/menu/public-api.d.ts +1 -1
  895. package/menu/testing/package.json +5 -5
  896. package/package.json +612 -8
  897. package/paginator/package.json +5 -5
  898. package/paginator/paginator-intl.d.ts +3 -0
  899. package/paginator/paginator-module.d.ts +10 -7
  900. package/paginator/paginator.d.ts +6 -1
  901. package/paginator/testing/package.json +5 -5
  902. package/prebuilt-themes/deeppurple-amber.css +1 -1
  903. package/prebuilt-themes/indigo-pink.css +1 -1
  904. package/prebuilt-themes/pink-bluegrey.css +1 -1
  905. package/prebuilt-themes/purple-green.css +1 -1
  906. package/progress-bar/package.json +5 -5
  907. package/progress-bar/progress-bar-module.d.ts +7 -7
  908. package/progress-bar/progress-bar.d.ts +4 -1
  909. package/progress-bar/testing/package.json +5 -5
  910. package/progress-spinner/package.json +5 -5
  911. package/progress-spinner/progress-spinner-module.d.ts +7 -0
  912. package/progress-spinner/progress-spinner.d.ts +6 -1
  913. package/progress-spinner/testing/package.json +5 -5
  914. package/radio/package.json +5 -5
  915. package/radio/radio-module.d.ts +6 -7
  916. package/radio/radio.d.ts +10 -1
  917. package/radio/testing/package.json +5 -5
  918. package/schematics/ng-add/fonts/material-fonts.js +8 -17
  919. package/schematics/ng-add/fonts/material-fonts.mjs +8 -17
  920. package/schematics/ng-add/index.js +8 -8
  921. package/schematics/ng-add/index.mjs +8 -8
  922. package/schematics/ng-add/setup-project.js +23 -32
  923. package/schematics/ng-add/setup-project.mjs +23 -32
  924. package/schematics/ng-add/theming/create-custom-theme.js +2 -2
  925. package/schematics/ng-add/theming/create-custom-theme.mjs +2 -2
  926. package/schematics/ng-add/theming/theming.js +35 -46
  927. package/schematics/ng-add/theming/theming.mjs +35 -46
  928. package/schematics/ng-generate/address-form/index.js +13 -22
  929. package/schematics/ng-generate/address-form/index.mjs +13 -22
  930. package/schematics/ng-generate/dashboard/index.js +13 -22
  931. package/schematics/ng-generate/dashboard/index.mjs +13 -22
  932. package/schematics/ng-generate/navigation/index.js +13 -22
  933. package/schematics/ng-generate/navigation/index.mjs +13 -22
  934. package/schematics/ng-generate/table/index.js +10 -19
  935. package/schematics/ng-generate/table/index.mjs +10 -19
  936. package/schematics/ng-generate/tree/index.js +10 -19
  937. package/schematics/ng-generate/tree/index.mjs +10 -19
  938. package/schematics/ng-update/data/constructor-checks.js +5 -1
  939. package/schematics/ng-update/data/constructor-checks.mjs +5 -1
  940. package/schematics/ng-update/index.js +9 -9
  941. package/schematics/ng-update/index.mjs +9 -9
  942. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.js +24 -24
  943. package/schematics/ng-update/migrations/hammer-gestures-v9/hammer-gestures-migration.mjs +24 -24
  944. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.js +5 -5
  945. package/schematics/ng-update/migrations/hammer-gestures-v9/import-manager.mjs +5 -5
  946. package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.js +2 -2
  947. package/schematics/ng-update/migrations/misc-checks/misc-class-inheritance.mjs +2 -2
  948. package/schematics/ng-update/migrations/misc-checks/misc-imports.js +2 -2
  949. package/schematics/ng-update/migrations/misc-checks/misc-imports.mjs +2 -2
  950. package/schematics/ng-update/migrations/misc-checks/misc-template.js +4 -4
  951. package/schematics/ng-update/migrations/misc-checks/misc-template.mjs +4 -4
  952. package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.js +7 -7
  953. package/schematics/ng-update/migrations/misc-ripples-v7/ripple-speed-factor-migration.mjs +7 -7
  954. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.js +2 -3
  955. package/schematics/ng-update/migrations/package-imports-v8/secondary-entry-points-migration.mjs +2 -3
  956. package/schematics/ng-update/migrations/theming-api-v12/migration.d.ts +6 -6
  957. package/schematics/ng-update/migrations/theming-api-v12/migration.js +12 -12
  958. package/schematics/ng-update/migrations/theming-api-v12/migration.mjs +12 -12
  959. package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.js +3 -3
  960. package/schematics/ng-update/migrations/theming-api-v12/theming-api-migration.mjs +3 -3
  961. package/schematics/ng-update/typescript/module-specifiers.js +3 -3
  962. package/schematics/ng-update/typescript/module-specifiers.mjs +3 -3
  963. package/schematics/package.json +3 -0
  964. package/schematics/paths.js +3 -3
  965. package/schematics/paths.mjs +3 -3
  966. package/select/package.json +5 -5
  967. package/select/select-module.d.ts +10 -7
  968. package/select/select.d.ts +8 -1
  969. package/select/testing/package.json +5 -5
  970. package/sidenav/drawer.d.ts +7 -0
  971. package/sidenav/index.d.ts +0 -1
  972. package/sidenav/package.json +5 -5
  973. package/sidenav/sidenav-module.d.ts +10 -0
  974. package/sidenav/sidenav.d.ts +7 -0
  975. package/sidenav/testing/package.json +5 -5
  976. package/slide-toggle/package.json +5 -5
  977. package/slide-toggle/slide-toggle-module.d.ts +11 -7
  978. package/slide-toggle/slide-toggle-required-validator.d.ts +3 -0
  979. package/slide-toggle/slide-toggle.d.ts +4 -1
  980. package/slide-toggle/testing/package.json +5 -5
  981. package/slider/package.json +5 -5
  982. package/slider/slider-module.d.ts +7 -7
  983. package/slider/slider.d.ts +4 -1
  984. package/slider/testing/package.json +5 -5
  985. package/snack-bar/package.json +5 -5
  986. package/snack-bar/simple-snack-bar.d.ts +3 -7
  987. package/snack-bar/snack-bar-container.d.ts +3 -0
  988. package/snack-bar/snack-bar-module.d.ts +11 -7
  989. package/snack-bar/snack-bar.d.ts +3 -0
  990. package/snack-bar/testing/package.json +5 -5
  991. package/snack-bar/testing/snack-bar-harness.d.ts +8 -9
  992. package/sort/package.json +5 -5
  993. package/sort/sort-header-intl.d.ts +3 -0
  994. package/sort/sort-header.d.ts +4 -1
  995. package/sort/sort-module.d.ts +8 -7
  996. package/sort/sort.d.ts +4 -1
  997. package/sort/testing/package.json +5 -5
  998. package/stepper/package.json +5 -5
  999. package/stepper/step-content.d.ts +3 -0
  1000. package/stepper/step-header.d.ts +6 -1
  1001. package/stepper/step-label.d.ts +3 -7
  1002. package/stepper/stepper-button.d.ts +5 -0
  1003. package/stepper/stepper-icon.d.ts +3 -0
  1004. package/stepper/stepper-intl.d.ts +7 -0
  1005. package/stepper/stepper-module.d.ts +16 -7
  1006. package/stepper/stepper.d.ts +11 -0
  1007. package/stepper/testing/package.json +5 -5
  1008. package/table/cell.d.ts +15 -7
  1009. package/table/package.json +5 -5
  1010. package/table/row.d.ts +15 -0
  1011. package/table/table-module.d.ts +10 -7
  1012. package/table/table.d.ts +5 -0
  1013. package/table/testing/package.json +5 -5
  1014. package/table/text-column.d.ts +3 -0
  1015. package/tabs/index.d.ts +0 -4
  1016. package/tabs/ink-bar.d.ts +3 -0
  1017. package/tabs/package.json +5 -5
  1018. package/tabs/paginated-tab-header.d.ts +3 -0
  1019. package/tabs/public-api.d.ts +1 -1
  1020. package/tabs/tab-body.d.ts +7 -0
  1021. package/tabs/tab-content.d.ts +3 -0
  1022. package/tabs/tab-group.d.ts +6 -1
  1023. package/tabs/tab-header.d.ts +5 -0
  1024. package/tabs/tab-label-wrapper.d.ts +4 -1
  1025. package/tabs/tab-label.d.ts +11 -1
  1026. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +10 -1
  1027. package/tabs/tab.d.ts +5 -2
  1028. package/tabs/tabs-module.d.ts +18 -7
  1029. package/tabs/testing/package.json +5 -5
  1030. package/toolbar/package.json +5 -5
  1031. package/toolbar/testing/package.json +5 -5
  1032. package/toolbar/toolbar-module.d.ts +6 -7
  1033. package/toolbar/toolbar.d.ts +6 -1
  1034. package/tooltip/package.json +5 -5
  1035. package/tooltip/testing/package.json +5 -5
  1036. package/tooltip/tooltip-module.d.ts +10 -7
  1037. package/tooltip/tooltip.d.ts +11 -2
  1038. package/tree/node.d.ts +8 -1
  1039. package/tree/outlet.d.ts +3 -0
  1040. package/tree/package.json +5 -5
  1041. package/tree/padding.d.ts +3 -0
  1042. package/tree/testing/package.json +5 -5
  1043. package/tree/toggle.d.ts +3 -7
  1044. package/tree/tree-module.d.ts +11 -7
  1045. package/tree/tree.d.ts +3 -0
  1046. package/autocomplete/index.metadata.json +0 -1
  1047. package/badge/index.metadata.json +0 -1
  1048. package/bottom-sheet/index.metadata.json +0 -1
  1049. package/bundles/material-autocomplete-testing.umd.js +0 -564
  1050. package/bundles/material-autocomplete-testing.umd.js.map +0 -1
  1051. package/bundles/material-autocomplete.umd.js +0 -1266
  1052. package/bundles/material-autocomplete.umd.js.map +0 -1
  1053. package/bundles/material-badge-testing.umd.js +0 -474
  1054. package/bundles/material-badge-testing.umd.js.map +0 -1
  1055. package/bundles/material-badge.umd.js +0 -606
  1056. package/bundles/material-badge.umd.js.map +0 -1
  1057. package/bundles/material-bottom-sheet-testing.umd.js +0 -396
  1058. package/bundles/material-bottom-sheet-testing.umd.js.map +0 -1
  1059. package/bundles/material-bottom-sheet.umd.js +0 -955
  1060. package/bundles/material-bottom-sheet.umd.js.map +0 -1
  1061. package/bundles/material-button-testing.umd.js +0 -444
  1062. package/bundles/material-button-testing.umd.js.map +0 -1
  1063. package/bundles/material-button-toggle-testing.umd.js +0 -628
  1064. package/bundles/material-button-toggle-testing.umd.js.map +0 -1
  1065. package/bundles/material-button-toggle.umd.js +0 -850
  1066. package/bundles/material-button-toggle.umd.js.map +0 -1
  1067. package/bundles/material-button.umd.js +0 -545
  1068. package/bundles/material-button.umd.js.map +0 -1
  1069. package/bundles/material-card-testing.umd.js +0 -408
  1070. package/bundles/material-card-testing.umd.js.map +0 -1
  1071. package/bundles/material-card.umd.js +0 -337
  1072. package/bundles/material-card.umd.js.map +0 -1
  1073. package/bundles/material-checkbox-testing.umd.js +0 -615
  1074. package/bundles/material-checkbox-testing.umd.js.map +0 -1
  1075. package/bundles/material-checkbox.umd.js +0 -829
  1076. package/bundles/material-checkbox.umd.js.map +0 -1
  1077. package/bundles/material-chips-testing.umd.js +0 -1023
  1078. package/bundles/material-chips-testing.umd.js.map +0 -1
  1079. package/bundles/material-chips.umd.js +0 -1753
  1080. package/bundles/material-chips.umd.js.map +0 -1
  1081. package/bundles/material-core-testing.umd.js +0 -518
  1082. package/bundles/material-core-testing.umd.js.map +0 -1
  1083. package/bundles/material-core.umd.js +0 -2186
  1084. package/bundles/material-core.umd.js.map +0 -1
  1085. package/bundles/material-datepicker-testing.umd.js +0 -1366
  1086. package/bundles/material-datepicker-testing.umd.js.map +0 -1
  1087. package/bundles/material-datepicker.umd.js +0 -4344
  1088. package/bundles/material-datepicker.umd.js.map +0 -1
  1089. package/bundles/material-dialog-testing.umd.js +0 -500
  1090. package/bundles/material-dialog-testing.umd.js.map +0 -1
  1091. package/bundles/material-dialog.umd.js +0 -1487
  1092. package/bundles/material-dialog.umd.js.map +0 -1
  1093. package/bundles/material-divider-testing.umd.js +0 -380
  1094. package/bundles/material-divider-testing.umd.js.map +0 -1
  1095. package/bundles/material-divider.umd.js +0 -95
  1096. package/bundles/material-divider.umd.js.map +0 -1
  1097. package/bundles/material-expansion-testing.umd.js +0 -627
  1098. package/bundles/material-expansion-testing.umd.js.map +0 -1
  1099. package/bundles/material-expansion.umd.js +0 -949
  1100. package/bundles/material-expansion.umd.js.map +0 -1
  1101. package/bundles/material-form-field-testing-control.umd.js +0 -350
  1102. package/bundles/material-form-field-testing-control.umd.js.map +0 -1
  1103. package/bundles/material-form-field-testing.umd.js +0 -708
  1104. package/bundles/material-form-field-testing.umd.js.map +0 -1
  1105. package/bundles/material-form-field.umd.js +0 -1131
  1106. package/bundles/material-form-field.umd.js.map +0 -1
  1107. package/bundles/material-grid-list-testing.umd.js +0 -566
  1108. package/bundles/material-grid-list-testing.umd.js.map +0 -1
  1109. package/bundles/material-grid-list.umd.js +0 -1070
  1110. package/bundles/material-grid-list.umd.js.map +0 -1
  1111. package/bundles/material-icon-testing.umd.js +0 -527
  1112. package/bundles/material-icon-testing.umd.js.map +0 -1
  1113. package/bundles/material-icon.umd.js +0 -1391
  1114. package/bundles/material-icon.umd.js.map +0 -1
  1115. package/bundles/material-input-testing.umd.js +0 -806
  1116. package/bundles/material-input-testing.umd.js.map +0 -1
  1117. package/bundles/material-input.umd.js +0 -875
  1118. package/bundles/material-input.umd.js.map +0 -1
  1119. package/bundles/material-list-testing.umd.js +0 -1092
  1120. package/bundles/material-list-testing.umd.js.map +0 -1
  1121. package/bundles/material-list.umd.js +0 -1284
  1122. package/bundles/material-list.umd.js.map +0 -1
  1123. package/bundles/material-menu-testing.umd.js +0 -722
  1124. package/bundles/material-menu-testing.umd.js.map +0 -1
  1125. package/bundles/material-menu.umd.js +0 -1661
  1126. package/bundles/material-menu.umd.js.map +0 -1
  1127. package/bundles/material-paginator-testing.umd.js +0 -504
  1128. package/bundles/material-paginator-testing.umd.js.map +0 -1
  1129. package/bundles/material-paginator.umd.js +0 -746
  1130. package/bundles/material-paginator.umd.js.map +0 -1
  1131. package/bundles/material-progress-bar-testing.umd.js +0 -395
  1132. package/bundles/material-progress-bar-testing.umd.js.map +0 -1
  1133. package/bundles/material-progress-bar.umd.js +0 -546
  1134. package/bundles/material-progress-bar.umd.js.map +0 -1
  1135. package/bundles/material-progress-spinner-testing.umd.js +0 -399
  1136. package/bundles/material-progress-spinner-testing.umd.js.map +0 -1
  1137. package/bundles/material-progress-spinner.umd.js +0 -631
  1138. package/bundles/material-progress-spinner.umd.js.map +0 -1
  1139. package/bundles/material-radio-testing.umd.js +0 -812
  1140. package/bundles/material-radio-testing.umd.js.map +0 -1
  1141. package/bundles/material-radio.umd.js +0 -971
  1142. package/bundles/material-radio.umd.js.map +0 -1
  1143. package/bundles/material-select-testing.umd.js +0 -620
  1144. package/bundles/material-select-testing.umd.js.map +0 -1
  1145. package/bundles/material-select.umd.js +0 -1665
  1146. package/bundles/material-select.umd.js.map +0 -1
  1147. package/bundles/material-sidenav-testing.umd.js +0 -603
  1148. package/bundles/material-sidenav-testing.umd.js.map +0 -1
  1149. package/bundles/material-sidenav.umd.js +0 -1368
  1150. package/bundles/material-sidenav.umd.js.map +0 -1
  1151. package/bundles/material-slide-toggle-testing.umd.js +0 -582
  1152. package/bundles/material-slide-toggle-testing.umd.js.map +0 -1
  1153. package/bundles/material-slide-toggle.umd.js +0 -670
  1154. package/bundles/material-slide-toggle.umd.js.map +0 -1
  1155. package/bundles/material-slider-testing.umd.js +0 -587
  1156. package/bundles/material-slider-testing.umd.js.map +0 -1
  1157. package/bundles/material-slider.umd.js +0 -1186
  1158. package/bundles/material-slider.umd.js.map +0 -1
  1159. package/bundles/material-snack-bar-testing.umd.js +0 -554
  1160. package/bundles/material-snack-bar-testing.umd.js.map +0 -1
  1161. package/bundles/material-snack-bar.umd.js +0 -1076
  1162. package/bundles/material-snack-bar.umd.js.map +0 -1
  1163. package/bundles/material-sort-testing.umd.js +0 -493
  1164. package/bundles/material-sort-testing.umd.js.map +0 -1
  1165. package/bundles/material-sort.umd.js +0 -943
  1166. package/bundles/material-sort.umd.js.map +0 -1
  1167. package/bundles/material-stepper-testing.umd.js +0 -703
  1168. package/bundles/material-stepper-testing.umd.js.map +0 -1
  1169. package/bundles/material-stepper.umd.js +0 -893
  1170. package/bundles/material-stepper.umd.js.map +0 -1
  1171. package/bundles/material-table-testing.umd.js +0 -700
  1172. package/bundles/material-table-testing.umd.js.map +0 -1
  1173. package/bundles/material-table.umd.js +0 -1121
  1174. package/bundles/material-table.umd.js.map +0 -1
  1175. package/bundles/material-tabs-testing.umd.js +0 -744
  1176. package/bundles/material-tabs-testing.umd.js.map +0 -1
  1177. package/bundles/material-tabs.umd.js +0 -2169
  1178. package/bundles/material-tabs.umd.js.map +0 -1
  1179. package/bundles/material-toolbar-testing.umd.js +0 -406
  1180. package/bundles/material-toolbar-testing.umd.js.map +0 -1
  1181. package/bundles/material-toolbar.umd.js +0 -454
  1182. package/bundles/material-toolbar.umd.js.map +0 -1
  1183. package/bundles/material-tooltip-testing.umd.js +0 -460
  1184. package/bundles/material-tooltip-testing.umd.js.map +0 -1
  1185. package/bundles/material-tooltip.umd.js +0 -1170
  1186. package/bundles/material-tooltip.umd.js.map +0 -1
  1187. package/bundles/material-tree-testing.umd.js +0 -636
  1188. package/bundles/material-tree-testing.umd.js.map +0 -1
  1189. package/bundles/material-tree.umd.js +0 -837
  1190. package/bundles/material-tree.umd.js.map +0 -1
  1191. package/bundles/material.umd.js +0 -26
  1192. package/bundles/material.umd.js.map +0 -1
  1193. package/button/index.metadata.json +0 -1
  1194. package/button-toggle/index.metadata.json +0 -1
  1195. package/card/index.metadata.json +0 -1
  1196. package/checkbox/index.metadata.json +0 -1
  1197. package/chips/index.metadata.json +0 -1
  1198. package/core/index.metadata.json +0 -1
  1199. package/datepicker/index.metadata.json +0 -1
  1200. package/dialog/index.metadata.json +0 -1
  1201. package/divider/index.metadata.json +0 -1
  1202. package/esm2015/autocomplete/autocomplete-module.js +0 -38
  1203. package/esm2015/autocomplete/autocomplete-origin.js +0 -35
  1204. package/esm2015/autocomplete/autocomplete-trigger.js +0 -627
  1205. package/esm2015/autocomplete/autocomplete.externs.js +0 -6
  1206. package/esm2015/autocomplete/autocomplete.js +0 -202
  1207. package/esm2015/autocomplete/testing/autocomplete-harness.js +0 -120
  1208. package/esm2015/autocomplete/testing/testing.externs.js +0 -0
  1209. package/esm2015/badge/badge-module.js +0 -24
  1210. package/esm2015/badge/badge.externs.js +0 -6
  1211. package/esm2015/badge/badge.js +0 -230
  1212. package/esm2015/badge/testing/badge-harness.js +0 -85
  1213. package/esm2015/badge/testing/testing.externs.js +0 -0
  1214. package/esm2015/bottom-sheet/bottom-sheet-container.js +0 -253
  1215. package/esm2015/bottom-sheet/bottom-sheet-module.js +0 -27
  1216. package/esm2015/bottom-sheet/bottom-sheet-ref.js +0 -91
  1217. package/esm2015/bottom-sheet/bottom-sheet.externs.js +0 -6
  1218. package/esm2015/bottom-sheet/bottom-sheet.js +0 -167
  1219. package/esm2015/bottom-sheet/testing/bottom-sheet-harness.js +0 -40
  1220. package/esm2015/bottom-sheet/testing/testing.externs.js +0 -0
  1221. package/esm2015/button/button-module.js +0 -30
  1222. package/esm2015/button/button.externs.js +0 -6
  1223. package/esm2015/button/button.js +0 -163
  1224. package/esm2015/button/testing/button-harness.js +0 -64
  1225. package/esm2015/button/testing/testing.externs.js +0 -0
  1226. package/esm2015/button-toggle/button-toggle-module.js +0 -20
  1227. package/esm2015/button-toggle/button-toggle.externs.js +0 -6
  1228. package/esm2015/button-toggle/button-toggle.js +0 -441
  1229. package/esm2015/button-toggle/testing/button-toggle-group-harness.js +0 -54
  1230. package/esm2015/button-toggle/testing/button-toggle-harness.js +0 -125
  1231. package/esm2015/button-toggle/testing/testing.externs.js +0 -0
  1232. package/esm2015/card/card-module.js +0 -40
  1233. package/esm2015/card/card.externs.js +0 -6
  1234. package/esm2015/card/card.js +0 -223
  1235. package/esm2015/card/testing/card-harness.js +0 -52
  1236. package/esm2015/card/testing/testing.externs.js +0 -0
  1237. package/esm2015/checkbox/checkbox-module.js +0 -34
  1238. package/esm2015/checkbox/checkbox-required-validator.js +0 -29
  1239. package/esm2015/checkbox/checkbox.externs.js +0 -6
  1240. package/esm2015/checkbox/checkbox.js +0 -385
  1241. package/esm2015/checkbox/testing/checkbox-harness.js +0 -156
  1242. package/esm2015/checkbox/testing/testing.externs.js +0 -0
  1243. package/esm2015/chips/chip-input.js +0 -180
  1244. package/esm2015/chips/chip-list.js +0 -663
  1245. package/esm2015/chips/chip.js +0 -394
  1246. package/esm2015/chips/chips-module.js +0 -43
  1247. package/esm2015/chips/chips.externs.js +0 -6
  1248. package/esm2015/chips/testing/chip-harness.js +0 -110
  1249. package/esm2015/chips/testing/chip-input-harness.js +0 -101
  1250. package/esm2015/chips/testing/chip-list-harness.js +0 -99
  1251. package/esm2015/chips/testing/chip-listbox-harness.js +0 -49
  1252. package/esm2015/chips/testing/chip-option-harness.js +0 -54
  1253. package/esm2015/chips/testing/chip-remove-harness.js +0 -29
  1254. package/esm2015/chips/testing/testing.externs.js +0 -0
  1255. package/esm2015/core/common-behaviors/color.js +0 -31
  1256. package/esm2015/core/common-behaviors/common-module.js +0 -122
  1257. package/esm2015/core/common-behaviors/disable-ripple.js +0 -20
  1258. package/esm2015/core/common-behaviors/disabled.js +0 -19
  1259. package/esm2015/core/common-behaviors/error-state.js +0 -36
  1260. package/esm2015/core/common-behaviors/index.js +0 -15
  1261. package/esm2015/core/common-behaviors/initialized.js +0 -58
  1262. package/esm2015/core/common-behaviors/tabindex.js +0 -23
  1263. package/esm2015/core/core.externs.js +0 -6
  1264. package/esm2015/core/datetime/index.js +0 -38
  1265. package/esm2015/core/datetime/native-date-adapter.js +0 -213
  1266. package/esm2015/core/error/error-options.js +0 -29
  1267. package/esm2015/core/index.js +0 -6
  1268. package/esm2015/core/line/line.js +0 -57
  1269. package/esm2015/core/option/index.js +0 -27
  1270. package/esm2015/core/option/optgroup.js +0 -84
  1271. package/esm2015/core/option/option.js +0 -274
  1272. package/esm2015/core/ripple/index.js +0 -24
  1273. package/esm2015/core/ripple/ripple-renderer.js +0 -261
  1274. package/esm2015/core/ripple/ripple.js +0 -128
  1275. package/esm2015/core/selection/index.js +0 -21
  1276. package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +0 -55
  1277. package/esm2015/core/testing/optgroup-harness.js +0 -51
  1278. package/esm2015/core/testing/option-harness.js +0 -67
  1279. package/esm2015/core/testing/testing.externs.js +0 -0
  1280. package/esm2015/core/version.js +0 -11
  1281. package/esm2015/datepicker/calendar-body.js +0 -291
  1282. package/esm2015/datepicker/calendar.js +0 -330
  1283. package/esm2015/datepicker/date-range-input-parts.js +0 -315
  1284. package/esm2015/datepicker/date-range-input.js +0 -316
  1285. package/esm2015/datepicker/date-range-picker.js +0 -40
  1286. package/esm2015/datepicker/date-range-selection-strategy.js +0 -58
  1287. package/esm2015/datepicker/date-selection-model.js +0 -189
  1288. package/esm2015/datepicker/datepicker-actions.js +0 -89
  1289. package/esm2015/datepicker/datepicker-base.js +0 -542
  1290. package/esm2015/datepicker/datepicker-input-base.js +0 -290
  1291. package/esm2015/datepicker/datepicker-input.js +0 -164
  1292. package/esm2015/datepicker/datepicker-intl.js +0 -51
  1293. package/esm2015/datepicker/datepicker-module.js +0 -93
  1294. package/esm2015/datepicker/datepicker-toggle.js +0 -104
  1295. package/esm2015/datepicker/datepicker.externs.js +0 -6
  1296. package/esm2015/datepicker/datepicker.js +0 -30
  1297. package/esm2015/datepicker/index.js +0 -9
  1298. package/esm2015/datepicker/month-view.js +0 -344
  1299. package/esm2015/datepicker/multi-year-view.js +0 -280
  1300. package/esm2015/datepicker/testing/calendar-cell-harness.js +0 -181
  1301. package/esm2015/datepicker/testing/calendar-harness.js +0 -91
  1302. package/esm2015/datepicker/testing/date-range-input-harness.js +0 -116
  1303. package/esm2015/datepicker/testing/datepicker-input-harness-base.js +0 -102
  1304. package/esm2015/datepicker/testing/datepicker-input-harness.js +0 -69
  1305. package/esm2015/datepicker/testing/datepicker-toggle-harness.js +0 -48
  1306. package/esm2015/datepicker/testing/datepicker-trigger-harness-base.js +0 -77
  1307. package/esm2015/datepicker/testing/testing.externs.js +0 -0
  1308. package/esm2015/datepicker/year-view.js +0 -268
  1309. package/esm2015/dialog/dialog-container.js +0 -295
  1310. package/esm2015/dialog/dialog-content-directives.js +0 -159
  1311. package/esm2015/dialog/dialog-module.js +0 -46
  1312. package/esm2015/dialog/dialog-ref.js +0 -196
  1313. package/esm2015/dialog/dialog.externs.js +0 -6
  1314. package/esm2015/dialog/dialog.js +0 -353
  1315. package/esm2015/dialog/testing/dialog-harness.js +0 -103
  1316. package/esm2015/dialog/testing/testing.externs.js +0 -0
  1317. package/esm2015/divider/divider-module.js +0 -20
  1318. package/esm2015/divider/divider.externs.js +0 -6
  1319. package/esm2015/divider/divider.js +0 -43
  1320. package/esm2015/divider/testing/divider-harness.js +0 -27
  1321. package/esm2015/divider/testing/testing.externs.js +0 -0
  1322. package/esm2015/expansion/accordion.js +0 -83
  1323. package/esm2015/expansion/expansion-module.js +0 -42
  1324. package/esm2015/expansion/expansion-panel-content.js +0 -26
  1325. package/esm2015/expansion/expansion-panel-header.js +0 -214
  1326. package/esm2015/expansion/expansion-panel.js +0 -186
  1327. package/esm2015/expansion/expansion.externs.js +0 -6
  1328. package/esm2015/expansion/testing/accordion-harness.js +0 -36
  1329. package/esm2015/expansion/testing/expansion-harness.js +0 -149
  1330. package/esm2015/expansion/testing/testing.externs.js +0 -0
  1331. package/esm2015/form-field/error.js +0 -45
  1332. package/esm2015/form-field/form-field-control.js +0 -15
  1333. package/esm2015/form-field/form-field-module.js +0 -49
  1334. package/esm2015/form-field/form-field.externs.js +0 -6
  1335. package/esm2015/form-field/form-field.js +0 -482
  1336. package/esm2015/form-field/hint.js +0 -45
  1337. package/esm2015/form-field/label.js +0 -17
  1338. package/esm2015/form-field/placeholder.js +0 -22
  1339. package/esm2015/form-field/prefix.js +0 -24
  1340. package/esm2015/form-field/suffix.js +0 -24
  1341. package/esm2015/form-field/testing/control/control.externs.js +0 -0
  1342. package/esm2015/form-field/testing/form-field-harness.js +0 -218
  1343. package/esm2015/form-field/testing/testing.externs.js +0 -0
  1344. package/esm2015/grid-list/grid-list-module.js +0 -37
  1345. package/esm2015/grid-list/grid-list.externs.js +0 -6
  1346. package/esm2015/grid-list/grid-list.js +0 -135
  1347. package/esm2015/grid-list/grid-tile.js +0 -116
  1348. package/esm2015/grid-list/index.js +0 -6
  1349. package/esm2015/grid-list/testing/grid-list-harness.js +0 -79
  1350. package/esm2015/grid-list/testing/grid-tile-harness.js +0 -80
  1351. package/esm2015/grid-list/testing/testing.externs.js +0 -0
  1352. package/esm2015/icon/icon-module.js +0 -20
  1353. package/esm2015/icon/icon-registry.js +0 -581
  1354. package/esm2015/icon/icon.externs.js +0 -6
  1355. package/esm2015/icon/icon.js +0 -362
  1356. package/esm2015/icon/testing/fake-icon-registry.js +0 -85
  1357. package/esm2015/icon/testing/icon-harness.js +0 -63
  1358. package/esm2015/icon/testing/testing.externs.js +0 -6
  1359. package/esm2015/icon/trusted-types.js +0 -44
  1360. package/esm2015/input/autosize.js +0 -44
  1361. package/esm2015/input/input-module.js +0 -35
  1362. package/esm2015/input/input.externs.js +0 -6
  1363. package/esm2015/input/input.js +0 -395
  1364. package/esm2015/input/public-api.js +0 -13
  1365. package/esm2015/input/testing/input-harness.js +0 -138
  1366. package/esm2015/input/testing/native-option-harness.js +0 -51
  1367. package/esm2015/input/testing/native-select-harness.js +0 -100
  1368. package/esm2015/input/testing/testing.externs.js +0 -0
  1369. package/esm2015/list/list-module.js +0 -45
  1370. package/esm2015/list/list.externs.js +0 -6
  1371. package/esm2015/list/list.js +0 -218
  1372. package/esm2015/list/selection-list.js +0 -608
  1373. package/esm2015/list/testing/action-list-harness.js +0 -68
  1374. package/esm2015/list/testing/list-harness-base.js +0 -97
  1375. package/esm2015/list/testing/list-item-harness-base.js +0 -85
  1376. package/esm2015/list/testing/nav-list-harness.js +0 -75
  1377. package/esm2015/list/testing/selection-list-harness.js +0 -152
  1378. package/esm2015/list/testing/testing.externs.js +0 -0
  1379. package/esm2015/material.externs.js +0 -0
  1380. package/esm2015/menu/index.js +0 -7
  1381. package/esm2015/menu/menu-content.js +0 -92
  1382. package/esm2015/menu/menu-item.js +0 -164
  1383. package/esm2015/menu/menu-module.js +0 -49
  1384. package/esm2015/menu/menu-trigger.js +0 -493
  1385. package/esm2015/menu/menu.externs.js +0 -6
  1386. package/esm2015/menu/menu.js +0 -381
  1387. package/esm2015/menu/public-api.js +0 -16
  1388. package/esm2015/menu/testing/menu-harness.js +0 -223
  1389. package/esm2015/menu/testing/testing.externs.js +0 -0
  1390. package/esm2015/paginator/paginator-intl.js +0 -62
  1391. package/esm2015/paginator/paginator-module.js +0 -32
  1392. package/esm2015/paginator/paginator.externs.js +0 -6
  1393. package/esm2015/paginator/paginator.js +0 -263
  1394. package/esm2015/paginator/testing/paginator-harness.js +0 -106
  1395. package/esm2015/paginator/testing/testing.externs.js +0 -0
  1396. package/esm2015/progress-bar/progress-bar-module.js +0 -21
  1397. package/esm2015/progress-bar/progress-bar.externs.js +0 -6
  1398. package/esm2015/progress-bar/progress-bar.js +0 -179
  1399. package/esm2015/progress-bar/testing/progress-bar-harness.js +0 -39
  1400. package/esm2015/progress-bar/testing/testing.externs.js +0 -0
  1401. package/esm2015/progress-spinner/progress-spinner-module.js +0 -28
  1402. package/esm2015/progress-spinner/progress-spinner.externs.js +0 -6
  1403. package/esm2015/progress-spinner/progress-spinner.js +0 -274
  1404. package/esm2015/progress-spinner/testing/progress-spinner-harness.js +0 -40
  1405. package/esm2015/progress-spinner/testing/testing.externs.js +0 -0
  1406. package/esm2015/radio/radio-module.js +0 -20
  1407. package/esm2015/radio/radio.externs.js +0 -6
  1408. package/esm2015/radio/radio.js +0 -546
  1409. package/esm2015/radio/testing/radio-harness.js +0 -272
  1410. package/esm2015/radio/testing/testing.externs.js +0 -0
  1411. package/esm2015/select/select-module.js +0 -37
  1412. package/esm2015/select/select.externs.js +0 -6
  1413. package/esm2015/select/select.js +0 -1138
  1414. package/esm2015/select/testing/select-harness.js +0 -157
  1415. package/esm2015/select/testing/testing.externs.js +0 -0
  1416. package/esm2015/sidenav/drawer.js +0 -766
  1417. package/esm2015/sidenav/index.js +0 -6
  1418. package/esm2015/sidenav/sidenav-module.js +0 -45
  1419. package/esm2015/sidenav/sidenav.externs.js +0 -6
  1420. package/esm2015/sidenav/sidenav.js +0 -118
  1421. package/esm2015/sidenav/testing/drawer-container-harness.js +0 -41
  1422. package/esm2015/sidenav/testing/drawer-harness.js +0 -57
  1423. package/esm2015/sidenav/testing/sidenav-container-harness.js +0 -41
  1424. package/esm2015/sidenav/testing/sidenav-harness.js +0 -32
  1425. package/esm2015/sidenav/testing/testing.externs.js +0 -0
  1426. package/esm2015/slide-toggle/slide-toggle-module.js +0 -40
  1427. package/esm2015/slide-toggle/slide-toggle-required-validator.js +0 -32
  1428. package/esm2015/slide-toggle/slide-toggle.externs.js +0 -6
  1429. package/esm2015/slide-toggle/slide-toggle.js +0 -236
  1430. package/esm2015/slide-toggle/testing/slide-toggle-harness.js +0 -139
  1431. package/esm2015/slide-toggle/testing/testing.externs.js +0 -0
  1432. package/esm2015/slider/slider-module.js +0 -21
  1433. package/esm2015/slider/slider.externs.js +0 -6
  1434. package/esm2015/slider/slider.js +0 -788
  1435. package/esm2015/slider/testing/slider-harness.js +0 -141
  1436. package/esm2015/slider/testing/testing.externs.js +0 -0
  1437. package/esm2015/snack-bar/simple-snack-bar.js +0 -45
  1438. package/esm2015/snack-bar/snack-bar-container.js +0 -224
  1439. package/esm2015/snack-bar/snack-bar-module.js +0 -32
  1440. package/esm2015/snack-bar/snack-bar-ref.js +0 -90
  1441. package/esm2015/snack-bar/snack-bar.externs.js +0 -6
  1442. package/esm2015/snack-bar/snack-bar.js +0 -265
  1443. package/esm2015/snack-bar/testing/snack-bar-harness.js +0 -142
  1444. package/esm2015/snack-bar/testing/testing.externs.js +0 -0
  1445. package/esm2015/sort/sort-header-intl.js +0 -41
  1446. package/esm2015/sort/sort-header.js +0 -268
  1447. package/esm2015/sort/sort-module.js +0 -24
  1448. package/esm2015/sort/sort.externs.js +0 -6
  1449. package/esm2015/sort/sort.js +0 -140
  1450. package/esm2015/sort/testing/sort-harness.js +0 -41
  1451. package/esm2015/sort/testing/sort-header-harness.js +0 -67
  1452. package/esm2015/sort/testing/testing.externs.js +0 -0
  1453. package/esm2015/stepper/step-content.js +0 -25
  1454. package/esm2015/stepper/step-header.js +0 -108
  1455. package/esm2015/stepper/step-label.js +0 -17
  1456. package/esm2015/stepper/stepper-button.js +0 -36
  1457. package/esm2015/stepper/stepper-icon.js +0 -28
  1458. package/esm2015/stepper/stepper-intl.js +0 -37
  1459. package/esm2015/stepper/stepper-module.js +0 -61
  1460. package/esm2015/stepper/stepper.externs.js +0 -6
  1461. package/esm2015/stepper/stepper.js +0 -187
  1462. package/esm2015/stepper/testing/step-harness.js +0 -111
  1463. package/esm2015/stepper/testing/stepper-button-harnesses.js +0 -55
  1464. package/esm2015/stepper/testing/stepper-harness.js +0 -57
  1465. package/esm2015/stepper/testing/testing.externs.js +0 -0
  1466. package/esm2015/table/cell.js +0 -114
  1467. package/esm2015/table/row.js +0 -116
  1468. package/esm2015/table/table-data-source.js +0 -312
  1469. package/esm2015/table/table-module.js +0 -50
  1470. package/esm2015/table/table.externs.js +0 -6
  1471. package/esm2015/table/table.js +0 -63
  1472. package/esm2015/table/testing/cell-harness.js +0 -77
  1473. package/esm2015/table/testing/row-harness.js +0 -91
  1474. package/esm2015/table/testing/table-harness.js +0 -99
  1475. package/esm2015/table/testing/testing.externs.js +0 -0
  1476. package/esm2015/table/text-column.js +0 -44
  1477. package/esm2015/tabs/index.js +0 -9
  1478. package/esm2015/tabs/ink-bar.js +0 -87
  1479. package/esm2015/tabs/paginated-tab-header.js +0 -477
  1480. package/esm2015/tabs/public-api.js +0 -20
  1481. package/esm2015/tabs/tab-body.js +0 -212
  1482. package/esm2015/tabs/tab-content.js +0 -31
  1483. package/esm2015/tabs/tab-group.js +0 -357
  1484. package/esm2015/tabs/tab-header.js +0 -94
  1485. package/esm2015/tabs/tab-label-wrapper.js +0 -47
  1486. package/esm2015/tabs/tab-label.js +0 -25
  1487. package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +0 -241
  1488. package/esm2015/tabs/tab.js +0 -106
  1489. package/esm2015/tabs/tabs-module.js +0 -60
  1490. package/esm2015/tabs/tabs.externs.js +0 -6
  1491. package/esm2015/tabs/testing/tab-group-harness.js +0 -65
  1492. package/esm2015/tabs/testing/tab-harness.js +0 -85
  1493. package/esm2015/tabs/testing/tab-link-harness.js +0 -51
  1494. package/esm2015/tabs/testing/tab-nav-bar-harness.js +0 -61
  1495. package/esm2015/tabs/testing/testing.externs.js +0 -0
  1496. package/esm2015/toolbar/testing/testing.externs.js +0 -0
  1497. package/esm2015/toolbar/testing/toolbar-harness.js +0 -47
  1498. package/esm2015/toolbar/toolbar-module.js +0 -20
  1499. package/esm2015/toolbar/toolbar.externs.js +0 -6
  1500. package/esm2015/toolbar/toolbar.js +0 -91
  1501. package/esm2015/tooltip/testing/testing.externs.js +0 -0
  1502. package/esm2015/tooltip/testing/tooltip-harness.js +0 -68
  1503. package/esm2015/tooltip/tooltip-module.js +0 -31
  1504. package/esm2015/tooltip/tooltip.externs.js +0 -6
  1505. package/esm2015/tooltip/tooltip.js +0 -737
  1506. package/esm2015/tree/node.js +0 -131
  1507. package/esm2015/tree/outlet.js +0 -33
  1508. package/esm2015/tree/padding.js +0 -31
  1509. package/esm2015/tree/testing/node-harness.js +0 -84
  1510. package/esm2015/tree/testing/testing.externs.js +0 -0
  1511. package/esm2015/tree/testing/tree-harness.js +0 -129
  1512. package/esm2015/tree/toggle.js +0 -32
  1513. package/esm2015/tree/tree-module.js +0 -34
  1514. package/esm2015/tree/tree.externs.js +0 -6
  1515. package/esm2015/tree/tree.js +0 -43
  1516. package/expansion/index.metadata.json +0 -1
  1517. package/fesm2015/autocomplete/testing.js +0 -147
  1518. package/fesm2015/autocomplete/testing.js.map +0 -1
  1519. package/fesm2015/autocomplete.js +0 -901
  1520. package/fesm2015/autocomplete.js.map +0 -1
  1521. package/fesm2015/badge/testing.js +0 -112
  1522. package/fesm2015/badge/testing.js.map +0 -1
  1523. package/fesm2015/badge.js +0 -265
  1524. package/fesm2015/badge.js.map +0 -1
  1525. package/fesm2015/bottom-sheet/testing.js +0 -67
  1526. package/fesm2015/bottom-sheet/testing.js.map +0 -1
  1527. package/fesm2015/bottom-sheet.js +0 -603
  1528. package/fesm2015/bottom-sheet.js.map +0 -1
  1529. package/fesm2015/button/testing.js +0 -91
  1530. package/fesm2015/button/testing.js.map +0 -1
  1531. package/fesm2015/button-toggle/testing.js +0 -211
  1532. package/fesm2015/button-toggle/testing.js.map +0 -1
  1533. package/fesm2015/button-toggle.js +0 -473
  1534. package/fesm2015/button-toggle.js.map +0 -1
  1535. package/fesm2015/button.js +0 -205
  1536. package/fesm2015/button.js.map +0 -1
  1537. package/fesm2015/card/testing.js +0 -79
  1538. package/fesm2015/card/testing.js.map +0 -1
  1539. package/fesm2015/card.js +0 -276
  1540. package/fesm2015/card.js.map +0 -1
  1541. package/fesm2015/checkbox/testing.js +0 -183
  1542. package/fesm2015/checkbox/testing.js.map +0 -1
  1543. package/fesm2015/checkbox.js +0 -476
  1544. package/fesm2015/checkbox.js.map +0 -1
  1545. package/fesm2015/chips/testing.js +0 -465
  1546. package/fesm2015/chips/testing.js.map +0 -1
  1547. package/fesm2015/chips.js +0 -1286
  1548. package/fesm2015/chips.js.map +0 -1
  1549. package/fesm2015/core/testing.js +0 -150
  1550. package/fesm2015/core/testing.js.map +0 -1
  1551. package/fesm2015/core.js +0 -1692
  1552. package/fesm2015/core.js.map +0 -1
  1553. package/fesm2015/datepicker/testing.js +0 -692
  1554. package/fesm2015/datepicker/testing.js.map +0 -1
  1555. package/fesm2015/datepicker.js +0 -3745
  1556. package/fesm2015/datepicker.js.map +0 -1
  1557. package/fesm2015/dialog/testing.js +0 -130
  1558. package/fesm2015/dialog/testing.js.map +0 -1
  1559. package/fesm2015/dialog.js +0 -1127
  1560. package/fesm2015/dialog.js.map +0 -1
  1561. package/fesm2015/divider/testing.js +0 -54
  1562. package/fesm2015/divider/testing.js.map +0 -1
  1563. package/fesm2015/divider.js +0 -76
  1564. package/fesm2015/divider.js.map +0 -1
  1565. package/fesm2015/expansion/testing.js +0 -209
  1566. package/fesm2015/expansion/testing.js.map +0 -1
  1567. package/fesm2015/expansion.js +0 -600
  1568. package/fesm2015/expansion.js.map +0 -1
  1569. package/fesm2015/form-field/testing/control.js +0 -26
  1570. package/fesm2015/form-field/testing/control.js.map +0 -1
  1571. package/fesm2015/form-field/testing.js +0 -246
  1572. package/fesm2015/form-field/testing.js.map +0 -1
  1573. package/fesm2015/form-field.js +0 -757
  1574. package/fesm2015/form-field.js.map +0 -1
  1575. package/fesm2015/grid-list/testing.js +0 -183
  1576. package/fesm2015/grid-list/testing.js.map +0 -1
  1577. package/fesm2015/grid-list.js +0 -680
  1578. package/fesm2015/grid-list.js.map +0 -1
  1579. package/fesm2015/icon/testing.js +0 -171
  1580. package/fesm2015/icon/testing.js.map +0 -1
  1581. package/fesm2015/icon.js +0 -1012
  1582. package/fesm2015/icon.js.map +0 -1
  1583. package/fesm2015/input/testing.js +0 -318
  1584. package/fesm2015/input/testing.js.map +0 -1
  1585. package/fesm2015/input.js +0 -506
  1586. package/fesm2015/input.js.map +0 -1
  1587. package/fesm2015/list/testing.js +0 -529
  1588. package/fesm2015/list/testing.js.map +0 -1
  1589. package/fesm2015/list.js +0 -876
  1590. package/fesm2015/list.js.map +0 -1
  1591. package/fesm2015/material.js +0 -16
  1592. package/fesm2015/material.js.map +0 -1
  1593. package/fesm2015/menu/testing.js +0 -250
  1594. package/fesm2015/menu/testing.js.map +0 -1
  1595. package/fesm2015/menu.js +0 -1292
  1596. package/fesm2015/menu.js.map +0 -1
  1597. package/fesm2015/paginator/testing.js +0 -133
  1598. package/fesm2015/paginator/testing.js.map +0 -1
  1599. package/fesm2015/paginator.js +0 -366
  1600. package/fesm2015/paginator.js.map +0 -1
  1601. package/fesm2015/progress-bar/testing.js +0 -66
  1602. package/fesm2015/progress-bar/testing.js.map +0 -1
  1603. package/fesm2015/progress-bar.js +0 -211
  1604. package/fesm2015/progress-bar.js.map +0 -1
  1605. package/fesm2015/progress-spinner/testing.js +0 -67
  1606. package/fesm2015/progress-spinner/testing.js.map +0 -1
  1607. package/fesm2015/progress-spinner.js +0 -313
  1608. package/fesm2015/progress-spinner.js.map +0 -1
  1609. package/fesm2015/radio/testing.js +0 -299
  1610. package/fesm2015/radio/testing.js.map +0 -1
  1611. package/fesm2015/radio.js +0 -578
  1612. package/fesm2015/radio.js.map +0 -1
  1613. package/fesm2015/select/testing.js +0 -184
  1614. package/fesm2015/select/testing.js.map +0 -1
  1615. package/fesm2015/select.js +0 -1269
  1616. package/fesm2015/select.js.map +0 -1
  1617. package/fesm2015/sidenav/testing.js +0 -231
  1618. package/fesm2015/sidenav/testing.js.map +0 -1
  1619. package/fesm2015/sidenav.js +0 -965
  1620. package/fesm2015/sidenav.js.map +0 -1
  1621. package/fesm2015/slide-toggle/testing.js +0 -166
  1622. package/fesm2015/slide-toggle/testing.js.map +0 -1
  1623. package/fesm2015/slide-toggle.js +0 -329
  1624. package/fesm2015/slide-toggle.js.map +0 -1
  1625. package/fesm2015/slider/testing.js +0 -160
  1626. package/fesm2015/slider/testing.js.map +0 -1
  1627. package/fesm2015/slider.js +0 -820
  1628. package/fesm2015/slider.js.map +0 -1
  1629. package/fesm2015/snack-bar/testing.js +0 -169
  1630. package/fesm2015/snack-bar/testing.js.map +0 -1
  1631. package/fesm2015/snack-bar.js +0 -713
  1632. package/fesm2015/snack-bar.js.map +0 -1
  1633. package/fesm2015/sort/testing.js +0 -124
  1634. package/fesm2015/sort/testing.js.map +0 -1
  1635. package/fesm2015/sort.js +0 -587
  1636. package/fesm2015/sort.js.map +0 -1
  1637. package/fesm2015/stepper/testing.js +0 -237
  1638. package/fesm2015/stepper/testing.js.map +0 -1
  1639. package/fesm2015/stepper.js +0 -519
  1640. package/fesm2015/stepper.js.map +0 -1
  1641. package/fesm2015/table/testing.js +0 -280
  1642. package/fesm2015/table/testing.js.map +0 -1
  1643. package/fesm2015/table.js +0 -701
  1644. package/fesm2015/table.js.map +0 -1
  1645. package/fesm2015/tabs/testing.js +0 -273
  1646. package/fesm2015/tabs/testing.js.map +0 -1
  1647. package/fesm2015/tabs.js +0 -1746
  1648. package/fesm2015/tabs.js.map +0 -1
  1649. package/fesm2015/toolbar/testing.js +0 -74
  1650. package/fesm2015/toolbar/testing.js.map +0 -1
  1651. package/fesm2015/toolbar.js +0 -123
  1652. package/fesm2015/toolbar.js.map +0 -1
  1653. package/fesm2015/tooltip/testing.js +0 -95
  1654. package/fesm2015/tooltip/testing.js.map +0 -1
  1655. package/fesm2015/tooltip.js +0 -802
  1656. package/fesm2015/tooltip.js.map +0 -1
  1657. package/fesm2015/tree/testing.js +0 -237
  1658. package/fesm2015/tree/testing.js.map +0 -1
  1659. package/fesm2015/tree.js +0 -479
  1660. package/fesm2015/tree.js.map +0 -1
  1661. package/form-field/index.metadata.json +0 -1
  1662. package/grid-list/index.metadata.json +0 -1
  1663. package/icon/index.metadata.json +0 -1
  1664. package/icon/testing/index.metadata.json +0 -1
  1665. package/input/autosize.d.ts +0 -23
  1666. package/input/index.metadata.json +0 -1
  1667. package/list/index.metadata.json +0 -1
  1668. package/menu/index.metadata.json +0 -1
  1669. package/paginator/index.metadata.json +0 -1
  1670. package/progress-bar/index.metadata.json +0 -1
  1671. package/progress-spinner/index.metadata.json +0 -1
  1672. package/radio/index.metadata.json +0 -1
  1673. package/select/index.metadata.json +0 -1
  1674. package/sidenav/index.metadata.json +0 -1
  1675. package/slide-toggle/index.metadata.json +0 -1
  1676. package/slider/index.metadata.json +0 -1
  1677. package/snack-bar/index.metadata.json +0 -1
  1678. package/sort/index.metadata.json +0 -1
  1679. package/stepper/index.metadata.json +0 -1
  1680. package/table/index.metadata.json +0 -1
  1681. package/tabs/index.metadata.json +0 -1
  1682. package/toolbar/index.metadata.json +0 -1
  1683. package/tooltip/index.metadata.json +0 -1
  1684. package/tree/index.metadata.json +0 -1
@@ -0,0 +1,357 @@
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 { DOCUMENT } from '@angular/common';
10
+ import { Attribute, ChangeDetectionStrategy, Component, ElementRef, ErrorHandler, inject, Inject, InjectionToken, Input, ViewEncapsulation, } from '@angular/core';
11
+ import { mixinColor } from '@angular/material/core';
12
+ import { Subscription } from 'rxjs';
13
+ import { take } from 'rxjs/operators';
14
+ import { MatIconRegistry } from './icon-registry';
15
+ import * as i0 from "@angular/core";
16
+ import * as i1 from "./icon-registry";
17
+ // Boilerplate for applying mixins to MatIcon.
18
+ /** @docs-private */
19
+ const _MatIconBase = mixinColor(class {
20
+ constructor(_elementRef) {
21
+ this._elementRef = _elementRef;
22
+ }
23
+ });
24
+ /**
25
+ * Injection token used to provide the current location to `MatIcon`.
26
+ * Used to handle server-side rendering and to stub out during unit tests.
27
+ * @docs-private
28
+ */
29
+ export const MAT_ICON_LOCATION = new InjectionToken('mat-icon-location', {
30
+ providedIn: 'root',
31
+ factory: MAT_ICON_LOCATION_FACTORY
32
+ });
33
+ /** @docs-private */
34
+ export function MAT_ICON_LOCATION_FACTORY() {
35
+ const _document = inject(DOCUMENT);
36
+ const _location = _document ? _document.location : null;
37
+ return {
38
+ // Note that this needs to be a function, rather than a property, because Angular
39
+ // will only resolve it once, but we want the current path on each call.
40
+ getPathname: () => _location ? (_location.pathname + _location.search) : ''
41
+ };
42
+ }
43
+ /** SVG attributes that accept a FuncIRI (e.g. `url(<something>)`). */
44
+ const funcIriAttributes = [
45
+ 'clip-path',
46
+ 'color-profile',
47
+ 'src',
48
+ 'cursor',
49
+ 'fill',
50
+ 'filter',
51
+ 'marker',
52
+ 'marker-start',
53
+ 'marker-mid',
54
+ 'marker-end',
55
+ 'mask',
56
+ 'stroke'
57
+ ];
58
+ /** Selector that can be used to find all elements that are using a `FuncIRI`. */
59
+ const funcIriAttributeSelector = funcIriAttributes.map(attr => `[${attr}]`).join(', ');
60
+ /** Regex that can be used to extract the id out of a FuncIRI. */
61
+ const funcIriPattern = /^url\(['"]?#(.*?)['"]?\)$/;
62
+ /**
63
+ * Component to display an icon. It can be used in the following ways:
64
+ *
65
+ * - Specify the svgIcon input to load an SVG icon from a URL previously registered with the
66
+ * addSvgIcon, addSvgIconInNamespace, addSvgIconSet, or addSvgIconSetInNamespace methods of
67
+ * MatIconRegistry. If the svgIcon value contains a colon it is assumed to be in the format
68
+ * "[namespace]:[name]", if not the value will be the name of an icon in the default namespace.
69
+ * Examples:
70
+ * `<mat-icon svgIcon="left-arrow"></mat-icon>
71
+ * <mat-icon svgIcon="animals:cat"></mat-icon>`
72
+ *
73
+ * - Use a font ligature as an icon by putting the ligature text in the content of the `<mat-icon>`
74
+ * component. By default the Material icons font is used as described at
75
+ * http://google.github.io/material-design-icons/#icon-font-for-the-web. You can specify an
76
+ * alternate font by setting the fontSet input to either the CSS class to apply to use the
77
+ * desired font, or to an alias previously registered with MatIconRegistry.registerFontClassAlias.
78
+ * Examples:
79
+ * `<mat-icon>home</mat-icon>
80
+ * <mat-icon fontSet="myfont">sun</mat-icon>`
81
+ *
82
+ * - Specify a font glyph to be included via CSS rules by setting the fontSet input to specify the
83
+ * font, and the fontIcon input to specify the icon. Typically the fontIcon will specify a
84
+ * CSS class which causes the glyph to be displayed via a :before selector, as in
85
+ * https://fortawesome.github.io/Font-Awesome/examples/
86
+ * Example:
87
+ * `<mat-icon fontSet="fa" fontIcon="alarm"></mat-icon>`
88
+ */
89
+ export class MatIcon extends _MatIconBase {
90
+ constructor(elementRef, _iconRegistry, ariaHidden, _location, _errorHandler) {
91
+ super(elementRef);
92
+ this._iconRegistry = _iconRegistry;
93
+ this._location = _location;
94
+ this._errorHandler = _errorHandler;
95
+ this._inline = false;
96
+ /** Subscription to the current in-progress SVG icon request. */
97
+ this._currentIconFetch = Subscription.EMPTY;
98
+ // If the user has not explicitly set aria-hidden, mark the icon as hidden, as this is
99
+ // the right thing to do for the majority of icon use-cases.
100
+ if (!ariaHidden) {
101
+ elementRef.nativeElement.setAttribute('aria-hidden', 'true');
102
+ }
103
+ }
104
+ /**
105
+ * Whether the icon should be inlined, automatically sizing the icon to match the font size of
106
+ * the element the icon is contained in.
107
+ */
108
+ get inline() {
109
+ return this._inline;
110
+ }
111
+ set inline(inline) {
112
+ this._inline = coerceBooleanProperty(inline);
113
+ }
114
+ /** Name of the icon in the SVG icon set. */
115
+ get svgIcon() { return this._svgIcon; }
116
+ set svgIcon(value) {
117
+ if (value !== this._svgIcon) {
118
+ if (value) {
119
+ this._updateSvgIcon(value);
120
+ }
121
+ else if (this._svgIcon) {
122
+ this._clearSvgElement();
123
+ }
124
+ this._svgIcon = value;
125
+ }
126
+ }
127
+ /** Font set that the icon is a part of. */
128
+ get fontSet() { return this._fontSet; }
129
+ set fontSet(value) {
130
+ const newValue = this._cleanupFontValue(value);
131
+ if (newValue !== this._fontSet) {
132
+ this._fontSet = newValue;
133
+ this._updateFontIconClasses();
134
+ }
135
+ }
136
+ /** Name of an icon within a font set. */
137
+ get fontIcon() { return this._fontIcon; }
138
+ set fontIcon(value) {
139
+ const newValue = this._cleanupFontValue(value);
140
+ if (newValue !== this._fontIcon) {
141
+ this._fontIcon = newValue;
142
+ this._updateFontIconClasses();
143
+ }
144
+ }
145
+ /**
146
+ * Splits an svgIcon binding value into its icon set and icon name components.
147
+ * Returns a 2-element array of [(icon set), (icon name)].
148
+ * The separator for the two fields is ':'. If there is no separator, an empty
149
+ * string is returned for the icon set and the entire value is returned for
150
+ * the icon name. If the argument is falsy, returns an array of two empty strings.
151
+ * Throws an error if the name contains two or more ':' separators.
152
+ * Examples:
153
+ * `'social:cake' -> ['social', 'cake']
154
+ * 'penguin' -> ['', 'penguin']
155
+ * null -> ['', '']
156
+ * 'a:b:c' -> (throws Error)`
157
+ */
158
+ _splitIconName(iconName) {
159
+ if (!iconName) {
160
+ return ['', ''];
161
+ }
162
+ const parts = iconName.split(':');
163
+ switch (parts.length) {
164
+ case 1: return ['', parts[0]]; // Use default namespace.
165
+ case 2: return parts;
166
+ default: throw Error(`Invalid icon name: "${iconName}"`); // TODO: add an ngDevMode check
167
+ }
168
+ }
169
+ ngOnInit() {
170
+ // Update font classes because ngOnChanges won't be called if none of the inputs are present,
171
+ // e.g. <mat-icon>arrow</mat-icon> In this case we need to add a CSS class for the default font.
172
+ this._updateFontIconClasses();
173
+ }
174
+ ngAfterViewChecked() {
175
+ const cachedElements = this._elementsWithExternalReferences;
176
+ if (cachedElements && cachedElements.size) {
177
+ const newPath = this._location.getPathname();
178
+ // We need to check whether the URL has changed on each change detection since
179
+ // the browser doesn't have an API that will let us react on link clicks and
180
+ // we can't depend on the Angular router. The references need to be updated,
181
+ // because while most browsers don't care whether the URL is correct after
182
+ // the first render, Safari will break if the user navigates to a different
183
+ // page and the SVG isn't re-rendered.
184
+ if (newPath !== this._previousPath) {
185
+ this._previousPath = newPath;
186
+ this._prependPathToReferences(newPath);
187
+ }
188
+ }
189
+ }
190
+ ngOnDestroy() {
191
+ this._currentIconFetch.unsubscribe();
192
+ if (this._elementsWithExternalReferences) {
193
+ this._elementsWithExternalReferences.clear();
194
+ }
195
+ }
196
+ _usingFontIcon() {
197
+ return !this.svgIcon;
198
+ }
199
+ _setSvgElement(svg) {
200
+ this._clearSvgElement();
201
+ // Workaround for IE11 and Edge ignoring `style` tags inside dynamically-created SVGs.
202
+ // See: https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/10898469/
203
+ // Do this before inserting the element into the DOM, in order to avoid a style recalculation.
204
+ const styleTags = svg.querySelectorAll('style');
205
+ for (let i = 0; i < styleTags.length; i++) {
206
+ styleTags[i].textContent += ' ';
207
+ }
208
+ // Note: we do this fix here, rather than the icon registry, because the
209
+ // references have to point to the URL at the time that the icon was created.
210
+ const path = this._location.getPathname();
211
+ this._previousPath = path;
212
+ this._cacheChildrenWithExternalReferences(svg);
213
+ this._prependPathToReferences(path);
214
+ this._elementRef.nativeElement.appendChild(svg);
215
+ }
216
+ _clearSvgElement() {
217
+ const layoutElement = this._elementRef.nativeElement;
218
+ let childCount = layoutElement.childNodes.length;
219
+ if (this._elementsWithExternalReferences) {
220
+ this._elementsWithExternalReferences.clear();
221
+ }
222
+ // Remove existing non-element child nodes and SVGs, and add the new SVG element. Note that
223
+ // we can't use innerHTML, because IE will throw if the element has a data binding.
224
+ while (childCount--) {
225
+ const child = layoutElement.childNodes[childCount];
226
+ // 1 corresponds to Node.ELEMENT_NODE. We remove all non-element nodes in order to get rid
227
+ // of any loose text nodes, as well as any SVG elements in order to remove any old icons.
228
+ if (child.nodeType !== 1 || child.nodeName.toLowerCase() === 'svg') {
229
+ child.remove();
230
+ }
231
+ }
232
+ }
233
+ _updateFontIconClasses() {
234
+ if (!this._usingFontIcon()) {
235
+ return;
236
+ }
237
+ const elem = this._elementRef.nativeElement;
238
+ const fontSetClass = this.fontSet ?
239
+ this._iconRegistry.classNameForFontAlias(this.fontSet) :
240
+ this._iconRegistry.getDefaultFontSetClass();
241
+ if (fontSetClass != this._previousFontSetClass) {
242
+ if (this._previousFontSetClass) {
243
+ elem.classList.remove(this._previousFontSetClass);
244
+ }
245
+ if (fontSetClass) {
246
+ elem.classList.add(fontSetClass);
247
+ }
248
+ this._previousFontSetClass = fontSetClass;
249
+ }
250
+ if (this.fontIcon != this._previousFontIconClass) {
251
+ if (this._previousFontIconClass) {
252
+ elem.classList.remove(this._previousFontIconClass);
253
+ }
254
+ if (this.fontIcon) {
255
+ elem.classList.add(this.fontIcon);
256
+ }
257
+ this._previousFontIconClass = this.fontIcon;
258
+ }
259
+ }
260
+ /**
261
+ * Cleans up a value to be used as a fontIcon or fontSet.
262
+ * Since the value ends up being assigned as a CSS class, we
263
+ * have to trim the value and omit space-separated values.
264
+ */
265
+ _cleanupFontValue(value) {
266
+ return typeof value === 'string' ? value.trim().split(' ')[0] : value;
267
+ }
268
+ /**
269
+ * Prepends the current path to all elements that have an attribute pointing to a `FuncIRI`
270
+ * reference. This is required because WebKit browsers require references to be prefixed with
271
+ * the current path, if the page has a `base` tag.
272
+ */
273
+ _prependPathToReferences(path) {
274
+ const elements = this._elementsWithExternalReferences;
275
+ if (elements) {
276
+ elements.forEach((attrs, element) => {
277
+ attrs.forEach(attr => {
278
+ element.setAttribute(attr.name, `url('${path}#${attr.value}')`);
279
+ });
280
+ });
281
+ }
282
+ }
283
+ /**
284
+ * Caches the children of an SVG element that have `url()`
285
+ * references that we need to prefix with the current path.
286
+ */
287
+ _cacheChildrenWithExternalReferences(element) {
288
+ const elementsWithFuncIri = element.querySelectorAll(funcIriAttributeSelector);
289
+ const elements = this._elementsWithExternalReferences =
290
+ this._elementsWithExternalReferences || new Map();
291
+ for (let i = 0; i < elementsWithFuncIri.length; i++) {
292
+ funcIriAttributes.forEach(attr => {
293
+ const elementWithReference = elementsWithFuncIri[i];
294
+ const value = elementWithReference.getAttribute(attr);
295
+ const match = value ? value.match(funcIriPattern) : null;
296
+ if (match) {
297
+ let attributes = elements.get(elementWithReference);
298
+ if (!attributes) {
299
+ attributes = [];
300
+ elements.set(elementWithReference, attributes);
301
+ }
302
+ attributes.push({ name: attr, value: match[1] });
303
+ }
304
+ });
305
+ }
306
+ }
307
+ /** Sets a new SVG icon with a particular name. */
308
+ _updateSvgIcon(rawName) {
309
+ this._svgNamespace = null;
310
+ this._svgName = null;
311
+ this._currentIconFetch.unsubscribe();
312
+ if (rawName) {
313
+ const [namespace, iconName] = this._splitIconName(rawName);
314
+ if (namespace) {
315
+ this._svgNamespace = namespace;
316
+ }
317
+ if (iconName) {
318
+ this._svgName = iconName;
319
+ }
320
+ this._currentIconFetch = this._iconRegistry.getNamedSvgIcon(iconName, namespace)
321
+ .pipe(take(1))
322
+ .subscribe(svg => this._setSvgElement(svg), (err) => {
323
+ const errorMessage = `Error retrieving icon ${namespace}:${iconName}! ${err.message}`;
324
+ this._errorHandler.handleError(new Error(errorMessage));
325
+ });
326
+ }
327
+ }
328
+ }
329
+ MatIcon.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatIcon, deps: [{ token: i0.ElementRef }, { token: i1.MatIconRegistry }, { token: 'aria-hidden', attribute: true }, { token: MAT_ICON_LOCATION }, { token: i0.ErrorHandler }], target: i0.ɵɵFactoryTarget.Component });
330
+ MatIcon.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.0.0-next.15", type: MatIcon, selector: "mat-icon", inputs: { color: "color", inline: "inline", svgIcon: "svgIcon", fontSet: "fontSet", fontIcon: "fontIcon" }, host: { attributes: { "role": "img" }, properties: { "attr.data-mat-icon-type": "_usingFontIcon() ? \"font\" : \"svg\"", "attr.data-mat-icon-name": "_svgName || fontIcon", "attr.data-mat-icon-namespace": "_svgNamespace || fontSet", "class.mat-icon-inline": "inline", "class.mat-icon-no-color": "color !== \"primary\" && color !== \"accent\" && color !== \"warn\"" }, classAttribute: "mat-icon notranslate" }, exportAs: ["matIcon"], usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatIcon, decorators: [{
332
+ type: Component,
333
+ args: [{ template: '<ng-content></ng-content>', selector: 'mat-icon', exportAs: 'matIcon', inputs: ['color'], host: {
334
+ 'role': 'img',
335
+ 'class': 'mat-icon notranslate',
336
+ '[attr.data-mat-icon-type]': '_usingFontIcon() ? "font" : "svg"',
337
+ '[attr.data-mat-icon-name]': '_svgName || fontIcon',
338
+ '[attr.data-mat-icon-namespace]': '_svgNamespace || fontSet',
339
+ '[class.mat-icon-inline]': 'inline',
340
+ '[class.mat-icon-no-color]': 'color !== "primary" && color !== "accent" && color !== "warn"',
341
+ }, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, styles: [".mat-icon{background-repeat:no-repeat;display:inline-block;fill:currentColor;height:24px;width:24px}.mat-icon.mat-icon-inline{font-size:inherit;height:inherit;line-height:inherit;width:inherit}[dir=rtl] .mat-icon-rtl-mirror{transform:scale(-1, 1)}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon{display:block}.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-prefix .mat-icon-button .mat-icon,.mat-form-field:not(.mat-form-field-appearance-legacy) .mat-form-field-suffix .mat-icon-button .mat-icon{margin:auto}\n"] }]
342
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.MatIconRegistry }, { type: undefined, decorators: [{
343
+ type: Attribute,
344
+ args: ['aria-hidden']
345
+ }] }, { type: undefined, decorators: [{
346
+ type: Inject,
347
+ args: [MAT_ICON_LOCATION]
348
+ }] }, { type: i0.ErrorHandler }]; }, propDecorators: { inline: [{
349
+ type: Input
350
+ }], svgIcon: [{
351
+ type: Input
352
+ }], fontSet: [{
353
+ type: Input
354
+ }], fontIcon: [{
355
+ type: Input
356
+ }] } });
357
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC9pY29uL2ljb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFlLHFCQUFxQixFQUFDLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pDLE9BQU8sRUFFTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsWUFBWSxFQUNaLE1BQU0sRUFDTixNQUFNLEVBQ04sY0FBYyxFQUNkLEtBQUssRUFHTCxpQkFBaUIsR0FDbEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFXLFVBQVUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzVELE9BQU8sRUFBQyxZQUFZLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFDbEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBRXBDLE9BQU8sRUFBQyxlQUFlLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBR2hELDhDQUE4QztBQUM5QyxvQkFBb0I7QUFDcEIsTUFBTSxZQUFZLEdBQUcsVUFBVSxDQUFDO0lBQzlCLFlBQW1CLFdBQXVCO1FBQXZCLGdCQUFXLEdBQVgsV0FBVyxDQUFZO0lBQUcsQ0FBQztDQUMvQyxDQUFDLENBQUM7QUFFSDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsSUFBSSxjQUFjLENBQWtCLG1CQUFtQixFQUFFO0lBQ3hGLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSx5QkFBeUI7Q0FDbkMsQ0FBQyxDQUFDO0FBVUgsb0JBQW9CO0FBQ3BCLE1BQU0sVUFBVSx5QkFBeUI7SUFDdkMsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLE1BQU0sU0FBUyxHQUFH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QjtnR0F6RWxCLE9BQU8sbW1CQWpCUiwyQkFBMkI7bUdBaUIxQixPQUFPO2tCQWxCbkIsU0FBUzsrQkFDRSwyQkFBMkIsWUFDM0IsVUFBVSxZQUNWLFNBQVMsVUFFWCxDQUFDLE9BQU8sQ0FBQyxRQUNYO3dCQUNKLE1BQU0sRUFBRSxLQUFLO3dCQUNiLE9BQU8sRUFBRSxzQkFBc0I7d0JBQy9CLDJCQUEyQixFQUFFLG1DQUFtQzt3QkFDaEUsMkJBQTJCLEVBQUUsc0JBQXNCO3dCQUNuRCxnQ0FBZ0MsRUFBRSwwQkFBMEI7d0JBQzVELHlCQUF5QixFQUFFLFFBQVE7d0JBQ25DLDJCQUEyQixFQUFFLCtEQUErRDtxQkFDN0YsaUJBQ2MsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTTs7MEJBMEUxQyxTQUFTOzJCQUFDLGFBQWE7OzBCQUN2QixNQUFNOzJCQUFDLGlCQUFpQjt1RUFuRXpCLE1BQU07c0JBRFQsS0FBSztnQkFXRixPQUFPO3NCQURWLEtBQUs7Z0JBZ0JGLE9BQU87c0JBRFYsS0FBSztnQkFjRixRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eX0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICBBZnRlclZpZXdDaGVja2VkLFxuICBBdHRyaWJ1dGUsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIEVycm9ySGFuZGxlcixcbiAgaW5qZWN0LFxuICBJbmplY3QsXG4gIEluamVjdGlvblRva2VuLFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q2FuQ29sb3IsIG1peGluQ29sb3J9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHtTdWJzY3JpcHRpb259IGZyb20gJ3J4anMnO1xuaW1wb3J0IHt0YWtlfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7TWF0SWNvblJlZ2lzdHJ5fSBmcm9tICcuL2ljb24tcmVnaXN0cnknO1xuXG5cbi8vIEJvaWxlcnBsYXRlIGZvciBhcHBseWluZyBtaXhpbnMgdG8gTWF0SWNvbi5cbi8qKiBAZG9jcy1wcml2YXRlICovXG5jb25zdCBfTWF0SWNvbkJhc2UgPSBtaXhpbkNvbG9yKGNsYXNzIHtcbiAgY29uc3RydWN0b3IocHVibGljIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufSk7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIHVzZWQgdG8gcHJvdmlkZSB0aGUgY3VycmVudCBsb2NhdGlvbiB0byBgTWF0SWNvbmAuXG4gKiBVc2VkIHRvIGhhbmRsZSBzZXJ2ZXItc2lkZSByZW5kZXJpbmcgYW5kIHRvIHN0dWIgb3V0IGR1cmluZyB1bml0IHRlc3RzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgY29uc3QgTUFUX0lDT05fTE9DQVRJT04gPSBuZXcgSW5qZWN0aW9uVG9rZW48TWF0SWNvbkxvY2F0aW9uPignbWF0LWljb24tbG9jYXRpb24nLCB7XG4gIHByb3ZpZGVkSW46ICdyb290JyxcbiAgZmFjdG9yeTogTUFUX0lDT05fTE9DQVRJT05fRkFDVE9SWVxufSk7XG5cbi8qKlxuICogU3R1YmJlZCBvdXQgbG9jYXRpb24gZm9yIGBNYXRJY29uYC5cbiAqIEBkb2NzLXByaXZhdGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNYXRJY29uTG9jYXRpb24ge1xuICBnZXRQYXRobmFtZTogKCkgPT4gc3RyaW5nO1xufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGZ1bmN0aW9uIE1BVF9JQ09OX0xPQ0FUSU9OX0ZBQ1RPUlkoKTogTWF0SWNvbkxvY2F0aW9uIHtcbiAgY29uc3QgX2RvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcbiAgY29uc3QgX2xvY2F0aW9uID0gX2RvY3VtZW50ID8gX2RvY3VtZW50LmxvY2F0aW9uIDogbnVsbDtcblxuICByZXR1cm4ge1xuICAgIC8vIE5vdGUgdGhhdCB0aGlzIG5lZWRzIHRvIGJlIGEgZnVuY3Rpb24sIHJhdGhlciB0aGFuIGEgcHJvcGVydHksIGJlY2F1c2UgQW5ndWxhclxuICAgIC8vIHdpbGwgb25seSByZXNvbHZlIGl0IG9uY2UsIGJ1dCB3ZSB3YW50IHRoZSBjdXJyZW50IHBhdGggb24gZWFjaCBjYWxsLlxuICAgIGdldFBhdGhuYW1lOiAoKSA9PiBfbG9jYXRpb24gPyAoX2xvY2F0aW9uLnBhdGhuYW1lICsgX2xvY2F0aW9uLnNlYXJjaCkgOiAnJ1xuICB9O1xufVxuXG5cbi8qKiBTVkcgYXR0cmlidXRlcyB0aGF0IGFjY2VwdCBhIEZ1bmNJUkkgKGUuZy4gYHVybCg8c29tZXRoaW5nPilgKS4gKi9cbmNvbnN0IGZ1bmNJcmlBdHRyaWJ1dGVzID0gW1xuICAnY2xpcC1wYXRoJyxcbiAgJ2NvbG9yLXByb2ZpbGUnLFxuICAnc3JjJyxcbiAgJ2N1cnNvcicsXG4gICdmaWxsJyxcbiAgJ2ZpbHRlcicsXG4gICdtYXJrZXInLFxuICAnbWFya2VyLXN0YXJ0JyxcbiAgJ21hcmtlci1taWQnLFxuICAnbWFya2VyLWVuZCcsXG4gICdtYXNrJyxcbiAgJ3N0cm9rZSdcbl07XG5cbi8qKiBTZWxlY3RvciB0aGF0IGNhbiBiZSB1c2VkIHRvIGZpbmQgYWxsIGVsZW1lbnRzIHRoYXQgYXJlIHVzaW5nIGEgYEZ1bmNJUklgLiAqL1xuY29uc3QgZnVuY0lyaUF0dHJpYnV0ZVNlbGVjdG9yID0gZnVuY0lyaUF0dHJpYnV0ZXMubWFwKGF0dHIgPT4gYFske2F0dHJ9XWApLmpvaW4oJywgJyk7XG5cbi8qKiBSZWdleCB0aGF0IGNhbiBiZSB1c2VkIHRvIGV4dHJhY3QgdGhlIGlkIG91dCBvZiBhIEZ1bmNJUkkuICovXG5jb25zdCBmdW5jSXJpUGF0dGVybiA9IC9edXJsXFwoWydcIl0/IyguKj8pWydcIl0/XFwpJC87XG5cbi8qKlxuICogQ29tcG9uZW50IHRvIGRpc3BsYXkgYW4gaWNvbi4gSXQgY2FuIGJlIHVzZWQgaW4gdGhlIGZvbGxvd2luZyB3YXlzOlxuICpcbiAqIC0gU3BlY2lmeSB0aGUgc3ZnSWNvbiBpbnB1dCB0byBsb2FkIGFuIFNWRyBpY29uIGZyb20gYSBVUkwgcHJldmlvdXNseSByZWdpc3RlcmVkIHdpdGggdGhlXG4gKiAgIGFkZFN2Z0ljb24sIGFkZFN2Z0ljb25Jbk5hbWVzcGFjZSwgYWRkU3ZnSWNvblNldCwgb3IgYWRkU3ZnSWNvblNldEluTmFtZXNwYWNlIG1ldGhvZHMgb2ZcbiAqICAgTWF0SWNvblJlZ2lzdHJ5LiBJZiB0aGUgc3ZnSWNvbiB2YWx1ZSBjb250YWlucyBhIGNvbG9uIGl0IGlzIGFzc3VtZWQgdG8gYmUgaW4gdGhlIGZvcm1hdFxuICogICBcIltuYW1lc3BhY2VdOltuYW1lXVwiLCBpZiBub3QgdGhlIHZhbHVlIHdpbGwgYmUgdGhlIG5hbWUgb2YgYW4gaWNvbiBpbiB0aGUgZGVmYXVsdCBuYW1lc3BhY2UuXG4gKiAgIEV4YW1wbGVzOlxuICogICAgIGA8bWF0LWljb24gc3ZnSWNvbj1cImxlZnQtYXJyb3dcIj48L21hdC1pY29uPlxuICogICAgIDxtYXQtaWNvbiBzdmdJY29uPVwiYW5pbWFsczpjYXRcIj48L21hdC1pY29uPmBcbiAqXG4gKiAtIFVzZSBhIGZvbnQgbGlnYXR1cmUgYXMgYW4gaWNvbiBieSBwdXR0aW5nIHRoZSBsaWdhdHVyZSB0ZXh0IGluIHRoZSBjb250ZW50IG9mIHRoZSBgPG1hdC1pY29uPmBcbiAqICAgY29tcG9uZW50LiBCeSBkZWZhdWx0IHRoZSBNYXRlcmlhbCBpY29ucyBmb250IGlzIHVzZWQgYXMgZGVzY3JpYmVkIGF0XG4gKiAgIGh0dHA6Ly9nb29nbGUuZ2l0aHViLmlvL21hdGVyaWFsLWRlc2lnbi1pY29ucy8jaWNvbi1mb250LWZvci10aGUtd2ViLiBZb3UgY2FuIHNwZWNpZnkgYW5cbiAqICAgYWx0ZXJuYXRlIGZvbnQgYnkgc2V0dGluZyB0aGUgZm9udFNldCBpbnB1dCB0byBlaXRoZXIgdGhlIENTUyBjbGFzcyB0byBhcHBseSB0byB1c2UgdGhlXG4gKiAgIGRlc2lyZWQgZm9udCwgb3IgdG8gYW4gYWxpYXMgcHJldmlvdXNseSByZWdpc3RlcmVkIHdpdGggTWF0SWNvblJlZ2lzdHJ5LnJlZ2lzdGVyRm9udENsYXNzQWxpYXMuXG4gKiAgIEV4YW1wbGVzOlxuICogICAgIGA8bWF0LWljb24+aG9tZTwvbWF0LWljb24+XG4gKiAgICAgPG1hdC1pY29uIGZvbnRTZXQ9XCJteWZvbnRcIj5zdW48L21hdC1pY29uPmBcbiAqXG4gKiAtIFNwZWNpZnkgYSBmb250IGdseXBoIHRvIGJlIGluY2x1ZGVkIHZpYSBDU1MgcnVsZXMgYnkgc2V0dGluZyB0aGUgZm9udFNldCBpbnB1dCB0byBzcGVjaWZ5IHRoZVxuICogICBmb250LCBhbmQgdGhlIGZvbnRJY29uIGlucHV0IHRvIHNwZWNpZnkgdGhlIGljb24uIFR5cGljYWxseSB0aGUgZm9udEljb24gd2lsbCBzcGVjaWZ5IGFcbiAqICAgQ1NTIGNsYXNzIHdoaWNoIGNhdXNlcyB0aGUgZ2x5cGggdG8gYmUgZGlzcGxheWVkIHZpYSBhIDpiZWZvcmUgc2VsZWN0b3IsIGFzIGluXG4gKiAgIGh0dHBzOi8vZm9ydGF3ZXNvbWUuZ2l0aHViLmlvL0ZvbnQtQXdlc29tZS9leGFtcGxlcy9cbiAqICAgRXhhbXBsZTpcbiAqICAgICBgPG1hdC1pY29uIGZvbnRTZXQ9XCJmYVwiIGZvbnRJY29uPVwiYWxhcm1cIj48L21hdC1pY29uPmBcbiAqL1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHNlbGVjdG9yOiAnbWF0LWljb24nLFxuICBleHBvcnRBczogJ21hdEljb24nLFxuICBzdHlsZVVybHM6IFsnaWNvbi5jc3MnXSxcbiAgaW5wdXRzOiBbJ2NvbG9yJ10sXG4gIGhvc3Q6IHtcbiAgICAncm9sZSc6ICdpbWcnLFxuICAgICdjbGFzcyc6ICdtYXQtaWNvbiBub3RyYW5zbGF0ZScsXG4gICAgJ1thdHRyLmRhdGEtbWF0LWljb24tdHlwZV0nOiAnX3VzaW5nRm9udEljb24oKSA/IFwiZm9udFwiIDogXCJzdmdcIicsXG4gICAgJ1thdHRyLmRhdGEtbWF0LWljb24tbmFtZV0nOiAnX3N2Z05hbWUgfHwgZm9udEljb24nLFxuICAgICdbYXR0ci5kYXRhLW1hdC1pY29uLW5hbWVzcGFjZV0nOiAnX3N2Z05hbWVzcGFjZSB8fCBmb250U2V0JyxcbiAgICAnW2NsYXNzLm1hdC1pY29uLWlubGluZV0nOiAnaW5saW5lJyxcbiAgICAnW2NsYXNzLm1hdC1pY29uLW5vLWNvbG9yXSc6ICdjb2xvciAhPT0gXCJwcmltYXJ5XCIgJiYgY29sb3IgIT09IFwiYWNjZW50XCIgJiYgY29sb3IgIT09IFwid2FyblwiJyxcbiAgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIE1hdEljb24gZXh0ZW5kcyBfTWF0SWNvbkJhc2UgaW1wbGVtZW50cyBPbkluaXQsIEFmdGVyVmlld0NoZWNrZWQsIENhbkNvbG9yLCBPbkRlc3Ryb3kge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgaWNvbiBzaG91bGQgYmUgaW5saW5lZCwgYXV0b21hdGljYWxseSBzaXppbmcgdGhlIGljb24gdG8gbWF0Y2ggdGhlIGZvbnQgc2l6ZSBvZlxuICAgKiB0aGUgZWxlbWVudCB0aGUgaWNvbiBpcyBjb250YWluZWQgaW4uXG4gICAqL1xuICBASW5wdXQoKVxuICBnZXQgaW5saW5lKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pbmxpbmU7XG4gIH1cbiAgc2V0IGlubGluZShpbmxpbmU6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9pbmxpbmUgPSBjb2VyY2VCb29sZWFuUHJvcGVydHkoaW5saW5lKTtcbiAgfVxuICBwcml2YXRlIF9pbmxpbmU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogTmFtZSBvZiB0aGUgaWNvbiBpbiB0aGUgU1ZHIGljb24gc2V0LiAqL1xuICBASW5wdXQoKVxuICBnZXQgc3ZnSWNvbigpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fc3ZnSWNvbjsgfVxuICBzZXQgc3ZnSWNvbih2YWx1ZTogc3RyaW5nKSB7XG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLl9zdmdJY29uKSB7XG4gICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgdGhpcy5fdXBkYXRlU3ZnSWNvbih2YWx1ZSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX3N2Z0ljb24pIHtcbiAgICAgICAgdGhpcy5fY2xlYXJTdmdFbGVtZW50KCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9zdmdJY29uID0gdmFsdWU7XG4gICAgfVxuICB9XG4gIHByaXZhdGUgX3N2Z0ljb246IHN0cmluZztcblxuICAvKiogRm9udCBzZXQgdGhhdCB0aGUgaWNvbiBpcyBhIHBhcnQgb2YuICovXG4gIEBJbnB1dCgpXG4gIGdldCBmb250U2V0KCk6IHN0cmluZyB7IHJldHVybiB0aGlzLl9mb250U2V0OyB9XG4gIHNldCBmb250U2V0KHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuX2NsZWFudXBGb250VmFsdWUodmFsdWUpO1xuXG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl9mb250U2V0KSB7XG4gICAgICB0aGlzLl9mb250U2V0ID0gbmV3VmFsdWU7XG4gICAgICB0aGlzLl91cGRhdGVGb250SWNvbkNsYXNzZXMoKTtcbiAgICB9XG4gIH1cbiAgcHJpdmF0ZSBfZm9udFNldDogc3RyaW5nO1xuXG4gIC8qKiBOYW1lIG9mIGFuIGljb24gd2l0aGluIGEgZm9udCBzZXQuICovXG4gIEBJbnB1dCgpXG4gIGdldCBmb250SWNvbigpOiBzdHJpbmcgeyByZXR1cm4gdGhpcy5fZm9udEljb247IH1cbiAgc2V0IGZvbnRJY29uKHZhbHVlOiBzdHJpbmcpIHtcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuX2NsZWFudXBGb250VmFsdWUodmFsdWUpO1xuXG4gICAgaWYgKG5ld1ZhbHVlICE9PSB0aGlzLl9mb250SWNvbikge1xuICAgICAgdGhpcy5fZm9udEljb24gPSBuZXdWYWx1ZTtcbiAgICAgIHRoaXMuX3VwZGF0ZUZvbnRJY29uQ2xhc3NlcygpO1xuICAgIH1cbiAgfVxuICBwcml2YXRlIF9mb250SWNvbjogc3RyaW5nO1xuXG4gIHByaXZhdGUgX3ByZXZpb3VzRm9udFNldENsYXNzOiBzdHJpbmc7XG4gIHByaXZhdGUgX3ByZXZpb3VzRm9udEljb25DbGFzczogc3RyaW5nO1xuXG4gIF9zdmdOYW1lOiBzdHJpbmcgfCBudWxsO1xuICBfc3ZnTmFtZXNwYWNlOiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKiBLZWVwcyB0cmFjayBvZiB0aGUgY3VycmVudCBwYWdlIHBhdGguICovXG4gIHByaXZhdGUgX3ByZXZpb3VzUGF0aD86IHN0cmluZztcblxuICAvKiogS2VlcHMgdHJhY2sgb2YgdGhlIGVsZW1lbnRzIGFuZCBhdHRyaWJ1dGVzIHRoYXQgd2UndmUgcHJlZml4ZWQgd2l0aCB0aGUgY3VycmVudCBwYXRoLiAqL1xuICBwcml2YXRlIF9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXM/OiBNYXA8RWxlbWVudCwge25hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZ31bXT47XG5cbiAgLyoqIFN1YnNjcmlwdGlvbiB0byB0aGUgY3VycmVudCBpbi1wcm9ncmVzcyBTVkcgaWNvbiByZXF1ZXN0LiAqL1xuICBwcml2YXRlIF9jdXJyZW50SWNvbkZldGNoID0gU3Vic2NyaXB0aW9uLkVNUFRZO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIHByaXZhdGUgX2ljb25SZWdpc3RyeTogTWF0SWNvblJlZ2lzdHJ5LFxuICAgICAgQEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nKSBhcmlhSGlkZGVuOiBzdHJpbmcsXG4gICAgICBASW5qZWN0KE1BVF9JQ09OX0xPQ0FUSU9OKSBwcml2YXRlIF9sb2NhdGlvbjogTWF0SWNvbkxvY2F0aW9uLFxuICAgICAgcHJpdmF0ZSByZWFkb25seSBfZXJyb3JIYW5kbGVyOiBFcnJvckhhbmRsZXIpIHtcbiAgICBzdXBlcihlbGVtZW50UmVmKTtcblxuICAgIC8vIElmIHRoZSB1c2VyIGhhcyBub3QgZXhwbGljaXRseSBzZXQgYXJpYS1oaWRkZW4sIG1hcmsgdGhlIGljb24gYXMgaGlkZGVuLCBhcyB0aGlzIGlzXG4gICAgLy8gdGhlIHJpZ2h0IHRoaW5nIHRvIGRvIGZvciB0aGUgbWFqb3JpdHkgb2YgaWNvbiB1c2UtY2FzZXMuXG4gICAgaWYgKCFhcmlhSGlkZGVuKSB7XG4gICAgICBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNwbGl0cyBhbiBzdmdJY29uIGJpbmRpbmcgdmFsdWUgaW50byBpdHMgaWNvbiBzZXQgYW5kIGljb24gbmFtZSBjb21wb25lbnRzLlxuICAgKiBSZXR1cm5zIGEgMi1lbGVtZW50IGFycmF5IG9mIFsoaWNvbiBzZXQpLCAoaWNvbiBuYW1lKV0uXG4gICAqIFRoZSBzZXBhcmF0b3IgZm9yIHRoZSB0d28gZmllbGRzIGlzICc6Jy4gSWYgdGhlcmUgaXMgbm8gc2VwYXJhdG9yLCBhbiBlbXB0eVxuICAgKiBzdHJpbmcgaXMgcmV0dXJuZWQgZm9yIHRoZSBpY29uIHNldCBhbmQgdGhlIGVudGlyZSB2YWx1ZSBpcyByZXR1cm5lZCBmb3JcbiAgICogdGhlIGljb24gbmFtZS4gSWYgdGhlIGFyZ3VtZW50IGlzIGZhbHN5LCByZXR1cm5zIGFuIGFycmF5IG9mIHR3byBlbXB0eSBzdHJpbmdzLlxuICAgKiBUaHJvd3MgYW4gZXJyb3IgaWYgdGhlIG5hbWUgY29udGFpbnMgdHdvIG9yIG1vcmUgJzonIHNlcGFyYXRvcnMuXG4gICAqIEV4YW1wbGVzOlxuICAgKiAgIGAnc29jaWFsOmNha2UnIC0+IFsnc29jaWFsJywgJ2Nha2UnXVxuICAgKiAgICdwZW5ndWluJyAtPiBbJycsICdwZW5ndWluJ11cbiAgICogICBudWxsIC0+IFsnJywgJyddXG4gICAqICAgJ2E6YjpjJyAtPiAodGhyb3dzIEVycm9yKWBcbiAgICovXG4gIHByaXZhdGUgX3NwbGl0SWNvbk5hbWUoaWNvbk5hbWU6IHN0cmluZyk6IFtzdHJpbmcsIHN0cmluZ10ge1xuICAgIGlmICghaWNvbk5hbWUpIHtcbiAgICAgIHJldHVybiBbJycsICcnXTtcbiAgICB9XG4gICAgY29uc3QgcGFydHMgPSBpY29uTmFtZS5zcGxpdCgnOicpO1xuICAgIHN3aXRjaCAocGFydHMubGVuZ3RoKSB7XG4gICAgICBjYXNlIDE6IHJldHVybiBbJycsIHBhcnRzWzBdXTsgLy8gVXNlIGRlZmF1bHQgbmFtZXNwYWNlLlxuICAgICAgY2FzZSAyOiByZXR1cm4gPFtzdHJpbmcsIHN0cmluZ10+cGFydHM7XG4gICAgICBkZWZhdWx0OiB0aHJvdyBFcnJvcihgSW52YWxpZCBpY29uIG5hbWU6IFwiJHtpY29uTmFtZX1cImApOyAvLyBUT0RPOiBhZGQgYW4gbmdEZXZNb2RlIGNoZWNrXG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgLy8gVXBkYXRlIGZvbnQgY2xhc3NlcyBiZWNhdXNlIG5nT25DaGFuZ2VzIHdvbid0IGJlIGNhbGxlZCBpZiBub25lIG9mIHRoZSBpbnB1dHMgYXJlIHByZXNlbnQsXG4gICAgLy8gZS5nLiA8bWF0LWljb24+YXJyb3c8L21hdC1pY29uPiBJbiB0aGlzIGNhc2Ugd2UgbmVlZCB0byBhZGQgYSBDU1MgY2xhc3MgZm9yIHRoZSBkZWZhdWx0IGZvbnQuXG4gICAgdGhpcy5fdXBkYXRlRm9udEljb25DbGFzc2VzKCk7XG4gIH1cblxuICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgY29uc3QgY2FjaGVkRWxlbWVudHMgPSB0aGlzLl9lbGVtZW50c1dpdGhFeHRlcm5hbFJlZmVyZW5jZXM7XG5cbiAgICBpZiAoY2FjaGVkRWxlbWVudHMgJiYgY2FjaGVkRWxlbWVudHMuc2l6ZSkge1xuICAgICAgY29uc3QgbmV3UGF0aCA9IHRoaXMuX2xvY2F0aW9uLmdldFBhdGhuYW1lKCk7XG5cbiAgICAgIC8vIFdlIG5lZWQgdG8gY2hlY2sgd2hldGhlciB0aGUgVVJMIGhhcyBjaGFuZ2VkIG9uIGVhY2ggY2hhbmdlIGRldGVjdGlvbiBzaW5jZVxuICAgICAgLy8gdGhlIGJyb3dzZXIgZG9lc24ndCBoYXZlIGFuIEFQSSB0aGF0IHdpbGwgbGV0IHVzIHJlYWN0IG9uIGxpbmsgY2xpY2tzIGFuZFxuICAgICAgLy8gd2UgY2FuJ3QgZGVwZW5kIG9uIHRoZSBBbmd1bGFyIHJvdXRlci4gVGhlIHJlZmVyZW5jZXMgbmVlZCB0byBiZSB1cGRhdGVkLFxuICAgICAgLy8gYmVjYXVzZSB3aGlsZSBtb3N0IGJyb3dzZXJzIGRvbid0IGNhcmUgd2hldGhlciB0aGUgVVJMIGlzIGNvcnJlY3QgYWZ0ZXJcbiAgICAgIC8vIHRoZSBmaXJzdCByZW5kZXIsIFNhZmFyaSB3aWxsIGJyZWFrIGlmIHRoZSB1c2VyIG5hdmlnYXRlcyB0byBhIGRpZmZlcmVudFxuICAgICAgLy8gcGFnZSBhbmQgdGhlIFNWRyBpc24ndCByZS1yZW5kZXJlZC5cbiAgICAgIGlmIChuZXdQYXRoICE9PSB0aGlzLl9wcmV2aW91c1BhdGgpIHtcbiAgICAgICAgdGhpcy5fcHJldmlvdXNQYXRoID0gbmV3UGF0aDtcbiAgICAgICAgdGhpcy5fcHJlcGVuZFBhdGhUb1JlZmVyZW5jZXMobmV3UGF0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fY3VycmVudEljb25GZXRjaC51bnN1YnNjcmliZSgpO1xuXG4gICAgaWYgKHRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcykge1xuICAgICAgdGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzLmNsZWFyKCk7XG4gICAgfVxuICB9XG5cbiAgX3VzaW5nRm9udEljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLnN2Z0ljb247XG4gIH1cblxuICBwcml2YXRlIF9zZXRTdmdFbGVtZW50KHN2ZzogU1ZHRWxlbWVudCkge1xuICAgIHRoaXMuX2NsZWFyU3ZnRWxlbWVudCgpO1xuXG4gICAgLy8gV29ya2Fyb3VuZCBmb3IgSUUxMSBhbmQgRWRnZSBpZ25vcmluZyBgc3R5bGVgIHRhZ3MgaW5zaWRlIGR5bmFtaWNhbGx5LWNyZWF0ZWQgU1ZHcy5cbiAgICAvLyBTZWU6IGh0dHBzOi8vZGV2ZWxvcGVyLm1pY3Jvc29mdC5jb20vZW4tdXMvbWljcm9zb2Z0LWVkZ2UvcGxhdGZvcm0vaXNzdWVzLzEwODk4NDY5L1xuICAgIC8vIERvIHRoaXMgYmVmb3JlIGluc2VydGluZyB0aGUgZWxlbWVudCBpbnRvIHRoZSBET00sIGluIG9yZGVyIHRvIGF2b2lkIGEgc3R5bGUgcmVjYWxjdWxhdGlvbi5cbiAgICBjb25zdCBzdHlsZVRhZ3MgPSBzdmcucXVlcnlTZWxlY3RvckFsbCgnc3R5bGUnKSBhcyBOb2RlTGlzdE9mPEhUTUxTdHlsZUVsZW1lbnQ+O1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBzdHlsZVRhZ3MubGVuZ3RoOyBpKyspIHtcbiAgICAgIHN0eWxlVGFnc1tpXS50ZXh0Q29udGVudCArPSAnICc7XG4gICAgfVxuXG4gICAgLy8gTm90ZTogd2UgZG8gdGhpcyBmaXggaGVyZSwgcmF0aGVyIHRoYW4gdGhlIGljb24gcmVnaXN0cnksIGJlY2F1c2UgdGhlXG4gICAgLy8gcmVmZXJlbmNlcyBoYXZlIHRvIHBvaW50IHRvIHRoZSBVUkwgYXQgdGhlIHRpbWUgdGhhdCB0aGUgaWNvbiB3YXMgY3JlYXRlZC5cbiAgICBjb25zdCBwYXRoID0gdGhpcy5fbG9jYXRpb24uZ2V0UGF0aG5hbWUoKTtcbiAgICB0aGlzLl9wcmV2aW91c1BhdGggPSBwYXRoO1xuICAgIHRoaXMuX2NhY2hlQ2hpbGRyZW5XaXRoRXh0ZXJuYWxSZWZlcmVuY2VzKHN2Zyk7XG4gICAgdGhpcy5fcHJlcGVuZFBhdGhUb1JlZmVyZW5jZXMocGF0aCk7XG4gICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmFwcGVuZENoaWxkKHN2Zyk7XG4gIH1cblxuICBwcml2YXRlIF9jbGVhclN2Z0VsZW1lbnQoKSB7XG4gICAgY29uc3QgbGF5b3V0RWxlbWVudDogSFRNTEVsZW1lbnQgPSB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgbGV0IGNoaWxkQ291bnQgPSBsYXlvdXRFbGVtZW50LmNoaWxkTm9kZXMubGVuZ3RoO1xuXG4gICAgaWYgKHRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcykge1xuICAgICAgdGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIGV4aXN0aW5nIG5vbi1lbGVtZW50IGNoaWxkIG5vZGVzIGFuZCBTVkdzLCBhbmQgYWRkIHRoZSBuZXcgU1ZHIGVsZW1lbnQuIE5vdGUgdGhhdFxuICAgIC8vIHdlIGNhbid0IHVzZSBpbm5lckhUTUwsIGJlY2F1c2UgSUUgd2lsbCB0aHJvdyBpZiB0aGUgZWxlbWVudCBoYXMgYSBkYXRhIGJpbmRpbmcuXG4gICAgd2hpbGUgKGNoaWxkQ291bnQtLSkge1xuICAgICAgY29uc3QgY2hpbGQgPSBsYXlvdXRFbGVtZW50LmNoaWxkTm9kZXNbY2hpbGRDb3VudF07XG5cbiAgICAgIC8vIDEgY29ycmVzcG9uZHMgdG8gTm9kZS5FTEVNRU5UX05PREUuIFdlIHJlbW92ZSBhbGwgbm9uLWVsZW1lbnQgbm9kZXMgaW4gb3JkZXIgdG8gZ2V0IHJpZFxuICAgICAgLy8gb2YgYW55IGxvb3NlIHRleHQgbm9kZXMsIGFzIHdlbGwgYXMgYW55IFNWRyBlbGVtZW50cyBpbiBvcmRlciB0byByZW1vdmUgYW55IG9sZCBpY29ucy5cbiAgICAgIGlmIChjaGlsZC5ub2RlVHlwZSAhPT0gMSB8fCBjaGlsZC5ub2RlTmFtZS50b0xvd2VyQ2FzZSgpID09PSAnc3ZnJykge1xuICAgICAgICBjaGlsZC5yZW1vdmUoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVGb250SWNvbkNsYXNzZXMoKSB7XG4gICAgaWYgKCF0aGlzLl91c2luZ0ZvbnRJY29uKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBlbGVtOiBIVE1MRWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICBjb25zdCBmb250U2V0Q2xhc3MgPSB0aGlzLmZvbnRTZXQgP1xuICAgICAgICB0aGlzLl9pY29uUmVnaXN0cnkuY2xhc3NOYW1lRm9yRm9udEFsaWFzKHRoaXMuZm9udFNldCkgOlxuICAgICAgICB0aGlzLl9pY29uUmVnaXN0cnkuZ2V0RGVmYXVsdEZvbnRTZXRDbGFzcygpO1xuXG4gICAgaWYgKGZvbnRTZXRDbGFzcyAhPSB0aGlzLl9wcmV2aW91c0ZvbnRTZXRDbGFzcykge1xuICAgICAgaWYgKHRoaXMuX3ByZXZpb3VzRm9udFNldENsYXNzKSB7XG4gICAgICAgIGVsZW0uY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9wcmV2aW91c0ZvbnRTZXRDbGFzcyk7XG4gICAgICB9XG4gICAgICBpZiAoZm9udFNldENsYXNzKSB7XG4gICAgICAgIGVsZW0uY2xhc3NMaXN0LmFkZChmb250U2V0Q2xhc3MpO1xuICAgICAgfVxuICAgICAgdGhpcy5fcHJldmlvdXNGb250U2V0Q2xhc3MgPSBmb250U2V0Q2xhc3M7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuZm9udEljb24gIT0gdGhpcy5fcHJldmlvdXNGb250SWNvbkNsYXNzKSB7XG4gICAgICBpZiAodGhpcy5fcHJldmlvdXNGb250SWNvbkNsYXNzKSB7XG4gICAgICAgIGVsZW0uY2xhc3NMaXN0LnJlbW92ZSh0aGlzLl9wcmV2aW91c0ZvbnRJY29uQ2xhc3MpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuZm9udEljb24pIHtcbiAgICAgICAgZWxlbS5jbGFzc0xpc3QuYWRkKHRoaXMuZm9udEljb24pO1xuICAgICAgfVxuICAgICAgdGhpcy5fcHJldmlvdXNGb250SWNvbkNsYXNzID0gdGhpcy5mb250SWNvbjtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2xlYW5zIHVwIGEgdmFsdWUgdG8gYmUgdXNlZCBhcyBhIGZvbnRJY29uIG9yIGZvbnRTZXQuXG4gICAqIFNpbmNlIHRoZSB2YWx1ZSBlbmRzIHVwIGJlaW5nIGFzc2lnbmVkIGFzIGEgQ1NTIGNsYXNzLCB3ZVxuICAgKiBoYXZlIHRvIHRyaW0gdGhlIHZhbHVlIGFuZCBvbWl0IHNwYWNlLXNlcGFyYXRlZCB2YWx1ZXMuXG4gICAqL1xuICBwcml2YXRlIF9jbGVhbnVwRm9udFZhbHVlKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJyA/IHZhbHVlLnRyaW0oKS5zcGxpdCgnICcpWzBdIDogdmFsdWU7XG4gIH1cblxuICAvKipcbiAgICogUHJlcGVuZHMgdGhlIGN1cnJlbnQgcGF0aCB0byBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGFuIGF0dHJpYnV0ZSBwb2ludGluZyB0byBhIGBGdW5jSVJJYFxuICAgKiByZWZlcmVuY2UuIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSBXZWJLaXQgYnJvd3NlcnMgcmVxdWlyZSByZWZlcmVuY2VzIHRvIGJlIHByZWZpeGVkIHdpdGhcbiAgICogdGhlIGN1cnJlbnQgcGF0aCwgaWYgdGhlIHBhZ2UgaGFzIGEgYGJhc2VgIHRhZy5cbiAgICovXG4gIHByaXZhdGUgX3ByZXBlbmRQYXRoVG9SZWZlcmVuY2VzKHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IGVsZW1lbnRzID0gdGhpcy5fZWxlbWVudHNXaXRoRXh0ZXJuYWxSZWZlcmVuY2VzO1xuXG4gICAgaWYgKGVsZW1lbnRzKSB7XG4gICAgICBlbGVtZW50cy5mb3JFYWNoKChhdHRycywgZWxlbWVudCkgPT4ge1xuICAgICAgICBhdHRycy5mb3JFYWNoKGF0dHIgPT4ge1xuICAgICAgICAgIGVsZW1lbnQuc2V0QXR0cmlidXRlKGF0dHIubmFtZSwgYHVybCgnJHtwYXRofSMke2F0dHIudmFsdWV9JylgKTtcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogQ2FjaGVzIHRoZSBjaGlsZHJlbiBvZiBhbiBTVkcgZWxlbWVudCB0aGF0IGhhdmUgYHVybCgpYFxuICAgKiByZWZlcmVuY2VzIHRoYXQgd2UgbmVlZCB0byBwcmVmaXggd2l0aCB0aGUgY3VycmVudCBwYXRoLlxuICAgKi9cbiAgcHJpdmF0ZSBfY2FjaGVDaGlsZHJlbldpdGhFeHRlcm5hbFJlZmVyZW5jZXMoZWxlbWVudDogU1ZHRWxlbWVudCkge1xuICAgIGNvbnN0IGVsZW1lbnRzV2l0aEZ1bmNJcmkgPSBlbGVtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoZnVuY0lyaUF0dHJpYnV0ZVNlbGVjdG9yKTtcbiAgICBjb25zdCBlbGVtZW50cyA9IHRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcyA9XG4gICAgICAgIHRoaXMuX2VsZW1lbnRzV2l0aEV4dGVybmFsUmVmZXJlbmNlcyB8fCBuZXcgTWFwKCk7XG5cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzV2l0aEZ1bmNJcmkubGVuZ3RoOyBpKyspIHtcbiAgICAgIGZ1bmNJcmlBdHRyaWJ1dGVzLmZvckVhY2goYXR0ciA9PiB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRXaXRoUmVmZXJlbmNlID0gZWxlbWVudHNXaXRoRnVuY0lyaVtpXTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBlbGVtZW50V2l0aFJlZmVyZW5jZS5nZXRBdHRyaWJ1dGUoYXR0cik7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gdmFsdWUgPyB2YWx1ZS5tYXRjaChmdW5jSXJpUGF0dGVybikgOiBudWxsO1xuXG4gICAgICAgIGlmIChtYXRjaCkge1xuICAgICAgICAgIGxldCBhdHRyaWJ1dGVzID0gZWxlbWVudHMuZ2V0KGVsZW1lbnRXaXRoUmVmZXJlbmNlKTtcblxuICAgICAgICAgIGlmICghYXR0cmlidXRlcykge1xuICAgICAgICAgICAgYXR0cmlidXRlcyA9IFtdO1xuICAgICAgICAgICAgZWxlbWVudHMuc2V0KGVsZW1lbnRXaXRoUmVmZXJlbmNlLCBhdHRyaWJ1dGVzKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBhdHRyaWJ1dGVzIS5wdXNoKHtuYW1lOiBhdHRyLCB2YWx1ZTogbWF0Y2hbMV19KTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqIFNldHMgYSBuZXcgU1ZHIGljb24gd2l0aCBhIHBhcnRpY3VsYXIgbmFtZS4gKi9cbiAgcHJpdmF0ZSBfdXBkYXRlU3ZnSWNvbihyYXdOYW1lOiBzdHJpbmd8dW5kZWZpbmVkKSB7XG4gICAgdGhpcy5fc3ZnTmFtZXNwYWNlID0gbnVsbDtcbiAgICB0aGlzLl9zdmdOYW1lID0gbnVsbDtcbiAgICB0aGlzLl9jdXJyZW50SWNvbkZldGNoLnVuc3Vic2NyaWJlKCk7XG5cbiAgICBpZiAocmF3TmFtZSkge1xuICAgICAgY29uc3QgW25hbWVzcGFjZSwgaWNvbk5hbWVdID0gdGhpcy5fc3BsaXRJY29uTmFtZShyYXdOYW1lKTtcblxuICAgICAgaWYgKG5hbWVzcGFjZSkge1xuICAgICAgICB0aGlzLl9zdmdOYW1lc3BhY2UgPSBuYW1lc3BhY2U7XG4gICAgICB9XG5cbiAgICAgIGlmIChpY29uTmFtZSkge1xuICAgICAgICB0aGlzLl9zdmdOYW1lID0gaWNvbk5hbWU7XG4gICAgICB9XG5cbiAgICAgIHRoaXMuX2N1cnJlbnRJY29uRmV0Y2ggPSB0aGlzLl9pY29uUmVnaXN0cnkuZ2V0TmFtZWRTdmdJY29uKGljb25OYW1lLCBuYW1lc3BhY2UpXG4gICAgICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgICAgICAuc3Vic2NyaWJlKHN2ZyA9PiB0aGlzLl9zZXRTdmdFbGVtZW50KHN2ZyksIChlcnI6IEVycm9yKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBgRXJyb3IgcmV0cmlldmluZyBpY29uICR7bmFtZXNwYWNlfToke2ljb25OYW1lfSEgJHtlcnIubWVzc2FnZX1gO1xuICAgICAgICAgICAgdGhpcy5fZXJyb3JIYW5kbGVyLmhhbmRsZUVycm9yKG5ldyBFcnJvcihlcnJvck1lc3NhZ2UpKTtcbiAgICAgICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBzdGF0aWMgbmdBY2NlcHRJbnB1dFR5cGVfaW5saW5lOiBCb29sZWFuSW5wdXQ7XG59XG4iXX0=
@@ -0,0 +1,92 @@
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 { Injectable, NgModule } from '@angular/core';
9
+ import { MatIconRegistry } from '@angular/material/icon';
10
+ import { of as observableOf } from 'rxjs';
11
+ import * as i0 from "@angular/core";
12
+ /**
13
+ * A null icon registry that must be imported to allow disabling of custom
14
+ * icons.
15
+ */
16
+ export class FakeMatIconRegistry {
17
+ addSvgIcon() {
18
+ return this;
19
+ }
20
+ addSvgIconLiteral() {
21
+ return this;
22
+ }
23
+ addSvgIconInNamespace() {
24
+ return this;
25
+ }
26
+ addSvgIconLiteralInNamespace() {
27
+ return this;
28
+ }
29
+ addSvgIconSet() {
30
+ return this;
31
+ }
32
+ addSvgIconSetLiteral() {
33
+ return this;
34
+ }
35
+ addSvgIconSetInNamespace() {
36
+ return this;
37
+ }
38
+ addSvgIconSetLiteralInNamespace() {
39
+ return this;
40
+ }
41
+ registerFontClassAlias() {
42
+ return this;
43
+ }
44
+ classNameForFontAlias(alias) {
45
+ return alias;
46
+ }
47
+ getDefaultFontSetClass() {
48
+ return 'material-icons';
49
+ }
50
+ getSvgIconFromUrl() {
51
+ return observableOf(this._generateEmptySvg());
52
+ }
53
+ getNamedSvgIcon() {
54
+ return observableOf(this._generateEmptySvg());
55
+ }
56
+ setDefaultFontSetClass() {
57
+ return this;
58
+ }
59
+ addSvgIconResolver() {
60
+ return this;
61
+ }
62
+ ngOnDestroy() { }
63
+ _generateEmptySvg() {
64
+ const emptySvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
65
+ emptySvg.classList.add('fake-testing-svg');
66
+ // Emulate real icon characteristics from `MatIconRegistry` so size remains consistent in tests.
67
+ emptySvg.setAttribute('fit', '');
68
+ emptySvg.setAttribute('height', '100%');
69
+ emptySvg.setAttribute('width', '100%');
70
+ emptySvg.setAttribute('preserveAspectRatio', 'xMidYMid meet');
71
+ emptySvg.setAttribute('focusable', 'false');
72
+ return emptySvg;
73
+ }
74
+ }
75
+ FakeMatIconRegistry.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FakeMatIconRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
76
+ FakeMatIconRegistry.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FakeMatIconRegistry });
77
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: FakeMatIconRegistry, decorators: [{
78
+ type: Injectable
79
+ }] });
80
+ /** Import this module in tests to install the null icon registry. */
81
+ export class MatIconTestingModule {
82
+ }
83
+ MatIconTestingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatIconTestingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
84
+ MatIconTestingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatIconTestingModule });
85
+ MatIconTestingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatIconTestingModule, providers: [{ provide: MatIconRegistry, useClass: FakeMatIconRegistry }] });
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0-next.15", ngImport: i0, type: MatIconTestingModule, decorators: [{
87
+ type: NgModule,
88
+ args: [{
89
+ providers: [{ provide: MatIconRegistry, useClass: FakeMatIconRegistry }]
90
+ }]
91
+ }] });
92
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZS1pY29uLXJlZ2lzdHJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL2ljb24vdGVzdGluZy9mYWtlLWljb24tcmVnaXN0cnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLFVBQVUsRUFBRSxRQUFRLEVBQVksTUFBTSxlQUFlLENBQUM7QUFDOUQsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBYSxFQUFFLElBQUksWUFBWSxFQUFDLE1BQU0sTUFBTSxDQUFDOztBQU1wRDs7O0dBR0c7QUFFSCxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFVBQVU7UUFDUixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxxQkFBcUI7UUFDbkIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsNEJBQTRCO1FBQzFCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELCtCQUErQjtRQUM3QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQscUJBQXFCLENBQUMsS0FBYTtRQUNqQyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxzQkFBc0I7UUFDcEIsT0FBTyxnQkFBZ0IsQ0FBQztJQUMxQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVELHNCQUFzQjtRQUNwQixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsV0FBVyxLQUFLLENBQUM7SUFFVCxpQkFBaUI7UUFDdkIsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyw0QkFBNEIsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUMvRSxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQzNDLGdHQUFnRztRQUNoRyxRQUFRLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUNqQyxRQUFRLENBQUMsWUFBWSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN4QyxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxNQUFNLENBQUMsQ0FBQztRQUN2QyxRQUFRLENBQUMsWUFBWSxDQUFDLHFCQUFxQixFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBQzlELFFBQVEsQ0FBQyxZQUFZLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7O3dIQXpFVSxtQkFBbUI7NEhBQW5CLG1CQUFtQjttR0FBbkIsbUJBQW1CO2tCQUQvQixVQUFVOztBQTZFWCxxRUFBcUU7QUFJckUsTUFBTSxPQUFPLG9CQUFvQjs7eUhBQXBCLG9CQUFvQjswSEFBcEIsb0JBQW9COzBIQUFwQixvQkFBb0IsYUFGcEIsQ0FBQyxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFDLENBQUM7bUdBRTNELG9CQUFvQjtrQkFIaEMsUUFBUTttQkFBQztvQkFDUixTQUFTLEVBQUUsQ0FBQyxFQUFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsUUFBUSxFQUFFLG1CQUFtQixFQUFDLENBQUM7aUJBQ3ZFIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAbGljZW5zZVxuICogQ29weXJpZ2h0IEdvb2dsZSBMTEMgQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbiAqXG4gKiBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhbiBNSVQtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZVxuICogZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZSBhdCBodHRwczovL2FuZ3VsYXIuaW8vbGljZW5zZVxuICovXG5cbmltcG9ydCB7SW5qZWN0YWJsZSwgTmdNb2R1bGUsIE9uRGVzdHJveX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdEljb25SZWdpc3RyeX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQge09ic2VydmFibGUsIG9mIGFzIG9ic2VydmFibGVPZn0gZnJvbSAncnhqcyc7XG5cbnR5cGUgUHVibGljQXBpPFQ+ID0ge1xuICBbSyBpbiBrZXlvZiBUXTogVFtLXSBleHRlbmRzICguLi54OiBhbnlbXSkgPT4gVCA/ICguLi54OiBhbnlbXSkgPT4gUHVibGljQXBpPFQ+IDogVFtLXVxufTtcblxuLyoqXG4gKiBBIG51bGwgaWNvbiByZWdpc3RyeSB0aGF0IG11c3QgYmUgaW1wb3J0ZWQgdG8gYWxsb3cgZGlzYWJsaW5nIG9mIGN1c3RvbVxuICogaWNvbnMuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBGYWtlTWF0SWNvblJlZ2lzdHJ5IGltcGxlbWVudHMgUHVibGljQXBpPE1hdEljb25SZWdpc3RyeT4sIE9uRGVzdHJveSB7XG4gIGFkZFN2Z0ljb24oKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhZGRTdmdJY29uTGl0ZXJhbCgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFkZFN2Z0ljb25Jbk5hbWVzcGFjZSgpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGFkZFN2Z0ljb25MaXRlcmFsSW5OYW1lc3BhY2UoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhZGRTdmdJY29uU2V0KCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgYWRkU3ZnSWNvblNldExpdGVyYWwoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhZGRTdmdJY29uU2V0SW5OYW1lc3BhY2UoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhZGRTdmdJY29uU2V0TGl0ZXJhbEluTmFtZXNwYWNlKCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgcmVnaXN0ZXJGb250Q2xhc3NBbGlhcygpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGNsYXNzTmFtZUZvckZvbnRBbGlhcyhhbGlhczogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYWxpYXM7XG4gIH1cblxuICBnZXREZWZhdWx0Rm9udFNldENsYXNzKCkge1xuICAgIHJldHVybiAnbWF0ZXJpYWwtaWNvbnMnO1xuICB9XG5cbiAgZ2V0U3ZnSWNvbkZyb21VcmwoKTogT2JzZXJ2YWJsZTxTVkdFbGVtZW50PiB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVPZih0aGlzLl9nZW5lcmF0ZUVtcHR5U3ZnKCkpO1xuICB9XG5cbiAgZ2V0TmFtZWRTdmdJY29uKCk6IE9ic2VydmFibGU8U1ZHRWxlbWVudD4ge1xuICAgIHJldHVybiBvYnNlcnZhYmxlT2YodGhpcy5fZ2VuZXJhdGVFbXB0eVN2ZygpKTtcbiAgfVxuXG4gIHNldERlZmF1bHRGb250U2V0Q2xhc3MoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBhZGRTdmdJY29uUmVzb2x2ZXIoKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHsgfVxuXG4gIHByaXZhdGUgX2dlbmVyYXRlRW1wdHlTdmcoKTogU1ZHRWxlbWVudCB7XG4gICAgY29uc3QgZW1wdHlTdmcgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50TlMoJ2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJywgJ3N2ZycpO1xuICAgIGVtcHR5U3ZnLmNsYXNzTGlzdC5hZGQoJ2Zha2UtdGVzdGluZy1zdmcnKTtcbiAgICAvLyBFbXVsYXRlIHJlYWwgaWNvbiBjaGFyYWN0ZXJpc3RpY3MgZnJvbSBgTWF0SWNvblJlZ2lzdHJ5YCBzbyBzaXplIHJlbWFpbnMgY29uc2lzdGVudCBpbiB0ZXN0cy5cbiAgICBlbXB0eVN2Zy5zZXRBdHRyaWJ1dGUoJ2ZpdCcsICcnKTtcbiAgICBlbXB0eVN2Zy5zZXRBdHRyaWJ1dGUoJ2hlaWdodCcsICcxMDAlJyk7XG4gICAgZW1wdHlTdmcuc2V0QXR0cmlidXRlKCd3aWR0aCcsICcxMDAlJyk7XG4gICAgZW1wdHlTdmcuc2V0QXR0cmlidXRlKCdwcmVzZXJ2ZUFzcGVjdFJhdGlvJywgJ3hNaWRZTWlkIG1lZXQnKTtcbiAgICBlbXB0eVN2Zy5zZXRBdHRyaWJ1dGUoJ2ZvY3VzYWJsZScsICdmYWxzZScpO1xuICAgIHJldHVybiBlbXB0eVN2ZztcbiAgfVxufVxuXG4vKiogSW1wb3J0IHRoaXMgbW9kdWxlIGluIHRlc3RzIHRvIGluc3RhbGwgdGhlIG51bGwgaWNvbiByZWdpc3RyeS4gKi9cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW3twcm92aWRlOiBNYXRJY29uUmVnaXN0cnksIHVzZUNsYXNzOiBGYWtlTWF0SWNvblJlZ2lzdHJ5fV1cbn0pXG5leHBvcnQgY2xhc3MgTWF0SWNvblRlc3RpbmdNb2R1bGUge1xufVxuIl19
@@ -0,0 +1,54 @@
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
+ /** Harness for interacting with a standard mat-icon in tests. */
10
+ export class MatIconHarness extends ComponentHarness {
11
+ /**
12
+ * Gets a `HarnessPredicate` that can be used to search for a `MatIconHarness` that meets
13
+ * certain criteria.
14
+ * @param options Options for filtering which icon instances are considered a match.
15
+ * @return a `HarnessPredicate` configured with the given options.
16
+ */
17
+ static with(options = {}) {
18
+ return new HarnessPredicate(MatIconHarness, options)
19
+ .addOption('type', options.type, async (harness, type) => (await harness.getType()) === type)
20
+ .addOption('name', options.name, (harness, text) => HarnessPredicate.stringMatches(harness.getName(), text))
21
+ .addOption('namespace', options.namespace, (harness, text) => HarnessPredicate.stringMatches(harness.getNamespace(), text));
22
+ }
23
+ /** Gets the type of the icon. */
24
+ async getType() {
25
+ const type = await (await this.host()).getAttribute('data-mat-icon-type');
26
+ return type === 'svg' ? 0 /* SVG */ : 1 /* FONT */;
27
+ }
28
+ /** Gets the name of the icon. */
29
+ async getName() {
30
+ const host = await this.host();
31
+ const nameFromDom = await host.getAttribute('data-mat-icon-name');
32
+ // If we managed to figure out the name from the attribute, use it.
33
+ if (nameFromDom) {
34
+ return nameFromDom;
35
+ }
36
+ // Some icons support defining the icon as a ligature.
37
+ // As a fallback, try to extract it from the DOM text.
38
+ if (await this.getType() === 1 /* FONT */) {
39
+ return host.text();
40
+ }
41
+ return null;
42
+ }
43
+ /** Gets the namespace of the icon. */
44
+ async getNamespace() {
45
+ return (await this.host()).getAttribute('data-mat-icon-namespace');
46
+ }
47
+ /** Gets whether the icon is inline. */
48
+ async isInline() {
49
+ return (await this.host()).hasClass('mat-icon-inline');
50
+ }
51
+ }
52
+ /** The selector for the host element of a `MatIcon` instance. */
53
+ MatIconHarness.hostSelector = '.mat-icon';
54
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1oYXJuZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsL2ljb24vdGVzdGluZy9pY29uLWhhcm5lc3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7OztHQU1HO0FBRUgsT0FBTyxFQUFDLGdCQUFnQixFQUFFLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFJeEUsaUVBQWlFO0FBQ2pFLE1BQU0sT0FBTyxjQUFlLFNBQVEsZ0JBQWdCO0lBSWxEOzs7OztPQUtHO0lBQ0gsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUE4QixFQUFFO1FBQzFDLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxjQUFjLEVBQUUsT0FBTyxDQUFDO2FBQy9DLFNBQVMsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksRUFDM0IsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsS0FBSyxJQUFJLENBQUM7YUFDL0QsU0FBUyxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsSUFBSSxFQUMzQixDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7YUFDOUUsU0FBUyxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsU0FBUyxFQUNyQyxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQztJQUMzRixDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFDMUUsT0FBTyxJQUFJLEtBQUssS0FBSyxDQUFDLENBQUMsYUFBYyxDQUFDLGFBQWMsQ0FBQztJQUN2RCxDQUFDO0lBRUQsaUNBQWlDO0lBQ2pDLEtBQUssQ0FBQyxPQUFPO1FBQ1gsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDL0IsTUFBTSxXQUFXLEdBQUcsTUFBTSxJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLENBQUM7UUFFbEUsbUVBQW1FO1FBQ25FLElBQUksV0FBVyxFQUFFO1lBQ2YsT0FBTyxXQUFXLENBQUM7U0FDcEI7UUFFRCxzREFBc0Q7UUFDdEQsc0RBQXNEO1FBQ3RELElBQUksTUFBTSxJQUFJLENBQUMsT0FBTyxFQUFFLGlCQUFrQixFQUFFO1lBQzFDLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1NBQ3BCO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsc0NBQXNDO0lBQ3RDLEtBQUssQ0FBQyxZQUFZO1FBQ2hCLE9BQU8sQ0FBQyxNQUFNLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRCx1Q0FBdUM7SUFDdkMsS0FBSyxDQUFDLFFBQVE7UUFDWixPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUN6RCxDQUFDOztBQXBERCxpRUFBaUU7QUFDMUQsMkJBQVksR0FBRyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBsaWNlbnNlXG4gKiBDb3B5cmlnaHQgR29vZ2xlIExMQyBBbGwgUmlnaHRzIFJlc2VydmVkLlxuICpcbiAqIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGFuIE1JVC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlXG4gKiBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlIGF0IGh0dHBzOi8vYW5ndWxhci5pby9saWNlbnNlXG4gKi9cblxuaW1wb3J0IHtDb21wb25lbnRIYXJuZXNzLCBIYXJuZXNzUHJlZGljYXRlfSBmcm9tICdAYW5ndWxhci9jZGsvdGVzdGluZyc7XG5pbXBvcnQge0ljb25IYXJuZXNzRmlsdGVycywgSWNvblR5cGV9IGZyb20gJy4vaWNvbi1oYXJuZXNzLWZpbHRlcnMnO1xuXG5cbi8qKiBIYXJuZXNzIGZvciBpbnRlcmFjdGluZyB3aXRoIGEgc3RhbmRhcmQgbWF0LWljb24gaW4gdGVzdHMuICovXG5leHBvcnQgY2xhc3MgTWF0SWNvbkhhcm5lc3MgZXh0ZW5kcyBDb21wb25lbnRIYXJuZXNzIHtcbiAgLyoqIFRoZSBzZWxlY3RvciBmb3IgdGhlIGhvc3QgZWxlbWVudCBvZiBhIGBNYXRJY29uYCBpbnN0YW5jZS4gKi9cbiAgc3RhdGljIGhvc3RTZWxlY3RvciA9ICcubWF0LWljb24nO1xuXG4gIC8qKlxuICAgKiBHZXRzIGEgYEhhcm5lc3NQcmVkaWNhdGVgIHRoYXQgY2FuIGJlIHVzZWQgdG8gc2VhcmNoIGZvciBhIGBNYXRJY29uSGFybmVzc2AgdGhhdCBtZWV0c1xuICAgKiBjZXJ0YWluIGNyaXRlcmlhLlxuICAgKiBAcGFyYW0gb3B0aW9ucyBPcHRpb25zIGZvciBmaWx0ZXJpbmcgd2hpY2ggaWNvbiBpbnN0YW5jZXMgYXJlIGNvbnNpZGVyZWQgYSBtYXRjaC5cbiAgICogQHJldHVybiBhIGBIYXJuZXNzUHJlZGljYXRlYCBjb25maWd1cmVkIHdpdGggdGhlIGdpdmVuIG9wdGlvbnMuXG4gICAqL1xuICBzdGF0aWMgd2l0aChvcHRpb25zOiBJY29uSGFybmVzc0ZpbHRlcnMgPSB7fSk6IEhhcm5lc3NQcmVkaWNhdGU8TWF0SWNvbkhhcm5lc3M+IHtcbiAgICByZXR1cm4gbmV3IEhhcm5lc3NQcmVkaWNhdGUoTWF0SWNvbkhhcm5lc3MsIG9wdGlvbnMpXG4gICAgICAgIC5hZGRPcHRpb24oJ3R5cGUnLCBvcHRpb25zLnR5cGUsXG4gICAgICAgICAgICBhc3luYyAoaGFybmVzcywgdHlwZSkgPT4gKGF3YWl0IGhhcm5lc3MuZ2V0VHlwZSgpKSA9PT0gdHlwZSlcbiAgICAgICAgLmFkZE9wdGlvbignbmFtZScsIG9wdGlvbnMubmFtZSxcbiAgICAgICAgICAgIChoYXJuZXNzLCB0ZXh0KSA9PiBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXROYW1lKCksIHRleHQpKVxuICAgICAgICAuYWRkT3B0aW9uKCduYW1lc3BhY2UnLCBvcHRpb25zLm5hbWVzcGFjZSxcbiAgICAgICAgICAgIChoYXJuZXNzLCB0ZXh0KSA9PiBIYXJuZXNzUHJlZGljYXRlLnN0cmluZ01hdGNoZXMoaGFybmVzcy5nZXROYW1lc3BhY2UoKSwgdGV4dCkpO1xuICB9XG5cbiAgLyoqIEdldHMgdGhlIHR5cGUgb2YgdGhlIGljb24uICovXG4gIGFzeW5jIGdldFR5cGUoKTogUHJvbWlzZTxJY29uVHlwZT4ge1xuICAgIGNvbnN0IHR5cGUgPSBhd2FpdCAoYXdhaXQgdGhpcy5ob3N0KCkpLmdldEF0dHJpYnV0ZSgnZGF0YS1tYXQtaWNvbi10eXBlJyk7XG4gICAgcmV0dXJuIHR5cGUgPT09ICdzdmcnID8gSWNvblR5cGUuU1ZHIDogSWNvblR5cGUuRk9OVDtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBuYW1lIG9mIHRoZSBpY29uLiAqL1xuICBhc3luYyBnZXROYW1lKCk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICAgIGNvbnN0IGhvc3QgPSBhd2FpdCB0aGlzLmhvc3QoKTtcbiAgICBjb25zdCBuYW1lRnJvbURvbSA9IGF3YWl0IGhvc3QuZ2V0QXR0cmlidXRlKCdkYXRhLW1hdC1pY29uLW5hbWUnKTtcblxuICAgIC8vIElmIHdlIG1hbmFnZWQgdG8gZmlndXJlIG91dCB0aGUgbmFtZSBmcm9tIHRoZSBhdHRyaWJ1dGUsIHVzZSBpdC5cbiAgICBpZiAobmFtZUZyb21Eb20pIHtcbiAgICAgIHJldHVybiBuYW1lRnJvbURvbTtcbiAgICB9XG5cbiAgICAvLyBTb21lIGljb25zIHN1cHBvcnQgZGVmaW5pbmcgdGhlIGljb24gYXMgYSBsaWdhdHVyZS5cbiAgICAvLyBBcyBhIGZhbGxiYWNrLCB0cnkgdG8gZXh0cmFjdCBpdCBmcm9tIHRoZSBET00gdGV4dC5cbiAgICBpZiAoYXdhaXQgdGhpcy5nZXRUeXBlKCkgPT09IEljb25UeXBlLkZPTlQpIHtcbiAgICAgIHJldHVybiBob3N0LnRleHQoKTtcbiAgICB9XG5cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKiBHZXRzIHRoZSBuYW1lc3BhY2Ugb2YgdGhlIGljb24uICovXG4gIGFzeW5jIGdldE5hbWVzcGFjZSgpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gKGF3YWl0IHRoaXMuaG9zdCgpKS5nZXRBdHRyaWJ1dGUoJ2RhdGEtbWF0LWljb24tbmFtZXNwYWNlJyk7XG4gIH1cblxuICAvKiogR2V0cyB3aGV0aGVyIHRoZSBpY29uIGlzIGlubGluZS4gKi9cbiAgYXN5bmMgaXNJbmxpbmUoKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIChhd2FpdCB0aGlzLmhvc3QoKSkuaGFzQ2xhc3MoJ21hdC1pY29uLWlubGluZScpO1xuICB9XG59XG4iXX0=