@covalent/core 3.1.0 → 3.1.2-beta.6

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 (639) hide show
  1. package/breadcrumbs/covalent-core-breadcrumbs.metadata.json +1 -1
  2. package/breadcrumbs/package.json +1 -3
  3. package/bundles/covalent-core-breadcrumbs.umd.js +131 -167
  4. package/bundles/covalent-core-breadcrumbs.umd.js.map +1 -1
  5. package/bundles/covalent-core-breadcrumbs.umd.min.js +1 -1
  6. package/bundles/covalent-core-breadcrumbs.umd.min.js.map +1 -1
  7. package/bundles/covalent-core-chips.umd.js +533 -708
  8. package/bundles/covalent-core-chips.umd.js.map +1 -1
  9. package/bundles/covalent-core-chips.umd.min.js +12 -12
  10. package/bundles/covalent-core-chips.umd.min.js.map +1 -1
  11. package/bundles/covalent-core-common.umd.js +566 -571
  12. package/bundles/covalent-core-common.umd.js.map +1 -1
  13. package/bundles/covalent-core-common.umd.min.js +13 -12
  14. package/bundles/covalent-core-common.umd.min.js.map +1 -1
  15. package/bundles/covalent-core-data-table.umd.js +727 -1038
  16. package/bundles/covalent-core-data-table.umd.js.map +1 -1
  17. package/bundles/covalent-core-data-table.umd.min.js +12 -12
  18. package/bundles/covalent-core-data-table.umd.min.js.map +1 -1
  19. package/bundles/covalent-core-dialogs.umd.js +515 -592
  20. package/bundles/covalent-core-dialogs.umd.js.map +1 -1
  21. package/bundles/covalent-core-dialogs.umd.min.js +1 -15
  22. package/bundles/covalent-core-dialogs.umd.min.js.map +1 -1
  23. package/bundles/covalent-core-dynamic-menu.umd.js +73 -62
  24. package/bundles/covalent-core-dynamic-menu.umd.js.map +1 -1
  25. package/bundles/covalent-core-dynamic-menu.umd.min.js +1 -1
  26. package/bundles/covalent-core-dynamic-menu.umd.min.js.map +1 -1
  27. package/bundles/covalent-core-expansion-panel.umd.js +465 -449
  28. package/bundles/covalent-core-expansion-panel.umd.js.map +1 -1
  29. package/bundles/covalent-core-expansion-panel.umd.min.js +12 -12
  30. package/bundles/covalent-core-expansion-panel.umd.min.js.map +1 -1
  31. package/bundles/covalent-core-file.umd.js +533 -598
  32. package/bundles/covalent-core-file.umd.js.map +1 -1
  33. package/bundles/covalent-core-file.umd.min.js +13 -12
  34. package/bundles/covalent-core-file.umd.min.js.map +1 -1
  35. package/bundles/covalent-core-json-formatter.umd.js +101 -152
  36. package/bundles/covalent-core-json-formatter.umd.js.map +1 -1
  37. package/bundles/covalent-core-json-formatter.umd.min.js +1 -1
  38. package/bundles/covalent-core-json-formatter.umd.min.js.map +1 -1
  39. package/bundles/covalent-core-layout.umd.js +845 -883
  40. package/bundles/covalent-core-layout.umd.js.map +1 -1
  41. package/bundles/covalent-core-layout.umd.min.js +13 -12
  42. package/bundles/covalent-core-layout.umd.min.js.map +1 -1
  43. package/bundles/covalent-core-loading.umd.js +481 -723
  44. package/bundles/covalent-core-loading.umd.js.map +1 -1
  45. package/bundles/covalent-core-loading.umd.min.js +12 -12
  46. package/bundles/covalent-core-loading.umd.min.js.map +1 -1
  47. package/bundles/covalent-core-media.umd.js +395 -375
  48. package/bundles/covalent-core-media.umd.js.map +1 -1
  49. package/bundles/covalent-core-media.umd.min.js +12 -12
  50. package/bundles/covalent-core-media.umd.min.js.map +1 -1
  51. package/bundles/covalent-core-menu.umd.js +37 -17
  52. package/bundles/covalent-core-menu.umd.js.map +1 -1
  53. package/bundles/covalent-core-menu.umd.min.js +1 -1
  54. package/bundles/covalent-core-menu.umd.min.js.map +1 -1
  55. package/bundles/covalent-core-message.umd.js +96 -152
  56. package/bundles/covalent-core-message.umd.js.map +1 -1
  57. package/bundles/covalent-core-message.umd.min.js +1 -1
  58. package/bundles/covalent-core-message.umd.min.js.map +1 -1
  59. package/bundles/covalent-core-nav-links.umd.js +63 -75
  60. package/bundles/covalent-core-nav-links.umd.js.map +1 -1
  61. package/bundles/covalent-core-nav-links.umd.min.js +1 -1
  62. package/bundles/covalent-core-nav-links.umd.min.js.map +1 -1
  63. package/bundles/covalent-core-notifications.umd.js +77 -101
  64. package/bundles/covalent-core-notifications.umd.js.map +1 -1
  65. package/bundles/covalent-core-notifications.umd.min.js +1 -1
  66. package/bundles/covalent-core-notifications.umd.min.js.map +1 -1
  67. package/bundles/covalent-core-paging.umd.js +89 -166
  68. package/bundles/covalent-core-paging.umd.js.map +1 -1
  69. package/bundles/covalent-core-paging.umd.min.js +1 -1
  70. package/bundles/covalent-core-paging.umd.min.js.map +1 -1
  71. package/bundles/covalent-core-search.umd.js +469 -418
  72. package/bundles/covalent-core-search.umd.js.map +1 -1
  73. package/bundles/covalent-core-search.umd.min.js +12 -12
  74. package/bundles/covalent-core-search.umd.min.js.map +1 -1
  75. package/bundles/covalent-core-sidesheet.umd.js +72 -52
  76. package/bundles/covalent-core-sidesheet.umd.js.map +1 -1
  77. package/bundles/covalent-core-sidesheet.umd.min.js +1 -1
  78. package/bundles/covalent-core-sidesheet.umd.min.js.map +1 -1
  79. package/bundles/covalent-core-steps.umd.js +663 -822
  80. package/bundles/covalent-core-steps.umd.js.map +1 -1
  81. package/bundles/covalent-core-steps.umd.min.js +12 -12
  82. package/bundles/covalent-core-steps.umd.min.js.map +1 -1
  83. package/bundles/covalent-core-tab-select.umd.js +446 -385
  84. package/bundles/covalent-core-tab-select.umd.js.map +1 -1
  85. package/bundles/covalent-core-tab-select.umd.min.js +12 -12
  86. package/bundles/covalent-core-tab-select.umd.min.js.map +1 -1
  87. package/bundles/covalent-core-user-profile.umd.js +65 -48
  88. package/bundles/covalent-core-user-profile.umd.js.map +1 -1
  89. package/bundles/covalent-core-user-profile.umd.min.js +1 -1
  90. package/bundles/covalent-core-user-profile.umd.min.js.map +1 -1
  91. package/bundles/covalent-core-virtual-scroll.umd.js +412 -356
  92. package/bundles/covalent-core-virtual-scroll.umd.js.map +1 -1
  93. package/bundles/covalent-core-virtual-scroll.umd.min.js +12 -12
  94. package/bundles/covalent-core-virtual-scroll.umd.min.js.map +1 -1
  95. package/bundles/covalent-core.umd.js +0 -8
  96. package/bundles/covalent-core.umd.js.map +1 -1
  97. package/chips/covalent-core-chips.metadata.json +1 -1
  98. package/chips/package.json +1 -3
  99. package/common/_common-theme.scss +11 -0
  100. package/common/package.json +1 -3
  101. package/data-table/covalent-core-data-table.metadata.json +1 -1
  102. package/data-table/package.json +1 -3
  103. package/dialogs/_dialog-theme.scss +6 -0
  104. package/dialogs/covalent-core-dialogs.metadata.json +1 -1
  105. package/dialogs/package.json +1 -3
  106. package/dialogs/window-dialog/window-dialog.component.scss +4 -0
  107. package/dynamic-menu/covalent-core-dynamic-menu.metadata.json +1 -1
  108. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.scss +0 -4
  109. package/dynamic-menu/package.json +1 -3
  110. package/esm2015/breadcrumbs/breadcrumb/breadcrumb.component.js +4 -3
  111. package/esm2015/breadcrumbs/breadcrumbs.component.js +3 -2
  112. package/esm2015/breadcrumbs/breadcrumbs.module.js +3 -2
  113. package/esm2015/breadcrumbs/covalent-core-breadcrumbs.js +3 -2
  114. package/esm2015/breadcrumbs/index.js +3 -2
  115. package/esm2015/breadcrumbs/public-api.js +3 -2
  116. package/esm2015/chips/chips.component.js +4 -3
  117. package/esm2015/chips/chips.module.js +3 -2
  118. package/esm2015/chips/covalent-core-chips.js +3 -2
  119. package/esm2015/chips/index.js +3 -2
  120. package/esm2015/chips/public-api.js +3 -2
  121. package/esm2015/common/animations/bounce/bounce.animation.js +3 -2
  122. package/esm2015/common/animations/collapse/collapse.animation.js +3 -2
  123. package/esm2015/common/animations/common/interfaces.js +3 -2
  124. package/esm2015/common/animations/fade/fadeInOut.animation.js +3 -2
  125. package/esm2015/common/animations/flash/flash.animation.js +3 -2
  126. package/esm2015/common/animations/headshake/headshake.animation.js +3 -2
  127. package/esm2015/common/animations/jello/jello.animation.js +3 -2
  128. package/esm2015/common/animations/pulse/pulse.animation.js +3 -2
  129. package/esm2015/common/animations/rotate/rotate.animation.js +3 -2
  130. package/esm2015/common/behaviors/control-value-accesor.mixin.js +3 -2
  131. package/esm2015/common/behaviors/disable-ripple.mixin.js +3 -2
  132. package/esm2015/common/behaviors/disabled.mixin.js +3 -2
  133. package/esm2015/common/common.module.js +3 -2
  134. package/esm2015/common/covalent-core-common.js +3 -2
  135. package/esm2015/common/directives/fullscreen/fullscreen.directive.js +3 -2
  136. package/esm2015/common/forms/auto-trim/auto-trim.directive.js +3 -2
  137. package/esm2015/common/forms/validators/validators.js +3 -2
  138. package/esm2015/common/functions/clipboard.js +3 -2
  139. package/esm2015/common/functions/convert.js +3 -2
  140. package/esm2015/common/functions/download.js +3 -2
  141. package/esm2015/common/functions/file.js +3 -2
  142. package/esm2015/common/index.js +3 -2
  143. package/esm2015/common/pipes/bytes/bytes.pipe.js +3 -2
  144. package/esm2015/common/pipes/decimal-bytes/decimal-bytes.pipe.js +3 -2
  145. package/esm2015/common/pipes/digits/digits.pipe.js +3 -2
  146. package/esm2015/common/pipes/time-ago/time-ago.pipe.js +3 -2
  147. package/esm2015/common/pipes/time-difference/time-difference.pipe.js +3 -2
  148. package/esm2015/common/pipes/time-until/time-until.pipe.js +3 -2
  149. package/esm2015/common/pipes/truncate/truncate.pipe.js +3 -2
  150. package/esm2015/common/public-api.js +3 -2
  151. package/esm2015/common/services/icon.service.js +3 -2
  152. package/esm2015/common/services/router-path.service.js +3 -2
  153. package/esm2015/covalent-core.js +3 -2
  154. package/esm2015/data-table/covalent-core-data-table.js +3 -2
  155. package/esm2015/data-table/data-table-cell/data-table-cell.component.js +4 -3
  156. package/esm2015/data-table/data-table-column/data-table-column.component.js +4 -3
  157. package/esm2015/data-table/data-table-row/data-table-row.component.js +3 -2
  158. package/esm2015/data-table/data-table-table/data-table-table.component.js +4 -3
  159. package/esm2015/data-table/data-table.component.js +6 -5
  160. package/esm2015/data-table/data-table.module.js +3 -2
  161. package/esm2015/data-table/directives/data-table-template.directive.js +3 -2
  162. package/esm2015/data-table/index.js +3 -2
  163. package/esm2015/data-table/public-api.js +3 -2
  164. package/esm2015/data-table/services/data-table.service.js +3 -2
  165. package/esm2015/dialogs/alert-dialog/alert-dialog.component.js +3 -2
  166. package/esm2015/dialogs/confirm-dialog/confirm-dialog.component.js +3 -2
  167. package/esm2015/dialogs/covalent-core-dialogs.js +3 -2
  168. package/esm2015/dialogs/dialog.component.js +4 -3
  169. package/esm2015/dialogs/dialogs.module.js +3 -2
  170. package/esm2015/dialogs/index.js +3 -2
  171. package/esm2015/dialogs/prompt-dialog/prompt-dialog.component.js +4 -3
  172. package/esm2015/dialogs/public-api.js +3 -2
  173. package/esm2015/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.js +14 -13
  174. package/esm2015/dialogs/services/dialog.service.js +3 -2
  175. package/esm2015/dialogs/window-dialog/window-dialog.component.js +4 -3
  176. package/esm2015/dynamic-menu/covalent-core-dynamic-menu.js +3 -2
  177. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.js +5 -4
  178. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.js +4 -3
  179. package/esm2015/dynamic-menu/dynamic-menu.component.js +3 -2
  180. package/esm2015/dynamic-menu/dynamic-menu.module.js +3 -2
  181. package/esm2015/dynamic-menu/index.js +3 -2
  182. package/esm2015/dynamic-menu/public_api.js +3 -2
  183. package/esm2015/expansion-panel/covalent-core-expansion-panel.js +3 -2
  184. package/esm2015/expansion-panel/expansion-panel-group.component.js +3 -2
  185. package/esm2015/expansion-panel/expansion-panel.component.js +4 -3
  186. package/esm2015/expansion-panel/expansion-panel.module.js +3 -2
  187. package/esm2015/expansion-panel/index.js +3 -2
  188. package/esm2015/expansion-panel/public-api.js +3 -2
  189. package/esm2015/file/covalent-core-file.js +3 -2
  190. package/esm2015/file/directives/file-drop.directive.js +3 -2
  191. package/esm2015/file/directives/file-select.directive.js +3 -2
  192. package/esm2015/file/file-input/file-input.component.js +3 -2
  193. package/esm2015/file/file-upload/file-upload.component.js +4 -3
  194. package/esm2015/file/file.module.js +3 -2
  195. package/esm2015/file/index.js +3 -2
  196. package/esm2015/file/public-api.js +3 -2
  197. package/esm2015/file/services/file.service.js +3 -2
  198. package/esm2015/index.js +4 -2
  199. package/esm2015/json-formatter/covalent-core-json-formatter.js +3 -2
  200. package/esm2015/json-formatter/index.js +3 -2
  201. package/esm2015/json-formatter/json-formatter.component.js +4 -3
  202. package/esm2015/json-formatter/json-formatter.module.js +3 -2
  203. package/esm2015/json-formatter/public-api.js +3 -2
  204. package/esm2015/layout/covalent-core-layout.js +4 -3
  205. package/esm2015/layout/index.js +4 -3
  206. package/esm2015/layout/layout-card-over/layout-card-over.component.js +4 -3
  207. package/esm2015/layout/layout-footer/layout-footer.component.js +3 -2
  208. package/esm2015/layout/layout-manage-list/layout-manage-list.component.js +4 -3
  209. package/esm2015/layout/layout-manage-list/layout-manage-list.directives.js +7 -6
  210. package/esm2015/layout/layout-nav/layout-nav.component.js +4 -3
  211. package/esm2015/layout/layout-nav-list/layout-nav-list.component.js +4 -3
  212. package/esm2015/layout/layout-nav-list/layout-nav-list.directives.js +7 -6
  213. package/esm2015/layout/layout-toggle.class.js +22 -12
  214. package/esm2015/layout/layout.component.js +4 -3
  215. package/esm2015/layout/layout.directives.js +7 -6
  216. package/esm2015/layout/layout.module.js +3 -2
  217. package/esm2015/layout/navigation-drawer/navigation-drawer.component.js +4 -3
  218. package/esm2015/layout/public-api.js +4 -3
  219. package/esm2015/loading/covalent-core-loading.js +3 -2
  220. package/esm2015/loading/directives/loading.directive.js +3 -2
  221. package/esm2015/loading/index.js +3 -2
  222. package/esm2015/loading/loading.component.js +13 -12
  223. package/esm2015/loading/loading.module.js +3 -2
  224. package/esm2015/loading/public-api.js +3 -2
  225. package/esm2015/loading/services/loading.factory.js +3 -2
  226. package/esm2015/loading/services/loading.service.js +3 -2
  227. package/esm2015/media/covalent-core-media.js +3 -2
  228. package/esm2015/media/directives/media-toggle.directive.js +3 -2
  229. package/esm2015/media/index.js +3 -2
  230. package/esm2015/media/media.module.js +3 -2
  231. package/esm2015/media/public-api.js +3 -2
  232. package/esm2015/media/services/media.service.js +3 -2
  233. package/esm2015/menu/covalent-core-menu.js +3 -2
  234. package/esm2015/menu/index.js +3 -2
  235. package/esm2015/menu/menu.component.js +4 -3
  236. package/esm2015/menu/menu.module.js +3 -2
  237. package/esm2015/menu/public-api.js +3 -2
  238. package/esm2015/message/covalent-core-message.js +3 -2
  239. package/esm2015/message/index.js +3 -2
  240. package/esm2015/message/message.component.js +4 -3
  241. package/esm2015/message/message.module.js +3 -2
  242. package/esm2015/message/public-api.js +3 -2
  243. package/esm2015/nav-links/covalent-core-nav-links.js +3 -2
  244. package/esm2015/nav-links/index.js +3 -2
  245. package/esm2015/nav-links/nav-links.component.js +3 -2
  246. package/esm2015/nav-links/nav-links.module.js +3 -2
  247. package/esm2015/nav-links/public-api.js +3 -2
  248. package/esm2015/notifications/covalent-core-notifications.js +3 -2
  249. package/esm2015/notifications/index.js +3 -2
  250. package/esm2015/notifications/notification-count.component.js +10 -9
  251. package/esm2015/notifications/notifications.module.js +3 -2
  252. package/esm2015/notifications/public-api.js +3 -2
  253. package/esm2015/paging/covalent-core-paging.js +3 -2
  254. package/esm2015/paging/index.js +3 -2
  255. package/esm2015/paging/paging-bar.component.js +4 -3
  256. package/esm2015/paging/paging.module.js +3 -2
  257. package/esm2015/paging/public-api.js +3 -2
  258. package/esm2015/search/covalent-core-search.js +3 -2
  259. package/esm2015/search/index.js +3 -2
  260. package/esm2015/search/public-api.js +3 -2
  261. package/esm2015/search/search-box/search-box.component.js +4 -3
  262. package/esm2015/search/search-input/search-input.component.js +4 -3
  263. package/esm2015/search/search.module.js +3 -2
  264. package/esm2015/sidesheet/covalent-core-sidesheet.js +3 -2
  265. package/esm2015/sidesheet/index.js +3 -2
  266. package/esm2015/sidesheet/public-api.js +3 -2
  267. package/esm2015/sidesheet/sidesheet.component.js +4 -3
  268. package/esm2015/sidesheet/sidesheet.module.js +3 -2
  269. package/esm2015/steps/covalent-core-steps.js +3 -2
  270. package/esm2015/steps/index.js +3 -2
  271. package/esm2015/steps/nav/nav-step-link/nav-step-link.component.js +4 -3
  272. package/esm2015/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.js +4 -3
  273. package/esm2015/steps/nav/nav-steps-vertical/nav-steps-vertical.component.js +4 -3
  274. package/esm2015/steps/public-api.js +3 -2
  275. package/esm2015/steps/step-body/step-body.component.js +4 -3
  276. package/esm2015/steps/step-header/step-header.component.js +4 -3
  277. package/esm2015/steps/step.component.js +6 -5
  278. package/esm2015/steps/steps.component.js +6 -5
  279. package/esm2015/steps/steps.module.js +3 -2
  280. package/esm2015/tab-select/covalent-core-tab-select.js +3 -2
  281. package/esm2015/tab-select/index.js +3 -2
  282. package/esm2015/tab-select/public-api.js +3 -2
  283. package/esm2015/tab-select/tab-option.component.js +3 -2
  284. package/esm2015/tab-select/tab-select.component.js +3 -2
  285. package/esm2015/tab-select/tab-select.module.js +3 -2
  286. package/esm2015/user-profile/covalent-core-user-profile.js +3 -2
  287. package/esm2015/user-profile/index.js +3 -2
  288. package/esm2015/user-profile/public_api.js +3 -2
  289. package/esm2015/user-profile/user-profile-menu/user-profile-menu.component.js +4 -3
  290. package/esm2015/user-profile/user-profile.component.js +3 -2
  291. package/esm2015/user-profile/user-profile.module.js +3 -2
  292. package/esm2015/virtual-scroll/covalent-core-virtual-scroll.js +3 -2
  293. package/esm2015/virtual-scroll/index.js +3 -2
  294. package/esm2015/virtual-scroll/public-api.js +3 -2
  295. package/esm2015/virtual-scroll/virtual-scroll-container.component.js +4 -3
  296. package/esm2015/virtual-scroll/virtual-scroll-row.directive.js +3 -2
  297. package/esm2015/virtual-scroll/virtual-scroll.module.js +3 -2
  298. package/expansion-panel/covalent-core-expansion-panel.metadata.json +1 -1
  299. package/expansion-panel/package.json +1 -3
  300. package/fesm2015/covalent-core-breadcrumbs.js +13 -7
  301. package/fesm2015/covalent-core-breadcrumbs.js.map +1 -1
  302. package/fesm2015/covalent-core-chips.js +11 -6
  303. package/fesm2015/covalent-core-chips.js.map +1 -1
  304. package/fesm2015/covalent-core-common.js +62 -31
  305. package/fesm2015/covalent-core-common.js.map +1 -1
  306. package/fesm2015/covalent-core-data-table.js +28 -17
  307. package/fesm2015/covalent-core-data-table.js.map +1 -1
  308. package/fesm2015/covalent-core-dialogs.js +36 -25
  309. package/fesm2015/covalent-core-dialogs.js.map +1 -1
  310. package/fesm2015/covalent-core-dynamic-menu.js +17 -10
  311. package/fesm2015/covalent-core-dynamic-menu.js.map +1 -1
  312. package/fesm2015/covalent-core-expansion-panel.js +13 -7
  313. package/fesm2015/covalent-core-expansion-panel.js.map +1 -1
  314. package/fesm2015/covalent-core-file.js +19 -10
  315. package/fesm2015/covalent-core-file.js.map +1 -1
  316. package/fesm2015/covalent-core-json-formatter.js +11 -6
  317. package/fesm2015/covalent-core-json-formatter.js.map +1 -1
  318. package/fesm2015/covalent-core-layout.js +65 -41
  319. package/fesm2015/covalent-core-layout.js.map +1 -1
  320. package/fesm2015/covalent-core-loading.js +26 -18
  321. package/fesm2015/covalent-core-loading.js.map +1 -1
  322. package/fesm2015/covalent-core-media.js +12 -6
  323. package/fesm2015/covalent-core-media.js.map +1 -1
  324. package/fesm2015/covalent-core-menu.js +11 -6
  325. package/fesm2015/covalent-core-menu.js.map +1 -1
  326. package/fesm2015/covalent-core-message.js +11 -6
  327. package/fesm2015/covalent-core-message.js.map +1 -1
  328. package/fesm2015/covalent-core-nav-links.js +10 -5
  329. package/fesm2015/covalent-core-nav-links.js.map +1 -1
  330. package/fesm2015/covalent-core-notifications.js +17 -12
  331. package/fesm2015/covalent-core-notifications.js.map +1 -1
  332. package/fesm2015/covalent-core-paging.js +11 -6
  333. package/fesm2015/covalent-core-paging.js.map +1 -1
  334. package/fesm2015/covalent-core-search.js +14 -8
  335. package/fesm2015/covalent-core-search.js.map +1 -1
  336. package/fesm2015/covalent-core-sidesheet.js +11 -6
  337. package/fesm2015/covalent-core-sidesheet.js.map +1 -1
  338. package/fesm2015/covalent-core-steps.js +33 -22
  339. package/fesm2015/covalent-core-steps.js.map +1 -1
  340. package/fesm2015/covalent-core-tab-select.js +12 -6
  341. package/fesm2015/covalent-core-tab-select.js.map +1 -1
  342. package/fesm2015/covalent-core-user-profile.js +13 -7
  343. package/fesm2015/covalent-core-user-profile.js.map +1 -1
  344. package/fesm2015/covalent-core-virtual-scroll.js +13 -7
  345. package/fesm2015/covalent-core-virtual-scroll.js.map +1 -1
  346. package/fesm2015/covalent-core.js +4 -2
  347. package/fesm2015/covalent-core.js.map +1 -1
  348. package/file/covalent-core-file.metadata.json +1 -1
  349. package/file/package.json +1 -3
  350. package/json-formatter/covalent-core-json-formatter.metadata.json +1 -1
  351. package/json-formatter/package.json +1 -3
  352. package/layout/covalent-core-layout.metadata.json +1 -1
  353. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +4 -4
  354. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +4 -4
  355. package/layout/layout-toggle.class.d.ts +1 -1
  356. package/layout/layout.directives.d.ts +4 -4
  357. package/layout/package.json +1 -3
  358. package/loading/covalent-core-loading.metadata.json +1 -1
  359. package/loading/package.json +1 -3
  360. package/media/package.json +1 -3
  361. package/menu/covalent-core-menu.metadata.json +1 -1
  362. package/menu/package.json +1 -3
  363. package/message/covalent-core-message.metadata.json +1 -1
  364. package/message/package.json +1 -3
  365. package/nav-links/package.json +1 -3
  366. package/notifications/covalent-core-notifications.metadata.json +1 -1
  367. package/notifications/package.json +1 -3
  368. package/package.json +12 -12
  369. package/paging/covalent-core-paging.metadata.json +1 -1
  370. package/paging/package.json +1 -3
  371. package/schematics/components.js +1 -0
  372. package/schematics/components.js.map +1 -1
  373. package/schematics/ng-add/files/theme.scss +1 -1
  374. package/schematics/ng-add/index.js +4 -6
  375. package/schematics/ng-add/index.js.map +1 -1
  376. package/schematics/ng-update/index.js +1 -0
  377. package/schematics/ng-update/index.js.map +1 -1
  378. package/schematics/ng-update/target-version.js +1 -0
  379. package/schematics/ng-update/target-version.js.map +1 -1
  380. package/schematics/version-names.js +1 -0
  381. package/schematics/version-names.js.map +1 -1
  382. package/search/covalent-core-search.metadata.json +1 -1
  383. package/search/package.json +1 -3
  384. package/sidesheet/covalent-core-sidesheet.metadata.json +1 -1
  385. package/sidesheet/package.json +1 -3
  386. package/steps/covalent-core-steps.metadata.json +1 -1
  387. package/steps/package.json +1 -3
  388. package/tab-select/covalent-core-tab-select.metadata.json +1 -1
  389. package/tab-select/package.json +1 -3
  390. package/theming/prebuilt/blue-grey-deep-orange.css +193 -28
  391. package/theming/prebuilt/blue-grey-deep-orange.css.map +1 -1
  392. package/theming/prebuilt/blue-orange.css +193 -28
  393. package/theming/prebuilt/blue-orange.css.map +1 -1
  394. package/theming/prebuilt/indigo-pink.css +193 -28
  395. package/theming/prebuilt/indigo-pink.css.map +1 -1
  396. package/theming/prebuilt/orange-light-blue.css +193 -28
  397. package/theming/prebuilt/orange-light-blue.css.map +1 -1
  398. package/theming/prebuilt/teal-orange.css +193 -28
  399. package/theming/prebuilt/teal-orange.css.map +1 -1
  400. package/user-profile/covalent-core-user-profile.metadata.json +1 -1
  401. package/user-profile/package.json +1 -3
  402. package/virtual-scroll/covalent-core-virtual-scroll.metadata.json +1 -1
  403. package/virtual-scroll/package.json +1 -3
  404. package/esm5/breadcrumbs/breadcrumb/breadcrumb.component.js +0 -216
  405. package/esm5/breadcrumbs/breadcrumbs.component.js +0 -286
  406. package/esm5/breadcrumbs/breadcrumbs.module.js +0 -23
  407. package/esm5/breadcrumbs/covalent-core-breadcrumbs.js +0 -9
  408. package/esm5/breadcrumbs/index.js +0 -6
  409. package/esm5/breadcrumbs/public-api.js +0 -8
  410. package/esm5/chips/chips.component.js +0 -1453
  411. package/esm5/chips/chips.module.js +0 -26
  412. package/esm5/chips/covalent-core-chips.js +0 -9
  413. package/esm5/chips/index.js +0 -6
  414. package/esm5/chips/public-api.js +0 -7
  415. package/esm5/common/animations/bounce/bounce.animation.js +0 -75
  416. package/esm5/common/animations/collapse/collapse.animation.js +0 -66
  417. package/esm5/common/animations/common/interfaces.js +0 -17
  418. package/esm5/common/animations/fade/fadeInOut.animation.js +0 -52
  419. package/esm5/common/animations/flash/flash.animation.js +0 -39
  420. package/esm5/common/animations/headshake/headshake.animation.js +0 -40
  421. package/esm5/common/animations/jello/jello.animation.js +0 -43
  422. package/esm5/common/animations/pulse/pulse.animation.js +0 -37
  423. package/esm5/common/animations/rotate/rotate.animation.js +0 -40
  424. package/esm5/common/behaviors/control-value-accesor.mixin.js +0 -127
  425. package/esm5/common/behaviors/disable-ripple.mixin.js +0 -75
  426. package/esm5/common/behaviors/disabled.mixin.js +0 -75
  427. package/esm5/common/common.module.js +0 -57
  428. package/esm5/common/covalent-core-common.js +0 -11
  429. package/esm5/common/directives/fullscreen/fullscreen.directive.js +0 -228
  430. package/esm5/common/forms/auto-trim/auto-trim.directive.js +0 -52
  431. package/esm5/common/forms/validators/validators.js +0 -73
  432. package/esm5/common/functions/clipboard.js +0 -29
  433. package/esm5/common/functions/convert.js +0 -120
  434. package/esm5/common/functions/download.js +0 -93
  435. package/esm5/common/functions/file.js +0 -28
  436. package/esm5/common/index.js +0 -6
  437. package/esm5/common/pipes/bytes/bytes.pipe.js +0 -54
  438. package/esm5/common/pipes/decimal-bytes/decimal-bytes.pipe.js +0 -54
  439. package/esm5/common/pipes/digits/digits.pipe.js +0 -72
  440. package/esm5/common/pipes/time-ago/time-ago.pipe.js +0 -89
  441. package/esm5/common/pipes/time-difference/time-difference.pipe.js +0 -74
  442. package/esm5/common/pipes/time-until/time-until.pipe.js +0 -89
  443. package/esm5/common/pipes/truncate/truncate.pipe.js +0 -42
  444. package/esm5/common/public-api.js +0 -43
  445. package/esm5/common/services/icon.service.js +0 -1118
  446. package/esm5/common/services/router-path.service.js +0 -69
  447. package/esm5/covalent-core.js +0 -9
  448. package/esm5/data-table/covalent-core-data-table.js +0 -9
  449. package/esm5/data-table/data-table-cell/data-table-cell.component.js +0 -98
  450. package/esm5/data-table/data-table-column/data-table-column.component.js +0 -257
  451. package/esm5/data-table/data-table-row/data-table-row.component.js +0 -145
  452. package/esm5/data-table/data-table-table/data-table-table.component.js +0 -40
  453. package/esm5/data-table/data-table.component.js +0 -2079
  454. package/esm5/data-table/data-table.module.js +0 -42
  455. package/esm5/data-table/directives/data-table-template.directive.js +0 -31
  456. package/esm5/data-table/index.js +0 -6
  457. package/esm5/data-table/public-api.js +0 -13
  458. package/esm5/data-table/services/data-table.service.js +0 -184
  459. package/esm5/dialogs/alert-dialog/alert-dialog.component.js +0 -48
  460. package/esm5/dialogs/confirm-dialog/confirm-dialog.component.js +0 -63
  461. package/esm5/dialogs/covalent-core-dialogs.js +0 -10
  462. package/esm5/dialogs/dialog.component.js +0 -76
  463. package/esm5/dialogs/dialogs.module.js +0 -60
  464. package/esm5/dialogs/index.js +0 -6
  465. package/esm5/dialogs/prompt-dialog/prompt-dialog.component.js +0 -100
  466. package/esm5/dialogs/public-api.js +0 -12
  467. package/esm5/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.js +0 -356
  468. package/esm5/dialogs/services/dialog.service.js +0 -441
  469. package/esm5/dialogs/window-dialog/window-dialog.component.js +0 -60
  470. package/esm5/dynamic-menu/covalent-core-dynamic-menu.js +0 -10
  471. package/esm5/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.js +0 -45
  472. package/esm5/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.js +0 -39
  473. package/esm5/dynamic-menu/dynamic-menu.component.js +0 -94
  474. package/esm5/dynamic-menu/dynamic-menu.module.js +0 -29
  475. package/esm5/dynamic-menu/index.js +0 -6
  476. package/esm5/dynamic-menu/public_api.js +0 -8
  477. package/esm5/expansion-panel/covalent-core-expansion-panel.js +0 -9
  478. package/esm5/expansion-panel/expansion-panel-group.component.js +0 -251
  479. package/esm5/expansion-panel/expansion-panel.component.js +0 -344
  480. package/esm5/expansion-panel/expansion-panel.module.js +0 -34
  481. package/esm5/expansion-panel/index.js +0 -6
  482. package/esm5/expansion-panel/public-api.js +0 -8
  483. package/esm5/file/covalent-core-file.js +0 -9
  484. package/esm5/file/directives/file-drop.directive.js +0 -276
  485. package/esm5/file/directives/file-select.directive.js +0 -124
  486. package/esm5/file/file-input/file-input.component.js +0 -225
  487. package/esm5/file/file-upload/file-upload.component.js +0 -284
  488. package/esm5/file/file.module.js +0 -38
  489. package/esm5/file/index.js +0 -6
  490. package/esm5/file/public-api.js +0 -11
  491. package/esm5/file/services/file.service.js +0 -137
  492. package/esm5/index.js +0 -5
  493. package/esm5/json-formatter/covalent-core-json-formatter.js +0 -9
  494. package/esm5/json-formatter/index.js +0 -6
  495. package/esm5/json-formatter/json-formatter.component.js +0 -433
  496. package/esm5/json-formatter/json-formatter.module.js +0 -23
  497. package/esm5/json-formatter/public-api.js +0 -7
  498. package/esm5/layout/covalent-core-layout.js +0 -9
  499. package/esm5/layout/index.js +0 -6
  500. package/esm5/layout/layout-card-over/layout-card-over.component.js +0 -72
  501. package/esm5/layout/layout-footer/layout-footer.component.js +0 -77
  502. package/esm5/layout/layout-manage-list/layout-manage-list.component.js +0 -175
  503. package/esm5/layout/layout-manage-list/layout-manage-list.directives.js +0 -147
  504. package/esm5/layout/layout-nav/layout-nav.component.js +0 -108
  505. package/esm5/layout/layout-nav-list/layout-nav-list.component.js +0 -257
  506. package/esm5/layout/layout-nav-list/layout-nav-list.directives.js +0 -147
  507. package/esm5/layout/layout-toggle.class.js +0 -214
  508. package/esm5/layout/layout.component.js +0 -175
  509. package/esm5/layout/layout.directives.js +0 -144
  510. package/esm5/layout/layout.module.js +0 -67
  511. package/esm5/layout/navigation-drawer/navigation-drawer.component.js +0 -364
  512. package/esm5/layout/public-api.js +0 -17
  513. package/esm5/loading/covalent-core-loading.js +0 -9
  514. package/esm5/loading/directives/loading.directive.js +0 -304
  515. package/esm5/loading/index.js +0 -6
  516. package/esm5/loading/loading.component.js +0 -367
  517. package/esm5/loading/loading.module.js +0 -33
  518. package/esm5/loading/public-api.js +0 -10
  519. package/esm5/loading/services/loading.factory.js +0 -378
  520. package/esm5/loading/services/loading.service.js +0 -494
  521. package/esm5/media/covalent-core-media.js +0 -9
  522. package/esm5/media/directives/media-toggle.directive.js +0 -261
  523. package/esm5/media/index.js +0 -6
  524. package/esm5/media/media.module.js +0 -23
  525. package/esm5/media/public-api.js +0 -8
  526. package/esm5/media/services/media.service.js +0 -229
  527. package/esm5/menu/covalent-core-menu.js +0 -9
  528. package/esm5/menu/index.js +0 -6
  529. package/esm5/menu/menu.component.js +0 -19
  530. package/esm5/menu/menu.module.js +0 -25
  531. package/esm5/menu/public-api.js +0 -7
  532. package/esm5/message/covalent-core-message.js +0 -9
  533. package/esm5/message/index.js +0 -6
  534. package/esm5/message/message.component.js +0 -402
  535. package/esm5/message/message.module.js +0 -24
  536. package/esm5/message/public-api.js +0 -7
  537. package/esm5/nav-links/covalent-core-nav-links.js +0 -9
  538. package/esm5/nav-links/index.js +0 -6
  539. package/esm5/nav-links/nav-links.component.js +0 -171
  540. package/esm5/nav-links/nav-links.module.js +0 -40
  541. package/esm5/nav-links/public-api.js +0 -7
  542. package/esm5/notifications/covalent-core-notifications.js +0 -9
  543. package/esm5/notifications/index.js +0 -6
  544. package/esm5/notifications/notification-count.component.js +0 -268
  545. package/esm5/notifications/notifications.module.js +0 -23
  546. package/esm5/notifications/public-api.js +0 -7
  547. package/esm5/paging/covalent-core-paging.js +0 -9
  548. package/esm5/paging/index.js +0 -6
  549. package/esm5/paging/paging-bar.component.js +0 -542
  550. package/esm5/paging/paging.module.js +0 -23
  551. package/esm5/paging/public-api.js +0 -7
  552. package/esm5/search/covalent-core-search.js +0 -9
  553. package/esm5/search/index.js +0 -6
  554. package/esm5/search/public-api.js +0 -8
  555. package/esm5/search/search-box/search-box.component.js +0 -298
  556. package/esm5/search/search-input/search-input.component.js +0 -297
  557. package/esm5/search/search.module.js +0 -26
  558. package/esm5/sidesheet/covalent-core-sidesheet.js +0 -9
  559. package/esm5/sidesheet/index.js +0 -6
  560. package/esm5/sidesheet/public-api.js +0 -7
  561. package/esm5/sidesheet/sidesheet.component.js +0 -89
  562. package/esm5/sidesheet/sidesheet.module.js +0 -30
  563. package/esm5/steps/covalent-core-steps.js +0 -9
  564. package/esm5/steps/index.js +0 -6
  565. package/esm5/steps/nav/nav-step-link/nav-step-link.component.js +0 -165
  566. package/esm5/steps/nav/nav-steps-horizontal/nav-steps-horizontal.component.js +0 -464
  567. package/esm5/steps/nav/nav-steps-vertical/nav-steps-vertical.component.js +0 -143
  568. package/esm5/steps/public-api.js +0 -13
  569. package/esm5/steps/step-body/step-body.component.js +0 -103
  570. package/esm5/steps/step-header/step-header.component.js +0 -101
  571. package/esm5/steps/step.component.js +0 -399
  572. package/esm5/steps/steps.component.js +0 -313
  573. package/esm5/steps/steps.module.js +0 -47
  574. package/esm5/tab-select/covalent-core-tab-select.js +0 -9
  575. package/esm5/tab-select/index.js +0 -6
  576. package/esm5/tab-select/public-api.js +0 -8
  577. package/esm5/tab-select/tab-option.component.js +0 -86
  578. package/esm5/tab-select/tab-select.component.js +0 -344
  579. package/esm5/tab-select/tab-select.module.js +0 -34
  580. package/esm5/user-profile/covalent-core-user-profile.js +0 -9
  581. package/esm5/user-profile/index.js +0 -6
  582. package/esm5/user-profile/public_api.js +0 -8
  583. package/esm5/user-profile/user-profile-menu/user-profile-menu.component.js +0 -42
  584. package/esm5/user-profile/user-profile.component.js +0 -29
  585. package/esm5/user-profile/user-profile.module.js +0 -36
  586. package/esm5/virtual-scroll/covalent-core-virtual-scroll.js +0 -9
  587. package/esm5/virtual-scroll/index.js +0 -6
  588. package/esm5/virtual-scroll/public-api.js +0 -8
  589. package/esm5/virtual-scroll/virtual-scroll-container.component.js +0 -468
  590. package/esm5/virtual-scroll/virtual-scroll-row.directive.js +0 -24
  591. package/esm5/virtual-scroll/virtual-scroll.module.js +0 -24
  592. package/fesm5/covalent-core-breadcrumbs.js +0 -535
  593. package/fesm5/covalent-core-breadcrumbs.js.map +0 -1
  594. package/fesm5/covalent-core-chips.js +0 -1484
  595. package/fesm5/covalent-core-chips.js.map +0 -1
  596. package/fesm5/covalent-core-common.js +0 -2961
  597. package/fesm5/covalent-core-common.js.map +0 -1
  598. package/fesm5/covalent-core-data-table.js +0 -2863
  599. package/fesm5/covalent-core-data-table.js.map +0 -1
  600. package/fesm5/covalent-core-dialogs.js +0 -1189
  601. package/fesm5/covalent-core-dialogs.js.map +0 -1
  602. package/fesm5/covalent-core-dynamic-menu.js +0 -214
  603. package/fesm5/covalent-core-dynamic-menu.js.map +0 -1
  604. package/fesm5/covalent-core-expansion-panel.js +0 -631
  605. package/fesm5/covalent-core-expansion-panel.js.map +0 -1
  606. package/fesm5/covalent-core-file.js +0 -1068
  607. package/fesm5/covalent-core-file.js.map +0 -1
  608. package/fesm5/covalent-core-json-formatter.js +0 -470
  609. package/fesm5/covalent-core-json-formatter.js.map +0 -1
  610. package/fesm5/covalent-core-layout.js +0 -1906
  611. package/fesm5/covalent-core-layout.js.map +0 -1
  612. package/fesm5/covalent-core-loading.js +0 -1562
  613. package/fesm5/covalent-core-loading.js.map +0 -1
  614. package/fesm5/covalent-core-media.js +0 -522
  615. package/fesm5/covalent-core-media.js.map +0 -1
  616. package/fesm5/covalent-core-menu.js +0 -58
  617. package/fesm5/covalent-core-menu.js.map +0 -1
  618. package/fesm5/covalent-core-message.js +0 -439
  619. package/fesm5/covalent-core-message.js.map +0 -1
  620. package/fesm5/covalent-core-nav-links.js +0 -224
  621. package/fesm5/covalent-core-nav-links.js.map +0 -1
  622. package/fesm5/covalent-core-notifications.js +0 -303
  623. package/fesm5/covalent-core-notifications.js.map +0 -1
  624. package/fesm5/covalent-core-paging.js +0 -579
  625. package/fesm5/covalent-core-paging.js.map +0 -1
  626. package/fesm5/covalent-core-search.js +0 -623
  627. package/fesm5/covalent-core-search.js.map +0 -1
  628. package/fesm5/covalent-core-sidesheet.js +0 -129
  629. package/fesm5/covalent-core-sidesheet.js.map +0 -1
  630. package/fesm5/covalent-core-steps.js +0 -1704
  631. package/fesm5/covalent-core-steps.js.map +0 -1
  632. package/fesm5/covalent-core-tab-select.js +0 -467
  633. package/fesm5/covalent-core-tab-select.js.map +0 -1
  634. package/fesm5/covalent-core-user-profile.js +0 -118
  635. package/fesm5/covalent-core-user-profile.js.map +0 -1
  636. package/fesm5/covalent-core-virtual-scroll.js +0 -526
  637. package/fesm5/covalent-core-virtual-scroll.js.map +0 -1
  638. package/fesm5/covalent-core.js +0 -10
  639. package/fesm5/covalent-core.js.map +0 -1
@@ -1,100 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Component, ViewChild, ElementRef } from '@angular/core';
6
- import { MatDialogRef } from '@angular/material/dialog';
7
- var TdPromptDialogComponent = /** @class */ (function () {
8
- function TdPromptDialogComponent(_dialogRef) {
9
- this._dialogRef = _dialogRef;
10
- this.cancelButton = 'CANCEL';
11
- this.acceptButton = 'ACCEPT';
12
- }
13
- /**
14
- * @return {?}
15
- */
16
- TdPromptDialogComponent.prototype.ngAfterViewInit = /**
17
- * @return {?}
18
- */
19
- function () {
20
- var _this = this;
21
- // focus input once everything is rendered and good to go
22
- Promise.resolve().then((/**
23
- * @return {?}
24
- */
25
- function () {
26
- ((/** @type {?} */ (_this._input.nativeElement))).focus();
27
- }));
28
- };
29
- /**
30
- * Method executed when input is focused
31
- * Selects all text
32
- */
33
- /**
34
- * Method executed when input is focused
35
- * Selects all text
36
- * @return {?}
37
- */
38
- TdPromptDialogComponent.prototype.handleInputFocus = /**
39
- * Method executed when input is focused
40
- * Selects all text
41
- * @return {?}
42
- */
43
- function () {
44
- ((/** @type {?} */ (this._input.nativeElement))).select();
45
- };
46
- /**
47
- * @return {?}
48
- */
49
- TdPromptDialogComponent.prototype.cancel = /**
50
- * @return {?}
51
- */
52
- function () {
53
- this._dialogRef.close();
54
- };
55
- /**
56
- * @return {?}
57
- */
58
- TdPromptDialogComponent.prototype.accept = /**
59
- * @return {?}
60
- */
61
- function () {
62
- this._dialogRef.close(this.value);
63
- };
64
- TdPromptDialogComponent.decorators = [
65
- { type: Component, args: [{
66
- selector: 'td-prompt-dialog',
67
- template: "<td-dialog>\n <td-dialog-title *ngIf=\"title\">\n {{ title }}\n </td-dialog-title>\n <td-dialog-content>\n <span class=\"td-dialog-message\">{{ message }}</span>\n <form #form=\"ngForm\" novalidate>\n <div class=\"td-dialog-input-wrapper\">\n <mat-form-field class=\"td-dialog-input\">\n <input\n matInput\n #input\n (focus)=\"handleInputFocus()\"\n (keydown.enter)=\"$event.preventDefault(); form.valid && accept()\"\n [(ngModel)]=\"value\"\n name=\"value\"\n required\n />\n </mat-form-field>\n </div>\n </form>\n </td-dialog-content>\n <td-dialog-actions>\n <button mat-button #closeBtn (keydown.arrowright)=\"acceptBtn.focus()\" (click)=\"cancel()\">{{ cancelButton }}</button>\n <button\n mat-button\n color=\"accent\"\n #acceptBtn\n (keydown.arrowleft)=\"closeBtn.focus()\"\n [disabled]=\"!form.valid\"\n (click)=\"accept()\"\n >\n {{ acceptButton }}\n </button>\n </td-dialog-actions>\n</td-dialog>\n",
68
- styles: [".td-dialog-input-wrapper{-ms-flex-direction:row;flex-direction:row;box-sizing:border-box;display:-ms-flexbox;display:flex}.td-dialog-input-wrapper .td-dialog-input{-ms-flex:1;flex:1;box-sizing:border-box}.td-dialog-message{word-break:break-word}"]
69
- }] }
70
- ];
71
- /** @nocollapse */
72
- TdPromptDialogComponent.ctorParameters = function () { return [
73
- { type: MatDialogRef }
74
- ]; };
75
- TdPromptDialogComponent.propDecorators = {
76
- _input: [{ type: ViewChild, args: ['input', { static: true },] }]
77
- };
78
- return TdPromptDialogComponent;
79
- }());
80
- export { TdPromptDialogComponent };
81
- if (false) {
82
- /** @type {?} */
83
- TdPromptDialogComponent.prototype.title;
84
- /** @type {?} */
85
- TdPromptDialogComponent.prototype.message;
86
- /** @type {?} */
87
- TdPromptDialogComponent.prototype.value;
88
- /** @type {?} */
89
- TdPromptDialogComponent.prototype.cancelButton;
90
- /** @type {?} */
91
- TdPromptDialogComponent.prototype.acceptButton;
92
- /** @type {?} */
93
- TdPromptDialogComponent.prototype._input;
94
- /**
95
- * @type {?}
96
- * @private
97
- */
98
- TdPromptDialogComponent.prototype._dialogRef;
99
- }
100
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvbXB0LWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY292YWxlbnQvY29yZS9kaWFsb2dzLyIsInNvdXJjZXMiOlsicHJvbXB0LWRpYWxvZy9wcm9tcHQtZGlhbG9nLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFFeEQ7SUFjRSxpQ0FBb0IsVUFBaUQ7UUFBakQsZUFBVSxHQUFWLFVBQVUsQ0FBdUM7UUFMckUsaUJBQVksR0FBVyxRQUFRLENBQUM7UUFDaEMsaUJBQVksR0FBVyxRQUFRLENBQUM7SUFJd0MsQ0FBQzs7OztJQUV6RSxpREFBZTs7O0lBQWY7UUFBQSxpQkFLQztRQUpDLHlEQUF5RDtRQUN6RCxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSTs7O1FBQUM7WUFDckIsQ0FBQyxtQkFBa0IsS0FBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLEVBQUEsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hELENBQUMsRUFBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOzs7T0FHRzs7Ozs7O0lBQ0gsa0RBQWdCOzs7OztJQUFoQjtRQUNFLENBQUMsbUJBQWtCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFBLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUN6RCxDQUFDOzs7O0lBRUQsd0NBQU07OztJQUFOO1FBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDOzs7O0lBRUQsd0NBQU07OztJQUFOO1FBQ0UsSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3BDLENBQUM7O2dCQXJDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtvQkFDNUIsK2tDQUE2Qzs7aUJBRTlDOzs7O2dCQU5RLFlBQVk7Ozt5QkFjbEIsU0FBUyxTQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7O0lBMEJ0Qyw4QkFBQztDQUFBLEFBdENELElBc0NDO1NBakNZLHVCQUF1Qjs7O0lBQ2xDLHdDQUFjOztJQUNkLDBDQUFnQjs7SUFDaEIsd0NBQWM7O0lBQ2QsK0NBQWdDOztJQUNoQywrQ0FBZ0M7O0lBRWhDLHlDQUF5RDs7Ozs7SUFFN0MsNkNBQXlEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIEVsZW1lbnRSZWYsIEFmdGVyVmlld0luaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdERpYWxvZ1JlZiB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RkLXByb21wdC1kaWFsb2cnLFxuICB0ZW1wbGF0ZVVybDogJy4vcHJvbXB0LWRpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Byb21wdC1kaWFsb2cuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGRQcm9tcHREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgbWVzc2FnZTogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nO1xuICBjYW5jZWxCdXR0b246IHN0cmluZyA9ICdDQU5DRUwnO1xuICBhY2NlcHRCdXR0b246IHN0cmluZyA9ICdBQ0NFUFQnO1xuXG4gIEBWaWV3Q2hpbGQoJ2lucHV0JywgeyBzdGF0aWM6IHRydWUgfSkgX2lucHV0OiBFbGVtZW50UmVmO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgX2RpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPFRkUHJvbXB0RGlhbG9nQ29tcG9uZW50Pikge31cblxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgLy8gZm9jdXMgaW5wdXQgb25jZSBldmVyeXRoaW5nIGlzIHJlbmRlcmVkIGFuZCBnb29kIHRvIGdvXG4gICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAoPEhUTUxJbnB1dEVsZW1lbnQ+dGhpcy5faW5wdXQubmF0aXZlRWxlbWVudCkuZm9jdXMoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBNZXRob2QgZXhlY3V0ZWQgd2hlbiBpbnB1dCBpcyBmb2N1c2VkXG4gICAqIFNlbGVjdHMgYWxsIHRleHRcbiAgICovXG4gIGhhbmRsZUlucHV0Rm9jdXMoKTogdm9pZCB7XG4gICAgKDxIVE1MSW5wdXRFbGVtZW50PnRoaXMuX2lucHV0Lm5hdGl2ZUVsZW1lbnQpLnNlbGVjdCgpO1xuICB9XG5cbiAgY2FuY2VsKCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSgpO1xuICB9XG5cbiAgYWNjZXB0KCk6IHZvaWQge1xuICAgIHRoaXMuX2RpYWxvZ1JlZi5jbG9zZSh0aGlzLnZhbHVlKTtcbiAgfVxufVxuIl19
@@ -1,12 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- export { CovalentDialogsModule } from './dialogs.module';
6
- export { TdDialogTitleDirective, TdDialogContentDirective, TdDialogActionsDirective, TdDialogComponent } from './dialog.component';
7
- export { TdAlertDialogComponent } from './alert-dialog/alert-dialog.component';
8
- export { TdConfirmDialogComponent } from './confirm-dialog/confirm-dialog.component';
9
- export { TdPromptDialogComponent } from './prompt-dialog/prompt-dialog.component';
10
- export { TdDialogService } from './services/dialog.service';
11
- export { ResizableDraggableDialog } from './resizable-draggable-dialog/resizable-draggable-dialog';
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0Bjb3ZhbGVudC9jb3JlL2RpYWxvZ3MvIiwic291cmNlcyI6WyJwdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxzQ0FBYyxrQkFBa0IsQ0FBQztBQUNqQyw4R0FBYyxvQkFBb0IsQ0FBQztBQUNuQyx1Q0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCx5Q0FBYywyQ0FBMkMsQ0FBQztBQUMxRCx3Q0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxnQ0FBYywyQkFBMkIsQ0FBQztBQUMxQyx5Q0FBYyx5REFBeUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGlhbG9ncy5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vYWxlcnQtZGlhbG9nL2FsZXJ0LWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9jb25maXJtLWRpYWxvZy9jb25maXJtLWRpYWxvZy5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9wcm9tcHQtZGlhbG9nL3Byb21wdC1kaWFsb2cuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGlhbG9nLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9yZXNpemFibGUtZHJhZ2dhYmxlLWRpYWxvZy9yZXNpemFibGUtZHJhZ2dhYmxlLWRpYWxvZyc7XG4iXX0=
@@ -1,356 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { __read, __spread } from "tslib";
6
- import { merge, fromEvent } from 'rxjs';
7
- /** @enum {string} */
8
- var corners = {
9
- topRight: 'topRight',
10
- bottomRight: 'bottomRight',
11
- bottomLeft: 'bottomLeft',
12
- topLeft: 'topLeft',
13
- };
14
- /** @enum {string} */
15
- var cursors = {
16
- nesw: 'nesw-resize',
17
- nwse: 'nwse-resize',
18
- };
19
- /** @enum {string} */
20
- var verticalAlignment = {
21
- top: 'top',
22
- bottom: 'bottom',
23
- };
24
- /** @enum {string} */
25
- var horizontalAlignment = {
26
- right: 'right',
27
- left: 'left',
28
- };
29
- /** @type {?} */
30
- var cornerWidth = '16px';
31
- /** @type {?} */
32
- var offset = '0px';
33
- /** @type {?} */
34
- var minWidth = 200;
35
- /** @type {?} */
36
- var minHeight = 200;
37
- /**
38
- * @param {?} sizeString
39
- * @return {?}
40
- */
41
- function getPixels(sizeString) {
42
- return parseFloat((sizeString || '').replace('px', ''));
43
- }
44
- /**
45
- * @param {?} min
46
- * @param {?} num
47
- * @param {?} max
48
- * @return {?}
49
- */
50
- function clamp(min, num, max) {
51
- return Math.min(Math.max(num, min), max);
52
- }
53
- var ResizableDraggableDialog = /** @class */ (function () {
54
- function ResizableDraggableDialog(_document, _renderer2, _dialogRef, _dragRef) {
55
- this._document = _document;
56
- this._renderer2 = _renderer2;
57
- this._dialogRef = _dialogRef;
58
- this._dragRef = _dragRef;
59
- this.cornerElements = [];
60
- this.pointerDownSubs = [];
61
- this._initialPositionReset();
62
- this._attachCorners();
63
- }
64
- /**
65
- * @return {?}
66
- */
67
- ResizableDraggableDialog.prototype.attach = /**
68
- * @return {?}
69
- */
70
- function () {
71
- this.detach();
72
- this._attachCorners();
73
- };
74
- /**
75
- * @return {?}
76
- */
77
- ResizableDraggableDialog.prototype.detach = /**
78
- * @return {?}
79
- */
80
- function () {
81
- var _this = this;
82
- this.pointerDownSubs.forEach((/**
83
- * @param {?} sub
84
- * @return {?}
85
- */
86
- function (sub) { return sub.unsubscribe(); }));
87
- this.pointerDownSubs = [];
88
- this.cornerElements.forEach((/**
89
- * @param {?} elem
90
- * @return {?}
91
- */
92
- function (elem) { return _this._renderer2.removeChild(_this._getDialogWrapper(), elem); }));
93
- this.cornerElements = [];
94
- };
95
- /**
96
- * @private
97
- * @return {?}
98
- */
99
- ResizableDraggableDialog.prototype._getDialogWrapper = /**
100
- * @private
101
- * @return {?}
102
- */
103
- function () {
104
- return ((/** @type {?} */ (this._document.getElementById(this._dialogRef.id))) || {}).parentElement;
105
- };
106
- /**
107
- * @private
108
- * @return {?}
109
- */
110
- ResizableDraggableDialog.prototype._getViewportDimensions = /**
111
- * @private
112
- * @return {?}
113
- */
114
- function () {
115
- return this._getDialogWrapper().parentElement.getBoundingClientRect();
116
- };
117
- /**
118
- * @private
119
- * @return {?}
120
- */
121
- ResizableDraggableDialog.prototype._getDialogWrapperDimensions = /**
122
- * @private
123
- * @return {?}
124
- */
125
- function () {
126
- /** @type {?} */
127
- var dimensions = getComputedStyle(this._getDialogWrapper());
128
- return {
129
- width: getPixels(dimensions.width),
130
- height: getPixels(dimensions.height),
131
- };
132
- };
133
- /**
134
- * @private
135
- * @return {?}
136
- */
137
- ResizableDraggableDialog.prototype._initialPositionReset = /**
138
- * @private
139
- * @return {?}
140
- */
141
- function () {
142
- var _a = this._getViewportDimensions(), viewportWidth = _a.right, viewportHeight = _a.bottom;
143
- var _b = this._getDialogWrapperDimensions(), width = _b.width, height = _b.height;
144
- var _c = this._getDialogWrapper().style, originalDialogRight = _c.marginRight, originalDialogLeft = _c.marginLeft, originalDialogBottom = _c.marginBottom, originalDialogTop = _c.marginTop;
145
- /** @type {?} */
146
- var x;
147
- if (originalDialogLeft) {
148
- x = getPixels(originalDialogLeft);
149
- }
150
- else if (originalDialogRight) {
151
- x = viewportWidth - getPixels(originalDialogRight) - width;
152
- }
153
- else {
154
- x = (viewportWidth - width) / 2;
155
- }
156
- /** @type {?} */
157
- var y;
158
- if (originalDialogTop) {
159
- y = getPixels(originalDialogTop);
160
- }
161
- else if (originalDialogBottom) {
162
- y = viewportHeight - getPixels(originalDialogBottom) - height;
163
- }
164
- else {
165
- y = (viewportHeight - height) / 2;
166
- }
167
- // use drag ref's mechanisms for positioning instead of the dialog's
168
- this._dialogRef.updatePosition({ top: '0px', right: '0px', bottom: '0px', left: '0px' });
169
- this._dragRef.setFreeDragPosition({ x: x, y: y });
170
- };
171
- /**
172
- * @private
173
- * @return {?}
174
- */
175
- ResizableDraggableDialog.prototype._attachCorners = /**
176
- * @private
177
- * @return {?}
178
- */
179
- function () {
180
- var _this = this;
181
- Object.values(corners).forEach((/**
182
- * @param {?} corner
183
- * @return {?}
184
- */
185
- function (corner) {
186
- /** @type {?} */
187
- var element = _this._renderer2.createElement('div');
188
- _this.cornerElements = __spread(_this.cornerElements, [element]);
189
- _this._renderer2.setStyle(element, 'position', 'absolute');
190
- _this._renderer2.setStyle(element, 'width', cornerWidth);
191
- _this._renderer2.setStyle(element, 'height', cornerWidth);
192
- _this._renderer2.appendChild(_this._getDialogWrapper(), element);
193
- /** @type {?} */
194
- var cursor;
195
- /** @type {?} */
196
- var topBottom;
197
- /** @type {?} */
198
- var rightLeft;
199
- if (corner === corners.topRight) {
200
- cursor = cursors.nesw;
201
- topBottom = verticalAlignment.top;
202
- rightLeft = horizontalAlignment.right;
203
- }
204
- else if (corner === corners.bottomRight) {
205
- cursor = cursors.nwse;
206
- topBottom = verticalAlignment.bottom;
207
- rightLeft = horizontalAlignment.right;
208
- /** @type {?} */
209
- var icon = _this._renderer2.createElement('i');
210
- _this._renderer2.addClass(icon, 'material-icons');
211
- _this._renderer2.appendChild(icon, _this._renderer2.createText('filter_list'));
212
- _this._renderer2.appendChild(element, icon);
213
- _this._renderer2.setStyle(icon, 'transform', "rotate(" + 315 + "deg) translate(0px, " + offset + ")");
214
- _this._renderer2.setStyle(icon, 'font-size', cornerWidth);
215
- }
216
- else if (corner === corners.bottomLeft) {
217
- cursor = cursors.nesw;
218
- topBottom = verticalAlignment.bottom;
219
- rightLeft = horizontalAlignment.left;
220
- }
221
- else if (corner === corners.topLeft) {
222
- cursor = cursors.nwse;
223
- topBottom = verticalAlignment.top;
224
- rightLeft = horizontalAlignment.left;
225
- }
226
- _this._renderer2.setStyle(element, topBottom, offset);
227
- _this._renderer2.setStyle(element, rightLeft, offset);
228
- _this._renderer2.setStyle(element, 'cursor', cursor);
229
- /** @type {?} */
230
- var pointerDownSub = fromEvent(element, 'pointerdown').subscribe((/**
231
- * @param {?} event
232
- * @return {?}
233
- */
234
- function (event) {
235
- _this._handleMouseDown(event, corner);
236
- }));
237
- _this.pointerDownSubs = __spread(_this.pointerDownSubs, [pointerDownSub]);
238
- }));
239
- };
240
- /**
241
- * @private
242
- * @param {?} event
243
- * @param {?} corner
244
- * @return {?}
245
- */
246
- ResizableDraggableDialog.prototype._handleMouseDown = /**
247
- * @private
248
- * @param {?} event
249
- * @param {?} corner
250
- * @return {?}
251
- */
252
- function (event, corner) {
253
- var _this = this;
254
- this._renderer2.setStyle((/** @type {?} */ (this._document.body)), 'user-select', 'none');
255
- var _a = this._getDialogWrapperDimensions(), originalWidth = _a.width, originalHeight = _a.height;
256
- /** @type {?} */
257
- var originalMouseX = event.pageX;
258
- /** @type {?} */
259
- var originalMouseY = event.pageY;
260
- var _b = this._dragRef.getFreeDragPosition(), currentTransformX = _b.x, currentTransformY = _b.y;
261
- var _c = this._getDialogWrapper().getBoundingClientRect(), distanceFromBottom = _c.bottom, distanceFromRight = _c.right;
262
- var _d = this._getViewportDimensions(), viewportWidth = _d.right, viewportHeight = _d.bottom;
263
- /** @type {?} */
264
- var mouseMoveSub = fromEvent(window, 'pointermove').subscribe((/**
265
- * @param {?} e
266
- * @return {?}
267
- */
268
- function (e) {
269
- e.preventDefault(); // prevent highlighting of text when dragging
270
- // prevent highlighting of text when dragging
271
- /** @type {?} */
272
- var yDelta = clamp(0, e.pageY, viewportHeight) - originalMouseY;
273
- /** @type {?} */
274
- var xDelta = clamp(0, e.pageX, viewportWidth) - originalMouseX;
275
- /** @type {?} */
276
- var newHeight;
277
- /** @type {?} */
278
- var newWidth;
279
- /** @type {?} */
280
- var newTransformY = 0;
281
- /** @type {?} */
282
- var newTransformX = 0;
283
- // top right
284
- if (corner === corners.topRight) {
285
- newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);
286
- newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);
287
- newTransformY = clamp(0, currentTransformY + yDelta, distanceFromBottom - newHeight);
288
- newTransformX = currentTransformX;
289
- }
290
- // bottom right
291
- else if (corner === corners.bottomRight) {
292
- newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);
293
- newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);
294
- newTransformY = currentTransformY;
295
- newTransformX = currentTransformX;
296
- }
297
- // bottom left
298
- else if (corner === corners.bottomLeft) {
299
- newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);
300
- newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);
301
- newTransformY = currentTransformY;
302
- newTransformX = clamp(0, currentTransformX + xDelta, distanceFromRight - newWidth);
303
- }
304
- // top left
305
- else if (corner === corners.topLeft) {
306
- newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);
307
- newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);
308
- newTransformX = clamp(0, currentTransformX + xDelta, distanceFromRight - newWidth);
309
- newTransformY = clamp(0, currentTransformY + yDelta, distanceFromBottom - newHeight);
310
- }
311
- _this._dialogRef.updateSize(newWidth + "px", newHeight + "px");
312
- _this._dragRef.setFreeDragPosition({
313
- x: newTransformX,
314
- y: newTransformY,
315
- });
316
- }));
317
- /** @type {?} */
318
- var mouseUpSub = merge(fromEvent(window, 'pointerup'), fromEvent(window, 'pointercancel')).subscribe((/**
319
- * @return {?}
320
- */
321
- function () {
322
- _this._renderer2.removeStyle((/** @type {?} */ (_this._document.body)), 'user-select');
323
- mouseMoveSub.unsubscribe();
324
- mouseUpSub.unsubscribe();
325
- }));
326
- };
327
- return ResizableDraggableDialog;
328
- }());
329
- export { ResizableDraggableDialog };
330
- if (false) {
331
- /** @type {?} */
332
- ResizableDraggableDialog.prototype.cornerElements;
333
- /** @type {?} */
334
- ResizableDraggableDialog.prototype.pointerDownSubs;
335
- /**
336
- * @type {?}
337
- * @private
338
- */
339
- ResizableDraggableDialog.prototype._document;
340
- /**
341
- * @type {?}
342
- * @private
343
- */
344
- ResizableDraggableDialog.prototype._renderer2;
345
- /**
346
- * @type {?}
347
- * @private
348
- */
349
- ResizableDraggableDialog.prototype._dialogRef;
350
- /**
351
- * @type {?}
352
- * @private
353
- */
354
- ResizableDraggableDialog.prototype._dragRef;
355
- }
356
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AY292YWxlbnQvY29yZS9kaWFsb2dzLyIsInNvdXJjZXMiOlsicmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cvcmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFHQSxPQUFPLEVBQUUsS0FBSyxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7OztJQUlwRCxVQUFXLFVBQVU7SUFDckIsYUFBYyxhQUFhO0lBQzNCLFlBQWEsWUFBWTtJQUN6QixTQUFVLFNBQVM7Ozs7SUFHbkIsTUFBTyxhQUFhO0lBQ3BCLE1BQU8sYUFBYTs7OztJQUdwQixLQUFNLEtBQUs7SUFDWCxRQUFTLFFBQVE7Ozs7SUFHakIsT0FBUSxPQUFPO0lBQ2YsTUFBTyxNQUFNOzs7SUFHVCxXQUFXLEdBQVcsTUFBTTs7SUFDNUIsTUFBTSxHQUFXLEtBQUs7O0lBQ3RCLFFBQVEsR0FBVyxHQUFHOztJQUN0QixTQUFTLEdBQVcsR0FBRzs7Ozs7QUFFN0IsU0FBUyxTQUFTLENBQUMsVUFBa0I7SUFDbkMsT0FBTyxVQUFVLENBQUMsQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQzFELENBQUM7Ozs7Ozs7QUFFRCxTQUFTLEtBQUssQ0FBQyxHQUFXLEVBQUUsR0FBVyxFQUFFLEdBQVc7SUFDbEQsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFFRDtJQUlFLGtDQUNVLFNBQWMsRUFDZCxVQUFxQixFQUNyQixVQUE2QixFQUM3QixRQUFpQjtRQUhqQixjQUFTLEdBQVQsU0FBUyxDQUFLO1FBQ2QsZUFBVSxHQUFWLFVBQVUsQ0FBVztRQUNy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aUIsS0FBSyxDQUNwQyxTQUFTLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQyxFQUM5QixTQUFTLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUNuQyxDQUFDLFNBQVM7OztRQUFDO1lBQ1YsS0FBSSxDQUFDLFVBQVUsQ0FBQyxXQUFXLENBQUMsbUJBQWEsS0FBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUEsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUM3RSxZQUFZLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDM0IsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQzNCLENBQUMsRUFBQztJQUNKLENBQUM7SUFDSCwrQkFBQztBQUFELENBQUMsQUEzTEQsSUEyTEM7Ozs7SUExTEMsa0RBQW1DOztJQUNuQyxtREFBcUM7Ozs7O0lBR25DLDZDQUFzQjs7Ozs7SUFDdEIsOENBQTZCOzs7OztJQUM3Qiw4Q0FBcUM7Ozs7O0lBQ3JDLDRDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERyYWdSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IG1lcmdlLCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wL2RyYWctcmVmJztcblxuZW51bSBjb3JuZXJzIHtcbiAgdG9wUmlnaHQgPSAndG9wUmlnaHQnLFxuICBib3R0b21SaWdodCA9ICdib3R0b21SaWdodCcsXG4gIGJvdHRvbUxlZnQgPSAnYm90dG9tTGVmdCcsXG4gIHRvcExlZnQgPSAndG9wTGVmdCcsXG59XG5lbnVtIGN1cnNvcnMge1xuICBuZXN3ID0gJ25lc3ctcmVzaXplJyxcbiAgbndzZSA9ICdud3NlLXJlc2l6ZScsXG59XG5lbnVtIHZlcnRpY2FsQWxpZ25tZW50IHtcbiAgdG9wID0gJ3RvcCcsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxufVxuZW51bSBob3Jpem9udGFsQWxpZ25tZW50IHtcbiAgcmlnaHQgPSAncmlnaHQnLFxuICBsZWZ0ID0gJ2xlZnQnLFxufVxuXG5jb25zdCBjb3JuZXJXaWR0aDogc3RyaW5nID0gJzE2cHgnO1xuY29uc3Qgb2Zmc2V0OiBzdHJpbmcgPSAnMHB4JztcbmNvbnN0IG1pbldpZHRoOiBudW1iZXIgPSAyMDA7XG5jb25zdCBtaW5IZWlnaHQ6IG51bWJlciA9IDIwMDtcblxuZnVuY3Rpb24gZ2V0UGl4ZWxzKHNpemVTdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUZsb2F0KChzaXplU3RyaW5nIHx8ICcnKS5yZXBsYWNlKCdweCcsICcnKSk7XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbjogbnVtYmVyLCBudW06IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgobnVtLCBtaW4pLCBtYXgpO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nIHtcbiAgY29ybmVyRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgcG9pbnRlckRvd25TdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PixcbiAgICBwcml2YXRlIF9kcmFnUmVmOiBEcmFnUmVmLFxuICApIHtcbiAgICB0aGlzLl9pbml0aWFsUG9zaXRpb25SZXNldCgpO1xuICAgIHRoaXMuX2F0dGFjaENvcm5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhY2goKTtcbiAgICB0aGlzLl9hdHRhY2hDb3JuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgZGV0YWNoKCk6IHZvaWQge1xuICAgIHRoaXMucG9pbnRlckRvd25TdWJzLmZvckVhY2goKHN1YjogU3Vic2NyaXB0aW9uKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5wb2ludGVyRG93blN1YnMgPSBbXTtcbiAgICB0aGlzLmNvcm5lckVsZW1lbnRzLmZvckVhY2goKGVsZW06IEhUTUxFbGVtZW50KSA9PiB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpLCBlbGVtKSk7XG4gICAgdGhpcy5jb3JuZXJFbGVtZW50cyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nV3JhcHBlcigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuICg8SFRNTEVsZW1lbnQ+dGhpcy5fZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5fZGlhbG9nUmVmLmlkKSB8fCB7fSkucGFyZW50RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFZpZXdwb3J0RGltZW5zaW9ucygpOiBDbGllbnRSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpLnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREaWFsb2dXcmFwcGVyRGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgIGNvbnN0IGRpbWVuc2lvbnM6IENTU1N0eWxlRGVjbGFyYXRpb24gPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2dldERpYWxvZ1dyYXBwZXIoKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBnZXRQaXhlbHMoZGltZW5zaW9ucy53aWR0aCksXG4gICAgICBoZWlnaHQ6IGdldFBpeGVscyhkaW1lbnNpb25zLmhlaWdodCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxQb3NpdGlvblJlc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgcmlnaHQ6IHZpZXdwb3J0V2lkdGgsIGJvdHRvbTogdmlld3BvcnRIZWlnaHQgfTogQ2xpZW50UmVjdCA9IHRoaXMuX2dldFZpZXdwb3J0RGltZW5zaW9ucygpO1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlckRpbWVuc2lvbnMoKTtcbiAgICBjb25zdCB7XG4gICAgICBtYXJnaW5SaWdodDogb3JpZ2luYWxEaWFsb2dSaWdodCxcbiAgICAgIG1hcmdpbkxlZnQ6IG9yaWdpbmFsRGlhbG9nTGVmdCxcbiAgICAgIG1hcmdpbkJvdHRvbTogb3JpZ2luYWxEaWFsb2dCb3R0b20sXG4gICAgICBtYXJnaW5Ub3A6IG9yaWdpbmFsRGlhbG9nVG9wLFxuICAgIH0gPSB0aGlzLl9nZXREaWFsb2dXcmFwcGVyKCkuc3R5bGU7XG4gICAgbGV0IHg6IG51bWJlcjtcbiAgICBpZiAob3JpZ2luYWxEaWFsb2dMZWZ0KSB7XG4gICAgICB4ID0gZ2V0UGl4ZWxzKG9yaWdpbmFsRGlhbG9nTGVmdCk7XG4gICAgfSBlbHNlIGlmIChvcmlnaW5hbERpYWxvZ1JpZ2h0KSB7XG4gICAgICB4ID0gdmlld3BvcnRXaWR0aCAtIGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ1JpZ2h0KSAtIHdpZHRoO1xuICAgIH0gZWxzZSB7XG4gICAgICB4ID0gKHZpZXdwb3J0V2lkdGggLSB3aWR0aCkgLyAyO1xuICAgIH1cbiAgICBsZXQgeTogbnVtYmVyO1xuICAgIGlmIChvcmlnaW5hbERpYWxvZ1RvcCkge1xuICAgICAgeSA9IGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ1RvcCk7XG4gICAgfSBlbHNlIGlmIChvcmlnaW5hbERpYWxvZ0JvdHRvbSkge1xuICAgICAgeSA9IHZpZXdwb3J0SGVpZ2h0IC0gZ2V0UGl4ZWxzKG9yaWdpbmFsRGlhbG9nQm90dG9tKSAtIGhlaWdodDtcbiAgICB9IGVsc2Uge1xuICAgICAgeSA9ICh2aWV3cG9ydEhlaWdodCAtIGhlaWdodCkgLyAyO1xuICAgIH1cbiAgICAvLyB1c2UgZHJhZyByZWYncyBtZWNoYW5pc21zIGZvciBwb3NpdGlvbmluZyBpbnN0ZWFkIG9mIHRoZSBkaWFsb2cnc1xuICAgIHRoaXMuX2RpYWxvZ1JlZi51cGRhdGVQb3NpdGlvbih7IHRvcDogJzBweCcsIHJpZ2h0OiAnMHB4JywgYm90dG9tOiAnMHB4JywgbGVmdDogJzBweCcgfSk7XG4gICAgdGhpcy5fZHJhZ1JlZi5zZXRGcmVlRHJhZ1Bvc2l0aW9uKHsgeCwgeSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaENvcm5lcnMoKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyhjb3JuZXJzKS5mb3JFYWNoKChjb3JuZXI6IGNvcm5lcnMpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5fcmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5jb3JuZXJFbGVtZW50cyA9IFsuLi50aGlzLmNvcm5lckVsZW1lbnRzLCBlbGVtZW50XTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCAnd2lkdGgnLCBjb3JuZXJXaWR0aCk7XG4gICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZWxlbWVudCwgJ2hlaWdodCcsIGNvcm5lcldpZHRoKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLl9nZXREaWFsb2dXcmFwcGVyKCksIGVsZW1lbnQpO1xuXG4gICAgICBsZXQgY3Vyc29yOiBjdXJzb3JzO1xuICAgICAgbGV0IHRvcEJvdHRvbTogdmVydGljYWxBbGlnbm1lbnQ7XG4gICAgICBsZXQgcmlnaHRMZWZ0OiBob3Jpem9udGFsQWxpZ25tZW50O1xuXG4gICAgICBpZiAoY29ybmVyID09PSBjb3JuZXJzLnRvcFJpZ2h0KSB7XG4gICAgICAgIGN1cnNvciA9IGN1cnNvcnMubmVzdztcbiAgICAgICAgdG9wQm90dG9tID0gdmVydGljYWxBbGlnbm1lbnQudG9wO1xuICAgICAgICByaWdodExlZnQgPSBob3Jpem9udGFsQWxpZ25tZW50LnJpZ2h0O1xuICAgICAgfSBlbHNlIGlmIChjb3JuZXIgPT09IGNvcm5lcnMuYm90dG9tUmlnaHQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5ud3NlO1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC5ib3R0b207XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQucmlnaHQ7XG5cbiAgICAgICAgY29uc3QgaWNvbjogSFRNTEVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnaScpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3MoaWNvbiwgJ21hdGVyaWFsLWljb25zJyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hcHBlbmRDaGlsZChpY29uLCB0aGlzLl9yZW5kZXJlcjIuY3JlYXRlVGV4dCgnZmlsdGVyX2xpc3QnKSk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hcHBlbmRDaGlsZChlbGVtZW50LCBpY29uKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGljb24sICd0cmFuc2Zvcm0nLCBgcm90YXRlKCR7MzE1fWRlZykgdHJhbnNsYXRlKDBweCwgJHtvZmZzZXR9KWApO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoaWNvbiwgJ2ZvbnQtc2l6ZScsIGNvcm5lcldpZHRoKTtcbiAgICAgIH0gZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLmJvdHRvbUxlZnQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5uZXN3O1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC5ib3R0b207XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQubGVmdDtcbiAgICAgIH0gZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLnRvcExlZnQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5ud3NlO1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC50b3A7XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQubGVmdDtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCB0b3BCb3R0b20sIG9mZnNldCk7XG4gICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZWxlbWVudCwgcmlnaHRMZWZ0LCBvZmZzZXQpO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGVsZW1lbnQsICdjdXJzb3InLCBjdXJzb3IpO1xuXG4gICAgICBjb25zdCBwb2ludGVyRG93blN1YjogU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KGVsZW1lbnQsICdwb2ludGVyZG93bicpLnN1YnNjcmliZSgoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLl9oYW5kbGVNb3VzZURvd24oZXZlbnQsIGNvcm5lcik7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucG9pbnRlckRvd25TdWJzID0gWy4uLnRoaXMucG9pbnRlckRvd25TdWJzLCBwb2ludGVyRG93blN1Yl07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVNb3VzZURvd24oZXZlbnQ6IFBvaW50ZXJFdmVudCwgY29ybmVyOiBjb3JuZXJzKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKDxIVE1MRWxlbWVudD50aGlzLl9kb2N1bWVudC5ib2R5LCAndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIGNvbnN0IHsgd2lkdGg6IG9yaWdpbmFsV2lkdGgsIGhlaWdodDogb3JpZ2luYWxIZWlnaHQgfSA9IHRoaXMuX2dldERpYWxvZ1dyYXBwZXJEaW1lbnNpb25zKCk7XG4gICAgY29uc3Qgb3JpZ2luYWxNb3VzZVg6IG51bWJlciA9IGV2ZW50LnBhZ2VYO1xuICAgIGNvbnN0IG9yaWdpbmFsTW91c2VZOiBudW1iZXIgPSBldmVudC5wYWdlWTtcbiAgICBjb25zdCB7IHg6IGN1cnJlbnRUcmFuc2Zvcm1YLCB5OiBjdXJyZW50VHJhbnNmb3JtWSB9OiBQb2ludCA9IHRoaXMuX2RyYWdSZWYuZ2V0RnJlZURyYWdQb3NpdGlvbigpO1xuICAgIGNvbnN0IHtcbiAgICAgIGJvdHRvbTogZGlzdGFuY2VGcm9tQm90dG9tLFxuICAgICAgcmlnaHQ6IGRpc3RhbmNlRnJvbVJpZ2h0LFxuICAgIH06IENsaWVudFJlY3QgPSB0aGlzLl9nZXREaWFsb2dXcmFwcGVyKCkuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgeyByaWdodDogdmlld3BvcnRXaWR0aCwgYm90dG9tOiB2aWV3cG9ydEhlaWdodCB9OiBDbGllbnRSZWN0ID0gdGhpcy5fZ2V0Vmlld3BvcnREaW1lbnNpb25zKCk7XG5cbiAgICBjb25zdCBtb3VzZU1vdmVTdWI6IFN1YnNjcmlwdGlvbiA9IGZyb21FdmVudCh3aW5kb3csICdwb2ludGVybW92ZScpLnN1YnNjcmliZSgoZTogUG9pbnRlckV2ZW50KSA9PiB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7IC8vIHByZXZlbnQgaGlnaGxpZ2h0aW5nIG9mIHRleHQgd2hlbiBkcmFnZ2luZ1xuXG4gICAgICBjb25zdCB5RGVsdGE6IG51bWJlciA9IGNsYW1wKDAsIGUucGFnZVksIHZpZXdwb3J0SGVpZ2h0KSAtIG9yaWdpbmFsTW91c2VZO1xuICAgICAgY29uc3QgeERlbHRhOiBudW1iZXIgPSBjbGFtcCgwLCBlLnBhZ2VYLCB2aWV3cG9ydFdpZHRoKSAtIG9yaWdpbmFsTW91c2VYO1xuICAgICAgbGV0IG5ld0hlaWdodDogbnVtYmVyO1xuICAgICAgbGV0IG5ld1dpZHRoOiBudW1iZXI7XG4gICAgICBsZXQgbmV3VHJhbnNmb3JtWTogbnVtYmVyID0gMDtcbiAgICAgIGxldCBuZXdUcmFuc2Zvcm1YOiBudW1iZXIgPSAwO1xuXG4gICAgICAvLyB0b3AgcmlnaHRcbiAgICAgIGlmIChjb3JuZXIgPT09IGNvcm5lcnMudG9wUmlnaHQpIHtcbiAgICAgICAgbmV3SGVpZ2h0ID0gY2xhbXAobWluSGVpZ2h0LCBvcmlnaW5hbEhlaWdodCAtIHlEZWx0YSwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBuZXdXaWR0aCA9IGNsYW1wKG1pbldpZHRoLCBvcmlnaW5hbFdpZHRoICsgeERlbHRhLCB2aWV3cG9ydFdpZHRoKTtcbiAgICAgICAgbmV3VHJhbnNmb3JtWSA9IGNsYW1wKDAsIGN1cnJlbnRUcmFuc2Zvcm1ZICsgeURlbHRhLCBkaXN0YW5jZUZyb21Cb3R0b20gLSBuZXdIZWlnaHQpO1xuICAgICAgICBuZXdUcmFuc2Zvcm1YID0gY3VycmVudFRyYW5zZm9ybVg7XG4gICAgICB9XG4gICAgICAvLyBib3R0b20gcmlnaHRcbiAgICAgIGVsc2UgaWYgKGNvcm5lciA9PT0gY29ybmVycy5ib3R0b21SaWdodCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBjbGFtcChtaW5IZWlnaHQsIG9yaWdpbmFsSGVpZ2h0ICsgeURlbHRhLCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobWluV2lkdGgsIG9yaWdpbmFsV2lkdGggKyB4RGVsdGEsIHZpZXdwb3J0V2lkdGgpO1xuICAgICAgICBuZXdUcmFuc2Zvcm1ZID0gY3VycmVudFRyYW5zZm9ybVk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVggPSBjdXJyZW50VHJhbnNmb3JtWDtcbiAgICAgIH1cbiAgICAgIC8vIGJvdHRvbSBsZWZ0XG4gICAgICBlbHNlIGlmIChjb3JuZXIgPT09IGNvcm5lcnMuYm90dG9tTGVmdCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBjbGFtcChtaW5IZWlnaHQsIG9yaWdpbmFsSGVpZ2h0ICsgeURlbHRhLCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobWluV2lkdGgsIG9yaWdpbmFsV2lkdGggLSB4RGVsdGEsIHZpZXdwb3J0V2lkdGgpO1xuICAgICAgICBuZXdUcmFuc2Zvcm1ZID0gY3VycmVudFRyYW5zZm9ybVk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVggPSBjbGFtcCgwLCBjdXJyZW50VHJhbnNmb3JtWCArIHhEZWx0YSwgZGlzdGFuY2VGcm9tUmlnaHQgLSBuZXdXaWR0aCk7XG4gICAgICB9XG4gICAgICAvLyB0b3AgbGVmdFxuICAgICAgZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLnRvcExlZnQpIHtcbiAgICAgICAgbmV3SGVpZ2h0ID0gY2xhbXAobWluSGVpZ2h0LCBvcmlnaW5hbEhlaWdodCAtIHlEZWx0YSwgdmlld3BvcnRIZWlnaHQpO1xuICAgICAgICBuZXdXaWR0aCA9IGNsYW1wKG1pbldpZHRoLCBvcmlnaW5hbFdpZHRoIC0geERlbHRhLCB2aWV3cG9ydFdpZHRoKTtcblxuICAgICAgICBuZXdUcmFuc2Zvcm1YID0gY2xhbXAoMCwgY3VycmVudFRyYW5zZm9ybVggKyB4RGVsdGEsIGRpc3RhbmNlRnJvbVJpZ2h0IC0gbmV3V2lkdGgpO1xuICAgICAgICBuZXdUcmFuc2Zvcm1ZID0gY2xhbXAoMCwgY3VycmVudFRyYW5zZm9ybVkgKyB5RGVsdGEsIGRpc3RhbmNlRnJvbUJvdHRvbSAtIG5ld0hlaWdodCk7XG4gICAgICB9XG4gICAgICB0aGlzLl9kaWFsb2dSZWYudXBkYXRlU2l6ZShgJHtuZXdXaWR0aH1weGAsIGAke25ld0hlaWdodH1weGApO1xuICAgICAgdGhpcy5fZHJhZ1JlZi5zZXRGcmVlRHJhZ1Bvc2l0aW9uKHtcbiAgICAgICAgeDogbmV3VHJhbnNmb3JtWCxcbiAgICAgICAgeTogbmV3VHJhbnNmb3JtWSxcbiAgICAgIH0pO1xuICAgIH0pO1xuXG4gICAgY29uc3QgbW91c2VVcFN1YjogU3Vic2NyaXB0aW9uID0gbWVyZ2UoXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAncG9pbnRlcnVwJyksXG4gICAgICBmcm9tRXZlbnQod2luZG93LCAncG9pbnRlcmNhbmNlbCcpLFxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5yZW1vdmVTdHlsZSg8SFRNTEVsZW1lbnQ+dGhpcy5fZG9jdW1lbnQuYm9keSwgJ3VzZXItc2VsZWN0Jyk7XG4gICAgICBtb3VzZU1vdmVTdWIudW5zdWJzY3JpYmUoKTtcbiAgICAgIG1vdXNlVXBTdWIudW5zdWJzY3JpYmUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19