@covalent/core 3.1.2-beta.4 → 4.0.0

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 (348) hide show
  1. package/bundles/covalent-core-side-sheet.umd.js +1458 -0
  2. package/bundles/covalent-core-side-sheet.umd.js.map +1 -0
  3. package/bundles/covalent-core-side-sheet.umd.min.js +16 -0
  4. package/bundles/covalent-core-side-sheet.umd.min.js.map +1 -0
  5. package/bundles/covalent-core-user-profile.umd.js +1 -9
  6. package/bundles/covalent-core-user-profile.umd.js.map +1 -1
  7. package/bundles/covalent-core-user-profile.umd.min.js.map +1 -1
  8. package/dialogs/_dialog-theme.scss +1 -0
  9. package/esm2015/side-sheet/covalent-core-side-sheet.js +12 -0
  10. package/esm2015/side-sheet/index.js +7 -0
  11. package/esm2015/side-sheet/public-api.js +11 -0
  12. package/esm2015/side-sheet/side-sheet-container.js +402 -0
  13. package/esm2015/side-sheet/side-sheet-ref.js +50 -0
  14. package/esm2015/side-sheet/side-sheet.animation.js +20 -0
  15. package/esm2015/side-sheet/side-sheet.config.js +12 -0
  16. package/esm2015/side-sheet/side-sheet.content-directives.js +255 -0
  17. package/esm2015/side-sheet/side-sheet.js +360 -0
  18. package/esm2015/side-sheet/side-sheet.module.js +36 -0
  19. package/esm2015/user-profile/user-profile.module.js +3 -11
  20. package/fesm2015/covalent-core-side-sheet.js +1134 -0
  21. package/fesm2015/covalent-core-side-sheet.js.map +1 -0
  22. package/fesm2015/covalent-core-user-profile.js +1 -9
  23. package/fesm2015/covalent-core-user-profile.js.map +1 -1
  24. package/package.json +1 -1
  25. package/schematics/components.js +1 -14
  26. package/schematics/components.js.map +1 -1
  27. package/side-sheet/README.md +66 -0
  28. package/side-sheet/covalent-core-side-sheet.d.ts +6 -0
  29. package/side-sheet/covalent-core-side-sheet.metadata.json +1 -0
  30. package/{chips → side-sheet}/index.d.ts +0 -0
  31. package/side-sheet/package.json +11 -0
  32. package/side-sheet/public-api.d.ts +5 -0
  33. package/side-sheet/side-sheet-container.d.ts +94 -0
  34. package/side-sheet/side-sheet-ref.d.ts +10 -0
  35. package/side-sheet/side-sheet.animation.d.ts +4 -0
  36. package/side-sheet/side-sheet.config.d.ts +3 -0
  37. package/side-sheet/side-sheet.content-directives.d.ts +50 -0
  38. package/side-sheet/side-sheet.d.ts +61 -0
  39. package/side-sheet/side-sheet.module.d.ts +2 -0
  40. package/side-sheet/side-sheet.scss +69 -0
  41. package/side-sheet/side-sheet.theme.scss +8 -0
  42. package/theming/_all-theme.scss +2 -14
  43. package/theming/prebuilt/blue-grey-deep-orange.css +5 -249
  44. package/theming/prebuilt/blue-grey-deep-orange.css.map +1 -1
  45. package/theming/prebuilt/blue-orange.css +5 -249
  46. package/theming/prebuilt/blue-orange.css.map +1 -1
  47. package/theming/prebuilt/indigo-pink.css +5 -249
  48. package/theming/prebuilt/indigo-pink.css.map +1 -1
  49. package/theming/prebuilt/orange-light-blue.css +5 -249
  50. package/theming/prebuilt/orange-light-blue.css.map +1 -1
  51. package/theming/prebuilt/teal-orange.css +5 -249
  52. package/theming/prebuilt/teal-orange.css.map +1 -1
  53. package/typography/_all-typography.scss +0 -10
  54. package/user-profile/covalent-core-user-profile.metadata.json +1 -1
  55. package/bundles/covalent-core-chips.umd.js +0 -1507
  56. package/bundles/covalent-core-chips.umd.js.map +0 -1
  57. package/bundles/covalent-core-chips.umd.min.js +0 -16
  58. package/bundles/covalent-core-chips.umd.min.js.map +0 -1
  59. package/bundles/covalent-core-data-table.umd.js +0 -2756
  60. package/bundles/covalent-core-data-table.umd.js.map +0 -1
  61. package/bundles/covalent-core-data-table.umd.min.js +0 -16
  62. package/bundles/covalent-core-data-table.umd.min.js.map +0 -1
  63. package/bundles/covalent-core-expansion-panel.umd.js +0 -853
  64. package/bundles/covalent-core-expansion-panel.umd.js.map +0 -1
  65. package/bundles/covalent-core-expansion-panel.umd.min.js +0 -16
  66. package/bundles/covalent-core-expansion-panel.umd.min.js.map +0 -1
  67. package/bundles/covalent-core-loading.umd.js +0 -1534
  68. package/bundles/covalent-core-loading.umd.js.map +0 -1
  69. package/bundles/covalent-core-loading.umd.min.js +0 -16
  70. package/bundles/covalent-core-loading.umd.min.js.map +0 -1
  71. package/bundles/covalent-core-media.umd.js +0 -749
  72. package/bundles/covalent-core-media.umd.js.map +0 -1
  73. package/bundles/covalent-core-media.umd.min.js +0 -16
  74. package/bundles/covalent-core-media.umd.min.js.map +0 -1
  75. package/bundles/covalent-core-nav-links.umd.js +0 -197
  76. package/bundles/covalent-core-nav-links.umd.js.map +0 -1
  77. package/bundles/covalent-core-nav-links.umd.min.js +0 -2
  78. package/bundles/covalent-core-nav-links.umd.min.js.map +0 -1
  79. package/bundles/covalent-core-notifications.umd.js +0 -275
  80. package/bundles/covalent-core-notifications.umd.js.map +0 -1
  81. package/bundles/covalent-core-notifications.umd.min.js +0 -2
  82. package/bundles/covalent-core-notifications.umd.min.js.map +0 -1
  83. package/bundles/covalent-core-paging.umd.js +0 -491
  84. package/bundles/covalent-core-paging.umd.js.map +0 -1
  85. package/bundles/covalent-core-paging.umd.min.js +0 -2
  86. package/bundles/covalent-core-paging.umd.min.js.map +0 -1
  87. package/bundles/covalent-core-sidesheet.umd.js +0 -145
  88. package/bundles/covalent-core-sidesheet.umd.js.map +0 -1
  89. package/bundles/covalent-core-sidesheet.umd.min.js +0 -2
  90. package/bundles/covalent-core-sidesheet.umd.min.js.map +0 -1
  91. package/bundles/covalent-core-steps.umd.js +0 -1756
  92. package/bundles/covalent-core-steps.umd.js.map +0 -1
  93. package/bundles/covalent-core-steps.umd.min.js +0 -16
  94. package/bundles/covalent-core-steps.umd.min.js.map +0 -1
  95. package/bundles/covalent-core-tab-select.umd.js +0 -732
  96. package/bundles/covalent-core-tab-select.umd.js.map +0 -1
  97. package/bundles/covalent-core-tab-select.umd.min.js +0 -16
  98. package/bundles/covalent-core-tab-select.umd.min.js.map +0 -1
  99. package/bundles/covalent-core-virtual-scroll.umd.js +0 -785
  100. package/bundles/covalent-core-virtual-scroll.umd.js.map +0 -1
  101. package/bundles/covalent-core-virtual-scroll.umd.min.js +0 -16
  102. package/bundles/covalent-core-virtual-scroll.umd.min.js.map +0 -1
  103. package/chips/README.md +0 -99
  104. package/chips/_chips-theme.scss +0 -87
  105. package/chips/chips.component.d.ts +0 -287
  106. package/chips/chips.component.scss +0 -147
  107. package/chips/chips.module.d.ts +0 -2
  108. package/chips/covalent-core-chips.d.ts +0 -4
  109. package/chips/covalent-core-chips.metadata.json +0 -1
  110. package/chips/package.json +0 -11
  111. package/chips/public-api.d.ts +0 -2
  112. package/data-table/README.md +0 -134
  113. package/data-table/_data-table-theme.scss +0 -115
  114. package/data-table/covalent-core-data-table.d.ts +0 -4
  115. package/data-table/covalent-core-data-table.metadata.json +0 -1
  116. package/data-table/data-table-cell/data-table-cell.component.d.ts +0 -22
  117. package/data-table/data-table-cell/data-table-cell.component.scss +0 -58
  118. package/data-table/data-table-column/data-table-column.component.d.ts +0 -63
  119. package/data-table/data-table-column/data-table-column.component.scss +0 -80
  120. package/data-table/data-table-row/data-table-row.component.d.ts +0 -20
  121. package/data-table/data-table-row/data-table-row.component.scss +0 -12
  122. package/data-table/data-table-table/data-table-table.component.d.ts +0 -6
  123. package/data-table/data-table-table/data-table-table.component.scss +0 -7
  124. package/data-table/data-table.component.d.ts +0 -356
  125. package/data-table/data-table.component.scss +0 -93
  126. package/data-table/data-table.module.d.ts +0 -2
  127. package/data-table/directives/data-table-template.directive.d.ts +0 -6
  128. package/data-table/index.d.ts +0 -1
  129. package/data-table/package.json +0 -11
  130. package/data-table/public-api.d.ts +0 -8
  131. package/data-table/services/data-table.service.d.ts +0 -31
  132. package/esm2015/chips/chips.component.js +0 -1115
  133. package/esm2015/chips/chips.module.js +0 -23
  134. package/esm2015/chips/covalent-core-chips.js +0 -10
  135. package/esm2015/chips/index.js +0 -7
  136. package/esm2015/chips/public-api.js +0 -8
  137. package/esm2015/data-table/covalent-core-data-table.js +0 -10
  138. package/esm2015/data-table/data-table-cell/data-table-cell.component.js +0 -88
  139. package/esm2015/data-table/data-table-column/data-table-column.component.js +0 -218
  140. package/esm2015/data-table/data-table-row/data-table-row.component.js +0 -132
  141. package/esm2015/data-table/data-table-table/data-table-table.component.js +0 -43
  142. package/esm2015/data-table/data-table.component.js +0 -1640
  143. package/esm2015/data-table/data-table.module.js +0 -39
  144. package/esm2015/data-table/directives/data-table-template.directive.js +0 -32
  145. package/esm2015/data-table/index.js +0 -7
  146. package/esm2015/data-table/public-api.js +0 -14
  147. package/esm2015/data-table/services/data-table.service.js +0 -116
  148. package/esm2015/expansion-panel/covalent-core-expansion-panel.js +0 -10
  149. package/esm2015/expansion-panel/expansion-panel-group.component.js +0 -212
  150. package/esm2015/expansion-panel/expansion-panel.component.js +0 -272
  151. package/esm2015/expansion-panel/expansion-panel.module.js +0 -31
  152. package/esm2015/expansion-panel/index.js +0 -7
  153. package/esm2015/expansion-panel/public-api.js +0 -9
  154. package/esm2015/loading/covalent-core-loading.js +0 -10
  155. package/esm2015/loading/directives/loading.directive.js +0 -231
  156. package/esm2015/loading/index.js +0 -7
  157. package/esm2015/loading/loading.component.js +0 -302
  158. package/esm2015/loading/loading.module.js +0 -30
  159. package/esm2015/loading/public-api.js +0 -11
  160. package/esm2015/loading/services/loading.factory.js +0 -297
  161. package/esm2015/loading/services/loading.service.js +0 -319
  162. package/esm2015/media/covalent-core-media.js +0 -10
  163. package/esm2015/media/directives/media-toggle.directive.js +0 -207
  164. package/esm2015/media/index.js +0 -7
  165. package/esm2015/media/media.module.js +0 -20
  166. package/esm2015/media/public-api.js +0 -9
  167. package/esm2015/media/services/media.service.js +0 -169
  168. package/esm2015/nav-links/covalent-core-nav-links.js +0 -10
  169. package/esm2015/nav-links/index.js +0 -7
  170. package/esm2015/nav-links/nav-links.component.js +0 -138
  171. package/esm2015/nav-links/nav-links.module.js +0 -37
  172. package/esm2015/nav-links/public-api.js +0 -8
  173. package/esm2015/notifications/covalent-core-notifications.js +0 -10
  174. package/esm2015/notifications/index.js +0 -7
  175. package/esm2015/notifications/notification-count.component.js +0 -191
  176. package/esm2015/notifications/notifications.module.js +0 -20
  177. package/esm2015/notifications/public-api.js +0 -8
  178. package/esm2015/paging/covalent-core-paging.js +0 -10
  179. package/esm2015/paging/index.js +0 -7
  180. package/esm2015/paging/paging-bar.component.js +0 -412
  181. package/esm2015/paging/paging.module.js +0 -20
  182. package/esm2015/paging/public-api.js +0 -8
  183. package/esm2015/sidesheet/covalent-core-sidesheet.js +0 -10
  184. package/esm2015/sidesheet/index.js +0 -7
  185. package/esm2015/sidesheet/public-api.js +0 -8
  186. package/esm2015/sidesheet/sidesheet.component.js +0 -72
  187. package/esm2015/sidesheet/sidesheet.module.js +0 -27
  188. package/esm2015/steps/covalent-core-steps.js +0 -10
  189. package/esm2015/steps/index.js +0 -7
  190. package/esm2015/steps/nav/nav-step-link/nav-step-link.component.js +0 -144
  191. package/esm2015/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.js +0 -371
  192. package/esm2015/steps/nav/nav-steps-vertical/nav-steps-vertical.component.js +0 -130
  193. package/esm2015/steps/public-api.js +0 -14
  194. package/esm2015/steps/step-body/step-body.component.js +0 -83
  195. package/esm2015/steps/step-header/step-header.component.js +0 -79
  196. package/esm2015/steps/step.component.js +0 -312
  197. package/esm2015/steps/steps.component.js +0 -234
  198. package/esm2015/steps/steps.module.js +0 -44
  199. package/esm2015/tab-select/covalent-core-tab-select.js +0 -10
  200. package/esm2015/tab-select/index.js +0 -7
  201. package/esm2015/tab-select/public-api.js +0 -9
  202. package/esm2015/tab-select/tab-option.component.js +0 -82
  203. package/esm2015/tab-select/tab-select.component.js +0 -291
  204. package/esm2015/tab-select/tab-select.module.js +0 -31
  205. package/esm2015/virtual-scroll/covalent-core-virtual-scroll.js +0 -10
  206. package/esm2015/virtual-scroll/index.js +0 -7
  207. package/esm2015/virtual-scroll/public-api.js +0 -9
  208. package/esm2015/virtual-scroll/virtual-scroll-container.component.js +0 -391
  209. package/esm2015/virtual-scroll/virtual-scroll-row.directive.js +0 -25
  210. package/esm2015/virtual-scroll/virtual-scroll.module.js +0 -21
  211. package/expansion-panel/README.md +0 -116
  212. package/expansion-panel/_expansion-panel-theme.scss +0 -80
  213. package/expansion-panel/covalent-core-expansion-panel.d.ts +0 -4
  214. package/expansion-panel/covalent-core-expansion-panel.metadata.json +0 -1
  215. package/expansion-panel/expansion-panel-group.component.d.ts +0 -31
  216. package/expansion-panel/expansion-panel-group.component.scss +0 -0
  217. package/expansion-panel/expansion-panel.component.d.ts +0 -82
  218. package/expansion-panel/expansion-panel.component.scss +0 -50
  219. package/expansion-panel/expansion-panel.module.d.ts +0 -2
  220. package/expansion-panel/index.d.ts +0 -1
  221. package/expansion-panel/package.json +0 -11
  222. package/expansion-panel/public-api.d.ts +0 -3
  223. package/fesm2015/covalent-core-chips.js +0 -1151
  224. package/fesm2015/covalent-core-chips.js.map +0 -1
  225. package/fesm2015/covalent-core-data-table.js +0 -2309
  226. package/fesm2015/covalent-core-data-table.js.map +0 -1
  227. package/fesm2015/covalent-core-expansion-panel.js +0 -528
  228. package/fesm2015/covalent-core-expansion-panel.js.map +0 -1
  229. package/fesm2015/covalent-core-loading.js +0 -1179
  230. package/fesm2015/covalent-core-loading.js.map +0 -1
  231. package/fesm2015/covalent-core-media.js +0 -411
  232. package/fesm2015/covalent-core-media.js.map +0 -1
  233. package/fesm2015/covalent-core-nav-links.js +0 -193
  234. package/fesm2015/covalent-core-nav-links.js.map +0 -1
  235. package/fesm2015/covalent-core-notifications.js +0 -228
  236. package/fesm2015/covalent-core-notifications.js.map +0 -1
  237. package/fesm2015/covalent-core-paging.js +0 -451
  238. package/fesm2015/covalent-core-paging.js.map +0 -1
  239. package/fesm2015/covalent-core-sidesheet.js +0 -118
  240. package/fesm2015/covalent-core-sidesheet.js.map +0 -1
  241. package/fesm2015/covalent-core-steps.js +0 -1384
  242. package/fesm2015/covalent-core-steps.js.map +0 -1
  243. package/fesm2015/covalent-core-tab-select.js +0 -416
  244. package/fesm2015/covalent-core-tab-select.js.map +0 -1
  245. package/fesm2015/covalent-core-virtual-scroll.js +0 -453
  246. package/fesm2015/covalent-core-virtual-scroll.js.map +0 -1
  247. package/loading/README.md +0 -180
  248. package/loading/_loading-theme.scss +0 -10
  249. package/loading/covalent-core-loading.d.ts +0 -4
  250. package/loading/covalent-core-loading.metadata.json +0 -1
  251. package/loading/directives/loading.directive.d.ts +0 -71
  252. package/loading/index.d.ts +0 -1
  253. package/loading/loading.component.d.ts +0 -87
  254. package/loading/loading.component.scss +0 -42
  255. package/loading/loading.module.d.ts +0 -2
  256. package/loading/package.json +0 -11
  257. package/loading/public-api.d.ts +0 -5
  258. package/loading/services/loading.factory.d.ts +0 -66
  259. package/loading/services/loading.service.d.ts +0 -118
  260. package/media/covalent-core-media.d.ts +0 -4
  261. package/media/covalent-core-media.metadata.json +0 -1
  262. package/media/directives/media-toggle.directive.d.ts +0 -42
  263. package/media/index.d.ts +0 -1
  264. package/media/media.module.d.ts +0 -2
  265. package/media/package.json +0 -11
  266. package/media/public-api.d.ts +0 -3
  267. package/media/services/media.service.d.ts +0 -31
  268. package/nav-links/README.md +0 -1
  269. package/nav-links/covalent-core-nav-links.d.ts +0 -4
  270. package/nav-links/covalent-core-nav-links.metadata.json +0 -1
  271. package/nav-links/index.d.ts +0 -1
  272. package/nav-links/nav-links.component.d.ts +0 -51
  273. package/nav-links/nav-links.component.scss +0 -15
  274. package/nav-links/nav-links.module.d.ts +0 -2
  275. package/nav-links/package.json +0 -11
  276. package/nav-links/public-api.d.ts +0 -2
  277. package/notifications/README.md +0 -69
  278. package/notifications/_notification-count-theme.scss +0 -27
  279. package/notifications/covalent-core-notifications.d.ts +0 -4
  280. package/notifications/covalent-core-notifications.metadata.json +0 -1
  281. package/notifications/index.d.ts +0 -1
  282. package/notifications/notification-count.component.d.ts +0 -74
  283. package/notifications/notification-count.component.scss +0 -90
  284. package/notifications/notifications.module.d.ts +0 -2
  285. package/notifications/package.json +0 -11
  286. package/notifications/public-api.d.ts +0 -2
  287. package/paging/README.md +0 -141
  288. package/paging/_paging-bar-theme.scss +0 -26
  289. package/paging/covalent-core-paging.d.ts +0 -4
  290. package/paging/covalent-core-paging.metadata.json +0 -1
  291. package/paging/index.d.ts +0 -1
  292. package/paging/package.json +0 -11
  293. package/paging/paging-bar.component.d.ts +0 -115
  294. package/paging/paging-bar.component.scss +0 -23
  295. package/paging/paging.module.d.ts +0 -2
  296. package/paging/public-api.d.ts +0 -2
  297. package/sidesheet/README.md +0 -68
  298. package/sidesheet/covalent-core-sidesheet.d.ts +0 -4
  299. package/sidesheet/covalent-core-sidesheet.metadata.json +0 -1
  300. package/sidesheet/index.d.ts +0 -1
  301. package/sidesheet/package.json +0 -11
  302. package/sidesheet/public-api.d.ts +0 -2
  303. package/sidesheet/sidesheet.component.d.ts +0 -13
  304. package/sidesheet/sidesheet.component.scss +0 -101
  305. package/sidesheet/sidesheet.module.d.ts +0 -2
  306. package/steps/README.md +0 -159
  307. package/steps/_steps-theme.scss +0 -108
  308. package/steps/covalent-core-steps.d.ts +0 -4
  309. package/steps/covalent-core-steps.metadata.json +0 -1
  310. package/steps/index.d.ts +0 -1
  311. package/steps/nav/README.md +0 -90
  312. package/steps/nav/nav-step-link/nav-step-link.component.d.ts +0 -42
  313. package/steps/nav/nav-step-link/nav-step-link.component.scss +0 -17
  314. package/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.d.ts +0 -79
  315. package/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.scss +0 -83
  316. package/steps/nav/nav-steps-vertical/nav-steps-vertical.component.d.ts +0 -18
  317. package/steps/nav/nav-steps-vertical/nav-steps-vertical.component.scss +0 -18
  318. package/steps/package.json +0 -11
  319. package/steps/public-api.d.ts +0 -8
  320. package/steps/step-body/step-body.component.d.ts +0 -25
  321. package/steps/step-body/step-body.component.scss +0 -29
  322. package/steps/step-header/step-header.component.d.ts +0 -35
  323. package/steps/step-header/step-header.component.scss +0 -90
  324. package/steps/step.component.d.ts +0 -97
  325. package/steps/steps.component.d.ts +0 -60
  326. package/steps/steps.component.scss +0 -55
  327. package/steps/steps.module.d.ts +0 -2
  328. package/tab-select/README.md +0 -93
  329. package/tab-select/covalent-core-tab-select.d.ts +0 -4
  330. package/tab-select/covalent-core-tab-select.metadata.json +0 -1
  331. package/tab-select/index.d.ts +0 -1
  332. package/tab-select/package.json +0 -11
  333. package/tab-select/public-api.d.ts +0 -3
  334. package/tab-select/tab-option.component.d.ts +0 -20
  335. package/tab-select/tab-option.component.scss +0 -0
  336. package/tab-select/tab-select.component.d.ts +0 -62
  337. package/tab-select/tab-select.component.scss +0 -3
  338. package/tab-select/tab-select.module.d.ts +0 -2
  339. package/virtual-scroll/README.md +0 -68
  340. package/virtual-scroll/covalent-core-virtual-scroll.d.ts +0 -4
  341. package/virtual-scroll/covalent-core-virtual-scroll.metadata.json +0 -1
  342. package/virtual-scroll/index.d.ts +0 -1
  343. package/virtual-scroll/package.json +0 -11
  344. package/virtual-scroll/public-api.d.ts +0 -3
  345. package/virtual-scroll/virtual-scroll-container.component.d.ts +0 -73
  346. package/virtual-scroll/virtual-scroll-container.component.scss +0 -7
  347. package/virtual-scroll/virtual-scroll-row.directive.d.ts +0 -5
  348. package/virtual-scroll/virtual-scroll.module.d.ts +0 -2
@@ -0,0 +1,255 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: side-sheet.content-directives.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /* tslint:disable */
7
+ import { Directive, Input, Optional, ElementRef } from '@angular/core';
8
+ import { CovalentSideSheet } from './side-sheet';
9
+ import { _closeSideSheetVia, CovalentSideSheetRef } from './side-sheet-ref';
10
+ /**
11
+ * Counter used to generate unique IDs for dialog elements.
12
+ * @type {?}
13
+ */
14
+ let dialogElementUid = 0;
15
+ /**
16
+ * Button that will close the current dialog.
17
+ */
18
+ export class CovalentSideSheetClose {
19
+ /**
20
+ * @param {?} dialogRef
21
+ * @param {?} _elementRef
22
+ * @param {?} _dialog
23
+ */
24
+ constructor(dialogRef, _elementRef, _dialog) {
25
+ this.dialogRef = dialogRef;
26
+ this._elementRef = _elementRef;
27
+ this._dialog = _dialog;
28
+ /**
29
+ * Default to "button" to prevents accidental form submits.
30
+ */
31
+ this.type = 'button';
32
+ }
33
+ /**
34
+ * @return {?}
35
+ */
36
+ ngOnInit() {
37
+ if (!this.dialogRef) {
38
+ // When this directive is included in a dialog via TemplateRef (rather than being
39
+ // in a Component), the DialogRef isn't available via injection because embedded
40
+ // views cannot be given a custom injector. Instead, we look up the DialogRef by
41
+ // ID. This must occur in `onInit`, as the ID binding for the dialog container won't
42
+ // be resolved at constructor time.
43
+ this.dialogRef = (/** @type {?} */ (getClosestDialog(this._elementRef, this._dialog.openSideSheets)));
44
+ }
45
+ }
46
+ /**
47
+ * @param {?} changes
48
+ * @return {?}
49
+ */
50
+ ngOnChanges(changes) {
51
+ /** @type {?} */
52
+ const proxiedChange = changes['_CovalentSideSheetClose'] || changes['_CovalentSideSheetCloseResult'];
53
+ if (proxiedChange) {
54
+ this.dialogResult = proxiedChange.currentValue;
55
+ }
56
+ }
57
+ /**
58
+ * @param {?} event
59
+ * @return {?}
60
+ */
61
+ _onButtonClick(event) {
62
+ // Determinate the focus origin using the click event, because using the FocusMonitor will
63
+ // result in incorrect origins. Most of the time, close buttons will be auto focused in the
64
+ // dialog, and therefore clicking the button won't result in a focus change. This means that
65
+ // the FocusMonitor won't detect any origin change, and will always output `program`.
66
+ _closeSideSheetVia(this.dialogRef, event.screenX === 0 && event.screenY === 0 ? 'keyboard' : 'mouse', this.dialogResult);
67
+ }
68
+ }
69
+ CovalentSideSheetClose.decorators = [
70
+ { type: Directive, args: [{
71
+ selector: '[td-side-sheet-close], [CovalentSideSheetClose]',
72
+ exportAs: 'CovalentSideSheetClose',
73
+ host: {
74
+ '(click)': '_onButtonClick($event)',
75
+ '[attr.aria-label]': 'ariaLabel || null',
76
+ '[attr.type]': 'type',
77
+ },
78
+ },] }
79
+ ];
80
+ /** @nocollapse */
81
+ CovalentSideSheetClose.ctorParameters = () => [
82
+ { type: CovalentSideSheetRef, decorators: [{ type: Optional }] },
83
+ { type: ElementRef },
84
+ { type: CovalentSideSheet }
85
+ ];
86
+ CovalentSideSheetClose.propDecorators = {
87
+ ariaLabel: [{ type: Input, args: ['aria-label',] }],
88
+ type: [{ type: Input }],
89
+ dialogResult: [{ type: Input, args: ['td-side-sheet-close',] }],
90
+ _CovalentSideSheetClose: [{ type: Input, args: ['CovalentSideSheetClose',] }]
91
+ };
92
+ if (false) {
93
+ /**
94
+ * Screenreader label for the button.
95
+ * @type {?}
96
+ */
97
+ CovalentSideSheetClose.prototype.ariaLabel;
98
+ /**
99
+ * Default to "button" to prevents accidental form submits.
100
+ * @type {?}
101
+ */
102
+ CovalentSideSheetClose.prototype.type;
103
+ /**
104
+ * Dialog close input.
105
+ * @type {?}
106
+ */
107
+ CovalentSideSheetClose.prototype.dialogResult;
108
+ /** @type {?} */
109
+ CovalentSideSheetClose.prototype._CovalentSideSheetClose;
110
+ /** @type {?} */
111
+ CovalentSideSheetClose.prototype.dialogRef;
112
+ /**
113
+ * @type {?}
114
+ * @private
115
+ */
116
+ CovalentSideSheetClose.prototype._elementRef;
117
+ /**
118
+ * @type {?}
119
+ * @private
120
+ */
121
+ CovalentSideSheetClose.prototype._dialog;
122
+ }
123
+ /**
124
+ * Title of a side sheet element. Stays fixed to the top of the side sheet when scrolling.
125
+ */
126
+ export class CovalentSideSheetTitle {
127
+ /**
128
+ * @param {?} _dialogRef
129
+ * @param {?} _elementRef
130
+ * @param {?} _dialog
131
+ */
132
+ constructor(_dialogRef, _elementRef, _dialog) {
133
+ this._dialogRef = _dialogRef;
134
+ this._elementRef = _elementRef;
135
+ this._dialog = _dialog;
136
+ /**
137
+ * Unique id for the dialog title. If none is supplied, it will be auto-generated.
138
+ */
139
+ this.id = `td-side-sheet-title-${dialogElementUid++}`;
140
+ }
141
+ /**
142
+ * @return {?}
143
+ */
144
+ ngOnInit() {
145
+ if (this._dialogRef) {
146
+ Promise.resolve().then((/**
147
+ * @return {?}
148
+ */
149
+ () => {
150
+ /** @type {?} */
151
+ const container = this._dialogRef._containerInstance;
152
+ if (container && !container._ariaLabelledBy) {
153
+ container._ariaLabelledBy = this.id;
154
+ }
155
+ }));
156
+ }
157
+ else {
158
+ this._dialogRef = (/** @type {?} */ (getClosestDialog(this._elementRef, this._dialog.openSideSheets)));
159
+ }
160
+ }
161
+ }
162
+ CovalentSideSheetTitle.decorators = [
163
+ { type: Directive, args: [{
164
+ selector: '[td-side-sheet-title], [CovalentSideSheetTitle]',
165
+ exportAs: 'CovalentSideSheetTitle',
166
+ host: {
167
+ 'class': 'td-side-sheet-title',
168
+ '[id]': 'id',
169
+ },
170
+ },] }
171
+ ];
172
+ /** @nocollapse */
173
+ CovalentSideSheetTitle.ctorParameters = () => [
174
+ { type: CovalentSideSheetRef, decorators: [{ type: Optional }] },
175
+ { type: ElementRef },
176
+ { type: CovalentSideSheet }
177
+ ];
178
+ CovalentSideSheetTitle.propDecorators = {
179
+ id: [{ type: Input }]
180
+ };
181
+ if (false) {
182
+ /**
183
+ * Unique id for the dialog title. If none is supplied, it will be auto-generated.
184
+ * @type {?}
185
+ */
186
+ CovalentSideSheetTitle.prototype.id;
187
+ /**
188
+ * @type {?}
189
+ * @private
190
+ */
191
+ CovalentSideSheetTitle.prototype._dialogRef;
192
+ /**
193
+ * @type {?}
194
+ * @private
195
+ */
196
+ CovalentSideSheetTitle.prototype._elementRef;
197
+ /**
198
+ * @type {?}
199
+ * @private
200
+ */
201
+ CovalentSideSheetTitle.prototype._dialog;
202
+ }
203
+ /**
204
+ * Scrollable content container of a dialog.
205
+ */
206
+ export class CovalentSideSheetContent {
207
+ }
208
+ CovalentSideSheetContent.decorators = [
209
+ { type: Directive, args: [{
210
+ selector: `[td-side-sheet-content], td-side-sheet-content, [CovalentSideSheetContent]`,
211
+ host: { class: 'td-side-sheet-content' },
212
+ },] }
213
+ ];
214
+ /**
215
+ * Container for the bottom action buttons in a dialog.
216
+ * Stays fixed to the bottom when scrolling.
217
+ */
218
+ export class CovalentSideSheetActions {
219
+ }
220
+ CovalentSideSheetActions.decorators = [
221
+ { type: Directive, args: [{
222
+ selector: `[td-side-sheet-actions], td-side-sheet-actions, [CovalentSideSheetActions]`,
223
+ host: { class: 'td-side-sheet-actions' },
224
+ },] }
225
+ ];
226
+ /**
227
+ * Container for the wrapper part of the dialog
228
+ */
229
+ export class CovalentSideSheetWrapper {
230
+ }
231
+ CovalentSideSheetWrapper.decorators = [
232
+ { type: Directive, args: [{
233
+ selector: `[td-side-sheet-wrapper], td-side-sheet-wrapper, [CovalentSideSheetWrapper]`,
234
+ host: { class: 'td-side-sheet-wrapper' },
235
+ },] }
236
+ ];
237
+ /**
238
+ * Finds the closest CovalentSideSheetRef to an element by looking at the DOM.
239
+ * @param {?} element Element relative to which to look for a dialog.
240
+ * @param {?} openDialogs References to the currently-open dialogs.
241
+ * @return {?}
242
+ */
243
+ function getClosestDialog(element, openDialogs) {
244
+ /** @type {?} */
245
+ let parent = element.nativeElement.parentElement;
246
+ while (parent && !parent.classList.contains('td-side-sheet-container')) {
247
+ parent = parent.parentElement;
248
+ }
249
+ return parent ? openDialogs.find((/**
250
+ * @param {?} dialog
251
+ * @return {?}
252
+ */
253
+ (dialog) => dialog.id === (/** @type {?} */ (parent)).id)) : null;
254
+ }
255
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC5jb250ZW50LWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2NvcmUvc2lkZS1zaGVldC8iLCJzb3VyY2VzIjpbInNpZGUtc2hlZXQuY29udGVudC1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0lBR3hFLGdCQUFnQixHQUFHLENBQUM7Ozs7QUFjeEIsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7O0lBWWpDLFlBQ3FCLFNBQW9DLEVBQy9DLFdBQW9DLEVBQ3BDLE9BQTBCO1FBRmYsY0FBUyxHQUFULFNBQVMsQ0FBMkI7UUFDL0MsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFlBQU8sR0FBUCxPQUFPLENBQW1COzs7O1FBVjNCLFNBQUksR0FBa0MsUUFBUSxDQUFDO0lBV3JELENBQUM7Ozs7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsaUZBQWlGO1lBQ2pGLGdGQUFnRjtZQUNoRixnRkFBZ0Y7WUFDaEYsb0ZBQW9GO1lBQ3BGLG1DQUFtQztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBQyxDQUFDO1NBQ25GO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsT0FBc0I7O2NBQzFCLGFBQWEsR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsSUFBSSxPQUFPLENBQUMsK0JBQStCLENBQUM7UUFFcEcsSUFBSSxhQUFhLEVBQUU7WUFDakIsSUFBSSxDQUFDLFlBQVksR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDO1NBQ2hEO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxjQUFjLENBQUMsS0FBaUI7UUFDOUIsMEZBQTBGO1FBQzFGLDJGQUEyRjtRQUMzRiw0RkFBNEY7UUFDNUYscUZBQXFGO1FBQ3JGLGtCQUFrQixDQUNoQixJQUFJLENBQUMsU0FBUyxFQUNkLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFDakUsSUFBSSxDQUFDLFlBQVksQ0FDbEIsQ0FBQztJQUNKLENBQUM7OztZQXhERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGlEQUFpRDtnQkFDM0QsUUFBUSxFQUFFLHdCQUF3QjtnQkFDbEMsSUFBSSxFQUFFO29CQUNKLFNBQVMsRUFBRSx3QkFBd0I7b0JBQ25DLG1CQUFtQixFQUFFLG1CQUFtQjtvQkFDeEMsYUFBYSxFQUFFLE1BQU07aUJBQ3RCO2FBQ0Y7Ozs7WUFoQjRCLG9CQUFvQix1QkE4QjVDLFFBQVE7WUFoQzBELFVBQVU7WUFDeEUsaUJBQWlCOzs7d0JBb0J2QixLQUFLLFNBQUMsWUFBWTttQkFHbEIsS0FBSzsyQkFHTCxLQUFLLFNBQUMscUJBQXFCO3NDQUUzQixLQUFLLFNBQUMsd0JBQXdCOzs7Ozs7O0lBUi9CLDJDQUF1Qzs7Ozs7SUFHdkMsc0NBQXdEOzs7OztJQUd4RCw4Q0FBZ0Q7O0lBRWhELHlEQUE4RDs7SUFHNUQsMkNBQXVEOzs7OztJQUN2RCw2Q0FBNEM7Ozs7O0lBQzVDLHlDQUFrQzs7Ozs7QUE4Q3RDLE1BQU0sT0FBTyxzQkFBc0I7Ozs7OztJQUlqQyxZQUdzQixVQUFxQyxFQUNqRCxXQUFvQyxFQUNwQyxPQUEwQjtRQUZkLGVBQVUsR0FBVixVQUFVLENBQTJCO1FBQ2pELGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUNwQyxZQUFPLEdBQVAsT0FBTyxDQUFtQjs7OztRQVAzQixPQUFFLEdBQVcsdUJBQXVCLGdCQUFnQixFQUFFLEVBQUUsQ0FBQztJQVEvRCxDQUFDOzs7O0lBRUosUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNuQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSTs7O1lBQUMsR0FBRyxFQUFFOztzQkFDcEIsU0FBUyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsa0JBQWtCO2dCQUVwRCxJQUFJLFNBQVMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLEVBQUU7b0JBQzNDLFNBQVMsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQztpQkFDckM7WUFDSCxDQUFDLEVBQUMsQ0FBQztTQUNKO2FBQU07WUFDTCxJQUFJLENBQUMsVUFBVSxHQUFHLG1CQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBQyxDQUFDO1NBQ3BGO0lBQ0gsQ0FBQzs7O1lBaENGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsaURBQWlEO2dCQUMzRCxRQUFRLEVBQUUsd0JBQXdCO2dCQUNsQyxJQUFJLEVBQUU7b0JBQ0osT0FBTyxFQUFFLHFCQUFxQjtvQkFDOUIsTUFBTSxFQUFFLElBQUk7aUJBQ2I7YUFDRjs7OztZQTdFNEIsb0JBQW9CLHVCQXFGNUMsUUFBUTtZQXZGMEQsVUFBVTtZQUN4RSxpQkFBaUI7OztpQkFpRnZCLEtBQUs7Ozs7Ozs7SUFBTixvQ0FBa0U7Ozs7O0lBS2hFLDRDQUF5RDs7Ozs7SUFDekQsNkNBQTRDOzs7OztJQUM1Qyx5Q0FBa0M7Ozs7O0FBeUJ0QyxNQUFNLE9BQU8sd0JBQXdCOzs7WUFKcEMsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw0RUFBNEU7Z0JBQ3RGLElBQUksRUFBRSxFQUFFLEtBQUssRUFBRSx1QkFBdUIsRUFBRTthQUN6Qzs7Ozs7O0FBV0QsTUFBTSxPQUFPLHdCQUF3Qjs7O1lBSnBDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEVBQTRFO2dCQUN0RixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUU7YUFDekM7Ozs7O0FBVUQsTUFBTSxPQUFPLHdCQUF3Qjs7O1lBSnBDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEVBQTRFO2dCQUN0RixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUU7YUFDekM7Ozs7Ozs7O0FBUUQsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFnQyxFQUFFLFdBQXdDOztRQUM5RixNQUFNLEdBQXVCLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYTtJQUVwRSxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUU7UUFDdEUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7S0FDL0I7SUFFRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxtQkFBQSxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE9wdGlvbmFsLCBTaW1wbGVDaGFuZ2VzLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3ZhbGVudFNpZGVTaGVldCB9IGZyb20gJy4vc2lkZS1zaGVldCc7XG5pbXBvcnQgeyBfY2xvc2VTaWRlU2hlZXRWaWEsIENvdmFsZW50U2lkZVNoZWV0UmVmIH0gZnJvbSAnLi9zaWRlLXNoZWV0LXJlZic7XG5cbi8qKiBDb3VudGVyIHVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIElEcyBmb3IgZGlhbG9nIGVsZW1lbnRzLiAqL1xubGV0IGRpYWxvZ0VsZW1lbnRVaWQgPSAwO1xuXG4vKipcbiAqIEJ1dHRvbiB0aGF0IHdpbGwgY2xvc2UgdGhlIGN1cnJlbnQgZGlhbG9nLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGQtc2lkZS1zaGVldC1jbG9zZV0sIFtDb3ZhbGVudFNpZGVTaGVldENsb3NlXScsXG4gIGV4cG9ydEFzOiAnQ292YWxlbnRTaWRlU2hlZXRDbG9zZScsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdfb25CdXR0b25DbGljaygkZXZlbnQpJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnYXJpYUxhYmVsIHx8IG51bGwnLFxuICAgICdbYXR0ci50eXBlXSc6ICd0eXBlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRTaWRlU2hlZXRDbG9zZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqIFNjcmVlbnJlYWRlciBsYWJlbCBmb3IgdGhlIGJ1dHRvbi4gKi9cbiAgQElucHV0KCdhcmlhLWxhYmVsJykgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqIERlZmF1bHQgdG8gXCJidXR0b25cIiB0byBwcmV2ZW50cyBhY2NpZGVudGFsIGZvcm0gc3VibWl0cy4gKi9cbiAgQElucHV0KCkgdHlwZTogJ3N1Ym1pdCcgfCAnYnV0dG9uJyB8ICdyZXNldCcgPSAnYnV0dG9uJztcblxuICAvKiogRGlhbG9nIGNsb3NlIGlucHV0LiAqL1xuICBASW5wdXQoJ3RkLXNpZGUtc2hlZXQtY2xvc2UnKSBkaWFsb2dSZXN1bHQ6IGFueTtcblxuICBASW5wdXQoJ0NvdmFsZW50U2lkZVNoZWV0Q2xvc2UnKSBfQ292YWxlbnRTaWRlU2hlZXRDbG9zZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBkaWFsb2dSZWY6IENvdmFsZW50U2lkZVNoZWV0UmVmPGFueT4sXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBDb3ZhbGVudFNpZGVTaGVldCxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaWFsb2dSZWYpIHtcbiAgICAgIC8vIFdoZW4gdGhpcyBkaXJlY3RpdmUgaXMgaW5jbHVkZWQgaW4gYSBkaWFsb2cgdmlhIFRlbXBsYXRlUmVmIChyYXRoZXIgdGhhbiBiZWluZ1xuICAgICAgLy8gaW4gYSBDb21wb25lbnQpLCB0aGUgRGlhbG9nUmVmIGlzbid0IGF2YWlsYWJsZSB2aWEgaW5qZWN0aW9uIGJlY2F1c2UgZW1iZWRkZWRcbiAgICAgIC8vIHZpZXdzIGNhbm5vdCBiZSBnaXZlbiBhIGN1c3RvbSBpbmplY3Rvci4gSW5zdGVhZCwgd2UgbG9vayB1cCB0aGUgRGlhbG9nUmVmIGJ5XG4gICAgICAvLyBJRC4gVGhpcyBtdXN0IG9jY3VyIGluIGBvbkluaXRgLCBhcyB0aGUgSUQgYmluZGluZyBmb3IgdGhlIGRpYWxvZyBjb250YWluZXIgd29uJ3RcbiAgICAgIC8vIGJlIHJlc29sdmVkIGF0IGNvbnN0cnVjdG9yIHRpbWUuXG4gICAgICB0aGlzLmRpYWxvZ1JlZiA9IGdldENsb3Nlc3REaWFsb2codGhpcy5fZWxlbWVudFJlZiwgdGhpcy5fZGlhbG9nLm9wZW5TaWRlU2hlZXRzKSE7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHByb3hpZWRDaGFuZ2UgPSBjaGFuZ2VzWydfQ292YWxlbnRTaWRlU2hlZXRDbG9zZSddIHx8IGNoYW5nZXNbJ19Db3ZhbGVudFNpZGVTaGVldENsb3NlUmVzdWx0J107XG5cbiAgICBpZiAocHJveGllZENoYW5nZSkge1xuICAgICAgdGhpcy5kaWFsb2dSZXN1bHQgPSBwcm94aWVkQ2hhbmdlLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBfb25CdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIC8vIERldGVybWluYXRlIHRoZSBmb2N1cyBvcmlnaW4gdXNpbmcgdGhlIGNsaWNrIGV2ZW50LCBiZWNhdXNlIHVzaW5nIHRoZSBGb2N1c01vbml0b3Igd2lsbFxuICAgIC8vIHJlc3VsdCBpbiBpbmNvcnJlY3Qgb3JpZ2lucy4gTW9zdCBvZiB0aGUgdGltZSwgY2xvc2UgYnV0dG9ucyB3aWxsIGJlIGF1dG8gZm9jdXNlZCBpbiB0aGVcbiAgICAvLyBkaWFsb2csIGFuZCB0aGVyZWZvcmUgY2xpY2tpbmcgdGhlIGJ1dHRvbiB3b24ndCByZXN1bHQgaW4gYSBmb2N1cyBjaGFuZ2UuIFRoaXMgbWVhbnMgdGhhdFxuICAgIC8vIHRoZSBGb2N1c01vbml0b3Igd29uJ3QgZGV0ZWN0IGFueSBvcmlnaW4gY2hhbmdlLCBhbmQgd2lsbCBhbHdheXMgb3V0cHV0IGBwcm9ncmFtYC5cbiAgICBfY2xvc2VTaWRlU2hlZXRWaWEoXG4gICAgICB0aGlzLmRpYWxvZ1JlZixcbiAgICAgIGV2ZW50LnNjcmVlblggPT09IDAgJiYgZXZlbnQuc2NyZWVuWSA9PT0gMCA/ICdrZXlib2FyZCcgOiAnbW91c2UnLFxuICAgICAgdGhpcy5kaWFsb2dSZXN1bHQsXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFRpdGxlIG9mIGEgc2lkZSBzaGVldCBlbGVtZW50LiBTdGF5cyBmaXhlZCB0byB0aGUgdG9wIG9mIHRoZSBzaWRlIHNoZWV0IHdoZW4gc2Nyb2xsaW5nLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGQtc2lkZS1zaGVldC10aXRsZV0sIFtDb3ZhbGVudFNpZGVTaGVldFRpdGxlXScsXG4gIGV4cG9ydEFzOiAnQ292YWxlbnRTaWRlU2hlZXRUaXRsZScsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAndGQtc2lkZS1zaGVldC10aXRsZScsXG4gICAgJ1tpZF0nOiAnaWQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldFRpdGxlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIFVuaXF1ZSBpZCBmb3IgdGhlIGRpYWxvZyB0aXRsZS4gSWYgbm9uZSBpcyBzdXBwbGllZCwgaXQgd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC4gKi9cbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGB0ZC1zaWRlLXNoZWV0LXRpdGxlLSR7ZGlhbG9nRWxlbWVudFVpZCsrfWA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gVGhlIGRpYWxvZyB0aXRsZSBkaXJlY3RpdmUgaXMgYWx3YXlzIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhIGBDb3ZhbGVudFNpZGVTaGVldFJlZmAuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBsaWdodHdlaWdodC10b2tlbnNcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaWFsb2dSZWY6IENvdmFsZW50U2lkZVNoZWV0UmVmPGFueT4sXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBDb3ZhbGVudFNpZGVTaGVldCxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kaWFsb2dSZWYpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLl9kaWFsb2dSZWYuX2NvbnRhaW5lckluc3RhbmNlO1xuXG4gICAgICAgIGlmIChjb250YWluZXIgJiYgIWNvbnRhaW5lci5fYXJpYUxhYmVsbGVkQnkpIHtcbiAgICAgICAgICBjb250YWluZXIuX2FyaWFMYWJlbGxlZEJ5ID0gdGhpcy5pZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1JlZiA9IGdldENsb3Nlc3REaWFsb2codGhpcy5fZWxlbWVudFJlZiwgdGhpcy5fZGlhbG9nLm9wZW5TaWRlU2hlZXRzKSE7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU2Nyb2xsYWJsZSBjb250ZW50IGNvbnRhaW5lciBvZiBhIGRpYWxvZy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgW3RkLXNpZGUtc2hlZXQtY29udGVudF0sIHRkLXNpZGUtc2hlZXQtY29udGVudCwgW0NvdmFsZW50U2lkZVNoZWV0Q29udGVudF1gLFxuICBob3N0OiB7IGNsYXNzOiAndGQtc2lkZS1zaGVldC1jb250ZW50JyB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldENvbnRlbnQge31cblxuLyoqXG4gKiBDb250YWluZXIgZm9yIHRoZSBib3R0b20gYWN0aW9uIGJ1dHRvbnMgaW4gYSBkaWFsb2cuXG4gKiBTdGF5cyBmaXhlZCB0byB0aGUgYm90dG9tIHdoZW4gc2Nyb2xsaW5nLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IGBbdGQtc2lkZS1zaGVldC1hY3Rpb25zXSwgdGQtc2lkZS1zaGVldC1hY3Rpb25zLCBbQ292YWxlbnRTaWRlU2hlZXRBY3Rpb25zXWAsXG4gIGhvc3Q6IHsgY2xhc3M6ICd0ZC1zaWRlLXNoZWV0LWFjdGlvbnMnIH0sXG59KVxuZXhwb3J0IGNsYXNzIENvdmFsZW50U2lkZVNoZWV0QWN0aW9ucyB7fVxuXG4vKipcbiAqIENvbnRhaW5lciBmb3IgdGhlIHdyYXBwZXIgcGFydCBvZiB0aGUgZGlhbG9nXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogYFt0ZC1zaWRlLXNoZWV0LXdyYXBwZXJdLCB0ZC1zaWRlLXNoZWV0LXdyYXBwZXIsIFtDb3ZhbGVudFNpZGVTaGVldFdyYXBwZXJdYCxcbiAgaG9zdDogeyBjbGFzczogJ3RkLXNpZGUtc2hlZXQtd3JhcHBlcicgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRTaWRlU2hlZXRXcmFwcGVyIHt9XG5cbi8qKlxuICogRmluZHMgdGhlIGNsb3Nlc3QgQ292YWxlbnRTaWRlU2hlZXRSZWYgdG8gYW4gZWxlbWVudCBieSBsb29raW5nIGF0IHRoZSBET00uXG4gKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHJlbGF0aXZlIHRvIHdoaWNoIHRvIGxvb2sgZm9yIGEgZGlhbG9nLlxuICogQHBhcmFtIG9wZW5EaWFsb2dzIFJlZmVyZW5jZXMgdG8gdGhlIGN1cnJlbnRseS1vcGVuIGRpYWxvZ3MuXG4gKi9cbmZ1bmN0aW9uIGdldENsb3Nlc3REaWFsb2coZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIG9wZW5EaWFsb2dzOiBDb3ZhbGVudFNpZGVTaGVldFJlZjxhbnk+W10pIHtcbiAgbGV0IHBhcmVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG5cbiAgd2hpbGUgKHBhcmVudCAmJiAhcGFyZW50LmNsYXNzTGlzdC5jb250YWlucygndGQtc2lkZS1zaGVldC1jb250YWluZXInKSkge1xuICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50O1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudCA/IG9wZW5EaWFsb2dzLmZpbmQoKGRpYWxvZykgPT4gZGlhbG9nLmlkID09PSBwYXJlbnQhLmlkKSA6IG51bGw7XG59XG4iXX0=
@@ -0,0 +1,360 @@
1
+ /**
2
+ * @fileoverview added by tsickle
3
+ * Generated from: side-sheet.ts
4
+ * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
+ */
6
+ /* tslint:disable */
7
+ import { Directive, Inject, Injectable, InjectFlags, InjectionToken, Injector, Optional, SkipSelf, TemplateRef, Type, } from '@angular/core';
8
+ import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
9
+ import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
10
+ import { MAT_DIALOG_DATA, MAT_DIALOG_DEFAULT_OPTIONS } from '@angular/material/dialog';
11
+ import { AnimationCurves, AnimationDurations } from '@angular/material/core';
12
+ import { CovalentSideSheetContainer } from './side-sheet-container';
13
+ import { Subject, of } from 'rxjs';
14
+ import { filter, take } from 'rxjs/operators';
15
+ import { Directionality } from '@angular/cdk/bidi';
16
+ import { CovalentSideSheetRef } from './side-sheet-ref';
17
+ import { CovalentSideSheetConfig } from './side-sheet.config';
18
+ /**
19
+ * @template C
20
+ */
21
+ export class _CovalentSideSheetBase {
22
+ /**
23
+ * @param {?} _overlay
24
+ * @param {?} _injector
25
+ * @param {?} _defaultOptions
26
+ * @param {?} _parentSideSheet
27
+ * @param {?} _sideSheetRefConstructor
28
+ * @param {?} _sideSheetContainerType
29
+ * @param {?} _sideSheetDataToken
30
+ */
31
+ constructor(_overlay, _injector, _defaultOptions, _parentSideSheet, _sideSheetRefConstructor, _sideSheetContainerType, _sideSheetDataToken) {
32
+ this._overlay = _overlay;
33
+ this._injector = _injector;
34
+ this._defaultOptions = _defaultOptions;
35
+ this._parentSideSheet = _parentSideSheet;
36
+ this._sideSheetRefConstructor = _sideSheetRefConstructor;
37
+ this._sideSheetContainerType = _sideSheetContainerType;
38
+ this._sideSheetDataToken = _sideSheetDataToken;
39
+ this._openSideSheetsAtThisLevel = [];
40
+ this._afterAllClosedAtThisLevel = new Subject();
41
+ this._afterOpenedAtThisLevel = new Subject();
42
+ this.defaultSidebarConfig = {
43
+ minWidth: '400px',
44
+ maxWidth: '100vw',
45
+ };
46
+ }
47
+ /**
48
+ * Keeps track of the currently-open side-sheets.
49
+ * @return {?}
50
+ */
51
+ get openSideSheets() {
52
+ return this._parentSideSheet ? this._parentSideSheet.openSideSheets : this._openSideSheetsAtThisLevel;
53
+ }
54
+ /**
55
+ * @template T, D, R
56
+ * @param {?} componentOrTemplateRef
57
+ * @param {?=} config
58
+ * @return {?}
59
+ */
60
+ open(componentOrTemplateRef, config) {
61
+ config = Object.assign(Object.assign(Object.assign({}, (this._defaultOptions || new CovalentSideSheetConfig())), this.defaultSidebarConfig), config);
62
+ /** @type {?} */
63
+ const overlayRef = this._createOverlay(config);
64
+ /** @type {?} */
65
+ const sideSheetContainer = this._attachSideSheetContainer(overlayRef, config);
66
+ /** @type {?} */
67
+ const sideSheetRef = this._attachSideSheetContent(componentOrTemplateRef, sideSheetContainer, overlayRef, config);
68
+ /** @type {?} */
69
+ const prevSideSheetRef = this.openSideSheets.slice(-1)[0];
70
+ /** @type {?} */
71
+ const prevOverlayRef = prevSideSheetRef === null || prevSideSheetRef === void 0 ? void 0 : prevSideSheetRef.overlayRef;
72
+ // Animate previous side sheet to full width
73
+ if (prevOverlayRef === null || prevOverlayRef === void 0 ? void 0 : prevOverlayRef.overlayElement) {
74
+ prevOverlayRef.overlayElement.style.transition = `${AnimationDurations.COMPLEX} ${AnimationCurves.DECELERATION_CURVE}`;
75
+ prevOverlayRef.overlayElement.style.minWidth = `${((/** @type {?} */ (window))).innerWidth}px`;
76
+ }
77
+ // Revert the previous side sheet config & size
78
+ sideSheetRef._containerInstance._animationStateChanged
79
+ .pipe(filter((/**
80
+ * @param {?} event
81
+ * @return {?}
82
+ */
83
+ (event) => event.state === 'closing' && !!(prevSideSheetRef && prevOverlayRef))), take(1))
84
+ .subscribe((/**
85
+ * @return {?}
86
+ */
87
+ () => {
88
+ prevOverlayRef.overlayElement.style.transition = `${AnimationDurations.EXITING} ${AnimationCurves.DECELERATION_CURVE}`;
89
+ prevSideSheetRef.updateSize();
90
+ }));
91
+ // Add new side sheet to open list
92
+ this.openSideSheets.push(sideSheetRef);
93
+ // Remove side sheet ref after closed
94
+ sideSheetRef
95
+ .afterClosed()
96
+ .pipe(take(1))
97
+ .subscribe((/**
98
+ * @return {?}
99
+ */
100
+ () => this._removeOpenSideSheet(sideSheetRef)));
101
+ // Notify the side-sheet container that the content has been attached.
102
+ sideSheetContainer._initializeWithAttachedContent();
103
+ return sideSheetRef;
104
+ }
105
+ /**
106
+ * @return {?}
107
+ */
108
+ ngOnDestroy() {
109
+ // Only close the side-sheets at this level on destroy
110
+ // since the parent service may still be active.
111
+ this._closeSideSheets(this._openSideSheetsAtThisLevel);
112
+ this._afterAllClosedAtThisLevel.complete();
113
+ this._afterOpenedAtThisLevel.complete();
114
+ // Clean up any subscriptions to side-sheet that never finished opening.
115
+ if (this._animationStateSubscriptions) {
116
+ this._animationStateSubscriptions.unsubscribe();
117
+ }
118
+ }
119
+ /**
120
+ * Closes all of the currently-open side-sheets.
121
+ * @return {?}
122
+ */
123
+ closeAll() {
124
+ this._closeSideSheets(this.openSideSheets);
125
+ }
126
+ /**
127
+ * @private
128
+ * @template T
129
+ * @param {?} config
130
+ * @return {?}
131
+ */
132
+ _createOverlay(config) {
133
+ /** @type {?} */
134
+ const overlayConfig = new OverlayConfig({
135
+ positionStrategy: this._overlay.position().global(),
136
+ scrollStrategy: this._overlay.scrollStrategies.block(),
137
+ panelClass: config.panelClass,
138
+ hasBackdrop: config.hasBackdrop,
139
+ direction: config.direction,
140
+ minWidth: config.minWidth,
141
+ minHeight: config.minHeight,
142
+ maxWidth: config.maxWidth,
143
+ });
144
+ /** @type {?} */
145
+ const overlayRef = this._overlay.create(overlayConfig);
146
+ /** @type {?} */
147
+ const positionStrategy = (/** @type {?} */ (overlayRef.getConfig().positionStrategy));
148
+ positionStrategy.right('0px');
149
+ return overlayRef;
150
+ }
151
+ /**
152
+ * Attaches a container to a side-sheets's already-created overlay.
153
+ * @private
154
+ * @param {?} overlay Reference to the side-sheet's underlying overlay.
155
+ * @param {?} config The side-sheet configuration.
156
+ * @return {?} A promise resolving to a ComponentRef for the attached container.
157
+ */
158
+ _attachSideSheetContainer(overlay, config) {
159
+ /** @type {?} */
160
+ const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
161
+ /** @type {?} */
162
+ const injector = Injector.create({
163
+ parent: userInjector || this._injector,
164
+ providers: [{ provide: CovalentSideSheetConfig, useValue: config }],
165
+ });
166
+ /** @type {?} */
167
+ const containerPortal = new ComponentPortal(this._sideSheetContainerType, config.viewContainerRef, injector, config.componentFactoryResolver);
168
+ /** @type {?} */
169
+ const containerRef = overlay.attach(containerPortal);
170
+ return containerRef.instance;
171
+ }
172
+ /**
173
+ * Attaches the user-provided component to the already-created side sheet container.
174
+ * @private
175
+ * @template T, R
176
+ * @param {?} componentOrTemplateRef The type of component being loaded into the side-sheet,
177
+ * or a TemplateRef to instantiate as the content.
178
+ * @param {?} sideSheetContainer
179
+ * @param {?} overlayRef Reference to the overlay in which the side-sheet resides.
180
+ * @param {?} config The side-sheet configuration.
181
+ * @return {?} A promise resolving to the CovalentSideSheetRef that should be returned to the user.
182
+ */
183
+ _attachSideSheetContent(componentOrTemplateRef, sideSheetContainer, overlayRef, config) {
184
+ // Create a reference to the side-sheet we're creating in order to give the user a handle
185
+ // to modify and close it.
186
+ /** @type {?} */
187
+ const sideSheetRef = new this._sideSheetRefConstructor(overlayRef, sideSheetContainer, config.id);
188
+ if (componentOrTemplateRef instanceof TemplateRef) {
189
+ sideSheetContainer.attachTemplatePortal(new TemplatePortal(componentOrTemplateRef, (/** @type {?} */ (null)), (/** @type {?} */ ({
190
+ $implicit: config.data,
191
+ sideSheetRef,
192
+ }))));
193
+ }
194
+ else {
195
+ /** @type {?} */
196
+ const injector = this._createInjector(config, sideSheetRef, sideSheetContainer);
197
+ /** @type {?} */
198
+ const contentRef = sideSheetContainer.attach(new ComponentPortal(componentOrTemplateRef, config.viewContainerRef, injector));
199
+ sideSheetRef.componentInstance = contentRef.instance;
200
+ }
201
+ sideSheetRef.updateSize(config.width, config.height);
202
+ return sideSheetRef;
203
+ }
204
+ /**
205
+ * @private
206
+ * @template T
207
+ * @param {?} config
208
+ * @param {?} sideSheetRef
209
+ * @param {?} sideSheetContainer
210
+ * @return {?}
211
+ */
212
+ _createInjector(config, sideSheetRef, sideSheetContainer) {
213
+ /** @type {?} */
214
+ const userInjector = config && config.viewContainerRef && config.viewContainerRef.injector;
215
+ // The side-sheet container should be provided as the side-sheet container and the side-sheet's
216
+ // content are created out of the same `ViewContainerRef` and as such, are siblings
217
+ // for injector purposes. To allow the hierarchy that is expected, the side-sheet
218
+ // container is explicitly provided in the injector.
219
+ /** @type {?} */
220
+ const providers = [
221
+ { provide: this._sideSheetContainerType, useValue: sideSheetContainer },
222
+ { provide: this._sideSheetDataToken, useValue: config.data },
223
+ { provide: this._sideSheetRefConstructor, useValue: sideSheetRef },
224
+ ];
225
+ if (config.direction &&
226
+ (!userInjector || !userInjector.get(Directionality, null, InjectFlags.Optional))) {
227
+ providers.push({
228
+ provide: Directionality,
229
+ useValue: { value: config.direction, change: of() },
230
+ });
231
+ }
232
+ return Injector.create({ parent: userInjector || this._injector, providers });
233
+ }
234
+ /**
235
+ * Removes a side sheet from the array of open side sheets.
236
+ * @private
237
+ * @param {?} sideSheetRef Side Sheet to be removed.
238
+ * @return {?}
239
+ */
240
+ _removeOpenSideSheet(sideSheetRef) {
241
+ /** @type {?} */
242
+ const index = this.openSideSheets.indexOf(sideSheetRef);
243
+ if (index > -1) {
244
+ this.openSideSheets.splice(index, 1);
245
+ }
246
+ }
247
+ /**
248
+ * Closes all of the side-sheet in an array.
249
+ * @private
250
+ * @param {?} sideSheets
251
+ * @return {?}
252
+ */
253
+ _closeSideSheets(sideSheets) {
254
+ /** @type {?} */
255
+ let i = sideSheets.length;
256
+ while (i--) {
257
+ sideSheets[i].close();
258
+ }
259
+ }
260
+ }
261
+ _CovalentSideSheetBase.decorators = [
262
+ { type: Directive }
263
+ ];
264
+ /** @nocollapse */
265
+ _CovalentSideSheetBase.ctorParameters = () => [
266
+ { type: Overlay },
267
+ { type: Injector },
268
+ { type: undefined },
269
+ { type: undefined },
270
+ { type: Type },
271
+ { type: Type },
272
+ { type: InjectionToken }
273
+ ];
274
+ if (false) {
275
+ /**
276
+ * @type {?}
277
+ * @private
278
+ */
279
+ _CovalentSideSheetBase.prototype._openSideSheetsAtThisLevel;
280
+ /**
281
+ * @type {?}
282
+ * @private
283
+ */
284
+ _CovalentSideSheetBase.prototype._afterAllClosedAtThisLevel;
285
+ /**
286
+ * @type {?}
287
+ * @private
288
+ */
289
+ _CovalentSideSheetBase.prototype._afterOpenedAtThisLevel;
290
+ /**
291
+ * @type {?}
292
+ * @private
293
+ */
294
+ _CovalentSideSheetBase.prototype._animationStateSubscriptions;
295
+ /**
296
+ * @type {?}
297
+ * @private
298
+ */
299
+ _CovalentSideSheetBase.prototype.defaultSidebarConfig;
300
+ /**
301
+ * @type {?}
302
+ * @private
303
+ */
304
+ _CovalentSideSheetBase.prototype._overlay;
305
+ /**
306
+ * @type {?}
307
+ * @private
308
+ */
309
+ _CovalentSideSheetBase.prototype._injector;
310
+ /**
311
+ * @type {?}
312
+ * @private
313
+ */
314
+ _CovalentSideSheetBase.prototype._defaultOptions;
315
+ /**
316
+ * @type {?}
317
+ * @private
318
+ */
319
+ _CovalentSideSheetBase.prototype._parentSideSheet;
320
+ /**
321
+ * @type {?}
322
+ * @private
323
+ */
324
+ _CovalentSideSheetBase.prototype._sideSheetRefConstructor;
325
+ /**
326
+ * @type {?}
327
+ * @private
328
+ */
329
+ _CovalentSideSheetBase.prototype._sideSheetContainerType;
330
+ /**
331
+ * @type {?}
332
+ * @private
333
+ */
334
+ _CovalentSideSheetBase.prototype._sideSheetDataToken;
335
+ }
336
+ /**
337
+ * Service to open Covalent Design side-sheet.
338
+ */
339
+ export class CovalentSideSheet extends _CovalentSideSheetBase {
340
+ /**
341
+ * @param {?} overlay
342
+ * @param {?} injector
343
+ * @param {?} defaultOptions
344
+ * @param {?} parentSideSheet
345
+ */
346
+ constructor(overlay, injector, defaultOptions, parentSideSheet) {
347
+ super(overlay, injector, defaultOptions, parentSideSheet, CovalentSideSheetRef, CovalentSideSheetContainer, MAT_DIALOG_DATA);
348
+ }
349
+ }
350
+ CovalentSideSheet.decorators = [
351
+ { type: Injectable }
352
+ ];
353
+ /** @nocollapse */
354
+ CovalentSideSheet.ctorParameters = () => [
355
+ { type: Overlay },
356
+ { type: Injector },
357
+ { type: CovalentSideSheetConfig, decorators: [{ type: Optional }, { type: Inject, args: [MAT_DIALOG_DEFAULT_OPTIONS,] }] },
358
+ { type: CovalentSideSheet, decorators: [{ type: Optional }, { type: SkipSelf }] }
359
+ ];
360
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vY29yZS9zaWRlLXNoZWV0LyIsInNvdXJjZXMiOlsic2lkZS1zaGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsV0FBVyxFQUNYLGNBQWMsRUFDZCxRQUFRLEVBRVIsUUFBUSxFQUNSLFFBQVEsRUFFUixXQUFXLEVBQ1gsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFzQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQWlCLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsMEJBQTBCLEVBQTJCLE1BQU0sMEJBQTBCLENBQUM7QUFDaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBbUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsT0FBTyxFQUFnQixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFHOUQsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7Ozs7OztJQVdqQyxZQUNVLFFBQWlCLEVBQ2pCLFNBQW1CLEVBQ25CLGVBQW9ELEVBQ3BELGdCQUF1RCxFQUN2RCx3QkFBeUQsRUFDekQsdUJBQWdD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RSx5REFBd0M7Ozs7O0lBQ3hDLHFEQUFvRDs7Ozs7QUFxTnhELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxzQkFBa0Q7Ozs7Ozs7SUFDdkYsWUFDRSxPQUFnQixFQUNoQixRQUFrQixFQUM4QixjQUF1QyxFQUMvRCxlQUFrQztRQUUxRCxLQUFLLENBQ0gsT0FBTyxFQUNQLFFBQVEsRUFDUixjQUFjLEVBQ2QsZUFBZSxFQUNmLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsZUFBZSxDQUNoQixDQUFDO0lBQ0osQ0FBQzs7O1lBakJGLFVBQVU7Ozs7WUFuUEYsT0FBTztZQVJkLFFBQVE7WUFrQkQsdUJBQXVCLHVCQThPM0IsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7WUFDTCxpQkFBaUIsdUJBQXpELFFBQVEsWUFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RGbGFncyxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBTa2lwU2VsZixcbiAgU3RhdGljUHJvdmlkZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYsIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENvbXBvbmVudFR5cGUsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBfTWF0RGlhbG9nQ29udGFpbmVyQmFzZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBBbmltYXRpb25DdXJ2ZXMsIEFuaW1hdGlvbkR1cmF0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgQ292YWxlbnRTaWRlU2hlZXRDb250YWluZXIsIF9Db3ZhbGVudFNpZGVTaGVldENvbnRhaW5lckJhc2UgfSBmcm9tICcuL3NpZGUtc2hlZXQtY29udGFpbmVyJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuXG5pbXBvcnQgeyBDb3ZhbGVudFNpZGVTaGVldFJlZiB9IGZyb20gJy4vc2lkZS1zaGVldC1yZWYnO1xuaW1wb3J0IHsgQ292YWxlbnRTaWRlU2hlZXRDb25maWcgfSBmcm9tICcuL3NpZGUtc2hlZXQuY29uZmlnJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgX0NvdmFsZW50U2lkZVNoZWV0QmFzZTxDIGV4dGVuZHMgX0NvdmFsZW50U2lkZVNoZWV0Q29udGFpbmVyQmFzZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9vcGVuU2lkZVNoZWV0c0F0VGhpc0xldmVsOiBDb3ZhbGVudFNpZGVTaGVldFJlZjx1bmtub3duPltdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FmdGVyQWxsQ2xvc2VkQXRUaGlzTGV2ZWwgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hZnRlck9wZW5lZEF0VGhpc0xldmVsID0gbmV3IFN1YmplY3Q8Q292YWxlbnRTaWRlU2hlZXRSZWY8dW5rbm93bj4+KCk7XG4gIHByaXZhdGUgX2FuaW1hdGlvblN0YXRlU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgZGVmYXVsdFNpZGViYXJDb25maWcgPSB7XG4gICAgbWluV2lkdGg6ICc0MDBweCcsXG4gICAgbWF4V2lkdGg6ICcxMDB2dycsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfZGVmYXVsdE9wdGlvbnM6IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnIHwgdW5kZWZpbmVkLFxuICAgIHByaXZhdGUgX3BhcmVudFNpZGVTaGVldDogX0NvdmFsZW50U2lkZVNoZWV0QmFzZTxDPiB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIF9zaWRlU2hlZXRSZWZDb25zdHJ1Y3RvcjogVHlwZTxDb3ZhbGVudFNpZGVTaGVldFJlZjxhbnk+PixcbiAgICBwcml2YXRlIF9zaWRlU2hlZXRDb250YWluZXJUeXBlOiBUeXBlPEM+LFxuICAgIHByaXZhdGUgX3NpZGVTaGVldERhdGFUb2tlbjogSW5qZWN0aW9uVG9rZW48dW5rbm93bj4sXG4gICkge31cblxuICAvKiogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnRseS1vcGVuIHNpZGUtc2hlZXRzLiAqL1xuICBnZXQgb3BlblNpZGVTaGVldHMoKTogQ292YWxlbnRTaWRlU2hlZXRSZWY8dW5rbm93bj5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudFNpZGVTaGVldCA/IHRoaXMuX3BhcmVudFNpZGVTaGVldC5vcGVuU2lkZVNoZWV0cyA6IHRoaXMuX29wZW5TaWRlU2hlZXRzQXRUaGlzTGV2ZWw7XG4gIH1cblxuICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oXG4gICAgY29tcG9uZW50T3JUZW1wbGF0ZVJlZjogQ29tcG9uZW50VHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LFxuICAgIGNvbmZpZz86IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnPEQ+LFxuICApOiBDb3ZhbGVudFNpZGVTaGVldFJlZjxULCBSPiB7XG4gICAgY29uZmlnID0geyAuLi4odGhpcy5fZGVmYXVsdE9wdGlvbnMgfHwgbmV3IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnKCkpLCAuLi50aGlzLmRlZmF1bHRTaWRlYmFyQ29uZmlnLCAuLi5jb25maWcgfTtcblxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLl9jcmVhdGVPdmVybGF5KGNvbmZpZyk7XG4gICAgY29uc3Qgc2lkZVNoZWV0Q29udGFpbmVyID0gdGhpcy5fYXR0YWNoU2lkZVNoZWV0Q29udGFpbmVyKG92ZXJsYXlSZWYsIGNvbmZpZyk7XG4gICAgY29uc3Qgc2lkZVNoZWV0UmVmID0gdGhpcy5fYXR0YWNoU2lkZVNoZWV0Q29udGVudDxULCBSPihcbiAgICAgIGNvbXBvbmVudE9yVGVtcGxhdGVSZWYsXG4gICAgICBzaWRlU2hlZXRDb250YWluZXIsXG4gICAgICBvdmVybGF5UmVmLFxuICAgICAgY29uZmlnLFxuICAgICk7XG4gICAgY29uc3QgcHJldlNpZGVTaGVldFJlZjogQ292YWxlbnRTaWRlU2hlZXRSZWY8dW5rbm93bj4gPSB0aGlzLm9wZW5TaWRlU2hlZXRzLnNsaWNlKC0xKVswXTtcbiAgICBjb25zdCBwcmV2T3ZlcmxheVJlZiA9IHByZXZTaWRlU2hlZXRSZWY/Lm92ZXJsYXlSZWY7XG5cbiAgICAvLyBBbmltYXRlIHByZXZpb3VzIHNpZGUgc2hlZXQgdG8gZnVsbCB3aWR0aFxuICAgIGlmIChwcmV2T3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQpIHtcbiAgICAgIHByZXZPdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLnRyYW5zaXRpb24gPSBgJHtBbmltYXRpb25EdXJhdGlvbnMuQ09NUExFWH0gJHtBbmltYXRpb25DdXJ2ZXMuREVDRUxFUkFUSU9OX0NVUlZFfWA7XG4gICAgICBwcmV2T3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5zdHlsZS5taW5XaWR0aCA9IGAkeyh3aW5kb3cgYXMgYW55KS5pbm5lcldpZHRofXB4YDtcbiAgICB9XG5cbiAgICAvLyBSZXZlcnQgdGhlIHByZXZpb3VzIHNpZGUgc2hlZXQgY29uZmlnICYgc2l6ZVxuICAgIHNpZGVTaGVldFJlZi5fY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnN0YXRlID09PSAnY2xvc2luZycgJiYgISEocHJldlNpZGVTaGVldFJlZiAmJiBwcmV2T3ZlcmxheVJlZikpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHByZXZPdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLnRyYW5zaXRpb24gPSBgJHtBbmltYXRpb25EdXJhdGlvbnMuRVhJVElOR30gJHtBbmltYXRpb25DdXJ2ZXMuREVDRUxFUkFUSU9OX0NVUlZFfWA7XG4gICAgICAgIHByZXZTaWRlU2hlZXRSZWYudXBkYXRlU2l6ZSgpO1xuICAgICAgfSk7XG5cbiAgICAvLyBBZGQgbmV3IHNpZGUgc2hlZXQgdG8gb3BlbiBsaXN0XG4gICAgdGhpcy5vcGVuU2lkZVNoZWV0cy5wdXNoKHNpZGVTaGVldFJlZik7XG5cbiAgICAvLyBSZW1vdmUgc2lkZSBzaGVldCByZWYgYWZ0ZXIgY2xvc2VkXG4gICAgc2lkZVNoZWV0UmVmXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVtb3ZlT3BlblNpZGVTaGVldChzaWRlU2hlZXRSZWYpKTtcblxuICAgIC8vIE5vdGlmeSB0aGUgc2lkZS1zaGVldCBjb250YWluZXIgdGhhdCB0aGUgY29udGVudCBoYXMgYmVlbiBhdHRhY2hlZC5cbiAgICBzaWRlU2hlZXRDb250YWluZXIuX2luaXRpYWxpemVXaXRoQXR0YWNoZWRDb250ZW50KCk7XG5cbiAgICByZXR1cm4gc2lkZVNoZWV0UmVmO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gT25seSBjbG9zZSB0aGUgc2lkZS1zaGVldHMgYXQgdGhpcyBsZXZlbCBvbiBkZXN0cm95XG4gICAgLy8gc2luY2UgdGhlIHBhcmVudCBzZXJ2aWNlIG1heSBzdGlsbCBiZSBhY3RpdmUuXG4gICAgdGhpcy5fY2xvc2VTaWRlU2hlZXRzKHRoaXMuX29wZW5TaWRlU2hlZXRzQXRUaGlzTGV2ZWwpO1xuICAgIHRoaXMuX2FmdGVyQWxsQ2xvc2VkQXRUaGlzTGV2ZWwuY29tcGxldGUoKTtcbiAgICB0aGlzLl9hZnRlck9wZW5lZEF0VGhpc0xldmVsLmNvbXBsZXRlKCk7XG4gICAgLy8gQ2xlYW4gdXAgYW55IHN1YnNjcmlwdGlvbnMgdG8gc2lkZS1zaGVldCB0aGF0IG5ldmVyIGZpbmlzaGVkIG9wZW5pbmcuXG4gICAgaWYgKHRoaXMuX2FuaW1hdGlvblN0YXRlU3Vic2NyaXB0aW9ucykge1xuICAgICAgdGhpcy5fYW5pbWF0aW9uU3RhdGVTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhbGwgb2YgdGhlIGN1cnJlbnRseS1vcGVuIHNpZGUtc2hlZXRzLlxuICAgKi9cbiAgY2xvc2VBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvc2VTaWRlU2hlZXRzKHRoaXMub3BlblNpZGVTaGVldHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheTxUPihjb25maWcpOiBPdmVybGF5UmVmIHtcbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgICAgcGFuZWxDbGFzczogY29uZmlnLnBhbmVsQ2xhc3MsXG4gICAgICBoYXNCYWNrZHJvcDogY29uZmlnLmhhc0JhY2tkcm9wLFxuICAgICAgZGlyZWN0aW9uOiBjb25maWcuZGlyZWN0aW9uLFxuICAgICAgbWluV2lkdGg6IGNvbmZpZy5taW5XaWR0aCxcbiAgICAgIG1pbkhlaWdodDogY29uZmlnLm1pbkhlaWdodCxcbiAgICAgIG1heFdpZHRoOiBjb25maWcubWF4V2lkdGgsXG4gICAgfSk7XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBvdmVybGF5UmVmLmdldENvbmZpZygpLnBvc2l0aW9uU3RyYXRlZ3kgYXMgR2xvYmFsUG9zaXRpb25TdHJhdGVneTtcbiAgICBwb3NpdGlvblN0cmF0ZWd5LnJpZ2h0KCcwcHgnKTtcblxuICAgIHJldHVybiBvdmVybGF5UmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIGEgY29udGFpbmVyIHRvIGEgc2lkZS1zaGVldHMncyBhbHJlYWR5LWNyZWF0ZWQgb3ZlcmxheS5cbiAgICogQHBhcmFtIG92ZXJsYXkgUmVmZXJlbmNlIHRvIHRoZSBzaWRlLXNoZWV0J3MgdW5kZXJseWluZyBvdmVybGF5LlxuICAgKiBAcGFyYW0gY29uZmlnIFRoZSBzaWRlLXNoZWV0IGNvbmZpZ3VyYXRpb24uXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZpbmcgdG8gYSBDb21wb25lbnRSZWYgZm9yIHRoZSBhdHRhY2hlZCBjb250YWluZXIuXG4gICAqL1xuICBwcml2YXRlIF9hdHRhY2hTaWRlU2hlZXRDb250YWluZXIob3ZlcmxheTogT3ZlcmxheVJlZiwgY29uZmlnOiBDb3ZhbGVudFNpZGVTaGVldENvbmZpZyk6IEMge1xuICAgIGNvbnN0IHVzZXJJbmplY3RvciA9IGNvbmZpZyAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHVzZXJJbmplY3RvciB8fCB0aGlzLl9pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ292YWxlbnRTaWRlU2hlZXRDb25maWcsIHVzZVZhbHVlOiBjb25maWcgfV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250YWluZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgdGhpcy5fc2lkZVNoZWV0Q29udGFpbmVyVHlwZSxcbiAgICAgIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgaW5qZWN0b3IsXG4gICAgICBjb25maWcuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICk7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gb3ZlcmxheS5hdHRhY2g8Qz4oY29udGFpbmVyUG9ydGFsKTtcblxuICAgIHJldHVybiBjb250YWluZXJSZWYuaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgdGhlIHVzZXItcHJvdmlkZWQgY29tcG9uZW50IHRvIHRoZSBhbHJlYWR5LWNyZWF0ZWQgc2lkZSBzaGVldCBjb250YWluZXIuXG4gICAqIEBwYXJhbSBjb21wb25lbnRPclRlbXBsYXRlUmVmIFRoZSB0eXBlIG9mIGNvbXBvbmVudCBiZWluZyBsb2FkZWQgaW50byB0aGUgc2lkZS1zaGVldCxcbiAgICogICAgIG9yIGEgVGVtcGxhdGVSZWYgdG8gaW5zdGFudGlhdGUgYXMgdGhlIGNvbnRlbnQuXG4gICAqIEBwYXJhbSBkaWFsb2dDb250YWluZXIgUmVmZXJlbmNlIHRvIHRoZSB3cmFwcGluZyBzaWRlLXNoZWV0IGNvbnRhaW5lci5cbiAgICogQHBhcmFtIG92ZXJsYXlSZWYgUmVmZXJlbmNlIHRvIHRoZSBvdmVybGF5IGluIHdoaWNoIHRoZSBzaWRlLXNoZWV0IHJlc2lkZXMuXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIHNpZGUtc2hlZXQgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHJlc29sdmluZyB0byB0aGUgQ292YWxlbnRTaWRlU2hlZXRSZWYgdGhhdCBzaG91bGQgYmUgcmV0dXJuZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBwcml2YXRlIF9hdHRhY2hTaWRlU2hlZXRDb250ZW50PFQsIFI+KFxuICAgIGNvbXBvbmVudE9yVGVtcGxhdGVSZWY6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICBzaWRlU2hlZXRDb250YWluZXI6IEMsXG4gICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICBjb25maWc6IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnLFxuICApOiBDb3ZhbGVudFNpZGVTaGVldFJlZjxULCBSPiB7XG4gICAgLy8gQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIHRoZSBzaWRlLXNoZWV0IHdlJ3JlIGNyZWF0aW5nIGluIG9yZGVyIHRvIGdpdmUgdGhlIHVzZXIgYSBoYW5kbGVcbiAgICAvLyB0byBtb2RpZnkgYW5kIGNsb3NlIGl0LlxuICAgIGNvbnN0IHNpZGVTaGVldFJlZiA9IG5ldyB0aGlzLl9zaWRlU2hlZXRSZWZDb25zdHJ1Y3RvcihvdmVybGF5UmVmLCBzaWRlU2hlZXRDb250YWluZXIsIGNvbmZpZy5pZCk7XG5cbiAgICBpZiAoY29tcG9uZW50T3JUZW1wbGF0ZVJlZiBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICBzaWRlU2hlZXRDb250YWluZXIuYXR0YWNoVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgIG5ldyBUZW1wbGF0ZVBvcnRhbDxUPihjb21wb25lbnRPclRlbXBsYXRlUmVmLCBudWxsISwgPGFueT57XG4gICAgICAgICAgJGltcGxpY2l0OiBjb25maWcuZGF0YSxcbiAgICAgICAgICBzaWRlU2hlZXRSZWYsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLl9jcmVhdGVJbmplY3RvcjxUPihjb25maWcsIHNpZGVTaGVldFJlZiwgc2lkZVNoZWV0Q29udGFpbmVyKTtcbiAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBzaWRlU2hlZXRDb250YWluZXIuYXR0YWNoPFQ+KFxuICAgICAgICBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudE9yVGVtcGxhdGVSZWYsIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLCBpbmplY3RvciksXG4gICAgICApO1xuICAgICAgc2lkZVNoZWV0UmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29udGVudFJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBzaWRlU2hlZXRSZWYudXBkYXRlU2l6ZShjb25maWcud2lkdGgsIGNvbmZpZy5oZWlnaHQpO1xuXG4gICAgcmV0dXJuIHNpZGVTaGVldFJlZjtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUluamVjdG9yPFQ+KFxuICAgIGNvbmZpZzogQ292YWxlbnRTaWRlU2hlZXRDb25maWcsXG4gICAgc2lkZVNoZWV0UmVmOiBDb3ZhbGVudFNpZGVTaGVldFJlZjxUPixcbiAgICBzaWRlU2hlZXRDb250YWluZXI6IEMsXG4gICk6IEluamVjdG9yIHtcbiAgICBjb25zdCB1c2VySW5qZWN0b3IgPSBjb25maWcgJiYgY29uZmlnLnZpZXdDb250YWluZXJSZWYgJiYgY29uZmlnLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3I7XG5cbiAgICAvLyBUaGUgc2lkZS1zaGVldCBjb250YWluZXIgc2hvdWxkIGJlIHByb3ZpZGVkIGFzIHRoZSBzaWRlLXNoZWV0IGNvbnRhaW5lciBhbmQgdGhlIHNpZGUtc2hlZXQnc1xuICAgIC8vIGNvbnRlbnQgYXJlIGNyZWF0ZWQgb3V0IG9mIHRoZSBzYW1lIGBWaWV3Q29udGFpbmVyUmVmYCBhbmQgYXMgc3VjaCwgYXJlIHNpYmxpbmdzXG4gICAgLy8gZm9yIGluamVjdG9yIHB1cnBvc2VzLiBUbyBhbGxvdyB0aGUgaGllcmFyY2h5IHRoYXQgaXMgZXhwZWN0ZWQsIHRoZSBzaWRlLXNoZWV0XG4gICAgLy8gY29udGFpbmVyIGlzIGV4cGxpY2l0bHkgcHJvdmlkZWQgaW4gdGhlIGluamVjdG9yLlxuICAgIGNvbnN0IHByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgIHsgcHJvdmlkZTogdGhpcy5fc2lkZVNoZWV0Q29udGFpbmVyVHlwZSwgdXNlVmFsdWU6IHNpZGVTaGVldENvbnRhaW5lciB9LFxuICAgICAgeyBwcm92aWRlOiB0aGlzLl9zaWRlU2hlZXREYXRhVG9rZW4sIHVzZVZhbHVlOiBjb25maWcuZGF0YSB9LFxuICAgICAgeyBwcm92aWRlOiB0aGlzLl9zaWRlU2hlZXRSZWZDb25zdHJ1Y3RvciwgdXNlVmFsdWU6IHNpZGVTaGVldFJlZiB9LFxuICAgIF07XG5cbiAgICBpZiAoXG4gICAgICBjb25maWcuZGlyZWN0aW9uICYmXG4gICAgICAoIXVzZXJJbmplY3RvciB8fCAhdXNlckluamVjdG9yLmdldDxEaXJlY3Rpb25hbGl0eSB8IG51bGw+KERpcmVjdGlvbmFsaXR5LCBudWxsLCBJbmplY3RGbGFncy5PcHRpb25hbCkpXG4gICAgKSB7XG4gICAgICBwcm92aWRlcnMucHVzaCh7XG4gICAgICAgIHByb3ZpZGU6IERpcmVjdGlvbmFsaXR5LFxuICAgICAgICB1c2VWYWx1ZTogeyB2YWx1ZTogY29uZmlnLmRpcmVjdGlvbiwgY2hhbmdlOiBvZigpIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHsgcGFyZW50OiB1c2VySW5qZWN0b3IgfHwgdGhpcy5faW5qZWN0b3IsIHByb3ZpZGVycyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgc2lkZSBzaGVldCBmcm9tIHRoZSBhcnJheSBvZiBvcGVuIHNpZGUgc2hlZXRzLlxuICAgKiBAcGFyYW0gc2lkZVNoZWV0UmVmIFNpZGUgU2hlZXQgdG8gYmUgcmVtb3ZlZC5cbiAgICovXG4gIHByaXZhdGUgX3JlbW92ZU9wZW5TaWRlU2hlZXQoc2lkZVNoZWV0UmVmOiBDb3ZhbGVudFNpZGVTaGVldFJlZjx1bmtub3duPikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcGVuU2lkZVNoZWV0cy5pbmRleE9mKHNpZGVTaGVldFJlZik7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgdGhpcy5vcGVuU2lkZVNoZWV0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgYWxsIG9mIHRoZSBzaWRlLXNoZWV0IGluIGFuIGFycmF5LiAqL1xuICBwcml2YXRlIF9jbG9zZVNpZGVTaGVldHMoc2lkZVNoZWV0czogQ292YWxlbnRTaWRlU2hlZXRSZWY8YW55PltdKSB7XG4gICAgbGV0IGkgPSBzaWRlU2hlZXRzLmxlbmd0aDtcblxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHNpZGVTaGVldHNbaV0uY2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRvIG9wZW4gQ292YWxlbnQgRGVzaWduIHNpZGUtc2hlZXQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldCBleHRlbmRzIF9Db3ZhbGVudFNpZGVTaGVldEJhc2U8Q292YWxlbnRTaWRlU2hlZXRDb250YWluZXI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUykgZGVmYXVsdE9wdGlvbnM6IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudFNpZGVTaGVldDogQ292YWxlbnRTaWRlU2hlZXQsXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgb3ZlcmxheSxcbiAgICAgIGluamVjdG9yLFxuICAgICAgZGVmYXVsdE9wdGlvbnMsXG4gICAgICBwYXJlbnRTaWRlU2hlZXQsXG4gICAgICBDb3ZhbGVudFNpZGVTaGVldFJlZixcbiAgICAgIENvdmFsZW50U2lkZVNoZWV0Q29udGFpbmVyLFxuICAgICAgTUFUX0RJQUxPR19EQVRBLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==