@angular/material 11.0.4 → 11.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (583) hide show
  1. package/_theming.scss +354 -337
  2. package/autocomplete/_autocomplete-theme.scss +4 -5
  3. package/autocomplete/autocomplete.d.ts +7 -1
  4. package/autocomplete/index.metadata.json +1 -1
  5. package/autocomplete/testing/autocomplete-harness.d.ts +29 -15
  6. package/badge/_badge-theme.scss +2 -3
  7. package/bottom-sheet/_bottom-sheet-theme.scss +4 -5
  8. package/bundles/material-autocomplete-testing.umd.js +54 -36
  9. package/bundles/material-autocomplete-testing.umd.js.map +1 -1
  10. package/bundles/material-autocomplete-testing.umd.min.js +2 -2
  11. package/bundles/material-autocomplete-testing.umd.min.js.map +1 -1
  12. package/bundles/material-autocomplete.umd.js +31 -9
  13. package/bundles/material-autocomplete.umd.js.map +1 -1
  14. package/bundles/material-autocomplete.umd.min.js +3 -3
  15. package/bundles/material-autocomplete.umd.min.js.map +1 -1
  16. package/bundles/material-badge-testing.umd.js +9 -1
  17. package/bundles/material-badge-testing.umd.js.map +1 -1
  18. package/bundles/material-badge-testing.umd.min.js +1 -1
  19. package/bundles/material-badge-testing.umd.min.js.map +1 -1
  20. package/bundles/material-badge.umd.js +9 -1
  21. package/bundles/material-badge.umd.js.map +1 -1
  22. package/bundles/material-badge.umd.min.js +3 -3
  23. package/bundles/material-badge.umd.min.js.map +1 -1
  24. package/bundles/material-bottom-sheet-testing.umd.js +9 -1
  25. package/bundles/material-bottom-sheet-testing.umd.js.map +1 -1
  26. package/bundles/material-bottom-sheet-testing.umd.min.js +1 -1
  27. package/bundles/material-bottom-sheet-testing.umd.min.js.map +1 -1
  28. package/bundles/material-bottom-sheet.umd.js +9 -1
  29. package/bundles/material-bottom-sheet.umd.js.map +1 -1
  30. package/bundles/material-bottom-sheet.umd.min.js +1 -1
  31. package/bundles/material-bottom-sheet.umd.min.js.map +1 -1
  32. package/bundles/material-button-testing.umd.js +9 -1
  33. package/bundles/material-button-testing.umd.js.map +1 -1
  34. package/bundles/material-button-testing.umd.min.js +1 -1
  35. package/bundles/material-button-testing.umd.min.js.map +1 -1
  36. package/bundles/material-button-toggle-testing.umd.js +9 -1
  37. package/bundles/material-button-toggle-testing.umd.js.map +1 -1
  38. package/bundles/material-button-toggle-testing.umd.min.js +1 -1
  39. package/bundles/material-button-toggle-testing.umd.min.js.map +1 -1
  40. package/bundles/material-button-toggle.umd.js +9 -1
  41. package/bundles/material-button-toggle.umd.js.map +1 -1
  42. package/bundles/material-button-toggle.umd.min.js +1 -1
  43. package/bundles/material-button-toggle.umd.min.js.map +1 -1
  44. package/bundles/material-button.umd.js +17 -5
  45. package/bundles/material-button.umd.js.map +1 -1
  46. package/bundles/material-button.umd.min.js +1 -1
  47. package/bundles/material-button.umd.min.js.map +1 -1
  48. package/bundles/material-card-testing.umd.js +9 -1
  49. package/bundles/material-card-testing.umd.js.map +1 -1
  50. package/bundles/material-card-testing.umd.min.js +1 -1
  51. package/bundles/material-card-testing.umd.min.js.map +1 -1
  52. package/bundles/material-checkbox-testing.umd.js +73 -64
  53. package/bundles/material-checkbox-testing.umd.js.map +1 -1
  54. package/bundles/material-checkbox-testing.umd.min.js +2 -2
  55. package/bundles/material-checkbox-testing.umd.min.js.map +1 -1
  56. package/bundles/material-checkbox.umd.js +15 -3
  57. package/bundles/material-checkbox.umd.js.map +1 -1
  58. package/bundles/material-checkbox.umd.min.js +2 -2
  59. package/bundles/material-checkbox.umd.min.js.map +1 -1
  60. package/bundles/material-chips-testing.umd.js +189 -29
  61. package/bundles/material-chips-testing.umd.js.map +1 -1
  62. package/bundles/material-chips-testing.umd.min.js +2 -2
  63. package/bundles/material-chips-testing.umd.min.js.map +1 -1
  64. package/bundles/material-chips.umd.js +9 -1
  65. package/bundles/material-chips.umd.js.map +1 -1
  66. package/bundles/material-chips.umd.min.js +4 -4
  67. package/bundles/material-chips.umd.min.js.map +1 -1
  68. package/bundles/material-core-testing.umd.js +14 -3
  69. package/bundles/material-core-testing.umd.js.map +1 -1
  70. package/bundles/material-core-testing.umd.min.js +1 -1
  71. package/bundles/material-core-testing.umd.min.js.map +1 -1
  72. package/bundles/material-core.umd.js +55 -14
  73. package/bundles/material-core.umd.js.map +1 -1
  74. package/bundles/material-core.umd.min.js +16 -8
  75. package/bundles/material-core.umd.min.js.map +1 -1
  76. package/bundles/material-datepicker-testing.umd.js +24 -12
  77. package/bundles/material-datepicker-testing.umd.js.map +1 -1
  78. package/bundles/material-datepicker-testing.umd.min.js +1 -1
  79. package/bundles/material-datepicker-testing.umd.min.js.map +1 -1
  80. package/bundles/material-datepicker.umd.js +250 -80
  81. package/bundles/material-datepicker.umd.js.map +1 -1
  82. package/bundles/material-datepicker.umd.min.js +20 -12
  83. package/bundles/material-datepicker.umd.min.js.map +1 -1
  84. package/bundles/material-dialog-testing.umd.js +9 -1
  85. package/bundles/material-dialog-testing.umd.js.map +1 -1
  86. package/bundles/material-dialog-testing.umd.min.js +1 -1
  87. package/bundles/material-dialog-testing.umd.min.js.map +1 -1
  88. package/bundles/material-dialog.umd.js +10 -2
  89. package/bundles/material-dialog.umd.js.map +1 -1
  90. package/bundles/material-dialog.umd.min.js +8 -8
  91. package/bundles/material-dialog.umd.min.js.map +1 -1
  92. package/bundles/material-divider-testing.umd.js +9 -1
  93. package/bundles/material-divider-testing.umd.js.map +1 -1
  94. package/bundles/material-divider-testing.umd.min.js +2 -2
  95. package/bundles/material-divider-testing.umd.min.js.map +1 -1
  96. package/bundles/material-expansion-testing.umd.js +9 -1
  97. package/bundles/material-expansion-testing.umd.js.map +1 -1
  98. package/bundles/material-expansion-testing.umd.min.js +1 -1
  99. package/bundles/material-expansion-testing.umd.min.js.map +1 -1
  100. package/bundles/material-expansion.umd.js +16 -4
  101. package/bundles/material-expansion.umd.js.map +1 -1
  102. package/bundles/material-expansion.umd.min.js +6 -6
  103. package/bundles/material-expansion.umd.min.js.map +1 -1
  104. package/bundles/material-form-field-testing-control.umd.js +9 -1
  105. package/bundles/material-form-field-testing-control.umd.js.map +1 -1
  106. package/bundles/material-form-field-testing-control.umd.min.js +1 -1
  107. package/bundles/material-form-field-testing-control.umd.min.js.map +1 -1
  108. package/bundles/material-form-field-testing.umd.js +41 -30
  109. package/bundles/material-form-field-testing.umd.js.map +1 -1
  110. package/bundles/material-form-field-testing.umd.min.js +3 -3
  111. package/bundles/material-form-field-testing.umd.min.js.map +1 -1
  112. package/bundles/material-form-field.umd.js +11 -3
  113. package/bundles/material-form-field.umd.js.map +1 -1
  114. package/bundles/material-form-field.umd.min.js +2 -2
  115. package/bundles/material-form-field.umd.min.js.map +1 -1
  116. package/bundles/material-grid-list-testing.umd.js +15 -5
  117. package/bundles/material-grid-list-testing.umd.js.map +1 -1
  118. package/bundles/material-grid-list-testing.umd.min.js +2 -2
  119. package/bundles/material-grid-list-testing.umd.min.js.map +1 -1
  120. package/bundles/material-grid-list.umd.js +156 -146
  121. package/bundles/material-grid-list.umd.js.map +1 -1
  122. package/bundles/material-grid-list.umd.min.js +12 -19
  123. package/bundles/material-grid-list.umd.min.js.map +1 -1
  124. package/bundles/material-icon-testing.umd.js +12 -2
  125. package/bundles/material-icon-testing.umd.js.map +1 -1
  126. package/bundles/material-icon-testing.umd.min.js +2 -2
  127. package/bundles/material-icon-testing.umd.min.js.map +1 -1
  128. package/bundles/material-icon.umd.js +46 -2
  129. package/bundles/material-icon.umd.js.map +1 -1
  130. package/bundles/material-icon.umd.min.js +3 -3
  131. package/bundles/material-icon.umd.min.js.map +1 -1
  132. package/bundles/material-input-testing.umd.js +19 -8
  133. package/bundles/material-input-testing.umd.js.map +1 -1
  134. package/bundles/material-input-testing.umd.min.js +1 -1
  135. package/bundles/material-input-testing.umd.min.js.map +1 -1
  136. package/bundles/material-input.umd.js +9 -1
  137. package/bundles/material-input.umd.js.map +1 -1
  138. package/bundles/material-input.umd.min.js +1 -1
  139. package/bundles/material-input.umd.min.js.map +1 -1
  140. package/bundles/material-list-testing.umd.js +62 -57
  141. package/bundles/material-list-testing.umd.js.map +1 -1
  142. package/bundles/material-list-testing.umd.min.js +1 -1
  143. package/bundles/material-list-testing.umd.min.js.map +1 -1
  144. package/bundles/material-list.umd.js +9 -1
  145. package/bundles/material-list.umd.js.map +1 -1
  146. package/bundles/material-list.umd.min.js +1 -1
  147. package/bundles/material-list.umd.min.js.map +1 -1
  148. package/bundles/material-menu-testing.umd.js +94 -67
  149. package/bundles/material-menu-testing.umd.js.map +1 -1
  150. package/bundles/material-menu-testing.umd.min.js +2 -2
  151. package/bundles/material-menu-testing.umd.min.js.map +1 -1
  152. package/bundles/material-menu.umd.js +24 -28
  153. package/bundles/material-menu.umd.js.map +1 -1
  154. package/bundles/material-menu.umd.min.js +3 -3
  155. package/bundles/material-menu.umd.min.js.map +1 -1
  156. package/bundles/material-paginator-testing.umd.js +50 -34
  157. package/bundles/material-paginator-testing.umd.js.map +1 -1
  158. package/bundles/material-paginator-testing.umd.min.js +2 -2
  159. package/bundles/material-paginator-testing.umd.min.js.map +1 -1
  160. package/bundles/material-paginator.umd.js +9 -1
  161. package/bundles/material-paginator.umd.js.map +1 -1
  162. package/bundles/material-paginator.umd.min.js +1 -1
  163. package/bundles/material-paginator.umd.min.js.map +1 -1
  164. package/bundles/material-progress-bar-testing.umd.js +9 -1
  165. package/bundles/material-progress-bar-testing.umd.js.map +1 -1
  166. package/bundles/material-progress-bar-testing.umd.min.js +1 -1
  167. package/bundles/material-progress-bar-testing.umd.min.js.map +1 -1
  168. package/bundles/material-progress-bar.umd.js +9 -1
  169. package/bundles/material-progress-bar.umd.js.map +1 -1
  170. package/bundles/material-progress-bar.umd.min.js +1 -1
  171. package/bundles/material-progress-bar.umd.min.js.map +1 -1
  172. package/bundles/material-progress-spinner-testing.umd.js +9 -1
  173. package/bundles/material-progress-spinner-testing.umd.js.map +1 -1
  174. package/bundles/material-progress-spinner-testing.umd.min.js +1 -1
  175. package/bundles/material-progress-spinner-testing.umd.min.js.map +1 -1
  176. package/bundles/material-progress-spinner.umd.js +9 -1
  177. package/bundles/material-progress-spinner.umd.js.map +1 -1
  178. package/bundles/material-progress-spinner.umd.min.js +2 -2
  179. package/bundles/material-progress-spinner.umd.min.js.map +1 -1
  180. package/bundles/material-radio-testing.umd.js +88 -63
  181. package/bundles/material-radio-testing.umd.js.map +1 -1
  182. package/bundles/material-radio-testing.umd.min.js +2 -2
  183. package/bundles/material-radio-testing.umd.min.js.map +1 -1
  184. package/bundles/material-radio.umd.js +18 -5
  185. package/bundles/material-radio.umd.js.map +1 -1
  186. package/bundles/material-radio.umd.min.js +1 -1
  187. package/bundles/material-radio.umd.min.js.map +1 -1
  188. package/bundles/material-select-testing.umd.js +73 -51
  189. package/bundles/material-select-testing.umd.js.map +1 -1
  190. package/bundles/material-select-testing.umd.min.js +2 -2
  191. package/bundles/material-select-testing.umd.min.js.map +1 -1
  192. package/bundles/material-select.umd.js +14 -3
  193. package/bundles/material-select.umd.js.map +1 -1
  194. package/bundles/material-select.umd.min.js +5 -5
  195. package/bundles/material-select.umd.min.js.map +1 -1
  196. package/bundles/material-sidenav-testing.umd.js +175 -28
  197. package/bundles/material-sidenav-testing.umd.js.map +1 -1
  198. package/bundles/material-sidenav-testing.umd.min.js +2 -2
  199. package/bundles/material-sidenav-testing.umd.min.js.map +1 -1
  200. package/bundles/material-sidenav.umd.js +9 -1
  201. package/bundles/material-sidenav.umd.js.map +1 -1
  202. package/bundles/material-sidenav.umd.min.js +1 -1
  203. package/bundles/material-sidenav.umd.min.js.map +1 -1
  204. package/bundles/material-slide-toggle-testing.umd.js +9 -1
  205. package/bundles/material-slide-toggle-testing.umd.js.map +1 -1
  206. package/bundles/material-slide-toggle-testing.umd.min.js +1 -1
  207. package/bundles/material-slide-toggle-testing.umd.min.js.map +1 -1
  208. package/bundles/material-slide-toggle.umd.js +16 -3
  209. package/bundles/material-slide-toggle.umd.js.map +1 -1
  210. package/bundles/material-slide-toggle.umd.min.js +3 -3
  211. package/bundles/material-slide-toggle.umd.min.js.map +1 -1
  212. package/bundles/material-slider-testing.umd.js +15 -4
  213. package/bundles/material-slider-testing.umd.js.map +1 -1
  214. package/bundles/material-slider-testing.umd.min.js +2 -2
  215. package/bundles/material-slider-testing.umd.min.js.map +1 -1
  216. package/bundles/material-slider.umd.js +9 -1
  217. package/bundles/material-slider.umd.js.map +1 -1
  218. package/bundles/material-slider.umd.min.js +1 -1
  219. package/bundles/material-slider.umd.min.js.map +1 -1
  220. package/bundles/material-snack-bar-testing.umd.js +29 -12
  221. package/bundles/material-snack-bar-testing.umd.js.map +1 -1
  222. package/bundles/material-snack-bar-testing.umd.min.js +2 -2
  223. package/bundles/material-snack-bar-testing.umd.min.js.map +1 -1
  224. package/bundles/material-snack-bar.umd.js +20 -2
  225. package/bundles/material-snack-bar.umd.js.map +1 -1
  226. package/bundles/material-snack-bar.umd.min.js +1 -1
  227. package/bundles/material-snack-bar.umd.min.js.map +1 -1
  228. package/bundles/material-sort-testing.umd.js +9 -1
  229. package/bundles/material-sort-testing.umd.js.map +1 -1
  230. package/bundles/material-sort-testing.umd.min.js +1 -1
  231. package/bundles/material-sort-testing.umd.min.js.map +1 -1
  232. package/bundles/material-sort.umd.js +9 -1
  233. package/bundles/material-sort.umd.js.map +1 -1
  234. package/bundles/material-sort.umd.min.js +3 -3
  235. package/bundles/material-sort.umd.min.js.map +1 -1
  236. package/bundles/material-stepper-testing.umd.js +9 -1
  237. package/bundles/material-stepper-testing.umd.js.map +1 -1
  238. package/bundles/material-stepper-testing.umd.min.js +2 -2
  239. package/bundles/material-stepper-testing.umd.min.js.map +1 -1
  240. package/bundles/material-stepper.umd.js +16 -3
  241. package/bundles/material-stepper.umd.js.map +1 -1
  242. package/bundles/material-stepper.umd.min.js +3 -3
  243. package/bundles/material-stepper.umd.min.js.map +1 -1
  244. package/bundles/material-table-testing.umd.js +26 -17
  245. package/bundles/material-table-testing.umd.js.map +1 -1
  246. package/bundles/material-table-testing.umd.min.js +2 -2
  247. package/bundles/material-table-testing.umd.min.js.map +1 -1
  248. package/bundles/material-table.umd.js +65 -38
  249. package/bundles/material-table.umd.js.map +1 -1
  250. package/bundles/material-table.umd.min.js +3 -3
  251. package/bundles/material-table.umd.min.js.map +1 -1
  252. package/bundles/material-tabs-testing.umd.js +11 -3
  253. package/bundles/material-tabs-testing.umd.js.map +1 -1
  254. package/bundles/material-tabs-testing.umd.min.js +1 -1
  255. package/bundles/material-tabs-testing.umd.min.js.map +1 -1
  256. package/bundles/material-tabs.umd.js +10 -2
  257. package/bundles/material-tabs.umd.js.map +1 -1
  258. package/bundles/material-tabs.umd.min.js +5 -5
  259. package/bundles/material-tabs.umd.min.js.map +1 -1
  260. package/bundles/material-toolbar-testing.umd.js +11 -2
  261. package/bundles/material-toolbar-testing.umd.js.map +1 -1
  262. package/bundles/material-toolbar-testing.umd.min.js +2 -2
  263. package/bundles/material-toolbar-testing.umd.min.js.map +1 -1
  264. package/bundles/material-toolbar.umd.js +9 -1
  265. package/bundles/material-toolbar.umd.js.map +1 -1
  266. package/bundles/material-toolbar.umd.min.js +2 -2
  267. package/bundles/material-toolbar.umd.min.js.map +1 -1
  268. package/bundles/material-tooltip-testing.umd.js +9 -1
  269. package/bundles/material-tooltip-testing.umd.js.map +1 -1
  270. package/bundles/material-tooltip-testing.umd.min.js +1 -1
  271. package/bundles/material-tooltip-testing.umd.min.js.map +1 -1
  272. package/bundles/material-tooltip.umd.js +35 -7
  273. package/bundles/material-tooltip.umd.js.map +1 -1
  274. package/bundles/material-tooltip.umd.min.js +3 -3
  275. package/bundles/material-tooltip.umd.min.js.map +1 -1
  276. package/bundles/material-tree-testing.umd.js +10 -2
  277. package/bundles/material-tree-testing.umd.js.map +1 -1
  278. package/bundles/material-tree-testing.umd.min.js +1 -1
  279. package/bundles/material-tree-testing.umd.min.js.map +1 -1
  280. package/bundles/material-tree.umd.js +9 -1
  281. package/bundles/material-tree.umd.js.map +1 -1
  282. package/bundles/material-tree.umd.min.js +3 -3
  283. package/bundles/material-tree.umd.min.js.map +1 -1
  284. package/button/_button-base.scss +2 -2
  285. package/button/_button-theme.scss +10 -11
  286. package/button/index.metadata.json +1 -1
  287. package/button-toggle/_button-toggle-theme.scss +9 -10
  288. package/card/_card-theme.scss +5 -6
  289. package/checkbox/_checkbox-theme.scss +2 -3
  290. package/checkbox/testing/checkbox-harness.d.ts +21 -16
  291. package/chips/_chips-theme.scss +4 -5
  292. package/chips/testing/chip-harness-filters.d.ts +11 -3
  293. package/chips/testing/chip-harness.d.ts +5 -5
  294. package/chips/testing/chip-list-harness.d.ts +15 -12
  295. package/chips/testing/chip-listbox-harness.d.ts +34 -0
  296. package/chips/testing/chip-option-harness.d.ts +29 -0
  297. package/chips/testing/public-api.d.ts +3 -1
  298. package/core/_core.scss +6 -6
  299. package/core/color/_all-color.scss +2 -1
  300. package/core/datetime/date-formats.d.ts +1 -0
  301. package/core/density/private/_all-density.scss +34 -0
  302. package/core/density/{_index.scss → private/_compatibility.scss} +11 -8
  303. package/core/focus-indicators/_focus-indicators.scss +3 -4
  304. package/core/index.metadata.json +1 -1
  305. package/core/option/_optgroup-theme.scss +2 -3
  306. package/core/option/_option-theme.scss +2 -3
  307. package/core/option/index.d.ts +1 -0
  308. package/core/option/optgroup.d.ts +4 -0
  309. package/core/option/option-parent.d.ts +22 -0
  310. package/core/option/option.d.ts +2 -14
  311. package/core/ripple/_ripple.scss +2 -3
  312. package/core/selection/pseudo-checkbox/_pseudo-checkbox-theme.scss +2 -3
  313. package/core/style/_elevation.scss +2 -18
  314. package/core/style/_form-common.scss +2 -2
  315. package/core/style/_private.scss +40 -0
  316. package/core/testing/option-harness.d.ts +2 -0
  317. package/core/theming/_all-theme.scss +3 -2
  318. package/core/theming/_theming.scss +148 -38
  319. package/core/typography/_all-typography.scss +1 -1
  320. package/datepicker/_datepicker-theme.scss +5 -6
  321. package/datepicker/date-range-input-parts.d.ts +2 -3
  322. package/datepicker/date-range-input.d.ts +5 -4
  323. package/datepicker/date-selection-model.d.ts +10 -0
  324. package/datepicker/datepicker-actions.d.ts +33 -0
  325. package/datepicker/datepicker-base.d.ts +52 -9
  326. package/datepicker/datepicker-input-base.d.ts +5 -10
  327. package/datepicker/datepicker-input.d.ts +9 -8
  328. package/datepicker/datepicker-toggle.d.ts +4 -2
  329. package/datepicker/index.metadata.json +1 -1
  330. package/datepicker/public-api.d.ts +1 -0
  331. package/dialog/_dialog-theme.scss +4 -5
  332. package/divider/_divider-theme.scss +2 -3
  333. package/esm2015/autocomplete/autocomplete-trigger.js +10 -2
  334. package/esm2015/autocomplete/autocomplete.js +11 -4
  335. package/esm2015/autocomplete/testing/autocomplete-harness.js +27 -19
  336. package/esm2015/button/button.js +10 -5
  337. package/esm2015/checkbox/checkbox.js +8 -3
  338. package/esm2015/checkbox/testing/checkbox-harness.js +31 -36
  339. package/esm2015/chips/testing/chip-harness-filters.js +1 -1
  340. package/esm2015/chips/testing/chip-harness.js +6 -6
  341. package/esm2015/chips/testing/chip-list-harness.js +19 -16
  342. package/esm2015/chips/testing/chip-listbox-harness.js +49 -0
  343. package/esm2015/chips/testing/chip-option-harness.js +54 -0
  344. package/esm2015/chips/testing/public-api.js +4 -2
  345. package/esm2015/core/common-behaviors/common-module.js +1 -1
  346. package/esm2015/core/datetime/date-formats.js +1 -1
  347. package/esm2015/core/option/index.js +2 -1
  348. package/esm2015/core/option/optgroup.js +32 -7
  349. package/esm2015/core/option/option-parent.js +13 -0
  350. package/esm2015/core/option/option.js +5 -8
  351. package/esm2015/core/testing/option-harness.js +7 -2
  352. package/esm2015/core/version.js +1 -1
  353. package/esm2015/datepicker/date-range-input-parts.js +10 -14
  354. package/esm2015/datepicker/date-range-input.js +11 -4
  355. package/esm2015/datepicker/date-range-picker.js +3 -2
  356. package/esm2015/datepicker/date-selection-model.js +24 -1
  357. package/esm2015/datepicker/datepicker-actions.js +89 -0
  358. package/esm2015/datepicker/datepicker-base.js +66 -25
  359. package/esm2015/datepicker/datepicker-input-base.js +15 -27
  360. package/esm2015/datepicker/datepicker-input.js +11 -5
  361. package/esm2015/datepicker/datepicker-module.js +8 -1
  362. package/esm2015/datepicker/datepicker-toggle.js +7 -10
  363. package/esm2015/datepicker/datepicker.js +5 -2
  364. package/esm2015/datepicker/month-view.js +6 -3
  365. package/esm2015/datepicker/public-api.js +2 -1
  366. package/esm2015/datepicker/testing/date-range-input-harness.js +4 -4
  367. package/esm2015/datepicker/testing/datepicker-input-harness.js +3 -3
  368. package/esm2015/datepicker/testing/datepicker-trigger-harness-base.js +3 -3
  369. package/esm2015/dialog/dialog-ref.js +2 -2
  370. package/esm2015/expansion/expansion-panel-header.js +9 -4
  371. package/esm2015/expansion/expansion-panel.js +1 -1
  372. package/esm2015/form-field/form-field-animations.js +2 -2
  373. package/esm2015/form-field/form-field.js +2 -2
  374. package/esm2015/form-field/testing/form-field-harness.js +14 -9
  375. package/esm2015/grid-list/public-api.js +3 -2
  376. package/esm2015/grid-list/testing/grid-list-harness.js +6 -5
  377. package/esm2015/icon/icon-registry.js +39 -3
  378. package/esm2015/icon/testing/fake-icon-registry.js +4 -2
  379. package/esm2015/input/testing/input-harness.js +3 -3
  380. package/esm2015/input/testing/native-select-harness.js +7 -5
  381. package/esm2015/list/selection-list.js +1 -1
  382. package/esm2015/list/testing/list-harness-base.js +5 -4
  383. package/esm2015/list/testing/list-item-harness-base.js +5 -4
  384. package/esm2015/list/testing/selection-list-harness.js +8 -5
  385. package/esm2015/menu/menu-item.js +3 -3
  386. package/esm2015/menu/menu-trigger.js +15 -25
  387. package/esm2015/menu/menu.js +2 -2
  388. package/esm2015/menu/testing/menu-harness.js +44 -32
  389. package/esm2015/paginator/testing/paginator-harness.js +27 -25
  390. package/esm2015/radio/radio.js +10 -5
  391. package/esm2015/radio/testing/radio-harness.js +40 -29
  392. package/esm2015/select/select.js +6 -3
  393. package/esm2015/select/testing/select-harness.js +36 -28
  394. package/esm2015/sidenav/testing/drawer-container-harness.js +41 -0
  395. package/esm2015/sidenav/testing/drawer-content-harness.js +23 -0
  396. package/esm2015/sidenav/testing/drawer-harness-filters.js +1 -1
  397. package/esm2015/sidenav/testing/drawer-harness.js +19 -13
  398. package/esm2015/sidenav/testing/public-api.js +6 -2
  399. package/esm2015/sidenav/testing/sidenav-container-harness.js +41 -0
  400. package/esm2015/sidenav/testing/sidenav-content-harness.js +23 -0
  401. package/esm2015/sidenav/testing/sidenav-harness.js +4 -4
  402. package/esm2015/slide-toggle/slide-toggle.js +8 -3
  403. package/esm2015/slider/testing/slider-harness.js +5 -5
  404. package/esm2015/snack-bar/snack-bar-container.js +12 -2
  405. package/esm2015/snack-bar/testing/snack-bar-harness.js +19 -12
  406. package/esm2015/stepper/step-header.js +8 -3
  407. package/esm2015/table/table-data-source.js +34 -21
  408. package/esm2015/table/testing/cell-harness.js +3 -3
  409. package/esm2015/table/testing/row-harness.js +5 -5
  410. package/esm2015/table/testing/table-harness.js +8 -8
  411. package/esm2015/tabs/tab-body.js +3 -3
  412. package/esm2015/tabs/testing/tab-group-harness.js +3 -3
  413. package/esm2015/tabs/testing/tab-nav-bar-harness.js +3 -3
  414. package/esm2015/toolbar/testing/toolbar-harness.js +3 -3
  415. package/esm2015/tooltip/tooltip.js +28 -7
  416. package/esm2015/tree/testing/tree-harness.js +2 -2
  417. package/expansion/_expansion-mixins.scss +11 -0
  418. package/expansion/_expansion-theme.scss +13 -19
  419. package/expansion/index.metadata.json +1 -1
  420. package/fesm2015/autocomplete/testing.js +26 -18
  421. package/fesm2015/autocomplete/testing.js.map +1 -1
  422. package/fesm2015/autocomplete.js +19 -5
  423. package/fesm2015/autocomplete.js.map +1 -1
  424. package/fesm2015/button.js +9 -4
  425. package/fesm2015/button.js.map +1 -1
  426. package/fesm2015/checkbox/testing.js +30 -35
  427. package/fesm2015/checkbox/testing.js.map +1 -1
  428. package/fesm2015/checkbox.js +7 -2
  429. package/fesm2015/checkbox.js.map +1 -1
  430. package/fesm2015/chips/testing.js +120 -21
  431. package/fesm2015/chips/testing.js.map +1 -1
  432. package/fesm2015/core/testing.js +6 -1
  433. package/fesm2015/core/testing.js.map +1 -1
  434. package/fesm2015/core.js +45 -13
  435. package/fesm2015/core.js.map +1 -1
  436. package/fesm2015/datepicker/testing.js +5 -5
  437. package/fesm2015/datepicker/testing.js.map +1 -1
  438. package/fesm2015/datepicker.js +275 -116
  439. package/fesm2015/datepicker.js.map +1 -1
  440. package/fesm2015/dialog.js +1 -1
  441. package/fesm2015/dialog.js.map +1 -1
  442. package/fesm2015/expansion.js +8 -3
  443. package/fesm2015/expansion.js.map +1 -1
  444. package/fesm2015/form-field/testing.js +13 -8
  445. package/fesm2015/form-field/testing.js.map +1 -1
  446. package/fesm2015/form-field.js +2 -2
  447. package/fesm2015/form-field.js.map +1 -1
  448. package/fesm2015/grid-list/testing.js +5 -4
  449. package/fesm2015/grid-list/testing.js.map +1 -1
  450. package/fesm2015/grid-list.js +128 -126
  451. package/fesm2015/grid-list.js.map +1 -1
  452. package/fesm2015/icon/testing.js +3 -1
  453. package/fesm2015/icon/testing.js.map +1 -1
  454. package/fesm2015/icon.js +38 -2
  455. package/fesm2015/icon.js.map +1 -1
  456. package/fesm2015/input/testing.js +7 -5
  457. package/fesm2015/input/testing.js.map +1 -1
  458. package/fesm2015/list/testing.js +13 -8
  459. package/fesm2015/list/testing.js.map +1 -1
  460. package/fesm2015/list.js.map +1 -1
  461. package/fesm2015/menu/testing.js +45 -33
  462. package/fesm2015/menu/testing.js.map +1 -1
  463. package/fesm2015/menu.js +17 -27
  464. package/fesm2015/menu.js.map +1 -1
  465. package/fesm2015/paginator/testing.js +26 -24
  466. package/fesm2015/paginator/testing.js.map +1 -1
  467. package/fesm2015/paginator.js.map +1 -1
  468. package/fesm2015/progress-spinner.js.map +1 -1
  469. package/fesm2015/radio/testing.js +39 -28
  470. package/fesm2015/radio/testing.js.map +1 -1
  471. package/fesm2015/radio.js +9 -4
  472. package/fesm2015/radio.js.map +1 -1
  473. package/fesm2015/select/testing.js +36 -28
  474. package/fesm2015/select/testing.js.map +1 -1
  475. package/fesm2015/select.js +5 -2
  476. package/fesm2015/select.js.map +1 -1
  477. package/fesm2015/sidenav/testing.js +139 -15
  478. package/fesm2015/sidenav/testing.js.map +1 -1
  479. package/fesm2015/sidenav.js.map +1 -1
  480. package/fesm2015/slide-toggle.js +7 -2
  481. package/fesm2015/slide-toggle.js.map +1 -1
  482. package/fesm2015/slider/testing.js +4 -4
  483. package/fesm2015/slider/testing.js.map +1 -1
  484. package/fesm2015/snack-bar/testing.js +18 -11
  485. package/fesm2015/snack-bar/testing.js.map +1 -1
  486. package/fesm2015/snack-bar.js +11 -1
  487. package/fesm2015/snack-bar.js.map +1 -1
  488. package/fesm2015/stepper.js +7 -2
  489. package/fesm2015/stepper.js.map +1 -1
  490. package/fesm2015/table/testing.js +11 -11
  491. package/fesm2015/table/testing.js.map +1 -1
  492. package/fesm2015/table.js +34 -21
  493. package/fesm2015/table.js.map +1 -1
  494. package/fesm2015/tabs/testing.js +3 -3
  495. package/fesm2015/tabs/testing.js.map +1 -1
  496. package/fesm2015/tabs.js +2 -2
  497. package/fesm2015/tabs.js.map +1 -1
  498. package/fesm2015/toolbar/testing.js +2 -2
  499. package/fesm2015/toolbar/testing.js.map +1 -1
  500. package/fesm2015/tooltip.js +27 -7
  501. package/fesm2015/tooltip.js.map +1 -1
  502. package/fesm2015/tree/testing.js +1 -1
  503. package/fesm2015/tree/testing.js.map +1 -1
  504. package/form-field/_form-field-fill-theme.scss +4 -5
  505. package/form-field/_form-field-legacy-theme.scss +5 -6
  506. package/form-field/_form-field-outline-theme.scss +4 -5
  507. package/form-field/_form-field-standard-theme.scss +5 -6
  508. package/form-field/_form-field-theme.scss +8 -9
  509. package/form-field/index.metadata.json +1 -1
  510. package/grid-list/_grid-list-theme.scss +2 -3
  511. package/grid-list/index.metadata.json +1 -1
  512. package/grid-list/public-api.d.ts +2 -1
  513. package/icon/_icon-theme.scss +2 -3
  514. package/icon/icon-registry.d.ts +23 -0
  515. package/icon/index.metadata.json +1 -1
  516. package/icon/testing/fake-icon-registry.d.ts +1 -0
  517. package/icon/testing/index.metadata.json +1 -1
  518. package/input/_input-theme.scss +3 -4
  519. package/list/_list-theme.scss +2 -3
  520. package/list/index.metadata.json +1 -1
  521. package/list/selection-list.d.ts +6 -1
  522. package/list/testing/list-harness-base.d.ts +1 -1
  523. package/list/testing/list-item-harness-base.d.ts +2 -2
  524. package/list/testing/selection-list-harness.d.ts +2 -1
  525. package/menu/_menu-theme.scss +4 -5
  526. package/menu/index.metadata.json +1 -1
  527. package/menu/menu-trigger.d.ts +1 -3
  528. package/menu/menu.d.ts +4 -2
  529. package/menu/testing/menu-harness.d.ts +39 -26
  530. package/package.json +2 -2
  531. package/paginator/_paginator-theme.scss +7 -8
  532. package/paginator/testing/paginator-harness.d.ts +32 -19
  533. package/prebuilt-themes/deeppurple-amber.css +1 -1
  534. package/prebuilt-themes/indigo-pink.css +1 -1
  535. package/prebuilt-themes/pink-bluegrey.css +1 -1
  536. package/prebuilt-themes/purple-green.css +1 -1
  537. package/progress-bar/_progress-bar-theme.scss +2 -3
  538. package/progress-spinner/_progress-spinner-theme.scss +2 -3
  539. package/radio/_radio-theme.scss +2 -3
  540. package/radio/index.metadata.json +1 -1
  541. package/radio/radio.d.ts +2 -2
  542. package/radio/testing/radio-harness.d.ts +39 -24
  543. package/schematics/ng-add/fonts/material-fonts.js +7 -5
  544. package/schematics/ng-add/index.js +1 -1
  545. package/schematics/ng-add/setup-project.js +4 -3
  546. package/select/_select-theme.scss +5 -6
  547. package/select/index.metadata.json +1 -1
  548. package/select/testing/select-harness.d.ts +28 -16
  549. package/sidenav/_sidenav-theme.scss +4 -5
  550. package/sidenav/testing/drawer-container-harness.d.ts +30 -0
  551. package/sidenav/testing/drawer-content-harness.d.ts +21 -0
  552. package/sidenav/testing/drawer-harness-filters.d.ts +6 -0
  553. package/sidenav/testing/drawer-harness.d.ts +13 -7
  554. package/sidenav/testing/public-api.d.ts +5 -1
  555. package/sidenav/testing/sidenav-container-harness.d.ts +30 -0
  556. package/sidenav/testing/sidenav-content-harness.d.ts +21 -0
  557. package/sidenav/testing/sidenav-harness.d.ts +3 -3
  558. package/slide-toggle/_slide-toggle-theme.scss +4 -5
  559. package/slide-toggle/slide-toggle.d.ts +2 -2
  560. package/slider/_slider-theme.scss +2 -3
  561. package/snack-bar/_snack-bar-theme.scss +4 -5
  562. package/snack-bar/index.metadata.json +1 -1
  563. package/snack-bar/snack-bar-container.d.ts +5 -0
  564. package/snack-bar/testing/snack-bar-harness.d.ts +7 -4
  565. package/sort/_sort-theme.scss +2 -3
  566. package/stepper/_stepper-theme.scss +7 -8
  567. package/stepper/step-header.d.ts +2 -2
  568. package/table/_table-theme.scss +2 -3
  569. package/table/index.metadata.json +1 -1
  570. package/table/table-data-source.d.ts +31 -20
  571. package/table/testing/cell-harness.d.ts +2 -2
  572. package/tabs/_tabs-common.scss +2 -2
  573. package/tabs/_tabs-theme.scss +14 -9
  574. package/tabs/index.metadata.json +1 -1
  575. package/tabs/tab-body.d.ts +3 -3
  576. package/toolbar/_toolbar-theme.scss +8 -9
  577. package/tooltip/_tooltip-theme.scss +2 -3
  578. package/tooltip/index.metadata.json +1 -1
  579. package/tooltip/tooltip.d.ts +10 -1
  580. package/tree/_tree-theme.scss +7 -8
  581. package/core/density/_all-density.scss +0 -19
  582. package/core/style/_noop-animation.scss +0 -22
  583. package/core/theming/_check-duplicate-styles.scss +0 -106
@@ -1 +1 @@
1
- {"version":3,"sources":["src/material/material-tooltip.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","material","tooltip","cdk","overlay","a11y","common","core","scrolling","bidi","coercion","keycodes","layout","platform","portal","rxjs","operators","animations","this","core$1","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","matTooltipAnimations","tooltipState","trigger","state","style","opacity","transform","transition","animate","keyframes","offset","passiveListenerOptions","normalizePassiveListenerOptions","passive","MAT_TOOLTIP_SCROLL_STRATEGY","InjectionToken","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY","scrollStrategies","reposition","scrollThrottle","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER","provide","deps","Overlay","useFactory","MAT_TOOLTIP_DEFAULT_OPTIONS","providedIn","MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY","showDelay","hideDelay","touchendHideDelay","MatTooltip","_overlay","_elementRef","_scrollDispatcher","_viewContainerRef","_ngZone","_platform","_ariaDescriber","_focusMonitor","scrollStrategy","_dir","_defaultOptions","_this","_position","_disabled","_viewInitialized","_pointerExitEventsInitialized","touchGestures","_message","_passiveListeners","_destroyed","Subject","_handleKeydown","event","_isTooltipVisible","keyCode","ESCAPE","hasModifierKey","preventDefault","stopPropagation","run","hide","_scrollStrategy","position","runOutsideAngular","nativeElement","addEventListener","Object","defineProperty","prototype","get","set","_overlayRef","_updatePosition","_tooltipInstance","show","updatePosition","enumerable","configurable","coerceBooleanProperty","_setupPointerEnterEventsIfNeeded","removeDescription","String","trim","_updateTooltipMessage","Promise","resolve","then","describe","message","_tooltipClass","_setTooltipClass","ngAfterViewInit","monitor","pipe","takeUntil","subscribe","origin","ngOnDestroy","clearTimeout","_touchstartTimeout","dispose","removeEventListener","forEach","_a","_b","length","complete","stopMonitoring","delay","disabled","_showTimeoutId","_hideTimeoutId","overlayRef","_createOverlay","_detach","_portal","ComponentPortal","TooltipComponent","attach","instance","afterHidden","toggle","isVisible","scrollableAncestors","getAncestorScrollContainers","strategy","flexibleConnectedTo","withTransformOriginOn","withFlexibleDimensions","withViewportMargin","withScrollableContainers","positionChanges","change","scrollableViewProperties","isOverlayClipped","create","direction","positionStrategy","panelClass","detachments","hasAttached","detach","getConfig","_getOrigin","_getOverlayPosition","withPositions","assign","main","fallback","originPosition","isLtr","originX","originY","_invertPosition","x","y","overlayPosition","overlayX","overlayY","_markForCheck","onMicrotaskEmpty","take","tooltipClass","_platformSupportsMouseEvents","_setupPointerExitEventsIfNeeded","_disableNativeGesturesIfNecessary","setTimeout","_addListeners","exitListeners","touchendListener","apply","__spread","arguments","concat","listeners","IOS","ANDROID","gestures","element","nodeName","userSelect","msUserSelect","webkitUserSelect","MozUserSelect","draggable","webkitUserDrag","touchAction","webkitTapHighlightColor","decorators","type","Directive","args","selector","exportAs","host","class","ctorParameters","ElementRef","ScrollDispatcher","ViewContainerRef","NgZone","Platform","AriaDescriber","FocusMonitor","undefined","Inject","Directionality","Optional","propDecorators","Input","MatTooltipModule","_changeDetectorRef","_breakpointObserver","_visibility","_closeOnInteraction","_onHide","_isHandset","observe","Breakpoints","Handset","_animationStart","_animationDone","toState","_handleBodyInteraction","markForCheck","Component","template","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","[style.zoom]","(body:click)","aria-hidden","styles","ChangeDetectorRef","BreakpointObserver","NgModule","imports","A11yModule","CommonModule","OverlayModule","MatCommonModule","CdkScrollableModule","declarations","entryComponents","providers","SCROLL_THROTTLE_MS","TOOLTIP_PANEL_CLASS","getMatTooltipInvalidPositionError","Error"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/overlay'), require('@angular/cdk/a11y'), require('@angular/common'), require('@angular/core'), require('@angular/material/core'), require('@angular/cdk/scrolling'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('@angular/cdk/keycodes'), require('@angular/cdk/layout'), require('@angular/cdk/platform'), require('@angular/cdk/portal'), require('rxjs'), require('rxjs/operators'), require('@angular/animations')) :\n typeof define === 'function' && define.amd ? define('@angular/material/tooltip', ['exports', '@angular/cdk/overlay', '@angular/cdk/a11y', '@angular/common', '@angular/core', '@angular/material/core', '@angular/cdk/scrolling', '@angular/cdk/bidi', '@angular/cdk/coercion', '@angular/cdk/keycodes', '@angular/cdk/layout', '@angular/cdk/platform', '@angular/cdk/portal', 'rxjs', 'rxjs/operators', '@angular/animations'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.tooltip = {}), global.ng.cdk.overlay, global.ng.cdk.a11y, global.ng.common, global.ng.core, global.ng.material.core, global.ng.cdk.scrolling, global.ng.cdk.bidi, global.ng.cdk.coercion, global.ng.cdk.keycodes, global.ng.cdk.layout, global.ng.cdk.platform, global.ng.cdk.portal, global.rxjs, global.rxjs.operators, global.ng.animations));\n}(this, (function (exports, overlay, a11y, common, core, core$1, scrolling, bidi, coercion, keycodes, layout, platform, portal, rxjs, operators, animations) { 'use strict';\n\n /*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */\n /* global Reflect, Promise */\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b)\n if (Object.prototype.hasOwnProperty.call(b, p))\n d[p] = b[p]; };\n return extendStatics(d, b);\n };\n function __extends(d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n }\n var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n function __rest(s, e) {\n var t = {};\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n }\n function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n }\n function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); };\n }\n function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\")\n return Reflect.metadata(metadataKey, metadataValue);\n }\n function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try {\n step(generator.next(value));\n }\n catch (e) {\n reject(e);\n } }\n function rejected(value) { try {\n step(generator[\"throw\"](value));\n }\n catch (e) {\n reject(e);\n } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n }\n function __generator(thisArg, body) {\n var _ = { label: 0, sent: function () { if (t[0] & 1)\n throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f)\n throw new TypeError(\"Generator is already executing.\");\n while (_)\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)\n return t;\n if (y = 0, t)\n op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return { value: op[1], done: false };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2])\n _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n }\n catch (e) {\n op = [6, e];\n y = 0;\n }\n finally {\n f = t = 0;\n }\n if (op[0] & 5)\n throw op[1];\n return { value: op[0] ? op[1] : void 0, done: true };\n }\n }\n var __createBinding = Object.create ? (function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });\n }) : (function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n o[k2] = m[k];\n });\n function __exportStar(m, o) {\n for (var p in m)\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p))\n __createBinding(o, m, p);\n }\n function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m)\n return m.call(o);\n if (o && typeof o.length === \"number\")\n return {\n next: function () {\n if (o && i >= o.length)\n o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n }\n function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m)\n return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done)\n ar.push(r.value);\n }\n catch (error) {\n e = { error: error };\n }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"]))\n m.call(i);\n }\n finally {\n if (e)\n throw e.error;\n }\n }\n return ar;\n }\n function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n }\n function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++)\n s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n }\n ;\n function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n }\n function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator)\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n])\n i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try {\n step(g[n](v));\n }\n catch (e) {\n settle(q[0][3], e);\n } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length)\n resume(q[0][0], q[0][1]); }\n }\n function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\n }\n function __asyncValues(o) {\n if (!Symbol.asyncIterator)\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }\n }\n function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", { value: raw });\n }\n else {\n cooked.raw = raw;\n }\n return cooked;\n }\n ;\n var __setModuleDefault = Object.create ? (function (o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n }) : function (o, v) {\n o[\"default\"] = v;\n };\n function __importStar(mod) {\n if (mod && mod.__esModule)\n return mod;\n var result = {};\n if (mod != null)\n for (var k in mod)\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k))\n __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n }\n function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n }\n function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n }\n function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n }\n\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * Animations used by MatTooltip.\n * @docs-private\n */\n var matTooltipAnimations = {\n /** Animation that transitions a tooltip in and out. */\n tooltipState: animations.trigger('state', [\n animations.state('initial, void, hidden', animations.style({ opacity: 0, transform: 'scale(0)' })),\n animations.state('visible', animations.style({ transform: 'scale(1)' })),\n animations.transition('* => visible', animations.animate('200ms cubic-bezier(0, 0, 0.2, 1)', animations.keyframes([\n animations.style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n animations.style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n animations.style({ opacity: 1, transform: 'scale(1)', offset: 1 })\n ]))),\n animations.transition('* => hidden', animations.animate('100ms cubic-bezier(0, 0, 0.2, 1)', animations.style({ opacity: 0 }))),\n ])\n };\n\n /** Time in ms to throttle repositioning after scroll events. */\n var SCROLL_THROTTLE_MS = 20;\n /** CSS class that will be attached to the overlay panel. */\n var TOOLTIP_PANEL_CLASS = 'mat-tooltip-panel';\n /** Options used to bind passive event listeners. */\n var passiveListenerOptions = platform.normalizePassiveListenerOptions({ passive: true });\n /**\n * Time between the user putting the pointer on a tooltip\n * trigger and the long press event being fired.\n */\n var LONGPRESS_DELAY = 500;\n /**\n * Creates an error to be thrown if the user supplied an invalid tooltip position.\n * @docs-private\n */\n function getMatTooltipInvalidPositionError(position) {\n return Error(\"Tooltip position \\\"\" + position + \"\\\" is invalid.\");\n }\n /** Injection token that determines the scroll handling while a tooltip is visible. */\n var MAT_TOOLTIP_SCROLL_STRATEGY = new core.InjectionToken('mat-tooltip-scroll-strategy');\n /** @docs-private */\n function MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay) {\n return function () { return overlay.scrollStrategies.reposition({ scrollThrottle: SCROLL_THROTTLE_MS }); };\n }\n /** @docs-private */\n var MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MAT_TOOLTIP_SCROLL_STRATEGY,\n deps: [overlay.Overlay],\n useFactory: MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY,\n };\n /** Injection token to be used to override the default options for `matTooltip`. */\n var MAT_TOOLTIP_DEFAULT_OPTIONS = new core.InjectionToken('mat-tooltip-default-options', {\n providedIn: 'root',\n factory: MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY\n });\n /** @docs-private */\n function MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY() {\n return {\n showDelay: 0,\n hideDelay: 0,\n touchendHideDelay: 1500,\n };\n }\n /**\n * Directive that attaches a material design tooltip to the host element. Animates the showing and\n * hiding of a tooltip provided position (defaults to below the element).\n *\n * https://material.io/design/components/tooltips.html\n */\n var MatTooltip = /** @class */ (function () {\n function MatTooltip(_overlay, _elementRef, _scrollDispatcher, _viewContainerRef, _ngZone, _platform, _ariaDescriber, _focusMonitor, scrollStrategy, _dir, _defaultOptions) {\n var _this = this;\n this._overlay = _overlay;\n this._elementRef = _elementRef;\n this._scrollDispatcher = _scrollDispatcher;\n this._viewContainerRef = _viewContainerRef;\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._ariaDescriber = _ariaDescriber;\n this._focusMonitor = _focusMonitor;\n this._dir = _dir;\n this._defaultOptions = _defaultOptions;\n this._position = 'below';\n this._disabled = false;\n this._viewInitialized = false;\n this._pointerExitEventsInitialized = false;\n /** The default delay in ms before showing the tooltip after show is called */\n this.showDelay = this._defaultOptions.showDelay;\n /** The default delay in ms before hiding the tooltip after hide is called */\n this.hideDelay = this._defaultOptions.hideDelay;\n /**\n * How touch gestures should be handled by the tooltip. On touch devices the tooltip directive\n * uses a long press gesture to show and hide, however it can conflict with the native browser\n * gestures. To work around the conflict, Angular Material disables native gestures on the\n * trigger, but that might not be desirable on particular elements (e.g. inputs and draggable\n * elements). The different values for this option configure the touch event handling as follows:\n * - `auto` - Enables touch gestures for all elements, but tries to avoid conflicts with native\n * browser gestures on particular elements. In particular, it allows text selection on inputs\n * and textareas, and preserves the native browser dragging on elements marked as `draggable`.\n * - `on` - Enables touch gestures for all elements and disables native\n * browser gestures with no exceptions.\n * - `off` - Disables touch gestures. Note that this will prevent the tooltip from\n * showing on touch devices.\n */\n this.touchGestures = 'auto';\n this._message = '';\n /** Manually-bound passive event listeners. */\n this._passiveListeners = [];\n /** Emits when the component is destroyed. */\n this._destroyed = new rxjs.Subject();\n /**\n * Handles the keydown events on the host element.\n * Needs to be an arrow function so that we can use it in addEventListener.\n */\n this._handleKeydown = function (event) {\n if (_this._isTooltipVisible() && event.keyCode === keycodes.ESCAPE && !keycodes.hasModifierKey(event)) {\n event.preventDefault();\n event.stopPropagation();\n _this._ngZone.run(function () { return _this.hide(0); });\n }\n };\n this._scrollStrategy = scrollStrategy;\n if (_defaultOptions) {\n if (_defaultOptions.position) {\n this.position = _defaultOptions.position;\n }\n if (_defaultOptions.touchGestures) {\n this.touchGestures = _defaultOptions.touchGestures;\n }\n }\n _ngZone.runOutsideAngular(function () {\n _elementRef.nativeElement.addEventListener('keydown', _this._handleKeydown);\n });\n }\n Object.defineProperty(MatTooltip.prototype, \"position\", {\n /** Allows the user to define the position of the tooltip relative to the parent element */\n get: function () { return this._position; },\n set: function (value) {\n if (value !== this._position) {\n this._position = value;\n if (this._overlayRef) {\n this._updatePosition();\n if (this._tooltipInstance) {\n this._tooltipInstance.show(0);\n }\n this._overlayRef.updatePosition();\n }\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTooltip.prototype, \"disabled\", {\n /** Disables the display of the tooltip. */\n get: function () { return this._disabled; },\n set: function (value) {\n this._disabled = coercion.coerceBooleanProperty(value);\n // If tooltip is disabled, hide immediately.\n if (this._disabled) {\n this.hide(0);\n }\n else {\n this._setupPointerEnterEventsIfNeeded();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTooltip.prototype, \"message\", {\n /** The message to be displayed in the tooltip */\n get: function () { return this._message; },\n set: function (value) {\n var _this = this;\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this._message);\n // If the message is not a string (e.g. number), convert it to a string and trim it.\n // Must convert with `String(value)`, not `${value}`, otherwise Closure Compiler optimises\n // away the string-conversion: https://github.com/angular/components/issues/20684\n this._message = value != null ? String(value).trim() : '';\n if (!this._message && this._isTooltipVisible()) {\n this.hide(0);\n }\n else {\n this._setupPointerEnterEventsIfNeeded();\n this._updateTooltipMessage();\n this._ngZone.runOutsideAngular(function () {\n // The `AriaDescriber` has some functionality that avoids adding a description if it's the\n // same as the `aria-label` of an element, however we can't know whether the tooltip trigger\n // has a data-bound `aria-label` or when it'll be set for the first time. We can avoid the\n // issue by deferring the description by a tick so Angular has time to set the `aria-label`.\n Promise.resolve().then(function () {\n _this._ariaDescriber.describe(_this._elementRef.nativeElement, _this.message);\n });\n });\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTooltip.prototype, \"tooltipClass\", {\n /** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */\n get: function () { return this._tooltipClass; },\n set: function (value) {\n this._tooltipClass = value;\n if (this._tooltipInstance) {\n this._setTooltipClass(this._tooltipClass);\n }\n },\n enumerable: false,\n configurable: true\n });\n MatTooltip.prototype.ngAfterViewInit = function () {\n var _this = this;\n // This needs to happen after view init so the initial values for all inputs have been set.\n this._viewInitialized = true;\n this._setupPointerEnterEventsIfNeeded();\n this._focusMonitor.monitor(this._elementRef)\n .pipe(operators.takeUntil(this._destroyed))\n .subscribe(function (origin) {\n // Note that the focus monitor runs outside the Angular zone.\n if (!origin) {\n _this._ngZone.run(function () { return _this.hide(0); });\n }\n else if (origin === 'keyboard') {\n _this._ngZone.run(function () { return _this.show(); });\n }\n });\n };\n /**\n * Dispose the tooltip when destroyed.\n */\n MatTooltip.prototype.ngOnDestroy = function () {\n var nativeElement = this._elementRef.nativeElement;\n clearTimeout(this._touchstartTimeout);\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._tooltipInstance = null;\n }\n // Clean up the event listeners set in the constructor\n nativeElement.removeEventListener('keydown', this._handleKeydown);\n this._passiveListeners.forEach(function (_a) {\n var _b = __read(_a, 2), event = _b[0], listener = _b[1];\n nativeElement.removeEventListener(event, listener, passiveListenerOptions);\n });\n this._passiveListeners.length = 0;\n this._destroyed.next();\n this._destroyed.complete();\n this._ariaDescriber.removeDescription(nativeElement, this.message);\n this._focusMonitor.stopMonitoring(nativeElement);\n };\n /** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */\n MatTooltip.prototype.show = function (delay) {\n var _this = this;\n if (delay === void 0) { delay = this.showDelay; }\n if (this.disabled || !this.message || (this._isTooltipVisible() &&\n !this._tooltipInstance._showTimeoutId && !this._tooltipInstance._hideTimeoutId)) {\n return;\n }\n var overlayRef = this._createOverlay();\n this._detach();\n this._portal = this._portal || new portal.ComponentPortal(TooltipComponent, this._viewContainerRef);\n this._tooltipInstance = overlayRef.attach(this._portal).instance;\n this._tooltipInstance.afterHidden()\n .pipe(operators.takeUntil(this._destroyed))\n .subscribe(function () { return _this._detach(); });\n this._setTooltipClass(this._tooltipClass);\n this._updateTooltipMessage();\n this._tooltipInstance.show(delay);\n };\n /** Hides the tooltip after the delay in ms, defaults to tooltip-delay-hide or 0ms if no input */\n MatTooltip.prototype.hide = function (delay) {\n if (delay === void 0) { delay = this.hideDelay; }\n if (this._tooltipInstance) {\n this._tooltipInstance.hide(delay);\n }\n };\n /** Shows/hides the tooltip */\n MatTooltip.prototype.toggle = function () {\n this._isTooltipVisible() ? this.hide() : this.show();\n };\n /** Returns true if the tooltip is currently visible to the user */\n MatTooltip.prototype._isTooltipVisible = function () {\n return !!this._tooltipInstance && this._tooltipInstance.isVisible();\n };\n /** Create the overlay config and position strategy */\n MatTooltip.prototype._createOverlay = function () {\n var _this = this;\n if (this._overlayRef) {\n return this._overlayRef;\n }\n var scrollableAncestors = this._scrollDispatcher.getAncestorScrollContainers(this._elementRef);\n // Create connected position strategy that listens for scroll events to reposition.\n var strategy = this._overlay.position()\n .flexibleConnectedTo(this._elementRef)\n .withTransformOriginOn('.mat-tooltip')\n .withFlexibleDimensions(false)\n .withViewportMargin(8)\n .withScrollableContainers(scrollableAncestors);\n strategy.positionChanges.pipe(operators.takeUntil(this._destroyed)).subscribe(function (change) {\n if (_this._tooltipInstance) {\n if (change.scrollableViewProperties.isOverlayClipped && _this._tooltipInstance.isVisible()) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n _this._ngZone.run(function () { return _this.hide(0); });\n }\n }\n });\n this._overlayRef = this._overlay.create({\n direction: this._dir,\n positionStrategy: strategy,\n panelClass: TOOLTIP_PANEL_CLASS,\n scrollStrategy: this._scrollStrategy()\n });\n this._updatePosition();\n this._overlayRef.detachments()\n .pipe(operators.takeUntil(this._destroyed))\n .subscribe(function () { return _this._detach(); });\n return this._overlayRef;\n };\n /** Detaches the currently-attached tooltip. */\n MatTooltip.prototype._detach = function () {\n if (this._overlayRef && this._overlayRef.hasAttached()) {\n this._overlayRef.detach();\n }\n this._tooltipInstance = null;\n };\n /** Updates the position of the current tooltip. */\n MatTooltip.prototype._updatePosition = function () {\n var position = this._overlayRef.getConfig().positionStrategy;\n var origin = this._getOrigin();\n var overlay = this._getOverlayPosition();\n position.withPositions([\n Object.assign(Object.assign({}, origin.main), overlay.main),\n Object.assign(Object.assign({}, origin.fallback), overlay.fallback)\n ]);\n };\n /**\n * Returns the origin position and a fallback position based on the user's position preference.\n * The fallback position is the inverse of the origin (e.g. `'below' -> 'above'`).\n */\n MatTooltip.prototype._getOrigin = function () {\n var isLtr = !this._dir || this._dir.value == 'ltr';\n var position = this.position;\n var originPosition;\n if (position == 'above' || position == 'below') {\n originPosition = { originX: 'center', originY: position == 'above' ? 'top' : 'bottom' };\n }\n else if (position == 'before' ||\n (position == 'left' && isLtr) ||\n (position == 'right' && !isLtr)) {\n originPosition = { originX: 'start', originY: 'center' };\n }\n else if (position == 'after' ||\n (position == 'right' && isLtr) ||\n (position == 'left' && !isLtr)) {\n originPosition = { originX: 'end', originY: 'center' };\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getMatTooltipInvalidPositionError(position);\n }\n var _a = this._invertPosition(originPosition.originX, originPosition.originY), x = _a.x, y = _a.y;\n return {\n main: originPosition,\n fallback: { originX: x, originY: y }\n };\n };\n /** Returns the overlay position and a fallback position based on the user's preference */\n MatTooltip.prototype._getOverlayPosition = function () {\n var isLtr = !this._dir || this._dir.value == 'ltr';\n var position = this.position;\n var overlayPosition;\n if (position == 'above') {\n overlayPosition = { overlayX: 'center', overlayY: 'bottom' };\n }\n else if (position == 'below') {\n overlayPosition = { overlayX: 'center', overlayY: 'top' };\n }\n else if (position == 'before' ||\n (position == 'left' && isLtr) ||\n (position == 'right' && !isLtr)) {\n overlayPosition = { overlayX: 'end', overlayY: 'center' };\n }\n else if (position == 'after' ||\n (position == 'right' && isLtr) ||\n (position == 'left' && !isLtr)) {\n overlayPosition = { overlayX: 'start', overlayY: 'center' };\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getMatTooltipInvalidPositionError(position);\n }\n var _a = this._invertPosition(overlayPosition.overlayX, overlayPosition.overlayY), x = _a.x, y = _a.y;\n return {\n main: overlayPosition,\n fallback: { overlayX: x, overlayY: y }\n };\n };\n /** Updates the tooltip message and repositions the overlay according to the new message length */\n MatTooltip.prototype._updateTooltipMessage = function () {\n var _this = this;\n // Must wait for the message to be painted to the tooltip so that the overlay can properly\n // calculate the correct positioning based on the size of the text.\n if (this._tooltipInstance) {\n this._tooltipInstance.message = this.message;\n this._tooltipInstance._markForCheck();\n this._ngZone.onMicrotaskEmpty.pipe(operators.take(1), operators.takeUntil(this._destroyed)).subscribe(function () {\n if (_this._tooltipInstance) {\n _this._overlayRef.updatePosition();\n }\n });\n }\n };\n /** Updates the tooltip class */\n MatTooltip.prototype._setTooltipClass = function (tooltipClass) {\n if (this._tooltipInstance) {\n this._tooltipInstance.tooltipClass = tooltipClass;\n this._tooltipInstance._markForCheck();\n }\n };\n /** Inverts an overlay position. */\n MatTooltip.prototype._invertPosition = function (x, y) {\n if (this.position === 'above' || this.position === 'below') {\n if (y === 'top') {\n y = 'bottom';\n }\n else if (y === 'bottom') {\n y = 'top';\n }\n }\n else {\n if (x === 'end') {\n x = 'start';\n }\n else if (x === 'start') {\n x = 'end';\n }\n }\n return { x: x, y: y };\n };\n /** Binds the pointer events to the tooltip trigger. */\n MatTooltip.prototype._setupPointerEnterEventsIfNeeded = function () {\n var _this = this;\n // Optimization: Defer hooking up events if there's no message or the tooltip is disabled.\n if (this._disabled || !this.message || !this._viewInitialized ||\n this._passiveListeners.length) {\n return;\n }\n // The mouse events shouldn't be bound on mobile devices, because they can prevent the\n // first tap from firing its click event or can cause the tooltip to open for clicks.\n if (this._platformSupportsMouseEvents()) {\n this._passiveListeners\n .push(['mouseenter', function () {\n _this._setupPointerExitEventsIfNeeded();\n _this.show();\n }]);\n }\n else if (this.touchGestures !== 'off') {\n this._disableNativeGesturesIfNecessary();\n this._passiveListeners\n .push(['touchstart', function () {\n // Note that it's important that we don't `preventDefault` here,\n // because it can prevent click events from firing on the element.\n _this._setupPointerExitEventsIfNeeded();\n clearTimeout(_this._touchstartTimeout);\n _this._touchstartTimeout = setTimeout(function () { return _this.show(); }, LONGPRESS_DELAY);\n }]);\n }\n this._addListeners(this._passiveListeners);\n };\n MatTooltip.prototype._setupPointerExitEventsIfNeeded = function () {\n var _a;\n var _this = this;\n if (this._pointerExitEventsInitialized) {\n return;\n }\n this._pointerExitEventsInitialized = true;\n var exitListeners = [];\n if (this._platformSupportsMouseEvents()) {\n exitListeners.push(['mouseleave', function () { return _this.hide(); }]);\n }\n else if (this.touchGestures !== 'off') {\n this._disableNativeGesturesIfNecessary();\n var touchendListener = function () {\n clearTimeout(_this._touchstartTimeout);\n _this.hide(_this._defaultOptions.touchendHideDelay);\n };\n exitListeners.push(['touchend', touchendListener], ['touchcancel', touchendListener]);\n }\n this._addListeners(exitListeners);\n (_a = this._passiveListeners).push.apply(_a, __spread(exitListeners));\n };\n MatTooltip.prototype._addListeners = function (listeners) {\n var _this = this;\n listeners.forEach(function (_a) {\n var _b = __read(_a, 2), event = _b[0], listener = _b[1];\n _this._elementRef.nativeElement.addEventListener(event, listener, passiveListenerOptions);\n });\n };\n MatTooltip.prototype._platformSupportsMouseEvents = function () {\n return !this._platform.IOS && !this._platform.ANDROID;\n };\n /** Disables the native browser gestures, based on how the tooltip has been configured. */\n MatTooltip.prototype._disableNativeGesturesIfNecessary = function () {\n var gestures = this.touchGestures;\n if (gestures !== 'off') {\n var element = this._elementRef.nativeElement;\n var style = element.style;\n // If gestures are set to `auto`, we don't disable text selection on inputs and\n // textareas, because it prevents the user from typing into them on iOS Safari.\n if (gestures === 'on' || (element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA')) {\n style.userSelect = style.msUserSelect = style.webkitUserSelect =\n style.MozUserSelect = 'none';\n }\n // If we have `auto` gestures and the element uses native HTML dragging,\n // we don't set `-webkit-user-drag` because it prevents the native behavior.\n if (gestures === 'on' || !element.draggable) {\n style.webkitUserDrag = 'none';\n }\n style.touchAction = 'none';\n style.webkitTapHighlightColor = 'transparent';\n }\n };\n return MatTooltip;\n }());\n MatTooltip.decorators = [\n { type: core.Directive, args: [{\n selector: '[matTooltip]',\n exportAs: 'matTooltip',\n host: {\n 'class': 'mat-tooltip-trigger'\n }\n },] }\n ];\n MatTooltip.ctorParameters = function () { return [\n { type: overlay.Overlay },\n { type: core.ElementRef },\n { type: scrolling.ScrollDispatcher },\n { type: core.ViewContainerRef },\n { type: core.NgZone },\n { type: platform.Platform },\n { type: a11y.AriaDescriber },\n { type: a11y.FocusMonitor },\n { type: undefined, decorators: [{ type: core.Inject, args: [MAT_TOOLTIP_SCROLL_STRATEGY,] }] },\n { type: bidi.Directionality, decorators: [{ type: core.Optional }] },\n { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [MAT_TOOLTIP_DEFAULT_OPTIONS,] }] }\n ]; };\n MatTooltip.propDecorators = {\n position: [{ type: core.Input, args: ['matTooltipPosition',] }],\n disabled: [{ type: core.Input, args: ['matTooltipDisabled',] }],\n showDelay: [{ type: core.Input, args: ['matTooltipShowDelay',] }],\n hideDelay: [{ type: core.Input, args: ['matTooltipHideDelay',] }],\n touchGestures: [{ type: core.Input, args: ['matTooltipTouchGestures',] }],\n message: [{ type: core.Input, args: ['matTooltip',] }],\n tooltipClass: [{ type: core.Input, args: ['matTooltipClass',] }]\n };\n /**\n * Internal component that wraps the tooltip's content.\n * @docs-private\n */\n var TooltipComponent = /** @class */ (function () {\n function TooltipComponent(_changeDetectorRef, _breakpointObserver) {\n this._changeDetectorRef = _changeDetectorRef;\n this._breakpointObserver = _breakpointObserver;\n /** Property watched by the animation framework to show or hide the tooltip */\n this._visibility = 'initial';\n /** Whether interactions on the page should close the tooltip */\n this._closeOnInteraction = false;\n /** Subject for notifying that the tooltip has been hidden from the view */\n this._onHide = new rxjs.Subject();\n /** Stream that emits whether the user has a handset-sized display. */\n this._isHandset = this._breakpointObserver.observe(layout.Breakpoints.Handset);\n }\n /**\n * Shows the tooltip with an animation originating from the provided origin\n * @param delay Amount of milliseconds to the delay showing the tooltip.\n */\n TooltipComponent.prototype.show = function (delay) {\n var _this = this;\n // Cancel the delayed hide if it is scheduled\n if (this._hideTimeoutId) {\n clearTimeout(this._hideTimeoutId);\n this._hideTimeoutId = null;\n }\n // Body interactions should cancel the tooltip if there is a delay in showing.\n this._closeOnInteraction = true;\n this._showTimeoutId = setTimeout(function () {\n _this._visibility = 'visible';\n _this._showTimeoutId = null;\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n _this._markForCheck();\n }, delay);\n };\n /**\n * Begins the animation to hide the tooltip after the provided delay in ms.\n * @param delay Amount of milliseconds to delay showing the tooltip.\n */\n TooltipComponent.prototype.hide = function (delay) {\n var _this = this;\n // Cancel the delayed show if it is scheduled\n if (this._showTimeoutId) {\n clearTimeout(this._showTimeoutId);\n this._showTimeoutId = null;\n }\n this._hideTimeoutId = setTimeout(function () {\n _this._visibility = 'hidden';\n _this._hideTimeoutId = null;\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n _this._markForCheck();\n }, delay);\n };\n /** Returns an observable that notifies when the tooltip has been hidden from view. */\n TooltipComponent.prototype.afterHidden = function () {\n return this._onHide;\n };\n /** Whether the tooltip is being displayed. */\n TooltipComponent.prototype.isVisible = function () {\n return this._visibility === 'visible';\n };\n TooltipComponent.prototype.ngOnDestroy = function () {\n this._onHide.complete();\n };\n TooltipComponent.prototype._animationStart = function () {\n this._closeOnInteraction = false;\n };\n TooltipComponent.prototype._animationDone = function (event) {\n var toState = event.toState;\n if (toState === 'hidden' && !this.isVisible()) {\n this._onHide.next();\n }\n if (toState === 'visible' || toState === 'hidden') {\n this._closeOnInteraction = true;\n }\n };\n /**\n * Interactions on the HTML body should close the tooltip immediately as defined in the\n * material design spec.\n * https://material.io/design/components/tooltips.html#behavior\n */\n TooltipComponent.prototype._handleBodyInteraction = function () {\n if (this._closeOnInteraction) {\n this.hide(0);\n }\n };\n /**\n * Marks that the tooltip needs to be checked in the next change detection run.\n * Mainly used for rendering the initial text before positioning a tooltip, which\n * can be problematic in components with OnPush change detection.\n */\n TooltipComponent.prototype._markForCheck = function () {\n this._changeDetectorRef.markForCheck();\n };\n return TooltipComponent;\n }());\n TooltipComponent.decorators = [\n { type: core.Component, args: [{\n selector: 'mat-tooltip-component',\n template: \"<div class=\\\"mat-tooltip\\\"\\n [ngClass]=\\\"tooltipClass\\\"\\n [class.mat-tooltip-handset]=\\\"(_isHandset | async)?.matches\\\"\\n [@state]=\\\"_visibility\\\"\\n (@state.start)=\\\"_animationStart()\\\"\\n (@state.done)=\\\"_animationDone($event)\\\">{{message}}</div>\\n\",\n encapsulation: core.ViewEncapsulation.None,\n changeDetection: core.ChangeDetectionStrategy.OnPush,\n animations: [matTooltipAnimations.tooltipState],\n host: {\n // Forces the element to have a layout in IE and Edge. This fixes issues where the element\n // won't be rendered if the animations are disabled or there is no web animations polyfill.\n '[style.zoom]': '_visibility === \"visible\" ? 1 : null',\n '(body:click)': 'this._handleBodyInteraction()',\n 'aria-hidden': 'true',\n },\n styles: [\".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\\n\"]\n },] }\n ];\n TooltipComponent.ctorParameters = function () { return [\n { type: core.ChangeDetectorRef },\n { type: layout.BreakpointObserver }\n ]; };\n\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var MatTooltipModule = /** @class */ (function () {\n function MatTooltipModule() {\n }\n return MatTooltipModule;\n }());\n MatTooltipModule.decorators = [\n { type: core.NgModule, args: [{\n imports: [\n a11y.A11yModule,\n common.CommonModule,\n overlay.OverlayModule,\n core$1.MatCommonModule,\n ],\n exports: [MatTooltip, TooltipComponent, core$1.MatCommonModule, scrolling.CdkScrollableModule],\n declarations: [MatTooltip, TooltipComponent],\n entryComponents: [TooltipComponent],\n providers: [MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]\n },] }\n ];\n\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.MAT_TOOLTIP_DEFAULT_OPTIONS = MAT_TOOLTIP_DEFAULT_OPTIONS;\n exports.MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY = MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY;\n exports.MAT_TOOLTIP_SCROLL_STRATEGY = MAT_TOOLTIP_SCROLL_STRATEGY;\n exports.MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY = MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY;\n exports.MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER;\n exports.MatTooltip = MatTooltip;\n exports.MatTooltipModule = MatTooltipModule;\n exports.SCROLL_THROTTLE_MS = SCROLL_THROTTLE_MS;\n exports.TOOLTIP_PANEL_CLASS = TOOLTIP_PANEL_CLASS;\n exports.TooltipComponent = TooltipComponent;\n exports.getMatTooltipInvalidPositionError = getMatTooltipInvalidPositionError;\n exports.matTooltipAnimations = matTooltipAnimations;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=material-tooltip.umd.js.map\n"]}
1
+ {"version":3,"sources":["src/material/material-tooltip.umd.js"],"names":["global","factory","exports","module","require","define","amd","self","ng","material","tooltip","cdk","overlay","a11y","common","core","scrolling","bidi","coercion","keycodes","layout","platform","portal","rxjs","operators","animations","this","core$1","__read","o","n","m","Symbol","iterator","r","e","i","call","ar","next","done","push","value","error","matTooltipAnimations","tooltipState","trigger","state","style","opacity","transform","transition","animate","keyframes","offset","passiveListenerOptions","normalizePassiveListenerOptions","passive","MAT_TOOLTIP_SCROLL_STRATEGY","InjectionToken","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY","scrollStrategies","reposition","scrollThrottle","MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER","provide","deps","Overlay","useFactory","MAT_TOOLTIP_DEFAULT_OPTIONS","providedIn","MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY","showDelay","hideDelay","touchendHideDelay","MatTooltip","_overlay","_elementRef","_scrollDispatcher","_viewContainerRef","_ngZone","_platform","_ariaDescriber","_focusMonitor","scrollStrategy","_dir","_defaultOptions","_document","_this","_position","_disabled","_viewInitialized","_pointerExitEventsInitialized","touchGestures","_message","_passiveListeners","_destroyed","Subject","_handleKeydown","event","_isTooltipVisible","keyCode","ESCAPE","hasModifierKey","preventDefault","stopPropagation","run","hide","_scrollStrategy","position","runOutsideAngular","nativeElement","addEventListener","Object","defineProperty","prototype","get","set","_overlayRef","_updatePosition","_tooltipInstance","show","updatePosition","enumerable","configurable","coerceBooleanProperty","_setupPointerEnterEventsIfNeeded","removeDescription","String","trim","_updateTooltipMessage","Promise","resolve","then","describe","message","_tooltipClass","_setTooltipClass","ngAfterViewInit","monitor","pipe","takeUntil","subscribe","origin","ngOnDestroy","clearTimeout","_touchstartTimeout","dispose","removeEventListener","forEach","_a","_b","length","complete","stopMonitoring","delay","disabled","_showTimeoutId","_hideTimeoutId","overlayRef","_createOverlay","_detach","_portal","ComponentPortal","TooltipComponent","attach","instance","afterHidden","toggle","isVisible","scrollableAncestors","getAncestorScrollContainers","strategy","flexibleConnectedTo","withTransformOriginOn","withFlexibleDimensions","withViewportMargin","withScrollableContainers","positionChanges","change","scrollableViewProperties","isOverlayClipped","create","direction","positionStrategy","panelClass","detachments","hasAttached","detach","getConfig","_getOrigin","_getOverlayPosition","withPositions","assign","main","fallback","originPosition","isLtr","originX","originY","_invertPosition","x","y","overlayPosition","overlayX","overlayY","_markForCheck","onMicrotaskEmpty","take","tooltipClass","_platformSupportsMouseEvents","_setupPointerExitEventsIfNeeded","_disableNativeGesturesIfNecessary","setTimeout","_addListeners","exitListeners","_wheelListener","touchendListener","apply","__spread","arguments","concat","listeners","IOS","ANDROID","elementUnderPointer","document","elementFromPoint","clientX","clientY","element","contains","gestures","nodeName","userSelect","msUserSelect","webkitUserSelect","MozUserSelect","draggable","webkitUserDrag","touchAction","webkitTapHighlightColor","decorators","type","Directive","args","selector","exportAs","host","class","ctorParameters","ElementRef","ScrollDispatcher","ViewContainerRef","NgZone","Platform","AriaDescriber","FocusMonitor","undefined","Inject","Directionality","Optional","DOCUMENT","propDecorators","Input","MatTooltipModule","_changeDetectorRef","_breakpointObserver","_visibility","_closeOnInteraction","_onHide","_isHandset","observe","Breakpoints","Handset","_animationStart","_animationDone","toState","_handleBodyInteraction","markForCheck","Component","template","encapsulation","ViewEncapsulation","None","changeDetection","ChangeDetectionStrategy","OnPush","[style.zoom]","(body:click)","(body:auxclick)","aria-hidden","styles","ChangeDetectorRef","BreakpointObserver","NgModule","imports","A11yModule","CommonModule","OverlayModule","MatCommonModule","CdkScrollableModule","declarations","entryComponents","providers","SCROLL_THROTTLE_MS","TOOLTIP_PANEL_CLASS","getMatTooltipInvalidPositionError","Error"],"mappings":"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","sourcesContent":["(function (global, factory) {\n typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/overlay'), require('@angular/cdk/a11y'), require('@angular/common'), require('@angular/core'), require('@angular/material/core'), require('@angular/cdk/scrolling'), require('@angular/cdk/bidi'), require('@angular/cdk/coercion'), require('@angular/cdk/keycodes'), require('@angular/cdk/layout'), require('@angular/cdk/platform'), require('@angular/cdk/portal'), require('rxjs'), require('rxjs/operators'), require('@angular/animations')) :\n typeof define === 'function' && define.amd ? define('@angular/material/tooltip', ['exports', '@angular/cdk/overlay', '@angular/cdk/a11y', '@angular/common', '@angular/core', '@angular/material/core', '@angular/cdk/scrolling', '@angular/cdk/bidi', '@angular/cdk/coercion', '@angular/cdk/keycodes', '@angular/cdk/layout', '@angular/cdk/platform', '@angular/cdk/portal', 'rxjs', 'rxjs/operators', '@angular/animations'], factory) :\n (global = global || self, factory((global.ng = global.ng || {}, global.ng.material = global.ng.material || {}, global.ng.material.tooltip = {}), global.ng.cdk.overlay, global.ng.cdk.a11y, global.ng.common, global.ng.core, global.ng.material.core, global.ng.cdk.scrolling, global.ng.cdk.bidi, global.ng.cdk.coercion, global.ng.cdk.keycodes, global.ng.cdk.layout, global.ng.cdk.platform, global.ng.cdk.portal, global.rxjs, global.rxjs.operators, global.ng.animations));\n}(this, (function (exports, overlay, a11y, common, core, core$1, scrolling, bidi, coercion, keycodes, layout, platform, portal, rxjs, operators, animations) { 'use strict';\n\n /*! *****************************************************************************\n Copyright (c) Microsoft Corporation.\n\n Permission to use, copy, modify, and/or distribute this software for any\n purpose with or without fee is hereby granted.\n\n THE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\n REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\n AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\n INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\n LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\n OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\n PERFORMANCE OF THIS SOFTWARE.\n ***************************************************************************** */\n /* global Reflect, Promise */\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b)\n if (Object.prototype.hasOwnProperty.call(b, p))\n d[p] = b[p]; };\n return extendStatics(d, b);\n };\n function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n }\n var __assign = function () {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n };\n function __rest(s, e) {\n var t = {};\n for (var p in s)\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n }\n function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\")\n r = Reflect.decorate(decorators, target, key, desc);\n else\n for (var i = decorators.length - 1; i >= 0; i--)\n if (d = decorators[i])\n r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n }\n function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); };\n }\n function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\")\n return Reflect.metadata(metadataKey, metadataValue);\n }\n function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try {\n step(generator.next(value));\n }\n catch (e) {\n reject(e);\n } }\n function rejected(value) { try {\n step(generator[\"throw\"](value));\n }\n catch (e) {\n reject(e);\n } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n }\n function __generator(thisArg, body) {\n var _ = { label: 0, sent: function () { if (t[0] & 1)\n throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function () { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f)\n throw new TypeError(\"Generator is already executing.\");\n while (_)\n try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done)\n return t;\n if (y = 0, t)\n op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0:\n case 1:\n t = op;\n break;\n case 4:\n _.label++;\n return { value: op[1], done: false };\n case 5:\n _.label++;\n y = op[1];\n op = [0];\n continue;\n case 7:\n op = _.ops.pop();\n _.trys.pop();\n continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) {\n _ = 0;\n continue;\n }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {\n _.label = op[1];\n break;\n }\n if (op[0] === 6 && _.label < t[1]) {\n _.label = t[1];\n t = op;\n break;\n }\n if (t && _.label < t[2]) {\n _.label = t[2];\n _.ops.push(op);\n break;\n }\n if (t[2])\n _.ops.pop();\n _.trys.pop();\n continue;\n }\n op = body.call(thisArg, _);\n }\n catch (e) {\n op = [6, e];\n y = 0;\n }\n finally {\n f = t = 0;\n }\n if (op[0] & 5)\n throw op[1];\n return { value: op[0] ? op[1] : void 0, done: true };\n }\n }\n var __createBinding = Object.create ? (function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n Object.defineProperty(o, k2, { enumerable: true, get: function () { return m[k]; } });\n }) : (function (o, m, k, k2) {\n if (k2 === undefined)\n k2 = k;\n o[k2] = m[k];\n });\n function __exportStar(m, o) {\n for (var p in m)\n if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p))\n __createBinding(o, m, p);\n }\n function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m)\n return m.call(o);\n if (o && typeof o.length === \"number\")\n return {\n next: function () {\n if (o && i >= o.length)\n o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n }\n function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m)\n return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done)\n ar.push(r.value);\n }\n catch (error) {\n e = { error: error };\n }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"]))\n m.call(i);\n }\n finally {\n if (e)\n throw e.error;\n }\n }\n return ar;\n }\n /** @deprecated */\n function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n }\n /** @deprecated */\n function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++)\n s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n }\n function __spreadArray(to, from) {\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\n to[j] = from[i];\n return to;\n }\n function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n }\n function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator)\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\n function verb(n) { if (g[n])\n i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\n function resume(n, v) { try {\n step(g[n](v));\n }\n catch (e) {\n settle(q[0][3], e);\n } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length)\n resume(q[0][0], q[0][1]); }\n }\n function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\n }\n function __asyncValues(o) {\n if (!Symbol.asyncIterator)\n throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function (v) { resolve({ value: v, done: d }); }, reject); }\n }\n function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) {\n Object.defineProperty(cooked, \"raw\", { value: raw });\n }\n else {\n cooked.raw = raw;\n }\n return cooked;\n }\n ;\n var __setModuleDefault = Object.create ? (function (o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n }) : function (o, v) {\n o[\"default\"] = v;\n };\n function __importStar(mod) {\n if (mod && mod.__esModule)\n return mod;\n var result = {};\n if (mod != null)\n for (var k in mod)\n if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k))\n __createBinding(result, mod, k);\n __setModuleDefault(result, mod);\n return result;\n }\n function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n }\n function __classPrivateFieldGet(receiver, privateMap) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to get private field on non-instance\");\n }\n return privateMap.get(receiver);\n }\n function __classPrivateFieldSet(receiver, privateMap, value) {\n if (!privateMap.has(receiver)) {\n throw new TypeError(\"attempted to set private field on non-instance\");\n }\n privateMap.set(receiver, value);\n return value;\n }\n\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n /**\n * Animations used by MatTooltip.\n * @docs-private\n */\n var matTooltipAnimations = {\n /** Animation that transitions a tooltip in and out. */\n tooltipState: animations.trigger('state', [\n animations.state('initial, void, hidden', animations.style({ opacity: 0, transform: 'scale(0)' })),\n animations.state('visible', animations.style({ transform: 'scale(1)' })),\n animations.transition('* => visible', animations.animate('200ms cubic-bezier(0, 0, 0.2, 1)', animations.keyframes([\n animations.style({ opacity: 0, transform: 'scale(0)', offset: 0 }),\n animations.style({ opacity: 0.5, transform: 'scale(0.99)', offset: 0.5 }),\n animations.style({ opacity: 1, transform: 'scale(1)', offset: 1 })\n ]))),\n animations.transition('* => hidden', animations.animate('100ms cubic-bezier(0, 0, 0.2, 1)', animations.style({ opacity: 0 }))),\n ])\n };\n\n /** Time in ms to throttle repositioning after scroll events. */\n var SCROLL_THROTTLE_MS = 20;\n /** CSS class that will be attached to the overlay panel. */\n var TOOLTIP_PANEL_CLASS = 'mat-tooltip-panel';\n /** Options used to bind passive event listeners. */\n var passiveListenerOptions = platform.normalizePassiveListenerOptions({ passive: true });\n /**\n * Time between the user putting the pointer on a tooltip\n * trigger and the long press event being fired.\n */\n var LONGPRESS_DELAY = 500;\n /**\n * Creates an error to be thrown if the user supplied an invalid tooltip position.\n * @docs-private\n */\n function getMatTooltipInvalidPositionError(position) {\n return Error(\"Tooltip position \\\"\" + position + \"\\\" is invalid.\");\n }\n /** Injection token that determines the scroll handling while a tooltip is visible. */\n var MAT_TOOLTIP_SCROLL_STRATEGY = new core.InjectionToken('mat-tooltip-scroll-strategy');\n /** @docs-private */\n function MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY(overlay) {\n return function () { return overlay.scrollStrategies.reposition({ scrollThrottle: SCROLL_THROTTLE_MS }); };\n }\n /** @docs-private */\n var MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = {\n provide: MAT_TOOLTIP_SCROLL_STRATEGY,\n deps: [overlay.Overlay],\n useFactory: MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY,\n };\n /** Injection token to be used to override the default options for `matTooltip`. */\n var MAT_TOOLTIP_DEFAULT_OPTIONS = new core.InjectionToken('mat-tooltip-default-options', {\n providedIn: 'root',\n factory: MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY\n });\n /** @docs-private */\n function MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY() {\n return {\n showDelay: 0,\n hideDelay: 0,\n touchendHideDelay: 1500,\n };\n }\n /**\n * Directive that attaches a material design tooltip to the host element. Animates the showing and\n * hiding of a tooltip provided position (defaults to below the element).\n *\n * https://material.io/design/components/tooltips.html\n */\n var MatTooltip = /** @class */ (function () {\n function MatTooltip(_overlay, _elementRef, _scrollDispatcher, _viewContainerRef, _ngZone, _platform, _ariaDescriber, _focusMonitor, scrollStrategy, _dir, _defaultOptions, \n /** @breaking-change 11.0.0 _document argument to become required. */\n _document) {\n var _this = this;\n this._overlay = _overlay;\n this._elementRef = _elementRef;\n this._scrollDispatcher = _scrollDispatcher;\n this._viewContainerRef = _viewContainerRef;\n this._ngZone = _ngZone;\n this._platform = _platform;\n this._ariaDescriber = _ariaDescriber;\n this._focusMonitor = _focusMonitor;\n this._dir = _dir;\n this._defaultOptions = _defaultOptions;\n this._position = 'below';\n this._disabled = false;\n this._viewInitialized = false;\n this._pointerExitEventsInitialized = false;\n /** The default delay in ms before showing the tooltip after show is called */\n this.showDelay = this._defaultOptions.showDelay;\n /** The default delay in ms before hiding the tooltip after hide is called */\n this.hideDelay = this._defaultOptions.hideDelay;\n /**\n * How touch gestures should be handled by the tooltip. On touch devices the tooltip directive\n * uses a long press gesture to show and hide, however it can conflict with the native browser\n * gestures. To work around the conflict, Angular Material disables native gestures on the\n * trigger, but that might not be desirable on particular elements (e.g. inputs and draggable\n * elements). The different values for this option configure the touch event handling as follows:\n * - `auto` - Enables touch gestures for all elements, but tries to avoid conflicts with native\n * browser gestures on particular elements. In particular, it allows text selection on inputs\n * and textareas, and preserves the native browser dragging on elements marked as `draggable`.\n * - `on` - Enables touch gestures for all elements and disables native\n * browser gestures with no exceptions.\n * - `off` - Disables touch gestures. Note that this will prevent the tooltip from\n * showing on touch devices.\n */\n this.touchGestures = 'auto';\n this._message = '';\n /** Manually-bound passive event listeners. */\n this._passiveListeners = [];\n /** Emits when the component is destroyed. */\n this._destroyed = new rxjs.Subject();\n /**\n * Handles the keydown events on the host element.\n * Needs to be an arrow function so that we can use it in addEventListener.\n */\n this._handleKeydown = function (event) {\n if (_this._isTooltipVisible() && event.keyCode === keycodes.ESCAPE && !keycodes.hasModifierKey(event)) {\n event.preventDefault();\n event.stopPropagation();\n _this._ngZone.run(function () { return _this.hide(0); });\n }\n };\n this._scrollStrategy = scrollStrategy;\n if (_defaultOptions) {\n if (_defaultOptions.position) {\n this.position = _defaultOptions.position;\n }\n if (_defaultOptions.touchGestures) {\n this.touchGestures = _defaultOptions.touchGestures;\n }\n }\n _ngZone.runOutsideAngular(function () {\n _elementRef.nativeElement.addEventListener('keydown', _this._handleKeydown);\n });\n }\n Object.defineProperty(MatTooltip.prototype, \"position\", {\n /** Allows the user to define the position of the tooltip relative to the parent element */\n get: function () { return this._position; },\n set: function (value) {\n if (value !== this._position) {\n this._position = value;\n if (this._overlayRef) {\n this._updatePosition();\n if (this._tooltipInstance) {\n this._tooltipInstance.show(0);\n }\n this._overlayRef.updatePosition();\n }\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTooltip.prototype, \"disabled\", {\n /** Disables the display of the tooltip. */\n get: function () { return this._disabled; },\n set: function (value) {\n this._disabled = coercion.coerceBooleanProperty(value);\n // If tooltip is disabled, hide immediately.\n if (this._disabled) {\n this.hide(0);\n }\n else {\n this._setupPointerEnterEventsIfNeeded();\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTooltip.prototype, \"message\", {\n /** The message to be displayed in the tooltip */\n get: function () { return this._message; },\n set: function (value) {\n var _this = this;\n this._ariaDescriber.removeDescription(this._elementRef.nativeElement, this._message, 'tooltip');\n // If the message is not a string (e.g. number), convert it to a string and trim it.\n // Must convert with `String(value)`, not `${value}`, otherwise Closure Compiler optimises\n // away the string-conversion: https://github.com/angular/components/issues/20684\n this._message = value != null ? String(value).trim() : '';\n if (!this._message && this._isTooltipVisible()) {\n this.hide(0);\n }\n else {\n this._setupPointerEnterEventsIfNeeded();\n this._updateTooltipMessage();\n this._ngZone.runOutsideAngular(function () {\n // The `AriaDescriber` has some functionality that avoids adding a description if it's the\n // same as the `aria-label` of an element, however we can't know whether the tooltip trigger\n // has a data-bound `aria-label` or when it'll be set for the first time. We can avoid the\n // issue by deferring the description by a tick so Angular has time to set the `aria-label`.\n Promise.resolve().then(function () {\n _this._ariaDescriber.describe(_this._elementRef.nativeElement, _this.message, 'tooltip');\n });\n });\n }\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MatTooltip.prototype, \"tooltipClass\", {\n /** Classes to be passed to the tooltip. Supports the same syntax as `ngClass`. */\n get: function () { return this._tooltipClass; },\n set: function (value) {\n this._tooltipClass = value;\n if (this._tooltipInstance) {\n this._setTooltipClass(this._tooltipClass);\n }\n },\n enumerable: false,\n configurable: true\n });\n MatTooltip.prototype.ngAfterViewInit = function () {\n var _this = this;\n // This needs to happen after view init so the initial values for all inputs have been set.\n this._viewInitialized = true;\n this._setupPointerEnterEventsIfNeeded();\n this._focusMonitor.monitor(this._elementRef)\n .pipe(operators.takeUntil(this._destroyed))\n .subscribe(function (origin) {\n // Note that the focus monitor runs outside the Angular zone.\n if (!origin) {\n _this._ngZone.run(function () { return _this.hide(0); });\n }\n else if (origin === 'keyboard') {\n _this._ngZone.run(function () { return _this.show(); });\n }\n });\n };\n /**\n * Dispose the tooltip when destroyed.\n */\n MatTooltip.prototype.ngOnDestroy = function () {\n var nativeElement = this._elementRef.nativeElement;\n clearTimeout(this._touchstartTimeout);\n if (this._overlayRef) {\n this._overlayRef.dispose();\n this._tooltipInstance = null;\n }\n // Clean up the event listeners set in the constructor\n nativeElement.removeEventListener('keydown', this._handleKeydown);\n this._passiveListeners.forEach(function (_a) {\n var _b = __read(_a, 2), event = _b[0], listener = _b[1];\n nativeElement.removeEventListener(event, listener, passiveListenerOptions);\n });\n this._passiveListeners.length = 0;\n this._destroyed.next();\n this._destroyed.complete();\n this._ariaDescriber.removeDescription(nativeElement, this.message, 'tooltip');\n this._focusMonitor.stopMonitoring(nativeElement);\n };\n /** Shows the tooltip after the delay in ms, defaults to tooltip-delay-show or 0ms if no input */\n MatTooltip.prototype.show = function (delay) {\n var _this = this;\n if (delay === void 0) { delay = this.showDelay; }\n if (this.disabled || !this.message || (this._isTooltipVisible() &&\n !this._tooltipInstance._showTimeoutId && !this._tooltipInstance._hideTimeoutId)) {\n return;\n }\n var overlayRef = this._createOverlay();\n this._detach();\n this._portal = this._portal || new portal.ComponentPortal(TooltipComponent, this._viewContainerRef);\n this._tooltipInstance = overlayRef.attach(this._portal).instance;\n this._tooltipInstance.afterHidden()\n .pipe(operators.takeUntil(this._destroyed))\n .subscribe(function () { return _this._detach(); });\n this._setTooltipClass(this._tooltipClass);\n this._updateTooltipMessage();\n this._tooltipInstance.show(delay);\n };\n /** Hides the tooltip after the delay in ms, defaults to tooltip-delay-hide or 0ms if no input */\n MatTooltip.prototype.hide = function (delay) {\n if (delay === void 0) { delay = this.hideDelay; }\n if (this._tooltipInstance) {\n this._tooltipInstance.hide(delay);\n }\n };\n /** Shows/hides the tooltip */\n MatTooltip.prototype.toggle = function () {\n this._isTooltipVisible() ? this.hide() : this.show();\n };\n /** Returns true if the tooltip is currently visible to the user */\n MatTooltip.prototype._isTooltipVisible = function () {\n return !!this._tooltipInstance && this._tooltipInstance.isVisible();\n };\n /** Create the overlay config and position strategy */\n MatTooltip.prototype._createOverlay = function () {\n var _this = this;\n if (this._overlayRef) {\n return this._overlayRef;\n }\n var scrollableAncestors = this._scrollDispatcher.getAncestorScrollContainers(this._elementRef);\n // Create connected position strategy that listens for scroll events to reposition.\n var strategy = this._overlay.position()\n .flexibleConnectedTo(this._elementRef)\n .withTransformOriginOn('.mat-tooltip')\n .withFlexibleDimensions(false)\n .withViewportMargin(8)\n .withScrollableContainers(scrollableAncestors);\n strategy.positionChanges.pipe(operators.takeUntil(this._destroyed)).subscribe(function (change) {\n if (_this._tooltipInstance) {\n if (change.scrollableViewProperties.isOverlayClipped && _this._tooltipInstance.isVisible()) {\n // After position changes occur and the overlay is clipped by\n // a parent scrollable then close the tooltip.\n _this._ngZone.run(function () { return _this.hide(0); });\n }\n }\n });\n this._overlayRef = this._overlay.create({\n direction: this._dir,\n positionStrategy: strategy,\n panelClass: TOOLTIP_PANEL_CLASS,\n scrollStrategy: this._scrollStrategy()\n });\n this._updatePosition();\n this._overlayRef.detachments()\n .pipe(operators.takeUntil(this._destroyed))\n .subscribe(function () { return _this._detach(); });\n return this._overlayRef;\n };\n /** Detaches the currently-attached tooltip. */\n MatTooltip.prototype._detach = function () {\n if (this._overlayRef && this._overlayRef.hasAttached()) {\n this._overlayRef.detach();\n }\n this._tooltipInstance = null;\n };\n /** Updates the position of the current tooltip. */\n MatTooltip.prototype._updatePosition = function () {\n var position = this._overlayRef.getConfig().positionStrategy;\n var origin = this._getOrigin();\n var overlay = this._getOverlayPosition();\n position.withPositions([\n Object.assign(Object.assign({}, origin.main), overlay.main),\n Object.assign(Object.assign({}, origin.fallback), overlay.fallback)\n ]);\n };\n /**\n * Returns the origin position and a fallback position based on the user's position preference.\n * The fallback position is the inverse of the origin (e.g. `'below' -> 'above'`).\n */\n MatTooltip.prototype._getOrigin = function () {\n var isLtr = !this._dir || this._dir.value == 'ltr';\n var position = this.position;\n var originPosition;\n if (position == 'above' || position == 'below') {\n originPosition = { originX: 'center', originY: position == 'above' ? 'top' : 'bottom' };\n }\n else if (position == 'before' ||\n (position == 'left' && isLtr) ||\n (position == 'right' && !isLtr)) {\n originPosition = { originX: 'start', originY: 'center' };\n }\n else if (position == 'after' ||\n (position == 'right' && isLtr) ||\n (position == 'left' && !isLtr)) {\n originPosition = { originX: 'end', originY: 'center' };\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getMatTooltipInvalidPositionError(position);\n }\n var _a = this._invertPosition(originPosition.originX, originPosition.originY), x = _a.x, y = _a.y;\n return {\n main: originPosition,\n fallback: { originX: x, originY: y }\n };\n };\n /** Returns the overlay position and a fallback position based on the user's preference */\n MatTooltip.prototype._getOverlayPosition = function () {\n var isLtr = !this._dir || this._dir.value == 'ltr';\n var position = this.position;\n var overlayPosition;\n if (position == 'above') {\n overlayPosition = { overlayX: 'center', overlayY: 'bottom' };\n }\n else if (position == 'below') {\n overlayPosition = { overlayX: 'center', overlayY: 'top' };\n }\n else if (position == 'before' ||\n (position == 'left' && isLtr) ||\n (position == 'right' && !isLtr)) {\n overlayPosition = { overlayX: 'end', overlayY: 'center' };\n }\n else if (position == 'after' ||\n (position == 'right' && isLtr) ||\n (position == 'left' && !isLtr)) {\n overlayPosition = { overlayX: 'start', overlayY: 'center' };\n }\n else if (typeof ngDevMode === 'undefined' || ngDevMode) {\n throw getMatTooltipInvalidPositionError(position);\n }\n var _a = this._invertPosition(overlayPosition.overlayX, overlayPosition.overlayY), x = _a.x, y = _a.y;\n return {\n main: overlayPosition,\n fallback: { overlayX: x, overlayY: y }\n };\n };\n /** Updates the tooltip message and repositions the overlay according to the new message length */\n MatTooltip.prototype._updateTooltipMessage = function () {\n var _this = this;\n // Must wait for the message to be painted to the tooltip so that the overlay can properly\n // calculate the correct positioning based on the size of the text.\n if (this._tooltipInstance) {\n this._tooltipInstance.message = this.message;\n this._tooltipInstance._markForCheck();\n this._ngZone.onMicrotaskEmpty.pipe(operators.take(1), operators.takeUntil(this._destroyed)).subscribe(function () {\n if (_this._tooltipInstance) {\n _this._overlayRef.updatePosition();\n }\n });\n }\n };\n /** Updates the tooltip class */\n MatTooltip.prototype._setTooltipClass = function (tooltipClass) {\n if (this._tooltipInstance) {\n this._tooltipInstance.tooltipClass = tooltipClass;\n this._tooltipInstance._markForCheck();\n }\n };\n /** Inverts an overlay position. */\n MatTooltip.prototype._invertPosition = function (x, y) {\n if (this.position === 'above' || this.position === 'below') {\n if (y === 'top') {\n y = 'bottom';\n }\n else if (y === 'bottom') {\n y = 'top';\n }\n }\n else {\n if (x === 'end') {\n x = 'start';\n }\n else if (x === 'start') {\n x = 'end';\n }\n }\n return { x: x, y: y };\n };\n /** Binds the pointer events to the tooltip trigger. */\n MatTooltip.prototype._setupPointerEnterEventsIfNeeded = function () {\n var _this = this;\n // Optimization: Defer hooking up events if there's no message or the tooltip is disabled.\n if (this._disabled || !this.message || !this._viewInitialized ||\n this._passiveListeners.length) {\n return;\n }\n // The mouse events shouldn't be bound on mobile devices, because they can prevent the\n // first tap from firing its click event or can cause the tooltip to open for clicks.\n if (this._platformSupportsMouseEvents()) {\n this._passiveListeners\n .push(['mouseenter', function () {\n _this._setupPointerExitEventsIfNeeded();\n _this.show();\n }]);\n }\n else if (this.touchGestures !== 'off') {\n this._disableNativeGesturesIfNecessary();\n this._passiveListeners\n .push(['touchstart', function () {\n // Note that it's important that we don't `preventDefault` here,\n // because it can prevent click events from firing on the element.\n _this._setupPointerExitEventsIfNeeded();\n clearTimeout(_this._touchstartTimeout);\n _this._touchstartTimeout = setTimeout(function () { return _this.show(); }, LONGPRESS_DELAY);\n }]);\n }\n this._addListeners(this._passiveListeners);\n };\n MatTooltip.prototype._setupPointerExitEventsIfNeeded = function () {\n var _a;\n var _this = this;\n if (this._pointerExitEventsInitialized) {\n return;\n }\n this._pointerExitEventsInitialized = true;\n var exitListeners = [];\n if (this._platformSupportsMouseEvents()) {\n exitListeners.push(['mouseleave', function () { return _this.hide(); }], ['wheel', function (event) { return _this._wheelListener(event); }]);\n }\n else if (this.touchGestures !== 'off') {\n this._disableNativeGesturesIfNecessary();\n var touchendListener = function () {\n clearTimeout(_this._touchstartTimeout);\n _this.hide(_this._defaultOptions.touchendHideDelay);\n };\n exitListeners.push(['touchend', touchendListener], ['touchcancel', touchendListener]);\n }\n this._addListeners(exitListeners);\n (_a = this._passiveListeners).push.apply(_a, __spread(exitListeners));\n };\n MatTooltip.prototype._addListeners = function (listeners) {\n var _this = this;\n listeners.forEach(function (_a) {\n var _b = __read(_a, 2), event = _b[0], listener = _b[1];\n _this._elementRef.nativeElement.addEventListener(event, listener, passiveListenerOptions);\n });\n };\n MatTooltip.prototype._platformSupportsMouseEvents = function () {\n return !this._platform.IOS && !this._platform.ANDROID;\n };\n /** Listener for the `wheel` event on the element. */\n MatTooltip.prototype._wheelListener = function (event) {\n if (this._isTooltipVisible()) {\n // @breaking-change 11.0.0 Remove `|| document` once the document is a required param.\n var doc = this._document || document;\n var elementUnderPointer = doc.elementFromPoint(event.clientX, event.clientY);\n var element = this._elementRef.nativeElement;\n // On non-touch devices we depend on the `mouseleave` event to close the tooltip, but it\n // won't fire if the user scrolls away using the wheel without moving their cursor. We\n // work around it by finding the element under the user's cursor and closing the tooltip\n // if it's not the trigger.\n if (elementUnderPointer !== element && !element.contains(elementUnderPointer)) {\n this.hide();\n }\n }\n };\n /** Disables the native browser gestures, based on how the tooltip has been configured. */\n MatTooltip.prototype._disableNativeGesturesIfNecessary = function () {\n var gestures = this.touchGestures;\n if (gestures !== 'off') {\n var element = this._elementRef.nativeElement;\n var style = element.style;\n // If gestures are set to `auto`, we don't disable text selection on inputs and\n // textareas, because it prevents the user from typing into them on iOS Safari.\n if (gestures === 'on' || (element.nodeName !== 'INPUT' && element.nodeName !== 'TEXTAREA')) {\n style.userSelect = style.msUserSelect = style.webkitUserSelect =\n style.MozUserSelect = 'none';\n }\n // If we have `auto` gestures and the element uses native HTML dragging,\n // we don't set `-webkit-user-drag` because it prevents the native behavior.\n if (gestures === 'on' || !element.draggable) {\n style.webkitUserDrag = 'none';\n }\n style.touchAction = 'none';\n style.webkitTapHighlightColor = 'transparent';\n }\n };\n return MatTooltip;\n }());\n MatTooltip.decorators = [\n { type: core.Directive, args: [{\n selector: '[matTooltip]',\n exportAs: 'matTooltip',\n host: {\n 'class': 'mat-tooltip-trigger'\n }\n },] }\n ];\n MatTooltip.ctorParameters = function () { return [\n { type: overlay.Overlay },\n { type: core.ElementRef },\n { type: scrolling.ScrollDispatcher },\n { type: core.ViewContainerRef },\n { type: core.NgZone },\n { type: platform.Platform },\n { type: a11y.AriaDescriber },\n { type: a11y.FocusMonitor },\n { type: undefined, decorators: [{ type: core.Inject, args: [MAT_TOOLTIP_SCROLL_STRATEGY,] }] },\n { type: bidi.Directionality, decorators: [{ type: core.Optional }] },\n { type: undefined, decorators: [{ type: core.Optional }, { type: core.Inject, args: [MAT_TOOLTIP_DEFAULT_OPTIONS,] }] },\n { type: undefined, decorators: [{ type: core.Inject, args: [common.DOCUMENT,] }] }\n ]; };\n MatTooltip.propDecorators = {\n position: [{ type: core.Input, args: ['matTooltipPosition',] }],\n disabled: [{ type: core.Input, args: ['matTooltipDisabled',] }],\n showDelay: [{ type: core.Input, args: ['matTooltipShowDelay',] }],\n hideDelay: [{ type: core.Input, args: ['matTooltipHideDelay',] }],\n touchGestures: [{ type: core.Input, args: ['matTooltipTouchGestures',] }],\n message: [{ type: core.Input, args: ['matTooltip',] }],\n tooltipClass: [{ type: core.Input, args: ['matTooltipClass',] }]\n };\n /**\n * Internal component that wraps the tooltip's content.\n * @docs-private\n */\n var TooltipComponent = /** @class */ (function () {\n function TooltipComponent(_changeDetectorRef, _breakpointObserver) {\n this._changeDetectorRef = _changeDetectorRef;\n this._breakpointObserver = _breakpointObserver;\n /** Property watched by the animation framework to show or hide the tooltip */\n this._visibility = 'initial';\n /** Whether interactions on the page should close the tooltip */\n this._closeOnInteraction = false;\n /** Subject for notifying that the tooltip has been hidden from the view */\n this._onHide = new rxjs.Subject();\n /** Stream that emits whether the user has a handset-sized display. */\n this._isHandset = this._breakpointObserver.observe(layout.Breakpoints.Handset);\n }\n /**\n * Shows the tooltip with an animation originating from the provided origin\n * @param delay Amount of milliseconds to the delay showing the tooltip.\n */\n TooltipComponent.prototype.show = function (delay) {\n var _this = this;\n // Cancel the delayed hide if it is scheduled\n if (this._hideTimeoutId) {\n clearTimeout(this._hideTimeoutId);\n this._hideTimeoutId = null;\n }\n // Body interactions should cancel the tooltip if there is a delay in showing.\n this._closeOnInteraction = true;\n this._showTimeoutId = setTimeout(function () {\n _this._visibility = 'visible';\n _this._showTimeoutId = null;\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n _this._markForCheck();\n }, delay);\n };\n /**\n * Begins the animation to hide the tooltip after the provided delay in ms.\n * @param delay Amount of milliseconds to delay showing the tooltip.\n */\n TooltipComponent.prototype.hide = function (delay) {\n var _this = this;\n // Cancel the delayed show if it is scheduled\n if (this._showTimeoutId) {\n clearTimeout(this._showTimeoutId);\n this._showTimeoutId = null;\n }\n this._hideTimeoutId = setTimeout(function () {\n _this._visibility = 'hidden';\n _this._hideTimeoutId = null;\n // Mark for check so if any parent component has set the\n // ChangeDetectionStrategy to OnPush it will be checked anyways\n _this._markForCheck();\n }, delay);\n };\n /** Returns an observable that notifies when the tooltip has been hidden from view. */\n TooltipComponent.prototype.afterHidden = function () {\n return this._onHide;\n };\n /** Whether the tooltip is being displayed. */\n TooltipComponent.prototype.isVisible = function () {\n return this._visibility === 'visible';\n };\n TooltipComponent.prototype.ngOnDestroy = function () {\n this._onHide.complete();\n };\n TooltipComponent.prototype._animationStart = function () {\n this._closeOnInteraction = false;\n };\n TooltipComponent.prototype._animationDone = function (event) {\n var toState = event.toState;\n if (toState === 'hidden' && !this.isVisible()) {\n this._onHide.next();\n }\n if (toState === 'visible' || toState === 'hidden') {\n this._closeOnInteraction = true;\n }\n };\n /**\n * Interactions on the HTML body should close the tooltip immediately as defined in the\n * material design spec.\n * https://material.io/design/components/tooltips.html#behavior\n */\n TooltipComponent.prototype._handleBodyInteraction = function () {\n if (this._closeOnInteraction) {\n this.hide(0);\n }\n };\n /**\n * Marks that the tooltip needs to be checked in the next change detection run.\n * Mainly used for rendering the initial text before positioning a tooltip, which\n * can be problematic in components with OnPush change detection.\n */\n TooltipComponent.prototype._markForCheck = function () {\n this._changeDetectorRef.markForCheck();\n };\n return TooltipComponent;\n }());\n TooltipComponent.decorators = [\n { type: core.Component, args: [{\n selector: 'mat-tooltip-component',\n template: \"<div class=\\\"mat-tooltip\\\"\\n [ngClass]=\\\"tooltipClass\\\"\\n [class.mat-tooltip-handset]=\\\"(_isHandset | async)?.matches\\\"\\n [@state]=\\\"_visibility\\\"\\n (@state.start)=\\\"_animationStart()\\\"\\n (@state.done)=\\\"_animationDone($event)\\\">{{message}}</div>\\n\",\n encapsulation: core.ViewEncapsulation.None,\n changeDetection: core.ChangeDetectionStrategy.OnPush,\n animations: [matTooltipAnimations.tooltipState],\n host: {\n // Forces the element to have a layout in IE and Edge. This fixes issues where the element\n // won't be rendered if the animations are disabled or there is no web animations polyfill.\n '[style.zoom]': '_visibility === \"visible\" ? 1 : null',\n '(body:click)': 'this._handleBodyInteraction()',\n '(body:auxclick)': 'this._handleBodyInteraction()',\n 'aria-hidden': 'true',\n },\n styles: [\".mat-tooltip-panel{pointer-events:none !important}.mat-tooltip{color:#fff;border-radius:4px;margin:14px;max-width:250px;padding-left:8px;padding-right:8px;overflow:hidden;text-overflow:ellipsis}.cdk-high-contrast-active .mat-tooltip{outline:solid 1px}.mat-tooltip-handset{margin:24px;padding-left:16px;padding-right:16px}\\n\"]\n },] }\n ];\n TooltipComponent.ctorParameters = function () { return [\n { type: core.ChangeDetectorRef },\n { type: layout.BreakpointObserver }\n ]; };\n\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n var MatTooltipModule = /** @class */ (function () {\n function MatTooltipModule() {\n }\n return MatTooltipModule;\n }());\n MatTooltipModule.decorators = [\n { type: core.NgModule, args: [{\n imports: [\n a11y.A11yModule,\n common.CommonModule,\n overlay.OverlayModule,\n core$1.MatCommonModule,\n ],\n exports: [MatTooltip, TooltipComponent, core$1.MatCommonModule, scrolling.CdkScrollableModule],\n declarations: [MatTooltip, TooltipComponent],\n entryComponents: [TooltipComponent],\n providers: [MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER]\n },] }\n ];\n\n /**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\n /**\n * Generated bundle index. Do not edit.\n */\n\n exports.MAT_TOOLTIP_DEFAULT_OPTIONS = MAT_TOOLTIP_DEFAULT_OPTIONS;\n exports.MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY = MAT_TOOLTIP_DEFAULT_OPTIONS_FACTORY;\n exports.MAT_TOOLTIP_SCROLL_STRATEGY = MAT_TOOLTIP_SCROLL_STRATEGY;\n exports.MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY = MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY;\n exports.MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER = MAT_TOOLTIP_SCROLL_STRATEGY_FACTORY_PROVIDER;\n exports.MatTooltip = MatTooltip;\n exports.MatTooltipModule = MatTooltipModule;\n exports.SCROLL_THROTTLE_MS = SCROLL_THROTTLE_MS;\n exports.TOOLTIP_PANEL_CLASS = TOOLTIP_PANEL_CLASS;\n exports.TooltipComponent = TooltipComponent;\n exports.getMatTooltipInvalidPositionError = getMatTooltipInvalidPositionError;\n exports.matTooltipAnimations = matTooltipAnimations;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=material-tooltip.umd.js.map\n"]}
@@ -28,6 +28,8 @@
28
28
  return extendStatics(d, b);
29
29
  };
30
30
  function __extends(d, b) {
31
+ if (typeof b !== "function" && b !== null)
32
+ throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
31
33
  extendStatics(d, b);
32
34
  function __() { this.constructor = d; }
33
35
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
@@ -213,11 +215,13 @@
213
215
  }
214
216
  return ar;
215
217
  }
218
+ /** @deprecated */
216
219
  function __spread() {
217
220
  for (var ar = [], i = 0; i < arguments.length; i++)
218
221
  ar = ar.concat(__read(arguments[i]));
219
222
  return ar;
220
223
  }
224
+ /** @deprecated */
221
225
  function __spreadArrays() {
222
226
  for (var s = 0, i = 0, il = arguments.length; i < il; i++)
223
227
  s += arguments[i].length;
@@ -226,7 +230,11 @@
226
230
  r[k] = a[j];
227
231
  return r;
228
232
  }
229
- ;
233
+ function __spreadArray(to, from) {
234
+ for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)
235
+ to[j] = from[i];
236
+ return to;
237
+ }
230
238
  function __await(v) {
231
239
  return this instanceof __await ? (this.v = v, this) : new __await(v);
232
240
  }
@@ -533,7 +541,7 @@
533
541
  case 1:
534
542
  nodes = _d.sent();
535
543
  return [4 /*yield*/, testing.parallel(function () { return nodes.map(function (node) {
536
- return Promise.all([node.getLevel(), node.getText(), node.isExpanded()]);
544
+ return testing.parallel(function () { return [node.getLevel(), node.getText(), node.isExpanded()]; });
537
545
  }); })];
538
546
  case 2:
539
547
  nodeInformation = _d.sent();
@@ -1 +1 @@
1
- {"version":3,"file":"material-tree-testing.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/material/tree/testing/node-harness.ts","../../../../../src/material/tree/testing/tree-harness.ts","../../../../../src/material/tree/testing/public-api.ts","../../../../../src/material/tree/testing/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TreeNodeHarnessFilters} from './tree-harness-filters';\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\n\n/** Harness for interacting with a standard Angular Material tree node. */\nexport class MatTreeNodeHarness extends ContentContainerComponentHarness<string> {\n /** The selector of the host element of a `MatTreeNode` instance. */\n static hostSelector = '.mat-tree-node, .mat-nested-tree-node';\n\n _toggle = this.locatorForOptional('[matTreeNodeToggle]');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree node with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeNodeHarnessFilters = {}): HarnessPredicate<MatTreeNodeHarness> {\n return getNodePredicate(MatTreeNodeHarness, options);\n }\n\n /** Whether the tree node is expanded. */\n async isExpanded(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getAttribute('aria-expanded'));\n }\n\n /** Whether the tree node is disabled. */\n async isDisabled(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getProperty('aria-disabled'));\n }\n\n /** Gets the level of the tree node. Note that this gets the aria-level and is 1 indexed. */\n async getLevel(): Promise<number> {\n return coerceNumberProperty(await (await this.host()).getAttribute('aria-level'));\n }\n\n /** Gets the tree node's text. */\n async getText(): Promise<string> {\n return (await this.host()).text({exclude: '.mat-tree-node, .mat-nested-tree-node, button'});\n }\n\n /** Toggles node between expanded/collapsed. Only works when node is not disabled. */\n async toggle(): Promise<void> {\n const toggle = await this._toggle();\n if (toggle) {\n return toggle.click();\n }\n }\n\n /** Expands the node if it is collapsed. Only works when node is not disabled. */\n async expand(): Promise<void> {\n if (!(await this.isExpanded())) {\n await this.toggle();\n }\n }\n\n /** Collapses the node if it is expanded. Only works when node is not disabled. */\n async collapse(): Promise<void> {\n if (await this.isExpanded()) {\n await this.toggle();\n }\n }\n}\n\nfunction getNodePredicate<T extends MatTreeNodeHarness>(\n type: ComponentHarnessConstructor<T>,\n options: TreeNodeHarnessFilters): HarnessPredicate<T> {\n return new HarnessPredicate(type, options)\n .addOption('text', options.text,\n (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text))\n .addOption(\n 'disabled', options.disabled,\n async (harness, disabled) => (await harness.isDisabled()) === disabled)\n .addOption(\n 'expanded', options.expanded,\n async (harness, expanded) => (await harness.isExpanded()) === expanded)\n .addOption(\n 'level', options.level,\n async (harness, level) => (await harness.getLevel()) === level);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {MatTreeNodeHarness} from './node-harness';\nimport {TreeHarnessFilters, TreeNodeHarnessFilters} from './tree-harness-filters';\n\nexport type TextTree = {\n text?: string;\n children?: TextTree[];\n};\n\n/** Harness for interacting with a standard mat-tree in tests. */\nexport class MatTreeHarness extends ComponentHarness {\n /** The selector for the host element of a `MatTableHarness` instance. */\n static hostSelector = '.mat-tree';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeHarnessFilters = {}): HarnessPredicate<MatTreeHarness> {\n return new HarnessPredicate(MatTreeHarness, options);\n }\n\n /** Gets all of the nodes in the tree. */\n async getNodes(filter: TreeNodeHarnessFilters = {}): Promise<MatTreeNodeHarness[]> {\n return this.locatorForAll(MatTreeNodeHarness.with(filter))();\n }\n\n /**\n * Gets an object representation for the visible tree structure\n * If a node is under an unexpanded node it will not be included.\n * Eg.\n * Tree (all nodes expanded):\n * `\n * <mat-tree>\n * <mat-tree-node>Node 1<mat-tree-node>\n * <mat-nested-tree-node>\n * Node 2\n * <mat-nested-tree-node>\n * Node 2.1\n * <mat-tree-node>\n * Node 2.1.1\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * <mat-tree-node>\n * Node 2.2\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * </mat-tree>`\n *\n * Tree structure:\n * {\n * children: [\n * {\n * text: 'Node 1',\n * children: [\n * {\n * text: 'Node 2',\n * children: [\n * {\n * text: 'Node 2.1',\n * children: [{text: 'Node 2.1.1'}]\n * },\n * {text: 'Node 2.2'}\n * ]\n * }\n * ]\n * }\n * ]\n * };\n */\n async getTreeStructure(): Promise<TextTree> {\n const nodes = await this.getNodes();\n const nodeInformation = await parallel(() => nodes.map(node => {\n return Promise.all([node.getLevel(), node.getText(), node.isExpanded()]);\n }));\n return this._getTreeStructure(nodeInformation, 1, true);\n }\n\n /**\n * Recursively collect the structured text of the tree nodes.\n * @param nodes A list of tree nodes\n * @param level The level of nodes that are being accounted for during this iteration\n * @param parentExpanded Whether the parent of the first node in param nodes is expanded\n */\n private _getTreeStructure(nodes: [number, string, boolean][], level: number,\n parentExpanded: boolean): TextTree {\n const result: TextTree = {};\n for (let i = 0; i < nodes.length; i++) {\n const [nodeLevel, text, expanded] = nodes[i];\n const nextNodeLevel = nodes[i + 1]?.[0] ?? -1;\n\n // Return the accumulated value for the current level once we reach a shallower level node\n if (nodeLevel < level) {\n return result;\n }\n // Skip deeper level nodes during this iteration, they will be picked up in a later iteration\n if (nodeLevel > level) {\n continue;\n }\n // Only add to representation if it is visible (parent is expanded)\n if (parentExpanded) {\n // Collect the data under this node according to the following rules:\n // 1. If the next node in the list is a sibling of the current node add it to the child list\n // 2. If the next node is a child of the current node, get the sub-tree structure for the\n // child and add it under this node\n // 3. If the next node has a shallower level, we've reached the end of the child nodes for\n // the current parent.\n if (nextNodeLevel === level) {\n this._addChildToNode(result, {text});\n } else if (nextNodeLevel > level) {\n let children = this._getTreeStructure(nodes.slice(i + 1),\n nextNodeLevel,\n expanded)?.children;\n let child = children ? {text, children} : {text};\n this._addChildToNode(result, child);\n } else {\n this._addChildToNode(result, {text});\n return result;\n }\n }\n }\n return result;\n }\n\n private _addChildToNode(result: TextTree, child: TextTree) {\n result.children ? result.children.push(child) : result.children = [child];\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './node-harness';\nexport * from './tree-harness';\nexport * from './tree-harness-filters';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["coerceBooleanProperty","coerceNumberProperty","ContentContainerComponentHarness","HarnessPredicate","parallel","ComponentHarness"],"mappings":"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"}
1
+ {"version":3,"file":"material-tree-testing.umd.js","sources":["../../../../../external/npm/node_modules/tslib/tslib.es6.js","../../../../../src/material/tree/testing/node-harness.ts","../../../../../src/material/tree/testing/tree-harness.ts","../../../../../src/material/tree/testing/public-api.ts","../../../../../src/material/tree/testing/index.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {\n ComponentHarnessConstructor,\n ContentContainerComponentHarness,\n HarnessPredicate,\n} from '@angular/cdk/testing';\nimport {TreeNodeHarnessFilters} from './tree-harness-filters';\nimport {coerceBooleanProperty, coerceNumberProperty} from '@angular/cdk/coercion';\n\n/** Harness for interacting with a standard Angular Material tree node. */\nexport class MatTreeNodeHarness extends ContentContainerComponentHarness<string> {\n /** The selector of the host element of a `MatTreeNode` instance. */\n static hostSelector = '.mat-tree-node, .mat-nested-tree-node';\n\n _toggle = this.locatorForOptional('[matTreeNodeToggle]');\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree node with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeNodeHarnessFilters = {}): HarnessPredicate<MatTreeNodeHarness> {\n return getNodePredicate(MatTreeNodeHarness, options);\n }\n\n /** Whether the tree node is expanded. */\n async isExpanded(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getAttribute('aria-expanded'));\n }\n\n /** Whether the tree node is disabled. */\n async isDisabled(): Promise<boolean> {\n return coerceBooleanProperty(await (await this.host()).getProperty('aria-disabled'));\n }\n\n /** Gets the level of the tree node. Note that this gets the aria-level and is 1 indexed. */\n async getLevel(): Promise<number> {\n return coerceNumberProperty(await (await this.host()).getAttribute('aria-level'));\n }\n\n /** Gets the tree node's text. */\n async getText(): Promise<string> {\n return (await this.host()).text({exclude: '.mat-tree-node, .mat-nested-tree-node, button'});\n }\n\n /** Toggles node between expanded/collapsed. Only works when node is not disabled. */\n async toggle(): Promise<void> {\n const toggle = await this._toggle();\n if (toggle) {\n return toggle.click();\n }\n }\n\n /** Expands the node if it is collapsed. Only works when node is not disabled. */\n async expand(): Promise<void> {\n if (!(await this.isExpanded())) {\n await this.toggle();\n }\n }\n\n /** Collapses the node if it is expanded. Only works when node is not disabled. */\n async collapse(): Promise<void> {\n if (await this.isExpanded()) {\n await this.toggle();\n }\n }\n}\n\nfunction getNodePredicate<T extends MatTreeNodeHarness>(\n type: ComponentHarnessConstructor<T>,\n options: TreeNodeHarnessFilters): HarnessPredicate<T> {\n return new HarnessPredicate(type, options)\n .addOption('text', options.text,\n (harness, text) => HarnessPredicate.stringMatches(harness.getText(), text))\n .addOption(\n 'disabled', options.disabled,\n async (harness, disabled) => (await harness.isDisabled()) === disabled)\n .addOption(\n 'expanded', options.expanded,\n async (harness, expanded) => (await harness.isExpanded()) === expanded)\n .addOption(\n 'level', options.level,\n async (harness, level) => (await harness.getLevel()) === level);\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nimport {ComponentHarness, HarnessPredicate, parallel} from '@angular/cdk/testing';\nimport {MatTreeNodeHarness} from './node-harness';\nimport {TreeHarnessFilters, TreeNodeHarnessFilters} from './tree-harness-filters';\n\nexport type TextTree = {\n text?: string;\n children?: TextTree[];\n};\n\n/** Harness for interacting with a standard mat-tree in tests. */\nexport class MatTreeHarness extends ComponentHarness {\n /** The selector for the host element of a `MatTableHarness` instance. */\n static hostSelector = '.mat-tree';\n\n /**\n * Gets a `HarnessPredicate` that can be used to search for a tree with specific attributes.\n * @param options Options for narrowing the search\n * @return a `HarnessPredicate` configured with the given options.\n */\n static with(options: TreeHarnessFilters = {}): HarnessPredicate<MatTreeHarness> {\n return new HarnessPredicate(MatTreeHarness, options);\n }\n\n /** Gets all of the nodes in the tree. */\n async getNodes(filter: TreeNodeHarnessFilters = {}): Promise<MatTreeNodeHarness[]> {\n return this.locatorForAll(MatTreeNodeHarness.with(filter))();\n }\n\n /**\n * Gets an object representation for the visible tree structure\n * If a node is under an unexpanded node it will not be included.\n * Eg.\n * Tree (all nodes expanded):\n * `\n * <mat-tree>\n * <mat-tree-node>Node 1<mat-tree-node>\n * <mat-nested-tree-node>\n * Node 2\n * <mat-nested-tree-node>\n * Node 2.1\n * <mat-tree-node>\n * Node 2.1.1\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * <mat-tree-node>\n * Node 2.2\n * <mat-tree-node>\n * <mat-nested-tree-node>\n * </mat-tree>`\n *\n * Tree structure:\n * {\n * children: [\n * {\n * text: 'Node 1',\n * children: [\n * {\n * text: 'Node 2',\n * children: [\n * {\n * text: 'Node 2.1',\n * children: [{text: 'Node 2.1.1'}]\n * },\n * {text: 'Node 2.2'}\n * ]\n * }\n * ]\n * }\n * ]\n * };\n */\n async getTreeStructure(): Promise<TextTree> {\n const nodes = await this.getNodes();\n const nodeInformation = await parallel(() => nodes.map(node => {\n return parallel(() => [node.getLevel(), node.getText(), node.isExpanded()]);\n }));\n return this._getTreeStructure(nodeInformation, 1, true);\n }\n\n /**\n * Recursively collect the structured text of the tree nodes.\n * @param nodes A list of tree nodes\n * @param level The level of nodes that are being accounted for during this iteration\n * @param parentExpanded Whether the parent of the first node in param nodes is expanded\n */\n private _getTreeStructure(nodes: [number, string, boolean][], level: number,\n parentExpanded: boolean): TextTree {\n const result: TextTree = {};\n for (let i = 0; i < nodes.length; i++) {\n const [nodeLevel, text, expanded] = nodes[i];\n const nextNodeLevel = nodes[i + 1]?.[0] ?? -1;\n\n // Return the accumulated value for the current level once we reach a shallower level node\n if (nodeLevel < level) {\n return result;\n }\n // Skip deeper level nodes during this iteration, they will be picked up in a later iteration\n if (nodeLevel > level) {\n continue;\n }\n // Only add to representation if it is visible (parent is expanded)\n if (parentExpanded) {\n // Collect the data under this node according to the following rules:\n // 1. If the next node in the list is a sibling of the current node add it to the child list\n // 2. If the next node is a child of the current node, get the sub-tree structure for the\n // child and add it under this node\n // 3. If the next node has a shallower level, we've reached the end of the child nodes for\n // the current parent.\n if (nextNodeLevel === level) {\n this._addChildToNode(result, {text});\n } else if (nextNodeLevel > level) {\n let children = this._getTreeStructure(nodes.slice(i + 1),\n nextNodeLevel,\n expanded)?.children;\n let child = children ? {text, children} : {text};\n this._addChildToNode(result, child);\n } else {\n this._addChildToNode(result, {text});\n return result;\n }\n }\n }\n return result;\n }\n\n private _addChildToNode(result: TextTree, child: TextTree) {\n result.children ? result.children.push(child) : result.children = [child];\n }\n}\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './node-harness';\nexport * from './tree-harness';\nexport * from './tree-harness-filters';\n","/**\n * @license\n * Copyright Google LLC All Rights Reserved.\n *\n * Use of this source code is governed by an MIT-style license that can be\n * found in the LICENSE file at https://angular.io/license\n */\n\nexport * from './public-api';\n"],"names":["coerceBooleanProperty","coerceNumberProperty","ContentContainerComponentHarness","HarnessPredicate","parallel","ComponentHarness"],"mappings":"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"}