@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,378 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
4
- */
5
- import { Injectable, ComponentFactoryResolver, SkipSelf, Optional, } from '@angular/core';
6
- import { Injector } from '@angular/core';
7
- import { TemplatePortal, ComponentPortal } from '@angular/cdk/portal';
8
- import { Overlay, OverlayConfig } from '@angular/cdk/overlay';
9
- import { Subject } from 'rxjs';
10
- import { distinctUntilChanged } from 'rxjs/operators';
11
- import { TdLoadingComponent, LoadingStyle } from '../loading.component';
12
- /**
13
- * @record
14
- */
15
- export function IInternalLoadingOptions() { }
16
- if (false) {
17
- /** @type {?|undefined} */
18
- IInternalLoadingOptions.prototype.height;
19
- /** @type {?|undefined} */
20
- IInternalLoadingOptions.prototype.style;
21
- }
22
- /**
23
- * @record
24
- */
25
- export function ILoadingRef() { }
26
- if (false) {
27
- /** @type {?} */
28
- ILoadingRef.prototype.observable;
29
- /** @type {?} */
30
- ILoadingRef.prototype.componentRef;
31
- /** @type {?|undefined} */
32
- ILoadingRef.prototype.subject;
33
- /** @type {?|undefined} */
34
- ILoadingRef.prototype.times;
35
- }
36
- /**
37
- * NOTE: \@internal usage only.
38
- */
39
- var TdLoadingFactory = /** @class */ (function () {
40
- function TdLoadingFactory(_componentFactoryResolver, _overlay, _injector) {
41
- this._componentFactoryResolver = _componentFactoryResolver;
42
- this._overlay = _overlay;
43
- this._injector = _injector;
44
- }
45
- /**
46
- * Uses material `Overlay` services to create a DOM element and attach the loading component
47
- * into it. Leveraging the state and configuration from it.
48
- *
49
- * Saves a reference in context to be called when registering/resolving the loading element.
50
- */
51
- /**
52
- * Uses material `Overlay` services to create a DOM element and attach the loading component
53
- * into it. Leveraging the state and configuration from it.
54
- *
55
- * Saves a reference in context to be called when registering/resolving the loading element.
56
- * @param {?} options
57
- * @return {?}
58
- */
59
- TdLoadingFactory.prototype.createFullScreenComponent = /**
60
- * Uses material `Overlay` services to create a DOM element and attach the loading component
61
- * into it. Leveraging the state and configuration from it.
62
- *
63
- * Saves a reference in context to be called when registering/resolving the loading element.
64
- * @param {?} options
65
- * @return {?}
66
- */
67
- function (options) {
68
- var _this = this;
69
- ((/** @type {?} */ (options))).height = undefined;
70
- ((/** @type {?} */ (options))).style = LoadingStyle.FullScreen;
71
- /** @type {?} */
72
- var loadingRef = this._initializeContext();
73
- /** @type {?} */
74
- var loading = false;
75
- /** @type {?} */
76
- var overlayRef;
77
- loadingRef.observable.pipe(distinctUntilChanged()).subscribe((/**
78
- * @param {?} registered
79
- * @return {?}
80
- */
81
- function (registered) {
82
- if (registered > 0 && !loading) {
83
- loading = true;
84
- overlayRef = _this._createOverlay();
85
- loadingRef.componentRef = overlayRef.attach(new ComponentPortal(TdLoadingComponent));
86
- _this._mapOptions(options, loadingRef.componentRef.instance);
87
- loadingRef.componentRef.instance.show();
88
- loadingRef.componentRef.changeDetectorRef.detectChanges();
89
- }
90
- else if (registered <= 0 && loading) {
91
- loading = false;
92
- loadingRef.componentRef.instance.hide();
93
- loadingRef.componentRef.destroy();
94
- overlayRef.detach();
95
- overlayRef.dispose();
96
- }
97
- }));
98
- return loadingRef;
99
- };
100
- /**
101
- * Creates a loading component dynamically and attaches it into the given viewContainerRef.
102
- * Leverages TemplatePortals from material to inject the template inside of it so it fits
103
- * perfectly when overlaying it.
104
- *
105
- * Saves a reference in context to be called when registering/resolving the loading element.
106
- */
107
- /**
108
- * Creates a loading component dynamically and attaches it into the given viewContainerRef.
109
- * Leverages TemplatePortals from material to inject the template inside of it so it fits
110
- * perfectly when overlaying it.
111
- *
112
- * Saves a reference in context to be called when registering/resolving the loading element.
113
- * @param {?} options
114
- * @param {?} viewContainerRef
115
- * @param {?} templateRef
116
- * @return {?}
117
- */
118
- TdLoadingFactory.prototype.createOverlayComponent = /**
119
- * Creates a loading component dynamically and attaches it into the given viewContainerRef.
120
- * Leverages TemplatePortals from material to inject the template inside of it so it fits
121
- * perfectly when overlaying it.
122
- *
123
- * Saves a reference in context to be called when registering/resolving the loading element.
124
- * @param {?} options
125
- * @param {?} viewContainerRef
126
- * @param {?} templateRef
127
- * @return {?}
128
- */
129
- function (options, viewContainerRef, templateRef) {
130
- ((/** @type {?} */ (options))).height = undefined;
131
- ((/** @type {?} */ (options))).style = LoadingStyle.Overlay;
132
- /** @type {?} */
133
- var loadingRef = this._createComponent(options);
134
- /** @type {?} */
135
- var loading = false;
136
- loadingRef.componentRef.instance.content = new TemplatePortal(templateRef, viewContainerRef);
137
- viewContainerRef.clear();
138
- viewContainerRef.insert(loadingRef.componentRef.hostView, 0);
139
- loadingRef.observable.pipe(distinctUntilChanged()).subscribe((/**
140
- * @param {?} registered
141
- * @return {?}
142
- */
143
- function (registered) {
144
- if (registered > 0 && !loading) {
145
- loading = true;
146
- loadingRef.componentRef.instance.show();
147
- }
148
- else if (registered <= 0 && loading) {
149
- loading = false;
150
- loadingRef.componentRef.instance.hide();
151
- }
152
- }));
153
- return loadingRef;
154
- };
155
- /**
156
- * Creates a loading component dynamically and attaches it into the given viewContainerRef.
157
- * Replaces the template with the loading component depending if it was registered or resolved.
158
- *
159
- * Saves a reference in context to be called when registering/resolving the loading element.
160
- */
161
- /**
162
- * Creates a loading component dynamically and attaches it into the given viewContainerRef.
163
- * Replaces the template with the loading component depending if it was registered or resolved.
164
- *
165
- * Saves a reference in context to be called when registering/resolving the loading element.
166
- * @param {?} options
167
- * @param {?} viewContainerRef
168
- * @param {?} templateRef
169
- * @param {?} context
170
- * @return {?}
171
- */
172
- TdLoadingFactory.prototype.createReplaceComponent = /**
173
- * Creates a loading component dynamically and attaches it into the given viewContainerRef.
174
- * Replaces the template with the loading component depending if it was registered or resolved.
175
- *
176
- * Saves a reference in context to be called when registering/resolving the loading element.
177
- * @param {?} options
178
- * @param {?} viewContainerRef
179
- * @param {?} templateRef
180
- * @param {?} context
181
- * @return {?}
182
- */
183
- function (options, viewContainerRef, templateRef, context) {
184
- /** @type {?} */
185
- var nativeElement = (/** @type {?} */ (templateRef.elementRef.nativeElement));
186
- ((/** @type {?} */ (options))).height = nativeElement.nextElementSibling
187
- ? nativeElement.nextElementSibling.scrollHeight
188
- : undefined;
189
- ((/** @type {?} */ (options))).style = LoadingStyle.None;
190
- /** @type {?} */
191
- var loadingRef = this._createComponent(options);
192
- /** @type {?} */
193
- var loading = false;
194
- // passing context so when the template is attached, we can keep the reference of the variables
195
- /** @type {?} */
196
- var contentRef = viewContainerRef.createEmbeddedView(templateRef, context);
197
- loadingRef.observable.pipe(distinctUntilChanged()).subscribe((/**
198
- * @param {?} registered
199
- * @return {?}
200
- */
201
- function (registered) {
202
- if (registered > 0 && !loading) {
203
- loading = true;
204
- // detach the content and attach the loader if loader is there
205
- /** @type {?} */
206
- var index = viewContainerRef.indexOf(loadingRef.componentRef.hostView);
207
- if (index < 0) {
208
- viewContainerRef.detach(viewContainerRef.indexOf(contentRef));
209
- viewContainerRef.insert(loadingRef.componentRef.hostView, 0);
210
- }
211
- loadingRef.componentRef.instance.show();
212
- }
213
- else if (registered <= 0 && loading) {
214
- loading = false;
215
- loadingRef.componentRef.instance.hide();
216
- // detach loader and attach the content if content is there
217
- /** @type {?} */
218
- var index = viewContainerRef.indexOf(contentRef);
219
- if (index < 0) {
220
- viewContainerRef.detach(viewContainerRef.indexOf(loadingRef.componentRef.hostView));
221
- viewContainerRef.insert(contentRef, 0);
222
- }
223
- /**
224
- * Need to call "markForCheck" and "detectChanges" on attached template, so its detected by parent component when attached
225
- * with "OnPush" change detection
226
- */
227
- contentRef.detectChanges();
228
- contentRef.markForCheck();
229
- }
230
- }));
231
- return loadingRef;
232
- };
233
- /**
234
- * Creates a fullscreen overlay for the loading usage.
235
- */
236
- /**
237
- * Creates a fullscreen overlay for the loading usage.
238
- * @private
239
- * @return {?}
240
- */
241
- TdLoadingFactory.prototype._createOverlay = /**
242
- * Creates a fullscreen overlay for the loading usage.
243
- * @private
244
- * @return {?}
245
- */
246
- function () {
247
- /** @type {?} */
248
- var state = new OverlayConfig();
249
- state.hasBackdrop = false;
250
- state.positionStrategy = this._overlay.position().global().centerHorizontally().centerVertically();
251
- return this._overlay.create(state);
252
- };
253
- /**
254
- * Creates a generic component dynamically waiting to be attached to a viewContainerRef.
255
- */
256
- /**
257
- * Creates a generic component dynamically waiting to be attached to a viewContainerRef.
258
- * @private
259
- * @param {?} options
260
- * @return {?}
261
- */
262
- TdLoadingFactory.prototype._createComponent = /**
263
- * Creates a generic component dynamically waiting to be attached to a viewContainerRef.
264
- * @private
265
- * @param {?} options
266
- * @return {?}
267
- */
268
- function (options) {
269
- /** @type {?} */
270
- var compRef = this._initializeContext();
271
- compRef.componentRef = this._componentFactoryResolver
272
- .resolveComponentFactory(TdLoadingComponent)
273
- .create(this._injector);
274
- this._mapOptions(options, compRef.componentRef.instance);
275
- return compRef;
276
- };
277
- /**
278
- * Initialize context for loading component.
279
- */
280
- /**
281
- * Initialize context for loading component.
282
- * @private
283
- * @return {?}
284
- */
285
- TdLoadingFactory.prototype._initializeContext = /**
286
- * Initialize context for loading component.
287
- * @private
288
- * @return {?}
289
- */
290
- function () {
291
- /** @type {?} */
292
- var subject = new Subject();
293
- return {
294
- observable: subject.asObservable(),
295
- subject: subject,
296
- componentRef: undefined,
297
- times: 0,
298
- };
299
- };
300
- /**
301
- * Maps configuration to the loading component instance.
302
- */
303
- /**
304
- * Maps configuration to the loading component instance.
305
- * @private
306
- * @param {?} options
307
- * @param {?} instance
308
- * @return {?}
309
- */
310
- TdLoadingFactory.prototype._mapOptions = /**
311
- * Maps configuration to the loading component instance.
312
- * @private
313
- * @param {?} options
314
- * @param {?} instance
315
- * @return {?}
316
- */
317
- function (options, instance) {
318
- instance.style = options.style;
319
- if (options.type !== undefined) {
320
- instance.type = options.type;
321
- }
322
- if (options.height !== undefined) {
323
- instance.height = options.height;
324
- }
325
- if (options.mode !== undefined) {
326
- instance.mode = options.mode;
327
- }
328
- if (options.color !== undefined) {
329
- instance.color = options.color;
330
- }
331
- };
332
- TdLoadingFactory.decorators = [
333
- { type: Injectable }
334
- ];
335
- /** @nocollapse */
336
- TdLoadingFactory.ctorParameters = function () { return [
337
- { type: ComponentFactoryResolver },
338
- { type: Overlay },
339
- { type: Injector }
340
- ]; };
341
- return TdLoadingFactory;
342
- }());
343
- export { TdLoadingFactory };
344
- if (false) {
345
- /**
346
- * @type {?}
347
- * @private
348
- */
349
- TdLoadingFactory.prototype._componentFactoryResolver;
350
- /**
351
- * @type {?}
352
- * @private
353
- */
354
- TdLoadingFactory.prototype._overlay;
355
- /**
356
- * @type {?}
357
- * @private
358
- */
359
- TdLoadingFactory.prototype._injector;
360
- }
361
- /**
362
- * @param {?} parent
363
- * @param {?} componentFactoryResolver
364
- * @param {?} overlay
365
- * @param {?} injector
366
- * @return {?}
367
- */
368
- export function LOADING_FACTORY_PROVIDER_FACTORY(parent, componentFactoryResolver, overlay, injector) {
369
- return parent || new TdLoadingFactory(componentFactoryResolver, overlay, injector);
370
- }
371
- /** @type {?} */
372
- export var LOADING_FACTORY_PROVIDER = {
373
- // If there is already a service available, use that. Otherwise, provide a new one.
374
- provide: TdLoadingFactory,
375
- deps: [[new Optional(), new SkipSelf(), TdLoadingFactory], ComponentFactoryResolver, Overlay, Injector],
376
- useFactory: LOADING_FACTORY_PROVIDER_FACTORY,
377
- };
378
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZGluZy5mYWN0b3J5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQGNvdmFsZW50L2NvcmUvbG9hZGluZy8iLCJzb3VyY2VzIjpbInNlcnZpY2VzL2xvYWRpbmcuZmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsT0FBTyxFQUNMLFVBQVUsRUFDVix3QkFBd0IsRUFHeEIsUUFBUSxFQUNSLFFBQVEsR0FFVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsUUFBUSxFQUErQyxNQUFNLGVBQWUsQ0FBQztBQUN0RixPQUFPLEVBQUUsY0FBYyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxPQUFPLEVBQUUsYUFBYSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFFMUUsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUd0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7QUFHeEUsNkNBR0M7OztJQUZDLHlDQUFnQjs7SUFDaEIsd0NBQXFCOzs7OztBQUd2QixpQ0FLQzs7O0lBSkMsaUNBQTRCOztJQUM1QixtQ0FBZ0M7O0lBQ2hDLDhCQUF1Qjs7SUFDdkIsNEJBQWU7Ozs7O0FBTWpCO0lBRUUsMEJBQ1UseUJBQW1ELEVBQ25ELFFBQWlCLEVBQ2pCLFNBQW1CO1FBRm5CLDhCQUF5QixHQUF6Qix5QkFBeUIsQ0FBMEI7UUFDbkQsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixjQUFTLEdBQVQsU0FBUyxDQUFVO0lBQzFCLENBQUM7SUFFSjs7Ozs7T0FLRzs7Ozs7Ozs7O0lBQ0ksb0RBQXlCOzs7Ozs7OztJQUFoQyxVQUFpQyxPQUF5QjtRQUExRCxpQkF1QkM7UUF0QkMsQ0FBQyxtQkFBeUIsT0FBTyxFQUFBLENBQUMsQ0FBQyxNQUFNLEdBQUcsU0FB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Ozs7Z0JBakNULHdCQUF3QjtnQkFTakIsT0FBTztnQkFGUCxRQUFROztJQXdNakIsdUJBQUM7Q0FBQSxBQTlLRCxJQThLQztTQTdLWSxnQkFBZ0I7Ozs7OztJQUV6QixxREFBMkQ7Ozs7O0lBQzNELG9DQUF5Qjs7Ozs7SUFDekIscUNBQTJCOzs7Ozs7Ozs7QUEySy9CLE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsTUFBd0IsRUFDeEIsd0JBQWtELEVBQ2xELE9BQWdCLEVBQ2hCLFFBQWtCO0lBRWxCLE9BQU8sTUFBTSxJQUFJLElBQUksZ0JBQWdCLENBQUMsd0JBQXdCLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7O0FBRUQsTUFBTSxLQUFPLHdCQUF3QixHQUFhOztJQUVoRCxPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLGdCQUFnQixDQUFDLEVBQUUsd0JBQXdCLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQztJQUN2RyxVQUFVLEVBQUUsZ0NBQWdDO0NBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgSW5qZWN0YWJsZSxcbiAgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgUHJvdmlkZXIsXG4gIFNraXBTZWxmLFxuICBPcHRpb25hbCxcbiAgRW1iZWRkZWRWaWV3UmVmLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEluamVjdG9yLCBDb21wb25lbnRSZWYsIFZpZXdDb250YWluZXJSZWYsIFRlbXBsYXRlUmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCwgQ29tcG9uZW50UG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xuXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW1wb3J0IHsgVGRMb2FkaW5nQ29udGV4dCB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvbG9hZGluZy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVGRMb2FkaW5nQ29tcG9uZW50LCBMb2FkaW5nU3R5bGUgfSBmcm9tICcuLi9sb2FkaW5nLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBJVGRMb2FkaW5nQ29uZmlnIH0gZnJvbSAnLi9sb2FkaW5nLnNlcnZpY2UnO1xuXG5leHBvcnQgaW50ZXJmYWNlIElJbnRlcm5hbExvYWRpbmdPcHRpb25zIGV4dGVuZHMgSVRkTG9hZGluZ0NvbmZpZyB7XG4gIGhlaWdodD86IG51bWJlcjtcbiAgc3R5bGU/OiBMb2FkaW5nU3R5bGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUxvYWRpbmdSZWYge1xuICBvYnNlcnZhYmxlOiBPYnNlcnZhYmxlPGFueT47XG4gIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPGFueT47XG4gIHN1YmplY3Q/OiBTdWJqZWN0PGFueT47XG4gIHRpbWVzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIE5PVEU6IEBpbnRlcm5hbCB1c2FnZSBvbmx5LlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgVGRMb2FkaW5nRmFjdG9yeSB7XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2NvbXBvbmVudEZhY3RvcnlSZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHByaXZhdGUgX292ZXJsYXk6IE92ZXJsYXksXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yLFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFVzZXMgbWF0ZXJpYWwgYE92ZXJsYXlgIHNlcnZpY2VzIHRvIGNyZWF0ZSBhIERPTSBlbGVtZW50IGFuZCBhdHRhY2ggdGhlIGxvYWRpbmcgY29tcG9uZW50XG4gICAqIGludG8gaXQuIExldmVyYWdpbmcgdGhlIHN0YXRlIGFuZCBjb25maWd1cmF0aW9uIGZyb20gaXQuXG4gICAqXG4gICAqIFNhdmVzIGEgcmVmZXJlbmNlIGluIGNvbnRleHQgdG8gYmUgY2FsbGVkIHdoZW4gcmVnaXN0ZXJpbmcvcmVzb2x2aW5nIHRoZSBsb2FkaW5nIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgY3JlYXRlRnVsbFNjcmVlbkNvbXBvbmVudChvcHRpb25zOiBJVGRMb2FkaW5nQ29uZmlnKTogSUxvYWRpbmdSZWYge1xuICAgICg8SUludGVybmFsTG9hZGluZ09wdGlvbnM+b3B0aW9ucykuaGVpZ2h0ID0gdW5kZWZpbmVkO1xuICAgICg8SUludGVybmFsTG9hZGluZ09wdGlvbnM+b3B0aW9ucykuc3R5bGUgPSBMb2FkaW5nU3R5bGUuRnVsbFNjcmVlbjtcbiAgICBjb25zdCBsb2FkaW5nUmVmOiBJTG9hZGluZ1JlZiA9IHRoaXMuX2luaXRpYWxpemVDb250ZXh0KCk7XG4gICAgbGV0IGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBsZXQgb3ZlcmxheVJlZjogT3ZlcmxheVJlZjtcbiAgICBsb2FkaW5nUmVmLm9ic2VydmFibGUucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKHJlZ2lzdGVyZWQ6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKHJlZ2lzdGVyZWQgPiAwICYmICFsb2FkaW5nKSB7XG4gICAgICAgIGxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBvdmVybGF5UmVmID0gdGhpcy5fY3JlYXRlT3ZlcmxheSgpO1xuICAgICAgICBsb2FkaW5nUmVmLmNvbXBvbmVudFJlZiA9IG92ZXJsYXlSZWYuYXR0YWNoKG5ldyBDb21wb25lbnRQb3J0YWwoVGRMb2FkaW5nQ29tcG9uZW50KSk7XG4gICAgICAgIHRoaXMuX21hcE9wdGlvbnMob3B0aW9ucywgbG9hZGluZ1JlZi5jb21wb25lbnRSZWYuaW5zdGFuY2UpO1xuICAgICAgICBsb2FkaW5nUmVmLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5zaG93KCk7XG4gICAgICAgIGxvYWRpbmdSZWYuY29tcG9uZW50UmVmLmNoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0gZWxzZSBpZiAocmVnaXN0ZXJlZCA8PSAwICYmIGxvYWRpbmcpIHtcbiAgICAgICAgbG9hZGluZyA9IGZhbHNlO1xuICAgICAgICBsb2FkaW5nUmVmLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5oaWRlKCk7XG4gICAgICAgIGxvYWRpbmdSZWYuY29tcG9uZW50UmVmLmRlc3Ryb3koKTtcbiAgICAgICAgb3ZlcmxheVJlZi5kZXRhY2goKTtcbiAgICAgICAgb3ZlcmxheVJlZi5kaXNwb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIGxvYWRpbmdSZWY7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGxvYWRpbmcgY29tcG9uZW50IGR5bmFtaWNhbGx5IGFuZCBhdHRhY2hlcyBpdCBpbnRvIHRoZSBnaXZlbiB2aWV3Q29udGFpbmVyUmVmLlxuICAgKiBMZXZlcmFnZXMgVGVtcGxhdGVQb3J0YWxzIGZyb20gbWF0ZXJpYWwgdG8gaW5qZWN0IHRoZSB0ZW1wbGF0ZSBpbnNpZGUgb2YgaXQgc28gaXQgZml0c1xuICAgKiBwZXJmZWN0bHkgd2hlbiBvdmVybGF5aW5nIGl0LlxuICAgKlxuICAgKiBTYXZlcyBhIHJlZmVyZW5jZSBpbiBjb250ZXh0IHRvIGJlIGNhbGxlZCB3aGVuIHJlZ2lzdGVyaW5nL3Jlc29sdmluZyB0aGUgbG9hZGluZyBlbGVtZW50LlxuICAgKi9cbiAgcHVibGljIGNyZWF0ZU92ZXJsYXlDb21wb25lbnQoXG4gICAgb3B0aW9uczogSVRkTG9hZGluZ0NvbmZpZyxcbiAgICB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHRlbXBsYXRlUmVmOiBUZW1wbGF0ZVJlZjxvYmplY3Q+LFxuICApOiBJTG9hZGluZ1JlZiB7XG4gICAgKDxJSW50ZXJuYWxMb2FkaW5nT3B0aW9ucz5vcHRpb25zKS5oZWlnaHQgPSB1bmRlZmluZWQ7XG4gICAgKDxJSW50ZXJuYWxMb2FkaW5nT3B0aW9ucz5vcHRpb25zKS5zdHlsZSA9IExvYWRpbmdTdHlsZS5PdmVybGF5O1xuICAgIGNvbnN0IGxvYWRpbmdSZWY6IElMb2FkaW5nUmVmID0gdGhpcy5fY3JlYXRlQ29tcG9uZW50KG9wdGlvbnMpO1xuICAgIGxldCBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XG4gICAgbG9hZGluZ1JlZi5jb21wb25lbnRSZWYuaW5zdGFuY2UuY29udGVudCA9IG5ldyBUZW1wbGF0ZVBvcnRhbCh0ZW1wbGF0ZVJlZiwgdmlld0NvbnRhaW5lclJlZik7XG4gICAgdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuICAgIHZpZXdDb250YWluZXJSZWYuaW5zZXJ0KGxvYWRpbmdSZWYuY29tcG9uZW50UmVmLmhvc3RWaWV3LCAwKTtcbiAgICBsb2FkaW5nUmVmLm9ic2VydmFibGUucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKHJlZ2lzdGVyZWQ6IG51bWJlcikgPT4ge1xuICAgICAgaWYgKHJlZ2lzdGVyZWQgPiAwICYmICFsb2FkaW5nKSB7XG4gICAgICAgIGxvYWRpbmcgPSB0cnVlO1xuICAgICAgICBsb2FkaW5nUmVmLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5zaG93KCk7XG4gICAgICB9IGVsc2UgaWYgKHJlZ2lzdGVyZWQgPD0gMCAmJiBsb2FkaW5nKSB7XG4gICAgICAgIGxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgbG9hZGluZ1JlZi5jb21wb25lbnRSZWYuaW5zdGFuY2UuaGlkZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBsb2FkaW5nUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBsb2FkaW5nIGNvbXBvbmVudCBkeW5hbWljYWxseSBhbmQgYXR0YWNoZXMgaXQgaW50byB0aGUgZ2l2ZW4gdmlld0NvbnRhaW5lclJlZi5cbiAgICogUmVwbGFjZXMgdGhlIHRlbXBsYXRlIHdpdGggdGhlIGxvYWRpbmcgY29tcG9uZW50IGRlcGVuZGluZyBpZiBpdCB3YXMgcmVnaXN0ZXJlZCBvciByZXNvbHZlZC5cbiAgICpcbiAgICogU2F2ZXMgYSByZWZlcmVuY2UgaW4gY29udGV4dCB0byBiZSBjYWxsZWQgd2hlbiByZWdpc3RlcmluZy9yZXNvbHZpbmcgdGhlIGxvYWRpbmcgZWxlbWVudC5cbiAgICovXG4gIHB1YmxpYyBjcmVhdGVSZXBsYWNlQ29tcG9uZW50KFxuICAgIG9wdGlvbnM6IElUZExvYWRpbmdDb25maWcsXG4gICAgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZixcbiAgICB0ZW1wbGF0ZVJlZjogVGVtcGxhdGVSZWY8b2JqZWN0PixcbiAgICBjb250ZXh0OiBUZExvYWRpbmdDb250ZXh0LFxuICApOiBJTG9hZGluZ1JlZiB7XG4gICAgY29uc3QgbmF0aXZlRWxlbWVudDogSFRNTEVsZW1lbnQgPSA8SFRNTEVsZW1lbnQ+dGVtcGxhdGVSZWYuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICAgICg8SUludGVybmFsTG9hZGluZ09wdGlvbnM+b3B0aW9ucykuaGVpZ2h0ID0gbmF0aXZlRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmdcbiAgICAgID8gbmF0aXZlRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmcuc2Nyb2xsSGVpZ2h0XG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICAoPElJbnRlcm5hbExvYWRpbmdPcHRpb25zPm9wdGlvbnMpLnN0eWxlID0gTG9hZGluZ1N0eWxlLk5vbmU7XG4gICAgY29uc3QgbG9hZGluZ1JlZjogSUxvYWRpbmdSZWYgPSB0aGlzLl9jcmVhdGVDb21wb25lbnQob3B0aW9ucyk7XG4gICAgbGV0IGxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAvLyBwYXNzaW5nIGNvbnRleHQgc28gd2hlbiB0aGUgdGVtcGxhdGUgaXMgYXR0YWNoZWQsIHdlIGNhbiBrZWVwIHRoZSByZWZlcmVuY2Ugb2YgdGhlIHZhcmlhYmxlc1xuICAgIGNvbnN0IGNvbnRlbnRSZWY6IEVtYmVkZGVkVmlld1JlZjxvYmplY3Q+ID0gdmlld0NvbnRhaW5lclJlZi5jcmVhdGVFbWJlZGRlZFZpZXcodGVtcGxhdGVSZWYsIGNvbnRleHQpO1xuICAgIGxvYWRpbmdSZWYub2JzZXJ2YWJsZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgocmVnaXN0ZXJlZDogbnVtYmVyKSA9PiB7XG4gICAgICBpZiAocmVnaXN0ZXJlZCA+IDAgJiYgIWxvYWRpbmcpIHtcbiAgICAgICAgbG9hZGluZyA9IHRydWU7XG4gICAgICAgIC8vIGRldGFjaCB0aGUgY29udGVudCBhbmQgYXR0YWNoIHRoZSBsb2FkZXIgaWYgbG9hZGVyIGlzIHRoZXJlXG4gICAgICAgIGNvbnN0IGluZGV4OiBudW1iZXIgPSB2aWV3Q29udGFpbmVyUmVmLmluZGV4T2YobG9hZGluZ1JlZi5jb21wb25lbnRSZWYuaG9zdFZpZXcpO1xuICAgICAgICBpZiAoaW5kZXggPCAwKSB7XG4gICAgICAgICAgdmlld0NvbnRhaW5lclJlZi5kZXRhY2godmlld0NvbnRhaW5lclJlZi5pbmRleE9mKGNvbnRlbnRSZWYpKTtcbiAgICAgICAgICB2aWV3Q29udGFpbmVyUmVmLmluc2VydChsb2FkaW5nUmVmLmNvbXBvbmVudFJlZi5ob3N0VmlldywgMCk7XG4gICAgICAgIH1cbiAgICAgICAgbG9hZGluZ1JlZi5jb21wb25lbnRSZWYuaW5zdGFuY2Uuc2hvdygpO1xuICAgICAgfSBlbHNlIGlmIChyZWdpc3RlcmVkIDw9IDAgJiYgbG9hZGluZykge1xuICAgICAgICBsb2FkaW5nID0gZmFsc2U7XG4gICAgICAgIGxvYWRpbmdSZWYuY29tcG9uZW50UmVmLmluc3RhbmNlLmhpZGUoKTtcbiAgICAgICAgLy8gZGV0YWNoIGxvYWRlciBhbmQgYXR0YWNoIHRoZSBjb250ZW50IGlmIGNvbnRlbnQgaXMgdGhlcmVcbiAgICAgICAgY29uc3QgaW5kZXg6IG51bWJlciA9IHZpZXdDb250YWluZXJSZWYuaW5kZXhPZihjb250ZW50UmVmKTtcbiAgICAgICAgaWYgKGluZGV4IDwgMCkge1xuICAgICAgICAgIHZpZXdDb250YWluZXJSZWYuZGV0YWNoKHZpZXdDb250YWluZXJSZWYuaW5kZXhPZihsb2FkaW5nUmVmLmNvbXBvbmVudFJlZi5ob3N0VmlldykpO1xuICAgICAgICAgIHZpZXdDb250YWluZXJSZWYuaW5zZXJ0KGNvbnRlbnRSZWYsIDApO1xuICAgICAgICB9XG4gICAgICAgIC8qKlxuICAgICAgICAgKiBOZWVkIHRvIGNhbGwgXCJtYXJrRm9yQ2hlY2tcIiBhbmQgXCJkZXRlY3RDaGFuZ2VzXCIgb24gYXR0YWNoZWQgdGVtcGxhdGUsIHNvIGl0cyBkZXRlY3RlZCBieSBwYXJlbnQgY29tcG9uZW50IHdoZW4gYXR0YWNoZWRcbiAgICAgICAgICogd2l0aCBcIk9uUHVzaFwiIGNoYW5nZSBkZXRlY3Rpb25cbiAgICAgICAgICovXG4gICAgICAgIGNvbnRlbnRSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBjb250ZW50UmVmLm1hcmtGb3JDaGVjaygpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHJldHVybiBsb2FkaW5nUmVmO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmdWxsc2NyZWVuIG92ZXJsYXkgZm9yIHRoZSBsb2FkaW5nIHVzYWdlLlxuICAgKi9cbiAgcHJpdmF0ZSBfY3JlYXRlT3ZlcmxheSgpOiBPdmVybGF5UmVmIHtcbiAgICBjb25zdCBzdGF0ZTogT3ZlcmxheUNvbmZpZyA9IG5ldyBPdmVybGF5Q29uZmlnKCk7XG4gICAgc3RhdGUuaGFzQmFja2Ryb3AgPSBmYWxzZTtcbiAgICBzdGF0ZS5wb3NpdGlvblN0cmF0ZWd5ID0gdGhpcy5fb3ZlcmxheS5wb3NpdGlvbigpLmdsb2JhbCgpLmNlbnRlckhvcml6b250YWxseSgpLmNlbnRlclZlcnRpY2FsbHkoKTtcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheS5jcmVhdGUoc3RhdGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBnZW5lcmljIGNvbXBvbmVudCBkeW5hbWljYWxseSB3YWl0aW5nIHRvIGJlIGF0dGFjaGVkIHRvIGEgdmlld0NvbnRhaW5lclJlZi5cbiAgICovXG4gIHByaXZhdGUgX2NyZWF0ZUNvbXBvbmVudChvcHRpb25zOiBJSW50ZXJuYWxMb2FkaW5nT3B0aW9ucyk6IElMb2FkaW5nUmVmIHtcbiAgICBjb25zdCBjb21wUmVmOiBJTG9hZGluZ1JlZiA9IHRoaXMuX2luaXRpYWxpemVDb250ZXh0KCk7XG4gICAgY29tcFJlZi5jb21wb25lbnRSZWYgPSB0aGlzLl9jb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgICAgIC5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUZExvYWRpbmdDb21wb25lbnQpXG4gICAgICAuY3JlYXRlKHRoaXMuX2luamVjdG9yKTtcbiAgICB0aGlzLl9tYXBPcHRpb25zKG9wdGlvbnMsIGNvbXBSZWYuY29tcG9uZW50UmVmLmluc3RhbmNlKTtcbiAgICByZXR1cm4gY29tcFJlZjtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGNvbnRleHQgZm9yIGxvYWRpbmcgY29tcG9uZW50LlxuICAgKi9cbiAgcHJpdmF0ZSBfaW5pdGlhbGl6ZUNvbnRleHQoKTogSUxvYWRpbmdSZWYge1xuICAgIGNvbnN0IHN1YmplY3Q6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0PGFueT4oKTtcbiAgICByZXR1cm4ge1xuICAgICAgb2JzZXJ2YWJsZTogc3ViamVjdC5hc09ic2VydmFibGUoKSxcbiAgICAgIHN1YmplY3QsXG4gICAgICBjb21wb25lbnRSZWY6IHVuZGVmaW5lZCxcbiAgICAgIHRpbWVzOiAwLFxuICAgIH07XG4gIH1cblxuICAvKipcbiAgICogTWFwcyBjb25maWd1cmF0aW9uIHRvIHRoZSBsb2FkaW5nIGNvbXBvbmVudCBpbnN0YW5jZS5cbiAgICovXG4gIHByaXZhdGUgX21hcE9wdGlvbnMob3B0aW9uczogSUludGVybmFsTG9hZGluZ09wdGlvbnMsIGluc3RhbmNlOiBUZExvYWRpbmdDb21wb25lbnQpOiB2b2lkIHtcbiAgICBpbnN0YW5jZS5zdHlsZSA9IG9wdGlvbnMuc3R5bGU7XG4gICAgaWYgKG9wdGlvbnMudHlwZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICBpbnN0YW5jZS50eXBlID0gb3B0aW9ucy50eXBlO1xuICAgIH1cbiAgICBpZiAob3B0aW9ucy5oZWlnaHQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5zdGFuY2UuaGVpZ2h0ID0gb3B0aW9ucy5oZWlnaHQ7XG4gICAgfVxuICAgIGlmIChvcHRpb25zLm1vZGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5zdGFuY2UubW9kZSA9IG9wdGlvbnMubW9kZTtcbiAgICB9XG4gICAgaWYgKG9wdGlvbnMuY29sb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgaW5zdGFuY2UuY29sb3IgPSBvcHRpb25zLmNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTE9BRElOR19GQUNUT1JZX1BST1ZJREVSX0ZBQ1RPUlkoXG4gIHBhcmVudDogVGRMb2FkaW5nRmFjdG9yeSxcbiAgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsXG4gIG92ZXJsYXk6IE92ZXJsYXksXG4gIGluamVjdG9yOiBJbmplY3Rvcixcbik6IFRkTG9hZGluZ0ZhY3Rvcnkge1xuICByZXR1cm4gcGFyZW50IHx8IG5ldyBUZExvYWRpbmdGYWN0b3J5KGNvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgb3ZlcmxheSwgaW5qZWN0b3IpO1xufVxuXG5leHBvcnQgY29uc3QgTE9BRElOR19GQUNUT1JZX1BST1ZJREVSOiBQcm92aWRlciA9IHtcbiAgLy8gSWYgdGhlcmUgaXMgYWxyZWFkeSBhIHNlcnZpY2UgYXZhaWxhYmxlLCB1c2UgdGhhdC4gT3RoZXJ3aXNlLCBwcm92aWRlIGEgbmV3IG9uZS5cbiAgcHJvdmlkZTogVGRMb2FkaW5nRmFjdG9yeSxcbiAgZGVwczogW1tuZXcgT3B0aW9uYWwoKSwgbmV3IFNraXBTZWxmKCksIFRkTG9hZGluZ0ZhY3RvcnldLCBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXIsIE92ZXJsYXksIEluamVjdG9yXSxcbiAgdXNlRmFjdG9yeTogTE9BRElOR19GQUNUT1JZX1BST1ZJREVSX0ZBQ1RPUlksXG59O1xuIl19