@covalent/core 4.0.0 → 4.1.0-develop.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 (613) hide show
  1. package/README.md +5 -4
  2. package/breadcrumbs/README.md +21 -17
  3. package/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -1
  4. package/breadcrumbs/breadcrumbs.component.d.ts +4 -0
  5. package/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  6. package/breadcrumbs/covalent-core-breadcrumbs.d.ts +2 -1
  7. package/breadcrumbs/package.json +6 -7
  8. package/breadcrumbs/{public-api.d.ts → public_api.d.ts} +0 -0
  9. package/common/README.md +3 -0
  10. package/common/_common-theme.scss +3 -1
  11. package/common/behaviors/disable-ripple.mixin.d.ts +1 -1
  12. package/common/behaviors/disabled.mixin.d.ts +1 -1
  13. package/common/common.module.d.ts +15 -0
  14. package/common/covalent-core-common.d.ts +2 -3
  15. package/common/directives/fullscreen/fullscreen.directive.d.ts +3 -0
  16. package/common/forms/auto-trim/auto-trim.directive.d.ts +3 -0
  17. package/common/package.json +6 -7
  18. package/common/pipes/bytes/bytes.pipe.d.ts +3 -0
  19. package/common/pipes/decimal-bytes/decimal-bytes.pipe.d.ts +3 -0
  20. package/common/pipes/digits/digits.pipe.d.ts +3 -0
  21. package/common/pipes/time-ago/time-ago.pipe.d.ts +3 -0
  22. package/common/pipes/time-difference/time-difference.pipe.d.ts +3 -0
  23. package/common/pipes/time-until/time-until.pipe.d.ts +3 -0
  24. package/common/pipes/truncate/truncate.pipe.d.ts +4 -1
  25. package/common/{public-api.d.ts → public_api.d.ts} +0 -0
  26. package/common/services/icon.service.d.ts +3 -0
  27. package/common/services/router-path.service.d.ts +3 -0
  28. package/common/styles/font/README.md +4 -2
  29. package/covalent-core.d.ts +2 -1
  30. package/dialogs/README.md +38 -30
  31. package/dialogs/_dialog-theme.scss +1 -0
  32. package/dialogs/alert-dialog/alert-dialog.component.d.ts +6 -3
  33. package/dialogs/confirm-dialog/confirm-dialog.component.d.ts +5 -2
  34. package/dialogs/covalent-core-dialogs.d.ts +2 -2
  35. package/dialogs/dialog.component.d.ts +9 -0
  36. package/dialogs/dialogs.module.d.ts +17 -0
  37. package/dialogs/package.json +6 -7
  38. package/dialogs/prompt-dialog/prompt-dialog.component.d.ts +6 -3
  39. package/dialogs/{public-api.d.ts → public_api.d.ts} +1 -0
  40. package/dialogs/services/dialog.service.d.ts +3 -0
  41. package/dialogs/src/README.md +223 -0
  42. package/dialogs/window-dialog/window-dialog.component.d.ts +8 -5
  43. package/dynamic-menu/README.md +6 -6
  44. package/dynamic-menu/covalent-core-dynamic-menu.d.ts +2 -2
  45. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +4 -1
  46. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +4 -1
  47. package/dynamic-menu/dynamic-menu.component.d.ts +4 -22
  48. package/dynamic-menu/dynamic-menu.menu.d.ts +22 -0
  49. package/dynamic-menu/dynamic-menu.module.d.ts +13 -0
  50. package/dynamic-menu/package.json +6 -7
  51. package/dynamic-menu/public_api.d.ts +2 -0
  52. package/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +92 -0
  53. package/esm2020/breadcrumbs/breadcrumbs.component.mjs +134 -0
  54. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +20 -0
  55. package/esm2020/breadcrumbs/covalent-core-breadcrumbs.mjs +5 -0
  56. package/esm2020/breadcrumbs/public_api.mjs +4 -0
  57. package/esm2020/common/animations/bounce/bounce.animation.mjs +70 -0
  58. package/esm2020/common/animations/collapse/collapse.animation.mjs +51 -0
  59. package/esm2020/common/animations/common/interfaces.mjs +2 -0
  60. package/esm2020/common/animations/fade/fadeInOut.animation.mjs +37 -0
  61. package/esm2020/common/animations/flash/flash.animation.mjs +34 -0
  62. package/esm2020/common/animations/headshake/headshake.animation.mjs +47 -0
  63. package/esm2020/common/animations/jello/jello.animation.mjs +59 -0
  64. package/esm2020/common/animations/pulse/pulse.animation.mjs +32 -0
  65. package/esm2020/common/animations/rotate/rotate.animation.mjs +30 -0
  66. package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +41 -0
  67. package/esm2020/common/behaviors/disable-ripple.mixin.mjs +24 -0
  68. package/esm2020/common/behaviors/disabled.mixin.mjs +24 -0
  69. package/esm2020/common/common.module.mjs +63 -0
  70. package/esm2020/common/covalent-core-common.mjs +5 -0
  71. package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +85 -0
  72. package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +36 -0
  73. package/esm2020/common/forms/validators/validators.mjs +29 -0
  74. package/esm2020/common/functions/clipboard.mjs +23 -0
  75. package/esm2020/common/functions/convert.mjs +84 -0
  76. package/esm2020/common/functions/download.mjs +75 -0
  77. package/esm2020/common/functions/file.mjs +16 -0
  78. package/esm2020/common/pipes/bytes/bytes.pipe.mjs +42 -0
  79. package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +42 -0
  80. package/esm2020/common/pipes/digits/digits.pipe.mjs +39 -0
  81. package/esm2020/common/pipes/time-ago/time-ago.pipe.mjs +72 -0
  82. package/esm2020/common/pipes/time-difference/time-difference.pipe.mjs +51 -0
  83. package/esm2020/common/pipes/time-until/time-until.pipe.mjs +72 -0
  84. package/esm2020/common/pipes/truncate/truncate.pipe.mjs +27 -0
  85. package/esm2020/common/public_api.mjs +39 -0
  86. package/esm2020/common/services/icon.service.mjs +1089 -0
  87. package/esm2020/common/services/router-path.service.mjs +29 -0
  88. package/esm2020/covalent-core.mjs +5 -0
  89. package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +23 -0
  90. package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +28 -0
  91. package/esm2020/dialogs/covalent-core-dialogs.mjs +5 -0
  92. package/esm2020/dialogs/dialog.component.mjs +56 -0
  93. package/esm2020/dialogs/dialogs.module.mjs +89 -0
  94. package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +46 -0
  95. package/esm2020/dialogs/public_api.mjs +9 -0
  96. package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +216 -0
  97. package/esm2020/dialogs/services/dialog.service.mjs +171 -0
  98. package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +38 -0
  99. package/esm2020/dynamic-menu/covalent-core-dynamic-menu.mjs +5 -0
  100. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +30 -0
  101. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +24 -0
  102. package/esm2020/dynamic-menu/dynamic-menu.component.mjs +28 -0
  103. package/esm2020/dynamic-menu/dynamic-menu.menu.mjs +2 -0
  104. package/esm2020/dynamic-menu/dynamic-menu.module.mjs +57 -0
  105. package/esm2020/dynamic-menu/public_api.mjs +6 -0
  106. package/esm2020/file/covalent-core-file.mjs +5 -0
  107. package/esm2020/file/directives/file-drop.directive.mjs +147 -0
  108. package/esm2020/file/directives/file-select.directive.mjs +77 -0
  109. package/esm2020/file/file-input/file-input.component.mjs +110 -0
  110. package/esm2020/file/file-upload/file-upload.component.mjs +174 -0
  111. package/esm2020/file/file.module.mjs +58 -0
  112. package/esm2020/file/public_api.mjs +7 -0
  113. package/esm2020/file/services/file.service.mjs +64 -0
  114. package/esm2020/json-formatter/collapse.animation.mjs +51 -0
  115. package/esm2020/json-formatter/covalent-core-json-formatter.mjs +5 -0
  116. package/esm2020/json-formatter/json-formatter.component.mjs +217 -0
  117. package/esm2020/json-formatter/json-formatter.module.mjs +20 -0
  118. package/esm2020/json-formatter/public_api.mjs +3 -0
  119. package/esm2020/layout/covalent-core-layout.mjs +5 -0
  120. package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +40 -0
  121. package/esm2020/layout/layout-footer/layout-footer.component.mjs +33 -0
  122. package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +93 -0
  123. package/esm2020/layout/layout-manage-list/layout-manage-list.directives.mjs +84 -0
  124. package/esm2020/layout/layout-nav/layout-nav.component.mjs +50 -0
  125. package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +128 -0
  126. package/esm2020/layout/layout-nav-list/layout-nav-list.directives.mjs +84 -0
  127. package/esm2020/layout/layout-toggle.class.mjs +92 -0
  128. package/esm2020/layout/layout.component.mjs +92 -0
  129. package/esm2020/layout/layout.directives.mjs +85 -0
  130. package/esm2020/layout/layout.module.mjs +117 -0
  131. package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +161 -0
  132. package/esm2020/layout/public_api.mjs +13 -0
  133. package/esm2020/menu/covalent-core-menu.mjs +5 -0
  134. package/esm2020/menu/menu.component.mjs +12 -0
  135. package/esm2020/menu/menu.module.mjs +21 -0
  136. package/esm2020/menu/public_api.mjs +3 -0
  137. package/esm2020/message/collapse.animation.mjs +51 -0
  138. package/esm2020/message/covalent-core-message.mjs +5 -0
  139. package/esm2020/message/message.component.mjs +203 -0
  140. package/esm2020/message/message.module.mjs +25 -0
  141. package/esm2020/message/public_api.mjs +3 -0
  142. package/esm2020/public_api.mjs +2 -0
  143. package/esm2020/search/covalent-core-search.mjs +5 -0
  144. package/esm2020/search/public_api.mjs +4 -0
  145. package/esm2020/search/search-box/search-box.component.mjs +194 -0
  146. package/esm2020/search/search-input/search-input.component.mjs +203 -0
  147. package/esm2020/search/search.module.mjs +39 -0
  148. package/esm2020/side-sheet/covalent-core-side-sheet.mjs +5 -0
  149. package/esm2020/side-sheet/public_api.mjs +6 -0
  150. package/esm2020/side-sheet/side-sheet-container.mjs +274 -0
  151. package/esm2020/side-sheet/side-sheet-ref.mjs +21 -0
  152. package/esm2020/side-sheet/side-sheet.animation.mjs +12 -0
  153. package/esm2020/side-sheet/side-sheet.config.mjs +4 -0
  154. package/esm2020/side-sheet/side-sheet.content-directives.mjs +201 -0
  155. package/esm2020/side-sheet/side-sheet.mjs +221 -0
  156. package/esm2020/side-sheet/side-sheet.module.mjs +45 -0
  157. package/esm2020/user-profile/covalent-core-user-profile.mjs +5 -0
  158. package/esm2020/user-profile/public_api.mjs +4 -0
  159. package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +24 -0
  160. package/esm2020/user-profile/user-profile.component.mjs +19 -0
  161. package/esm2020/user-profile/user-profile.module.mjs +44 -0
  162. package/fesm2015/covalent-core-breadcrumbs.mjs +246 -0
  163. package/fesm2015/covalent-core-breadcrumbs.mjs.map +1 -0
  164. package/fesm2015/covalent-core-common.mjs +2281 -0
  165. package/fesm2015/covalent-core-common.mjs.map +1 -0
  166. package/fesm2015/covalent-core-dialogs.mjs +639 -0
  167. package/fesm2015/covalent-core-dialogs.mjs.map +1 -0
  168. package/fesm2015/covalent-core-dynamic-menu.mjs +128 -0
  169. package/fesm2015/covalent-core-dynamic-menu.mjs.map +1 -0
  170. package/fesm2015/covalent-core-file.mjs +613 -0
  171. package/fesm2015/covalent-core-file.mjs.map +1 -0
  172. package/fesm2015/covalent-core-json-formatter.mjs +298 -0
  173. package/fesm2015/covalent-core-json-formatter.mjs.map +1 -0
  174. package/fesm2015/covalent-core-layout.mjs +1024 -0
  175. package/fesm2015/covalent-core-layout.mjs.map +1 -0
  176. package/fesm2015/covalent-core-menu.mjs +37 -0
  177. package/fesm2015/covalent-core-menu.mjs.map +1 -0
  178. package/fesm2015/covalent-core-message.mjs +284 -0
  179. package/fesm2015/covalent-core-message.mjs.map +1 -0
  180. package/fesm2015/covalent-core-search.mjs +428 -0
  181. package/fesm2015/covalent-core-search.mjs.map +1 -0
  182. package/fesm2015/covalent-core-side-sheet.mjs +762 -0
  183. package/fesm2015/covalent-core-side-sheet.mjs.map +1 -0
  184. package/fesm2015/covalent-core-user-profile.mjs +86 -0
  185. package/fesm2015/covalent-core-user-profile.mjs.map +1 -0
  186. package/fesm2015/covalent-core.mjs +4 -0
  187. package/fesm2015/covalent-core.mjs.map +1 -0
  188. package/fesm2020/covalent-core-breadcrumbs.mjs +246 -0
  189. package/fesm2020/covalent-core-breadcrumbs.mjs.map +1 -0
  190. package/{fesm2015/covalent-core-common.js → fesm2020/covalent-core-common.mjs} +317 -813
  191. package/fesm2020/covalent-core-common.mjs.map +1 -0
  192. package/fesm2020/covalent-core-dialogs.mjs +634 -0
  193. package/fesm2020/covalent-core-dialogs.mjs.map +1 -0
  194. package/fesm2020/covalent-core-dynamic-menu.mjs +128 -0
  195. package/fesm2020/covalent-core-dynamic-menu.mjs.map +1 -0
  196. package/fesm2020/covalent-core-file.mjs +607 -0
  197. package/fesm2020/covalent-core-file.mjs.map +1 -0
  198. package/fesm2020/covalent-core-json-formatter.mjs +290 -0
  199. package/fesm2020/covalent-core-json-formatter.mjs.map +1 -0
  200. package/fesm2020/covalent-core-layout.mjs +1000 -0
  201. package/fesm2020/covalent-core-layout.mjs.map +1 -0
  202. package/fesm2020/covalent-core-menu.mjs +37 -0
  203. package/fesm2020/covalent-core-menu.mjs.map +1 -0
  204. package/fesm2020/covalent-core-message.mjs +282 -0
  205. package/fesm2020/covalent-core-message.mjs.map +1 -0
  206. package/fesm2020/covalent-core-search.mjs +425 -0
  207. package/fesm2020/covalent-core-search.mjs.map +1 -0
  208. package/fesm2020/covalent-core-side-sheet.mjs +757 -0
  209. package/fesm2020/covalent-core-side-sheet.mjs.map +1 -0
  210. package/fesm2020/covalent-core-user-profile.mjs +86 -0
  211. package/fesm2020/covalent-core-user-profile.mjs.map +1 -0
  212. package/fesm2020/covalent-core.mjs +4 -0
  213. package/fesm2020/covalent-core.mjs.map +1 -0
  214. package/file/_file-theme.scss +3 -1
  215. package/file/covalent-core-file.d.ts +2 -1
  216. package/file/directives/file-drop.directive.d.ts +8 -6
  217. package/file/directives/file-select.directive.d.ts +5 -2
  218. package/file/file-input/file-input.component.d.ts +10 -5
  219. package/file/file-upload/file-upload.component.d.ts +18 -8
  220. package/file/file.module.d.ts +13 -0
  221. package/file/package.json +6 -7
  222. package/file/{public-api.d.ts → public_api.d.ts} +0 -0
  223. package/file/services/file.service.d.ts +3 -0
  224. package/file/{file-input → src/file-input}/README.md +46 -37
  225. package/file/{file-upload → src/file-upload}/README.md +36 -27
  226. package/json-formatter/README.md +8 -8
  227. package/json-formatter/_json-formatter-theme.scss +10 -0
  228. package/json-formatter/collapse.animation.d.ts +24 -0
  229. package/json-formatter/covalent-core-json-formatter.d.ts +2 -1
  230. package/json-formatter/json-formatter.component.d.ts +7 -4
  231. package/json-formatter/json-formatter.module.d.ts +8 -0
  232. package/json-formatter/package.json +6 -7
  233. package/json-formatter/{public-api.d.ts → public_api.d.ts} +0 -0
  234. package/layout/README.md +48 -50
  235. package/layout/_layout-theme.scss +12 -0
  236. package/layout/covalent-core-layout.d.ts +2 -1
  237. package/layout/layout-card-over/layout-card-over.component.d.ts +6 -3
  238. package/layout/layout-footer/layout-footer.component.d.ts +6 -3
  239. package/layout/layout-manage-list/layout-manage-list.component.d.ts +7 -4
  240. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +9 -2
  241. package/layout/layout-nav/layout-nav.component.d.ts +8 -5
  242. package/layout/layout-nav-list/layout-nav-list.component.d.ts +12 -9
  243. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +9 -2
  244. package/layout/layout-toggle.class.d.ts +4 -1
  245. package/layout/layout.component.d.ts +7 -4
  246. package/layout/layout.directives.d.ts +9 -2
  247. package/layout/layout.module.d.ts +23 -0
  248. package/layout/navigation-drawer/navigation-drawer.component.d.ts +17 -10
  249. package/layout/package.json +6 -7
  250. package/layout/{public-api.d.ts → public_api.d.ts} +0 -0
  251. package/layout/{layout-card-over → src/layout-card-over}/README.md +19 -17
  252. package/layout/{layout-manage-list → src/layout-manage-list}/README.md +24 -28
  253. package/layout/src/layout-nav/README.md +50 -0
  254. package/layout/{layout-nav-list → src/layout-nav-list}/README.md +44 -40
  255. package/menu/covalent-core-menu.d.ts +2 -1
  256. package/menu/menu.component.d.ts +3 -0
  257. package/menu/menu.module.d.ts +8 -0
  258. package/menu/package.json +6 -7
  259. package/menu/{public-api.d.ts → public_api.d.ts} +0 -0
  260. package/message/README.md +26 -18
  261. package/message/_message-theme.scss +3 -0
  262. package/message/collapse.animation.d.ts +24 -0
  263. package/message/covalent-core-message.d.ts +2 -1
  264. package/message/message.component.d.ts +9 -4
  265. package/message/message.module.d.ts +7 -0
  266. package/message/package.json +6 -7
  267. package/message/{public-api.d.ts → public_api.d.ts} +0 -0
  268. package/package.json +129 -37
  269. package/{index.d.ts → public_api.d.ts} +0 -0
  270. package/search/README.md +74 -73
  271. package/search/covalent-core-search.d.ts +2 -1
  272. package/search/package.json +6 -7
  273. package/search/{public-api.d.ts → public_api.d.ts} +0 -0
  274. package/search/search-box/search-box.component.d.ts +12 -5
  275. package/search/search-input/search-input.component.d.ts +12 -5
  276. package/search/search.module.d.ts +11 -0
  277. package/search/src/search-box/README.md +73 -0
  278. package/search/src/search-input/README.md +74 -0
  279. package/side-sheet/README.md +3 -5
  280. package/side-sheet/{side-sheet.theme.scss → _side-sheet.theme.scss} +0 -0
  281. package/side-sheet/covalent-core-side-sheet.d.ts +2 -3
  282. package/side-sheet/package.json +6 -7
  283. package/side-sheet/{public-api.d.ts → public_api.d.ts} +0 -0
  284. package/side-sheet/side-sheet-container.d.ts +21 -5
  285. package/side-sheet/side-sheet.content-directives.d.ts +23 -6
  286. package/side-sheet/side-sheet.d.ts +7 -2
  287. package/side-sheet/side-sheet.module.d.ts +9 -0
  288. package/user-profile/README.md +5 -5
  289. package/user-profile/covalent-core-user-profile.d.ts +2 -1
  290. package/user-profile/package.json +6 -7
  291. package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +5 -2
  292. package/user-profile/user-profile.component.d.ts +5 -2
  293. package/user-profile/user-profile.module.d.ts +12 -0
  294. package/breadcrumbs/breadcrumb/breadcrumb.component.scss +0 -22
  295. package/breadcrumbs/breadcrumbs.component.scss +0 -7
  296. package/breadcrumbs/covalent-core-breadcrumbs.metadata.json +0 -1
  297. package/breadcrumbs/index.d.ts +0 -1
  298. package/bundles/covalent-core-breadcrumbs.umd.js +0 -490
  299. package/bundles/covalent-core-breadcrumbs.umd.js.map +0 -1
  300. package/bundles/covalent-core-breadcrumbs.umd.min.js +0 -2
  301. package/bundles/covalent-core-breadcrumbs.umd.min.js.map +0 -1
  302. package/bundles/covalent-core-common.umd.js +0 -3188
  303. package/bundles/covalent-core-common.umd.js.map +0 -1
  304. package/bundles/covalent-core-common.umd.min.js +0 -17
  305. package/bundles/covalent-core-common.umd.min.js.map +0 -1
  306. package/bundles/covalent-core-dialogs.umd.js +0 -1318
  307. package/bundles/covalent-core-dialogs.umd.js.map +0 -1
  308. package/bundles/covalent-core-dialogs.umd.min.js +0 -2
  309. package/bundles/covalent-core-dialogs.umd.min.js.map +0 -1
  310. package/bundles/covalent-core-dynamic-menu.umd.js +0 -215
  311. package/bundles/covalent-core-dynamic-menu.umd.js.map +0 -1
  312. package/bundles/covalent-core-dynamic-menu.umd.min.js +0 -2
  313. package/bundles/covalent-core-dynamic-menu.umd.min.js.map +0 -1
  314. package/bundles/covalent-core-file.umd.js +0 -1211
  315. package/bundles/covalent-core-file.umd.js.map +0 -1
  316. package/bundles/covalent-core-file.umd.min.js +0 -17
  317. package/bundles/covalent-core-file.umd.min.js.map +0 -1
  318. package/bundles/covalent-core-json-formatter.umd.js +0 -408
  319. package/bundles/covalent-core-json-formatter.umd.js.map +0 -1
  320. package/bundles/covalent-core-json-formatter.umd.min.js +0 -2
  321. package/bundles/covalent-core-json-formatter.umd.min.js.map +0 -1
  322. package/bundles/covalent-core-layout.umd.js +0 -2084
  323. package/bundles/covalent-core-layout.umd.js.map +0 -1
  324. package/bundles/covalent-core-layout.umd.min.js +0 -17
  325. package/bundles/covalent-core-layout.umd.min.js.map +0 -1
  326. package/bundles/covalent-core-menu.umd.js +0 -69
  327. package/bundles/covalent-core-menu.umd.js.map +0 -1
  328. package/bundles/covalent-core-menu.umd.min.js +0 -2
  329. package/bundles/covalent-core-menu.umd.min.js.map +0 -1
  330. package/bundles/covalent-core-message.umd.js +0 -375
  331. package/bundles/covalent-core-message.umd.js.map +0 -1
  332. package/bundles/covalent-core-message.umd.min.js +0 -2
  333. package/bundles/covalent-core-message.umd.min.js.map +0 -1
  334. package/bundles/covalent-core-search.umd.js +0 -877
  335. package/bundles/covalent-core-search.umd.js.map +0 -1
  336. package/bundles/covalent-core-search.umd.min.js +0 -16
  337. package/bundles/covalent-core-search.umd.min.js.map +0 -1
  338. package/bundles/covalent-core-side-sheet.umd.js +0 -1458
  339. package/bundles/covalent-core-side-sheet.umd.js.map +0 -1
  340. package/bundles/covalent-core-side-sheet.umd.min.js +0 -16
  341. package/bundles/covalent-core-side-sheet.umd.min.js.map +0 -1
  342. package/bundles/covalent-core-user-profile.umd.js +0 -116
  343. package/bundles/covalent-core-user-profile.umd.js.map +0 -1
  344. package/bundles/covalent-core-user-profile.umd.min.js +0 -2
  345. package/bundles/covalent-core-user-profile.umd.min.js.map +0 -1
  346. package/bundles/covalent-core.umd.js +0 -9
  347. package/bundles/covalent-core.umd.js.map +0 -1
  348. package/bundles/covalent-core.umd.min.js +0 -2
  349. package/bundles/covalent-core.umd.min.js.map +0 -1
  350. package/common/covalent-core-common.metadata.json +0 -1
  351. package/common/index.d.ts +0 -1
  352. package/common/material-icons.css +0 -98
  353. package/common/material-icons.css.map +0 -1
  354. package/common/material-icons.scss +0 -3
  355. package/common/platform.css +0 -15424
  356. package/common/platform.css.map +0 -1
  357. package/common/platform.scss +0 -7
  358. package/common/styles/_elevation.scss +0 -280
  359. package/common/styles/_layout.scss +0 -603
  360. package/common/styles/_palette-dark.scss +0 -326
  361. package/common/styles/_palette-light.scss +0 -637
  362. package/common/styles/_rtl.scss +0 -28
  363. package/common/styles/_styles.scss +0 -10
  364. package/common/styles/_theme-functions.scss +0 -25
  365. package/common/styles/_typography-functions.scss +0 -35
  366. package/common/styles/_variables.scss +0 -98
  367. package/common/styles/colors/_colors-dark.scss +0 -1072
  368. package/common/styles/colors/_colors-light.scss +0 -2487
  369. package/common/styles/colors/_colors.scss +0 -7
  370. package/common/styles/core/_button.scss +0 -59
  371. package/common/styles/core/_card.scss +0 -164
  372. package/common/styles/core/_content.scss +0 -42
  373. package/common/styles/core/_core.scss +0 -23
  374. package/common/styles/core/_divider.scss +0 -15
  375. package/common/styles/core/_icons.scss +0 -20
  376. package/common/styles/core/_list.scss +0 -8
  377. package/common/styles/core/_sidenav.scss +0 -20
  378. package/common/styles/core/_structure.scss +0 -128
  379. package/common/styles/core/_toolbar.scss +0 -46
  380. package/common/styles/core/_whiteframe.scss +0 -130
  381. package/common/styles/font/MaterialIcons-Regular-v48.woff2 +0 -0
  382. package/common/styles/font/_font.scss +0 -93
  383. package/common/styles/utilities/_general.scss +0 -51
  384. package/common/styles/utilities/_pad.scss +0 -36
  385. package/common/styles/utilities/_pull.scss +0 -36
  386. package/common/styles/utilities/_push.scss +0 -36
  387. package/common/styles/utilities/_size.scss +0 -24
  388. package/common/styles/utilities/_text.scss +0 -84
  389. package/common/styles/utilities/_utilities.scss +0 -15
  390. package/covalent-core.metadata.json +0 -1
  391. package/dialogs/alert-dialog/alert-dialog.component.scss +0 -3
  392. package/dialogs/confirm-dialog/confirm-dialog.component.scss +0 -3
  393. package/dialogs/covalent-core-dialogs.metadata.json +0 -1
  394. package/dialogs/dialog.component.scss +0 -44
  395. package/dialogs/index.d.ts +0 -1
  396. package/dialogs/prompt-dialog/prompt-dialog.component.scss +0 -15
  397. package/dialogs/window-dialog/window-dialog.component.scss +0 -31
  398. package/dynamic-menu/covalent-core-dynamic-menu.metadata.json +0 -1
  399. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.scss +0 -6
  400. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.scss +0 -11
  401. package/dynamic-menu/dynamic-menu.component.scss +0 -0
  402. package/dynamic-menu/index.d.ts +0 -1
  403. package/esm2015/breadcrumbs/breadcrumb/breadcrumb.component.js +0 -171
  404. package/esm2015/breadcrumbs/breadcrumbs.component.js +0 -241
  405. package/esm2015/breadcrumbs/breadcrumbs.module.js +0 -20
  406. package/esm2015/breadcrumbs/covalent-core-breadcrumbs.js +0 -10
  407. package/esm2015/breadcrumbs/index.js +0 -7
  408. package/esm2015/breadcrumbs/public-api.js +0 -9
  409. package/esm2015/common/animations/bounce/bounce.animation.js +0 -76
  410. package/esm2015/common/animations/collapse/collapse.animation.js +0 -67
  411. package/esm2015/common/animations/common/interfaces.js +0 -18
  412. package/esm2015/common/animations/fade/fadeInOut.animation.js +0 -53
  413. package/esm2015/common/animations/flash/flash.animation.js +0 -40
  414. package/esm2015/common/animations/headshake/headshake.animation.js +0 -41
  415. package/esm2015/common/animations/jello/jello.animation.js +0 -44
  416. package/esm2015/common/animations/pulse/pulse.animation.js +0 -38
  417. package/esm2015/common/animations/rotate/rotate.animation.js +0 -41
  418. package/esm2015/common/behaviors/control-value-accesor.mixin.js +0 -107
  419. package/esm2015/common/behaviors/disable-ripple.mixin.js +0 -63
  420. package/esm2015/common/behaviors/disabled.mixin.js +0 -63
  421. package/esm2015/common/common.module.js +0 -54
  422. package/esm2015/common/covalent-core-common.js +0 -12
  423. package/esm2015/common/directives/fullscreen/fullscreen.directive.js +0 -180
  424. package/esm2015/common/forms/auto-trim/auto-trim.directive.js +0 -46
  425. package/esm2015/common/forms/validators/validators.js +0 -58
  426. package/esm2015/common/functions/clipboard.js +0 -30
  427. package/esm2015/common/functions/convert.js +0 -103
  428. package/esm2015/common/functions/download.js +0 -88
  429. package/esm2015/common/functions/file.js +0 -29
  430. package/esm2015/common/index.js +0 -7
  431. package/esm2015/common/pipes/bytes/bytes.pipe.js +0 -41
  432. package/esm2015/common/pipes/decimal-bytes/decimal-bytes.pipe.js +0 -41
  433. package/esm2015/common/pipes/digits/digits.pipe.js +0 -65
  434. package/esm2015/common/pipes/time-ago/time-ago.pipe.js +0 -81
  435. package/esm2015/common/pipes/time-difference/time-difference.pipe.js +0 -66
  436. package/esm2015/common/pipes/time-until/time-until.pipe.js +0 -81
  437. package/esm2015/common/pipes/truncate/truncate.pipe.js +0 -34
  438. package/esm2015/common/public-api.js +0 -44
  439. package/esm2015/common/services/icon.service.js +0 -1109
  440. package/esm2015/common/services/router-path.service.js +0 -60
  441. package/esm2015/covalent-core.js +0 -10
  442. package/esm2015/dialogs/alert-dialog/alert-dialog.component.js +0 -47
  443. package/esm2015/dialogs/confirm-dialog/confirm-dialog.component.js +0 -59
  444. package/esm2015/dialogs/covalent-core-dialogs.js +0 -11
  445. package/esm2015/dialogs/dialog.component.js +0 -58
  446. package/esm2015/dialogs/dialogs.module.js +0 -57
  447. package/esm2015/dialogs/index.js +0 -7
  448. package/esm2015/dialogs/prompt-dialog/prompt-dialog.component.js +0 -83
  449. package/esm2015/dialogs/public-api.js +0 -13
  450. package/esm2015/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.js +0 -325
  451. package/esm2015/dialogs/services/dialog.service.js +0 -316
  452. package/esm2015/dialogs/window-dialog/window-dialog.component.js +0 -56
  453. package/esm2015/dynamic-menu/covalent-core-dynamic-menu.js +0 -11
  454. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.js +0 -40
  455. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.js +0 -35
  456. package/esm2015/dynamic-menu/dynamic-menu.component.js +0 -89
  457. package/esm2015/dynamic-menu/dynamic-menu.module.js +0 -26
  458. package/esm2015/dynamic-menu/index.js +0 -7
  459. package/esm2015/dynamic-menu/public_api.js +0 -9
  460. package/esm2015/file/covalent-core-file.js +0 -10
  461. package/esm2015/file/directives/file-drop.directive.js +0 -191
  462. package/esm2015/file/directives/file-select.directive.js +0 -98
  463. package/esm2015/file/file-input/file-input.component.js +0 -186
  464. package/esm2015/file/file-upload/file-upload.component.js +0 -237
  465. package/esm2015/file/file.module.js +0 -35
  466. package/esm2015/file/index.js +0 -7
  467. package/esm2015/file/public-api.js +0 -12
  468. package/esm2015/file/services/file.service.js +0 -109
  469. package/esm2015/index.js +0 -7
  470. package/esm2015/json-formatter/covalent-core-json-formatter.js +0 -10
  471. package/esm2015/json-formatter/index.js +0 -7
  472. package/esm2015/json-formatter/json-formatter.component.js +0 -338
  473. package/esm2015/json-formatter/json-formatter.module.js +0 -20
  474. package/esm2015/json-formatter/public-api.js +0 -8
  475. package/esm2015/layout/covalent-core-layout.js +0 -10
  476. package/esm2015/layout/index.js +0 -7
  477. package/esm2015/layout/layout-card-over/layout-card-over.component.js +0 -71
  478. package/esm2015/layout/layout-footer/layout-footer.component.js +0 -71
  479. package/esm2015/layout/layout-manage-list/layout-manage-list.component.js +0 -145
  480. package/esm2015/layout/layout-manage-list/layout-manage-list.directives.js +0 -132
  481. package/esm2015/layout/layout-nav/layout-nav.component.js +0 -100
  482. package/esm2015/layout/layout-nav-list/layout-nav-list.component.js +0 -220
  483. package/esm2015/layout/layout-nav-list/layout-nav-list.directives.js +0 -132
  484. package/esm2015/layout/layout-toggle.class.js +0 -188
  485. package/esm2015/layout/layout.component.js +0 -145
  486. package/esm2015/layout/layout.directives.js +0 -129
  487. package/esm2015/layout/layout.module.js +0 -64
  488. package/esm2015/layout/navigation-drawer/navigation-drawer.component.js +0 -280
  489. package/esm2015/layout/public-api.js +0 -18
  490. package/esm2015/menu/covalent-core-menu.js +0 -10
  491. package/esm2015/menu/index.js +0 -7
  492. package/esm2015/menu/menu.component.js +0 -16
  493. package/esm2015/menu/menu.module.js +0 -22
  494. package/esm2015/menu/public-api.js +0 -8
  495. package/esm2015/message/covalent-core-message.js +0 -10
  496. package/esm2015/message/index.js +0 -7
  497. package/esm2015/message/message.component.js +0 -307
  498. package/esm2015/message/message.module.js +0 -21
  499. package/esm2015/message/public-api.js +0 -8
  500. package/esm2015/search/covalent-core-search.js +0 -10
  501. package/esm2015/search/index.js +0 -7
  502. package/esm2015/search/public-api.js +0 -9
  503. package/esm2015/search/search-box/search-box.component.js +0 -270
  504. package/esm2015/search/search-input/search-input.component.js +0 -260
  505. package/esm2015/search/search.module.js +0 -23
  506. package/esm2015/side-sheet/covalent-core-side-sheet.js +0 -12
  507. package/esm2015/side-sheet/index.js +0 -7
  508. package/esm2015/side-sheet/public-api.js +0 -11
  509. package/esm2015/side-sheet/side-sheet-container.js +0 -402
  510. package/esm2015/side-sheet/side-sheet-ref.js +0 -50
  511. package/esm2015/side-sheet/side-sheet.animation.js +0 -20
  512. package/esm2015/side-sheet/side-sheet.config.js +0 -12
  513. package/esm2015/side-sheet/side-sheet.content-directives.js +0 -255
  514. package/esm2015/side-sheet/side-sheet.js +0 -360
  515. package/esm2015/side-sheet/side-sheet.module.js +0 -36
  516. package/esm2015/user-profile/covalent-core-user-profile.js +0 -10
  517. package/esm2015/user-profile/index.js +0 -7
  518. package/esm2015/user-profile/public_api.js +0 -9
  519. package/esm2015/user-profile/user-profile-menu/user-profile-menu.component.js +0 -35
  520. package/esm2015/user-profile/user-profile.component.js +0 -26
  521. package/esm2015/user-profile/user-profile.module.js +0 -25
  522. package/fesm2015/covalent-core-breadcrumbs.js +0 -448
  523. package/fesm2015/covalent-core-breadcrumbs.js.map +0 -1
  524. package/fesm2015/covalent-core-common.js.map +0 -1
  525. package/fesm2015/covalent-core-dialogs.js +0 -1001
  526. package/fesm2015/covalent-core-dialogs.js.map +0 -1
  527. package/fesm2015/covalent-core-dynamic-menu.js +0 -204
  528. package/fesm2015/covalent-core-dynamic-menu.js.map +0 -1
  529. package/fesm2015/covalent-core-file.js +0 -855
  530. package/fesm2015/covalent-core-file.js.map +0 -1
  531. package/fesm2015/covalent-core-json-formatter.js +0 -377
  532. package/fesm2015/covalent-core-json-formatter.js.map +0 -1
  533. package/fesm2015/covalent-core-layout.js +0 -1663
  534. package/fesm2015/covalent-core-layout.js.map +0 -1
  535. package/fesm2015/covalent-core-menu.js +0 -57
  536. package/fesm2015/covalent-core-menu.js.map +0 -1
  537. package/fesm2015/covalent-core-message.js +0 -347
  538. package/fesm2015/covalent-core-message.js.map +0 -1
  539. package/fesm2015/covalent-core-search.js +0 -564
  540. package/fesm2015/covalent-core-search.js.map +0 -1
  541. package/fesm2015/covalent-core-side-sheet.js +0 -1134
  542. package/fesm2015/covalent-core-side-sheet.js.map +0 -1
  543. package/fesm2015/covalent-core-user-profile.js +0 -103
  544. package/fesm2015/covalent-core-user-profile.js.map +0 -1
  545. package/fesm2015/covalent-core.js +0 -12
  546. package/fesm2015/covalent-core.js.map +0 -1
  547. package/file/covalent-core-file.metadata.json +0 -1
  548. package/file/file-input/file-input.component.scss +0 -20
  549. package/file/file-upload/file-upload.component.scss +0 -30
  550. package/file/index.d.ts +0 -1
  551. package/json-formatter/covalent-core-json-formatter.metadata.json +0 -1
  552. package/json-formatter/index.d.ts +0 -1
  553. package/json-formatter/json-formatter.component.scss +0 -61
  554. package/layout/covalent-core-layout.metadata.json +0 -1
  555. package/layout/index.d.ts +0 -1
  556. package/layout/layout-card-over/layout-card-over.component.scss +0 -42
  557. package/layout/layout-footer/layout-footer.component.scss +0 -4
  558. package/layout/layout-manage-list/layout-manage-list.component.scss +0 -78
  559. package/layout/layout-nav/README.md +0 -46
  560. package/layout/layout-nav/layout-nav.component.scss +0 -50
  561. package/layout/layout-nav-list/layout-nav-list.component.scss +0 -110
  562. package/layout/layout.component.scss +0 -20
  563. package/layout/navigation-drawer/navigation-drawer.component.scss +0 -73
  564. package/menu/covalent-core-menu.metadata.json +0 -1
  565. package/menu/index.d.ts +0 -1
  566. package/menu/menu.component.scss +0 -43
  567. package/message/covalent-core-message.metadata.json +0 -1
  568. package/message/index.d.ts +0 -1
  569. package/message/message.component.scss +0 -29
  570. package/schematics/README.md +0 -66
  571. package/schematics/collection.json +0 -11
  572. package/schematics/components.js +0 -111
  573. package/schematics/components.js.map +0 -1
  574. package/schematics/migration.json +0 -10
  575. package/schematics/ng-add/files/theme.scss +0 -64
  576. package/schematics/ng-add/index.js +0 -58
  577. package/schematics/ng-add/index.js.map +0 -1
  578. package/schematics/ng-add/schema.js +0 -3
  579. package/schematics/ng-add/schema.js.map +0 -1
  580. package/schematics/ng-add/schema.json +0 -81
  581. package/schematics/ng-update/index.js +0 -52
  582. package/schematics/ng-update/index.js.map +0 -1
  583. package/schematics/ng-update/target-version.js +0 -8
  584. package/schematics/ng-update/target-version.js.map +0 -1
  585. package/schematics/version-names.js +0 -6
  586. package/schematics/version-names.js.map +0 -1
  587. package/search/covalent-core-search.metadata.json +0 -1
  588. package/search/index.d.ts +0 -1
  589. package/search/search-box/README.md +0 -62
  590. package/search/search-box/search-box.component.scss +0 -32
  591. package/search/search-input/README.md +0 -65
  592. package/search/search-input/search-input.component.scss +0 -63
  593. package/side-sheet/covalent-core-side-sheet.metadata.json +0 -1
  594. package/side-sheet/index.d.ts +0 -1
  595. package/side-sheet/side-sheet.scss +0 -69
  596. package/theming/prebuilt/blue-grey-deep-orange.css +0 -2434
  597. package/theming/prebuilt/blue-grey-deep-orange.css.map +0 -1
  598. package/theming/prebuilt/blue-grey-deep-orange.scss +0 -13
  599. package/theming/prebuilt/blue-orange.css +0 -2434
  600. package/theming/prebuilt/blue-orange.css.map +0 -1
  601. package/theming/prebuilt/blue-orange.scss +0 -13
  602. package/theming/prebuilt/indigo-pink.css +0 -2434
  603. package/theming/prebuilt/indigo-pink.css.map +0 -1
  604. package/theming/prebuilt/indigo-pink.scss +0 -13
  605. package/theming/prebuilt/orange-light-blue.css +0 -2434
  606. package/theming/prebuilt/orange-light-blue.css.map +0 -1
  607. package/theming/prebuilt/orange-light-blue.scss +0 -13
  608. package/theming/prebuilt/teal-orange.css +0 -2434
  609. package/theming/prebuilt/teal-orange.css.map +0 -1
  610. package/theming/prebuilt/teal-orange.scss +0 -13
  611. package/user-profile/covalent-core-user-profile.metadata.json +0 -1
  612. package/user-profile/index.d.ts +0 -1
  613. package/user-profile/user-profile-menu/user-profile-menu.component.scss +0 -38
@@ -1,255 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC5jb250ZW50LWRpcmVjdGl2ZXMuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2NvcmUvc2lkZS1zaGVldC8iLCJzb3VyY2VzIjpbInNpZGUtc2hlZXQuY29udGVudC1kaXJlY3RpdmVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixRQUFRLEVBQWlCLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDakQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7Ozs7O0lBR3hFLGdCQUFnQixHQUFHLENBQUM7Ozs7QUFjeEIsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7O0lBWWpDLFlBQ3FCLFNBQW9DLEVBQy9DLFdBQW9DLEVBQ3BDLE9BQTBCO1FBRmYsY0FBUyxHQUFULFNBQVMsQ0FBMkI7UUFDL0MsZ0JBQVcsR0FBWCxXQUFXLENBQXlCO1FBQ3BDLFlBQU8sR0FBUCxPQUFPLENBQW1COzs7O1FBVjNCLFNBQUksR0FBa0MsUUFBUSxDQUFDO0lBV3JELENBQUM7Ozs7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDbkIsaUZBQWlGO1lBQ2pGLGdGQUFnRjtZQUNoRixnRkFBZ0Y7WUFDaEYsb0ZBQW9GO1lBQ3BGLG1DQUFtQztZQUNuQyxJQUFJLENBQUMsU0FBUyxHQUFHLG1CQUFBLGdCQUFnQixDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLENBQUMsRUFBQyxDQUFDO1NBQ25GO0lBQ0gsQ0FBQzs7Ozs7SUFFRCxXQUFXLENBQUMsT0FBc0I7O2NBQzFCLGFBQWEsR0FBRyxPQUFPLENBQUMseUJBQXlCLENBQUMsSUFBSSxPQUFPLENBQUMsK0JB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LFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEVBQTRFO2dCQUN0RixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUU7YUFDekM7Ozs7O0FBVUQsTUFBTSxPQUFPLHdCQUF3Qjs7O1lBSnBDLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsNEVBQTRFO2dCQUN0RixJQUFJLEVBQUUsRUFBRSxLQUFLLEVBQUUsdUJBQXVCLEVBQUU7YUFDekM7Ozs7Ozs7O0FBUUQsU0FBUyxnQkFBZ0IsQ0FBQyxPQUFnQyxFQUFFLFdBQXdDOztRQUM5RixNQUFNLEdBQXVCLE9BQU8sQ0FBQyxhQUFhLENBQUMsYUFBYTtJQUVwRSxPQUFPLE1BQU0sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLHlCQUF5QixDQUFDLEVBQUU7UUFDdEUsTUFBTSxHQUFHLE1BQU0sQ0FBQyxhQUFhLENBQUM7S0FDL0I7SUFFRCxPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLElBQUk7Ozs7SUFBQyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxtQkFBQSxNQUFNLEVBQUMsQ0FBQyxFQUFFLEVBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0FBQ2hGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiB0c2xpbnQ6ZGlzYWJsZSAqL1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE9wdGlvbmFsLCBTaW1wbGVDaGFuZ2VzLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb3ZhbGVudFNpZGVTaGVldCB9IGZyb20gJy4vc2lkZS1zaGVldCc7XG5pbXBvcnQgeyBfY2xvc2VTaWRlU2hlZXRWaWEsIENvdmFsZW50U2lkZVNoZWV0UmVmIH0gZnJvbSAnLi9zaWRlLXNoZWV0LXJlZic7XG5cbi8qKiBDb3VudGVyIHVzZWQgdG8gZ2VuZXJhdGUgdW5pcXVlIElEcyBmb3IgZGlhbG9nIGVsZW1lbnRzLiAqL1xubGV0IGRpYWxvZ0VsZW1lbnRVaWQgPSAwO1xuXG4vKipcbiAqIEJ1dHRvbiB0aGF0IHdpbGwgY2xvc2UgdGhlIGN1cnJlbnQgZGlhbG9nLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGQtc2lkZS1zaGVldC1jbG9zZV0sIFtDb3ZhbGVudFNpZGVTaGVldENsb3NlXScsXG4gIGV4cG9ydEFzOiAnQ292YWxlbnRTaWRlU2hlZXRDbG9zZScsXG4gIGhvc3Q6IHtcbiAgICAnKGNsaWNrKSc6ICdfb25CdXR0b25DbGljaygkZXZlbnQpJyxcbiAgICAnW2F0dHIuYXJpYS1sYWJlbF0nOiAnYXJpYUxhYmVsIHx8IG51bGwnLFxuICAgICdbYXR0ci50eXBlXSc6ICd0eXBlJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRTaWRlU2hlZXRDbG9zZSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgLyoqIFNjcmVlbnJlYWRlciBsYWJlbCBmb3IgdGhlIGJ1dHRvbi4gKi9cbiAgQElucHV0KCdhcmlhLWxhYmVsJykgYXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgLyoqIERlZmF1bHQgdG8gXCJidXR0b25cIiB0byBwcmV2ZW50cyBhY2NpZGVudGFsIGZvcm0gc3VibWl0cy4gKi9cbiAgQElucHV0KCkgdHlwZTogJ3N1Ym1pdCcgfCAnYnV0dG9uJyB8ICdyZXNldCcgPSAnYnV0dG9uJztcblxuICAvKiogRGlhbG9nIGNsb3NlIGlucHV0LiAqL1xuICBASW5wdXQoJ3RkLXNpZGUtc2hlZXQtY2xvc2UnKSBkaWFsb2dSZXN1bHQ6IGFueTtcblxuICBASW5wdXQoJ0NvdmFsZW50U2lkZVNoZWV0Q2xvc2UnKSBfQ292YWxlbnRTaWRlU2hlZXRDbG9zZTogYW55O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBkaWFsb2dSZWY6IENvdmFsZW50U2lkZVNoZWV0UmVmPGFueT4sXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBDb3ZhbGVudFNpZGVTaGVldCxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaWFsb2dSZWYpIHtcbiAgICAgIC8vIFdoZW4gdGhpcyBkaXJlY3RpdmUgaXMgaW5jbHVkZWQgaW4gYSBkaWFsb2cgdmlhIFRlbXBsYXRlUmVmIChyYXRoZXIgdGhhbiBiZWluZ1xuICAgICAgLy8gaW4gYSBDb21wb25lbnQpLCB0aGUgRGlhbG9nUmVmIGlzbid0IGF2YWlsYWJsZSB2aWEgaW5qZWN0aW9uIGJlY2F1c2UgZW1iZWRkZWRcbiAgICAgIC8vIHZpZXdzIGNhbm5vdCBiZSBnaXZlbiBhIGN1c3RvbSBpbmplY3Rvci4gSW5zdGVhZCwgd2UgbG9vayB1cCB0aGUgRGlhbG9nUmVmIGJ5XG4gICAgICAvLyBJRC4gVGhpcyBtdXN0IG9jY3VyIGluIGBvbkluaXRgLCBhcyB0aGUgSUQgYmluZGluZyBmb3IgdGhlIGRpYWxvZyBjb250YWluZXIgd29uJ3RcbiAgICAgIC8vIGJlIHJlc29sdmVkIGF0IGNvbnN0cnVjdG9yIHRpbWUuXG4gICAgICB0aGlzLmRpYWxvZ1JlZiA9IGdldENsb3Nlc3REaWFsb2codGhpcy5fZWxlbWVudFJlZiwgdGhpcy5fZGlhbG9nLm9wZW5TaWRlU2hlZXRzKSE7XG4gICAgfVxuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xuICAgIGNvbnN0IHByb3hpZWRDaGFuZ2UgPSBjaGFuZ2VzWydfQ292YWxlbnRTaWRlU2hlZXRDbG9zZSddIHx8IGNoYW5nZXNbJ19Db3ZhbGVudFNpZGVTaGVldENsb3NlUmVzdWx0J107XG5cbiAgICBpZiAocHJveGllZENoYW5nZSkge1xuICAgICAgdGhpcy5kaWFsb2dSZXN1bHQgPSBwcm94aWVkQ2hhbmdlLmN1cnJlbnRWYWx1ZTtcbiAgICB9XG4gIH1cblxuICBfb25CdXR0b25DbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIC8vIERldGVybWluYXRlIHRoZSBmb2N1cyBvcmlnaW4gdXNpbmcgdGhlIGNsaWNrIGV2ZW50LCBiZWNhdXNlIHVzaW5nIHRoZSBGb2N1c01vbml0b3Igd2lsbFxuICAgIC8vIHJlc3VsdCBpbiBpbmNvcnJlY3Qgb3JpZ2lucy4gTW9zdCBvZiB0aGUgdGltZSwgY2xvc2UgYnV0dG9ucyB3aWxsIGJlIGF1dG8gZm9jdXNlZCBpbiB0aGVcbiAgICAvLyBkaWFsb2csIGFuZCB0aGVyZWZvcmUgY2xpY2tpbmcgdGhlIGJ1dHRvbiB3b24ndCByZXN1bHQgaW4gYSBmb2N1cyBjaGFuZ2UuIFRoaXMgbWVhbnMgdGhhdFxuICAgIC8vIHRoZSBGb2N1c01vbml0b3Igd29uJ3QgZGV0ZWN0IGFueSBvcmlnaW4gY2hhbmdlLCBhbmQgd2lsbCBhbHdheXMgb3V0cHV0IGBwcm9ncmFtYC5cbiAgICBfY2xvc2VTaWRlU2hlZXRWaWEoXG4gICAgICB0aGlzLmRpYWxvZ1JlZixcbiAgICAgIGV2ZW50LnNjcmVlblggPT09IDAgJiYgZXZlbnQuc2NyZWVuWSA9PT0gMCA/ICdrZXlib2FyZCcgOiAnbW91c2UnLFxuICAgICAgdGhpcy5kaWFsb2dSZXN1bHQsXG4gICAgKTtcbiAgfVxufVxuXG4vKipcbiAqIFRpdGxlIG9mIGEgc2lkZSBzaGVldCBlbGVtZW50LiBTdGF5cyBmaXhlZCB0byB0aGUgdG9wIG9mIHRoZSBzaWRlIHNoZWV0IHdoZW4gc2Nyb2xsaW5nLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbdGQtc2lkZS1zaGVldC10aXRsZV0sIFtDb3ZhbGVudFNpZGVTaGVldFRpdGxlXScsXG4gIGV4cG9ydEFzOiAnQ292YWxlbnRTaWRlU2hlZXRUaXRsZScsXG4gIGhvc3Q6IHtcbiAgICAnY2xhc3MnOiAndGQtc2lkZS1zaGVldC10aXRsZScsXG4gICAgJ1tpZF0nOiAnaWQnLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldFRpdGxlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgLyoqIFVuaXF1ZSBpZCBmb3IgdGhlIGRpYWxvZyB0aXRsZS4gSWYgbm9uZSBpcyBzdXBwbGllZCwgaXQgd2lsbCBiZSBhdXRvLWdlbmVyYXRlZC4gKi9cbiAgQElucHV0KCkgaWQ6IHN0cmluZyA9IGB0ZC1zaWRlLXNoZWV0LXRpdGxlLSR7ZGlhbG9nRWxlbWVudFVpZCsrfWA7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgLy8gVGhlIGRpYWxvZyB0aXRsZSBkaXJlY3RpdmUgaXMgYWx3YXlzIHVzZWQgaW4gY29tYmluYXRpb24gd2l0aCBhIGBDb3ZhbGVudFNpZGVTaGVldFJlZmAuXG4gICAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiBsaWdodHdlaWdodC10b2tlbnNcbiAgICBAT3B0aW9uYWwoKSBwcml2YXRlIF9kaWFsb2dSZWY6IENvdmFsZW50U2lkZVNoZWV0UmVmPGFueT4sXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgcHJpdmF0ZSBfZGlhbG9nOiBDb3ZhbGVudFNpZGVTaGVldCxcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLl9kaWFsb2dSZWYpIHtcbiAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICBjb25zdCBjb250YWluZXIgPSB0aGlzLl9kaWFsb2dSZWYuX2NvbnRhaW5lckluc3RhbmNlO1xuXG4gICAgICAgIGlmIChjb250YWluZXIgJiYgIWNvbnRhaW5lci5fYXJpYUxhYmVsbGVkQnkpIHtcbiAgICAgICAgICBjb250YWluZXIuX2FyaWFMYWJlbGxlZEJ5ID0gdGhpcy5pZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2RpYWxvZ1JlZiA9IGdldENsb3Nlc3REaWFsb2codGhpcy5fZWxlbWVudFJlZiwgdGhpcy5fZGlhbG9nLm9wZW5TaWRlU2hlZXRzKSE7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU2Nyb2xsYWJsZSBjb250ZW50IGNvbnRhaW5lciBvZiBhIGRpYWxvZy5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBgW3RkLXNpZGUtc2hlZXQtY29udGVudF0sIHRkLXNpZGUtc2hlZXQtY29udGVudCwgW0NvdmFsZW50U2lkZVNoZWV0Q29udGVudF1gLFxuICBob3N0OiB7IGNsYXNzOiAndGQtc2lkZS1zaGVldC1jb250ZW50JyB9LFxufSlcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldENvbnRlbnQge31cblxuLyoqXG4gKiBDb250YWluZXIgZm9yIHRoZSBib3R0b20gYWN0aW9uIGJ1dHRvbnMgaW4gYSBkaWFsb2cuXG4gKiBTdGF5cyBmaXhlZCB0byB0aGUgYm90dG9tIHdoZW4gc2Nyb2xsaW5nLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IGBbdGQtc2lkZS1zaGVldC1hY3Rpb25zXSwgdGQtc2lkZS1zaGVldC1hY3Rpb25zLCBbQ292YWxlbnRTaWRlU2hlZXRBY3Rpb25zXWAsXG4gIGhvc3Q6IHsgY2xhc3M6ICd0ZC1zaWRlLXNoZWV0LWFjdGlvbnMnIH0sXG59KVxuZXhwb3J0IGNsYXNzIENvdmFsZW50U2lkZVNoZWV0QWN0aW9ucyB7fVxuXG4vKipcbiAqIENvbnRhaW5lciBmb3IgdGhlIHdyYXBwZXIgcGFydCBvZiB0aGUgZGlhbG9nXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogYFt0ZC1zaWRlLXNoZWV0LXdyYXBwZXJdLCB0ZC1zaWRlLXNoZWV0LXdyYXBwZXIsIFtDb3ZhbGVudFNpZGVTaGVldFdyYXBwZXJdYCxcbiAgaG9zdDogeyBjbGFzczogJ3RkLXNpZGUtc2hlZXQtd3JhcHBlcicgfSxcbn0pXG5leHBvcnQgY2xhc3MgQ292YWxlbnRTaWRlU2hlZXRXcmFwcGVyIHt9XG5cbi8qKlxuICogRmluZHMgdGhlIGNsb3Nlc3QgQ292YWxlbnRTaWRlU2hlZXRSZWYgdG8gYW4gZWxlbWVudCBieSBsb29raW5nIGF0IHRoZSBET00uXG4gKiBAcGFyYW0gZWxlbWVudCBFbGVtZW50IHJlbGF0aXZlIHRvIHdoaWNoIHRvIGxvb2sgZm9yIGEgZGlhbG9nLlxuICogQHBhcmFtIG9wZW5EaWFsb2dzIFJlZmVyZW5jZXMgdG8gdGhlIGN1cnJlbnRseS1vcGVuIGRpYWxvZ3MuXG4gKi9cbmZ1bmN0aW9uIGdldENsb3Nlc3REaWFsb2coZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sIG9wZW5EaWFsb2dzOiBDb3ZhbGVudFNpZGVTaGVldFJlZjxhbnk+W10pIHtcbiAgbGV0IHBhcmVudDogSFRNTEVsZW1lbnQgfCBudWxsID0gZWxlbWVudC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQ7XG5cbiAgd2hpbGUgKHBhcmVudCAmJiAhcGFyZW50LmNsYXNzTGlzdC5jb250YWlucygndGQtc2lkZS1zaGVldC1jb250YWluZXInKSkge1xuICAgIHBhcmVudCA9IHBhcmVudC5wYXJlbnRFbGVtZW50O1xuICB9XG5cbiAgcmV0dXJuIHBhcmVudCA/IG9wZW5EaWFsb2dzLmZpbmQoKGRpYWxvZykgPT4gZGlhbG9nLmlkID09PSBwYXJlbnQhLmlkKSA6IG51bGw7XG59XG4iXX0=
@@ -1,360 +0,0 @@
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZS1zaGVldC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi8uLi9zcmMvcGxhdGZvcm0vY29yZS9zaWRlLXNoZWV0LyIsInNvdXJjZXMiOlsic2lkZS1zaGVldC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxPQUFPLEVBQ0wsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsV0FBVyxFQUNYLGNBQWMsRUFDZCxRQUFRLEVBRVIsUUFBUSxFQUNSLFFBQVEsRUFFUixXQUFXLEVBQ1gsSUFBSSxHQUNMLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFzQyxNQUFNLHNCQUFzQixDQUFDO0FBQ2xHLE9BQU8sRUFBRSxlQUFlLEVBQWlCLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxlQUFlLEVBQUUsMEJBQTBCLEVBQTJCLE1BQU0sMEJBQTBCLENBQUM7QUFDaEgsT0FBTyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQzdFLE9BQU8sRUFBRSwwQkFBMEIsRUFBbUMsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRyxPQUFPLEVBQUUsT0FBTyxFQUFnQixFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFFbkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0scUJBQXFCLENBQUM7Ozs7QUFHOUQsTUFBTSxPQUFPLHNCQUFzQjs7Ozs7Ozs7OztJQVdqQyxZQUNVLFFBQWlCLEVBQ2pCLFNBQW1CLEVBQ25CLGVBQW9ELEVBQ3BELGdCQUF1RCxFQUN2RCx3QkFBeUQsRUFDekQsdUJBQWdDLEVBQ2hDLG1CQUE0QztRQU41QyxhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFDbkIsb0JBQWUsR0FBZixlQUFlLENBQXFDO1FBQ3BELHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBdUM7UUFDdkQsNkJBQXdCLEdBQXhCLHdCQUF3QixDQUFpQztRQUN6RCw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQVM7UUFDaEMsd0JBQW1CLEdBQW5CLG1CQUFtQixDQUF5QjtRQWpCOUMsK0JBQTBCLEdBQW9DLEVBQUUsQ0FBQztRQUN4RCwrQkFBMEIsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2pELDRCQUF1QixHQUFHLElBQUksT0FBTyxFQUFpQyxDQUFDO1FBR2hGLHlCQUFvQixHQUFHO1lBQzdCLFFBQVEsRUFBRSxPQUFPO1lBQ2pCLFFBQVEsRUFBRSxPQUFPO1NBQ2xCLENBQUM7SUFVQyxDQUFDOzs7OztJQUdKLElBQUksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDO0lBQ3hHLENBQUM7Ozs7Ozs7SUFFRCxJQUFJLENBQ0Ysc0JBQXlELEVBQ3pELE1BQW1DO1FBRW5DLE1BQU0saURBQVEsQ0FBQyxJQUFJLENBQUMsZUFBZSxJQUFJLElBQUksdUJBQXVCLEVBQUUsQ0FBQyxHQUFLLElBQUksQ0FBQyxvQkFBb0IsR0FBSyxNQUFNLENBQUUsQ0FBQzs7Y0FFM0csVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDOztjQUN4QyxrQkFBa0IsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQzs7Y0FDdkUsWUFBWSxHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FDL0Msc0JBQXNCLEVBQ3RCLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsTUFBTSxDQUNQOztjQUNLLGdCQUFnQixHQUFrQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7Y0FDbEYsY0FBYyxHQUFHLGdCQUFnQixhQUFoQixnQkFBZ0IsdUJBQWhCLGdCQUFnQixDQUFFLFVBQVU7UUFFbkQsNENBQTRDO1FBQzVDLElBQUksY0FBYyxhQUFkLGNBQWMsdUJBQWQsY0FBYyxDQUFFLGNBQWMsRUFBRTtZQUNsQyxjQUFjLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLElBQUksZUFBZSxDQUFDLGtCQUFrQixFQUFFLENBQUM7WUFDdkgsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsUUFBUSxHQUFHLEdBQUcsQ0FBQyxtQkFBQSxNQUFNLEVBQU8sQ0FBQyxDQUFDLFVBQVUsSUFBSSxDQUFDO1NBQ2xGO1FBRUQsK0NBQStDO1FBQy9DLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxzQkFBc0I7YUFDbkQsSUFBSSxDQUNILE1BQU07Ozs7UUFBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLElBQUksY0FBYyxDQUFDLEVBQUMsRUFDdEYsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUNSO2FBQ0EsU0FBUzs7O1FBQUMsR0FBRyxFQUFFO1lBQ2QsY0FBYyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsVUFBVSxHQUFHLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxJQUFJLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO1lBQ3ZILGdCQUFnQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2hDLENBQUMsRUFBQyxDQUFDO1FBRUwsa0NBQWtDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRXZDLHFDQUFxQztRQUNyQyxZQUFZO2FBQ1QsV0FBVyxFQUFFO2FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNiLFNBQVM7OztRQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLENBQUMsRUFBQyxDQUFDO1FBRTVELHNFQUFzRTtRQUN0RSxrQkFBa0IsQ0FBQyw4QkFBOEIsRUFBRSxDQUFDO1FBRXBELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Ozs7SUFFRCxXQUFXO1FBQ1Qsc0RBQXNEO1FBQ3RELGdEQUFnRDtRQUNoRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLDBCQUEwQixDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNDLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN4Qyx3RUFBd0U7UUFDeEUsSUFBSSxJQUFJLENBQUMsNEJBQTRCLEVBQUU7WUFDckMsSUFBSSxDQUFDLDRCQUE0QixDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ2pEO0lBQ0gsQ0FBQzs7Ozs7SUFLRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM3QyxDQUFDOzs7Ozs7O0lBRU8sY0FBYyxDQUFJLE1BQU07O2NBQ3hCLGFBQWEsR0FBRyxJQUFJLGFBQWEsQ0FBQztZQUN0QyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLE1BQU0sRUFBRTtZQUNuRCxjQUFjLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUU7WUFDdEQsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVO1lBQzdCLFdBQVcsRUFBRSxNQUFNLENBQUMsV0FBVztZQUMvQixTQUFTLEVBQUUsTUFBTSxDQUFDLFNBQVM7WUFDM0IsUUFBUSxFQUFFLE1BQU0sQ0FBQyxRQUFRO1lBQ3pCLFNBQVMsRUFBRSxNQUFNLENBQUMsU0FBUztZQUMzQixRQUFRLEVBQUUsTUFBTSxDQUFDLFFBQVE7U0FDMUIsQ0FBQzs7Y0FDSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDOztjQUNoRCxnQkFBZ0IsR0FBRyxtQkFBQSxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsZ0JBQWdCLEVBQTBCO1FBQzFGLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUU5QixPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDOzs7Ozs7OztJQVFPLHlCQUF5QixDQUFDLE9BQW1CLEVBQUUsTUFBK0I7O2NBQzlFLFlBQVksR0FBRyxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFROztjQUNwRixRQUFRLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUMvQixNQUFNLEVBQUUsWUFBWSxJQUFJLElBQUksQ0FBQyxTQUFTO1lBQ3RDLFNBQVMsRUFBRSxDQUFDLEVBQUUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQztTQUNwRSxDQUFDOztjQUVJLGVBQWUsR0FBRyxJQUFJLGVBQWUsQ0FDekMsSUFBSSxDQUFDLHVCQUF1QixFQUM1QixNQUFNLENBQUMsZ0JBQWdCLEVBQ3ZCLFFBQVEsRUFDUixNQUFNLENBQUMsd0JBQXdCLENBQ2hDOztjQUNLLFlBQVksR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFJLGVBQWUsQ0FBQztRQUV2RCxPQUFPLFlBQVksQ0FBQyxRQUFRLENBQUM7SUFDL0IsQ0FBQzs7Ozs7Ozs7Ozs7O0lBV08sdUJBQXVCLENBQzdCLHNCQUF5RCxFQUN6RCxrQkFBcUIsRUFDckIsVUFBc0IsRUFDdEIsTUFBK0I7Ozs7Y0FJekIsWUFBWSxHQUFHLElBQUksSUFBSSxDQUFDLHdCQUF3QixDQUFDLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLENBQUMsRUFBRSxDQUFDO1FBRWpHLElBQUksc0JBQXNCLFlBQVksV0FBVyxFQUFFO1lBQ2pELGtCQUFrQixDQUFDLG9CQUFvQixDQUNyQyxJQUFJLGNBQWMsQ0FBSSxzQkFBc0IsRUFBRSxtQkFBQSxJQUFJLEVBQUMsRUFBRSxtQkFBSztnQkFDeEQsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJO2dCQUN0QixZQUFZO2FBQ2IsRUFBQSxDQUFDLENBQ0gsQ0FBQztTQUNIO2FBQU07O2tCQUNDLFFBQVEsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFJLE1BQU0sRUFBRSxZQUFZLEVBQUUsa0JBQWtCLENBQUM7O2tCQUM1RSxVQUFVLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUMxQyxJQUFJLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQy9FO1lBQ0QsWUFBWSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUM7U0FDdEQ7UUFFRCxZQUFZLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRXJELE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Ozs7Ozs7OztJQUVPLGVBQWUsQ0FDckIsTUFBK0IsRUFDL0IsWUFBcUMsRUFDckMsa0JBQXFCOztjQUVmLFlBQVksR0FBRyxNQUFNLElBQUksTUFBTSxDQUFDLGdCQUFnQixJQUFJLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFROzs7Ozs7Y0FNcEYsU0FBUyxHQUFxQjtZQUNsQyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFO1lBQ3ZFLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxDQUFDLElBQUksRUFBRTtZQUM1RCxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRTtTQUNuRTtRQUVELElBQ0UsTUFBTSxDQUFDLFNBQVM7WUFDaEIsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQXdCLGNBQWMsRUFBRSxJQUFJLEVBQUUsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQ3ZHO1lBQ0EsU0FBUyxDQUFDLElBQUksQ0FBQztnQkFDYixPQUFPLEVBQUUsY0FBYztnQkFDdkIsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxFQUFFO2FBQ3BELENBQUMsQ0FBQztTQUNKO1FBRUQsT0FBTyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsTUFBTSxFQUFFLFlBQVksSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7SUFDaEYsQ0FBQzs7Ozs7OztJQU1PLG9CQUFvQixDQUFDLFlBQTJDOztjQUNoRSxLQUFLLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsWUFBWSxDQUFDO1FBRXZELElBQUksS0FBSyxHQUFHLENBQUMsQ0FBQyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQzs7Ozs7OztJQUdPLGdCQUFnQixDQUFDLFVBQXVDOztZQUMxRCxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU07UUFFekIsT0FBTyxDQUFDLEVBQUUsRUFBRTtZQUNWLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUN2QjtJQUNILENBQUM7OztZQWpPRixTQUFTOzs7O1lBWkQsT0FBTztZQVJkLFFBQVE7OztZQU1SLElBQUk7WUFBSixJQUFJO1lBUEosY0FBYzs7Ozs7OztJQXVCZCw0REFBeUU7Ozs7O0lBQ3pFLDREQUFrRTs7Ozs7SUFDbEUseURBQXdGOzs7OztJQUN4Riw4REFBbUQ7Ozs7O0lBRW5ELHNEQUdFOzs7OztJQUdBLDBDQUF5Qjs7Ozs7SUFDekIsMkNBQTJCOzs7OztJQUMzQixpREFBNEQ7Ozs7O0lBQzVELGtEQUErRDs7Ozs7SUFDL0QsMERBQWlFOzs7OztJQUNqRSx5REFBd0M7Ozs7O0lBQ3hDLHFEQUFvRDs7Ozs7QUFxTnhELE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxzQkFBa0Q7Ozs7Ozs7SUFDdkYsWUFDRSxPQUFnQixFQUNoQixRQUFrQixFQUM4QixjQUF1QyxFQUMvRCxlQUFrQztRQUUxRCxLQUFLLENBQ0gsT0FBTyxFQUNQLFFBQVEsRUFDUixjQUFjLEVBQ2QsZUFBZSxFQUNmLG9CQUFvQixFQUNwQiwwQkFBMEIsRUFDMUIsZUFBZSxDQUNoQixDQUFDO0lBQ0osQ0FBQzs7O1lBakJGLFVBQVU7Ozs7WUFuUEYsT0FBTztZQVJkLFFBQVE7WUFrQkQsdUJBQXVCLHVCQThPM0IsUUFBUSxZQUFJLE1BQU0sU0FBQywwQkFBMEI7WUFDTCxpQkFBaUIsdUJBQXpELFFBQVEsWUFBSSxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiLyogdHNsaW50OmRpc2FibGUgKi9cbmltcG9ydCB7XG4gIERpcmVjdGl2ZSxcbiAgSW5qZWN0LFxuICBJbmplY3RhYmxlLFxuICBJbmplY3RGbGFncyxcbiAgSW5qZWN0aW9uVG9rZW4sXG4gIEluamVjdG9yLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBTa2lwU2VsZixcbiAgU3RhdGljUHJvdmlkZXIsXG4gIFRlbXBsYXRlUmVmLFxuICBUeXBlLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYsIEdsb2JhbFBvc2l0aW9uU3RyYXRlZ3kgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBDb21wb25lbnRQb3J0YWwsIENvbXBvbmVudFR5cGUsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBNQVRfRElBTE9HX0RBVEEsIE1BVF9ESUFMT0dfREVGQVVMVF9PUFRJT05TLCBfTWF0RGlhbG9nQ29udGFpbmVyQmFzZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5pbXBvcnQgeyBBbmltYXRpb25DdXJ2ZXMsIEFuaW1hdGlvbkR1cmF0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgQ292YWxlbnRTaWRlU2hlZXRDb250YWluZXIsIF9Db3ZhbGVudFNpZGVTaGVldENvbnRhaW5lckJhc2UgfSBmcm9tICcuL3NpZGUtc2hlZXQtY29udGFpbmVyJztcbmltcG9ydCB7IFN1YmplY3QsIFN1YnNjcmlwdGlvbiwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IERpcmVjdGlvbmFsaXR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2JpZGknO1xuXG5pbXBvcnQgeyBDb3ZhbGVudFNpZGVTaGVldFJlZiB9IGZyb20gJy4vc2lkZS1zaGVldC1yZWYnO1xuaW1wb3J0IHsgQ292YWxlbnRTaWRlU2hlZXRDb25maWcgfSBmcm9tICcuL3NpZGUtc2hlZXQuY29uZmlnJztcblxuQERpcmVjdGl2ZSgpXG5leHBvcnQgY2xhc3MgX0NvdmFsZW50U2lkZVNoZWV0QmFzZTxDIGV4dGVuZHMgX0NvdmFsZW50U2lkZVNoZWV0Q29udGFpbmVyQmFzZT4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9vcGVuU2lkZVNoZWV0c0F0VGhpc0xldmVsOiBDb3ZhbGVudFNpZGVTaGVldFJlZjx1bmtub3duPltdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgX2FmdGVyQWxsQ2xvc2VkQXRUaGlzTGV2ZWwgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9hZnRlck9wZW5lZEF0VGhpc0xldmVsID0gbmV3IFN1YmplY3Q8Q292YWxlbnRTaWRlU2hlZXRSZWY8dW5rbm93bj4+KCk7XG4gIHByaXZhdGUgX2FuaW1hdGlvblN0YXRlU3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uO1xuXG4gIHByaXZhdGUgZGVmYXVsdFNpZGViYXJDb25maWcgPSB7XG4gICAgbWluV2lkdGg6ICc0MDBweCcsXG4gICAgbWF4V2lkdGg6ICcxMDB2dycsXG4gIH07XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfb3ZlcmxheTogT3ZlcmxheSxcbiAgICBwcml2YXRlIF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgcHJpdmF0ZSBfZGVmYXVsdE9wdGlvbnM6IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnIHwgdW5kZWZpbmVkLFxuICAgIHByaXZhdGUgX3BhcmVudFNpZGVTaGVldDogX0NvdmFsZW50U2lkZVNoZWV0QmFzZTxDPiB8IHVuZGVmaW5lZCxcbiAgICBwcml2YXRlIF9zaWRlU2hlZXRSZWZDb25zdHJ1Y3RvcjogVHlwZTxDb3ZhbGVudFNpZGVTaGVldFJlZjxhbnk+PixcbiAgICBwcml2YXRlIF9zaWRlU2hlZXRDb250YWluZXJUeXBlOiBUeXBlPEM+LFxuICAgIHByaXZhdGUgX3NpZGVTaGVldERhdGFUb2tlbjogSW5qZWN0aW9uVG9rZW48dW5rbm93bj4sXG4gICkge31cblxuICAvKiogS2VlcHMgdHJhY2sgb2YgdGhlIGN1cnJlbnRseS1vcGVuIHNpZGUtc2hlZXRzLiAqL1xuICBnZXQgb3BlblNpZGVTaGVldHMoKTogQ292YWxlbnRTaWRlU2hlZXRSZWY8dW5rbm93bj5bXSB7XG4gICAgcmV0dXJuIHRoaXMuX3BhcmVudFNpZGVTaGVldCA/IHRoaXMuX3BhcmVudFNpZGVTaGVldC5vcGVuU2lkZVNoZWV0cyA6IHRoaXMuX29wZW5TaWRlU2hlZXRzQXRUaGlzTGV2ZWw7XG4gIH1cblxuICBvcGVuPFQsIEQgPSB1bmtub3duLCBSID0gdW5rbm93bj4oXG4gICAgY29tcG9uZW50T3JUZW1wbGF0ZVJlZjogQ29tcG9uZW50VHlwZTxUPiB8IFRlbXBsYXRlUmVmPFQ+LFxuICAgIGNvbmZpZz86IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnPEQ+LFxuICApOiBDb3ZhbGVudFNpZGVTaGVldFJlZjxULCBSPiB7XG4gICAgY29uZmlnID0geyAuLi4odGhpcy5fZGVmYXVsdE9wdGlvbnMgfHwgbmV3IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnKCkpLCAuLi50aGlzLmRlZmF1bHRTaWRlYmFyQ29uZmlnLCAuLi5jb25maWcgfTtcblxuICAgIGNvbnN0IG92ZXJsYXlSZWYgPSB0aGlzLl9jcmVhdGVPdmVybGF5KGNvbmZpZyk7XG4gICAgY29uc3Qgc2lkZVNoZWV0Q29udGFpbmVyID0gdGhpcy5fYXR0YWNoU2lkZVNoZWV0Q29udGFpbmVyKG92ZXJsYXlSZWYsIGNvbmZpZyk7XG4gICAgY29uc3Qgc2lkZVNoZWV0UmVmID0gdGhpcy5fYXR0YWNoU2lkZVNoZWV0Q29udGVudDxULCBSPihcbiAgICAgIGNvbXBvbmVudE9yVGVtcGxhdGVSZWYsXG4gICAgICBzaWRlU2hlZXRDb250YWluZXIsXG4gICAgICBvdmVybGF5UmVmLFxuICAgICAgY29uZmlnLFxuICAgICk7XG4gICAgY29uc3QgcHJldlNpZGVTaGVldFJlZjogQ292YWxlbnRTaWRlU2hlZXRSZWY8dW5rbm93bj4gPSB0aGlzLm9wZW5TaWRlU2hlZXRzLnNsaWNlKC0xKVswXTtcbiAgICBjb25zdCBwcmV2T3ZlcmxheVJlZiA9IHByZXZTaWRlU2hlZXRSZWY/Lm92ZXJsYXlSZWY7XG5cbiAgICAvLyBBbmltYXRlIHByZXZpb3VzIHNpZGUgc2hlZXQgdG8gZnVsbCB3aWR0aFxuICAgIGlmIChwcmV2T3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQpIHtcbiAgICAgIHByZXZPdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLnRyYW5zaXRpb24gPSBgJHtBbmltYXRpb25EdXJhdGlvbnMuQ09NUExFWH0gJHtBbmltYXRpb25DdXJ2ZXMuREVDRUxFUkFUSU9OX0NVUlZFfWA7XG4gICAgICBwcmV2T3ZlcmxheVJlZi5vdmVybGF5RWxlbWVudC5zdHlsZS5taW5XaWR0aCA9IGAkeyh3aW5kb3cgYXMgYW55KS5pbm5lcldpZHRofXB4YDtcbiAgICB9XG5cbiAgICAvLyBSZXZlcnQgdGhlIHByZXZpb3VzIHNpZGUgc2hlZXQgY29uZmlnICYgc2l6ZVxuICAgIHNpZGVTaGVldFJlZi5fY29udGFpbmVySW5zdGFuY2UuX2FuaW1hdGlvblN0YXRlQ2hhbmdlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIGZpbHRlcigoZXZlbnQpID0+IGV2ZW50LnN0YXRlID09PSAnY2xvc2luZycgJiYgISEocHJldlNpZGVTaGVldFJlZiAmJiBwcmV2T3ZlcmxheVJlZikpLFxuICAgICAgICB0YWtlKDEpLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHByZXZPdmVybGF5UmVmLm92ZXJsYXlFbGVtZW50LnN0eWxlLnRyYW5zaXRpb24gPSBgJHtBbmltYXRpb25EdXJhdGlvbnMuRVhJVElOR30gJHtBbmltYXRpb25DdXJ2ZXMuREVDRUxFUkFUSU9OX0NVUlZFfWA7XG4gICAgICAgIHByZXZTaWRlU2hlZXRSZWYudXBkYXRlU2l6ZSgpO1xuICAgICAgfSk7XG5cbiAgICAvLyBBZGQgbmV3IHNpZGUgc2hlZXQgdG8gb3BlbiBsaXN0XG4gICAgdGhpcy5vcGVuU2lkZVNoZWV0cy5wdXNoKHNpZGVTaGVldFJlZik7XG5cbiAgICAvLyBSZW1vdmUgc2lkZSBzaGVldCByZWYgYWZ0ZXIgY2xvc2VkXG4gICAgc2lkZVNoZWV0UmVmXG4gICAgICAuYWZ0ZXJDbG9zZWQoKVxuICAgICAgLnBpcGUodGFrZSgxKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5fcmVtb3ZlT3BlblNpZGVTaGVldChzaWRlU2hlZXRSZWYpKTtcblxuICAgIC8vIE5vdGlmeSB0aGUgc2lkZS1zaGVldCBjb250YWluZXIgdGhhdCB0aGUgY29udGVudCBoYXMgYmVlbiBhdHRhY2hlZC5cbiAgICBzaWRlU2hlZXRDb250YWluZXIuX2luaXRpYWxpemVXaXRoQXR0YWNoZWRDb250ZW50KCk7XG5cbiAgICByZXR1cm4gc2lkZVNoZWV0UmVmO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgLy8gT25seSBjbG9zZSB0aGUgc2lkZS1zaGVldHMgYXQgdGhpcyBsZXZlbCBvbiBkZXN0cm95XG4gICAgLy8gc2luY2UgdGhlIHBhcmVudCBzZXJ2aWNlIG1heSBzdGlsbCBiZSBhY3RpdmUuXG4gICAgdGhpcy5fY2xvc2VTaWRlU2hlZXRzKHRoaXMuX29wZW5TaWRlU2hlZXRzQXRUaGlzTGV2ZWwpO1xuICAgIHRoaXMuX2FmdGVyQWxsQ2xvc2VkQXRUaGlzTGV2ZWwuY29tcGxldGUoKTtcbiAgICB0aGlzLl9hZnRlck9wZW5lZEF0VGhpc0xldmVsLmNvbXBsZXRlKCk7XG4gICAgLy8gQ2xlYW4gdXAgYW55IHN1YnNjcmlwdGlvbnMgdG8gc2lkZS1zaGVldCB0aGF0IG5ldmVyIGZpbmlzaGVkIG9wZW5pbmcuXG4gICAgaWYgKHRoaXMuX2FuaW1hdGlvblN0YXRlU3Vic2NyaXB0aW9ucykge1xuICAgICAgdGhpcy5fYW5pbWF0aW9uU3RhdGVTdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyBhbGwgb2YgdGhlIGN1cnJlbnRseS1vcGVuIHNpZGUtc2hlZXRzLlxuICAgKi9cbiAgY2xvc2VBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5fY2xvc2VTaWRlU2hlZXRzKHRoaXMub3BlblNpZGVTaGVldHMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheTxUPihjb25maWcpOiBPdmVybGF5UmVmIHtcbiAgICBjb25zdCBvdmVybGF5Q29uZmlnID0gbmV3IE92ZXJsYXlDb25maWcoe1xuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLFxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMuX292ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5ibG9jaygpLFxuICAgICAgcGFuZWxDbGFzczogY29uZmlnLnBhbmVsQ2xhc3MsXG4gICAgICBoYXNCYWNrZHJvcDogY29uZmlnLmhhc0JhY2tkcm9wLFxuICAgICAgZGlyZWN0aW9uOiBjb25maWcuZGlyZWN0aW9uLFxuICAgICAgbWluV2lkdGg6IGNvbmZpZy5taW5XaWR0aCxcbiAgICAgIG1pbkhlaWdodDogY29uZmlnLm1pbkhlaWdodCxcbiAgICAgIG1heFdpZHRoOiBjb25maWcubWF4V2lkdGgsXG4gICAgfSk7XG4gICAgY29uc3Qgb3ZlcmxheVJlZiA9IHRoaXMuX292ZXJsYXkuY3JlYXRlKG92ZXJsYXlDb25maWcpO1xuICAgIGNvbnN0IHBvc2l0aW9uU3RyYXRlZ3kgPSBvdmVybGF5UmVmLmdldENvbmZpZygpLnBvc2l0aW9uU3RyYXRlZ3kgYXMgR2xvYmFsUG9zaXRpb25TdHJhdGVneTtcbiAgICBwb3NpdGlvblN0cmF0ZWd5LnJpZ2h0KCcwcHgnKTtcblxuICAgIHJldHVybiBvdmVybGF5UmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIEF0dGFjaGVzIGEgY29udGFpbmVyIHRvIGEgc2lkZS1zaGVldHMncyBhbHJlYWR5LWNyZWF0ZWQgb3ZlcmxheS5cbiAgICogQHBhcmFtIG92ZXJsYXkgUmVmZXJlbmNlIHRvIHRoZSBzaWRlLXNoZWV0J3MgdW5kZXJseWluZyBvdmVybGF5LlxuICAgKiBAcGFyYW0gY29uZmlnIFRoZSBzaWRlLXNoZWV0IGNvbmZpZ3VyYXRpb24uXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSByZXNvbHZpbmcgdG8gYSBDb21wb25lbnRSZWYgZm9yIHRoZSBhdHRhY2hlZCBjb250YWluZXIuXG4gICAqL1xuICBwcml2YXRlIF9hdHRhY2hTaWRlU2hlZXRDb250YWluZXIob3ZlcmxheTogT3ZlcmxheVJlZiwgY29uZmlnOiBDb3ZhbGVudFNpZGVTaGVldENvbmZpZyk6IEMge1xuICAgIGNvbnN0IHVzZXJJbmplY3RvciA9IGNvbmZpZyAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZiAmJiBjb25maWcudmlld0NvbnRhaW5lclJlZi5pbmplY3RvcjtcbiAgICBjb25zdCBpbmplY3RvciA9IEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICBwYXJlbnQ6IHVzZXJJbmplY3RvciB8fCB0aGlzLl9pbmplY3RvcixcbiAgICAgIHByb3ZpZGVyczogW3sgcHJvdmlkZTogQ292YWxlbnRTaWRlU2hlZXRDb25maWcsIHVzZVZhbHVlOiBjb25maWcgfV0sXG4gICAgfSk7XG5cbiAgICBjb25zdCBjb250YWluZXJQb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgdGhpcy5fc2lkZVNoZWV0Q29udGFpbmVyVHlwZSxcbiAgICAgIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLFxuICAgICAgaW5qZWN0b3IsXG4gICAgICBjb25maWcuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgICk7XG4gICAgY29uc3QgY29udGFpbmVyUmVmID0gb3ZlcmxheS5hdHRhY2g8Qz4oY29udGFpbmVyUG9ydGFsKTtcblxuICAgIHJldHVybiBjb250YWluZXJSZWYuaW5zdGFuY2U7XG4gIH1cblxuICAvKipcbiAgICogQXR0YWNoZXMgdGhlIHVzZXItcHJvdmlkZWQgY29tcG9uZW50IHRvIHRoZSBhbHJlYWR5LWNyZWF0ZWQgc2lkZSBzaGVldCBjb250YWluZXIuXG4gICAqIEBwYXJhbSBjb21wb25lbnRPclRlbXBsYXRlUmVmIFRoZSB0eXBlIG9mIGNvbXBvbmVudCBiZWluZyBsb2FkZWQgaW50byB0aGUgc2lkZS1zaGVldCxcbiAgICogICAgIG9yIGEgVGVtcGxhdGVSZWYgdG8gaW5zdGFudGlhdGUgYXMgdGhlIGNvbnRlbnQuXG4gICAqIEBwYXJhbSBkaWFsb2dDb250YWluZXIgUmVmZXJlbmNlIHRvIHRoZSB3cmFwcGluZyBzaWRlLXNoZWV0IGNvbnRhaW5lci5cbiAgICogQHBhcmFtIG92ZXJsYXlSZWYgUmVmZXJlbmNlIHRvIHRoZSBvdmVybGF5IGluIHdoaWNoIHRoZSBzaWRlLXNoZWV0IHJlc2lkZXMuXG4gICAqIEBwYXJhbSBjb25maWcgVGhlIHNpZGUtc2hlZXQgY29uZmlndXJhdGlvbi5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHJlc29sdmluZyB0byB0aGUgQ292YWxlbnRTaWRlU2hlZXRSZWYgdGhhdCBzaG91bGQgYmUgcmV0dXJuZWQgdG8gdGhlIHVzZXIuXG4gICAqL1xuICBwcml2YXRlIF9hdHRhY2hTaWRlU2hlZXRDb250ZW50PFQsIFI+KFxuICAgIGNvbXBvbmVudE9yVGVtcGxhdGVSZWY6IENvbXBvbmVudFR5cGU8VD4gfCBUZW1wbGF0ZVJlZjxUPixcbiAgICBzaWRlU2hlZXRDb250YWluZXI6IEMsXG4gICAgb3ZlcmxheVJlZjogT3ZlcmxheVJlZixcbiAgICBjb25maWc6IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnLFxuICApOiBDb3ZhbGVudFNpZGVTaGVldFJlZjxULCBSPiB7XG4gICAgLy8gQ3JlYXRlIGEgcmVmZXJlbmNlIHRvIHRoZSBzaWRlLXNoZWV0IHdlJ3JlIGNyZWF0aW5nIGluIG9yZGVyIHRvIGdpdmUgdGhlIHVzZXIgYSBoYW5kbGVcbiAgICAvLyB0byBtb2RpZnkgYW5kIGNsb3NlIGl0LlxuICAgIGNvbnN0IHNpZGVTaGVldFJlZiA9IG5ldyB0aGlzLl9zaWRlU2hlZXRSZWZDb25zdHJ1Y3RvcihvdmVybGF5UmVmLCBzaWRlU2hlZXRDb250YWluZXIsIGNvbmZpZy5pZCk7XG5cbiAgICBpZiAoY29tcG9uZW50T3JUZW1wbGF0ZVJlZiBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmKSB7XG4gICAgICBzaWRlU2hlZXRDb250YWluZXIuYXR0YWNoVGVtcGxhdGVQb3J0YWwoXG4gICAgICAgIG5ldyBUZW1wbGF0ZVBvcnRhbDxUPihjb21wb25lbnRPclRlbXBsYXRlUmVmLCBudWxsISwgPGFueT57XG4gICAgICAgICAgJGltcGxpY2l0OiBjb25maWcuZGF0YSxcbiAgICAgICAgICBzaWRlU2hlZXRSZWYsXG4gICAgICAgIH0pLFxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgY29uc3QgaW5qZWN0b3IgPSB0aGlzLl9jcmVhdGVJbmplY3RvcjxUPihjb25maWcsIHNpZGVTaGVldFJlZiwgc2lkZVNoZWV0Q29udGFpbmVyKTtcbiAgICAgIGNvbnN0IGNvbnRlbnRSZWYgPSBzaWRlU2hlZXRDb250YWluZXIuYXR0YWNoPFQ+KFxuICAgICAgICBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudE9yVGVtcGxhdGVSZWYsIGNvbmZpZy52aWV3Q29udGFpbmVyUmVmLCBpbmplY3RvciksXG4gICAgICApO1xuICAgICAgc2lkZVNoZWV0UmVmLmNvbXBvbmVudEluc3RhbmNlID0gY29udGVudFJlZi5pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBzaWRlU2hlZXRSZWYudXBkYXRlU2l6ZShjb25maWcud2lkdGgsIGNvbmZpZy5oZWlnaHQpO1xuXG4gICAgcmV0dXJuIHNpZGVTaGVldFJlZjtcbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUluamVjdG9yPFQ+KFxuICAgIGNvbmZpZzogQ292YWxlbnRTaWRlU2hlZXRDb25maWcsXG4gICAgc2lkZVNoZWV0UmVmOiBDb3ZhbGVudFNpZGVTaGVldFJlZjxUPixcbiAgICBzaWRlU2hlZXRDb250YWluZXI6IEMsXG4gICk6IEluamVjdG9yIHtcbiAgICBjb25zdCB1c2VySW5qZWN0b3IgPSBjb25maWcgJiYgY29uZmlnLnZpZXdDb250YWluZXJSZWYgJiYgY29uZmlnLnZpZXdDb250YWluZXJSZWYuaW5qZWN0b3I7XG5cbiAgICAvLyBUaGUgc2lkZS1zaGVldCBjb250YWluZXIgc2hvdWxkIGJlIHByb3ZpZGVkIGFzIHRoZSBzaWRlLXNoZWV0IGNvbnRhaW5lciBhbmQgdGhlIHNpZGUtc2hlZXQnc1xuICAgIC8vIGNvbnRlbnQgYXJlIGNyZWF0ZWQgb3V0IG9mIHRoZSBzYW1lIGBWaWV3Q29udGFpbmVyUmVmYCBhbmQgYXMgc3VjaCwgYXJlIHNpYmxpbmdzXG4gICAgLy8gZm9yIGluamVjdG9yIHB1cnBvc2VzLiBUbyBhbGxvdyB0aGUgaGllcmFyY2h5IHRoYXQgaXMgZXhwZWN0ZWQsIHRoZSBzaWRlLXNoZWV0XG4gICAgLy8gY29udGFpbmVyIGlzIGV4cGxpY2l0bHkgcHJvdmlkZWQgaW4gdGhlIGluamVjdG9yLlxuICAgIGNvbnN0IHByb3ZpZGVyczogU3RhdGljUHJvdmlkZXJbXSA9IFtcbiAgICAgIHsgcHJvdmlkZTogdGhpcy5fc2lkZVNoZWV0Q29udGFpbmVyVHlwZSwgdXNlVmFsdWU6IHNpZGVTaGVldENvbnRhaW5lciB9LFxuICAgICAgeyBwcm92aWRlOiB0aGlzLl9zaWRlU2hlZXREYXRhVG9rZW4sIHVzZVZhbHVlOiBjb25maWcuZGF0YSB9LFxuICAgICAgeyBwcm92aWRlOiB0aGlzLl9zaWRlU2hlZXRSZWZDb25zdHJ1Y3RvciwgdXNlVmFsdWU6IHNpZGVTaGVldFJlZiB9LFxuICAgIF07XG5cbiAgICBpZiAoXG4gICAgICBjb25maWcuZGlyZWN0aW9uICYmXG4gICAgICAoIXVzZXJJbmplY3RvciB8fCAhdXNlckluamVjdG9yLmdldDxEaXJlY3Rpb25hbGl0eSB8IG51bGw+KERpcmVjdGlvbmFsaXR5LCBudWxsLCBJbmplY3RGbGFncy5PcHRpb25hbCkpXG4gICAgKSB7XG4gICAgICBwcm92aWRlcnMucHVzaCh7XG4gICAgICAgIHByb3ZpZGU6IERpcmVjdGlvbmFsaXR5LFxuICAgICAgICB1c2VWYWx1ZTogeyB2YWx1ZTogY29uZmlnLmRpcmVjdGlvbiwgY2hhbmdlOiBvZigpIH0sXG4gICAgICB9KTtcbiAgICB9XG5cbiAgICByZXR1cm4gSW5qZWN0b3IuY3JlYXRlKHsgcGFyZW50OiB1c2VySW5qZWN0b3IgfHwgdGhpcy5faW5qZWN0b3IsIHByb3ZpZGVycyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmVzIGEgc2lkZSBzaGVldCBmcm9tIHRoZSBhcnJheSBvZiBvcGVuIHNpZGUgc2hlZXRzLlxuICAgKiBAcGFyYW0gc2lkZVNoZWV0UmVmIFNpZGUgU2hlZXQgdG8gYmUgcmVtb3ZlZC5cbiAgICovXG4gIHByaXZhdGUgX3JlbW92ZU9wZW5TaWRlU2hlZXQoc2lkZVNoZWV0UmVmOiBDb3ZhbGVudFNpZGVTaGVldFJlZjx1bmtub3duPikge1xuICAgIGNvbnN0IGluZGV4ID0gdGhpcy5vcGVuU2lkZVNoZWV0cy5pbmRleE9mKHNpZGVTaGVldFJlZik7XG5cbiAgICBpZiAoaW5kZXggPiAtMSkge1xuICAgICAgdGhpcy5vcGVuU2lkZVNoZWV0cy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIH1cbiAgfVxuXG4gIC8qKiBDbG9zZXMgYWxsIG9mIHRoZSBzaWRlLXNoZWV0IGluIGFuIGFycmF5LiAqL1xuICBwcml2YXRlIF9jbG9zZVNpZGVTaGVldHMoc2lkZVNoZWV0czogQ292YWxlbnRTaWRlU2hlZXRSZWY8YW55PltdKSB7XG4gICAgbGV0IGkgPSBzaWRlU2hlZXRzLmxlbmd0aDtcblxuICAgIHdoaWxlIChpLS0pIHtcbiAgICAgIHNpZGVTaGVldHNbaV0uY2xvc2UoKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBTZXJ2aWNlIHRvIG9wZW4gQ292YWxlbnQgRGVzaWduIHNpZGUtc2hlZXQuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBDb3ZhbGVudFNpZGVTaGVldCBleHRlbmRzIF9Db3ZhbGVudFNpZGVTaGVldEJhc2U8Q292YWxlbnRTaWRlU2hlZXRDb250YWluZXI+IHtcbiAgY29uc3RydWN0b3IoXG4gICAgb3ZlcmxheTogT3ZlcmxheSxcbiAgICBpbmplY3RvcjogSW5qZWN0b3IsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RFRkFVTFRfT1BUSU9OUykgZGVmYXVsdE9wdGlvbnM6IENvdmFsZW50U2lkZVNoZWV0Q29uZmlnLFxuICAgIEBPcHRpb25hbCgpIEBTa2lwU2VsZigpIHBhcmVudFNpZGVTaGVldDogQ292YWxlbnRTaWRlU2hlZXQsXG4gICkge1xuICAgIHN1cGVyKFxuICAgICAgb3ZlcmxheSxcbiAgICAgIGluamVjdG9yLFxuICAgICAgZGVmYXVsdE9wdGlvbnMsXG4gICAgICBwYXJlbnRTaWRlU2hlZXQsXG4gICAgICBDb3ZhbGVudFNpZGVTaGVldFJlZixcbiAgICAgIENvdmFsZW50U2lkZVNoZWV0Q29udGFpbmVyLFxuICAgICAgTUFUX0RJQUxPR19EQVRBLFxuICAgICk7XG4gIH1cbn1cbiJdfQ==