@covalent/core 4.0.0 → 4.1.0-develop.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (613) hide show
  1. package/README.md +5 -4
  2. package/breadcrumbs/README.md +21 -17
  3. package/breadcrumbs/breadcrumb/breadcrumb.component.d.ts +6 -1
  4. package/breadcrumbs/breadcrumbs.component.d.ts +4 -0
  5. package/breadcrumbs/breadcrumbs.module.d.ts +8 -0
  6. package/breadcrumbs/covalent-core-breadcrumbs.d.ts +2 -1
  7. package/breadcrumbs/package.json +6 -7
  8. package/breadcrumbs/{public-api.d.ts → public_api.d.ts} +0 -0
  9. package/common/README.md +3 -0
  10. package/common/_common-theme.scss +3 -1
  11. package/common/behaviors/disable-ripple.mixin.d.ts +1 -1
  12. package/common/behaviors/disabled.mixin.d.ts +1 -1
  13. package/common/common.module.d.ts +15 -0
  14. package/common/covalent-core-common.d.ts +2 -3
  15. package/common/directives/fullscreen/fullscreen.directive.d.ts +3 -0
  16. package/common/forms/auto-trim/auto-trim.directive.d.ts +3 -0
  17. package/common/package.json +6 -7
  18. package/common/pipes/bytes/bytes.pipe.d.ts +3 -0
  19. package/common/pipes/decimal-bytes/decimal-bytes.pipe.d.ts +3 -0
  20. package/common/pipes/digits/digits.pipe.d.ts +3 -0
  21. package/common/pipes/time-ago/time-ago.pipe.d.ts +3 -0
  22. package/common/pipes/time-difference/time-difference.pipe.d.ts +3 -0
  23. package/common/pipes/time-until/time-until.pipe.d.ts +3 -0
  24. package/common/pipes/truncate/truncate.pipe.d.ts +4 -1
  25. package/common/{public-api.d.ts → public_api.d.ts} +0 -0
  26. package/common/services/icon.service.d.ts +3 -0
  27. package/common/services/router-path.service.d.ts +3 -0
  28. package/common/styles/font/README.md +4 -2
  29. package/covalent-core.d.ts +2 -1
  30. package/dialogs/README.md +38 -30
  31. package/dialogs/_dialog-theme.scss +1 -0
  32. package/dialogs/alert-dialog/alert-dialog.component.d.ts +6 -3
  33. package/dialogs/confirm-dialog/confirm-dialog.component.d.ts +5 -2
  34. package/dialogs/covalent-core-dialogs.d.ts +2 -2
  35. package/dialogs/dialog.component.d.ts +9 -0
  36. package/dialogs/dialogs.module.d.ts +17 -0
  37. package/dialogs/package.json +6 -7
  38. package/dialogs/prompt-dialog/prompt-dialog.component.d.ts +6 -3
  39. package/dialogs/{public-api.d.ts → public_api.d.ts} +1 -0
  40. package/dialogs/services/dialog.service.d.ts +3 -0
  41. package/dialogs/src/README.md +223 -0
  42. package/dialogs/window-dialog/window-dialog.component.d.ts +8 -5
  43. package/dynamic-menu/README.md +6 -6
  44. package/dynamic-menu/covalent-core-dynamic-menu.d.ts +2 -2
  45. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.d.ts +4 -1
  46. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.d.ts +4 -1
  47. package/dynamic-menu/dynamic-menu.component.d.ts +4 -22
  48. package/dynamic-menu/dynamic-menu.menu.d.ts +22 -0
  49. package/dynamic-menu/dynamic-menu.module.d.ts +13 -0
  50. package/dynamic-menu/package.json +6 -7
  51. package/dynamic-menu/public_api.d.ts +2 -0
  52. package/esm2020/breadcrumbs/breadcrumb/breadcrumb.component.mjs +92 -0
  53. package/esm2020/breadcrumbs/breadcrumbs.component.mjs +134 -0
  54. package/esm2020/breadcrumbs/breadcrumbs.module.mjs +20 -0
  55. package/esm2020/breadcrumbs/covalent-core-breadcrumbs.mjs +5 -0
  56. package/esm2020/breadcrumbs/public_api.mjs +4 -0
  57. package/esm2020/common/animations/bounce/bounce.animation.mjs +70 -0
  58. package/esm2020/common/animations/collapse/collapse.animation.mjs +51 -0
  59. package/esm2020/common/animations/common/interfaces.mjs +2 -0
  60. package/esm2020/common/animations/fade/fadeInOut.animation.mjs +37 -0
  61. package/esm2020/common/animations/flash/flash.animation.mjs +34 -0
  62. package/esm2020/common/animations/headshake/headshake.animation.mjs +47 -0
  63. package/esm2020/common/animations/jello/jello.animation.mjs +59 -0
  64. package/esm2020/common/animations/pulse/pulse.animation.mjs +32 -0
  65. package/esm2020/common/animations/rotate/rotate.animation.mjs +30 -0
  66. package/esm2020/common/behaviors/control-value-accesor.mixin.mjs +41 -0
  67. package/esm2020/common/behaviors/disable-ripple.mixin.mjs +24 -0
  68. package/esm2020/common/behaviors/disabled.mixin.mjs +24 -0
  69. package/esm2020/common/common.module.mjs +63 -0
  70. package/esm2020/common/covalent-core-common.mjs +5 -0
  71. package/esm2020/common/directives/fullscreen/fullscreen.directive.mjs +85 -0
  72. package/esm2020/common/forms/auto-trim/auto-trim.directive.mjs +36 -0
  73. package/esm2020/common/forms/validators/validators.mjs +29 -0
  74. package/esm2020/common/functions/clipboard.mjs +23 -0
  75. package/esm2020/common/functions/convert.mjs +84 -0
  76. package/esm2020/common/functions/download.mjs +75 -0
  77. package/esm2020/common/functions/file.mjs +16 -0
  78. package/esm2020/common/pipes/bytes/bytes.pipe.mjs +42 -0
  79. package/esm2020/common/pipes/decimal-bytes/decimal-bytes.pipe.mjs +42 -0
  80. package/esm2020/common/pipes/digits/digits.pipe.mjs +39 -0
  81. package/esm2020/common/pipes/time-ago/time-ago.pipe.mjs +72 -0
  82. package/esm2020/common/pipes/time-difference/time-difference.pipe.mjs +51 -0
  83. package/esm2020/common/pipes/time-until/time-until.pipe.mjs +72 -0
  84. package/esm2020/common/pipes/truncate/truncate.pipe.mjs +27 -0
  85. package/esm2020/common/public_api.mjs +39 -0
  86. package/esm2020/common/services/icon.service.mjs +1089 -0
  87. package/esm2020/common/services/router-path.service.mjs +29 -0
  88. package/esm2020/covalent-core.mjs +5 -0
  89. package/esm2020/dialogs/alert-dialog/alert-dialog.component.mjs +23 -0
  90. package/esm2020/dialogs/confirm-dialog/confirm-dialog.component.mjs +28 -0
  91. package/esm2020/dialogs/covalent-core-dialogs.mjs +5 -0
  92. package/esm2020/dialogs/dialog.component.mjs +56 -0
  93. package/esm2020/dialogs/dialogs.module.mjs +89 -0
  94. package/esm2020/dialogs/prompt-dialog/prompt-dialog.component.mjs +46 -0
  95. package/esm2020/dialogs/public_api.mjs +9 -0
  96. package/esm2020/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.mjs +216 -0
  97. package/esm2020/dialogs/services/dialog.service.mjs +171 -0
  98. package/esm2020/dialogs/window-dialog/window-dialog.component.mjs +38 -0
  99. package/esm2020/dynamic-menu/covalent-core-dynamic-menu.mjs +5 -0
  100. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.mjs +30 -0
  101. package/esm2020/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.mjs +24 -0
  102. package/esm2020/dynamic-menu/dynamic-menu.component.mjs +28 -0
  103. package/esm2020/dynamic-menu/dynamic-menu.menu.mjs +2 -0
  104. package/esm2020/dynamic-menu/dynamic-menu.module.mjs +57 -0
  105. package/esm2020/dynamic-menu/public_api.mjs +6 -0
  106. package/esm2020/file/covalent-core-file.mjs +5 -0
  107. package/esm2020/file/directives/file-drop.directive.mjs +147 -0
  108. package/esm2020/file/directives/file-select.directive.mjs +77 -0
  109. package/esm2020/file/file-input/file-input.component.mjs +110 -0
  110. package/esm2020/file/file-upload/file-upload.component.mjs +174 -0
  111. package/esm2020/file/file.module.mjs +58 -0
  112. package/esm2020/file/public_api.mjs +7 -0
  113. package/esm2020/file/services/file.service.mjs +64 -0
  114. package/esm2020/json-formatter/collapse.animation.mjs +51 -0
  115. package/esm2020/json-formatter/covalent-core-json-formatter.mjs +5 -0
  116. package/esm2020/json-formatter/json-formatter.component.mjs +217 -0
  117. package/esm2020/json-formatter/json-formatter.module.mjs +20 -0
  118. package/esm2020/json-formatter/public_api.mjs +3 -0
  119. package/esm2020/layout/covalent-core-layout.mjs +5 -0
  120. package/esm2020/layout/layout-card-over/layout-card-over.component.mjs +40 -0
  121. package/esm2020/layout/layout-footer/layout-footer.component.mjs +33 -0
  122. package/esm2020/layout/layout-manage-list/layout-manage-list.component.mjs +93 -0
  123. package/esm2020/layout/layout-manage-list/layout-manage-list.directives.mjs +84 -0
  124. package/esm2020/layout/layout-nav/layout-nav.component.mjs +50 -0
  125. package/esm2020/layout/layout-nav-list/layout-nav-list.component.mjs +128 -0
  126. package/esm2020/layout/layout-nav-list/layout-nav-list.directives.mjs +84 -0
  127. package/esm2020/layout/layout-toggle.class.mjs +92 -0
  128. package/esm2020/layout/layout.component.mjs +92 -0
  129. package/esm2020/layout/layout.directives.mjs +85 -0
  130. package/esm2020/layout/layout.module.mjs +117 -0
  131. package/esm2020/layout/navigation-drawer/navigation-drawer.component.mjs +161 -0
  132. package/esm2020/layout/public_api.mjs +13 -0
  133. package/esm2020/menu/covalent-core-menu.mjs +5 -0
  134. package/esm2020/menu/menu.component.mjs +12 -0
  135. package/esm2020/menu/menu.module.mjs +21 -0
  136. package/esm2020/menu/public_api.mjs +3 -0
  137. package/esm2020/message/collapse.animation.mjs +51 -0
  138. package/esm2020/message/covalent-core-message.mjs +5 -0
  139. package/esm2020/message/message.component.mjs +203 -0
  140. package/esm2020/message/message.module.mjs +25 -0
  141. package/esm2020/message/public_api.mjs +3 -0
  142. package/esm2020/public_api.mjs +2 -0
  143. package/esm2020/search/covalent-core-search.mjs +5 -0
  144. package/esm2020/search/public_api.mjs +4 -0
  145. package/esm2020/search/search-box/search-box.component.mjs +194 -0
  146. package/esm2020/search/search-input/search-input.component.mjs +203 -0
  147. package/esm2020/search/search.module.mjs +39 -0
  148. package/esm2020/side-sheet/covalent-core-side-sheet.mjs +5 -0
  149. package/esm2020/side-sheet/public_api.mjs +6 -0
  150. package/esm2020/side-sheet/side-sheet-container.mjs +274 -0
  151. package/esm2020/side-sheet/side-sheet-ref.mjs +21 -0
  152. package/esm2020/side-sheet/side-sheet.animation.mjs +12 -0
  153. package/esm2020/side-sheet/side-sheet.config.mjs +4 -0
  154. package/esm2020/side-sheet/side-sheet.content-directives.mjs +201 -0
  155. package/esm2020/side-sheet/side-sheet.mjs +221 -0
  156. package/esm2020/side-sheet/side-sheet.module.mjs +45 -0
  157. package/esm2020/user-profile/covalent-core-user-profile.mjs +5 -0
  158. package/esm2020/user-profile/public_api.mjs +4 -0
  159. package/esm2020/user-profile/user-profile-menu/user-profile-menu.component.mjs +24 -0
  160. package/esm2020/user-profile/user-profile.component.mjs +19 -0
  161. package/esm2020/user-profile/user-profile.module.mjs +44 -0
  162. package/fesm2015/covalent-core-breadcrumbs.mjs +246 -0
  163. package/fesm2015/covalent-core-breadcrumbs.mjs.map +1 -0
  164. package/fesm2015/covalent-core-common.mjs +2281 -0
  165. package/fesm2015/covalent-core-common.mjs.map +1 -0
  166. package/fesm2015/covalent-core-dialogs.mjs +639 -0
  167. package/fesm2015/covalent-core-dialogs.mjs.map +1 -0
  168. package/fesm2015/covalent-core-dynamic-menu.mjs +128 -0
  169. package/fesm2015/covalent-core-dynamic-menu.mjs.map +1 -0
  170. package/fesm2015/covalent-core-file.mjs +613 -0
  171. package/fesm2015/covalent-core-file.mjs.map +1 -0
  172. package/fesm2015/covalent-core-json-formatter.mjs +298 -0
  173. package/fesm2015/covalent-core-json-formatter.mjs.map +1 -0
  174. package/fesm2015/covalent-core-layout.mjs +1024 -0
  175. package/fesm2015/covalent-core-layout.mjs.map +1 -0
  176. package/fesm2015/covalent-core-menu.mjs +37 -0
  177. package/fesm2015/covalent-core-menu.mjs.map +1 -0
  178. package/fesm2015/covalent-core-message.mjs +284 -0
  179. package/fesm2015/covalent-core-message.mjs.map +1 -0
  180. package/fesm2015/covalent-core-search.mjs +428 -0
  181. package/fesm2015/covalent-core-search.mjs.map +1 -0
  182. package/fesm2015/covalent-core-side-sheet.mjs +762 -0
  183. package/fesm2015/covalent-core-side-sheet.mjs.map +1 -0
  184. package/fesm2015/covalent-core-user-profile.mjs +86 -0
  185. package/fesm2015/covalent-core-user-profile.mjs.map +1 -0
  186. package/fesm2015/covalent-core.mjs +4 -0
  187. package/fesm2015/covalent-core.mjs.map +1 -0
  188. package/fesm2020/covalent-core-breadcrumbs.mjs +246 -0
  189. package/fesm2020/covalent-core-breadcrumbs.mjs.map +1 -0
  190. package/{fesm2015/covalent-core-common.js → fesm2020/covalent-core-common.mjs} +317 -813
  191. package/fesm2020/covalent-core-common.mjs.map +1 -0
  192. package/fesm2020/covalent-core-dialogs.mjs +634 -0
  193. package/fesm2020/covalent-core-dialogs.mjs.map +1 -0
  194. package/fesm2020/covalent-core-dynamic-menu.mjs +128 -0
  195. package/fesm2020/covalent-core-dynamic-menu.mjs.map +1 -0
  196. package/fesm2020/covalent-core-file.mjs +607 -0
  197. package/fesm2020/covalent-core-file.mjs.map +1 -0
  198. package/fesm2020/covalent-core-json-formatter.mjs +290 -0
  199. package/fesm2020/covalent-core-json-formatter.mjs.map +1 -0
  200. package/fesm2020/covalent-core-layout.mjs +1000 -0
  201. package/fesm2020/covalent-core-layout.mjs.map +1 -0
  202. package/fesm2020/covalent-core-menu.mjs +37 -0
  203. package/fesm2020/covalent-core-menu.mjs.map +1 -0
  204. package/fesm2020/covalent-core-message.mjs +282 -0
  205. package/fesm2020/covalent-core-message.mjs.map +1 -0
  206. package/fesm2020/covalent-core-search.mjs +425 -0
  207. package/fesm2020/covalent-core-search.mjs.map +1 -0
  208. package/fesm2020/covalent-core-side-sheet.mjs +757 -0
  209. package/fesm2020/covalent-core-side-sheet.mjs.map +1 -0
  210. package/fesm2020/covalent-core-user-profile.mjs +86 -0
  211. package/fesm2020/covalent-core-user-profile.mjs.map +1 -0
  212. package/fesm2020/covalent-core.mjs +4 -0
  213. package/fesm2020/covalent-core.mjs.map +1 -0
  214. package/file/_file-theme.scss +3 -1
  215. package/file/covalent-core-file.d.ts +2 -1
  216. package/file/directives/file-drop.directive.d.ts +8 -6
  217. package/file/directives/file-select.directive.d.ts +5 -2
  218. package/file/file-input/file-input.component.d.ts +10 -5
  219. package/file/file-upload/file-upload.component.d.ts +18 -8
  220. package/file/file.module.d.ts +13 -0
  221. package/file/package.json +6 -7
  222. package/file/{public-api.d.ts → public_api.d.ts} +0 -0
  223. package/file/services/file.service.d.ts +3 -0
  224. package/file/{file-input → src/file-input}/README.md +46 -37
  225. package/file/{file-upload → src/file-upload}/README.md +36 -27
  226. package/json-formatter/README.md +8 -8
  227. package/json-formatter/_json-formatter-theme.scss +10 -0
  228. package/json-formatter/collapse.animation.d.ts +24 -0
  229. package/json-formatter/covalent-core-json-formatter.d.ts +2 -1
  230. package/json-formatter/json-formatter.component.d.ts +7 -4
  231. package/json-formatter/json-formatter.module.d.ts +8 -0
  232. package/json-formatter/package.json +6 -7
  233. package/json-formatter/{public-api.d.ts → public_api.d.ts} +0 -0
  234. package/layout/README.md +48 -50
  235. package/layout/_layout-theme.scss +12 -0
  236. package/layout/covalent-core-layout.d.ts +2 -1
  237. package/layout/layout-card-over/layout-card-over.component.d.ts +6 -3
  238. package/layout/layout-footer/layout-footer.component.d.ts +6 -3
  239. package/layout/layout-manage-list/layout-manage-list.component.d.ts +7 -4
  240. package/layout/layout-manage-list/layout-manage-list.directives.d.ts +9 -2
  241. package/layout/layout-nav/layout-nav.component.d.ts +8 -5
  242. package/layout/layout-nav-list/layout-nav-list.component.d.ts +12 -9
  243. package/layout/layout-nav-list/layout-nav-list.directives.d.ts +9 -2
  244. package/layout/layout-toggle.class.d.ts +4 -1
  245. package/layout/layout.component.d.ts +7 -4
  246. package/layout/layout.directives.d.ts +9 -2
  247. package/layout/layout.module.d.ts +23 -0
  248. package/layout/navigation-drawer/navigation-drawer.component.d.ts +17 -10
  249. package/layout/package.json +6 -7
  250. package/layout/{public-api.d.ts → public_api.d.ts} +0 -0
  251. package/layout/{layout-card-over → src/layout-card-over}/README.md +19 -17
  252. package/layout/{layout-manage-list → src/layout-manage-list}/README.md +24 -28
  253. package/layout/src/layout-nav/README.md +50 -0
  254. package/layout/{layout-nav-list → src/layout-nav-list}/README.md +44 -40
  255. package/menu/covalent-core-menu.d.ts +2 -1
  256. package/menu/menu.component.d.ts +3 -0
  257. package/menu/menu.module.d.ts +8 -0
  258. package/menu/package.json +6 -7
  259. package/menu/{public-api.d.ts → public_api.d.ts} +0 -0
  260. package/message/README.md +26 -18
  261. package/message/_message-theme.scss +3 -0
  262. package/message/collapse.animation.d.ts +24 -0
  263. package/message/covalent-core-message.d.ts +2 -1
  264. package/message/message.component.d.ts +9 -4
  265. package/message/message.module.d.ts +7 -0
  266. package/message/package.json +6 -7
  267. package/message/{public-api.d.ts → public_api.d.ts} +0 -0
  268. package/package.json +129 -37
  269. package/{index.d.ts → public_api.d.ts} +0 -0
  270. package/search/README.md +74 -73
  271. package/search/covalent-core-search.d.ts +2 -1
  272. package/search/package.json +6 -7
  273. package/search/{public-api.d.ts → public_api.d.ts} +0 -0
  274. package/search/search-box/search-box.component.d.ts +12 -5
  275. package/search/search-input/search-input.component.d.ts +12 -5
  276. package/search/search.module.d.ts +11 -0
  277. package/search/src/search-box/README.md +73 -0
  278. package/search/src/search-input/README.md +74 -0
  279. package/side-sheet/README.md +3 -5
  280. package/side-sheet/{side-sheet.theme.scss → _side-sheet.theme.scss} +0 -0
  281. package/side-sheet/covalent-core-side-sheet.d.ts +2 -3
  282. package/side-sheet/package.json +6 -7
  283. package/side-sheet/{public-api.d.ts → public_api.d.ts} +0 -0
  284. package/side-sheet/side-sheet-container.d.ts +21 -5
  285. package/side-sheet/side-sheet.content-directives.d.ts +23 -6
  286. package/side-sheet/side-sheet.d.ts +7 -2
  287. package/side-sheet/side-sheet.module.d.ts +9 -0
  288. package/user-profile/README.md +5 -5
  289. package/user-profile/covalent-core-user-profile.d.ts +2 -1
  290. package/user-profile/package.json +6 -7
  291. package/user-profile/user-profile-menu/user-profile-menu.component.d.ts +5 -2
  292. package/user-profile/user-profile.component.d.ts +5 -2
  293. package/user-profile/user-profile.module.d.ts +12 -0
  294. package/breadcrumbs/breadcrumb/breadcrumb.component.scss +0 -22
  295. package/breadcrumbs/breadcrumbs.component.scss +0 -7
  296. package/breadcrumbs/covalent-core-breadcrumbs.metadata.json +0 -1
  297. package/breadcrumbs/index.d.ts +0 -1
  298. package/bundles/covalent-core-breadcrumbs.umd.js +0 -490
  299. package/bundles/covalent-core-breadcrumbs.umd.js.map +0 -1
  300. package/bundles/covalent-core-breadcrumbs.umd.min.js +0 -2
  301. package/bundles/covalent-core-breadcrumbs.umd.min.js.map +0 -1
  302. package/bundles/covalent-core-common.umd.js +0 -3188
  303. package/bundles/covalent-core-common.umd.js.map +0 -1
  304. package/bundles/covalent-core-common.umd.min.js +0 -17
  305. package/bundles/covalent-core-common.umd.min.js.map +0 -1
  306. package/bundles/covalent-core-dialogs.umd.js +0 -1318
  307. package/bundles/covalent-core-dialogs.umd.js.map +0 -1
  308. package/bundles/covalent-core-dialogs.umd.min.js +0 -2
  309. package/bundles/covalent-core-dialogs.umd.min.js.map +0 -1
  310. package/bundles/covalent-core-dynamic-menu.umd.js +0 -215
  311. package/bundles/covalent-core-dynamic-menu.umd.js.map +0 -1
  312. package/bundles/covalent-core-dynamic-menu.umd.min.js +0 -2
  313. package/bundles/covalent-core-dynamic-menu.umd.min.js.map +0 -1
  314. package/bundles/covalent-core-file.umd.js +0 -1211
  315. package/bundles/covalent-core-file.umd.js.map +0 -1
  316. package/bundles/covalent-core-file.umd.min.js +0 -17
  317. package/bundles/covalent-core-file.umd.min.js.map +0 -1
  318. package/bundles/covalent-core-json-formatter.umd.js +0 -408
  319. package/bundles/covalent-core-json-formatter.umd.js.map +0 -1
  320. package/bundles/covalent-core-json-formatter.umd.min.js +0 -2
  321. package/bundles/covalent-core-json-formatter.umd.min.js.map +0 -1
  322. package/bundles/covalent-core-layout.umd.js +0 -2084
  323. package/bundles/covalent-core-layout.umd.js.map +0 -1
  324. package/bundles/covalent-core-layout.umd.min.js +0 -17
  325. package/bundles/covalent-core-layout.umd.min.js.map +0 -1
  326. package/bundles/covalent-core-menu.umd.js +0 -69
  327. package/bundles/covalent-core-menu.umd.js.map +0 -1
  328. package/bundles/covalent-core-menu.umd.min.js +0 -2
  329. package/bundles/covalent-core-menu.umd.min.js.map +0 -1
  330. package/bundles/covalent-core-message.umd.js +0 -375
  331. package/bundles/covalent-core-message.umd.js.map +0 -1
  332. package/bundles/covalent-core-message.umd.min.js +0 -2
  333. package/bundles/covalent-core-message.umd.min.js.map +0 -1
  334. package/bundles/covalent-core-search.umd.js +0 -877
  335. package/bundles/covalent-core-search.umd.js.map +0 -1
  336. package/bundles/covalent-core-search.umd.min.js +0 -16
  337. package/bundles/covalent-core-search.umd.min.js.map +0 -1
  338. package/bundles/covalent-core-side-sheet.umd.js +0 -1458
  339. package/bundles/covalent-core-side-sheet.umd.js.map +0 -1
  340. package/bundles/covalent-core-side-sheet.umd.min.js +0 -16
  341. package/bundles/covalent-core-side-sheet.umd.min.js.map +0 -1
  342. package/bundles/covalent-core-user-profile.umd.js +0 -116
  343. package/bundles/covalent-core-user-profile.umd.js.map +0 -1
  344. package/bundles/covalent-core-user-profile.umd.min.js +0 -2
  345. package/bundles/covalent-core-user-profile.umd.min.js.map +0 -1
  346. package/bundles/covalent-core.umd.js +0 -9
  347. package/bundles/covalent-core.umd.js.map +0 -1
  348. package/bundles/covalent-core.umd.min.js +0 -2
  349. package/bundles/covalent-core.umd.min.js.map +0 -1
  350. package/common/covalent-core-common.metadata.json +0 -1
  351. package/common/index.d.ts +0 -1
  352. package/common/material-icons.css +0 -98
  353. package/common/material-icons.css.map +0 -1
  354. package/common/material-icons.scss +0 -3
  355. package/common/platform.css +0 -15424
  356. package/common/platform.css.map +0 -1
  357. package/common/platform.scss +0 -7
  358. package/common/styles/_elevation.scss +0 -280
  359. package/common/styles/_layout.scss +0 -603
  360. package/common/styles/_palette-dark.scss +0 -326
  361. package/common/styles/_palette-light.scss +0 -637
  362. package/common/styles/_rtl.scss +0 -28
  363. package/common/styles/_styles.scss +0 -10
  364. package/common/styles/_theme-functions.scss +0 -25
  365. package/common/styles/_typography-functions.scss +0 -35
  366. package/common/styles/_variables.scss +0 -98
  367. package/common/styles/colors/_colors-dark.scss +0 -1072
  368. package/common/styles/colors/_colors-light.scss +0 -2487
  369. package/common/styles/colors/_colors.scss +0 -7
  370. package/common/styles/core/_button.scss +0 -59
  371. package/common/styles/core/_card.scss +0 -164
  372. package/common/styles/core/_content.scss +0 -42
  373. package/common/styles/core/_core.scss +0 -23
  374. package/common/styles/core/_divider.scss +0 -15
  375. package/common/styles/core/_icons.scss +0 -20
  376. package/common/styles/core/_list.scss +0 -8
  377. package/common/styles/core/_sidenav.scss +0 -20
  378. package/common/styles/core/_structure.scss +0 -128
  379. package/common/styles/core/_toolbar.scss +0 -46
  380. package/common/styles/core/_whiteframe.scss +0 -130
  381. package/common/styles/font/MaterialIcons-Regular-v48.woff2 +0 -0
  382. package/common/styles/font/_font.scss +0 -93
  383. package/common/styles/utilities/_general.scss +0 -51
  384. package/common/styles/utilities/_pad.scss +0 -36
  385. package/common/styles/utilities/_pull.scss +0 -36
  386. package/common/styles/utilities/_push.scss +0 -36
  387. package/common/styles/utilities/_size.scss +0 -24
  388. package/common/styles/utilities/_text.scss +0 -84
  389. package/common/styles/utilities/_utilities.scss +0 -15
  390. package/covalent-core.metadata.json +0 -1
  391. package/dialogs/alert-dialog/alert-dialog.component.scss +0 -3
  392. package/dialogs/confirm-dialog/confirm-dialog.component.scss +0 -3
  393. package/dialogs/covalent-core-dialogs.metadata.json +0 -1
  394. package/dialogs/dialog.component.scss +0 -44
  395. package/dialogs/index.d.ts +0 -1
  396. package/dialogs/prompt-dialog/prompt-dialog.component.scss +0 -15
  397. package/dialogs/window-dialog/window-dialog.component.scss +0 -31
  398. package/dynamic-menu/covalent-core-dynamic-menu.metadata.json +0 -1
  399. package/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.scss +0 -6
  400. package/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.scss +0 -11
  401. package/dynamic-menu/dynamic-menu.component.scss +0 -0
  402. package/dynamic-menu/index.d.ts +0 -1
  403. package/esm2015/breadcrumbs/breadcrumb/breadcrumb.component.js +0 -171
  404. package/esm2015/breadcrumbs/breadcrumbs.component.js +0 -241
  405. package/esm2015/breadcrumbs/breadcrumbs.module.js +0 -20
  406. package/esm2015/breadcrumbs/covalent-core-breadcrumbs.js +0 -10
  407. package/esm2015/breadcrumbs/index.js +0 -7
  408. package/esm2015/breadcrumbs/public-api.js +0 -9
  409. package/esm2015/common/animations/bounce/bounce.animation.js +0 -76
  410. package/esm2015/common/animations/collapse/collapse.animation.js +0 -67
  411. package/esm2015/common/animations/common/interfaces.js +0 -18
  412. package/esm2015/common/animations/fade/fadeInOut.animation.js +0 -53
  413. package/esm2015/common/animations/flash/flash.animation.js +0 -40
  414. package/esm2015/common/animations/headshake/headshake.animation.js +0 -41
  415. package/esm2015/common/animations/jello/jello.animation.js +0 -44
  416. package/esm2015/common/animations/pulse/pulse.animation.js +0 -38
  417. package/esm2015/common/animations/rotate/rotate.animation.js +0 -41
  418. package/esm2015/common/behaviors/control-value-accesor.mixin.js +0 -107
  419. package/esm2015/common/behaviors/disable-ripple.mixin.js +0 -63
  420. package/esm2015/common/behaviors/disabled.mixin.js +0 -63
  421. package/esm2015/common/common.module.js +0 -54
  422. package/esm2015/common/covalent-core-common.js +0 -12
  423. package/esm2015/common/directives/fullscreen/fullscreen.directive.js +0 -180
  424. package/esm2015/common/forms/auto-trim/auto-trim.directive.js +0 -46
  425. package/esm2015/common/forms/validators/validators.js +0 -58
  426. package/esm2015/common/functions/clipboard.js +0 -30
  427. package/esm2015/common/functions/convert.js +0 -103
  428. package/esm2015/common/functions/download.js +0 -88
  429. package/esm2015/common/functions/file.js +0 -29
  430. package/esm2015/common/index.js +0 -7
  431. package/esm2015/common/pipes/bytes/bytes.pipe.js +0 -41
  432. package/esm2015/common/pipes/decimal-bytes/decimal-bytes.pipe.js +0 -41
  433. package/esm2015/common/pipes/digits/digits.pipe.js +0 -65
  434. package/esm2015/common/pipes/time-ago/time-ago.pipe.js +0 -81
  435. package/esm2015/common/pipes/time-difference/time-difference.pipe.js +0 -66
  436. package/esm2015/common/pipes/time-until/time-until.pipe.js +0 -81
  437. package/esm2015/common/pipes/truncate/truncate.pipe.js +0 -34
  438. package/esm2015/common/public-api.js +0 -44
  439. package/esm2015/common/services/icon.service.js +0 -1109
  440. package/esm2015/common/services/router-path.service.js +0 -60
  441. package/esm2015/covalent-core.js +0 -10
  442. package/esm2015/dialogs/alert-dialog/alert-dialog.component.js +0 -47
  443. package/esm2015/dialogs/confirm-dialog/confirm-dialog.component.js +0 -59
  444. package/esm2015/dialogs/covalent-core-dialogs.js +0 -11
  445. package/esm2015/dialogs/dialog.component.js +0 -58
  446. package/esm2015/dialogs/dialogs.module.js +0 -57
  447. package/esm2015/dialogs/index.js +0 -7
  448. package/esm2015/dialogs/prompt-dialog/prompt-dialog.component.js +0 -83
  449. package/esm2015/dialogs/public-api.js +0 -13
  450. package/esm2015/dialogs/resizable-draggable-dialog/resizable-draggable-dialog.js +0 -325
  451. package/esm2015/dialogs/services/dialog.service.js +0 -316
  452. package/esm2015/dialogs/window-dialog/window-dialog.component.js +0 -56
  453. package/esm2015/dynamic-menu/covalent-core-dynamic-menu.js +0 -11
  454. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-item.component.js +0 -40
  455. package/esm2015/dynamic-menu/dynamic-menu-item/dynamic-menu-link/dynamic-menu-link.component.js +0 -35
  456. package/esm2015/dynamic-menu/dynamic-menu.component.js +0 -89
  457. package/esm2015/dynamic-menu/dynamic-menu.module.js +0 -26
  458. package/esm2015/dynamic-menu/index.js +0 -7
  459. package/esm2015/dynamic-menu/public_api.js +0 -9
  460. package/esm2015/file/covalent-core-file.js +0 -10
  461. package/esm2015/file/directives/file-drop.directive.js +0 -191
  462. package/esm2015/file/directives/file-select.directive.js +0 -98
  463. package/esm2015/file/file-input/file-input.component.js +0 -186
  464. package/esm2015/file/file-upload/file-upload.component.js +0 -237
  465. package/esm2015/file/file.module.js +0 -35
  466. package/esm2015/file/index.js +0 -7
  467. package/esm2015/file/public-api.js +0 -12
  468. package/esm2015/file/services/file.service.js +0 -109
  469. package/esm2015/index.js +0 -7
  470. package/esm2015/json-formatter/covalent-core-json-formatter.js +0 -10
  471. package/esm2015/json-formatter/index.js +0 -7
  472. package/esm2015/json-formatter/json-formatter.component.js +0 -338
  473. package/esm2015/json-formatter/json-formatter.module.js +0 -20
  474. package/esm2015/json-formatter/public-api.js +0 -8
  475. package/esm2015/layout/covalent-core-layout.js +0 -10
  476. package/esm2015/layout/index.js +0 -7
  477. package/esm2015/layout/layout-card-over/layout-card-over.component.js +0 -71
  478. package/esm2015/layout/layout-footer/layout-footer.component.js +0 -71
  479. package/esm2015/layout/layout-manage-list/layout-manage-list.component.js +0 -145
  480. package/esm2015/layout/layout-manage-list/layout-manage-list.directives.js +0 -132
  481. package/esm2015/layout/layout-nav/layout-nav.component.js +0 -100
  482. package/esm2015/layout/layout-nav-list/layout-nav-list.component.js +0 -220
  483. package/esm2015/layout/layout-nav-list/layout-nav-list.directives.js +0 -132
  484. package/esm2015/layout/layout-toggle.class.js +0 -188
  485. package/esm2015/layout/layout.component.js +0 -145
  486. package/esm2015/layout/layout.directives.js +0 -129
  487. package/esm2015/layout/layout.module.js +0 -64
  488. package/esm2015/layout/navigation-drawer/navigation-drawer.component.js +0 -280
  489. package/esm2015/layout/public-api.js +0 -18
  490. package/esm2015/menu/covalent-core-menu.js +0 -10
  491. package/esm2015/menu/index.js +0 -7
  492. package/esm2015/menu/menu.component.js +0 -16
  493. package/esm2015/menu/menu.module.js +0 -22
  494. package/esm2015/menu/public-api.js +0 -8
  495. package/esm2015/message/covalent-core-message.js +0 -10
  496. package/esm2015/message/index.js +0 -7
  497. package/esm2015/message/message.component.js +0 -307
  498. package/esm2015/message/message.module.js +0 -21
  499. package/esm2015/message/public-api.js +0 -8
  500. package/esm2015/search/covalent-core-search.js +0 -10
  501. package/esm2015/search/index.js +0 -7
  502. package/esm2015/search/public-api.js +0 -9
  503. package/esm2015/search/search-box/search-box.component.js +0 -270
  504. package/esm2015/search/search-input/search-input.component.js +0 -260
  505. package/esm2015/search/search.module.js +0 -23
  506. package/esm2015/side-sheet/covalent-core-side-sheet.js +0 -12
  507. package/esm2015/side-sheet/index.js +0 -7
  508. package/esm2015/side-sheet/public-api.js +0 -11
  509. package/esm2015/side-sheet/side-sheet-container.js +0 -402
  510. package/esm2015/side-sheet/side-sheet-ref.js +0 -50
  511. package/esm2015/side-sheet/side-sheet.animation.js +0 -20
  512. package/esm2015/side-sheet/side-sheet.config.js +0 -12
  513. package/esm2015/side-sheet/side-sheet.content-directives.js +0 -255
  514. package/esm2015/side-sheet/side-sheet.js +0 -360
  515. package/esm2015/side-sheet/side-sheet.module.js +0 -36
  516. package/esm2015/user-profile/covalent-core-user-profile.js +0 -10
  517. package/esm2015/user-profile/index.js +0 -7
  518. package/esm2015/user-profile/public_api.js +0 -9
  519. package/esm2015/user-profile/user-profile-menu/user-profile-menu.component.js +0 -35
  520. package/esm2015/user-profile/user-profile.component.js +0 -26
  521. package/esm2015/user-profile/user-profile.module.js +0 -25
  522. package/fesm2015/covalent-core-breadcrumbs.js +0 -448
  523. package/fesm2015/covalent-core-breadcrumbs.js.map +0 -1
  524. package/fesm2015/covalent-core-common.js.map +0 -1
  525. package/fesm2015/covalent-core-dialogs.js +0 -1001
  526. package/fesm2015/covalent-core-dialogs.js.map +0 -1
  527. package/fesm2015/covalent-core-dynamic-menu.js +0 -204
  528. package/fesm2015/covalent-core-dynamic-menu.js.map +0 -1
  529. package/fesm2015/covalent-core-file.js +0 -855
  530. package/fesm2015/covalent-core-file.js.map +0 -1
  531. package/fesm2015/covalent-core-json-formatter.js +0 -377
  532. package/fesm2015/covalent-core-json-formatter.js.map +0 -1
  533. package/fesm2015/covalent-core-layout.js +0 -1663
  534. package/fesm2015/covalent-core-layout.js.map +0 -1
  535. package/fesm2015/covalent-core-menu.js +0 -57
  536. package/fesm2015/covalent-core-menu.js.map +0 -1
  537. package/fesm2015/covalent-core-message.js +0 -347
  538. package/fesm2015/covalent-core-message.js.map +0 -1
  539. package/fesm2015/covalent-core-search.js +0 -564
  540. package/fesm2015/covalent-core-search.js.map +0 -1
  541. package/fesm2015/covalent-core-side-sheet.js +0 -1134
  542. package/fesm2015/covalent-core-side-sheet.js.map +0 -1
  543. package/fesm2015/covalent-core-user-profile.js +0 -103
  544. package/fesm2015/covalent-core-user-profile.js.map +0 -1
  545. package/fesm2015/covalent-core.js +0 -12
  546. package/fesm2015/covalent-core.js.map +0 -1
  547. package/file/covalent-core-file.metadata.json +0 -1
  548. package/file/file-input/file-input.component.scss +0 -20
  549. package/file/file-upload/file-upload.component.scss +0 -30
  550. package/file/index.d.ts +0 -1
  551. package/json-formatter/covalent-core-json-formatter.metadata.json +0 -1
  552. package/json-formatter/index.d.ts +0 -1
  553. package/json-formatter/json-formatter.component.scss +0 -61
  554. package/layout/covalent-core-layout.metadata.json +0 -1
  555. package/layout/index.d.ts +0 -1
  556. package/layout/layout-card-over/layout-card-over.component.scss +0 -42
  557. package/layout/layout-footer/layout-footer.component.scss +0 -4
  558. package/layout/layout-manage-list/layout-manage-list.component.scss +0 -78
  559. package/layout/layout-nav/README.md +0 -46
  560. package/layout/layout-nav/layout-nav.component.scss +0 -50
  561. package/layout/layout-nav-list/layout-nav-list.component.scss +0 -110
  562. package/layout/layout.component.scss +0 -20
  563. package/layout/navigation-drawer/navigation-drawer.component.scss +0 -73
  564. package/menu/covalent-core-menu.metadata.json +0 -1
  565. package/menu/index.d.ts +0 -1
  566. package/menu/menu.component.scss +0 -43
  567. package/message/covalent-core-message.metadata.json +0 -1
  568. package/message/index.d.ts +0 -1
  569. package/message/message.component.scss +0 -29
  570. package/schematics/README.md +0 -66
  571. package/schematics/collection.json +0 -11
  572. package/schematics/components.js +0 -111
  573. package/schematics/components.js.map +0 -1
  574. package/schematics/migration.json +0 -10
  575. package/schematics/ng-add/files/theme.scss +0 -64
  576. package/schematics/ng-add/index.js +0 -58
  577. package/schematics/ng-add/index.js.map +0 -1
  578. package/schematics/ng-add/schema.js +0 -3
  579. package/schematics/ng-add/schema.js.map +0 -1
  580. package/schematics/ng-add/schema.json +0 -81
  581. package/schematics/ng-update/index.js +0 -52
  582. package/schematics/ng-update/index.js.map +0 -1
  583. package/schematics/ng-update/target-version.js +0 -8
  584. package/schematics/ng-update/target-version.js.map +0 -1
  585. package/schematics/version-names.js +0 -6
  586. package/schematics/version-names.js.map +0 -1
  587. package/search/covalent-core-search.metadata.json +0 -1
  588. package/search/index.d.ts +0 -1
  589. package/search/search-box/README.md +0 -62
  590. package/search/search-box/search-box.component.scss +0 -32
  591. package/search/search-input/README.md +0 -65
  592. package/search/search-input/search-input.component.scss +0 -63
  593. package/side-sheet/covalent-core-side-sheet.metadata.json +0 -1
  594. package/side-sheet/index.d.ts +0 -1
  595. package/side-sheet/side-sheet.scss +0 -69
  596. package/theming/prebuilt/blue-grey-deep-orange.css +0 -2434
  597. package/theming/prebuilt/blue-grey-deep-orange.css.map +0 -1
  598. package/theming/prebuilt/blue-grey-deep-orange.scss +0 -13
  599. package/theming/prebuilt/blue-orange.css +0 -2434
  600. package/theming/prebuilt/blue-orange.css.map +0 -1
  601. package/theming/prebuilt/blue-orange.scss +0 -13
  602. package/theming/prebuilt/indigo-pink.css +0 -2434
  603. package/theming/prebuilt/indigo-pink.css.map +0 -1
  604. package/theming/prebuilt/indigo-pink.scss +0 -13
  605. package/theming/prebuilt/orange-light-blue.css +0 -2434
  606. package/theming/prebuilt/orange-light-blue.css.map +0 -1
  607. package/theming/prebuilt/orange-light-blue.scss +0 -13
  608. package/theming/prebuilt/teal-orange.css +0 -2434
  609. package/theming/prebuilt/teal-orange.css.map +0 -1
  610. package/theming/prebuilt/teal-orange.scss +0 -13
  611. package/user-profile/covalent-core-user-profile.metadata.json +0 -1
  612. package/user-profile/index.d.ts +0 -1
  613. package/user-profile/user-profile-menu/user-profile-menu.component.scss +0 -38
@@ -1,325 +0,0 @@
1
- /**
2
- * @fileoverview added by tsickle
3
- * Generated from: resizable-draggable-dialog/resizable-draggable-dialog.ts
4
- * @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
5
- */
6
- import { merge, fromEvent } from 'rxjs';
7
- /** @enum {string} */
8
- const corners = {
9
- topRight: "topRight",
10
- bottomRight: "bottomRight",
11
- bottomLeft: "bottomLeft",
12
- topLeft: "topLeft",
13
- };
14
- /** @enum {string} */
15
- const cursors = {
16
- nesw: "nesw-resize",
17
- nwse: "nwse-resize",
18
- };
19
- /** @enum {string} */
20
- const verticalAlignment = {
21
- top: "top",
22
- bottom: "bottom",
23
- };
24
- /** @enum {string} */
25
- const horizontalAlignment = {
26
- right: "right",
27
- left: "left",
28
- };
29
- /** @type {?} */
30
- const cornerWidth = '16px';
31
- /** @type {?} */
32
- const offset = '0px';
33
- /** @type {?} */
34
- const minWidth = 200;
35
- /** @type {?} */
36
- const 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
- export class ResizableDraggableDialog {
54
- /**
55
- * @param {?} _document
56
- * @param {?} _renderer2
57
- * @param {?} _dialogRef
58
- * @param {?} _dragRef
59
- */
60
- constructor(_document, _renderer2, _dialogRef, _dragRef) {
61
- this._document = _document;
62
- this._renderer2 = _renderer2;
63
- this._dialogRef = _dialogRef;
64
- this._dragRef = _dragRef;
65
- this.cornerElements = [];
66
- this.pointerDownSubs = [];
67
- this._initialPositionReset();
68
- this._attachCorners();
69
- }
70
- /**
71
- * @return {?}
72
- */
73
- attach() {
74
- this.detach();
75
- this._attachCorners();
76
- }
77
- /**
78
- * @return {?}
79
- */
80
- detach() {
81
- this.pointerDownSubs.forEach((/**
82
- * @param {?} sub
83
- * @return {?}
84
- */
85
- (sub) => sub.unsubscribe()));
86
- this.pointerDownSubs = [];
87
- this.cornerElements.forEach((/**
88
- * @param {?} elem
89
- * @return {?}
90
- */
91
- (elem) => this._renderer2.removeChild(this._getDialogWrapper(), elem)));
92
- this.cornerElements = [];
93
- }
94
- /**
95
- * @private
96
- * @return {?}
97
- */
98
- _getDialogWrapper() {
99
- return ((/** @type {?} */ (this._document.getElementById(this._dialogRef.id))) || {}).parentElement;
100
- }
101
- /**
102
- * @private
103
- * @return {?}
104
- */
105
- _getViewportDimensions() {
106
- return this._getDialogWrapper().parentElement.getBoundingClientRect();
107
- }
108
- /**
109
- * @private
110
- * @return {?}
111
- */
112
- _getDialogWrapperDimensions() {
113
- /** @type {?} */
114
- const dimensions = getComputedStyle(this._getDialogWrapper());
115
- return {
116
- width: getPixels(dimensions.width),
117
- height: getPixels(dimensions.height),
118
- };
119
- }
120
- /**
121
- * @private
122
- * @return {?}
123
- */
124
- _initialPositionReset() {
125
- const { right: viewportWidth, bottom: viewportHeight } = this._getViewportDimensions();
126
- const { width, height } = this._getDialogWrapperDimensions();
127
- const { marginRight: originalDialogRight, marginLeft: originalDialogLeft, marginBottom: originalDialogBottom, marginTop: originalDialogTop, } = this._getDialogWrapper().style;
128
- /** @type {?} */
129
- let x;
130
- if (originalDialogLeft) {
131
- x = getPixels(originalDialogLeft);
132
- }
133
- else if (originalDialogRight) {
134
- x = viewportWidth - getPixels(originalDialogRight) - width;
135
- }
136
- else {
137
- x = (viewportWidth - width) / 2;
138
- }
139
- /** @type {?} */
140
- let y;
141
- if (originalDialogTop) {
142
- y = getPixels(originalDialogTop);
143
- }
144
- else if (originalDialogBottom) {
145
- y = viewportHeight - getPixels(originalDialogBottom) - height;
146
- }
147
- else {
148
- y = (viewportHeight - height) / 2;
149
- }
150
- // use drag ref's mechanisms for positioning instead of the dialog's
151
- this._dialogRef.updatePosition({ top: '0px', right: '0px', bottom: '0px', left: '0px' });
152
- this._dragRef.setFreeDragPosition({ x, y });
153
- }
154
- /**
155
- * @private
156
- * @return {?}
157
- */
158
- _attachCorners() {
159
- Object.values(corners).forEach((/**
160
- * @param {?} corner
161
- * @return {?}
162
- */
163
- (corner) => {
164
- /** @type {?} */
165
- const element = this._renderer2.createElement('div');
166
- this.cornerElements = [...this.cornerElements, element];
167
- this._renderer2.setStyle(element, 'position', 'absolute');
168
- this._renderer2.setStyle(element, 'width', cornerWidth);
169
- this._renderer2.setStyle(element, 'height', cornerWidth);
170
- this._renderer2.appendChild(this._getDialogWrapper(), element);
171
- /** @type {?} */
172
- let cursor;
173
- /** @type {?} */
174
- let topBottom;
175
- /** @type {?} */
176
- let rightLeft;
177
- if (corner === corners.topRight) {
178
- cursor = cursors.nesw;
179
- topBottom = verticalAlignment.top;
180
- rightLeft = horizontalAlignment.right;
181
- }
182
- else if (corner === corners.bottomRight) {
183
- cursor = cursors.nwse;
184
- topBottom = verticalAlignment.bottom;
185
- rightLeft = horizontalAlignment.right;
186
- /** @type {?} */
187
- const icon = this._renderer2.createElement('i');
188
- this._renderer2.addClass(icon, 'material-icons');
189
- this._renderer2.appendChild(icon, this._renderer2.createText('filter_list'));
190
- this._renderer2.appendChild(element, icon);
191
- this._renderer2.setStyle(icon, 'transform', `rotate(${315}deg) translate(0px, ${offset})`);
192
- this._renderer2.setStyle(icon, 'font-size', cornerWidth);
193
- }
194
- else if (corner === corners.bottomLeft) {
195
- cursor = cursors.nesw;
196
- topBottom = verticalAlignment.bottom;
197
- rightLeft = horizontalAlignment.left;
198
- }
199
- else if (corner === corners.topLeft) {
200
- cursor = cursors.nwse;
201
- topBottom = verticalAlignment.top;
202
- rightLeft = horizontalAlignment.left;
203
- }
204
- this._renderer2.setStyle(element, topBottom, offset);
205
- this._renderer2.setStyle(element, rightLeft, offset);
206
- this._renderer2.setStyle(element, 'cursor', cursor);
207
- /** @type {?} */
208
- const pointerDownSub = fromEvent(element, 'pointerdown').subscribe((/**
209
- * @param {?} event
210
- * @return {?}
211
- */
212
- (event) => {
213
- this._handleMouseDown(event, corner);
214
- }));
215
- this.pointerDownSubs = [...this.pointerDownSubs, pointerDownSub];
216
- }));
217
- }
218
- /**
219
- * @private
220
- * @param {?} event
221
- * @param {?} corner
222
- * @return {?}
223
- */
224
- _handleMouseDown(event, corner) {
225
- this._renderer2.setStyle((/** @type {?} */ (this._document.body)), 'user-select', 'none');
226
- const { width: originalWidth, height: originalHeight } = this._getDialogWrapperDimensions();
227
- /** @type {?} */
228
- const originalMouseX = event.pageX;
229
- /** @type {?} */
230
- const originalMouseY = event.pageY;
231
- const { x: currentTransformX, y: currentTransformY } = this._dragRef.getFreeDragPosition();
232
- const { bottom: distanceFromBottom, right: distanceFromRight } = this._getDialogWrapper().getBoundingClientRect();
233
- const { right: viewportWidth, bottom: viewportHeight } = this._getViewportDimensions();
234
- /** @type {?} */
235
- const mouseMoveSub = fromEvent(window, 'pointermove').subscribe((/**
236
- * @param {?} e
237
- * @return {?}
238
- */
239
- (e) => {
240
- e.preventDefault(); // prevent highlighting of text when dragging
241
- // prevent highlighting of text when dragging
242
- /** @type {?} */
243
- const yDelta = clamp(0, e.pageY, viewportHeight) - originalMouseY;
244
- /** @type {?} */
245
- const xDelta = clamp(0, e.pageX, viewportWidth) - originalMouseX;
246
- /** @type {?} */
247
- let newHeight;
248
- /** @type {?} */
249
- let newWidth;
250
- /** @type {?} */
251
- let newTransformY = 0;
252
- /** @type {?} */
253
- let newTransformX = 0;
254
- // top right
255
- if (corner === corners.topRight) {
256
- newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);
257
- newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);
258
- newTransformY = clamp(0, currentTransformY + yDelta, distanceFromBottom - newHeight);
259
- newTransformX = currentTransformX;
260
- }
261
- // bottom right
262
- else if (corner === corners.bottomRight) {
263
- newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);
264
- newWidth = clamp(minWidth, originalWidth + xDelta, viewportWidth);
265
- newTransformY = currentTransformY;
266
- newTransformX = currentTransformX;
267
- }
268
- // bottom left
269
- else if (corner === corners.bottomLeft) {
270
- newHeight = clamp(minHeight, originalHeight + yDelta, viewportHeight);
271
- newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);
272
- newTransformY = currentTransformY;
273
- newTransformX = clamp(0, currentTransformX + xDelta, distanceFromRight - newWidth);
274
- }
275
- // top left
276
- else if (corner === corners.topLeft) {
277
- newHeight = clamp(minHeight, originalHeight - yDelta, viewportHeight);
278
- newWidth = clamp(minWidth, originalWidth - xDelta, viewportWidth);
279
- newTransformX = clamp(0, currentTransformX + xDelta, distanceFromRight - newWidth);
280
- newTransformY = clamp(0, currentTransformY + yDelta, distanceFromBottom - newHeight);
281
- }
282
- this._dialogRef.updateSize(`${newWidth}px`, `${newHeight}px`);
283
- this._dragRef.setFreeDragPosition({
284
- x: newTransformX,
285
- y: newTransformY,
286
- });
287
- }));
288
- /** @type {?} */
289
- const mouseUpSub = merge(fromEvent(window, 'pointerup'), fromEvent(window, 'pointercancel')).subscribe((/**
290
- * @return {?}
291
- */
292
- () => {
293
- this._renderer2.removeStyle((/** @type {?} */ (this._document.body)), 'user-select');
294
- mouseMoveSub.unsubscribe();
295
- mouseUpSub.unsubscribe();
296
- }));
297
- }
298
- }
299
- if (false) {
300
- /** @type {?} */
301
- ResizableDraggableDialog.prototype.cornerElements;
302
- /** @type {?} */
303
- ResizableDraggableDialog.prototype.pointerDownSubs;
304
- /**
305
- * @type {?}
306
- * @private
307
- */
308
- ResizableDraggableDialog.prototype._document;
309
- /**
310
- * @type {?}
311
- * @private
312
- */
313
- ResizableDraggableDialog.prototype._renderer2;
314
- /**
315
- * @type {?}
316
- * @private
317
- */
318
- ResizableDraggableDialog.prototype._dialogRef;
319
- /**
320
- * @type {?}
321
- * @private
322
- */
323
- ResizableDraggableDialog.prototype._dragRef;
324
- }
325
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzaXphYmxlLWRyYWdnYWJsZS1kaWFsb2cuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vLi4vc3JjL3BsYXRmb3JtL2NvcmUvZGlhbG9ncy8iLCJzb3VyY2VzIjpbInJlc2l6YWJsZS1kcmFnZ2FibGUtZGlhbG9nL3Jlc2l6YWJsZS1kcmFnZ2FibGUtZGlhbG9nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBR0EsT0FBTyxFQUFFLEtBQUssRUFBZ0IsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOztBQUd0RCxNQUFLLE9BQU87SUFDVixRQUFRLFlBQWE7SUFDckIsV0FBVyxlQUFnQjtJQUMzQixVQUFVLGNBQWU7SUFDekIsT0FBTyxXQUFZO0VBQ3BCOztBQUNELE1BQUssT0FBTztJQUNWLElBQUksZUFBZ0I7SUFDcEIsSUFBSSxlQUFnQjtFQUNyQjs7QUFDRCxNQUFLLGlCQUFpQjtJQUNwQixHQUFHLE9BQVE7SUFDWCxNQUFNLFVBQVc7RUFDbEI7O0FBQ0QsTUFBSyxtQkFBbUI7SUFDdEIsS0FBSyxTQUFVO0lBQ2YsSUFBSSxRQUFTO0VBQ2Q7O01BRUssV0FBVyxHQUFXLE1BQU07O01BQzVCLE1BQU0sR0FBVyxLQUFLOztNQUN0QixRQUFRLEdBQVcsR0FBRzs7TUFDdEIsU0FBUyxHQUFXLEdBQUc7Ozs7O0FBRTdCLFNBQVMsU0FBUyxDQUFDLFVBQWtCO0lBQ25DLE9BQU8sVUFBVSxDQUFDLENBQUMsVUFBVSxJQUFJLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQztBQUMxRCxDQUFDOzs7Ozs7O0FBRUQsU0FBUyxLQUFLLENBQUMsR0FBVyxFQUFFLEdBQVcsRUFBRSxHQUFXO0lBQ2xELE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUMzQyxDQUFDO0FBRUQsTUFBTSxPQUFPLHdC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QixHQUFHLE1BQU0sRUFBRSxpQkFBaUIsR0FBRyxRQUFRLENBQUMsQ0FBQztnQkFDbkYsYUFBYSxHQUFHLEtBQUssQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLEdBQUcsTUFBTSxFQUFFLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxDQUFDO2FBQ3RGO1lBQ0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsR0FBRyxRQUFRLElBQUksRUFBRSxHQUFHLFNBQVMsSUFBSSxDQUFDLENBQUM7WUFDOUQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsQ0FBQztnQkFDaEMsQ0FBQyxFQUFFLGFBQWE7Z0JBQ2hCLENBQUMsRUFBRSxhQUFhO2FBQ2pCLENBQUMsQ0FBQztRQUNMLENBQUMsRUFBQzs7Y0FFSSxVQUFVLEdBQWlCLEtBQUssQ0FDcEMsU0FBUyxDQUFDLE1BQU0sRUFBRSxXQUFXLENBQUMsRUFDOUIsU0FBUyxDQUFDLE1BQU0sRUFBRSxlQUFlLENBQUMsQ0FDbkMsQ0FBQyxTQUFTOzs7UUFBQyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxtQkFBYSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksRUFBQSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzdFLFlBQVksQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUMzQixVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDM0IsQ0FBQyxFQUFDO0lBQ0osQ0FBQztDQUNGOzs7SUF4TEMsa0RBQW1DOztJQUNuQyxtREFBcUM7Ozs7O0lBR25DLDZDQUFzQjs7Ozs7SUFDdEIsOENBQTZCOzs7OztJQUM3Qiw4Q0FBcUM7Ozs7O0lBQ3JDLDRDQUF5QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0RGlhbG9nUmVmIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IERyYWdSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IG1lcmdlLCBTdWJzY3JpcHRpb24sIGZyb21FdmVudCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgUG9pbnQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wL2RyYWctcmVmJztcblxuZW51bSBjb3JuZXJzIHtcbiAgdG9wUmlnaHQgPSAndG9wUmlnaHQnLFxuICBib3R0b21SaWdodCA9ICdib3R0b21SaWdodCcsXG4gIGJvdHRvbUxlZnQgPSAnYm90dG9tTGVmdCcsXG4gIHRvcExlZnQgPSAndG9wTGVmdCcsXG59XG5lbnVtIGN1cnNvcnMge1xuICBuZXN3ID0gJ25lc3ctcmVzaXplJyxcbiAgbndzZSA9ICdud3NlLXJlc2l6ZScsXG59XG5lbnVtIHZlcnRpY2FsQWxpZ25tZW50IHtcbiAgdG9wID0gJ3RvcCcsXG4gIGJvdHRvbSA9ICdib3R0b20nLFxufVxuZW51bSBob3Jpem9udGFsQWxpZ25tZW50IHtcbiAgcmlnaHQgPSAncmlnaHQnLFxuICBsZWZ0ID0gJ2xlZnQnLFxufVxuXG5jb25zdCBjb3JuZXJXaWR0aDogc3RyaW5nID0gJzE2cHgnO1xuY29uc3Qgb2Zmc2V0OiBzdHJpbmcgPSAnMHB4JztcbmNvbnN0IG1pbldpZHRoOiBudW1iZXIgPSAyMDA7XG5jb25zdCBtaW5IZWlnaHQ6IG51bWJlciA9IDIwMDtcblxuZnVuY3Rpb24gZ2V0UGl4ZWxzKHNpemVTdHJpbmc6IHN0cmluZyk6IG51bWJlciB7XG4gIHJldHVybiBwYXJzZUZsb2F0KChzaXplU3RyaW5nIHx8ICcnKS5yZXBsYWNlKCdweCcsICcnKSk7XG59XG5cbmZ1bmN0aW9uIGNsYW1wKG1pbjogbnVtYmVyLCBudW06IG51bWJlciwgbWF4OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5taW4oTWF0aC5tYXgobnVtLCBtaW4pLCBtYXgpO1xufVxuXG5leHBvcnQgY2xhc3MgUmVzaXphYmxlRHJhZ2dhYmxlRGlhbG9nIHtcbiAgY29ybmVyRWxlbWVudHM6IEhUTUxFbGVtZW50W10gPSBbXTtcbiAgcG9pbnRlckRvd25TdWJzOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX2RvY3VtZW50OiBhbnksXG4gICAgcHJpdmF0ZSBfcmVuZGVyZXIyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBfZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8YW55PixcbiAgICBwcml2YXRlIF9kcmFnUmVmOiBEcmFnUmVmLFxuICApIHtcbiAgICB0aGlzLl9pbml0aWFsUG9zaXRpb25SZXNldCgpO1xuICAgIHRoaXMuX2F0dGFjaENvcm5lcnMoKTtcbiAgfVxuXG4gIHB1YmxpYyBhdHRhY2goKTogdm9pZCB7XG4gICAgdGhpcy5kZXRhY2goKTtcbiAgICB0aGlzLl9hdHRhY2hDb3JuZXJzKCk7XG4gIH1cblxuICBwdWJsaWMgZGV0YWNoKCk6IHZvaWQge1xuICAgIHRoaXMucG9pbnRlckRvd25TdWJzLmZvckVhY2goKHN1YjogU3Vic2NyaXB0aW9uKSA9PiBzdWIudW5zdWJzY3JpYmUoKSk7XG4gICAgdGhpcy5wb2ludGVyRG93blN1YnMgPSBbXTtcbiAgICB0aGlzLmNvcm5lckVsZW1lbnRzLmZvckVhY2goKGVsZW06IEhUTUxFbGVtZW50KSA9PiB0aGlzLl9yZW5kZXJlcjIucmVtb3ZlQ2hpbGQodGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpLCBlbGVtKSk7XG4gICAgdGhpcy5jb3JuZXJFbGVtZW50cyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBfZ2V0RGlhbG9nV3JhcHBlcigpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuICg8SFRNTEVsZW1lbnQ+dGhpcy5fZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5fZGlhbG9nUmVmLmlkKSB8fCB7fSkucGFyZW50RWxlbWVudDtcbiAgfVxuXG4gIHByaXZhdGUgX2dldFZpZXdwb3J0RGltZW5zaW9ucygpOiBDbGllbnRSZWN0IHtcbiAgICByZXR1cm4gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlcigpLnBhcmVudEVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gIH1cblxuICBwcml2YXRlIF9nZXREaWFsb2dXcmFwcGVyRGltZW5zaW9ucygpOiB7IHdpZHRoOiBudW1iZXI7IGhlaWdodDogbnVtYmVyIH0ge1xuICAgIGNvbnN0IGRpbWVuc2lvbnM6IENTU1N0eWxlRGVjbGFyYXRpb24gPSBnZXRDb21wdXRlZFN0eWxlKHRoaXMuX2dldERpYWxvZ1dyYXBwZXIoKSk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiBnZXRQaXhlbHMoZGltZW5zaW9ucy53aWR0aCksXG4gICAgICBoZWlnaHQ6IGdldFBpeGVscyhkaW1lbnNpb25zLmhlaWdodCksXG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRpYWxQb3NpdGlvblJlc2V0KCk6IHZvaWQge1xuICAgIGNvbnN0IHsgcmlnaHQ6IHZpZXdwb3J0V2lkdGgsIGJvdHRvbTogdmlld3BvcnRIZWlnaHQgfTogQ2xpZW50UmVjdCA9IHRoaXMuX2dldFZpZXdwb3J0RGltZW5zaW9ucygpO1xuICAgIGNvbnN0IHsgd2lkdGgsIGhlaWdodCB9ID0gdGhpcy5fZ2V0RGlhbG9nV3JhcHBlckRpbWVuc2lvbnMoKTtcbiAgICBjb25zdCB7XG4gICAgICBtYXJnaW5SaWdodDogb3JpZ2luYWxEaWFsb2dSaWdodCxcbiAgICAgIG1hcmdpbkxlZnQ6IG9yaWdpbmFsRGlhbG9nTGVmdCxcbiAgICAgIG1hcmdpbkJvdHRvbTogb3JpZ2luYWxEaWFsb2dCb3R0b20sXG4gICAgICBtYXJnaW5Ub3A6IG9yaWdpbmFsRGlhbG9nVG9wLFxuICAgIH0gPSB0aGlzLl9nZXREaWFsb2dXcmFwcGVyKCkuc3R5bGU7XG4gICAgbGV0IHg6IG51bWJlcjtcbiAgICBpZiAob3JpZ2luYWxEaWFsb2dMZWZ0KSB7XG4gICAgICB4ID0gZ2V0UGl4ZWxzKG9yaWdpbmFsRGlhbG9nTGVmdCk7XG4gICAgfSBlbHNlIGlmIChvcmlnaW5hbERpYWxvZ1JpZ2h0KSB7XG4gICAgICB4ID0gdmlld3BvcnRXaWR0aCAtIGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ1JpZ2h0KSAtIHdpZHRoO1xuICAgIH0gZWxzZSB7XG4gICAgICB4ID0gKHZpZXdwb3J0V2lkdGggLSB3aWR0aCkgLyAyO1xuICAgIH1cbiAgICBsZXQgeTogbnVtYmVyO1xuICAgIGlmIChvcmlnaW5hbERpYWxvZ1RvcCkge1xuICAgICAgeSA9IGdldFBpeGVscyhvcmlnaW5hbERpYWxvZ1RvcCk7XG4gICAgfSBlbHNlIGlmIChvcmlnaW5hbERpYWxvZ0JvdHRvbSkge1xuICAgICAgeSA9IHZpZXdwb3J0SGVpZ2h0IC0gZ2V0UGl4ZWxzKG9yaWdpbmFsRGlhbG9nQm90dG9tKSAtIGhlaWdodDtcbiAgICB9IGVsc2Uge1xuICAgICAgeSA9ICh2aWV3cG9ydEhlaWdodCAtIGhlaWdodCkgLyAyO1xuICAgIH1cbiAgICAvLyB1c2UgZHJhZyByZWYncyBtZWNoYW5pc21zIGZvciBwb3NpdGlvbmluZyBpbnN0ZWFkIG9mIHRoZSBkaWFsb2cnc1xuICAgIHRoaXMuX2RpYWxvZ1JlZi51cGRhdGVQb3NpdGlvbih7IHRvcDogJzBweCcsIHJpZ2h0OiAnMHB4JywgYm90dG9tOiAnMHB4JywgbGVmdDogJzBweCcgfSk7XG4gICAgdGhpcy5fZHJhZ1JlZi5zZXRGcmVlRHJhZ1Bvc2l0aW9uKHsgeCwgeSB9KTtcbiAgfVxuXG4gIHByaXZhdGUgX2F0dGFjaENvcm5lcnMoKTogdm9pZCB7XG4gICAgT2JqZWN0LnZhbHVlcyhjb3JuZXJzKS5mb3JFYWNoKChjb3JuZXI6IGNvcm5lcnMpID0+IHtcbiAgICAgIGNvbnN0IGVsZW1lbnQ6IEhUTUxFbGVtZW50ID0gdGhpcy5fcmVuZGVyZXIyLmNyZWF0ZUVsZW1lbnQoJ2RpdicpO1xuICAgICAgdGhpcy5jb3JuZXJFbGVtZW50cyA9IFsuLi50aGlzLmNvcm5lckVsZW1lbnRzLCBlbGVtZW50XTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCAncG9zaXRpb24nLCAnYWJzb2x1dGUnKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCAnd2lkdGgnLCBjb3JuZXJXaWR0aCk7XG4gICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZWxlbWVudCwgJ2hlaWdodCcsIGNvcm5lcldpZHRoKTtcbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5hcHBlbmRDaGlsZCh0aGlzLl9nZXREaWFsb2dXcmFwcGVyKCksIGVsZW1lbnQpO1xuXG4gICAgICBsZXQgY3Vyc29yOiBjdXJzb3JzO1xuICAgICAgbGV0IHRvcEJvdHRvbTogdmVydGljYWxBbGlnbm1lbnQ7XG4gICAgICBsZXQgcmlnaHRMZWZ0OiBob3Jpem9udGFsQWxpZ25tZW50O1xuXG4gICAgICBpZiAoY29ybmVyID09PSBjb3JuZXJzLnRvcFJpZ2h0KSB7XG4gICAgICAgIGN1cnNvciA9IGN1cnNvcnMubmVzdztcbiAgICAgICAgdG9wQm90dG9tID0gdmVydGljYWxBbGlnbm1lbnQudG9wO1xuICAgICAgICByaWdodExlZnQgPSBob3Jpem9udGFsQWxpZ25tZW50LnJpZ2h0O1xuICAgICAgfSBlbHNlIGlmIChjb3JuZXIgPT09IGNvcm5lcnMuYm90dG9tUmlnaHQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5ud3NlO1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC5ib3R0b207XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQucmlnaHQ7XG5cbiAgICAgICAgY29uc3QgaWNvbjogSFRNTEVsZW1lbnQgPSB0aGlzLl9yZW5kZXJlcjIuY3JlYXRlRWxlbWVudCgnaScpO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuYWRkQ2xhc3MoaWNvbiwgJ21hdGVyaWFsLWljb25zJyk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hcHBlbmRDaGlsZChpY29uLCB0aGlzLl9yZW5kZXJlcjIuY3JlYXRlVGV4dCgnZmlsdGVyX2xpc3QnKSk7XG4gICAgICAgIHRoaXMuX3JlbmRlcmVyMi5hcHBlbmRDaGlsZChlbGVtZW50LCBpY29uKTtcbiAgICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGljb24sICd0cmFuc2Zvcm0nLCBgcm90YXRlKCR7MzE1fWRlZykgdHJhbnNsYXRlKDBweCwgJHtvZmZzZXR9KWApO1xuICAgICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoaWNvbiwgJ2ZvbnQtc2l6ZScsIGNvcm5lcldpZHRoKTtcbiAgICAgIH0gZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLmJvdHRvbUxlZnQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5uZXN3O1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC5ib3R0b207XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQubGVmdDtcbiAgICAgIH0gZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLnRvcExlZnQpIHtcbiAgICAgICAgY3Vyc29yID0gY3Vyc29ycy5ud3NlO1xuICAgICAgICB0b3BCb3R0b20gPSB2ZXJ0aWNhbEFsaWdubWVudC50b3A7XG4gICAgICAgIHJpZ2h0TGVmdCA9IGhvcml6b250YWxBbGlnbm1lbnQubGVmdDtcbiAgICAgIH1cbiAgICAgIHRoaXMuX3JlbmRlcmVyMi5zZXRTdHlsZShlbGVtZW50LCB0b3BCb3R0b20sIG9mZnNldCk7XG4gICAgICB0aGlzLl9yZW5kZXJlcjIuc2V0U3R5bGUoZWxlbWVudCwgcmlnaHRMZWZ0LCBvZmZzZXQpO1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKGVsZW1lbnQsICdjdXJzb3InLCBjdXJzb3IpO1xuXG4gICAgICBjb25zdCBwb2ludGVyRG93blN1YjogU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KGVsZW1lbnQsICdwb2ludGVyZG93bicpLnN1YnNjcmliZSgoZXZlbnQ6IFBvaW50ZXJFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLl9oYW5kbGVNb3VzZURvd24oZXZlbnQsIGNvcm5lcik7XG4gICAgICB9KTtcbiAgICAgIHRoaXMucG9pbnRlckRvd25TdWJzID0gWy4uLnRoaXMucG9pbnRlckRvd25TdWJzLCBwb2ludGVyRG93blN1Yl07XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIF9oYW5kbGVNb3VzZURvd24oZXZlbnQ6IFBvaW50ZXJFdmVudCwgY29ybmVyOiBjb3JuZXJzKTogdm9pZCB7XG4gICAgdGhpcy5fcmVuZGVyZXIyLnNldFN0eWxlKDxIVE1MRWxlbWVudD50aGlzLl9kb2N1bWVudC5ib2R5LCAndXNlci1zZWxlY3QnLCAnbm9uZScpO1xuICAgIGNvbnN0IHsgd2lkdGg6IG9yaWdpbmFsV2lkdGgsIGhlaWdodDogb3JpZ2luYWxIZWlnaHQgfSA9IHRoaXMuX2dldERpYWxvZ1dyYXBwZXJEaW1lbnNpb25zKCk7XG4gICAgY29uc3Qgb3JpZ2luYWxNb3VzZVg6IG51bWJlciA9IGV2ZW50LnBhZ2VYO1xuICAgIGNvbnN0IG9yaWdpbmFsTW91c2VZOiBudW1iZXIgPSBldmVudC5wYWdlWTtcbiAgICBjb25zdCB7IHg6IGN1cnJlbnRUcmFuc2Zvcm1YLCB5OiBjdXJyZW50VHJhbnNmb3JtWSB9OiBQb2ludCA9IHRoaXMuX2RyYWdSZWYuZ2V0RnJlZURyYWdQb3NpdGlvbigpO1xuICAgIGNvbnN0IHsgYm90dG9tOiBkaXN0YW5jZUZyb21Cb3R0b20sIHJpZ2h0OiBkaXN0YW5jZUZyb21SaWdodCB9OiBDbGllbnRSZWN0ID1cbiAgICAgIHRoaXMuX2dldERpYWxvZ1dyYXBwZXIoKS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICBjb25zdCB7IHJpZ2h0OiB2aWV3cG9ydFdpZHRoLCBib3R0b206IHZpZXdwb3J0SGVpZ2h0IH06IENsaWVudFJlY3QgPSB0aGlzLl9nZXRWaWV3cG9ydERpbWVuc2lvbnMoKTtcblxuICAgIGNvbnN0IG1vdXNlTW92ZVN1YjogU3Vic2NyaXB0aW9uID0gZnJvbUV2ZW50KHdpbmRvdywgJ3BvaW50ZXJtb3ZlJykuc3Vic2NyaWJlKChlOiBQb2ludGVyRXZlbnQpID0+IHtcbiAgICAgIGUucHJldmVudERlZmF1bHQoKTsgLy8gcHJldmVudCBoaWdobGlnaHRpbmcgb2YgdGV4dCB3aGVuIGRyYWdnaW5nXG5cbiAgICAgIGNvbnN0IHlEZWx0YTogbnVtYmVyID0gY2xhbXAoMCwgZS5wYWdlWSwgdmlld3BvcnRIZWlnaHQpIC0gb3JpZ2luYWxNb3VzZVk7XG4gICAgICBjb25zdCB4RGVsdGE6IG51bWJlciA9IGNsYW1wKDAsIGUucGFnZVgsIHZpZXdwb3J0V2lkdGgpIC0gb3JpZ2luYWxNb3VzZVg7XG4gICAgICBsZXQgbmV3SGVpZ2h0OiBudW1iZXI7XG4gICAgICBsZXQgbmV3V2lkdGg6IG51bWJlcjtcbiAgICAgIGxldCBuZXdUcmFuc2Zvcm1ZOiBudW1iZXIgPSAwO1xuICAgICAgbGV0IG5ld1RyYW5zZm9ybVg6IG51bWJlciA9IDA7XG5cbiAgICAgIC8vIHRvcCByaWdodFxuICAgICAgaWYgKGNvcm5lciA9PT0gY29ybmVycy50b3BSaWdodCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBjbGFtcChtaW5IZWlnaHQsIG9yaWdpbmFsSGVpZ2h0IC0geURlbHRhLCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobWluV2lkdGgsIG9yaWdpbmFsV2lkdGggKyB4RGVsdGEsIHZpZXdwb3J0V2lkdGgpO1xuICAgICAgICBuZXdUcmFuc2Zvcm1ZID0gY2xhbXAoMCwgY3VycmVudFRyYW5zZm9ybVkgKyB5RGVsdGEsIGRpc3RhbmNlRnJvbUJvdHRvbSAtIG5ld0hlaWdodCk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVggPSBjdXJyZW50VHJhbnNmb3JtWDtcbiAgICAgIH1cbiAgICAgIC8vIGJvdHRvbSByaWdodFxuICAgICAgZWxzZSBpZiAoY29ybmVyID09PSBjb3JuZXJzLmJvdHRvbVJpZ2h0KSB7XG4gICAgICAgIG5ld0hlaWdodCA9IGNsYW1wKG1pbkhlaWdodCwgb3JpZ2luYWxIZWlnaHQgKyB5RGVsdGEsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgbmV3V2lkdGggPSBjbGFtcChtaW5XaWR0aCwgb3JpZ2luYWxXaWR0aCArIHhEZWx0YSwgdmlld3BvcnRXaWR0aCk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVkgPSBjdXJyZW50VHJhbnNmb3JtWTtcbiAgICAgICAgbmV3VHJhbnNmb3JtWCA9IGN1cnJlbnRUcmFuc2Zvcm1YO1xuICAgICAgfVxuICAgICAgLy8gYm90dG9tIGxlZnRcbiAgICAgIGVsc2UgaWYgKGNvcm5lciA9PT0gY29ybmVycy5ib3R0b21MZWZ0KSB7XG4gICAgICAgIG5ld0hlaWdodCA9IGNsYW1wKG1pbkhlaWdodCwgb3JpZ2luYWxIZWlnaHQgKyB5RGVsdGEsIHZpZXdwb3J0SGVpZ2h0KTtcbiAgICAgICAgbmV3V2lkdGggPSBjbGFtcChtaW5XaWR0aCwgb3JpZ2luYWxXaWR0aCAtIHhEZWx0YSwgdmlld3BvcnRXaWR0aCk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVkgPSBjdXJyZW50VHJhbnNmb3JtWTtcbiAgICAgICAgbmV3VHJhbnNmb3JtWCA9IGNsYW1wKDAsIGN1cnJlbnRUcmFuc2Zvcm1YICsgeERlbHRhLCBkaXN0YW5jZUZyb21SaWdodCAtIG5ld1dpZHRoKTtcbiAgICAgIH1cbiAgICAgIC8vIHRvcCBsZWZ0XG4gICAgICBlbHNlIGlmIChjb3JuZXIgPT09IGNvcm5lcnMudG9wTGVmdCkge1xuICAgICAgICBuZXdIZWlnaHQgPSBjbGFtcChtaW5IZWlnaHQsIG9yaWdpbmFsSGVpZ2h0IC0geURlbHRhLCB2aWV3cG9ydEhlaWdodCk7XG4gICAgICAgIG5ld1dpZHRoID0gY2xhbXAobWluV2lkdGgsIG9yaWdpbmFsV2lkdGggLSB4RGVsdGEsIHZpZXdwb3J0V2lkdGgpO1xuXG4gICAgICAgIG5ld1RyYW5zZm9ybVggPSBjbGFtcCgwLCBjdXJyZW50VHJhbnNmb3JtWCArIHhEZWx0YSwgZGlzdGFuY2VGcm9tUmlnaHQgLSBuZXdXaWR0aCk7XG4gICAgICAgIG5ld1RyYW5zZm9ybVkgPSBjbGFtcCgwLCBjdXJyZW50VHJhbnNmb3JtWSArIHlEZWx0YSwgZGlzdGFuY2VGcm9tQm90dG9tIC0gbmV3SGVpZ2h0KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuX2RpYWxvZ1JlZi51cGRhdGVTaXplKGAke25ld1dpZHRofXB4YCwgYCR7bmV3SGVpZ2h0fXB4YCk7XG4gICAgICB0aGlzLl9kcmFnUmVmLnNldEZyZWVEcmFnUG9zaXRpb24oe1xuICAgICAgICB4OiBuZXdUcmFuc2Zvcm1YLFxuICAgICAgICB5OiBuZXdUcmFuc2Zvcm1ZLFxuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBtb3VzZVVwU3ViOiBTdWJzY3JpcHRpb24gPSBtZXJnZShcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdwb2ludGVydXAnKSxcbiAgICAgIGZyb21FdmVudCh3aW5kb3csICdwb2ludGVyY2FuY2VsJyksXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5fcmVuZGVyZXIyLnJlbW92ZVN0eWxlKDxIVE1MRWxlbWVudD50aGlzLl9kb2N1bWVudC5ib2R5LCAndXNlci1zZWxlY3QnKTtcbiAgICAgIG1vdXNlTW92ZVN1Yi51bnN1YnNjcmliZSgpO1xuICAgICAgbW91c2VVcFN1Yi51bnN1YnNjcmliZSgpO1xuICAgIH0pO1xuICB9XG59XG4iXX0=